From c48e68de271ba7168b5447b7d37bb4d5537931c6 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 24 Apr 2023 21:50:06 -0700 Subject: [PATCH 001/195] fixing markdown link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index eb283fa..c4ada19 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ pip install ISLP ### Windows -See the [https://packaging.python.org/en/latest/tutorials/installing-packages/#ensure-you-can-run-pip-from-the-command-line](python-packaging-instructions) for a simple way to run `pip` within +See the [python-packaging-instructions](https://packaging.python.org/en/latest/tutorials/installing-packages/#ensure-you-can-run-pip-from-the-command-line) for a simple way to run `pip` within Jupyter. Alternatively, within a python shell, the following commands should install `ISLP`: From 876717e1fb8f59f635f760afe8936edba817df4a Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 24 Apr 2023 21:55:52 -0700 Subject: [PATCH 002/195] some work on readme --- README.md | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c4ada19..29b1c3f 100644 --- a/README.md +++ b/README.md @@ -5,18 +5,34 @@ for ISLP. ## Install instructions +We generally recommend creating a [conda](https://anaconda.org) environment to isolate any code +from other dependencies. The `ISLP` package does not have unusual dependencies, but this is still +good practice. To create a conda environment in a Mac OS X or Linux environment run: + +```{python} +conda create --name islp +``` + +To run python code in this environment, you must activate it: + +```{python} +conda activate islp +``` + ### Mac OS X +Running in the desired environment, we use `pip` to install the `ISLP` package: + ```{python} pip install ISLP ``` ### Windows -See the [python-packaging-instructions](https://packaging.python.org/en/latest/tutorials/installing-packages/#ensure-you-can-run-pip-from-the-command-line) for a simple way to run `pip` within -Jupyter. +See the [python packaging instructions](https://packaging.python.org/en/latest/tutorials/installing-packages/#ensure-you-can-run-pip-from-the-command-line) for a simple way to run `pip` within +Jupyter or IPython. -Alternatively, within a python shell, the following commands should install `ISLP`: +Alternatively, within a python shell in the environment you want to install `ISLP`, the following commands should install `ISLP`: ```{python} import os, sys @@ -37,7 +53,7 @@ os.system(cmd) ## Documentation -See the [read the docs](https://islp.readthedocs.io/en/latest/models.html) +See the [read the docs page](https://islp.readthedocs.io/en/latest/models.html) for the latest documentation. From b8062d60008c421566c6b4a77bfaef359c8cc1f9 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 24 Apr 2023 22:03:04 -0700 Subject: [PATCH 003/195] updating docs, and syncing sources --- .readthedocs.yaml | 1 + docs/jupyterbook/datasets/Auto.ipynb | 4 +- docs/jupyterbook/datasets/Auto.md | 6 +- docs/jupyterbook/datasets/Bikeshare.ipynb | 4 +- docs/jupyterbook/datasets/Bikeshare.md | 6 +- docs/jupyterbook/datasets/Boston.ipynb | 4 +- docs/jupyterbook/datasets/Boston.md | 6 +- docs/jupyterbook/datasets/BrainCancer.ipynb | 4 +- docs/jupyterbook/datasets/BrainCancer.md | 6 +- docs/jupyterbook/datasets/Caravan.ipynb | 4 +- docs/jupyterbook/datasets/Caravan.md | 6 +- docs/jupyterbook/datasets/Carseats.ipynb | 4 +- docs/jupyterbook/datasets/Carseats.md | 6 +- docs/jupyterbook/datasets/College.ipynb | 4 +- docs/jupyterbook/datasets/College.md | 6 +- docs/jupyterbook/datasets/Credit.ipynb | 4 +- docs/jupyterbook/datasets/Credit.md | 6 +- docs/jupyterbook/datasets/Default.ipynb | 4 +- docs/jupyterbook/datasets/Default.md | 6 +- docs/jupyterbook/datasets/Fund.ipynb | 4 +- docs/jupyterbook/datasets/Fund.md | 6 +- docs/jupyterbook/datasets/Hitters.ipynb | 4 +- docs/jupyterbook/datasets/Hitters.md | 6 +- docs/jupyterbook/datasets/Khan.ipynb | 4 +- docs/jupyterbook/datasets/Khan.md | 6 +- docs/jupyterbook/datasets/NCI60.ipynb | 4 +- docs/jupyterbook/datasets/NCI60.md | 6 +- docs/jupyterbook/datasets/NYSE.ipynb | 4 +- docs/jupyterbook/datasets/NYSE.md | 6 +- docs/jupyterbook/datasets/OJ.ipynb | 4 +- docs/jupyterbook/datasets/OJ.md | 6 +- docs/jupyterbook/datasets/Portfolio.ipynb | 4 +- docs/jupyterbook/datasets/Portfolio.md | 6 +- docs/jupyterbook/datasets/Publication.ipynb | 4 +- docs/jupyterbook/datasets/Publication.md | 6 +- docs/jupyterbook/datasets/Smarket.ipynb | 4 +- docs/jupyterbook/datasets/Smarket.md | 6 +- docs/jupyterbook/datasets/USArrests.ipynb | 4 +- docs/jupyterbook/datasets/USArrests.md | 6 +- docs/jupyterbook/datasets/Wage.ipynb | 4 +- docs/jupyterbook/datasets/Wage.md | 6 +- docs/jupyterbook/datasets/Weekly.ipynb | 4 +- docs/jupyterbook/datasets/Weekly.md | 6 +- docs/jupyterbook/helpers/cluster.ipynb | 4 +- docs/jupyterbook/helpers/cluster.md | 6 +- docs/jupyterbook/helpers/pygam.ipynb | 4 +- docs/jupyterbook/helpers/pygam.md | 6 +- docs/jupyterbook/helpers/survival.ipynb | 4 +- docs/jupyterbook/helpers/survival.md | 6 +- docs/jupyterbook/helpers/svm.ipynb | 4 +- docs/jupyterbook/helpers/svm.md | 6 +- docs/jupyterbook/imdb.ipynb | 4 +- docs/jupyterbook/imdb.md | 6 +- docs/jupyterbook/models/derived.ipynb | 4 +- docs/jupyterbook/models/derived.md | 6 +- docs/jupyterbook/models/selection.ipynb | 4 +- docs/jupyterbook/models/selection.md | 6 +- docs/jupyterbook/models/submodels.ipynb | 4 +- docs/jupyterbook/models/submodels.md | 6 +- docs/jupyterbook/transforms/PCA.ipynb | 4 +- docs/jupyterbook/transforms/PCA.md | 6 +- docs/jupyterbook/transforms/poly.ipynb | 4 +- docs/jupyterbook/transforms/poly.md | 6 +- docs/jupyterbook/transforms/splines.ipynb | 4 +- docs/jupyterbook/transforms/splines.md | 6 +- environment.yml | 240 -------------------- 66 files changed, 161 insertions(+), 400 deletions(-) delete mode 100644 environment.yml diff --git a/.readthedocs.yaml b/.readthedocs.yaml index aacca4b..871a974 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -25,5 +25,6 @@ python: - requirements: requirements.txt - requirements: docs/requirements.txt - requirements: torch_requirements.txt + - requirements: keras_requirements.txt - method: pip path: . diff --git a/docs/jupyterbook/datasets/Auto.ipynb b/docs/jupyterbook/datasets/Auto.ipynb index f84fbfc..b88ea02 100644 --- a/docs/jupyterbook/datasets/Auto.ipynb +++ b/docs/jupyterbook/datasets/Auto.ipynb @@ -88,9 +88,9 @@ "formats": "source/datasets///ipynb,jupyterbook/datasets///md:myst,jupyterbook/datasets///ipynb" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/Auto.md b/docs/jupyterbook/datasets/Auto.md index fe851ed..627d70b 100644 --- a/docs/jupyterbook/datasets/Auto.md +++ b/docs/jupyterbook/datasets/Auto.md @@ -5,11 +5,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Auto Data diff --git a/docs/jupyterbook/datasets/Bikeshare.ipynb b/docs/jupyterbook/datasets/Bikeshare.ipynb index b0edebc..ddb1053 100644 --- a/docs/jupyterbook/datasets/Bikeshare.ipynb +++ b/docs/jupyterbook/datasets/Bikeshare.ipynb @@ -102,9 +102,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/Bikeshare.md b/docs/jupyterbook/datasets/Bikeshare.md index 90e1f7f..380bc1b 100644 --- a/docs/jupyterbook/datasets/Bikeshare.md +++ b/docs/jupyterbook/datasets/Bikeshare.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Bike sharing data diff --git a/docs/jupyterbook/datasets/Boston.ipynb b/docs/jupyterbook/datasets/Boston.ipynb index 1b5dce0..569f5b4 100644 --- a/docs/jupyterbook/datasets/Boston.ipynb +++ b/docs/jupyterbook/datasets/Boston.ipynb @@ -95,9 +95,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/Boston.md b/docs/jupyterbook/datasets/Boston.md index 60b6f5e..1146a86 100644 --- a/docs/jupyterbook/datasets/Boston.md +++ b/docs/jupyterbook/datasets/Boston.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Boston Data diff --git a/docs/jupyterbook/datasets/BrainCancer.ipynb b/docs/jupyterbook/datasets/BrainCancer.ipynb index fd8e84e..cb75946 100644 --- a/docs/jupyterbook/datasets/BrainCancer.ipynb +++ b/docs/jupyterbook/datasets/BrainCancer.ipynb @@ -95,9 +95,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/BrainCancer.md b/docs/jupyterbook/datasets/BrainCancer.md index 3e1a2be..7307a69 100644 --- a/docs/jupyterbook/datasets/BrainCancer.md +++ b/docs/jupyterbook/datasets/BrainCancer.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Brain Cancer Data diff --git a/docs/jupyterbook/datasets/Caravan.ipynb b/docs/jupyterbook/datasets/Caravan.ipynb index ad1af58..f093422 100644 --- a/docs/jupyterbook/datasets/Caravan.ipynb +++ b/docs/jupyterbook/datasets/Caravan.ipynb @@ -63,9 +63,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/Caravan.md b/docs/jupyterbook/datasets/Caravan.md index a42ddb1..24f8335 100644 --- a/docs/jupyterbook/datasets/Caravan.md +++ b/docs/jupyterbook/datasets/Caravan.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Caravan diff --git a/docs/jupyterbook/datasets/Carseats.ipynb b/docs/jupyterbook/datasets/Carseats.ipynb index 911e767..dfd36d4 100644 --- a/docs/jupyterbook/datasets/Carseats.ipynb +++ b/docs/jupyterbook/datasets/Carseats.ipynb @@ -83,9 +83,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/Carseats.md b/docs/jupyterbook/datasets/Carseats.md index 3c74d37..76f56e4 100644 --- a/docs/jupyterbook/datasets/Carseats.md +++ b/docs/jupyterbook/datasets/Carseats.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Sales of Child Car Seats diff --git a/docs/jupyterbook/datasets/College.ipynb b/docs/jupyterbook/datasets/College.ipynb index ef2f53d..af1027d 100644 --- a/docs/jupyterbook/datasets/College.ipynb +++ b/docs/jupyterbook/datasets/College.ipynb @@ -104,9 +104,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/College.md b/docs/jupyterbook/datasets/College.md index 5e2e422..95b0bb3 100644 --- a/docs/jupyterbook/datasets/College.md +++ b/docs/jupyterbook/datasets/College.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # U.S. News and World Report's College Data diff --git a/docs/jupyterbook/datasets/Credit.ipynb b/docs/jupyterbook/datasets/Credit.ipynb index c4c79b5..f5e51a9 100644 --- a/docs/jupyterbook/datasets/Credit.ipynb +++ b/docs/jupyterbook/datasets/Credit.ipynb @@ -89,9 +89,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/Credit.md b/docs/jupyterbook/datasets/Credit.md index 36d2502..51de59d 100644 --- a/docs/jupyterbook/datasets/Credit.md +++ b/docs/jupyterbook/datasets/Credit.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Credit Card Balance Data diff --git a/docs/jupyterbook/datasets/Default.ipynb b/docs/jupyterbook/datasets/Default.ipynb index 4799474..64357ef 100644 --- a/docs/jupyterbook/datasets/Default.ipynb +++ b/docs/jupyterbook/datasets/Default.ipynb @@ -83,9 +83,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/Default.md b/docs/jupyterbook/datasets/Default.md index f1c9acc..5aeaed2 100644 --- a/docs/jupyterbook/datasets/Default.md +++ b/docs/jupyterbook/datasets/Default.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Credit Card Default Data diff --git a/docs/jupyterbook/datasets/Fund.ipynb b/docs/jupyterbook/datasets/Fund.ipynb index 905528d..fce1859 100644 --- a/docs/jupyterbook/datasets/Fund.ipynb +++ b/docs/jupyterbook/datasets/Fund.ipynb @@ -51,9 +51,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/Fund.md b/docs/jupyterbook/datasets/Fund.md index 4e53d4f..89009c2 100644 --- a/docs/jupyterbook/datasets/Fund.md +++ b/docs/jupyterbook/datasets/Fund.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Fund Manager Data diff --git a/docs/jupyterbook/datasets/Hitters.ipynb b/docs/jupyterbook/datasets/Hitters.ipynb index 295f50b..6f261cd 100644 --- a/docs/jupyterbook/datasets/Hitters.ipynb +++ b/docs/jupyterbook/datasets/Hitters.ipynb @@ -110,9 +110,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/Hitters.md b/docs/jupyterbook/datasets/Hitters.md index 7f8d6b7..2fdecf0 100644 --- a/docs/jupyterbook/datasets/Hitters.md +++ b/docs/jupyterbook/datasets/Hitters.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Baseball Data diff --git a/docs/jupyterbook/datasets/Khan.ipynb b/docs/jupyterbook/datasets/Khan.ipynb index a1f89a4..f12a5ca 100644 --- a/docs/jupyterbook/datasets/Khan.ipynb +++ b/docs/jupyterbook/datasets/Khan.ipynb @@ -81,9 +81,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/Khan.md b/docs/jupyterbook/datasets/Khan.md index f943e99..6f0c303 100644 --- a/docs/jupyterbook/datasets/Khan.md +++ b/docs/jupyterbook/datasets/Khan.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Khan Gene Data diff --git a/docs/jupyterbook/datasets/NCI60.ipynb b/docs/jupyterbook/datasets/NCI60.ipynb index d8e2aec..bbb576f 100644 --- a/docs/jupyterbook/datasets/NCI60.ipynb +++ b/docs/jupyterbook/datasets/NCI60.ipynb @@ -62,9 +62,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/NCI60.md b/docs/jupyterbook/datasets/NCI60.md index 4cc96c6..621445e 100644 --- a/docs/jupyterbook/datasets/NCI60.md +++ b/docs/jupyterbook/datasets/NCI60.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # NCI 60 Data diff --git a/docs/jupyterbook/datasets/NYSE.ipynb b/docs/jupyterbook/datasets/NYSE.ipynb index d884201..5f9dbd5 100644 --- a/docs/jupyterbook/datasets/NYSE.ipynb +++ b/docs/jupyterbook/datasets/NYSE.ipynb @@ -79,9 +79,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/NYSE.md b/docs/jupyterbook/datasets/NYSE.md index a84a9d4..bdb9581 100644 --- a/docs/jupyterbook/datasets/NYSE.md +++ b/docs/jupyterbook/datasets/NYSE.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # New York Stock Exchange Data diff --git a/docs/jupyterbook/datasets/OJ.ipynb b/docs/jupyterbook/datasets/OJ.ipynb index 30046cb..e18a4de 100644 --- a/docs/jupyterbook/datasets/OJ.ipynb +++ b/docs/jupyterbook/datasets/OJ.ipynb @@ -107,9 +107,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/OJ.md b/docs/jupyterbook/datasets/OJ.md index 8681ea9..94fd7c6 100644 --- a/docs/jupyterbook/datasets/OJ.md +++ b/docs/jupyterbook/datasets/OJ.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Orange Juice Data diff --git a/docs/jupyterbook/datasets/Portfolio.ipynb b/docs/jupyterbook/datasets/Portfolio.ipynb index 0596162..6d6a60d 100644 --- a/docs/jupyterbook/datasets/Portfolio.ipynb +++ b/docs/jupyterbook/datasets/Portfolio.ipynb @@ -68,9 +68,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/Portfolio.md b/docs/jupyterbook/datasets/Portfolio.md index e130b81..3a79d35 100644 --- a/docs/jupyterbook/datasets/Portfolio.md +++ b/docs/jupyterbook/datasets/Portfolio.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Portfolio Data diff --git a/docs/jupyterbook/datasets/Publication.ipynb b/docs/jupyterbook/datasets/Publication.ipynb index c97b201..a4a6dfa 100644 --- a/docs/jupyterbook/datasets/Publication.ipynb +++ b/docs/jupyterbook/datasets/Publication.ipynb @@ -91,9 +91,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/Publication.md b/docs/jupyterbook/datasets/Publication.md index 94c18bd..78261af 100644 --- a/docs/jupyterbook/datasets/Publication.md +++ b/docs/jupyterbook/datasets/Publication.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Time-to-Publication Data diff --git a/docs/jupyterbook/datasets/Smarket.ipynb b/docs/jupyterbook/datasets/Smarket.ipynb index 35a1918..cced2a9 100644 --- a/docs/jupyterbook/datasets/Smarket.ipynb +++ b/docs/jupyterbook/datasets/Smarket.ipynb @@ -87,9 +87,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/Smarket.md b/docs/jupyterbook/datasets/Smarket.md index a42c94e..2c0e120 100644 --- a/docs/jupyterbook/datasets/Smarket.md +++ b/docs/jupyterbook/datasets/Smarket.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # S&P Stock Market Data diff --git a/docs/jupyterbook/datasets/USArrests.ipynb b/docs/jupyterbook/datasets/USArrests.ipynb index 4a6a1c0..1107424 100644 --- a/docs/jupyterbook/datasets/USArrests.ipynb +++ b/docs/jupyterbook/datasets/USArrests.ipynb @@ -202,9 +202,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" }, "language_info": { "codemirror_mode": { diff --git a/docs/jupyterbook/datasets/USArrests.md b/docs/jupyterbook/datasets/USArrests.md index 7cbede1..ee3c962 100644 --- a/docs/jupyterbook/datasets/USArrests.md +++ b/docs/jupyterbook/datasets/USArrests.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Violent Crime Rates by US State diff --git a/docs/jupyterbook/datasets/Wage.ipynb b/docs/jupyterbook/datasets/Wage.ipynb index ad8f9b0..b95d853 100644 --- a/docs/jupyterbook/datasets/Wage.ipynb +++ b/docs/jupyterbook/datasets/Wage.ipynb @@ -99,9 +99,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/Wage.md b/docs/jupyterbook/datasets/Wage.md index eeeb3c4..fd22e30 100644 --- a/docs/jupyterbook/datasets/Wage.md +++ b/docs/jupyterbook/datasets/Wage.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Mid-Atlantic Wage Data diff --git a/docs/jupyterbook/datasets/Weekly.ipynb b/docs/jupyterbook/datasets/Weekly.ipynb index cf08b80..69f26d6 100644 --- a/docs/jupyterbook/datasets/Weekly.ipynb +++ b/docs/jupyterbook/datasets/Weekly.ipynb @@ -95,9 +95,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/datasets/Weekly.md b/docs/jupyterbook/datasets/Weekly.md index c0639ea..c239c5e 100644 --- a/docs/jupyterbook/datasets/Weekly.md +++ b/docs/jupyterbook/datasets/Weekly.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Weekly S&P Stock Market Data diff --git a/docs/jupyterbook/helpers/cluster.ipynb b/docs/jupyterbook/helpers/cluster.ipynb index bf237a3..56cf3d8 100644 --- a/docs/jupyterbook/helpers/cluster.ipynb +++ b/docs/jupyterbook/helpers/cluster.ipynb @@ -101,9 +101,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/helpers/cluster.md b/docs/jupyterbook/helpers/cluster.md index ab31348..ab448dc 100644 --- a/docs/jupyterbook/helpers/cluster.md +++ b/docs/jupyterbook/helpers/cluster.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Clustering diff --git a/docs/jupyterbook/helpers/pygam.ipynb b/docs/jupyterbook/helpers/pygam.ipynb index 01a1e55..aab61d1 100644 --- a/docs/jupyterbook/helpers/pygam.ipynb +++ b/docs/jupyterbook/helpers/pygam.ipynb @@ -207,9 +207,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/helpers/pygam.md b/docs/jupyterbook/helpers/pygam.md index c91084c..56adc84 100644 --- a/docs/jupyterbook/helpers/pygam.md +++ b/docs/jupyterbook/helpers/pygam.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Generalized Additive Models diff --git a/docs/jupyterbook/helpers/survival.ipynb b/docs/jupyterbook/helpers/survival.ipynb index e6b9e3a..7cb30a3 100644 --- a/docs/jupyterbook/helpers/survival.ipynb +++ b/docs/jupyterbook/helpers/survival.ipynb @@ -108,9 +108,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/helpers/survival.md b/docs/jupyterbook/helpers/survival.md index 715f8bd..58b129d 100644 --- a/docs/jupyterbook/helpers/survival.md +++ b/docs/jupyterbook/helpers/survival.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Survival Analysis diff --git a/docs/jupyterbook/helpers/svm.ipynb b/docs/jupyterbook/helpers/svm.ipynb index dac6c39..593d840 100644 --- a/docs/jupyterbook/helpers/svm.ipynb +++ b/docs/jupyterbook/helpers/svm.ipynb @@ -103,9 +103,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/helpers/svm.md b/docs/jupyterbook/helpers/svm.md index 007eb7a..3025490 100644 --- a/docs/jupyterbook/helpers/svm.md +++ b/docs/jupyterbook/helpers/svm.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Support Vector Machines diff --git a/docs/jupyterbook/imdb.ipynb b/docs/jupyterbook/imdb.ipynb index d490921..1718a58 100644 --- a/docs/jupyterbook/imdb.ipynb +++ b/docs/jupyterbook/imdb.ipynb @@ -249,9 +249,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" } }, "nbformat": 4, diff --git a/docs/jupyterbook/imdb.md b/docs/jupyterbook/imdb.md index 313952f..ae67f68 100644 --- a/docs/jupyterbook/imdb.md +++ b/docs/jupyterbook/imdb.md @@ -7,11 +7,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Creating a clean IMDB dataset diff --git a/docs/jupyterbook/models/derived.ipynb b/docs/jupyterbook/models/derived.ipynb index 92fc096..cc1b0ac 100644 --- a/docs/jupyterbook/models/derived.ipynb +++ b/docs/jupyterbook/models/derived.ipynb @@ -2103,9 +2103,9 @@ "formats": "source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" }, "language_info": { "codemirror_mode": { diff --git a/docs/jupyterbook/models/derived.md b/docs/jupyterbook/models/derived.md index 1d0f23b..9710500 100644 --- a/docs/jupyterbook/models/derived.md +++ b/docs/jupyterbook/models/derived.md @@ -5,11 +5,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Building design matrices with `ModelSpec` diff --git a/docs/jupyterbook/models/selection.ipynb b/docs/jupyterbook/models/selection.ipynb index b41cf6a..3a7d002 100644 --- a/docs/jupyterbook/models/selection.ipynb +++ b/docs/jupyterbook/models/selection.ipynb @@ -2726,9 +2726,9 @@ "formats": "source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" }, "language_info": { "codemirror_mode": { diff --git a/docs/jupyterbook/models/selection.md b/docs/jupyterbook/models/selection.md index c868c75..1d92259 100644 --- a/docs/jupyterbook/models/selection.md +++ b/docs/jupyterbook/models/selection.md @@ -5,11 +5,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Model selection using `ModelSpec` diff --git a/docs/jupyterbook/models/submodels.ipynb b/docs/jupyterbook/models/submodels.ipynb index 777037a..825bedd 100644 --- a/docs/jupyterbook/models/submodels.ipynb +++ b/docs/jupyterbook/models/submodels.ipynb @@ -3105,9 +3105,9 @@ "formats": "source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" }, "language_info": { "codemirror_mode": { diff --git a/docs/jupyterbook/models/submodels.md b/docs/jupyterbook/models/submodels.md index c2a97fd..6f339ed 100644 --- a/docs/jupyterbook/models/submodels.md +++ b/docs/jupyterbook/models/submodels.md @@ -5,11 +5,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Building design matrices with `ModelSpec` diff --git a/docs/jupyterbook/transforms/PCA.ipynb b/docs/jupyterbook/transforms/PCA.ipynb index d8b41f3..224992b 100644 --- a/docs/jupyterbook/transforms/PCA.ipynb +++ b/docs/jupyterbook/transforms/PCA.ipynb @@ -386,9 +386,9 @@ "formats": "source/transforms///ipynb,jupyterbook/transforms///md:myst,jupyterbook/transforms///ipynb" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" }, "language_info": { "codemirror_mode": { diff --git a/docs/jupyterbook/transforms/PCA.md b/docs/jupyterbook/transforms/PCA.md index b9ba769..e3bc5d4 100644 --- a/docs/jupyterbook/transforms/PCA.md +++ b/docs/jupyterbook/transforms/PCA.md @@ -5,11 +5,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Derived features: using PCA on a subset of columns diff --git a/docs/jupyterbook/transforms/poly.ipynb b/docs/jupyterbook/transforms/poly.ipynb index 54d7b4e..c2b740b 100644 --- a/docs/jupyterbook/transforms/poly.ipynb +++ b/docs/jupyterbook/transforms/poly.ipynb @@ -319,9 +319,9 @@ "formats": "source/transforms///ipynb,jupyterbook/transforms///md:myst,jupyterbook/transforms///ipynb" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" }, "language_info": { "codemirror_mode": { diff --git a/docs/jupyterbook/transforms/poly.md b/docs/jupyterbook/transforms/poly.md index 45e0e3d..4ef3a24 100644 --- a/docs/jupyterbook/transforms/poly.md +++ b/docs/jupyterbook/transforms/poly.md @@ -5,11 +5,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Polynomial features diff --git a/docs/jupyterbook/transforms/splines.ipynb b/docs/jupyterbook/transforms/splines.ipynb index f28d786..399b0be 100644 --- a/docs/jupyterbook/transforms/splines.ipynb +++ b/docs/jupyterbook/transforms/splines.ipynb @@ -310,9 +310,9 @@ "formats": "source/transforms///ipynb,jupyterbook/transforms///md:myst,jupyterbook/transforms///ipynb" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" }, "language_info": { "codemirror_mode": { diff --git a/docs/jupyterbook/transforms/splines.md b/docs/jupyterbook/transforms/splines.md index f14bc17..de0ee3d 100644 --- a/docs/jupyterbook/transforms/splines.md +++ b/docs/jupyterbook/transforms/splines.md @@ -5,11 +5,11 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Spline features diff --git a/environment.yml b/environment.yml deleted file mode 100644 index 3b4fd24..0000000 --- a/environment.yml +++ /dev/null @@ -1,240 +0,0 @@ -name: islp_test -channels: - - defaults -dependencies: - - ca-certificates=2022.07.19=hca03da5_0 - - certifi=2022.9.14=py39hca03da5_0 - - libcxx=14.0.6=h848a8c0_0 - - libffi=3.4.2=hc377ac9_4 - - ncurses=6.3=h1a28f6b_3 - - openssl=1.1.1q=h1a28f6b_0 - - python=3.9.13=hbdb9e5c_1 - - readline=8.1.2=h1a28f6b_1 - - sqlite=3.39.2=h1058600_0 - - tk=8.6.12=hb8d0fd4_0 - - wheel=0.37.1=pyhd3eb1b0_0 - - xz=5.2.5=h1a28f6b_1 - - zlib=1.2.12=h5a0b063_3 - - pip: - - absl-py==1.2.0 - - aiohttp==3.8.1 - - aiosignal==1.2.0 - - alabaster==0.7.12 - - ansiwrap==0.8.4 - - anyio==3.6.1 - - appnope==0.1.3 - - argon2-cffi==21.3.0 - - argon2-cffi-bindings==21.2.0 - - astor==0.8.1 - - asttokens==2.0.8 - - astunparse==1.6.3 - - async-timeout==4.0.2 - - attrs==22.1.0 - - autograd==1.4 - - autograd-gamma==0.5.0 - - babel==2.10.3 - - backcall==0.2.0 - - beautifulsoup4==4.11.1 - - bleach==5.0.1 - - build==0.8.0 - - cachetools==4.2.4 - - cffi==1.15.1 - - charset-normalizer==2.1.1 - - click==8.1.3 - - commonmark==0.9.1 - - contourpy==1.0.5 - - cycler==0.11.0 - - debugpy==1.6.3 - - decorator==5.1.1 - - defusedxml==0.7.1 - - docutils==0.17.1 - - entrypoints==0.4 - - exceptiongroup==1.1.0 - - executing==1.0.0 - - fastjsonschema==2.16.2 - - flatbuffers==2.0.7 - - fonttools==4.37.2 - - formulaic==0.5.2 - - frozenlist==1.3.1 - - fsspec==2022.8.2 - - future==0.18.2 - - gast==0.4.0 - - google-auth==1.35.0 - - google-auth-oauthlib==0.4.6 - - google-pasta==0.2.0 - - grpcio==1.48.1 - - h5py==3.7.0 - - html2text==2020.1.16 - - idna==3.4 - - imagesize==1.4.1 - - importlib-metadata==4.12.0 - - iniconfig==2.0.0 - - interface-meta==1.3.0 - - ipykernel==6.15.3 - - ipython==8.5.0 - - ipython-genutils==0.2.0 - - ipywidgets==8.0.2 - - jaraco-classes==3.2.2 - - jedi==0.18.1 - - jinja2==3.1.2 - - joblib==1.2.0 - - json5==0.9.10 - - jsonschema==4.16.0 - - jupyter==1.0.0 - - jupyter-cache==0.5.0 - - jupyter-client==7.3.5 - - jupyter-console==6.4.4 - - jupyter-core==4.11.1 - - jupyter-server==1.18.1 - - jupyterlab==3.4.7 - - jupyterlab-pygments==0.2.2 - - jupyterlab-server==2.15.1 - - jupyterlab-widgets==3.0.3 - - jupytext==1.14.5 - - keras==2.10.0 - - keras-preprocessing==1.1.2 - - keyring==23.9.3 - - kiwisolver==1.4.4 - - l0bnb==1.0.0 - - libclang==14.0.6 - - lifelines==0.27.2 - - llvmlite==0.39.1 - - lxml==4.9.1 - - markdown==3.4.1 - - markdown-it-py==2.1.0 - - markupsafe==2.1.1 - - matplotlib==3.6.0 - - matplotlib-inline==0.1.6 - - mdit-py-plugins==0.3.0 - - mdurl==0.1.2 - - mistune==2.0.4 - - more-itertools==8.14.0 - - multidict==6.0.2 - - myst==1.0.4 - - myst-nb==0.16.0 - - myst-parser==0.18.0 - - nbclassic==0.4.3 - - nbclient==0.5.13 - - nbconvert==7.0.0 - - nbformat==5.5.0 - - nbsphinx==0.8.11 - - nest-asyncio==1.5.5 - - notebook==6.4.12 - - notebook-shim==0.1.0 - - numba==0.56.2 - - numpy==1.23.3 - - numpydoc==1.4.0 - - oauthlib==3.2.1 - - opt-einsum==3.3.0 - - packaging==21.3 - - pandas==1.5.0 - - pandocfilters==1.5.0 - - papermill==2.4.0 - - parso==0.8.3 - - patsy==0.5.2 - - pep517==0.13.0 - - pexpect==4.8.0 - - pickleshare==0.7.5 - - pillow==9.2.0 - - pip==22.2.2 - - pkginfo==1.8.3 - - pluggy==1.0.0 - - portalocker==2.5.1 - - progressbar2==4.0.0 - - prometheus-client==0.14.1 - - prompt-toolkit==3.0.31 - - protobuf==3.19.5 - - psutil==5.9.2 - - ptyprocess==0.7.0 - - pure-eval==0.2.2 - - pyasn1==0.4.8 - - pyasn1-modules==0.2.8 - - pycparser==2.21 - - pydash==5.1.0 - - pydeprecate==0.3.2 - - pygam==0.8.0 - - pygments==2.13.0 - - pyparsing==3.0.9 - - pyrsistent==0.18.1 - - pytest==7.2.0 - - python-dateutil==2.8.2 - - python-utils==3.3.3 - - pytorch-lightning==1.7.6 - - pytz==2022.2.1 - - pytz-deprecation-shim==0.1.0.post0 - - pyyaml==6.0 - - pyzmq==24.0.0 - - qtconsole==5.3.2 - - qtpy==2.2.0 - - readme-renderer==37.1 - - requests==2.28.1 - - requests-oauthlib==1.3.1 - - requests-toolbelt==0.9.1 - - rfc3986==2.0.0 - - rich==12.5.1 - - rpy2==3.5.7 - - rsa==4.9 - - scikit-learn==1.1.2 - - scipy==1.9.1 - - send2trash==1.8.0 - - setuptools==59.8.0 - - six==1.16.0 - - sniffio==1.3.0 - - snowballstemmer==2.2.0 - - soupsieve==2.3.2.post1 - - sphinx==5.1.1 - - sphinx-markdown-builder==0.5.4 - - sphinx-rst-builder==0.0.3 - - sphinx-rtd-theme==1.1.1 - - sphinx-togglebutton==0.3.2 - - sphinxcontrib-applehelp==1.0.2 - - sphinxcontrib-devhelp==1.0.2 - - sphinxcontrib-htmlhelp==2.0.0 - - sphinxcontrib-jsmath==1.0.1 - - sphinxcontrib-qthelp==1.0.3 - - sphinxcontrib-serializinghtml==1.1.5 - - sqlalchemy==1.4.41 - - stack-data==0.5.0 - - statsmodels==0.13.2 - - tabulate==0.8.10 - - tenacity==6.3.1 - - tensorboard==2.10.0 - - tensorboard-data-server==0.6.1 - - tensorboard-plugin-wit==1.8.1 - - tensorflow-estimator==2.10.0 - - tensorflow-macos==2.10.0 - - tensorflow-metal==0.6.0 - - termcolor==2.0.1 - - terminado==0.15.0 - - texext==0.6.7 - - textwrap3==0.9.2 - - threadpoolctl==3.1.0 - - tinycss2==1.1.1 - - toml==0.10.2 - - tomli==2.0.1 - - torch==1.12.1 - - torchdata==0.4.1 - - torchinfo==1.7.0 - - torchmetrics==0.9.3 - - torchvision==0.13.1 - - tornado==6.2 - - tqdm==4.64.1 - - traitlets==5.4.0 - - twine==4.0.1 - - typing-extensions==4.3.0 - - tzdata==2022.7 - - tzlocal==4.2 - - unidecode==1.3.4 - - unify==0.5 - - untokenize==0.1.1 - - urllib3==1.26.12 - - wcwidth==0.2.5 - - webencodings==0.5.1 - - websocket-client==1.4.1 - - werkzeug==2.2.2 - - widgetsnbextension==4.0.3 - - wrapt==1.14.1 - - yapf==0.32.0 - - yarl==1.8.1 - - zipp==3.8.1 -prefix: /Users/jonathantaylor/miniconda3/envs/islp_test From cb7fc72d528181fc63a55bd8407aff578c476236 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 24 Apr 2023 22:05:00 -0700 Subject: [PATCH 004/195] added note for torch requirements --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 29b1c3f..71c8065 100644 --- a/README.md +++ b/README.md @@ -43,10 +43,10 @@ os.system(cmd) ### Torch requirements The `ISLP` labs use `torch` and various related packages for the lab on deep learning. The requirements -can be found [here](requirements.txt). Alternatively, you can install them directly using `pip` +can be found [here](torch_requirements.txt). Alternatively, you can install them directly using `pip` ```{python} -reqs = 'https://raw.githubusercontent.com/jonathan-taylor/ISLP/master/requirements.txt' +reqs = 'https://raw.githubusercontent.com/jonathan-taylor/ISLP/master/torch_requirements.txt' cmd = f'{sys.executable} -m pip install -r {reqs}' os.system(cmd) ``` From eb25cbd6e5e36ed80e651fe3ff9f206c7d09e10c Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 24 Apr 2023 22:38:35 -0700 Subject: [PATCH 005/195] updated api pages --- docs/source/api/gen.rst | 1 - .../api/generated/ISLP.bart.tmpbart.rst | 42 ------------------- 2 files changed, 43 deletions(-) delete mode 100644 docs/source/api/generated/ISLP.bart.tmpbart.rst diff --git a/docs/source/api/gen.rst b/docs/source/api/gen.rst index 2539220..fb3bec5 100644 --- a/docs/source/api/gen.rst +++ b/docs/source/api/gen.rst @@ -6,7 +6,6 @@ generated/ISLP.bart.bart generated/ISLP.bart.likelihood generated/ISLP.bart.particle_tree - generated/ISLP.bart.tmpbart generated/ISLP.bart.tree generated/ISLP.cluster generated/ISLP.models diff --git a/docs/source/api/generated/ISLP.bart.tmpbart.rst b/docs/source/api/generated/ISLP.bart.tmpbart.rst deleted file mode 100644 index b72117a..0000000 --- a/docs/source/api/generated/ISLP.bart.tmpbart.rst +++ /dev/null @@ -1,42 +0,0 @@ -.. AUTO-GENERATED FILE -- DO NOT EDIT! - -bart.tmpbart -============ - -Module: :mod:`bart.tmpbart` ---------------------------- -Inheritance diagram for ``ISLP.bart.tmpbart``: - -.. inheritance-diagram:: ISLP.bart.tmpbart - :parts: 3 - -.. automodule:: ISLP.bart.tmpbart - -.. currentmodule:: ISLP.bart.tmpbart - -Classes -------- - -:class:`BART` -~~~~~~~~~~~~~ - - -.. autoclass:: BART - :members: - :undoc-members: - :show-inheritance: - :inherited-members: - - .. automethod:: __init__ - -:class:`SampleSplittingVariable` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -.. autoclass:: SampleSplittingVariable - :members: - :undoc-members: - :show-inheritance: - :inherited-members: - - .. automethod:: __init__ From f1c08020a56265d185026ba6d2572c5f1dac6421 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 24 Apr 2023 22:55:30 -0700 Subject: [PATCH 006/195] np.bool->bool --- ISLP/models/model_spec.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ISLP/models/model_spec.py b/ISLP/models/model_spec.py index c5be3f9..79502dc 100644 --- a/ISLP/models/model_spec.py +++ b/ISLP/models/model_spec.py @@ -98,7 +98,7 @@ def fit(self, X): if self.method == 'drop': self.columns_ = [column_names[j] for j in colmap] self.contrast_matrix_ = np.identity(len(cats)) - keep = np.ones(len(cats), np.bool) + keep = np.ones(len(cats), bool) keep[drop_idx] = 0 self.contrast_matrix_ = self.contrast_matrix_[:,keep] self.contrast_matrix_ = self.contrast_matrix_[:,colmap] @@ -203,7 +203,7 @@ def fit(self, X, y=None): X) self.columns_ = X.columns if self.is_categorical_ is None: - self.is_categorical_ = np.zeros(X.shape[1], np.bool) + self.is_categorical_ = np.zeros(X.shape[1], bool) self.is_ordinal_ = pd.Series(self.is_ordinal_, index=self.columns_) self.is_categorical_ = pd.Series(self.is_categorical_, @@ -214,9 +214,9 @@ def fit(self, X, y=None): self.known_categories_) = _check_categories(categorical_features, X) if self.is_categorical_ is None: - self.is_categorical_ = np.zeros(X.shape[1], np.bool) + self.is_categorical_ = np.zeros(X.shape[1], bool) self.is_ordinal_ = np.zeros(self.is_categorical_.shape, - np.bool) + bool) self.columns_ = np.arange(X.shape[1]) self.variables_ = {} From c7656dc990667db1bae7994d515e27992cfe5c67 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 24 Apr 2023 23:08:38 -0700 Subject: [PATCH 007/195] using sphinx book theme --- docs/requirements.txt | 1 + docs/source/conf.py | 9 ++++++++- docs/source/index.rst | 3 --- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index 68ef4bc..37938b9 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,3 +1,4 @@ texext numpydoc myst_nb +sphinx-book-theme diff --git a/docs/source/conf.py b/docs/source/conf.py index 5da3dda..01e1044 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -28,6 +28,7 @@ graphviz_dot = '/opt/homebrew/bin/dot' numpydoc_class_members_toctree = False nb_execution_mode = "cache" +nb_kernel_rgx_aliases = {'python3': "islp_test"} intersphinx_mapping = { 'python': ('https://docs.python.org/3/', None), @@ -42,7 +43,13 @@ # -- Options for HTML output -html_theme = 'sphinx_rtd_theme' +html_theme = "sphinx_book_theme" +html_theme_options = { + "repository_url": "https://github.com/intro-stat-learning/ISLP.git", + "use_repository_button": True, +} +html_title = "Introduction to Statistical Learning (Python)" +html_logo = "logo.png" # -- Options for EPUB output epub_show_urls = 'footnote' diff --git a/docs/source/index.rst b/docs/source/index.rst index 2c80bdc..7c23aa0 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -3,9 +3,6 @@ Welcome to ISLP documentation! .. automodule:: ISLP -Check out the :doc:`installation` section for further information. - - Contents -------- From 30277fc3459d2174bc92b63ac7a3bb72b5243c11 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 24 Apr 2023 23:12:33 -0700 Subject: [PATCH 008/195] BF: fit_encoder and warning about sparse for OneHot --- ISLP/models/model_spec.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ISLP/models/model_spec.py b/ISLP/models/model_spec.py index 79502dc..4ed39fc 100644 --- a/ISLP/models/model_spec.py +++ b/ISLP/models/model_spec.py @@ -67,7 +67,7 @@ def fit(self, X): Xa = np.asarray(X).reshape((-1,1)) self.encoder_ = OneHotEncoder(drop=None, - sparse=False).fit(Xa) + sparse_output=False).fit(Xa) cats = self.encoder_.categories_[0] column_names = [str(n) for n in cats] @@ -503,8 +503,10 @@ def build_columns(column_info, X, var, encoders={}, col_cache={}, fit=False): raise ValueError('encoder has already been fit previously') except NotFittedError as e: if fit: - fit_encoder(var, pd.DataFrame(np.asarray(cols), - columns=names)) + fit_encoder(encoders, + var, + pd.DataFrame(np.asarray(cols), + columns=names)) # known issue with Pipeline # https://github.com/scikit-learn/scikit-learn/issues/18648 elif isinstance(var.encoder, Pipeline): From 22235859a2bac5ad714554aaa2b699d43a48b30d Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 24 Apr 2023 23:14:27 -0700 Subject: [PATCH 009/195] logo file --- docs/source/logo.png | Bin 0 -> 772367 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/source/logo.png diff --git a/docs/source/logo.png b/docs/source/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..237c1cd01561850591cd453484edc11d443252b0 GIT binary patch literal 772367 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

Ug&kj%hrg`#rYM^& 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%0AA26d4ZVM_jhH%&6HF9ZDZ^W=~I$wZah{Yk@J9S zS&jc?rhe%g9^2%|-sW*t3~rHf$dBY-`;S~!)Z0k|!H?s{E!-NDXxHHT6r&fuv6!AZ zlFyKMElo4n!!Q)eRO{IAHDvSG2~2yYyF<2rl*fp`v`hYcfj60$f2prj^V~k9rm{cW zIEUnRSP;W9+jt*Nnn%+1pcI6%y@XN^Mh}yaZ>bMync+URN6@0+BB$E~IGVUV)1&c( z7$q14l+3}?M)X9?VYXke9I(eRxcp9@-RPGls1Th}!XK8q7i!~T(2}u1TWfBn5Dh-m zkzTM{>AF8G|2NV(fNSF{R$ zrsJxKPb2UVxVH-`Gje}mRgJ$L?N!* zp-_?wqbPmG!O6$5E5sF*a}1+~L|z zm|Me1h-xb_P-4CtTXs{3`N;aMys5y}WxGRoVEOu){K{8h^@e&1kC(!qQ^Horuh5v0 z=6ESwH7M+UHJ$TXqR0d320ys}-kqAb-IX_qCq+ zxdIHq3(Ytz?5+n*X15PwB+f&CI!&Ap$d!@`wlUR#kJx}zy6k!Jtwcj9H zX?mE)u<2{s*C&2I9Q;kRJf*+&mQaaNfR0Cay-6xU7EoA1`~KmYTmQqs;z|A;ttCV? zmdT%6{D$b^0xha4dL}q*#u!<>$>PRCK7_X0dq1Ef)m}AlVZxt&?(Uc?Ez#(^2cq07 zt=fBVIaO3xfA$Ov>Ln2-oz@ul+B6{I|C)JEM0Qcb2l;6CHZyQRyFjSDil1l68GaDd zQR!>+wJS1%pM`@a&azB-;_%5|iBH)7i3Cj7T?r*d z>D1VXHBPM8{qlnTXpIrS^a%VIS+AG(YSW6;u~(_x6kbD&cPI{c+4?!39`{<^|S}nICBfoMa%t@ z0V6N)kkNk-7bm1Q(}J3g@X<@IKit`SQ$Rw0APpMtpbKIx;o`i4zxF)x1A7F1vX454 z+`1b<8hSZX7orI<_{3&+?%WEZ;qQPRafciv^51Ck9wch*htE*kut`jB{bp>dEC4RH z?;y|QJ1X+~hqxfwtj=werlZ55QN^4i!+6^S3}3T3(&fyELYYCfU?#f+)lKSwixdGb zemb3YP2=fe9^YhBptSMEM#)J{*tVq~@cMT@HX{L=25sqVVXaQ(P35oB z@7(UJG;@}0LS$tKT*8bHRfpi%BJrLga1470?}y631UIUx0cWDYk@Qo#BVX|VHR_Xr z=~NE2FLvM>*|Xu>+rdsb5NM)626cCzxGS)|JHQAfkXTGg^~yCt{0h$-J+b4C@sc>o zITD+dBm`Nx5syOUgl#}C{OKbC&JfZ+}+Ags@z-`h~g7MZwg;C2W5}ZdgwT7EdqWL^eB=CnE)Tu%Zw_BQ2 z4);Z`l@o16oQ*fICWuG9stXZj0OLC(rz>qLmpJz3{!k5$VyXyTt9x0;_6HobJo9l( z@5~{PtO;llpCw?&Ld|;+^Y29F%mH(9veDfs{$<)o+^NoEq6&ZFMCgfvPrY@1JfKd=ox^op*GzfDD7ud#V&}&X2|*TSFTMK z={q8$#!PN=MS8H*0 z<1+ZdrO(dS?XNOa-)d2s@yDm1h3Bq*>EKN4JmpunMzt$>aV4NC|TSOPeMT%UhxUjgCO`iV*bz=a%pJ*ijMn z;CXB3SN0YLRgg4`P=-HCn4xN?5tg^_5dcO3e3Q>?g>}gVzb?1sLa^w1b^1ex&nd3$ z`rGv&RMazdIy_lTr$0~m`?NGpPj?uvz&yN~dzN=ODFfRex%z#imMKfKn4HFxgdOG5#>>syf2-l_kH0j;MwMs%d1SJ|08xA?f;vP8nq^+7J3F6`R(* z@&w`ytGu_moVp*a++GY&>HF4+ti(E)Di^CJKx4P7d1H9Sr3?c2 zr-|IP_P+U^F7cGsvD~SXQuzXd?h-5{mo4b3kWqV3!Rw1@pdXPr=Q{VEdt^}XaX-JN zO|vOJbeIMGF=sd`*XE676oXJ2RFe8*K*mIOe*|O9xlZ_~1Gg4D;=PC+m;xiwraJeC zs7_tlV5qxN^V{_}7G>8dYrD$P1T~&qLYw zi-K0=7%p!_@2EwkO3pWriOoiaK7H8M#VTzDUYH5=UN0fI9RX})y~Si6KQ&jKpNg>O z2rMuDq?2x6!fO`*DZ=wCVY@h*1$v#Fo$fTJse)^|yyPzcQO1)_Pz$&5yhvtFH&b3e zKQ4E)?2x1@qy8Re2kWmcCEKR4%+usmL4l5T1f&@FIMX+iR?F7#?3Dfc z?1;+wmYZ~R)EjWaN#&V+y7OOk^mshKu_SXBFv*BEQxH2$0>amyXM=rVSOA;TCSj=+ zm*8dIgreoI9|wmRsQIMkIlx?X4%N^?R1)Y;(n0i|!=TeM)R!h&wrFRRh zZ1z_;ZktW-L*(6_bUwG{67!r4olZ#LSw(OUA~A)}5b(lcs;(0C)%^AL@+dNm@e+3X zuM0=3#{BpIa11%a<#=5-262Fw;7`nS-b86^=4gCg<)K8SL}FLbY)HPu#4EGp~D-&XD-7gfBHmo2^7^uj*Zjs#>ga z?yz|d-sV-G=|V`9XqzpgCk6r_K}WPJr2@p)?fbw?9i}Tn!w$}m@rqny9vVpyBT`TSWxw< zFO3sNLoA}*_<2A!l`0XqRG4?tJqoz(el;#$)6edQ%T%l~sMUS?snwnm4>ASeX)E*} z;Y~QcRUfk&N>a2FVy4tv)cW@$C+*Cd9B=4PN0AM%$hFPys6vRqLHn{4MQQCf4QUTeewWxH>Nd6ng1pA2VQEUl~WW@#cy4=ga(q|jAASeXqE^ic^5nh$Gz#W~)G&z8F4(Rjs=7`(` z+5V6t!xnsn%aBWsy{Dw`Du=ey$sEPCZgS&BzCEaG#6rT~5GvEJKaIlE)+2$uRuQfZrSS(Pdap=hMtio*#l~duRzJ~90Ci>R-RZ-J zr7#g*G8)osM07GE9EW9!^CxL~1H(4-R@Y8F`GfbLG}^LuKnl~&9qZ}LhP$}b;g;`3 zvDhh6Y>U20z0(oiAOjG1WEFjNO>%p#{U(|X&E^#c1a8*~A>%!4_1=<4y<0V!kb`Q$ zuPar1u1=j7PKW9GrwTY6ZCp|*D`NE&i4Ly)9QCXbcXaHNgAmuL=>x6gY^H~tv~N@# zOP*RDg)#}4^ZDj8wi2|CilJzauQF)lN`v#Li1eRt9>Zs%(E2gaD|y?;YVC-btY(GVq9ld15WP>B#8V4RjXY&%)C zx{~9KMN@x}wXGQvbVRl(WInMya-m`vY8Z6+$akRQIds)}aicj;%gNk}c630lIn2hw zXwspU(}>s(8+ukE?O$rZvNATGR_<68j=PO9k;W2M=191ZBOTjh*DY^huyWj;kn;;- zh)Ytx%V#Lu&_2(}=6d+{-WJm{N@(LV(U4$t*VEI(vm9pBZd|F{l3l9NB&%ue7DndE zo}(ra*+=#v6)L~srAwmGxMN;ZX}2{?YEqrU>9VyC>ZP%m3yRcA-;3)VwG51+q#Umcz+ z^^ZZeYidERB*PLHs&o{qWR4jQ>OQn_7YrebS_(g|^`^62cQ+>ZNJ_p%k-vKFwH>** z|E)iLjQ<{;IWDP2pb(#3t_Zc#k?Wizt#3!zI;YoD3QY!bV4F|yHQ~>=y=sh1k*Y-~tNLMPA)OKjCS9gWR;z@Des4B?*v-JmuIWge*gPT;FUMbE_pz?Z?~9IOleD-4 zfy=<#PSj7*?N|E(n77j@tl<9na`j3&nS`n$dSCPbezLm$8D(;MZW7cWZ3n z_0BJWp;WSpX2e;k>amDbdM?>c(>?1Wb$GZAN8_y1v)0=1eQfiYI@PAB>y&A`2YgYh zQRop0MFYSK%#_9%2ZVer_2(;Jl1#$slLfvyr+zttPlx=~w;|YIao^kej=f5{@;hgd zDUD^EeHzA$WwYC#a|H?c=}Na+4Xm#Q|2=5AH5SM3iLP~>uK@nz?wUFrL`z;^Dm7t< z>qHS-y`dJ$$NWWYc0-aP+56bhBz|dIEqMd9V~?B8)jLAT^v2|^KJ+aZe^@JcK=1m@ zTz2xllc;9V4G;TnA{>ots3-o`$~4zNq5@Vq;3z;~*S@SmSiT|GU|E|0cLpQ9{0Jxv zQ?1PVHEoF>PrgQ*6=m65VV36Mew#k^P<0p0QCtd?O?q8xE6dmsERj$I1AFGVwB}Q& z6bCqus>N6YbR!YJ8yDf46B7d}GLW4PjcW*WICH+?Ic=N$y726$7<#0t&7`(Gm7ULq znBU0EbcSS^@EK0IuaL}J#(xmwHcA0ms_>XMxoAgXu+GXY3E1$a2TYdjYpL&>TdiIp zpRK>ho??yS#B(u>FlHdgXN-KsVJgfm{~V9V^*(1_3ymB8cxMIMQc5Jy=)MRw96cb+ zwbLC@xqSFKwTnJonZX{QYlwl0|69vBGm*|S!}Rx1P3s_>K(M(AfrAMB&{CncI2YNF ztRB}=U-o*N9LgV6NvFo6yjq3df7&cpk4ggshoJC#i>Hi^QK0rfgAn2AQ2Rx@_P8{D z6O$k9H`%%;brO6I%T3+j=3{&gL9u^7{6Pp+BmR6(FWp-^A_w9*r-!#SW@@lAAo)7M zhn6qoiu1FatQ{G5)3a=7IO-(DxZ zI34A2$#Jy__`cZdkSK+0pg*F5K29axTB;~l#f>3MeV}M30f>+gC-bgr=YBFjsJqGx zO7&q<){XqjmpoOa{m(m3GWK|cLUdFFluj0{9%ZVbDUZiDmSUmULS2eNL+@FX$wI6t zBx_+;FIPU#80Fy|M&^S<2~5D3`^1IU52OrJm&QZ+dTTGWpfb9N=v_D8;9aTSkA0IF zWZ`Gy^)?q9G?tp(Oh_3Aq__VZEzdivkDc@FP5>YbfXCY3QS{4HX?>@Dc2*zkNBZ^*|Qf9kr?KXtuNQ(Vc1p$34C=?psCEf~}*G#O}L*Qts^ z1UuS_5`oqWm1HKpue-61AsKD|p)26Eu-&J&eO6+AaM`O5Mv2K}^AIOchxkU2Us@Op zD9?k78qrzB5;sDP#r?)kE5cN(_E_(X?zgDToF>eQbhMw`Gc>D%>W%LimiEA3ey-e` zlUe;nVH-en&H?a(g`yMM=Ioz;o+AC}%%H zN!iWHA(JMe-zwkG@x_R$^?{TL>(ITglkUmOpWHz|6jKQiW~VB^c3nLK2NurCKh*!l zOdM@U9tNZt1A*j^on%AoK(Jc3kS?3&7j2%52C3TnDYG2s(*#aM4?z330o!iZnz!S( zgtLL_73ITn(o1AjI=UeZWv5GZ1ZDs6jnh=@*sT&Cklj(h_X{3RDeS4lfnJFFpgVrE z==6#RmDqlLhS9!w8))j#CqRw%QPj>su~~;FulcKJx9Ua19Pq{Y#LiehAq*J3XNrSW zCs`8q)W1#ew?jA;Zw_WLdK|PSJL5} zrO9-v7`z*Q!-wFH!!o=(kO;a~r9D>(t{*3zau37{f2e4zh(?JJk-}?UX|AuH3&&9B zn?Hu`RRDyvulXPLq=(ougU_n*f}C*qTQNwItKe8do2t)0o}OLUe=36_r)o3{ne)8P zU@Pbl>#9CAU0}u7%+9B-n{E_Bnsa?``^(Z<#%T-eHrk|CE8RS=mH1BR$#)4^={$5D zzPuB-oH_>(^S=(u4_K~z;f@CVAQ1?o$GJCQKFm=ckAuq>h3&#{PSpK^MndmgUru)FAs^LTp0RQf_q-pL7{q6JdbcdeI!S)3P1s0A|BQrNIp$Z@P!>Op7poOQQ+<_ zca6L->u+bBY4&=N5svTvYK1e|WiRTIYgtyxW1%PLk9r%d6=$5cn)89TT~U(FFk&M= z0}FYfmfBGCLH4Xd#(ptqbFDNCB;j|DUBYm89AhA3ut?{!E%CTHNc)g$HV~=T2g#+C z18isS?e9~L0*J9Xx6!id42_BARxv=7tTkh<+d=eOhT^eP0d3d?C8XJLj5=IRF``qb z+c3%W8cZ|)g7QC*;rKTr0r{^+c(|rpKp$K&I9g#vEh4GJ{D3blg)UXW(P0j`I72Z- z^*!Jv3T#C;qQHWh%yxu2Y|rEh`^d8hgH@p1T~8MB*56V;$vMI6%Gx-?NfhOaEL6 z=pJ(B#-gWSGOJD%}|xih20H$bc&eoFA@5mMwO_lfcK_n;v^U9R~pe ztI{ZD)1`HI`;FVs0o?10gwdd^(`A*|fOo=A>Yx2-y^O!*le19B+1T0C(%4(mz{p(9 zuK_F3`LLcmDBpk&z#pbsb)${`y2r+-VM^`OmQN}9c)HXMz*ZY$;X1Sp3S5|X3)9F@ z#)NQO`_~1J@v5jIOFGYbHwGo5;FT;xyYf_0v}RrV_qBe%#7BFmzc8pQJ8eh^bKJH1 zNFZ@NxTRtozE921zG$&s-g*kH-kex5TGAl7?TRfs#eq0&P(}g^wqz-s8k?I_?;-4A zHZcAGy%76)r&IdQku;;>e_^5I1EbPus9(AJp;HtsyZ@u`W1z&<5k#OYXuuK8^EM@h zy{1Urc0MTQM*bxXe%3Z@Do# zdlW0t<;tGA;Au$Sw^HF7C8YJkl3gtHa>7chLq3HMF1Y`MiA6`%k~p1|pjAVHmf=2R8z_GkZ+Sy?DJ1ytgs^aGh`%lMiSfss? z_z?N51XWpwj-J|H$zYh%THtJ712g7V*kKQ+e`e0)b`+^UJU*7n{I&kP)!CMHH141RputNXJA4IX)8A10sBNIINoeatTHb<76x`Ap6=8i>~6`8?8 z?f@o?>dv*?f7Lv|5VLAURh<~eKXxDa5_8gT(sUQG zWc$BZ6_wSpJ0N{w*?`@CL9!0As%TFmUj%2w3$n9JnMG!vqLl>jzjTTMY6iS`rN^tw znKw_CK6Fy3S&?=nomZ)2rcecwS?67pq!>LTDd!8UqcVgywe+R#TE(PSgHEJ*i~NWb zikuD<_w5ljNXUOs=5J9_df%rNx@ee8&N-B)lsY_r1hEy?gX0@bClyPcgWI$pP%aQ6 zEHTQ+73B~rtT8bBXz%TrQY3;wU`lBFBu`n2&rtU}X)u8_a%C?&%c)3~7C1v?LauCe znzDZPpQwCZ2Ip}Jx|Ld#CjBYr19szp{+s|Olec6X2BJ2%=(Kfd8YP;y6LK6T8>J{) zM+HDhb)Oozi{t5Iyi+9{4YWkj5i);CMJFs#ud7rkyzEjmrNdahznV*_kI6KRW_h{T zNmTvzVh0J^cv*o+*nYpsrAaO=;6E&dE`+6AAceOlKgv2EPwl~gTeTd6bBLwao*~^o z@_Nadw@&CU%rf4SdG1@t?X1DH3@zx?FM3QtG;ug}= zfvwc!YCRFrYD@C)jP5;Ax{{+}S5`+MT_2*cn&xq~(L_kA1ORu|Sf$yi9ly6*;(^sZecuqR>)#vj-Ht$WAYV|qVr0Btvtm~F%MYi^S=NwSbBD_R6&q^rLWt%9^S%LDEQSPn zzYzK~D12He^+}J%K3c{*ra7mD*`Pg6dAQl{{nJm=(FC&9mU!K&aKlaS$XVd$*aQl- z)oHTBvbhv`e+=}iesZ%B;dfx^0g4@^LNV-scfC<_>*jC@lTn-F`C81g=?!Z*zHxkw zCcheZuXPN(@GDm=0ss+y%(3=lp$ilIu>@oS=10^;+|+;e zSuZ5vuTX>Tuoa8&FWvCCi*5mHIO6Zida=P#C!|Af%Hjokz55(AEBkr zCD3YfB}H~D_F63{bh!vix-CTO?c&aa!xz{$&_P}vfgcxVF?2TRIPgQatc?3(m&5(FHU02Xg-#!X|k6ZDG?m!~-o-#OX z9;|im@`D3eGCqZgW#_>tVC-Go9JGHz{QeOUBu^B@S3O||He6;=@=40pl036Y`~4&A565Ag?LSj z?+~ZQlv(5%W@}C7f+@Z@vk9{ga9gJUfTq>6&5V>^`xa{`tpP5&CHO&y|M>g=x&UZV zT2|C+J#Zv7>4up94T1+Os#Ut(u$P6H6=UFIGP}_z?9vD*6 zQ21X}`X+Idw8Wc5rW;@Jog02;st)$D#B+sZ_qo{S54~uw+~(006o%vF_TUmwvt!Zo zHQUkieT#eNEf47bID2FmM8fk^?0oF6!^g569yMdiEGFAUhxZ?UKe-aG{L25AJWsHe zLc?h9JJnrE%p|cjKU`fYT#I1V*ZT1sb3`}wF`8v<>DCamcufcw-7bQpv5v88v&MiI zg_p5$25xNVyJAn9ndgbxZ^5E<&~BH}L6QPnw*@46U2`NM2k&O0`*SzC3%%X4n|T}B zJ_<3@dURi5ha<*h_a~XI><&>Ilgaij0?)HA3=+SYID#<;v(~SmD*X;CN9iAkj?4UJ zflENMRG#>c-3s8C)@%fcjAAorDrNvoX`bQ=3WoR-idjpN<9v<(BB04tHiXn3QX$!_ z)`wXwR?vFNB+z^ma0jjQ#byR0D)P)8_2IO8 zguGZKf3;0EWWDq4m6BmXPc_}|^z#nM@<)!h5R{w5#h2Us?;hWijFc;{O!T{zQy^pO zV79O^$CKF)=hy;s3xyWjM;zq-*qN^^9T({}*=bZTD*(gs#vp|+4#5xE5}Dez4kz5x zT78ZAc+Hd44=3a1ur2RUeuo7e$U%Wbs837&=)zU1BNtb_O3L?;X!JOYDz7E6d2Xid z&N8w$9OIF&AI=cNmf>P{;Qb9IPN8UEr>R{lny%L~CkTZy1FSeQ^AI2ub8j~}?Eh$n z@UH4g*zk0TJYSuQBb(eag{457Cw}rKg-9C8NU<+iL-NTP zdI>KnjB|ZAm|I-9YlgSfU_~92Z-H2*2ULaeXBF{wM;aKt1g zGSn&)r6-?Q_edesjwV_U#sK9S{jn0+6GPtG*e-thpX; zd>0{pWA=@Cyn@@S6o`Itgop4AGvLywh`WJpcABPm|BzGXw$obL{|GA!@PkoZCp&{T1=;VfNQTnKhL$8f#6` zJxxQP8sj_4`J2iX zJ&;n2nmAel0u~ShkfHL^c`)ols^K|?@ZgytEf&$^fvb$6$3_k}Myxs>lwKRx@+sDus+PN1C(8s2FdINaRLesPp_1nz22)zJ-A z4sp-hj^9>E}ytIIlL9KCjc`@@xsay;h{=Mp)=UPx?C$S-9iXjlApJ9+DM-Fb@)fIg7eZMttNx{v2%r<3t9+SO7GQWr&a}c>Px=^5nC&UvvA^J zC@mLHh6t&~`;;SW3v)5H6?wJ37+4%^aV|n@ui#ho%dlU;C?vmi;r^&9i_LvpEv@S| zx|Dvy&ZwsCQxpO3TG3;6SvaccNj99?TG zNy2{OMr;Od3kSR~Z2ZXOz+?}uww2SQ`SB3bn~3c+{=49M<+||wd zfxj@xdhbu*=uahPot_z5w^CF5{S?~#BBeP`zoP}QoU^T`*7QD3n>D?Z|F~S662Fv( zVu;K)R6e>QpRAiPhE%V}W0*<*`b~ehUobm><$|vQ1#cN!xoq{s-p9wC@j(Vlz>*Gq zr^$V2LSs<^R`=@kcXNe(juB-U7q7g8f^@EdS>%{3iZvyoYhyFQP-HlgX(9~GBWT`D zJbZH@J_vnMK>eC!0Jm#E))9l-_u-581YescuwVV5QoB&lcn<~XH4WSS<(}~$0Sej% z7W95`k3{0JE3Y-$mOAbZLekf04s$#UrwXbJ|v!*s^pe^T0TjY|}Ta3$YF`x|uq(%}N6NV44Bbjnn~I)mOb6IPEN3rMnPA|@GjVE2 z_c>h%)o9(8IWU`SwlNheMj?~>)vy~$yE^P<{6Sh|lgOx7@_z->GVfVFbSC#Sq_=;t z*SXHW-0o8JPU4kM|3kcQ^mP7f{Ba~nOM9!n5~UC`#Rn@D>q(1J;YhlurN4%#6hf8s zgxBSkL+=ZTJqawwkn2tu-InqulT4}o(*EdP=J1!v7MG^nG_lq}m%^7wo|@<%OMMc* z=1OmlVY-2OW5{S)BGF;%@&!~IBGi=L|RuL0a%5|pa7Xe zcg0(a3)`~|10I=43@tWY9H+gjT^?#%0dpf;e8F0xhf?oo_z;$oC1aG53wuQ_VqBJA z7>wFVdUJxK1E6VO1ci;^{n~q676<66AUs4#>D0_JTuKE?u)D3Mx-) z41k*s8~vwD34FZnSqbk9u0{;#8q{+D$qR_#@%z4Um92Z`dYfAUyB3%O;odwciy+;t zZw0V})tl0v0!^I20cOD4`cQ;Rm;_yh68nQW_5?DK!L^s_a4c@&a8^t`mW7fA#E|_t zvNyyzTjYDGy+o74^Y{Si72w0|QvqO*sOSp=aO!G{kC*N_0Xqaq{I~z32Ch5X*cCe< zF}&$z@&oar4-@vk#iHTFE8GDw4cPljg)ACnOF=!;;twj{Z>$|!aZ(5OkFYNuRwAnN zG|Hw~ovCB;fjAe;s>%DW5KX!79o;;Y`mymukgt4b(5s%Z$Yv7|c3Lo&E8f~=nADsG(m;8FK$(-YWN}A;T8^;L_|E1V}rjzAA(`n97-0_WJ zx)v;PeSM9N(g@@(`eA0O?{X}Gi6Gf;PuHe1PXNS?pf4@X#$c#P>aMwUYnf-Y5PH6; zF$mQ%1T#L4Y{esA<0Y;3V7yWvbiGAd*%n$T5`oE0Zpw2nnWynm3a%(Q%MWMCK=1kyT8hv-_RM}hS07b$JZ>kNgrov64vcm07`eh`3-y#!2 z6Z)kCp>DH_CawZxhh4W5%sD->`1EjhBrRB8ZXqba0@mSJH?zjT9_v9cT+0@-fMD+| zeB54r$r_NxM*VbPy*lsqgIpxIz6qvJK*0WE$QtwqV&1eU{CeV{KcLZYMnb404-f8v z`X&}a$D@COO&7`owICWpT;)y;jFIK;tf)xminf42^saWv%C}$A=P5L5;V|hd{FR^%m4G;^jh*PlcaRRfqozL)Mj4aqQ|gT{t<RPRRtBYc6Zo-{sm%jE&etv_kIDVRwh$p{(Hl*BWjhC$H zhoPC=dIUhgBOuShRn|~)crg^Wj~p&>gO%exc-utdR}}$W82{*4_z(dk#b(?P^H!n zD-n5l)`n!65gj^t#qEd|H!k}^0Ze2th0WjkoFtxxd8Yvx&*A?ex?CBX#Ua?;KnZu{X0Wrh@#X9 zYe4O;_?%W0Ry(l41X_{`KvU{RH2d*<(GXM)xAXN_LCSw8ZyGy(BKrBr7p_*3-&**vMA%Cj?kEeuaNQOMSRbm^-6{ExWdOjlTBNi9=*j4)G3%Yo=1h5EzOMQppQ zJ^CH9B-@Zp?lz?~;x{m2J1`sdv`;G{?YHpSlR&@LbcR15CAVCyu z2ZIRN7k&{AMLVb%PD5?sTZvwM0z?0kg^N%PAPtwfqDM0 z;yNy3p!b{=mYW6=?0*ZcIBv+w~DwvLJ_0)HL@hgx-i%R zFlC-^U)zm&Wn_!!*d5_Uw+^f&;{wv@auShPiQZHX{yiV|RL_oEl9o=>zNY&9FgY5; zq|75Bu&_l(Qb!483I+Q8mqpki3ZepMJnkhouDh`?>T4JQD+nvLWO?K=;$198u5wAIOuAf!d9P(?CyT=;NeptTZf&bfH*c< zl7)@K*;N*yBcU)gc68QO$pUvOq;G}ZUw|*>$dS}LL|e_-P0JxN9f@3x7Q{QVnq3X? z7M^vtEfCgx7v3HOPi*Oi33^D|Fw+t;f^+Xh?3o{SQRVA+JjE^A`n*lP;rDArHqAxIJn}}vHien8$(h0RalWgvdCeVs%+5?T{y!3-G*sO1U&uyX&4nxCEM?pQh-t;lHGc zMPMULaUk;$bj<(|Hy3o&25y;AfWaK(?hpnFem{Re_Q?}yXAn6{v=aX>@g7F-xI_B6 zCm3eAfgSV#A31sYm0T5tRYVee3kI7@@ktSnx~}D1+Z%KRDOY_A}uEQ zAikY1B`?}C^>s+TecAAx+(Yn2`I4m4rCR&`jn{)Jew{RfE~yS2Noi?W!(z|gw#Pd* zvDuOy3jC>%h*^#XMy?8y8DgI9ZB0C{4ABsgU-fs!`&{NmU4P$_~LVNj;sZ6JB%$NG7m>txI zCf_mg=z!ONKTER1n?BZ8CX6xtx&u&!t4+(K1?^`I>HEYseBo1Fp1Y;^aOg6Vj*SgP z2DG4hHGH|bAcEnztJdZsj6pPFB$ZGez1j^~ULV0g{wv&>&0khgaQjm}N`lxKY>H|n zYfkM4nKdZ%4qI=7*bXw)Ew7JPLaok10faJy3@Y3hy($!g0x5gv-fKh29KCU0Ipv zgi7cv4cq6889#d9L-?PcWGtc1h{?#F-3;=^?DK^AoJ9jh03L6r!fZYMb|aNO9r}Fj z8E>QgCIImjxd$3+I|OI!@`7qVa|K1EW)+6;BsltnbP7eDJze7#RcWcXaKz{=S8d6t z*J$RO@0oU9tBai1zu%k@L<5ZP<=7gD-z%B_C9vnk3NU0PnEp8vX`J~${3)E%&BcfO zueFxp|78(N5wYk(t#_Bwa#;!7w1BMQZ&S;Bk_c?jE`h$jWS7WmFug{V;$UQ4vOCb} zfxt%eb9=)QaC?Gb*6jkA4MJDhqI*yaoDflMXy**6u09P?EPR5EhSCj&u3|*)0~fP7 zzHUZ;3kIK;VeABaHnbcpWjHyr2&L$8C+MkV^<%2Z@$oXbo8O&bx0g!u05RL#{i&ZV zvIB~3MItml9cZI`_pb8@$GQPf*_v{nh^T{NhI1$z2K9mTmAa9=8`^kBU0c{r07U*o z;w*7MI%H6_X+`MsLM(nhsoieY;y;=CM~;fUTr!spRHAn*5aeVICo|M}3*^LL`&FjJ z%)$(?ZLShTJarhMtPLXm%*NSRb4Lr{v-X;kRT5`X>VmJ_fdGS4=y68M0%jbw&p7Ee zRFb!EUf6HFx)o?3bXmMksyPV{m1BNtL~Hiq9lesJc^+~ECv%j2U|&dL(8U_$od@KA zVaa>zctumPPc?mT*tXka*`7rGwzz~Z9vuxz2a8Nt@6i_yE%%IfhrGU&AEM=r;}y6G z7S{XlIAil`W*8FjoqRKtiq=KbdNOCuQ*rE+D7p9yV%A{B?e{+gPwbJ^q6DwasH7gl z@&&bf6Up`QE@Gk@!U>}k)UX$IFbeXS_h|b+?Ee`zZU~-ts#YWc1$F@i1lOz`Y=CK; z|I5Y9Is*nEkcPuFR4cC#SPNK;-X&!C>)87Q?Q%r>8<5~W-RW)%v!t2^5X`@_Pd|HN zYc}K(-Vx5q>>mA4WK=|QpuSo6mM3V!DvtJnwIJLj9YHC*879;aUw6Nvytw6t$;+DhO^HRGDhx-N$UN5G1480(qh|8=f%|f%79mLWD)ySyVmy-9B zqI$mL3D_KcZMpo#-w4f2PRg>r;I~Q&2ufT#ocG;05&Zo^l^Hst8!-}NeA6a?`F*wN zG0JqdT8jZ|9j#ZZ)f5Mfxac-Ipk0q17D z$q4$DIU=K#K0nal0bHbAzCPjDjA>7nV4)zLoPQG@2P z$BmNLTN964cw}F{@B2WnIS?1%PSP_X&ZrNCIQX>Z$yfg>hgXBb!|=7r^#1sWwvurW z3NF1xZMTxEz5tWefTC}i3N>47g1|-v5$4Ne#u)?vB;blL%E971yFaf<~A=<*D6LUz*D3)%-R<)TrH~IBF^E@jhN+vWCyMHPKE}fRrh* zlqXrgLkT-!Yq-W{l4W!o^27G?L_egr?~DA;x&htfNj&+Lx@A;tLZP=by3gE93guG2 z`x*4Ir8b%pzGUoQyYL_1=?oM(1Zx3(MEfH~T~INFf;Iw+K;f0^eA(bYqL*-b5rNjW zVbrb?#~!nLz^8G;qk0 ziL3jmrae^IPMkA_IcM%jmRyVNu~#zx2>EJjYlxZzb275Xq4@UrYIdfUoOAEnx0f_x zd4U)g;yjg!?M}UdYe+dJ6G|V3B}{eJmXLs#Z47Q`*9CQdayPU`BHr3Tib6+qiRkibzBl3m|n zKHLx?_DBN2MB!-Sc7_G;VBY^L0yt|*RT7mzV$f|?e zK|1rD!~4?IbJR_}|4#(KzdEtNI~gV>Ruv|8 z4SWiIn6H(GU<`#5i~#FEjdRA#!5^Em{6gF_>Vu9OFU;sE3o>!t|3%0AU3k@Dz|xu4 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 z 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%0DAI`~{#J;GIMu{iH)mk!wnaGkBR!-i}} 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

ij-v5y@1L_{kSN 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%0D3`F^2O{9W=$(a*7KILadDRi&xA9+@`TKkK3 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 i{XbZHlC;IP2mS~7R^Q+N literal 0 HcmV?d00001 From 001054c0941f6fdda2dd703764b902a437a2a914 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 24 Apr 2023 23:44:27 -0700 Subject: [PATCH 010/195] commenting out the nb kernel name --- docs/source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 01e1044..9b650c4 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -28,7 +28,7 @@ graphviz_dot = '/opt/homebrew/bin/dot' numpydoc_class_members_toctree = False nb_execution_mode = "cache" -nb_kernel_rgx_aliases = {'python3': "islp_test"} +#nb_kernel_rgx_aliases = {'python3': "islp_test"} intersphinx_mapping = { 'python': ('https://docs.python.org/3/', None), From cda040c65672a7f0eedbdd78597ced132bdd007d Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 24 Apr 2023 23:53:07 -0700 Subject: [PATCH 011/195] trying to use rpy2 --- .readthedocs.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 871a974..c8ea271 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -28,3 +28,5 @@ python: - requirements: keras_requirements.txt - method: pip path: . + - method: pip + path: rpy2 From ac5c68c2ccd26830012c16fb1c6bb9446d786353 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 00:00:17 -0700 Subject: [PATCH 012/195] putting rpy2 in docs requirements --- .readthedocs.yaml | 2 -- docs/requirements.txt | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index c8ea271..871a974 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -28,5 +28,3 @@ python: - requirements: keras_requirements.txt - method: pip path: . - - method: pip - path: rpy2 diff --git a/docs/requirements.txt b/docs/requirements.txt index 37938b9..b06b49b 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -2,3 +2,4 @@ texext numpydoc myst_nb sphinx-book-theme +rpy2 From e84eec5a040b674a14a56d2c01a62eb1f5ac07a8 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 00:07:49 -0700 Subject: [PATCH 013/195] using r-base ubuntu package --- .readthedocs.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 871a974..9e65eb7 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -10,7 +10,9 @@ build: os: ubuntu-22.04 tools: python: "3.9" - + apt-packages: + - r-base + # Build documentation in the docs/ directory with Sphinx sphinx: configuration: docs/source/conf.py From eed8f43471800e8f324a07ec833b136eae1e8931 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 00:08:33 -0700 Subject: [PATCH 014/195] fixing yaml --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 9e65eb7..141d660 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -10,7 +10,7 @@ build: os: ubuntu-22.04 tools: python: "3.9" - apt-packages: + apt_packages: - r-base # Build documentation in the docs/ directory with Sphinx From dd4884617c4eaf3650aaf2fafd600a7f8fd1d7e7 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 00:11:46 -0700 Subject: [PATCH 015/195] removing jupyter requirement --- requirements.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index bf393e1..bbe21a2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,5 @@ numpy>=1.7.1 scipy>=0.9 -jupyter pandas>=0.20 lxml # pandas needs this for html scikit-learn>=1.0 From 0b0496d7e62277e18899e834e823c05a5b5c330f Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 00:23:29 -0700 Subject: [PATCH 016/195] fixing PCA notebook --- docs/jupyterbook/transforms/PCA.ipynb | 199 ++++---------------------- docs/jupyterbook/transforms/PCA.md | 27 ++-- docs/source/transforms/PCA.ipynb | 199 ++++---------------------- 3 files changed, 73 insertions(+), 352 deletions(-) diff --git a/docs/jupyterbook/transforms/PCA.ipynb b/docs/jupyterbook/transforms/PCA.ipynb index 224992b..6f34c5a 100644 --- a/docs/jupyterbook/transforms/PCA.ipynb +++ b/docs/jupyterbook/transforms/PCA.ipynb @@ -19,9 +19,14 @@ "outputs": [], "source": [ "import numpy as np\n", + "from sklearn.decomposition import PCA\n", + "\n", "from ISLP import load_data\n", - "from ISLP.models import ModelSpec, pca, Variable, derived_variable\n", - "from sklearn.decomposition import PCA" + "from ISLP.models import (ModelSpec, \n", + " pca, \n", + " Variable, \n", + " derived_variable,\n", + " build_columns)" ] }, { @@ -105,7 +110,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 9, "id": "6cfe8861-ad07-47b9-95d1-5d5513ff6fbe", "metadata": {}, "outputs": [ @@ -113,170 +118,22 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", + "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", " warnings.warn(\n" ] } ], "source": [ - "sklearn_pca.fit(design.build_columns(Carseats, grouped)[0]) \n", + "grouped_features = build_columns(design.column_info_,\n", + " Carseats,\n", + " grouped)[0]\n", + "sklearn_pca.fit(grouped_features) \n", "pca_var = derived_variable(['CompPrice', 'Income', 'Advertising', 'Population', 'Price'],\n", " name='pca(grouped)', encoder=sklearn_pca)\n", - "derived_features, _ = design.build_columns(Carseats, pca_var)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "aeb47184-9e15-4a6e-b60a-916f5ff89063", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "

\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
CompPriceIncomeAdvertisingPopulationPrice
01387311276120
1111481626083
2113351026980
3117100446697
4141643340128
..................
39513810817203128
39613923337120
3971622612368159
39810079728495
39913437027120
\n", - "

400 rows × 5 columns

\n", - "
" - ], - "text/plain": [ - " CompPrice Income Advertising Population Price\n", - "0 138 73 11 276 120\n", - "1 111 48 16 260 83\n", - "2 113 35 10 269 80\n", - "3 117 100 4 466 97\n", - "4 141 64 3 340 128\n", - ".. ... ... ... ... ...\n", - "395 138 108 17 203 128\n", - "396 139 23 3 37 120\n", - "397 162 26 12 368 159\n", - "398 100 79 7 284 95\n", - "399 134 37 0 27 120\n", - "\n", - "[400 rows x 5 columns]" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.build_columns(Carseats, grouped)[0]" + "derived_features, _ = build_columns(design.column_info_,\n", + " Carseats, \n", + " pca_var,\n", + " encoders=design.encoders_)" ] }, { @@ -291,7 +148,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 10, "id": "9f4b0955", "metadata": {}, "outputs": [], @@ -304,7 +161,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 11, "id": "6b382699-eb86-457f-8e91-09a63eb21d49", "metadata": {}, "outputs": [ @@ -312,11 +169,11 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", + "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", + "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", + "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", " warnings.warn(\n" ] }, @@ -329,7 +186,7 @@ " dtype='object')" ] }, - "execution_count": 8, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -350,7 +207,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 12, "id": "4a8d9b28", "metadata": {}, "outputs": [], @@ -361,7 +218,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 13, "id": "6efa6c67-86e1-4f51-86c2-25c838a90bf4", "metadata": {}, "outputs": [ @@ -371,7 +228,7 @@ "(4.073428490498941e-14, 0.0)" ] }, - "execution_count": 10, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -386,9 +243,9 @@ "formats": "source/transforms///ipynb,jupyterbook/transforms///md:myst,jupyterbook/transforms///ipynb" }, "kernelspec": { - "display_name": "python3", + "display_name": "islp_test", "language": "python", - "name": "python3" + "name": "islp_test" }, "language_info": { "codemirror_mode": { diff --git a/docs/jupyterbook/transforms/PCA.md b/docs/jupyterbook/transforms/PCA.md index e3bc5d4..612e595 100644 --- a/docs/jupyterbook/transforms/PCA.md +++ b/docs/jupyterbook/transforms/PCA.md @@ -7,9 +7,9 @@ jupytext: format_version: 0.13 jupytext_version: 1.14.5 kernelspec: - display_name: python3 + display_name: islp_test language: python - name: python3 + name: islp_test --- # Derived features: using PCA on a subset of columns @@ -19,9 +19,14 @@ construction of transformers applied to features. ```{code-cell} ipython3 import numpy as np -from ISLP import load_data -from ISLP.models import ModelSpec, pca, Variable, derived_variable from sklearn.decomposition import PCA + +from ISLP import load_data +from ISLP.models import (ModelSpec, + pca, + Variable, + derived_variable, + build_columns) ``` ```{code-cell} ipython3 @@ -51,14 +56,16 @@ sklearn_pca = PCA(n_components=3, whiten=True) We can now fit `sklearn_pca` and create our new variable. ```{code-cell} ipython3 -sklearn_pca.fit(design.build_columns(Carseats, grouped)[0]) +grouped_features = build_columns(design.column_info_, + Carseats, + grouped)[0] +sklearn_pca.fit(grouped_features) pca_var = derived_variable(['CompPrice', 'Income', 'Advertising', 'Population', 'Price'], name='pca(grouped)', encoder=sklearn_pca) -derived_features, _ = design.build_columns(Carseats, pca_var) -``` - -```{code-cell} ipython3 -design.build_columns(Carseats, grouped)[0] +derived_features, _ = build_columns(design.column_info_, + Carseats, + pca_var, + encoders=design.encoders_) ``` ## Helper function diff --git a/docs/source/transforms/PCA.ipynb b/docs/source/transforms/PCA.ipynb index 224992b..6f34c5a 100644 --- a/docs/source/transforms/PCA.ipynb +++ b/docs/source/transforms/PCA.ipynb @@ -19,9 +19,14 @@ "outputs": [], "source": [ "import numpy as np\n", + "from sklearn.decomposition import PCA\n", + "\n", "from ISLP import load_data\n", - "from ISLP.models import ModelSpec, pca, Variable, derived_variable\n", - "from sklearn.decomposition import PCA" + "from ISLP.models import (ModelSpec, \n", + " pca, \n", + " Variable, \n", + " derived_variable,\n", + " build_columns)" ] }, { @@ -105,7 +110,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 9, "id": "6cfe8861-ad07-47b9-95d1-5d5513ff6fbe", "metadata": {}, "outputs": [ @@ -113,170 +118,22 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", + "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", " warnings.warn(\n" ] } ], "source": [ - "sklearn_pca.fit(design.build_columns(Carseats, grouped)[0]) \n", + "grouped_features = build_columns(design.column_info_,\n", + " Carseats,\n", + " grouped)[0]\n", + "sklearn_pca.fit(grouped_features) \n", "pca_var = derived_variable(['CompPrice', 'Income', 'Advertising', 'Population', 'Price'],\n", " name='pca(grouped)', encoder=sklearn_pca)\n", - "derived_features, _ = design.build_columns(Carseats, pca_var)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "aeb47184-9e15-4a6e-b60a-916f5ff89063", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
CompPriceIncomeAdvertisingPopulationPrice
01387311276120
1111481626083
2113351026980
3117100446697
4141643340128
..................
39513810817203128
39613923337120
3971622612368159
39810079728495
39913437027120
\n", - "

400 rows × 5 columns

\n", - "
" - ], - "text/plain": [ - " CompPrice Income Advertising Population Price\n", - "0 138 73 11 276 120\n", - "1 111 48 16 260 83\n", - "2 113 35 10 269 80\n", - "3 117 100 4 466 97\n", - "4 141 64 3 340 128\n", - ".. ... ... ... ... ...\n", - "395 138 108 17 203 128\n", - "396 139 23 3 37 120\n", - "397 162 26 12 368 159\n", - "398 100 79 7 284 95\n", - "399 134 37 0 27 120\n", - "\n", - "[400 rows x 5 columns]" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.build_columns(Carseats, grouped)[0]" + "derived_features, _ = build_columns(design.column_info_,\n", + " Carseats, \n", + " pca_var,\n", + " encoders=design.encoders_)" ] }, { @@ -291,7 +148,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 10, "id": "9f4b0955", "metadata": {}, "outputs": [], @@ -304,7 +161,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 11, "id": "6b382699-eb86-457f-8e91-09a63eb21d49", "metadata": {}, "outputs": [ @@ -312,11 +169,11 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", + "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", + "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", + "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", " warnings.warn(\n" ] }, @@ -329,7 +186,7 @@ " dtype='object')" ] }, - "execution_count": 8, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -350,7 +207,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 12, "id": "4a8d9b28", "metadata": {}, "outputs": [], @@ -361,7 +218,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 13, "id": "6efa6c67-86e1-4f51-86c2-25c838a90bf4", "metadata": {}, "outputs": [ @@ -371,7 +228,7 @@ "(4.073428490498941e-14, 0.0)" ] }, - "execution_count": 10, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -386,9 +243,9 @@ "formats": "source/transforms///ipynb,jupyterbook/transforms///md:myst,jupyterbook/transforms///ipynb" }, "kernelspec": { - "display_name": "python3", + "display_name": "islp_test", "language": "python", - "name": "python3" + "name": "islp_test" }, "language_info": { "codemirror_mode": { From f8b3ff2ad643aca5d15b2810f60b261411a60f66 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 00:27:20 -0700 Subject: [PATCH 017/195] fixing kernel in PCA notebook --- docs/jupyterbook/transforms/PCA.ipynb | 4 ++-- docs/jupyterbook/transforms/PCA.md | 4 ++-- docs/source/transforms/PCA.ipynb | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/jupyterbook/transforms/PCA.ipynb b/docs/jupyterbook/transforms/PCA.ipynb index 6f34c5a..047efde 100644 --- a/docs/jupyterbook/transforms/PCA.ipynb +++ b/docs/jupyterbook/transforms/PCA.ipynb @@ -243,9 +243,9 @@ "formats": "source/transforms///ipynb,jupyterbook/transforms///md:myst,jupyterbook/transforms///ipynb" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" }, "language_info": { "codemirror_mode": { diff --git a/docs/jupyterbook/transforms/PCA.md b/docs/jupyterbook/transforms/PCA.md index 612e595..22aeea6 100644 --- a/docs/jupyterbook/transforms/PCA.md +++ b/docs/jupyterbook/transforms/PCA.md @@ -7,9 +7,9 @@ jupytext: format_version: 0.13 jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Derived features: using PCA on a subset of columns diff --git a/docs/source/transforms/PCA.ipynb b/docs/source/transforms/PCA.ipynb index 6f34c5a..047efde 100644 --- a/docs/source/transforms/PCA.ipynb +++ b/docs/source/transforms/PCA.ipynb @@ -243,9 +243,9 @@ "formats": "source/transforms///ipynb,jupyterbook/transforms///md:myst,jupyterbook/transforms///ipynb" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" }, "language_info": { "codemirror_mode": { From 7d147841cbdc80cd761dddf35d6833f27aa4aad7 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 00:33:18 -0700 Subject: [PATCH 018/195] consistent running of encoder on a dataframe --- ISLP/models/model_spec.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ISLP/models/model_spec.py b/ISLP/models/model_spec.py index 4ed39fc..41893a8 100644 --- a/ISLP/models/model_spec.py +++ b/ISLP/models/model_spec.py @@ -495,8 +495,9 @@ def build_columns(column_info, X, var, encoders={}, col_cache={}, fit=False): cols = np.column_stack(cols) if len(names) != cols.shape[1]: names = ['{0}[{1}]'.format(var.name, j) for j in range(cols.shape[1])] - if var.encoder: + df_cols = pd.DataFrame(np.asarray(cols), + columns=names) try: check_is_fitted(var.encoder) if fit and var not in encoders: @@ -505,8 +506,7 @@ def build_columns(column_info, X, var, encoders={}, col_cache={}, fit=False): if fit: fit_encoder(encoders, var, - pd.DataFrame(np.asarray(cols), - columns=names)) + df_cols) # known issue with Pipeline # https://github.com/scikit-learn/scikit-learn/issues/18648 elif isinstance(var.encoder, Pipeline): @@ -516,9 +516,9 @@ def build_columns(column_info, X, var, encoders={}, col_cache={}, fit=False): except Exception as e: # was not the NotFitted raise ValueError(e) if var.use_transform: - cols = var.encoder.transform(cols) + cols = var.encoder.transform(df_cols) else: - cols = var.encoder.predict(cols) + cols = var.encoder.predict(df_cols) if hasattr(var.encoder, 'columns_') and not var.override_encoder_colnames: names = var.encoder.columns_ else: From acd3d364af0c704a2e67dbe1dd5d6debec0e77a8 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 01:10:33 -0700 Subject: [PATCH 019/195] fixup install page --- docs/jupyterbook/transforms/PCA.ipynb | 33 ++++-------------- docs/source/conf.py | 6 ++++ docs/source/installation.myst | 48 +++++++++++++++++++++++++++ docs/source/installation.rst | 18 ---------- docs/source/transforms/PCA.ipynb | 33 ++++-------------- 5 files changed, 66 insertions(+), 72 deletions(-) create mode 100644 docs/source/installation.myst delete mode 100644 docs/source/installation.rst diff --git a/docs/jupyterbook/transforms/PCA.ipynb b/docs/jupyterbook/transforms/PCA.ipynb index 047efde..04c50ad 100644 --- a/docs/jupyterbook/transforms/PCA.ipynb +++ b/docs/jupyterbook/transforms/PCA.ipynb @@ -110,19 +110,10 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 5, "id": "6cfe8861-ad07-47b9-95d1-5d5513ff6fbe", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - } - ], + "outputs": [], "source": [ "grouped_features = build_columns(design.column_info_,\n", " Carseats,\n", @@ -148,7 +139,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 6, "id": "9f4b0955", "metadata": {}, "outputs": [], @@ -161,22 +152,10 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 7, "id": "6b382699-eb86-457f-8e91-09a63eb21d49", "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, { "data": { "text/plain": [ @@ -186,7 +165,7 @@ " dtype='object')" ] }, - "execution_count": 11, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -207,7 +186,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 8, "id": "4a8d9b28", "metadata": {}, "outputs": [], diff --git a/docs/source/conf.py b/docs/source/conf.py index 9b650c4..b009ae7 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -51,5 +51,11 @@ html_title = "Introduction to Statistical Learning (Python)" html_logo = "logo.png" +source_suffix = { + '.rst': 'restructuredtext', + '.ipynb': 'myst-nb', + '.myst': 'myst-nb', +} + # -- Options for EPUB output epub_show_urls = 'footnote' diff --git a/docs/source/installation.myst b/docs/source/installation.myst new file mode 100644 index 0000000..428c1b6 --- /dev/null +++ b/docs/source/installation.myst @@ -0,0 +1,48 @@ +# Installation instructions + +We generally recommend creating a [conda](https://anaconda.org) environment to isolate any code +from other dependencies. The `ISLP` package does not have unusual dependencies, but this is still +good practice. To create a conda environment in a Mac OS X or Linux environment run: + +```{python} +!conda create --name islp +``` + +To run python code in this environment, you must activate it: + +```{python} +!conda activate islp +``` + +## Mac OS X + +Running in the desired environment, we use `pip` to install the `ISLP` package: + +```{python} +!pip install ISLP +``` + +## Windows + +See the [python packaging instructions](https://packaging.python.org/en/latest/tutorials/installing-packages/#ensure-you-can-run-pip-from-the-command-line) for a simple way to run `pip` within +Jupyter or IPython. + +Alternatively, within a python shell in the environment you want to install `ISLP`, the following commands should install `ISLP`: + +```{python} +import os, sys +cmd = f'{sys.executable} -m pip install ISLP' +os.system(cmd) +``` + +## Torch requirements + +The `ISLP` labs use `torch` and various related packages for the lab on deep learning. The requirements +can be found [here](torch_requirements.txt). Alternatively, you can install them directly using `pip` + +```{python} +reqs = 'https://raw.githubusercontent.com/jonathan-taylor/ISLP/master/torch_requirements.txt' +cmd = f'{sys.executable} -m pip install -r {reqs}' +os.system(cmd) +``` + diff --git a/docs/source/installation.rst b/docs/source/installation.rst deleted file mode 100644 index 981b1ae..0000000 --- a/docs/source/installation.rst +++ /dev/null @@ -1,18 +0,0 @@ -Usage -===== - -.. _installation: - -Installation ------------- - -To use ISLP, first install it using pip: - -.. code-block:: console - - (.venv) $ pip install ISLP - -Creating recipes ----------------- - -BLAH diff --git a/docs/source/transforms/PCA.ipynb b/docs/source/transforms/PCA.ipynb index 047efde..04c50ad 100644 --- a/docs/source/transforms/PCA.ipynb +++ b/docs/source/transforms/PCA.ipynb @@ -110,19 +110,10 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 5, "id": "6cfe8861-ad07-47b9-95d1-5d5513ff6fbe", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - } - ], + "outputs": [], "source": [ "grouped_features = build_columns(design.column_info_,\n", " Carseats,\n", @@ -148,7 +139,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 6, "id": "9f4b0955", "metadata": {}, "outputs": [], @@ -161,22 +152,10 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 7, "id": "6b382699-eb86-457f-8e91-09a63eb21d49", "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, { "data": { "text/plain": [ @@ -186,7 +165,7 @@ " dtype='object')" ] }, - "execution_count": 11, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -207,7 +186,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 8, "id": "4a8d9b28", "metadata": {}, "outputs": [], From 667ad84c2fd2aca3fe9d4a5455c83c27ff06bfc7 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 09:41:11 -0700 Subject: [PATCH 020/195] moved build_submodel from method to function --- ISLP/models/model_spec.py | 176 ++++++++++++++++++++++------------ docs/source/models/spec.ipynb | 144 +++++++++------------------- 2 files changed, 162 insertions(+), 158 deletions(-) diff --git a/ISLP/models/model_spec.py b/ISLP/models/model_spec.py index 41893a8..2526ba6 100644 --- a/ISLP/models/model_spec.py +++ b/ISLP/models/model_spec.py @@ -52,18 +52,53 @@ class Variable(NamedTuple): #### contrast specific code class Contrast(TransformerMixin, BaseEstimator): - """ - Contrast encoding for categorical variables. - """ def __init__(self, method='drop', drop_level=None): + """ + Contrast encoding for categorical variables. + + Parameters + ---------- + method : ['drop', 'sum', None, callable] + If 'drop', then a column of the one-hot + encoding will be dropped. If 'sum', then the sum of + coefficients is constrained to sum to 1. + If `None`, the full one-hot encoding is returned. + Finally, if callable, then it should take the number of + levels of the category as a single argument and return + an appropriate contrast of the full one-hot encoding. + + drop_level : str (optional) + If not None, this level of the category + will be dropped if `method=='drop'`. + + """ self.method = method self.drop_level = drop_level - def fit(self, X): + def fit(self, X, y=None): + + """ + Construct contrast of categorical variable + for use in building a design matrix. + + Parameters + ---------- + X : array-like + X on which model matrix will be evaluated. + If a :py:class:`pd.DataFrame` or :py:class:`pd.Series`, variables that are of + categorical dtype will be treated as categorical. + + Returns + ------- + F : array-like + Columns of design matrix implied by the + categorical variable. + + """ Xa = np.asarray(X).reshape((-1,1)) self.encoder_ = OneHotEncoder(drop=None, @@ -310,65 +345,15 @@ def transform(self, X, y=None): Ignored. This parameter exists only for compatibility with :py:class:`sklearn.pipeline.Pipeline`. """ - return self.build_submodel(X, self.terms_) + check_is_fitted(self) + return build_model(self.column_info_, + X, + self.terms_, + intercept=self.intercept, + encoders=self.encoders_) # ModelSpec specific methods - def build_submodel(self, X, terms): - - """ - Construct design matrix on a - sequence of terms and X after - fitting. - - Parameters - ---------- - X : array-like - X on which model matrix will be evaluated. - - Returns - ------- - df : np.ndarray or pd.DataFrame - Design matrix. - """ - - check_is_fitted(self) - - dfs = [] - - col_cache = {} # avoid recomputing the same columns - - if self.intercept: - df = pd.DataFrame({'intercept':np.ones(X.shape[0])}) - if isinstance(X, (pd.Series, pd.DataFrame)): - df.index = X.index - dfs.append(df) - - for term_ in terms: - term_df = build_columns(self.column_info_, - X, - term_, - col_cache=col_cache, - encoders=self.encoders_, - fit=False)[0] - dfs.append(term_df) - - if len(dfs): - if isinstance(X, (pd.Series, pd.DataFrame)): - df = pd.concat(dfs, axis=1) - df.index = X.index - return df - else: - return np.column_stack(dfs) - else: # return a 0 design - zero = np.zeros(X.shape[0]) - if isinstance(X, (pd.Series, pd.DataFrame)): - df = pd.DataFrame({'zero': zero}) - df.index = X.index - return df - else: - return zero - def build_sequence(self, X, anova_type='sequential'): @@ -455,7 +440,10 @@ def build_columns(column_info, X, var, encoders={}, col_cache={}, fit=False): var : Variable Variable whose columns will be built, typically a key in `column_info`. - col_cache: + encoders : dict + Dict that stores encoder of each Variable. + + col_cache: dict Dict where columns will be stored -- if `var.name` in `col_cache` then just returns those columns. @@ -539,6 +527,72 @@ def build_columns(column_info, X, var, encoders={}, col_cache={}, fit=False): col_cache[joblib_hash([var.name, X])] = (val, names) return val, names +def build_model(column_info, + X, + terms, + intercept=True, + encoders={}): + + """ + Construct design matrix on a + sequence of terms and X after + fitting. + + Parameters + ---------- + column_info: dict + Dictionary with values specifying sets of columns to + be concatenated into a design matrix. + + X : array-like + X on which columns are evaluated. + + terms : [Variable] + Sequence of variables + + encoders : dict + Dict that stores encoder of each Variable. + + Returns + ------- + df : np.ndarray or pd.DataFrame + Design matrix. + """ + + dfs = [] + + col_cache = {} # avoid recomputing the same columns + + if intercept: + df = pd.DataFrame({'intercept':np.ones(X.shape[0])}) + if isinstance(X, (pd.Series, pd.DataFrame)): + df.index = X.index + dfs.append(df) + + for term_ in terms: + term_df = build_columns(column_info, + X, + term_, + col_cache=col_cache, + encoders=encoders, + fit=False)[0] + dfs.append(term_df) + + if len(dfs): + if isinstance(X, (pd.Series, pd.DataFrame)): + df = pd.concat(dfs, axis=1) + df.index = X.index + return df + else: + return np.column_stack(dfs) + else: # return a 0 design + zero = np.zeros(X.shape[0]) + if isinstance(X, (pd.Series, pd.DataFrame)): + df = pd.DataFrame({'zero': zero}) + df.index = X.index + return df + else: + return zero def derived_variable(variables, encoder=None, name=None, use_transform=True): """ diff --git a/docs/source/models/spec.ipynb b/docs/source/models/spec.ipynb index d6ba7b0..1ea45d2 100644 --- a/docs/source/models/spec.ipynb +++ b/docs/source/models/spec.ipynb @@ -597,14 +597,6 @@ "shelve.get_columns(Carseats)" ] }, - { - "cell_type": "markdown", - "id": "5d8b048f-3c31-47ac-8946-0662f5e57b63", - "metadata": {}, - "source": [ - "shelve.get_columns?" - ] - }, { "cell_type": "markdown", "id": "269e6d18-4ae4-4a77-8498-90281ae7c803", @@ -1292,14 +1284,6 @@ "id": "imported-measure", "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, { "data": { "text/html": [ @@ -1433,14 +1417,6 @@ "id": "western-bloom", "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, { "data": { "text/html": [ @@ -1583,25 +1559,25 @@ }, { "cell_type": "markdown", - "id": "absent-branch", + "id": "e289feba-e3f5-48e0-9e29-cdd88d7f9923", "metadata": {}, "source": [ - "## Predicting at new points\n", - "\n", - "As `ModelSpec` is a transformer, it can be evaluated at new feature values.\n", - "Constructing the design matrix at any values is carried out by the `transform` method." + "## Predicting at new points" ] }, { "cell_type": "code", "execution_count": 19, - "id": "naked-hollywood", + "id": "6efed2fa-9e5d-429c-a8d9-ac544cab2b41", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([ 9.73389663, 26.06456997])" + "intercept 12.661546\n", + "Price -0.052213\n", + "Income 0.012829\n", + "dtype: float64" ] }, "execution_count": 19, @@ -1610,94 +1586,68 @@ } ], "source": [ - "new_data = pd.DataFrame({'Income':['Bad', 'Good'], 'Price':[40, 50]})\n", - "new_X = MS.transform(new_data)\n", - "M_ols.get_prediction(new_X).predicted_mean" + "MS = ModelSpec(['Price', 'Income']).fit(Carseats)\n", + "X = MS.transform(Carseats)\n", + "Y = Carseats['Sales']\n", + "M_ols = sm.OLS(Y, X).fit()\n", + "M_ols.params" ] }, { "cell_type": "markdown", - "id": "signal-yahoo", + "id": "e6b4609b-fcb2-4cc2-b630-509df4c87546", "metadata": {}, "source": [ - "## Using `np.ndarray`\n", - "\n", - "As the basic model is to concatenate columns extracted from a columnar data\n", - "representation, one *can* use `np.ndarray` as the column data. In this case,\n", - "columns will be selected by integer indices. \n", - "\n", - "### Caveats using `np.ndarray`\n", - "\n", - "If the `terms` only refer to a few columns of the data frame, the `transform` method only needs a dataframe with those columns.\n", - "However,\n", - "unless all features are floats, `np.ndarray` will default to a dtype of `object`, complicating issues.\n", - "\n", - "However, if we had used an `np.ndarray`, the column identifiers would be integers identifying specific columns so,\n", - "in order to work correctly, `transform` would need another `np.ndarray` where the columns have the same meaning. \n", - "\n", - "We illustrate this below, where we build a model from `Price` and `Income` for `Sales` and want to find predictions at new\n", - "values of `Price` and `Location`. We first find the predicitions using `pd.DataFrame` and then illustrate the difficulties\n", - "in using `np.ndarray`." + "As `ModelSpec` is a transformer, it can be evaluated at new feature values.\n", + "Constructing the design matrix at any values is carried out by the `transform` method." ] }, { "cell_type": "code", - "execution_count": 42, - "id": "964ecc79-7303-410c-b258-2d58341c7dc0", + "execution_count": 20, + "id": "8784b0e8-ce53-4a90-aee6-b935834295c7", "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " intercept Price Income\n", - "0 1.0 40 10\n", - "1 1.0 50 20\n" - ] - }, { "data": { "text/plain": [ - "intercept 12.661546\n", - "Price -0.052213\n", - "Income 0.012829\n", - "dtype: float64" + "array([10.70130676, 10.307465 ])" ] }, - "execution_count": 42, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "MS = ModelSpec(['Price', 'Income']).fit(Carseats)\n", - "M_ols = sm.OLS(Y, MS.transform(Carseats)).fit()\n", - "\n", "new_data = pd.DataFrame({'Price':[40, 50], 'Income':[10, 20]})\n", "new_X = MS.transform(new_data)\n", - "print(new_X)\n", - "M_ols.params" + "M_ols.get_prediction(new_X).predicted_mean" ] }, { - "cell_type": "code", - "execution_count": 25, - "id": "a42c239e-a5eb-4c5d-919e-16c4d58d1c8d", + "cell_type": "markdown", + "id": "signal-yahoo", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([10.70130676, 10.307465 ])" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "M_ols.get_prediction(new_X).predicted_mean" + "## Using `np.ndarray`\n", + "\n", + "As the basic model is to concatenate columns extracted from a columnar data\n", + "representation, one *can* use `np.ndarray` as the column data. In this case,\n", + "columns will be selected by integer indices. \n", + "\n", + "### Caveats using `np.ndarray`\n", + "\n", + "If the `terms` only refer to a few columns of the data frame, the `transform` method only needs a dataframe with those columns.\n", + "However,\n", + "unless all features are floats, `np.ndarray` will default to a dtype of `object`, complicating issues.\n", + "\n", + "However, if we had used an `np.ndarray`, the column identifiers would be integers identifying specific columns so,\n", + "in order to work correctly, `transform` would need another `np.ndarray` where the columns have the same meaning. \n", + "\n", + "We illustrate this below, where we build a model from `Price` and `Income` for `Sales` and want to find predictions at new\n", + "values of `Price` and `Location`. We first find the predicitions using `pd.DataFrame` and then illustrate the difficulties\n", + "in using `np.ndarray`." ] }, { @@ -1710,7 +1660,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 21, "id": "4fec9030-7445-48be-a15f-2ac5a789e717", "metadata": {}, "outputs": [ @@ -1726,7 +1676,7 @@ " [ 1., 120., 37.]])" ] }, - "execution_count": 34, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -1739,7 +1689,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 22, "id": "c864e365-2476-4ca6-9d27-625cac2b2271", "metadata": {}, "outputs": [ @@ -1752,7 +1702,7 @@ "dtype: float64" ] }, - "execution_count": 36, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -1779,7 +1729,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 23, "id": "incredible-concert", "metadata": {}, "outputs": [ @@ -1813,7 +1763,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 24, "id": "stunning-container", "metadata": {}, "outputs": [ @@ -1831,7 +1781,7 @@ "array([10.70130676, 10.307465 ])" ] }, - "execution_count": 45, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } From fa99dc3752a136dcb4eface999cbf1a8a76c4e57 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 12:51:48 -0700 Subject: [PATCH 021/195] cleanup some notebooks --- ISLP/models/__init__.py | 4 +- ISLP/models/model_spec.py | 189 +- ISLP/models/strategy.py | 20 +- ISLP/models/tests/test_model_matrix.py | 29 +- docs/jupyterbook/models/anova.ipynb | 633 ++++ docs/jupyterbook/models/anova.md | 111 + docs/jupyterbook/models/derived.ipynb | 2125 ----------- docs/jupyterbook/models/derived.md | 487 --- docs/jupyterbook/models/selection.ipynb | 2702 +------------- docs/jupyterbook/models/selection.md | 689 +--- docs/jupyterbook/models/spec.ipynb | 2672 +++++++------- docs/jupyterbook/models/spec.md | 524 +-- docs/jupyterbook/models/submodels.ipynb | 3127 ----------------- docs/jupyterbook/models/submodels.md | 652 ---- docs/jupyterbook/transforms/PCA.ipynb | 16 +- docs/jupyterbook/transforms/PCA.md | 16 +- docs/jupyterbook/transforms/poly.ipynb | 2 +- docs/jupyterbook/transforms/poly.md | 2 +- .../api/generated/ISLP.models.model_spec.rst | 17 +- docs/source/api/index.rst | 13 +- docs/source/index.rst | 4 +- docs/source/installation.myst | 36 +- docs/source/models.rst | 4 +- docs/source/models/anova.ipynb | 633 ++++ docs/source/models/derived.ipynb | 2125 ----------- docs/source/models/selection.ipynb | 2702 +------------- docs/source/models/spec.ipynb | 72 +- docs/source/models/submodels.ipynb | 3127 ----------------- docs/source/transforms/PCA.ipynb | 16 +- docs/source/transforms/poly.ipynb | 2 +- 30 files changed, 3315 insertions(+), 19436 deletions(-) create mode 100644 docs/jupyterbook/models/anova.ipynb create mode 100644 docs/jupyterbook/models/anova.md delete mode 100644 docs/jupyterbook/models/derived.ipynb delete mode 100644 docs/jupyterbook/models/derived.md delete mode 100644 docs/jupyterbook/models/submodels.ipynb delete mode 100644 docs/jupyterbook/models/submodels.md create mode 100644 docs/source/models/anova.ipynb delete mode 100644 docs/source/models/derived.ipynb delete mode 100644 docs/source/models/submodels.ipynb diff --git a/ISLP/models/__init__.py b/ISLP/models/__init__.py index bf9cd55..ee124d3 100644 --- a/ISLP/models/__init__.py +++ b/ISLP/models/__init__.py @@ -7,11 +7,11 @@ from .model_spec import (ModelSpec, Column, - Variable, + Feature, poly, ns, bs, - derived_variable, + derived_feature, pca, contrast, build_columns) diff --git a/ISLP/models/model_spec.py b/ISLP/models/model_spec.py index 2526ba6..dda82b2 100644 --- a/ISLP/models/model_spec.py +++ b/ISLP/models/model_spec.py @@ -35,7 +35,7 @@ DOCACHE = False -class Variable(NamedTuple): +class Feature(NamedTuple): """ An element in a model matrix that will build @@ -49,6 +49,7 @@ class Variable(NamedTuple): pure_columns: bool=False override_encoder_colnames: bool=False + #### contrast specific code class Contrast(TransformerMixin, BaseEstimator): @@ -254,7 +255,7 @@ def fit(self, X, y=None): bool) self.columns_ = np.arange(X.shape[1]) - self.variables_ = {} + self.features_ = {} self.encoders_ = {} self.column_info_ = _get_column_info(X, @@ -262,19 +263,19 @@ def fit(self, X, y=None): self.is_categorical_, self.is_ordinal_, default_encoders=self.default_encoders) - # include each column as a Variable + # include each column as a Feature # so that their columns are built if needed for col_ in self.columns_: - self.variables_[col_] = Variable((col_,), str(col_), None, pure_columns=True) + self.features_[col_] = Feature((col_,), str(col_), None, pure_columns=True) - # find possible interactions and other variables + # find possible interactions and other features tmp_cache = {} for term in self.terms: - if isinstance(term, Variable): - self.variables_[term] = term + if isinstance(term, Feature): + self.features_[term] = term build_columns(self.column_info_, X, term, @@ -282,18 +283,18 @@ def fit(self, X, y=None): col_cache=tmp_cache, fit=True) # these encoders won't have been fit yet for var in term.variables: - if var not in self.variables_ and isinstance(var, Variable): - self.variables_[var] = var + if var not in self.features_ and isinstance(var, Feature): + self.features_[var] = var elif term not in self.column_info_: - # a tuple of variables represents an interaction + # a tuple of features represents an interaction if type(term) == type((1,)): names = [] column_map = {} column_names = {} idx = 0 for var in term: - if var in self.variables_: - var = self.variables_[var] + if var in self.features_: + var = self.features_[var] cols, cur_names = build_columns(self.column_info_, X, var, @@ -305,17 +306,17 @@ def fit(self, X, y=None): idx += cols.shape[1] names.append(var.name) encoder_ = Interaction(names, column_map, column_names) - self.variables_[term] = Variable(term, ':'.join(n for n in names), encoder_) + self.features_[term] = Feature(term, ':'.join(n for n in names), encoder_) elif isinstance(term, Column): - self.variables_[term] = Variable((term,), term.name, None, pure_columns=True) + self.features_[term] = Feature((term,), term.name, None, pure_columns=True) else: - raise ValueError('each element in a term should be a Variable, Column or identify a column') + raise ValueError('each element in a term should be a Feature, Column or identify a column') # build the mapping of terms to columns and column names self.column_names_ = {} self.column_map_ = {} - self.terms_ = [self.variables_[t] for t in self.terms] + self.terms_ = [self.features_[t] for t in self.terms] idx = 0 if self.intercept: @@ -354,12 +355,61 @@ def transform(self, X, y=None): # ModelSpec specific methods + @property + def names(self, help='Name for each term in model specification.'): + names = [] + if self.intercept: + names = ['intercept'] + return names + [t.name for t in self.terms_] + + + def build_submodel(self, + X, + terms): + """ + Build design on X after fitting. + + Parameters + ---------- + X : array-like + X on which columns are evaluated. + + terms : [Feature] + Sequence of features + + Returns + ------- + D : array-like + Design matrix created with `terms` + """ + + return build_model(self.column_info_, + X, + terms, + intercept=self.intercept, + encoders=self.encoders_) + def build_sequence(self, X, anova_type='sequential'): """ Build implied sequence of submodels based on successively including more terms. + + Parameters + ---------- + X : array-like + X on which columns are evaluated. + + anova_type: str + One of "sequential" or "drop". + + Returns + ------- + + models : generator + Generator for sequence of models for ANOVA. + """ check_is_fitted(self) @@ -412,8 +462,11 @@ def fit_encoder(encoders, var, X): Parameters ---------- - var : Variable - Variable whose encoder will be fit. + encoders : dict + Dictionary of encoders for each feature. + + var : Feature + Feature whose encoder will be fit. X : array-like X on which encoder will be fit. @@ -425,7 +478,7 @@ def fit_encoder(encoders, var, X): def build_columns(column_info, X, var, encoders={}, col_cache={}, fit=False): """ - Build columns for a Variable from X. + Build columns for a Feature from X. Parameters ---------- @@ -437,11 +490,11 @@ def build_columns(column_info, X, var, encoders={}, col_cache={}, fit=False): X : array-like X on which columns are evaluated. - var : Variable - Variable whose columns will be built, typically a key in `column_info`. + var : Feature + Feature whose columns will be built, typically a key in `column_info`. encoders : dict - Dict that stores encoder of each Variable. + Dict that stores encoder of each Feature. col_cache: dict Dict where columns will be stored -- @@ -468,7 +521,7 @@ def build_columns(column_info, X, var, encoders={}, col_cache={}, fit=False): cols, name = col_cache[joblib_hash([var, X])] else: cols, names = var.get_columns(X, fit=fit) - elif isinstance(var, Variable): + elif isinstance(var, Feature): cols = [] names = [] for v in var.variables: @@ -517,7 +570,7 @@ def build_columns(column_info, X, var, encoders={}, col_cache={}, fit=False): else: - raise ValueError('expecting either a column or a Variable') + raise ValueError('expecting either a column or a Feature') val = pd.DataFrame(np.asarray(cols), columns=names) if isinstance(X, (pd.DataFrame, pd.Series)): @@ -547,11 +600,11 @@ def build_model(column_info, X : array-like X on which columns are evaluated. - terms : [Variable] - Sequence of variables + terms : [Feature] + Sequence of features encoders : dict - Dict that stores encoder of each Variable. + Dict that stores encoder of each Feature. Returns ------- @@ -594,15 +647,15 @@ def build_model(column_info, else: return zero -def derived_variable(variables, encoder=None, name=None, use_transform=True): +def derived_feature(variables, encoder=None, name=None, use_transform=True): """ - Create a Variable, optionally + Create a Feature, optionally applying an encoder to the stacked columns. Parameters ---------- - variables : [column identifier, Column, Variable] + variables : [column identifier, Column, Feature] Variables to apply transform to. Could be column identifiers or variables: all columns will be stacked before encoding. @@ -616,12 +669,12 @@ def derived_variable(variables, encoder=None, name=None, use_transform=True): Returns ------- - var : Variable + var : Feature """ if name is None: name = str(encoder) - var = Variable(tuple([v for v in variables]), + var = Feature(tuple([v for v in variables]), name, encoder, use_transform=use_transform, @@ -646,7 +699,7 @@ def contrast(col, Returns ------- - var : Variable + var : Feature """ @@ -674,7 +727,7 @@ def ordinal(col, *args, **kwargs): Returns ------- - var : Variable + var : Feature """ @@ -693,7 +746,7 @@ def ordinal(col, *args, **kwargs): name = f'{shortname}({name})' - return derived_variable([col], + return derived_feature([col], name=name, encoder=encoder) @@ -704,7 +757,7 @@ def poly(col, name=None): """ - Create a polynomial Variable + Create a polynomial Feature for a given column. Additional `args` and `kwargs` @@ -732,7 +785,7 @@ def poly(col, Returns ------- - var : Variable + var : Feature """ shortname, klass = 'poly', Poly encoder = klass(degree=degree, @@ -757,13 +810,13 @@ def poly(col, name = f'{shortname}({name})' - return derived_variable([col], + return derived_feature([col], name=name, encoder=encoder) def ns(col, intercept=False, name=None, **spline_args): """ - Create a natural spline Variable + Create a natural spline Feature for a given column. Additional *spline_args* @@ -783,7 +836,7 @@ def ns(col, intercept=False, name=None, **spline_args): Returns ------- - var : Variable + var : Feature """ shortname, klass = 'ns', NaturalSpline @@ -800,13 +853,13 @@ def ns(col, intercept=False, name=None, **spline_args): name = f'{shortname}({name})' encoder = klass(intercept=intercept, **spline_args) - return derived_variable([col], + return derived_feature([col], name=name, encoder=encoder) def bs(col, intercept=False, name=None, **spline_args): """ - Create a B-spline Variable + Create a B-spline Feature for a given column. Additional args and *spline_args* @@ -827,7 +880,7 @@ def bs(col, intercept=False, name=None, **spline_args): Returns ------- - var : Variable + var : Feature """ shortname, klass = 'bs', BSpline @@ -844,7 +897,7 @@ def bs(col, intercept=False, name=None, **spline_args): name = f'{shortname}({name})' encoder = klass(intercept=intercept, **spline_args) - return derived_variable([col], + return derived_feature([col], name=name, encoder=encoder) @@ -859,13 +912,13 @@ def pca(variables, name, scale=False, **pca_args): Parameters ---------- - variables : [column identifier, Column or Variable] + variables : [column identifier, Column or Feature] Sequence whose columns will be encoded by PCA. Returns ------- - var : Variable + var : Feature """ shortname, klass = 'pca', PCA @@ -880,52 +933,10 @@ def pca(variables, name, scale=False, **pca_args): if _args: name = ', '.join([name, _args]) - return derived_variable(variables, + return derived_feature(variables, name=f'{shortname}({name})', encoder=encoder) -# def clusterer(variables, name, transform, scale=False): -# """ -# Create PCA encoding of features -# from a sequence of variables. - -# Additional `args` and `kwargs` -# are passed to `PCA`. - -# Parameters -# ---------- - -# variables : [column identifier, Column or Variable] -# Sequence whose columns will be encoded by PCA. - -# name: str -# name for the Variable - -# transform: Transformer -# A transform with a `predict` method. - -# Returns -# ------- - -# var : Variable - -# """ - -# if scale: -# scaler = StandardScaler(with_mean=True, -# with_std=True) -# encoder = make_pipeline(scaler, transform) -# else: -# encoder = transform - -# intermed = Variable((derived_variable(*variables, -# name='cluster_intermed', -# encoder=encoder, -# use_transform=False),), -# name=f'Cat({encoder}({name}))', -# encoder=Contrast(method='drop')) - -# return intermed def _argstring(*args, **kwargs): _args = ', '.join([str(a) for a in args]) diff --git a/ISLP/models/strategy.py b/ISLP/models/strategy.py index 028ac94..f237db3 100644 --- a/ISLP/models/strategy.py +++ b/ISLP/models/strategy.py @@ -74,9 +74,9 @@ def __init__(self, Minumum number of terms to select max_terms: int (default: 0) Maximum number of terms to select - lower_terms: [Variable] + lower_terms: [Feature] Subset of terms to keep: smallest model. - upper_terms: [Variable] + upper_terms: [Feature] Largest possible model. validator: callable Callable taking a single argument: state, @@ -216,9 +216,9 @@ class Stepwise(MinMaxCandidates): Minumum number of terms to select max_terms: int (default: 1) Maximum number of terms to select - lower_terms: [Variable] + lower_terms: [Feature] Subset of terms to keep: smallest model. - upper_terms: [Variable] + upper_terms: [Feature] Largest possible model. constraints: {array-like} (optional), shape [n_terms, n_terms] Boolean matrix decribing a dag with [i,j] nonzero implying that j is @@ -342,9 +342,9 @@ def first_peak(model_spec, Minumum number of terms to select max_terms: int (default: 1) Maximum number of terms to select - lower_terms: [Variable] + lower_terms: [Feature] Subset of terms to keep: smallest model. - upper_terms: [Variable] + upper_terms: [Feature] Largest possible model. initial_terms: column identifiers, default=[] Subset of terms to be used to initialize when direction @@ -441,9 +441,9 @@ def fixed_steps(model_spec, max_terms: int (default: None) Maximum number of terms to select. If None defaults to number of terms in *model_spec*. - lower_terms: [Variable] + lower_terms: [Feature] Subset of terms to keep: smallest model. - upper_terms: [Variable] + upper_terms: [Feature] Largest possible model. initial_terms: column identifiers, default=[] Subset of terms to be used to initialize. @@ -506,9 +506,9 @@ def min_max(model_spec, Minumum number of terms to select max_terms: int (default: 1) Maximum number of terms to select - lower_terms: [Variable] + lower_terms: [Feature] Subset of terms to keep: smallest model. - upper_terms: [Variable] + upper_terms: [Feature] Largest possible model. validator: callable Callable taking a single argument: state, diff --git a/ISLP/models/tests/test_model_matrix.py b/ISLP/models/tests/test_model_matrix.py index 51e079c..a2759f4 100644 --- a/ISLP/models/tests/test_model_matrix.py +++ b/ISLP/models/tests/test_model_matrix.py @@ -2,7 +2,7 @@ from sklearn.base import clone from ISLP.transforms import Poly, NaturalSpline, BSpline, Interaction -from ISLP.models.model_spec import ModelSpec, Variable, ns, bs, poly, pca, contrast, Contrast +from ISLP.models.model_spec import ModelSpec, Feature, ns, bs, poly, pca, contrast, Contrast, build_model from sklearn.preprocessing import (OneHotEncoder, OrdinalEncoder) @@ -119,7 +119,6 @@ def test_dataframe4(): np.testing.assert_allclose(MX, MX2) print(MX2.columns) - return M, D def test_dataframe5(): @@ -144,7 +143,7 @@ def test_dataframe6(): rng = np.random.default_rng(11) X = rng.standard_normal((50,5)) D = pd.DataFrame(X, columns=['A','B','C','D','E']) - W = Variable(('A','E'), 'AE', None) + W = Feature(('A','E'), 'AE', None) D['D'] = pd.Categorical(rng.choice(['a','b','c'], 50, replace=True)) D['E'] = pd.Categorical(rng.choice(range(4,8), 50, replace=True)) @@ -178,7 +177,7 @@ def test_dataframe8(): poly = Poly(degree=3) # raises a ValueError because poly will have been already fit -- need new instance of Poly - W = Variable(('A',), 'poly(A)', poly) + W = Feature(('A',), 'poly(A)', poly) M = ModelSpec(terms=list(D.columns.drop(['Y','C'])) + [(W,'E')], default_encoders=default_encoders) MX = M.fit_transform(D) @@ -196,8 +195,8 @@ def test_dataframe9(): poly = Poly(degree=3) # raises a ValueError because poly will have been already fit -- need new instance of Poly - W = Variable(('A',), 'poly(A)', poly) - U = Variable(('B',), 'poly(B)', clone(poly)) + W = Feature(('A',), 'poly(A)', poly) + U = Feature(('B',), 'poly(B)', clone(poly)) M = ModelSpec(terms=list(D.columns.drop(['Y','C'])) + [W,U], default_encoders=default_encoders) MX = M.fit_transform(D) @@ -210,8 +209,8 @@ def test_dataframe10(): rng = np.random.default_rng(15) X = rng.standard_normal((50,5)) D = pd.DataFrame(X, columns=['A','B','C','D','E']) - W = Variable(('A','E'), 'AE', None) - U = Variable((W, 'C'), 'WC', None) + W = Feature(('A','E'), 'AE', None) + U = Feature((W, 'C'), 'WC', None) D['D'] = pd.Categorical(rng.choice(['a','b','c'], 50, replace=True)) D['E'] = pd.Categorical(rng.choice(range(4,8), 50, replace=True)) @@ -258,7 +257,11 @@ def test_submodel(): M.fit(D) MX = M.transform(D) - MXsub = M.build_submodel(D, M.terms[:2]) + MXsub = build_model(M.column_info_, + D, + M.terms[:2], + intercept=M.intercept, + encoders=M.encoders_) print(MX.columns) print(MXsub.columns) @@ -275,7 +278,11 @@ def test_contrast(): M.fit(D) MX = M.transform(D) - MXsub = M.build_submodel(D, M.terms[:2]) + MXsub = build_model(M.column_info_, + D, + M.terms[:2], + intercept=M.intercept, + encoders=M.encoders_) print(method, MX.columns) print(MXsub.columns) @@ -309,7 +316,7 @@ def test_pca(): X = rng.standard_normal((50,8)) D = pd.DataFrame(X, columns=['A','B','C','D','E', 'F', 'G', 'H']) - pca_ = Variable(('A','B','C','D'), 'pca(ABCD)', PCA(n_components=2)) + pca_ = Feature(('A','B','C','D'), 'pca(ABCD)', PCA(n_components=2)) M = ModelSpec(terms=[poly('F', intercept=True, degree=3), pca_]) diff --git a/docs/jupyterbook/models/anova.ipynb b/docs/jupyterbook/models/anova.ipynb new file mode 100644 index 0000000..2bfe2ae --- /dev/null +++ b/docs/jupyterbook/models/anova.ipynb @@ -0,0 +1,633 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "ee33d364", + "metadata": {}, + "source": [ + "# ANOVA using `ModelSpec`\n", + "\n", + "\n", + "In this lab we illustrate how to run create specific ANOVA analyses\n", + "using `ModelSpec`." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "4c70fbaa", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "from statsmodels.api import OLS\n", + "from statsmodels.stats.anova import anova_lm\n", + "\n", + "from ISLP import load_data\n", + "from ISLP.models import (ModelSpec,\n", + " derived_feature,\n", + " summarize)" + ] + }, + { + "cell_type": "markdown", + "id": "333a49cf", + "metadata": {}, + "source": [ + "### Forward Selection\n", + " \n", + "We will apply the forward-selection approach to the `Hitters` \n", + "data. We wish to predict a baseball player’s `Salary` on the\n", + "basis of various statistics associated with performance in the\n", + "previous year." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "8a708215", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "59" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Hitters = load_data('Hitters')\n", + "np.isnan(Hitters['Salary']).sum()" + ] + }, + { + "cell_type": "markdown", + "id": "dad5e991", + "metadata": {}, + "source": [ + " \n", + " We see that `Salary` is missing for 59 players. The\n", + "`dropna()` method of data frames removes all of the rows that have missing\n", + "values in any variable (by default --- see `Hitters.dropna?`)." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "ac7086a5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['AtBat', 'Hits', 'HmRun', 'Runs', 'RBI', 'Walks', 'Years', 'CAtBat',\n", + " 'CHits', 'CHmRun', 'CRuns', 'CRBI', 'CWalks', 'League', 'Division',\n", + " 'PutOuts', 'Assists', 'Errors', 'Salary', 'NewLeague'],\n", + " dtype='object')" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Hitters = Hitters.dropna()\n", + "Hitters.columns" + ] + }, + { + "cell_type": "markdown", + "id": "1a0a3521-be74-40df-a404-3895d80a11dc", + "metadata": {}, + "source": [ + "## Grouping variables\n", + "\n", + "A look at the [description](https://islp.readthedocs.io/en/latest/datasets/Hitters.html) of the data shows\n", + "that there are both career and 1986 offensive stats, as well as some defensive stats.\n", + "\n", + "Let's group the offensive into recent and career offensive stats, as well as a group of defensive variables." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "a215e43b-7bc8-4bdd-91cf-40d717cd7978", + "metadata": {}, + "outputs": [], + "source": [ + "offense_1986 = derived_feature(['AtBat', 'Hits', 'HmRun', 'Runs', 'RBI', 'Walks'],\n", + " name='offense_1986')\n", + "offense_career = derived_feature(['CAtBat', 'CHits', 'CHmRun', 'CRuns', 'CRBI', 'CWalks'],\n", + " name='offense_career')\n", + "defense_1986 = derived_feature(['PutOuts', 'Assists', 'Errors'],\n", + " name='defense_1986')\n", + "confounders = derived_feature(['Division', 'League', 'NewLeague'],\n", + " name='confounders')" + ] + }, + { + "cell_type": "markdown", + "id": "aa15fd0c-1e8a-431e-8425-c61da8439976", + "metadata": {}, + "source": [ + "We'll first do a sequential ANOVA where terms are added sequentially" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "40cd6c28", + "metadata": {}, + "outputs": [], + "source": [ + "design = ModelSpec([confounders, offense_1986, defense_1986, offense_career]).fit(Hitters)\n", + "Y = np.array(Hitters['Salary'])\n", + "X = design.transform(Hitters)" + ] + }, + { + "cell_type": "markdown", + "id": "074120b1", + "metadata": {}, + "source": [ + "Along with a score we need to specify the search strategy. This is done through the object\n", + "`Stepwise()` in the `ISLP.models` package. The method `Stepwise.first_peak()`\n", + "runs forward stepwise until any further additions to the model do not result\n", + "in an improvement in the evaluation score. Similarly, the method `Stepwise.fixed_steps()`\n", + "runs a fixed number of steps of stepwise search." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "e65f5607", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errtP>|t|
intercept148.218773.5952.0140.045
Division[W]-116.040440.188-2.8870.004
League[N]63.750379.0060.8070.421
NewLeague[N]-24.398978.843-0.3090.757
AtBat-1.95090.624-3.1250.002
Hits7.43952.3633.1480.002
HmRun4.34496.1900.7020.483
Runs-2.33122.971-0.7850.433
RBI-1.06702.595-0.4110.681
Walks6.21961.8253.4090.001
PutOuts0.28270.0773.6610.000
Assists0.37550.2201.7050.089
Errors-3.29404.377-0.7530.452
CAtBat-0.18870.120-1.5720.117
CHits0.16360.6650.2460.806
CHmRun-0.15171.612-0.0940.925
CRuns1.47160.7471.9710.050
CRBI0.80210.6911.1610.247
CWalks-0.81240.327-2.4810.014
\n", + "
" + ], + "text/plain": [ + " coef std err t P>|t|\n", + "intercept 148.2187 73.595 2.014 0.045\n", + "Division[W] -116.0404 40.188 -2.887 0.004\n", + "League[N] 63.7503 79.006 0.807 0.421\n", + "NewLeague[N] -24.3989 78.843 -0.309 0.757\n", + "AtBat -1.9509 0.624 -3.125 0.002\n", + "Hits 7.4395 2.363 3.148 0.002\n", + "HmRun 4.3449 6.190 0.702 0.483\n", + "Runs -2.3312 2.971 -0.785 0.433\n", + "RBI -1.0670 2.595 -0.411 0.681\n", + "Walks 6.2196 1.825 3.409 0.001\n", + "PutOuts 0.2827 0.077 3.661 0.000\n", + "Assists 0.3755 0.220 1.705 0.089\n", + "Errors -3.2940 4.377 -0.753 0.452\n", + "CAtBat -0.1887 0.120 -1.572 0.117\n", + "CHits 0.1636 0.665 0.246 0.806\n", + "CHmRun -0.1517 1.612 -0.094 0.925\n", + "CRuns 1.4716 0.747 1.971 0.050\n", + "CRBI 0.8021 0.691 1.161 0.247\n", + "CWalks -0.8124 0.327 -2.481 0.014" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "M = OLS(Y, X).fit()\n", + "summarize(M)" + ] + }, + { + "cell_type": "markdown", + "id": "29d9b55f", + "metadata": {}, + "source": [ + "We'll first produce the sequential, or Type I ANOVA results. This builds up a model sequentially and compares\n", + "two successive models." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "cfbe5b92", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
df_residssrdf_diffss_diffFPr(>F)
0262.05.331911e+070.0NaNNaNNaN
1259.05.131263e+073.02.006478e+066.7411472.144265e-04
2253.03.589842e+076.01.541422e+0725.8935106.063309e-24
3250.03.471882e+073.01.179602e+063.9630998.730527e-03
4244.02.420857e+076.01.051025e+0717.6555965.701196e-17
\n", + "
" + ], + "text/plain": [ + " df_resid ssr df_diff ss_diff F Pr(>F)\n", + "0 262.0 5.331911e+07 0.0 NaN NaN NaN\n", + "1 259.0 5.131263e+07 3.0 2.006478e+06 6.741147 2.144265e-04\n", + "2 253.0 3.589842e+07 6.0 1.541422e+07 25.893510 6.063309e-24\n", + "3 250.0 3.471882e+07 3.0 1.179602e+06 3.963099 8.730527e-03\n", + "4 244.0 2.420857e+07 6.0 1.051025e+07 17.655596 5.701196e-17" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "anova_lm(*[OLS(Y, D).fit() for D in design.build_sequence(Hitters, anova_type='sequential')])" + ] + }, + { + "cell_type": "markdown", + "id": "7092f666", + "metadata": {}, + "source": [ + "We can similarly compute the Type II ANOVA results which drops each term and compares to the full model." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "e2d43844", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
df_residssrdf_diffss_diffFPr(>F)
intercept244.02.420857e+071.04.024254e+054.0560764.511037e-02
confounders244.02.420857e+073.09.661738e+053.2460462.261572e-02
offense_1986244.02.420857e+076.03.097572e+065.2034444.648586e-05
defense_1986244.02.420857e+073.01.467933e+064.9318032.415732e-03
offense_career244.02.420857e+076.01.051025e+0717.6555965.701196e-17
\n", + "
" + ], + "text/plain": [ + " df_resid ssr df_diff ss_diff F \\\n", + "intercept 244.0 2.420857e+07 1.0 4.024254e+05 4.056076 \n", + "confounders 244.0 2.420857e+07 3.0 9.661738e+05 3.246046 \n", + "offense_1986 244.0 2.420857e+07 6.0 3.097572e+06 5.203444 \n", + "defense_1986 244.0 2.420857e+07 3.0 1.467933e+06 4.931803 \n", + "offense_career 244.0 2.420857e+07 6.0 1.051025e+07 17.655596 \n", + "\n", + " Pr(>F) \n", + "intercept 4.511037e-02 \n", + "confounders 2.261572e-02 \n", + "offense_1986 4.648586e-05 \n", + "defense_1986 2.415732e-03 \n", + "offense_career 5.701196e-17 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "D_full = design.transform(Hitters)\n", + "OLS_full = OLS(Y, D_full).fit()\n", + "dfs = []\n", + "for d in design.build_sequence(Hitters, anova_type='drop'):\n", + " dfs.append(anova_lm(OLS(Y,d).fit(), OLS_full).iloc[1:])\n", + "df = pd.concat(dfs)\n", + "df.index = design.names\n", + "df" + ] + } + ], + "metadata": { + "jupytext": { + "formats": "source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb" + }, + "kernelspec": { + "display_name": "islp_test", + "language": "python", + "name": "islp_test" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/jupyterbook/models/anova.md b/docs/jupyterbook/models/anova.md new file mode 100644 index 0000000..054ce3e --- /dev/null +++ b/docs/jupyterbook/models/anova.md @@ -0,0 +1,111 @@ +--- +jupytext: + formats: source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb + text_representation: + extension: .md + format_name: myst + format_version: 0.13 + jupytext_version: 1.14.5 +kernelspec: + display_name: islp_test + language: python + name: islp_test +--- + +# ANOVA using `ModelSpec` + + +In this lab we illustrate how to run create specific ANOVA analyses +using `ModelSpec`. + +```{code-cell} ipython3 +import numpy as np +import pandas as pd + +from statsmodels.api import OLS +from statsmodels.stats.anova import anova_lm + +from ISLP import load_data +from ISLP.models import (ModelSpec, + derived_feature, + summarize) +``` + +### Forward Selection + +We will apply the forward-selection approach to the `Hitters` +data. We wish to predict a baseball player’s `Salary` on the +basis of various statistics associated with performance in the +previous year. + +```{code-cell} ipython3 +Hitters = load_data('Hitters') +np.isnan(Hitters['Salary']).sum() +``` + + + We see that `Salary` is missing for 59 players. The +`dropna()` method of data frames removes all of the rows that have missing +values in any variable (by default --- see `Hitters.dropna?`). + +```{code-cell} ipython3 +Hitters = Hitters.dropna() +Hitters.columns +``` + +## Grouping variables + +A look at the [description](https://islp.readthedocs.io/en/latest/datasets/Hitters.html) of the data shows +that there are both career and 1986 offensive stats, as well as some defensive stats. + +Let's group the offensive into recent and career offensive stats, as well as a group of defensive variables. + +```{code-cell} ipython3 +offense_1986 = derived_feature(['AtBat', 'Hits', 'HmRun', 'Runs', 'RBI', 'Walks'], + name='offense_1986') +offense_career = derived_feature(['CAtBat', 'CHits', 'CHmRun', 'CRuns', 'CRBI', 'CWalks'], + name='offense_career') +defense_1986 = derived_feature(['PutOuts', 'Assists', 'Errors'], + name='defense_1986') +confounders = derived_feature(['Division', 'League', 'NewLeague'], + name='confounders') +``` + +We'll first do a sequential ANOVA where terms are added sequentially + +```{code-cell} ipython3 +design = ModelSpec([confounders, offense_1986, defense_1986, offense_career]).fit(Hitters) +Y = np.array(Hitters['Salary']) +X = design.transform(Hitters) +``` + +Along with a score we need to specify the search strategy. This is done through the object +`Stepwise()` in the `ISLP.models` package. The method `Stepwise.first_peak()` +runs forward stepwise until any further additions to the model do not result +in an improvement in the evaluation score. Similarly, the method `Stepwise.fixed_steps()` +runs a fixed number of steps of stepwise search. + +```{code-cell} ipython3 +M = OLS(Y, X).fit() +summarize(M) +``` + +We'll first produce the sequential, or Type I ANOVA results. This builds up a model sequentially and compares +two successive models. + +```{code-cell} ipython3 +anova_lm(*[OLS(Y, D).fit() for D in design.build_sequence(Hitters, anova_type='sequential')]) +``` + +We can similarly compute the Type II ANOVA results which drops each term and compares to the full model. + +```{code-cell} ipython3 +D_full = design.transform(Hitters) +OLS_full = OLS(Y, D_full).fit() +dfs = [] +for d in design.build_sequence(Hitters, anova_type='drop'): + dfs.append(anova_lm(OLS(Y,d).fit(), OLS_full).iloc[1:]) +df = pd.concat(dfs) +df.index = design.names +df +``` diff --git a/docs/jupyterbook/models/derived.ipynb b/docs/jupyterbook/models/derived.ipynb deleted file mode 100644 index cc1b0ac..0000000 --- a/docs/jupyterbook/models/derived.ipynb +++ /dev/null @@ -1,2125 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "38217f02", - "metadata": {}, - "source": [ - "# Building design matrices with `ModelSpec`\n", - "\n", - "Force rebuild" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "3107d1f9", - "metadata": {}, - "outputs": [], - "source": [ - "x=4\n", - "import numpy as np, pandas as pd\n", - "%load_ext rpy2.ipython\n", - "\n", - "from ISLP import load_data\n", - "from ISLP.models import ModelSpec\n", - "\n", - "import statsmodels.api as sm" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "cdc46a4e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['Sales', 'CompPrice', 'Income', 'Advertising', 'Population', 'Price',\n", - " 'ShelveLoc', 'Age', 'Education', 'Urban', 'US'],\n", - " dtype='object')" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats = load_data('Carseats')\n", - "%R -i Carseats\n", - "Carseats.columns" - ] - }, - { - "cell_type": "markdown", - "id": "e0a2a83a", - "metadata": {}, - "source": [ - "## Let's break up income into groups" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "68b40caf", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 M\n", - "1 L\n", - "2 L\n", - "3 H\n", - "4 M\n", - " ..\n", - "395 H\n", - "396 L\n", - "397 L\n", - "398 M\n", - "399 L\n", - "Name: OIncome, Length: 400, dtype: category\n", - "Categories (3, object): ['L' < 'M' < 'H']" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats['OIncome'] = pd.cut(Carseats['Income'], \n", - " [0,50,90,200], \n", - " labels=['L','M','H'])\n", - "Carseats['OIncome']" - ] - }, - { - "cell_type": "markdown", - "id": "35558d88", - "metadata": {}, - "source": [ - "Let's also create an unordered version" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "e5e81a95", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 M\n", - "1 L\n", - "2 L\n", - "3 H\n", - "4 M\n", - " ..\n", - "395 H\n", - "396 L\n", - "397 L\n", - "398 M\n", - "399 L\n", - "Name: UIncome, Length: 400, dtype: category\n", - "Categories (3, object): ['L', 'M', 'H']" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats['UIncome'] = pd.cut(Carseats['Income'], \n", - " [0,50,90,200], \n", - " labels=['L','M','H'],\n", - " ordered=False)\n", - "Carseats['UIncome']" - ] - }, - { - "cell_type": "markdown", - "id": "4bbf9e13", - "metadata": {}, - "source": [ - "## A simple model" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "1ad729b3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Price', 'Income'], dtype='object')" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Price', 'Income'])\n", - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "d05e9ec8", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 12.661546\n", - "Price -0.052213\n", - "Income 0.012829\n", - "dtype: float64" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Y = Carseats['Sales']\n", - "M = sm.OLS(Y, X).fit()\n", - "M.params" - ] - }, - { - "cell_type": "markdown", - "id": "b4e9ee33", - "metadata": {}, - "source": [ - "## Basic procedure\n", - "\n", - "The design matrix is built by cobbling together a set of columns and possibly transforming them.\n", - "A `pd.DataFrame` is essentially a list of columns. One of the first tasks done in `ModelSpec.fit`\n", - "is to inspect a dataframe for column info. The column `ShelveLoc` is categorical:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "64ac65d3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 Bad\n", - "1 Good\n", - "2 Medium\n", - "3 Medium\n", - "4 Bad\n", - " ... \n", - "395 Good\n", - "396 Medium\n", - "397 Medium\n", - "398 Bad\n", - "399 Good\n", - "Name: ShelveLoc, Length: 400, dtype: category\n", - "Categories (3, object): ['Bad', 'Good', 'Medium']" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats['ShelveLoc']" - ] - }, - { - "cell_type": "markdown", - "id": "620f0e01", - "metadata": {}, - "source": [ - "This is recognized by `ModelSpec` in the form of `Column` objects which are just named tuples with two methods\n", - "`get_columns` and `fit_encoder`." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "77b898e0", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='ShelveLoc', name='ShelveLoc', is_categorical=True, is_ordinal=False, columns=('ShelveLoc[Good]', 'ShelveLoc[Medium]'), encoder=Contrast())" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.column_info_['ShelveLoc']" - ] - }, - { - "cell_type": "markdown", - "id": "4580a6bf", - "metadata": {}, - "source": [ - "It recognized ordinal columns as well." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "c2dab855", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='OIncome', name='OIncome', is_categorical=True, is_ordinal=True, columns=('OIncome',), encoder=OrdinalEncoder())" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.column_info_['OIncome']" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "5e7963d6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([ 73, 48, 35, 100]), ('Income',))" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "income = design.column_info_['Income']\n", - "cols, names = income.get_columns(Carseats)\n", - "(cols[:4], names)" - ] - }, - { - "cell_type": "markdown", - "id": "6b689966", - "metadata": {}, - "source": [ - "## Encoding a column\n", - "\n", - "In building a design matrix we must extract columns from our dataframe (or `np.ndarray`). Categorical\n", - "variables usually are encoded by several columns, typically one less than the number of categories.\n", - "This task is handled by the `encoder` of the `Column`. The encoder must satisfy the `sklearn` transform\n", - "model, i.e. `fit` on some array and `transform` on future arrays. The `fit_encoder` method of `Column` fits\n", - "its encoder the first time data is passed to it." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "ff3b96b6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([[0., 0.],\n", - " [1., 0.],\n", - " [0., 1.],\n", - " [0., 1.]]),\n", - " ['ShelveLoc[Good]', 'ShelveLoc[Medium]'])" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "shelve = design.column_info_['ShelveLoc']\n", - "cols, names = shelve.get_columns(Carseats)\n", - "(cols[:4], names)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "7e87da20", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[2.],\n", - " [1.],\n", - " [1.],\n", - " [0.]])" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "oincome = design.column_info_['OIncome']\n", - "oincome.get_columns(Carseats)[0][:4]" - ] - }, - { - "cell_type": "markdown", - "id": "4f2030ac", - "metadata": {}, - "source": [ - "## The terms\n", - "\n", - "The design matrix consists of several sets of columns. This is managed by the `ModelSpec` through\n", - "the `terms` argument which should be a sequence. The elements of `terms` are often\n", - "going to be strings (or tuples of strings for interactions, see below) but are converted to a\n", - "`Variable` object and stored in the `terms_` of the fitted `ModelSpec`. A `Variable` is just a named tuple." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "27fc4fb3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['Price', 'Income']" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.terms" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "16316981", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Variable(variables=('Price',), name='Price', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False),\n", - " Variable(variables=('Income',), name='Income', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False)]" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.terms_" - ] - }, - { - "cell_type": "markdown", - "id": "ef3f2bd0", - "metadata": {}, - "source": [ - "While each `Column` can itself extract data, they are all promoted to `Variable` to be of a uniform type. A\n", - "`Variable` can also create columns through the `build_columns` method of `ModelSpec`" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "dd9c7fa6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( Price\n", - " 0 120\n", - " 1 83\n", - " 2 80\n", - " 3 97\n", - " 4 128\n", - " .. ...\n", - " 395 128\n", - " 396 120\n", - " 397 159\n", - " 398 95\n", - " 399 120\n", - " \n", - " [400 rows x 1 columns],\n", - " ['Price'])" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "price = design.terms_[0]\n", - "design.build_columns(Carseats, price)" - ] - }, - { - "cell_type": "markdown", - "id": "5fc4cc45", - "metadata": {}, - "source": [ - "Note that `Variable` objects have a tuple of `variables` as well as an `encoder` attribute. The\n", - "tuple of `variables` first creates a concatenated dataframe from all corresponding variables and then\n", - "is run through `encoder.transform`. The `encoder.fit` method of each `Variable` is run once during \n", - "the call to `ModelSpec.fit`." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "49d7fb46", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( Price Income UIncome[L] UIncome[M]\n", - " 0 120.0 73.0 0.0 1.0\n", - " 1 83.0 48.0 1.0 0.0\n", - " 2 80.0 35.0 1.0 0.0\n", - " 3 97.0 100.0 0.0 0.0\n", - " 4 128.0 64.0 0.0 1.0\n", - " .. ... ... ... ...\n", - " 395 128.0 108.0 0.0 0.0\n", - " 396 120.0 23.0 1.0 0.0\n", - " 397 159.0 26.0 1.0 0.0\n", - " 398 95.0 79.0 0.0 1.0\n", - " 399 120.0 37.0 1.0 0.0\n", - " \n", - " [400 rows x 4 columns],\n", - " ['Price', 'Income', 'UIncome[L]', 'UIncome[M]'])" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from ISLP.models.model_spec import Variable\n", - "\n", - "new_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=None)\n", - "design.build_columns(Carseats, new_var)" - ] - }, - { - "cell_type": "markdown", - "id": "bdfc0fe9", - "metadata": {}, - "source": [ - "Let's now transform these columns with an encoder. Within `ModelSpec` we will first build the\n", - "arrays above and then call `pca.fit` and finally `pca.transform` within `design.build_columns`." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "cf6f3f4c", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "( mynewvar[0] mynewvar[1]\n", - " 0 -3.608693 -4.853177\n", - " 1 15.081506 35.708630\n", - " 2 27.422871 40.774250\n", - " 3 -33.973209 13.470489\n", - " 4 6.567316 -11.290100\n", - " .. ... ...\n", - " 395 -36.846346 -18.415783\n", - " 396 45.741500 3.245602\n", - " 397 49.097533 -35.725355\n", - " 398 -13.577772 18.845139\n", - " 399 31.927566 0.978436\n", - " \n", - " [400 rows x 2 columns],\n", - " ['mynewvar[0]', 'mynewvar[1]'])" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from sklearn.decomposition import PCA\n", - "pca = PCA(n_components=2)\n", - "pca.fit(design.build_columns(Carseats, new_var)[0]) # this is done within `ModelSpec.fit`\n", - "pca_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=pca)\n", - "design.build_columns(Carseats, pca_var)" - ] - }, - { - "cell_type": "markdown", - "id": "1552d19a", - "metadata": {}, - "source": [ - "The elements of the `variables` attribute may be column identifiers ( `\"Price\"`), `Column` instances (`price`)\n", - "or `Variable` instances (`pca_var`)." - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "12d955dd", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "( Price Price mynewvar[0] mynewvar[1]\n", - " 0 120.0 120.0 -3.608693 -4.853177\n", - " 1 83.0 83.0 15.081506 35.708630\n", - " 2 80.0 80.0 27.422871 40.774250\n", - " 3 97.0 97.0 -33.973209 13.470489\n", - " 4 128.0 128.0 6.567316 -11.290100\n", - " .. ... ... ... ...\n", - " 395 128.0 128.0 -36.846346 -18.415783\n", - " 396 120.0 120.0 45.741500 3.245602\n", - " 397 159.0 159.0 49.097533 -35.725355\n", - " 398 95.0 95.0 -13.577772 18.845139\n", - " 399 120.0 120.0 31.927566 0.978436\n", - " \n", - " [400 rows x 4 columns],\n", - " ['Price', 'Price', 'mynewvar[0]', 'mynewvar[1]'])" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "fancy_var = Variable(('Price', price, pca_var), name='fancy', encoder=None)\n", - "design.build_columns(Carseats, fancy_var)" - ] - }, - { - "cell_type": "markdown", - "id": "f5ea292d", - "metadata": {}, - "source": [ - "We can of course run PCA again on these features (if we wanted)." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "ae2af29b", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "( fancy_pca[0] fancy_pca[1]\n", - " 0 -6.951792 4.859283\n", - " 1 55.170148 -24.694875\n", - " 2 59.418556 -38.033572\n", - " 3 34.722389 28.922184\n", - " 4 -21.419184 -3.120673\n", - " .. ... ...\n", - " 395 -18.257348 40.760122\n", - " 396 -10.546709 -45.021658\n", - " 397 -77.706359 -37.174379\n", - " 398 36.668694 7.730851\n", - " 399 -9.540535 -31.059122\n", - " \n", - " [400 rows x 2 columns],\n", - " ['fancy_pca[0]', 'fancy_pca[1]'])" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pca2 = PCA(n_components=2)\n", - "pca2.fit(design.build_columns(Carseats, fancy_var)[0]) # this is done within `ModelSpec.fit`\n", - "pca2_var = Variable(('Price', price, pca_var), name='fancy_pca', encoder=pca2)\n", - "design.build_columns(Carseats, pca2_var)" - ] - }, - { - "cell_type": "markdown", - "id": "57305dbe", - "metadata": {}, - "source": [ - "## Building the design matrix\n", - "\n", - "With these notions in mind, the final design is essentially then" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "89656ec4", - "metadata": {}, - "outputs": [], - "source": [ - "X_hand = np.column_stack([design.build_columns(Carseats, v)[0] for v in design.terms_])[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "f6cb8167", - "metadata": {}, - "source": [ - "An intercept column is added if `design.intercept` is `True` and if the original argument to `transform` is\n", - "a dataframe the index is adjusted accordingly." - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "547cb625", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.intercept" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "ff5b41d5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
interceptPriceIncome
01.012073
11.08348
21.08035
31.097100
\n", - "
" - ], - "text/plain": [ - " intercept Price Income\n", - "0 1.0 120 73\n", - "1 1.0 83 48\n", - "2 1.0 80 35\n", - "3 1.0 97 100" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.transform(Carseats)[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "932759cf", - "metadata": {}, - "source": [ - "## Predicting\n", - "\n", - "Constructing the design matrix at any values is carried out by the `transform` method." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "e2190b00", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([12.65257604, 12.25873428])" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "new_data = pd.DataFrame({'Price':[10,20], 'Income':[40, 50]})\n", - "new_X = design.transform(new_data)\n", - "M.get_prediction(new_X).predicted_mean" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "6545c5da", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 0 1 \n", - "12.65258 12.25873 \n" - ] - } - ], - "source": [ - "%%R -i new_data,Carseats\n", - "predict(lm(Sales ~ Price + Income, data=Carseats), new_data)" - ] - }, - { - "cell_type": "markdown", - "id": "cd088b51", - "metadata": {}, - "source": [ - "### Difference between using `pd.DataFrame` and `np.ndarray`\n", - "\n", - "If the `terms` only refer to a few columns of the data frame, the `transform` method only needs a dataframe with those columns.\n", - "\n", - "If we had used an `np.ndarray`, the column identifiers would be integers identifying specific columns so,\n", - "in order to work correctly, `transform` would need another `np.ndarray` where the columns have the same meaning." - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "8f37ae20", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[1.0, 120, 73],\n", - " [1.0, 83, 48],\n", - " [1.0, 80, 35],\n", - " [1.0, 97, 100]], dtype=object)" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats_np = np.asarray(Carseats[['Price', 'ShelveLoc', 'US', 'Income']])\n", - "design_np = ModelSpec([0,3]).fit(Carseats_np)\n", - "design_np.transform(Carseats_np)[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "184aefc2", - "metadata": {}, - "source": [ - "The following will fail for hopefully obvious reasons" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "e4134980", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "shapes (2,2) and (3,) not aligned: 2 (dim 1) != 3 (dim 0)\n" - ] - } - ], - "source": [ - "try:\n", - " new_D = np.zeros((2,2))\n", - " new_D[:,0] = [10,20]\n", - " new_D[:,1] = [40,50]\n", - " M.get_prediction(new_D).predicted_mean\n", - "except ValueError as e:\n", - " print(e)" - ] - }, - { - "cell_type": "markdown", - "id": "53808f3b", - "metadata": {}, - "source": [ - "Ultimately, `M` expects 3 columns for new predictions because it was fit\n", - "with a matrix having 3 columns (the first representing an intercept).\n", - "\n", - "We might be tempted to try as with the `pd.DataFrame` and produce\n", - "an `np.ndarray` with only the necessary variables." - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "62059c57", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "index 3 is out of bounds for axis 1 with size 2\n" - ] - } - ], - "source": [ - "try:\n", - " new_X = np.zeros((2,2))\n", - " new_X[:,0] = [10,20]\n", - " new_X[:,1] = [40,50]\n", - " new_D = design_np.transform(new_X)\n", - " M.get_prediction(new_D).predicted_mean\n", - "except IndexError as e:\n", - " print(e)" - ] - }, - { - "cell_type": "markdown", - "id": "ded12f69", - "metadata": {}, - "source": [ - "This fails because `design_np` is looking for column `3` from its `terms`:" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "fbb509d1", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Variable(variables=(0,), name='0', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False),\n", - " Variable(variables=(3,), name='3', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False)]" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design_np.terms_" - ] - }, - { - "cell_type": "markdown", - "id": "f01391e4", - "metadata": {}, - "source": [ - "However, if we have an `np.ndarray` in which the first column indeed represents `Price` and the fourth indeed\n", - "represents `Income` then we can arrive at the correct answer by supplying such the array to `design_np.transform`:" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "10df55ae", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([12.65257604, 12.25873428])" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "new_X = np.zeros((2,4))\n", - "new_X[:,0] = [10,20]\n", - "new_X[:,3] = [40,50]\n", - "new_D = design_np.transform(new_X)\n", - "M.get_prediction(new_D).predicted_mean" - ] - }, - { - "cell_type": "markdown", - "id": "b43099fb", - "metadata": {}, - "source": [ - "Given this subtlety about needing to supply arrays with identical column structure to `transform` when\n", - "using `np.ndarray` we presume that using a `pd.DataFrame` will be the more popular use case." - ] - }, - { - "cell_type": "markdown", - "id": "50bce64d", - "metadata": {}, - "source": [ - "## A model with some categorical variables\n", - "\n", - "Categorical variables become `Column` instances with encoders." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "2eb2ff16", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='UIncome', name='UIncome', is_categorical=True, is_ordinal=False, columns=('UIncome[L]', 'UIncome[M]'), encoder=Contrast())" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Population', 'Price', 'UIncome', 'ShelveLoc']).fit(Carseats)\n", - "design.column_info_['UIncome']" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "6686dff8", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Population', 'Price', 'UIncome[L]', 'UIncome[M]',\n", - " 'ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " dtype='object')" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "0e0eafd7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 11.876012\n", - "Population 0.001163\n", - "Price -0.055725\n", - "UIncome[L] -1.042297\n", - "UIncome[M] -0.119123\n", - "ShelveLoc[Good] 4.999623\n", - "ShelveLoc[Medium] 1.964278\n", - "dtype: float64" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "43cce209", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) Population Price UIncomeM UIncomeH \n", - " 10.83371503 0.00116301 -0.05572469 0.92317388 1.04229679 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.99962319 1.96427771 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "99bf408e", - "metadata": {}, - "source": [ - "## Getting the encoding you want\n", - "\n", - "By default the level dropped by `ModelSpec` will be the first of the `categories_` values from \n", - "`sklearn.preprocessing.OneHotEncoder()`. We might wish to change this. It seems\n", - "as if the correct way to do this would be something like `Variable(('UIncome',), 'mynewencoding', new_encoder)`\n", - "where `new_encoder` would somehow drop the column we want dropped. \n", - "\n", - "However, when using the convenient identifier `UIncome` in the `variables` argument, this maps to the `Column` associated to `UIncome` within `design.column_info_`:" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "11c19ebf", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='UIncome', name='UIncome', is_categorical=True, is_ordinal=False, columns=('UIncome[L]', 'UIncome[M]'), encoder=Contrast())" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.column_info_['UIncome']" - ] - }, - { - "cell_type": "markdown", - "id": "4b48e5d2", - "metadata": {}, - "source": [ - "This column already has an encoder and `Column` instances are immutable as named tuples. Further, there are times when \n", - "we may want to encode `UIncome` differently within the same model. In the model below the main effect of `UIncome` is encoded with two columns while in the interaction `UIncome` (see below) has three columns. This is a design of interest\n", - "and we need a way to allow different encodings of the same column of `Carseats`" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "81f641ba", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ UIncome:ShelveLoc + UIncome, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) UIncomeM UIncomeH \n", - " 5.1317 0.1151 1.1561 \n", - " UIncomeL:ShelveLocGood UIncomeM:ShelveLocGood UIncomeH:ShelveLocGood \n", - " 4.5121 5.5752 3.7381 \n", - "UIncomeL:ShelveLocMedium UIncomeM:ShelveLocMedium UIncomeH:ShelveLocMedium \n", - " 1.2473 2.4782 1.5141 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "79f7eb4d", - "metadata": {}, - "source": [ - " We can create a new \n", - "`Column` with the encoder we want. For categorical variables, there is a convenience function to do so." - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "2afb3b5d", - "metadata": {}, - "outputs": [], - "source": [ - "from ISLP.models.model_spec import contrast\n", - "pref_encoding = contrast('UIncome', 'drop', 'L')" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "c44692ab", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( UIncome[M] UIncome[H]\n", - " 0 1.0 0.0\n", - " 1 0.0 0.0\n", - " 2 0.0 0.0\n", - " 3 0.0 1.0\n", - " 4 1.0 0.0\n", - " .. ... ...\n", - " 395 0.0 1.0\n", - " 396 0.0 0.0\n", - " 397 0.0 0.0\n", - " 398 1.0 0.0\n", - " 399 0.0 0.0\n", - " \n", - " [400 rows x 2 columns],\n", - " ['UIncome[M]', 'UIncome[H]'])" - ] - }, - "execution_count": 37, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.build_columns(Carseats, pref_encoding)" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "c0bfb2a5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Population', 'Price', 'UIncome[M]', 'UIncome[H]',\n", - " 'ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " dtype='object')" - ] - }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Population', 'Price', pref_encoding, 'ShelveLoc']).fit(Carseats)\n", - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "d263056c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 10.833715\n", - "Population 0.001163\n", - "Price -0.055725\n", - "UIncome[M] 0.923174\n", - "UIncome[H] 1.042297\n", - "ShelveLoc[Good] 4.999623\n", - "ShelveLoc[Medium] 1.964278\n", - "dtype: float64" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "edf0dc68", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) Population Price UIncomeM UIncomeH \n", - " 10.83371503 0.00116301 -0.05572469 0.92317388 1.04229679 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.99962319 1.96427771 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "82071a54", - "metadata": {}, - "source": [ - "## Interactions\n", - "\n", - "We've referred to interactions above. These are specified (by convenience) as tuples in the `terms` argument\n", - "to `ModelSpec`." - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "id": "cd18a4a4", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 7.866634\n", - "UIncome[L]:ShelveLoc[Good] 4.512054\n", - "UIncome[L]:ShelveLoc[Medium] 1.247275\n", - "UIncome[M]:ShelveLoc[Good] 5.575170\n", - "UIncome[M]:ShelveLoc[Medium] 2.478163\n", - "UIncome[L] -2.734895\n", - "UIncome[M] -2.619745\n", - "dtype: float64" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([('UIncome', 'ShelveLoc'), 'UIncome'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "markdown", - "id": "229fa32d", - "metadata": {}, - "source": [ - "The tuples in `terms` are converted to `Variable` in the formalized `terms_` attribute by creating a `Variable` with\n", - "`variables` set to the tuple and the encoder an `Interaction` encoder which (unsurprisingly) creates the interaction columns from the concatenated data frames of `UIncome` and `ShelveLoc`." - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "id": "b8c52dbb", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Variable(variables=('UIncome', 'ShelveLoc'), name='UIncome:ShelveLoc', encoder=Interaction(column_names={'ShelveLoc': ['ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " 'UIncome': ['UIncome[L]', 'UIncome[M]']},\n", - " columns={'ShelveLoc': range(2, 4), 'UIncome': range(0, 2)},\n", - " variables=['UIncome', 'ShelveLoc']), use_transform=True, pure_columns=False, override_encoder_colnames=False)" - ] - }, - "execution_count": 42, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.terms_[0]" - ] - }, - { - "cell_type": "markdown", - "id": "e7f93464", - "metadata": {}, - "source": [ - "Comparing this to the previous `R` model." - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "4094c01f", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ UIncome:ShelveLoc + UIncome, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) UIncomeM UIncomeH \n", - " 5.1317 0.1151 1.1561 \n", - " UIncomeL:ShelveLocGood UIncomeM:ShelveLocGood UIncomeH:ShelveLocGood \n", - " 4.5121 5.5752 3.7381 \n", - "UIncomeL:ShelveLocMedium UIncomeM:ShelveLocMedium UIncomeH:ShelveLocMedium \n", - " 1.2473 2.4782 1.5141 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "d448c9ca", - "metadata": {}, - "source": [ - "We note a few important things:\n", - "\n", - "1. `R` has reorganized the columns of the design from the formula: although we wrote `UIncome:ShelveLoc` first these\n", - "columns have been built later. **`ModelSpec` builds columns in the order determined by `terms`!**\n", - "\n", - "2. As noted above, `R` has encoded `UIncome` differently in the main effect and in the interaction. For `ModelSpec`, the reference to `UIncome` always refers to the column in `design.column_info_` and will always build only the columns for `L` and `M`. **`ModelSpec` does no inspection of terms to decide how to encode categorical variables.**\n", - "\n", - "A few notes:\n", - "\n", - "- **Why not try to inspect the terms?** For any nontrivial formula in `R` with several categorical variables and interactions, predicting what columns will be produced from a given formula is not simple. **`ModelSpec` errs on the side of being explicit.**\n", - "\n", - "- **Is it impossible to build the design as `R` has?** No. An advanced user who *knows* they want the columns built as `R` has can do so (fairly) easily." - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "id": "634e05c6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( UIncome[H] UIncome[L] UIncome[M]\n", - " 0 0.0 0.0 1.0\n", - " 1 0.0 1.0 0.0\n", - " 2 0.0 1.0 0.0\n", - " 3 1.0 0.0 0.0\n", - " 4 0.0 0.0 1.0\n", - " .. ... ... ...\n", - " 395 1.0 0.0 0.0\n", - " 396 0.0 1.0 0.0\n", - " 397 0.0 1.0 0.0\n", - " 398 0.0 0.0 1.0\n", - " 399 0.0 1.0 0.0\n", - " \n", - " [400 rows x 3 columns],\n", - " ['UIncome[H]', 'UIncome[L]', 'UIncome[M]'])" - ] - }, - "execution_count": 44, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "full_encoding = contrast('UIncome', None)\n", - "design.build_columns(Carseats, full_encoding)" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "id": "4c09c93f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 5.131739\n", - "UIncome[M] 0.115150\n", - "UIncome[H] 1.156118\n", - "UIncome[H]:ShelveLoc[Good] 3.738052\n", - "UIncome[H]:ShelveLoc[Medium] 1.514104\n", - "UIncome[L]:ShelveLoc[Good] 4.512054\n", - "UIncome[L]:ShelveLoc[Medium] 1.247275\n", - "UIncome[M]:ShelveLoc[Good] 5.575170\n", - "UIncome[M]:ShelveLoc[Medium] 2.478163\n", - "dtype: float64" - ] - }, - "execution_count": 45, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([pref_encoding, (full_encoding, 'ShelveLoc')])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "markdown", - "id": "48c1989f", - "metadata": {}, - "source": [ - "## Special encodings\n", - "\n", - "For flexible models, we may want to consider transformations of features, i.e. polynomial\n", - "or spline transformations. Given transforms that follow the `fit/transform` paradigm\n", - "we can of course achieve this with a `Column` and an `encoder`. The `ISLP.transforms`\n", - "package includes a `Poly` transform" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "id": "85a28d87", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Variable(variables=('Income',), name='poly(Income, 3)', encoder=Poly(degree=3), use_transform=True, pure_columns=False, override_encoder_colnames=True)" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from ISLP.models.model_spec import poly\n", - "poly('Income', 3)" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "id": "e17c8a9d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 5.440077\n", - "poly(Income, 3)[0] 10.036373\n", - "poly(Income, 3)[1] -2.799156\n", - "poly(Income, 3)[2] 2.399601\n", - "ShelveLoc[Good] 4.808133\n", - "ShelveLoc[Medium] 1.889533\n", - "dtype: float64" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([poly('Income', 3), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "markdown", - "id": "944f56d6", - "metadata": {}, - "source": [ - "Compare:" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "1889caca", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) poly(Income, 3)1 poly(Income, 3)2 poly(Income, 3)3 \n", - " 5.440077 10.036373 -2.799156 2.399601 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.808133 1.889533 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ poly(Income, 3) + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "bd4dca31", - "metadata": {}, - "source": [ - "## Splines\n", - "\n", - "Support for natural and B-splines is also included" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "id": "70fae990", - "metadata": {}, - "outputs": [], - "source": [ - "from ISLP.models.model_spec import ns, bs, pca" - ] - }, - { - "cell_type": "markdown", - "id": "2d812694", - "metadata": {}, - "source": [ - "## Custom encoding\n", - "\n", - "Instead of PCA we might run some clustering on some features and then uses the clusters to\n", - "create new features. This can be done with `derived_variable`. Indeed, `pca`, `ns` and `bs` are all examples\n", - "of this." - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "id": "8e5d2305", - "metadata": {}, - "outputs": [], - "source": [ - "from ISLP.models.model_spec import derived_variable, Contrast" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "id": "8a40c663", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([1, 1, 2, 1, 2, 1, 0, 1, 0, 0, 0, 1, 2, 2, 0, 1, 2, 1, 0, 0, 0, 2,\n", - " 2, 2, 1, 2, 1, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, 2, 2, 2, 0, 2, 0, 2,\n", - " 0, 2, 0, 0, 2, 0, 1, 0, 2, 0, 0, 0, 0, 0, 1, 0, 1, 2, 2, 0, 1, 2,\n", - " 0, 1, 1, 2, 1, 1, 2, 0, 0, 1, 1, 0, 2, 0, 1, 0, 0, 2, 2, 0, 1, 2,\n", - " 2, 2, 2, 2, 0, 2, 0, 2, 2, 0, 1, 2, 0, 0, 2, 0, 0, 1, 2, 0, 1, 0,\n", - " 0, 1, 0, 2, 0, 2, 0, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0,\n", - " 0, 0, 2, 1, 0, 2, 1, 1, 1, 2, 0, 0, 2, 0, 2, 1, 0, 0, 0, 1, 2, 2,\n", - " 1, 0, 2, 2, 0, 2, 2, 2, 2, 0, 0, 2, 1, 0, 0, 1, 1, 1, 0, 0, 2, 0,\n", - " 1, 0, 0, 2, 1, 0, 2, 1, 2, 1, 0, 2, 2, 1, 1, 2, 2, 0, 1, 1, 2, 2,\n", - " 1, 0, 0, 0, 2, 0, 0, 2, 0, 0, 2, 2, 2, 1, 1, 0, 0, 1, 2, 2, 1, 1,\n", - " 1, 2, 0, 2, 2, 2, 2, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 2, 0, 0, 0,\n", - " 2, 2, 2, 2, 1, 0, 0, 0, 1, 0, 0, 2, 1, 0, 2, 1, 2, 1, 1, 2, 1, 2,\n", - " 2, 2, 1, 1, 0, 2, 2, 2, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 2,\n", - " 1, 2, 2, 1, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 0, 0, 1, 1, 1, 1, 2, 0,\n", - " 1, 0, 1, 1, 0, 1, 2, 2, 2, 2, 1, 1, 1, 2, 2, 1, 2, 0, 2, 1, 0, 1,\n", - " 2, 1, 1, 2, 1, 1, 2, 2, 2, 2, 2, 0, 1, 2, 0, 2, 0, 2, 1, 1, 1, 1,\n", - " 1, 1, 2, 0, 0, 0, 0, 1, 0, 2, 0, 2, 1, 2, 1, 0, 2, 1, 1, 0, 2, 2,\n", - " 2, 2, 1, 2, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 2, 0, 0, 1, 0, 1, 1,\n", - " 2, 2, 0, 2], dtype=int32)" - ] - }, - "execution_count": 51, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from sklearn.cluster import KMeans\n", - "from sklearn.pipeline import make_pipeline\n", - "from sklearn.preprocessing import StandardScaler\n", - "cluster = make_pipeline(StandardScaler(), KMeans(n_clusters=3, random_state=0))\n", - "group = Variable(('Income', 'Price', 'Advertising', 'Population'), 'group', None)\n", - "X = design.build_submodel(Carseats, [group]).drop('intercept', axis=1)\n", - "cluster.fit(X.values)\n", - "cluster.predict(X.values)" - ] - }, - { - "cell_type": "markdown", - "id": "9bc38836", - "metadata": {}, - "source": [ - "For clustering, we often want to use the `predict` method rather than the `transform` method. If the ultimate\n", - "features all use `transform` then the do not even need to use these two calls to `make_pipeline`." - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "id": "8ceab9b6", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
interceptmyclus
01.01
11.01
21.02
31.01
41.02
.........
3951.01
3961.02
3971.02
3981.00
3991.02
\n", - "

400 rows × 2 columns

\n", - "
" - ], - "text/plain": [ - " intercept myclus\n", - "0 1.0 1\n", - "1 1.0 1\n", - "2 1.0 2\n", - "3 1.0 1\n", - "4 1.0 2\n", - ".. ... ...\n", - "395 1.0 1\n", - "396 1.0 2\n", - "397 1.0 2\n", - "398 1.0 0\n", - "399 1.0 2\n", - "\n", - "[400 rows x 2 columns]" - ] - }, - "execution_count": 52, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cluster2 = make_pipeline(StandardScaler(), KMeans(n_clusters=3, random_state=0))\n", - "cluster_var = derived_variable(['Income', 'Price', 'Advertising', 'Population'], \n", - " name='myclus', \n", - " encoder=cluster2,\n", - " use_transform=False)\n", - "design = ModelSpec([cluster_var]).fit(Carseats)\n", - "design.transform(Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "1f9b2630", - "metadata": {}, - "source": [ - "Somewhat clunkily, we can make this a categorical variable by creating a `Variable` with a\n", - "categorical encoder." - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "id": "ffde00a5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Variable(variables=(Variable(variables=('Income', 'Price', 'Advertising', 'Population'), name='myclus', encoder=Pipeline(steps=[('standardscaler', StandardScaler()),\n", - " ('kmeans', KMeans(n_clusters=3, random_state=0))]), use_transform=False, pure_columns=False, override_encoder_colnames=True),), name='mynewcat', encoder=Contrast(), use_transform=True, pure_columns=False, override_encoder_colnames=False)" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cluster2 = make_pipeline(StandardScaler(), KMeans(n_clusters=3, random_state=0))\n", - "cluster_var = derived_variable(['Income', 'Price', 'Advertising', 'Population'], \n", - " name='myclus', \n", - " encoder=cluster2,\n", - " use_transform=False)\n", - "cat_cluster = Variable((cluster_var,), name='mynewcat', encoder=Contrast(method='drop'))\n", - "cat_cluster" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "id": "5afeab7c", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
intercept12
01.01.00.0
11.01.00.0
21.00.01.0
31.01.00.0
41.00.01.0
............
3951.01.00.0
3961.00.01.0
3971.00.01.0
3981.00.00.0
3991.00.01.0
\n", - "

400 rows × 3 columns

\n", - "
" - ], - "text/plain": [ - " intercept 1 2\n", - "0 1.0 1.0 0.0\n", - "1 1.0 1.0 0.0\n", - "2 1.0 0.0 1.0\n", - "3 1.0 1.0 0.0\n", - "4 1.0 0.0 1.0\n", - ".. ... ... ...\n", - "395 1.0 1.0 0.0\n", - "396 1.0 0.0 1.0\n", - "397 1.0 0.0 1.0\n", - "398 1.0 0.0 0.0\n", - "399 1.0 0.0 1.0\n", - "\n", - "[400 rows x 3 columns]" - ] - }, - "execution_count": 54, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([cat_cluster]).fit(Carseats)\n", - "\n", - "design.transform(Carseats)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e24d5637-80fb-49bf-ac10-8ff68cb8bd8f", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "jupytext": { - "formats": "source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb" - }, - "kernelspec": { - "display_name": "python3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.13" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/jupyterbook/models/derived.md b/docs/jupyterbook/models/derived.md deleted file mode 100644 index 9710500..0000000 --- a/docs/jupyterbook/models/derived.md +++ /dev/null @@ -1,487 +0,0 @@ ---- -jupytext: - formats: source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb - text_representation: - extension: .md - format_name: myst - format_version: 0.13 - jupytext_version: 1.14.5 -kernelspec: - display_name: python3 - language: python - name: python3 ---- - -# Building design matrices with `ModelSpec` - -Force rebuild - -```{code-cell} ipython3 -x=4 -import numpy as np, pandas as pd -%load_ext rpy2.ipython - -from ISLP import load_data -from ISLP.models import ModelSpec - -import statsmodels.api as sm -``` - -```{code-cell} ipython3 -Carseats = load_data('Carseats') -%R -i Carseats -Carseats.columns -``` - -## Let's break up income into groups - -```{code-cell} ipython3 -Carseats['OIncome'] = pd.cut(Carseats['Income'], - [0,50,90,200], - labels=['L','M','H']) -Carseats['OIncome'] -``` - -Let's also create an unordered version - -```{code-cell} ipython3 -Carseats['UIncome'] = pd.cut(Carseats['Income'], - [0,50,90,200], - labels=['L','M','H'], - ordered=False) -Carseats['UIncome'] -``` - -## A simple model - -```{code-cell} ipython3 -design = ModelSpec(['Price', 'Income']) -X = design.fit_transform(Carseats) -X.columns -``` - -```{code-cell} ipython3 -Y = Carseats['Sales'] -M = sm.OLS(Y, X).fit() -M.params -``` - -## Basic procedure - -The design matrix is built by cobbling together a set of columns and possibly transforming them. -A `pd.DataFrame` is essentially a list of columns. One of the first tasks done in `ModelSpec.fit` -is to inspect a dataframe for column info. The column `ShelveLoc` is categorical: - -```{code-cell} ipython3 -Carseats['ShelveLoc'] -``` - -This is recognized by `ModelSpec` in the form of `Column` objects which are just named tuples with two methods -`get_columns` and `fit_encoder`. - -```{code-cell} ipython3 -design.column_info_['ShelveLoc'] -``` - -It recognized ordinal columns as well. - -```{code-cell} ipython3 -design.column_info_['OIncome'] -``` - -```{code-cell} ipython3 -income = design.column_info_['Income'] -cols, names = income.get_columns(Carseats) -(cols[:4], names) -``` - -## Encoding a column - -In building a design matrix we must extract columns from our dataframe (or `np.ndarray`). Categorical -variables usually are encoded by several columns, typically one less than the number of categories. -This task is handled by the `encoder` of the `Column`. The encoder must satisfy the `sklearn` transform -model, i.e. `fit` on some array and `transform` on future arrays. The `fit_encoder` method of `Column` fits -its encoder the first time data is passed to it. - -```{code-cell} ipython3 -shelve = design.column_info_['ShelveLoc'] -cols, names = shelve.get_columns(Carseats) -(cols[:4], names) -``` - -```{code-cell} ipython3 -oincome = design.column_info_['OIncome'] -oincome.get_columns(Carseats)[0][:4] -``` - -## The terms - -The design matrix consists of several sets of columns. This is managed by the `ModelSpec` through -the `terms` argument which should be a sequence. The elements of `terms` are often -going to be strings (or tuples of strings for interactions, see below) but are converted to a -`Variable` object and stored in the `terms_` of the fitted `ModelSpec`. A `Variable` is just a named tuple. - -```{code-cell} ipython3 -design.terms -``` - -```{code-cell} ipython3 -design.terms_ -``` - -While each `Column` can itself extract data, they are all promoted to `Variable` to be of a uniform type. A -`Variable` can also create columns through the `build_columns` method of `ModelSpec` - -```{code-cell} ipython3 -price = design.terms_[0] -design.build_columns(Carseats, price) -``` - -Note that `Variable` objects have a tuple of `variables` as well as an `encoder` attribute. The -tuple of `variables` first creates a concatenated dataframe from all corresponding variables and then -is run through `encoder.transform`. The `encoder.fit` method of each `Variable` is run once during -the call to `ModelSpec.fit`. - -```{code-cell} ipython3 -from ISLP.models.model_spec import Variable - -new_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=None) -design.build_columns(Carseats, new_var) -``` - -Let's now transform these columns with an encoder. Within `ModelSpec` we will first build the -arrays above and then call `pca.fit` and finally `pca.transform` within `design.build_columns`. - -```{code-cell} ipython3 -from sklearn.decomposition import PCA -pca = PCA(n_components=2) -pca.fit(design.build_columns(Carseats, new_var)[0]) # this is done within `ModelSpec.fit` -pca_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=pca) -design.build_columns(Carseats, pca_var) -``` - -The elements of the `variables` attribute may be column identifiers ( `"Price"`), `Column` instances (`price`) -or `Variable` instances (`pca_var`). - -```{code-cell} ipython3 -fancy_var = Variable(('Price', price, pca_var), name='fancy', encoder=None) -design.build_columns(Carseats, fancy_var) -``` - -We can of course run PCA again on these features (if we wanted). - -```{code-cell} ipython3 -pca2 = PCA(n_components=2) -pca2.fit(design.build_columns(Carseats, fancy_var)[0]) # this is done within `ModelSpec.fit` -pca2_var = Variable(('Price', price, pca_var), name='fancy_pca', encoder=pca2) -design.build_columns(Carseats, pca2_var) -``` - -## Building the design matrix - -With these notions in mind, the final design is essentially then - -```{code-cell} ipython3 -X_hand = np.column_stack([design.build_columns(Carseats, v)[0] for v in design.terms_])[:4] -``` - -An intercept column is added if `design.intercept` is `True` and if the original argument to `transform` is -a dataframe the index is adjusted accordingly. - -```{code-cell} ipython3 -design.intercept -``` - -```{code-cell} ipython3 -design.transform(Carseats)[:4] -``` - -## Predicting - -Constructing the design matrix at any values is carried out by the `transform` method. - -```{code-cell} ipython3 -new_data = pd.DataFrame({'Price':[10,20], 'Income':[40, 50]}) -new_X = design.transform(new_data) -M.get_prediction(new_X).predicted_mean -``` - -```{code-cell} ipython3 -%%R -i new_data,Carseats -predict(lm(Sales ~ Price + Income, data=Carseats), new_data) -``` - -### Difference between using `pd.DataFrame` and `np.ndarray` - -If the `terms` only refer to a few columns of the data frame, the `transform` method only needs a dataframe with those columns. - -If we had used an `np.ndarray`, the column identifiers would be integers identifying specific columns so, -in order to work correctly, `transform` would need another `np.ndarray` where the columns have the same meaning. - -```{code-cell} ipython3 -Carseats_np = np.asarray(Carseats[['Price', 'ShelveLoc', 'US', 'Income']]) -design_np = ModelSpec([0,3]).fit(Carseats_np) -design_np.transform(Carseats_np)[:4] -``` - -The following will fail for hopefully obvious reasons - -```{code-cell} ipython3 -try: - new_D = np.zeros((2,2)) - new_D[:,0] = [10,20] - new_D[:,1] = [40,50] - M.get_prediction(new_D).predicted_mean -except ValueError as e: - print(e) -``` - -Ultimately, `M` expects 3 columns for new predictions because it was fit -with a matrix having 3 columns (the first representing an intercept). - -We might be tempted to try as with the `pd.DataFrame` and produce -an `np.ndarray` with only the necessary variables. - -```{code-cell} ipython3 -try: - new_X = np.zeros((2,2)) - new_X[:,0] = [10,20] - new_X[:,1] = [40,50] - new_D = design_np.transform(new_X) - M.get_prediction(new_D).predicted_mean -except IndexError as e: - print(e) -``` - -This fails because `design_np` is looking for column `3` from its `terms`: - -```{code-cell} ipython3 -design_np.terms_ -``` - -However, if we have an `np.ndarray` in which the first column indeed represents `Price` and the fourth indeed -represents `Income` then we can arrive at the correct answer by supplying such the array to `design_np.transform`: - -```{code-cell} ipython3 -new_X = np.zeros((2,4)) -new_X[:,0] = [10,20] -new_X[:,3] = [40,50] -new_D = design_np.transform(new_X) -M.get_prediction(new_D).predicted_mean -``` - -Given this subtlety about needing to supply arrays with identical column structure to `transform` when -using `np.ndarray` we presume that using a `pd.DataFrame` will be the more popular use case. - -+++ - -## A model with some categorical variables - -Categorical variables become `Column` instances with encoders. - -```{code-cell} ipython3 -design = ModelSpec(['Population', 'Price', 'UIncome', 'ShelveLoc']).fit(Carseats) -design.column_info_['UIncome'] -``` - -```{code-cell} ipython3 -X = design.fit_transform(Carseats) -X.columns -``` - -```{code-cell} ipython3 -sm.OLS(Y, X).fit().params -``` - -```{code-cell} ipython3 -%%R -lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef -``` - -## Getting the encoding you want - -By default the level dropped by `ModelSpec` will be the first of the `categories_` values from -`sklearn.preprocessing.OneHotEncoder()`. We might wish to change this. It seems -as if the correct way to do this would be something like `Variable(('UIncome',), 'mynewencoding', new_encoder)` -where `new_encoder` would somehow drop the column we want dropped. - -However, when using the convenient identifier `UIncome` in the `variables` argument, this maps to the `Column` associated to `UIncome` within `design.column_info_`: - -```{code-cell} ipython3 -design.column_info_['UIncome'] -``` - -This column already has an encoder and `Column` instances are immutable as named tuples. Further, there are times when -we may want to encode `UIncome` differently within the same model. In the model below the main effect of `UIncome` is encoded with two columns while in the interaction `UIncome` (see below) has three columns. This is a design of interest -and we need a way to allow different encodings of the same column of `Carseats` - -```{code-cell} ipython3 -%%R -lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats) -``` - - We can create a new -`Column` with the encoder we want. For categorical variables, there is a convenience function to do so. - -```{code-cell} ipython3 -from ISLP.models.model_spec import contrast -pref_encoding = contrast('UIncome', 'drop', 'L') -``` - -```{code-cell} ipython3 -design.build_columns(Carseats, pref_encoding) -``` - -```{code-cell} ipython3 -design = ModelSpec(['Population', 'Price', pref_encoding, 'ShelveLoc']).fit(Carseats) -X = design.fit_transform(Carseats) -X.columns -``` - -```{code-cell} ipython3 -sm.OLS(Y, X).fit().params -``` - -```{code-cell} ipython3 -%%R -lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef -``` - -## Interactions - -We've referred to interactions above. These are specified (by convenience) as tuples in the `terms` argument -to `ModelSpec`. - -```{code-cell} ipython3 -design = ModelSpec([('UIncome', 'ShelveLoc'), 'UIncome']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` - -The tuples in `terms` are converted to `Variable` in the formalized `terms_` attribute by creating a `Variable` with -`variables` set to the tuple and the encoder an `Interaction` encoder which (unsurprisingly) creates the interaction columns from the concatenated data frames of `UIncome` and `ShelveLoc`. - -```{code-cell} ipython3 -design.terms_[0] -``` - -Comparing this to the previous `R` model. - -```{code-cell} ipython3 -%%R -lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats) -``` - -We note a few important things: - -1. `R` has reorganized the columns of the design from the formula: although we wrote `UIncome:ShelveLoc` first these -columns have been built later. **`ModelSpec` builds columns in the order determined by `terms`!** - -2. As noted above, `R` has encoded `UIncome` differently in the main effect and in the interaction. For `ModelSpec`, the reference to `UIncome` always refers to the column in `design.column_info_` and will always build only the columns for `L` and `M`. **`ModelSpec` does no inspection of terms to decide how to encode categorical variables.** - -A few notes: - -- **Why not try to inspect the terms?** For any nontrivial formula in `R` with several categorical variables and interactions, predicting what columns will be produced from a given formula is not simple. **`ModelSpec` errs on the side of being explicit.** - -- **Is it impossible to build the design as `R` has?** No. An advanced user who *knows* they want the columns built as `R` has can do so (fairly) easily. - -```{code-cell} ipython3 -full_encoding = contrast('UIncome', None) -design.build_columns(Carseats, full_encoding) -``` - -```{code-cell} ipython3 -design = ModelSpec([pref_encoding, (full_encoding, 'ShelveLoc')]) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` - -## Special encodings - -For flexible models, we may want to consider transformations of features, i.e. polynomial -or spline transformations. Given transforms that follow the `fit/transform` paradigm -we can of course achieve this with a `Column` and an `encoder`. The `ISLP.transforms` -package includes a `Poly` transform - -```{code-cell} ipython3 -from ISLP.models.model_spec import poly -poly('Income', 3) -``` - -```{code-cell} ipython3 -design = ModelSpec([poly('Income', 3), 'ShelveLoc']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` - -Compare: - -```{code-cell} ipython3 -%%R -lm(Sales ~ poly(Income, 3) + ShelveLoc, data=Carseats)$coef -``` - -## Splines - -Support for natural and B-splines is also included - -```{code-cell} ipython3 -from ISLP.models.model_spec import ns, bs, pca -``` - -## Custom encoding - -Instead of PCA we might run some clustering on some features and then uses the clusters to -create new features. This can be done with `derived_variable`. Indeed, `pca`, `ns` and `bs` are all examples -of this. - -```{code-cell} ipython3 -from ISLP.models.model_spec import derived_variable, Contrast -``` - -```{code-cell} ipython3 -from sklearn.cluster import KMeans -from sklearn.pipeline import make_pipeline -from sklearn.preprocessing import StandardScaler -cluster = make_pipeline(StandardScaler(), KMeans(n_clusters=3, random_state=0)) -group = Variable(('Income', 'Price', 'Advertising', 'Population'), 'group', None) -X = design.build_submodel(Carseats, [group]).drop('intercept', axis=1) -cluster.fit(X.values) -cluster.predict(X.values) -``` - -For clustering, we often want to use the `predict` method rather than the `transform` method. If the ultimate -features all use `transform` then the do not even need to use these two calls to `make_pipeline`. - -```{code-cell} ipython3 -cluster2 = make_pipeline(StandardScaler(), KMeans(n_clusters=3, random_state=0)) -cluster_var = derived_variable(['Income', 'Price', 'Advertising', 'Population'], - name='myclus', - encoder=cluster2, - use_transform=False) -design = ModelSpec([cluster_var]).fit(Carseats) -design.transform(Carseats) -``` - -Somewhat clunkily, we can make this a categorical variable by creating a `Variable` with a -categorical encoder. - -```{code-cell} ipython3 -cluster2 = make_pipeline(StandardScaler(), KMeans(n_clusters=3, random_state=0)) -cluster_var = derived_variable(['Income', 'Price', 'Advertising', 'Population'], - name='myclus', - encoder=cluster2, - use_transform=False) -cat_cluster = Variable((cluster_var,), name='mynewcat', encoder=Contrast(method='drop')) -cat_cluster -``` - -```{code-cell} ipython3 -design = ModelSpec([cat_cluster]).fit(Carseats) - -design.transform(Carseats) -``` - -```{code-cell} ipython3 - -``` diff --git a/docs/jupyterbook/models/selection.ipynb b/docs/jupyterbook/models/selection.ipynb index 3a7d002..0f597af 100644 --- a/docs/jupyterbook/models/selection.ipynb +++ b/docs/jupyterbook/models/selection.ipynb @@ -2,2723 +2,259 @@ "cells": [ { "cell_type": "markdown", - "id": "72bae06a", + "id": "247387ec-1477-42e6-9e69-cad1cacb5721", "metadata": {}, "source": [ - "# Model selection using `ModelSpec`" + "# Model selection using `ModelSpec`\n", + "\n", + "\n", + "In this lab we illustrate how to run forward stepwise model selection\n", + "using the model specification capability of `ModelSpec`." ] }, { "cell_type": "code", "execution_count": 1, - "id": "ae6bd850", + "id": "4720bb2a-6bec-4e91-a57e-9689aa4f0532", "metadata": {}, "outputs": [], "source": [ - "import numpy as np, pandas as pd\n", - "%load_ext rpy2.ipython\n", - "\n", + "import numpy as np\n", + "import pandas as pd\n", + "from statsmodels.api import OLS\n", "from ISLP import load_data\n", - "from ISLP.models import ModelSpec\n", - "\n", - "import statsmodels.api as sm" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "5ac10e72", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['Sales', 'CompPrice', 'Income', 'Advertising', 'Population', 'Price',\n", - " 'ShelveLoc', 'Age', 'Education', 'Urban', 'US'],\n", - " dtype='object')" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats = load_data('Carseats')\n", - "%R -i Carseats\n", - "Carseats.columns" - ] - }, - { - "cell_type": "markdown", - "id": "80a586d9", - "metadata": {}, - "source": [ - "## Let's break up income into groups" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "850356ba", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 M\n", - "1 L\n", - "2 L\n", - "3 H\n", - "4 M\n", - " ..\n", - "395 H\n", - "396 L\n", - "397 L\n", - "398 M\n", - "399 L\n", - "Name: OIncome, Length: 400, dtype: category\n", - "Categories (3, object): ['L' < 'M' < 'H']" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats['OIncome'] = pd.cut(Carseats['Income'], \n", - " [0,50,90,200], \n", - " labels=['L','M','H'])\n", - "Carseats['OIncome']" - ] - }, - { - "cell_type": "markdown", - "id": "e24def3a", - "metadata": {}, - "source": [ - "Let's also create an unordered version" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "edf83080", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 M\n", - "1 L\n", - "2 L\n", - "3 H\n", - "4 M\n", - " ..\n", - "395 H\n", - "396 L\n", - "397 L\n", - "398 M\n", - "399 L\n", - "Name: UIncome, Length: 400, dtype: category\n", - "Categories (3, object): ['L', 'M', 'H']" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats['UIncome'] = pd.cut(Carseats['Income'], \n", - " [0,50,90,200], \n", - " labels=['L','M','H'],\n", - " ordered=False)\n", - "Carseats['UIncome']" - ] - }, - { - "cell_type": "markdown", - "id": "aa22bb9c", - "metadata": {}, - "source": [ - "## A simple model" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "38d92522", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Price', 'Income'], dtype='object')" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Price', 'Income'])\n", - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "cfc2056f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 12.661546\n", - "Price -0.052213\n", - "Income 0.012829\n", - "dtype: float64" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Y = Carseats['Sales']\n", - "M = sm.OLS(Y, X).fit()\n", - "M.params" - ] - }, - { - "cell_type": "markdown", - "id": "4674c345", - "metadata": {}, - "source": [ - "## Basic procedure\n", - "\n", - "The design matrix is built by cobbling together a set of columns and possibly transforming them.\n", - "A `pd.DataFrame` is essentially a list of columns. One of the first tasks done in `ModelSpec.fit`\n", - "is to inspect a dataframe for column info. The column `ShelveLoc` is categorical:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "5688f0ad", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 Bad\n", - "1 Good\n", - "2 Medium\n", - "3 Medium\n", - "4 Bad\n", - " ... \n", - "395 Good\n", - "396 Medium\n", - "397 Medium\n", - "398 Bad\n", - "399 Good\n", - "Name: ShelveLoc, Length: 400, dtype: category\n", - "Categories (3, object): ['Bad', 'Good', 'Medium']" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats['ShelveLoc']" + "from ISLP.models import (ModelSpec,\n", + " Stepwise,\n", + " sklearn_selected)" ] }, { "cell_type": "markdown", - "id": "4ae28ffa", + "id": "1c224240-ce8b-47f3-a85a-052c43038b26", "metadata": {}, "source": [ - "This is recognized by `ModelSpec` in the form of `Column` objects which are just named tuples with two methods\n", - "`get_columns` and `fit_encoder`." + "### Forward Selection\n", + " \n", + "We will apply the forward-selection approach to the `Hitters` \n", + "data. We wish to predict a baseball player’s `Salary` on the\n", + "basis of various statistics associated with performance in the\n", + "previous year." ] }, { "cell_type": "code", - "execution_count": 8, - "id": "5f8926fd", + "execution_count": 2, + "id": "2adc66cc", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Column(idx='ShelveLoc', name='ShelveLoc', is_categorical=True, is_ordinal=False, columns=('ShelveLoc[Good]', 'ShelveLoc[Medium]'), encoder=Contrast())" + "59" ] }, - "execution_count": 8, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "design.column_info_['ShelveLoc']" + "Hitters = load_data('Hitters')\n", + "np.isnan(Hitters['Salary']).sum()" ] }, { "cell_type": "markdown", - "id": "966f53a5", - "metadata": {}, - "source": [ - "It recognized ordinal columns as well." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "a137fa1e", + "id": "40c9a484", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='OIncome', name='OIncome', is_categorical=True, is_ordinal=True, columns=('OIncome',), encoder=OrdinalEncoder())" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "design.column_info_['OIncome']" + " \n", + " We see that `Salary` is missing for 59 players. The\n", + "`dropna()` method of data frames removes all of the rows that have missing\n", + "values in any variable (by default --- see `Hitters.dropna?`)." ] }, { "cell_type": "code", - "execution_count": 10, - "id": "3390dcb0", + "execution_count": 3, + "id": "1869fdab", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(array([ 73, 48, 35, 100]), ('Income',))" + "(263, 20)" ] }, - "execution_count": 10, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "income = design.column_info_['Income']\n", - "cols, names = income.get_columns(Carseats)\n", - "(cols[:4], names)" + "Hitters = Hitters.dropna()\n", + "Hitters.shape" ] }, { "cell_type": "markdown", - "id": "b6667415", - "metadata": {}, - "source": [ - "## Encoding a column\n", - "\n", - "In building a design matrix we must extract columns from our dataframe (or `np.ndarray`). Categorical\n", - "variables usually are encoded by several columns, typically one less than the number of categories.\n", - "This task is handled by the `encoder` of the `Column`. The encoder must satisfy the `sklearn` transform\n", - "model, i.e. `fit` on some array and `transform` on future arrays. The `fit_encoder` method of `Column` fits\n", - "its encoder the first time data is passed to it." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "a1b42dbd", + "id": "0a1fe9e6", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([[0., 0.],\n", - " [1., 0.],\n", - " [0., 1.],\n", - " [0., 1.]]),\n", - " ['ShelveLoc[Good]', 'ShelveLoc[Medium]'])" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "shelve = design.column_info_['ShelveLoc']\n", - "cols, names = shelve.get_columns(Carseats)\n", - "(cols[:4], names)" + "We first choose the best model using forward selection based on AIC. This score\n", + "is not built in as a metric to `sklearn`. We therefore define a function to compute it ourselves, and use\n", + "it as a scorer. By default, `sklearn` tries to maximize a score, hence\n", + " our scoring function computes the negative AIC statistic." ] }, { "cell_type": "code", - "execution_count": 12, - "id": "31367988", + "execution_count": 4, + "id": "76bd8110", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[2.],\n", - " [1.],\n", - " [1.],\n", - " [0.]])" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "oincome = design.column_info_['OIncome']\n", - "oincome.get_columns(Carseats)[0][:4]" + "def negAIC(estimator, X, Y):\n", + " \"Negative AIC\"\n", + " n, p = X.shape\n", + " Yhat = estimator.predict(X)\n", + " MSE = np.mean((Y - Yhat)**2)\n", + " return n + n * np.log(MSE) + 2 * (p + 1)\n", + " " ] }, { "cell_type": "markdown", - "id": "751c1487", - "metadata": {}, - "source": [ - "## The terms\n", - "\n", - "The design matrix consists of several sets of columns. This is managed by the `ModelSpec` through\n", - "the `terms` argument which should be a sequence. The elements of `terms` are often\n", - "going to be strings (or tuples of strings for interactions, see below) but are converted to a\n", - "`Variable` object and stored in the `terms_` of the fitted `ModelSpec`. A `Variable` is just a named tuple." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "6e2b6155", + "id": "14ba6f49", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['Price', 'Income']" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "design.terms" + "We need to estimate the residual variance $\\sigma^2$, which is the first argument in our scoring function above.\n", + "We will fit the biggest model, using all the variables, and estimate $\\sigma^2$ based on its MSE." ] }, { "cell_type": "code", - "execution_count": 14, - "id": "d3e669da", + "execution_count": 5, + "id": "94e10f35", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Variable(variables=('Price',), name='Price', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False),\n", - " Variable(variables=('Income',), name='Income', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False)]" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "design.terms_" + "design = ModelSpec(Hitters.columns.drop('Salary')).fit(Hitters)\n", + "Y = np.array(Hitters['Salary'])\n", + "X = design.transform(Hitters)" ] }, { "cell_type": "markdown", - "id": "fb0a45c9", + "id": "afdda5f2", "metadata": {}, "source": [ - "While each `Column` can itself extract data, they are all promoted to `Variable` to be of a uniform type. A\n", - "`Variable` can also create columns through the `build_columns` method of `ModelSpec`" + "Along with a score we need to specify the search strategy. This is done through the object\n", + "`Stepwise()` in the `ISLP.models` package. The method `Stepwise.first_peak()`\n", + "runs forward stepwise until any further additions to the model do not result\n", + "in an improvement in the evaluation score. Similarly, the method `Stepwise.fixed_steps()`\n", + "runs a fixed number of steps of stepwise search." ] }, { "cell_type": "code", - "execution_count": 15, - "id": "554c67cb", + "execution_count": 6, + "id": "048c8500", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( Price\n", - " 0 120\n", - " 1 83\n", - " 2 80\n", - " 3 97\n", - " 4 128\n", - " .. ...\n", - " 395 128\n", - " 396 120\n", - " 397 159\n", - " 398 95\n", - " 399 120\n", - " \n", - " [400 rows x 1 columns],\n", - " ['Price'])" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "price = design.terms_[0]\n", - "design.build_columns(Carseats, price)" + "strategy = Stepwise.first_peak(design,\n", + " direction='forward',\n", + " max_terms=len(design.terms))" ] }, { "cell_type": "markdown", - "id": "06956a6f", + "id": "e0c0af0e", "metadata": {}, "source": [ - "Note that `Variable` objects have a tuple of `variables` as well as an `encoder` attribute. The\n", - "tuple of `variables` first creates a concatenated dataframe from all corresponding variables and then\n", - "is run through `encoder.transform`. The `encoder.fit` method of each `Variable` is run once during \n", - "the call to `ModelSpec.fit`." + " \n", + "We now fit a linear regression model with `Salary` as outcome using forward\n", + "selection. To do so, we use the function `sklearn_selected()` from the `ISLP.models` package. This takes\n", + "a model from `statsmodels` along with a search strategy and selects a model with its\n", + "`fit` method. Without specifying a `scoring` argument, the score defaults to MSE, and so all 19 variables will be\n", + "selected." ] }, { "cell_type": "code", - "execution_count": 16, - "id": "dd434884", + "execution_count": 7, + "id": "26f09fe9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "( Price Income UIncome[L] UIncome[M]\n", - " 0 120.0 73.0 0.0 1.0\n", - " 1 83.0 48.0 1.0 0.0\n", - " 2 80.0 35.0 1.0 0.0\n", - " 3 97.0 100.0 0.0 0.0\n", - " 4 128.0 64.0 0.0 1.0\n", - " .. ... ... ... ...\n", - " 395 128.0 108.0 0.0 0.0\n", - " 396 120.0 23.0 1.0 0.0\n", - " 397 159.0 26.0 1.0 0.0\n", - " 398 95.0 79.0 0.0 1.0\n", - " 399 120.0 37.0 1.0 0.0\n", - " \n", - " [400 rows x 4 columns],\n", - " ['Price', 'Income', 'UIncome[L]', 'UIncome[M]'])" + "('Assists',\n", + " 'AtBat',\n", + " 'CAtBat',\n", + " 'CHits',\n", + " 'CHmRun',\n", + " 'CRBI',\n", + " 'CRuns',\n", + " 'CWalks',\n", + " 'Division',\n", + " 'Errors',\n", + " 'Hits',\n", + " 'HmRun',\n", + " 'League',\n", + " 'NewLeague',\n", + " 'PutOuts',\n", + " 'RBI',\n", + " 'Runs',\n", + " 'Walks',\n", + " 'Years')" ] }, - "execution_count": 16, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "from ISLP.models.model_spec import Variable\n", - "\n", - "new_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=None)\n", - "design.build_columns(Carseats, new_var)" + "hitters_MSE = sklearn_selected(OLS,\n", + " strategy)\n", + "hitters_MSE.fit(Hitters, Y)\n", + "hitters_MSE.selected_state_" ] }, { "cell_type": "markdown", - "id": "5cdb088c", + "id": "4acf4792", "metadata": {}, "source": [ - "Let's now transform these columns with an encoder. Within `ModelSpec` we will first build the\n", - "arrays above and then call `pca.fit` and finally `pca.transform` within `design.build_columns`." + " Using `neg_Cp` results in a smaller model, as expected, with just 4variables selected." ] }, { "cell_type": "code", - "execution_count": 17, - "id": "519a642e", + "execution_count": 8, + "id": "a825f4d8", "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, { "data": { "text/plain": [ - "( mynewvar[0] mynewvar[1]\n", - " 0 -3.608693 -4.853177\n", - " 1 15.081506 35.708630\n", - " 2 27.422871 40.774250\n", - " 3 -33.973209 13.470489\n", - " 4 6.567316 -11.290100\n", - " .. ... ...\n", - " 395 -36.846346 -18.415783\n", - " 396 45.741500 3.245602\n", - " 397 49.097533 -35.725355\n", - " 398 -13.577772 18.845139\n", - " 399 31.927566 0.978436\n", - " \n", - " [400 rows x 2 columns],\n", - " ['mynewvar[0]', 'mynewvar[1]'])" + "('Assists', 'Errors', 'League', 'NewLeague')" ] }, - "execution_count": 17, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "from sklearn.decomposition import PCA\n", - "pca = PCA(n_components=2)\n", - "pca.fit(design.build_columns(Carseats, new_var)[0]) # this is done within `ModelSpec.fit`\n", - "pca_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=pca)\n", - "design.build_columns(Carseats, pca_var)" - ] - }, - { - "cell_type": "markdown", - "id": "403921a2", - "metadata": {}, - "source": [ - "The elements of the `variables` attribute may be column identifiers ( `\"Price\"`), `Column` instances (`price`)\n", - "or `Variable` instances (`pca_var`)." + "hitters_Cp = sklearn_selected(OLS,\n", + " strategy,\n", + " scoring=negAIC)\n", + "hitters_Cp.fit(Hitters, Y)\n", + "hitters_Cp.selected_state_" ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "b422cde1", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "( Price Price mynewvar[0] mynewvar[1]\n", - " 0 120.0 120.0 -3.608693 -4.853177\n", - " 1 83.0 83.0 15.081506 35.708630\n", - " 2 80.0 80.0 27.422871 40.774250\n", - " 3 97.0 97.0 -33.973209 13.470489\n", - " 4 128.0 128.0 6.567316 -11.290100\n", - " .. ... ... ... ...\n", - " 395 128.0 128.0 -36.846346 -18.415783\n", - " 396 120.0 120.0 45.741500 3.245602\n", - " 397 159.0 159.0 49.097533 -35.725355\n", - " 398 95.0 95.0 -13.577772 18.845139\n", - " 399 120.0 120.0 31.927566 0.978436\n", - " \n", - " [400 rows x 4 columns],\n", - " ['Price', 'Price', 'mynewvar[0]', 'mynewvar[1]'])" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "fancy_var = Variable(('Price', price, pca_var), name='fancy', encoder=None)\n", - "design.build_columns(Carseats, fancy_var)" - ] - }, - { - "cell_type": "markdown", - "id": "53e38f57", - "metadata": {}, - "source": [ - "We can of course run PCA again on these features (if we wanted)." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "6347acb6", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "( fancy_pca[0] fancy_pca[1]\n", - " 0 -6.951792 4.859283\n", - " 1 55.170148 -24.694875\n", - " 2 59.418556 -38.033572\n", - " 3 34.722389 28.922184\n", - " 4 -21.419184 -3.120673\n", - " .. ... ...\n", - " 395 -18.257348 40.760122\n", - " 396 -10.546709 -45.021658\n", - " 397 -77.706359 -37.174379\n", - " 398 36.668694 7.730851\n", - " 399 -9.540535 -31.059122\n", - " \n", - " [400 rows x 2 columns],\n", - " ['fancy_pca[0]', 'fancy_pca[1]'])" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pca2 = PCA(n_components=2)\n", - "pca2.fit(design.build_columns(Carseats, fancy_var)[0]) # this is done within `ModelSpec.fit`\n", - "pca2_var = Variable(('Price', price, pca_var), name='fancy_pca', encoder=pca2)\n", - "design.build_columns(Carseats, pca2_var)" - ] - }, - { - "cell_type": "markdown", - "id": "08b5ddb0", - "metadata": {}, - "source": [ - "## Building the design matrix\n", - "\n", - "With these notions in mind, the final design is essentially then" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "a8eb3e33", - "metadata": {}, - "outputs": [], - "source": [ - "X_hand = np.column_stack([design.build_columns(Carseats, v)[0] for v in design.terms_])[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "97912337", - "metadata": {}, - "source": [ - "An intercept column is added if `design.intercept` is `True` and if the original argument to `transform` is\n", - "a dataframe the index is adjusted accordingly." - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "72b5e629", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.intercept" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "8a457e3e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
interceptPriceIncome
01.012073
11.08348
21.08035
31.097100
\n", - "
" - ], - "text/plain": [ - " intercept Price Income\n", - "0 1.0 120 73\n", - "1 1.0 83 48\n", - "2 1.0 80 35\n", - "3 1.0 97 100" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.transform(Carseats)[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "8624ab8c", - "metadata": {}, - "source": [ - "## Predicting\n", - "\n", - "Constructing the design matrix at any values is carried out by the `transform` method." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "6052765e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([12.65257604, 12.25873428])" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "new_data = pd.DataFrame({'Price':[10,20], 'Income':[40, 50]})\n", - "new_X = design.transform(new_data)\n", - "M.get_prediction(new_X).predicted_mean" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "9158de59", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 0 1 \n", - "12.65258 12.25873 \n" - ] - } - ], - "source": [ - "%%R -i new_data,Carseats\n", - "predict(lm(Sales ~ Price + Income, data=Carseats), new_data)" - ] - }, - { - "cell_type": "markdown", - "id": "9608bed3", - "metadata": {}, - "source": [ - "### Difference between using `pd.DataFrame` and `np.ndarray`\n", - "\n", - "If the `terms` only refer to a few columns of the data frame, the `transform` method only needs a dataframe with those columns.\n", - "\n", - "If we had used an `np.ndarray`, the column identifiers would be integers identifying specific columns so,\n", - "in order to work correctly, `transform` would need another `np.ndarray` where the columns have the same meaning." - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "f0b8120f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[1.0, 120, 73],\n", - " [1.0, 83, 48],\n", - " [1.0, 80, 35],\n", - " [1.0, 97, 100]], dtype=object)" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats_np = np.asarray(Carseats[['Price', 'ShelveLoc', 'US', 'Income']])\n", - "design_np = ModelSpec([0,3]).fit(Carseats_np)\n", - "design_np.transform(Carseats_np)[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "270a02a6", - "metadata": {}, - "source": [ - "The following will fail for hopefully obvious reasons" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "4ffbce7e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "shapes (2,2) and (3,) not aligned: 2 (dim 1) != 3 (dim 0)\n" - ] - } - ], - "source": [ - "try:\n", - " new_D = np.zeros((2,2))\n", - " new_D[:,0] = [10,20]\n", - " new_D[:,1] = [40,50]\n", - " M.get_prediction(new_D).predicted_mean\n", - "except ValueError as e:\n", - " print(e)" - ] - }, - { - "cell_type": "markdown", - "id": "bc5ff62b", - "metadata": {}, - "source": [ - "Ultimately, `M` expects 3 columns for new predictions because it was fit\n", - "with a matrix having 3 columns (the first representing an intercept).\n", - "\n", - "We might be tempted to try as with the `pd.DataFrame` and produce\n", - "an `np.ndarray` with only the necessary variables." - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "34dae1e9", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "index 3 is out of bounds for axis 1 with size 2\n" - ] - } - ], - "source": [ - "try:\n", - " new_X = np.zeros((2,2))\n", - " new_X[:,0] = [10,20]\n", - " new_X[:,1] = [40,50]\n", - " new_D = design_np.transform(new_X)\n", - " M.get_prediction(new_D).predicted_mean\n", - "except IndexError as e:\n", - " print(e)" - ] - }, - { - "cell_type": "markdown", - "id": "7e9da262", - "metadata": {}, - "source": [ - "This fails because `design_np` is looking for column `3` from its `terms`:" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "938b9430", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Variable(variables=(0,), name='0', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False),\n", - " Variable(variables=(3,), name='3', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False)]" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design_np.terms_" - ] - }, - { - "cell_type": "markdown", - "id": "083e9529", - "metadata": {}, - "source": [ - "However, if we have an `np.ndarray` in which the first column indeed represents `Price` and the fourth indeed\n", - "represents `Income` then we can arrive at the correct answer by supplying such the array to `design_np.transform`:" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "d413a9fe", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([12.65257604, 12.25873428])" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "new_X = np.zeros((2,4))\n", - "new_X[:,0] = [10,20]\n", - "new_X[:,3] = [40,50]\n", - "new_D = design_np.transform(new_X)\n", - "M.get_prediction(new_D).predicted_mean" - ] - }, - { - "cell_type": "markdown", - "id": "0f4b508b", - "metadata": {}, - "source": [ - "Given this subtlety about needing to supply arrays with identical column structure to `transform` when\n", - "using `np.ndarray` we presume that using a `pd.DataFrame` will be the more popular use case." - ] - }, - { - "cell_type": "markdown", - "id": "8bcbd973", - "metadata": {}, - "source": [ - "## A model with some categorical variables\n", - "\n", - "Categorical variables become `Column` instances with encoders." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "cf13f72e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='UIncome', name='UIncome', is_categorical=True, is_ordinal=False, columns=('UIncome[L]', 'UIncome[M]'), encoder=Contrast())" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Population', 'Price', 'UIncome', 'ShelveLoc']).fit(Carseats)\n", - "design.column_info_['UIncome']" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "c1fa0a90", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Population', 'Price', 'UIncome[L]', 'UIncome[M]',\n", - " 'ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " dtype='object')" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "b28aa313", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 11.876012\n", - "Population 0.001163\n", - "Price -0.055725\n", - "UIncome[L] -1.042297\n", - "UIncome[M] -0.119123\n", - "ShelveLoc[Good] 4.999623\n", - "ShelveLoc[Medium] 1.964278\n", - "dtype: float64" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "aa764acc", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) Population Price UIncomeM UIncomeH \n", - " 10.83371503 0.00116301 -0.05572469 0.92317388 1.04229679 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.99962319 1.96427771 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "31876a29", - "metadata": {}, - "source": [ - "## Getting the encoding you want\n", - "\n", - "By default the level dropped by `ModelSpec` will be the first of the `categories_` values from \n", - "`sklearn.preprocessing.OneHotEncoder()`. We might wish to change this. It seems\n", - "as if the correct way to do this would be something like `Variable(('UIncome',), 'mynewencoding', new_encoder)`\n", - "where `new_encoder` would somehow drop the column we want dropped. \n", - "\n", - "However, when using the convenient identifier `UIncome` in the `variables` argument, this maps to the `Column` associated to `UIncome` within `design.column_info_`:" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "bac2643c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='UIncome', name='UIncome', is_categorical=True, is_ordinal=False, columns=('UIncome[L]', 'UIncome[M]'), encoder=Contrast())" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.column_info_['UIncome']" - ] - }, - { - "cell_type": "markdown", - "id": "1485735d", - "metadata": {}, - "source": [ - "This column already has an encoder and `Column` instances are immutable as named tuples. Further, there are times when \n", - "we may want to encode `UIncome` differently within the same model. In the model below the main effect of `UIncome` is encoded with two columns while in the interaction `UIncome` (see below) has three columns. This is a design of interest\n", - "and we need a way to allow different encodings of the same column of `Carseats`" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "3987c5d6", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ UIncome:ShelveLoc + UIncome, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) UIncomeM UIncomeH \n", - " 5.1317 0.1151 1.1561 \n", - " UIncomeL:ShelveLocGood UIncomeM:ShelveLocGood UIncomeH:ShelveLocGood \n", - " 4.5121 5.5752 3.7381 \n", - "UIncomeL:ShelveLocMedium UIncomeM:ShelveLocMedium UIncomeH:ShelveLocMedium \n", - " 1.2473 2.4782 1.5141 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "7a6631c9", - "metadata": {}, - "source": [ - " We can create a new \n", - "`Column` with the encoder we want. For categorical variables, there is a convenience function to do so." - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "83a9b94e", - "metadata": {}, - "outputs": [], - "source": [ - "from ISLP.models.model_spec import contrast\n", - "pref_encoding = contrast('UIncome', 'drop', 'L')" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "f0ffabea", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( UIncome[M] UIncome[H]\n", - " 0 1.0 0.0\n", - " 1 0.0 0.0\n", - " 2 0.0 0.0\n", - " 3 0.0 1.0\n", - " 4 1.0 0.0\n", - " .. ... ...\n", - " 395 0.0 1.0\n", - " 396 0.0 0.0\n", - " 397 0.0 0.0\n", - " 398 1.0 0.0\n", - " 399 0.0 0.0\n", - " \n", - " [400 rows x 2 columns],\n", - " ['UIncome[M]', 'UIncome[H]'])" - ] - }, - "execution_count": 37, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.build_columns(Carseats, pref_encoding)" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "4a5fdc64", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Population', 'Price', 'UIncome[M]', 'UIncome[H]',\n", - " 'ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " dtype='object')" - ] - }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Population', 'Price', pref_encoding, 'ShelveLoc']).fit(Carseats)\n", - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "ae7e3bd2", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 10.833715\n", - "Population 0.001163\n", - "Price -0.055725\n", - "UIncome[M] 0.923174\n", - "UIncome[H] 1.042297\n", - "ShelveLoc[Good] 4.999623\n", - "ShelveLoc[Medium] 1.964278\n", - "dtype: float64" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "c12ac3df", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) Population Price UIncomeM UIncomeH \n", - " 10.83371503 0.00116301 -0.05572469 0.92317388 1.04229679 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.99962319 1.96427771 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "53bf8aef", - "metadata": {}, - "source": [ - "## Interactions\n", - "\n", - "We've referred to interactions above. These are specified (by convenience) as tuples in the `terms` argument\n", - "to `ModelSpec`." - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "id": "47723bce", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 7.866634\n", - "UIncome[L]:ShelveLoc[Good] 4.512054\n", - "UIncome[L]:ShelveLoc[Medium] 1.247275\n", - "UIncome[M]:ShelveLoc[Good] 5.575170\n", - "UIncome[M]:ShelveLoc[Medium] 2.478163\n", - "UIncome[L] -2.734895\n", - "UIncome[M] -2.619745\n", - "dtype: float64" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([('UIncome', 'ShelveLoc'), 'UIncome'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "markdown", - "id": "86060622", - "metadata": {}, - "source": [ - "The tuples in `terms` are converted to `Variable` in the formalized `terms_` attribute by creating a `Variable` with\n", - "`variables` set to the tuple and the encoder an `Interaction` encoder which (unsurprisingly) creates the interaction columns from the concatenated data frames of `UIncome` and `ShelveLoc`." - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "id": "d7a2ab9b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Variable(variables=('UIncome', 'ShelveLoc'), name='UIncome:ShelveLoc', encoder=Interaction(column_names={'ShelveLoc': ['ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " 'UIncome': ['UIncome[L]', 'UIncome[M]']},\n", - " columns={'ShelveLoc': range(2, 4), 'UIncome': range(0, 2)},\n", - " variables=['UIncome', 'ShelveLoc']), use_transform=True, pure_columns=False, override_encoder_colnames=False)" - ] - }, - "execution_count": 42, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.terms_[0]" - ] - }, - { - "cell_type": "markdown", - "id": "2a5e7f6b", - "metadata": {}, - "source": [ - "Comparing this to the previous `R` model." - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "bbb02036", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ UIncome:ShelveLoc + UIncome, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) UIncomeM UIncomeH \n", - " 5.1317 0.1151 1.1561 \n", - " UIncomeL:ShelveLocGood UIncomeM:ShelveLocGood UIncomeH:ShelveLocGood \n", - " 4.5121 5.5752 3.7381 \n", - "UIncomeL:ShelveLocMedium UIncomeM:ShelveLocMedium UIncomeH:ShelveLocMedium \n", - " 1.2473 2.4782 1.5141 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "89106a85", - "metadata": {}, - "source": [ - "We note a few important things:\n", - "\n", - "1. `R` has reorganized the columns of the design from the formula: although we wrote `UIncome:ShelveLoc` first these\n", - "columns have been built later. **`ModelSpec` builds columns in the order determined by `terms`!**\n", - "\n", - "2. As noted above, `R` has encoded `UIncome` differently in the main effect and in the interaction. For `ModelSpec`, the reference to `UIncome` always refers to the column in `design.column_info_` and will always build only the columns for `L` and `M`. **`ModelSpec` does no inspection of terms to decide how to encode categorical variables.**\n", - "\n", - "A few notes:\n", - "\n", - "- **Why not try to inspect the terms?** For any nontrivial formula in `R` with several categorical variables and interactions, predicting what columns will be produced from a given formula is not simple. **`ModelSpec` errs on the side of being explicit.**\n", - "\n", - "- **Is it impossible to build the design as `R` has?** No. An advanced user who *knows* they want the columns built as `R` has can do so (fairly) easily." - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "id": "151f3fee", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( UIncome[H] UIncome[L] UIncome[M]\n", - " 0 0.0 0.0 1.0\n", - " 1 0.0 1.0 0.0\n", - " 2 0.0 1.0 0.0\n", - " 3 1.0 0.0 0.0\n", - " 4 0.0 0.0 1.0\n", - " .. ... ... ...\n", - " 395 1.0 0.0 0.0\n", - " 396 0.0 1.0 0.0\n", - " 397 0.0 1.0 0.0\n", - " 398 0.0 0.0 1.0\n", - " 399 0.0 1.0 0.0\n", - " \n", - " [400 rows x 3 columns],\n", - " ['UIncome[H]', 'UIncome[L]', 'UIncome[M]'])" - ] - }, - "execution_count": 44, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "full_encoding = contrast('UIncome', None)\n", - "design.build_columns(Carseats, full_encoding)" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "id": "945ce7bc", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 5.131739\n", - "UIncome[M] 0.115150\n", - "UIncome[H] 1.156118\n", - "UIncome[H]:ShelveLoc[Good] 3.738052\n", - "UIncome[H]:ShelveLoc[Medium] 1.514104\n", - "UIncome[L]:ShelveLoc[Good] 4.512054\n", - "UIncome[L]:ShelveLoc[Medium] 1.247275\n", - "UIncome[M]:ShelveLoc[Good] 5.575170\n", - "UIncome[M]:ShelveLoc[Medium] 2.478163\n", - "dtype: float64" - ] - }, - "execution_count": 45, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([pref_encoding, (full_encoding, 'ShelveLoc')])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "markdown", - "id": "450b94dd", - "metadata": {}, - "source": [ - "## Special encodings\n", - "\n", - "For flexible models, we may want to consider transformations of features, i.e. polynomial\n", - "or spline transformations. Given transforms that follow the `fit/transform` paradigm\n", - "we can of course achieve this with a `Column` and an `encoder`. The `ISLP.transforms`\n", - "package includes a `Poly` transform" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "id": "18d5c1c8", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Variable(variables=('Income',), name='poly(Income, 3, )', encoder=Poly(degree=3), use_transform=True, pure_columns=False, override_encoder_colnames=True)" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from ISLP.models.model_spec import poly\n", - "poly('Income', 3)" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "id": "46c7d911", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 5.440077\n", - "poly(Income, 3, )[0] 10.036373\n", - "poly(Income, 3, )[1] -2.799156\n", - "poly(Income, 3, )[2] 2.399601\n", - "ShelveLoc[Good] 4.808133\n", - "ShelveLoc[Medium] 1.889533\n", - "dtype: float64" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([poly('Income', 3), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "markdown", - "id": "99bf13a1", - "metadata": {}, - "source": [ - "Compare:" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "7606facd", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) poly(Income, 3)1 poly(Income, 3)2 poly(Income, 3)3 \n", - " 5.440077 10.036373 -2.799156 2.399601 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.808133 1.889533 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ poly(Income, 3) + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "a4931031", - "metadata": {}, - "source": [ - "## Splines\n", - "\n", - "Support for natural and B-splines is also included" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "id": "1c1bf5f3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 4.240421\n", - "ns(Income, , df=5)[0] 1.468196\n", - "ns(Income, , df=5)[1] 1.499471\n", - "ns(Income, , df=5)[2] 1.152070\n", - "ns(Income, , df=5)[3] 2.418398\n", - "ns(Income, , df=5)[4] 1.804460\n", - "ShelveLoc[Good] 4.810449\n", - "ShelveLoc[Medium] 1.881095\n", - "dtype: float64" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from ISLP.models.model_spec import ns, bs, pca\n", - "design = ModelSpec([ns('Income', df=5), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "id": "8c24254b", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) ns(Income, df = 5)1 ns(Income, df = 5)2 ns(Income, df = 5)3 \n", - " 4.240421 1.468196 1.499471 1.152070 \n", - "ns(Income, df = 5)4 ns(Income, df = 5)5 ShelveLocGood ShelveLocMedium \n", - " 2.418398 1.804460 4.810449 1.881095 \n" - ] - } - ], - "source": [ - "%%R\n", - "library(splines)\n", - "lm(Sales ~ ns(Income, df=5) + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "id": "f9d6c4a7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 3.495085\n", - "bs(Income, , df=7, degree=2)[0] 1.813118\n", - "bs(Income, , df=7, degree=2)[1] 0.961852\n", - "bs(Income, , df=7, degree=2)[2] 2.471545\n", - "bs(Income, , df=7, degree=2)[3] 2.158891\n", - "bs(Income, , df=7, degree=2)[4] 2.091625\n", - "bs(Income, , df=7, degree=2)[5] 2.600669\n", - "bs(Income, , df=7, degree=2)[6] 2.843108\n", - "ShelveLoc[Good] 4.804919\n", - "ShelveLoc[Medium] 1.880337\n", - "dtype: float64" - ] - }, - "execution_count": 51, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([bs('Income', df=7, degree=2), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "id": "0bf1726a", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) bs(Income, df = 7, degree = 2)1 \n", - " 3.4950851 1.8131176 \n", - "bs(Income, df = 7, degree = 2)2 bs(Income, df = 7, degree = 2)3 \n", - " 0.9618523 2.4715450 \n", - "bs(Income, df = 7, degree = 2)4 bs(Income, df = 7, degree = 2)5 \n", - " 2.1588908 2.0916252 \n", - "bs(Income, df = 7, degree = 2)6 bs(Income, df = 7, degree = 2)7 \n", - " 2.6006694 2.8431084 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.8049190 1.8803375 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ bs(Income, df=7, degree=2) + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "914df4cf", - "metadata": {}, - "source": [ - "## PCA" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "id": "cc22e780", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "intercept 5.419405\n", - "pca(myvars, , n_components=2)[0] -0.001131\n", - "pca(myvars, , n_components=2)[1] -0.024217\n", - "ShelveLoc[Good] 4.816253\n", - "ShelveLoc[Medium] 1.924139\n", - "dtype: float64" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([pca(['Income', \n", - " 'Price', \n", - " 'Advertising', \n", - " 'Population'], \n", - " n_components=2, \n", - " name='myvars'), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "id": "de571e61", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ prcomp(cbind(Income, Price, Advertising, \n", - " Population))$x[, 1:2] + ShelveLoc, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) \n", - " 5.419405 \n", - "prcomp(cbind(Income, Price, Advertising, Population))$x[, 1:2]PC1 \n", - " 0.001131 \n", - "prcomp(cbind(Income, Price, Advertising, Population))$x[, 1:2]PC2 \n", - " -0.024217 \n", - " ShelveLocGood \n", - " 4.816253 \n", - " ShelveLocMedium \n", - " 1.924139 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ prcomp(cbind(Income, Price, Advertising, Population))$x[,1:2] + ShelveLoc, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "0a103b5a", - "metadata": {}, - "source": [ - "It is of course common to scale before running PCA." - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "id": "95ca42f5", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "intercept 5.352159\n", - "pca(myvars, , n_components=2)[0] 0.446383\n", - "pca(myvars, , n_components=2)[1] -1.219788\n", - "ShelveLoc[Good] 4.922780\n", - "ShelveLoc[Medium] 2.005617\n", - "dtype: float64" - ] - }, - "execution_count": 55, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([pca(['Income', \n", - " 'Price', \n", - " 'Advertising', \n", - " 'Population'], \n", - " n_components=2, \n", - " name='myvars',\n", - " scale=True), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "id": "0dc22e35", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ prcomp(cbind(Income, Price, Advertising, \n", - " Population), scale = TRUE)$x[, 1:2] + ShelveLoc, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) \n", - " 5.3522 \n", - "prcomp(cbind(Income, Price, Advertising, Population), scale = TRUE)$x[, 1:2]PC1 \n", - " 0.4469 \n", - "prcomp(cbind(Income, Price, Advertising, Population), scale = TRUE)$x[, 1:2]PC2 \n", - " -1.2213 \n", - " ShelveLocGood \n", - " 4.9228 \n", - " ShelveLocMedium \n", - " 2.0056 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ prcomp(cbind(Income, Price, Advertising, Population), scale=TRUE)$x[,1:2] + ShelveLoc, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "70347ee9", - "metadata": {}, - "source": [ - "There will be some small differences in the coefficients due to `sklearn` use of `np.std(ddof=0)` instead\n", - "of `np.std(ddof=1)`." - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "id": "aa0c2f2e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 0.44694166, -1.22131519])" - ] - }, - "execution_count": 57, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.array(sm.OLS(Y, X).fit().params)[1:3] * np.sqrt(X.shape[0] / (X.shape[0]-1))" - ] - }, - { - "cell_type": "markdown", - "id": "ab05c497", - "metadata": {}, - "source": [ - "## Model selection\n", - "\n", - "Another task requiring different design matrices is model selection. Manipulating\n", - "the `terms` attribute of a `ModelSpec` (or more precisely its more uniform version `terms_`)\n", - "can clearly allow for both exhaustive and stepwise model selection." - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "id": "9505c178", - "metadata": {}, - "outputs": [], - "source": [ - "from ISLP.models.strategy import (Stepwise, \n", - " min_max)\n", - "from ISLP.models.generic_selector import FeatureSelector" - ] - }, - { - "cell_type": "markdown", - "id": "020c2532", - "metadata": {}, - "source": [ - "### Best subsets" - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "id": "f9aba6db", - "metadata": {}, - "outputs": [], - "source": [ - "design = ModelSpec(['Price', \n", - " 'UIncome', \n", - " 'Advertising', \n", - " 'US', \n", - " 'Income',\n", - " 'ShelveLoc',\n", - " 'Education',\n", - " 'Urban']).fit(Carseats)\n", - "strategy = min_max(design,\n", - " min_terms=0,\n", - " max_terms=3)" - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "id": "91144a3d", - "metadata": {}, - "outputs": [], - "source": [ - "from sklearn.linear_model import LinearRegression\n", - "selector = FeatureSelector(LinearRegression(fit_intercept=False),\n", - " strategy,\n", - " scoring='neg_mean_squared_error')" - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "id": "ae3cb2eb", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 61, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "selector.fit(Carseats, Y)" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "id": "e63b2744", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('Price', 'Advertising', 'ShelveLoc')" - ] - }, - "execution_count": 62, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "selector.selected_state_" - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "id": "0a774b48", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "dict_keys([(), ('Price',), ('UIncome',), ('Advertising',), ('US',), ('Income',), ('ShelveLoc',), ('Education',), ('Urban',), ('Price', 'UIncome'), ('Price', 'Advertising'), ('Price', 'US'), ('Price', 'Income'), ('Price', 'ShelveLoc'), ('Price', 'Education'), ('Price', 'Urban'), ('UIncome', 'Advertising'), ('UIncome', 'US'), ('UIncome', 'Income'), ('UIncome', 'ShelveLoc'), ('UIncome', 'Education'), ('UIncome', 'Urban'), ('Advertising', 'US'), ('Advertising', 'Income'), ('Advertising', 'ShelveLoc'), ('Advertising', 'Education'), ('Advertising', 'Urban'), ('US', 'Income'), ('US', 'ShelveLoc'), ('US', 'Education'), ('US', 'Urban'), ('Income', 'ShelveLoc'), ('Income', 'Education'), ('Income', 'Urban'), ('ShelveLoc', 'Education'), ('ShelveLoc', 'Urban'), ('Education', 'Urban'), ('Price', 'UIncome', 'Advertising'), ('Price', 'UIncome', 'US'), ('Price', 'UIncome', 'Income'), ('Price', 'UIncome', 'ShelveLoc'), ('Price', 'UIncome', 'Education'), ('Price', 'UIncome', 'Urban'), ('Price', 'Advertising', 'US'), ('Price', 'Advertising', 'Income'), ('Price', 'Advertising', 'ShelveLoc'), ('Price', 'Advertising', 'Education'), ('Price', 'Advertising', 'Urban'), ('Price', 'US', 'Income'), ('Price', 'US', 'ShelveLoc'), ('Price', 'US', 'Education'), ('Price', 'US', 'Urban'), ('Price', 'Income', 'ShelveLoc'), ('Price', 'Income', 'Education'), ('Price', 'Income', 'Urban'), ('Price', 'ShelveLoc', 'Education'), ('Price', 'ShelveLoc', 'Urban'), ('Price', 'Education', 'Urban'), ('UIncome', 'Advertising', 'US'), ('UIncome', 'Advertising', 'Income'), ('UIncome', 'Advertising', 'ShelveLoc'), ('UIncome', 'Advertising', 'Education'), ('UIncome', 'Advertising', 'Urban'), ('UIncome', 'US', 'Income'), ('UIncome', 'US', 'ShelveLoc'), ('UIncome', 'US', 'Education'), ('UIncome', 'US', 'Urban'), ('UIncome', 'Income', 'ShelveLoc'), ('UIncome', 'Income', 'Education'), ('UIncome', 'Income', 'Urban'), ('UIncome', 'ShelveLoc', 'Education'), ('UIncome', 'ShelveLoc', 'Urban'), ('UIncome', 'Education', 'Urban'), ('Advertising', 'US', 'Income'), ('Advertising', 'US', 'ShelveLoc'), ('Advertising', 'US', 'Education'), ('Advertising', 'US', 'Urban'), ('Advertising', 'Income', 'ShelveLoc'), ('Advertising', 'Income', 'Education'), ('Advertising', 'Income', 'Urban'), ('Advertising', 'ShelveLoc', 'Education'), ('Advertising', 'ShelveLoc', 'Urban'), ('Advertising', 'Education', 'Urban'), ('US', 'Income', 'ShelveLoc'), ('US', 'Income', 'Education'), ('US', 'Income', 'Urban'), ('US', 'ShelveLoc', 'Education'), ('US', 'ShelveLoc', 'Urban'), ('US', 'Education', 'Urban'), ('Income', 'ShelveLoc', 'Education'), ('Income', 'ShelveLoc', 'Urban'), ('Income', 'Education', 'Urban'), ('ShelveLoc', 'Education', 'Urban')])" - ] - }, - "execution_count": 63, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "selector.results_.keys()" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "id": "0ca1f28c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('Price', 'Advertising', 'Income')" - ] - }, - "execution_count": 64, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "strategy = min_max(design,\n", - " min_terms=0,\n", - " max_terms=3,\n", - " lower_terms=['Price'],\n", - " upper_terms=['Price', 'Income', 'Advertising'])\n", - "selector = FeatureSelector(LinearRegression(fit_intercept=False),\n", - " strategy,\n", - " scoring='neg_mean_squared_error')\n", - "selector.fit(Carseats, Y)\n", - "selector.selected_state_" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "id": "5c6732fa", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "dict_keys([('Price',), ('Price', 'Advertising'), ('Price', 'Income'), ('Price', 'Advertising', 'Income')])" - ] - }, - "execution_count": 65, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "selector.results_.keys()" - ] - }, - { - "cell_type": "markdown", - "id": "7bb6fcc3", - "metadata": {}, - "source": [ - "### Stepwise selection" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "id": "9985d0fc", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('Advertising', 'Income', 'Price', 'ShelveLoc')" - ] - }, - "execution_count": 66, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "strategy = Stepwise.first_peak(design,\n", - " min_terms=0,\n", - " max_terms=6,\n", - " lower_terms=['Price'],\n", - " upper_terms=['Price', 'Income', 'Advertising', 'ShelveLoc', 'UIncome', 'US'\n", - " 'Education', 'Urban'])\n", - "selector = FeatureSelector(LinearRegression(fit_intercept=False),\n", - " strategy,\n", - " scoring='neg_mean_squared_error',\n", - " cv=3)\n", - "selector.fit(Carseats, Y)\n", - "selector.selected_state_" - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "id": "d3cf3e9b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "dict_keys([(), ('Price',), ('Price', 'UIncome'), ('Advertising', 'Price'), ('Income', 'Price'), ('Price', 'ShelveLoc'), ('Price', 'Urban'), ('Price', 'ShelveLoc', 'UIncome'), ('Advertising', 'Price', 'ShelveLoc'), ('Income', 'Price', 'ShelveLoc'), ('Price', 'ShelveLoc', 'Urban'), ('Advertising', 'Price', 'ShelveLoc', 'UIncome'), ('Advertising', 'Income', 'Price', 'ShelveLoc'), ('Advertising', 'Price', 'ShelveLoc', 'Urban'), ('Advertising', 'Income', 'Price', 'ShelveLoc', 'UIncome'), ('Advertising', 'Income', 'Price', 'ShelveLoc', 'Urban')])" - ] - }, - "execution_count": 67, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "selector.results_.keys()" - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "id": "dd43ea7c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{(): -8.055847677297269,\n", - " ('Price',): -6.514630258019962,\n", - " ('Price', 'UIncome'): -6.621654905418576,\n", - " ('Advertising', 'Price'): -5.825225309857156,\n", - " ('Income', 'Price'): -6.455432795910743,\n", - " ('Price', 'ShelveLoc'): -3.780183168075897,\n", - " ('Price', 'Urban'): -6.5430157266926114,\n", - " ('Price', 'ShelveLoc', 'UIncome'): -3.6938729706475004,\n", - " ('Advertising', 'Price', 'ShelveLoc'): -3.2067316025050645,\n", - " ('Income', 'Price', 'ShelveLoc'): -3.634698914456587,\n", - " ('Price', 'ShelveLoc', 'Urban'): -3.776148947585277,\n", - " ('Advertising', 'Price', 'ShelveLoc', 'UIncome'): -3.1240961493998642,\n", - " ('Advertising', 'Income', 'Price', 'ShelveLoc'): -3.0801704971796244,\n", - " ('Advertising', 'Price', 'ShelveLoc', 'Urban'): -3.207569489139369,\n", - " ('Advertising',\n", - " 'Income',\n", - " 'Price',\n", - " 'ShelveLoc',\n", - " 'UIncome'): -3.1048826894036115,\n", - " ('Advertising', 'Income', 'Price', 'ShelveLoc', 'Urban'): -3.0867130108677423}" - ] - }, - "execution_count": 68, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "selector.results_" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "id": "7c026f0a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('Advertising', 'Income', 'Price', 'ShelveLoc')" - ] - }, - "execution_count": 69, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "selector.selected_state_" - ] - }, - { - "cell_type": "markdown", - "id": "b4b89d04", - "metadata": {}, - "source": [ - "### Enforcing constraints\n", - "\n", - "In models with interactions, we may often want to impose constraints on interactions and main effects.\n", - "This can be achieved here by use of a `validator` that checks whether a given model is valid.\n", - "\n", - "Suppose we want to have the following constraint: `ShelveLoc` may not be in the model unless\n", - "`Price` is in the following model." - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "id": "1c1e31d0", - "metadata": {}, - "outputs": [], - "source": [ - "design = ModelSpec(['Price', \n", - " 'Advertising', \n", - " 'Income',\n", - " 'ShelveLoc']).fit(Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "be929807", - "metadata": {}, - "source": [ - "The constraints are described with a boolean matrix with `(i,j)` as `j` is a child of `i`: so `j` should not\n", - "be in the model when `i` is not and enforced with a callable `validator` that evaluates each candidate state.\n", - "\n", - "Both `min_max_strategy` and `step_strategy` accept a `validator` argument." - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "id": "c075b1b7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "dict_keys([(), ('Price',), ('Advertising',), ('Income',), ('Price', 'Advertising'), ('Price', 'Income'), ('Price', 'ShelveLoc'), ('Advertising', 'Income'), ('Price', 'Advertising', 'Income'), ('Price', 'Advertising', 'ShelveLoc'), ('Price', 'Income', 'ShelveLoc'), ('Price', 'Advertising', 'Income', 'ShelveLoc')])" - ] - }, - "execution_count": 71, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from ISLP.models.strategy import validator_from_constraints\n", - "constraints = np.zeros((4, 4))\n", - "constraints[0,3] = 1\n", - "strategy = min_max(design,\n", - " min_terms=0,\n", - " max_terms=4,\n", - " validator=validator_from_constraints(design,\n", - " constraints))\n", - "selector = FeatureSelector(LinearRegression(fit_intercept=False),\n", - " strategy,\n", - " scoring='neg_mean_squared_error',\n", - " cv=3)\n", - "selector.fit(Carseats, Y)\n", - "selector.results_.keys()" - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "id": "3472d47c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('Price', 'Advertising', 'Income', 'ShelveLoc')" - ] - }, - "execution_count": 72, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "selector.selected_state_" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "id": "5d2c82b9", - "metadata": {}, - "outputs": [], - "source": [ - "Hitters=load_data('Hitters')" - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "id": "4b2ac2c2", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['AtBat', 'Hits', 'HmRun', 'Runs', 'RBI', 'Walks', 'Years', 'CAtBat',\n", - " 'CHits', 'CHmRun', 'CRuns', 'CRBI', 'CWalks', 'League', 'Division',\n", - " 'PutOuts', 'Assists', 'Errors', 'Salary', 'NewLeague'],\n", - " dtype='object')" - ] - }, - "execution_count": 74, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Hitters.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "id": "bd2ad0dd", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "dict_keys([(), ('AtBat',), ('Hits',), ('HmRun',), ('Runs',), ('RBI',), ('Walks',), ('Years',), ('CAtBat',), ('CHits',), ('CHmRun',), ('CRuns',), ('CRBI',), ('CWalks',), ('League',), ('Division',), ('PutOuts',), ('Assists',), ('Errors',), ('NewLeague',), ('AtBat', 'CRBI'), ('CRBI', 'Hits'), ('CRBI', 'HmRun'), ('CRBI', 'Runs'), ('CRBI', 'RBI'), ('CRBI', 'Walks'), ('CRBI', 'Years'), ('CAtBat', 'CRBI'), ('CHits', 'CRBI'), ('CHmRun', 'CRBI'), ('CRBI', 'CRuns'), ('CRBI', 'CWalks'), ('CRBI', 'League'), ('CRBI', 'Division'), ('CRBI', 'PutOuts'), ('Assists', 'CRBI'), ('CRBI', 'Errors'), ('CRBI', 'NewLeague'), ('AtBat', 'CRBI', 'Hits'), ('CRBI', 'Hits', 'HmRun'), ('CRBI', 'Hits', 'Runs'), ('CRBI', 'Hits', 'RBI'), ('CRBI', 'Hits', 'Walks'), ('CRBI', 'Hits', 'Years'), ('CAtBat', 'CRBI', 'Hits'), ('CHits', 'CRBI', 'Hits'), ('CHmRun', 'CRBI', 'Hits'), ('CRBI', 'CRuns', 'Hits'), ('CRBI', 'CWalks', 'Hits'), ('CRBI', 'Hits', 'League'), ('CRBI', 'Division', 'Hits'), ('CRBI', 'Hits', 'PutOuts'), ('Assists', 'CRBI', 'Hits'), ('CRBI', 'Errors', 'Hits'), ('CRBI', 'Hits', 'NewLeague'), ('AtBat', 'CRBI', 'Hits', 'PutOuts'), ('CRBI', 'Hits', 'HmRun', 'PutOuts'), ('CRBI', 'Hits', 'PutOuts', 'Runs'), ('CRBI', 'Hits', 'PutOuts', 'RBI'), ('CRBI', 'Hits', 'PutOuts', 'Walks'), ('CRBI', 'Hits', 'PutOuts', 'Years'), ('CAtBat', 'CRBI', 'Hits', 'PutOuts'), ('CHits', 'CRBI', 'Hits', 'PutOuts'), ('CHmRun', 'CRBI', 'Hits', 'PutOuts'), ('CRBI', 'CRuns', 'Hits', 'PutOuts'), ('CRBI', 'CWalks', 'Hits', 'PutOuts'), ('CRBI', 'Hits', 'League', 'PutOuts'), ('CRBI', 'Division', 'Hits', 'PutOuts'), ('Assists', 'CRBI', 'Hits', 'PutOuts'), ('CRBI', 'Errors', 'Hits', 'PutOuts'), ('CRBI', 'Hits', 'NewLeague', 'PutOuts'), ('AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts'), ('CRBI', 'Division', 'Hits', 'HmRun', 'PutOuts'), ('CRBI', 'Division', 'Hits', 'PutOuts', 'Runs'), ('CRBI', 'Division', 'Hits', 'PutOuts', 'RBI'), ('CRBI', 'Division', 'Hits', 'PutOuts', 'Walks'), ('CRBI', 'Division', 'Hits', 'PutOuts', 'Years'), ('CAtBat', 'CRBI', 'Division', 'Hits', 'PutOuts'), ('CHits', 'CRBI', 'Division', 'Hits', 'PutOuts'), ('CHmRun', 'CRBI', 'Division', 'Hits', 'PutOuts'), ('CRBI', 'CRuns', 'Division', 'Hits', 'PutOuts'), ('CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts'), ('CRBI', 'Division', 'Hits', 'League', 'PutOuts'), ('Assists', 'CRBI', 'Division', 'Hits', 'PutOuts'), ('CRBI', 'Division', 'Errors', 'Hits', 'PutOuts'), ('CRBI', 'Division', 'Hits', 'NewLeague', 'PutOuts'), ('AtBat', 'CRBI', 'Division', 'Hits', 'HmRun', 'PutOuts'), ('AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts', 'Runs'), ('AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts', 'RBI'), ('AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts', 'Years'), ('AtBat', 'CAtBat', 'CRBI', 'Division', 'Hits', 'PutOuts'), ('AtBat', 'CHits', 'CRBI', 'Division', 'Hits', 'PutOuts'), ('AtBat', 'CHmRun', 'CRBI', 'Division', 'Hits', 'PutOuts'), ('AtBat', 'CRBI', 'CRuns', 'Division', 'Hits', 'PutOuts'), ('AtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts'), ('AtBat', 'CRBI', 'Division', 'Hits', 'League', 'PutOuts'), ('Assists', 'AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts'), ('AtBat', 'CRBI', 'Division', 'Errors', 'Hits', 'PutOuts'), ('AtBat', 'CRBI', 'Division', 'Hits', 'NewLeague', 'PutOuts'), ('AtBat', 'CRBI', 'Division', 'Hits', 'HmRun', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts', 'Runs', 'Walks'), ('AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts', 'RBI', 'Walks'), ('AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts', 'Walks', 'Years'), ('AtBat', 'CAtBat', 'CRBI', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CHits', 'CRBI', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CHmRun', 'CRBI', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CRuns', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'Division', 'Hits', 'League', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'Division', 'Errors', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'Division', 'Hits', 'NewLeague', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'HmRun', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Runs', 'Walks'), ('AtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts', 'RBI', 'Walks'), ('AtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks', 'Years'), ('AtBat', 'CAtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CHits', 'CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CHmRun', 'CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CWalks', 'Division', 'Errors', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'NewLeague', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'HmRun', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Runs', 'Walks'), ('AtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'RBI', 'Walks'), ('AtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks', 'Years'), ('AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'NewLeague', 'PutOuts', 'Walks'), ('AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'HmRun', 'PutOuts', 'Walks'), ('AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Runs', 'Walks'), ('AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'RBI', 'Walks'), ('AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks', 'Years'), ('AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CAtBat', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'NewLeague', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'HmRun', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'RBI', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks', 'Years'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'NewLeague', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'HmRun', 'League', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'RBI', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Walks', 'Years'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'League', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'NewLeague', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'HmRun', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'RBI', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Runs', 'Walks', 'Years'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'NewLeague', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'League', 'PutOuts', 'RBI', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'League', 'PutOuts', 'Runs', 'Walks', 'Years'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'League', 'NewLeague', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'RBI', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'Runs', 'Walks', 'Years'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'NewLeague', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'RBI', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'Runs', 'Walks', 'Years'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'NewLeague', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'RBI', 'Runs', 'Walks', 'Years'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'RBI', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'NewLeague', 'PutOuts', 'RBI', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'NewLeague', 'PutOuts', 'RBI', 'Runs', 'Walks', 'Years'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'NewLeague', 'PutOuts', 'RBI', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'NewLeague', 'PutOuts', 'RBI', 'Runs', 'Walks', 'Years')])" - ] - }, - "execution_count": 75, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Hitters = Hitters.dropna()\n", - "Y=Hitters['Salary']\n", - "X=Hitters.drop('Salary', axis=1)\n", - "design = ModelSpec(X.columns).fit(X)\n", - "strategy = Stepwise.first_peak(design,\n", - " direction='forward',\n", - " min_terms=0,\n", - " max_terms=19)\n", - "selector = FeatureSelector(LinearRegression(fit_intercept=False),\n", - " strategy,\n", - " scoring='neg_mean_squared_error', cv=None)\n", - "selector.fit(X, Y)\n", - "selector.results_.keys()" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "id": "31788748", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "19" - ] - }, - "execution_count": 76, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "len(selector.selected_state_)" - ] - }, - { - "cell_type": "code", - "execution_count": 77, - "id": "e97d80c3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "19" - ] - }, - "execution_count": 77, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "len(X.columns)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a71f0332", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Start: AIC=3215.77\n", - "Salary ~ 1\n", - "\n", - " Df Sum of Sq RSS AIC\n", - "+ CRBI 1 17139434 36179679 3115.8\n", - "+ CRuns 1 16881162 36437951 3117.6\n", - "+ CHits 1 16065140 37253973 3123.5\n", - "+ CAtBat 1 14759710 38559403 3132.5\n", - "+ CHmRun 1 14692193 38626920 3133.0\n", - "+ CWalks 1 12792622 40526491 3145.6\n", - "+ RBI 1 10771083 42548030 3158.4\n", - "+ Walks 1 10504833 42814280 3160.1\n", - "+ Hits 1 10260491 43058621 3161.6\n", - "+ Runs 1 9399158 43919955 3166.8\n", - "+ Years 1 8559105 44760007 3171.7\n", - "+ AtBat 1 8309469 45009644 3173.2\n", - "+ HmRun 1 6273967 47045145 3184.8\n", - "+ PutOuts 1 4814100 48505013 3192.9\n", - "+ Division 1 1976102 51343011 3207.8\n", - " 53319113 3215.8\n", - "+ Assists 1 34497 53284615 3217.6\n", - "+ League 1 10876 53308237 3217.7\n", - "+ Errors 1 1555 53317558 3217.8\n", - "+ NewLeague 1 428 53318684 3217.8\n", - "\n", - "Step: AIC=3115.78\n", - "Salary ~ CRBI\n", - "\n", - " Df Sum of Sq RSS AIC\n", - "+ Hits 1 5533119 30646560 3074.1\n", - "+ Runs 1 5176532 31003147 3077.2\n", - "+ Walks 1 4199733 31979946 3085.3\n", - "+ AtBat 1 4064585 32115095 3086.4\n", - "+ RBI 1 3308272 32871407 3092.6\n", - "+ PutOuts 1 3267035 32912644 3092.9\n", - "+ Division 1 1733887 34445793 3104.9\n", - "+ Years 1 1667339 34512340 3105.4\n", - "+ HmRun 1 1271587 34908092 3108.4\n", - "+ CRuns 1 354561 35825119 3115.2\n", - "+ Assists 1 346020 35833659 3115.2\n", - " 36179679 3115.8\n", - "+ Errors 1 194403 35985276 3116.4\n", - "+ CAtBat 1 92261 36087418 3117.1\n", - "+ CHits 1 75469 36104210 3117.2\n", - "+ CWalks 1 51974 36127705 3117.4\n", - "+ NewLeague 1 17778 36161901 3117.7\n", - "+ League 1 11825 36167855 3117.7\n", - "+ CHmRun 1 515 36179165 3117.8\n", - "\n", - "Step: AIC=3074.13\n", - "Salary ~ CRBI + Hits\n", - "\n", - " Df Sum of Sq RSS AIC\n", - "+ PutOuts 1 1397263 29249297 3063.8\n", - "+ Division 1 1279275 29367285 3064.9\n", - "+ AtBat 1 821767 29824793 3069.0\n", - "+ Walks 1 781767 29864793 3069.3\n", - "+ Years 1 254910 30391650 3073.9\n", - " 30646560 3074.1\n", - "+ League 1 208880 30437680 3074.3\n", - "+ CRuns 1 132614 30513946 3075.0\n", - "+ NewLeague 1 118474 30528086 3075.1\n", - "+ Runs 1 114198 30532362 3075.1\n", - "+ Errors 1 99776 30546784 3075.3\n", - "+ CAtBat 1 83517 30563043 3075.4\n", - "+ Assists 1 44781 30601779 3075.7\n", - "+ CWalks 1 23668 30622892 3075.9\n", - "+ CHmRun 1 4790 30641769 3076.1\n", - "+ CHits 1 4358 30642202 3076.1\n", - "+ HmRun 1 2173 30644387 3076.1\n", - "+ RBI 1 1137 30645423 3076.1\n", - "\n", - "Step: AIC=3063.85\n", - "Salary ~ CRBI + Hits + PutOuts\n", - "\n", - " Df Sum of Sq RSS AIC\n", - "+ Division 1 1278445 27970852 3054.1\n", - "+ AtBat 1 1009933 28239364 3056.6\n", - "+ Walks 1 539490 28709807 3061.0\n", - "+ CRuns 1 273649 28975648 3063.4\n", - " 29249297 3063.8\n", - "+ Years 1 136906 29112391 3064.6\n", - "+ League 1 122841 29126456 3064.8\n", - "+ Runs 1 117930 29131367 3064.8\n", - "+ Errors 1 97244 29152053 3065.0\n", - "+ NewLeague 1 57839 29191458 3065.3\n", - "+ CHits 1 35096 29214201 3065.5\n", - "+ RBI 1 33965 29215331 3065.6\n", - "+ HmRun 1 31227 29218070 3065.6\n", - "+ CWalks 1 28572 29220725 3065.6\n", - "+ CAtBat 1 20518 29228779 3065.7\n", - "+ Assists 1 1681 29247616 3065.8\n", - "+ CHmRun 1 1419 29247878 3065.8\n", - "\n", - "Step: AIC=3054.1\n", - "Salary ~ CRBI + Hits + PutOuts + Division\n", - "\n", - " Df Sum of Sq RSS AIC\n", - "+ AtBat 1 820952 27149899 3048.3\n", - "+ Walks 1 491584 27479268 3051.4\n", - " 27970852 3054.1\n", - "+ CRuns 1 193604 27777248 3054.3\n", - "+ Years 1 166845 27804007 3054.5\n", - "+ League 1 110628 27860224 3055.1\n", - "+ Errors 1 81385 27889467 3055.3\n", - "+ Runs 1 65921 27904931 3055.5\n", - "+ RBI 1 53719 27917133 3055.6\n", - "+ NewLeague 1 52275 27918577 3055.6\n", - "+ CHits 1 33863 27936989 3055.8\n", - "+ HmRun 1 26390 27944462 3055.8\n", - "+ CAtBat 1 18751 27952101 3055.9\n", - "+ CWalks 1 5723 27965129 3056.0\n", - "+ Assists 1 1036 27969816 3056.1\n", - "+ CHmRun 1 165 27970687 3056.1\n", - "\n", - "Step: AIC=3048.26\n", - "Salary ~ CRBI + Hits + PutOuts + Division + AtBat\n", - "\n", - " Df Sum of Sq RSS AIC\n", - "+ Walks 1 954996 26194904 3040.8\n", - "+ Years 1 253362 26896537 3047.8\n", - "+ Runs 1 208743 26941157 3048.2\n", - " 27149899 3048.3\n", - "+ CRuns 1 185825 26964075 3048.5\n", - "+ League 1 95986 27053913 3049.3\n", - "+ NewLeague 1 52693 27097206 3049.8\n", - "+ CHmRun 1 43173 27106726 3049.8\n", - "+ Assists 1 28898 27121001 3050.0\n", - "+ CAtBat 1 20989 27128910 3050.1\n", - "+ CWalks 1 15599 27134301 3050.1\n", - "+ Errors 1 6265 27143634 3050.2\n", - "+ CHits 1 5305 27144594 3050.2\n", - "+ RBI 1 1236 27148663 3050.2\n", - "+ HmRun 1 11 27149888 3050.3\n", - "\n", - "Step: AIC=3040.85\n", - "Salary ~ CRBI + Hits + PutOuts + Division + AtBat + Walks\n", - "\n", - " Df Sum of Sq RSS AIC\n", - "+ CWalks 1 240687 25954217 3040.4\n", - " 26194904 3040.8\n", - "+ Years 1 184508 26010396 3041.0\n", - "+ CRuns 1 110695 26084209 3041.7\n", - "+ League 1 77974 26116930 3042.1\n", - "+ Assists 1 75782 26119122 3042.1\n", - "+ NewLeague 1 40909 26153995 3042.4\n", - "+ CHits 1 37304 26157599 3042.5\n", - "+ RBI 1 11728 26183176 3042.7\n", - "+ HmRun 1 4747 26190157 3042.8\n", - "+ Errors 1 2727 26192177 3042.8\n", - "+ CAtBat 1 2630 26192274 3042.8\n", - "+ CHmRun 1 943 26193961 3042.8\n", - "+ Runs 1 37 26194867 3042.8\n", - "\n", - "Step: AIC=3040.42\n", - "Salary ~ CRBI + Hits + PutOuts + Division + AtBat + Walks + CWalks\n", - "\n", - " Df Sum of Sq RSS AIC\n", - "+ CRuns 1 794983 25159234 3034.2\n", - "+ CHits 1 273728 25680489 3039.6\n", - " 25954217 3040.4\n", - "+ Assists 1 138506 25815711 3041.0\n", - "+ CAtBat 1 89289 25864929 3041.5\n", - "+ RBI 1 86941 25867276 3041.5\n", - "+ League 1 77159 25877058 3041.6\n", - "+ Years 1 70126 25884091 3041.7\n", - "+ NewLeague 1 37807 25916410 3042.0\n", - "+ HmRun 1 33601 25920616 3042.1\n", - "+ CHmRun 1 9034 25945183 3042.3\n", - "+ Errors 1 6928" - ] - } - ], - "source": [ - "%%R -i Hitters\n", - "step(lm(Salary ~ 1, data=Hitters), scope=list(upper=lm(Salary ~ ., data=Hitters)), direction='forward', trace=TRUE)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6117f650", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "536a8bc3", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bddc13c5", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { @@ -2726,9 +262,9 @@ "formats": "source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb" }, "kernelspec": { - "display_name": "python3", + "display_name": "islp_test", "language": "python", - "name": "python3" + "name": "islp_test" }, "language_info": { "codemirror_mode": { diff --git a/docs/jupyterbook/models/selection.md b/docs/jupyterbook/models/selection.md index 1d92259..5793852 100644 --- a/docs/jupyterbook/models/selection.md +++ b/docs/jupyterbook/models/selection.md @@ -7,668 +7,105 @@ jupytext: format_version: 0.13 jupytext_version: 1.14.5 kernelspec: - display_name: python3 + display_name: islp_test language: python - name: python3 + name: islp_test --- # Model selection using `ModelSpec` -```{code-cell} ipython3 -import numpy as np, pandas as pd -%load_ext rpy2.ipython - -from ISLP import load_data -from ISLP.models import ModelSpec - -import statsmodels.api as sm -``` - -```{code-cell} ipython3 -Carseats = load_data('Carseats') -%R -i Carseats -Carseats.columns -``` - -## Let's break up income into groups - -```{code-cell} ipython3 -Carseats['OIncome'] = pd.cut(Carseats['Income'], - [0,50,90,200], - labels=['L','M','H']) -Carseats['OIncome'] -``` - -Let's also create an unordered version - -```{code-cell} ipython3 -Carseats['UIncome'] = pd.cut(Carseats['Income'], - [0,50,90,200], - labels=['L','M','H'], - ordered=False) -Carseats['UIncome'] -``` - -## A simple model - -```{code-cell} ipython3 -design = ModelSpec(['Price', 'Income']) -X = design.fit_transform(Carseats) -X.columns -``` - -```{code-cell} ipython3 -Y = Carseats['Sales'] -M = sm.OLS(Y, X).fit() -M.params -``` - -## Basic procedure - -The design matrix is built by cobbling together a set of columns and possibly transforming them. -A `pd.DataFrame` is essentially a list of columns. One of the first tasks done in `ModelSpec.fit` -is to inspect a dataframe for column info. The column `ShelveLoc` is categorical: - -```{code-cell} ipython3 -Carseats['ShelveLoc'] -``` - -This is recognized by `ModelSpec` in the form of `Column` objects which are just named tuples with two methods -`get_columns` and `fit_encoder`. - -```{code-cell} ipython3 -design.column_info_['ShelveLoc'] -``` - -It recognized ordinal columns as well. - -```{code-cell} ipython3 -design.column_info_['OIncome'] -``` - -```{code-cell} ipython3 -income = design.column_info_['Income'] -cols, names = income.get_columns(Carseats) -(cols[:4], names) -``` - -## Encoding a column - -In building a design matrix we must extract columns from our dataframe (or `np.ndarray`). Categorical -variables usually are encoded by several columns, typically one less than the number of categories. -This task is handled by the `encoder` of the `Column`. The encoder must satisfy the `sklearn` transform -model, i.e. `fit` on some array and `transform` on future arrays. The `fit_encoder` method of `Column` fits -its encoder the first time data is passed to it. - -```{code-cell} ipython3 -shelve = design.column_info_['ShelveLoc'] -cols, names = shelve.get_columns(Carseats) -(cols[:4], names) -``` - -```{code-cell} ipython3 -oincome = design.column_info_['OIncome'] -oincome.get_columns(Carseats)[0][:4] -``` - -## The terms - -The design matrix consists of several sets of columns. This is managed by the `ModelSpec` through -the `terms` argument which should be a sequence. The elements of `terms` are often -going to be strings (or tuples of strings for interactions, see below) but are converted to a -`Variable` object and stored in the `terms_` of the fitted `ModelSpec`. A `Variable` is just a named tuple. - -```{code-cell} ipython3 -design.terms -``` - -```{code-cell} ipython3 -design.terms_ -``` - -While each `Column` can itself extract data, they are all promoted to `Variable` to be of a uniform type. A -`Variable` can also create columns through the `build_columns` method of `ModelSpec` - -```{code-cell} ipython3 -price = design.terms_[0] -design.build_columns(Carseats, price) -``` - -Note that `Variable` objects have a tuple of `variables` as well as an `encoder` attribute. The -tuple of `variables` first creates a concatenated dataframe from all corresponding variables and then -is run through `encoder.transform`. The `encoder.fit` method of each `Variable` is run once during -the call to `ModelSpec.fit`. - -```{code-cell} ipython3 -from ISLP.models.model_spec import Variable - -new_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=None) -design.build_columns(Carseats, new_var) -``` - -Let's now transform these columns with an encoder. Within `ModelSpec` we will first build the -arrays above and then call `pca.fit` and finally `pca.transform` within `design.build_columns`. - -```{code-cell} ipython3 -from sklearn.decomposition import PCA -pca = PCA(n_components=2) -pca.fit(design.build_columns(Carseats, new_var)[0]) # this is done within `ModelSpec.fit` -pca_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=pca) -design.build_columns(Carseats, pca_var) -``` - -The elements of the `variables` attribute may be column identifiers ( `"Price"`), `Column` instances (`price`) -or `Variable` instances (`pca_var`). - -```{code-cell} ipython3 -fancy_var = Variable(('Price', price, pca_var), name='fancy', encoder=None) -design.build_columns(Carseats, fancy_var) -``` - -We can of course run PCA again on these features (if we wanted). - -```{code-cell} ipython3 -pca2 = PCA(n_components=2) -pca2.fit(design.build_columns(Carseats, fancy_var)[0]) # this is done within `ModelSpec.fit` -pca2_var = Variable(('Price', price, pca_var), name='fancy_pca', encoder=pca2) -design.build_columns(Carseats, pca2_var) -``` - -## Building the design matrix - -With these notions in mind, the final design is essentially then - -```{code-cell} ipython3 -X_hand = np.column_stack([design.build_columns(Carseats, v)[0] for v in design.terms_])[:4] -``` - -An intercept column is added if `design.intercept` is `True` and if the original argument to `transform` is -a dataframe the index is adjusted accordingly. - -```{code-cell} ipython3 -design.intercept -``` - -```{code-cell} ipython3 -design.transform(Carseats)[:4] -``` - -## Predicting - -Constructing the design matrix at any values is carried out by the `transform` method. - -```{code-cell} ipython3 -new_data = pd.DataFrame({'Price':[10,20], 'Income':[40, 50]}) -new_X = design.transform(new_data) -M.get_prediction(new_X).predicted_mean -``` - -```{code-cell} ipython3 -%%R -i new_data,Carseats -predict(lm(Sales ~ Price + Income, data=Carseats), new_data) -``` - -### Difference between using `pd.DataFrame` and `np.ndarray` - -If the `terms` only refer to a few columns of the data frame, the `transform` method only needs a dataframe with those columns. - -If we had used an `np.ndarray`, the column identifiers would be integers identifying specific columns so, -in order to work correctly, `transform` would need another `np.ndarray` where the columns have the same meaning. - -```{code-cell} ipython3 -Carseats_np = np.asarray(Carseats[['Price', 'ShelveLoc', 'US', 'Income']]) -design_np = ModelSpec([0,3]).fit(Carseats_np) -design_np.transform(Carseats_np)[:4] -``` - -The following will fail for hopefully obvious reasons - -```{code-cell} ipython3 -try: - new_D = np.zeros((2,2)) - new_D[:,0] = [10,20] - new_D[:,1] = [40,50] - M.get_prediction(new_D).predicted_mean -except ValueError as e: - print(e) -``` - -Ultimately, `M` expects 3 columns for new predictions because it was fit -with a matrix having 3 columns (the first representing an intercept). - -We might be tempted to try as with the `pd.DataFrame` and produce -an `np.ndarray` with only the necessary variables. - -```{code-cell} ipython3 -try: - new_X = np.zeros((2,2)) - new_X[:,0] = [10,20] - new_X[:,1] = [40,50] - new_D = design_np.transform(new_X) - M.get_prediction(new_D).predicted_mean -except IndexError as e: - print(e) -``` - -This fails because `design_np` is looking for column `3` from its `terms`: - -```{code-cell} ipython3 -design_np.terms_ -``` - -However, if we have an `np.ndarray` in which the first column indeed represents `Price` and the fourth indeed -represents `Income` then we can arrive at the correct answer by supplying such the array to `design_np.transform`: - -```{code-cell} ipython3 -new_X = np.zeros((2,4)) -new_X[:,0] = [10,20] -new_X[:,3] = [40,50] -new_D = design_np.transform(new_X) -M.get_prediction(new_D).predicted_mean -``` - -Given this subtlety about needing to supply arrays with identical column structure to `transform` when -using `np.ndarray` we presume that using a `pd.DataFrame` will be the more popular use case. - -+++ - -## A model with some categorical variables - -Categorical variables become `Column` instances with encoders. - -```{code-cell} ipython3 -design = ModelSpec(['Population', 'Price', 'UIncome', 'ShelveLoc']).fit(Carseats) -design.column_info_['UIncome'] -``` - -```{code-cell} ipython3 -X = design.fit_transform(Carseats) -X.columns -``` - -```{code-cell} ipython3 -sm.OLS(Y, X).fit().params -``` - -```{code-cell} ipython3 -%%R -lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef -``` - -## Getting the encoding you want - -By default the level dropped by `ModelSpec` will be the first of the `categories_` values from -`sklearn.preprocessing.OneHotEncoder()`. We might wish to change this. It seems -as if the correct way to do this would be something like `Variable(('UIncome',), 'mynewencoding', new_encoder)` -where `new_encoder` would somehow drop the column we want dropped. - -However, when using the convenient identifier `UIncome` in the `variables` argument, this maps to the `Column` associated to `UIncome` within `design.column_info_`: - -```{code-cell} ipython3 -design.column_info_['UIncome'] -``` - -This column already has an encoder and `Column` instances are immutable as named tuples. Further, there are times when -we may want to encode `UIncome` differently within the same model. In the model below the main effect of `UIncome` is encoded with two columns while in the interaction `UIncome` (see below) has three columns. This is a design of interest -and we need a way to allow different encodings of the same column of `Carseats` - -```{code-cell} ipython3 -%%R -lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats) -``` - - We can create a new -`Column` with the encoder we want. For categorical variables, there is a convenience function to do so. - -```{code-cell} ipython3 -from ISLP.models.model_spec import contrast -pref_encoding = contrast('UIncome', 'drop', 'L') -``` - -```{code-cell} ipython3 -design.build_columns(Carseats, pref_encoding) -``` - -```{code-cell} ipython3 -design = ModelSpec(['Population', 'Price', pref_encoding, 'ShelveLoc']).fit(Carseats) -X = design.fit_transform(Carseats) -X.columns -``` - -```{code-cell} ipython3 -sm.OLS(Y, X).fit().params -``` - -```{code-cell} ipython3 -%%R -lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef -``` - -## Interactions - -We've referred to interactions above. These are specified (by convenience) as tuples in the `terms` argument -to `ModelSpec`. - -```{code-cell} ipython3 -design = ModelSpec([('UIncome', 'ShelveLoc'), 'UIncome']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` - -The tuples in `terms` are converted to `Variable` in the formalized `terms_` attribute by creating a `Variable` with -`variables` set to the tuple and the encoder an `Interaction` encoder which (unsurprisingly) creates the interaction columns from the concatenated data frames of `UIncome` and `ShelveLoc`. - -```{code-cell} ipython3 -design.terms_[0] -``` - -Comparing this to the previous `R` model. - -```{code-cell} ipython3 -%%R -lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats) -``` - -We note a few important things: - -1. `R` has reorganized the columns of the design from the formula: although we wrote `UIncome:ShelveLoc` first these -columns have been built later. **`ModelSpec` builds columns in the order determined by `terms`!** - -2. As noted above, `R` has encoded `UIncome` differently in the main effect and in the interaction. For `ModelSpec`, the reference to `UIncome` always refers to the column in `design.column_info_` and will always build only the columns for `L` and `M`. **`ModelSpec` does no inspection of terms to decide how to encode categorical variables.** - -A few notes: - -- **Why not try to inspect the terms?** For any nontrivial formula in `R` with several categorical variables and interactions, predicting what columns will be produced from a given formula is not simple. **`ModelSpec` errs on the side of being explicit.** -- **Is it impossible to build the design as `R` has?** No. An advanced user who *knows* they want the columns built as `R` has can do so (fairly) easily. - -```{code-cell} ipython3 -full_encoding = contrast('UIncome', None) -design.build_columns(Carseats, full_encoding) -``` - -```{code-cell} ipython3 -design = ModelSpec([pref_encoding, (full_encoding, 'ShelveLoc')]) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` - -## Special encodings - -For flexible models, we may want to consider transformations of features, i.e. polynomial -or spline transformations. Given transforms that follow the `fit/transform` paradigm -we can of course achieve this with a `Column` and an `encoder`. The `ISLP.transforms` -package includes a `Poly` transform - -```{code-cell} ipython3 -from ISLP.models.model_spec import poly -poly('Income', 3) -``` - -```{code-cell} ipython3 -design = ModelSpec([poly('Income', 3), 'ShelveLoc']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` - -Compare: - -```{code-cell} ipython3 -%%R -lm(Sales ~ poly(Income, 3) + ShelveLoc, data=Carseats)$coef -``` - -## Splines - -Support for natural and B-splines is also included - -```{code-cell} ipython3 -from ISLP.models.model_spec import ns, bs, pca -design = ModelSpec([ns('Income', df=5), 'ShelveLoc']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` - -```{code-cell} ipython3 -%%R -library(splines) -lm(Sales ~ ns(Income, df=5) + ShelveLoc, data=Carseats)$coef -``` - -```{code-cell} ipython3 -design = ModelSpec([bs('Income', df=7, degree=2), 'ShelveLoc']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` - -```{code-cell} ipython3 -%%R -lm(Sales ~ bs(Income, df=7, degree=2) + ShelveLoc, data=Carseats)$coef -``` - -## PCA - -```{code-cell} ipython3 -design = ModelSpec([pca(['Income', - 'Price', - 'Advertising', - 'Population'], - n_components=2, - name='myvars'), 'ShelveLoc']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` +In this lab we illustrate how to run forward stepwise model selection +using the model specification capability of `ModelSpec`. ```{code-cell} ipython3 -%%R -lm(Sales ~ prcomp(cbind(Income, Price, Advertising, Population))$x[,1:2] + ShelveLoc, data=Carseats) -``` - -It is of course common to scale before running PCA. - -```{code-cell} ipython3 -design = ModelSpec([pca(['Income', - 'Price', - 'Advertising', - 'Population'], - n_components=2, - name='myvars', - scale=True), 'ShelveLoc']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` - -```{code-cell} ipython3 -%%R -lm(Sales ~ prcomp(cbind(Income, Price, Advertising, Population), scale=TRUE)$x[,1:2] + ShelveLoc, data=Carseats) -``` - -There will be some small differences in the coefficients due to `sklearn` use of `np.std(ddof=0)` instead -of `np.std(ddof=1)`. - -```{code-cell} ipython3 -np.array(sm.OLS(Y, X).fit().params)[1:3] * np.sqrt(X.shape[0] / (X.shape[0]-1)) -``` - -## Model selection - -Another task requiring different design matrices is model selection. Manipulating -the `terms` attribute of a `ModelSpec` (or more precisely its more uniform version `terms_`) -can clearly allow for both exhaustive and stepwise model selection. - -```{code-cell} ipython3 -from ISLP.models.strategy import (Stepwise, - min_max) -from ISLP.models.generic_selector import FeatureSelector -``` - -### Best subsets - -```{code-cell} ipython3 -design = ModelSpec(['Price', - 'UIncome', - 'Advertising', - 'US', - 'Income', - 'ShelveLoc', - 'Education', - 'Urban']).fit(Carseats) -strategy = min_max(design, - min_terms=0, - max_terms=3) -``` - -```{code-cell} ipython3 -from sklearn.linear_model import LinearRegression -selector = FeatureSelector(LinearRegression(fit_intercept=False), - strategy, - scoring='neg_mean_squared_error') -``` - -```{code-cell} ipython3 -selector.fit(Carseats, Y) -``` - -```{code-cell} ipython3 -selector.selected_state_ -``` - -```{code-cell} ipython3 -selector.results_.keys() -``` - -```{code-cell} ipython3 -strategy = min_max(design, - min_terms=0, - max_terms=3, - lower_terms=['Price'], - upper_terms=['Price', 'Income', 'Advertising']) -selector = FeatureSelector(LinearRegression(fit_intercept=False), - strategy, - scoring='neg_mean_squared_error') -selector.fit(Carseats, Y) -selector.selected_state_ -``` - -```{code-cell} ipython3 -selector.results_.keys() +import numpy as np +import pandas as pd +from statsmodels.api import OLS +from ISLP import load_data +from ISLP.models import (ModelSpec, + Stepwise, + sklearn_selected) ``` -### Stepwise selection +### Forward Selection + +We will apply the forward-selection approach to the `Hitters` +data. We wish to predict a baseball player’s `Salary` on the +basis of various statistics associated with performance in the +previous year. ```{code-cell} ipython3 -strategy = Stepwise.first_peak(design, - min_terms=0, - max_terms=6, - lower_terms=['Price'], - upper_terms=['Price', 'Income', 'Advertising', 'ShelveLoc', 'UIncome', 'US' - 'Education', 'Urban']) -selector = FeatureSelector(LinearRegression(fit_intercept=False), - strategy, - scoring='neg_mean_squared_error', - cv=3) -selector.fit(Carseats, Y) -selector.selected_state_ +Hitters = load_data('Hitters') +np.isnan(Hitters['Salary']).sum() ``` -```{code-cell} ipython3 -selector.results_.keys() -``` - -```{code-cell} ipython3 -selector.results_ -``` + + We see that `Salary` is missing for 59 players. The +`dropna()` method of data frames removes all of the rows that have missing +values in any variable (by default --- see `Hitters.dropna?`). ```{code-cell} ipython3 -selector.selected_state_ +Hitters = Hitters.dropna() +Hitters.shape ``` -### Enforcing constraints - -In models with interactions, we may often want to impose constraints on interactions and main effects. -This can be achieved here by use of a `validator` that checks whether a given model is valid. - -Suppose we want to have the following constraint: `ShelveLoc` may not be in the model unless -`Price` is in the following model. +We first choose the best model using forward selection based on AIC. This score +is not built in as a metric to `sklearn`. We therefore define a function to compute it ourselves, and use +it as a scorer. By default, `sklearn` tries to maximize a score, hence + our scoring function computes the negative AIC statistic. ```{code-cell} ipython3 -design = ModelSpec(['Price', - 'Advertising', - 'Income', - 'ShelveLoc']).fit(Carseats) +def negAIC(estimator, X, Y): + "Negative AIC" + n, p = X.shape + Yhat = estimator.predict(X) + MSE = np.mean((Y - Yhat)**2) + return n + n * np.log(MSE) + 2 * (p + 1) + ``` -The constraints are described with a boolean matrix with `(i,j)` as `j` is a child of `i`: so `j` should not -be in the model when `i` is not and enforced with a callable `validator` that evaluates each candidate state. - -Both `min_max_strategy` and `step_strategy` accept a `validator` argument. +We need to estimate the residual variance $\sigma^2$, which is the first argument in our scoring function above. +We will fit the biggest model, using all the variables, and estimate $\sigma^2$ based on its MSE. ```{code-cell} ipython3 -from ISLP.models.strategy import validator_from_constraints -constraints = np.zeros((4, 4)) -constraints[0,3] = 1 -strategy = min_max(design, - min_terms=0, - max_terms=4, - validator=validator_from_constraints(design, - constraints)) -selector = FeatureSelector(LinearRegression(fit_intercept=False), - strategy, - scoring='neg_mean_squared_error', - cv=3) -selector.fit(Carseats, Y) -selector.results_.keys() +design = ModelSpec(Hitters.columns.drop('Salary')).fit(Hitters) +Y = np.array(Hitters['Salary']) +X = design.transform(Hitters) ``` -```{code-cell} ipython3 -selector.selected_state_ -``` - -```{code-cell} ipython3 -Hitters=load_data('Hitters') -``` +Along with a score we need to specify the search strategy. This is done through the object +`Stepwise()` in the `ISLP.models` package. The method `Stepwise.first_peak()` +runs forward stepwise until any further additions to the model do not result +in an improvement in the evaluation score. Similarly, the method `Stepwise.fixed_steps()` +runs a fixed number of steps of stepwise search. ```{code-cell} ipython3 -Hitters.columns -``` - -```{code-cell} ipython3 -Hitters = Hitters.dropna() -Y=Hitters['Salary'] -X=Hitters.drop('Salary', axis=1) -design = ModelSpec(X.columns).fit(X) strategy = Stepwise.first_peak(design, direction='forward', - min_terms=0, - max_terms=19) -selector = FeatureSelector(LinearRegression(fit_intercept=False), - strategy, - scoring='neg_mean_squared_error', cv=None) -selector.fit(X, Y) -selector.results_.keys() + max_terms=len(design.terms)) ``` -```{code-cell} ipython3 -len(selector.selected_state_) -``` + +We now fit a linear regression model with `Salary` as outcome using forward +selection. To do so, we use the function `sklearn_selected()` from the `ISLP.models` package. This takes +a model from `statsmodels` along with a search strategy and selects a model with its +`fit` method. Without specifying a `scoring` argument, the score defaults to MSE, and so all 19 variables will be +selected. ```{code-cell} ipython3 -len(X.columns) +hitters_MSE = sklearn_selected(OLS, + strategy) +hitters_MSE.fit(Hitters, Y) +hitters_MSE.selected_state_ ``` -```{code-cell} ipython3 -%%R -i Hitters -step(lm(Salary ~ 1, data=Hitters), scope=list(upper=lm(Salary ~ ., data=Hitters)), direction='forward', trace=TRUE) -``` + Using `neg_Cp` results in a smaller model, as expected, with just 4variables selected. ```{code-cell} ipython3 - -``` - -```{code-cell} ipython3 - -``` - -```{code-cell} ipython3 - +hitters_Cp = sklearn_selected(OLS, + strategy, + scoring=negAIC) +hitters_Cp.fit(Hitters, Y) +hitters_Cp.selected_state_ ``` diff --git a/docs/jupyterbook/models/spec.ipynb b/docs/jupyterbook/models/spec.ipynb index b60e402..fce6b32 100644 --- a/docs/jupyterbook/models/spec.ipynb +++ b/docs/jupyterbook/models/spec.ipynb @@ -7,7 +7,14 @@ "source": [ "# Building design matrices with `ModelSpec`\n", "\n", - "Force rebuild" + "The `ISLP` package provides a facility to build design\n", + "matrices for regression and classification tasks. It provides similar functionality to the formula\n", + "notation of `R` though uses python objects rather than specification through the special formula syntax.\n", + "\n", + "Related tools include `patsy` and `ColumnTransformer` from `sklearn.compose`. \n", + "\n", + "Perhaps the most common use is to extract some columns from a `pd.DataFrame` and \n", + "produce a design matrix, optionally with an intercept." ] }, { @@ -17,12 +24,15 @@ "metadata": {}, "outputs": [], "source": [ - "x=4\n", - "import numpy as np, pandas as pd\n", - "%load_ext rpy2.ipython\n", + "import pandas as pd\n", + "import numpy as np\n", "\n", "from ISLP import load_data\n", - "from ISLP.models import ModelSpec\n", + "from ISLP.models import (ModelSpec,\n", + " summarize,\n", + " Column,\n", + " Feature,\n", + " build_columns)\n", "\n", "import statsmodels.api as sm" ] @@ -48,40 +58,42 @@ ], "source": [ "Carseats = load_data('Carseats')\n", - "%R -i Carseats\n", "Carseats.columns" ] }, { "cell_type": "markdown", - "id": "excellent-hamilton", + "id": "b7a2e6ab-491d-4a57-8184-a9fcccb2047b", "metadata": {}, "source": [ - "## Let's break up income into groups" + "We'll first build a design matrix that we can use to model `Sales`\n", + "in terms of the categorical variable `ShelveLoc` and `Price`.\n", + "\n", + "We see first that `ShelveLoc` is a categorical variable:" ] }, { "cell_type": "code", "execution_count": 3, - "id": "going-administrator", + "id": "7d3642a6-90c6-48ad-8d35-88231b4991f8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0 M\n", - "1 L\n", - "2 L\n", - "3 H\n", - "4 M\n", - " ..\n", - "395 H\n", - "396 L\n", - "397 L\n", - "398 M\n", - "399 L\n", - "Name: OIncome, Length: 400, dtype: category\n", - "Categories (3, object): ['L' < 'M' < 'H']" + "0 Bad\n", + "1 Good\n", + "2 Medium\n", + "3 Medium\n", + "4 Bad\n", + " ... \n", + "395 Good\n", + "396 Medium\n", + "397 Medium\n", + "398 Bad\n", + "399 Good\n", + "Name: ShelveLoc, Length: 400, dtype: category\n", + "Categories (3, object): ['Bad', 'Good', 'Medium']" ] }, "execution_count": 3, @@ -90,42 +102,142 @@ } ], "source": [ - "Carseats['OIncome'] = pd.cut(Carseats['Income'], \n", - " [0,50,90,200], \n", - " labels=['L','M','H'])\n", - "Carseats['OIncome']" + "Carseats['ShelveLoc']" ] }, { "cell_type": "markdown", - "id": "warming-mobile", + "id": "4afa201d-4b19-4d85-9e1b-1392a54d027b", "metadata": {}, "source": [ - "Let's also create an unordered version" + "This is recognized by `ModelSpec` and only 2 columns are added for the three levels. The\n", + "default behavior is to drop the first level of the categories. Later, \n", + "we will show other contrasts of the 3 columns can be produced. \n", + "\n", + "This simple example below illustrates how the first argument (its `terms`) is\n", + "used to construct a design matrix." ] }, { "cell_type": "code", "execution_count": 4, - "id": "varying-fourth", + "id": "fd5528fe-11da-4e10-8996-06085896c1a0", "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
interceptShelveLoc[Good]ShelveLoc[Medium]Price
01.00.00.0120
11.01.00.083
21.00.01.080
31.00.01.097
41.00.00.0128
51.00.00.072
61.00.01.0108
71.01.00.0120
81.00.01.0124
91.00.01.0124
\n", + "
" + ], "text/plain": [ - "0 M\n", - "1 L\n", - "2 L\n", - "3 H\n", - "4 M\n", - " ..\n", - "395 H\n", - "396 L\n", - "397 L\n", - "398 M\n", - "399 L\n", - "Name: UIncome, Length: 400, dtype: category\n", - "Categories (3, object): ['L', 'M', 'H']" + " intercept ShelveLoc[Good] ShelveLoc[Medium] Price\n", + "0 1.0 0.0 0.0 120\n", + "1 1.0 1.0 0.0 83\n", + "2 1.0 0.0 1.0 80\n", + "3 1.0 0.0 1.0 97\n", + "4 1.0 0.0 0.0 128\n", + "5 1.0 0.0 0.0 72\n", + "6 1.0 0.0 1.0 108\n", + "7 1.0 1.0 0.0 120\n", + "8 1.0 0.0 1.0 124\n", + "9 1.0 0.0 1.0 124" ] }, "execution_count": 4, @@ -134,31 +246,129 @@ } ], "source": [ - "Carseats['UIncome'] = pd.cut(Carseats['Income'], \n", - " [0,50,90,200], \n", - " labels=['L','M','H'],\n", - " ordered=False)\n", - "Carseats['UIncome']" + "MS = ModelSpec(['ShelveLoc', 'Price'])\n", + "X = MS.fit_transform(Carseats)\n", + "X.iloc[:10]" ] }, { "cell_type": "markdown", - "id": "utility-viking", + "id": "6948e1ef-3685-4840-a4f2-ef15a1bcfb69", "metadata": {}, "source": [ - "## A simple model" + "We note that a column has been added for the intercept by default. This can be changed using the\n", + "`intercept` argument." ] }, { "cell_type": "code", "execution_count": 5, - "id": "unlikely-begin", + "id": "682d4c81-eba9-467d-a176-911a0269a21d", "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ShelveLoc[Good]ShelveLoc[Medium]Price
00.00.0120
11.00.083
20.01.080
30.01.097
40.00.0128
50.00.072
60.01.0108
71.00.0120
80.01.0124
90.01.0124
\n", + "
" + ], "text/plain": [ - "Index(['intercept', 'Price', 'Income'], dtype='object')" + " ShelveLoc[Good] ShelveLoc[Medium] Price\n", + "0 0.0 0.0 120\n", + "1 1.0 0.0 83\n", + "2 0.0 1.0 80\n", + "3 0.0 1.0 97\n", + "4 0.0 0.0 128\n", + "5 0.0 0.0 72\n", + "6 0.0 1.0 108\n", + "7 1.0 0.0 120\n", + "8 0.0 1.0 124\n", + "9 0.0 1.0 124" ] }, "execution_count": 5, @@ -167,24 +377,143 @@ } ], "source": [ - "design = ModelSpec(['Price', 'Income'])\n", - "X = design.fit_transform(Carseats)\n", - "X.columns" + "MS_no1 = ModelSpec(['ShelveLoc', 'Price'], intercept=False)\n", + "MS_no1.fit_transform(Carseats)[:10]" + ] + }, + { + "cell_type": "markdown", + "id": "54d8fd20-d8f5-44d6-9965-83e745680798", + "metadata": {}, + "source": [ + "We see that `ShelveLoc` still only contributes\n", + "two columns to the design. The `ModelSpec` object does no introspection of its arguments to effectively include an intercept term\n", + "in the column space of the design matrix.\n", + "\n", + "To include this intercept via `ShelveLoc` we can use 3 columns to encode this categorical variable. Following the nomenclature of\n", + "`R`, we call this a `Contrast` of the categorical variable." ] }, { "cell_type": "code", "execution_count": 6, - "id": "driven-employee", + "id": "555734bb-2682-4721-a1cd-6fb207394b0e", "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ShelveLoc[Bad]ShelveLoc[Good]ShelveLoc[Medium]Price
01.00.00.0120
10.01.00.083
20.00.01.080
30.00.01.097
41.00.00.0128
51.00.00.072
60.00.01.0108
70.01.00.0120
80.00.01.0124
90.00.01.0124
\n", + "
" + ], "text/plain": [ - "intercept 12.661546\n", - "Price -0.052213\n", - "Income 0.012829\n", - "dtype: float64" + " ShelveLoc[Bad] ShelveLoc[Good] ShelveLoc[Medium] Price\n", + "0 1.0 0.0 0.0 120\n", + "1 0.0 1.0 0.0 83\n", + "2 0.0 0.0 1.0 80\n", + "3 0.0 0.0 1.0 97\n", + "4 1.0 0.0 0.0 128\n", + "5 1.0 0.0 0.0 72\n", + "6 0.0 0.0 1.0 108\n", + "7 0.0 1.0 0.0 120\n", + "8 0.0 0.0 1.0 124\n", + "9 0.0 0.0 1.0 124" ] }, "execution_count": 6, @@ -193,45 +522,32 @@ } ], "source": [ - "Y = Carseats['Sales']\n", - "M = sm.OLS(Y, X).fit()\n", - "M.params" + "from ISLP.models import contrast\n", + "shelve = contrast('ShelveLoc', None)\n", + "MS_contr = ModelSpec([shelve, 'Price'], intercept=False)\n", + "MS_contr.fit_transform(Carseats)[:10]" ] }, { "cell_type": "markdown", - "id": "secondary-winner", + "id": "66db03cf-489c-40b6-8fac-762d66cf9932", "metadata": {}, "source": [ - "## Basic procedure\n", - "\n", - "The design matrix is built by cobbling together a set of columns and possibly transforming them.\n", - "A `pd.DataFrame` is essentially a list of columns. One of the first tasks done in `ModelSpec.fit`\n", - "is to inspect a dataframe for column info. The column `ShelveLoc` is categorical:" + "This example above illustrates that columns need not be identified by name in `terms`. The basic\n", + "role of an item in the `terms` sequence is a description of how to extract a column\n", + "from a columnar data object, usually a `pd.DataFrame`." ] }, { "cell_type": "code", "execution_count": 7, - "id": "bored-making", + "id": "852ee40e-05d2-4785-ab7d-968fb087f3c0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0 Bad\n", - "1 Good\n", - "2 Medium\n", - "3 Medium\n", - "4 Bad\n", - " ... \n", - "395 Good\n", - "396 Medium\n", - "397 Medium\n", - "398 Bad\n", - "399 Good\n", - "Name: ShelveLoc, Length: 400, dtype: category\n", - "Categories (3, object): ['Bad', 'Good', 'Medium']" + "Column(idx='ShelveLoc', name='ShelveLoc', is_categorical=True, is_ordinal=False, columns=(), encoder=Contrast(method=None))" ] }, "execution_count": 7, @@ -240,28 +556,36 @@ } ], "source": [ - "Carseats['ShelveLoc']" + "shelve" ] }, { "cell_type": "markdown", - "id": "phantom-assurance", + "id": "b3be8808-1dbf-4154-882b-f61656a2ed4e", "metadata": {}, "source": [ - "This is recognized by `ModelSpec` in the form of `Column` objects which are just named tuples with two methods\n", - "`get_columns` and `fit_encoder`." + "The `Column` object can be used to directly extract relevant columns from a `pd.DataFrame`. If the `encoder` field is not\n", + "`None`, then the extracted columns will be passed through `encoder`.\n", + "The `get_columns` method produces these columns as well as names for the columns." ] }, { "cell_type": "code", "execution_count": 8, - "id": "blind-harvest", + "id": "0ebadfc0-0ea2-4abc-aac6-ef78be227ce1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Column(idx='ShelveLoc', name='ShelveLoc', is_categorical=True, is_ordinal=False, columns=('ShelveLoc[Good]', 'ShelveLoc[Medium]'), encoder=Contrast())" + "(array([[1., 0., 0.],\n", + " [0., 1., 0.],\n", + " [0., 0., 1.],\n", + " ...,\n", + " [0., 0., 1.],\n", + " [1., 0., 0.],\n", + " [0., 1., 0.]]),\n", + " ['ShelveLoc[Bad]', 'ShelveLoc[Good]', 'ShelveLoc[Medium]'])" ] }, "execution_count": 8, @@ -270,27 +594,89 @@ } ], "source": [ - "design.column_info_['ShelveLoc']" + "shelve.get_columns(Carseats)" ] }, { "cell_type": "markdown", - "id": "suspended-affairs", + "id": "269e6d18-4ae4-4a77-8498-90281ae7c803", "metadata": {}, "source": [ - "It recognized ordinal columns as well." + "Let's now fit a simple OLS model with this design." ] }, { "cell_type": "code", "execution_count": 9, - "id": "military-locking", + "id": "411238d0-dd36-4878-a869-e8ce0ada099c", "metadata": {}, "outputs": [ { "data": { - "text/plain": [ - "Column(idx='OIncome', name='OIncome', is_categorical=True, is_ordinal=True, columns=('OIncome',), encoder=OrdinalEncoder())" + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errtP>|t|
ShelveLoc[Bad]12.00180.50323.8390.0
ShelveLoc[Good]16.89760.52232.3860.0
ShelveLoc[Medium]13.86380.48728.4670.0
Price-0.05670.004-13.9670.0
\n", + "
" + ], + "text/plain": [ + " coef std err t P>|t|\n", + "ShelveLoc[Bad] 12.0018 0.503 23.839 0.0\n", + "ShelveLoc[Good] 16.8976 0.522 32.386 0.0\n", + "ShelveLoc[Medium] 13.8638 0.487 28.467 0.0\n", + "Price -0.0567 0.004 -13.967 0.0" ] }, "execution_count": 9, @@ -299,19 +685,166 @@ } ], "source": [ - "design.column_info_['OIncome']" + "X = MS_contr.transform(Carseats)\n", + "Y = Carseats['Sales']\n", + "M_ols = sm.OLS(Y, X).fit()\n", + "summarize(M_ols)" + ] + }, + { + "cell_type": "markdown", + "id": "40ddf68e-7d58-4e30-93a8-5b7fe840d37a", + "metadata": {}, + "source": [ + "## Interactions\n", + "\n", + "One of the common uses of formulae in `R` is to specify interactions between variables.\n", + "This is done in `ModelSpec` by including a tuple in the `terms` argument." ] }, { "cell_type": "code", "execution_count": 10, - "id": "italic-shakespeare", + "id": "3f5e314c-7a7f-4e8d-bb07-295beb42c728", "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
interceptShelveLoc[Bad]:PriceShelveLoc[Good]:PriceShelveLoc[Medium]:PricePrice
01.0120.00.00.0120
11.00.083.00.083
21.00.00.080.080
31.00.00.097.097
41.0128.00.00.0128
51.072.00.00.072
61.00.00.0108.0108
71.00.0120.00.0120
81.00.00.0124.0124
91.00.00.0124.0124
\n", + "
" + ], "text/plain": [ - "(array([ 73, 48, 35, 100]), ('Income',))" + " intercept ShelveLoc[Bad]:Price ShelveLoc[Good]:Price \\\n", + "0 1.0 120.0 0.0 \n", + "1 1.0 0.0 83.0 \n", + "2 1.0 0.0 0.0 \n", + "3 1.0 0.0 0.0 \n", + "4 1.0 128.0 0.0 \n", + "5 1.0 72.0 0.0 \n", + "6 1.0 0.0 0.0 \n", + "7 1.0 0.0 120.0 \n", + "8 1.0 0.0 0.0 \n", + "9 1.0 0.0 0.0 \n", + "\n", + " ShelveLoc[Medium]:Price Price \n", + "0 0.0 120 \n", + "1 0.0 83 \n", + "2 80.0 80 \n", + "3 97.0 97 \n", + "4 0.0 128 \n", + "5 0.0 72 \n", + "6 108.0 108 \n", + "7 0.0 120 \n", + "8 124.0 124 \n", + "9 124.0 124 " ] }, "execution_count": 10, @@ -320,65 +853,71 @@ } ], "source": [ - "income = design.column_info_['Income']\n", - "cols, names = income.get_columns(Carseats)\n", - "(cols[:4], names)" + "ModelSpec([(shelve, 'Price'), 'Price']).fit_transform(Carseats).iloc[:10]" + ] + }, + { + "cell_type": "markdown", + "id": "3f85fcb2-f0ef-4c1b-a89f-fcf083937274", + "metadata": {}, + "source": [ + "The above design matrix is clearly rank deficient, as `ModelSpec` has not inspected the formula\n", + "and attempted to produce a corresponding matrix that may or may not match a user's intent." ] }, { "cell_type": "markdown", - "id": "medieval-speed", + "id": "excellent-hamilton", "metadata": {}, "source": [ - "## Encoding a column\n", + "## Ordinal variables\n", "\n", - "In building a design matrix we must extract columns from our dataframe (or `np.ndarray`). Categorical\n", - "variables usually are encoded by several columns, typically one less than the number of categories.\n", - "This task is handled by the `encoder` of the `Column`. The encoder must satisfy the `sklearn` transform\n", - "model, i.e. `fit` on some array and `transform` on future arrays. The `fit_encoder` method of `Column` fits\n", - "its encoder the first time data is passed to it." + "Ordinal variables are handled by a corresponding encoder)" ] }, { "cell_type": "code", "execution_count": 11, - "id": "public-basket", + "id": "going-administrator", + "metadata": {}, + "outputs": [], + "source": [ + "Carseats['OIncome'] = pd.cut(Carseats['Income'], \n", + " [0,50,90,200], \n", + " labels=['L','M','H'])\n", + "MS_order = ModelSpec(['OIncome']).fit(Carseats)" + ] + }, + { + "cell_type": "markdown", + "id": "5e1defb1-071b-4751-9358-b8d2f0b3412e", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([[0., 0.],\n", - " [1., 0.],\n", - " [0., 1.],\n", - " [0., 1.]]),\n", - " ['ShelveLoc[Good]', 'ShelveLoc[Medium]'])" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "shelve = design.column_info_['ShelveLoc']\n", - "cols, names = shelve.get_columns(Carseats)\n", - "(cols[:4], names)" + "Part of the `fit` method of `ModelSpec` involves inspection of the columns of `Carseats`. \n", + "The results of that inspection can be found in the `column_info_` attribute:" ] }, { "cell_type": "code", "execution_count": 12, - "id": "improved-alloy", + "id": "050fb4ae-648d-429d-9cb2-8423ad9707d7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[2.],\n", - " [1.],\n", - " [1.],\n", - " [0.]])" + "{'Sales': Column(idx='Sales', name='Sales', is_categorical=False, is_ordinal=False, columns=('Sales',), encoder=None),\n", + " 'CompPrice': Column(idx='CompPrice', name='CompPrice', is_categorical=False, is_ordinal=False, columns=('CompPrice',), encoder=None),\n", + " 'Income': Column(idx='Income', name='Income', is_categorical=False, is_ordinal=False, columns=('Income',), encoder=None),\n", + " 'Advertising': Column(idx='Advertising', name='Advertising', is_categorical=False, is_ordinal=False, columns=('Advertising',), encoder=None),\n", + " 'Population': Column(idx='Population', name='Population', is_categorical=False, is_ordinal=False, columns=('Population',), encoder=None),\n", + " 'Price': Column(idx='Price', name='Price', is_categorical=False, is_ordinal=False, columns=('Price',), encoder=None),\n", + " 'ShelveLoc': Column(idx='ShelveLoc', name='ShelveLoc', is_categorical=True, is_ordinal=False, columns=('ShelveLoc[Good]', 'ShelveLoc[Medium]'), encoder=Contrast()),\n", + " 'Age': Column(idx='Age', name='Age', is_categorical=False, is_ordinal=False, columns=('Age',), encoder=None),\n", + " 'Education': Column(idx='Education', name='Education', is_categorical=False, is_ordinal=False, columns=('Education',), encoder=None),\n", + " 'Urban': Column(idx='Urban', name='Urban', is_categorical=True, is_ordinal=False, columns=('Urban[Yes]',), encoder=Contrast()),\n", + " 'US': Column(idx='US', name='US', is_categorical=True, is_ordinal=False, columns=('US[Yes]',), encoder=Contrast()),\n", + " 'OIncome': Column(idx='OIncome', name='OIncome', is_categorical=True, is_ordinal=True, columns=('OIncome',), encoder=OrdinalEncoder())}" ] }, "execution_count": 12, @@ -387,33 +926,32 @@ } ], "source": [ - "oincome = design.column_info_['OIncome']\n", - "oincome.get_columns(Carseats)[0][:4]" + "MS_order.column_info_" ] }, { "cell_type": "markdown", - "id": "frank-mathematics", + "id": "debf7e2e-0a9d-451b-866c-66c0df9f43e5", "metadata": {}, "source": [ - "## The terms\n", + "## Structure of a `ModelSpec`\n", "\n", - "The design matrix consists of several sets of columns. This is managed by the `ModelSpec` through\n", - "the `terms` argument which should be a sequence. The elements of `terms` are often\n", - "going to be strings (or tuples of strings for interactions, see below) but are converted to a\n", - "`Variable` object and stored in the `terms_` of the fitted `ModelSpec`. A `Variable` is just a named tuple." + "The first argument to `ModelSpec` is stored as the `terms` attribute. Under the hood,\n", + "this sequence is inspected to produce the `terms_` attribute which specify the objects\n", + "that will ultimately create the design matrix." ] }, { "cell_type": "code", "execution_count": 13, - "id": "together-north", + "id": "ea51e988-0857-4d49-9987-d7531b34a233", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "['Price', 'Income']" + "[Feature(variables=('ShelveLoc',), name='ShelveLoc', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False),\n", + " Feature(variables=('Price',), name='Price', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False)]" ] }, "execution_count": 13, @@ -422,64 +960,145 @@ } ], "source": [ - "design.terms" + "MS = ModelSpec(['ShelveLoc', 'Price'])\n", + "MS.fit(Carseats)\n", + "MS.terms_" + ] + }, + { + "cell_type": "markdown", + "id": "warming-mobile", + "metadata": {}, + "source": [ + "Each element of `terms_` should be a `Feature` which describes a set of columns to be extracted from\n", + "a columnar data form as well as possible a possible encoder." ] }, { "cell_type": "code", "execution_count": 14, - "id": "chinese-necessity", + "id": "59214a70-1e6b-41c4-9f44-a92d340723c9", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Variable(variables=('Price',), name='Price', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False),\n", - " Variable(variables=('Income',), name='Income', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False)]" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "design.terms_" + "shelve_var = MS.terms_[0]" ] }, { "cell_type": "markdown", - "id": "simplified-chinese", + "id": "5fed3ea2-ff50-4e5d-819d-a948f121f9d3", "metadata": {}, "source": [ - "While each `Column` can itself extract data, they are all promoted to `Variable` to be of a uniform type. A\n", - "`Variable` can also create columns through the `build_columns` method of `ModelSpec`" + "We can find the columns associated to each term using the `build_columns` method of `ModelSpec`:" ] }, { "cell_type": "code", "execution_count": 15, - "id": "automotive-hobby", + "id": "5e25ef64-497d-4f42-9f20-3d4a320cda23", "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ShelveLoc[Good]ShelveLoc[Medium]
00.00.0
11.00.0
20.01.0
30.01.0
40.00.0
.........
3951.00.0
3960.01.0
3970.01.0
3980.00.0
3991.00.0
\n", + "

400 rows × 2 columns

\n", + "
" + ], "text/plain": [ - "( Price\n", - " 0 120\n", - " 1 83\n", - " 2 80\n", - " 3 97\n", - " 4 128\n", - " .. ...\n", - " 395 128\n", - " 396 120\n", - " 397 159\n", - " 398 95\n", - " 399 120\n", - " \n", - " [400 rows x 1 columns],\n", - " ['Price'])" + " ShelveLoc[Good] ShelveLoc[Medium]\n", + "0 0.0 0.0\n", + "1 1.0 0.0\n", + "2 0.0 1.0\n", + "3 0.0 1.0\n", + "4 0.0 0.0\n", + ".. ... ...\n", + "395 1.0 0.0\n", + "396 0.0 1.0\n", + "397 0.0 1.0\n", + "398 0.0 0.0\n", + "399 1.0 0.0\n", + "\n", + "[400 rows x 2 columns]" ] }, "execution_count": 15, @@ -488,280 +1107,37 @@ } ], "source": [ - "price = design.terms_[0]\n", - "design.build_columns(Carseats, price)" + "df, names = build_columns(MS.column_info_,\n", + " Carseats, \n", + " shelve_var)\n", + "df" ] }, { "cell_type": "markdown", - "id": "former-spring", - "metadata": {}, - "source": [ - "Note that `Variable` objects have a tuple of `variables` as well as an `encoder` attribute. The\n", - "tuple of `variables` first creates a concatenated dataframe from all corresponding variables and then\n", - "is run through `encoder.transform`. The `encoder.fit` method of each `Variable` is run once during \n", - "the call to `ModelSpec.fit`." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "floral-liabilities", + "id": "63edf7a2-e776-45b0-b434-d676d7e13dbd", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( Price Income UIncome[L] UIncome[M]\n", - " 0 120.0 73.0 0.0 1.0\n", - " 1 83.0 48.0 1.0 0.0\n", - " 2 80.0 35.0 1.0 0.0\n", - " 3 97.0 100.0 0.0 0.0\n", - " 4 128.0 64.0 0.0 1.0\n", - " .. ... ... ... ...\n", - " 395 128.0 108.0 0.0 0.0\n", - " 396 120.0 23.0 1.0 0.0\n", - " 397 159.0 26.0 1.0 0.0\n", - " 398 95.0 79.0 0.0 1.0\n", - " 399 120.0 37.0 1.0 0.0\n", - " \n", - " [400 rows x 4 columns],\n", - " ['Price', 'Income', 'UIncome[L]', 'UIncome[M]'])" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "from ISLP.models.model_spec import Variable\n", - "\n", - "new_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=None)\n", - "design.build_columns(Carseats, new_var)" + "The design matrix is constructed by running through `terms_` and concatenating the corresponding columns." ] }, { "cell_type": "markdown", - "id": "reasonable-canadian", + "id": "former-spring", "metadata": {}, "source": [ - "Let's now transform these columns with an encoder. Within `ModelSpec` we will first build the\n", - "arrays above and then call `pca.fit` and finally `pca.transform` within `design.build_columns`." + "### `Feature` objects\n", + "\n", + "Note that `Feature` objects have a tuple of `variables` as well as an `encoder` attribute. The\n", + "tuple of `variables` first creates a concatenated dataframe from all corresponding variables and then\n", + "is run through `encoder.transform`. The `encoder.fit` method of each `Feature` is run once during \n", + "the call to `ModelSpec.fit`." ] }, { "cell_type": "code", - "execution_count": 17, - "id": "imported-measure", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "( mynewvar[0] mynewvar[1]\n", - " 0 -3.608693 -4.853177\n", - " 1 15.081506 35.708630\n", - " 2 27.422871 40.774250\n", - " 3 -33.973209 13.470489\n", - " 4 6.567316 -11.290100\n", - " .. ... ...\n", - " 395 -36.846346 -18.415783\n", - " 396 45.741500 3.245602\n", - " 397 49.097533 -35.725355\n", - " 398 -13.577772 18.845139\n", - " 399 31.927566 0.978436\n", - " \n", - " [400 rows x 2 columns],\n", - " ['mynewvar[0]', 'mynewvar[1]'])" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from sklearn.decomposition import PCA\n", - "pca = PCA(n_components=2)\n", - "pca.fit(design.build_columns(Carseats, new_var)[0]) # this is done within `ModelSpec.fit`\n", - "pca_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=pca)\n", - "design.build_columns(Carseats, pca_var)" - ] - }, - { - "cell_type": "markdown", - "id": "institutional-burden", - "metadata": {}, - "source": [ - "The elements of the `variables` attribute may be column identifiers ( `\"Price\"`), `Column` instances (`price`)\n", - "or `Variable` instances (`pca_var`)." - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "western-bloom", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "( Price Price mynewvar[0] mynewvar[1]\n", - " 0 120.0 120.0 -3.608693 -4.853177\n", - " 1 83.0 83.0 15.081506 35.708630\n", - " 2 80.0 80.0 27.422871 40.774250\n", - " 3 97.0 97.0 -33.973209 13.470489\n", - " 4 128.0 128.0 6.567316 -11.290100\n", - " .. ... ... ... ...\n", - " 395 128.0 128.0 -36.846346 -18.415783\n", - " 396 120.0 120.0 45.741500 3.245602\n", - " 397 159.0 159.0 49.097533 -35.725355\n", - " 398 95.0 95.0 -13.577772 18.845139\n", - " 399 120.0 120.0 31.927566 0.978436\n", - " \n", - " [400 rows x 4 columns],\n", - " ['Price', 'Price', 'mynewvar[0]', 'mynewvar[1]'])" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "fancy_var = Variable(('Price', price, pca_var), name='fancy', encoder=None)\n", - "design.build_columns(Carseats, fancy_var)" - ] - }, - { - "cell_type": "markdown", - "id": "ordinary-newman", - "metadata": {}, - "source": [ - "We can of course run PCA again on these features (if we wanted)." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "modern-negotiation", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "( fancy_pca[0] fancy_pca[1]\n", - " 0 -6.951792 4.859283\n", - " 1 55.170148 -24.694875\n", - " 2 59.418556 -38.033572\n", - " 3 34.722389 28.922184\n", - " 4 -21.419184 -3.120673\n", - " .. ... ...\n", - " 395 -18.257348 40.760122\n", - " 396 -10.546709 -45.021658\n", - " 397 -77.706359 -37.174379\n", - " 398 36.668694 7.730851\n", - " 399 -9.540535 -31.059122\n", - " \n", - " [400 rows x 2 columns],\n", - " ['fancy_pca[0]', 'fancy_pca[1]'])" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pca2 = PCA(n_components=2)\n", - "pca2.fit(design.build_columns(Carseats, fancy_var)[0]) # this is done within `ModelSpec.fit`\n", - "pca2_var = Variable(('Price', price, pca_var), name='fancy_pca', encoder=pca2)\n", - "design.build_columns(Carseats, pca2_var)" - ] - }, - { - "cell_type": "markdown", - "id": "private-shepherd", - "metadata": {}, - "source": [ - "## Building the design matrix\n", - "\n", - "With these notions in mind, the final design is essentially then" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "hollywood-union", - "metadata": {}, - "outputs": [], - "source": [ - "X_hand = np.column_stack([design.build_columns(Carseats, v)[0] for v in design.terms_])[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "suffering-lover", - "metadata": {}, - "source": [ - "An intercept column is added if `design.intercept` is `True` and if the original argument to `transform` is\n", - "a dataframe the index is adjusted accordingly." - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "successful-express", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.intercept" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "banner-metadata", + "execution_count": 18, + "id": "floral-liabilities", "metadata": {}, "outputs": [ { @@ -785,1227 +1161,643 @@ " \n", " \n", " \n", - " intercept\n", " Price\n", " Income\n", + " OIncome\n", " \n", " \n", " \n", " \n", " 0\n", - " 1.0\n", - " 120\n", - " 73\n", + " 120.0\n", + " 73.0\n", + " 2.0\n", " \n", " \n", " 1\n", + " 83.0\n", + " 48.0\n", " 1.0\n", - " 83\n", - " 48\n", " \n", " \n", " 2\n", + " 80.0\n", + " 35.0\n", " 1.0\n", - " 80\n", - " 35\n", " \n", " \n", " 3\n", + " 97.0\n", + " 100.0\n", + " 0.0\n", + " \n", + " \n", + " 4\n", + " 128.0\n", + " 64.0\n", + " 2.0\n", + " \n", + " \n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " \n", + " \n", + " 395\n", + " 128.0\n", + " 108.0\n", + " 0.0\n", + " \n", + " \n", + " 396\n", + " 120.0\n", + " 23.0\n", + " 1.0\n", + " \n", + " \n", + " 397\n", + " 159.0\n", + " 26.0\n", + " 1.0\n", + " \n", + " \n", + " 398\n", + " 95.0\n", + " 79.0\n", + " 2.0\n", + " \n", + " \n", + " 399\n", + " 120.0\n", + " 37.0\n", " 1.0\n", - " 97\n", - " 100\n", " \n", " \n", "\n", + "

400 rows × 3 columns

\n", "" ], "text/plain": [ - " intercept Price Income\n", - "0 1.0 120 73\n", - "1 1.0 83 48\n", - "2 1.0 80 35\n", - "3 1.0 97 100" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.transform(Carseats)[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "absent-branch", - "metadata": {}, - "source": [ - "## Predicting\n", - "\n", - "Constructing the design matrix at any values is carried out by the `transform` method." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "naked-hollywood", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([12.65257604, 12.25873428])" + " Price Income OIncome\n", + "0 120.0 73.0 2.0\n", + "1 83.0 48.0 1.0\n", + "2 80.0 35.0 1.0\n", + "3 97.0 100.0 0.0\n", + "4 128.0 64.0 2.0\n", + ".. ... ... ...\n", + "395 128.0 108.0 0.0\n", + "396 120.0 23.0 1.0\n", + "397 159.0 26.0 1.0\n", + "398 95.0 79.0 2.0\n", + "399 120.0 37.0 1.0\n", + "\n", + "[400 rows x 3 columns]" ] }, - "execution_count": 23, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "new_data = pd.DataFrame({'Price':[10,20], 'Income':[40, 50]})\n", - "new_X = design.transform(new_data)\n", - "M.get_prediction(new_X).predicted_mean" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "iraqi-divorce", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 0 1 \n", - "12.65258 12.25873 \n" - ] - } - ], - "source": [ - "%%R -i new_data,Carseats\n", - "predict(lm(Sales ~ Price + Income, data=Carseats), new_data)" + "new_var = Feature(('Price', 'Income', 'OIncome'), name='mynewvar', encoder=None)\n", + "build_columns(MS.column_info_,\n", + " Carseats, \n", + " new_var)[0]" ] }, { "cell_type": "markdown", - "id": "signal-yahoo", + "id": "reasonable-canadian", "metadata": {}, "source": [ - "### Difference between using `pd.DataFrame` and `np.ndarray`\n", - "\n", - "If the `terms` only refer to a few columns of the data frame, the `transform` method only needs a dataframe with those columns.\n", - "\n", - "If we had used an `np.ndarray`, the column identifiers would be integers identifying specific columns so,\n", - "in order to work correctly, `transform` would need another `np.ndarray` where the columns have the same meaning." + "Let's now transform these columns with an encoder. Within `ModelSpec` we will first build the\n", + "arrays above and then call `pca.fit` and finally `pca.transform` within `design.build_columns`." ] }, { "cell_type": "code", - "execution_count": 25, - "id": "completed-surveillance", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[1.0, 120, 73],\n", - " [1.0, 83, 48],\n", - " [1.0, 80, 35],\n", - " [1.0, 97, 100]], dtype=object)" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats_np = np.asarray(Carseats[['Price', 'ShelveLoc', 'US', 'Income']])\n", - "design_np = ModelSpec([0,3]).fit(Carseats_np)\n", - "design_np.transform(Carseats_np)[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "undefined-sacrifice", - "metadata": {}, - "source": [ - "The following will fail for hopefully obvious reasons" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "incredible-concert", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "shapes (2,2) and (3,) not aligned: 2 (dim 1) != 3 (dim 0)\n" - ] - } - ], - "source": [ - "try:\n", - " new_D = np.zeros((2,2))\n", - " new_D[:,0] = [10,20]\n", - " new_D[:,1] = [40,50]\n", - " M.get_prediction(new_D).predicted_mean\n", - "except ValueError as e:\n", - " print(e)" - ] - }, - { - "cell_type": "markdown", - "id": "allied-botswana", - "metadata": {}, - "source": [ - "Ultimately, `M` expects 3 columns for new predictions because it was fit\n", - "with a matrix having 3 columns (the first representing an intercept).\n", - "\n", - "We might be tempted to try as with the `pd.DataFrame` and produce\n", - "an `np.ndarray` with only the necessary variables." - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "stunning-container", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "index 3 is out of bounds for axis 1 with size 2\n" - ] - } - ], - "source": [ - "try:\n", - " new_X = np.zeros((2,2))\n", - " new_X[:,0] = [10,20]\n", - " new_X[:,1] = [40,50]\n", - " new_D = design_np.transform(new_X)\n", - " M.get_prediction(new_D).predicted_mean\n", - "except IndexError as e:\n", - " print(e)" - ] - }, - { - "cell_type": "markdown", - "id": "specific-tobacco", - "metadata": {}, - "source": [ - "This fails because `design_np` is looking for column `3` from its `terms`:" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "latin-publisher", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Variable(variables=(0,), name='0', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False),\n", - " Variable(variables=(3,), name='3', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False)]" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design_np.terms_" - ] - }, - { - "cell_type": "markdown", - "id": "rocky-franchise", - "metadata": {}, - "source": [ - "However, if we have an `np.ndarray` in which the first column indeed represents `Price` and the fourth indeed\n", - "represents `Income` then we can arrive at the correct answer by supplying such the array to `design_np.transform`:" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "returning-matthew", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([12.65257604, 12.25873428])" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "new_X = np.zeros((2,4))\n", - "new_X[:,0] = [10,20]\n", - "new_X[:,3] = [40,50]\n", - "new_D = design_np.transform(new_X)\n", - "M.get_prediction(new_D).predicted_mean" - ] - }, - { - "cell_type": "markdown", - "id": "sapphire-adelaide", - "metadata": {}, - "source": [ - "Given this subtlety about needing to supply arrays with identical column structure to `transform` when\n", - "using `np.ndarray` we presume that using a `pd.DataFrame` will be the more popular use case." - ] - }, - { - "cell_type": "markdown", - "id": "standing-involvement", - "metadata": {}, - "source": [ - "## A model with some categorical variables\n", - "\n", - "Categorical variables become `Column` instances with encoders." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "taken-university", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='UIncome', name='UIncome', is_categorical=True, is_ordinal=False, columns=('UIncome[L]', 'UIncome[M]'), encoder=Contrast())" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Population', 'Price', 'UIncome', 'ShelveLoc']).fit(Carseats)\n", - "design.column_info_['UIncome']" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "rural-cycling", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Population', 'Price', 'UIncome[L]', 'UIncome[M]',\n", - " 'ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " dtype='object')" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "former-trick", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 11.876012\n", - "Population 0.001163\n", - "Price -0.055725\n", - "UIncome[L] -1.042297\n", - "UIncome[M] -0.119123\n", - "ShelveLoc[Good] 4.999623\n", - "ShelveLoc[Medium] 1.964278\n", - "dtype: float64" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "specialized-processing", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) Population Price UIncomeM UIncomeH \n", - " 10.83371503 0.00116301 -0.05572469 0.92317388 1.04229679 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.99962319 1.96427771 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "verified-administrator", - "metadata": {}, - "source": [ - "## Getting the encoding you want\n", - "\n", - "By default the level dropped by `ModelSpec` will be the first of the `categories_` values from \n", - "`sklearn.preprocessing.OneHotEncoder()`. We might wish to change this. It seems\n", - "as if the correct way to do this would be something like `Variable(('UIncome',), 'mynewencoding', new_encoder)`\n", - "where `new_encoder` would somehow drop the column we want dropped. \n", - "\n", - "However, when using the convenient identifier `UIncome` in the `variables` argument, this maps to the `Column` associated to `UIncome` within `design.column_info_`:" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "limited-johns", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='UIncome', name='UIncome', is_categorical=True, is_ordinal=False, columns=('UIncome[L]', 'UIncome[M]'), encoder=Contrast())" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.column_info_['UIncome']" - ] - }, - { - "cell_type": "markdown", - "id": "saving-remainder", - "metadata": {}, - "source": [ - "This column already has an encoder and `Column` instances are immutable as named tuples. Further, there are times when \n", - "we may want to encode `UIncome` differently within the same model. In the model below the main effect of `UIncome` is encoded with two columns while in the interaction `UIncome` (see below) has three columns. This is a design of interest\n", - "and we need a way to allow different encodings of the same column of `Carseats`" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "satisfied-harbor", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ UIncome:ShelveLoc + UIncome, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) UIncomeM UIncomeH \n", - " 5.1317 0.1151 1.1561 \n", - " UIncomeL:ShelveLocGood UIncomeM:ShelveLocGood UIncomeH:ShelveLocGood \n", - " 4.5121 5.5752 3.7381 \n", - "UIncomeL:ShelveLocMedium UIncomeM:ShelveLocMedium UIncomeH:ShelveLocMedium \n", - " 1.2473 2.4782 1.5141 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "silver-wesley", - "metadata": {}, - "source": [ - " We can create a new \n", - "`Column` with the encoder we want. For categorical variables, there is a convenience function to do so." - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "crazy-bikini", - "metadata": {}, - "outputs": [], - "source": [ - "from ISLP.models.model_spec import contrast\n", - "pref_encoding = contrast('UIncome', 'drop', 'L')" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "accredited-barrier", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( UIncome[M] UIncome[H]\n", - " 0 1.0 0.0\n", - " 1 0.0 0.0\n", - " 2 0.0 0.0\n", - " 3 0.0 1.0\n", - " 4 1.0 0.0\n", - " .. ... ...\n", - " 395 0.0 1.0\n", - " 396 0.0 0.0\n", - " 397 0.0 0.0\n", - " 398 1.0 0.0\n", - " 399 0.0 0.0\n", - " \n", - " [400 rows x 2 columns],\n", - " ['UIncome[M]', 'UIncome[H]'])" - ] - }, - "execution_count": 37, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.build_columns(Carseats, pref_encoding)" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "smaller-execution", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Population', 'Price', 'UIncome[M]', 'UIncome[H]',\n", - " 'ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " dtype='object')" - ] - }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Population', 'Price', pref_encoding, 'ShelveLoc']).fit(Carseats)\n", - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "limited-center", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 10.833715\n", - "Population 0.001163\n", - "Price -0.055725\n", - "UIncome[M] 0.923174\n", - "UIncome[H] 1.042297\n", - "ShelveLoc[Good] 4.999623\n", - "ShelveLoc[Medium] 1.964278\n", - "dtype: float64" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "combined-relaxation", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) Population Price UIncomeM UIncomeH \n", - " 10.83371503 0.00116301 -0.05572469 0.92317388 1.04229679 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.99962319 1.96427771 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "focal-determination", - "metadata": {}, - "source": [ - "## Interactions\n", - "\n", - "We've referred to interactions above. These are specified (by convenience) as tuples in the `terms` argument\n", - "to `ModelSpec`." - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "id": "earned-ready", + "execution_count": 20, + "id": "imported-measure", "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mynewvar[0]mynewvar[1]
0-3.595740-4.850530
115.07040135.706773
227.41222840.772377
3-33.98304813.468087
46.580644-11.287452
.........
395-36.856308-18.418138
39645.7315203.243768
39749.087659-35.727136
398-13.56517818.847760
39931.9170720.976615
\n", + "

400 rows × 2 columns

\n", + "
" + ], "text/plain": [ - "intercept 7.866634\n", - "UIncome[L]:ShelveLoc[Good] 4.512054\n", - "UIncome[L]:ShelveLoc[Medium] 1.247275\n", - "UIncome[M]:ShelveLoc[Good] 5.575170\n", - "UIncome[M]:ShelveLoc[Medium] 2.478163\n", - "UIncome[L] -2.734895\n", - "UIncome[M] -2.619745\n", - "dtype: float64" + " mynewvar[0] mynewvar[1]\n", + "0 -3.595740 -4.850530\n", + "1 15.070401 35.706773\n", + "2 27.412228 40.772377\n", + "3 -33.983048 13.468087\n", + "4 6.580644 -11.287452\n", + ".. ... ...\n", + "395 -36.856308 -18.418138\n", + "396 45.731520 3.243768\n", + "397 49.087659 -35.727136\n", + "398 -13.565178 18.847760\n", + "399 31.917072 0.976615\n", + "\n", + "[400 rows x 2 columns]" ] }, - "execution_count": 41, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "design = ModelSpec([('UIncome', 'ShelveLoc'), 'UIncome'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" + "from sklearn.decomposition import PCA\n", + "pca = PCA(n_components=2)\n", + "pca.fit(build_columns(MS.column_info_, Carseats, new_var)[0]) # this is done within `ModelSpec.fit`\n", + "pca_var = Feature(('Price', 'Income', 'OIncome'), name='mynewvar', encoder=pca)\n", + "build_columns(MS.column_info_,\n", + " Carseats, \n", + " pca_var)[0]" ] }, { "cell_type": "markdown", - "id": "prescribed-accessory", + "id": "institutional-burden", "metadata": {}, "source": [ - "The tuples in `terms` are converted to `Variable` in the formalized `terms_` attribute by creating a `Variable` with\n", - "`variables` set to the tuple and the encoder an `Interaction` encoder which (unsurprisingly) creates the interaction columns from the concatenated data frames of `UIncome` and `ShelveLoc`." + "The elements of the `variables` attribute may be column identifiers ( `\"Price\"`), `Column` instances (`price`)\n", + "or `Feature` instances (`pca_var`)." ] }, { "cell_type": "code", - "execution_count": 42, - "id": "pacific-animal", + "execution_count": 21, + "id": "western-bloom", "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IncomePricemynewvar[0]mynewvar[1]
073.0120.0-3.595740-4.850530
148.083.015.07040135.706773
235.080.027.41222840.772377
3100.097.0-33.98304813.468087
464.0128.06.580644-11.287452
...............
395108.0128.0-36.856308-18.418138
39623.0120.045.7315203.243768
39726.0159.049.087659-35.727136
39879.095.0-13.56517818.847760
39937.0120.031.9170720.976615
\n", + "

400 rows × 4 columns

\n", + "
" + ], "text/plain": [ - "Variable(variables=('UIncome', 'ShelveLoc'), name='UIncome:ShelveLoc', encoder=Interaction(column_names={'ShelveLoc': ['ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " 'UIncome': ['UIncome[L]', 'UIncome[M]']},\n", - " columns={'ShelveLoc': range(2, 4), 'UIncome': range(0, 2)},\n", - " variables=['UIncome', 'ShelveLoc']), use_transform=True, pure_columns=False, override_encoder_colnames=False)" + " Income Price mynewvar[0] mynewvar[1]\n", + "0 73.0 120.0 -3.595740 -4.850530\n", + "1 48.0 83.0 15.070401 35.706773\n", + "2 35.0 80.0 27.412228 40.772377\n", + "3 100.0 97.0 -33.983048 13.468087\n", + "4 64.0 128.0 6.580644 -11.287452\n", + ".. ... ... ... ...\n", + "395 108.0 128.0 -36.856308 -18.418138\n", + "396 23.0 120.0 45.731520 3.243768\n", + "397 26.0 159.0 49.087659 -35.727136\n", + "398 79.0 95.0 -13.565178 18.847760\n", + "399 37.0 120.0 31.917072 0.976615\n", + "\n", + "[400 rows x 4 columns]" ] }, - "execution_count": 42, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "design.terms_[0]" + "price = MS.column_info_['Price']\n", + "fancy_var = Feature(('Income', price, pca_var), name='fancy', encoder=None)\n", + "build_columns(MS.column_info_,\n", + " Carseats, \n", + " fancy_var)[0]" ] }, { "cell_type": "markdown", - "id": "planned-wrestling", + "id": "e289feba-e3f5-48e0-9e29-cdd88d7f9923", "metadata": {}, "source": [ - "Comparing this to the previous `R` model." + "## Predicting at new points" ] }, { "cell_type": "code", - "execution_count": 43, - "id": "given-testimony", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ UIncome:ShelveLoc + UIncome, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) UIncomeM UIncomeH \n", - " 5.1317 0.1151 1.1561 \n", - " UIncomeL:ShelveLocGood UIncomeM:ShelveLocGood UIncomeH:ShelveLocGood \n", - " 4.5121 5.5752 3.7381 \n", - "UIncomeL:ShelveLocMedium UIncomeM:ShelveLocMedium UIncomeH:ShelveLocMedium \n", - " 1.2473 2.4782 1.5141 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "external-barrier", - "metadata": {}, - "source": [ - "We note a few important things:\n", - "\n", - "1. `R` has reorganized the columns of the design from the formula: although we wrote `UIncome:ShelveLoc` first these\n", - "columns have been built later. **`ModelSpec` builds columns in the order determined by `terms`!**\n", - "\n", - "2. As noted above, `R` has encoded `UIncome` differently in the main effect and in the interaction. For `ModelSpec`, the reference to `UIncome` always refers to the column in `design.column_info_` and will always build only the columns for `L` and `M`. **`ModelSpec` does no inspection of terms to decide how to encode categorical variables.**\n", - "\n", - "A few notes:\n", - "\n", - "- **Why not try to inspect the terms?** For any nontrivial formula in `R` with several categorical variables and interactions, predicting what columns will be produced from a given formula is not simple. **`ModelSpec` errs on the side of being explicit.**\n", - "\n", - "- **Is it impossible to build the design as `R` has?** No. An advanced user who *knows* they want the columns built as `R` has can do so (fairly) easily." - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "id": "authentic-meditation", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( UIncome[H] UIncome[L] UIncome[M]\n", - " 0 0.0 0.0 1.0\n", - " 1 0.0 1.0 0.0\n", - " 2 0.0 1.0 0.0\n", - " 3 1.0 0.0 0.0\n", - " 4 0.0 0.0 1.0\n", - " .. ... ... ...\n", - " 395 1.0 0.0 0.0\n", - " 396 0.0 1.0 0.0\n", - " 397 0.0 1.0 0.0\n", - " 398 0.0 0.0 1.0\n", - " 399 0.0 1.0 0.0\n", - " \n", - " [400 rows x 3 columns],\n", - " ['UIncome[H]', 'UIncome[L]', 'UIncome[M]'])" - ] - }, - "execution_count": 44, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "full_encoding = contrast('UIncome', None)\n", - "design.build_columns(Carseats, full_encoding)" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "id": "lucky-success", + "execution_count": 22, + "id": "6efed2fa-9e5d-429c-a8d9-ac544cab2b41", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "intercept 5.131739\n", - "UIncome[M] 0.115150\n", - "UIncome[H] 1.156118\n", - "UIncome[H]:ShelveLoc[Good] 3.738052\n", - "UIncome[H]:ShelveLoc[Medium] 1.514104\n", - "UIncome[L]:ShelveLoc[Good] 4.512054\n", - "UIncome[L]:ShelveLoc[Medium] 1.247275\n", - "UIncome[M]:ShelveLoc[Good] 5.575170\n", - "UIncome[M]:ShelveLoc[Medium] 2.478163\n", + "intercept 12.661546\n", + "Price -0.052213\n", + "Income 0.012829\n", "dtype: float64" ] }, - "execution_count": 45, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "design = ModelSpec([pref_encoding, (full_encoding, 'ShelveLoc')])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" + "MS = ModelSpec(['Price', 'Income']).fit(Carseats)\n", + "X = MS.transform(Carseats)\n", + "Y = Carseats['Sales']\n", + "M_ols = sm.OLS(Y, X).fit()\n", + "M_ols.params" ] }, { "cell_type": "markdown", - "id": "laden-beach", - "metadata": {}, - "source": [ - "## Special encodings\n", - "\n", - "For flexible models, we may want to consider transformations of features, i.e. polynomial\n", - "or spline transformations. Given transforms that follow the `fit/transform` paradigm\n", - "we can of course achieve this with a `Column` and an `encoder`. The `ISLP.transforms`\n", - "package includes a `Poly` transform" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "id": "copyrighted-luther", + "id": "e6b4609b-fcb2-4cc2-b630-509df4c87546", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Variable(variables=('Income',), name='poly(Income, 3)', encoder=Poly(degree=3), use_transform=True, pure_columns=False, override_encoder_colnames=True)" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "from ISLP.models.model_spec import poly\n", - "poly('Income', 3)" + "As `ModelSpec` is a transformer, it can be evaluated at new feature values.\n", + "Constructing the design matrix at any values is carried out by the `transform` method." ] }, { "cell_type": "code", - "execution_count": 47, - "id": "threatened-marine", + "execution_count": 23, + "id": "8784b0e8-ce53-4a90-aee6-b935834295c7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "intercept 5.440077\n", - "poly(Income, 3)[0] 10.036373\n", - "poly(Income, 3)[1] -2.799156\n", - "poly(Income, 3)[2] 2.399601\n", - "ShelveLoc[Good] 4.808133\n", - "ShelveLoc[Medium] 1.889533\n", - "dtype: float64" + "array([10.70130676, 10.307465 ])" ] }, - "execution_count": 47, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "design = ModelSpec([poly('Income', 3), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" + "new_data = pd.DataFrame({'Price':[40, 50], 'Income':[10, 20]})\n", + "new_X = MS.transform(new_data)\n", + "M_ols.get_prediction(new_X).predicted_mean" ] }, { "cell_type": "markdown", - "id": "senior-spokesman", - "metadata": {}, - "source": [ - "Compare:" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "prompt-fifteen", + "id": "signal-yahoo", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) poly(Income, 3)1 poly(Income, 3)2 poly(Income, 3)3 \n", - " 5.440077 10.036373 -2.799156 2.399601 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.808133 1.889533 \n" - ] - } - ], "source": [ - "%%R\n", - "lm(Sales ~ poly(Income, 3) + ShelveLoc, data=Carseats)$coef" + "## Using `np.ndarray`\n", + "\n", + "As the basic model is to concatenate columns extracted from a columnar data\n", + "representation, one *can* use `np.ndarray` as the column data. In this case,\n", + "columns will be selected by integer indices. \n", + "\n", + "### Caveats using `np.ndarray`\n", + "\n", + "If the `terms` only refer to a few columns of the data frame, the `transform` method only needs a dataframe with those columns.\n", + "However,\n", + "unless all features are floats, `np.ndarray` will default to a dtype of `object`, complicating issues.\n", + "\n", + "However, if we had used an `np.ndarray`, the column identifiers would be integers identifying specific columns so,\n", + "in order to work correctly, `transform` would need another `np.ndarray` where the columns have the same meaning. \n", + "\n", + "We illustrate this below, where we build a model from `Price` and `Income` for `Sales` and want to find predictions at new\n", + "values of `Price` and `Location`. We first find the predicitions using `pd.DataFrame` and then illustrate the difficulties\n", + "in using `np.ndarray`." ] }, { "cell_type": "markdown", - "id": "better-christianity", + "id": "e7ffdd07-4d6b-4a4c-ab38-ad1270e85de6", "metadata": {}, "source": [ - "## Splines\n", - "\n", - "Support for natural and B-splines is also included" + "We will refit this model, using `ModelSpec` with an `np.ndarray` instead" ] }, { "cell_type": "code", - "execution_count": 49, - "id": "outstanding-performer", + "execution_count": 24, + "id": "4fec9030-7445-48be-a15f-2ac5a789e717", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "intercept 4.240421\n", - "ns(Income, df=5)[0] 1.468196\n", - "ns(Income, df=5)[1] 1.499471\n", - "ns(Income, df=5)[2] 1.152070\n", - "ns(Income, df=5)[3] 2.418398\n", - "ns(Income, df=5)[4] 1.804460\n", - "ShelveLoc[Good] 4.810449\n", - "ShelveLoc[Medium] 1.881095\n", - "dtype: float64" + "array([[ 1., 120., 73.],\n", + " [ 1., 83., 48.],\n", + " [ 1., 80., 35.],\n", + " ...,\n", + " [ 1., 159., 26.],\n", + " [ 1., 95., 79.],\n", + " [ 1., 120., 37.]])" ] }, - "execution_count": 49, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "from ISLP.models.model_spec import ns, bs, pca\n", - "design = ModelSpec([ns('Income', df=5), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "id": "informative-spirituality", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) ns(Income, df = 5)1 ns(Income, df = 5)2 ns(Income, df = 5)3 \n", - " 4.240421 1.468196 1.499471 1.152070 \n", - "ns(Income, df = 5)4 ns(Income, df = 5)5 ShelveLocGood ShelveLocMedium \n", - " 2.418398 1.804460 4.810449 1.881095 \n" - ] - } - ], - "source": [ - "%%R\n", - "library(splines)\n", - "lm(Sales ~ ns(Income, df=5) + ShelveLoc, data=Carseats)$coef" + "Carseats_np = np.asarray(Carseats[['Price', 'Education', 'Income']])\n", + "MS_np = ModelSpec([0,2]).fit(Carseats_np)\n", + "MS_np.transform(Carseats_np)" ] }, { "cell_type": "code", - "execution_count": 51, - "id": "destroyed-complexity", + "execution_count": 25, + "id": "c864e365-2476-4ca6-9d27-625cac2b2271", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "intercept 3.495085\n", - "bs(Income, df=7, degree=2)[0] 1.813118\n", - "bs(Income, df=7, degree=2)[1] 0.961852\n", - "bs(Income, df=7, degree=2)[2] 2.471545\n", - "bs(Income, df=7, degree=2)[3] 2.158891\n", - "bs(Income, df=7, degree=2)[4] 2.091625\n", - "bs(Income, df=7, degree=2)[5] 2.600669\n", - "bs(Income, df=7, degree=2)[6] 2.843108\n", - "ShelveLoc[Good] 4.804919\n", - "ShelveLoc[Medium] 1.880337\n", + "const 12.661546\n", + "x1 -0.052213\n", + "x2 0.012829\n", "dtype: float64" ] }, - "execution_count": 51, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "design = ModelSpec([bs('Income', df=7, degree=2), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "id": "incident-nicaragua", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) bs(Income, df = 7, degree = 2)1 \n", - " 3.4950851 1.8131176 \n", - "bs(Income, df = 7, degree = 2)2 bs(Income, df = 7, degree = 2)3 \n", - " 0.9618523 2.4715450 \n", - "bs(Income, df = 7, degree = 2)4 bs(Income, df = 7, degree = 2)5 \n", - " 2.1588908 2.0916252 \n", - "bs(Income, df = 7, degree = 2)6 bs(Income, df = 7, degree = 2)7 \n", - " 2.6006694 2.8431084 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.8049190 1.8803375 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ bs(Income, df=7, degree=2) + ShelveLoc, data=Carseats)$coef" + "M_ols_np = sm.OLS(Y, MS_np.transform(Carseats_np)).fit()\n", + "M_ols_np.params" ] }, { "cell_type": "markdown", - "id": "formal-medline", - "metadata": {}, - "source": [ - "## PCA" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "id": "general-joshua", + "id": "undefined-sacrifice", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "intercept 5.419405\n", - "pca(myvars, n_components=2)[0] -0.001131\n", - "pca(myvars, n_components=2)[1] -0.024217\n", - "ShelveLoc[Good] 4.816253\n", - "ShelveLoc[Medium] 1.924139\n", - "dtype: float64" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "design = ModelSpec([pca(['Income', \n", - " 'Price', \n", - " 'Advertising', \n", - " 'Population'], \n", - " n_components=2, \n", - " name='myvars'), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" + "Now, let's consider finding the design matrix at new points. \n", + "When using `pd.DataFrame` we only need to supply the `transform` method\n", + "a data frame with columns implicated in the `terms` argument (in this case, `Price` and `Income`). \n", + "\n", + "However, when using `np.ndarray` with integers as indices, `Price` was column 0 and `Income` was column 2. The only\n", + "sensible way to produce a return for predict is to extract its 0th and 2nd columns. Note this means\n", + "that the meaning of columns in an `np.ndarray` provided to `transform` essentially must be identical to those\n", + "passed to `fit`." ] }, { "cell_type": "code", - "execution_count": 54, - "id": "coordinate-calcium", + "execution_count": 26, + "id": "incredible-concert", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ prcomp(cbind(Income, Price, Advertising, \n", - " Population))$x[, 1:2] + ShelveLoc, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) \n", - " 5.419405 \n", - "prcomp(cbind(Income, Price, Advertising, Population))$x[, 1:2]PC1 \n", - " 0.001131 \n", - "prcomp(cbind(Income, Price, Advertising, Population))$x[, 1:2]PC2 \n", - " -0.024217 \n", - " ShelveLocGood \n", - " 4.816253 \n", - " ShelveLocMedium \n", - " 1.924139 \n", - "\n" + "index 2 is out of bounds for axis 1 with size 2\n" ] } ], "source": [ - "%%R\n", - "lm(Sales ~ prcomp(cbind(Income, Price, Advertising, Population))$x[,1:2] + ShelveLoc, data=Carseats)" + "try:\n", + " new_D = np.array([[40,50], [10,20]]).T\n", + " new_X = MS_np.transform(new_D)\n", + "except IndexError as e:\n", + " print(e)" ] }, { "cell_type": "markdown", - "id": "foster-canvas", + "id": "allied-botswana", "metadata": {}, "source": [ - "It is of course common to scale before running PCA." + "Ultimately, `M` expects 3 columns for new predictions because it was fit\n", + "with a matrix having 3 columns (the first representing an intercept).\n", + "\n", + "We might be tempted to try as with the `pd.DataFrame` and produce\n", + "an `np.ndarray` with only the necessary variables." ] }, { "cell_type": "code", - "execution_count": 55, - "id": "geographic-founder", + "execution_count": 27, + "id": "stunning-container", "metadata": {}, "outputs": [ { - "name": "stderr", + "name": "stdout", "output_type": "stream", "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n" + "[[ 1. 40. 10.]\n", + " [ 1. 50. 20.]]\n" ] }, { "data": { "text/plain": [ - "intercept 5.352159\n", - "pca(myvars, n_components=2)[0] 0.446383\n", - "pca(myvars, n_components=2)[1] -1.219788\n", - "ShelveLoc[Good] 4.922780\n", - "ShelveLoc[Medium] 2.005617\n", - "dtype: float64" + "array([10.70130676, 10.307465 ])" ] }, - "execution_count": 55, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "design = ModelSpec([pca(['Income', \n", - " 'Price', \n", - " 'Advertising', \n", - " 'Population'], \n", - " n_components=2, \n", - " name='myvars',\n", - " scale=True), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "id": "floral-packaging", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ prcomp(cbind(Income, Price, Advertising, \n", - " Population), scale = TRUE)$x[, 1:2] + ShelveLoc, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) \n", - " 5.3522 \n", - "prcomp(cbind(Income, Price, Advertising, Population), scale = TRUE)$x[, 1:2]PC1 \n", - " 0.4469 \n", - "prcomp(cbind(Income, Price, Advertising, Population), scale = TRUE)$x[, 1:2]PC2 \n", - " -1.2213 \n", - " ShelveLocGood \n", - " 4.9228 \n", - " ShelveLocMedium \n", - " 2.0056 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ prcomp(cbind(Income, Price, Advertising, Population), scale=TRUE)$x[,1:2] + ShelveLoc, data=Carseats)" + "new_D = np.array([[40,50], [np.nan, np.nan], [10,20]]).T\n", + "new_X = MS_np.transform(new_D)\n", + "print(new_X)\n", + "M_ols.get_prediction(new_X).predicted_mean" ] }, { "cell_type": "markdown", - "id": "social-cherry", - "metadata": {}, - "source": [ - "There will be some small differences in the coefficients due to `sklearn` use of `np.std(ddof=0)` instead\n", - "of `np.std(ddof=1)`." - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "id": "another-glory", + "id": "specific-tobacco", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 0.44694166, -1.22131519])" - ] - }, - "execution_count": 57, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "np.array(sm.OLS(Y, X).fit().params)[1:3] * np.sqrt(X.shape[0] / (X.shape[0]-1))" + "For more complicated design contructions ensuring the columns of `new_D` match that of the original data will be more cumbersome. We expect\n", + "then that `pd.DataFrame` (or a columnar data representation with similar API) will likely be easier to use with `ModelSpec`." ] } ], @@ -2014,9 +1806,9 @@ "formats": "source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "Python 3 (ipykernel)", "language": "python", - "name": "islp_test" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -2028,7 +1820,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.13" + "version": "3.10.10" } }, "nbformat": 4, diff --git a/docs/jupyterbook/models/spec.md b/docs/jupyterbook/models/spec.md index fdf8c60..27bb3a4 100644 --- a/docs/jupyterbook/models/spec.md +++ b/docs/jupyterbook/models/spec.md @@ -5,490 +5,296 @@ jupytext: extension: .md format_name: myst format_version: 0.13 - jupytext_version: 1.14.1 + jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: Python 3 (ipykernel) language: python - name: islp_test + name: python3 --- # Building design matrices with `ModelSpec` -Force rebuild +The `ISLP` package provides a facility to build design +matrices for regression and classification tasks. It provides similar functionality to the formula +notation of `R` though uses python objects rather than specification through the special formula syntax. + +Related tools include `patsy` and `ColumnTransformer` from `sklearn.compose`. + +Perhaps the most common use is to extract some columns from a `pd.DataFrame` and +produce a design matrix, optionally with an intercept. ```{code-cell} ipython3 -x=4 -import numpy as np, pandas as pd -%load_ext rpy2.ipython +import pandas as pd +import numpy as np from ISLP import load_data -from ISLP.models import ModelSpec +from ISLP.models import (ModelSpec, + summarize, + Column, + Feature, + build_columns) import statsmodels.api as sm ``` ```{code-cell} ipython3 Carseats = load_data('Carseats') -%R -i Carseats Carseats.columns ``` -## Let's break up income into groups +We'll first build a design matrix that we can use to model `Sales` +in terms of the categorical variable `ShelveLoc` and `Price`. -```{code-cell} ipython3 -Carseats['OIncome'] = pd.cut(Carseats['Income'], - [0,50,90,200], - labels=['L','M','H']) -Carseats['OIncome'] -``` - -Let's also create an unordered version - -```{code-cell} ipython3 -Carseats['UIncome'] = pd.cut(Carseats['Income'], - [0,50,90,200], - labels=['L','M','H'], - ordered=False) -Carseats['UIncome'] -``` - -## A simple model - -```{code-cell} ipython3 -design = ModelSpec(['Price', 'Income']) -X = design.fit_transform(Carseats) -X.columns -``` - -```{code-cell} ipython3 -Y = Carseats['Sales'] -M = sm.OLS(Y, X).fit() -M.params -``` - -## Basic procedure - -The design matrix is built by cobbling together a set of columns and possibly transforming them. -A `pd.DataFrame` is essentially a list of columns. One of the first tasks done in `ModelSpec.fit` -is to inspect a dataframe for column info. The column `ShelveLoc` is categorical: +We see first that `ShelveLoc` is a categorical variable: ```{code-cell} ipython3 Carseats['ShelveLoc'] ``` -This is recognized by `ModelSpec` in the form of `Column` objects which are just named tuples with two methods -`get_columns` and `fit_encoder`. - -```{code-cell} ipython3 -design.column_info_['ShelveLoc'] -``` - -It recognized ordinal columns as well. - -```{code-cell} ipython3 -design.column_info_['OIncome'] -``` - -```{code-cell} ipython3 -income = design.column_info_['Income'] -cols, names = income.get_columns(Carseats) -(cols[:4], names) -``` - -## Encoding a column - -In building a design matrix we must extract columns from our dataframe (or `np.ndarray`). Categorical -variables usually are encoded by several columns, typically one less than the number of categories. -This task is handled by the `encoder` of the `Column`. The encoder must satisfy the `sklearn` transform -model, i.e. `fit` on some array and `transform` on future arrays. The `fit_encoder` method of `Column` fits -its encoder the first time data is passed to it. - -```{code-cell} ipython3 -shelve = design.column_info_['ShelveLoc'] -cols, names = shelve.get_columns(Carseats) -(cols[:4], names) -``` - -```{code-cell} ipython3 -oincome = design.column_info_['OIncome'] -oincome.get_columns(Carseats)[0][:4] -``` - -## The terms +This is recognized by `ModelSpec` and only 2 columns are added for the three levels. The +default behavior is to drop the first level of the categories. Later, +we will show other contrasts of the 3 columns can be produced. -The design matrix consists of several sets of columns. This is managed by the `ModelSpec` through -the `terms` argument which should be a sequence. The elements of `terms` are often -going to be strings (or tuples of strings for interactions, see below) but are converted to a -`Variable` object and stored in the `terms_` of the fitted `ModelSpec`. A `Variable` is just a named tuple. +This simple example below illustrates how the first argument (its `terms`) is +used to construct a design matrix. ```{code-cell} ipython3 -design.terms +MS = ModelSpec(['ShelveLoc', 'Price']) +X = MS.fit_transform(Carseats) +X.iloc[:10] ``` -```{code-cell} ipython3 -design.terms_ -``` - -While each `Column` can itself extract data, they are all promoted to `Variable` to be of a uniform type. A -`Variable` can also create columns through the `build_columns` method of `ModelSpec` +We note that a column has been added for the intercept by default. This can be changed using the +`intercept` argument. ```{code-cell} ipython3 -price = design.terms_[0] -design.build_columns(Carseats, price) +MS_no1 = ModelSpec(['ShelveLoc', 'Price'], intercept=False) +MS_no1.fit_transform(Carseats)[:10] ``` -Note that `Variable` objects have a tuple of `variables` as well as an `encoder` attribute. The -tuple of `variables` first creates a concatenated dataframe from all corresponding variables and then -is run through `encoder.transform`. The `encoder.fit` method of each `Variable` is run once during -the call to `ModelSpec.fit`. +We see that `ShelveLoc` still only contributes +two columns to the design. The `ModelSpec` object does no introspection of its arguments to effectively include an intercept term +in the column space of the design matrix. -```{code-cell} ipython3 -from ISLP.models.model_spec import Variable - -new_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=None) -design.build_columns(Carseats, new_var) -``` - -Let's now transform these columns with an encoder. Within `ModelSpec` we will first build the -arrays above and then call `pca.fit` and finally `pca.transform` within `design.build_columns`. +To include this intercept via `ShelveLoc` we can use 3 columns to encode this categorical variable. Following the nomenclature of +`R`, we call this a `Contrast` of the categorical variable. ```{code-cell} ipython3 -from sklearn.decomposition import PCA -pca = PCA(n_components=2) -pca.fit(design.build_columns(Carseats, new_var)[0]) # this is done within `ModelSpec.fit` -pca_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=pca) -design.build_columns(Carseats, pca_var) -``` - -The elements of the `variables` attribute may be column identifiers ( `"Price"`), `Column` instances (`price`) -or `Variable` instances (`pca_var`). - -```{code-cell} ipython3 -fancy_var = Variable(('Price', price, pca_var), name='fancy', encoder=None) -design.build_columns(Carseats, fancy_var) +from ISLP.models import contrast +shelve = contrast('ShelveLoc', None) +MS_contr = ModelSpec([shelve, 'Price'], intercept=False) +MS_contr.fit_transform(Carseats)[:10] ``` -We can of course run PCA again on these features (if we wanted). +This example above illustrates that columns need not be identified by name in `terms`. The basic +role of an item in the `terms` sequence is a description of how to extract a column +from a columnar data object, usually a `pd.DataFrame`. ```{code-cell} ipython3 -pca2 = PCA(n_components=2) -pca2.fit(design.build_columns(Carseats, fancy_var)[0]) # this is done within `ModelSpec.fit` -pca2_var = Variable(('Price', price, pca_var), name='fancy_pca', encoder=pca2) -design.build_columns(Carseats, pca2_var) +shelve ``` -## Building the design matrix - -With these notions in mind, the final design is essentially then +The `Column` object can be used to directly extract relevant columns from a `pd.DataFrame`. If the `encoder` field is not +`None`, then the extracted columns will be passed through `encoder`. +The `get_columns` method produces these columns as well as names for the columns. ```{code-cell} ipython3 -X_hand = np.column_stack([design.build_columns(Carseats, v)[0] for v in design.terms_])[:4] +shelve.get_columns(Carseats) ``` -An intercept column is added if `design.intercept` is `True` and if the original argument to `transform` is -a dataframe the index is adjusted accordingly. +Let's now fit a simple OLS model with this design. ```{code-cell} ipython3 -design.intercept -``` - -```{code-cell} ipython3 -design.transform(Carseats)[:4] +X = MS_contr.transform(Carseats) +Y = Carseats['Sales'] +M_ols = sm.OLS(Y, X).fit() +summarize(M_ols) ``` -## Predicting +## Interactions -Constructing the design matrix at any values is carried out by the `transform` method. +One of the common uses of formulae in `R` is to specify interactions between variables. +This is done in `ModelSpec` by including a tuple in the `terms` argument. ```{code-cell} ipython3 -new_data = pd.DataFrame({'Price':[10,20], 'Income':[40, 50]}) -new_X = design.transform(new_data) -M.get_prediction(new_X).predicted_mean +ModelSpec([(shelve, 'Price'), 'Price']).fit_transform(Carseats).iloc[:10] ``` -```{code-cell} ipython3 -%%R -i new_data,Carseats -predict(lm(Sales ~ Price + Income, data=Carseats), new_data) -``` +The above design matrix is clearly rank deficient, as `ModelSpec` has not inspected the formula +and attempted to produce a corresponding matrix that may or may not match a user's intent. -### Difference between using `pd.DataFrame` and `np.ndarray` ++++ -If the `terms` only refer to a few columns of the data frame, the `transform` method only needs a dataframe with those columns. +## Ordinal variables -If we had used an `np.ndarray`, the column identifiers would be integers identifying specific columns so, -in order to work correctly, `transform` would need another `np.ndarray` where the columns have the same meaning. +Ordinal variables are handled by a corresponding encoder) ```{code-cell} ipython3 -Carseats_np = np.asarray(Carseats[['Price', 'ShelveLoc', 'US', 'Income']]) -design_np = ModelSpec([0,3]).fit(Carseats_np) -design_np.transform(Carseats_np)[:4] +Carseats['OIncome'] = pd.cut(Carseats['Income'], + [0,50,90,200], + labels=['L','M','H']) +MS_order = ModelSpec(['OIncome']).fit(Carseats) ``` -The following will fail for hopefully obvious reasons +Part of the `fit` method of `ModelSpec` involves inspection of the columns of `Carseats`. +The results of that inspection can be found in the `column_info_` attribute: ```{code-cell} ipython3 -try: - new_D = np.zeros((2,2)) - new_D[:,0] = [10,20] - new_D[:,1] = [40,50] - M.get_prediction(new_D).predicted_mean -except ValueError as e: - print(e) +MS_order.column_info_ ``` -Ultimately, `M` expects 3 columns for new predictions because it was fit -with a matrix having 3 columns (the first representing an intercept). +## Structure of a `ModelSpec` -We might be tempted to try as with the `pd.DataFrame` and produce -an `np.ndarray` with only the necessary variables. +The first argument to `ModelSpec` is stored as the `terms` attribute. Under the hood, +this sequence is inspected to produce the `terms_` attribute which specify the objects +that will ultimately create the design matrix. ```{code-cell} ipython3 -try: - new_X = np.zeros((2,2)) - new_X[:,0] = [10,20] - new_X[:,1] = [40,50] - new_D = design_np.transform(new_X) - M.get_prediction(new_D).predicted_mean -except IndexError as e: - print(e) +MS = ModelSpec(['ShelveLoc', 'Price']) +MS.fit(Carseats) +MS.terms_ ``` -This fails because `design_np` is looking for column `3` from its `terms`: +Each element of `terms_` should be a `Feature` which describes a set of columns to be extracted from +a columnar data form as well as possible a possible encoder. ```{code-cell} ipython3 -design_np.terms_ +shelve_var = MS.terms_[0] ``` -However, if we have an `np.ndarray` in which the first column indeed represents `Price` and the fourth indeed -represents `Income` then we can arrive at the correct answer by supplying such the array to `design_np.transform`: +We can find the columns associated to each term using the `build_columns` method of `ModelSpec`: ```{code-cell} ipython3 -new_X = np.zeros((2,4)) -new_X[:,0] = [10,20] -new_X[:,3] = [40,50] -new_D = design_np.transform(new_X) -M.get_prediction(new_D).predicted_mean +df, names = build_columns(MS.column_info_, + Carseats, + shelve_var) +df ``` -Given this subtlety about needing to supply arrays with identical column structure to `transform` when -using `np.ndarray` we presume that using a `pd.DataFrame` will be the more popular use case. +The design matrix is constructed by running through `terms_` and concatenating the corresponding columns. +++ -## A model with some categorical variables +### `Feature` objects -Categorical variables become `Column` instances with encoders. - -```{code-cell} ipython3 -design = ModelSpec(['Population', 'Price', 'UIncome', 'ShelveLoc']).fit(Carseats) -design.column_info_['UIncome'] -``` - -```{code-cell} ipython3 -X = design.fit_transform(Carseats) -X.columns -``` - -```{code-cell} ipython3 -sm.OLS(Y, X).fit().params -``` - -```{code-cell} ipython3 -%%R -lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef -``` - -## Getting the encoding you want - -By default the level dropped by `ModelSpec` will be the first of the `categories_` values from -`sklearn.preprocessing.OneHotEncoder()`. We might wish to change this. It seems -as if the correct way to do this would be something like `Variable(('UIncome',), 'mynewencoding', new_encoder)` -where `new_encoder` would somehow drop the column we want dropped. - -However, when using the convenient identifier `UIncome` in the `variables` argument, this maps to the `Column` associated to `UIncome` within `design.column_info_`: - -```{code-cell} ipython3 -design.column_info_['UIncome'] -``` - -This column already has an encoder and `Column` instances are immutable as named tuples. Further, there are times when -we may want to encode `UIncome` differently within the same model. In the model below the main effect of `UIncome` is encoded with two columns while in the interaction `UIncome` (see below) has three columns. This is a design of interest -and we need a way to allow different encodings of the same column of `Carseats` - -```{code-cell} ipython3 -%%R -lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats) -``` - - We can create a new -`Column` with the encoder we want. For categorical variables, there is a convenience function to do so. - -```{code-cell} ipython3 -from ISLP.models.model_spec import contrast -pref_encoding = contrast('UIncome', 'drop', 'L') -``` - -```{code-cell} ipython3 -design.build_columns(Carseats, pref_encoding) -``` - -```{code-cell} ipython3 -design = ModelSpec(['Population', 'Price', pref_encoding, 'ShelveLoc']).fit(Carseats) -X = design.fit_transform(Carseats) -X.columns -``` - -```{code-cell} ipython3 -sm.OLS(Y, X).fit().params -``` +Note that `Feature` objects have a tuple of `variables` as well as an `encoder` attribute. The +tuple of `variables` first creates a concatenated dataframe from all corresponding variables and then +is run through `encoder.transform`. The `encoder.fit` method of each `Feature` is run once during +the call to `ModelSpec.fit`. ```{code-cell} ipython3 -%%R -lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef +new_var = Feature(('Price', 'Income', 'OIncome'), name='mynewvar', encoder=None) +build_columns(MS.column_info_, + Carseats, + new_var)[0] ``` -## Interactions - -We've referred to interactions above. These are specified (by convenience) as tuples in the `terms` argument -to `ModelSpec`. +Let's now transform these columns with an encoder. Within `ModelSpec` we will first build the +arrays above and then call `pca.fit` and finally `pca.transform` within `design.build_columns`. ```{code-cell} ipython3 -design = ModelSpec([('UIncome', 'ShelveLoc'), 'UIncome']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params +from sklearn.decomposition import PCA +pca = PCA(n_components=2) +pca.fit(build_columns(MS.column_info_, Carseats, new_var)[0]) # this is done within `ModelSpec.fit` +pca_var = Feature(('Price', 'Income', 'OIncome'), name='mynewvar', encoder=pca) +build_columns(MS.column_info_, + Carseats, + pca_var)[0] ``` -The tuples in `terms` are converted to `Variable` in the formalized `terms_` attribute by creating a `Variable` with -`variables` set to the tuple and the encoder an `Interaction` encoder which (unsurprisingly) creates the interaction columns from the concatenated data frames of `UIncome` and `ShelveLoc`. +The elements of the `variables` attribute may be column identifiers ( `"Price"`), `Column` instances (`price`) +or `Feature` instances (`pca_var`). ```{code-cell} ipython3 -design.terms_[0] +price = MS.column_info_['Price'] +fancy_var = Feature(('Income', price, pca_var), name='fancy', encoder=None) +build_columns(MS.column_info_, + Carseats, + fancy_var)[0] ``` -Comparing this to the previous `R` model. +## Predicting at new points ```{code-cell} ipython3 -%%R -lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats) +MS = ModelSpec(['Price', 'Income']).fit(Carseats) +X = MS.transform(Carseats) +Y = Carseats['Sales'] +M_ols = sm.OLS(Y, X).fit() +M_ols.params ``` -We note a few important things: - -1. `R` has reorganized the columns of the design from the formula: although we wrote `UIncome:ShelveLoc` first these -columns have been built later. **`ModelSpec` builds columns in the order determined by `terms`!** - -2. As noted above, `R` has encoded `UIncome` differently in the main effect and in the interaction. For `ModelSpec`, the reference to `UIncome` always refers to the column in `design.column_info_` and will always build only the columns for `L` and `M`. **`ModelSpec` does no inspection of terms to decide how to encode categorical variables.** - -A few notes: - -- **Why not try to inspect the terms?** For any nontrivial formula in `R` with several categorical variables and interactions, predicting what columns will be produced from a given formula is not simple. **`ModelSpec` errs on the side of being explicit.** - -- **Is it impossible to build the design as `R` has?** No. An advanced user who *knows* they want the columns built as `R` has can do so (fairly) easily. - -```{code-cell} ipython3 -full_encoding = contrast('UIncome', None) -design.build_columns(Carseats, full_encoding) -``` +As `ModelSpec` is a transformer, it can be evaluated at new feature values. +Constructing the design matrix at any values is carried out by the `transform` method. ```{code-cell} ipython3 -design = ModelSpec([pref_encoding, (full_encoding, 'ShelveLoc')]) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params +new_data = pd.DataFrame({'Price':[40, 50], 'Income':[10, 20]}) +new_X = MS.transform(new_data) +M_ols.get_prediction(new_X).predicted_mean ``` -## Special encodings - -For flexible models, we may want to consider transformations of features, i.e. polynomial -or spline transformations. Given transforms that follow the `fit/transform` paradigm -we can of course achieve this with a `Column` and an `encoder`. The `ISLP.transforms` -package includes a `Poly` transform - -```{code-cell} ipython3 -from ISLP.models.model_spec import poly -poly('Income', 3) -``` +## Using `np.ndarray` -```{code-cell} ipython3 -design = ModelSpec([poly('Income', 3), 'ShelveLoc']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` +As the basic model is to concatenate columns extracted from a columnar data +representation, one *can* use `np.ndarray` as the column data. In this case, +columns will be selected by integer indices. -Compare: +### Caveats using `np.ndarray` -```{code-cell} ipython3 -%%R -lm(Sales ~ poly(Income, 3) + ShelveLoc, data=Carseats)$coef -``` +If the `terms` only refer to a few columns of the data frame, the `transform` method only needs a dataframe with those columns. +However, +unless all features are floats, `np.ndarray` will default to a dtype of `object`, complicating issues. -## Splines +However, if we had used an `np.ndarray`, the column identifiers would be integers identifying specific columns so, +in order to work correctly, `transform` would need another `np.ndarray` where the columns have the same meaning. -Support for natural and B-splines is also included +We illustrate this below, where we build a model from `Price` and `Income` for `Sales` and want to find predictions at new +values of `Price` and `Location`. We first find the predicitions using `pd.DataFrame` and then illustrate the difficulties +in using `np.ndarray`. -```{code-cell} ipython3 -from ISLP.models.model_spec import ns, bs, pca -design = ModelSpec([ns('Income', df=5), 'ShelveLoc']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` ++++ -```{code-cell} ipython3 -%%R -library(splines) -lm(Sales ~ ns(Income, df=5) + ShelveLoc, data=Carseats)$coef -``` +We will refit this model, using `ModelSpec` with an `np.ndarray` instead ```{code-cell} ipython3 -design = ModelSpec([bs('Income', df=7, degree=2), 'ShelveLoc']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params +Carseats_np = np.asarray(Carseats[['Price', 'Education', 'Income']]) +MS_np = ModelSpec([0,2]).fit(Carseats_np) +MS_np.transform(Carseats_np) ``` ```{code-cell} ipython3 -%%R -lm(Sales ~ bs(Income, df=7, degree=2) + ShelveLoc, data=Carseats)$coef +M_ols_np = sm.OLS(Y, MS_np.transform(Carseats_np)).fit() +M_ols_np.params ``` -## PCA +Now, let's consider finding the design matrix at new points. +When using `pd.DataFrame` we only need to supply the `transform` method +a data frame with columns implicated in the `terms` argument (in this case, `Price` and `Income`). -```{code-cell} ipython3 -design = ModelSpec([pca(['Income', - 'Price', - 'Advertising', - 'Population'], - n_components=2, - name='myvars'), 'ShelveLoc']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` +However, when using `np.ndarray` with integers as indices, `Price` was column 0 and `Income` was column 2. The only +sensible way to produce a return for predict is to extract its 0th and 2nd columns. Note this means +that the meaning of columns in an `np.ndarray` provided to `transform` essentially must be identical to those +passed to `fit`. ```{code-cell} ipython3 -%%R -lm(Sales ~ prcomp(cbind(Income, Price, Advertising, Population))$x[,1:2] + ShelveLoc, data=Carseats) +try: + new_D = np.array([[40,50], [10,20]]).T + new_X = MS_np.transform(new_D) +except IndexError as e: + print(e) ``` -It is of course common to scale before running PCA. +Ultimately, `M` expects 3 columns for new predictions because it was fit +with a matrix having 3 columns (the first representing an intercept). -```{code-cell} ipython3 -design = ModelSpec([pca(['Income', - 'Price', - 'Advertising', - 'Population'], - n_components=2, - name='myvars', - scale=True), 'ShelveLoc']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` +We might be tempted to try as with the `pd.DataFrame` and produce +an `np.ndarray` with only the necessary variables. ```{code-cell} ipython3 -%%R -lm(Sales ~ prcomp(cbind(Income, Price, Advertising, Population), scale=TRUE)$x[,1:2] + ShelveLoc, data=Carseats) +new_D = np.array([[40,50], [np.nan, np.nan], [10,20]]).T +new_X = MS_np.transform(new_D) +print(new_X) +M_ols.get_prediction(new_X).predicted_mean ``` -There will be some small differences in the coefficients due to `sklearn` use of `np.std(ddof=0)` instead -of `np.std(ddof=1)`. - -```{code-cell} ipython3 -np.array(sm.OLS(Y, X).fit().params)[1:3] * np.sqrt(X.shape[0] / (X.shape[0]-1)) -``` +For more complicated design contructions ensuring the columns of `new_D` match that of the original data will be more cumbersome. We expect +then that `pd.DataFrame` (or a columnar data representation with similar API) will likely be easier to use with `ModelSpec`. diff --git a/docs/jupyterbook/models/submodels.ipynb b/docs/jupyterbook/models/submodels.ipynb deleted file mode 100644 index 825bedd..0000000 --- a/docs/jupyterbook/models/submodels.ipynb +++ /dev/null @@ -1,3127 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "ee33d364", - "metadata": {}, - "source": [ - "# Building design matrices with `ModelSpec`\n", - "\n", - "Force rebuild" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "4c70fbaa", - "metadata": {}, - "outputs": [], - "source": [ - "x=4\n", - "import numpy as np, pandas as pd\n", - "%load_ext rpy2.ipython\n", - "\n", - "from ISLP import load_data\n", - "from ISLP.models import ModelSpec\n", - "\n", - "import statsmodels.api as sm" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "8a708215", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['Sales', 'CompPrice', 'Income', 'Advertising', 'Population', 'Price',\n", - " 'ShelveLoc', 'Age', 'Education', 'Urban', 'US'],\n", - " dtype='object')" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats = load_data('Carseats')\n", - "%R -i Carseats\n", - "Carseats.columns" - ] - }, - { - "cell_type": "markdown", - "id": "dad5e991", - "metadata": {}, - "source": [ - "## Let's break up income into groups" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "ac7086a5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 M\n", - "1 L\n", - "2 L\n", - "3 H\n", - "4 M\n", - " ..\n", - "395 H\n", - "396 L\n", - "397 L\n", - "398 M\n", - "399 L\n", - "Name: OIncome, Length: 400, dtype: category\n", - "Categories (3, object): ['L' < 'M' < 'H']" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats['OIncome'] = pd.cut(Carseats['Income'], \n", - " [0,50,90,200], \n", - " labels=['L','M','H'])\n", - "Carseats['OIncome']" - ] - }, - { - "cell_type": "markdown", - "id": "261446c8", - "metadata": {}, - "source": [ - "Let's also create an unordered version" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "674bb806", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 M\n", - "1 L\n", - "2 L\n", - "3 H\n", - "4 M\n", - " ..\n", - "395 H\n", - "396 L\n", - "397 L\n", - "398 M\n", - "399 L\n", - "Name: UIncome, Length: 400, dtype: category\n", - "Categories (3, object): ['L', 'M', 'H']" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats['UIncome'] = pd.cut(Carseats['Income'], \n", - " [0,50,90,200], \n", - " labels=['L','M','H'],\n", - " ordered=False)\n", - "Carseats['UIncome']" - ] - }, - { - "cell_type": "markdown", - "id": "8f030039", - "metadata": {}, - "source": [ - "## A simple model" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "40cd6c28", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Price', 'Income'], dtype='object')" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Price', 'Income'])\n", - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "e65f5607", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 12.661546\n", - "Price -0.052213\n", - "Income 0.012829\n", - "dtype: float64" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Y = Carseats['Sales']\n", - "M = sm.OLS(Y, X).fit()\n", - "M.params" - ] - }, - { - "cell_type": "markdown", - "id": "29d9b55f", - "metadata": {}, - "source": [ - "## Basic procedure\n", - "\n", - "The design matrix is built by cobbling together a set of columns and possibly transforming them.\n", - "A `pd.DataFrame` is essentially a list of columns. One of the first tasks done in `ModelSpec.fit`\n", - "is to inspect a dataframe for column info. The column `ShelveLoc` is categorical:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "cfbe5b92", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 Bad\n", - "1 Good\n", - "2 Medium\n", - "3 Medium\n", - "4 Bad\n", - " ... \n", - "395 Good\n", - "396 Medium\n", - "397 Medium\n", - "398 Bad\n", - "399 Good\n", - "Name: ShelveLoc, Length: 400, dtype: category\n", - "Categories (3, object): ['Bad', 'Good', 'Medium']" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats['ShelveLoc']" - ] - }, - { - "cell_type": "markdown", - "id": "7092f666", - "metadata": {}, - "source": [ - "This is recognized by `ModelSpec` in the form of `Column` objects which are just named tuples with two methods\n", - "`get_columns` and `fit_encoder`." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "e2d43844", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='ShelveLoc', name='ShelveLoc', is_categorical=True, is_ordinal=False, columns=('ShelveLoc[Good]', 'ShelveLoc[Medium]'), encoder=Contrast())" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.column_info_['ShelveLoc']" - ] - }, - { - "cell_type": "markdown", - "id": "46a01612", - "metadata": {}, - "source": [ - "It recognized ordinal columns as well." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "465a9326", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='OIncome', name='OIncome', is_categorical=True, is_ordinal=True, columns=('OIncome',), encoder=OrdinalEncoder())" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.column_info_['OIncome']" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "76f8480d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([ 73, 48, 35, 100]), ('Income',))" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "income = design.column_info_['Income']\n", - "cols, names = income.get_columns(Carseats)\n", - "(cols[:4], names)" - ] - }, - { - "cell_type": "markdown", - "id": "25fcc1de", - "metadata": {}, - "source": [ - "## Encoding a column\n", - "\n", - "In building a design matrix we must extract columns from our dataframe (or `np.ndarray`). Categorical\n", - "variables usually are encoded by several columns, typically one less than the number of categories.\n", - "This task is handled by the `encoder` of the `Column`. The encoder must satisfy the `sklearn` transform\n", - "model, i.e. `fit` on some array and `transform` on future arrays. The `fit_encoder` method of `Column` fits\n", - "its encoder the first time data is passed to it." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "dfe6cc35", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([[0., 0.],\n", - " [1., 0.],\n", - " [0., 1.],\n", - " [0., 1.]]),\n", - " ['ShelveLoc[Good]', 'ShelveLoc[Medium]'])" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "shelve = design.column_info_['ShelveLoc']\n", - "cols, names = shelve.get_columns(Carseats)\n", - "(cols[:4], names)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "8fc9779a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[2.],\n", - " [1.],\n", - " [1.],\n", - " [0.]])" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "oincome = design.column_info_['OIncome']\n", - "oincome.get_columns(Carseats)[0][:4]" - ] - }, - { - "cell_type": "markdown", - "id": "8e04da60", - "metadata": {}, - "source": [ - "## The terms\n", - "\n", - "The design matrix consists of several sets of columns. This is managed by the `ModelSpec` through\n", - "the `terms` argument which should be a sequence. The elements of `terms` are often\n", - "going to be strings (or tuples of strings for interactions, see below) but are converted to a\n", - "`Variable` object and stored in the `terms_` of the fitted `ModelSpec`. A `Variable` is just a named tuple." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "c579dbce", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['Price', 'Income']" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.terms" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "4587b8bd", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Variable(variables=('Price',), name='Price', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False),\n", - " Variable(variables=('Income',), name='Income', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False)]" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.terms_" - ] - }, - { - "cell_type": "markdown", - "id": "2595f0fa", - "metadata": {}, - "source": [ - "While each `Column` can itself extract data, they are all promoted to `Variable` to be of a uniform type. A\n", - "`Variable` can also create columns through the `build_columns` method of `ModelSpec`" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "03bd9366", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( Price\n", - " 0 120\n", - " 1 83\n", - " 2 80\n", - " 3 97\n", - " 4 128\n", - " .. ...\n", - " 395 128\n", - " 396 120\n", - " 397 159\n", - " 398 95\n", - " 399 120\n", - " \n", - " [400 rows x 1 columns],\n", - " ['Price'])" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "price = design.terms_[0]\n", - "design.build_columns(Carseats, price)" - ] - }, - { - "cell_type": "markdown", - "id": "de04ca48", - "metadata": {}, - "source": [ - "Note that `Variable` objects have a tuple of `variables` as well as an `encoder` attribute. The\n", - "tuple of `variables` first creates a concatenated dataframe from all corresponding variables and then\n", - "is run through `encoder.transform`. The `encoder.fit` method of each `Variable` is run once during \n", - "the call to `ModelSpec.fit`." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "a42af4c5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( Price Income UIncome[L] UIncome[M]\n", - " 0 120.0 73.0 0.0 1.0\n", - " 1 83.0 48.0 1.0 0.0\n", - " 2 80.0 35.0 1.0 0.0\n", - " 3 97.0 100.0 0.0 0.0\n", - " 4 128.0 64.0 0.0 1.0\n", - " .. ... ... ... ...\n", - " 395 128.0 108.0 0.0 0.0\n", - " 396 120.0 23.0 1.0 0.0\n", - " 397 159.0 26.0 1.0 0.0\n", - " 398 95.0 79.0 0.0 1.0\n", - " 399 120.0 37.0 1.0 0.0\n", - " \n", - " [400 rows x 4 columns],\n", - " ['Price', 'Income', 'UIncome[L]', 'UIncome[M]'])" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from ISLP.models.model_spec import Variable\n", - "\n", - "new_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=None)\n", - "design.build_columns(Carseats, new_var)" - ] - }, - { - "cell_type": "markdown", - "id": "b146d0c0", - "metadata": {}, - "source": [ - "Let's now transform these columns with an encoder. Within `ModelSpec` we will first build the\n", - "arrays above and then call `pca.fit` and finally `pca.transform` within `design.build_columns`." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "b6c394a6", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "( mynewvar[0] mynewvar[1]\n", - " 0 -3.608693 -4.853177\n", - " 1 15.081506 35.708630\n", - " 2 27.422871 40.774250\n", - " 3 -33.973209 13.470489\n", - " 4 6.567316 -11.290100\n", - " .. ... ...\n", - " 395 -36.846346 -18.415783\n", - " 396 45.741500 3.245602\n", - " 397 49.097533 -35.725355\n", - " 398 -13.577772 18.845139\n", - " 399 31.927566 0.978436\n", - " \n", - " [400 rows x 2 columns],\n", - " ['mynewvar[0]', 'mynewvar[1]'])" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from sklearn.decomposition import PCA\n", - "pca = PCA(n_components=2)\n", - "pca.fit(design.build_columns(Carseats, new_var)[0]) # this is done within `ModelSpec.fit`\n", - "pca_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=pca)\n", - "design.build_columns(Carseats, pca_var)" - ] - }, - { - "cell_type": "markdown", - "id": "3bb30a3f", - "metadata": {}, - "source": [ - "The elements of the `variables` attribute may be column identifiers ( `\"Price\"`), `Column` instances (`price`)\n", - "or `Variable` instances (`pca_var`)." - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "ea7770ff", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "( Price Price mynewvar[0] mynewvar[1]\n", - " 0 120.0 120.0 -3.608693 -4.853177\n", - " 1 83.0 83.0 15.081506 35.708630\n", - " 2 80.0 80.0 27.422871 40.774250\n", - " 3 97.0 97.0 -33.973209 13.470489\n", - " 4 128.0 128.0 6.567316 -11.290100\n", - " .. ... ... ... ...\n", - " 395 128.0 128.0 -36.846346 -18.415783\n", - " 396 120.0 120.0 45.741500 3.245602\n", - " 397 159.0 159.0 49.097533 -35.725355\n", - " 398 95.0 95.0 -13.577772 18.845139\n", - " 399 120.0 120.0 31.927566 0.978436\n", - " \n", - " [400 rows x 4 columns],\n", - " ['Price', 'Price', 'mynewvar[0]', 'mynewvar[1]'])" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "fancy_var = Variable(('Price', price, pca_var), name='fancy', encoder=None)\n", - "design.build_columns(Carseats, fancy_var)" - ] - }, - { - "cell_type": "markdown", - "id": "b2b4a01a", - "metadata": {}, - "source": [ - "We can of course run PCA again on these features (if we wanted)." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "21ad8b44", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "( fancy_pca[0] fancy_pca[1]\n", - " 0 -6.951792 4.859283\n", - " 1 55.170148 -24.694875\n", - " 2 59.418556 -38.033572\n", - " 3 34.722389 28.922184\n", - " 4 -21.419184 -3.120673\n", - " .. ... ...\n", - " 395 -18.257348 40.760122\n", - " 396 -10.546709 -45.021658\n", - " 397 -77.706359 -37.174379\n", - " 398 36.668694 7.730851\n", - " 399 -9.540535 -31.059122\n", - " \n", - " [400 rows x 2 columns],\n", - " ['fancy_pca[0]', 'fancy_pca[1]'])" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pca2 = PCA(n_components=2)\n", - "pca2.fit(design.build_columns(Carseats, fancy_var)[0]) # this is done within `ModelSpec.fit`\n", - "pca2_var = Variable(('Price', price, pca_var), name='fancy_pca', encoder=pca2)\n", - "design.build_columns(Carseats, pca2_var)" - ] - }, - { - "cell_type": "markdown", - "id": "2262377d", - "metadata": {}, - "source": [ - "## Building the design matrix\n", - "\n", - "With these notions in mind, the final design is essentially then" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "1654ca47", - "metadata": {}, - "outputs": [], - "source": [ - "X_hand = np.column_stack([design.build_columns(Carseats, v)[0] for v in design.terms_])[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "1db0e0a9", - "metadata": {}, - "source": [ - "An intercept column is added if `design.intercept` is `True` and if the original argument to `transform` is\n", - "a dataframe the index is adjusted accordingly." - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "d20e8ea8", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.intercept" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "450fe910", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
interceptPriceIncome
01.012073
11.08348
21.08035
31.097100
\n", - "
" - ], - "text/plain": [ - " intercept Price Income\n", - "0 1.0 120 73\n", - "1 1.0 83 48\n", - "2 1.0 80 35\n", - "3 1.0 97 100" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.transform(Carseats)[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "0705ba6f", - "metadata": {}, - "source": [ - "## Predicting\n", - "\n", - "Constructing the design matrix at any values is carried out by the `transform` method." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "866c2863", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([12.65257604, 12.25873428])" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "new_data = pd.DataFrame({'Price':[10,20], 'Income':[40, 50]})\n", - "new_X = design.transform(new_data)\n", - "M.get_prediction(new_X).predicted_mean" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "f2021166", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 0 1 \n", - "12.65258 12.25873 \n" - ] - } - ], - "source": [ - "%%R -i new_data,Carseats\n", - "predict(lm(Sales ~ Price + Income, data=Carseats), new_data)" - ] - }, - { - "cell_type": "markdown", - "id": "20e1a31a", - "metadata": {}, - "source": [ - "### Difference between using `pd.DataFrame` and `np.ndarray`\n", - "\n", - "If the `terms` only refer to a few columns of the data frame, the `transform` method only needs a dataframe with those columns.\n", - "\n", - "If we had used an `np.ndarray`, the column identifiers would be integers identifying specific columns so,\n", - "in order to work correctly, `transform` would need another `np.ndarray` where the columns have the same meaning." - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "a5926ec9", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[1.0, 120, 73],\n", - " [1.0, 83, 48],\n", - " [1.0, 80, 35],\n", - " [1.0, 97, 100]], dtype=object)" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats_np = np.asarray(Carseats[['Price', 'ShelveLoc', 'US', 'Income']])\n", - "design_np = ModelSpec([0,3]).fit(Carseats_np)\n", - "design_np.transform(Carseats_np)[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "997a63cb", - "metadata": {}, - "source": [ - "The following will fail for hopefully obvious reasons" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "40410c48", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "shapes (2,2) and (3,) not aligned: 2 (dim 1) != 3 (dim 0)\n" - ] - } - ], - "source": [ - "try:\n", - " new_D = np.zeros((2,2))\n", - " new_D[:,0] = [10,20]\n", - " new_D[:,1] = [40,50]\n", - " M.get_prediction(new_D).predicted_mean\n", - "except ValueError as e:\n", - " print(e)" - ] - }, - { - "cell_type": "markdown", - "id": "920203e9", - "metadata": {}, - "source": [ - "Ultimately, `M` expects 3 columns for new predictions because it was fit\n", - "with a matrix having 3 columns (the first representing an intercept).\n", - "\n", - "We might be tempted to try as with the `pd.DataFrame` and produce\n", - "an `np.ndarray` with only the necessary variables." - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "1061da77", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "index 3 is out of bounds for axis 1 with size 2\n" - ] - } - ], - "source": [ - "try:\n", - " new_X = np.zeros((2,2))\n", - " new_X[:,0] = [10,20]\n", - " new_X[:,1] = [40,50]\n", - " new_D = design_np.transform(new_X)\n", - " M.get_prediction(new_D).predicted_mean\n", - "except IndexError as e:\n", - " print(e)" - ] - }, - { - "cell_type": "markdown", - "id": "c6bfe001", - "metadata": {}, - "source": [ - "This fails because `design_np` is looking for column `3` from its `terms`:" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "5ae6d25f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Variable(variables=(0,), name='0', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False),\n", - " Variable(variables=(3,), name='3', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False)]" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design_np.terms_" - ] - }, - { - "cell_type": "markdown", - "id": "edd7ebeb", - "metadata": {}, - "source": [ - "However, if we have an `np.ndarray` in which the first column indeed represents `Price` and the fourth indeed\n", - "represents `Income` then we can arrive at the correct answer by supplying such the array to `design_np.transform`:" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "9455e532", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([12.65257604, 12.25873428])" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "new_X = np.zeros((2,4))\n", - "new_X[:,0] = [10,20]\n", - "new_X[:,3] = [40,50]\n", - "new_D = design_np.transform(new_X)\n", - "M.get_prediction(new_D).predicted_mean" - ] - }, - { - "cell_type": "markdown", - "id": "fd726791", - "metadata": {}, - "source": [ - "Given this subtlety about needing to supply arrays with identical column structure to `transform` when\n", - "using `np.ndarray` we presume that using a `pd.DataFrame` will be the more popular use case." - ] - }, - { - "cell_type": "markdown", - "id": "967d9ebc", - "metadata": {}, - "source": [ - "## A model with some categorical variables\n", - "\n", - "Categorical variables become `Column` instances with encoders." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "d0429b56", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='UIncome', name='UIncome', is_categorical=True, is_ordinal=False, columns=('UIncome[L]', 'UIncome[M]'), encoder=Contrast())" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Population', 'Price', 'UIncome', 'ShelveLoc']).fit(Carseats)\n", - "design.column_info_['UIncome']" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "415e3fd0", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Population', 'Price', 'UIncome[L]', 'UIncome[M]',\n", - " 'ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " dtype='object')" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "8a99c3a5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 11.876012\n", - "Population 0.001163\n", - "Price -0.055725\n", - "UIncome[L] -1.042297\n", - "UIncome[M] -0.119123\n", - "ShelveLoc[Good] 4.999623\n", - "ShelveLoc[Medium] 1.964278\n", - "dtype: float64" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "9250a28a", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) Population Price UIncomeM UIncomeH \n", - " 10.83371503 0.00116301 -0.05572469 0.92317388 1.04229679 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.99962319 1.96427771 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "fe90c12c", - "metadata": {}, - "source": [ - "## Getting the encoding you want\n", - "\n", - "By default the level dropped by `ModelSpec` will be the first of the `categories_` values from \n", - "`sklearn.preprocessing.OneHotEncoder()`. We might wish to change this. It seems\n", - "as if the correct way to do this would be something like `Variable(('UIncome',), 'mynewencoding', new_encoder)`\n", - "where `new_encoder` would somehow drop the column we want dropped. \n", - "\n", - "However, when using the convenient identifier `UIncome` in the `variables` argument, this maps to the `Column` associated to `UIncome` within `design.column_info_`:" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "0546ec84", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='UIncome', name='UIncome', is_categorical=True, is_ordinal=False, columns=('UIncome[L]', 'UIncome[M]'), encoder=Contrast())" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.column_info_['UIncome']" - ] - }, - { - "cell_type": "markdown", - "id": "6ec4fe65", - "metadata": {}, - "source": [ - "This column already has an encoder and `Column` instances are immutable as named tuples. Further, there are times when \n", - "we may want to encode `UIncome` differently within the same model. In the model below the main effect of `UIncome` is encoded with two columns while in the interaction `UIncome` (see below) has three columns. This is a design of interest\n", - "and we need a way to allow different encodings of the same column of `Carseats`" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "61e7f56e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ UIncome:ShelveLoc + UIncome, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) UIncomeM UIncomeH \n", - " 5.1317 0.1151 1.1561 \n", - " UIncomeL:ShelveLocGood UIncomeM:ShelveLocGood UIncomeH:ShelveLocGood \n", - " 4.5121 5.5752 3.7381 \n", - "UIncomeL:ShelveLocMedium UIncomeM:ShelveLocMedium UIncomeH:ShelveLocMedium \n", - " 1.2473 2.4782 1.5141 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "802ed854", - "metadata": {}, - "source": [ - " We can create a new \n", - "`Column` with the encoder we want. For categorical variables, there is a convenience function to do so." - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "82d7a01d", - "metadata": {}, - "outputs": [], - "source": [ - "from ISLP.models.model_spec import contrast\n", - "pref_encoding = contrast('UIncome', 'drop', 'L')" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "e26849a1", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( UIncome[M] UIncome[H]\n", - " 0 1.0 0.0\n", - " 1 0.0 0.0\n", - " 2 0.0 0.0\n", - " 3 0.0 1.0\n", - " 4 1.0 0.0\n", - " .. ... ...\n", - " 395 0.0 1.0\n", - " 396 0.0 0.0\n", - " 397 0.0 0.0\n", - " 398 1.0 0.0\n", - " 399 0.0 0.0\n", - " \n", - " [400 rows x 2 columns],\n", - " ['UIncome[M]', 'UIncome[H]'])" - ] - }, - "execution_count": 37, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.build_columns(Carseats, pref_encoding)" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "2fc4cd8c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Population', 'Price', 'UIncome[M]', 'UIncome[H]',\n", - " 'ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " dtype='object')" - ] - }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Population', 'Price', pref_encoding, 'ShelveLoc']).fit(Carseats)\n", - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "49e33d41", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 10.833715\n", - "Population 0.001163\n", - "Price -0.055725\n", - "UIncome[M] 0.923174\n", - "UIncome[H] 1.042297\n", - "ShelveLoc[Good] 4.999623\n", - "ShelveLoc[Medium] 1.964278\n", - "dtype: float64" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "ce018fdf", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) Population Price UIncomeM UIncomeH \n", - " 10.83371503 0.00116301 -0.05572469 0.92317388 1.04229679 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.99962319 1.96427771 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "2d42b822", - "metadata": {}, - "source": [ - "## Interactions\n", - "\n", - "We've referred to interactions above. These are specified (by convenience) as tuples in the `terms` argument\n", - "to `ModelSpec`." - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "id": "fbb3e3ba", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 7.866634\n", - "UIncome[L]:ShelveLoc[Good] 4.512054\n", - "UIncome[L]:ShelveLoc[Medium] 1.247275\n", - "UIncome[M]:ShelveLoc[Good] 5.575170\n", - "UIncome[M]:ShelveLoc[Medium] 2.478163\n", - "UIncome[L] -2.734895\n", - "UIncome[M] -2.619745\n", - "dtype: float64" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([('UIncome', 'ShelveLoc'), 'UIncome'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "markdown", - "id": "f9a7d4ad", - "metadata": {}, - "source": [ - "The tuples in `terms` are converted to `Variable` in the formalized `terms_` attribute by creating a `Variable` with\n", - "`variables` set to the tuple and the encoder an `Interaction` encoder which (unsurprisingly) creates the interaction columns from the concatenated data frames of `UIncome` and `ShelveLoc`." - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "id": "5a6f8e69", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Variable(variables=('UIncome', 'ShelveLoc'), name='UIncome:ShelveLoc', encoder=Interaction(column_names={'ShelveLoc': ['ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " 'UIncome': ['UIncome[L]', 'UIncome[M]']},\n", - " columns={'ShelveLoc': range(2, 4), 'UIncome': range(0, 2)},\n", - " variables=['UIncome', 'ShelveLoc']), use_transform=True, pure_columns=False, override_encoder_colnames=False)" - ] - }, - "execution_count": 42, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.terms_[0]" - ] - }, - { - "cell_type": "markdown", - "id": "98eef5c8", - "metadata": {}, - "source": [ - "Comparing this to the previous `R` model." - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "58c99601", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ UIncome:ShelveLoc + UIncome, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) UIncomeM UIncomeH \n", - " 5.1317 0.1151 1.1561 \n", - " UIncomeL:ShelveLocGood UIncomeM:ShelveLocGood UIncomeH:ShelveLocGood \n", - " 4.5121 5.5752 3.7381 \n", - "UIncomeL:ShelveLocMedium UIncomeM:ShelveLocMedium UIncomeH:ShelveLocMedium \n", - " 1.2473 2.4782 1.5141 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "9c979d7e", - "metadata": {}, - "source": [ - "We note a few important things:\n", - "\n", - "1. `R` has reorganized the columns of the design from the formula: although we wrote `UIncome:ShelveLoc` first these\n", - "columns have been built later. **`ModelSpec` builds columns in the order determined by `terms`!**\n", - "\n", - "2. As noted above, `R` has encoded `UIncome` differently in the main effect and in the interaction. For `ModelSpec`, the reference to `UIncome` always refers to the column in `design.column_info_` and will always build only the columns for `L` and `M`. **`ModelSpec` does no inspection of terms to decide how to encode categorical variables.**\n", - "\n", - "A few notes:\n", - "\n", - "- **Why not try to inspect the terms?** For any nontrivial formula in `R` with several categorical variables and interactions, predicting what columns will be produced from a given formula is not simple. **`ModelSpec` errs on the side of being explicit.**\n", - "\n", - "- **Is it impossible to build the design as `R` has?** No. An advanced user who *knows* they want the columns built as `R` has can do so (fairly) easily." - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "id": "0cb3b63a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( UIncome[H] UIncome[L] UIncome[M]\n", - " 0 0.0 0.0 1.0\n", - " 1 0.0 1.0 0.0\n", - " 2 0.0 1.0 0.0\n", - " 3 1.0 0.0 0.0\n", - " 4 0.0 0.0 1.0\n", - " .. ... ... ...\n", - " 395 1.0 0.0 0.0\n", - " 396 0.0 1.0 0.0\n", - " 397 0.0 1.0 0.0\n", - " 398 0.0 0.0 1.0\n", - " 399 0.0 1.0 0.0\n", - " \n", - " [400 rows x 3 columns],\n", - " ['UIncome[H]', 'UIncome[L]', 'UIncome[M]'])" - ] - }, - "execution_count": 44, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "full_encoding = contrast('UIncome', None)\n", - "design.build_columns(Carseats, full_encoding)" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "id": "272098d7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 5.131739\n", - "UIncome[M] 0.115150\n", - "UIncome[H] 1.156118\n", - "UIncome[H]:ShelveLoc[Good] 3.738052\n", - "UIncome[H]:ShelveLoc[Medium] 1.514104\n", - "UIncome[L]:ShelveLoc[Good] 4.512054\n", - "UIncome[L]:ShelveLoc[Medium] 1.247275\n", - "UIncome[M]:ShelveLoc[Good] 5.575170\n", - "UIncome[M]:ShelveLoc[Medium] 2.478163\n", - "dtype: float64" - ] - }, - "execution_count": 45, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([pref_encoding, (full_encoding, 'ShelveLoc')])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "markdown", - "id": "fe05c471", - "metadata": {}, - "source": [ - "## Special encodings\n", - "\n", - "For flexible models, we may want to consider transformations of features, i.e. polynomial\n", - "or spline transformations. Given transforms that follow the `fit/transform` paradigm\n", - "we can of course achieve this with a `Column` and an `encoder`. The `ISLP.transforms`\n", - "package includes a `Poly` transform" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "id": "67062299", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Variable(variables=('Income',), name='poly(Income, 3, )', encoder=Poly(degree=3), use_transform=True, pure_columns=False, override_encoder_colnames=True)" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from ISLP.models.model_spec import poly\n", - "poly('Income', 3)" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "id": "df5e5b4d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 5.440077\n", - "poly(Income, 3, )[0] 10.036373\n", - "poly(Income, 3, )[1] -2.799156\n", - "poly(Income, 3, )[2] 2.399601\n", - "ShelveLoc[Good] 4.808133\n", - "ShelveLoc[Medium] 1.889533\n", - "dtype: float64" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([poly('Income', 3), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "markdown", - "id": "01be9c13", - "metadata": {}, - "source": [ - "Compare:" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "3244d6f6", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) poly(Income, 3)1 poly(Income, 3)2 poly(Income, 3)3 \n", - " 5.440077 10.036373 -2.799156 2.399601 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.808133 1.889533 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ poly(Income, 3) + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "8ad5bb1d", - "metadata": {}, - "source": [ - "## Splines\n", - "\n", - "Support for natural and B-splines is also included" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "id": "6a6f4358", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 4.240421\n", - "ns(Income, , df=5)[0] 1.468196\n", - "ns(Income, , df=5)[1] 1.499471\n", - "ns(Income, , df=5)[2] 1.152070\n", - "ns(Income, , df=5)[3] 2.418398\n", - "ns(Income, , df=5)[4] 1.804460\n", - "ShelveLoc[Good] 4.810449\n", - "ShelveLoc[Medium] 1.881095\n", - "dtype: float64" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from ISLP.models.model_spec import ns, bs, pca\n", - "design = ModelSpec([ns('Income', df=5), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "id": "fb740953", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) ns(Income, df = 5)1 ns(Income, df = 5)2 ns(Income, df = 5)3 \n", - " 4.240421 1.468196 1.499471 1.152070 \n", - "ns(Income, df = 5)4 ns(Income, df = 5)5 ShelveLocGood ShelveLocMedium \n", - " 2.418398 1.804460 4.810449 1.881095 \n" - ] - } - ], - "source": [ - "%%R\n", - "library(splines)\n", - "lm(Sales ~ ns(Income, df=5) + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "id": "fe1bf7fe", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 3.495085\n", - "bs(Income, , df=7, degree=2)[0] 1.813118\n", - "bs(Income, , df=7, degree=2)[1] 0.961852\n", - "bs(Income, , df=7, degree=2)[2] 2.471545\n", - "bs(Income, , df=7, degree=2)[3] 2.158891\n", - "bs(Income, , df=7, degree=2)[4] 2.091625\n", - "bs(Income, , df=7, degree=2)[5] 2.600669\n", - "bs(Income, , df=7, degree=2)[6] 2.843108\n", - "ShelveLoc[Good] 4.804919\n", - "ShelveLoc[Medium] 1.880337\n", - "dtype: float64" - ] - }, - "execution_count": 51, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([bs('Income', df=7, degree=2), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "id": "86e966e0", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) bs(Income, df = 7, degree = 2)1 \n", - " 3.4950851 1.8131176 \n", - "bs(Income, df = 7, degree = 2)2 bs(Income, df = 7, degree = 2)3 \n", - " 0.9618523 2.4715450 \n", - "bs(Income, df = 7, degree = 2)4 bs(Income, df = 7, degree = 2)5 \n", - " 2.1588908 2.0916252 \n", - "bs(Income, df = 7, degree = 2)6 bs(Income, df = 7, degree = 2)7 \n", - " 2.6006694 2.8431084 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.8049190 1.8803375 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ bs(Income, df=7, degree=2) + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "877d4784", - "metadata": {}, - "source": [ - "## PCA" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "id": "8ba6cb20", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "intercept 5.419405\n", - "pca(myvars, , n_components=2)[0] -0.001131\n", - "pca(myvars, , n_components=2)[1] -0.024217\n", - "ShelveLoc[Good] 4.816253\n", - "ShelveLoc[Medium] 1.924139\n", - "dtype: float64" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([pca(['Income', \n", - " 'Price', \n", - " 'Advertising', \n", - " 'Population'], \n", - " n_components=2, \n", - " name='myvars'), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "id": "f0319e51", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ prcomp(cbind(Income, Price, Advertising, \n", - " Population))$x[, 1:2] + ShelveLoc, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) \n", - " 5.419405 \n", - "prcomp(cbind(Income, Price, Advertising, Population))$x[, 1:2]PC1 \n", - " 0.001131 \n", - "prcomp(cbind(Income, Price, Advertising, Population))$x[, 1:2]PC2 \n", - " -0.024217 \n", - " ShelveLocGood \n", - " 4.816253 \n", - " ShelveLocMedium \n", - " 1.924139 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ prcomp(cbind(Income, Price, Advertising, Population))$x[,1:2] + ShelveLoc, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "1f55086a", - "metadata": {}, - "source": [ - "It is of course common to scale before running PCA." - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "id": "bbe9e004", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "intercept 5.352159\n", - "pca(myvars, , n_components=2)[0] 0.446383\n", - "pca(myvars, , n_components=2)[1] -1.219788\n", - "ShelveLoc[Good] 4.922780\n", - "ShelveLoc[Medium] 2.005617\n", - "dtype: float64" - ] - }, - "execution_count": 55, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([pca(['Income', \n", - " 'Price', \n", - " 'Advertising', \n", - " 'Population'], \n", - " n_components=2, \n", - " name='myvars',\n", - " scale=True), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "id": "d78c02e4", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ prcomp(cbind(Income, Price, Advertising, \n", - " Population), scale = TRUE)$x[, 1:2] + ShelveLoc, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) \n", - " 5.3522 \n", - "prcomp(cbind(Income, Price, Advertising, Population), scale = TRUE)$x[, 1:2]PC1 \n", - " 0.4469 \n", - "prcomp(cbind(Income, Price, Advertising, Population), scale = TRUE)$x[, 1:2]PC2 \n", - " -1.2213 \n", - " ShelveLocGood \n", - " 4.9228 \n", - " ShelveLocMedium \n", - " 2.0056 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ prcomp(cbind(Income, Price, Advertising, Population), scale=TRUE)$x[,1:2] + ShelveLoc, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "8a03c603", - "metadata": {}, - "source": [ - "There will be some small differences in the coefficients due to `sklearn` use of `np.std(ddof=0)` instead\n", - "of `np.std(ddof=1)`." - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "id": "f8215cef", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 0.44694166, -1.22131519])" - ] - }, - "execution_count": 57, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.array(sm.OLS(Y, X).fit().params)[1:3] * np.sqrt(X.shape[0] / (X.shape[0]-1))" - ] - }, - { - "cell_type": "markdown", - "id": "a15d0ead", - "metadata": {}, - "source": [ - "## Submodels\n", - "\n", - "We can build submodels as well, even if the terms do not appear in the original `terms` argument.\n", - "Fundamentally, the terms just need to be able to have the `design.build_columns` work for us to be\n", - "able to build a design matrix. The initial inspection of the columns of `Carseats` has created\n", - "a column for `US`, hence we can build this submodel." - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "id": "d58c6244", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
interceptUS[Yes]
01.01.0
11.01.0
21.01.0
31.01.0
41.00.0
.........
3951.01.0
3961.01.0
3971.01.0
3981.01.0
3991.01.0
\n", - "

400 rows × 2 columns

\n", - "
" - ], - "text/plain": [ - " intercept US[Yes]\n", - "0 1.0 1.0\n", - "1 1.0 1.0\n", - "2 1.0 1.0\n", - "3 1.0 1.0\n", - "4 1.0 0.0\n", - ".. ... ...\n", - "395 1.0 1.0\n", - "396 1.0 1.0\n", - "397 1.0 1.0\n", - "398 1.0 1.0\n", - "399 1.0 1.0\n", - "\n", - "[400 rows x 2 columns]" - ] - }, - "execution_count": 58, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['UIncome', 'ShelveLoc', 'Price']).fit(Carseats)\n", - "design.build_submodel(Carseats, ['US'])" - ] - }, - { - "cell_type": "markdown", - "id": "9365ba27", - "metadata": {}, - "source": [ - "## ANOVA \n", - "\n", - "For a given `terms` argument, there as a natural sequence of models, namely those specified by `[terms[:i] for i in range(len(terms)+1]`." - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "id": "332ab454", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Index(['intercept'], dtype='object')\n", - "Index(['intercept', 'ShelveLoc[Good]', 'ShelveLoc[Medium]'], dtype='object')\n", - "Index(['intercept', 'ShelveLoc[Good]', 'ShelveLoc[Medium]', 'Price'], dtype='object')\n", - "Index(['intercept', 'ShelveLoc[Good]', 'ShelveLoc[Medium]', 'Price',\n", - " 'UIncome[L]', 'UIncome[M]'],\n", - " dtype='object')\n", - "Index(['intercept', 'ShelveLoc[Good]', 'ShelveLoc[Medium]', 'Price',\n", - " 'UIncome[L]', 'UIncome[M]', 'US[Yes]'],\n", - " dtype='object')\n" - ] - } - ], - "source": [ - "design = ModelSpec(['ShelveLoc', 'Price', 'UIncome', 'US']).fit(Carseats)\n", - "for D in design.build_sequence(Carseats):\n", - " print(D.columns)" - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "id": "f6cfd031", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
df_residssrdf_diffss_diffFPr(>F)
0399.03182.2746980.0NaNNaNNaN
1397.02172.7435552.01009.531143153.0108585.452815e-50
2396.01455.6407021.0717.102853217.3771921.583751e-39
3394.01378.9159382.076.72476411.6288851.239031e-05
4393.01296.4627001.082.45323824.9942578.678832e-07
\n", - "
" - ], - "text/plain": [ - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 399.0 3182.274698 0.0 NaN NaN NaN\n", - "1 397.0 2172.743555 2.0 1009.531143 153.010858 5.452815e-50\n", - "2 396.0 1455.640702 1.0 717.102853 217.377192 1.583751e-39\n", - "3 394.0 1378.915938 2.0 76.724764 11.628885 1.239031e-05\n", - "4 393.0 1296.462700 1.0 82.453238 24.994257 8.678832e-07" - ] - }, - "execution_count": 60, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.stats.anova_lm(*(sm.OLS(Y, D).fit() for D in design.build_sequence(Carseats) ))" - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "id": "11c4aee8", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Analysis of Variance Table\n", - "\n", - "Response: Sales\n", - " Df Sum Sq Mean Sq F value Pr(>F) \n", - "ShelveLoc 2 1009.53 504.77 153.011 < 2.2e-16 ***\n", - "Price 1 717.10 717.10 217.377 < 2.2e-16 ***\n", - "UIncome 2 76.72 38.36 11.629 1.240e-05 ***\n", - "US 1 82.45 82.45 24.994 8.679e-07 ***\n", - "Residuals 393 1296.46 3.30 \n", - "---\n", - "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n" - ] - } - ], - "source": [ - "%%R\n", - "anova(lm(Sales ~ ShelveLoc + Price + UIncome + US, data=Carseats))" - ] - }, - { - "cell_type": "markdown", - "id": "9a4e6e63", - "metadata": {}, - "source": [ - "Recall that `ModelSpec` does not inspect `terms` to reorder based on degree of \n", - "interaction as `R` does:" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "id": "6e7bf361", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
df_residssrdf_diffss_diffFPr(>F)
0399.03182.2746980.0NaNNaNNaN
1393.02059.3764136.01122.89828435.9400471.175738e-34
2391.02036.0445962.023.3318172.2403101.077900e-01
\n", - "
" - ], - "text/plain": [ - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 399.0 3182.274698 0.0 NaN NaN NaN\n", - "1 393.0 2059.376413 6.0 1122.898284 35.940047 1.175738e-34\n", - "2 391.0 2036.044596 2.0 23.331817 2.240310 1.077900e-01" - ] - }, - "execution_count": 62, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([(full_encoding, 'ShelveLoc'), pref_encoding]).fit(Carseats)\n", - "sm.stats.anova_lm(*(sm.OLS(Y, D).fit() for D in design.build_sequence(Carseats) ))" - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "id": "ed7d4bfa", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Analysis of Variance Table\n", - "\n", - "Response: Sales\n", - " Df Sum Sq Mean Sq F value Pr(>F) \n", - "UIncome 2 61.92 30.962 5.9458 0.002859 ** \n", - "UIncome:ShelveLoc 6 1084.31 180.718 34.7049 < 2.2e-16 ***\n", - "Residuals 391 2036.04 5.207 \n", - "---\n", - "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n" - ] - } - ], - "source": [ - "%%R\n", - "anova(lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats))" - ] - }, - { - "cell_type": "markdown", - "id": "0350da34", - "metadata": {}, - "source": [ - "To agree with `R` we must order `terms` as `R` will." - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "id": "5ddaf87c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
df_residssrdf_diffss_diffFPr(>F)
0399.03182.2746980.0NaNNaNNaN
1397.03120.3513822.061.9233165.9458462.855424e-03
2391.02036.0445966.01084.30678534.7048681.346561e-33
\n", - "
" - ], - "text/plain": [ - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 399.0 3182.274698 0.0 NaN NaN NaN\n", - "1 397.0 3120.351382 2.0 61.923316 5.945846 2.855424e-03\n", - "2 391.0 2036.044596 6.0 1084.306785 34.704868 1.346561e-33" - ] - }, - "execution_count": 64, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([pref_encoding, (full_encoding, 'ShelveLoc')]).fit(Carseats)\n", - "sm.stats.anova_lm(*(sm.OLS(Y, D).fit() for D in design.build_sequence(Carseats)))" - ] - }, - { - "cell_type": "markdown", - "id": "1ef70ce3", - "metadata": {}, - "source": [ - "## More complicated interactions\n", - "\n", - "Can we have an interaction of a polynomial effect with a categorical? Absolutely" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "id": "a1a14742", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Analysis of Variance Table\n", - "\n", - "Response: Sales\n", - " Df Sum Sq Mean Sq F value Pr(>F) \n", - "UIncome 2 61.92 30.9617 4.0310 0.01851 *\n", - "UIncome:poly(Income, 3) 9 79.72 8.8581 1.1533 0.32408 \n", - "UIncome:US 3 83.51 27.8367 3.6242 0.01324 *\n", - "Residuals 385 2957.12 7.6808 \n", - "---\n", - "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n" - ] - } - ], - "source": [ - "%%R\n", - "anova(lm(Sales ~ UIncome + poly(Income, 3):UIncome + UIncome:US, data=Carseats))" - ] - }, - { - "cell_type": "markdown", - "id": "a909be1a", - "metadata": {}, - "source": [ - "To match `R` we note that it has used its inspection rules to encode `UIncome` with 3 levels\n", - "for the two interactions." - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "id": "ae286cf3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 65.978856\n", - "UIncome[M] -60.159607\n", - "UIncome[H] -147.276154\n", - "poly(Income, 3, )[0]:UIncome[H] 1957.694387\n", - "poly(Income, 3, )[0]:UIncome[L] 1462.060650\n", - "poly(Income, 3, )[0]:UIncome[M] 83.035153\n", - "poly(Income, 3, )[1]:UIncome[H] -984.494570\n", - "poly(Income, 3, )[1]:UIncome[L] 881.537647\n", - "poly(Income, 3, )[1]:UIncome[M] -18.006234\n", - "poly(Income, 3, )[2]:UIncome[H] 207.614692\n", - "poly(Income, 3, )[2]:UIncome[L] 217.190749\n", - "poly(Income, 3, )[2]:UIncome[M] 34.065434\n", - "UIncome[H]:US 0.903404\n", - "UIncome[L]:US 0.895538\n", - "UIncome[M]:US 1.048728\n", - "dtype: float64" - ] - }, - "execution_count": 66, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "p3 = poly('Income', 3)\n", - "design = ModelSpec([pref_encoding, (p3, full_encoding), (full_encoding, 'US')]).fit(Carseats)\n", - "X = design.transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "id": "236ab2d2", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
df_residssrdf_diffss_diffFPr(>F)
0399.03182.2746980.0NaNNaNNaN
1397.03120.3513822.061.9233164.0310320.018488
2388.03040.6285599.079.7228231.1532730.324049
3385.02957.1184443.083.5101153.6241810.013244
\n", - "
" - ], - "text/plain": [ - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 399.0 3182.274698 0.0 NaN NaN NaN\n", - "1 397.0 3120.351382 2.0 61.923316 4.031032 0.018488\n", - "2 388.0 3040.628559 9.0 79.722823 1.153273 0.324049\n", - "3 385.0 2957.118444 3.0 83.510115 3.624181 0.013244" - ] - }, - "execution_count": 67, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.stats.anova_lm(*(sm.OLS(Y, D).fit() for D in design.build_sequence(Carseats)))" - ] - }, - { - "cell_type": "markdown", - "id": "0a45c720", - "metadata": {}, - "source": [ - "## Grouping columns for ANOVA\n", - "\n", - "The `Variable` construct can be used to group\n", - "variables together to get custom sequences of models for `anova_lm`." - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "id": "f36c1b3b", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Index(['intercept'], dtype='object')\n", - "Index(['intercept', 'Price', 'UIncome[M]', 'UIncome[H]'], dtype='object')\n", - "Index(['intercept', 'Price', 'UIncome[M]', 'UIncome[H]', 'US[Yes]',\n", - " 'Advertising'],\n", - " dtype='object')\n" - ] - } - ], - "source": [ - "group1 = Variable(('Price', pref_encoding), 'group1', None)\n", - "group2 = Variable(('US', 'Advertising'), 'group2', None)\n", - "design = ModelSpec([group1, group2]).fit(Carseats)\n", - "for D in design.build_sequence(Carseats):\n", - " print(D.columns)" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "id": "3daf7638", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
df_residssrdf_diffss_diffFPr(>F)
0399.03182.2746980.0NaNNaNNaN
1396.02508.1877883.0674.08691039.3048412.970412e-22
2394.02252.3963432.0255.79144522.3721356.267562e-10
\n", - "
" - ], - "text/plain": [ - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 399.0 3182.274698 0.0 NaN NaN NaN\n", - "1 396.0 2508.187788 3.0 674.086910 39.304841 2.970412e-22\n", - "2 394.0 2252.396343 2.0 255.791445 22.372135 6.267562e-10" - ] - }, - "execution_count": 69, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.stats.anova_lm(*(sm.OLS(Y, D).fit() for D in design.build_sequence(Carseats)))" - ] - }, - { - "cell_type": "markdown", - "id": "46c1ace8", - "metadata": {}, - "source": [ - "It is not clear this is simple to do in `R` as the formula object expands all parentheses." - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "id": "0b87e430", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Analysis of Variance Table\n", - "\n", - "Response: Sales\n", - " Df Sum Sq Mean Sq F value Pr(>F) \n", - "Price 1 630.03 630.03 110.2079 < 2.2e-16 ***\n", - "UIncome 2 44.06 22.03 3.8533 0.02201 * \n", - "US 1 121.88 121.88 21.3196 5.270e-06 ***\n", - "Advertising 1 133.91 133.91 23.4247 1.868e-06 ***\n", - "Residuals 394 2252.40 5.72 \n", - "---\n", - "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n" - ] - } - ], - "source": [ - "%%R\n", - "anova(lm(Sales ~ (Price + UIncome) + (US + Advertising), data=Carseats))" - ] - }, - { - "cell_type": "markdown", - "id": "7c137360", - "metadata": {}, - "source": [ - "It can be done by building up the models\n", - "by hand and likely is possible to be done programmatically but it seems not obvious." - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "id": "b678d323", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Analysis of Variance Table\n", - "\n", - "Model 1: Sales ~ 1\n", - "Model 2: Sales ~ Price + UIncome\n", - "Model 3: Sales ~ Price + UIncome + US + Advertising\n", - " Res.Df RSS Df Sum of Sq F Pr(>F) \n", - "1 399 3182.3 \n", - "2 396 2508.2 3 674.09 39.305 < 2.2e-16 ***\n", - "3 394 2252.4 2 255.79 22.372 6.268e-10 ***\n", - "---\n", - "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n" - ] - } - ], - "source": [ - "%%R\n", - "M1 = lm(Sales ~ 1, data=Carseats)\n", - "M2 = lm(Sales ~ Price + UIncome, data=Carseats)\n", - "M3 = lm(Sales ~ Price + UIncome + US + Advertising, data=Carseats)\n", - "anova(M1, M2, M3)" - ] - }, - { - "cell_type": "markdown", - "id": "b0388949", - "metadata": {}, - "source": [ - "## Alternative anova\n", - "\n", - "Another common ANOVA table involves dropping each term in succession from the model and comparing\n", - "to the full model." - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "id": "ac5b916a", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'intercept'}\n", - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 395.0 4417.273517 0.0 NaN NaN NaN\n", - "1 394.0 2252.396343 1.0 2164.877175 378.690726 1.359177e-59\n", - "{'Price', 'UIncome[H]', 'UIncome[M]'}\n", - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 397.0 2950.808154 0.0 NaN NaN NaN\n", - "1 394.0 2252.396343 3.0 698.411811 40.723184 6.077848e-23\n", - "{'US[Yes]', 'Advertising'}\n", - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 396.0 2508.187788 0.0 NaN NaN NaN\n", - "1 394.0 2252.396343 2.0 255.791445 22.372135 6.267562e-10\n" - ] - } - ], - "source": [ - "Dfull = design.transform(Carseats)\n", - "Mfull = sm.OLS(Y, Dfull).fit()\n", - "for i, D in enumerate(design.build_sequence(Carseats, anova_type='drop')):\n", - " if i == 0:\n", - " D0 = D\n", - " print(set(D.columns) ^ set(Dfull.columns))\n", - " print(sm.stats.anova_lm(sm.OLS(Y, D).fit(), Mfull))" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "id": "a0c71948", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Analysis of Variance Table\n", - "\n", - "Model 1: Sales ~ US + Advertising\n", - "Model 2: Sales ~ Price + UIncome + US + Advertising\n", - " Res.Df RSS Df Sum of Sq F Pr(>F) \n", - "1 397 2950.8 \n", - "2 394 2252.4 3 698.41 40.723 < 2.2e-16 ***\n", - "---\n", - "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n", - "Analysis of Variance Table\n", - "\n", - "Model 1: Sales ~ Price + UIncome\n", - "Model 2: Sales ~ Price + UIncome + US + Advertising\n", - " Res.Df RSS Df Sum of Sq F Pr(>F) \n", - "1 396 2508.2 \n", - "2 394 2252.4 2 255.79 22.372 6.268e-10 ***\n", - "---\n", - "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n" - ] - } - ], - "source": [ - "%%R\n", - "M1 = lm(Sales ~ Price + UIncome + US + Advertising, data=Carseats)\n", - "M2 = lm(Sales ~ US + Advertising, data=Carseats)\n", - "print(anova(M2, M1))\n", - "M3 = lm(Sales ~ Price + UIncome, data=Carseats)\n", - "print(anova(M3, M1))" - ] - }, - { - "cell_type": "markdown", - "id": "a5e4880d", - "metadata": {}, - "source": [ - "The comparison without the intercept here is actually very hard to achieve in `R` with `anova` due to its inspection\n", - "of the formula." - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "id": "4b383401", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Analysis of Variance Table\n", - "\n", - "Model 1: Sales ~ Price + UIncome + US + Advertising - 1\n", - "Model 2: Sales ~ Price + UIncome + US + Advertising\n", - " Res.Df RSS Df Sum of Sq F Pr(>F)\n", - "1 394 2252.4 \n", - "2 394 2252.4 0 9.0949e-13 \n" - ] - } - ], - "source": [ - "%%R\n", - "M1 = lm(Sales ~ Price + UIncome + US + Advertising, data=Carseats)\n", - "M4 = lm(Sales ~ Price + UIncome + US + Advertising - 1, data=Carseats)\n", - "print(anova(M4, M1))" - ] - }, - { - "cell_type": "markdown", - "id": "72d7c83b", - "metadata": {}, - "source": [ - "It can be found with `summary`." - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "id": "4d5ce789", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ Price + UIncome + US + Advertising, data = Carseats)\n", - "\n", - "Residuals:\n", - " Min 1Q Median 3Q Max \n", - "-7.4437 -1.6351 -0.0932 1.4920 6.8076 \n", - "\n", - "Coefficients:\n", - " Estimate Std. Error t value Pr(>|t|) \n", - "(Intercept) 12.520356 0.643390 19.460 < 2e-16 ***\n", - "Price -0.054000 0.005072 -10.647 < 2e-16 ***\n", - "UIncomeM 0.548906 0.281693 1.949 0.0521 . \n", - "UIncomeH 0.708219 0.322028 2.199 0.0284 * \n", - "USYes 0.024181 0.343246 0.070 0.9439 \n", - "Advertising 0.119509 0.024692 4.840 1.87e-06 ***\n", - "---\n", - "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n", - "\n", - "Residual standard error: 2.391 on 394 degrees of freedom\n", - "Multiple R-squared: 0.2922,\tAdjusted R-squared: 0.2832 \n", - "F-statistic: 32.53 on 5 and 394 DF, p-value: < 2.2e-16\n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "summary(M1)" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "id": "56b82d02", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(378.690726, 378.69160000000005)" - ] - }, - "execution_count": 76, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "378.690726, 19.46**2" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "872f645c-1d6f-4d08-9eec-2b80276bc82c", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "jupytext": { - "formats": "source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb" - }, - "kernelspec": { - "display_name": "python3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.13" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/jupyterbook/models/submodels.md b/docs/jupyterbook/models/submodels.md deleted file mode 100644 index 6f339ed..0000000 --- a/docs/jupyterbook/models/submodels.md +++ /dev/null @@ -1,652 +0,0 @@ ---- -jupytext: - formats: source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb - text_representation: - extension: .md - format_name: myst - format_version: 0.13 - jupytext_version: 1.14.5 -kernelspec: - display_name: python3 - language: python - name: python3 ---- - -# Building design matrices with `ModelSpec` - -Force rebuild - -```{code-cell} ipython3 -x=4 -import numpy as np, pandas as pd -%load_ext rpy2.ipython - -from ISLP import load_data -from ISLP.models import ModelSpec - -import statsmodels.api as sm -``` - -```{code-cell} ipython3 -Carseats = load_data('Carseats') -%R -i Carseats -Carseats.columns -``` - -## Let's break up income into groups - -```{code-cell} ipython3 -Carseats['OIncome'] = pd.cut(Carseats['Income'], - [0,50,90,200], - labels=['L','M','H']) -Carseats['OIncome'] -``` - -Let's also create an unordered version - -```{code-cell} ipython3 -Carseats['UIncome'] = pd.cut(Carseats['Income'], - [0,50,90,200], - labels=['L','M','H'], - ordered=False) -Carseats['UIncome'] -``` - -## A simple model - -```{code-cell} ipython3 -design = ModelSpec(['Price', 'Income']) -X = design.fit_transform(Carseats) -X.columns -``` - -```{code-cell} ipython3 -Y = Carseats['Sales'] -M = sm.OLS(Y, X).fit() -M.params -``` - -## Basic procedure - -The design matrix is built by cobbling together a set of columns and possibly transforming them. -A `pd.DataFrame` is essentially a list of columns. One of the first tasks done in `ModelSpec.fit` -is to inspect a dataframe for column info. The column `ShelveLoc` is categorical: - -```{code-cell} ipython3 -Carseats['ShelveLoc'] -``` - -This is recognized by `ModelSpec` in the form of `Column` objects which are just named tuples with two methods -`get_columns` and `fit_encoder`. - -```{code-cell} ipython3 -design.column_info_['ShelveLoc'] -``` - -It recognized ordinal columns as well. - -```{code-cell} ipython3 -design.column_info_['OIncome'] -``` - -```{code-cell} ipython3 -income = design.column_info_['Income'] -cols, names = income.get_columns(Carseats) -(cols[:4], names) -``` - -## Encoding a column - -In building a design matrix we must extract columns from our dataframe (or `np.ndarray`). Categorical -variables usually are encoded by several columns, typically one less than the number of categories. -This task is handled by the `encoder` of the `Column`. The encoder must satisfy the `sklearn` transform -model, i.e. `fit` on some array and `transform` on future arrays. The `fit_encoder` method of `Column` fits -its encoder the first time data is passed to it. - -```{code-cell} ipython3 -shelve = design.column_info_['ShelveLoc'] -cols, names = shelve.get_columns(Carseats) -(cols[:4], names) -``` - -```{code-cell} ipython3 -oincome = design.column_info_['OIncome'] -oincome.get_columns(Carseats)[0][:4] -``` - -## The terms - -The design matrix consists of several sets of columns. This is managed by the `ModelSpec` through -the `terms` argument which should be a sequence. The elements of `terms` are often -going to be strings (or tuples of strings for interactions, see below) but are converted to a -`Variable` object and stored in the `terms_` of the fitted `ModelSpec`. A `Variable` is just a named tuple. - -```{code-cell} ipython3 -design.terms -``` - -```{code-cell} ipython3 -design.terms_ -``` - -While each `Column` can itself extract data, they are all promoted to `Variable` to be of a uniform type. A -`Variable` can also create columns through the `build_columns` method of `ModelSpec` - -```{code-cell} ipython3 -price = design.terms_[0] -design.build_columns(Carseats, price) -``` - -Note that `Variable` objects have a tuple of `variables` as well as an `encoder` attribute. The -tuple of `variables` first creates a concatenated dataframe from all corresponding variables and then -is run through `encoder.transform`. The `encoder.fit` method of each `Variable` is run once during -the call to `ModelSpec.fit`. - -```{code-cell} ipython3 -from ISLP.models.model_spec import Variable - -new_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=None) -design.build_columns(Carseats, new_var) -``` - -Let's now transform these columns with an encoder. Within `ModelSpec` we will first build the -arrays above and then call `pca.fit` and finally `pca.transform` within `design.build_columns`. - -```{code-cell} ipython3 -from sklearn.decomposition import PCA -pca = PCA(n_components=2) -pca.fit(design.build_columns(Carseats, new_var)[0]) # this is done within `ModelSpec.fit` -pca_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=pca) -design.build_columns(Carseats, pca_var) -``` - -The elements of the `variables` attribute may be column identifiers ( `"Price"`), `Column` instances (`price`) -or `Variable` instances (`pca_var`). - -```{code-cell} ipython3 -fancy_var = Variable(('Price', price, pca_var), name='fancy', encoder=None) -design.build_columns(Carseats, fancy_var) -``` - -We can of course run PCA again on these features (if we wanted). - -```{code-cell} ipython3 -pca2 = PCA(n_components=2) -pca2.fit(design.build_columns(Carseats, fancy_var)[0]) # this is done within `ModelSpec.fit` -pca2_var = Variable(('Price', price, pca_var), name='fancy_pca', encoder=pca2) -design.build_columns(Carseats, pca2_var) -``` - -## Building the design matrix - -With these notions in mind, the final design is essentially then - -```{code-cell} ipython3 -X_hand = np.column_stack([design.build_columns(Carseats, v)[0] for v in design.terms_])[:4] -``` - -An intercept column is added if `design.intercept` is `True` and if the original argument to `transform` is -a dataframe the index is adjusted accordingly. - -```{code-cell} ipython3 -design.intercept -``` - -```{code-cell} ipython3 -design.transform(Carseats)[:4] -``` - -## Predicting - -Constructing the design matrix at any values is carried out by the `transform` method. - -```{code-cell} ipython3 -new_data = pd.DataFrame({'Price':[10,20], 'Income':[40, 50]}) -new_X = design.transform(new_data) -M.get_prediction(new_X).predicted_mean -``` - -```{code-cell} ipython3 -%%R -i new_data,Carseats -predict(lm(Sales ~ Price + Income, data=Carseats), new_data) -``` - -### Difference between using `pd.DataFrame` and `np.ndarray` - -If the `terms` only refer to a few columns of the data frame, the `transform` method only needs a dataframe with those columns. - -If we had used an `np.ndarray`, the column identifiers would be integers identifying specific columns so, -in order to work correctly, `transform` would need another `np.ndarray` where the columns have the same meaning. - -```{code-cell} ipython3 -Carseats_np = np.asarray(Carseats[['Price', 'ShelveLoc', 'US', 'Income']]) -design_np = ModelSpec([0,3]).fit(Carseats_np) -design_np.transform(Carseats_np)[:4] -``` - -The following will fail for hopefully obvious reasons - -```{code-cell} ipython3 -try: - new_D = np.zeros((2,2)) - new_D[:,0] = [10,20] - new_D[:,1] = [40,50] - M.get_prediction(new_D).predicted_mean -except ValueError as e: - print(e) -``` - -Ultimately, `M` expects 3 columns for new predictions because it was fit -with a matrix having 3 columns (the first representing an intercept). - -We might be tempted to try as with the `pd.DataFrame` and produce -an `np.ndarray` with only the necessary variables. - -```{code-cell} ipython3 -try: - new_X = np.zeros((2,2)) - new_X[:,0] = [10,20] - new_X[:,1] = [40,50] - new_D = design_np.transform(new_X) - M.get_prediction(new_D).predicted_mean -except IndexError as e: - print(e) -``` - -This fails because `design_np` is looking for column `3` from its `terms`: - -```{code-cell} ipython3 -design_np.terms_ -``` - -However, if we have an `np.ndarray` in which the first column indeed represents `Price` and the fourth indeed -represents `Income` then we can arrive at the correct answer by supplying such the array to `design_np.transform`: - -```{code-cell} ipython3 -new_X = np.zeros((2,4)) -new_X[:,0] = [10,20] -new_X[:,3] = [40,50] -new_D = design_np.transform(new_X) -M.get_prediction(new_D).predicted_mean -``` - -Given this subtlety about needing to supply arrays with identical column structure to `transform` when -using `np.ndarray` we presume that using a `pd.DataFrame` will be the more popular use case. - -+++ - -## A model with some categorical variables - -Categorical variables become `Column` instances with encoders. - -```{code-cell} ipython3 -design = ModelSpec(['Population', 'Price', 'UIncome', 'ShelveLoc']).fit(Carseats) -design.column_info_['UIncome'] -``` - -```{code-cell} ipython3 -X = design.fit_transform(Carseats) -X.columns -``` - -```{code-cell} ipython3 -sm.OLS(Y, X).fit().params -``` - -```{code-cell} ipython3 -%%R -lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef -``` - -## Getting the encoding you want - -By default the level dropped by `ModelSpec` will be the first of the `categories_` values from -`sklearn.preprocessing.OneHotEncoder()`. We might wish to change this. It seems -as if the correct way to do this would be something like `Variable(('UIncome',), 'mynewencoding', new_encoder)` -where `new_encoder` would somehow drop the column we want dropped. - -However, when using the convenient identifier `UIncome` in the `variables` argument, this maps to the `Column` associated to `UIncome` within `design.column_info_`: - -```{code-cell} ipython3 -design.column_info_['UIncome'] -``` - -This column already has an encoder and `Column` instances are immutable as named tuples. Further, there are times when -we may want to encode `UIncome` differently within the same model. In the model below the main effect of `UIncome` is encoded with two columns while in the interaction `UIncome` (see below) has three columns. This is a design of interest -and we need a way to allow different encodings of the same column of `Carseats` - -```{code-cell} ipython3 -%%R -lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats) -``` - - We can create a new -`Column` with the encoder we want. For categorical variables, there is a convenience function to do so. - -```{code-cell} ipython3 -from ISLP.models.model_spec import contrast -pref_encoding = contrast('UIncome', 'drop', 'L') -``` - -```{code-cell} ipython3 -design.build_columns(Carseats, pref_encoding) -``` - -```{code-cell} ipython3 -design = ModelSpec(['Population', 'Price', pref_encoding, 'ShelveLoc']).fit(Carseats) -X = design.fit_transform(Carseats) -X.columns -``` - -```{code-cell} ipython3 -sm.OLS(Y, X).fit().params -``` - -```{code-cell} ipython3 -%%R -lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef -``` - -## Interactions - -We've referred to interactions above. These are specified (by convenience) as tuples in the `terms` argument -to `ModelSpec`. - -```{code-cell} ipython3 -design = ModelSpec([('UIncome', 'ShelveLoc'), 'UIncome']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` - -The tuples in `terms` are converted to `Variable` in the formalized `terms_` attribute by creating a `Variable` with -`variables` set to the tuple and the encoder an `Interaction` encoder which (unsurprisingly) creates the interaction columns from the concatenated data frames of `UIncome` and `ShelveLoc`. - -```{code-cell} ipython3 -design.terms_[0] -``` - -Comparing this to the previous `R` model. - -```{code-cell} ipython3 -%%R -lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats) -``` - -We note a few important things: - -1. `R` has reorganized the columns of the design from the formula: although we wrote `UIncome:ShelveLoc` first these -columns have been built later. **`ModelSpec` builds columns in the order determined by `terms`!** - -2. As noted above, `R` has encoded `UIncome` differently in the main effect and in the interaction. For `ModelSpec`, the reference to `UIncome` always refers to the column in `design.column_info_` and will always build only the columns for `L` and `M`. **`ModelSpec` does no inspection of terms to decide how to encode categorical variables.** - -A few notes: - -- **Why not try to inspect the terms?** For any nontrivial formula in `R` with several categorical variables and interactions, predicting what columns will be produced from a given formula is not simple. **`ModelSpec` errs on the side of being explicit.** - -- **Is it impossible to build the design as `R` has?** No. An advanced user who *knows* they want the columns built as `R` has can do so (fairly) easily. - -```{code-cell} ipython3 -full_encoding = contrast('UIncome', None) -design.build_columns(Carseats, full_encoding) -``` - -```{code-cell} ipython3 -design = ModelSpec([pref_encoding, (full_encoding, 'ShelveLoc')]) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` - -## Special encodings - -For flexible models, we may want to consider transformations of features, i.e. polynomial -or spline transformations. Given transforms that follow the `fit/transform` paradigm -we can of course achieve this with a `Column` and an `encoder`. The `ISLP.transforms` -package includes a `Poly` transform - -```{code-cell} ipython3 -from ISLP.models.model_spec import poly -poly('Income', 3) -``` - -```{code-cell} ipython3 -design = ModelSpec([poly('Income', 3), 'ShelveLoc']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` - -Compare: - -```{code-cell} ipython3 -%%R -lm(Sales ~ poly(Income, 3) + ShelveLoc, data=Carseats)$coef -``` - -## Splines - -Support for natural and B-splines is also included - -```{code-cell} ipython3 -from ISLP.models.model_spec import ns, bs, pca -design = ModelSpec([ns('Income', df=5), 'ShelveLoc']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` - -```{code-cell} ipython3 -%%R -library(splines) -lm(Sales ~ ns(Income, df=5) + ShelveLoc, data=Carseats)$coef -``` - -```{code-cell} ipython3 -design = ModelSpec([bs('Income', df=7, degree=2), 'ShelveLoc']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` - -```{code-cell} ipython3 -%%R -lm(Sales ~ bs(Income, df=7, degree=2) + ShelveLoc, data=Carseats)$coef -``` - -## PCA - -```{code-cell} ipython3 -design = ModelSpec([pca(['Income', - 'Price', - 'Advertising', - 'Population'], - n_components=2, - name='myvars'), 'ShelveLoc']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` - -```{code-cell} ipython3 -%%R -lm(Sales ~ prcomp(cbind(Income, Price, Advertising, Population))$x[,1:2] + ShelveLoc, data=Carseats) -``` - -It is of course common to scale before running PCA. - -```{code-cell} ipython3 -design = ModelSpec([pca(['Income', - 'Price', - 'Advertising', - 'Population'], - n_components=2, - name='myvars', - scale=True), 'ShelveLoc']) -X = design.fit_transform(Carseats) -sm.OLS(Y, X).fit().params -``` - -```{code-cell} ipython3 -%%R -lm(Sales ~ prcomp(cbind(Income, Price, Advertising, Population), scale=TRUE)$x[,1:2] + ShelveLoc, data=Carseats) -``` - -There will be some small differences in the coefficients due to `sklearn` use of `np.std(ddof=0)` instead -of `np.std(ddof=1)`. - -```{code-cell} ipython3 -np.array(sm.OLS(Y, X).fit().params)[1:3] * np.sqrt(X.shape[0] / (X.shape[0]-1)) -``` - -## Submodels - -We can build submodels as well, even if the terms do not appear in the original `terms` argument. -Fundamentally, the terms just need to be able to have the `design.build_columns` work for us to be -able to build a design matrix. The initial inspection of the columns of `Carseats` has created -a column for `US`, hence we can build this submodel. - -```{code-cell} ipython3 -design = ModelSpec(['UIncome', 'ShelveLoc', 'Price']).fit(Carseats) -design.build_submodel(Carseats, ['US']) -``` - -## ANOVA - -For a given `terms` argument, there as a natural sequence of models, namely those specified by `[terms[:i] for i in range(len(terms)+1]`. - -```{code-cell} ipython3 -design = ModelSpec(['ShelveLoc', 'Price', 'UIncome', 'US']).fit(Carseats) -for D in design.build_sequence(Carseats): - print(D.columns) -``` - -```{code-cell} ipython3 -sm.stats.anova_lm(*(sm.OLS(Y, D).fit() for D in design.build_sequence(Carseats) )) -``` - -```{code-cell} ipython3 -%%R -anova(lm(Sales ~ ShelveLoc + Price + UIncome + US, data=Carseats)) -``` - -Recall that `ModelSpec` does not inspect `terms` to reorder based on degree of -interaction as `R` does: - -```{code-cell} ipython3 -design = ModelSpec([(full_encoding, 'ShelveLoc'), pref_encoding]).fit(Carseats) -sm.stats.anova_lm(*(sm.OLS(Y, D).fit() for D in design.build_sequence(Carseats) )) -``` - -```{code-cell} ipython3 -%%R -anova(lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats)) -``` - -To agree with `R` we must order `terms` as `R` will. - -```{code-cell} ipython3 -design = ModelSpec([pref_encoding, (full_encoding, 'ShelveLoc')]).fit(Carseats) -sm.stats.anova_lm(*(sm.OLS(Y, D).fit() for D in design.build_sequence(Carseats))) -``` - -## More complicated interactions - -Can we have an interaction of a polynomial effect with a categorical? Absolutely - -```{code-cell} ipython3 -%%R -anova(lm(Sales ~ UIncome + poly(Income, 3):UIncome + UIncome:US, data=Carseats)) -``` - -To match `R` we note that it has used its inspection rules to encode `UIncome` with 3 levels -for the two interactions. - -```{code-cell} ipython3 -p3 = poly('Income', 3) -design = ModelSpec([pref_encoding, (p3, full_encoding), (full_encoding, 'US')]).fit(Carseats) -X = design.transform(Carseats) -sm.OLS(Y, X).fit().params -``` - -```{code-cell} ipython3 -sm.stats.anova_lm(*(sm.OLS(Y, D).fit() for D in design.build_sequence(Carseats))) -``` - -## Grouping columns for ANOVA - -The `Variable` construct can be used to group -variables together to get custom sequences of models for `anova_lm`. - -```{code-cell} ipython3 -group1 = Variable(('Price', pref_encoding), 'group1', None) -group2 = Variable(('US', 'Advertising'), 'group2', None) -design = ModelSpec([group1, group2]).fit(Carseats) -for D in design.build_sequence(Carseats): - print(D.columns) -``` - -```{code-cell} ipython3 -sm.stats.anova_lm(*(sm.OLS(Y, D).fit() for D in design.build_sequence(Carseats))) -``` - -It is not clear this is simple to do in `R` as the formula object expands all parentheses. - -```{code-cell} ipython3 -%%R -anova(lm(Sales ~ (Price + UIncome) + (US + Advertising), data=Carseats)) -``` - -It can be done by building up the models -by hand and likely is possible to be done programmatically but it seems not obvious. - -```{code-cell} ipython3 -%%R -M1 = lm(Sales ~ 1, data=Carseats) -M2 = lm(Sales ~ Price + UIncome, data=Carseats) -M3 = lm(Sales ~ Price + UIncome + US + Advertising, data=Carseats) -anova(M1, M2, M3) -``` - -## Alternative anova - -Another common ANOVA table involves dropping each term in succession from the model and comparing -to the full model. - -```{code-cell} ipython3 -Dfull = design.transform(Carseats) -Mfull = sm.OLS(Y, Dfull).fit() -for i, D in enumerate(design.build_sequence(Carseats, anova_type='drop')): - if i == 0: - D0 = D - print(set(D.columns) ^ set(Dfull.columns)) - print(sm.stats.anova_lm(sm.OLS(Y, D).fit(), Mfull)) -``` - -```{code-cell} ipython3 -%%R -M1 = lm(Sales ~ Price + UIncome + US + Advertising, data=Carseats) -M2 = lm(Sales ~ US + Advertising, data=Carseats) -print(anova(M2, M1)) -M3 = lm(Sales ~ Price + UIncome, data=Carseats) -print(anova(M3, M1)) -``` - -The comparison without the intercept here is actually very hard to achieve in `R` with `anova` due to its inspection -of the formula. - -```{code-cell} ipython3 -%%R -M1 = lm(Sales ~ Price + UIncome + US + Advertising, data=Carseats) -M4 = lm(Sales ~ Price + UIncome + US + Advertising - 1, data=Carseats) -print(anova(M4, M1)) -``` - -It can be found with `summary`. - -```{code-cell} ipython3 -%%R -summary(M1) -``` - -```{code-cell} ipython3 -378.690726, 19.46**2 -``` - -```{code-cell} ipython3 - -``` diff --git a/docs/jupyterbook/transforms/PCA.ipynb b/docs/jupyterbook/transforms/PCA.ipynb index 04c50ad..ec1e0ae 100644 --- a/docs/jupyterbook/transforms/PCA.ipynb +++ b/docs/jupyterbook/transforms/PCA.ipynb @@ -24,8 +24,8 @@ "from ISLP import load_data\n", "from ISLP.models import (ModelSpec, \n", " pca, \n", - " Variable, \n", - " derived_variable,\n", + " Feature, \n", + " derived_feature,\n", " build_columns)" ] }, @@ -76,7 +76,7 @@ "id": "fff603bf", "metadata": {}, "source": [ - "Suppose we want to make a `Variable` representing the first 3 principal components of the\n", + "Suppose we want to make a `Feature` representing the first 3 principal components of the\n", " features `['CompPrice', 'Income', 'Advertising', 'Population', 'Price']`." ] }, @@ -85,8 +85,8 @@ "id": "eab49ad1-3957-478f-8a76-28a8f58551e9", "metadata": {}, "source": [ - "We first make a `Variable` that represents these five features columns, then `pca`\n", - "can be used to compute a new `Variable` that returns the first three principal components." + "We first make a `Feature` that represents these five features columns, then `pca`\n", + "can be used to compute a new `Feature` that returns the first three principal components." ] }, { @@ -96,7 +96,7 @@ "metadata": {}, "outputs": [], "source": [ - "grouped = Variable(('CompPrice', 'Income', 'Advertising', 'Population', 'Price'), name='grouped', encoder=None)\n", + "grouped = Feature(('CompPrice', 'Income', 'Advertising', 'Population', 'Price'), name='grouped', encoder=None)\n", "sklearn_pca = PCA(n_components=3, whiten=True)" ] }, @@ -105,7 +105,7 @@ "id": "b45655a3-393d-4b4c-b754-cda61ed0e014", "metadata": {}, "source": [ - "We can now fit `sklearn_pca` and create our new variable." + "We can now fit `sklearn_pca` and create our new feature." ] }, { @@ -119,7 +119,7 @@ " Carseats,\n", " grouped)[0]\n", "sklearn_pca.fit(grouped_features) \n", - "pca_var = derived_variable(['CompPrice', 'Income', 'Advertising', 'Population', 'Price'],\n", + "pca_var = derived_feature(['CompPrice', 'Income', 'Advertising', 'Population', 'Price'],\n", " name='pca(grouped)', encoder=sklearn_pca)\n", "derived_features, _ = build_columns(design.column_info_,\n", " Carseats, \n", diff --git a/docs/jupyterbook/transforms/PCA.md b/docs/jupyterbook/transforms/PCA.md index 22aeea6..6b1a77f 100644 --- a/docs/jupyterbook/transforms/PCA.md +++ b/docs/jupyterbook/transforms/PCA.md @@ -24,8 +24,8 @@ from sklearn.decomposition import PCA from ISLP import load_data from ISLP.models import (ModelSpec, pca, - Variable, - derived_variable, + Feature, + derived_feature, build_columns) ``` @@ -40,27 +40,27 @@ Let's create a `ModelSpec` that is aware of all of the relevant columns. design = ModelSpec(Carseats.columns.drop(['Sales'])).fit(Carseats) ``` -Suppose we want to make a `Variable` representing the first 3 principal components of the +Suppose we want to make a `Feature` representing the first 3 principal components of the features `['CompPrice', 'Income', 'Advertising', 'Population', 'Price']`. +++ -We first make a `Variable` that represents these five features columns, then `pca` -can be used to compute a new `Variable` that returns the first three principal components. +We first make a `Feature` that represents these five features columns, then `pca` +can be used to compute a new `Feature` that returns the first three principal components. ```{code-cell} ipython3 -grouped = Variable(('CompPrice', 'Income', 'Advertising', 'Population', 'Price'), name='grouped', encoder=None) +grouped = Feature(('CompPrice', 'Income', 'Advertising', 'Population', 'Price'), name='grouped', encoder=None) sklearn_pca = PCA(n_components=3, whiten=True) ``` -We can now fit `sklearn_pca` and create our new variable. +We can now fit `sklearn_pca` and create our new feature. ```{code-cell} ipython3 grouped_features = build_columns(design.column_info_, Carseats, grouped)[0] sklearn_pca.fit(grouped_features) -pca_var = derived_variable(['CompPrice', 'Income', 'Advertising', 'Population', 'Price'], +pca_var = derived_feature(['CompPrice', 'Income', 'Advertising', 'Population', 'Price'], name='pca(grouped)', encoder=sklearn_pca) derived_features, _ = build_columns(design.column_info_, Carseats, diff --git a/docs/jupyterbook/transforms/poly.ipynb b/docs/jupyterbook/transforms/poly.ipynb index c2b740b..45c862e 100644 --- a/docs/jupyterbook/transforms/poly.ipynb +++ b/docs/jupyterbook/transforms/poly.ipynb @@ -168,7 +168,7 @@ "source": [ "## Underlying model\n", "\n", - "If we look at `quartic`, we see it is a `Variable`, i.e. it can be used to produce a set of columns\n", + "If we look at `quartic`, we see it is a `Feature`, i.e. it can be used to produce a set of columns\n", "in a design matrix when it is a term used in creating the `ModelSpec`.\n", "\n", "Its encoder is `Poly(degree=4)`. This is a special `sklearn` transform that expects a single column\n", diff --git a/docs/jupyterbook/transforms/poly.md b/docs/jupyterbook/transforms/poly.md index 4ef3a24..e5aef11 100644 --- a/docs/jupyterbook/transforms/poly.md +++ b/docs/jupyterbook/transforms/poly.md @@ -66,7 +66,7 @@ np.linalg.norm(ISLP_features - R_features) ## Underlying model -If we look at `quartic`, we see it is a `Variable`, i.e. it can be used to produce a set of columns +If we look at `quartic`, we see it is a `Feature`, i.e. it can be used to produce a set of columns in a design matrix when it is a term used in creating the `ModelSpec`. Its encoder is `Poly(degree=4)`. This is a special `sklearn` transform that expects a single column diff --git a/docs/source/api/generated/ISLP.models.model_spec.rst b/docs/source/api/generated/ISLP.models.model_spec.rst index c379253..d457e3a 100644 --- a/docs/source/api/generated/ISLP.models.model_spec.rst +++ b/docs/source/api/generated/ISLP.models.model_spec.rst @@ -29,11 +29,11 @@ Classes .. automethod:: __init__ -:class:`ModelSpec` -~~~~~~~~~~~~~~~~~~ +:class:`Feature` +~~~~~~~~~~~~~~~~ -.. autoclass:: ModelSpec +.. autoclass:: Feature :members: :undoc-members: :show-inheritance: @@ -41,11 +41,11 @@ Classes .. automethod:: __init__ -:class:`Variable` -~~~~~~~~~~~~~~~~~ +:class:`ModelSpec` +~~~~~~~~~~~~~~~~~~ -.. autoclass:: Variable +.. autoclass:: ModelSpec :members: :undoc-members: :show-inheritance: @@ -63,10 +63,13 @@ Functions .. autofunction:: ISLP.models.model_spec.build_columns +.. autofunction:: ISLP.models.model_spec.build_model + + .. autofunction:: ISLP.models.model_spec.contrast -.. autofunction:: ISLP.models.model_spec.derived_variable +.. autofunction:: ISLP.models.model_spec.derived_feature .. autofunction:: ISLP.models.model_spec.fit_encoder diff --git a/docs/source/api/index.rst b/docs/source/api/index.rst index 4734cda..8aededd 100644 --- a/docs/source/api/index.rst +++ b/docs/source/api/index.rst @@ -1,12 +1,7 @@ -.. _api-index: +ISLP reference +-------------- -##### - API -##### -.. only:: html +.. toctree:: - :Release: |version| - :Date: |today| - -.. include:: gen.rst + gen diff --git a/docs/source/index.rst b/docs/source/index.rst index 7c23aa0..f4c260a 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -3,6 +3,8 @@ Welcome to ISLP documentation! .. automodule:: ISLP +See the :doc:`api/index` + Contents -------- @@ -14,4 +16,4 @@ Contents models helpers imdb - api/index + diff --git a/docs/source/installation.myst b/docs/source/installation.myst index 428c1b6..d039ca9 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -1,16 +1,29 @@ +--- +file_format: mystnb +kernelspec: + name: python3 + display_name: python3 +--- + # Installation instructions We generally recommend creating a [conda](https://anaconda.org) environment to isolate any code from other dependencies. The `ISLP` package does not have unusual dependencies, but this is still good practice. To create a conda environment in a Mac OS X or Linux environment run: -```{python} +```{code-cell} ipython3 +--- +tags: [skip-execution] +--- !conda create --name islp ``` To run python code in this environment, you must activate it: -```{python} +```{code-cell} ipython3 +--- +tags: [skip-execution] +--- !conda activate islp ``` @@ -18,7 +31,10 @@ To run python code in this environment, you must activate it: Running in the desired environment, we use `pip` to install the `ISLP` package: -```{python} +```{code-cell} ipython3 +--- +tags: [skip-execution] +--- !pip install ISLP ``` @@ -29,7 +45,10 @@ Jupyter or IPython. Alternatively, within a python shell in the environment you want to install `ISLP`, the following commands should install `ISLP`: -```{python} +```{code-cell} ipython3 +--- +tags: [skip-execution] +--- import os, sys cmd = f'{sys.executable} -m pip install ISLP' os.system(cmd) @@ -38,10 +57,13 @@ os.system(cmd) ## Torch requirements The `ISLP` labs use `torch` and various related packages for the lab on deep learning. The requirements -can be found [here](torch_requirements.txt). Alternatively, you can install them directly using `pip` +can be found [here](https://github.com/intro-stat-learning/ISLP/blob/main/torch_requirements.txt). Alternatively, you can install them directly using `pip` -```{python} -reqs = 'https://raw.githubusercontent.com/jonathan-taylor/ISLP/master/torch_requirements.txt' +```{code-cell} ipython3 +--- +tags: [skip-execution] +--- +reqs = 'https://raw.githubusercontent.com/intro-stat-learning/ISLP/master/torch_requirements.txt' cmd = f'{sys.executable} -m pip install -r {reqs}' os.system(cmd) ``` diff --git a/docs/source/models.rst b/docs/source/models.rst index b34581f..5f9e5c8 100644 --- a/docs/source/models.rst +++ b/docs/source/models.rst @@ -4,8 +4,8 @@ Tools for regression models .. toctree:: models/spec - models/derived - models/submodels models/selection + models/anova + diff --git a/docs/source/models/anova.ipynb b/docs/source/models/anova.ipynb new file mode 100644 index 0000000..2bfe2ae --- /dev/null +++ b/docs/source/models/anova.ipynb @@ -0,0 +1,633 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "ee33d364", + "metadata": {}, + "source": [ + "# ANOVA using `ModelSpec`\n", + "\n", + "\n", + "In this lab we illustrate how to run create specific ANOVA analyses\n", + "using `ModelSpec`." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "4c70fbaa", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "from statsmodels.api import OLS\n", + "from statsmodels.stats.anova import anova_lm\n", + "\n", + "from ISLP import load_data\n", + "from ISLP.models import (ModelSpec,\n", + " derived_feature,\n", + " summarize)" + ] + }, + { + "cell_type": "markdown", + "id": "333a49cf", + "metadata": {}, + "source": [ + "### Forward Selection\n", + " \n", + "We will apply the forward-selection approach to the `Hitters` \n", + "data. We wish to predict a baseball player’s `Salary` on the\n", + "basis of various statistics associated with performance in the\n", + "previous year." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "8a708215", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "59" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Hitters = load_data('Hitters')\n", + "np.isnan(Hitters['Salary']).sum()" + ] + }, + { + "cell_type": "markdown", + "id": "dad5e991", + "metadata": {}, + "source": [ + " \n", + " We see that `Salary` is missing for 59 players. The\n", + "`dropna()` method of data frames removes all of the rows that have missing\n", + "values in any variable (by default --- see `Hitters.dropna?`)." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "ac7086a5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['AtBat', 'Hits', 'HmRun', 'Runs', 'RBI', 'Walks', 'Years', 'CAtBat',\n", + " 'CHits', 'CHmRun', 'CRuns', 'CRBI', 'CWalks', 'League', 'Division',\n", + " 'PutOuts', 'Assists', 'Errors', 'Salary', 'NewLeague'],\n", + " dtype='object')" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Hitters = Hitters.dropna()\n", + "Hitters.columns" + ] + }, + { + "cell_type": "markdown", + "id": "1a0a3521-be74-40df-a404-3895d80a11dc", + "metadata": {}, + "source": [ + "## Grouping variables\n", + "\n", + "A look at the [description](https://islp.readthedocs.io/en/latest/datasets/Hitters.html) of the data shows\n", + "that there are both career and 1986 offensive stats, as well as some defensive stats.\n", + "\n", + "Let's group the offensive into recent and career offensive stats, as well as a group of defensive variables." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "a215e43b-7bc8-4bdd-91cf-40d717cd7978", + "metadata": {}, + "outputs": [], + "source": [ + "offense_1986 = derived_feature(['AtBat', 'Hits', 'HmRun', 'Runs', 'RBI', 'Walks'],\n", + " name='offense_1986')\n", + "offense_career = derived_feature(['CAtBat', 'CHits', 'CHmRun', 'CRuns', 'CRBI', 'CWalks'],\n", + " name='offense_career')\n", + "defense_1986 = derived_feature(['PutOuts', 'Assists', 'Errors'],\n", + " name='defense_1986')\n", + "confounders = derived_feature(['Division', 'League', 'NewLeague'],\n", + " name='confounders')" + ] + }, + { + "cell_type": "markdown", + "id": "aa15fd0c-1e8a-431e-8425-c61da8439976", + "metadata": {}, + "source": [ + "We'll first do a sequential ANOVA where terms are added sequentially" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "40cd6c28", + "metadata": {}, + "outputs": [], + "source": [ + "design = ModelSpec([confounders, offense_1986, defense_1986, offense_career]).fit(Hitters)\n", + "Y = np.array(Hitters['Salary'])\n", + "X = design.transform(Hitters)" + ] + }, + { + "cell_type": "markdown", + "id": "074120b1", + "metadata": {}, + "source": [ + "Along with a score we need to specify the search strategy. This is done through the object\n", + "`Stepwise()` in the `ISLP.models` package. The method `Stepwise.first_peak()`\n", + "runs forward stepwise until any further additions to the model do not result\n", + "in an improvement in the evaluation score. Similarly, the method `Stepwise.fixed_steps()`\n", + "runs a fixed number of steps of stepwise search." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "e65f5607", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errtP>|t|
intercept148.218773.5952.0140.045
Division[W]-116.040440.188-2.8870.004
League[N]63.750379.0060.8070.421
NewLeague[N]-24.398978.843-0.3090.757
AtBat-1.95090.624-3.1250.002
Hits7.43952.3633.1480.002
HmRun4.34496.1900.7020.483
Runs-2.33122.971-0.7850.433
RBI-1.06702.595-0.4110.681
Walks6.21961.8253.4090.001
PutOuts0.28270.0773.6610.000
Assists0.37550.2201.7050.089
Errors-3.29404.377-0.7530.452
CAtBat-0.18870.120-1.5720.117
CHits0.16360.6650.2460.806
CHmRun-0.15171.612-0.0940.925
CRuns1.47160.7471.9710.050
CRBI0.80210.6911.1610.247
CWalks-0.81240.327-2.4810.014
\n", + "
" + ], + "text/plain": [ + " coef std err t P>|t|\n", + "intercept 148.2187 73.595 2.014 0.045\n", + "Division[W] -116.0404 40.188 -2.887 0.004\n", + "League[N] 63.7503 79.006 0.807 0.421\n", + "NewLeague[N] -24.3989 78.843 -0.309 0.757\n", + "AtBat -1.9509 0.624 -3.125 0.002\n", + "Hits 7.4395 2.363 3.148 0.002\n", + "HmRun 4.3449 6.190 0.702 0.483\n", + "Runs -2.3312 2.971 -0.785 0.433\n", + "RBI -1.0670 2.595 -0.411 0.681\n", + "Walks 6.2196 1.825 3.409 0.001\n", + "PutOuts 0.2827 0.077 3.661 0.000\n", + "Assists 0.3755 0.220 1.705 0.089\n", + "Errors -3.2940 4.377 -0.753 0.452\n", + "CAtBat -0.1887 0.120 -1.572 0.117\n", + "CHits 0.1636 0.665 0.246 0.806\n", + "CHmRun -0.1517 1.612 -0.094 0.925\n", + "CRuns 1.4716 0.747 1.971 0.050\n", + "CRBI 0.8021 0.691 1.161 0.247\n", + "CWalks -0.8124 0.327 -2.481 0.014" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "M = OLS(Y, X).fit()\n", + "summarize(M)" + ] + }, + { + "cell_type": "markdown", + "id": "29d9b55f", + "metadata": {}, + "source": [ + "We'll first produce the sequential, or Type I ANOVA results. This builds up a model sequentially and compares\n", + "two successive models." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "cfbe5b92", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
df_residssrdf_diffss_diffFPr(>F)
0262.05.331911e+070.0NaNNaNNaN
1259.05.131263e+073.02.006478e+066.7411472.144265e-04
2253.03.589842e+076.01.541422e+0725.8935106.063309e-24
3250.03.471882e+073.01.179602e+063.9630998.730527e-03
4244.02.420857e+076.01.051025e+0717.6555965.701196e-17
\n", + "
" + ], + "text/plain": [ + " df_resid ssr df_diff ss_diff F Pr(>F)\n", + "0 262.0 5.331911e+07 0.0 NaN NaN NaN\n", + "1 259.0 5.131263e+07 3.0 2.006478e+06 6.741147 2.144265e-04\n", + "2 253.0 3.589842e+07 6.0 1.541422e+07 25.893510 6.063309e-24\n", + "3 250.0 3.471882e+07 3.0 1.179602e+06 3.963099 8.730527e-03\n", + "4 244.0 2.420857e+07 6.0 1.051025e+07 17.655596 5.701196e-17" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "anova_lm(*[OLS(Y, D).fit() for D in design.build_sequence(Hitters, anova_type='sequential')])" + ] + }, + { + "cell_type": "markdown", + "id": "7092f666", + "metadata": {}, + "source": [ + "We can similarly compute the Type II ANOVA results which drops each term and compares to the full model." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "e2d43844", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
df_residssrdf_diffss_diffFPr(>F)
intercept244.02.420857e+071.04.024254e+054.0560764.511037e-02
confounders244.02.420857e+073.09.661738e+053.2460462.261572e-02
offense_1986244.02.420857e+076.03.097572e+065.2034444.648586e-05
defense_1986244.02.420857e+073.01.467933e+064.9318032.415732e-03
offense_career244.02.420857e+076.01.051025e+0717.6555965.701196e-17
\n", + "
" + ], + "text/plain": [ + " df_resid ssr df_diff ss_diff F \\\n", + "intercept 244.0 2.420857e+07 1.0 4.024254e+05 4.056076 \n", + "confounders 244.0 2.420857e+07 3.0 9.661738e+05 3.246046 \n", + "offense_1986 244.0 2.420857e+07 6.0 3.097572e+06 5.203444 \n", + "defense_1986 244.0 2.420857e+07 3.0 1.467933e+06 4.931803 \n", + "offense_career 244.0 2.420857e+07 6.0 1.051025e+07 17.655596 \n", + "\n", + " Pr(>F) \n", + "intercept 4.511037e-02 \n", + "confounders 2.261572e-02 \n", + "offense_1986 4.648586e-05 \n", + "defense_1986 2.415732e-03 \n", + "offense_career 5.701196e-17 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "D_full = design.transform(Hitters)\n", + "OLS_full = OLS(Y, D_full).fit()\n", + "dfs = []\n", + "for d in design.build_sequence(Hitters, anova_type='drop'):\n", + " dfs.append(anova_lm(OLS(Y,d).fit(), OLS_full).iloc[1:])\n", + "df = pd.concat(dfs)\n", + "df.index = design.names\n", + "df" + ] + } + ], + "metadata": { + "jupytext": { + "formats": "source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb" + }, + "kernelspec": { + "display_name": "islp_test", + "language": "python", + "name": "islp_test" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/source/models/derived.ipynb b/docs/source/models/derived.ipynb deleted file mode 100644 index cc1b0ac..0000000 --- a/docs/source/models/derived.ipynb +++ /dev/null @@ -1,2125 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "38217f02", - "metadata": {}, - "source": [ - "# Building design matrices with `ModelSpec`\n", - "\n", - "Force rebuild" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "3107d1f9", - "metadata": {}, - "outputs": [], - "source": [ - "x=4\n", - "import numpy as np, pandas as pd\n", - "%load_ext rpy2.ipython\n", - "\n", - "from ISLP import load_data\n", - "from ISLP.models import ModelSpec\n", - "\n", - "import statsmodels.api as sm" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "cdc46a4e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['Sales', 'CompPrice', 'Income', 'Advertising', 'Population', 'Price',\n", - " 'ShelveLoc', 'Age', 'Education', 'Urban', 'US'],\n", - " dtype='object')" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats = load_data('Carseats')\n", - "%R -i Carseats\n", - "Carseats.columns" - ] - }, - { - "cell_type": "markdown", - "id": "e0a2a83a", - "metadata": {}, - "source": [ - "## Let's break up income into groups" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "68b40caf", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 M\n", - "1 L\n", - "2 L\n", - "3 H\n", - "4 M\n", - " ..\n", - "395 H\n", - "396 L\n", - "397 L\n", - "398 M\n", - "399 L\n", - "Name: OIncome, Length: 400, dtype: category\n", - "Categories (3, object): ['L' < 'M' < 'H']" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats['OIncome'] = pd.cut(Carseats['Income'], \n", - " [0,50,90,200], \n", - " labels=['L','M','H'])\n", - "Carseats['OIncome']" - ] - }, - { - "cell_type": "markdown", - "id": "35558d88", - "metadata": {}, - "source": [ - "Let's also create an unordered version" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "e5e81a95", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 M\n", - "1 L\n", - "2 L\n", - "3 H\n", - "4 M\n", - " ..\n", - "395 H\n", - "396 L\n", - "397 L\n", - "398 M\n", - "399 L\n", - "Name: UIncome, Length: 400, dtype: category\n", - "Categories (3, object): ['L', 'M', 'H']" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats['UIncome'] = pd.cut(Carseats['Income'], \n", - " [0,50,90,200], \n", - " labels=['L','M','H'],\n", - " ordered=False)\n", - "Carseats['UIncome']" - ] - }, - { - "cell_type": "markdown", - "id": "4bbf9e13", - "metadata": {}, - "source": [ - "## A simple model" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "1ad729b3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Price', 'Income'], dtype='object')" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Price', 'Income'])\n", - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "d05e9ec8", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 12.661546\n", - "Price -0.052213\n", - "Income 0.012829\n", - "dtype: float64" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Y = Carseats['Sales']\n", - "M = sm.OLS(Y, X).fit()\n", - "M.params" - ] - }, - { - "cell_type": "markdown", - "id": "b4e9ee33", - "metadata": {}, - "source": [ - "## Basic procedure\n", - "\n", - "The design matrix is built by cobbling together a set of columns and possibly transforming them.\n", - "A `pd.DataFrame` is essentially a list of columns. One of the first tasks done in `ModelSpec.fit`\n", - "is to inspect a dataframe for column info. The column `ShelveLoc` is categorical:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "64ac65d3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 Bad\n", - "1 Good\n", - "2 Medium\n", - "3 Medium\n", - "4 Bad\n", - " ... \n", - "395 Good\n", - "396 Medium\n", - "397 Medium\n", - "398 Bad\n", - "399 Good\n", - "Name: ShelveLoc, Length: 400, dtype: category\n", - "Categories (3, object): ['Bad', 'Good', 'Medium']" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats['ShelveLoc']" - ] - }, - { - "cell_type": "markdown", - "id": "620f0e01", - "metadata": {}, - "source": [ - "This is recognized by `ModelSpec` in the form of `Column` objects which are just named tuples with two methods\n", - "`get_columns` and `fit_encoder`." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "77b898e0", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='ShelveLoc', name='ShelveLoc', is_categorical=True, is_ordinal=False, columns=('ShelveLoc[Good]', 'ShelveLoc[Medium]'), encoder=Contrast())" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.column_info_['ShelveLoc']" - ] - }, - { - "cell_type": "markdown", - "id": "4580a6bf", - "metadata": {}, - "source": [ - "It recognized ordinal columns as well." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "c2dab855", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='OIncome', name='OIncome', is_categorical=True, is_ordinal=True, columns=('OIncome',), encoder=OrdinalEncoder())" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.column_info_['OIncome']" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "5e7963d6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([ 73, 48, 35, 100]), ('Income',))" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "income = design.column_info_['Income']\n", - "cols, names = income.get_columns(Carseats)\n", - "(cols[:4], names)" - ] - }, - { - "cell_type": "markdown", - "id": "6b689966", - "metadata": {}, - "source": [ - "## Encoding a column\n", - "\n", - "In building a design matrix we must extract columns from our dataframe (or `np.ndarray`). Categorical\n", - "variables usually are encoded by several columns, typically one less than the number of categories.\n", - "This task is handled by the `encoder` of the `Column`. The encoder must satisfy the `sklearn` transform\n", - "model, i.e. `fit` on some array and `transform` on future arrays. The `fit_encoder` method of `Column` fits\n", - "its encoder the first time data is passed to it." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "ff3b96b6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([[0., 0.],\n", - " [1., 0.],\n", - " [0., 1.],\n", - " [0., 1.]]),\n", - " ['ShelveLoc[Good]', 'ShelveLoc[Medium]'])" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "shelve = design.column_info_['ShelveLoc']\n", - "cols, names = shelve.get_columns(Carseats)\n", - "(cols[:4], names)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "7e87da20", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[2.],\n", - " [1.],\n", - " [1.],\n", - " [0.]])" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "oincome = design.column_info_['OIncome']\n", - "oincome.get_columns(Carseats)[0][:4]" - ] - }, - { - "cell_type": "markdown", - "id": "4f2030ac", - "metadata": {}, - "source": [ - "## The terms\n", - "\n", - "The design matrix consists of several sets of columns. This is managed by the `ModelSpec` through\n", - "the `terms` argument which should be a sequence. The elements of `terms` are often\n", - "going to be strings (or tuples of strings for interactions, see below) but are converted to a\n", - "`Variable` object and stored in the `terms_` of the fitted `ModelSpec`. A `Variable` is just a named tuple." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "27fc4fb3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['Price', 'Income']" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.terms" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "16316981", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Variable(variables=('Price',), name='Price', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False),\n", - " Variable(variables=('Income',), name='Income', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False)]" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.terms_" - ] - }, - { - "cell_type": "markdown", - "id": "ef3f2bd0", - "metadata": {}, - "source": [ - "While each `Column` can itself extract data, they are all promoted to `Variable` to be of a uniform type. A\n", - "`Variable` can also create columns through the `build_columns` method of `ModelSpec`" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "dd9c7fa6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( Price\n", - " 0 120\n", - " 1 83\n", - " 2 80\n", - " 3 97\n", - " 4 128\n", - " .. ...\n", - " 395 128\n", - " 396 120\n", - " 397 159\n", - " 398 95\n", - " 399 120\n", - " \n", - " [400 rows x 1 columns],\n", - " ['Price'])" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "price = design.terms_[0]\n", - "design.build_columns(Carseats, price)" - ] - }, - { - "cell_type": "markdown", - "id": "5fc4cc45", - "metadata": {}, - "source": [ - "Note that `Variable` objects have a tuple of `variables` as well as an `encoder` attribute. The\n", - "tuple of `variables` first creates a concatenated dataframe from all corresponding variables and then\n", - "is run through `encoder.transform`. The `encoder.fit` method of each `Variable` is run once during \n", - "the call to `ModelSpec.fit`." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "49d7fb46", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( Price Income UIncome[L] UIncome[M]\n", - " 0 120.0 73.0 0.0 1.0\n", - " 1 83.0 48.0 1.0 0.0\n", - " 2 80.0 35.0 1.0 0.0\n", - " 3 97.0 100.0 0.0 0.0\n", - " 4 128.0 64.0 0.0 1.0\n", - " .. ... ... ... ...\n", - " 395 128.0 108.0 0.0 0.0\n", - " 396 120.0 23.0 1.0 0.0\n", - " 397 159.0 26.0 1.0 0.0\n", - " 398 95.0 79.0 0.0 1.0\n", - " 399 120.0 37.0 1.0 0.0\n", - " \n", - " [400 rows x 4 columns],\n", - " ['Price', 'Income', 'UIncome[L]', 'UIncome[M]'])" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from ISLP.models.model_spec import Variable\n", - "\n", - "new_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=None)\n", - "design.build_columns(Carseats, new_var)" - ] - }, - { - "cell_type": "markdown", - "id": "bdfc0fe9", - "metadata": {}, - "source": [ - "Let's now transform these columns with an encoder. Within `ModelSpec` we will first build the\n", - "arrays above and then call `pca.fit` and finally `pca.transform` within `design.build_columns`." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "cf6f3f4c", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "( mynewvar[0] mynewvar[1]\n", - " 0 -3.608693 -4.853177\n", - " 1 15.081506 35.708630\n", - " 2 27.422871 40.774250\n", - " 3 -33.973209 13.470489\n", - " 4 6.567316 -11.290100\n", - " .. ... ...\n", - " 395 -36.846346 -18.415783\n", - " 396 45.741500 3.245602\n", - " 397 49.097533 -35.725355\n", - " 398 -13.577772 18.845139\n", - " 399 31.927566 0.978436\n", - " \n", - " [400 rows x 2 columns],\n", - " ['mynewvar[0]', 'mynewvar[1]'])" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from sklearn.decomposition import PCA\n", - "pca = PCA(n_components=2)\n", - "pca.fit(design.build_columns(Carseats, new_var)[0]) # this is done within `ModelSpec.fit`\n", - "pca_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=pca)\n", - "design.build_columns(Carseats, pca_var)" - ] - }, - { - "cell_type": "markdown", - "id": "1552d19a", - "metadata": {}, - "source": [ - "The elements of the `variables` attribute may be column identifiers ( `\"Price\"`), `Column` instances (`price`)\n", - "or `Variable` instances (`pca_var`)." - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "12d955dd", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "( Price Price mynewvar[0] mynewvar[1]\n", - " 0 120.0 120.0 -3.608693 -4.853177\n", - " 1 83.0 83.0 15.081506 35.708630\n", - " 2 80.0 80.0 27.422871 40.774250\n", - " 3 97.0 97.0 -33.973209 13.470489\n", - " 4 128.0 128.0 6.567316 -11.290100\n", - " .. ... ... ... ...\n", - " 395 128.0 128.0 -36.846346 -18.415783\n", - " 396 120.0 120.0 45.741500 3.245602\n", - " 397 159.0 159.0 49.097533 -35.725355\n", - " 398 95.0 95.0 -13.577772 18.845139\n", - " 399 120.0 120.0 31.927566 0.978436\n", - " \n", - " [400 rows x 4 columns],\n", - " ['Price', 'Price', 'mynewvar[0]', 'mynewvar[1]'])" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "fancy_var = Variable(('Price', price, pca_var), name='fancy', encoder=None)\n", - "design.build_columns(Carseats, fancy_var)" - ] - }, - { - "cell_type": "markdown", - "id": "f5ea292d", - "metadata": {}, - "source": [ - "We can of course run PCA again on these features (if we wanted)." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "ae2af29b", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "( fancy_pca[0] fancy_pca[1]\n", - " 0 -6.951792 4.859283\n", - " 1 55.170148 -24.694875\n", - " 2 59.418556 -38.033572\n", - " 3 34.722389 28.922184\n", - " 4 -21.419184 -3.120673\n", - " .. ... ...\n", - " 395 -18.257348 40.760122\n", - " 396 -10.546709 -45.021658\n", - " 397 -77.706359 -37.174379\n", - " 398 36.668694 7.730851\n", - " 399 -9.540535 -31.059122\n", - " \n", - " [400 rows x 2 columns],\n", - " ['fancy_pca[0]', 'fancy_pca[1]'])" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pca2 = PCA(n_components=2)\n", - "pca2.fit(design.build_columns(Carseats, fancy_var)[0]) # this is done within `ModelSpec.fit`\n", - "pca2_var = Variable(('Price', price, pca_var), name='fancy_pca', encoder=pca2)\n", - "design.build_columns(Carseats, pca2_var)" - ] - }, - { - "cell_type": "markdown", - "id": "57305dbe", - "metadata": {}, - "source": [ - "## Building the design matrix\n", - "\n", - "With these notions in mind, the final design is essentially then" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "89656ec4", - "metadata": {}, - "outputs": [], - "source": [ - "X_hand = np.column_stack([design.build_columns(Carseats, v)[0] for v in design.terms_])[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "f6cb8167", - "metadata": {}, - "source": [ - "An intercept column is added if `design.intercept` is `True` and if the original argument to `transform` is\n", - "a dataframe the index is adjusted accordingly." - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "547cb625", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.intercept" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "ff5b41d5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
interceptPriceIncome
01.012073
11.08348
21.08035
31.097100
\n", - "
" - ], - "text/plain": [ - " intercept Price Income\n", - "0 1.0 120 73\n", - "1 1.0 83 48\n", - "2 1.0 80 35\n", - "3 1.0 97 100" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.transform(Carseats)[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "932759cf", - "metadata": {}, - "source": [ - "## Predicting\n", - "\n", - "Constructing the design matrix at any values is carried out by the `transform` method." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "e2190b00", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([12.65257604, 12.25873428])" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "new_data = pd.DataFrame({'Price':[10,20], 'Income':[40, 50]})\n", - "new_X = design.transform(new_data)\n", - "M.get_prediction(new_X).predicted_mean" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "6545c5da", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 0 1 \n", - "12.65258 12.25873 \n" - ] - } - ], - "source": [ - "%%R -i new_data,Carseats\n", - "predict(lm(Sales ~ Price + Income, data=Carseats), new_data)" - ] - }, - { - "cell_type": "markdown", - "id": "cd088b51", - "metadata": {}, - "source": [ - "### Difference between using `pd.DataFrame` and `np.ndarray`\n", - "\n", - "If the `terms` only refer to a few columns of the data frame, the `transform` method only needs a dataframe with those columns.\n", - "\n", - "If we had used an `np.ndarray`, the column identifiers would be integers identifying specific columns so,\n", - "in order to work correctly, `transform` would need another `np.ndarray` where the columns have the same meaning." - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "8f37ae20", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[1.0, 120, 73],\n", - " [1.0, 83, 48],\n", - " [1.0, 80, 35],\n", - " [1.0, 97, 100]], dtype=object)" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats_np = np.asarray(Carseats[['Price', 'ShelveLoc', 'US', 'Income']])\n", - "design_np = ModelSpec([0,3]).fit(Carseats_np)\n", - "design_np.transform(Carseats_np)[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "184aefc2", - "metadata": {}, - "source": [ - "The following will fail for hopefully obvious reasons" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "e4134980", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "shapes (2,2) and (3,) not aligned: 2 (dim 1) != 3 (dim 0)\n" - ] - } - ], - "source": [ - "try:\n", - " new_D = np.zeros((2,2))\n", - " new_D[:,0] = [10,20]\n", - " new_D[:,1] = [40,50]\n", - " M.get_prediction(new_D).predicted_mean\n", - "except ValueError as e:\n", - " print(e)" - ] - }, - { - "cell_type": "markdown", - "id": "53808f3b", - "metadata": {}, - "source": [ - "Ultimately, `M` expects 3 columns for new predictions because it was fit\n", - "with a matrix having 3 columns (the first representing an intercept).\n", - "\n", - "We might be tempted to try as with the `pd.DataFrame` and produce\n", - "an `np.ndarray` with only the necessary variables." - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "62059c57", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "index 3 is out of bounds for axis 1 with size 2\n" - ] - } - ], - "source": [ - "try:\n", - " new_X = np.zeros((2,2))\n", - " new_X[:,0] = [10,20]\n", - " new_X[:,1] = [40,50]\n", - " new_D = design_np.transform(new_X)\n", - " M.get_prediction(new_D).predicted_mean\n", - "except IndexError as e:\n", - " print(e)" - ] - }, - { - "cell_type": "markdown", - "id": "ded12f69", - "metadata": {}, - "source": [ - "This fails because `design_np` is looking for column `3` from its `terms`:" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "fbb509d1", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Variable(variables=(0,), name='0', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False),\n", - " Variable(variables=(3,), name='3', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False)]" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design_np.terms_" - ] - }, - { - "cell_type": "markdown", - "id": "f01391e4", - "metadata": {}, - "source": [ - "However, if we have an `np.ndarray` in which the first column indeed represents `Price` and the fourth indeed\n", - "represents `Income` then we can arrive at the correct answer by supplying such the array to `design_np.transform`:" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "10df55ae", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([12.65257604, 12.25873428])" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "new_X = np.zeros((2,4))\n", - "new_X[:,0] = [10,20]\n", - "new_X[:,3] = [40,50]\n", - "new_D = design_np.transform(new_X)\n", - "M.get_prediction(new_D).predicted_mean" - ] - }, - { - "cell_type": "markdown", - "id": "b43099fb", - "metadata": {}, - "source": [ - "Given this subtlety about needing to supply arrays with identical column structure to `transform` when\n", - "using `np.ndarray` we presume that using a `pd.DataFrame` will be the more popular use case." - ] - }, - { - "cell_type": "markdown", - "id": "50bce64d", - "metadata": {}, - "source": [ - "## A model with some categorical variables\n", - "\n", - "Categorical variables become `Column` instances with encoders." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "2eb2ff16", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='UIncome', name='UIncome', is_categorical=True, is_ordinal=False, columns=('UIncome[L]', 'UIncome[M]'), encoder=Contrast())" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Population', 'Price', 'UIncome', 'ShelveLoc']).fit(Carseats)\n", - "design.column_info_['UIncome']" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "6686dff8", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Population', 'Price', 'UIncome[L]', 'UIncome[M]',\n", - " 'ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " dtype='object')" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "0e0eafd7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 11.876012\n", - "Population 0.001163\n", - "Price -0.055725\n", - "UIncome[L] -1.042297\n", - "UIncome[M] -0.119123\n", - "ShelveLoc[Good] 4.999623\n", - "ShelveLoc[Medium] 1.964278\n", - "dtype: float64" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "43cce209", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) Population Price UIncomeM UIncomeH \n", - " 10.83371503 0.00116301 -0.05572469 0.92317388 1.04229679 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.99962319 1.96427771 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "99bf408e", - "metadata": {}, - "source": [ - "## Getting the encoding you want\n", - "\n", - "By default the level dropped by `ModelSpec` will be the first of the `categories_` values from \n", - "`sklearn.preprocessing.OneHotEncoder()`. We might wish to change this. It seems\n", - "as if the correct way to do this would be something like `Variable(('UIncome',), 'mynewencoding', new_encoder)`\n", - "where `new_encoder` would somehow drop the column we want dropped. \n", - "\n", - "However, when using the convenient identifier `UIncome` in the `variables` argument, this maps to the `Column` associated to `UIncome` within `design.column_info_`:" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "11c19ebf", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='UIncome', name='UIncome', is_categorical=True, is_ordinal=False, columns=('UIncome[L]', 'UIncome[M]'), encoder=Contrast())" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.column_info_['UIncome']" - ] - }, - { - "cell_type": "markdown", - "id": "4b48e5d2", - "metadata": {}, - "source": [ - "This column already has an encoder and `Column` instances are immutable as named tuples. Further, there are times when \n", - "we may want to encode `UIncome` differently within the same model. In the model below the main effect of `UIncome` is encoded with two columns while in the interaction `UIncome` (see below) has three columns. This is a design of interest\n", - "and we need a way to allow different encodings of the same column of `Carseats`" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "81f641ba", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ UIncome:ShelveLoc + UIncome, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) UIncomeM UIncomeH \n", - " 5.1317 0.1151 1.1561 \n", - " UIncomeL:ShelveLocGood UIncomeM:ShelveLocGood UIncomeH:ShelveLocGood \n", - " 4.5121 5.5752 3.7381 \n", - "UIncomeL:ShelveLocMedium UIncomeM:ShelveLocMedium UIncomeH:ShelveLocMedium \n", - " 1.2473 2.4782 1.5141 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "79f7eb4d", - "metadata": {}, - "source": [ - " We can create a new \n", - "`Column` with the encoder we want. For categorical variables, there is a convenience function to do so." - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "2afb3b5d", - "metadata": {}, - "outputs": [], - "source": [ - "from ISLP.models.model_spec import contrast\n", - "pref_encoding = contrast('UIncome', 'drop', 'L')" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "c44692ab", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( UIncome[M] UIncome[H]\n", - " 0 1.0 0.0\n", - " 1 0.0 0.0\n", - " 2 0.0 0.0\n", - " 3 0.0 1.0\n", - " 4 1.0 0.0\n", - " .. ... ...\n", - " 395 0.0 1.0\n", - " 396 0.0 0.0\n", - " 397 0.0 0.0\n", - " 398 1.0 0.0\n", - " 399 0.0 0.0\n", - " \n", - " [400 rows x 2 columns],\n", - " ['UIncome[M]', 'UIncome[H]'])" - ] - }, - "execution_count": 37, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.build_columns(Carseats, pref_encoding)" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "c0bfb2a5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Population', 'Price', 'UIncome[M]', 'UIncome[H]',\n", - " 'ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " dtype='object')" - ] - }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Population', 'Price', pref_encoding, 'ShelveLoc']).fit(Carseats)\n", - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "d263056c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 10.833715\n", - "Population 0.001163\n", - "Price -0.055725\n", - "UIncome[M] 0.923174\n", - "UIncome[H] 1.042297\n", - "ShelveLoc[Good] 4.999623\n", - "ShelveLoc[Medium] 1.964278\n", - "dtype: float64" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "edf0dc68", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) Population Price UIncomeM UIncomeH \n", - " 10.83371503 0.00116301 -0.05572469 0.92317388 1.04229679 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.99962319 1.96427771 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "82071a54", - "metadata": {}, - "source": [ - "## Interactions\n", - "\n", - "We've referred to interactions above. These are specified (by convenience) as tuples in the `terms` argument\n", - "to `ModelSpec`." - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "id": "cd18a4a4", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 7.866634\n", - "UIncome[L]:ShelveLoc[Good] 4.512054\n", - "UIncome[L]:ShelveLoc[Medium] 1.247275\n", - "UIncome[M]:ShelveLoc[Good] 5.575170\n", - "UIncome[M]:ShelveLoc[Medium] 2.478163\n", - "UIncome[L] -2.734895\n", - "UIncome[M] -2.619745\n", - "dtype: float64" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([('UIncome', 'ShelveLoc'), 'UIncome'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "markdown", - "id": "229fa32d", - "metadata": {}, - "source": [ - "The tuples in `terms` are converted to `Variable` in the formalized `terms_` attribute by creating a `Variable` with\n", - "`variables` set to the tuple and the encoder an `Interaction` encoder which (unsurprisingly) creates the interaction columns from the concatenated data frames of `UIncome` and `ShelveLoc`." - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "id": "b8c52dbb", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Variable(variables=('UIncome', 'ShelveLoc'), name='UIncome:ShelveLoc', encoder=Interaction(column_names={'ShelveLoc': ['ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " 'UIncome': ['UIncome[L]', 'UIncome[M]']},\n", - " columns={'ShelveLoc': range(2, 4), 'UIncome': range(0, 2)},\n", - " variables=['UIncome', 'ShelveLoc']), use_transform=True, pure_columns=False, override_encoder_colnames=False)" - ] - }, - "execution_count": 42, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.terms_[0]" - ] - }, - { - "cell_type": "markdown", - "id": "e7f93464", - "metadata": {}, - "source": [ - "Comparing this to the previous `R` model." - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "4094c01f", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ UIncome:ShelveLoc + UIncome, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) UIncomeM UIncomeH \n", - " 5.1317 0.1151 1.1561 \n", - " UIncomeL:ShelveLocGood UIncomeM:ShelveLocGood UIncomeH:ShelveLocGood \n", - " 4.5121 5.5752 3.7381 \n", - "UIncomeL:ShelveLocMedium UIncomeM:ShelveLocMedium UIncomeH:ShelveLocMedium \n", - " 1.2473 2.4782 1.5141 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "d448c9ca", - "metadata": {}, - "source": [ - "We note a few important things:\n", - "\n", - "1. `R` has reorganized the columns of the design from the formula: although we wrote `UIncome:ShelveLoc` first these\n", - "columns have been built later. **`ModelSpec` builds columns in the order determined by `terms`!**\n", - "\n", - "2. As noted above, `R` has encoded `UIncome` differently in the main effect and in the interaction. For `ModelSpec`, the reference to `UIncome` always refers to the column in `design.column_info_` and will always build only the columns for `L` and `M`. **`ModelSpec` does no inspection of terms to decide how to encode categorical variables.**\n", - "\n", - "A few notes:\n", - "\n", - "- **Why not try to inspect the terms?** For any nontrivial formula in `R` with several categorical variables and interactions, predicting what columns will be produced from a given formula is not simple. **`ModelSpec` errs on the side of being explicit.**\n", - "\n", - "- **Is it impossible to build the design as `R` has?** No. An advanced user who *knows* they want the columns built as `R` has can do so (fairly) easily." - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "id": "634e05c6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( UIncome[H] UIncome[L] UIncome[M]\n", - " 0 0.0 0.0 1.0\n", - " 1 0.0 1.0 0.0\n", - " 2 0.0 1.0 0.0\n", - " 3 1.0 0.0 0.0\n", - " 4 0.0 0.0 1.0\n", - " .. ... ... ...\n", - " 395 1.0 0.0 0.0\n", - " 396 0.0 1.0 0.0\n", - " 397 0.0 1.0 0.0\n", - " 398 0.0 0.0 1.0\n", - " 399 0.0 1.0 0.0\n", - " \n", - " [400 rows x 3 columns],\n", - " ['UIncome[H]', 'UIncome[L]', 'UIncome[M]'])" - ] - }, - "execution_count": 44, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "full_encoding = contrast('UIncome', None)\n", - "design.build_columns(Carseats, full_encoding)" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "id": "4c09c93f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 5.131739\n", - "UIncome[M] 0.115150\n", - "UIncome[H] 1.156118\n", - "UIncome[H]:ShelveLoc[Good] 3.738052\n", - "UIncome[H]:ShelveLoc[Medium] 1.514104\n", - "UIncome[L]:ShelveLoc[Good] 4.512054\n", - "UIncome[L]:ShelveLoc[Medium] 1.247275\n", - "UIncome[M]:ShelveLoc[Good] 5.575170\n", - "UIncome[M]:ShelveLoc[Medium] 2.478163\n", - "dtype: float64" - ] - }, - "execution_count": 45, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([pref_encoding, (full_encoding, 'ShelveLoc')])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "markdown", - "id": "48c1989f", - "metadata": {}, - "source": [ - "## Special encodings\n", - "\n", - "For flexible models, we may want to consider transformations of features, i.e. polynomial\n", - "or spline transformations. Given transforms that follow the `fit/transform` paradigm\n", - "we can of course achieve this with a `Column` and an `encoder`. The `ISLP.transforms`\n", - "package includes a `Poly` transform" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "id": "85a28d87", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Variable(variables=('Income',), name='poly(Income, 3)', encoder=Poly(degree=3), use_transform=True, pure_columns=False, override_encoder_colnames=True)" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from ISLP.models.model_spec import poly\n", - "poly('Income', 3)" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "id": "e17c8a9d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 5.440077\n", - "poly(Income, 3)[0] 10.036373\n", - "poly(Income, 3)[1] -2.799156\n", - "poly(Income, 3)[2] 2.399601\n", - "ShelveLoc[Good] 4.808133\n", - "ShelveLoc[Medium] 1.889533\n", - "dtype: float64" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([poly('Income', 3), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "markdown", - "id": "944f56d6", - "metadata": {}, - "source": [ - "Compare:" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "1889caca", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) poly(Income, 3)1 poly(Income, 3)2 poly(Income, 3)3 \n", - " 5.440077 10.036373 -2.799156 2.399601 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.808133 1.889533 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ poly(Income, 3) + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "bd4dca31", - "metadata": {}, - "source": [ - "## Splines\n", - "\n", - "Support for natural and B-splines is also included" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "id": "70fae990", - "metadata": {}, - "outputs": [], - "source": [ - "from ISLP.models.model_spec import ns, bs, pca" - ] - }, - { - "cell_type": "markdown", - "id": "2d812694", - "metadata": {}, - "source": [ - "## Custom encoding\n", - "\n", - "Instead of PCA we might run some clustering on some features and then uses the clusters to\n", - "create new features. This can be done with `derived_variable`. Indeed, `pca`, `ns` and `bs` are all examples\n", - "of this." - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "id": "8e5d2305", - "metadata": {}, - "outputs": [], - "source": [ - "from ISLP.models.model_spec import derived_variable, Contrast" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "id": "8a40c663", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([1, 1, 2, 1, 2, 1, 0, 1, 0, 0, 0, 1, 2, 2, 0, 1, 2, 1, 0, 0, 0, 2,\n", - " 2, 2, 1, 2, 1, 0, 0, 1, 0, 1, 2, 1, 2, 0, 0, 2, 2, 2, 0, 2, 0, 2,\n", - " 0, 2, 0, 0, 2, 0, 1, 0, 2, 0, 0, 0, 0, 0, 1, 0, 1, 2, 2, 0, 1, 2,\n", - " 0, 1, 1, 2, 1, 1, 2, 0, 0, 1, 1, 0, 2, 0, 1, 0, 0, 2, 2, 0, 1, 2,\n", - " 2, 2, 2, 2, 0, 2, 0, 2, 2, 0, 1, 2, 0, 0, 2, 0, 0, 1, 2, 0, 1, 0,\n", - " 0, 1, 0, 2, 0, 2, 0, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0,\n", - " 0, 0, 2, 1, 0, 2, 1, 1, 1, 2, 0, 0, 2, 0, 2, 1, 0, 0, 0, 1, 2, 2,\n", - " 1, 0, 2, 2, 0, 2, 2, 2, 2, 0, 0, 2, 1, 0, 0, 1, 1, 1, 0, 0, 2, 0,\n", - " 1, 0, 0, 2, 1, 0, 2, 1, 2, 1, 0, 2, 2, 1, 1, 2, 2, 0, 1, 1, 2, 2,\n", - " 1, 0, 0, 0, 2, 0, 0, 2, 0, 0, 2, 2, 2, 1, 1, 0, 0, 1, 2, 2, 1, 1,\n", - " 1, 2, 0, 2, 2, 2, 2, 0, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 2, 0, 0, 0,\n", - " 2, 2, 2, 2, 1, 0, 0, 0, 1, 0, 0, 2, 1, 0, 2, 1, 2, 1, 1, 2, 1, 2,\n", - " 2, 2, 1, 1, 0, 2, 2, 2, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 2,\n", - " 1, 2, 2, 1, 1, 0, 1, 0, 0, 1, 2, 1, 2, 1, 0, 0, 1, 1, 1, 1, 2, 0,\n", - " 1, 0, 1, 1, 0, 1, 2, 2, 2, 2, 1, 1, 1, 2, 2, 1, 2, 0, 2, 1, 0, 1,\n", - " 2, 1, 1, 2, 1, 1, 2, 2, 2, 2, 2, 0, 1, 2, 0, 2, 0, 2, 1, 1, 1, 1,\n", - " 1, 1, 2, 0, 0, 0, 0, 1, 0, 2, 0, 2, 1, 2, 1, 0, 2, 1, 1, 0, 2, 2,\n", - " 2, 2, 1, 2, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 2, 0, 0, 1, 0, 1, 1,\n", - " 2, 2, 0, 2], dtype=int32)" - ] - }, - "execution_count": 51, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from sklearn.cluster import KMeans\n", - "from sklearn.pipeline import make_pipeline\n", - "from sklearn.preprocessing import StandardScaler\n", - "cluster = make_pipeline(StandardScaler(), KMeans(n_clusters=3, random_state=0))\n", - "group = Variable(('Income', 'Price', 'Advertising', 'Population'), 'group', None)\n", - "X = design.build_submodel(Carseats, [group]).drop('intercept', axis=1)\n", - "cluster.fit(X.values)\n", - "cluster.predict(X.values)" - ] - }, - { - "cell_type": "markdown", - "id": "9bc38836", - "metadata": {}, - "source": [ - "For clustering, we often want to use the `predict` method rather than the `transform` method. If the ultimate\n", - "features all use `transform` then the do not even need to use these two calls to `make_pipeline`." - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "id": "8ceab9b6", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
interceptmyclus
01.01
11.01
21.02
31.01
41.02
.........
3951.01
3961.02
3971.02
3981.00
3991.02
\n", - "

400 rows × 2 columns

\n", - "
" - ], - "text/plain": [ - " intercept myclus\n", - "0 1.0 1\n", - "1 1.0 1\n", - "2 1.0 2\n", - "3 1.0 1\n", - "4 1.0 2\n", - ".. ... ...\n", - "395 1.0 1\n", - "396 1.0 2\n", - "397 1.0 2\n", - "398 1.0 0\n", - "399 1.0 2\n", - "\n", - "[400 rows x 2 columns]" - ] - }, - "execution_count": 52, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cluster2 = make_pipeline(StandardScaler(), KMeans(n_clusters=3, random_state=0))\n", - "cluster_var = derived_variable(['Income', 'Price', 'Advertising', 'Population'], \n", - " name='myclus', \n", - " encoder=cluster2,\n", - " use_transform=False)\n", - "design = ModelSpec([cluster_var]).fit(Carseats)\n", - "design.transform(Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "1f9b2630", - "metadata": {}, - "source": [ - "Somewhat clunkily, we can make this a categorical variable by creating a `Variable` with a\n", - "categorical encoder." - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "id": "ffde00a5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Variable(variables=(Variable(variables=('Income', 'Price', 'Advertising', 'Population'), name='myclus', encoder=Pipeline(steps=[('standardscaler', StandardScaler()),\n", - " ('kmeans', KMeans(n_clusters=3, random_state=0))]), use_transform=False, pure_columns=False, override_encoder_colnames=True),), name='mynewcat', encoder=Contrast(), use_transform=True, pure_columns=False, override_encoder_colnames=False)" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cluster2 = make_pipeline(StandardScaler(), KMeans(n_clusters=3, random_state=0))\n", - "cluster_var = derived_variable(['Income', 'Price', 'Advertising', 'Population'], \n", - " name='myclus', \n", - " encoder=cluster2,\n", - " use_transform=False)\n", - "cat_cluster = Variable((cluster_var,), name='mynewcat', encoder=Contrast(method='drop'))\n", - "cat_cluster" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "id": "5afeab7c", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
intercept12
01.01.00.0
11.01.00.0
21.00.01.0
31.01.00.0
41.00.01.0
............
3951.01.00.0
3961.00.01.0
3971.00.01.0
3981.00.00.0
3991.00.01.0
\n", - "

400 rows × 3 columns

\n", - "
" - ], - "text/plain": [ - " intercept 1 2\n", - "0 1.0 1.0 0.0\n", - "1 1.0 1.0 0.0\n", - "2 1.0 0.0 1.0\n", - "3 1.0 1.0 0.0\n", - "4 1.0 0.0 1.0\n", - ".. ... ... ...\n", - "395 1.0 1.0 0.0\n", - "396 1.0 0.0 1.0\n", - "397 1.0 0.0 1.0\n", - "398 1.0 0.0 0.0\n", - "399 1.0 0.0 1.0\n", - "\n", - "[400 rows x 3 columns]" - ] - }, - "execution_count": 54, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([cat_cluster]).fit(Carseats)\n", - "\n", - "design.transform(Carseats)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e24d5637-80fb-49bf-ac10-8ff68cb8bd8f", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "jupytext": { - "formats": "source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb" - }, - "kernelspec": { - "display_name": "python3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.13" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/source/models/selection.ipynb b/docs/source/models/selection.ipynb index 3a7d002..0f597af 100644 --- a/docs/source/models/selection.ipynb +++ b/docs/source/models/selection.ipynb @@ -2,2723 +2,259 @@ "cells": [ { "cell_type": "markdown", - "id": "72bae06a", + "id": "247387ec-1477-42e6-9e69-cad1cacb5721", "metadata": {}, "source": [ - "# Model selection using `ModelSpec`" + "# Model selection using `ModelSpec`\n", + "\n", + "\n", + "In this lab we illustrate how to run forward stepwise model selection\n", + "using the model specification capability of `ModelSpec`." ] }, { "cell_type": "code", "execution_count": 1, - "id": "ae6bd850", + "id": "4720bb2a-6bec-4e91-a57e-9689aa4f0532", "metadata": {}, "outputs": [], "source": [ - "import numpy as np, pandas as pd\n", - "%load_ext rpy2.ipython\n", - "\n", + "import numpy as np\n", + "import pandas as pd\n", + "from statsmodels.api import OLS\n", "from ISLP import load_data\n", - "from ISLP.models import ModelSpec\n", - "\n", - "import statsmodels.api as sm" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "5ac10e72", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['Sales', 'CompPrice', 'Income', 'Advertising', 'Population', 'Price',\n", - " 'ShelveLoc', 'Age', 'Education', 'Urban', 'US'],\n", - " dtype='object')" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats = load_data('Carseats')\n", - "%R -i Carseats\n", - "Carseats.columns" - ] - }, - { - "cell_type": "markdown", - "id": "80a586d9", - "metadata": {}, - "source": [ - "## Let's break up income into groups" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "850356ba", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 M\n", - "1 L\n", - "2 L\n", - "3 H\n", - "4 M\n", - " ..\n", - "395 H\n", - "396 L\n", - "397 L\n", - "398 M\n", - "399 L\n", - "Name: OIncome, Length: 400, dtype: category\n", - "Categories (3, object): ['L' < 'M' < 'H']" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats['OIncome'] = pd.cut(Carseats['Income'], \n", - " [0,50,90,200], \n", - " labels=['L','M','H'])\n", - "Carseats['OIncome']" - ] - }, - { - "cell_type": "markdown", - "id": "e24def3a", - "metadata": {}, - "source": [ - "Let's also create an unordered version" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "edf83080", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 M\n", - "1 L\n", - "2 L\n", - "3 H\n", - "4 M\n", - " ..\n", - "395 H\n", - "396 L\n", - "397 L\n", - "398 M\n", - "399 L\n", - "Name: UIncome, Length: 400, dtype: category\n", - "Categories (3, object): ['L', 'M', 'H']" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats['UIncome'] = pd.cut(Carseats['Income'], \n", - " [0,50,90,200], \n", - " labels=['L','M','H'],\n", - " ordered=False)\n", - "Carseats['UIncome']" - ] - }, - { - "cell_type": "markdown", - "id": "aa22bb9c", - "metadata": {}, - "source": [ - "## A simple model" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "38d92522", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Price', 'Income'], dtype='object')" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Price', 'Income'])\n", - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "cfc2056f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 12.661546\n", - "Price -0.052213\n", - "Income 0.012829\n", - "dtype: float64" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Y = Carseats['Sales']\n", - "M = sm.OLS(Y, X).fit()\n", - "M.params" - ] - }, - { - "cell_type": "markdown", - "id": "4674c345", - "metadata": {}, - "source": [ - "## Basic procedure\n", - "\n", - "The design matrix is built by cobbling together a set of columns and possibly transforming them.\n", - "A `pd.DataFrame` is essentially a list of columns. One of the first tasks done in `ModelSpec.fit`\n", - "is to inspect a dataframe for column info. The column `ShelveLoc` is categorical:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "5688f0ad", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 Bad\n", - "1 Good\n", - "2 Medium\n", - "3 Medium\n", - "4 Bad\n", - " ... \n", - "395 Good\n", - "396 Medium\n", - "397 Medium\n", - "398 Bad\n", - "399 Good\n", - "Name: ShelveLoc, Length: 400, dtype: category\n", - "Categories (3, object): ['Bad', 'Good', 'Medium']" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats['ShelveLoc']" + "from ISLP.models import (ModelSpec,\n", + " Stepwise,\n", + " sklearn_selected)" ] }, { "cell_type": "markdown", - "id": "4ae28ffa", + "id": "1c224240-ce8b-47f3-a85a-052c43038b26", "metadata": {}, "source": [ - "This is recognized by `ModelSpec` in the form of `Column` objects which are just named tuples with two methods\n", - "`get_columns` and `fit_encoder`." + "### Forward Selection\n", + " \n", + "We will apply the forward-selection approach to the `Hitters` \n", + "data. We wish to predict a baseball player’s `Salary` on the\n", + "basis of various statistics associated with performance in the\n", + "previous year." ] }, { "cell_type": "code", - "execution_count": 8, - "id": "5f8926fd", + "execution_count": 2, + "id": "2adc66cc", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Column(idx='ShelveLoc', name='ShelveLoc', is_categorical=True, is_ordinal=False, columns=('ShelveLoc[Good]', 'ShelveLoc[Medium]'), encoder=Contrast())" + "59" ] }, - "execution_count": 8, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "design.column_info_['ShelveLoc']" + "Hitters = load_data('Hitters')\n", + "np.isnan(Hitters['Salary']).sum()" ] }, { "cell_type": "markdown", - "id": "966f53a5", - "metadata": {}, - "source": [ - "It recognized ordinal columns as well." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "a137fa1e", + "id": "40c9a484", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='OIncome', name='OIncome', is_categorical=True, is_ordinal=True, columns=('OIncome',), encoder=OrdinalEncoder())" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "design.column_info_['OIncome']" + " \n", + " We see that `Salary` is missing for 59 players. The\n", + "`dropna()` method of data frames removes all of the rows that have missing\n", + "values in any variable (by default --- see `Hitters.dropna?`)." ] }, { "cell_type": "code", - "execution_count": 10, - "id": "3390dcb0", + "execution_count": 3, + "id": "1869fdab", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(array([ 73, 48, 35, 100]), ('Income',))" + "(263, 20)" ] }, - "execution_count": 10, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "income = design.column_info_['Income']\n", - "cols, names = income.get_columns(Carseats)\n", - "(cols[:4], names)" + "Hitters = Hitters.dropna()\n", + "Hitters.shape" ] }, { "cell_type": "markdown", - "id": "b6667415", - "metadata": {}, - "source": [ - "## Encoding a column\n", - "\n", - "In building a design matrix we must extract columns from our dataframe (or `np.ndarray`). Categorical\n", - "variables usually are encoded by several columns, typically one less than the number of categories.\n", - "This task is handled by the `encoder` of the `Column`. The encoder must satisfy the `sklearn` transform\n", - "model, i.e. `fit` on some array and `transform` on future arrays. The `fit_encoder` method of `Column` fits\n", - "its encoder the first time data is passed to it." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "a1b42dbd", + "id": "0a1fe9e6", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([[0., 0.],\n", - " [1., 0.],\n", - " [0., 1.],\n", - " [0., 1.]]),\n", - " ['ShelveLoc[Good]', 'ShelveLoc[Medium]'])" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "shelve = design.column_info_['ShelveLoc']\n", - "cols, names = shelve.get_columns(Carseats)\n", - "(cols[:4], names)" + "We first choose the best model using forward selection based on AIC. This score\n", + "is not built in as a metric to `sklearn`. We therefore define a function to compute it ourselves, and use\n", + "it as a scorer. By default, `sklearn` tries to maximize a score, hence\n", + " our scoring function computes the negative AIC statistic." ] }, { "cell_type": "code", - "execution_count": 12, - "id": "31367988", + "execution_count": 4, + "id": "76bd8110", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[2.],\n", - " [1.],\n", - " [1.],\n", - " [0.]])" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "oincome = design.column_info_['OIncome']\n", - "oincome.get_columns(Carseats)[0][:4]" + "def negAIC(estimator, X, Y):\n", + " \"Negative AIC\"\n", + " n, p = X.shape\n", + " Yhat = estimator.predict(X)\n", + " MSE = np.mean((Y - Yhat)**2)\n", + " return n + n * np.log(MSE) + 2 * (p + 1)\n", + " " ] }, { "cell_type": "markdown", - "id": "751c1487", - "metadata": {}, - "source": [ - "## The terms\n", - "\n", - "The design matrix consists of several sets of columns. This is managed by the `ModelSpec` through\n", - "the `terms` argument which should be a sequence. The elements of `terms` are often\n", - "going to be strings (or tuples of strings for interactions, see below) but are converted to a\n", - "`Variable` object and stored in the `terms_` of the fitted `ModelSpec`. A `Variable` is just a named tuple." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "6e2b6155", + "id": "14ba6f49", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['Price', 'Income']" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "design.terms" + "We need to estimate the residual variance $\\sigma^2$, which is the first argument in our scoring function above.\n", + "We will fit the biggest model, using all the variables, and estimate $\\sigma^2$ based on its MSE." ] }, { "cell_type": "code", - "execution_count": 14, - "id": "d3e669da", + "execution_count": 5, + "id": "94e10f35", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Variable(variables=('Price',), name='Price', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False),\n", - " Variable(variables=('Income',), name='Income', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False)]" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "design.terms_" + "design = ModelSpec(Hitters.columns.drop('Salary')).fit(Hitters)\n", + "Y = np.array(Hitters['Salary'])\n", + "X = design.transform(Hitters)" ] }, { "cell_type": "markdown", - "id": "fb0a45c9", + "id": "afdda5f2", "metadata": {}, "source": [ - "While each `Column` can itself extract data, they are all promoted to `Variable` to be of a uniform type. A\n", - "`Variable` can also create columns through the `build_columns` method of `ModelSpec`" + "Along with a score we need to specify the search strategy. This is done through the object\n", + "`Stepwise()` in the `ISLP.models` package. The method `Stepwise.first_peak()`\n", + "runs forward stepwise until any further additions to the model do not result\n", + "in an improvement in the evaluation score. Similarly, the method `Stepwise.fixed_steps()`\n", + "runs a fixed number of steps of stepwise search." ] }, { "cell_type": "code", - "execution_count": 15, - "id": "554c67cb", + "execution_count": 6, + "id": "048c8500", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( Price\n", - " 0 120\n", - " 1 83\n", - " 2 80\n", - " 3 97\n", - " 4 128\n", - " .. ...\n", - " 395 128\n", - " 396 120\n", - " 397 159\n", - " 398 95\n", - " 399 120\n", - " \n", - " [400 rows x 1 columns],\n", - " ['Price'])" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "price = design.terms_[0]\n", - "design.build_columns(Carseats, price)" + "strategy = Stepwise.first_peak(design,\n", + " direction='forward',\n", + " max_terms=len(design.terms))" ] }, { "cell_type": "markdown", - "id": "06956a6f", + "id": "e0c0af0e", "metadata": {}, "source": [ - "Note that `Variable` objects have a tuple of `variables` as well as an `encoder` attribute. The\n", - "tuple of `variables` first creates a concatenated dataframe from all corresponding variables and then\n", - "is run through `encoder.transform`. The `encoder.fit` method of each `Variable` is run once during \n", - "the call to `ModelSpec.fit`." + " \n", + "We now fit a linear regression model with `Salary` as outcome using forward\n", + "selection. To do so, we use the function `sklearn_selected()` from the `ISLP.models` package. This takes\n", + "a model from `statsmodels` along with a search strategy and selects a model with its\n", + "`fit` method. Without specifying a `scoring` argument, the score defaults to MSE, and so all 19 variables will be\n", + "selected." ] }, { "cell_type": "code", - "execution_count": 16, - "id": "dd434884", + "execution_count": 7, + "id": "26f09fe9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "( Price Income UIncome[L] UIncome[M]\n", - " 0 120.0 73.0 0.0 1.0\n", - " 1 83.0 48.0 1.0 0.0\n", - " 2 80.0 35.0 1.0 0.0\n", - " 3 97.0 100.0 0.0 0.0\n", - " 4 128.0 64.0 0.0 1.0\n", - " .. ... ... ... ...\n", - " 395 128.0 108.0 0.0 0.0\n", - " 396 120.0 23.0 1.0 0.0\n", - " 397 159.0 26.0 1.0 0.0\n", - " 398 95.0 79.0 0.0 1.0\n", - " 399 120.0 37.0 1.0 0.0\n", - " \n", - " [400 rows x 4 columns],\n", - " ['Price', 'Income', 'UIncome[L]', 'UIncome[M]'])" + "('Assists',\n", + " 'AtBat',\n", + " 'CAtBat',\n", + " 'CHits',\n", + " 'CHmRun',\n", + " 'CRBI',\n", + " 'CRuns',\n", + " 'CWalks',\n", + " 'Division',\n", + " 'Errors',\n", + " 'Hits',\n", + " 'HmRun',\n", + " 'League',\n", + " 'NewLeague',\n", + " 'PutOuts',\n", + " 'RBI',\n", + " 'Runs',\n", + " 'Walks',\n", + " 'Years')" ] }, - "execution_count": 16, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "from ISLP.models.model_spec import Variable\n", - "\n", - "new_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=None)\n", - "design.build_columns(Carseats, new_var)" + "hitters_MSE = sklearn_selected(OLS,\n", + " strategy)\n", + "hitters_MSE.fit(Hitters, Y)\n", + "hitters_MSE.selected_state_" ] }, { "cell_type": "markdown", - "id": "5cdb088c", + "id": "4acf4792", "metadata": {}, "source": [ - "Let's now transform these columns with an encoder. Within `ModelSpec` we will first build the\n", - "arrays above and then call `pca.fit` and finally `pca.transform` within `design.build_columns`." + " Using `neg_Cp` results in a smaller model, as expected, with just 4variables selected." ] }, { "cell_type": "code", - "execution_count": 17, - "id": "519a642e", + "execution_count": 8, + "id": "a825f4d8", "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, { "data": { "text/plain": [ - "( mynewvar[0] mynewvar[1]\n", - " 0 -3.608693 -4.853177\n", - " 1 15.081506 35.708630\n", - " 2 27.422871 40.774250\n", - " 3 -33.973209 13.470489\n", - " 4 6.567316 -11.290100\n", - " .. ... ...\n", - " 395 -36.846346 -18.415783\n", - " 396 45.741500 3.245602\n", - " 397 49.097533 -35.725355\n", - " 398 -13.577772 18.845139\n", - " 399 31.927566 0.978436\n", - " \n", - " [400 rows x 2 columns],\n", - " ['mynewvar[0]', 'mynewvar[1]'])" + "('Assists', 'Errors', 'League', 'NewLeague')" ] }, - "execution_count": 17, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "from sklearn.decomposition import PCA\n", - "pca = PCA(n_components=2)\n", - "pca.fit(design.build_columns(Carseats, new_var)[0]) # this is done within `ModelSpec.fit`\n", - "pca_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=pca)\n", - "design.build_columns(Carseats, pca_var)" - ] - }, - { - "cell_type": "markdown", - "id": "403921a2", - "metadata": {}, - "source": [ - "The elements of the `variables` attribute may be column identifiers ( `\"Price\"`), `Column` instances (`price`)\n", - "or `Variable` instances (`pca_var`)." + "hitters_Cp = sklearn_selected(OLS,\n", + " strategy,\n", + " scoring=negAIC)\n", + "hitters_Cp.fit(Hitters, Y)\n", + "hitters_Cp.selected_state_" ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "b422cde1", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "( Price Price mynewvar[0] mynewvar[1]\n", - " 0 120.0 120.0 -3.608693 -4.853177\n", - " 1 83.0 83.0 15.081506 35.708630\n", - " 2 80.0 80.0 27.422871 40.774250\n", - " 3 97.0 97.0 -33.973209 13.470489\n", - " 4 128.0 128.0 6.567316 -11.290100\n", - " .. ... ... ... ...\n", - " 395 128.0 128.0 -36.846346 -18.415783\n", - " 396 120.0 120.0 45.741500 3.245602\n", - " 397 159.0 159.0 49.097533 -35.725355\n", - " 398 95.0 95.0 -13.577772 18.845139\n", - " 399 120.0 120.0 31.927566 0.978436\n", - " \n", - " [400 rows x 4 columns],\n", - " ['Price', 'Price', 'mynewvar[0]', 'mynewvar[1]'])" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "fancy_var = Variable(('Price', price, pca_var), name='fancy', encoder=None)\n", - "design.build_columns(Carseats, fancy_var)" - ] - }, - { - "cell_type": "markdown", - "id": "53e38f57", - "metadata": {}, - "source": [ - "We can of course run PCA again on these features (if we wanted)." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "6347acb6", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "( fancy_pca[0] fancy_pca[1]\n", - " 0 -6.951792 4.859283\n", - " 1 55.170148 -24.694875\n", - " 2 59.418556 -38.033572\n", - " 3 34.722389 28.922184\n", - " 4 -21.419184 -3.120673\n", - " .. ... ...\n", - " 395 -18.257348 40.760122\n", - " 396 -10.546709 -45.021658\n", - " 397 -77.706359 -37.174379\n", - " 398 36.668694 7.730851\n", - " 399 -9.540535 -31.059122\n", - " \n", - " [400 rows x 2 columns],\n", - " ['fancy_pca[0]', 'fancy_pca[1]'])" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pca2 = PCA(n_components=2)\n", - "pca2.fit(design.build_columns(Carseats, fancy_var)[0]) # this is done within `ModelSpec.fit`\n", - "pca2_var = Variable(('Price', price, pca_var), name='fancy_pca', encoder=pca2)\n", - "design.build_columns(Carseats, pca2_var)" - ] - }, - { - "cell_type": "markdown", - "id": "08b5ddb0", - "metadata": {}, - "source": [ - "## Building the design matrix\n", - "\n", - "With these notions in mind, the final design is essentially then" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "a8eb3e33", - "metadata": {}, - "outputs": [], - "source": [ - "X_hand = np.column_stack([design.build_columns(Carseats, v)[0] for v in design.terms_])[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "97912337", - "metadata": {}, - "source": [ - "An intercept column is added if `design.intercept` is `True` and if the original argument to `transform` is\n", - "a dataframe the index is adjusted accordingly." - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "72b5e629", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.intercept" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "8a457e3e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
interceptPriceIncome
01.012073
11.08348
21.08035
31.097100
\n", - "
" - ], - "text/plain": [ - " intercept Price Income\n", - "0 1.0 120 73\n", - "1 1.0 83 48\n", - "2 1.0 80 35\n", - "3 1.0 97 100" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.transform(Carseats)[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "8624ab8c", - "metadata": {}, - "source": [ - "## Predicting\n", - "\n", - "Constructing the design matrix at any values is carried out by the `transform` method." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "6052765e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([12.65257604, 12.25873428])" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "new_data = pd.DataFrame({'Price':[10,20], 'Income':[40, 50]})\n", - "new_X = design.transform(new_data)\n", - "M.get_prediction(new_X).predicted_mean" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "9158de59", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 0 1 \n", - "12.65258 12.25873 \n" - ] - } - ], - "source": [ - "%%R -i new_data,Carseats\n", - "predict(lm(Sales ~ Price + Income, data=Carseats), new_data)" - ] - }, - { - "cell_type": "markdown", - "id": "9608bed3", - "metadata": {}, - "source": [ - "### Difference between using `pd.DataFrame` and `np.ndarray`\n", - "\n", - "If the `terms` only refer to a few columns of the data frame, the `transform` method only needs a dataframe with those columns.\n", - "\n", - "If we had used an `np.ndarray`, the column identifiers would be integers identifying specific columns so,\n", - "in order to work correctly, `transform` would need another `np.ndarray` where the columns have the same meaning." - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "f0b8120f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[1.0, 120, 73],\n", - " [1.0, 83, 48],\n", - " [1.0, 80, 35],\n", - " [1.0, 97, 100]], dtype=object)" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats_np = np.asarray(Carseats[['Price', 'ShelveLoc', 'US', 'Income']])\n", - "design_np = ModelSpec([0,3]).fit(Carseats_np)\n", - "design_np.transform(Carseats_np)[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "270a02a6", - "metadata": {}, - "source": [ - "The following will fail for hopefully obvious reasons" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "4ffbce7e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "shapes (2,2) and (3,) not aligned: 2 (dim 1) != 3 (dim 0)\n" - ] - } - ], - "source": [ - "try:\n", - " new_D = np.zeros((2,2))\n", - " new_D[:,0] = [10,20]\n", - " new_D[:,1] = [40,50]\n", - " M.get_prediction(new_D).predicted_mean\n", - "except ValueError as e:\n", - " print(e)" - ] - }, - { - "cell_type": "markdown", - "id": "bc5ff62b", - "metadata": {}, - "source": [ - "Ultimately, `M` expects 3 columns for new predictions because it was fit\n", - "with a matrix having 3 columns (the first representing an intercept).\n", - "\n", - "We might be tempted to try as with the `pd.DataFrame` and produce\n", - "an `np.ndarray` with only the necessary variables." - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "34dae1e9", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "index 3 is out of bounds for axis 1 with size 2\n" - ] - } - ], - "source": [ - "try:\n", - " new_X = np.zeros((2,2))\n", - " new_X[:,0] = [10,20]\n", - " new_X[:,1] = [40,50]\n", - " new_D = design_np.transform(new_X)\n", - " M.get_prediction(new_D).predicted_mean\n", - "except IndexError as e:\n", - " print(e)" - ] - }, - { - "cell_type": "markdown", - "id": "7e9da262", - "metadata": {}, - "source": [ - "This fails because `design_np` is looking for column `3` from its `terms`:" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "938b9430", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Variable(variables=(0,), name='0', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False),\n", - " Variable(variables=(3,), name='3', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False)]" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design_np.terms_" - ] - }, - { - "cell_type": "markdown", - "id": "083e9529", - "metadata": {}, - "source": [ - "However, if we have an `np.ndarray` in which the first column indeed represents `Price` and the fourth indeed\n", - "represents `Income` then we can arrive at the correct answer by supplying such the array to `design_np.transform`:" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "d413a9fe", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([12.65257604, 12.25873428])" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "new_X = np.zeros((2,4))\n", - "new_X[:,0] = [10,20]\n", - "new_X[:,3] = [40,50]\n", - "new_D = design_np.transform(new_X)\n", - "M.get_prediction(new_D).predicted_mean" - ] - }, - { - "cell_type": "markdown", - "id": "0f4b508b", - "metadata": {}, - "source": [ - "Given this subtlety about needing to supply arrays with identical column structure to `transform` when\n", - "using `np.ndarray` we presume that using a `pd.DataFrame` will be the more popular use case." - ] - }, - { - "cell_type": "markdown", - "id": "8bcbd973", - "metadata": {}, - "source": [ - "## A model with some categorical variables\n", - "\n", - "Categorical variables become `Column` instances with encoders." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "cf13f72e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='UIncome', name='UIncome', is_categorical=True, is_ordinal=False, columns=('UIncome[L]', 'UIncome[M]'), encoder=Contrast())" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Population', 'Price', 'UIncome', 'ShelveLoc']).fit(Carseats)\n", - "design.column_info_['UIncome']" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "c1fa0a90", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Population', 'Price', 'UIncome[L]', 'UIncome[M]',\n", - " 'ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " dtype='object')" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "b28aa313", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 11.876012\n", - "Population 0.001163\n", - "Price -0.055725\n", - "UIncome[L] -1.042297\n", - "UIncome[M] -0.119123\n", - "ShelveLoc[Good] 4.999623\n", - "ShelveLoc[Medium] 1.964278\n", - "dtype: float64" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "aa764acc", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) Population Price UIncomeM UIncomeH \n", - " 10.83371503 0.00116301 -0.05572469 0.92317388 1.04229679 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.99962319 1.96427771 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "31876a29", - "metadata": {}, - "source": [ - "## Getting the encoding you want\n", - "\n", - "By default the level dropped by `ModelSpec` will be the first of the `categories_` values from \n", - "`sklearn.preprocessing.OneHotEncoder()`. We might wish to change this. It seems\n", - "as if the correct way to do this would be something like `Variable(('UIncome',), 'mynewencoding', new_encoder)`\n", - "where `new_encoder` would somehow drop the column we want dropped. \n", - "\n", - "However, when using the convenient identifier `UIncome` in the `variables` argument, this maps to the `Column` associated to `UIncome` within `design.column_info_`:" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "bac2643c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='UIncome', name='UIncome', is_categorical=True, is_ordinal=False, columns=('UIncome[L]', 'UIncome[M]'), encoder=Contrast())" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.column_info_['UIncome']" - ] - }, - { - "cell_type": "markdown", - "id": "1485735d", - "metadata": {}, - "source": [ - "This column already has an encoder and `Column` instances are immutable as named tuples. Further, there are times when \n", - "we may want to encode `UIncome` differently within the same model. In the model below the main effect of `UIncome` is encoded with two columns while in the interaction `UIncome` (see below) has three columns. This is a design of interest\n", - "and we need a way to allow different encodings of the same column of `Carseats`" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "3987c5d6", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ UIncome:ShelveLoc + UIncome, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) UIncomeM UIncomeH \n", - " 5.1317 0.1151 1.1561 \n", - " UIncomeL:ShelveLocGood UIncomeM:ShelveLocGood UIncomeH:ShelveLocGood \n", - " 4.5121 5.5752 3.7381 \n", - "UIncomeL:ShelveLocMedium UIncomeM:ShelveLocMedium UIncomeH:ShelveLocMedium \n", - " 1.2473 2.4782 1.5141 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "7a6631c9", - "metadata": {}, - "source": [ - " We can create a new \n", - "`Column` with the encoder we want. For categorical variables, there is a convenience function to do so." - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "83a9b94e", - "metadata": {}, - "outputs": [], - "source": [ - "from ISLP.models.model_spec import contrast\n", - "pref_encoding = contrast('UIncome', 'drop', 'L')" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "f0ffabea", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( UIncome[M] UIncome[H]\n", - " 0 1.0 0.0\n", - " 1 0.0 0.0\n", - " 2 0.0 0.0\n", - " 3 0.0 1.0\n", - " 4 1.0 0.0\n", - " .. ... ...\n", - " 395 0.0 1.0\n", - " 396 0.0 0.0\n", - " 397 0.0 0.0\n", - " 398 1.0 0.0\n", - " 399 0.0 0.0\n", - " \n", - " [400 rows x 2 columns],\n", - " ['UIncome[M]', 'UIncome[H]'])" - ] - }, - "execution_count": 37, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.build_columns(Carseats, pref_encoding)" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "4a5fdc64", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Population', 'Price', 'UIncome[M]', 'UIncome[H]',\n", - " 'ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " dtype='object')" - ] - }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Population', 'Price', pref_encoding, 'ShelveLoc']).fit(Carseats)\n", - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "ae7e3bd2", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 10.833715\n", - "Population 0.001163\n", - "Price -0.055725\n", - "UIncome[M] 0.923174\n", - "UIncome[H] 1.042297\n", - "ShelveLoc[Good] 4.999623\n", - "ShelveLoc[Medium] 1.964278\n", - "dtype: float64" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "c12ac3df", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) Population Price UIncomeM UIncomeH \n", - " 10.83371503 0.00116301 -0.05572469 0.92317388 1.04229679 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.99962319 1.96427771 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "53bf8aef", - "metadata": {}, - "source": [ - "## Interactions\n", - "\n", - "We've referred to interactions above. These are specified (by convenience) as tuples in the `terms` argument\n", - "to `ModelSpec`." - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "id": "47723bce", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 7.866634\n", - "UIncome[L]:ShelveLoc[Good] 4.512054\n", - "UIncome[L]:ShelveLoc[Medium] 1.247275\n", - "UIncome[M]:ShelveLoc[Good] 5.575170\n", - "UIncome[M]:ShelveLoc[Medium] 2.478163\n", - "UIncome[L] -2.734895\n", - "UIncome[M] -2.619745\n", - "dtype: float64" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([('UIncome', 'ShelveLoc'), 'UIncome'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "markdown", - "id": "86060622", - "metadata": {}, - "source": [ - "The tuples in `terms` are converted to `Variable` in the formalized `terms_` attribute by creating a `Variable` with\n", - "`variables` set to the tuple and the encoder an `Interaction` encoder which (unsurprisingly) creates the interaction columns from the concatenated data frames of `UIncome` and `ShelveLoc`." - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "id": "d7a2ab9b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Variable(variables=('UIncome', 'ShelveLoc'), name='UIncome:ShelveLoc', encoder=Interaction(column_names={'ShelveLoc': ['ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " 'UIncome': ['UIncome[L]', 'UIncome[M]']},\n", - " columns={'ShelveLoc': range(2, 4), 'UIncome': range(0, 2)},\n", - " variables=['UIncome', 'ShelveLoc']), use_transform=True, pure_columns=False, override_encoder_colnames=False)" - ] - }, - "execution_count": 42, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.terms_[0]" - ] - }, - { - "cell_type": "markdown", - "id": "2a5e7f6b", - "metadata": {}, - "source": [ - "Comparing this to the previous `R` model." - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "bbb02036", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ UIncome:ShelveLoc + UIncome, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) UIncomeM UIncomeH \n", - " 5.1317 0.1151 1.1561 \n", - " UIncomeL:ShelveLocGood UIncomeM:ShelveLocGood UIncomeH:ShelveLocGood \n", - " 4.5121 5.5752 3.7381 \n", - "UIncomeL:ShelveLocMedium UIncomeM:ShelveLocMedium UIncomeH:ShelveLocMedium \n", - " 1.2473 2.4782 1.5141 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "89106a85", - "metadata": {}, - "source": [ - "We note a few important things:\n", - "\n", - "1. `R` has reorganized the columns of the design from the formula: although we wrote `UIncome:ShelveLoc` first these\n", - "columns have been built later. **`ModelSpec` builds columns in the order determined by `terms`!**\n", - "\n", - "2. As noted above, `R` has encoded `UIncome` differently in the main effect and in the interaction. For `ModelSpec`, the reference to `UIncome` always refers to the column in `design.column_info_` and will always build only the columns for `L` and `M`. **`ModelSpec` does no inspection of terms to decide how to encode categorical variables.**\n", - "\n", - "A few notes:\n", - "\n", - "- **Why not try to inspect the terms?** For any nontrivial formula in `R` with several categorical variables and interactions, predicting what columns will be produced from a given formula is not simple. **`ModelSpec` errs on the side of being explicit.**\n", - "\n", - "- **Is it impossible to build the design as `R` has?** No. An advanced user who *knows* they want the columns built as `R` has can do so (fairly) easily." - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "id": "151f3fee", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( UIncome[H] UIncome[L] UIncome[M]\n", - " 0 0.0 0.0 1.0\n", - " 1 0.0 1.0 0.0\n", - " 2 0.0 1.0 0.0\n", - " 3 1.0 0.0 0.0\n", - " 4 0.0 0.0 1.0\n", - " .. ... ... ...\n", - " 395 1.0 0.0 0.0\n", - " 396 0.0 1.0 0.0\n", - " 397 0.0 1.0 0.0\n", - " 398 0.0 0.0 1.0\n", - " 399 0.0 1.0 0.0\n", - " \n", - " [400 rows x 3 columns],\n", - " ['UIncome[H]', 'UIncome[L]', 'UIncome[M]'])" - ] - }, - "execution_count": 44, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "full_encoding = contrast('UIncome', None)\n", - "design.build_columns(Carseats, full_encoding)" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "id": "945ce7bc", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 5.131739\n", - "UIncome[M] 0.115150\n", - "UIncome[H] 1.156118\n", - "UIncome[H]:ShelveLoc[Good] 3.738052\n", - "UIncome[H]:ShelveLoc[Medium] 1.514104\n", - "UIncome[L]:ShelveLoc[Good] 4.512054\n", - "UIncome[L]:ShelveLoc[Medium] 1.247275\n", - "UIncome[M]:ShelveLoc[Good] 5.575170\n", - "UIncome[M]:ShelveLoc[Medium] 2.478163\n", - "dtype: float64" - ] - }, - "execution_count": 45, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([pref_encoding, (full_encoding, 'ShelveLoc')])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "markdown", - "id": "450b94dd", - "metadata": {}, - "source": [ - "## Special encodings\n", - "\n", - "For flexible models, we may want to consider transformations of features, i.e. polynomial\n", - "or spline transformations. Given transforms that follow the `fit/transform` paradigm\n", - "we can of course achieve this with a `Column` and an `encoder`. The `ISLP.transforms`\n", - "package includes a `Poly` transform" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "id": "18d5c1c8", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Variable(variables=('Income',), name='poly(Income, 3, )', encoder=Poly(degree=3), use_transform=True, pure_columns=False, override_encoder_colnames=True)" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from ISLP.models.model_spec import poly\n", - "poly('Income', 3)" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "id": "46c7d911", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 5.440077\n", - "poly(Income, 3, )[0] 10.036373\n", - "poly(Income, 3, )[1] -2.799156\n", - "poly(Income, 3, )[2] 2.399601\n", - "ShelveLoc[Good] 4.808133\n", - "ShelveLoc[Medium] 1.889533\n", - "dtype: float64" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([poly('Income', 3), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "markdown", - "id": "99bf13a1", - "metadata": {}, - "source": [ - "Compare:" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "7606facd", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) poly(Income, 3)1 poly(Income, 3)2 poly(Income, 3)3 \n", - " 5.440077 10.036373 -2.799156 2.399601 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.808133 1.889533 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ poly(Income, 3) + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "a4931031", - "metadata": {}, - "source": [ - "## Splines\n", - "\n", - "Support for natural and B-splines is also included" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "id": "1c1bf5f3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 4.240421\n", - "ns(Income, , df=5)[0] 1.468196\n", - "ns(Income, , df=5)[1] 1.499471\n", - "ns(Income, , df=5)[2] 1.152070\n", - "ns(Income, , df=5)[3] 2.418398\n", - "ns(Income, , df=5)[4] 1.804460\n", - "ShelveLoc[Good] 4.810449\n", - "ShelveLoc[Medium] 1.881095\n", - "dtype: float64" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from ISLP.models.model_spec import ns, bs, pca\n", - "design = ModelSpec([ns('Income', df=5), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "id": "8c24254b", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) ns(Income, df = 5)1 ns(Income, df = 5)2 ns(Income, df = 5)3 \n", - " 4.240421 1.468196 1.499471 1.152070 \n", - "ns(Income, df = 5)4 ns(Income, df = 5)5 ShelveLocGood ShelveLocMedium \n", - " 2.418398 1.804460 4.810449 1.881095 \n" - ] - } - ], - "source": [ - "%%R\n", - "library(splines)\n", - "lm(Sales ~ ns(Income, df=5) + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "id": "f9d6c4a7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 3.495085\n", - "bs(Income, , df=7, degree=2)[0] 1.813118\n", - "bs(Income, , df=7, degree=2)[1] 0.961852\n", - "bs(Income, , df=7, degree=2)[2] 2.471545\n", - "bs(Income, , df=7, degree=2)[3] 2.158891\n", - "bs(Income, , df=7, degree=2)[4] 2.091625\n", - "bs(Income, , df=7, degree=2)[5] 2.600669\n", - "bs(Income, , df=7, degree=2)[6] 2.843108\n", - "ShelveLoc[Good] 4.804919\n", - "ShelveLoc[Medium] 1.880337\n", - "dtype: float64" - ] - }, - "execution_count": 51, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([bs('Income', df=7, degree=2), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "id": "0bf1726a", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) bs(Income, df = 7, degree = 2)1 \n", - " 3.4950851 1.8131176 \n", - "bs(Income, df = 7, degree = 2)2 bs(Income, df = 7, degree = 2)3 \n", - " 0.9618523 2.4715450 \n", - "bs(Income, df = 7, degree = 2)4 bs(Income, df = 7, degree = 2)5 \n", - " 2.1588908 2.0916252 \n", - "bs(Income, df = 7, degree = 2)6 bs(Income, df = 7, degree = 2)7 \n", - " 2.6006694 2.8431084 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.8049190 1.8803375 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ bs(Income, df=7, degree=2) + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "914df4cf", - "metadata": {}, - "source": [ - "## PCA" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "id": "cc22e780", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "intercept 5.419405\n", - "pca(myvars, , n_components=2)[0] -0.001131\n", - "pca(myvars, , n_components=2)[1] -0.024217\n", - "ShelveLoc[Good] 4.816253\n", - "ShelveLoc[Medium] 1.924139\n", - "dtype: float64" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([pca(['Income', \n", - " 'Price', \n", - " 'Advertising', \n", - " 'Population'], \n", - " n_components=2, \n", - " name='myvars'), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "id": "de571e61", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ prcomp(cbind(Income, Price, Advertising, \n", - " Population))$x[, 1:2] + ShelveLoc, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) \n", - " 5.419405 \n", - "prcomp(cbind(Income, Price, Advertising, Population))$x[, 1:2]PC1 \n", - " 0.001131 \n", - "prcomp(cbind(Income, Price, Advertising, Population))$x[, 1:2]PC2 \n", - " -0.024217 \n", - " ShelveLocGood \n", - " 4.816253 \n", - " ShelveLocMedium \n", - " 1.924139 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ prcomp(cbind(Income, Price, Advertising, Population))$x[,1:2] + ShelveLoc, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "0a103b5a", - "metadata": {}, - "source": [ - "It is of course common to scale before running PCA." - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "id": "95ca42f5", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "intercept 5.352159\n", - "pca(myvars, , n_components=2)[0] 0.446383\n", - "pca(myvars, , n_components=2)[1] -1.219788\n", - "ShelveLoc[Good] 4.922780\n", - "ShelveLoc[Medium] 2.005617\n", - "dtype: float64" - ] - }, - "execution_count": 55, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([pca(['Income', \n", - " 'Price', \n", - " 'Advertising', \n", - " 'Population'], \n", - " n_components=2, \n", - " name='myvars',\n", - " scale=True), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "id": "0dc22e35", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ prcomp(cbind(Income, Price, Advertising, \n", - " Population), scale = TRUE)$x[, 1:2] + ShelveLoc, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) \n", - " 5.3522 \n", - "prcomp(cbind(Income, Price, Advertising, Population), scale = TRUE)$x[, 1:2]PC1 \n", - " 0.4469 \n", - "prcomp(cbind(Income, Price, Advertising, Population), scale = TRUE)$x[, 1:2]PC2 \n", - " -1.2213 \n", - " ShelveLocGood \n", - " 4.9228 \n", - " ShelveLocMedium \n", - " 2.0056 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ prcomp(cbind(Income, Price, Advertising, Population), scale=TRUE)$x[,1:2] + ShelveLoc, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "70347ee9", - "metadata": {}, - "source": [ - "There will be some small differences in the coefficients due to `sklearn` use of `np.std(ddof=0)` instead\n", - "of `np.std(ddof=1)`." - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "id": "aa0c2f2e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 0.44694166, -1.22131519])" - ] - }, - "execution_count": 57, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.array(sm.OLS(Y, X).fit().params)[1:3] * np.sqrt(X.shape[0] / (X.shape[0]-1))" - ] - }, - { - "cell_type": "markdown", - "id": "ab05c497", - "metadata": {}, - "source": [ - "## Model selection\n", - "\n", - "Another task requiring different design matrices is model selection. Manipulating\n", - "the `terms` attribute of a `ModelSpec` (or more precisely its more uniform version `terms_`)\n", - "can clearly allow for both exhaustive and stepwise model selection." - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "id": "9505c178", - "metadata": {}, - "outputs": [], - "source": [ - "from ISLP.models.strategy import (Stepwise, \n", - " min_max)\n", - "from ISLP.models.generic_selector import FeatureSelector" - ] - }, - { - "cell_type": "markdown", - "id": "020c2532", - "metadata": {}, - "source": [ - "### Best subsets" - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "id": "f9aba6db", - "metadata": {}, - "outputs": [], - "source": [ - "design = ModelSpec(['Price', \n", - " 'UIncome', \n", - " 'Advertising', \n", - " 'US', \n", - " 'Income',\n", - " 'ShelveLoc',\n", - " 'Education',\n", - " 'Urban']).fit(Carseats)\n", - "strategy = min_max(design,\n", - " min_terms=0,\n", - " max_terms=3)" - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "id": "91144a3d", - "metadata": {}, - "outputs": [], - "source": [ - "from sklearn.linear_model import LinearRegression\n", - "selector = FeatureSelector(LinearRegression(fit_intercept=False),\n", - " strategy,\n", - " scoring='neg_mean_squared_error')" - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "id": "ae3cb2eb", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 61, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "selector.fit(Carseats, Y)" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "id": "e63b2744", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('Price', 'Advertising', 'ShelveLoc')" - ] - }, - "execution_count": 62, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "selector.selected_state_" - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "id": "0a774b48", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "dict_keys([(), ('Price',), ('UIncome',), ('Advertising',), ('US',), ('Income',), ('ShelveLoc',), ('Education',), ('Urban',), ('Price', 'UIncome'), ('Price', 'Advertising'), ('Price', 'US'), ('Price', 'Income'), ('Price', 'ShelveLoc'), ('Price', 'Education'), ('Price', 'Urban'), ('UIncome', 'Advertising'), ('UIncome', 'US'), ('UIncome', 'Income'), ('UIncome', 'ShelveLoc'), ('UIncome', 'Education'), ('UIncome', 'Urban'), ('Advertising', 'US'), ('Advertising', 'Income'), ('Advertising', 'ShelveLoc'), ('Advertising', 'Education'), ('Advertising', 'Urban'), ('US', 'Income'), ('US', 'ShelveLoc'), ('US', 'Education'), ('US', 'Urban'), ('Income', 'ShelveLoc'), ('Income', 'Education'), ('Income', 'Urban'), ('ShelveLoc', 'Education'), ('ShelveLoc', 'Urban'), ('Education', 'Urban'), ('Price', 'UIncome', 'Advertising'), ('Price', 'UIncome', 'US'), ('Price', 'UIncome', 'Income'), ('Price', 'UIncome', 'ShelveLoc'), ('Price', 'UIncome', 'Education'), ('Price', 'UIncome', 'Urban'), ('Price', 'Advertising', 'US'), ('Price', 'Advertising', 'Income'), ('Price', 'Advertising', 'ShelveLoc'), ('Price', 'Advertising', 'Education'), ('Price', 'Advertising', 'Urban'), ('Price', 'US', 'Income'), ('Price', 'US', 'ShelveLoc'), ('Price', 'US', 'Education'), ('Price', 'US', 'Urban'), ('Price', 'Income', 'ShelveLoc'), ('Price', 'Income', 'Education'), ('Price', 'Income', 'Urban'), ('Price', 'ShelveLoc', 'Education'), ('Price', 'ShelveLoc', 'Urban'), ('Price', 'Education', 'Urban'), ('UIncome', 'Advertising', 'US'), ('UIncome', 'Advertising', 'Income'), ('UIncome', 'Advertising', 'ShelveLoc'), ('UIncome', 'Advertising', 'Education'), ('UIncome', 'Advertising', 'Urban'), ('UIncome', 'US', 'Income'), ('UIncome', 'US', 'ShelveLoc'), ('UIncome', 'US', 'Education'), ('UIncome', 'US', 'Urban'), ('UIncome', 'Income', 'ShelveLoc'), ('UIncome', 'Income', 'Education'), ('UIncome', 'Income', 'Urban'), ('UIncome', 'ShelveLoc', 'Education'), ('UIncome', 'ShelveLoc', 'Urban'), ('UIncome', 'Education', 'Urban'), ('Advertising', 'US', 'Income'), ('Advertising', 'US', 'ShelveLoc'), ('Advertising', 'US', 'Education'), ('Advertising', 'US', 'Urban'), ('Advertising', 'Income', 'ShelveLoc'), ('Advertising', 'Income', 'Education'), ('Advertising', 'Income', 'Urban'), ('Advertising', 'ShelveLoc', 'Education'), ('Advertising', 'ShelveLoc', 'Urban'), ('Advertising', 'Education', 'Urban'), ('US', 'Income', 'ShelveLoc'), ('US', 'Income', 'Education'), ('US', 'Income', 'Urban'), ('US', 'ShelveLoc', 'Education'), ('US', 'ShelveLoc', 'Urban'), ('US', 'Education', 'Urban'), ('Income', 'ShelveLoc', 'Education'), ('Income', 'ShelveLoc', 'Urban'), ('Income', 'Education', 'Urban'), ('ShelveLoc', 'Education', 'Urban')])" - ] - }, - "execution_count": 63, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "selector.results_.keys()" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "id": "0ca1f28c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('Price', 'Advertising', 'Income')" - ] - }, - "execution_count": 64, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "strategy = min_max(design,\n", - " min_terms=0,\n", - " max_terms=3,\n", - " lower_terms=['Price'],\n", - " upper_terms=['Price', 'Income', 'Advertising'])\n", - "selector = FeatureSelector(LinearRegression(fit_intercept=False),\n", - " strategy,\n", - " scoring='neg_mean_squared_error')\n", - "selector.fit(Carseats, Y)\n", - "selector.selected_state_" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "id": "5c6732fa", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "dict_keys([('Price',), ('Price', 'Advertising'), ('Price', 'Income'), ('Price', 'Advertising', 'Income')])" - ] - }, - "execution_count": 65, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "selector.results_.keys()" - ] - }, - { - "cell_type": "markdown", - "id": "7bb6fcc3", - "metadata": {}, - "source": [ - "### Stepwise selection" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "id": "9985d0fc", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('Advertising', 'Income', 'Price', 'ShelveLoc')" - ] - }, - "execution_count": 66, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "strategy = Stepwise.first_peak(design,\n", - " min_terms=0,\n", - " max_terms=6,\n", - " lower_terms=['Price'],\n", - " upper_terms=['Price', 'Income', 'Advertising', 'ShelveLoc', 'UIncome', 'US'\n", - " 'Education', 'Urban'])\n", - "selector = FeatureSelector(LinearRegression(fit_intercept=False),\n", - " strategy,\n", - " scoring='neg_mean_squared_error',\n", - " cv=3)\n", - "selector.fit(Carseats, Y)\n", - "selector.selected_state_" - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "id": "d3cf3e9b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "dict_keys([(), ('Price',), ('Price', 'UIncome'), ('Advertising', 'Price'), ('Income', 'Price'), ('Price', 'ShelveLoc'), ('Price', 'Urban'), ('Price', 'ShelveLoc', 'UIncome'), ('Advertising', 'Price', 'ShelveLoc'), ('Income', 'Price', 'ShelveLoc'), ('Price', 'ShelveLoc', 'Urban'), ('Advertising', 'Price', 'ShelveLoc', 'UIncome'), ('Advertising', 'Income', 'Price', 'ShelveLoc'), ('Advertising', 'Price', 'ShelveLoc', 'Urban'), ('Advertising', 'Income', 'Price', 'ShelveLoc', 'UIncome'), ('Advertising', 'Income', 'Price', 'ShelveLoc', 'Urban')])" - ] - }, - "execution_count": 67, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "selector.results_.keys()" - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "id": "dd43ea7c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{(): -8.055847677297269,\n", - " ('Price',): -6.514630258019962,\n", - " ('Price', 'UIncome'): -6.621654905418576,\n", - " ('Advertising', 'Price'): -5.825225309857156,\n", - " ('Income', 'Price'): -6.455432795910743,\n", - " ('Price', 'ShelveLoc'): -3.780183168075897,\n", - " ('Price', 'Urban'): -6.5430157266926114,\n", - " ('Price', 'ShelveLoc', 'UIncome'): -3.6938729706475004,\n", - " ('Advertising', 'Price', 'ShelveLoc'): -3.2067316025050645,\n", - " ('Income', 'Price', 'ShelveLoc'): -3.634698914456587,\n", - " ('Price', 'ShelveLoc', 'Urban'): -3.776148947585277,\n", - " ('Advertising', 'Price', 'ShelveLoc', 'UIncome'): -3.1240961493998642,\n", - " ('Advertising', 'Income', 'Price', 'ShelveLoc'): -3.0801704971796244,\n", - " ('Advertising', 'Price', 'ShelveLoc', 'Urban'): -3.207569489139369,\n", - " ('Advertising',\n", - " 'Income',\n", - " 'Price',\n", - " 'ShelveLoc',\n", - " 'UIncome'): -3.1048826894036115,\n", - " ('Advertising', 'Income', 'Price', 'ShelveLoc', 'Urban'): -3.0867130108677423}" - ] - }, - "execution_count": 68, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "selector.results_" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "id": "7c026f0a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('Advertising', 'Income', 'Price', 'ShelveLoc')" - ] - }, - "execution_count": 69, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "selector.selected_state_" - ] - }, - { - "cell_type": "markdown", - "id": "b4b89d04", - "metadata": {}, - "source": [ - "### Enforcing constraints\n", - "\n", - "In models with interactions, we may often want to impose constraints on interactions and main effects.\n", - "This can be achieved here by use of a `validator` that checks whether a given model is valid.\n", - "\n", - "Suppose we want to have the following constraint: `ShelveLoc` may not be in the model unless\n", - "`Price` is in the following model." - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "id": "1c1e31d0", - "metadata": {}, - "outputs": [], - "source": [ - "design = ModelSpec(['Price', \n", - " 'Advertising', \n", - " 'Income',\n", - " 'ShelveLoc']).fit(Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "be929807", - "metadata": {}, - "source": [ - "The constraints are described with a boolean matrix with `(i,j)` as `j` is a child of `i`: so `j` should not\n", - "be in the model when `i` is not and enforced with a callable `validator` that evaluates each candidate state.\n", - "\n", - "Both `min_max_strategy` and `step_strategy` accept a `validator` argument." - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "id": "c075b1b7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "dict_keys([(), ('Price',), ('Advertising',), ('Income',), ('Price', 'Advertising'), ('Price', 'Income'), ('Price', 'ShelveLoc'), ('Advertising', 'Income'), ('Price', 'Advertising', 'Income'), ('Price', 'Advertising', 'ShelveLoc'), ('Price', 'Income', 'ShelveLoc'), ('Price', 'Advertising', 'Income', 'ShelveLoc')])" - ] - }, - "execution_count": 71, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from ISLP.models.strategy import validator_from_constraints\n", - "constraints = np.zeros((4, 4))\n", - "constraints[0,3] = 1\n", - "strategy = min_max(design,\n", - " min_terms=0,\n", - " max_terms=4,\n", - " validator=validator_from_constraints(design,\n", - " constraints))\n", - "selector = FeatureSelector(LinearRegression(fit_intercept=False),\n", - " strategy,\n", - " scoring='neg_mean_squared_error',\n", - " cv=3)\n", - "selector.fit(Carseats, Y)\n", - "selector.results_.keys()" - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "id": "3472d47c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('Price', 'Advertising', 'Income', 'ShelveLoc')" - ] - }, - "execution_count": 72, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "selector.selected_state_" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "id": "5d2c82b9", - "metadata": {}, - "outputs": [], - "source": [ - "Hitters=load_data('Hitters')" - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "id": "4b2ac2c2", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['AtBat', 'Hits', 'HmRun', 'Runs', 'RBI', 'Walks', 'Years', 'CAtBat',\n", - " 'CHits', 'CHmRun', 'CRuns', 'CRBI', 'CWalks', 'League', 'Division',\n", - " 'PutOuts', 'Assists', 'Errors', 'Salary', 'NewLeague'],\n", - " dtype='object')" - ] - }, - "execution_count": 74, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Hitters.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "id": "bd2ad0dd", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "dict_keys([(), ('AtBat',), ('Hits',), ('HmRun',), ('Runs',), ('RBI',), ('Walks',), ('Years',), ('CAtBat',), ('CHits',), ('CHmRun',), ('CRuns',), ('CRBI',), ('CWalks',), ('League',), ('Division',), ('PutOuts',), ('Assists',), ('Errors',), ('NewLeague',), ('AtBat', 'CRBI'), ('CRBI', 'Hits'), ('CRBI', 'HmRun'), ('CRBI', 'Runs'), ('CRBI', 'RBI'), ('CRBI', 'Walks'), ('CRBI', 'Years'), ('CAtBat', 'CRBI'), ('CHits', 'CRBI'), ('CHmRun', 'CRBI'), ('CRBI', 'CRuns'), ('CRBI', 'CWalks'), ('CRBI', 'League'), ('CRBI', 'Division'), ('CRBI', 'PutOuts'), ('Assists', 'CRBI'), ('CRBI', 'Errors'), ('CRBI', 'NewLeague'), ('AtBat', 'CRBI', 'Hits'), ('CRBI', 'Hits', 'HmRun'), ('CRBI', 'Hits', 'Runs'), ('CRBI', 'Hits', 'RBI'), ('CRBI', 'Hits', 'Walks'), ('CRBI', 'Hits', 'Years'), ('CAtBat', 'CRBI', 'Hits'), ('CHits', 'CRBI', 'Hits'), ('CHmRun', 'CRBI', 'Hits'), ('CRBI', 'CRuns', 'Hits'), ('CRBI', 'CWalks', 'Hits'), ('CRBI', 'Hits', 'League'), ('CRBI', 'Division', 'Hits'), ('CRBI', 'Hits', 'PutOuts'), ('Assists', 'CRBI', 'Hits'), ('CRBI', 'Errors', 'Hits'), ('CRBI', 'Hits', 'NewLeague'), ('AtBat', 'CRBI', 'Hits', 'PutOuts'), ('CRBI', 'Hits', 'HmRun', 'PutOuts'), ('CRBI', 'Hits', 'PutOuts', 'Runs'), ('CRBI', 'Hits', 'PutOuts', 'RBI'), ('CRBI', 'Hits', 'PutOuts', 'Walks'), ('CRBI', 'Hits', 'PutOuts', 'Years'), ('CAtBat', 'CRBI', 'Hits', 'PutOuts'), ('CHits', 'CRBI', 'Hits', 'PutOuts'), ('CHmRun', 'CRBI', 'Hits', 'PutOuts'), ('CRBI', 'CRuns', 'Hits', 'PutOuts'), ('CRBI', 'CWalks', 'Hits', 'PutOuts'), ('CRBI', 'Hits', 'League', 'PutOuts'), ('CRBI', 'Division', 'Hits', 'PutOuts'), ('Assists', 'CRBI', 'Hits', 'PutOuts'), ('CRBI', 'Errors', 'Hits', 'PutOuts'), ('CRBI', 'Hits', 'NewLeague', 'PutOuts'), ('AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts'), ('CRBI', 'Division', 'Hits', 'HmRun', 'PutOuts'), ('CRBI', 'Division', 'Hits', 'PutOuts', 'Runs'), ('CRBI', 'Division', 'Hits', 'PutOuts', 'RBI'), ('CRBI', 'Division', 'Hits', 'PutOuts', 'Walks'), ('CRBI', 'Division', 'Hits', 'PutOuts', 'Years'), ('CAtBat', 'CRBI', 'Division', 'Hits', 'PutOuts'), ('CHits', 'CRBI', 'Division', 'Hits', 'PutOuts'), ('CHmRun', 'CRBI', 'Division', 'Hits', 'PutOuts'), ('CRBI', 'CRuns', 'Division', 'Hits', 'PutOuts'), ('CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts'), ('CRBI', 'Division', 'Hits', 'League', 'PutOuts'), ('Assists', 'CRBI', 'Division', 'Hits', 'PutOuts'), ('CRBI', 'Division', 'Errors', 'Hits', 'PutOuts'), ('CRBI', 'Division', 'Hits', 'NewLeague', 'PutOuts'), ('AtBat', 'CRBI', 'Division', 'Hits', 'HmRun', 'PutOuts'), ('AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts', 'Runs'), ('AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts', 'RBI'), ('AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts', 'Years'), ('AtBat', 'CAtBat', 'CRBI', 'Division', 'Hits', 'PutOuts'), ('AtBat', 'CHits', 'CRBI', 'Division', 'Hits', 'PutOuts'), ('AtBat', 'CHmRun', 'CRBI', 'Division', 'Hits', 'PutOuts'), ('AtBat', 'CRBI', 'CRuns', 'Division', 'Hits', 'PutOuts'), ('AtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts'), ('AtBat', 'CRBI', 'Division', 'Hits', 'League', 'PutOuts'), ('Assists', 'AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts'), ('AtBat', 'CRBI', 'Division', 'Errors', 'Hits', 'PutOuts'), ('AtBat', 'CRBI', 'Division', 'Hits', 'NewLeague', 'PutOuts'), ('AtBat', 'CRBI', 'Division', 'Hits', 'HmRun', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts', 'Runs', 'Walks'), ('AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts', 'RBI', 'Walks'), ('AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts', 'Walks', 'Years'), ('AtBat', 'CAtBat', 'CRBI', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CHits', 'CRBI', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CHmRun', 'CRBI', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CRuns', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'Division', 'Hits', 'League', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CRBI', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'Division', 'Errors', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'Division', 'Hits', 'NewLeague', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'HmRun', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Runs', 'Walks'), ('AtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts', 'RBI', 'Walks'), ('AtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks', 'Years'), ('AtBat', 'CAtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CHits', 'CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CHmRun', 'CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CWalks', 'Division', 'Errors', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CWalks', 'Division', 'Hits', 'NewLeague', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'HmRun', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Runs', 'Walks'), ('AtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'RBI', 'Walks'), ('AtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks', 'Years'), ('AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'NewLeague', 'PutOuts', 'Walks'), ('AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'HmRun', 'PutOuts', 'Walks'), ('AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Runs', 'Walks'), ('AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'RBI', 'Walks'), ('AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks', 'Years'), ('AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CAtBat', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'PutOuts', 'Walks'), ('AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'NewLeague', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'HmRun', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'RBI', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks', 'Years'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'NewLeague', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'HmRun', 'League', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'RBI', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Walks', 'Years'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'League', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'NewLeague', 'PutOuts', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'HmRun', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'RBI', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Runs', 'Walks', 'Years'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Hits', 'League', 'NewLeague', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'League', 'PutOuts', 'RBI', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'League', 'PutOuts', 'Runs', 'Walks', 'Years'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'League', 'NewLeague', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'RBI', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'Runs', 'Walks', 'Years'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'NewLeague', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'RBI', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'Runs', 'Walks', 'Years'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'NewLeague', 'PutOuts', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'RBI', 'Runs', 'Walks', 'Years'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'PutOuts', 'RBI', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'NewLeague', 'PutOuts', 'RBI', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'NewLeague', 'PutOuts', 'RBI', 'Runs', 'Walks', 'Years'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'NewLeague', 'PutOuts', 'RBI', 'Runs', 'Walks'), ('Assists', 'AtBat', 'CAtBat', 'CHits', 'CHmRun', 'CRBI', 'CRuns', 'CWalks', 'Division', 'Errors', 'Hits', 'HmRun', 'League', 'NewLeague', 'PutOuts', 'RBI', 'Runs', 'Walks', 'Years')])" - ] - }, - "execution_count": 75, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Hitters = Hitters.dropna()\n", - "Y=Hitters['Salary']\n", - "X=Hitters.drop('Salary', axis=1)\n", - "design = ModelSpec(X.columns).fit(X)\n", - "strategy = Stepwise.first_peak(design,\n", - " direction='forward',\n", - " min_terms=0,\n", - " max_terms=19)\n", - "selector = FeatureSelector(LinearRegression(fit_intercept=False),\n", - " strategy,\n", - " scoring='neg_mean_squared_error', cv=None)\n", - "selector.fit(X, Y)\n", - "selector.results_.keys()" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "id": "31788748", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "19" - ] - }, - "execution_count": 76, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "len(selector.selected_state_)" - ] - }, - { - "cell_type": "code", - "execution_count": 77, - "id": "e97d80c3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "19" - ] - }, - "execution_count": 77, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "len(X.columns)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a71f0332", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Start: AIC=3215.77\n", - "Salary ~ 1\n", - "\n", - " Df Sum of Sq RSS AIC\n", - "+ CRBI 1 17139434 36179679 3115.8\n", - "+ CRuns 1 16881162 36437951 3117.6\n", - "+ CHits 1 16065140 37253973 3123.5\n", - "+ CAtBat 1 14759710 38559403 3132.5\n", - "+ CHmRun 1 14692193 38626920 3133.0\n", - "+ CWalks 1 12792622 40526491 3145.6\n", - "+ RBI 1 10771083 42548030 3158.4\n", - "+ Walks 1 10504833 42814280 3160.1\n", - "+ Hits 1 10260491 43058621 3161.6\n", - "+ Runs 1 9399158 43919955 3166.8\n", - "+ Years 1 8559105 44760007 3171.7\n", - "+ AtBat 1 8309469 45009644 3173.2\n", - "+ HmRun 1 6273967 47045145 3184.8\n", - "+ PutOuts 1 4814100 48505013 3192.9\n", - "+ Division 1 1976102 51343011 3207.8\n", - " 53319113 3215.8\n", - "+ Assists 1 34497 53284615 3217.6\n", - "+ League 1 10876 53308237 3217.7\n", - "+ Errors 1 1555 53317558 3217.8\n", - "+ NewLeague 1 428 53318684 3217.8\n", - "\n", - "Step: AIC=3115.78\n", - "Salary ~ CRBI\n", - "\n", - " Df Sum of Sq RSS AIC\n", - "+ Hits 1 5533119 30646560 3074.1\n", - "+ Runs 1 5176532 31003147 3077.2\n", - "+ Walks 1 4199733 31979946 3085.3\n", - "+ AtBat 1 4064585 32115095 3086.4\n", - "+ RBI 1 3308272 32871407 3092.6\n", - "+ PutOuts 1 3267035 32912644 3092.9\n", - "+ Division 1 1733887 34445793 3104.9\n", - "+ Years 1 1667339 34512340 3105.4\n", - "+ HmRun 1 1271587 34908092 3108.4\n", - "+ CRuns 1 354561 35825119 3115.2\n", - "+ Assists 1 346020 35833659 3115.2\n", - " 36179679 3115.8\n", - "+ Errors 1 194403 35985276 3116.4\n", - "+ CAtBat 1 92261 36087418 3117.1\n", - "+ CHits 1 75469 36104210 3117.2\n", - "+ CWalks 1 51974 36127705 3117.4\n", - "+ NewLeague 1 17778 36161901 3117.7\n", - "+ League 1 11825 36167855 3117.7\n", - "+ CHmRun 1 515 36179165 3117.8\n", - "\n", - "Step: AIC=3074.13\n", - "Salary ~ CRBI + Hits\n", - "\n", - " Df Sum of Sq RSS AIC\n", - "+ PutOuts 1 1397263 29249297 3063.8\n", - "+ Division 1 1279275 29367285 3064.9\n", - "+ AtBat 1 821767 29824793 3069.0\n", - "+ Walks 1 781767 29864793 3069.3\n", - "+ Years 1 254910 30391650 3073.9\n", - " 30646560 3074.1\n", - "+ League 1 208880 30437680 3074.3\n", - "+ CRuns 1 132614 30513946 3075.0\n", - "+ NewLeague 1 118474 30528086 3075.1\n", - "+ Runs 1 114198 30532362 3075.1\n", - "+ Errors 1 99776 30546784 3075.3\n", - "+ CAtBat 1 83517 30563043 3075.4\n", - "+ Assists 1 44781 30601779 3075.7\n", - "+ CWalks 1 23668 30622892 3075.9\n", - "+ CHmRun 1 4790 30641769 3076.1\n", - "+ CHits 1 4358 30642202 3076.1\n", - "+ HmRun 1 2173 30644387 3076.1\n", - "+ RBI 1 1137 30645423 3076.1\n", - "\n", - "Step: AIC=3063.85\n", - "Salary ~ CRBI + Hits + PutOuts\n", - "\n", - " Df Sum of Sq RSS AIC\n", - "+ Division 1 1278445 27970852 3054.1\n", - "+ AtBat 1 1009933 28239364 3056.6\n", - "+ Walks 1 539490 28709807 3061.0\n", - "+ CRuns 1 273649 28975648 3063.4\n", - " 29249297 3063.8\n", - "+ Years 1 136906 29112391 3064.6\n", - "+ League 1 122841 29126456 3064.8\n", - "+ Runs 1 117930 29131367 3064.8\n", - "+ Errors 1 97244 29152053 3065.0\n", - "+ NewLeague 1 57839 29191458 3065.3\n", - "+ CHits 1 35096 29214201 3065.5\n", - "+ RBI 1 33965 29215331 3065.6\n", - "+ HmRun 1 31227 29218070 3065.6\n", - "+ CWalks 1 28572 29220725 3065.6\n", - "+ CAtBat 1 20518 29228779 3065.7\n", - "+ Assists 1 1681 29247616 3065.8\n", - "+ CHmRun 1 1419 29247878 3065.8\n", - "\n", - "Step: AIC=3054.1\n", - "Salary ~ CRBI + Hits + PutOuts + Division\n", - "\n", - " Df Sum of Sq RSS AIC\n", - "+ AtBat 1 820952 27149899 3048.3\n", - "+ Walks 1 491584 27479268 3051.4\n", - " 27970852 3054.1\n", - "+ CRuns 1 193604 27777248 3054.3\n", - "+ Years 1 166845 27804007 3054.5\n", - "+ League 1 110628 27860224 3055.1\n", - "+ Errors 1 81385 27889467 3055.3\n", - "+ Runs 1 65921 27904931 3055.5\n", - "+ RBI 1 53719 27917133 3055.6\n", - "+ NewLeague 1 52275 27918577 3055.6\n", - "+ CHits 1 33863 27936989 3055.8\n", - "+ HmRun 1 26390 27944462 3055.8\n", - "+ CAtBat 1 18751 27952101 3055.9\n", - "+ CWalks 1 5723 27965129 3056.0\n", - "+ Assists 1 1036 27969816 3056.1\n", - "+ CHmRun 1 165 27970687 3056.1\n", - "\n", - "Step: AIC=3048.26\n", - "Salary ~ CRBI + Hits + PutOuts + Division + AtBat\n", - "\n", - " Df Sum of Sq RSS AIC\n", - "+ Walks 1 954996 26194904 3040.8\n", - "+ Years 1 253362 26896537 3047.8\n", - "+ Runs 1 208743 26941157 3048.2\n", - " 27149899 3048.3\n", - "+ CRuns 1 185825 26964075 3048.5\n", - "+ League 1 95986 27053913 3049.3\n", - "+ NewLeague 1 52693 27097206 3049.8\n", - "+ CHmRun 1 43173 27106726 3049.8\n", - "+ Assists 1 28898 27121001 3050.0\n", - "+ CAtBat 1 20989 27128910 3050.1\n", - "+ CWalks 1 15599 27134301 3050.1\n", - "+ Errors 1 6265 27143634 3050.2\n", - "+ CHits 1 5305 27144594 3050.2\n", - "+ RBI 1 1236 27148663 3050.2\n", - "+ HmRun 1 11 27149888 3050.3\n", - "\n", - "Step: AIC=3040.85\n", - "Salary ~ CRBI + Hits + PutOuts + Division + AtBat + Walks\n", - "\n", - " Df Sum of Sq RSS AIC\n", - "+ CWalks 1 240687 25954217 3040.4\n", - " 26194904 3040.8\n", - "+ Years 1 184508 26010396 3041.0\n", - "+ CRuns 1 110695 26084209 3041.7\n", - "+ League 1 77974 26116930 3042.1\n", - "+ Assists 1 75782 26119122 3042.1\n", - "+ NewLeague 1 40909 26153995 3042.4\n", - "+ CHits 1 37304 26157599 3042.5\n", - "+ RBI 1 11728 26183176 3042.7\n", - "+ HmRun 1 4747 26190157 3042.8\n", - "+ Errors 1 2727 26192177 3042.8\n", - "+ CAtBat 1 2630 26192274 3042.8\n", - "+ CHmRun 1 943 26193961 3042.8\n", - "+ Runs 1 37 26194867 3042.8\n", - "\n", - "Step: AIC=3040.42\n", - "Salary ~ CRBI + Hits + PutOuts + Division + AtBat + Walks + CWalks\n", - "\n", - " Df Sum of Sq RSS AIC\n", - "+ CRuns 1 794983 25159234 3034.2\n", - "+ CHits 1 273728 25680489 3039.6\n", - " 25954217 3040.4\n", - "+ Assists 1 138506 25815711 3041.0\n", - "+ CAtBat 1 89289 25864929 3041.5\n", - "+ RBI 1 86941 25867276 3041.5\n", - "+ League 1 77159 25877058 3041.6\n", - "+ Years 1 70126 25884091 3041.7\n", - "+ NewLeague 1 37807 25916410 3042.0\n", - "+ HmRun 1 33601 25920616 3042.1\n", - "+ CHmRun 1 9034 25945183 3042.3\n", - "+ Errors 1 6928" - ] - } - ], - "source": [ - "%%R -i Hitters\n", - "step(lm(Salary ~ 1, data=Hitters), scope=list(upper=lm(Salary ~ ., data=Hitters)), direction='forward', trace=TRUE)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6117f650", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "536a8bc3", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bddc13c5", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { @@ -2726,9 +262,9 @@ "formats": "source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb" }, "kernelspec": { - "display_name": "python3", + "display_name": "islp_test", "language": "python", - "name": "python3" + "name": "islp_test" }, "language_info": { "codemirror_mode": { diff --git a/docs/source/models/spec.ipynb b/docs/source/models/spec.ipynb index 1ea45d2..fce6b32 100644 --- a/docs/source/models/spec.ipynb +++ b/docs/source/models/spec.ipynb @@ -31,7 +31,7 @@ "from ISLP.models import (ModelSpec,\n", " summarize,\n", " Column,\n", - " Variable,\n", + " Feature,\n", " build_columns)\n", "\n", "import statsmodels.api as sm" @@ -257,7 +257,7 @@ "metadata": {}, "source": [ "We note that a column has been added for the intercept by default. This can be changed using the\n", - "`intercept` argument. " + "`intercept` argument." ] }, { @@ -391,7 +391,7 @@ "in the column space of the design matrix.\n", "\n", "To include this intercept via `ShelveLoc` we can use 3 columns to encode this categorical variable. Following the nomenclature of\n", - "`R`, we call this a `Contrast` of the categorical variable. " + "`R`, we call this a `Contrast` of the categorical variable." ] }, { @@ -938,7 +938,7 @@ "\n", "The first argument to `ModelSpec` is stored as the `terms` attribute. Under the hood,\n", "this sequence is inspected to produce the `terms_` attribute which specify the objects\n", - "that will ultimately create the design matrix. " + "that will ultimately create the design matrix." ] }, { @@ -950,8 +950,8 @@ { "data": { "text/plain": [ - "[Variable(variables=('ShelveLoc',), name='ShelveLoc', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False),\n", - " Variable(variables=('Price',), name='Price', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False)]" + "[Feature(variables=('ShelveLoc',), name='ShelveLoc', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False),\n", + " Feature(variables=('Price',), name='Price', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False)]" ] }, "execution_count": 13, @@ -970,7 +970,7 @@ "id": "warming-mobile", "metadata": {}, "source": [ - "Each element of `terms_` should be a `Variable` which describes a set of columns to be extracted from\n", + "Each element of `terms_` should be a `Feature` which describes a set of columns to be extracted from\n", "a columnar data form as well as possible a possible encoder." ] }, @@ -1126,17 +1126,17 @@ "id": "former-spring", "metadata": {}, "source": [ - "### `Variable` objects\n", + "### `Feature` objects\n", "\n", - "Note that `Variable` objects have a tuple of `variables` as well as an `encoder` attribute. The\n", + "Note that `Feature` objects have a tuple of `variables` as well as an `encoder` attribute. The\n", "tuple of `variables` first creates a concatenated dataframe from all corresponding variables and then\n", - "is run through `encoder.transform`. The `encoder.fit` method of each `Variable` is run once during \n", + "is run through `encoder.transform`. The `encoder.fit` method of each `Feature` is run once during \n", "the call to `ModelSpec.fit`." ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 18, "id": "floral-liabilities", "metadata": {}, "outputs": [ @@ -1255,15 +1255,13 @@ "[400 rows x 3 columns]" ] }, - "execution_count": 16, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "from ISLP.models.model_spec import Variable\n", - "\n", - "new_var = Variable(('Price', 'Income', 'OIncome'), name='mynewvar', encoder=None)\n", + "new_var = Feature(('Price', 'Income', 'OIncome'), name='mynewvar', encoder=None)\n", "build_columns(MS.column_info_,\n", " Carseats, \n", " new_var)[0]" @@ -1280,7 +1278,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 20, "id": "imported-measure", "metadata": {}, "outputs": [ @@ -1387,7 +1385,7 @@ "[400 rows x 2 columns]" ] }, - "execution_count": 17, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -1396,7 +1394,7 @@ "from sklearn.decomposition import PCA\n", "pca = PCA(n_components=2)\n", "pca.fit(build_columns(MS.column_info_, Carseats, new_var)[0]) # this is done within `ModelSpec.fit`\n", - "pca_var = Variable(('Price', 'Income', 'OIncome'), name='mynewvar', encoder=pca)\n", + "pca_var = Feature(('Price', 'Income', 'OIncome'), name='mynewvar', encoder=pca)\n", "build_columns(MS.column_info_,\n", " Carseats, \n", " pca_var)[0]" @@ -1408,12 +1406,12 @@ "metadata": {}, "source": [ "The elements of the `variables` attribute may be column identifiers ( `\"Price\"`), `Column` instances (`price`)\n", - "or `Variable` instances (`pca_var`)." + "or `Feature` instances (`pca_var`)." ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 21, "id": "western-bloom", "metadata": {}, "outputs": [ @@ -1544,14 +1542,14 @@ "[400 rows x 4 columns]" ] }, - "execution_count": 18, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "price = MS.column_info_['Price']\n", - "fancy_var = Variable(('Income', price, pca_var), name='fancy', encoder=None)\n", + "fancy_var = Feature(('Income', price, pca_var), name='fancy', encoder=None)\n", "build_columns(MS.column_info_,\n", " Carseats, \n", " fancy_var)[0]" @@ -1567,7 +1565,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 22, "id": "6efed2fa-9e5d-429c-a8d9-ac544cab2b41", "metadata": {}, "outputs": [ @@ -1580,7 +1578,7 @@ "dtype: float64" ] }, - "execution_count": 19, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -1604,7 +1602,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 23, "id": "8784b0e8-ce53-4a90-aee6-b935834295c7", "metadata": {}, "outputs": [ @@ -1614,7 +1612,7 @@ "array([10.70130676, 10.307465 ])" ] }, - "execution_count": 20, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -1660,7 +1658,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 24, "id": "4fec9030-7445-48be-a15f-2ac5a789e717", "metadata": {}, "outputs": [ @@ -1676,7 +1674,7 @@ " [ 1., 120., 37.]])" ] }, - "execution_count": 21, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -1689,7 +1687,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 25, "id": "c864e365-2476-4ca6-9d27-625cac2b2271", "metadata": {}, "outputs": [ @@ -1702,7 +1700,7 @@ "dtype: float64" ] }, - "execution_count": 22, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -1729,7 +1727,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 26, "id": "incredible-concert", "metadata": {}, "outputs": [ @@ -1763,7 +1761,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 27, "id": "stunning-container", "metadata": {}, "outputs": [ @@ -1781,7 +1779,7 @@ "array([10.70130676, 10.307465 ])" ] }, - "execution_count": 24, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -1790,7 +1788,7 @@ "new_D = np.array([[40,50], [np.nan, np.nan], [10,20]]).T\n", "new_X = MS_np.transform(new_D)\n", "print(new_X)\n", - "M_ols.get_prediction(new_X).predicted_mean\n" + "M_ols.get_prediction(new_X).predicted_mean" ] }, { @@ -1805,10 +1803,10 @@ ], "metadata": { "jupytext": { - "formats": "ipynb" + "formats": "source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb" }, "kernelspec": { - "display_name": "python3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -1822,7 +1820,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.13" + "version": "3.10.10" } }, "nbformat": 4, diff --git a/docs/source/models/submodels.ipynb b/docs/source/models/submodels.ipynb deleted file mode 100644 index 825bedd..0000000 --- a/docs/source/models/submodels.ipynb +++ /dev/null @@ -1,3127 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "ee33d364", - "metadata": {}, - "source": [ - "# Building design matrices with `ModelSpec`\n", - "\n", - "Force rebuild" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "4c70fbaa", - "metadata": {}, - "outputs": [], - "source": [ - "x=4\n", - "import numpy as np, pandas as pd\n", - "%load_ext rpy2.ipython\n", - "\n", - "from ISLP import load_data\n", - "from ISLP.models import ModelSpec\n", - "\n", - "import statsmodels.api as sm" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "8a708215", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['Sales', 'CompPrice', 'Income', 'Advertising', 'Population', 'Price',\n", - " 'ShelveLoc', 'Age', 'Education', 'Urban', 'US'],\n", - " dtype='object')" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats = load_data('Carseats')\n", - "%R -i Carseats\n", - "Carseats.columns" - ] - }, - { - "cell_type": "markdown", - "id": "dad5e991", - "metadata": {}, - "source": [ - "## Let's break up income into groups" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "ac7086a5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 M\n", - "1 L\n", - "2 L\n", - "3 H\n", - "4 M\n", - " ..\n", - "395 H\n", - "396 L\n", - "397 L\n", - "398 M\n", - "399 L\n", - "Name: OIncome, Length: 400, dtype: category\n", - "Categories (3, object): ['L' < 'M' < 'H']" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats['OIncome'] = pd.cut(Carseats['Income'], \n", - " [0,50,90,200], \n", - " labels=['L','M','H'])\n", - "Carseats['OIncome']" - ] - }, - { - "cell_type": "markdown", - "id": "261446c8", - "metadata": {}, - "source": [ - "Let's also create an unordered version" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "674bb806", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 M\n", - "1 L\n", - "2 L\n", - "3 H\n", - "4 M\n", - " ..\n", - "395 H\n", - "396 L\n", - "397 L\n", - "398 M\n", - "399 L\n", - "Name: UIncome, Length: 400, dtype: category\n", - "Categories (3, object): ['L', 'M', 'H']" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats['UIncome'] = pd.cut(Carseats['Income'], \n", - " [0,50,90,200], \n", - " labels=['L','M','H'],\n", - " ordered=False)\n", - "Carseats['UIncome']" - ] - }, - { - "cell_type": "markdown", - "id": "8f030039", - "metadata": {}, - "source": [ - "## A simple model" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "40cd6c28", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Price', 'Income'], dtype='object')" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Price', 'Income'])\n", - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "e65f5607", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 12.661546\n", - "Price -0.052213\n", - "Income 0.012829\n", - "dtype: float64" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Y = Carseats['Sales']\n", - "M = sm.OLS(Y, X).fit()\n", - "M.params" - ] - }, - { - "cell_type": "markdown", - "id": "29d9b55f", - "metadata": {}, - "source": [ - "## Basic procedure\n", - "\n", - "The design matrix is built by cobbling together a set of columns and possibly transforming them.\n", - "A `pd.DataFrame` is essentially a list of columns. One of the first tasks done in `ModelSpec.fit`\n", - "is to inspect a dataframe for column info. The column `ShelveLoc` is categorical:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "cfbe5b92", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 Bad\n", - "1 Good\n", - "2 Medium\n", - "3 Medium\n", - "4 Bad\n", - " ... \n", - "395 Good\n", - "396 Medium\n", - "397 Medium\n", - "398 Bad\n", - "399 Good\n", - "Name: ShelveLoc, Length: 400, dtype: category\n", - "Categories (3, object): ['Bad', 'Good', 'Medium']" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats['ShelveLoc']" - ] - }, - { - "cell_type": "markdown", - "id": "7092f666", - "metadata": {}, - "source": [ - "This is recognized by `ModelSpec` in the form of `Column` objects which are just named tuples with two methods\n", - "`get_columns` and `fit_encoder`." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "e2d43844", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='ShelveLoc', name='ShelveLoc', is_categorical=True, is_ordinal=False, columns=('ShelveLoc[Good]', 'ShelveLoc[Medium]'), encoder=Contrast())" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.column_info_['ShelveLoc']" - ] - }, - { - "cell_type": "markdown", - "id": "46a01612", - "metadata": {}, - "source": [ - "It recognized ordinal columns as well." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "465a9326", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='OIncome', name='OIncome', is_categorical=True, is_ordinal=True, columns=('OIncome',), encoder=OrdinalEncoder())" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.column_info_['OIncome']" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "76f8480d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([ 73, 48, 35, 100]), ('Income',))" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "income = design.column_info_['Income']\n", - "cols, names = income.get_columns(Carseats)\n", - "(cols[:4], names)" - ] - }, - { - "cell_type": "markdown", - "id": "25fcc1de", - "metadata": {}, - "source": [ - "## Encoding a column\n", - "\n", - "In building a design matrix we must extract columns from our dataframe (or `np.ndarray`). Categorical\n", - "variables usually are encoded by several columns, typically one less than the number of categories.\n", - "This task is handled by the `encoder` of the `Column`. The encoder must satisfy the `sklearn` transform\n", - "model, i.e. `fit` on some array and `transform` on future arrays. The `fit_encoder` method of `Column` fits\n", - "its encoder the first time data is passed to it." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "dfe6cc35", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([[0., 0.],\n", - " [1., 0.],\n", - " [0., 1.],\n", - " [0., 1.]]),\n", - " ['ShelveLoc[Good]', 'ShelveLoc[Medium]'])" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "shelve = design.column_info_['ShelveLoc']\n", - "cols, names = shelve.get_columns(Carseats)\n", - "(cols[:4], names)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "8fc9779a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[2.],\n", - " [1.],\n", - " [1.],\n", - " [0.]])" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "oincome = design.column_info_['OIncome']\n", - "oincome.get_columns(Carseats)[0][:4]" - ] - }, - { - "cell_type": "markdown", - "id": "8e04da60", - "metadata": {}, - "source": [ - "## The terms\n", - "\n", - "The design matrix consists of several sets of columns. This is managed by the `ModelSpec` through\n", - "the `terms` argument which should be a sequence. The elements of `terms` are often\n", - "going to be strings (or tuples of strings for interactions, see below) but are converted to a\n", - "`Variable` object and stored in the `terms_` of the fitted `ModelSpec`. A `Variable` is just a named tuple." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "c579dbce", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['Price', 'Income']" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.terms" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "4587b8bd", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Variable(variables=('Price',), name='Price', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False),\n", - " Variable(variables=('Income',), name='Income', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False)]" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.terms_" - ] - }, - { - "cell_type": "markdown", - "id": "2595f0fa", - "metadata": {}, - "source": [ - "While each `Column` can itself extract data, they are all promoted to `Variable` to be of a uniform type. A\n", - "`Variable` can also create columns through the `build_columns` method of `ModelSpec`" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "03bd9366", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( Price\n", - " 0 120\n", - " 1 83\n", - " 2 80\n", - " 3 97\n", - " 4 128\n", - " .. ...\n", - " 395 128\n", - " 396 120\n", - " 397 159\n", - " 398 95\n", - " 399 120\n", - " \n", - " [400 rows x 1 columns],\n", - " ['Price'])" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "price = design.terms_[0]\n", - "design.build_columns(Carseats, price)" - ] - }, - { - "cell_type": "markdown", - "id": "de04ca48", - "metadata": {}, - "source": [ - "Note that `Variable` objects have a tuple of `variables` as well as an `encoder` attribute. The\n", - "tuple of `variables` first creates a concatenated dataframe from all corresponding variables and then\n", - "is run through `encoder.transform`. The `encoder.fit` method of each `Variable` is run once during \n", - "the call to `ModelSpec.fit`." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "a42af4c5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( Price Income UIncome[L] UIncome[M]\n", - " 0 120.0 73.0 0.0 1.0\n", - " 1 83.0 48.0 1.0 0.0\n", - " 2 80.0 35.0 1.0 0.0\n", - " 3 97.0 100.0 0.0 0.0\n", - " 4 128.0 64.0 0.0 1.0\n", - " .. ... ... ... ...\n", - " 395 128.0 108.0 0.0 0.0\n", - " 396 120.0 23.0 1.0 0.0\n", - " 397 159.0 26.0 1.0 0.0\n", - " 398 95.0 79.0 0.0 1.0\n", - " 399 120.0 37.0 1.0 0.0\n", - " \n", - " [400 rows x 4 columns],\n", - " ['Price', 'Income', 'UIncome[L]', 'UIncome[M]'])" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from ISLP.models.model_spec import Variable\n", - "\n", - "new_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=None)\n", - "design.build_columns(Carseats, new_var)" - ] - }, - { - "cell_type": "markdown", - "id": "b146d0c0", - "metadata": {}, - "source": [ - "Let's now transform these columns with an encoder. Within `ModelSpec` we will first build the\n", - "arrays above and then call `pca.fit` and finally `pca.transform` within `design.build_columns`." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "b6c394a6", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "( mynewvar[0] mynewvar[1]\n", - " 0 -3.608693 -4.853177\n", - " 1 15.081506 35.708630\n", - " 2 27.422871 40.774250\n", - " 3 -33.973209 13.470489\n", - " 4 6.567316 -11.290100\n", - " .. ... ...\n", - " 395 -36.846346 -18.415783\n", - " 396 45.741500 3.245602\n", - " 397 49.097533 -35.725355\n", - " 398 -13.577772 18.845139\n", - " 399 31.927566 0.978436\n", - " \n", - " [400 rows x 2 columns],\n", - " ['mynewvar[0]', 'mynewvar[1]'])" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from sklearn.decomposition import PCA\n", - "pca = PCA(n_components=2)\n", - "pca.fit(design.build_columns(Carseats, new_var)[0]) # this is done within `ModelSpec.fit`\n", - "pca_var = Variable(('Price', 'Income', 'UIncome'), name='mynewvar', encoder=pca)\n", - "design.build_columns(Carseats, pca_var)" - ] - }, - { - "cell_type": "markdown", - "id": "3bb30a3f", - "metadata": {}, - "source": [ - "The elements of the `variables` attribute may be column identifiers ( `\"Price\"`), `Column` instances (`price`)\n", - "or `Variable` instances (`pca_var`)." - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "ea7770ff", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "( Price Price mynewvar[0] mynewvar[1]\n", - " 0 120.0 120.0 -3.608693 -4.853177\n", - " 1 83.0 83.0 15.081506 35.708630\n", - " 2 80.0 80.0 27.422871 40.774250\n", - " 3 97.0 97.0 -33.973209 13.470489\n", - " 4 128.0 128.0 6.567316 -11.290100\n", - " .. ... ... ... ...\n", - " 395 128.0 128.0 -36.846346 -18.415783\n", - " 396 120.0 120.0 45.741500 3.245602\n", - " 397 159.0 159.0 49.097533 -35.725355\n", - " 398 95.0 95.0 -13.577772 18.845139\n", - " 399 120.0 120.0 31.927566 0.978436\n", - " \n", - " [400 rows x 4 columns],\n", - " ['Price', 'Price', 'mynewvar[0]', 'mynewvar[1]'])" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "fancy_var = Variable(('Price', price, pca_var), name='fancy', encoder=None)\n", - "design.build_columns(Carseats, fancy_var)" - ] - }, - { - "cell_type": "markdown", - "id": "b2b4a01a", - "metadata": {}, - "source": [ - "We can of course run PCA again on these features (if we wanted)." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "21ad8b44", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "( fancy_pca[0] fancy_pca[1]\n", - " 0 -6.951792 4.859283\n", - " 1 55.170148 -24.694875\n", - " 2 59.418556 -38.033572\n", - " 3 34.722389 28.922184\n", - " 4 -21.419184 -3.120673\n", - " .. ... ...\n", - " 395 -18.257348 40.760122\n", - " 396 -10.546709 -45.021658\n", - " 397 -77.706359 -37.174379\n", - " 398 36.668694 7.730851\n", - " 399 -9.540535 -31.059122\n", - " \n", - " [400 rows x 2 columns],\n", - " ['fancy_pca[0]', 'fancy_pca[1]'])" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pca2 = PCA(n_components=2)\n", - "pca2.fit(design.build_columns(Carseats, fancy_var)[0]) # this is done within `ModelSpec.fit`\n", - "pca2_var = Variable(('Price', price, pca_var), name='fancy_pca', encoder=pca2)\n", - "design.build_columns(Carseats, pca2_var)" - ] - }, - { - "cell_type": "markdown", - "id": "2262377d", - "metadata": {}, - "source": [ - "## Building the design matrix\n", - "\n", - "With these notions in mind, the final design is essentially then" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "1654ca47", - "metadata": {}, - "outputs": [], - "source": [ - "X_hand = np.column_stack([design.build_columns(Carseats, v)[0] for v in design.terms_])[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "1db0e0a9", - "metadata": {}, - "source": [ - "An intercept column is added if `design.intercept` is `True` and if the original argument to `transform` is\n", - "a dataframe the index is adjusted accordingly." - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "d20e8ea8", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.intercept" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "450fe910", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
interceptPriceIncome
01.012073
11.08348
21.08035
31.097100
\n", - "
" - ], - "text/plain": [ - " intercept Price Income\n", - "0 1.0 120 73\n", - "1 1.0 83 48\n", - "2 1.0 80 35\n", - "3 1.0 97 100" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.transform(Carseats)[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "0705ba6f", - "metadata": {}, - "source": [ - "## Predicting\n", - "\n", - "Constructing the design matrix at any values is carried out by the `transform` method." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "866c2863", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([12.65257604, 12.25873428])" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "new_data = pd.DataFrame({'Price':[10,20], 'Income':[40, 50]})\n", - "new_X = design.transform(new_data)\n", - "M.get_prediction(new_X).predicted_mean" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "f2021166", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 0 1 \n", - "12.65258 12.25873 \n" - ] - } - ], - "source": [ - "%%R -i new_data,Carseats\n", - "predict(lm(Sales ~ Price + Income, data=Carseats), new_data)" - ] - }, - { - "cell_type": "markdown", - "id": "20e1a31a", - "metadata": {}, - "source": [ - "### Difference between using `pd.DataFrame` and `np.ndarray`\n", - "\n", - "If the `terms` only refer to a few columns of the data frame, the `transform` method only needs a dataframe with those columns.\n", - "\n", - "If we had used an `np.ndarray`, the column identifiers would be integers identifying specific columns so,\n", - "in order to work correctly, `transform` would need another `np.ndarray` where the columns have the same meaning." - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "a5926ec9", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[1.0, 120, 73],\n", - " [1.0, 83, 48],\n", - " [1.0, 80, 35],\n", - " [1.0, 97, 100]], dtype=object)" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Carseats_np = np.asarray(Carseats[['Price', 'ShelveLoc', 'US', 'Income']])\n", - "design_np = ModelSpec([0,3]).fit(Carseats_np)\n", - "design_np.transform(Carseats_np)[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "997a63cb", - "metadata": {}, - "source": [ - "The following will fail for hopefully obvious reasons" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "40410c48", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "shapes (2,2) and (3,) not aligned: 2 (dim 1) != 3 (dim 0)\n" - ] - } - ], - "source": [ - "try:\n", - " new_D = np.zeros((2,2))\n", - " new_D[:,0] = [10,20]\n", - " new_D[:,1] = [40,50]\n", - " M.get_prediction(new_D).predicted_mean\n", - "except ValueError as e:\n", - " print(e)" - ] - }, - { - "cell_type": "markdown", - "id": "920203e9", - "metadata": {}, - "source": [ - "Ultimately, `M` expects 3 columns for new predictions because it was fit\n", - "with a matrix having 3 columns (the first representing an intercept).\n", - "\n", - "We might be tempted to try as with the `pd.DataFrame` and produce\n", - "an `np.ndarray` with only the necessary variables." - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "1061da77", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "index 3 is out of bounds for axis 1 with size 2\n" - ] - } - ], - "source": [ - "try:\n", - " new_X = np.zeros((2,2))\n", - " new_X[:,0] = [10,20]\n", - " new_X[:,1] = [40,50]\n", - " new_D = design_np.transform(new_X)\n", - " M.get_prediction(new_D).predicted_mean\n", - "except IndexError as e:\n", - " print(e)" - ] - }, - { - "cell_type": "markdown", - "id": "c6bfe001", - "metadata": {}, - "source": [ - "This fails because `design_np` is looking for column `3` from its `terms`:" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "5ae6d25f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Variable(variables=(0,), name='0', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False),\n", - " Variable(variables=(3,), name='3', encoder=None, use_transform=True, pure_columns=True, override_encoder_colnames=False)]" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design_np.terms_" - ] - }, - { - "cell_type": "markdown", - "id": "edd7ebeb", - "metadata": {}, - "source": [ - "However, if we have an `np.ndarray` in which the first column indeed represents `Price` and the fourth indeed\n", - "represents `Income` then we can arrive at the correct answer by supplying such the array to `design_np.transform`:" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "9455e532", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([12.65257604, 12.25873428])" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "new_X = np.zeros((2,4))\n", - "new_X[:,0] = [10,20]\n", - "new_X[:,3] = [40,50]\n", - "new_D = design_np.transform(new_X)\n", - "M.get_prediction(new_D).predicted_mean" - ] - }, - { - "cell_type": "markdown", - "id": "fd726791", - "metadata": {}, - "source": [ - "Given this subtlety about needing to supply arrays with identical column structure to `transform` when\n", - "using `np.ndarray` we presume that using a `pd.DataFrame` will be the more popular use case." - ] - }, - { - "cell_type": "markdown", - "id": "967d9ebc", - "metadata": {}, - "source": [ - "## A model with some categorical variables\n", - "\n", - "Categorical variables become `Column` instances with encoders." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "d0429b56", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='UIncome', name='UIncome', is_categorical=True, is_ordinal=False, columns=('UIncome[L]', 'UIncome[M]'), encoder=Contrast())" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Population', 'Price', 'UIncome', 'ShelveLoc']).fit(Carseats)\n", - "design.column_info_['UIncome']" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "415e3fd0", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Population', 'Price', 'UIncome[L]', 'UIncome[M]',\n", - " 'ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " dtype='object')" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "8a99c3a5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 11.876012\n", - "Population 0.001163\n", - "Price -0.055725\n", - "UIncome[L] -1.042297\n", - "UIncome[M] -0.119123\n", - "ShelveLoc[Good] 4.999623\n", - "ShelveLoc[Medium] 1.964278\n", - "dtype: float64" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "9250a28a", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) Population Price UIncomeM UIncomeH \n", - " 10.83371503 0.00116301 -0.05572469 0.92317388 1.04229679 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.99962319 1.96427771 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "fe90c12c", - "metadata": {}, - "source": [ - "## Getting the encoding you want\n", - "\n", - "By default the level dropped by `ModelSpec` will be the first of the `categories_` values from \n", - "`sklearn.preprocessing.OneHotEncoder()`. We might wish to change this. It seems\n", - "as if the correct way to do this would be something like `Variable(('UIncome',), 'mynewencoding', new_encoder)`\n", - "where `new_encoder` would somehow drop the column we want dropped. \n", - "\n", - "However, when using the convenient identifier `UIncome` in the `variables` argument, this maps to the `Column` associated to `UIncome` within `design.column_info_`:" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "0546ec84", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Column(idx='UIncome', name='UIncome', is_categorical=True, is_ordinal=False, columns=('UIncome[L]', 'UIncome[M]'), encoder=Contrast())" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.column_info_['UIncome']" - ] - }, - { - "cell_type": "markdown", - "id": "6ec4fe65", - "metadata": {}, - "source": [ - "This column already has an encoder and `Column` instances are immutable as named tuples. Further, there are times when \n", - "we may want to encode `UIncome` differently within the same model. In the model below the main effect of `UIncome` is encoded with two columns while in the interaction `UIncome` (see below) has three columns. This is a design of interest\n", - "and we need a way to allow different encodings of the same column of `Carseats`" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "61e7f56e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ UIncome:ShelveLoc + UIncome, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) UIncomeM UIncomeH \n", - " 5.1317 0.1151 1.1561 \n", - " UIncomeL:ShelveLocGood UIncomeM:ShelveLocGood UIncomeH:ShelveLocGood \n", - " 4.5121 5.5752 3.7381 \n", - "UIncomeL:ShelveLocMedium UIncomeM:ShelveLocMedium UIncomeH:ShelveLocMedium \n", - " 1.2473 2.4782 1.5141 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "802ed854", - "metadata": {}, - "source": [ - " We can create a new \n", - "`Column` with the encoder we want. For categorical variables, there is a convenience function to do so." - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "82d7a01d", - "metadata": {}, - "outputs": [], - "source": [ - "from ISLP.models.model_spec import contrast\n", - "pref_encoding = contrast('UIncome', 'drop', 'L')" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "e26849a1", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( UIncome[M] UIncome[H]\n", - " 0 1.0 0.0\n", - " 1 0.0 0.0\n", - " 2 0.0 0.0\n", - " 3 0.0 1.0\n", - " 4 1.0 0.0\n", - " .. ... ...\n", - " 395 0.0 1.0\n", - " 396 0.0 0.0\n", - " 397 0.0 0.0\n", - " 398 1.0 0.0\n", - " 399 0.0 0.0\n", - " \n", - " [400 rows x 2 columns],\n", - " ['UIncome[M]', 'UIncome[H]'])" - ] - }, - "execution_count": 37, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.build_columns(Carseats, pref_encoding)" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "2fc4cd8c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['intercept', 'Population', 'Price', 'UIncome[M]', 'UIncome[H]',\n", - " 'ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " dtype='object')" - ] - }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['Population', 'Price', pref_encoding, 'ShelveLoc']).fit(Carseats)\n", - "X = design.fit_transform(Carseats)\n", - "X.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "49e33d41", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 10.833715\n", - "Population 0.001163\n", - "Price -0.055725\n", - "UIncome[M] 0.923174\n", - "UIncome[H] 1.042297\n", - "ShelveLoc[Good] 4.999623\n", - "ShelveLoc[Medium] 1.964278\n", - "dtype: float64" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "ce018fdf", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) Population Price UIncomeM UIncomeH \n", - " 10.83371503 0.00116301 -0.05572469 0.92317388 1.04229679 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.99962319 1.96427771 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ Population + Price + UIncome + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "2d42b822", - "metadata": {}, - "source": [ - "## Interactions\n", - "\n", - "We've referred to interactions above. These are specified (by convenience) as tuples in the `terms` argument\n", - "to `ModelSpec`." - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "id": "fbb3e3ba", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 7.866634\n", - "UIncome[L]:ShelveLoc[Good] 4.512054\n", - "UIncome[L]:ShelveLoc[Medium] 1.247275\n", - "UIncome[M]:ShelveLoc[Good] 5.575170\n", - "UIncome[M]:ShelveLoc[Medium] 2.478163\n", - "UIncome[L] -2.734895\n", - "UIncome[M] -2.619745\n", - "dtype: float64" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([('UIncome', 'ShelveLoc'), 'UIncome'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "markdown", - "id": "f9a7d4ad", - "metadata": {}, - "source": [ - "The tuples in `terms` are converted to `Variable` in the formalized `terms_` attribute by creating a `Variable` with\n", - "`variables` set to the tuple and the encoder an `Interaction` encoder which (unsurprisingly) creates the interaction columns from the concatenated data frames of `UIncome` and `ShelveLoc`." - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "id": "5a6f8e69", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Variable(variables=('UIncome', 'ShelveLoc'), name='UIncome:ShelveLoc', encoder=Interaction(column_names={'ShelveLoc': ['ShelveLoc[Good]', 'ShelveLoc[Medium]'],\n", - " 'UIncome': ['UIncome[L]', 'UIncome[M]']},\n", - " columns={'ShelveLoc': range(2, 4), 'UIncome': range(0, 2)},\n", - " variables=['UIncome', 'ShelveLoc']), use_transform=True, pure_columns=False, override_encoder_colnames=False)" - ] - }, - "execution_count": 42, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design.terms_[0]" - ] - }, - { - "cell_type": "markdown", - "id": "98eef5c8", - "metadata": {}, - "source": [ - "Comparing this to the previous `R` model." - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "58c99601", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ UIncome:ShelveLoc + UIncome, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) UIncomeM UIncomeH \n", - " 5.1317 0.1151 1.1561 \n", - " UIncomeL:ShelveLocGood UIncomeM:ShelveLocGood UIncomeH:ShelveLocGood \n", - " 4.5121 5.5752 3.7381 \n", - "UIncomeL:ShelveLocMedium UIncomeM:ShelveLocMedium UIncomeH:ShelveLocMedium \n", - " 1.2473 2.4782 1.5141 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "9c979d7e", - "metadata": {}, - "source": [ - "We note a few important things:\n", - "\n", - "1. `R` has reorganized the columns of the design from the formula: although we wrote `UIncome:ShelveLoc` first these\n", - "columns have been built later. **`ModelSpec` builds columns in the order determined by `terms`!**\n", - "\n", - "2. As noted above, `R` has encoded `UIncome` differently in the main effect and in the interaction. For `ModelSpec`, the reference to `UIncome` always refers to the column in `design.column_info_` and will always build only the columns for `L` and `M`. **`ModelSpec` does no inspection of terms to decide how to encode categorical variables.**\n", - "\n", - "A few notes:\n", - "\n", - "- **Why not try to inspect the terms?** For any nontrivial formula in `R` with several categorical variables and interactions, predicting what columns will be produced from a given formula is not simple. **`ModelSpec` errs on the side of being explicit.**\n", - "\n", - "- **Is it impossible to build the design as `R` has?** No. An advanced user who *knows* they want the columns built as `R` has can do so (fairly) easily." - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "id": "0cb3b63a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "( UIncome[H] UIncome[L] UIncome[M]\n", - " 0 0.0 0.0 1.0\n", - " 1 0.0 1.0 0.0\n", - " 2 0.0 1.0 0.0\n", - " 3 1.0 0.0 0.0\n", - " 4 0.0 0.0 1.0\n", - " .. ... ... ...\n", - " 395 1.0 0.0 0.0\n", - " 396 0.0 1.0 0.0\n", - " 397 0.0 1.0 0.0\n", - " 398 0.0 0.0 1.0\n", - " 399 0.0 1.0 0.0\n", - " \n", - " [400 rows x 3 columns],\n", - " ['UIncome[H]', 'UIncome[L]', 'UIncome[M]'])" - ] - }, - "execution_count": 44, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "full_encoding = contrast('UIncome', None)\n", - "design.build_columns(Carseats, full_encoding)" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "id": "272098d7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 5.131739\n", - "UIncome[M] 0.115150\n", - "UIncome[H] 1.156118\n", - "UIncome[H]:ShelveLoc[Good] 3.738052\n", - "UIncome[H]:ShelveLoc[Medium] 1.514104\n", - "UIncome[L]:ShelveLoc[Good] 4.512054\n", - "UIncome[L]:ShelveLoc[Medium] 1.247275\n", - "UIncome[M]:ShelveLoc[Good] 5.575170\n", - "UIncome[M]:ShelveLoc[Medium] 2.478163\n", - "dtype: float64" - ] - }, - "execution_count": 45, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([pref_encoding, (full_encoding, 'ShelveLoc')])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "markdown", - "id": "fe05c471", - "metadata": {}, - "source": [ - "## Special encodings\n", - "\n", - "For flexible models, we may want to consider transformations of features, i.e. polynomial\n", - "or spline transformations. Given transforms that follow the `fit/transform` paradigm\n", - "we can of course achieve this with a `Column` and an `encoder`. The `ISLP.transforms`\n", - "package includes a `Poly` transform" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "id": "67062299", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Variable(variables=('Income',), name='poly(Income, 3, )', encoder=Poly(degree=3), use_transform=True, pure_columns=False, override_encoder_colnames=True)" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from ISLP.models.model_spec import poly\n", - "poly('Income', 3)" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "id": "df5e5b4d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 5.440077\n", - "poly(Income, 3, )[0] 10.036373\n", - "poly(Income, 3, )[1] -2.799156\n", - "poly(Income, 3, )[2] 2.399601\n", - "ShelveLoc[Good] 4.808133\n", - "ShelveLoc[Medium] 1.889533\n", - "dtype: float64" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([poly('Income', 3), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "markdown", - "id": "01be9c13", - "metadata": {}, - "source": [ - "Compare:" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "3244d6f6", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) poly(Income, 3)1 poly(Income, 3)2 poly(Income, 3)3 \n", - " 5.440077 10.036373 -2.799156 2.399601 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.808133 1.889533 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ poly(Income, 3) + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "8ad5bb1d", - "metadata": {}, - "source": [ - "## Splines\n", - "\n", - "Support for natural and B-splines is also included" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "id": "6a6f4358", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 4.240421\n", - "ns(Income, , df=5)[0] 1.468196\n", - "ns(Income, , df=5)[1] 1.499471\n", - "ns(Income, , df=5)[2] 1.152070\n", - "ns(Income, , df=5)[3] 2.418398\n", - "ns(Income, , df=5)[4] 1.804460\n", - "ShelveLoc[Good] 4.810449\n", - "ShelveLoc[Medium] 1.881095\n", - "dtype: float64" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from ISLP.models.model_spec import ns, bs, pca\n", - "design = ModelSpec([ns('Income', df=5), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "id": "fb740953", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) ns(Income, df = 5)1 ns(Income, df = 5)2 ns(Income, df = 5)3 \n", - " 4.240421 1.468196 1.499471 1.152070 \n", - "ns(Income, df = 5)4 ns(Income, df = 5)5 ShelveLocGood ShelveLocMedium \n", - " 2.418398 1.804460 4.810449 1.881095 \n" - ] - } - ], - "source": [ - "%%R\n", - "library(splines)\n", - "lm(Sales ~ ns(Income, df=5) + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "id": "fe1bf7fe", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 3.495085\n", - "bs(Income, , df=7, degree=2)[0] 1.813118\n", - "bs(Income, , df=7, degree=2)[1] 0.961852\n", - "bs(Income, , df=7, degree=2)[2] 2.471545\n", - "bs(Income, , df=7, degree=2)[3] 2.158891\n", - "bs(Income, , df=7, degree=2)[4] 2.091625\n", - "bs(Income, , df=7, degree=2)[5] 2.600669\n", - "bs(Income, , df=7, degree=2)[6] 2.843108\n", - "ShelveLoc[Good] 4.804919\n", - "ShelveLoc[Medium] 1.880337\n", - "dtype: float64" - ] - }, - "execution_count": 51, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([bs('Income', df=7, degree=2), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "id": "86e966e0", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (Intercept) bs(Income, df = 7, degree = 2)1 \n", - " 3.4950851 1.8131176 \n", - "bs(Income, df = 7, degree = 2)2 bs(Income, df = 7, degree = 2)3 \n", - " 0.9618523 2.4715450 \n", - "bs(Income, df = 7, degree = 2)4 bs(Income, df = 7, degree = 2)5 \n", - " 2.1588908 2.0916252 \n", - "bs(Income, df = 7, degree = 2)6 bs(Income, df = 7, degree = 2)7 \n", - " 2.6006694 2.8431084 \n", - " ShelveLocGood ShelveLocMedium \n", - " 4.8049190 1.8803375 \n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ bs(Income, df=7, degree=2) + ShelveLoc, data=Carseats)$coef" - ] - }, - { - "cell_type": "markdown", - "id": "877d4784", - "metadata": {}, - "source": [ - "## PCA" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "id": "8ba6cb20", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but PCA was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "intercept 5.419405\n", - "pca(myvars, , n_components=2)[0] -0.001131\n", - "pca(myvars, , n_components=2)[1] -0.024217\n", - "ShelveLoc[Good] 4.816253\n", - "ShelveLoc[Medium] 1.924139\n", - "dtype: float64" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([pca(['Income', \n", - " 'Price', \n", - " 'Advertising', \n", - " 'Population'], \n", - " n_components=2, \n", - " name='myvars'), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "id": "f0319e51", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ prcomp(cbind(Income, Price, Advertising, \n", - " Population))$x[, 1:2] + ShelveLoc, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) \n", - " 5.419405 \n", - "prcomp(cbind(Income, Price, Advertising, Population))$x[, 1:2]PC1 \n", - " 0.001131 \n", - "prcomp(cbind(Income, Price, Advertising, Population))$x[, 1:2]PC2 \n", - " -0.024217 \n", - " ShelveLocGood \n", - " 4.816253 \n", - " ShelveLocMedium \n", - " 1.924139 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ prcomp(cbind(Income, Price, Advertising, Population))$x[,1:2] + ShelveLoc, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "1f55086a", - "metadata": {}, - "source": [ - "It is of course common to scale before running PCA." - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "id": "bbe9e004", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n", - "/Users/jonathantaylor/miniconda3/envs/islp_test/lib/python3.9/site-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "intercept 5.352159\n", - "pca(myvars, , n_components=2)[0] 0.446383\n", - "pca(myvars, , n_components=2)[1] -1.219788\n", - "ShelveLoc[Good] 4.922780\n", - "ShelveLoc[Medium] 2.005617\n", - "dtype: float64" - ] - }, - "execution_count": 55, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([pca(['Income', \n", - " 'Price', \n", - " 'Advertising', \n", - " 'Population'], \n", - " n_components=2, \n", - " name='myvars',\n", - " scale=True), 'ShelveLoc'])\n", - "X = design.fit_transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "id": "d78c02e4", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ prcomp(cbind(Income, Price, Advertising, \n", - " Population), scale = TRUE)$x[, 1:2] + ShelveLoc, data = Carseats)\n", - "\n", - "Coefficients:\n", - " (Intercept) \n", - " 5.3522 \n", - "prcomp(cbind(Income, Price, Advertising, Population), scale = TRUE)$x[, 1:2]PC1 \n", - " 0.4469 \n", - "prcomp(cbind(Income, Price, Advertising, Population), scale = TRUE)$x[, 1:2]PC2 \n", - " -1.2213 \n", - " ShelveLocGood \n", - " 4.9228 \n", - " ShelveLocMedium \n", - " 2.0056 \n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "lm(Sales ~ prcomp(cbind(Income, Price, Advertising, Population), scale=TRUE)$x[,1:2] + ShelveLoc, data=Carseats)" - ] - }, - { - "cell_type": "markdown", - "id": "8a03c603", - "metadata": {}, - "source": [ - "There will be some small differences in the coefficients due to `sklearn` use of `np.std(ddof=0)` instead\n", - "of `np.std(ddof=1)`." - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "id": "f8215cef", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 0.44694166, -1.22131519])" - ] - }, - "execution_count": 57, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.array(sm.OLS(Y, X).fit().params)[1:3] * np.sqrt(X.shape[0] / (X.shape[0]-1))" - ] - }, - { - "cell_type": "markdown", - "id": "a15d0ead", - "metadata": {}, - "source": [ - "## Submodels\n", - "\n", - "We can build submodels as well, even if the terms do not appear in the original `terms` argument.\n", - "Fundamentally, the terms just need to be able to have the `design.build_columns` work for us to be\n", - "able to build a design matrix. The initial inspection of the columns of `Carseats` has created\n", - "a column for `US`, hence we can build this submodel." - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "id": "d58c6244", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
interceptUS[Yes]
01.01.0
11.01.0
21.01.0
31.01.0
41.00.0
.........
3951.01.0
3961.01.0
3971.01.0
3981.01.0
3991.01.0
\n", - "

400 rows × 2 columns

\n", - "
" - ], - "text/plain": [ - " intercept US[Yes]\n", - "0 1.0 1.0\n", - "1 1.0 1.0\n", - "2 1.0 1.0\n", - "3 1.0 1.0\n", - "4 1.0 0.0\n", - ".. ... ...\n", - "395 1.0 1.0\n", - "396 1.0 1.0\n", - "397 1.0 1.0\n", - "398 1.0 1.0\n", - "399 1.0 1.0\n", - "\n", - "[400 rows x 2 columns]" - ] - }, - "execution_count": 58, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec(['UIncome', 'ShelveLoc', 'Price']).fit(Carseats)\n", - "design.build_submodel(Carseats, ['US'])" - ] - }, - { - "cell_type": "markdown", - "id": "9365ba27", - "metadata": {}, - "source": [ - "## ANOVA \n", - "\n", - "For a given `terms` argument, there as a natural sequence of models, namely those specified by `[terms[:i] for i in range(len(terms)+1]`." - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "id": "332ab454", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Index(['intercept'], dtype='object')\n", - "Index(['intercept', 'ShelveLoc[Good]', 'ShelveLoc[Medium]'], dtype='object')\n", - "Index(['intercept', 'ShelveLoc[Good]', 'ShelveLoc[Medium]', 'Price'], dtype='object')\n", - "Index(['intercept', 'ShelveLoc[Good]', 'ShelveLoc[Medium]', 'Price',\n", - " 'UIncome[L]', 'UIncome[M]'],\n", - " dtype='object')\n", - "Index(['intercept', 'ShelveLoc[Good]', 'ShelveLoc[Medium]', 'Price',\n", - " 'UIncome[L]', 'UIncome[M]', 'US[Yes]'],\n", - " dtype='object')\n" - ] - } - ], - "source": [ - "design = ModelSpec(['ShelveLoc', 'Price', 'UIncome', 'US']).fit(Carseats)\n", - "for D in design.build_sequence(Carseats):\n", - " print(D.columns)" - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "id": "f6cfd031", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
df_residssrdf_diffss_diffFPr(>F)
0399.03182.2746980.0NaNNaNNaN
1397.02172.7435552.01009.531143153.0108585.452815e-50
2396.01455.6407021.0717.102853217.3771921.583751e-39
3394.01378.9159382.076.72476411.6288851.239031e-05
4393.01296.4627001.082.45323824.9942578.678832e-07
\n", - "
" - ], - "text/plain": [ - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 399.0 3182.274698 0.0 NaN NaN NaN\n", - "1 397.0 2172.743555 2.0 1009.531143 153.010858 5.452815e-50\n", - "2 396.0 1455.640702 1.0 717.102853 217.377192 1.583751e-39\n", - "3 394.0 1378.915938 2.0 76.724764 11.628885 1.239031e-05\n", - "4 393.0 1296.462700 1.0 82.453238 24.994257 8.678832e-07" - ] - }, - "execution_count": 60, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.stats.anova_lm(*(sm.OLS(Y, D).fit() for D in design.build_sequence(Carseats) ))" - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "id": "11c4aee8", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Analysis of Variance Table\n", - "\n", - "Response: Sales\n", - " Df Sum Sq Mean Sq F value Pr(>F) \n", - "ShelveLoc 2 1009.53 504.77 153.011 < 2.2e-16 ***\n", - "Price 1 717.10 717.10 217.377 < 2.2e-16 ***\n", - "UIncome 2 76.72 38.36 11.629 1.240e-05 ***\n", - "US 1 82.45 82.45 24.994 8.679e-07 ***\n", - "Residuals 393 1296.46 3.30 \n", - "---\n", - "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n" - ] - } - ], - "source": [ - "%%R\n", - "anova(lm(Sales ~ ShelveLoc + Price + UIncome + US, data=Carseats))" - ] - }, - { - "cell_type": "markdown", - "id": "9a4e6e63", - "metadata": {}, - "source": [ - "Recall that `ModelSpec` does not inspect `terms` to reorder based on degree of \n", - "interaction as `R` does:" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "id": "6e7bf361", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
df_residssrdf_diffss_diffFPr(>F)
0399.03182.2746980.0NaNNaNNaN
1393.02059.3764136.01122.89828435.9400471.175738e-34
2391.02036.0445962.023.3318172.2403101.077900e-01
\n", - "
" - ], - "text/plain": [ - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 399.0 3182.274698 0.0 NaN NaN NaN\n", - "1 393.0 2059.376413 6.0 1122.898284 35.940047 1.175738e-34\n", - "2 391.0 2036.044596 2.0 23.331817 2.240310 1.077900e-01" - ] - }, - "execution_count": 62, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([(full_encoding, 'ShelveLoc'), pref_encoding]).fit(Carseats)\n", - "sm.stats.anova_lm(*(sm.OLS(Y, D).fit() for D in design.build_sequence(Carseats) ))" - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "id": "ed7d4bfa", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Analysis of Variance Table\n", - "\n", - "Response: Sales\n", - " Df Sum Sq Mean Sq F value Pr(>F) \n", - "UIncome 2 61.92 30.962 5.9458 0.002859 ** \n", - "UIncome:ShelveLoc 6 1084.31 180.718 34.7049 < 2.2e-16 ***\n", - "Residuals 391 2036.04 5.207 \n", - "---\n", - "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n" - ] - } - ], - "source": [ - "%%R\n", - "anova(lm(Sales ~ UIncome:ShelveLoc + UIncome, data=Carseats))" - ] - }, - { - "cell_type": "markdown", - "id": "0350da34", - "metadata": {}, - "source": [ - "To agree with `R` we must order `terms` as `R` will." - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "id": "5ddaf87c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
df_residssrdf_diffss_diffFPr(>F)
0399.03182.2746980.0NaNNaNNaN
1397.03120.3513822.061.9233165.9458462.855424e-03
2391.02036.0445966.01084.30678534.7048681.346561e-33
\n", - "
" - ], - "text/plain": [ - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 399.0 3182.274698 0.0 NaN NaN NaN\n", - "1 397.0 3120.351382 2.0 61.923316 5.945846 2.855424e-03\n", - "2 391.0 2036.044596 6.0 1084.306785 34.704868 1.346561e-33" - ] - }, - "execution_count": 64, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "design = ModelSpec([pref_encoding, (full_encoding, 'ShelveLoc')]).fit(Carseats)\n", - "sm.stats.anova_lm(*(sm.OLS(Y, D).fit() for D in design.build_sequence(Carseats)))" - ] - }, - { - "cell_type": "markdown", - "id": "1ef70ce3", - "metadata": {}, - "source": [ - "## More complicated interactions\n", - "\n", - "Can we have an interaction of a polynomial effect with a categorical? Absolutely" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "id": "a1a14742", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Analysis of Variance Table\n", - "\n", - "Response: Sales\n", - " Df Sum Sq Mean Sq F value Pr(>F) \n", - "UIncome 2 61.92 30.9617 4.0310 0.01851 *\n", - "UIncome:poly(Income, 3) 9 79.72 8.8581 1.1533 0.32408 \n", - "UIncome:US 3 83.51 27.8367 3.6242 0.01324 *\n", - "Residuals 385 2957.12 7.6808 \n", - "---\n", - "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n" - ] - } - ], - "source": [ - "%%R\n", - "anova(lm(Sales ~ UIncome + poly(Income, 3):UIncome + UIncome:US, data=Carseats))" - ] - }, - { - "cell_type": "markdown", - "id": "a909be1a", - "metadata": {}, - "source": [ - "To match `R` we note that it has used its inspection rules to encode `UIncome` with 3 levels\n", - "for the two interactions." - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "id": "ae286cf3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 65.978856\n", - "UIncome[M] -60.159607\n", - "UIncome[H] -147.276154\n", - "poly(Income, 3, )[0]:UIncome[H] 1957.694387\n", - "poly(Income, 3, )[0]:UIncome[L] 1462.060650\n", - "poly(Income, 3, )[0]:UIncome[M] 83.035153\n", - "poly(Income, 3, )[1]:UIncome[H] -984.494570\n", - "poly(Income, 3, )[1]:UIncome[L] 881.537647\n", - "poly(Income, 3, )[1]:UIncome[M] -18.006234\n", - "poly(Income, 3, )[2]:UIncome[H] 207.614692\n", - "poly(Income, 3, )[2]:UIncome[L] 217.190749\n", - "poly(Income, 3, )[2]:UIncome[M] 34.065434\n", - "UIncome[H]:US 0.903404\n", - "UIncome[L]:US 0.895538\n", - "UIncome[M]:US 1.048728\n", - "dtype: float64" - ] - }, - "execution_count": 66, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "p3 = poly('Income', 3)\n", - "design = ModelSpec([pref_encoding, (p3, full_encoding), (full_encoding, 'US')]).fit(Carseats)\n", - "X = design.transform(Carseats)\n", - "sm.OLS(Y, X).fit().params" - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "id": "236ab2d2", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
df_residssrdf_diffss_diffFPr(>F)
0399.03182.2746980.0NaNNaNNaN
1397.03120.3513822.061.9233164.0310320.018488
2388.03040.6285599.079.7228231.1532730.324049
3385.02957.1184443.083.5101153.6241810.013244
\n", - "
" - ], - "text/plain": [ - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 399.0 3182.274698 0.0 NaN NaN NaN\n", - "1 397.0 3120.351382 2.0 61.923316 4.031032 0.018488\n", - "2 388.0 3040.628559 9.0 79.722823 1.153273 0.324049\n", - "3 385.0 2957.118444 3.0 83.510115 3.624181 0.013244" - ] - }, - "execution_count": 67, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.stats.anova_lm(*(sm.OLS(Y, D).fit() for D in design.build_sequence(Carseats)))" - ] - }, - { - "cell_type": "markdown", - "id": "0a45c720", - "metadata": {}, - "source": [ - "## Grouping columns for ANOVA\n", - "\n", - "The `Variable` construct can be used to group\n", - "variables together to get custom sequences of models for `anova_lm`." - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "id": "f36c1b3b", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Index(['intercept'], dtype='object')\n", - "Index(['intercept', 'Price', 'UIncome[M]', 'UIncome[H]'], dtype='object')\n", - "Index(['intercept', 'Price', 'UIncome[M]', 'UIncome[H]', 'US[Yes]',\n", - " 'Advertising'],\n", - " dtype='object')\n" - ] - } - ], - "source": [ - "group1 = Variable(('Price', pref_encoding), 'group1', None)\n", - "group2 = Variable(('US', 'Advertising'), 'group2', None)\n", - "design = ModelSpec([group1, group2]).fit(Carseats)\n", - "for D in design.build_sequence(Carseats):\n", - " print(D.columns)" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "id": "3daf7638", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
df_residssrdf_diffss_diffFPr(>F)
0399.03182.2746980.0NaNNaNNaN
1396.02508.1877883.0674.08691039.3048412.970412e-22
2394.02252.3963432.0255.79144522.3721356.267562e-10
\n", - "
" - ], - "text/plain": [ - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 399.0 3182.274698 0.0 NaN NaN NaN\n", - "1 396.0 2508.187788 3.0 674.086910 39.304841 2.970412e-22\n", - "2 394.0 2252.396343 2.0 255.791445 22.372135 6.267562e-10" - ] - }, - "execution_count": 69, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sm.stats.anova_lm(*(sm.OLS(Y, D).fit() for D in design.build_sequence(Carseats)))" - ] - }, - { - "cell_type": "markdown", - "id": "46c1ace8", - "metadata": {}, - "source": [ - "It is not clear this is simple to do in `R` as the formula object expands all parentheses." - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "id": "0b87e430", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Analysis of Variance Table\n", - "\n", - "Response: Sales\n", - " Df Sum Sq Mean Sq F value Pr(>F) \n", - "Price 1 630.03 630.03 110.2079 < 2.2e-16 ***\n", - "UIncome 2 44.06 22.03 3.8533 0.02201 * \n", - "US 1 121.88 121.88 21.3196 5.270e-06 ***\n", - "Advertising 1 133.91 133.91 23.4247 1.868e-06 ***\n", - "Residuals 394 2252.40 5.72 \n", - "---\n", - "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n" - ] - } - ], - "source": [ - "%%R\n", - "anova(lm(Sales ~ (Price + UIncome) + (US + Advertising), data=Carseats))" - ] - }, - { - "cell_type": "markdown", - "id": "7c137360", - "metadata": {}, - "source": [ - "It can be done by building up the models\n", - "by hand and likely is possible to be done programmatically but it seems not obvious." - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "id": "b678d323", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Analysis of Variance Table\n", - "\n", - "Model 1: Sales ~ 1\n", - "Model 2: Sales ~ Price + UIncome\n", - "Model 3: Sales ~ Price + UIncome + US + Advertising\n", - " Res.Df RSS Df Sum of Sq F Pr(>F) \n", - "1 399 3182.3 \n", - "2 396 2508.2 3 674.09 39.305 < 2.2e-16 ***\n", - "3 394 2252.4 2 255.79 22.372 6.268e-10 ***\n", - "---\n", - "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n" - ] - } - ], - "source": [ - "%%R\n", - "M1 = lm(Sales ~ 1, data=Carseats)\n", - "M2 = lm(Sales ~ Price + UIncome, data=Carseats)\n", - "M3 = lm(Sales ~ Price + UIncome + US + Advertising, data=Carseats)\n", - "anova(M1, M2, M3)" - ] - }, - { - "cell_type": "markdown", - "id": "b0388949", - "metadata": {}, - "source": [ - "## Alternative anova\n", - "\n", - "Another common ANOVA table involves dropping each term in succession from the model and comparing\n", - "to the full model." - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "id": "ac5b916a", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'intercept'}\n", - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 395.0 4417.273517 0.0 NaN NaN NaN\n", - "1 394.0 2252.396343 1.0 2164.877175 378.690726 1.359177e-59\n", - "{'Price', 'UIncome[H]', 'UIncome[M]'}\n", - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 397.0 2950.808154 0.0 NaN NaN NaN\n", - "1 394.0 2252.396343 3.0 698.411811 40.723184 6.077848e-23\n", - "{'US[Yes]', 'Advertising'}\n", - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 396.0 2508.187788 0.0 NaN NaN NaN\n", - "1 394.0 2252.396343 2.0 255.791445 22.372135 6.267562e-10\n" - ] - } - ], - "source": [ - "Dfull = design.transform(Carseats)\n", - "Mfull = sm.OLS(Y, Dfull).fit()\n", - "for i, D in enumerate(design.build_sequence(Carseats, anova_type='drop')):\n", - " if i == 0:\n", - " D0 = D\n", - " print(set(D.columns) ^ set(Dfull.columns))\n", - " print(sm.stats.anova_lm(sm.OLS(Y, D).fit(), Mfull))" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "id": "a0c71948", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Analysis of Variance Table\n", - "\n", - "Model 1: Sales ~ US + Advertising\n", - "Model 2: Sales ~ Price + UIncome + US + Advertising\n", - " Res.Df RSS Df Sum of Sq F Pr(>F) \n", - "1 397 2950.8 \n", - "2 394 2252.4 3 698.41 40.723 < 2.2e-16 ***\n", - "---\n", - "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n", - "Analysis of Variance Table\n", - "\n", - "Model 1: Sales ~ Price + UIncome\n", - "Model 2: Sales ~ Price + UIncome + US + Advertising\n", - " Res.Df RSS Df Sum of Sq F Pr(>F) \n", - "1 396 2508.2 \n", - "2 394 2252.4 2 255.79 22.372 6.268e-10 ***\n", - "---\n", - "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n" - ] - } - ], - "source": [ - "%%R\n", - "M1 = lm(Sales ~ Price + UIncome + US + Advertising, data=Carseats)\n", - "M2 = lm(Sales ~ US + Advertising, data=Carseats)\n", - "print(anova(M2, M1))\n", - "M3 = lm(Sales ~ Price + UIncome, data=Carseats)\n", - "print(anova(M3, M1))" - ] - }, - { - "cell_type": "markdown", - "id": "a5e4880d", - "metadata": {}, - "source": [ - "The comparison without the intercept here is actually very hard to achieve in `R` with `anova` due to its inspection\n", - "of the formula." - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "id": "4b383401", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Analysis of Variance Table\n", - "\n", - "Model 1: Sales ~ Price + UIncome + US + Advertising - 1\n", - "Model 2: Sales ~ Price + UIncome + US + Advertising\n", - " Res.Df RSS Df Sum of Sq F Pr(>F)\n", - "1 394 2252.4 \n", - "2 394 2252.4 0 9.0949e-13 \n" - ] - } - ], - "source": [ - "%%R\n", - "M1 = lm(Sales ~ Price + UIncome + US + Advertising, data=Carseats)\n", - "M4 = lm(Sales ~ Price + UIncome + US + Advertising - 1, data=Carseats)\n", - "print(anova(M4, M1))" - ] - }, - { - "cell_type": "markdown", - "id": "72d7c83b", - "metadata": {}, - "source": [ - "It can be found with `summary`." - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "id": "4d5ce789", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Call:\n", - "lm(formula = Sales ~ Price + UIncome + US + Advertising, data = Carseats)\n", - "\n", - "Residuals:\n", - " Min 1Q Median 3Q Max \n", - "-7.4437 -1.6351 -0.0932 1.4920 6.8076 \n", - "\n", - "Coefficients:\n", - " Estimate Std. Error t value Pr(>|t|) \n", - "(Intercept) 12.520356 0.643390 19.460 < 2e-16 ***\n", - "Price -0.054000 0.005072 -10.647 < 2e-16 ***\n", - "UIncomeM 0.548906 0.281693 1.949 0.0521 . \n", - "UIncomeH 0.708219 0.322028 2.199 0.0284 * \n", - "USYes 0.024181 0.343246 0.070 0.9439 \n", - "Advertising 0.119509 0.024692 4.840 1.87e-06 ***\n", - "---\n", - "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n", - "\n", - "Residual standard error: 2.391 on 394 degrees of freedom\n", - "Multiple R-squared: 0.2922,\tAdjusted R-squared: 0.2832 \n", - "F-statistic: 32.53 on 5 and 394 DF, p-value: < 2.2e-16\n", - "\n" - ] - } - ], - "source": [ - "%%R\n", - "summary(M1)" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "id": "56b82d02", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(378.690726, 378.69160000000005)" - ] - }, - "execution_count": 76, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "378.690726, 19.46**2" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "872f645c-1d6f-4d08-9eec-2b80276bc82c", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "jupytext": { - "formats": "source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb" - }, - "kernelspec": { - "display_name": "python3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.13" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/source/transforms/PCA.ipynb b/docs/source/transforms/PCA.ipynb index 04c50ad..ec1e0ae 100644 --- a/docs/source/transforms/PCA.ipynb +++ b/docs/source/transforms/PCA.ipynb @@ -24,8 +24,8 @@ "from ISLP import load_data\n", "from ISLP.models import (ModelSpec, \n", " pca, \n", - " Variable, \n", - " derived_variable,\n", + " Feature, \n", + " derived_feature,\n", " build_columns)" ] }, @@ -76,7 +76,7 @@ "id": "fff603bf", "metadata": {}, "source": [ - "Suppose we want to make a `Variable` representing the first 3 principal components of the\n", + "Suppose we want to make a `Feature` representing the first 3 principal components of the\n", " features `['CompPrice', 'Income', 'Advertising', 'Population', 'Price']`." ] }, @@ -85,8 +85,8 @@ "id": "eab49ad1-3957-478f-8a76-28a8f58551e9", "metadata": {}, "source": [ - "We first make a `Variable` that represents these five features columns, then `pca`\n", - "can be used to compute a new `Variable` that returns the first three principal components." + "We first make a `Feature` that represents these five features columns, then `pca`\n", + "can be used to compute a new `Feature` that returns the first three principal components." ] }, { @@ -96,7 +96,7 @@ "metadata": {}, "outputs": [], "source": [ - "grouped = Variable(('CompPrice', 'Income', 'Advertising', 'Population', 'Price'), name='grouped', encoder=None)\n", + "grouped = Feature(('CompPrice', 'Income', 'Advertising', 'Population', 'Price'), name='grouped', encoder=None)\n", "sklearn_pca = PCA(n_components=3, whiten=True)" ] }, @@ -105,7 +105,7 @@ "id": "b45655a3-393d-4b4c-b754-cda61ed0e014", "metadata": {}, "source": [ - "We can now fit `sklearn_pca` and create our new variable." + "We can now fit `sklearn_pca` and create our new feature." ] }, { @@ -119,7 +119,7 @@ " Carseats,\n", " grouped)[0]\n", "sklearn_pca.fit(grouped_features) \n", - "pca_var = derived_variable(['CompPrice', 'Income', 'Advertising', 'Population', 'Price'],\n", + "pca_var = derived_feature(['CompPrice', 'Income', 'Advertising', 'Population', 'Price'],\n", " name='pca(grouped)', encoder=sklearn_pca)\n", "derived_features, _ = build_columns(design.column_info_,\n", " Carseats, \n", diff --git a/docs/source/transforms/poly.ipynb b/docs/source/transforms/poly.ipynb index c2b740b..45c862e 100644 --- a/docs/source/transforms/poly.ipynb +++ b/docs/source/transforms/poly.ipynb @@ -168,7 +168,7 @@ "source": [ "## Underlying model\n", "\n", - "If we look at `quartic`, we see it is a `Variable`, i.e. it can be used to produce a set of columns\n", + "If we look at `quartic`, we see it is a `Feature`, i.e. it can be used to produce a set of columns\n", "in a design matrix when it is a term used in creating the `ModelSpec`.\n", "\n", "Its encoder is `Poly(degree=4)`. This is a special `sklearn` transform that expects a single column\n", From 92d5e0c43a19bec7ea477b09d882172955b288b6 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 12:52:13 -0700 Subject: [PATCH 022/195] update link in readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 71c8065..19757ab 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ The `ISLP` labs use `torch` and various related packages for the lab on deep lea can be found [here](torch_requirements.txt). Alternatively, you can install them directly using `pip` ```{python} -reqs = 'https://raw.githubusercontent.com/jonathan-taylor/ISLP/master/torch_requirements.txt' +reqs = 'https://raw.githubusercontent.com/intro-stat-learning/ISLP/master/torch_requirements.txt' cmd = f'{sys.executable} -m pip install -r {reqs}' os.system(cmd) ``` From 950e2dbeba29d4b8abd0c9431803beab3dc21a75 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 13:25:16 -0700 Subject: [PATCH 023/195] using default_rng if None supplied --- ISLP/survival.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ISLP/survival.py b/ISLP/survival.py index b11967b..c352942 100644 --- a/ISLP/survival.py +++ b/ISLP/survival.py @@ -14,7 +14,7 @@ def sim_time(linpred, cum_hazard, - rng): + rng=None): """ Simulate a survival time for a cumulative hazard function $H$ with cumulative hazard @@ -39,6 +39,9 @@ def sim_time(linpred, Used to generate survival times. """ + if rng is None: + rng = np.random.default_rng() + U = rng.uniform() B = - np.log(U) / np.exp(linpred) lower, upper = 1, 2 From 52983536293a189cd659392d4cff76f45c0a6aed Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 13:29:34 -0700 Subject: [PATCH 024/195] moving tests out of source tree --- ISLP/models/tests/__init__.py | 0 {ISLP/models/tests => tests/models}/test_columns.py | 0 {ISLP/models/tests => tests/models}/test_model_matrix.py | 0 {ISLP/models/tests => tests/models}/test_selection.py | 0 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 ISLP/models/tests/__init__.py rename {ISLP/models/tests => tests/models}/test_columns.py (100%) rename {ISLP/models/tests => tests/models}/test_model_matrix.py (100%) rename {ISLP/models/tests => tests/models}/test_selection.py (100%) diff --git a/ISLP/models/tests/__init__.py b/ISLP/models/tests/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/ISLP/models/tests/test_columns.py b/tests/models/test_columns.py similarity index 100% rename from ISLP/models/tests/test_columns.py rename to tests/models/test_columns.py diff --git a/ISLP/models/tests/test_model_matrix.py b/tests/models/test_model_matrix.py similarity index 100% rename from ISLP/models/tests/test_model_matrix.py rename to tests/models/test_model_matrix.py diff --git a/ISLP/models/tests/test_selection.py b/tests/models/test_selection.py similarity index 100% rename from ISLP/models/tests/test_selection.py rename to tests/models/test_selection.py From 720189f23c336c8efc84f9256d245dd202dd5bba Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 13:35:37 -0700 Subject: [PATCH 025/195] cleanup some packaging issues --- setup.py | 4 +++- {ISLP/bart/tests => tests/bart}/test_bart.py | 0 2 files changed, 3 insertions(+), 1 deletion(-) rename {ISLP/bart/tests => tests/bart}/test_bart.py (100%) diff --git a/setup.py b/setup.py index 95fca7d..568200d 100755 --- a/setup.py +++ b/setup.py @@ -234,9 +234,11 @@ def main(**extra_args): requires=info.REQUIRES, provides=info.PROVIDES, packages = ['ISLP', + 'ISLP.models', 'ISLP.models', 'ISLP.bart', - 'ISLP.torch' + 'ISLP.torch', + 'ISLP.data' ], ext_modules = EXTS, package_data = {"ISLP":["data/*csv", "data/*npy", "data/*data"]}, diff --git a/ISLP/bart/tests/test_bart.py b/tests/bart/test_bart.py similarity index 100% rename from ISLP/bart/tests/test_bart.py rename to tests/bart/test_bart.py From 68a248e35c7f74b46ed6c1d20d34528e3fa1f40e Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 13:47:44 -0700 Subject: [PATCH 026/195] fixing kernel_name --- docs/jupyterbook/models/anova.ipynb | 4 ++-- docs/jupyterbook/models/anova.md | 4 ++-- docs/jupyterbook/models/selection.ipynb | 4 ++-- docs/jupyterbook/models/selection.md | 4 ++-- docs/source/models/anova.ipynb | 4 ++-- docs/source/models/selection.ipynb | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/jupyterbook/models/anova.ipynb b/docs/jupyterbook/models/anova.ipynb index 2bfe2ae..bedd405 100644 --- a/docs/jupyterbook/models/anova.ipynb +++ b/docs/jupyterbook/models/anova.ipynb @@ -611,9 +611,9 @@ "formats": "source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" }, "language_info": { "codemirror_mode": { diff --git a/docs/jupyterbook/models/anova.md b/docs/jupyterbook/models/anova.md index 054ce3e..0e3882b 100644 --- a/docs/jupyterbook/models/anova.md +++ b/docs/jupyterbook/models/anova.md @@ -7,9 +7,9 @@ jupytext: format_version: 0.13 jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # ANOVA using `ModelSpec` diff --git a/docs/jupyterbook/models/selection.ipynb b/docs/jupyterbook/models/selection.ipynb index 0f597af..fd66d95 100644 --- a/docs/jupyterbook/models/selection.ipynb +++ b/docs/jupyterbook/models/selection.ipynb @@ -262,9 +262,9 @@ "formats": "source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" }, "language_info": { "codemirror_mode": { diff --git a/docs/jupyterbook/models/selection.md b/docs/jupyterbook/models/selection.md index 5793852..949ccc1 100644 --- a/docs/jupyterbook/models/selection.md +++ b/docs/jupyterbook/models/selection.md @@ -7,9 +7,9 @@ jupytext: format_version: 0.13 jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Model selection using `ModelSpec` diff --git a/docs/source/models/anova.ipynb b/docs/source/models/anova.ipynb index 2bfe2ae..bedd405 100644 --- a/docs/source/models/anova.ipynb +++ b/docs/source/models/anova.ipynb @@ -611,9 +611,9 @@ "formats": "source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" }, "language_info": { "codemirror_mode": { diff --git a/docs/source/models/selection.ipynb b/docs/source/models/selection.ipynb index 0f597af..fd66d95 100644 --- a/docs/source/models/selection.ipynb +++ b/docs/source/models/selection.ipynb @@ -262,9 +262,9 @@ "formats": "source/models///ipynb,jupyterbook/models///md:myst,jupyterbook/models///ipynb" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" }, "language_info": { "codemirror_mode": { From 663450e433e0c2a295086bee59a183cbdf4798e2 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 14:45:30 -0700 Subject: [PATCH 027/195] reference to plotting dendrogram example --- docs/jupyterbook/helpers/cluster.ipynb | 34 ++++++++++++++++++++++---- docs/jupyterbook/helpers/cluster.md | 14 +++++------ docs/source/helpers/cluster.ipynb | 34 ++++++++++++++++++++++---- 3 files changed, 65 insertions(+), 17 deletions(-) diff --git a/docs/jupyterbook/helpers/cluster.ipynb b/docs/jupyterbook/helpers/cluster.ipynb index 56cf3d8..31798a0 100644 --- a/docs/jupyterbook/helpers/cluster.ipynb +++ b/docs/jupyterbook/helpers/cluster.ipynb @@ -8,15 +8,27 @@ "# Clustering\n", "\n", "This module has a single function, used to help visualize a dendrogram from a\n", - "hierarchical clustering." + "hierarchical clustering. The function is based on this example from [sklearn.cluster](https://scikit-learn.org/stable/auto_examples/cluster/plot_agglomerative_dendrogram.html)." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "d5df152d", "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'sklearn'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[1], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mnumpy\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mnp\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01msklearn\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcluster\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m AgglomerativeClustering\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mscipy\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcluster\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mhierarchy\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m dendrogram\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mISLP\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcluster\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m compute_linkage\n", + "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'sklearn'" + ] + } + ], "source": [ "import numpy as np\n", "from sklearn.cluster import AgglomerativeClustering\n", @@ -34,7 +46,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "0135c1fb", "metadata": {}, "outputs": [], @@ -101,9 +113,21 @@ "main_language": "python" }, "kernelspec": { - "display_name": "python3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.10" } }, "nbformat": 4, diff --git a/docs/jupyterbook/helpers/cluster.md b/docs/jupyterbook/helpers/cluster.md index ab448dc..b951b18 100644 --- a/docs/jupyterbook/helpers/cluster.md +++ b/docs/jupyterbook/helpers/cluster.md @@ -9,7 +9,7 @@ jupytext: format_version: 0.13 jupytext_version: 1.14.5 kernelspec: - display_name: python3 + display_name: Python 3 (ipykernel) language: python name: python3 --- @@ -17,9 +17,9 @@ kernelspec: # Clustering This module has a single function, used to help visualize a dendrogram from a -hierarchical clustering. +hierarchical clustering. The function is based on this example from [sklearn.cluster](https://scikit-learn.org/stable/auto_examples/cluster/plot_agglomerative_dendrogram.html). -```{code-cell} +```{code-cell} ipython3 import numpy as np from sklearn.cluster import AgglomerativeClustering from scipy.cluster.hierarchy import dendrogram @@ -28,7 +28,7 @@ from ISLP.cluster import compute_linkage ## Make a toy dataset -```{code-cell} +```{code-cell} ipython3 rng = np.random.default_rng(1) X = rng.normal(size=(30, 5)) X[:10] += 1 @@ -36,19 +36,19 @@ X[:10] += 1 ## Cluster it -```{code-cell} +```{code-cell} ipython3 clust = AgglomerativeClustering(distance_threshold=0, n_clusters=None, linkage='complete') ``` -```{code-cell} +```{code-cell} ipython3 clust.fit(X) ``` ## Plot the dendrogram -```{code-cell} +```{code-cell} ipython3 linkage = compute_linkage(clust) dendrogram(linkage); ``` diff --git a/docs/source/helpers/cluster.ipynb b/docs/source/helpers/cluster.ipynb index 56cf3d8..31798a0 100644 --- a/docs/source/helpers/cluster.ipynb +++ b/docs/source/helpers/cluster.ipynb @@ -8,15 +8,27 @@ "# Clustering\n", "\n", "This module has a single function, used to help visualize a dendrogram from a\n", - "hierarchical clustering." + "hierarchical clustering. The function is based on this example from [sklearn.cluster](https://scikit-learn.org/stable/auto_examples/cluster/plot_agglomerative_dendrogram.html)." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "d5df152d", "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'sklearn'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[1], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mnumpy\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mnp\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01msklearn\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcluster\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m AgglomerativeClustering\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mscipy\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcluster\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mhierarchy\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m dendrogram\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mISLP\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcluster\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m compute_linkage\n", + "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'sklearn'" + ] + } + ], "source": [ "import numpy as np\n", "from sklearn.cluster import AgglomerativeClustering\n", @@ -34,7 +46,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "0135c1fb", "metadata": {}, "outputs": [], @@ -101,9 +113,21 @@ "main_language": "python" }, "kernelspec": { - "display_name": "python3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.10" } }, "nbformat": 4, From e1708a0a96b4ad4b357dda5f143c2f9977d88eae Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 15:05:47 -0700 Subject: [PATCH 028/195] cleanup imdb example --- docs/jupyterbook/imdb.ipynb | 198 ++++++++++++++++++++++++++++-------- docs/jupyterbook/imdb.md | 96 +++++++++++------ docs/source/imdb.ipynb | 198 ++++++++++++++++++++++++++++-------- 3 files changed, 373 insertions(+), 119 deletions(-) diff --git a/docs/jupyterbook/imdb.ipynb b/docs/jupyterbook/imdb.ipynb index 1718a58..bddd7a8 100644 --- a/docs/jupyterbook/imdb.ipynb +++ b/docs/jupyterbook/imdb.ipynb @@ -5,71 +5,109 @@ "id": "50f2b809", "metadata": {}, "source": [ - "# Creating a clean IMDB dataset\n", + "# Creating IMDB dataset from `keras` version\n", + "\n", + "This script details how the `IMDB` data in `ISLP` was constructed.\n", "\n", "Running this example requires `keras`. Use `pip install keras` to install if necessary." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "d920bb2e", "metadata": {}, "outputs": [], "source": [ - "import pickle" + "import pickle\n", + "import numpy as np\n", + "from scipy.sparse import coo_matrix, save_npz\n", + "import torch\n", + "from keras.datasets import imdb\n", + "from tensorflow.keras.preprocessing.sequence import pad_sequences" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "e507f1fb", + "cell_type": "markdown", + "id": "eaf27f0c-0cb0-4ad5-8775-d138e3f20933", "metadata": {}, - "outputs": [], "source": [ - "import numpy as np\n", - "from scipy.sparse import coo_matrix, save_npz\n", - "import torch" + "We first load the data using `keras`, limiting focus to the 10000 most commmon words." ] }, { "cell_type": "code", - "execution_count": null, - "id": "b94d3f35", + "execution_count": 2, + "id": "29f0e01e", "metadata": {}, "outputs": [], "source": [ - "from keras.datasets import imdb\n", - "from tensorflow.keras.preprocessing.sequence import pad_sequences" + "# the 3 is for three terms: \n", + "num_words = 10000+3\n", + "((S_train, L_train), \n", + " (S_test, L_test)) = imdb.load_data(num_words=num_words)" + ] + }, + { + "cell_type": "markdown", + "id": "9020ab27-cc62-4b86-85ba-80a94ff692de", + "metadata": {}, + "source": [ + "The object `S_train` is effectively a list in which each document has been encoded into a sequence of\n", + "values from 0 to 10002." ] }, { "cell_type": "code", - "execution_count": null, - "id": "29f0e01e", + "execution_count": 3, + "id": "e27564c4-320f-42b6-9f2e-2a2afdebefcf", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[1, 14, 22, 16, 43, 530, 973, 1622, 1385, 65]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# the 3 is for three terms: \n", - "num_words = 10000+3\n", - "((S_train, Y_train), \n", - " (S_test, Y_test)) = imdb.load_data(num_words=num_words)" + "S_train[0][:10]" + ] + }, + { + "cell_type": "markdown", + "id": "15f039fe-faed-4884-a725-1c51d6c8d4d4", + "metadata": {}, + "source": [ + "We'll use `np.float32` as that is the common precision used in `torch`." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "6cc3c3cb", "metadata": {}, "outputs": [], "source": [ - "Y_train = Y_train.astype(np.float32)\n", - "Y_test = Y_test.astype(np.float32)" + "L_train = L_train.astype(np.float32)\n", + "L_test = L_test.astype(np.float32)" + ] + }, + { + "cell_type": "markdown", + "id": "005679bc-4337-4757-831e-f9a6ea50f6aa", + "metadata": {}, + "source": [ + "We will use a one-hot encoding that captures whether or not a given word appears in a given review." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "7b6d1098", "metadata": {}, "outputs": [], @@ -88,18 +126,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "afcdc8b2", "metadata": {}, "outputs": [], "source": [ - "X_train, L_train = one_hot(S_train, num_words), Y_train\n", + "X_train = one_hot(S_train, num_words)\n", "X_test = one_hot(S_test, num_words)" ] }, + { + "cell_type": "markdown", + "id": "a67e299d-8774-4758-8953-77afdce775ab", + "metadata": {}, + "source": [ + "## Store as sparse tensors\n", + "\n", + "We see later in the lab that the dense representation is faster. Nevertheless,\n", + "let's store the one-hot representation as sparse `torch` tensors \n", + "as well as sparse `scipy` matrices." + ] + }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "b19366ea", "metadata": {}, "outputs": [], @@ -115,7 +165,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "b45ae6d1", "metadata": {}, "outputs": [], @@ -126,7 +176,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "a47d6eb6", "metadata": {}, "outputs": [], @@ -137,7 +187,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "d1b37b37", "metadata": {}, "outputs": [], @@ -151,12 +201,12 @@ "id": "1119823a", "metadata": {}, "source": [ - "save the sparse matrices" + "### Save as sparse `scipy` matrices" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "6cb6bfdf", "metadata": {}, "outputs": [], @@ -167,12 +217,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "eac1c2ae", "metadata": {}, "outputs": [], "source": [ - "np.save('IMDB_Y_test.npy', Y_test)\n", + "np.save('IMDB_Y_test.npy', L_test)\n", "np.save('IMDB_Y_train.npy', L_train)" ] }, @@ -181,12 +231,14 @@ "id": "25c128e3", "metadata": {}, "source": [ - "save and pickle the word index" + "## Save and pickle the word index\n", + "\n", + "We'll also want to store a lookup table to convert representations such as `S_train[0]` into words" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "8458bf67", "metadata": {}, "outputs": [], @@ -199,9 +251,46 @@ "lookup[4] = \"\"" ] }, + { + "cell_type": "markdown", + "id": "5e62ebff-2575-4d35-b46c-51c6f7598efc", + "metadata": {}, + "source": [ + "Let's look at our first training document:" + ] + }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, + "id": "2aaefdf8-0a49-4bdb-8b40-55665283c8a8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\" this film was just brilliant casting location scenery story direction everyone's really suited part they played and you\"" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "' '.join([lookup[i] for i in S_train[0][:20]])" + ] + }, + { + "cell_type": "markdown", + "id": "0e985a73-bfd9-42bd-a523-3dc6e223d602", + "metadata": {}, + "source": [ + "We save this lookup table so it can be loaded later " + ] + }, + { + "cell_type": "code", + "execution_count": 15, "id": "d95252de", "metadata": {}, "outputs": [], @@ -214,12 +303,15 @@ "id": "b3d900b9", "metadata": {}, "source": [ - "create the padded representations" + "## Padded representations\n", + "\n", + "For some of the recurrent models, we'll need sequences of common lengths, padded if necessary.\n", + "Here, we pad up to a maximum length of 500, filling the remaining entries with 0." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "637b3c5e", "metadata": {}, "outputs": [], @@ -230,9 +322,17 @@ " S_test]]" ] }, + { + "cell_type": "markdown", + "id": "a6218300-b355-44cc-b7fb-4bff81211aa6", + "metadata": {}, + "source": [ + "Finally, we save these for later use in the deep learning lab." + ] + }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "bac69f88", "metadata": {}, "outputs": [], @@ -249,9 +349,21 @@ "main_language": "python" }, "kernelspec": { - "display_name": "python3", + "display_name": "islp_test", "language": "python", - "name": "python3" + "name": "islp_test" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.13" } }, "nbformat": 4, diff --git a/docs/jupyterbook/imdb.md b/docs/jupyterbook/imdb.md index ae67f68..0a3ddf1 100644 --- a/docs/jupyterbook/imdb.md +++ b/docs/jupyterbook/imdb.md @@ -9,43 +9,52 @@ jupytext: format_version: 0.13 jupytext_version: 1.14.5 kernelspec: - display_name: python3 + display_name: islp_test language: python - name: python3 + name: islp_test --- -# Creating a clean IMDB dataset +# Creating IMDB dataset from `keras` version + +This script details how the `IMDB` data in `ISLP` was constructed. Running this example requires `keras`. Use `pip install keras` to install if necessary. -```{code-cell} +```{code-cell} ipython3 import pickle -``` - -```{code-cell} import numpy as np from scipy.sparse import coo_matrix, save_npz import torch -``` - -```{code-cell} from keras.datasets import imdb from tensorflow.keras.preprocessing.sequence import pad_sequences ``` -```{code-cell} +We first load the data using `keras`, limiting focus to the 10000 most commmon words. + +```{code-cell} ipython3 # the 3 is for three terms: num_words = 10000+3 -((S_train, Y_train), - (S_test, Y_test)) = imdb.load_data(num_words=num_words) +((S_train, L_train), + (S_test, L_test)) = imdb.load_data(num_words=num_words) ``` -```{code-cell} -Y_train = Y_train.astype(np.float32) -Y_test = Y_test.astype(np.float32) +The object `S_train` is effectively a list in which each document has been encoded into a sequence of +values from 0 to 10002. + +```{code-cell} ipython3 +S_train[0][:10] +``` + +We'll use `np.float32` as that is the common precision used in `torch`. + +```{code-cell} ipython3 +L_train = L_train.astype(np.float32) +L_test = L_test.astype(np.float32) ``` -```{code-cell} +We will use a one-hot encoding that captures whether or not a given word appears in a given review. + +```{code-cell} ipython3 def one_hot(sequences, ncol): idx, vals = [], [] for i, s in enumerate(sequences): @@ -58,12 +67,18 @@ def one_hot(sequences, ncol): return tens.coalesce() ``` -```{code-cell} -X_train, L_train = one_hot(S_train, num_words), Y_train +```{code-cell} ipython3 +X_train = one_hot(S_train, num_words) X_test = one_hot(S_test, num_words) ``` -```{code-cell} +## Store as sparse tensors + +We see later in the lab that the dense representation is faster. Nevertheless, +let's store the one-hot representation as sparse `torch` tensors +as well as sparse `scipy` matrices. + +```{code-cell} ipython3 def convert_sparse_tensor(X): idx = np.asarray(X.indices()) vals = np.asarray(X.values()) @@ -73,36 +88,38 @@ def convert_sparse_tensor(X): shape=X.shape).tocsr() ``` -```{code-cell} +```{code-cell} ipython3 X_train_s = convert_sparse_tensor(X_train) X_test_s = convert_sparse_tensor(X_test) ``` -```{code-cell} +```{code-cell} ipython3 X_train_d = torch.tensor(X_train_s.todense()) X_test_d = torch.tensor(X_test_s.todense()) ``` -```{code-cell} +```{code-cell} ipython3 torch.save(X_train_d, 'IMDB_X_train.tensor') torch.save(X_test_d, 'IMDB_X_test.tensor') ``` -save the sparse matrices +### Save as sparse `scipy` matrices -```{code-cell} +```{code-cell} ipython3 save_npz('IMDB_X_test.npz', X_test_s) save_npz('IMDB_X_train.npz', X_train_s) ``` -```{code-cell} -np.save('IMDB_Y_test.npy', Y_test) +```{code-cell} ipython3 +np.save('IMDB_Y_test.npy', L_test) np.save('IMDB_Y_train.npy', L_train) ``` -save and pickle the word index +## Save and pickle the word index -```{code-cell} +We'll also want to store a lookup table to convert representations such as `S_train[0]` into words + +```{code-cell} ipython3 word_index = imdb.get_word_index() lookup = {(i+3):w for w, i in word_index.items()} lookup[0] = "" @@ -111,20 +128,33 @@ lookup[2] = "" lookup[4] = "" ``` -```{code-cell} +Let's look at our first training document: + +```{code-cell} ipython3 +' '.join([lookup[i] for i in S_train[0][:20]]) +``` + +We save this lookup table so it can be loaded later + +```{code-cell} ipython3 pickle.dump(lookup, open('IMDB_word_index.pkl', 'bw')) ``` -create the padded representations +## Padded representations -```{code-cell} +For some of the recurrent models, we'll need sequences of common lengths, padded if necessary. +Here, we pad up to a maximum length of 500, filling the remaining entries with 0. + +```{code-cell} ipython3 (S_train, S_test) = [torch.tensor(pad_sequences(S, maxlen=500, value=0)) for S in [S_train, S_test]] ``` -```{code-cell} +Finally, we save these for later use in the deep learning lab. + +```{code-cell} ipython3 torch.save(S_train, 'IMDB_S_train.tensor') torch.save(S_test, 'IMDB_S_test.tensor') ``` diff --git a/docs/source/imdb.ipynb b/docs/source/imdb.ipynb index 1718a58..bddd7a8 100644 --- a/docs/source/imdb.ipynb +++ b/docs/source/imdb.ipynb @@ -5,71 +5,109 @@ "id": "50f2b809", "metadata": {}, "source": [ - "# Creating a clean IMDB dataset\n", + "# Creating IMDB dataset from `keras` version\n", + "\n", + "This script details how the `IMDB` data in `ISLP` was constructed.\n", "\n", "Running this example requires `keras`. Use `pip install keras` to install if necessary." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "d920bb2e", "metadata": {}, "outputs": [], "source": [ - "import pickle" + "import pickle\n", + "import numpy as np\n", + "from scipy.sparse import coo_matrix, save_npz\n", + "import torch\n", + "from keras.datasets import imdb\n", + "from tensorflow.keras.preprocessing.sequence import pad_sequences" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "e507f1fb", + "cell_type": "markdown", + "id": "eaf27f0c-0cb0-4ad5-8775-d138e3f20933", "metadata": {}, - "outputs": [], "source": [ - "import numpy as np\n", - "from scipy.sparse import coo_matrix, save_npz\n", - "import torch" + "We first load the data using `keras`, limiting focus to the 10000 most commmon words." ] }, { "cell_type": "code", - "execution_count": null, - "id": "b94d3f35", + "execution_count": 2, + "id": "29f0e01e", "metadata": {}, "outputs": [], "source": [ - "from keras.datasets import imdb\n", - "from tensorflow.keras.preprocessing.sequence import pad_sequences" + "# the 3 is for three terms: \n", + "num_words = 10000+3\n", + "((S_train, L_train), \n", + " (S_test, L_test)) = imdb.load_data(num_words=num_words)" + ] + }, + { + "cell_type": "markdown", + "id": "9020ab27-cc62-4b86-85ba-80a94ff692de", + "metadata": {}, + "source": [ + "The object `S_train` is effectively a list in which each document has been encoded into a sequence of\n", + "values from 0 to 10002." ] }, { "cell_type": "code", - "execution_count": null, - "id": "29f0e01e", + "execution_count": 3, + "id": "e27564c4-320f-42b6-9f2e-2a2afdebefcf", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[1, 14, 22, 16, 43, 530, 973, 1622, 1385, 65]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# the 3 is for three terms: \n", - "num_words = 10000+3\n", - "((S_train, Y_train), \n", - " (S_test, Y_test)) = imdb.load_data(num_words=num_words)" + "S_train[0][:10]" + ] + }, + { + "cell_type": "markdown", + "id": "15f039fe-faed-4884-a725-1c51d6c8d4d4", + "metadata": {}, + "source": [ + "We'll use `np.float32` as that is the common precision used in `torch`." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "6cc3c3cb", "metadata": {}, "outputs": [], "source": [ - "Y_train = Y_train.astype(np.float32)\n", - "Y_test = Y_test.astype(np.float32)" + "L_train = L_train.astype(np.float32)\n", + "L_test = L_test.astype(np.float32)" + ] + }, + { + "cell_type": "markdown", + "id": "005679bc-4337-4757-831e-f9a6ea50f6aa", + "metadata": {}, + "source": [ + "We will use a one-hot encoding that captures whether or not a given word appears in a given review." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "7b6d1098", "metadata": {}, "outputs": [], @@ -88,18 +126,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "afcdc8b2", "metadata": {}, "outputs": [], "source": [ - "X_train, L_train = one_hot(S_train, num_words), Y_train\n", + "X_train = one_hot(S_train, num_words)\n", "X_test = one_hot(S_test, num_words)" ] }, + { + "cell_type": "markdown", + "id": "a67e299d-8774-4758-8953-77afdce775ab", + "metadata": {}, + "source": [ + "## Store as sparse tensors\n", + "\n", + "We see later in the lab that the dense representation is faster. Nevertheless,\n", + "let's store the one-hot representation as sparse `torch` tensors \n", + "as well as sparse `scipy` matrices." + ] + }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "b19366ea", "metadata": {}, "outputs": [], @@ -115,7 +165,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "b45ae6d1", "metadata": {}, "outputs": [], @@ -126,7 +176,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "a47d6eb6", "metadata": {}, "outputs": [], @@ -137,7 +187,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "d1b37b37", "metadata": {}, "outputs": [], @@ -151,12 +201,12 @@ "id": "1119823a", "metadata": {}, "source": [ - "save the sparse matrices" + "### Save as sparse `scipy` matrices" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "6cb6bfdf", "metadata": {}, "outputs": [], @@ -167,12 +217,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "eac1c2ae", "metadata": {}, "outputs": [], "source": [ - "np.save('IMDB_Y_test.npy', Y_test)\n", + "np.save('IMDB_Y_test.npy', L_test)\n", "np.save('IMDB_Y_train.npy', L_train)" ] }, @@ -181,12 +231,14 @@ "id": "25c128e3", "metadata": {}, "source": [ - "save and pickle the word index" + "## Save and pickle the word index\n", + "\n", + "We'll also want to store a lookup table to convert representations such as `S_train[0]` into words" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "8458bf67", "metadata": {}, "outputs": [], @@ -199,9 +251,46 @@ "lookup[4] = \"\"" ] }, + { + "cell_type": "markdown", + "id": "5e62ebff-2575-4d35-b46c-51c6f7598efc", + "metadata": {}, + "source": [ + "Let's look at our first training document:" + ] + }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, + "id": "2aaefdf8-0a49-4bdb-8b40-55665283c8a8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\" this film was just brilliant casting location scenery story direction everyone's really suited part they played and you\"" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "' '.join([lookup[i] for i in S_train[0][:20]])" + ] + }, + { + "cell_type": "markdown", + "id": "0e985a73-bfd9-42bd-a523-3dc6e223d602", + "metadata": {}, + "source": [ + "We save this lookup table so it can be loaded later " + ] + }, + { + "cell_type": "code", + "execution_count": 15, "id": "d95252de", "metadata": {}, "outputs": [], @@ -214,12 +303,15 @@ "id": "b3d900b9", "metadata": {}, "source": [ - "create the padded representations" + "## Padded representations\n", + "\n", + "For some of the recurrent models, we'll need sequences of common lengths, padded if necessary.\n", + "Here, we pad up to a maximum length of 500, filling the remaining entries with 0." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "637b3c5e", "metadata": {}, "outputs": [], @@ -230,9 +322,17 @@ " S_test]]" ] }, + { + "cell_type": "markdown", + "id": "a6218300-b355-44cc-b7fb-4bff81211aa6", + "metadata": {}, + "source": [ + "Finally, we save these for later use in the deep learning lab." + ] + }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "bac69f88", "metadata": {}, "outputs": [], @@ -249,9 +349,21 @@ "main_language": "python" }, "kernelspec": { - "display_name": "python3", + "display_name": "islp_test", "language": "python", - "name": "python3" + "name": "islp_test" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.13" } }, "nbformat": 4, From ff42bd81795b4c0004cefde402b81b8aae992bd0 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 15:07:28 -0700 Subject: [PATCH 029/195] index of anova df --- docs/jupyterbook/imdb.ipynb | 4 +- docs/jupyterbook/imdb.md | 4 +- docs/jupyterbook/models/anova.ipynb | 253 +++++++++++++++------------- docs/jupyterbook/models/anova.md | 24 +-- docs/source/imdb.ipynb | 4 +- docs/source/models/anova.ipynb | 253 +++++++++++++++------------- 6 files changed, 288 insertions(+), 254 deletions(-) diff --git a/docs/jupyterbook/imdb.ipynb b/docs/jupyterbook/imdb.ipynb index bddd7a8..ae0d7dd 100644 --- a/docs/jupyterbook/imdb.ipynb +++ b/docs/jupyterbook/imdb.ipynb @@ -349,9 +349,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" }, "language_info": { "codemirror_mode": { diff --git a/docs/jupyterbook/imdb.md b/docs/jupyterbook/imdb.md index 0a3ddf1..0b87bae 100644 --- a/docs/jupyterbook/imdb.md +++ b/docs/jupyterbook/imdb.md @@ -9,9 +9,9 @@ jupytext: format_version: 0.13 jupytext_version: 1.14.5 kernelspec: - display_name: islp_test + display_name: python3 language: python - name: islp_test + name: python3 --- # Creating IMDB dataset from `keras` version diff --git a/docs/jupyterbook/models/anova.ipynb b/docs/jupyterbook/models/anova.ipynb index bedd405..41e8bcb 100644 --- a/docs/jupyterbook/models/anova.ipynb +++ b/docs/jupyterbook/models/anova.ipynb @@ -36,10 +36,8 @@ "id": "333a49cf", "metadata": {}, "source": [ - "### Forward Selection\n", - " \n", - "We will apply the forward-selection approach to the `Hitters` \n", - "data. We wish to predict a baseball player’s `Salary` on the\n", + "We will carry out two simple ANOVA analyses of the `Hitters` data.\n", + "We wish to predict a baseball player’s `Salary` on the\n", "basis of various statistics associated with performance in the\n", "previous year." ] @@ -122,14 +120,14 @@ "metadata": {}, "outputs": [], "source": [ - "offense_1986 = derived_feature(['AtBat', 'Hits', 'HmRun', 'Runs', 'RBI', 'Walks'],\n", - " name='offense_1986')\n", + "confounders = derived_feature(['Division', 'League', 'NewLeague'],\n", + " name='confounders')\n", "offense_career = derived_feature(['CAtBat', 'CHits', 'CHmRun', 'CRuns', 'CRBI', 'CWalks'],\n", " name='offense_career')\n", + "offense_1986 = derived_feature(['AtBat', 'Hits', 'HmRun', 'Runs', 'RBI', 'Walks'],\n", + " name='offense_1986')\n", "defense_1986 = derived_feature(['PutOuts', 'Assists', 'Errors'],\n", - " name='defense_1986')\n", - "confounders = derived_feature(['Division', 'League', 'NewLeague'],\n", - " name='confounders')" + " name='defense_1986')" ] }, { @@ -147,7 +145,7 @@ "metadata": {}, "outputs": [], "source": [ - "design = ModelSpec([confounders, offense_1986, defense_1986, offense_career]).fit(Hitters)\n", + "design = ModelSpec([confounders, offense_career, defense_1986, offense_1986]).fit(Hitters)\n", "Y = np.array(Hitters['Salary'])\n", "X = design.transform(Hitters)" ] @@ -227,46 +225,46 @@ " 0.757\n", " \n", " \n", - " AtBat\n", - " -1.9509\n", - " 0.624\n", - " -3.125\n", - " 0.002\n", + " CAtBat\n", + " -0.1887\n", + " 0.120\n", + " -1.572\n", + " 0.117\n", " \n", " \n", - " Hits\n", - " 7.4395\n", - " 2.363\n", - " 3.148\n", - " 0.002\n", + " CHits\n", + " 0.1636\n", + " 0.665\n", + " 0.246\n", + " 0.806\n", " \n", " \n", - " HmRun\n", - " 4.3449\n", - " 6.190\n", - " 0.702\n", - " 0.483\n", + " CHmRun\n", + " -0.1517\n", + " 1.612\n", + " -0.094\n", + " 0.925\n", " \n", " \n", - " Runs\n", - " -2.3312\n", - " 2.971\n", - " -0.785\n", - " 0.433\n", + " CRuns\n", + " 1.4716\n", + " 0.747\n", + " 1.971\n", + " 0.050\n", " \n", " \n", - " RBI\n", - " -1.0670\n", - " 2.595\n", - " -0.411\n", - " 0.681\n", + " CRBI\n", + " 0.8021\n", + " 0.691\n", + " 1.161\n", + " 0.247\n", " \n", " \n", - " Walks\n", - " 6.2196\n", - " 1.825\n", - " 3.409\n", - " 0.001\n", + " CWalks\n", + " -0.8124\n", + " 0.327\n", + " -2.481\n", + " 0.014\n", " \n", " \n", " PutOuts\n", @@ -290,46 +288,46 @@ " 0.452\n", " \n", " \n", - " CAtBat\n", - " -0.1887\n", - " 0.120\n", - " -1.572\n", - " 0.117\n", + " AtBat\n", + " -1.9509\n", + " 0.624\n", + " -3.125\n", + " 0.002\n", " \n", " \n", - " CHits\n", - " 0.1636\n", - " 0.665\n", - " 0.246\n", - " 0.806\n", + " Hits\n", + " 7.4395\n", + " 2.363\n", + " 3.148\n", + " 0.002\n", " \n", " \n", - " CHmRun\n", - " -0.1517\n", - " 1.612\n", - " -0.094\n", - " 0.925\n", + " HmRun\n", + " 4.3449\n", + " 6.190\n", + " 0.702\n", + " 0.483\n", " \n", " \n", - " CRuns\n", - " 1.4716\n", - " 0.747\n", - " 1.971\n", - " 0.050\n", + " Runs\n", + " -2.3312\n", + " 2.971\n", + " -0.785\n", + " 0.433\n", " \n", " \n", - " CRBI\n", - " 0.8021\n", - " 0.691\n", - " 1.161\n", - " 0.247\n", + " RBI\n", + " -1.0670\n", + " 2.595\n", + " -0.411\n", + " 0.681\n", " \n", " \n", - " CWalks\n", - " -0.8124\n", - " 0.327\n", - " -2.481\n", - " 0.014\n", + " Walks\n", + " 6.2196\n", + " 1.825\n", + " 3.409\n", + " 0.001\n", " \n", " \n", "\n", @@ -341,21 +339,21 @@ "Division[W] -116.0404 40.188 -2.887 0.004\n", "League[N] 63.7503 79.006 0.807 0.421\n", "NewLeague[N] -24.3989 78.843 -0.309 0.757\n", - "AtBat -1.9509 0.624 -3.125 0.002\n", - "Hits 7.4395 2.363 3.148 0.002\n", - "HmRun 4.3449 6.190 0.702 0.483\n", - "Runs -2.3312 2.971 -0.785 0.433\n", - "RBI -1.0670 2.595 -0.411 0.681\n", - "Walks 6.2196 1.825 3.409 0.001\n", - "PutOuts 0.2827 0.077 3.661 0.000\n", - "Assists 0.3755 0.220 1.705 0.089\n", - "Errors -3.2940 4.377 -0.753 0.452\n", "CAtBat -0.1887 0.120 -1.572 0.117\n", "CHits 0.1636 0.665 0.246 0.806\n", "CHmRun -0.1517 1.612 -0.094 0.925\n", "CRuns 1.4716 0.747 1.971 0.050\n", "CRBI 0.8021 0.691 1.161 0.247\n", - "CWalks -0.8124 0.327 -2.481 0.014" + "CWalks -0.8124 0.327 -2.481 0.014\n", + "PutOuts 0.2827 0.077 3.661 0.000\n", + "Assists 0.3755 0.220 1.705 0.089\n", + "Errors -3.2940 4.377 -0.753 0.452\n", + "AtBat -1.9509 0.624 -3.125 0.002\n", + "Hits 7.4395 2.363 3.148 0.002\n", + "HmRun 4.3449 6.190 0.702 0.483\n", + "Runs -2.3312 2.971 -0.785 0.433\n", + "RBI -1.0670 2.595 -0.411 0.681\n", + "Walks 6.2196 1.825 3.409 0.001" ] }, "execution_count": 6, @@ -379,7 +377,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "id": "cfbe5b92", "metadata": {}, "outputs": [ @@ -414,7 +412,7 @@ " \n", " \n", " \n", - " 0\n", + " intercept\n", " 262.0\n", " 5.331911e+07\n", " 0.0\n", @@ -423,7 +421,7 @@ " NaN\n", " \n", " \n", - " 1\n", + " confounders\n", " 259.0\n", " 5.131263e+07\n", " 3.0\n", @@ -432,52 +430,61 @@ " 2.144265e-04\n", " \n", " \n", - " 2\n", + " offense_career\n", " 253.0\n", - " 3.589842e+07\n", + " 3.059130e+07\n", " 6.0\n", - " 1.541422e+07\n", - " 25.893510\n", - " 6.063309e-24\n", + " 2.072134e+07\n", + " 34.808656\n", + " 1.470455e-30\n", " \n", " \n", - " 3\n", + " defense_1986\n", " 250.0\n", - " 3.471882e+07\n", + " 2.730614e+07\n", " 3.0\n", - " 1.179602e+06\n", - " 3.963099\n", - " 8.730527e-03\n", + " 3.285156e+06\n", + " 11.037111\n", + " 7.880207e-07\n", " \n", " \n", - " 4\n", + " offense_1986\n", " 244.0\n", " 2.420857e+07\n", " 6.0\n", - " 1.051025e+07\n", - " 17.655596\n", - " 5.701196e-17\n", + " 3.097572e+06\n", + " 5.203444\n", + " 4.648586e-05\n", " \n", " \n", "\n", "" ], "text/plain": [ - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 262.0 5.331911e+07 0.0 NaN NaN NaN\n", - "1 259.0 5.131263e+07 3.0 2.006478e+06 6.741147 2.144265e-04\n", - "2 253.0 3.589842e+07 6.0 1.541422e+07 25.893510 6.063309e-24\n", - "3 250.0 3.471882e+07 3.0 1.179602e+06 3.963099 8.730527e-03\n", - "4 244.0 2.420857e+07 6.0 1.051025e+07 17.655596 5.701196e-17" + " df_resid ssr df_diff ss_diff F \\\n", + "intercept 262.0 5.331911e+07 0.0 NaN NaN \n", + "confounders 259.0 5.131263e+07 3.0 2.006478e+06 6.741147 \n", + "offense_career 253.0 3.059130e+07 6.0 2.072134e+07 34.808656 \n", + "defense_1986 250.0 2.730614e+07 3.0 3.285156e+06 11.037111 \n", + "offense_1986 244.0 2.420857e+07 6.0 3.097572e+06 5.203444 \n", + "\n", + " Pr(>F) \n", + "intercept NaN \n", + "confounders 2.144265e-04 \n", + "offense_career 1.470455e-30 \n", + "defense_1986 7.880207e-07 \n", + "offense_1986 4.648586e-05 " ] }, - "execution_count": 7, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "anova_lm(*[OLS(Y, D).fit() for D in design.build_sequence(Hitters, anova_type='sequential')])" + "df = anova_lm(*[OLS(Y, D).fit() for D in design.build_sequence(Hitters, anova_type='sequential')])\n", + "df.index = design.names\n", + "df" ] }, { @@ -490,7 +497,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "e2d43844", "metadata": {}, "outputs": [ @@ -543,13 +550,13 @@ " 2.261572e-02\n", " \n", " \n", - " offense_1986\n", + " offense_career\n", " 244.0\n", " 2.420857e+07\n", " 6.0\n", - " 3.097572e+06\n", - " 5.203444\n", - " 4.648586e-05\n", + " 1.051025e+07\n", + " 17.655596\n", + " 5.701196e-17\n", " \n", " \n", " defense_1986\n", @@ -561,13 +568,13 @@ " 2.415732e-03\n", " \n", " \n", - " offense_career\n", + " offense_1986\n", " 244.0\n", " 2.420857e+07\n", " 6.0\n", - " 1.051025e+07\n", - " 17.655596\n", - " 5.701196e-17\n", + " 3.097572e+06\n", + " 5.203444\n", + " 4.648586e-05\n", " \n", " \n", "\n", @@ -577,19 +584,19 @@ " df_resid ssr df_diff ss_diff F \\\n", "intercept 244.0 2.420857e+07 1.0 4.024254e+05 4.056076 \n", "confounders 244.0 2.420857e+07 3.0 9.661738e+05 3.246046 \n", - "offense_1986 244.0 2.420857e+07 6.0 3.097572e+06 5.203444 \n", - "defense_1986 244.0 2.420857e+07 3.0 1.467933e+06 4.931803 \n", "offense_career 244.0 2.420857e+07 6.0 1.051025e+07 17.655596 \n", + "defense_1986 244.0 2.420857e+07 3.0 1.467933e+06 4.931803 \n", + "offense_1986 244.0 2.420857e+07 6.0 3.097572e+06 5.203444 \n", "\n", " Pr(>F) \n", "intercept 4.511037e-02 \n", "confounders 2.261572e-02 \n", - "offense_1986 4.648586e-05 \n", + "offense_career 5.701196e-17 \n", "defense_1986 2.415732e-03 \n", - "offense_career 5.701196e-17 " + "offense_1986 4.648586e-05 " ] }, - "execution_count": 8, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -604,6 +611,14 @@ "df.index = design.names\n", "df" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "362709ae-9558-4c4c-8f5e-f8388caf631d", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/docs/jupyterbook/models/anova.md b/docs/jupyterbook/models/anova.md index 0e3882b..574f9eb 100644 --- a/docs/jupyterbook/models/anova.md +++ b/docs/jupyterbook/models/anova.md @@ -31,10 +31,8 @@ from ISLP.models import (ModelSpec, summarize) ``` -### Forward Selection - -We will apply the forward-selection approach to the `Hitters` -data. We wish to predict a baseball player’s `Salary` on the +We will carry out two simple ANOVA analyses of the `Hitters` data. +We wish to predict a baseball player’s `Salary` on the basis of various statistics associated with performance in the previous year. @@ -61,20 +59,20 @@ that there are both career and 1986 offensive stats, as well as some defensive s Let's group the offensive into recent and career offensive stats, as well as a group of defensive variables. ```{code-cell} ipython3 -offense_1986 = derived_feature(['AtBat', 'Hits', 'HmRun', 'Runs', 'RBI', 'Walks'], - name='offense_1986') +confounders = derived_feature(['Division', 'League', 'NewLeague'], + name='confounders') offense_career = derived_feature(['CAtBat', 'CHits', 'CHmRun', 'CRuns', 'CRBI', 'CWalks'], name='offense_career') +offense_1986 = derived_feature(['AtBat', 'Hits', 'HmRun', 'Runs', 'RBI', 'Walks'], + name='offense_1986') defense_1986 = derived_feature(['PutOuts', 'Assists', 'Errors'], name='defense_1986') -confounders = derived_feature(['Division', 'League', 'NewLeague'], - name='confounders') ``` We'll first do a sequential ANOVA where terms are added sequentially ```{code-cell} ipython3 -design = ModelSpec([confounders, offense_1986, defense_1986, offense_career]).fit(Hitters) +design = ModelSpec([confounders, offense_career, defense_1986, offense_1986]).fit(Hitters) Y = np.array(Hitters['Salary']) X = design.transform(Hitters) ``` @@ -94,7 +92,9 @@ We'll first produce the sequential, or Type I ANOVA results. This builds up a mo two successive models. ```{code-cell} ipython3 -anova_lm(*[OLS(Y, D).fit() for D in design.build_sequence(Hitters, anova_type='sequential')]) +df = anova_lm(*[OLS(Y, D).fit() for D in design.build_sequence(Hitters, anova_type='sequential')]) +df.index = design.names +df ``` We can similarly compute the Type II ANOVA results which drops each term and compares to the full model. @@ -109,3 +109,7 @@ df = pd.concat(dfs) df.index = design.names df ``` + +```{code-cell} ipython3 + +``` diff --git a/docs/source/imdb.ipynb b/docs/source/imdb.ipynb index bddd7a8..ae0d7dd 100644 --- a/docs/source/imdb.ipynb +++ b/docs/source/imdb.ipynb @@ -349,9 +349,9 @@ "main_language": "python" }, "kernelspec": { - "display_name": "islp_test", + "display_name": "python3", "language": "python", - "name": "islp_test" + "name": "python3" }, "language_info": { "codemirror_mode": { diff --git a/docs/source/models/anova.ipynb b/docs/source/models/anova.ipynb index bedd405..41e8bcb 100644 --- a/docs/source/models/anova.ipynb +++ b/docs/source/models/anova.ipynb @@ -36,10 +36,8 @@ "id": "333a49cf", "metadata": {}, "source": [ - "### Forward Selection\n", - " \n", - "We will apply the forward-selection approach to the `Hitters` \n", - "data. We wish to predict a baseball player’s `Salary` on the\n", + "We will carry out two simple ANOVA analyses of the `Hitters` data.\n", + "We wish to predict a baseball player’s `Salary` on the\n", "basis of various statistics associated with performance in the\n", "previous year." ] @@ -122,14 +120,14 @@ "metadata": {}, "outputs": [], "source": [ - "offense_1986 = derived_feature(['AtBat', 'Hits', 'HmRun', 'Runs', 'RBI', 'Walks'],\n", - " name='offense_1986')\n", + "confounders = derived_feature(['Division', 'League', 'NewLeague'],\n", + " name='confounders')\n", "offense_career = derived_feature(['CAtBat', 'CHits', 'CHmRun', 'CRuns', 'CRBI', 'CWalks'],\n", " name='offense_career')\n", + "offense_1986 = derived_feature(['AtBat', 'Hits', 'HmRun', 'Runs', 'RBI', 'Walks'],\n", + " name='offense_1986')\n", "defense_1986 = derived_feature(['PutOuts', 'Assists', 'Errors'],\n", - " name='defense_1986')\n", - "confounders = derived_feature(['Division', 'League', 'NewLeague'],\n", - " name='confounders')" + " name='defense_1986')" ] }, { @@ -147,7 +145,7 @@ "metadata": {}, "outputs": [], "source": [ - "design = ModelSpec([confounders, offense_1986, defense_1986, offense_career]).fit(Hitters)\n", + "design = ModelSpec([confounders, offense_career, defense_1986, offense_1986]).fit(Hitters)\n", "Y = np.array(Hitters['Salary'])\n", "X = design.transform(Hitters)" ] @@ -227,46 +225,46 @@ " 0.757\n", " \n", " \n", - " AtBat\n", - " -1.9509\n", - " 0.624\n", - " -3.125\n", - " 0.002\n", + " CAtBat\n", + " -0.1887\n", + " 0.120\n", + " -1.572\n", + " 0.117\n", " \n", " \n", - " Hits\n", - " 7.4395\n", - " 2.363\n", - " 3.148\n", - " 0.002\n", + " CHits\n", + " 0.1636\n", + " 0.665\n", + " 0.246\n", + " 0.806\n", " \n", " \n", - " HmRun\n", - " 4.3449\n", - " 6.190\n", - " 0.702\n", - " 0.483\n", + " CHmRun\n", + " -0.1517\n", + " 1.612\n", + " -0.094\n", + " 0.925\n", " \n", " \n", - " Runs\n", - " -2.3312\n", - " 2.971\n", - " -0.785\n", - " 0.433\n", + " CRuns\n", + " 1.4716\n", + " 0.747\n", + " 1.971\n", + " 0.050\n", " \n", " \n", - " RBI\n", - " -1.0670\n", - " 2.595\n", - " -0.411\n", - " 0.681\n", + " CRBI\n", + " 0.8021\n", + " 0.691\n", + " 1.161\n", + " 0.247\n", " \n", " \n", - " Walks\n", - " 6.2196\n", - " 1.825\n", - " 3.409\n", - " 0.001\n", + " CWalks\n", + " -0.8124\n", + " 0.327\n", + " -2.481\n", + " 0.014\n", " \n", " \n", " PutOuts\n", @@ -290,46 +288,46 @@ " 0.452\n", " \n", " \n", - " CAtBat\n", - " -0.1887\n", - " 0.120\n", - " -1.572\n", - " 0.117\n", + " AtBat\n", + " -1.9509\n", + " 0.624\n", + " -3.125\n", + " 0.002\n", " \n", " \n", - " CHits\n", - " 0.1636\n", - " 0.665\n", - " 0.246\n", - " 0.806\n", + " Hits\n", + " 7.4395\n", + " 2.363\n", + " 3.148\n", + " 0.002\n", " \n", " \n", - " CHmRun\n", - " -0.1517\n", - " 1.612\n", - " -0.094\n", - " 0.925\n", + " HmRun\n", + " 4.3449\n", + " 6.190\n", + " 0.702\n", + " 0.483\n", " \n", " \n", - " CRuns\n", - " 1.4716\n", - " 0.747\n", - " 1.971\n", - " 0.050\n", + " Runs\n", + " -2.3312\n", + " 2.971\n", + " -0.785\n", + " 0.433\n", " \n", " \n", - " CRBI\n", - " 0.8021\n", - " 0.691\n", - " 1.161\n", - " 0.247\n", + " RBI\n", + " -1.0670\n", + " 2.595\n", + " -0.411\n", + " 0.681\n", " \n", " \n", - " CWalks\n", - " -0.8124\n", - " 0.327\n", - " -2.481\n", - " 0.014\n", + " Walks\n", + " 6.2196\n", + " 1.825\n", + " 3.409\n", + " 0.001\n", " \n", " \n", "\n", @@ -341,21 +339,21 @@ "Division[W] -116.0404 40.188 -2.887 0.004\n", "League[N] 63.7503 79.006 0.807 0.421\n", "NewLeague[N] -24.3989 78.843 -0.309 0.757\n", - "AtBat -1.9509 0.624 -3.125 0.002\n", - "Hits 7.4395 2.363 3.148 0.002\n", - "HmRun 4.3449 6.190 0.702 0.483\n", - "Runs -2.3312 2.971 -0.785 0.433\n", - "RBI -1.0670 2.595 -0.411 0.681\n", - "Walks 6.2196 1.825 3.409 0.001\n", - "PutOuts 0.2827 0.077 3.661 0.000\n", - "Assists 0.3755 0.220 1.705 0.089\n", - "Errors -3.2940 4.377 -0.753 0.452\n", "CAtBat -0.1887 0.120 -1.572 0.117\n", "CHits 0.1636 0.665 0.246 0.806\n", "CHmRun -0.1517 1.612 -0.094 0.925\n", "CRuns 1.4716 0.747 1.971 0.050\n", "CRBI 0.8021 0.691 1.161 0.247\n", - "CWalks -0.8124 0.327 -2.481 0.014" + "CWalks -0.8124 0.327 -2.481 0.014\n", + "PutOuts 0.2827 0.077 3.661 0.000\n", + "Assists 0.3755 0.220 1.705 0.089\n", + "Errors -3.2940 4.377 -0.753 0.452\n", + "AtBat -1.9509 0.624 -3.125 0.002\n", + "Hits 7.4395 2.363 3.148 0.002\n", + "HmRun 4.3449 6.190 0.702 0.483\n", + "Runs -2.3312 2.971 -0.785 0.433\n", + "RBI -1.0670 2.595 -0.411 0.681\n", + "Walks 6.2196 1.825 3.409 0.001" ] }, "execution_count": 6, @@ -379,7 +377,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "id": "cfbe5b92", "metadata": {}, "outputs": [ @@ -414,7 +412,7 @@ " \n", " \n", " \n", - " 0\n", + " intercept\n", " 262.0\n", " 5.331911e+07\n", " 0.0\n", @@ -423,7 +421,7 @@ " NaN\n", " \n", " \n", - " 1\n", + " confounders\n", " 259.0\n", " 5.131263e+07\n", " 3.0\n", @@ -432,52 +430,61 @@ " 2.144265e-04\n", " \n", " \n", - " 2\n", + " offense_career\n", " 253.0\n", - " 3.589842e+07\n", + " 3.059130e+07\n", " 6.0\n", - " 1.541422e+07\n", - " 25.893510\n", - " 6.063309e-24\n", + " 2.072134e+07\n", + " 34.808656\n", + " 1.470455e-30\n", " \n", " \n", - " 3\n", + " defense_1986\n", " 250.0\n", - " 3.471882e+07\n", + " 2.730614e+07\n", " 3.0\n", - " 1.179602e+06\n", - " 3.963099\n", - " 8.730527e-03\n", + " 3.285156e+06\n", + " 11.037111\n", + " 7.880207e-07\n", " \n", " \n", - " 4\n", + " offense_1986\n", " 244.0\n", " 2.420857e+07\n", " 6.0\n", - " 1.051025e+07\n", - " 17.655596\n", - " 5.701196e-17\n", + " 3.097572e+06\n", + " 5.203444\n", + " 4.648586e-05\n", " \n", " \n", "\n", "" ], "text/plain": [ - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 262.0 5.331911e+07 0.0 NaN NaN NaN\n", - "1 259.0 5.131263e+07 3.0 2.006478e+06 6.741147 2.144265e-04\n", - "2 253.0 3.589842e+07 6.0 1.541422e+07 25.893510 6.063309e-24\n", - "3 250.0 3.471882e+07 3.0 1.179602e+06 3.963099 8.730527e-03\n", - "4 244.0 2.420857e+07 6.0 1.051025e+07 17.655596 5.701196e-17" + " df_resid ssr df_diff ss_diff F \\\n", + "intercept 262.0 5.331911e+07 0.0 NaN NaN \n", + "confounders 259.0 5.131263e+07 3.0 2.006478e+06 6.741147 \n", + "offense_career 253.0 3.059130e+07 6.0 2.072134e+07 34.808656 \n", + "defense_1986 250.0 2.730614e+07 3.0 3.285156e+06 11.037111 \n", + "offense_1986 244.0 2.420857e+07 6.0 3.097572e+06 5.203444 \n", + "\n", + " Pr(>F) \n", + "intercept NaN \n", + "confounders 2.144265e-04 \n", + "offense_career 1.470455e-30 \n", + "defense_1986 7.880207e-07 \n", + "offense_1986 4.648586e-05 " ] }, - "execution_count": 7, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "anova_lm(*[OLS(Y, D).fit() for D in design.build_sequence(Hitters, anova_type='sequential')])" + "df = anova_lm(*[OLS(Y, D).fit() for D in design.build_sequence(Hitters, anova_type='sequential')])\n", + "df.index = design.names\n", + "df" ] }, { @@ -490,7 +497,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "e2d43844", "metadata": {}, "outputs": [ @@ -543,13 +550,13 @@ " 2.261572e-02\n", " \n", " \n", - " offense_1986\n", + " offense_career\n", " 244.0\n", " 2.420857e+07\n", " 6.0\n", - " 3.097572e+06\n", - " 5.203444\n", - " 4.648586e-05\n", + " 1.051025e+07\n", + " 17.655596\n", + " 5.701196e-17\n", " \n", " \n", " defense_1986\n", @@ -561,13 +568,13 @@ " 2.415732e-03\n", " \n", " \n", - " offense_career\n", + " offense_1986\n", " 244.0\n", " 2.420857e+07\n", " 6.0\n", - " 1.051025e+07\n", - " 17.655596\n", - " 5.701196e-17\n", + " 3.097572e+06\n", + " 5.203444\n", + " 4.648586e-05\n", " \n", " \n", "\n", @@ -577,19 +584,19 @@ " df_resid ssr df_diff ss_diff F \\\n", "intercept 244.0 2.420857e+07 1.0 4.024254e+05 4.056076 \n", "confounders 244.0 2.420857e+07 3.0 9.661738e+05 3.246046 \n", - "offense_1986 244.0 2.420857e+07 6.0 3.097572e+06 5.203444 \n", - "defense_1986 244.0 2.420857e+07 3.0 1.467933e+06 4.931803 \n", "offense_career 244.0 2.420857e+07 6.0 1.051025e+07 17.655596 \n", + "defense_1986 244.0 2.420857e+07 3.0 1.467933e+06 4.931803 \n", + "offense_1986 244.0 2.420857e+07 6.0 3.097572e+06 5.203444 \n", "\n", " Pr(>F) \n", "intercept 4.511037e-02 \n", "confounders 2.261572e-02 \n", - "offense_1986 4.648586e-05 \n", + "offense_career 5.701196e-17 \n", "defense_1986 2.415732e-03 \n", - "offense_career 5.701196e-17 " + "offense_1986 4.648586e-05 " ] }, - "execution_count": 8, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -604,6 +611,14 @@ "df.index = design.names\n", "df" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "362709ae-9558-4c4c-8f5e-f8388caf631d", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { From 3b79c74d66758f0ff642d24d28e7100c43899e99 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 15:25:36 -0700 Subject: [PATCH 030/195] updating install torch requirements --- README.md | 4 +--- docs/source/installation.myst | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 19757ab..6b4ca4a 100644 --- a/README.md +++ b/README.md @@ -46,9 +46,7 @@ The `ISLP` labs use `torch` and various related packages for the lab on deep lea can be found [here](torch_requirements.txt). Alternatively, you can install them directly using `pip` ```{python} -reqs = 'https://raw.githubusercontent.com/intro-stat-learning/ISLP/master/torch_requirements.txt' -cmd = f'{sys.executable} -m pip install -r {reqs}' -os.system(cmd) +!pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/master/torch_requirements.txt ``` ## Documentation diff --git a/docs/source/installation.myst b/docs/source/installation.myst index d039ca9..665b7c1 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -63,8 +63,6 @@ can be found [here](https://github.com/intro-stat-learning/ISLP/blob/main/torch_ --- tags: [skip-execution] --- -reqs = 'https://raw.githubusercontent.com/intro-stat-learning/ISLP/master/torch_requirements.txt' -cmd = f'{sys.executable} -m pip install -r {reqs}' -os.system(cmd) +!pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/master/torch_requirements.txt ``` From cb8cee2b17748d8082bb3f53650dc45ea6c48e19 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 15:26:18 -0700 Subject: [PATCH 031/195] master->main --- README.md | 2 +- docs/source/installation.myst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6b4ca4a..313a4e5 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ The `ISLP` labs use `torch` and various related packages for the lab on deep lea can be found [here](torch_requirements.txt). Alternatively, you can install them directly using `pip` ```{python} -!pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/master/torch_requirements.txt +!pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/torch_requirements.txt ``` ## Documentation diff --git a/docs/source/installation.myst b/docs/source/installation.myst index 665b7c1..af549a9 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -63,6 +63,6 @@ can be found [here](https://github.com/intro-stat-learning/ISLP/blob/main/torch_ --- tags: [skip-execution] --- -!pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/master/torch_requirements.txt +!pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/torch_requirements.txt ``` From ac505c01031c533d02ed37ab8e1655d75b36c4cb Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 17:41:51 -0700 Subject: [PATCH 032/195] bumping sklearn minimum for onehotencoder sparse_output --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index bbe21a2..797c729 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ numpy>=1.7.1 scipy>=0.9 pandas>=0.20 lxml # pandas needs this for html -scikit-learn>=1.0 +scikit-learn>=1.2 joblib statsmodels>=0.13 lifelines From 167928004bdfaf3a7605dd13bf7b44e55052b763 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 17:42:40 -0700 Subject: [PATCH 033/195] removing ipynb_checkpoints --- .../.ipynb_checkpoints/imdb-checkpoint.ipynb | 271 ------------------ 1 file changed, 271 deletions(-) delete mode 100644 docs/source/.ipynb_checkpoints/imdb-checkpoint.ipynb diff --git a/docs/source/.ipynb_checkpoints/imdb-checkpoint.ipynb b/docs/source/.ipynb_checkpoints/imdb-checkpoint.ipynb deleted file mode 100644 index c78ca44..0000000 --- a/docs/source/.ipynb_checkpoints/imdb-checkpoint.ipynb +++ /dev/null @@ -1,271 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "3eff5ba8", - "metadata": {}, - "source": [ - "# Creating a clean IMDB dataset\n", - "\n", - "Running this example requires `keras`. Use `pip install keras` to install if necessary." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "53925437", - "metadata": {}, - "outputs": [], - "source": [ - "import pickle" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "a855c7c0", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "from scipy.sparse import coo_matrix, save_npz\n", - "import torch" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "fe16fa84", - "metadata": {}, - "outputs": [], - "source": [ - "from keras.datasets import imdb\n", - "from tensorflow.keras.preprocessing.sequence import pad_sequences\n" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "0369a36a", - "metadata": {}, - "outputs": [], - "source": [ - "# the 3 is for three terms: \n", - "num_words = 10000+3\n", - "((S_train, Y_train), \n", - " (S_test, Y_test)) = imdb.load_data(num_words=num_words)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "9e84d7e3", - "metadata": {}, - "outputs": [], - "source": [ - "Y_train = Y_train.astype(np.float32)\n", - "Y_test = Y_test.astype(np.float32)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "1a737737", - "metadata": {}, - "outputs": [], - "source": [ - "def one_hot(sequences, ncol):\n", - " idx, vals = [], []\n", - " for i, s in enumerate(sequences):\n", - " idx.extend({(i,v):1 for v in s}.keys())\n", - " idx = np.array(idx).T\n", - " vals = np.ones(idx.shape[1], dtype=np.float32)\n", - " tens = torch.sparse_coo_tensor(indices=idx,\n", - " values=vals,\n", - " size=(len(sequences), ncol))\n", - " return tens.coalesce()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "f08ad327", - "metadata": {}, - "outputs": [], - "source": [ - "X_train, L_train = one_hot(S_train, num_words), Y_train\n", - "X_test = one_hot(S_test, num_words)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "98481bbb", - "metadata": {}, - "outputs": [], - "source": [ - "def convert_sparse_tensor(X):\n", - " idx = np.asarray(X.indices())\n", - " vals = np.asarray(X.values())\n", - " return coo_matrix((vals,\n", - " (idx[0],\n", - " idx[1])),\n", - " shape=X.shape).tocsr()" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "5a17bd62", - "metadata": {}, - "outputs": [], - "source": [ - "X_train_s = convert_sparse_tensor(X_train)\n", - "X_test_s = convert_sparse_tensor(X_test)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "ca57aea4", - "metadata": {}, - "outputs": [], - "source": [ - "X_train_d = torch.tensor(X_train_s.todense())\n", - "X_test_d = torch.tensor(X_test_s.todense())" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "3d017780", - "metadata": {}, - "outputs": [], - "source": [ - "torch.save(X_train_d, 'IMDB_X_train.tensor')\n", - "torch.save(X_test_d, 'IMDB_X_test.tensor')" - ] - }, - { - "cell_type": "markdown", - "id": "f9bb0163", - "metadata": {}, - "source": [ - "save the sparse matrices" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "23afd3e5", - "metadata": {}, - "outputs": [], - "source": [ - "save_npz('IMDB_X_test.npz', X_test_s)\n", - "save_npz('IMDB_X_train.npz', X_train_s)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "d33568d1", - "metadata": {}, - "outputs": [], - "source": [ - "np.save('IMDB_Y_test.npy', Y_test)\n", - "np.save('IMDB_Y_train.npy', L_train)" - ] - }, - { - "cell_type": "markdown", - "id": "f9110984", - "metadata": {}, - "source": [ - "save and pickle the word index" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "ff44a0b4", - "metadata": {}, - "outputs": [], - "source": [ - "word_index = imdb.get_word_index()\n", - "lookup = {(i+3):w for w, i in word_index.items()}\n", - "lookup[0] = \"\"\n", - "lookup[1] = \"\"\n", - "lookup[2] = \"\"\n", - "lookup[4] = \"\"" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "1486c640", - "metadata": {}, - "outputs": [], - "source": [ - "pickle.dump(lookup, open('IMDB_word_index.pkl', 'bw'))" - ] - }, - { - "cell_type": "markdown", - "id": "57e606c5", - "metadata": {}, - "source": [ - "create the padded representations" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "3ab7a4ac", - "metadata": {}, - "outputs": [], - "source": [ - "(S_train,\n", - " S_test) = [torch.tensor(pad_sequences(S, maxlen=500, value=0))\n", - " for S in [S_train,\n", - " S_test]]" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "55cb2d49", - "metadata": {}, - "outputs": [], - "source": [ - "torch.save(S_train, 'IMDB_S_train.tensor')\n", - "torch.save(S_test, 'IMDB_S_test.tensor')" - ] - } - ], - "metadata": { - "jupytext": { - "cell_metadata_filter": "-all", - "formats": "py:percent,ipynb,md:myst", - "main_language": "python" - }, - "kernelspec": { - "display_name": "islp_test", - "language": "python", - "name": "islp_test" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.13" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From ed6abd037220a479ee21202aab2f539610ee2301 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 17:50:56 -0700 Subject: [PATCH 034/195] minimum sklearn version --- ISLP/info.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ISLP/info.py b/ISLP/info.py index 3a1fecd..56bf839 100644 --- a/ISLP/info.py +++ b/ISLP/info.py @@ -44,7 +44,7 @@ NUMPY_MIN_VERSION='1.7.1' SCIPY_MIN_VERSION = '0.9' PANDAS_MIN_VERSION = "0.20" -SKLEARN_MIN_VERSION = '1.0' +SKLEARN_MIN_VERSION = '1.2' STATSMODELS_MIN_VERSION = '0.13' MATPLOTLIB_MIN_VERSION = '3.3.3' From db6158f3cf4aca4982454c5b73186536633465ae Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Apr 2023 18:14:36 -0700 Subject: [PATCH 035/195] putting a max pandas version due to bug in lifelines --- ISLP/info.py | 2 ++ requirements.txt | 1 + 2 files changed, 3 insertions(+) diff --git a/ISLP/info.py b/ISLP/info.py index 56bf839..9dba591 100644 --- a/ISLP/info.py +++ b/ISLP/info.py @@ -44,6 +44,7 @@ NUMPY_MIN_VERSION='1.7.1' SCIPY_MIN_VERSION = '0.9' PANDAS_MIN_VERSION = "0.20" +PANDAS_MAX_VERSION = "1.9" SKLEARN_MIN_VERSION = '1.2' STATSMODELS_MIN_VERSION = '0.13' MATPLOTLIB_MIN_VERSION = '3.3.3' @@ -71,6 +72,7 @@ "scipy (>=%s)" % SCIPY_MIN_VERSION, "statsmodels (>=%s)" % STATSMODELS_MIN_VERSION, "pandas (>=%s)" % PANDAS_MIN_VERSION, + "pandas (<=%s)" % PANDAS_MAX_VERSION, "sklearn (>=%s)" % SKLEARN_MIN_VERSION, "lifelines", "joblib", diff --git a/requirements.txt b/requirements.txt index 797c729..1503cf7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,7 @@ numpy>=1.7.1 scipy>=0.9 pandas>=0.20 +pandas<=1.9 lxml # pandas needs this for html scikit-learn>=1.2 joblib From d477e45fa6ac20bd8346317190147fa3636c2b7c Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 2 May 2023 11:46:45 -0700 Subject: [PATCH 036/195] updated install instructions --- README.md | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 313a4e5..75c3aae 100644 --- a/README.md +++ b/README.md @@ -19,34 +19,26 @@ To run python code in this environment, you must activate it: conda activate islp ``` -### Mac OS X +On windows, create a `Python` environment called `islp` in the Anaconda app. This can be done by selecting `Environments` on the left hand side of the app's screen. After creating the environment, open a terminal within that environment by clicking on the Play button. -Running in the desired environment, we use `pip` to install the `ISLP` package: - -```{python} -pip install ISLP -``` - -### Windows -See the [python packaging instructions](https://packaging.python.org/en/latest/tutorials/installing-packages/#ensure-you-can-run-pip-from-the-command-line) for a simple way to run `pip` within -Jupyter or IPython. +## Installing `ISLP` -Alternatively, within a python shell in the environment you want to install `ISLP`, the following commands should install `ISLP`: +Running in the desired environment, we use `pip` to install the `ISLP` package: ```{python} -import os, sys -cmd = f'{sys.executable} -m pip install ISLP' -os.system(cmd) +pip install ISLP ``` ### Torch requirements The `ISLP` labs use `torch` and various related packages for the lab on deep learning. The requirements -can be found [here](torch_requirements.txt). Alternatively, you can install them directly using `pip` +can be found [here](torch_requirements.txt). Alternatively, you can install them directly using `pip` within a terminal. As above, ensure +that you have activated that conda environment (Mac OS or Linux) or +started a terminal within that environment from the Anaconda app (Windows). ```{python} -!pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/torch_requirements.txt +pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/torch_requirements.txt ``` ## Documentation From b36eef70b112277af90689c248403038c6bafa9b Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 2 May 2023 11:48:45 -0700 Subject: [PATCH 037/195] update README --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 75c3aae..816267b 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,8 @@ for ISLP. ## Install instructions +### Mac OS X / Linux + We generally recommend creating a [conda](https://anaconda.org) environment to isolate any code from other dependencies. The `ISLP` package does not have unusual dependencies, but this is still good practice. To create a conda environment in a Mac OS X or Linux environment run: @@ -19,7 +21,9 @@ To run python code in this environment, you must activate it: conda activate islp ``` -On windows, create a `Python` environment called `islp` in the Anaconda app. This can be done by selecting `Environments` on the left hand side of the app's screen. After creating the environment, open a terminal within that environment by clicking on the Play button. +### Windows + +On windows, create a `Python` environment called `islp` in the Anaconda app. This can be done by selecting `Environments` on the left hand side of the app's screen. After creating the environment, open a terminal within that environment by clicking on the "Play" button. ## Installing `ISLP` From 13b8191ef93649b6aa7805f75b7b9970529756ce Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 2 May 2023 11:52:06 -0700 Subject: [PATCH 038/195] more updates to windows --- README.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 816267b..8dd8bcf 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ On windows, create a `Python` environment called `islp` in the Anaconda app. Thi ## Installing `ISLP` -Running in the desired environment, we use `pip` to install the `ISLP` package: +Having completed the steps above, we use `pip` to install the `ISLP` package: ```{python} pip install ISLP @@ -45,6 +45,22 @@ started a terminal within that environment from the Anaconda app (Windows). pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/torch_requirements.txt ``` +## Jupyter + +### Mac OS X + +If JupyterLab is not already installed, run the following after having activated your `islp` environment: + +```{python} +pip install jupyterlab +``` + +### Windows + +Either use the same `pip` command above or install JupyterLab from the `Home` tab. Ensure that the environment +is your `islp` environment. This information appears near the top left in the Anaconda `Home` page. + + ## Documentation See the [read the docs page](https://islp.readthedocs.io/en/latest/models.html) for the latest documentation. From 62e336605df95bb63d1f1c3d8948b2511f5b8b78 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 2 May 2023 11:52:45 -0700 Subject: [PATCH 039/195] updating doc link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8dd8bcf..a5aac69 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ is your `islp` environment. This information appears near the top left in the An ## Documentation -See the [read the docs page](https://islp.readthedocs.io/en/latest/models.html) for the latest documentation. +See the [read the docs page](https://islp.readthedocs.io/en/latest) for the latest documentation. From b74d5b872c6f70d2b3e1af95dd37c12bd08d1fbc Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 2 May 2023 11:56:47 -0700 Subject: [PATCH 040/195] updating installation docs --- docs/source/installation.myst | 53 ++++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 19 deletions(-) diff --git a/docs/source/installation.myst b/docs/source/installation.myst index af549a9..5fa2f70 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -5,17 +5,22 @@ kernelspec: display_name: python3 --- -# Installation instructions + +# Install instructions We generally recommend creating a [conda](https://anaconda.org) environment to isolate any code from other dependencies. The `ISLP` package does not have unusual dependencies, but this is still -good practice. To create a conda environment in a Mac OS X or Linux environment run: +good practice. + +## Mac OS X / Linux + +To create a conda environment in a Mac OS X or Linux environment run: ```{code-cell} ipython3 --- tags: [skip-execution] --- -!conda create --name islp +conda create --name islp ``` To run python code in this environment, you must activate it: @@ -24,45 +29,55 @@ To run python code in this environment, you must activate it: --- tags: [skip-execution] --- -!conda activate islp +conda activate islp ``` -## Mac OS X +## Windows + +On windows, create a `Python` environment called `islp` in the Anaconda app. This can be done by selecting `Environments` on the left hand side of the app's screen. After creating the environment, open a terminal within that environment by clicking on the "Play" button. -Running in the desired environment, we use `pip` to install the `ISLP` package: + +# Installing `ISLP` + +Having completed the steps above, we use `pip` to install the `ISLP` package: ```{code-cell} ipython3 --- tags: [skip-execution] --- -!pip install ISLP +pip install ISLP ``` -## Windows - -See the [python packaging instructions](https://packaging.python.org/en/latest/tutorials/installing-packages/#ensure-you-can-run-pip-from-the-command-line) for a simple way to run `pip` within -Jupyter or IPython. +## Torch requirements -Alternatively, within a python shell in the environment you want to install `ISLP`, the following commands should install `ISLP`: +The `ISLP` labs use `torch` and various related packages for the lab on deep learning. The requirements +can be found [here](https://github.com/intro-stat-learning/ISLP/blob/main/torch_requirements.txt). Alternatively, you can install them directly using `pip` within a terminal. As above, ensure +that you have activated that conda environment (Mac OS or Linux) or +started a terminal within that environment from the Anaconda app (Windows). ```{code-cell} ipython3 --- tags: [skip-execution] --- -import os, sys -cmd = f'{sys.executable} -m pip install ISLP' -os.system(cmd) +pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/torch_requirements.txt ``` -## Torch requirements +## Jupyter -The `ISLP` labs use `torch` and various related packages for the lab on deep learning. The requirements -can be found [here](https://github.com/intro-stat-learning/ISLP/blob/main/torch_requirements.txt). Alternatively, you can install them directly using `pip` +### Mac OS X + +If JupyterLab is not already installed, run the following after having activated your `islp` environment: ```{code-cell} ipython3 --- tags: [skip-execution] --- -!pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/torch_requirements.txt +pip install jupyterlab ``` +### Windows + +Either use the same `pip` command above or install JupyterLab from the `Home` tab. Ensure that the environment +is your `islp` environment. This information appears near the top left in the Anaconda `Home` page. + + From 506b695016df7c8385ac705067251005bda0ac5b Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 18 Jul 2023 11:09:08 -0700 Subject: [PATCH 041/195] BF: rnp.float -> float --- ISLP/bart/bart.py | 4 ++-- ISLP/bart/tree.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ISLP/bart/bart.py b/ISLP/bart/bart.py index 2c33aba..27a7f01 100644 --- a/ISLP/bart/bart.py +++ b/ISLP/bart/bart.py @@ -101,7 +101,7 @@ def predict(self, check_is_fitted(self) nsample = len(self.trees_sample_) - output = np.zeros(X.shape[0], np.float) + output = np.zeros(X.shape[0], float) for trees in self.trees_sample_: for tree in trees: @@ -118,7 +118,7 @@ def staged_predict(self, trees_sample_ = self.trees_sample_[start_idx:] nsample = len(trees_sample_) - output = np.zeros((nsample, X.shape[0]), np.float) + output = np.zeros((nsample, X.shape[0]), float) for nstep, trees in enumerate(trees_sample_): for tree in trees: diff --git a/ISLP/bart/tree.py b/ISLP/bart/tree.py index 8726929..49b4789 100644 --- a/ISLP/bart/tree.py +++ b/ISLP/bart/tree.py @@ -96,7 +96,7 @@ def predict_output(self): current_node = self.get_node(node_index) output[current_node.idx_data_points] = current_node.value - return output.astype(np.float) + return output.astype(float) def predict_out_of_sample(self, X): """ From b55ddae9252d555bfb61f320a702987d62a4d4ab Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Jul 2023 16:09:46 -0700 Subject: [PATCH 042/195] adding notebooks to package docs --- .readthedocs.yaml | 2 +- docs/notebooks/requirements.txt | 160 + docs/source/conf.py | 2 + docs/source/index.rst | 1 + docs/source/installation.myst | 34 +- docs/source/labs.rst | 36 + docs/source/labs/Ch10-deeplearning-lab.ipynb | 3260 +++++++++++++++++ docs/source/labs/Ch11-surv-lab.ipynb | 959 +++++ docs/source/labs/Ch12-unsup-lab.ipynb | 1634 +++++++++ docs/source/labs/Ch13-multiple-lab.ipynb | 961 +++++ docs/source/labs/Ch2-statlearn-lab.ipynb | 3036 +++++++++++++++ docs/source/labs/Ch3-linreg-lab.ipynb | 1123 ++++++ docs/source/labs/Ch4-classification-lab.ipynb | 2181 +++++++++++ docs/source/labs/Ch5-resample-lab.ipynb | 901 +++++ docs/source/labs/Ch6-varselect-lab.ipynb | 1645 +++++++++ docs/source/labs/Ch7-nonlin-lab.ipynb | 1510 ++++++++ docs/source/labs/Ch8-baggboost-lab.ipynb | 1052 ++++++ docs/source/labs/Ch9-svm-lab.ipynb | 977 +++++ torch_requirements.txt | 11 +- 19 files changed, 19474 insertions(+), 11 deletions(-) create mode 100644 docs/notebooks/requirements.txt create mode 100644 docs/source/labs.rst create mode 100644 docs/source/labs/Ch10-deeplearning-lab.ipynb create mode 100644 docs/source/labs/Ch11-surv-lab.ipynb create mode 100644 docs/source/labs/Ch12-unsup-lab.ipynb create mode 100644 docs/source/labs/Ch13-multiple-lab.ipynb create mode 100644 docs/source/labs/Ch2-statlearn-lab.ipynb create mode 100644 docs/source/labs/Ch3-linreg-lab.ipynb create mode 100644 docs/source/labs/Ch4-classification-lab.ipynb create mode 100644 docs/source/labs/Ch5-resample-lab.ipynb create mode 100644 docs/source/labs/Ch6-varselect-lab.ipynb create mode 100644 docs/source/labs/Ch7-nonlin-lab.ipynb create mode 100644 docs/source/labs/Ch8-baggboost-lab.ipynb create mode 100644 docs/source/labs/Ch9-svm-lab.ipynb diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 141d660..3655b23 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -24,7 +24,7 @@ sphinx: # Optionally declare the Python requirements required to build your docs python: install: - - requirements: requirements.txt + - requirements: frozen_requirements.txt - requirements: docs/requirements.txt - requirements: torch_requirements.txt - requirements: keras_requirements.txt diff --git a/docs/notebooks/requirements.txt b/docs/notebooks/requirements.txt new file mode 100644 index 0000000..8da6115 --- /dev/null +++ b/docs/notebooks/requirements.txt @@ -0,0 +1,160 @@ +anyio==3.6.2 +appnope==0.1.3 +argon2-cffi==21.3.0 +argon2-cffi-bindings==21.2.0 +arrow==1.2.3 +astor==0.8.1 +asttokens==2.2.1 +attrs==22.2.0 +autograd==1.5 +autograd-gamma==0.5.0 +backcall==0.2.0 +beautifulsoup4==4.12.1 +bleach==6.0.0 +build==0.10.0 +CacheControl==0.12.11 +certifi==2023.5.7 +cffi==1.15.1 +charset-normalizer==3.1.0 +cleo==2.0.1 +comm==0.1.3 +contourpy==1.0.7 +crashtest==0.4.1 +cycler==0.11.0 +debugpy==1.6.7 +decorator==5.1.1 +defusedxml==0.7.1 +distlib==0.3.6 +dulwich==0.21.5 +executing==1.2.0 +fastjsonschema==2.16.3 +filelock==3.11.0 +fonttools==4.39.4 +formulaic==0.6.1 +fqdn==1.5.1 +future==0.18.3 +html5lib==1.1 +idna==3.4 +importlib-metadata==6.1.0 +importlib-resources==5.12.0 +installer==0.7.0 +interface-meta==1.3.0 +ipykernel==6.22.0 +ipython==8.12.0 +ipython-genutils==0.2.0 +ipywidgets==8.0.6 +ISLP==0.3.16 +isoduration==20.11.0 +jaraco.classes==3.2.3 +jedi==0.18.2 +Jinja2==3.1.2 +joblib==1.2.0 +jsonpointer==2.3 +jsonschema==4.17.3 +jupyter==1.0.0 +jupyter-console==6.6.3 +jupyter-events==0.6.3 +jupyter_client==8.1.0 +jupyter_core==5.3.0 +jupyter_server==2.5.0 +jupyter_server_terminals==0.4.4 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.7 +keyring==23.13.1 +kiwisolver==1.4.4 +lab==7.3 +lifelines==0.27.7 +lockfile==0.12.2 +lxml==4.9.2 +markdown-it-py==2.2.0 +MarkupSafe==2.1.2 +matplotlib==3.7.1 +matplotlib-inline==0.1.6 +mdurl==0.1.2 +mistune==2.0.5 +more-itertools==9.1.0 +msgpack==1.0.5 +nbclassic==0.5.5 +nbclient==0.7.3 +nbconvert==7.3.0 +nbformat==5.8.0 +nest-asyncio==1.5.6 +notebook==6.5.4 +notebook_shim==0.2.2 +numpy==1.24.2 +packaging==23.0 +pandas==2.0.1 +pandocfilters==1.5.0 +parso==0.8.3 +patsy==0.5.3 +pexpect==4.8.0 +pickleshare==0.7.5 +Pillow==9.5.0 +pkginfo==1.9.6 +platformdirs==3.2.0 +poetry==1.5.0 +poetry-core==1.6.0 +poetry-plugin-export==1.3.1 +progressbar2==4.2.0 +prometheus-client==0.16.0 +prompt-toolkit==3.0.38 +psutil==5.9.4 +ptyprocess==0.7.0 +pure-eval==0.2.2 +pycparser==2.21 +pygam==0.9.0 +Pygments==2.14.0 +pyparsing==3.0.9 +pyproject_hooks==1.0.0 +pyrsistent==0.19.3 +python-dateutil==2.8.2 +python-json-logger==2.0.7 +python-utils==3.5.2 +pytz==2023.3 +pytz-deprecation-shim==0.1.0.post0 +PyYAML==6.0 +pyzmq==25.0.2 +qtconsole==5.4.3 +QtPy==2.3.1 +rapidfuzz==2.15.1 +requests==2.30.0 +requests-toolbelt==1.0.0 +rfc3339-validator==0.1.4 +rfc3986-validator==0.1.1 +scikit-learn==1.2.2 +scipy==1.10.1 +Send2Trash==1.8.0 +shellingham==1.5.0.post1 +simplejson==3.19.1 +six==1.16.0 +sniffio==1.3.0 +soupsieve==2.4 +stack-data==0.6.2 +statsmodels==0.14.0 +terminado==0.17.1 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tomli==2.0.1 +tomlkit==0.11.8 +tornado==6.2 +traitlets==5.9.0 +trove-classifiers==2023.5.2 +txt2tags==3.8 +typing_extensions==4.5.0 +tzdata==2023.3 +uri-template==1.2.0 +urllib3==1.26.15 +virtualenv==20.23.0 +wcwidth==0.2.6 +webcolors==1.13 +webencodings==0.5.1 +websocket-client==1.5.1 +widgetsnbextension==4.0.7 +wrapt==1.15.0 +xattr==0.10.1 +zipp==3.15.0 +torch==2.0.0 +torchvision==0.15.1 +pytorch_lightning==2.0.2 +torchinfo==1.7.2 +torchmetrics==0.11.4 diff --git a/docs/source/conf.py b/docs/source/conf.py index b009ae7..654522f 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -28,6 +28,8 @@ graphviz_dot = '/opt/homebrew/bin/dot' numpydoc_class_members_toctree = False nb_execution_mode = "cache" +nb_execution_timeout = 60*3 #*100 + #nb_kernel_rgx_aliases = {'python3': "islp_test"} intersphinx_mapping = { diff --git a/docs/source/index.rst b/docs/source/index.rst index f4c260a..44b40fc 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -15,5 +15,6 @@ Contents transforms models helpers + labs imdb diff --git a/docs/source/installation.myst b/docs/source/installation.myst index 5fa2f70..d1c30aa 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -48,12 +48,38 @@ tags: [skip-execution] pip install ISLP ``` +## Frozen environment + +```{attention} + +Python packages change frequently. The labs here are built +with specific versions of the various packages. +``` + +To ensure you have the same package versions as those built here, run: + +```{code-cell} ipython3 +--- +tags: [skip-execution] +--- +pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/frozen_requirements.txt +``` + ## Torch requirements -The `ISLP` labs use `torch` and various related packages for the lab on deep learning. The requirements -can be found [here](https://github.com/intro-stat-learning/ISLP/blob/main/torch_requirements.txt). Alternatively, you can install them directly using `pip` within a terminal. As above, ensure -that you have activated that conda environment (Mac OS or Linux) or -started a terminal within that environment from the Anaconda app (Windows). +The `ISLP` labs use `torch` and various related packages for the lab +on deep learning. The requirements can be found +[here](https://github.com/intro-stat-learning/ISLP/blob/main/torch_requirements.txt). Alternatively, you can install them +directly using `pip` within a terminal. As above, ensure that you have +activated that conda environment (Mac OS or Linux) or started a +terminal within that environment from the Anaconda app (Windows). + +```{attention} +Because +`torch` and related libraries change frequently, you will note that we +have pinned the versions at specific versions that were used to make +current verisons of the labs. +``` ```{code-cell} ipython3 --- diff --git a/docs/source/labs.rst b/docs/source/labs.rst new file mode 100644 index 0000000..074a07e --- /dev/null +++ b/docs/source/labs.rst @@ -0,0 +1,36 @@ +Labs +==== + +The current version of the labs for `ISLP` are included here. + + +Package versions +---------------- + +.. attention:: + + Python packages change frequently. The labs here are built + with specific versions of the various packages. + + +To ensure you have the same package versions as those built here, run: + + pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/frozen_requirements.txt + +.. toctree:: + :maxdepth: 1 + :numbered: + + labs/Ch2-statlearn-lab + labs/Ch3-linreg-lab + labs/Ch4-classification-lab + labs/Ch5-resample-lab + labs/Ch6-varselect-lab + labs/Ch7-nonlin-lab + labs/Ch8-baggboost-lab + labs/Ch9-svm-lab + labs/Ch11-surv-lab + labs/Ch12-unsup-lab + labs/Ch13-multiple-lab + + diff --git a/docs/source/labs/Ch10-deeplearning-lab.ipynb b/docs/source/labs/Ch10-deeplearning-lab.ipynb new file mode 100644 index 0000000..6693e01 --- /dev/null +++ b/docs/source/labs/Ch10-deeplearning-lab.ipynb @@ -0,0 +1,3260 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "8140eb0d", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "id": "1334dfc7", + "metadata": {}, + "source": [ + "# Deep Learning\n", + "In this section we demonstrate how to fit the examples discussed\n", + "in the text. We use the `Python` `torch` package, along with the\n", + "`pytorch_lightning` package which provides utilities to simplify\n", + "fitting and evaluating models. This code can be impressively fast\n", + "with certain special processors, such as Apple’s new M1 chip. The package is well-structured, flexible, and will feel comfortable\n", + "to `Python` users. A good companion is the site\n", + "[pytorch.org/tutorials](https://pytorch.org/tutorials/beginner/basics/intro.html).\n", + "Much of our code is adapted from there, as well as the `pytorch_lightning` documentation. {The precise URLs at the time of writing are and .}\n", + "\n", + "We start with several standard imports that we have seen in other contexts." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aeb913e2", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "import numpy as np, pandas as pd\n", + "from matplotlib.pyplot import subplots\n", + "from sklearn.linear_model import \\\n", + " (LinearRegression,\n", + " LogisticRegression,\n", + " Lasso)\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.model_selection import KFold\n", + "from sklearn.pipeline import Pipeline\n", + "from ISLP import load_data\n", + "from ISLP.models import ModelSpec as MS\n", + "from sklearn.model_selection import \\\n", + " (train_test_split,\n", + " GridSearchCV)" + ] + }, + { + "cell_type": "markdown", + "id": "36a4ac8d", + "metadata": {}, + "source": [ + "### Torch-Specific Imports\n", + "There are a number of imports for `torch`. (These are not\n", + "included with `ISLP`, so must be installed separately.)\n", + "First we import the main library\n", + "and essential tools used to specify sequentially-structured networks." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3a3e91e7", + "metadata": {}, + "outputs": [], + "source": [ + "import torch\n", + "from torch import nn\n", + "from torch.optim import RMSprop\n", + "from torch.utils.data import TensorDataset\n" + ] + }, + { + "cell_type": "markdown", + "id": "6e89c676", + "metadata": {}, + "source": [ + "There are several other helper packages for `torch`. For instance,\n", + "the `torchmetrics` package has utilities to compute\n", + "various metrics to evaluate performance when fitting\n", + "a model. The `torchinfo` package provides a useful\n", + "summary of the layers of a model. We use the `read_image()`\n", + "function when loading test images in Section 10.9.4." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3f4fdb8c", + "metadata": {}, + "outputs": [], + "source": [ + "from torchmetrics import (MeanAbsoluteError,\n", + " R2Score)\n", + "from torchinfo import summary\n", + "from torchvision.io import read_image\n" + ] + }, + { + "cell_type": "markdown", + "id": "b7b12e5c", + "metadata": {}, + "source": [ + "The package `pytorch_lightning` is a somewhat higher-level\n", + "interface to `torch` that simplifies the specification and\n", + "fitting of\n", + "models by reducing the amount of boilerplate code needed\n", + "(compared to using `torch` alone)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "71cc6f03", + "metadata": {}, + "outputs": [], + "source": [ + "from pytorch_lightning import Trainer\n", + "from pytorch_lightning.loggers import CSVLogger\n" + ] + }, + { + "cell_type": "markdown", + "id": "8394fc0a", + "metadata": {}, + "source": [ + "In order to reproduce results we use `seed_everything()`. We will also instruct `torch` to use deterministic algorithms\n", + "where possible." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fd1290f1", + "metadata": {}, + "outputs": [], + "source": [ + "from pytorch_lightning.utilities.seed import seed_everything\n", + "seed_everything(0, workers=True)\n", + "torch.use_deterministic_algorithms(True, warn_only=True)\n" + ] + }, + { + "cell_type": "markdown", + "id": "f29a6c10", + "metadata": {}, + "source": [ + "We will use several datasets shipped with `torchvision` for our\n", + "examples: a pretrained network for image classification,\n", + "as well as some transforms used for preprocessing." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c85308d1", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "from torchvision.datasets import MNIST, CIFAR100\n", + "from torchvision.models import (resnet50,\n", + " ResNet50_Weights)\n", + "from torchvision.transforms import (Resize,\n", + " Normalize,\n", + " CenterCrop,\n", + " ToTensor)" + ] + }, + { + "cell_type": "markdown", + "id": "6ca24f46", + "metadata": {}, + "source": [ + "We have provided a few utilities in `ISLP` specifically for this lab.\n", + "The `SimpleDataModule` and `SimpleModule` are simple\n", + "versions of objects used in `pytorch_lightning`, the\n", + "high-level module for fitting `torch` models. Although more advanced\n", + "uses such as computing on graphical processing units (GPUs) and parallel data processing\n", + "are possible in this module, we will not be focusing much on these\n", + "in this lab. The `ErrorTracker` handles\n", + "collections of targets and predictions over each mini-batch\n", + "in the validation or test stage, allowing computation\n", + "of the metric over the entire validation or test data set." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4de9f03c", + "metadata": {}, + "outputs": [], + "source": [ + "from ISLP.torch import (SimpleDataModule,\n", + " SimpleModule,\n", + " ErrorTracker,\n", + " rec_num_workers)\n" + ] + }, + { + "cell_type": "markdown", + "id": "d81a775a", + "metadata": {}, + "source": [ + "In addition we have included some helper\n", + "functions to load the\n", + "`IMDb` database, as well as a lookup that maps integers\n", + "to particular keys in the database. We’ve included\n", + "a slightly modified copy of the preprocessed\n", + "`IMDb` data from `keras`, a separate package\n", + "for fitting deep learning models. This saves us significant\n", + "preprocessing and allows us to focus on specifying and fitting\n", + "the models themselves." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4ef95fe3", + "metadata": {}, + "outputs": [], + "source": [ + "from ISLP.torch.imdb import (load_lookup,\n", + " load_tensor,\n", + " load_sparse,\n", + " load_sequential)\n" + ] + }, + { + "cell_type": "markdown", + "id": "d8d760ad", + "metadata": {}, + "source": [ + "Finally, we introduce some utility imports not directly related to\n", + "`torch`.\n", + "The `glob()` function from the `glob` module is used\n", + "to find all files matching wildcard characters, which we will use\n", + "in our example applying the `ResNet50` model\n", + "to some of our own images.\n", + "The `json` module will be used to load\n", + "a JSON file for looking up classes to identify the labels of the\n", + "pictures in the `ResNet50` example." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "493821a9", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "from glob import glob\n", + "import json\n" + ] + }, + { + "cell_type": "markdown", + "id": "c415e4e5", + "metadata": {}, + "source": [ + "## Single Layer Network on Hitters Data\n", + "We start by fitting the models in Section 10.6 on the `Hitters` data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a427e224", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Hitters = load_data('Hitters').dropna()\n", + "n = Hitters.shape[0]\n" + ] + }, + { + "cell_type": "markdown", + "id": "f1ca2542", + "metadata": {}, + "source": [ + " We will fit two linear models (least squares and lasso) and compare their performance\n", + "to that of a neural network. For this comparison we will use mean absolute error on a validation dataset.\n", + "\\begin{equation*}\n", + "\\begin{split}\n", + "\\mbox{MAE}(y,\\hat{y}) = \\frac{1}{n} \\sum_{i=1}^n |y_i-\\hat{y}_i|.\n", + "\\end{split}\n", + "\\end{equation*}\n", + "We set up the model matrix and the response." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "feac4b15", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "model = MS(Hitters.columns.drop('Salary'), intercept=False)\n", + "X = model.fit_transform(Hitters).to_numpy()\n", + "Y = Hitters['Salary'].to_numpy()\n" + ] + }, + { + "cell_type": "markdown", + "id": "ad0d90b5", + "metadata": {}, + "source": [ + "The `to_numpy()` method above converts `pandas`\n", + "data frames or series to `numpy` arrays.\n", + "We do this because we will need to use `sklearn` to fit the lasso model,\n", + "and it requires this conversion. \n", + "We also use a linear regression method from `sklearn`, rather than the method\n", + "in Chapter~3 from `statsmodels`, to facilitate the comparisons." + ] + }, + { + "cell_type": "markdown", + "id": "35acacc2", + "metadata": {}, + "source": [ + "We now split the data into test and training, fixing the random\n", + "state used by `sklearn` to do the split." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6a75a640", + "metadata": {}, + "outputs": [], + "source": [ + "(X_train, \n", + " X_test,\n", + " Y_train,\n", + " Y_test) = train_test_split(X,\n", + " Y,\n", + " test_size=1/3,\n", + " random_state=1)" + ] + }, + { + "cell_type": "markdown", + "id": "edc24bfb", + "metadata": {}, + "source": [ + "### Linear Models\n", + "We fit the linear model and evaluate the test error directly." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "32d8de64", + "metadata": {}, + "outputs": [], + "source": [ + "hit_lm = LinearRegression().fit(X_train, Y_train)\n", + "Yhat_test = hit_lm.predict(X_test)\n", + "np.abs(Yhat_test - Y_test).mean()" + ] + }, + { + "cell_type": "markdown", + "id": "d60340ef", + "metadata": {}, + "source": [ + "Next we fit the lasso using `sklearn`. We are using\n", + "mean absolute error to select and evaluate a model, rather than mean squared error.\n", + "The specialized solver we used in Section 6.5.2 uses only mean squared error. So here, with a bit more work, we create a cross-validation grid and perform the cross-validation directly. \n", + "\n", + "We encode a pipeline with two steps: we first normalize the features using a `StandardScaler()` transform,\n", + "and then fit the lasso without further normalization. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "46786db6", + "metadata": {}, + "outputs": [], + "source": [ + "scaler = StandardScaler(with_mean=True, with_std=True)\n", + "lasso = Lasso(warm_start=True, max_iter=30000)\n", + "standard_lasso = Pipeline(steps=[('scaler', scaler),\n", + " ('lasso', lasso)])" + ] + }, + { + "cell_type": "markdown", + "id": "e7ff854a", + "metadata": {}, + "source": [ + "We need to create a grid of values for $\\lambda$. As is common practice, \n", + "we choose a grid of 100 values of $\\lambda$, uniform on the log scale from `lam_max` down to `0.01*lam_max`. Here `lam_max` is the smallest value of\n", + "$\\lambda$ with an all-zero solution. This value equals the largest absolute inner-product between any predictor and the (centered) response. {The derivation of this result is beyond the scope of this book.}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2b55b38b", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "X_s = scaler.fit_transform(X_train)\n", + "n = X_s.shape[0]\n", + "lam_max = np.fabs(X_s.T.dot(Y_train - Y_train.mean())).max() / n\n", + "param_grid = {'alpha': np.exp(np.linspace(0, np.log(0.01), 100))\n", + " * lam_max}" + ] + }, + { + "cell_type": "markdown", + "id": "977dea00", + "metadata": {}, + "source": [ + "Note that we had to transform the data first, since the scale of the variables impacts the choice of $\\lambda$.\n", + "We now perform cross-validation using this sequence of $\\lambda$ values." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cc44c559", + "metadata": {}, + "outputs": [], + "source": [ + "cv = KFold(10,\n", + " shuffle=True,\n", + " random_state=1)\n", + "grid = GridSearchCV(lasso,\n", + " param_grid,\n", + " cv=cv,\n", + " scoring='neg_mean_absolute_error')\n", + "grid.fit(X_train, Y_train);" + ] + }, + { + "cell_type": "markdown", + "id": "fca88ebb", + "metadata": {}, + "source": [ + "We extract the lasso model with best cross-validated mean absolute error, and evaluate its\n", + "performance on `X_test` and `Y_test`, which were not used in\n", + "cross-validation." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1bd1fd13", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "trained_lasso = grid.best_estimator_\n", + "Yhat_test = trained_lasso.predict(X_test)\n", + "np.fabs(Yhat_test - Y_test).mean()" + ] + }, + { + "cell_type": "markdown", + "id": "f19cd1f2", + "metadata": {}, + "source": [ + "This is similar to the results we got for the linear model fit by least squares. However, these results can vary a lot for different train/test splits; we encourage the reader to try a different seed in code block 12 and rerun the subsequent code up to this point.\n", + "\n", + "### Specifying a Network: Classes and Inheritance\n", + "To fit the neural network, we first set up a model structure\n", + "that describes the network.\n", + "Doing so requires us to define new classes specific to the model we wish to fit.\n", + "Typically this is done in `pytorch` by sub-classing a generic\n", + "representation of a network, which is the approach we take here.\n", + "Although this example is simple, we will go through the steps in some detail, since it will serve us well\n", + "for the more complex examples to follow.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4b2ccc5a", + "metadata": {}, + "outputs": [], + "source": [ + "class HittersModel(nn.Module):\n", + "\n", + " def __init__(self, input_size):\n", + " super(HittersModel, self).__init__()\n", + " self.flatten = nn.Flatten()\n", + " self.sequential = nn.Sequential(\n", + " nn.Linear(input_size, 50),\n", + " nn.ReLU(),\n", + " nn.Dropout(0.4),\n", + " nn.Linear(50, 1))\n", + "\n", + " def forward(self, x):\n", + " x = self.flatten(x)\n", + " return torch.flatten(self.sequential(x))\n" + ] + }, + { + "cell_type": "markdown", + "id": "5da217b2", + "metadata": {}, + "source": [ + "The `class` statement identifies the code chunk as a\n", + "declaration for a class `HittersModel`\n", + "that inherits from the base class `nn.Module`. This base\n", + "class is ubiquitous in `torch` and represents the\n", + "mappings in the neural networks.\n", + "\n", + "Indented beneath the `class` statement are the methods of this class:\n", + "in this case `__init__` and `forward`. The `__init__` method is\n", + "called when an instance of the class is created as in the cell\n", + "below. In the methods, `self` always refers to an instance of the\n", + "class. In the `__init__` method, we have attached two objects to\n", + "`self` as attributes: `flatten` and `sequential`. These are used in\n", + "the `forward` method to describe the map that this module implements.\n", + "\n", + "There is one additional line in the `__init__` method, which\n", + "is a call to\n", + "`super()`. This function allows subclasses (i.e. `HittersModel`)\n", + "to access methods of the class they inherit from. For example,\n", + "the class `nn.Module` has its own `__init__` method, which is different from\n", + "the `HittersModel.__init__()` method we’ve written above.\n", + "Using `super()` allows us to call the method of the base class. For\n", + "`torch` models, we will always be making this `super()` call as it is necessary\n", + "for the model to be properly interpreted by `torch`.\n", + "\n", + "The object `nn.Module` has more methods than simply `__init__` and `forward`. These\n", + "methods are directly accessible to `HittersModel` instances because of this inheritance.\n", + "One such method we will see shortly is the `eval()` method, used\n", + "to disable dropout for when we want to evaluate the model on test data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "108ad1f1", + "metadata": {}, + "outputs": [], + "source": [ + "hit_model = HittersModel(X.shape[1])\n" + ] + }, + { + "cell_type": "markdown", + "id": "46d750dd", + "metadata": {}, + "source": [ + "The object `self.sequential` is a composition of four maps. The\n", + "first maps the 19 features of `Hitters` to 50 dimensions, introducing $50\\times 19+50$ parameters\n", + "for the weights and *intercept* of the map (often called the *bias*). This layer\n", + "is then mapped to a ReLU layer followed by a 40% dropout layer, and finally a\n", + "linear map down to 1 dimension, again with a bias. The total number of\n", + "trainable parameters is therefore $50\\times 19+50+50+1=1051$.\n", + "\n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "e0c250c5", + "metadata": {}, + "source": [ + "The package `torchinfo` provides a `summary()` function that neatly summarizes\n", + "this information. We specify the size of the input and see the size\n", + "of each tensor as it passes through layers of the network. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2f20059e", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "summary(hit_model, \n", + " input_size=X_train.shape,\n", + " col_names=['input_size',\n", + " 'output_size',\n", + " 'num_params'])\n" + ] + }, + { + "cell_type": "markdown", + "id": "05a0eb81", + "metadata": {}, + "source": [ + "We have truncated the end of the output slightly, here and in subsequent uses.\n", + "\n", + "We now need to transform our training data into a form accessible to `torch`.\n", + "The basic\n", + "datatype in `torch` is a `tensor`, which is very similar\n", + "to an `ndarray` from early chapters.\n", + "We also note here that `torch` typically\n", + "works with 32-bit (*single precision*)\n", + "rather than 64-bit (*double precision*) floating point numbers.\n", + "We therefore convert our data to `np.float32` before\n", + "forming the tensor.\n", + "The $X$ and $Y$ tensors are then arranged into a `Dataset`\n", + "recognized by `torch`\n", + "using `TensorDataset()`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6ca3030d", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "X_train_t = torch.tensor(X_train.astype(np.float32))\n", + "Y_train_t = torch.tensor(Y_train.astype(np.float32))\n", + "hit_train = TensorDataset(X_train_t, Y_train_t)" + ] + }, + { + "cell_type": "markdown", + "id": "7924f53d", + "metadata": {}, + "source": [ + "We do the same for the test data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "86723b3e", + "metadata": {}, + "outputs": [], + "source": [ + "X_test_t = torch.tensor(X_test.astype(np.float32))\n", + "Y_test_t = torch.tensor(Y_test.astype(np.float32))\n", + "hit_test = TensorDataset(X_test_t, Y_test_t)\n" + ] + }, + { + "cell_type": "markdown", + "id": "0d055846", + "metadata": {}, + "source": [ + "Finally, this dataset is passed to a `DataLoader()` which ultimately\n", + "passes data into our network. While this may seem\n", + "like a lot of overhead, this structure is helpful for more\n", + "complex tasks where data may live on different machines,\n", + "or where data must be passed to a GPU.\n", + "We provide a helper function `SimpleDataModule()` in `ISLP` to make this task easier for\n", + "standard usage.\n", + "One of its arguments is `num_workers`, which indicates\n", + "how many processes we will use\n", + "for loading the data. For small\n", + "data like `Hitters` this will have little effect, but\n", + "it does provide an advantage for the `MNIST` and `CIFAR100` examples below.\n", + "The `torch` package will inspect the process running and determine a\n", + "maximum number of workers. {This depends on the computing hardware and the number of cores available.} We’ve included a function\n", + "`rec_num_workers()` to compute this so we know how many\n", + "workers might be reasonable (here the max was 16)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "999279fd", + "metadata": {}, + "outputs": [], + "source": [ + "max_num_workers = rec_num_workers()" + ] + }, + { + "cell_type": "markdown", + "id": "9fe60b31", + "metadata": {}, + "source": [ + "The general training setup in `pytorch_lightning` involves\n", + "training, validation and test data. These are each\n", + "represented by different data loaders. During each epoch,\n", + "we run a training step to learn the model and a validation\n", + "step to track the error. The test data is typically\n", + "used at the end of training to evaluate the model.\n", + "\n", + "In this case, as we had split only into test and training,\n", + "we’ll use the test data as validation data with the\n", + "argument `validation=hit_test`. The\n", + "`validation` argument can be a float between 0 and 1, an\n", + "integer, or a\n", + "`Dataset`. If a float (respectively, integer), it is interpreted\n", + "as a percentage (respectively number) of the *training* observations to be used for validation.\n", + "If it is a `Dataset`, it is passed directly to a data loader." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7bd9cc5c", + "metadata": {}, + "outputs": [], + "source": [ + "hit_dm = SimpleDataModule(hit_train,\n", + " hit_test,\n", + " batch_size=32,\n", + " num_workers=min(4, max_num_workers),\n", + " validation=hit_test)\n" + ] + }, + { + "cell_type": "markdown", + "id": "9be1f578", + "metadata": {}, + "source": [ + "Next we must provide a `pytorch_lightning` module that controls\n", + "the steps performed during the training process. We provide methods for our\n", + "`SimpleModule()` that simply record the value\n", + "of the loss function and any additional\n", + "metrics at the end of each epoch. These operations\n", + "are controlled by the methods `SimpleModule.[training/test/validation]_step()`, though\n", + "we will not be modifying these in our examples." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5be2f822", + "metadata": {}, + "outputs": [], + "source": [ + "hit_module = SimpleModule.regression(hit_model,\n", + " metrics={'mae':MeanAbsoluteError()})\n" + ] + }, + { + "cell_type": "markdown", + "id": "78e707d8", + "metadata": {}, + "source": [ + " By using the `SimpleModule.regression()` method, we indicate that we will use squared-error loss as in\n", + "(10.23).\n", + "We have also asked for mean absolute error to be tracked as well\n", + "in the metrics that are logged.\n", + "\n", + "We log our results via `CSVLogger()`, which in this case stores the results in a CSV file within a directory `logs/hitters`. After the fitting is complete, this allows us to load the\n", + "results as a `pd.DataFrame()` and visualize them below. There are\n", + "several ways to log the results within `pytorch_lightning`, though\n", + "we will not cover those here in detail." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "87334d33", + "metadata": {}, + "outputs": [], + "source": [ + "hit_logger = CSVLogger('logs', name='hitters')" + ] + }, + { + "cell_type": "markdown", + "id": "07663639", + "metadata": {}, + "source": [ + "Finally we are ready to train our model and log the results. We\n", + "use the `Trainer()` object from `pytorch_lightning`\n", + "to do this work. The argument `datamodule=hit_dm` tells the trainer\n", + "how training/validation/test logs are produced,\n", + "while the first argument `hit_module`\n", + "specifies the network architecture\n", + "as well as the training/validation/test steps.\n", + "The `callbacks` argument allows for\n", + "several tasks to be carried out at various\n", + "points while training a model. Here\n", + "our `ErrorTracker()` callback will enable\n", + "us to compute validation error while training\n", + "and, finally, the test error.\n", + "We now fit the model for 50 epochs." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1a474999", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "hit_trainer = Trainer(deterministic=True,\n", + " max_epochs=50,\n", + " log_every_n_steps=5,\n", + " logger=hit_logger,\n", + " callbacks=[ErrorTracker()])\n", + "hit_trainer.fit(hit_module, datamodule=hit_dm)" + ] + }, + { + "cell_type": "markdown", + "id": "5e154e47", + "metadata": {}, + "source": [ + "At each step of SGD, the algorithm randomly selects 32 training observations for\n", + "the computation of the gradient. Recall from Section 10.7\n", + "that an epoch amounts to the number of SGD steps required to process $n$\n", + "observations. Since the training set has\n", + "$n=175$, and we specified a `batch_size` of 32 in the construction of `hit_dm`, an epoch is $175/32=5.5$ SGD steps.\n", + "\n", + "After having fit the model, we can evaluate performance on our test\n", + "data using the `test()` method of our trainer." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e3b24643", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "hit_trainer.test(hit_module, datamodule=hit_dm)\n" + ] + }, + { + "cell_type": "markdown", + "id": "0220713b", + "metadata": {}, + "source": [ + "The results of the fit have been logged into a CSV file. We can find the\n", + "results specific to this run in the `experiment.metrics_file_path`\n", + "attribute of our logger. Note that each time the model is fit, the logger will output\n", + "results into a new subdirectory of our directory `logs/hitters`.\n", + "\n", + "We now create a plot of the MAE (mean absolute error) as a function of\n", + "the number of epochs.\n", + "First we retrieve the logged summaries." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f9b266e7", + "metadata": {}, + "outputs": [], + "source": [ + "hit_results = pd.read_csv(hit_logger.experiment.metrics_file_path)" + ] + }, + { + "cell_type": "markdown", + "id": "b7ff26d7", + "metadata": {}, + "source": [ + "Since we will produce similar plots in later examples, we write a\n", + "simple generic function to produce this plot." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c5752a0b", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "def summary_plot(results,\n", + " ax,\n", + " col='loss',\n", + " valid_legend='Validation',\n", + " training_legend='Training',\n", + " ylabel='Loss',\n", + " fontsize=20):\n", + " for (column,\n", + " color,\n", + " label) in zip([f'train_{col}_epoch',\n", + " f'valid_{col}'],\n", + " ['black',\n", + " 'red'],\n", + " [training_legend,\n", + " valid_legend]):\n", + " results.plot(x='epoch',\n", + " y=column,\n", + " label=label,\n", + " marker='o',\n", + " color=color,\n", + " ax=ax)\n", + " ax.set_xlabel('Epoch')\n", + " ax.set_ylabel(ylabel)\n", + " return ax" + ] + }, + { + "cell_type": "markdown", + "id": "874c2611", + "metadata": {}, + "source": [ + "We now set up our axes, and use our function to produce the MAE plot." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ff0c9fa0", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "fig, ax = subplots(1, 1, figsize=(6, 6))\n", + "ax = summary_plot(hit_results,\n", + " ax,\n", + " col='mae',\n", + " ylabel='MAE',\n", + " valid_legend='Validation (=Test)')\n", + "ax.set_ylim([0, 400])\n", + "ax.set_xticks(np.linspace(0, 50, 11).astype(int));" + ] + }, + { + "cell_type": "markdown", + "id": "212c64a3", + "metadata": {}, + "source": [ + "We can predict directly from the final model, and\n", + "evaluate its performance on the test data.\n", + "Before fitting, we call the `eval()` method\n", + "of `hit_model`.\n", + "This tells\n", + "`torch` to effectively consider this model to be fitted, so that\n", + "we can use it to predict on new data. For our model here,\n", + "the biggest change is that the dropout layers will\n", + "be turned off, i.e. no weights will be randomly\n", + "dropped in predicting on new data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1ee2b61b", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "hit_model.eval() \n", + "preds = hit_module(X_test_t)\n", + "torch.abs(Y_test_t - preds).mean()" + ] + }, + { + "cell_type": "markdown", + "id": "fd356e46", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "64fa7609", + "metadata": {}, + "source": [ + "### Cleanup\n", + "In setting up our data module, we had initiated\n", + "several worker processes that will remain running.\n", + "We delete all references to the torch objects to ensure these processes\n", + "will be killed." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0ca069a3", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "del(Hitters,\n", + " hit_model, hit_dm,\n", + " hit_logger,\n", + " hit_test, hit_train,\n", + " X, Y,\n", + " X_test, X_train,\n", + " Y_test, Y_train,\n", + " X_test_t, Y_test_t,\n", + " hit_trainer, hit_module)\n" + ] + }, + { + "cell_type": "markdown", + "id": "ac321b7f", + "metadata": {}, + "source": [ + "## Multilayer Network on the MNIST Digit Data\n", + "The `torchvision` package comes with a number of example datasets,\n", + "including the `MNIST` digit data. Our first step is to retrieve\n", + "the training and test data sets; the `MNIST()` function within\n", + "`torchvision.datasets` is provided for this purpose. The\n", + "data will be downloaded the first time this function is executed, and stored in the directory `data/MNIST`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "af6a0a33", + "metadata": {}, + "outputs": [], + "source": [ + "(mnist_train, \n", + " mnist_test) = [MNIST(root='data',\n", + " train=train,\n", + " download=True,\n", + " transform=ToTensor())\n", + " for train in [True, False]]\n", + "mnist_train\n" + ] + }, + { + "cell_type": "markdown", + "id": "6c8aa040", + "metadata": {}, + "source": [ + "There are 60,000 images in the training data and 10,000 in the test\n", + "data. The images are $28\\times 28$, and stored as a matrix of pixels. We\n", + "need to transform each one into a vector.\n", + "\n", + "Neural networks are somewhat sensitive to the scale of the inputs, much as ridge and\n", + "lasso regularization are affected by scaling. Here the inputs are eight-bit\n", + "grayscale values between 0 and 255, so we rescale to the unit\n", + "interval. {Note: eight bits means $2^8$, which equals 256. Since the convention\n", + "is to start at $0$, the possible values range from $0$ to $255$.}\n", + "This transformation, along with some reordering\n", + "of the axes, is performed by the `ToTensor()` transform\n", + "from the `torchvision.transforms` package.\n", + "\n", + "As in our `Hitters` example, we form a data module\n", + "from the training and test datasets, setting aside 20%\n", + "of the training images for validation." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0df8a0c8", + "metadata": {}, + "outputs": [], + "source": [ + "mnist_dm = SimpleDataModule(mnist_train,\n", + " mnist_test,\n", + " validation=0.2,\n", + " num_workers=max_num_workers,\n", + " batch_size=256)\n" + ] + }, + { + "cell_type": "markdown", + "id": "3dc50b18", + "metadata": {}, + "source": [ + "Let’s take a look at the data that will get fed into our network. We loop through the first few\n", + "chunks of the test dataset, breaking after 2 batches:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0c7dd6ee", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "for idx, (X_ ,Y_) in enumerate(mnist_dm.train_dataloader()):\n", + " print('X: ', X_.shape)\n", + " print('Y: ', Y_.shape)\n", + " if idx >= 1:\n", + " break\n" + ] + }, + { + "cell_type": "markdown", + "id": "cc80f21e", + "metadata": {}, + "source": [ + "We see that the $X$ for each batch consists of 256 images of size `1x28x28`.\n", + "Here the `1` indicates a single channel (greyscale). For RGB images such as `CIFAR100` below,\n", + "we will see that the `1` in the size will be replaced by `3` for the three RGB channels.\n", + "\n", + "Now we are ready to specify our neural network." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "63e48c70", + "metadata": {}, + "outputs": [], + "source": [ + "class MNISTModel(nn.Module):\n", + " def __init__(self):\n", + " super(MNISTModel, self).__init__()\n", + " self.layer1 = nn.Sequential(\n", + " nn.Flatten(),\n", + " nn.Linear(28*28, 256),\n", + " nn.ReLU(),\n", + " nn.Dropout(0.4))\n", + " self.layer2 = nn.Sequential(\n", + " nn.Linear(256, 128),\n", + " nn.ReLU(),\n", + " nn.Dropout(0.3))\n", + " self._forward = nn.Sequential(\n", + " self.layer1,\n", + " self.layer2,\n", + " nn.Linear(128, 10))\n", + " def forward(self, x):\n", + " return self._forward(x)" + ] + }, + { + "cell_type": "markdown", + "id": "d5a5ffef", + "metadata": {}, + "source": [ + "We see that in the first layer, each `1x28x28` image is flattened, then mapped to\n", + "256 dimensions where we apply a ReLU activation with 40% dropout.\n", + "A second layer maps the first layer’s output down to\n", + "128 dimensions, applying a ReLU activation with 30% dropout. Finally,\n", + "the 128 dimensions are mapped down to 10, the number of classes in the\n", + "`MNIST` data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "92405826", + "metadata": {}, + "outputs": [], + "source": [ + "mnist_model = MNISTModel()\n" + ] + }, + { + "cell_type": "markdown", + "id": "b16bd23a", + "metadata": {}, + "source": [ + "We can check that the model produces output of expected size based\n", + "on our existing batch `X_` above." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2c8f7a48", + "metadata": {}, + "outputs": [], + "source": [ + "mnist_model(X_).size()" + ] + }, + { + "cell_type": "markdown", + "id": "da0de828", + "metadata": {}, + "source": [ + "Let’s take a look at the summary of the model. Instead of an `input_size` we can pass\n", + "a tensor of correct shape. In this case, we pass through the final\n", + "batched `X_` from above." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9f502df8", + "metadata": {}, + "outputs": [], + "source": [ + "summary(mnist_model,\n", + " input_data=X_,\n", + " col_names=['input_size',\n", + " 'output_size',\n", + " 'num_params'])" + ] + }, + { + "cell_type": "markdown", + "id": "f98b70bb", + "metadata": {}, + "source": [ + "Having set up both the model and the data module, fitting this model is\n", + "now almost identical to the `Hitters` example. In contrast to our regression model, here we will use the\n", + "`SimpleModule.classification()` method which\n", + "uses the cross-entropy loss function instead of mean squared error." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d1a7590f", + "metadata": {}, + "outputs": [], + "source": [ + "mnist_module = SimpleModule.classification(mnist_model)\n", + "mnist_logger = CSVLogger('logs', name='MNIST')\n" + ] + }, + { + "cell_type": "markdown", + "id": "ca665912", + "metadata": {}, + "source": [ + "Now we are ready to go. The final step is to supply training data, and fit the model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e2fe6de3", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "mnist_trainer = Trainer(deterministic=True,\n", + " max_epochs=30,\n", + " logger=mnist_logger,\n", + " callbacks=[ErrorTracker()])\n", + "mnist_trainer.fit(mnist_module,\n", + " datamodule=mnist_dm)\n" + ] + }, + { + "cell_type": "markdown", + "id": "6b4a4e0c", + "metadata": {}, + "source": [ + "We have suppressed the output here, which is a progress report on the\n", + "fitting of the model, grouped by epoch. This is very useful, since on\n", + "large datasets fitting can take time. Fitting this model took 245\n", + "seconds on a MacBook Pro with an Apple M1 Pro chip with 10 cores and 16 GB of RAM.\n", + "Here we specified a\n", + "validation split of 20%, so training is actually performed on\n", + "80% of the 60,000 observations in the training set. This is an\n", + "alternative to actually supplying validation data, like we did for the `Hitters` data.\n", + "SGD uses batches\n", + "of 256 observations in computing the gradient, and doing the\n", + "arithmetic, we see that an epoch corresponds to 188 gradient steps." + ] + }, + { + "cell_type": "markdown", + "id": "25528d72", + "metadata": {}, + "source": [ + "`SimpleModule.classification()` includes\n", + "an accuracy metric by default. Other\n", + "classification metrics can be added from `torchmetrics`.\n", + "We will use our `summary_plot()` function to display \n", + "accuracy across epochs." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "73755987", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "mnist_results = pd.read_csv(mnist_logger.experiment.metrics_file_path)\n", + "fig, ax = subplots(1, 1, figsize=(6, 6))\n", + "summary_plot(mnist_results,\n", + " ax,\n", + " col='accuracy',\n", + " ylabel='Accuracy')\n", + "ax.set_ylim([0.5, 1])\n", + "ax.set_ylabel('Accuracy')\n", + "ax.set_xticks(np.linspace(0, 30, 7).astype(int));\n" + ] + }, + { + "cell_type": "markdown", + "id": "ba63a8da", + "metadata": {}, + "source": [ + "Once again we evaluate the accuracy using the `test()` method of our trainer. This model achieves\n", + "97% accuracy on the test data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f5269c40", + "metadata": {}, + "outputs": [], + "source": [ + "mnist_trainer.test(mnist_module,\n", + " datamodule=mnist_dm)" + ] + }, + { + "cell_type": "markdown", + "id": "bca75042", + "metadata": {}, + "source": [ + "Table 10.1 also reports the error rates resulting from LDA (Chapter 4) and multiclass logistic\n", + "regression. For LDA we refer the reader to Section 4.7.3.\n", + "Although we could use the `sklearn` function `LogisticRegression()` to fit \n", + "multiclass logistic regression, we are set up here to fit such a model\n", + "with `torch`.\n", + "We just have an input layer and an output layer, and omit the hidden layers!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "97a0b304", + "metadata": {}, + "outputs": [], + "source": [ + "class MNIST_MLR(nn.Module):\n", + " def __init__(self):\n", + " super(MNIST_MLR, self).__init__()\n", + " self.linear = nn.Sequential(nn.Flatten(),\n", + " nn.Linear(784, 10))\n", + " def forward(self, x):\n", + " return self.linear(x)\n", + "\n", + "mlr_model = MNIST_MLR()\n", + "mlr_module = SimpleModule.classification(mlr_model)\n", + "mlr_logger = CSVLogger('logs', name='MNIST_MLR')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ea685183", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "mlr_trainer = Trainer(deterministic=True,\n", + " max_epochs=30,\n", + " callbacks=[ErrorTracker()])\n", + "mlr_trainer.fit(mlr_module, datamodule=mnist_dm)" + ] + }, + { + "cell_type": "markdown", + "id": "c376e402", + "metadata": {}, + "source": [ + "We fit the model just as before and compute the test results." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c0bd63e3", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "mlr_trainer.test(mlr_module,\n", + " datamodule=mnist_dm)" + ] + }, + { + "cell_type": "markdown", + "id": "e0e99a86", + "metadata": {}, + "source": [ + "The accuracy is above 90% even for this pretty simple model.\n", + "\n", + "As in the `Hitters` example, we delete some of\n", + "the objects we created above." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6b0d3daa", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "del(mnist_test,\n", + " mnist_train,\n", + " mnist_model,\n", + " mnist_dm,\n", + " mnist_trainer,\n", + " mnist_module,\n", + " mnist_results,\n", + " mlr_model,\n", + " mlr_module,\n", + " mlr_trainer)" + ] + }, + { + "cell_type": "markdown", + "id": "1e370989", + "metadata": {}, + "source": [ + "## Convolutional Neural Networks\n", + "In this section we fit a CNN to the `CIFAR100` data, which is available in the `torchvision`\n", + "package. It is arranged in a similar fashion as the `MNIST` data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "67517b11", + "metadata": {}, + "outputs": [], + "source": [ + "(cifar_train, \n", + " cifar_test) = [CIFAR100(root=\"data\",\n", + " train=train,\n", + " download=True)\n", + " for train in [True, False]]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ee7b040e", + "metadata": {}, + "outputs": [], + "source": [ + "transform = ToTensor()\n", + "cifar_train_X = torch.stack([transform(x) for x in\n", + " cifar_train.data])\n", + "cifar_test_X = torch.stack([transform(x) for x in\n", + " cifar_test.data])\n", + "cifar_train = TensorDataset(cifar_train_X,\n", + " torch.tensor(cifar_train.targets))\n", + "cifar_test = TensorDataset(cifar_test_X,\n", + " torch.tensor(cifar_test.targets))" + ] + }, + { + "cell_type": "markdown", + "id": "2bba84d8", + "metadata": {}, + "source": [ + "The `CIFAR100` dataset consists of 50,000 training images, each represented by a three-dimensional tensor:\n", + "each three-color image is represented as a set of three channels, each of which consists of\n", + "$32\\times 32$ eight-bit pixels. We standardize as we did for the\n", + "digits, but keep the array structure. This is accomplished with the `ToTensor()` transform.\n", + "\n", + "Creating the data module is similar to the `MNIST` example." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bd9e74ad", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "cifar_dm = SimpleDataModule(cifar_train,\n", + " cifar_test,\n", + " validation=0.2,\n", + " num_workers=max_num_workers,\n", + " batch_size=128)\n" + ] + }, + { + "cell_type": "markdown", + "id": "6ee8883b", + "metadata": {}, + "source": [ + "We again look at the shape of typical batches in our data loaders." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a553b926", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "for idx, (X_ ,Y_) in enumerate(cifar_dm.train_dataloader()):\n", + " print('X: ', X_.shape)\n", + " print('Y: ', Y_.shape)\n", + " if idx >= 1:\n", + " break\n" + ] + }, + { + "cell_type": "markdown", + "id": "2b25a138", + "metadata": {}, + "source": [ + "Before we start, we look at some of the training images; similar code produced\n", + "Figure 10.5 on page 445. The example below also illustrates\n", + "that `TensorDataset` objects can be indexed with integers --- we are choosing\n", + "random images from the training data by indexing `cifar_train`. In order to display correctly,\n", + "we must reorder the dimensions by a call to `np.transpose()`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "94885e68", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig, axes = subplots(5, 5, figsize=(10,10))\n", + "rng = np.random.default_rng(4)\n", + "indices = rng.choice(np.arange(len(cifar_train)), 25,\n", + " replace=False).reshape((5,5))\n", + "for i in range(5):\n", + " for j in range(5):\n", + " idx = indices[i,j]\n", + " axes[i,j].imshow(np.transpose(cifar_train[idx][0],\n", + " [1,2,0]),\n", + " interpolation=None)\n", + " axes[i,j].set_xticks([])\n", + " axes[i,j].set_yticks([])\n" + ] + }, + { + "cell_type": "markdown", + "id": "04fda6b8", + "metadata": {}, + "source": [ + "Here the `imshow()` method recognizes from the shape of its argument that it is a 3-dimensional array, with the last dimension indexing the three RGB color channels.\n", + "\n", + "We specify a moderately-sized CNN for\n", + "demonstration purposes, similar in structure to Figure 10.8.\n", + "We use several layers, each consisting of convolution, ReLU, and max-pooling steps.\n", + "We first define a module that defines one of these layers. As in our\n", + "previous examples, we overwrite the `__init__()` and `forward()` methods\n", + "of `nn.Module`. This user-defined module can now be used in ways just like\n", + "`nn.Linear()` or `nn.Dropout()`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cdc2528a", + "metadata": {}, + "outputs": [], + "source": [ + "class BuildingBlock(nn.Module):\n", + "\n", + " def __init__(self,\n", + " in_channels,\n", + " out_channels):\n", + "\n", + " super(BuildingBlock, self).__init__()\n", + " self.conv = nn.Conv2d(in_channels=in_channels,\n", + " out_channels=out_channels,\n", + " kernel_size=(3,3),\n", + " padding='same')\n", + " self.activation = nn.ReLU()\n", + " self.pool = nn.MaxPool2d(kernel_size=(2,2))\n", + "\n", + " def forward(self, x):\n", + " return self.pool(self.activation(self.conv(x)))\n" + ] + }, + { + "cell_type": "markdown", + "id": "31891282", + "metadata": {}, + "source": [ + "Notice that we used the `padding = \"same\"` argument to\n", + "`nn.Conv2d()`, which ensures that the output channels have the\n", + "same dimension as the input channels. There are 32 channels in the first\n", + "hidden layer, in contrast to the three channels in the input layer. We\n", + "use a $3\\times 3$ convolution filter for each channel in all the layers. Each\n", + "convolution is followed by a max-pooling layer over $2\\times2$\n", + "blocks.\n", + "\n", + "In forming our deep learning model for the `CIFAR100` data, we use several of our `BuildingBlock()`\n", + "modules sequentially. This simple example\n", + "illustrates some of the power of `torch`. Users can\n", + "define modules of their own, which can be combined in other\n", + "modules. Ultimately, everything is fit by a generic trainer." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "845be1ae", + "metadata": {}, + "outputs": [], + "source": [ + "class CIFARModel(nn.Module):\n", + "\n", + " def __init__(self):\n", + " super(CIFARModel, self).__init__()\n", + " sizes = [(3,32),\n", + " (32,64),\n", + " (64,128),\n", + " (128,256)]\n", + " self.conv = nn.Sequential(*[BuildingBlock(in_, out_)\n", + " for in_, out_ in sizes])\n", + "\n", + " self.output = nn.Sequential(nn.Dropout(0.5),\n", + " nn.Linear(2*2*256, 512),\n", + " nn.ReLU(),\n", + " nn.Linear(512, 100))\n", + " def forward(self, x):\n", + " val = self.conv(x)\n", + " val = torch.flatten(val, start_dim=1)\n", + " return self.output(val)\n" + ] + }, + { + "cell_type": "markdown", + "id": "1ed2c036", + "metadata": {}, + "source": [ + "We build the model and look at the summary. (We had created examples of `X_` earlier.)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "be768cbb", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "cifar_model = CIFARModel()\n", + "summary(cifar_model,\n", + " input_data=X_,\n", + " col_names=['input_size',\n", + " 'output_size',\n", + " 'num_params'])" + ] + }, + { + "cell_type": "markdown", + "id": "6320d294", + "metadata": {}, + "source": [ + "The total number of trainable parameters is 964,516.\n", + "By studying the size of the parameters, we can see that the channels halve in both\n", + "dimensions\n", + "after each of these max-pooling operations. After the last of these we\n", + "have a layer with 256 channels of dimension $2\\times 2$. These are then\n", + "flattened to a dense layer of size 1,024;\n", + "in other words, each of the $2\\times 2$ matrices is turned into a\n", + "$4$-vector, and put side-by-side in one layer. This is followed by a\n", + "dropout regularization layer, then\n", + "another dense layer of size 512, and finally, the\n", + "output layer.\n", + "\n", + "Up to now, we have been using a default\n", + "optimizer in `SimpleModule()`. For these data,\n", + "experiments show that a smaller learning rate performs\n", + "better than the default 0.01. We use a\n", + "custom optimizer here with a learning rate of 0.001.\n", + "Besides this, the logging and training\n", + "follow a similar pattern to our previous examples. The optimizer\n", + "takes an argument `params` that informs\n", + "the optimizer which parameters are involved in SGD (stochastic gradient descent).\n", + "\n", + "We saw earlier that entries of a module’s parameters are tensors. In passing\n", + "the parameters to the optimizer we are doing more than\n", + "simply passing arrays; part of the structure of the graph\n", + "is encoded in the tensors themselves.\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "67e3e2d9", + "metadata": {}, + "outputs": [], + "source": [ + "cifar_optimizer = RMSprop(cifar_model.parameters(), lr=0.001)\n", + "cifar_module = SimpleModule.classification(cifar_model,\n", + " optimizer=cifar_optimizer)\n", + "cifar_logger = CSVLogger('logs', name='CIFAR100')\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1ea339ff", + "metadata": {}, + "outputs": [], + "source": [ + "cifar_trainer = Trainer(deterministic=True,\n", + " max_epochs=30,\n", + " logger=cifar_logger,\n", + " callbacks=[ErrorTracker()])\n", + "cifar_trainer.fit(cifar_module,\n", + " datamodule=cifar_dm)\n" + ] + }, + { + "cell_type": "markdown", + "id": "977e27d9", + "metadata": {}, + "source": [ + "This model takes 10 minutes or more to run and achieves about 42% accuracy on the test\n", + "data. Although this is not terrible for 100-class data (a random\n", + "classifier gets 1% accuracy), searching the web we see results around\n", + "75%. Typically it takes a lot of architecture carpentry,\n", + "fiddling with regularization, and time, to achieve such results.\n", + "\n", + "Let’s take a look at the validation and training accuracy\n", + "across epochs." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0a9068d9", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "log_path = cifar_logger.experiment.metrics_file_path\n", + "cifar_results = pd.read_csv(log_path)\n", + "fig, ax = subplots(1, 1, figsize=(6, 6))\n", + "summary_plot(cifar_results,\n", + " ax,\n", + " col='accuracy',\n", + " ylabel='Accuracy')\n", + "ax.set_xticks(np.linspace(0, 10, 6).astype(int))\n", + "ax.set_ylabel('Accuracy')\n", + "ax.set_ylim([0, 1]);" + ] + }, + { + "cell_type": "markdown", + "id": "9c48006a", + "metadata": {}, + "source": [ + "Finally, we evaluate our model on our test data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e71eff9b", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "cifar_trainer.test(cifar_module,\n", + " datamodule=cifar_dm)\n" + ] + }, + { + "cell_type": "markdown", + "id": "2d03b891", + "metadata": {}, + "source": [ + "### Hardware Acceleration\n", + "As deep learning has become ubiquitous in machine learning, hardware\n", + "manufacturers have produced special libraries that can\n", + "often speed up the gradient-descent steps.\n", + "\n", + "For instance, Mac OS devices with the M1 chip may have the *Metal* programming framework\n", + "enabled, which can speed up the `torch` \n", + "computations. We present an example of how to use this acceleration.\n", + "\n", + "The main changes are to the `Trainer()` call as well as to the metrics\n", + "that will be evaluated on the data. These metrics must be told where\n", + "the data will be located at evaluation time. This is\n", + "accomplished with a call to the `to()` method of the metrics." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "58eae430", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "try:\n", + " for name, metric in cifar_module.metrics.items():\n", + " cifar_module.metrics[name] = metric.to('mps')\n", + " cifar_trainer_mps = Trainer(accelerator='mps',\n", + " deterministic=True,\n", + " max_epochs=30)\n", + " cifar_trainer_mps.fit(cifar_module,\n", + " datamodule=cifar_dm)\n", + " cifar_trainer_mps.test(cifar_module,\n", + " datamodule=cifar_dm)\n", + "except:\n", + " pass" + ] + }, + { + "cell_type": "markdown", + "id": "0c7227ef", + "metadata": {}, + "source": [ + "This yields approximately two- or three-fold acceleration for each epoch.\n", + "We have protected this code block using `try:` and `except:`\n", + "clauses; if it works, we get the speedup, if it fails, nothing happens." + ] + }, + { + "cell_type": "markdown", + "id": "4328a190", + "metadata": {}, + "source": [ + "## Using Pretrained CNN Models\n", + "We now show how to use a CNN pretrained on the `imagenet` database to classify natural\n", + "images, and demonstrate how we produced Figure 10.10.\n", + "We copied six JPEG images from a digital photo album into the\n", + "directory `book_images`. These images are available\n", + "from the data section of , the ISLP book website. Download `book_images.zip`; when\n", + "clicked it creates the `book_images` directory. \n", + "\n", + "The pretrained network we use is called `resnet50`; specification details can be found on the web.\n", + "We will read in the images, and\n", + "convert them into the array format expected by the `torch`\n", + "software to match the specifications in `resnet50`. \n", + "The conversion involves a resize, a crop and then a predefined standardization for each of the three channels.\n", + "We now read in the images and preprocess them." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "638a1c8c", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "resize = Resize((232,232))\n", + "crop = CenterCrop(224)\n", + "normalize = Normalize([0.485,0.456,0.406],\n", + " [0.229,0.224,0.225])\n", + "imgfiles = sorted([f for f in glob('book_images/*')])\n", + "imgs = torch.stack([torch.div(crop(resize(read_image(f))), 255)\n", + " for f in imgfiles])\n", + "imgs = normalize(imgs)\n", + "imgs.size()" + ] + }, + { + "cell_type": "markdown", + "id": "a2c5aec2", + "metadata": {}, + "source": [ + "We now set up the trained network with the weights we read in code block~6. The model has 50 layers, with a fair bit of complexity." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7776ed1e", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "resnet_model = resnet50(weights=ResNet50_Weights.DEFAULT)\n", + "summary(resnet_model,\n", + " input_data=imgs,\n", + " col_names=['input_size',\n", + " 'output_size',\n", + " 'num_params'])\n" + ] + }, + { + "cell_type": "markdown", + "id": "0d29ab45", + "metadata": {}, + "source": [ + "We set the mode to `eval()` to ensure that the model is ready to predict on new data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5c8e359d", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "resnet_model.eval()" + ] + }, + { + "cell_type": "markdown", + "id": "228a6411", + "metadata": {}, + "source": [ + "Inspecting the output above, we see that when setting up the\n", + "`resnet_model`, the authors defined a `Bottleneck`, much like our\n", + "`BuildingBlock` module.\n", + "\n", + "We now feed our six images through the fitted network." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "80f19869", + "metadata": {}, + "outputs": [], + "source": [ + "img_preds = resnet_model(imgs)\n" + ] + }, + { + "cell_type": "markdown", + "id": "e7bd653f", + "metadata": {}, + "source": [ + "Let’s look at the predicted probabilities for each of the top 3 choices. First we compute\n", + "the probabilities by applying the softmax to the logits in `img_preds`. Note that\n", + "we have had to call the `detach()` method on the tensor `img_preds` in order to convert\n", + "it to our a more familiar `ndarray`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6892597d", + "metadata": {}, + "outputs": [], + "source": [ + "img_probs = np.exp(np.asarray(img_preds.detach()))\n", + "img_probs /= img_probs.sum(1)[:,None]\n" + ] + }, + { + "cell_type": "markdown", + "id": "b0f07763", + "metadata": {}, + "source": [ + "In order to see the class labels, we must download the index file associated with `imagenet`. {This is avalable from the book website and [s3.amazonaws.com/deep-learning-models/image-models/imagenet_class_index.json](https://s3.amazonaws.com/deep-learning-models/image-models/imagenet_class_index.json).}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3eb1e1b0", + "metadata": {}, + "outputs": [], + "source": [ + "labs = json.load(open('imagenet_class_index.json'))\n", + "class_labels = pd.DataFrame([(int(k), v[1]) for k, v in \n", + " labs.items()],\n", + " columns=['idx', 'label'])\n", + "class_labels = class_labels.set_index('idx')\n", + "class_labels = class_labels.sort_index()\n" + ] + }, + { + "cell_type": "markdown", + "id": "7779e914", + "metadata": {}, + "source": [ + "We’ll now construct a data frame for each image file\n", + "with the labels with the three highest probabilities as\n", + "estimated by the model above." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0e89d251", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "for i, imgfile in enumerate(imgfiles):\n", + " img_df = class_labels.copy()\n", + " img_df['prob'] = img_probs[i]\n", + " img_df = img_df.sort_values(by='prob', ascending=False)[:3]\n", + " print(f'Image: {imgfile}')\n", + " print(img_df.reset_index().drop(columns=['idx']))\n" + ] + }, + { + "cell_type": "markdown", + "id": "7f9d3843", + "metadata": {}, + "source": [ + "We see that the model\n", + "is quite confident about `Flamingo.jpg`, but a little less so for the\n", + "other images.\n", + "\n", + "We end this section with our usual cleanup." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "69456669", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "del(cifar_test,\n", + " cifar_train,\n", + " cifar_dm,\n", + " cifar_module,\n", + " cifar_logger,\n", + " cifar_optimizer,\n", + " cifar_trainer)" + ] + }, + { + "cell_type": "markdown", + "id": "64b33c4d", + "metadata": {}, + "source": [ + "## IMDB Document Classification\n", + "We now implement models for sentiment classification (Section 10.4) on the `IMDB`\n", + "dataset. As mentioned above code block~8, we are using\n", + "a preprocessed version of the `IMDB` dataset found in the\n", + "`keras` package. As `keras` uses `tensorflow`, a different\n", + "tensor and deep learning library, we have\n", + "converted the data to be suitable for `torch`. The\n", + "code used to convert from `keras` is\n", + "available in the module `ISLP.torch._make_imdb`. It\n", + "requires some of the `keras` packages to run. These data use a dictionary of size 10,000.\n", + "\n", + "We have stored three different representations of the review data for this lab:\n", + "\n", + "* `load_tensor()`, a sparse tensor version usable by `torch`;\n", + "* `load_sparse()`, a sparse matrix version usable by `sklearn`, since we will compare with a lasso fit;\n", + "* `load_sequential()`, a padded\n", + "version of the original sequence representation, limited to the last\n", + "500 words of each review.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "70b3ece2", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "(imdb_seq_train,\n", + " imdb_seq_test) = load_sequential(root='data/IMDB')\n", + "padded_sample = np.asarray(imdb_seq_train.tensors[0][0])\n", + "sample_review = padded_sample[padded_sample > 0][:12]\n", + "sample_review[:12]\n" + ] + }, + { + "cell_type": "markdown", + "id": "d6b73c18", + "metadata": {}, + "source": [ + "The datasets `imdb_seq_train` and `imdb_seq_test` are\n", + "both instances of the class `TensorDataset`. The\n", + "tensors used to construct them can be found in the `tensors` attribute, with\n", + "the first tensor the features `X` and the second the outcome `Y`.\n", + "We have taken the first row of features and stored it as `padded_sample`. In the preprocessing\n", + "used to form these data, sequences were padded with 0s in the beginning if they were\n", + "not long enough, hence we remove this padding by restricting to entries where\n", + "`padded_sample > 0`. We then provide the first 12 words of the sample review.\n", + "\n", + "We can find these words in the `lookup` dictionary from the `ISLP.torch.imdb` module." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "349b2af7", + "metadata": {}, + "outputs": [], + "source": [ + "lookup = load_lookup(root='data/IMDB')\n", + "' '.join(lookup[i] for i in sample_review)" + ] + }, + { + "cell_type": "markdown", + "id": "99d5a108", + "metadata": {}, + "source": [ + "For our first model, we have created a binary feature for each\n", + "of the 10,000 possible words in the dataset, with an entry of one\n", + "in the $i,j$ entry if word $j$ appears in review $i$. As most reviews\n", + "are quite short, such a feature matrix has over 98% zeros. These data\n", + "are accessed using `load_tensor()` from the `ISLP` library." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ffa8da37", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "max_num_workers=10\n", + "(imdb_train,\n", + " imdb_test) = load_tensor(root='data/IMDB')\n", + "imdb_dm = SimpleDataModule(imdb_train,\n", + " imdb_test,\n", + " validation=2000,\n", + " num_workers=min(6, max_num_workers),\n", + " batch_size=512)\n" + ] + }, + { + "cell_type": "markdown", + "id": "e53eea99", + "metadata": {}, + "source": [ + "We’ll use a two-layer model for our first model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "11eeeabb", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "class IMDBModel(nn.Module):\n", + "\n", + " def __init__(self, input_size):\n", + " super(IMDBModel, self).__init__()\n", + " self.dense1 = nn.Linear(input_size, 16)\n", + " self.activation = nn.ReLU()\n", + " self.dense2 = nn.Linear(16, 16)\n", + " self.output = nn.Linear(16, 1)\n", + "\n", + " def forward(self, x):\n", + " val = x\n", + " for _map in [self.dense1,\n", + " self.activation,\n", + " self.dense2,\n", + " self.activation,\n", + " self.output]:\n", + " val = _map(val)\n", + " return torch.flatten(val)\n" + ] + }, + { + "cell_type": "markdown", + "id": "943bf8d4", + "metadata": {}, + "source": [ + "We now instantiate our model and look at a summary." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5fe55a29", + "metadata": {}, + "outputs": [], + "source": [ + "imdb_model = IMDBModel(imdb_test.tensors[0].size()[1])\n", + "summary(imdb_model,\n", + " input_size=imdb_test.tensors[0].size(),\n", + " col_names=['input_size',\n", + " 'output_size',\n", + " 'num_params'])\n" + ] + }, + { + "cell_type": "markdown", + "id": "a49a0145", + "metadata": {}, + "source": [ + "We’ll again use\n", + "a smaller learning rate for these data,\n", + "hence we pass an `optimizer` to the\n", + "`SimpleModule`. \n", + "Since the reviews are classified into\n", + "positive or negative sentiment, we use\n", + "`SimpleModule.binary_classification()`. {Our use of\n", + " `binary_classification()` instead of `classification()` is\n", + " due to some subtlety in how `torchmetrics.Accuracy()` works,\n", + "as well as the data type of the targets.}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e1ebbc70", + "metadata": {}, + "outputs": [], + "source": [ + "imdb_optimizer = RMSprop(imdb_model.parameters(), lr=0.001)\n", + "imdb_module = SimpleModule.binary_classification(\n", + " imdb_model,\n", + " optimizer=imdb_optimizer)\n" + ] + }, + { + "cell_type": "markdown", + "id": "18076d4c", + "metadata": {}, + "source": [ + "Having loaded the datasets into a data module\n", + "and created a `SimpleModule`, the remaining steps\n", + "are familiar." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9feddeb2", + "metadata": {}, + "outputs": [], + "source": [ + "imdb_logger = CSVLogger('logs', name='IMDB')\n", + "imdb_trainer = Trainer(deterministic=True,\n", + " max_epochs=30,\n", + " logger=imdb_logger,\n", + " callbacks=[ErrorTracker()])\n", + "imdb_trainer.fit(imdb_module,\n", + " datamodule=imdb_dm)" + ] + }, + { + "cell_type": "markdown", + "id": "f28e6658", + "metadata": {}, + "source": [ + "Evaluating the test error yields roughly 86% accuracy." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "887d7dad", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "test_results = imdb_trainer.test(imdb_module, datamodule=imdb_dm)\n", + "test_results" + ] + }, + { + "cell_type": "markdown", + "id": "d2f87545", + "metadata": {}, + "source": [ + "### Comparison to Lasso\n", + "We now fit a lasso logistic regression model\n", + " using `LogisticRegression()` from `sklearn`. Since `sklearn` does not recognize\n", + "the sparse tensors of `torch`, we use a sparse\n", + "matrix that is recognized by `sklearn.`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "055a9aeb", + "metadata": {}, + "outputs": [], + "source": [ + "((X_train, Y_train),\n", + " (X_valid, Y_valid),\n", + " (X_test, Y_test)) = load_sparse(validation=2000,\n", + " random_state=0,\n", + " root='data/IMDB')\n" + ] + }, + { + "cell_type": "markdown", + "id": "d8324d03", + "metadata": {}, + "source": [ + "Similar to what we did in\n", + "Section 10.9.1,\n", + "we construct a series of 50 values for the lasso reguralization parameter $\\lambda$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e3e1e181", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "lam_max = np.abs(X_train.T * (Y_train - Y_train.mean())).max()\n", + "lam_val = lam_max * np.exp(np.linspace(np.log(1),\n", + " np.log(1e-4), 50))\n" + ] + }, + { + "cell_type": "markdown", + "id": "73e7d53e", + "metadata": {}, + "source": [ + "With `LogisticRegression()` the regularization parameter\n", + "$C$ is specified as the inverse of $\\lambda$. There are several\n", + "solvers for logistic regression; here we use `liblinear` which\n", + "works well with the sparse input format. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dd64350c", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "logit = LogisticRegression(penalty='l1', \n", + " C=1/lam_max,\n", + " solver='liblinear',\n", + " warm_start=True,\n", + " fit_intercept=True)\n" + ] + }, + { + "cell_type": "markdown", + "id": "f0e9739a", + "metadata": {}, + "source": [ + "The path of 50 values takes approximately 40 seconds to run." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0bf8b868", + "metadata": {}, + "outputs": [], + "source": [ + "coefs = []\n", + "intercepts = []\n", + "\n", + "for l in lam_val:\n", + " logit.C = 1/l\n", + " logit.fit(X_train, Y_train)\n", + " coefs.append(logit.coef_.copy())\n", + " intercepts.append(logit.intercept_)\n" + ] + }, + { + "cell_type": "markdown", + "id": "95f4fbff", + "metadata": {}, + "source": [ + "The coefficient and intercepts have an extraneous dimension which can be removed\n", + "by the `np.squeeze()` function." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "28256828", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "coefs = np.squeeze(coefs)\n", + "intercepts = np.squeeze(intercepts)\n" + ] + }, + { + "cell_type": "markdown", + "id": "94e746f6", + "metadata": {}, + "source": [ + "We’ll now make a plot to compare our neural network results with the\n", + "lasso." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a5945618", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "%%capture\n", + "fig, axes = subplots(1, 2, figsize=(16, 8), sharey=True)\n", + "for ((X_, Y_),\n", + " data_,\n", + " color) in zip([(X_train, Y_train),\n", + " (X_valid, Y_valid),\n", + " (X_test, Y_test)],\n", + " ['Training', 'Validation', 'Test'],\n", + " ['black', 'red', 'blue']):\n", + " linpred_ = X_ * coefs.T + intercepts[None,:]\n", + " label_ = np.array(linpred_ > 0)\n", + " accuracy_ = np.array([np.mean(Y_ == l) for l in label_.T])\n", + " axes[0].plot(-np.log(lam_val / X_train.shape[0]),\n", + " accuracy_,\n", + " '.--',\n", + " color=color,\n", + " markersize=13,\n", + " linewidth=2,\n", + " label=data_)\n", + "axes[0].legend()\n", + "axes[0].set_xlabel(r'$-\\log(\\lambda)$', fontsize=20)\n", + "axes[0].set_ylabel('Accuracy', fontsize=20)\n" + ] + }, + { + "cell_type": "markdown", + "id": "7dc7e494", + "metadata": {}, + "source": [ + "Notice the use of `%%capture`, which suppresses the displaying of the partially completed figure. This is useful\n", + "when making a complex figure, since the steps can be spread across two or more cells.\n", + "We now add a plot of the lasso accuracy, and display the composed figure by simply entering its name at the end of the cell." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "74704884", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "imdb_results = pd.read_csv(imdb_logger.experiment.metrics_file_path)\n", + "summary_plot(imdb_results,\n", + " axes[1],\n", + " col='accuracy',\n", + " ylabel='Accuracy')\n", + "axes[1].set_xticks(np.linspace(0, 30, 7).astype(int))\n", + "axes[1].set_ylabel('Accuracy', fontsize=20)\n", + "axes[1].set_xlabel('Epoch', fontsize=20)\n", + "axes[1].set_ylim([0.5, 1]);\n", + "axes[1].axhline(test_results[0]['test_accuracy'],\n", + " color='blue',\n", + " linestyle='--',\n", + " linewidth=3)\n", + "fig" + ] + }, + { + "cell_type": "markdown", + "id": "7898334d", + "metadata": {}, + "source": [ + "From the graphs we see that the accuracy of the lasso logistic regression peaks at about $0.88$, as it does for the neural network.\n", + "\n", + "Once again, we end with a cleanup." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b1ecfca8", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "del(imdb_model,\n", + " imdb_trainer,\n", + " imdb_logger,\n", + " imdb_dm,\n", + " imdb_train,\n", + " imdb_test)" + ] + }, + { + "cell_type": "markdown", + "id": "0169cd1b", + "metadata": {}, + "source": [ + "## Recurrent Neural Networks\n", + "In this lab we fit the models illustrated in\n", + "Section 10.5." + ] + }, + { + "cell_type": "markdown", + "id": "6e7f96cc", + "metadata": {}, + "source": [ + "### Sequential Models for Document Classification\n", + "Here we fit a simple LSTM RNN for sentiment prediction to\n", + "the `IMDb` movie-review data, as discussed in Section 10.5.1.\n", + "For an RNN we use the sequence of words in a document, taking their\n", + "order into account. We loaded the preprocessed \n", + "data at the beginning of\n", + "Section 10.9.5.\n", + "A script that details the preprocessing can be found in the\n", + "`ISLP` library. Notably, since more than 90% of the documents\n", + "had fewer than 500 words, we set the document length to 500. For\n", + "longer documents, we used the last 500 words, and for shorter\n", + "documents, we padded the front with blanks.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5503cb3f", + "metadata": {}, + "outputs": [], + "source": [ + "imdb_seq_dm = SimpleDataModule(imdb_seq_train,\n", + " imdb_seq_test,\n", + " validation=2000,\n", + " batch_size=300,\n", + " num_workers=min(6, max_num_workers)\n", + " )\n" + ] + }, + { + "cell_type": "markdown", + "id": "356b76f2", + "metadata": {}, + "source": [ + "The first layer of the RNN is an embedding layer of size 32, which will be\n", + "learned during training. This layer one-hot encodes each document\n", + "as a matrix of dimension $500 \\times 10,003$, and then maps these\n", + "$10,003$ dimensions down to $32$. {The extra 3 dimensions\n", + "correspond to commonly occurring non-word entries in the reviews.}\n", + " Since each word is represented by an\n", + "integer, this is effectively achieved by the creation of an embedding\n", + "matrix of size $10,003\\times 32$; each of the 500 integers in the\n", + "document are then mapped to the appropriate 32 real numbers by\n", + "indexing the appropriate rows of this matrix." + ] + }, + { + "cell_type": "markdown", + "id": "14ddd9a9", + "metadata": {}, + "source": [ + "The second layer is an LSTM with 32 units, and the output\n", + "layer is a single logit for the binary classification task.\n", + "In the last line of the `forward()` method below,\n", + "we take the last 32-dimensional output of the LSTM and map it to our response." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8b683641", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "class LSTMModel(nn.Module):\n", + " def __init__(self, input_size):\n", + " super(LSTMModel, self).__init__()\n", + " self.embedding = nn.Embedding(input_size, 32)\n", + " self.lstm = nn.LSTM(input_size=32,\n", + " hidden_size=32,\n", + " batch_first=True)\n", + " self.dense = nn.Linear(32, 1)\n", + " def forward(self, x):\n", + " val, (h_n, c_n) = self.lstm(self.embedding(x))\n", + " return torch.flatten(self.dense(val[:,-1]))" + ] + }, + { + "cell_type": "markdown", + "id": "b7903383", + "metadata": {}, + "source": [ + "We instantiate and take a look at the summary of the model, using the\n", + "first 10 documents in the corpus." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "702aa8de", + "metadata": {}, + "outputs": [], + "source": [ + "lstm_model = LSTMModel(X_test.shape[-1])\n", + "summary(lstm_model,\n", + " input_data=imdb_seq_train.tensors[0][:10],\n", + " col_names=['input_size',\n", + " 'output_size',\n", + " 'num_params'])\n" + ] + }, + { + "cell_type": "markdown", + "id": "f663b95c", + "metadata": {}, + "source": [ + "The 10,003 is suppressed in the summary, but we see it in the\n", + "parameter count, since $10,003\\times 32=320,096$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e48aa272", + "metadata": {}, + "outputs": [], + "source": [ + "lstm_module = SimpleModule.binary_classification(lstm_model)\n", + "lstm_logger = CSVLogger('logs', name='IMDB_LSTM')\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "143be7e8", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "lstm_trainer = Trainer(deterministic=True,\n", + " max_epochs=20,\n", + " logger=lstm_logger,\n", + " callbacks=[ErrorTracker()])\n", + "lstm_trainer.fit(lstm_module,\n", + " datamodule=imdb_seq_dm)\n" + ] + }, + { + "cell_type": "markdown", + "id": "55dc2b66", + "metadata": {}, + "source": [ + "The rest is now similar to other networks we have fit. We\n", + "track the test performance as the network is fit, and see that it attains 85% accuracy." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9272e2ba", + "metadata": {}, + "outputs": [], + "source": [ + "lstm_trainer.test(lstm_module, datamodule=imdb_seq_dm)" + ] + }, + { + "cell_type": "markdown", + "id": "eee55195", + "metadata": {}, + "source": [ + "We once again show the learning progress, followed by cleanup." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5d9d387e", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "lstm_results = pd.read_csv(lstm_logger.experiment.metrics_file_path)\n", + "fig, ax = subplots(1, 1, figsize=(6, 6))\n", + "summary_plot(lstm_results,\n", + " ax,\n", + " col='accuracy',\n", + " ylabel='Accuracy')\n", + "ax.set_xticks(np.linspace(0, 20, 5).astype(int))\n", + "ax.set_ylabel('Accuracy')\n", + "ax.set_ylim([0.5, 1])\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7c6d1072", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "del(lstm_model,\n", + " lstm_trainer,\n", + " lstm_logger,\n", + " imdb_seq_dm,\n", + " imdb_seq_train,\n", + " imdb_seq_test)\n" + ] + }, + { + "cell_type": "markdown", + "id": "7d179385", + "metadata": {}, + "source": [ + "### Time Series Prediction\n", + "We now show how to fit the models in Section 10.5.2\n", + "for time series prediction.\n", + "We first load and standardize the data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8e2d1d5c", + "metadata": {}, + "outputs": [], + "source": [ + "NYSE = load_data('NYSE')\n", + "cols = ['DJ_return', 'log_volume', 'log_volatility']\n", + "X = pd.DataFrame(StandardScaler(\n", + " with_mean=True,\n", + " with_std=True).fit_transform(NYSE[cols]),\n", + " columns=NYSE[cols].columns,\n", + " index=NYSE.index)\n" + ] + }, + { + "cell_type": "markdown", + "id": "6ad4a748", + "metadata": {}, + "source": [ + "Next we set up the lagged versions of the data, dropping\n", + "any rows with missing values using the `dropna()` method." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6f6d0e12", + "metadata": {}, + "outputs": [], + "source": [ + "for lag in range(1, 6):\n", + " for col in cols:\n", + " newcol = np.zeros(X.shape[0]) * np.nan\n", + " newcol[lag:] = X[col].values[:-lag]\n", + " X.insert(len(X.columns), \"{0}_{1}\".format(col, lag), newcol)\n", + "X.insert(len(X.columns), 'train', NYSE['train'])\n", + "X = X.dropna()\n" + ] + }, + { + "cell_type": "markdown", + "id": "91a924d2", + "metadata": {}, + "source": [ + "Finally, we extract the response, training indicator, and drop the current day’s `DJ_return` and\n", + "`log_volatility` to predict only from previous day’s data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d3c961ec", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "Y, train = X['log_volume'], X['train']\n", + "X = X.drop(columns=['train'] + cols)\n", + "X.columns\n" + ] + }, + { + "cell_type": "markdown", + "id": "1c5f8d2f", + "metadata": {}, + "source": [ + "We first fit a simple linear model and compute the $R^2$ on the test data using\n", + "the `score()` method." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cb89da88", + "metadata": {}, + "outputs": [], + "source": [ + "M = LinearRegression()\n", + "M.fit(X[train], Y[train])\n", + "M.score(X[~train], Y[~train])" + ] + }, + { + "cell_type": "markdown", + "id": "b92425ab", + "metadata": {}, + "source": [ + "We refit this model, including the factor variable `day_of_week`.\n", + "For a categorical series in `pandas`, we can form the indicators\n", + "using the `get_dummies()` method." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "55d921d7", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "X_day = pd.merge(X, \n", + " pd.get_dummies(NYSE['day_of_week']),\n", + " on='date')" + ] + }, + { + "cell_type": "markdown", + "id": "afab736a", + "metadata": {}, + "source": [ + " Note that we do not have\n", + "to reinstantiate the linear regression model\n", + "as its `fit()` method accepts a design matrix and a response directly." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e87eeb9", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "M.fit(X_day[train], Y[train])\n", + "M.score(X_day[~train], Y[~train])" + ] + }, + { + "cell_type": "markdown", + "id": "43309e3b", + "metadata": {}, + "source": [ + "This model achieves an $R^2$ of about 46%." + ] + }, + { + "cell_type": "markdown", + "id": "93c61d80", + "metadata": {}, + "source": [ + "To fit the RNN, we must reshape the data, as it will expect 5 lagged\n", + "versions of each feature as indicated by the `input_shape` argument\n", + "to the layer `nn.RNN()` below. We first\n", + "ensure the columns of our data frame are such that a reshaped\n", + "matrix will have the variables correctly lagged. We use the\n", + "`reindex()` method to do this.\n", + "\n", + "For an input shape `(5,3)`, each row represents a lagged version of the three variables.\n", + "The `nn.RNN()` layer also expects the first row of each\n", + "observation to be earliest in time, so we must reverse the current order. Hence we loop over\n", + "`range(5,0,-1)` below, which is\n", + "an example of using a `slice()` to index\n", + "iterable objects. The general notation is `start:end:step`. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3689b318", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "ordered_cols = []\n", + "for lag in range(5,0,-1):\n", + " for col in cols:\n", + " ordered_cols.append('{0}_{1}'.format(col, lag))\n", + "X = X.reindex(columns=ordered_cols)\n", + "X.columns\n" + ] + }, + { + "cell_type": "markdown", + "id": "9dbcf9f7", + "metadata": {}, + "source": [ + "We now reshape the data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5633e521", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "X_rnn = X.to_numpy().reshape((-1,5,3))\n", + "X_rnn.shape" + ] + }, + { + "cell_type": "markdown", + "id": "bd3ae3ff", + "metadata": {}, + "source": [ + "By specifying the first size as -1, `numpy.reshape()` deduces its size based on the remaining arguments.\n", + "\n", + "Now we are ready to proceed with the RNN, which uses 12 hidden units, and 10%\n", + "dropout.\n", + "After passing through the RNN, we extract the final time point as `val[:,-1]`\n", + "in `forward()` below. This gets passed through a 10% dropout and then flattened through\n", + "a linear layer." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "979a6066", + "metadata": {}, + "outputs": [], + "source": [ + "class NYSEModel(nn.Module):\n", + " def __init__(self):\n", + " super(NYSEModel, self).__init__()\n", + " self.rnn = nn.RNN(3,\n", + " 12,\n", + " batch_first=True)\n", + " self.dense = nn.Linear(12, 1)\n", + " self.dropout = nn.Dropout(0.1)\n", + " def forward(self, x):\n", + " val, h_n = self.rnn(x)\n", + " val = self.dense(self.dropout(val[:,-1]))\n", + " return torch.flatten(val)\n", + "nyse_model = NYSEModel()" + ] + }, + { + "cell_type": "markdown", + "id": "14671ab2", + "metadata": {}, + "source": [ + "We fit the model in a similar fashion to previous networks. We\n", + "supply the `fit` function with test data as validation data, so that when\n", + "we monitor its progress and plot the history function we can see the\n", + "progress on the test data. Of course we should not use this as a basis for\n", + "early stopping, since then the test performance would be biased.\n", + "\n", + "We form the training dataset similar to\n", + "our `Hitters` example." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3528f4e7", + "metadata": {}, + "outputs": [], + "source": [ + "datasets = []\n", + "for mask in [train, ~train]:\n", + " X_rnn_t = torch.tensor(X_rnn[mask].astype(np.float32))\n", + " Y_t = torch.tensor(Y[mask].astype(np.float32))\n", + " datasets.append(TensorDataset(X_rnn_t, Y_t))\n", + "nyse_train, nyse_test = datasets\n" + ] + }, + { + "cell_type": "markdown", + "id": "1a731099", + "metadata": {}, + "source": [ + "Following our usual pattern, we inspect the summary." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "795c283e", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "summary(nyse_model,\n", + " input_data=X_rnn_t,\n", + " col_names=['input_size',\n", + " 'output_size',\n", + " 'num_params'])\n" + ] + }, + { + "cell_type": "markdown", + "id": "650e0ec7", + "metadata": {}, + "source": [ + "\\newpage\n", + "We again put the two datasets into a data module, with a\n", + "batch size of 64." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "31640121", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "nyse_dm = SimpleDataModule(nyse_train,\n", + " nyse_test,\n", + " num_workers=min(4, max_num_workers),\n", + " validation=nyse_test,\n", + " batch_size=64)" + ] + }, + { + "cell_type": "markdown", + "id": "1de7ae89", + "metadata": {}, + "source": [ + "We run some data through our model to be sure the sizes match up correctly." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "af6795f5", + "metadata": {}, + "outputs": [], + "source": [ + "for idx, (x, y) in enumerate(nyse_dm.train_dataloader()):\n", + " out = nyse_model(x)\n", + " print(y.size(), out.size())\n", + " if idx >= 2:\n", + " break\n" + ] + }, + { + "cell_type": "markdown", + "id": "eecb6d9c", + "metadata": {}, + "source": [ + "We follow our previous example for setting up a trainer for a\n", + "regression problem, requesting the $R^2$ metric\n", + "to be be computed at each epoch." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0d04344c", + "metadata": {}, + "outputs": [], + "source": [ + "nyse_optimizer = RMSprop(nyse_model.parameters(),\n", + " lr=0.001)\n", + "nyse_module = SimpleModule.regression(nyse_model,\n", + " optimizer=nyse_optimizer,\n", + " metrics={'r2':R2Score()})\n" + ] + }, + { + "cell_type": "markdown", + "id": "9a10444d", + "metadata": {}, + "source": [ + "Fitting the model should by now be familiar.\n", + "The results on the test data are very similar to the linear AR model. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "485d7bb1", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "nyse_trainer = Trainer(deterministic=True,\n", + " max_epochs=200,\n", + " callbacks=[ErrorTracker()])\n", + "nyse_trainer.fit(nyse_module,\n", + " datamodule=nyse_dm)\n", + "nyse_trainer.test(nyse_module,\n", + " datamodule=nyse_dm)" + ] + }, + { + "cell_type": "markdown", + "id": "dbd13ee3", + "metadata": {}, + "source": [ + "We could also fit a model without the `nn.RNN()` layer by just\n", + "using a `nn.Flatten()` layer instead. This would be a nonlinear AR model. If in addition we excluded the \n", + "hidden layer, this would be equivalent to our earlier linear AR model. \n", + "\n", + "Instead we will fit a nonlinear AR model using the feature set `X_day` that includes the `day_of_week` indicators.\n", + "To do so, we\n", + "must first create our test and training datasets and a corresponding\n", + "data module. This may seem a little burdensome, but is part of the\n", + "general pipeline for `torch`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "91d6633a", + "metadata": {}, + "outputs": [], + "source": [ + "datasets = []\n", + "for mask in [train, ~train]:\n", + " X_day_t = torch.tensor(\n", + " np.asarray(X_day[mask]).astype(np.float32))\n", + " Y_t = torch.tensor(np.asarray(Y[mask]).astype(np.float32))\n", + " datasets.append(TensorDataset(X_day_t, Y_t))\n", + "day_train, day_test = datasets" + ] + }, + { + "cell_type": "markdown", + "id": "b5cf941c", + "metadata": {}, + "source": [ + "Creating a data module follows a familiar pattern." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "87137503", + "metadata": {}, + "outputs": [], + "source": [ + "day_dm = SimpleDataModule(day_train,\n", + " day_test,\n", + " num_workers=min(4, max_num_workers),\n", + " validation=day_test,\n", + " batch_size=64)\n" + ] + }, + { + "cell_type": "markdown", + "id": "2575f374", + "metadata": {}, + "source": [ + "We build a `NonLinearARModel()` that takes as input the 20 features and a hidden layer with 32 units. The remaining steps are familiar." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3cf09a55", + "metadata": {}, + "outputs": [], + "source": [ + "class NonLinearARModel(nn.Module):\n", + " def __init__(self):\n", + " super(NonLinearARModel, self).__init__()\n", + " self._forward = nn.Sequential(nn.Flatten(),\n", + " nn.Linear(20, 32),\n", + " nn.ReLU(),\n", + " nn.Dropout(0.5),\n", + " nn.Linear(32, 1))\n", + " def forward(self, x):\n", + " return torch.flatten(self._forward(x))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "930576f3", + "metadata": {}, + "outputs": [], + "source": [ + "nl_model = NonLinearARModel()\n", + "nl_optimizer = RMSprop(nl_model.parameters(),\n", + " lr=0.001)\n", + "nl_module = SimpleModule.regression(nl_model,\n", + " optimizer=nl_optimizer,\n", + " metrics={'r2':R2Score()})\n" + ] + }, + { + "cell_type": "markdown", + "id": "a0e3043c", + "metadata": {}, + "source": [ + "We continue with the usual training steps, fit the model,\n", + "and evaluate the test error. We see the test $R^2$ is a slight improvement over the linear AR model that also includes `day_of_week`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b9ae8d0e", + "metadata": {}, + "outputs": [], + "source": [ + "nl_trainer = Trainer(deterministic=True,\n", + " max_epochs=20,\n", + " callbacks=[ErrorTracker()])\n", + "nl_trainer.fit(nl_module, datamodule=day_dm)\n", + "nl_trainer.test(nl_module, datamodule=day_dm) " + ] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "-all", + "formats": "ipynb,Rmd", + "main_language": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/source/labs/Ch11-surv-lab.ipynb b/docs/source/labs/Ch11-surv-lab.ipynb new file mode 100644 index 0000000..9e0eda6 --- /dev/null +++ b/docs/source/labs/Ch11-surv-lab.ipynb @@ -0,0 +1,959 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "709be2a4", + "metadata": {}, + "source": [ + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "c7f4eb5a", + "metadata": {}, + "source": [ + "# Survival Analysis\n", + " In this lab, we perform survival analyses on three separate data\n", + "sets. In Section 11.8.1 we analyze the `BrainCancer` \n", + "data that was first described in Section 11.3. In Section 11.8.2, we examine the `Publication` \n", + "data from Section 11.5.4. Finally, Section 11.8.3 explores\n", + "a simulated call-center data set.\n", + "\n", + "We begin by importing some of our libraries at this top\n", + "level. This makes the code more readable, as scanning the first few\n", + "lines of the notebook tell us what libraries are used in this\n", + "notebook." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "91ac40fd", + "metadata": {}, + "outputs": [], + "source": [ + "from matplotlib.pyplot import subplots\n", + "import numpy as np\n", + "import pandas as pd\n", + "from ISLP.models import ModelSpec as MS\n", + "from ISLP import load_data\n" + ] + }, + { + "cell_type": "markdown", + "id": "a3dbcbbf", + "metadata": {}, + "source": [ + "We also collect the new imports\n", + "needed for this lab." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "99782418", + "metadata": {}, + "outputs": [], + "source": [ + "from lifelines import \\\n", + " (KaplanMeierFitter,\n", + " CoxPHFitter)\n", + "from lifelines.statistics import \\\n", + " (logrank_test,\n", + " multivariate_logrank_test)\n", + "from ISLP.survival import sim_time\n" + ] + }, + { + "cell_type": "markdown", + "id": "2c538d28", + "metadata": {}, + "source": [ + "## Brain Cancer Data\n", + "\n", + "We begin with the `BrainCancer` data set, contained in the `ISLP` package." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3137149a", + "metadata": {}, + "outputs": [], + "source": [ + "BrainCancer = load_data('BrainCancer')\n", + "BrainCancer.columns\n" + ] + }, + { + "cell_type": "markdown", + "id": "e798f172", + "metadata": {}, + "source": [ + "The rows index the 88 patients, while the 8 columns contain the predictors and outcome variables.\n", + "We first briefly examine the data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "45963c92", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "BrainCancer['sex'].value_counts()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "73be61f6", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "BrainCancer['diagnosis'].value_counts()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "572f0b9e", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "BrainCancer['status'].value_counts()\n" + ] + }, + { + "cell_type": "markdown", + "id": "fbd132de", + "metadata": {}, + "source": [ + "Before beginning an analysis, it is important to know how the\n", + "`status` variable has been coded. Most software\n", + "uses the convention that a `status` of 1 indicates an\n", + "uncensored observation (often death), and a `status` of 0 indicates a censored\n", + "observation. But some scientists might use the opposite coding. For\n", + "the `BrainCancer` data set 35 patients died before the end of\n", + "the study, so we are using the conventional coding.\n", + "\n", + "To begin the analysis, we re-create the Kaplan-Meier survival curve shown in Figure 11.2. The main\n", + "package we will use for survival analysis\n", + "is `lifelines`.\n", + "The variable `time` corresponds to $y_i$, the time to the $i$th event (either censoring or\n", + "death). The first argument to `km.fit` is the event time, and the\n", + "second argument is the censoring variable, with a 1 indicating an observed\n", + "failure time. The `plot()` method produces a survival curve with pointwise confidence\n", + "intervals. By default, these are 90% confidence intervals, but this can be changed\n", + "by setting the `alpha` argument to one minus the desired\n", + "confidence level." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "92c39707", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8,8))\n", + "km = KaplanMeierFitter()\n", + "km_brain = km.fit(BrainCancer['time'], BrainCancer['status'])\n", + "km_brain.plot(label='Kaplan Meier estimate', ax=ax)\n" + ] + }, + { + "cell_type": "markdown", + "id": "f037665b", + "metadata": {}, + "source": [ + "Next we create Kaplan-Meier survival curves that are stratified by\n", + "`sex`, in order to reproduce Figure 11.3.\n", + "We do this using the `groupby()` method of a dataframe.\n", + "This method returns a generator that can\n", + "be iterated over in the `for` loop. In this case,\n", + "the items in the `for` loop are 2-tuples representing\n", + "the groups: the first entry is the value\n", + "of the grouping column `sex` while the second value\n", + "is the dataframe consisting of all rows in the\n", + "dataframe matching that value of `sex`.\n", + "We will want to use this data below\n", + "in the log-rank test, hence we store this\n", + "information in the dictionary `by_sex`. Finally,\n", + "we have also used the notion of\n", + " *string interpolation* to automatically\n", + "label the different lines in the plot. String\n", + "interpolation is a powerful technique to format strings ---\n", + "`Python` has many ways to facilitate such operations." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3fc7848c", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8,8))\n", + "by_sex = {}\n", + "for sex, df in BrainCancer.groupby('sex'):\n", + " by_sex[sex] = df\n", + " km_sex = km.fit(df['time'], df['status'])\n", + " km_sex.plot(label='Sex=%s' % sex, ax=ax)\n" + ] + }, + { + "cell_type": "markdown", + "id": "c0c1a16a", + "metadata": {}, + "source": [ + "As discussed in Section 11.4, we can perform a\n", + "log-rank test to compare the survival of males to females. We use\n", + "the `logrank_test()` function from the `lifelines.statistics` module.\n", + "The first two arguments are the event times, with the second\n", + "denoting the corresponding (optional) censoring indicators." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bf30d26f", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "logrank_test(by_sex['Male']['time'],\n", + " by_sex['Female']['time'],\n", + " by_sex['Male']['status'],\n", + " by_sex['Female']['status'])\n" + ] + }, + { + "cell_type": "markdown", + "id": "e270649c", + "metadata": {}, + "source": [ + "The resulting $p$-value is $0.23$, indicating no evidence of a\n", + "difference in survival between the two sexes.\n", + "\n", + "Next, we use the `CoxPHFitter()` estimator\n", + "from `lifelines` to fit Cox proportional hazards models.\n", + "To begin, we consider a model that uses `sex` as the only predictor." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2ab78e07", + "metadata": {}, + "outputs": [], + "source": [ + "coxph = CoxPHFitter # shorthand\n", + "sex_df = BrainCancer[['time', 'status', 'sex']]\n", + "model_df = MS(['time', 'status', 'sex'],\n", + " intercept=False).fit_transform(sex_df)\n", + "cox_fit = coxph().fit(model_df,\n", + " 'time',\n", + " 'status')\n", + "cox_fit.summary[['coef', 'se(coef)', 'p']]\n" + ] + }, + { + "cell_type": "markdown", + "id": "b58b93ae", + "metadata": {}, + "source": [ + "The first argument to `fit` should be a data frame containing\n", + "at least the event time (the second argument `time` in this case),\n", + "as well as an optional censoring variable (the argument `status` in this case).\n", + "Note also that the Cox model does not include an intercept, which is why\n", + "we used the `intercept=False` argument to `ModelSpec` above.\n", + "The `summary()` method delivers many columns; we chose to abbreviate its output here.\n", + "It is possible to obtain the likelihood ratio test comparing this model to the one\n", + "with no features as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4716b7b0", + "metadata": {}, + "outputs": [], + "source": [ + "cox_fit.log_likelihood_ratio_test()\n" + ] + }, + { + "cell_type": "markdown", + "id": "2820f486", + "metadata": {}, + "source": [ + "Regardless of which test we use, we see that there is no clear\n", + "evidence for a difference in survival between males and females. As\n", + "we learned in this chapter, the score test from the Cox model is\n", + "exactly equal to the log rank test statistic!\n", + "\n", + "Now we fit a model that makes use of additional predictors. We first note\n", + "that one of our `diagnosis` values is missing, hence\n", + "we drop that observation before continuing." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c2767d88", + "metadata": {}, + "outputs": [], + "source": [ + "cleaned = BrainCancer.dropna()\n", + "all_MS = MS(cleaned.columns, intercept=False)\n", + "all_df = all_MS.fit_transform(cleaned)\n", + "fit_all = coxph().fit(all_df,\n", + " 'time',\n", + " 'status')\n", + "fit_all.summary[['coef', 'se(coef)', 'p']]\n" + ] + }, + { + "cell_type": "markdown", + "id": "eee4ab1f", + "metadata": {}, + "source": [ + " The `diagnosis` variable has been coded so that the baseline\n", + "corresponds to HG glioma. The results indicate that the risk associated with HG glioma\n", + "is more than eight times (i.e. $e^{2.15}=8.62$) the risk associated\n", + "with meningioma. In other words, after adjusting for the other\n", + "predictors, patients with HG glioma have much worse survival compared\n", + "to those with meningioma. In addition, larger values of the Karnofsky\n", + "index, `ki`, are associated with lower risk, i.e. longer survival.\n", + "\n", + "Finally, we plot estimated survival curves for each diagnosis category,\n", + "adjusting for the other predictors. To make these plots, we set the\n", + "values of the other predictors equal to the mean for quantitative variables\n", + "and equal to the mode for categorical. To do this, we use the\n", + "`apply()` method across rows (i.e. `axis=0`) with a function\n", + "`representative` that checks if a column is categorical\n", + "or not." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ede1d219", + "metadata": {}, + "outputs": [], + "source": [ + "levels = cleaned['diagnosis'].unique()\n", + "def representative(series):\n", + " if hasattr(series.dtype, 'categories'):\n", + " return pd.Series.mode(series)\n", + " else:\n", + " return series.mean()\n", + "modal_data = cleaned.apply(representative, axis=0)\n" + ] + }, + { + "cell_type": "markdown", + "id": "e1c307ae", + "metadata": {}, + "source": [ + "We make four\n", + "copies of the column means and assign the `diagnosis` column to be the four different\n", + "diagnoses." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dc032a71", + "metadata": {}, + "outputs": [], + "source": [ + "modal_df = pd.DataFrame(\n", + " [modal_data.iloc[0] for _ in range(len(levels))])\n", + "modal_df['diagnosis'] = levels\n", + "modal_df\n" + ] + }, + { + "cell_type": "markdown", + "id": "84da2586", + "metadata": {}, + "source": [ + "We then construct the model matrix based on the model specification `all_MS` used to fit\n", + "the model, and name the rows according to the levels of `diagnosis`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e7c1fe43", + "metadata": {}, + "outputs": [], + "source": [ + "modal_X = all_MS.transform(modal_df)\n", + "modal_X.index = levels\n", + "modal_X\n" + ] + }, + { + "cell_type": "markdown", + "id": "3cfe1ec4", + "metadata": {}, + "source": [ + "We can use the `predict_survival_function()` method to obtain the estimated survival function." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f89fbed7", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "predicted_survival = fit_all.predict_survival_function(modal_X)\n", + "predicted_survival\n" + ] + }, + { + "cell_type": "markdown", + "id": "29afd641", + "metadata": {}, + "source": [ + "This returns a data frame,\n", + "whose plot methods yields the different survival curves. To avoid clutter in\n", + "the plots, we do not display confidence intervals." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8f0329b4", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8, 8))\n", + "predicted_survival.plot(ax=ax);\n" + ] + }, + { + "cell_type": "markdown", + "id": "12723ce5", + "metadata": {}, + "source": [ + "## Publication Data\n", + "The `Publication` data presented in Section 11.5.4 can be\n", + "found in the `ISLP` package.\n", + "We first reproduce Figure 11.5 by plotting the Kaplan-Meier curves\n", + "stratified on the `posres` variable, which records whether the\n", + "study had a positive or negative result." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3045bfc0", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8,8))\n", + "Publication = load_data('Publication')\n", + "by_result = {}\n", + "for result, df in Publication.groupby('posres'):\n", + " by_result[result] = df\n", + " km_result = km.fit(df['time'], df['status'])\n", + " km_result.plot(label='Result=%d' % result, ax=ax)\n" + ] + }, + { + "cell_type": "markdown", + "id": "6fcb22f7", + "metadata": {}, + "source": [ + "As discussed previously, the $p$-values from fitting Cox’s\n", + "proportional hazards model to the `posres` variable are quite\n", + "large, providing no evidence of a difference in time-to-publication\n", + "between studies with positive versus negative results." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d070f716", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "posres_df = MS(['posres',\n", + " 'time',\n", + " 'status'],\n", + " intercept=False).fit_transform(Publication)\n", + "posres_fit = coxph().fit(posres_df,\n", + " 'time',\n", + " 'status')\n", + "posres_fit.summary[['coef', 'se(coef)', 'p']]\n" + ] + }, + { + "cell_type": "markdown", + "id": "513a55b1", + "metadata": {}, + "source": [ + "However, the results change dramatically when we include other\n", + "predictors in the model. Here we exclude the funding mechanism\n", + "variable." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2bbcdd0c", + "metadata": {}, + "outputs": [], + "source": [ + "model = MS(Publication.columns.drop('mech'),\n", + " intercept=False)\n", + "coxph().fit(model.fit_transform(Publication),\n", + " 'time',\n", + " 'status').summary[['coef', 'se(coef)', 'p']]\n" + ] + }, + { + "cell_type": "markdown", + "id": "75bb8aa6", + "metadata": {}, + "source": [ + "We see that there are a number of statistically significant variables,\n", + "including whether the trial focused on a clinical endpoint, the impact\n", + "of the study, and whether the study had positive or negative results." + ] + }, + { + "cell_type": "markdown", + "id": "bfe236e5", + "metadata": {}, + "source": [ + "## Call Center Data\n", + "\n", + "In this section, we will simulate survival data using the relationship\n", + "between cumulative hazard and\n", + "the survival function explored in Exercise 8.\n", + "Our simulated data will represent the observed\n", + "wait times (in seconds) for 2,000 customers who have phoned a call\n", + "center. In this context, censoring occurs if a customer hangs up\n", + "before his or her call is answered.\n", + "\n", + "There are three covariates: `Operators` (the number of call\n", + "center operators available at the time of the call, which can range\n", + "from $5$ to $15$), `Center` (either A, B, or C), and\n", + "`Time` of day (Morning, Afternoon, or Evening). We generate data\n", + "for these covariates so that all possibilities are equally likely: for\n", + "instance, morning, afternoon and evening calls are equally likely, and\n", + "any number of operators from $5$ to $15$ is equally likely. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b8ece43a", + "metadata": {}, + "outputs": [], + "source": [ + "rng = np.random.default_rng(10)\n", + "N = 2000\n", + "Operators = rng.choice(np.arange(5, 16),\n", + " N,\n", + " replace=True)\n", + "Center = rng.choice(['A', 'B', 'C'],\n", + " N,\n", + " replace=True)\n", + "Time = rng.choice(['Morn.', 'After.', 'Even.'],\n", + " N,\n", + " replace=True)\n", + "D = pd.DataFrame({'Operators': Operators,\n", + " 'Center': pd.Categorical(Center),\n", + " 'Time': pd.Categorical(Time)})" + ] + }, + { + "cell_type": "markdown", + "id": "c93e44f3", + "metadata": {}, + "source": [ + "We then build a model matrix (omitting the intercept)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3e4f766f", + "metadata": {}, + "outputs": [], + "source": [ + "model = MS(['Operators',\n", + " 'Center',\n", + " 'Time'],\n", + " intercept=False)\n", + "X = model.fit_transform(D)" + ] + }, + { + "cell_type": "markdown", + "id": "cad1ed19", + "metadata": {}, + "source": [ + "It is worthwhile to take a peek at the model matrix `X`, so\n", + "that we can be sure that we understand how the variables have been coded. By default,\n", + "the levels of categorical variables are sorted and, as usual, the first column of the one-hot encoding\n", + "of the variable is dropped." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "72f42d14", + "metadata": {}, + "outputs": [], + "source": [ + "X[:5]\n" + ] + }, + { + "cell_type": "markdown", + "id": "38c40ae1", + "metadata": {}, + "source": [ + "Next, we specify the coefficients and the hazard function." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8b921536", + "metadata": {}, + "outputs": [], + "source": [ + "true_beta = np.array([0.04, -0.3, 0, 0.2, -0.2])\n", + "true_linpred = X.dot(true_beta)\n", + "hazard = lambda t: 1e-5 * t\n" + ] + }, + { + "cell_type": "markdown", + "id": "a0698ffd", + "metadata": {}, + "source": [ + "Here, we have set the coefficient associated with `Operators` to\n", + "equal $0.04$; in other words, each additional operator leads to a\n", + "$e^{0.04}=1.041$-fold increase in the “risk” that the call will be\n", + "answered, given the `Center` and `Time` covariates. This\n", + "makes sense: the greater the number of operators at hand, the shorter\n", + "the wait time! The coefficient associated with `Center == B` is\n", + "$-0.3$, and `Center == A` is treated as the baseline. This means\n", + "that the risk of a call being answered at Center B is 0.74 times the\n", + "risk that it will be answered at Center A; in other words, the wait\n", + "times are a bit longer at Center B.\n", + "\n", + "Recall from Section 2.3.7 the use of `lambda`\n", + "for creating short functions on the fly.\n", + "We use the function\n", + "`sim_time()` from the `ISLP.survival` package. This function\n", + "uses the relationship between the survival function\n", + "and cumulative hazard $S(t) = \\exp(-H(t))$ and the specific\n", + "form of the cumulative hazard function in the Cox model\n", + "to simulate data based on values of the linear predictor\n", + "`true_linpred` and the cumulative hazard. \n", + " We need to provide the cumulative hazard function, which we do here." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "96ce0f99", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "cum_hazard = lambda t: 1e-5 * t**2 / 2\n" + ] + }, + { + "cell_type": "markdown", + "id": "1956e4c2", + "metadata": {}, + "source": [ + "We are now ready to generate data under the Cox proportional hazards\n", + "model. We truncate the maximum time to 1000 seconds to keep\n", + "simulated wait times reasonable. The function\n", + "`sim_time()` takes a linear predictor,\n", + "a cumulative hazard function and a\n", + "random number generator." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "63d78ff9", + "metadata": {}, + "outputs": [], + "source": [ + "W = np.array([sim_time(l, cum_hazard, rng)\n", + " for l in true_linpred])\n", + "D['Wait time'] = np.clip(W, 0, 1000)\n" + ] + }, + { + "cell_type": "markdown", + "id": "035e4ecf", + "metadata": {}, + "source": [ + "We now simulate our censoring variable, for which we assume\n", + "90% of calls were answered (`Failed==1`) before the\n", + "customer hung up (`Failed==0`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fe008dbf", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "D['Failed'] = rng.choice([1, 0],\n", + " N,\n", + " p=[0.9, 0.1])\n", + "D[:5]\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c3a2bec7", + "metadata": {}, + "outputs": [], + "source": [ + "D['Failed'].mean()\n" + ] + }, + { + "cell_type": "markdown", + "id": "207937e5", + "metadata": {}, + "source": [ + "We now plot Kaplan-Meier survival curves. First, we stratify by `Center`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2b27af56", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8,8))\n", + "by_center = {}\n", + "for center, df in D.groupby('Center'):\n", + " by_center[center] = df\n", + " km_center = km.fit(df['Wait time'], df['Failed'])\n", + " km_center.plot(label='Center=%s' % center, ax=ax)\n", + "ax.set_title(\"Probability of Still Being on Hold\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "be6d37f7", + "metadata": {}, + "source": [ + "Next, we stratify by `Time`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9625598d", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8,8))\n", + "by_time = {}\n", + "for time, df in D.groupby('Time'):\n", + " by_time[time] = df\n", + " km_time = km.fit(df['Wait time'], df['Failed'])\n", + " km_time.plot(label='Time=%s' % time, ax=ax)\n", + "ax.set_title(\"Probability of Still Being on Hold\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "1408ebc0", + "metadata": {}, + "source": [ + "It seems that calls at Call Center B take longer to be answered than\n", + "calls at Centers A and C. Similarly, it appears that wait times are\n", + "longest in the morning and shortest in the evening hours. We can use a\n", + "log-rank test to determine whether these differences are statistically\n", + "significant using the function `multivariate_logrank_test()`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "75a744ef", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "multivariate_logrank_test(D['Wait time'],\n", + " D['Center'],\n", + " D['Failed'])\n" + ] + }, + { + "cell_type": "markdown", + "id": "be5055e4", + "metadata": {}, + "source": [ + "Next, we consider the effect of `Time`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9badb3e3", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "multivariate_logrank_test(D['Wait time'],\n", + " D['Time'],\n", + " D['Failed'])\n" + ] + }, + { + "cell_type": "markdown", + "id": "64b2bc33", + "metadata": {}, + "source": [ + "As in the case of a categorical variable with 2 levels, these\n", + "results are similar to the likelihood ratio test\n", + "from the Cox proportional hazards model. First, we\n", + "look at the results for `Center`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "026e9ff8", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "X = MS(['Wait time',\n", + " 'Failed',\n", + " 'Center'],\n", + " intercept=False).fit_transform(D)\n", + "F = coxph().fit(X, 'Wait time', 'Failed')\n", + "F.log_likelihood_ratio_test()\n" + ] + }, + { + "cell_type": "markdown", + "id": "4ed54fe0", + "metadata": {}, + "source": [ + "Next, we look at the results for `Time`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7cab3789", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "X = MS(['Wait time',\n", + " 'Failed',\n", + " 'Time'],\n", + " intercept=False).fit_transform(D)\n", + "F = coxph().fit(X, 'Wait time', 'Failed')\n", + "F.log_likelihood_ratio_test()\n" + ] + }, + { + "cell_type": "markdown", + "id": "2d250dc9", + "metadata": {}, + "source": [ + "We find that differences between centers are highly significant, as\n", + "are differences between times of day.\n", + "\n", + "Finally, we fit Cox's proportional hazards model to the data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5cc4b898", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "X = MS(D.columns,\n", + " intercept=False).fit_transform(D)\n", + "fit_queuing = coxph().fit(\n", + " X,\n", + " 'Wait time',\n", + " 'Failed')\n", + "fit_queuing.summary[['coef', 'se(coef)', 'p']]\n" + ] + }, + { + "cell_type": "markdown", + "id": "bec9d61d", + "metadata": {}, + "source": [ + "The $p$-values for Center B and evening time\n", + "are very small. It is also clear that the\n", + "hazard --- that is, the instantaneous risk that a call will be\n", + "answered --- increases with the number of operators. Since we\n", + "generated the data ourselves, we know that the true coefficients for\n", + " `Operators`, `Center = B`, `Center = C`, \n", + "`Time = Even.` and `Time = Morn.` are $0.04$, $-0.3$,\n", + "$0$, $0.2$, and $-0.2$, respectively. The coefficient estimates\n", + "from the fitted Cox model are fairly accurate." + ] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "-all", + "formats": "ipynb,Rmd", + "main_language": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/source/labs/Ch12-unsup-lab.ipynb b/docs/source/labs/Ch12-unsup-lab.ipynb new file mode 100644 index 0000000..165ca03 --- /dev/null +++ b/docs/source/labs/Ch12-unsup-lab.ipynb @@ -0,0 +1,1634 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "5e1733b5", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "id": "7dc7070a", + "metadata": {}, + "source": [ + " # Unsupervised Learning\n", + "In this lab we demonstrate PCA and clustering on several datasets.\n", + "As in other labs, we import some of our libraries at this top\n", + "level. This makes the code more readable, as scanning the first few\n", + "lines of the notebook tell us what libraries are used in this\n", + "notebook." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "24559be0", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "from statsmodels.datasets import get_rdataset\n", + "from sklearn.decomposition import PCA\n", + "from sklearn.preprocessing import StandardScaler\n", + "from ISLP import load_data\n" + ] + }, + { + "cell_type": "markdown", + "id": "59b24a4b", + "metadata": {}, + "source": [ + "We also collect the new imports\n", + "needed for this lab." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "06fff57d", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.cluster import \\\n", + " (KMeans,\n", + " AgglomerativeClustering)\n", + "from scipy.cluster.hierarchy import \\\n", + " (dendrogram,\n", + " cut_tree)\n", + "from ISLP.cluster import compute_linkage\n" + ] + }, + { + "cell_type": "markdown", + "id": "f091de06", + "metadata": {}, + "source": [ + "## Principal Components Analysis\n", + "In this lab, we perform PCA on `USArrests`, a data set in the\n", + "`R` computing environment.\n", + "We retrieve the data using `get_rdataset()`, which can fetch data from\n", + "many standard `R` packages.\n", + "\n", + "The rows of the data set contain the 50 states, in alphabetical order." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f425e07e", + "metadata": {}, + "outputs": [], + "source": [ + "USArrests = get_rdataset('USArrests').data\n", + "USArrests\n" + ] + }, + { + "cell_type": "markdown", + "id": "e2942890", + "metadata": {}, + "source": [ + "The columns of the data set contain the four variables." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b127d014", + "metadata": {}, + "outputs": [], + "source": [ + "USArrests.columns\n" + ] + }, + { + "cell_type": "markdown", + "id": "68718331", + "metadata": {}, + "source": [ + "We first briefly examine the data. We notice that the variables have vastly different means." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c7343f72", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "USArrests.mean()\n" + ] + }, + { + "cell_type": "markdown", + "id": "171a1ee0", + "metadata": {}, + "source": [ + "Dataframes have several useful methods for computing\n", + "column-wise summaries. We can also examine the\n", + "variance of the four variables using the `var()` method." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34501140", + "metadata": {}, + "outputs": [], + "source": [ + "USArrests.var()\n" + ] + }, + { + "cell_type": "markdown", + "id": "5634db88", + "metadata": {}, + "source": [ + "Not surprisingly, the variables also have vastly different variances.\n", + "The `UrbanPop` variable measures the percentage of the population\n", + "in each state living in an urban area, which is not a comparable\n", + "number to the number of rapes in each state per 100,000 individuals.\n", + "PCA looks for derived variables that account for most of the variance in the data set.\n", + "If we do not scale the variables before performing PCA, then the principal components\n", + "would mostly be driven by the\n", + "`Assault` variable, since it has by far the largest\n", + "variance. So if the variables are measured in different units or vary widely in scale, it is recommended to standardize the variables to have standard deviation one before performing PCA.\n", + "Typically we set the means to zero as well.\n", + "\n", + "This scaling can be done via the `StandardScaler()` transform imported above. We first `fit` the\n", + "scaler, which computes the necessary means and standard\n", + "deviations and then apply it to our data using the\n", + "`transform` method. As before, we combine these steps using the `fit_transform()` method.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "daf119e8", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "scaler = StandardScaler(with_std=True,\n", + " with_mean=True)\n", + "USArrests_scaled = scaler.fit_transform(USArrests)\n" + ] + }, + { + "cell_type": "markdown", + "id": "dd6e5f5b", + "metadata": {}, + "source": [ + "Having scaled the data, we can then\n", + "perform principal components analysis using the `PCA()` transform\n", + "from the `sklearn.decomposition` package." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a0eda7c9", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "pcaUS = PCA()\n" + ] + }, + { + "cell_type": "markdown", + "id": "e5758ee5", + "metadata": {}, + "source": [ + "(By default, the `PCA()` transform centers the variables to have\n", + "mean zero though it does not scale them.) The transform `pcaUS`\n", + "can be used to find the PCA\n", + "`scores` returned by `fit()`. Once the `fit` method has been called, the `pcaUS` object also contains a number of useful quantities." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1430fb3c", + "metadata": {}, + "outputs": [], + "source": [ + "pcaUS.fit(USArrests_scaled)\n" + ] + }, + { + "cell_type": "markdown", + "id": "56890b11", + "metadata": {}, + "source": [ + "After fitting, the `mean_` attribute corresponds to the means\n", + "of the variables. In this case, since we centered and scaled the data with\n", + "`scaler()` the means will all be 0." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6131d8d1", + "metadata": {}, + "outputs": [], + "source": [ + "pcaUS.mean_\n" + ] + }, + { + "cell_type": "markdown", + "id": "3c1c34e7", + "metadata": {}, + "source": [ + "The scores can be computed using the `transform()` method\n", + "of `pcaUS` after it has been fit." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "08246aad", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "scores = pcaUS.transform(USArrests_scaled)\n" + ] + }, + { + "cell_type": "markdown", + "id": "574ed47f", + "metadata": {}, + "source": [ + "We will plot these scores a bit further down.\n", + "The `components_` attribute provides the principal component loadings:\n", + "each row of `pcaUS.components_` contains the corresponding\n", + "principal component loading vector.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b682b632", + "metadata": {}, + "outputs": [], + "source": [ + "pcaUS.components_ \n" + ] + }, + { + "cell_type": "markdown", + "id": "fc8bfc99", + "metadata": {}, + "source": [ + "The `biplot` is a common visualization method used with\n", + "PCA. It is not built in as a standard\n", + "part of `sklearn`, though there are python\n", + "packages that do produce such plots. Here we\n", + "make a simple biplot manually." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c165e990", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "i, j = 0, 1 # which components\n", + "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", + "ax.scatter(scores[:,0], scores[:,1])\n", + "ax.set_xlabel('PC%d' % (i+1))\n", + "ax.set_ylabel('PC%d' % (j+1))\n", + "for k in range(pcaUS.components_.shape[1]):\n", + " ax.arrow(0, 0, pcaUS.components_[i,k], pcaUS.components_[j,k])\n", + " ax.text(pcaUS.components_[i,k],\n", + " pcaUS.components_[j,k],\n", + " USArrests.columns[k])\n" + ] + }, + { + "cell_type": "markdown", + "id": "eaef3e98", + "metadata": {}, + "source": [ + "Notice that this figure is a reflection of Figure 12.1 through the $y$-axis. Recall that the\n", + "principal components are only unique up to a sign change, so we can\n", + "reproduce that figure by flipping the\n", + "signs of the second set of scores and loadings.\n", + "We also increase the length of the arrows to emphasize the loadings." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "848c9f35", + "metadata": {}, + "outputs": [], + "source": [ + "scale_arrow = s_ = 2\n", + "scores[:,1] *= -1\n", + "pcaUS.components_[1] *= -1 # flip the y-axis\n", + "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", + "ax.scatter(scores[:,0], scores[:,1])\n", + "ax.set_xlabel('PC%d' % (i+1))\n", + "ax.set_ylabel('PC%d' % (j+1))\n", + "for k in range(pcaUS.components_.shape[1]):\n", + " ax.arrow(0, 0, s_*pcaUS.components_[i,k], s_*pcaUS.components_[j,k])\n", + " ax.text(s_*pcaUS.components_[i,k],\n", + " s_*pcaUS.components_[j,k],\n", + " USArrests.columns[k])\n" + ] + }, + { + "cell_type": "markdown", + "id": "e380e98d", + "metadata": {}, + "source": [ + "The standard deviations of the principal component scores are as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34fdfe21", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "scores.std(0, ddof=1)" + ] + }, + { + "cell_type": "markdown", + "id": "c24b8ca2", + "metadata": {}, + "source": [ + "The variance of each score can be extracted directly from the `pcaUS` object via\n", + "the `explained_variance_` attribute." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "31b43c57", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "pcaUS.explained_variance_\n" + ] + }, + { + "cell_type": "markdown", + "id": "d2dcf543", + "metadata": {}, + "source": [ + "The proportion of variance explained by each principal \n", + "component (PVE) is stored as `explained_variance_ratio_`:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "68e47d3a", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "pcaUS.explained_variance_ratio_\n" + ] + }, + { + "cell_type": "markdown", + "id": "831b19b7", + "metadata": {}, + "source": [ + "We see that the first principal component explains 62.0% of the\n", + "variance in the data, the next principal component explains 24.7%\n", + "of the variance, and so forth.\n", + "We can plot the PVE explained by each component, as well as the cumulative PVE. We first\n", + "plot the proportion of variance explained." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e87fe198", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "%%capture\n", + "fig, axes = plt.subplots(1, 2, figsize=(15, 6))\n", + "ticks = np.arange(pcaUS.n_components_)+1\n", + "ax = axes[0]\n", + "ax.plot(ticks,\n", + " pcaUS.explained_variance_ratio_,\n", + " marker='o')\n", + "ax.set_xlabel('Principal Component');\n", + "ax.set_ylabel('Proportion of Variance Explained')\n", + "ax.set_ylim([0,1])\n", + "ax.set_xticks(ticks)\n" + ] + }, + { + "cell_type": "markdown", + "id": "2ed96395", + "metadata": {}, + "source": [ + "Notice the use of `%%capture`, which suppresses the displaying of the partially completed figure." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "409fb0c6", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "ax = axes[1]\n", + "ax.plot(ticks,\n", + " pcaUS.explained_variance_ratio_.cumsum(),\n", + " marker='o')\n", + "ax.set_xlabel('Principal Component')\n", + "ax.set_ylabel('Cumulative Proportion of Variance Explained')\n", + "ax.set_ylim([0, 1])\n", + "ax.set_xticks(ticks)\n", + "fig\n" + ] + }, + { + "cell_type": "markdown", + "id": "496fb6be", + "metadata": {}, + "source": [ + "The result is similar to that shown in Figure 12.3. Note\n", + "that the method `cumsum()` computes the cumulative sum of\n", + "the elements of a numeric vector. For instance:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e563e41b", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "a = np.array([1,2,8,-3])\n", + "np.cumsum(a)\n" + ] + }, + { + "cell_type": "markdown", + "id": "6794b1a3", + "metadata": {}, + "source": [ + "## Matrix Completion\n", + "\n", + "We now re-create the analysis carried out on the `USArrests` data in\n", + "Section 12.3.\n", + "\n", + "We saw in Section 12.2.2 that solving the optimization\n", + "problem (12.6) on a centered data matrix $\\bf X$ is\n", + "equivalent to computing the first $M$ principal\n", + "components of the data. We use our scaled\n", + "and centered `USArrests` data as $\\bf X$ below. The *singular value decomposition* \n", + "(SVD) is a general algorithm for solving\n", + "(12.6). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f83ad0bc", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "X = USArrests_scaled\n", + "U, D, V = np.linalg.svd(X, full_matrices=False)\n", + "U.shape, D.shape, V.shape\n" + ] + }, + { + "cell_type": "markdown", + "id": "f9c71e57", + "metadata": {}, + "source": [ + "The `np.linalg.svd()` function returns three components, `U`, `D` and `V`. The matrix `V` is equivalent to the\n", + "loading matrix from principal components (up to an unimportant sign flip). Using the `full_matrices=False` option ensures that\n", + "for a tall matrix the shape of `U` is the same as the shape of `X`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cb9bdc46", + "metadata": {}, + "outputs": [], + "source": [ + "V\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f23c101e", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "pcaUS.components_\n" + ] + }, + { + "cell_type": "markdown", + "id": "a5d9e0ae", + "metadata": {}, + "source": [ + "The matrix `U` corresponds to a *standardized* version of the PCA score matrix (each column standardized to have sum-of-squares one). If we multiply each column of `U` by the corresponding element of `D`, we recover the PCA scores exactly (up to a meaningless sign flip)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4cc49622", + "metadata": {}, + "outputs": [], + "source": [ + "(U * D[None,:])[:3]\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c96c9fe1", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "scores[:3]\n" + ] + }, + { + "cell_type": "markdown", + "id": "6b7002cb", + "metadata": {}, + "source": [ + "While it would be possible to carry out this lab using the `PCA()` estimator,\n", + "here we use the `np.linalg.svd()` function in order to illustrate its use.\n", + "\n", + "We now omit 20 entries in the $50\\times 4$ data matrix at random. We do so\n", + "by first selecting 20 rows (states) at random, and then selecting one\n", + "of the four entries in each row at random. This ensures that every row has\n", + "at least three observed values." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "574409d6", + "metadata": {}, + "outputs": [], + "source": [ + "n_omit = 20\n", + "np.random.seed(15)\n", + "r_idx = np.random.choice(np.arange(X.shape[0]),\n", + " n_omit,\n", + " replace=False)\n", + "c_idx = np.random.choice(np.arange(X.shape[1]),\n", + " n_omit,\n", + " replace=True)\n", + "Xna = X.copy()\n", + "Xna[r_idx, c_idx] = np.nan\n" + ] + }, + { + "cell_type": "markdown", + "id": "fd4a5fdf", + "metadata": {}, + "source": [ + "Here the array `r_idx`\n", + "contains 20 integers from 0 to 49; this represents the states (rows of `X`) that are selected to contain missing values. And `c_idx` contains\n", + "20 integers from 0 to 3, representing the features (columns in `X`) that contain the missing values for each of the selected states.\n", + "\n", + "We now write some code to implement Algorithm 12.1. \n", + "We first write a function that takes in a matrix, and returns an approximation to the matrix using the `svd()` function.\n", + "This will be needed in Step 2 of Algorithm 12.1." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "89f190ae", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "def low_rank(X, M=1):\n", + " U, D, V = np.linalg.svd(X)\n", + " L = U[:,:M] * D[None,:M]\n", + " return L.dot(V[:M])\n" + ] + }, + { + "cell_type": "markdown", + "id": "a04129d0", + "metadata": {}, + "source": [ + "To conduct Step 1 of the algorithm, we initialize `Xhat` --- this is $\\tilde{\\bf X}$ in Algorithm 12.1 --- by replacing\n", + "the missing values with the column means of the non-missing entries. These are stored in\n", + "`Xbar` below after running `np.nanmean()` over the row axis.\n", + "We make a copy so that when we assign values to `Xhat` below we do not also overwrite the\n", + "values in `Xna`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "322f339c", + "metadata": {}, + "outputs": [], + "source": [ + "Xhat = Xna.copy()\n", + "Xbar = np.nanmean(Xhat, axis=0)\n", + "Xhat[r_idx, c_idx] = Xbar[c_idx]\n" + ] + }, + { + "cell_type": "markdown", + "id": "357041e8", + "metadata": {}, + "source": [ + "Before we begin Step 2, we set ourselves up to measure the progress of our\n", + "iterations:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7e106d1a", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "thresh = 1e-7\n", + "rel_err = 1\n", + "count = 0\n", + "ismiss = np.isnan(Xna)\n", + "mssold = np.mean(Xhat[~ismiss]**2)\n", + "mss0 = np.mean(Xna[~ismiss]**2)\n" + ] + }, + { + "cell_type": "markdown", + "id": "105ac73f", + "metadata": {}, + "source": [ + "Here `ismiss` is a logical matrix with the same dimensions as `Xna`;\n", + "a given element is `True` if the corresponding matrix element is missing. The notation `~ismiss` negates this boolean vector. This is useful\n", + "because it allows us to access both the missing and non-missing entries. We store the mean of the squared non-missing elements in `mss0`.\n", + "We store the mean squared error of the non-missing elements of the old version of `Xhat` in `mssold` (which currently\n", + "agrees with `mss0`). We plan to store the mean squared error of the non-missing elements of the current version of `Xhat` in `mss`, and will then\n", + "iterate Step 2 of Algorithm 12.1 until the *relative error*, defined as\n", + "`(mssold - mss) / mss0`, falls below `thresh = 1e-7`.\n", + " {Algorithm 12.1 tells us to iterate Step 2 until (12.14) is no longer decreasing. Determining whether (12.14) is decreasing requires us only to keep track of `mssold - mss`. However, in practice, we keep track of `(mssold - mss) / mss0` instead: this makes it so that the number of iterations required for Algorithm 12.1 to converge does not depend on whether we multiplied the raw data $\\bf X$ by a constant factor.}\n", + "\n", + "In Step 2(a) of Algorithm 12.1, we approximate `Xhat` using `low_rank()`; we call this `Xapp`. In Step 2(b), we use `Xapp` to update the estimates for elements in `Xhat` that are missing in `Xna`. Finally, in Step 2(c), we compute the relative error. These three steps are contained in the following `while` loop:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7cb05ce4", + "metadata": {}, + "outputs": [], + "source": [ + "while rel_err > thresh:\n", + " count += 1\n", + " # Step 2(a)\n", + " Xapp = low_rank(Xhat, M=1)\n", + " # Step 2(b)\n", + " Xhat[ismiss] = Xapp[ismiss]\n", + " # Step 2(c)\n", + " mss = np.mean(((Xna - Xapp)[~ismiss])**2)\n", + " rel_err = (mssold - mss) / mss0\n", + " mssold = mss\n", + " print(\"Iteration: {0}, MSS:{1:.3f}, Rel.Err {2:.2e}\"\n", + " .format(count, mss, rel_err))\n" + ] + }, + { + "cell_type": "markdown", + "id": "5cd8edf2", + "metadata": {}, + "source": [ + "We see that after eight iterations, the relative error has fallen below `thresh = 1e-7`, and so the algorithm terminates. When this happens, the mean squared error of the non-missing elements equals 0.381.\n", + "\n", + "Finally, we compute the correlation between the 20 imputed values\n", + "and the actual values:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6f245188", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "np.corrcoef(Xapp[ismiss], X[ismiss])[0,1]\n" + ] + }, + { + "cell_type": "markdown", + "id": "f22444ff", + "metadata": {}, + "source": [ + "In this lab, we implemented Algorithm 12.1 ourselves for didactic purposes. However, a reader who wishes to apply matrix completion to their data might look to more specialized `Python` implementations." + ] + }, + { + "cell_type": "markdown", + "id": "7da441a1", + "metadata": {}, + "source": [ + "## Clustering" + ] + }, + { + "cell_type": "markdown", + "id": "ef4903d6", + "metadata": {}, + "source": [ + "### $K$-Means Clustering\n", + "\n", + "The estimator `sklearn.cluster.KMeans()` performs $K$-means clustering in\n", + "`Python`. We begin with a simple simulated example in which there\n", + "truly are two clusters in the data: the first 25 observations have a\n", + "mean shift relative to the next 25 observations." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "345fb41e", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "np.random.seed(0);\n", + "X = np.random.standard_normal((50,2));\n", + "X[:25,0] += 3;\n", + "X[:25,1] -= 4;\n" + ] + }, + { + "cell_type": "markdown", + "id": "6ed3587f", + "metadata": {}, + "source": [ + "We now perform $K$-means clustering with $K=2$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3a8c21a2", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "kmeans = KMeans(n_clusters=2,\n", + " random_state=2,\n", + " n_init=20).fit(X)\n" + ] + }, + { + "cell_type": "markdown", + "id": "df4fb0eb", + "metadata": {}, + "source": [ + "We specify `random_state` to make the results reproducible. The cluster assignments of the 50 observations are contained in `kmeans.labels_`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e3e35b5d", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "kmeans.labels_\n" + ] + }, + { + "cell_type": "markdown", + "id": "6632fa4c", + "metadata": {}, + "source": [ + "The $K$-means clustering perfectly separated the observations into two\n", + "clusters even though we did not supply any group information to\n", + "`KMeans()`. We can plot the data, with each observation\n", + "colored according to its cluster assignment." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d928650a", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = plt.subplots(1, 1, figsize=(8,8))\n", + "ax.scatter(X[:,0], X[:,1], c=kmeans.labels_)\n", + "ax.set_title(\"K-Means Clustering Results with K=2\");\n" + ] + }, + { + "cell_type": "markdown", + "id": "1f6a6d01", + "metadata": {}, + "source": [ + "Here the observations can be easily plotted because they are\n", + "two-dimensional. If there were more than two variables then we could\n", + "instead perform PCA and plot the first two principal component score\n", + "vectors to represent the clusters.\n", + "\n", + "In this example, we knew that there really\n", + "were two clusters because we generated the data. However, for real\n", + "data, we do not know the true number of clusters, nor whether they exist in any precise way. We could\n", + "instead have performed $K$-means clustering on this example with\n", + "$K=3$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "92e5175c", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "kmeans = KMeans(n_clusters=3,\n", + " random_state=3,\n", + " n_init=20).fit(X)\n", + "fig, ax = plt.subplots(figsize=(8,8))\n", + "ax.scatter(X[:,0], X[:,1], c=kmeans.labels_)\n", + "ax.set_title(\"K-Means Clustering Results with K=3\");\n" + ] + }, + { + "cell_type": "markdown", + "id": "82317a30", + "metadata": {}, + "source": [ + "When $K=3$, $K$-means clustering splits up the two clusters.\n", + "We have used the `n_init` argument to run the $K$-means with 20 \n", + "initial cluster assignments (the default is 10). If a\n", + "value of `n_init` greater than one is used, then $K$-means\n", + "clustering will be performed using multiple random assignments in\n", + "Step 1 of Algorithm 12.2, and the `KMeans()` \n", + "function will report only the best results. Here we compare using\n", + "`n_init=1` to `n_init=20`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4911ecc7", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "kmeans1 = KMeans(n_clusters=3,\n", + " random_state=3,\n", + " n_init=1).fit(X)\n", + "kmeans20 = KMeans(n_clusters=3,\n", + " random_state=3,\n", + " n_init=20).fit(X);\n", + "kmeans1.inertia_, kmeans20.inertia_\n" + ] + }, + { + "cell_type": "markdown", + "id": "96e6df1f", + "metadata": {}, + "source": [ + "Note that `kmeans.inertia_` is the total within-cluster sum\n", + "of squares, which we seek to minimize by performing $K$-means\n", + "clustering (12.17). \n", + "\n", + "We *strongly* recommend always running $K$-means clustering with\n", + "a large value of `n_init`, such as 20 or 50, since otherwise an\n", + "undesirable local optimum may be obtained.\n", + "\n", + "When performing $K$-means clustering, in addition to using multiple\n", + "initial cluster assignments, it is also important to set a random seed\n", + "using the `random_state` argument to `KMeans()`. This way, the initial\n", + "cluster assignments in Step 1 can be replicated, and the $K$-means\n", + "output will be fully reproducible." + ] + }, + { + "cell_type": "markdown", + "id": "904ea858", + "metadata": {}, + "source": [ + "### Hierarchical Clustering\n", + "\n", + "The `AgglomerativeClustering()` class from\n", + "the `sklearn.clustering` package implements hierarchical clustering.\n", + "As its\n", + "name is long, we use the short hand `HClust` for *hierarchical clustering*. Note that this will not change the return type\n", + "when using this method, so instances will still be of class `AgglomerativeClustering`.\n", + "In the following example we use the data from the previous lab to plot the hierarchical clustering\n", + "dendrogram using complete, single, and average linkage clustering\n", + "with Euclidean distance as the dissimilarity measure. We begin by\n", + "clustering observations using complete linkage." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1b42a700", + "metadata": {}, + "outputs": [], + "source": [ + "HClust = AgglomerativeClustering\n", + "hc_comp = HClust(distance_threshold=0,\n", + " n_clusters=None,\n", + " linkage='complete')\n", + "hc_comp.fit(X)\n" + ] + }, + { + "cell_type": "markdown", + "id": "22199f4d", + "metadata": {}, + "source": [ + "This computes the entire dendrogram.\n", + "We could just as easily perform hierarchical clustering with average or single linkage instead:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "50ef7eea", + "metadata": {}, + "outputs": [], + "source": [ + "hc_avg = HClust(distance_threshold=0,\n", + " n_clusters=None,\n", + " linkage='average');\n", + "hc_avg.fit(X)\n", + "hc_sing = HClust(distance_threshold=0,\n", + " n_clusters=None,\n", + " linkage='single');\n", + "hc_sing.fit(X);\n" + ] + }, + { + "cell_type": "markdown", + "id": "7e8db256", + "metadata": {}, + "source": [ + "To use a precomputed distance matrix, we provide an additional\n", + "argument `metric=\"precomputed\"`. In the code below, the first four lines computes the $50\\times 50$ pairwise-distance matrix." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bf7a2408", + "metadata": {}, + "outputs": [], + "source": [ + "D = np.zeros((X.shape[0], X.shape[0]));\n", + "for i in range(X.shape[0]):\n", + " x_ = np.multiply.outer(np.ones(X.shape[0]), X[i])\n", + " D[i] = np.sqrt(np.sum((X - x_)**2, 1));\n", + "hc_sing_pre = HClust(distance_threshold=0,\n", + " n_clusters=None,\n", + " metric='precomputed',\n", + " linkage='single')\n", + "hc_sing_pre.fit(D)\n" + ] + }, + { + "cell_type": "markdown", + "id": "8cd7fb7c", + "metadata": {}, + "source": [ + "We use\n", + "`dendrogram()` from `scipy.cluster.hierarchy` to plot the dendrogram. However,\n", + "`dendrogram()` expects a so-called *linkage-matrix representation*\n", + "of the clustering, which is not provided by `AgglomerativeClustering()`,\n", + "but can be computed. The function `compute_linkage()` in the\n", + "`ISLP.cluster` package is provided for this purpose.\n", + "\n", + "We can now plot the dendrograms. The numbers at the bottom of the plot\n", + "identify each observation. The `dendrogram()` function has a default method to\n", + "color different branches of the tree that suggests a pre-defined cut of the tree at a particular depth.\n", + "We prefer to overwrite this default by setting this threshold to be infinite. Since we want this behavior for many dendrograms, we store these values in a dictionary `cargs` and pass this as keyword arguments using the notation `**cargs`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a118c0ab", + "metadata": {}, + "outputs": [], + "source": [ + "cargs = {'color_threshold':-np.inf,\n", + " 'above_threshold_color':'black'}\n", + "linkage_comp = compute_linkage(hc_comp)\n", + "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", + "dendrogram(linkage_comp,\n", + " ax=ax,\n", + " **cargs);\n" + ] + }, + { + "cell_type": "markdown", + "id": "a325a001", + "metadata": {}, + "source": [ + "We may want to color branches of the tree above\n", + "and below a cut-threshold differently. This can be achieved\n", + "by changing the `color_threshold`. Let’s cut the tree at a height of 4,\n", + "coloring links that merge above 4 in black." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b1ff41c0", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", + "dendrogram(linkage_comp,\n", + " ax=ax,\n", + " color_threshold=4,\n", + " above_threshold_color='black');\n" + ] + }, + { + "cell_type": "markdown", + "id": "e774708c", + "metadata": {}, + "source": [ + "To determine the cluster labels for each observation associated with a\n", + "given cut of the dendrogram, we can use the `cut_tree()` \n", + "function from `scipy.cluster.hierarchy`:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c2752a96", + "metadata": {}, + "outputs": [], + "source": [ + "cut_tree(linkage_comp, n_clusters=4).T\n" + ] + }, + { + "cell_type": "markdown", + "id": "d501d220", + "metadata": {}, + "source": [ + "This can also be achieved by providing an argument `n_clusters`\n", + "to `HClust()`; however each cut would require recomputing\n", + "the clustering. Similarly, trees may be cut by distance threshold\n", + "with an argument of `distance_threshold` to `HClust()`\n", + "or `height` to `cut_tree()`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1407f7a4", + "metadata": {}, + "outputs": [], + "source": [ + "cut_tree(linkage_comp, height=5)\n" + ] + }, + { + "cell_type": "markdown", + "id": "469bbad6", + "metadata": {}, + "source": [ + "To scale the variables before performing hierarchical clustering of\n", + "the observations, we use `StandardScaler()` as in our PCA example:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2d74f224", + "metadata": {}, + "outputs": [], + "source": [ + "scaler = StandardScaler()\n", + "X_scale = scaler.fit_transform(X)\n", + "hc_comp_scale = HClust(distance_threshold=0,\n", + " n_clusters=None,\n", + " linkage='complete').fit(X_scale)\n", + "linkage_comp_scale = compute_linkage(hc_comp_scale)\n", + "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", + "dendrogram(linkage_comp_scale, ax=ax, **cargs)\n", + "ax.set_title(\"Hierarchical Clustering with Scaled Features\");\n" + ] + }, + { + "cell_type": "markdown", + "id": "3caaa1a5", + "metadata": {}, + "source": [ + "Correlation-based distances between observations can be used for\n", + "clustering. The correlation between two observations measures the\n", + "similarity of their feature values. {Suppose each observation has\n", + " $p$ features, each a single numerical value. We measure the\n", + " similarity of two such observations by computing the\n", + " correlation of these $p$ pairs of numbers.}\n", + "With $n$ observations, the $n\\times n$ correlation matrix can then be used as a similarity (or affinity) matrix, i.e. so that one minus the correlation matrix is the dissimilarity matrix used for clustering.\n", + "\n", + "Note that using correlation only makes sense for\n", + "data with at least three features since the absolute correlation\n", + "between any two observations with measurements on two features is\n", + "always one. Hence, we will cluster a three-dimensional data set." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b7f7da12", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "X = np.random.standard_normal((30, 3))\n", + "corD = 1 - np.corrcoef(X)\n", + "hc_cor = HClust(linkage='complete',\n", + " distance_threshold=0,\n", + " n_clusters=None,\n", + " metric='precomputed')\n", + "hc_cor.fit(corD)\n", + "linkage_cor = compute_linkage(hc_cor)\n", + "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", + "dendrogram(linkage_cor, ax=ax, **cargs)\n", + "ax.set_title(\"Complete Linkage with Correlation-Based Dissimilarity\");\n" + ] + }, + { + "cell_type": "markdown", + "id": "5b00804e", + "metadata": {}, + "source": [ + "## NCI60 Data Example\n", + "Unsupervised techniques are often used in the analysis of genomic\n", + "data. In particular, PCA and hierarchical clustering are popular\n", + "tools. We illustrate these techniques on the `NCI60` cancer cell line\n", + "microarray data, which consists of 6830 gene expression\n", + "measurements on 64 cancer cell lines." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b94424fc", + "metadata": {}, + "outputs": [], + "source": [ + "NCI60 = load_data('NCI60')\n", + "nci_labs = NCI60['labels']\n", + "nci_data = NCI60['data']\n" + ] + }, + { + "cell_type": "markdown", + "id": "7313fea6", + "metadata": {}, + "source": [ + "Each cell line is labeled with a cancer type. We do not make use of\n", + "the cancer types in performing PCA and clustering, as these are\n", + "unsupervised techniques. But after performing PCA and clustering, we\n", + "will check to see the extent to which these cancer types agree with\n", + "the results of these unsupervised techniques.\n", + "\n", + "The data has 64 rows and 6830 columns." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cea54566", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "nci_data.shape\n" + ] + }, + { + "cell_type": "markdown", + "id": "6ebf27f1", + "metadata": {}, + "source": [ + "We begin by examining the cancer types for the cell lines.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4dac41bb", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "nci_labs.value_counts()\n" + ] + }, + { + "cell_type": "markdown", + "id": "8f16f96a", + "metadata": {}, + "source": [ + "### PCA on the NCI60 Data\n", + "\n", + "We first perform PCA on the data after scaling the variables (genes)\n", + "to have standard deviation one, although here one could reasonably argue\n", + "that it is better not to scale the genes as they are measured in the same units." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d8ebadd6", + "metadata": {}, + "outputs": [], + "source": [ + "scaler = StandardScaler()\n", + "nci_scaled = scaler.fit_transform(nci_data)\n", + "nci_pca = PCA()\n", + "nci_scores = nci_pca.fit_transform(nci_scaled)\n" + ] + }, + { + "cell_type": "markdown", + "id": "8a8c9932", + "metadata": {}, + "source": [ + "We now plot the first few principal component score vectors, in order\n", + "to visualize the data. The observations (cell lines) corresponding to\n", + "a given cancer type will be plotted in the same color, so that we can\n", + "see to what extent the observations within a cancer type are similar\n", + "to each other. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "63b5efe3", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "cancer_types = list(np.unique(nci_labs))\n", + "nci_groups = np.array([cancer_types.index(lab)\n", + " for lab in nci_labs.values])\n", + "fig, axes = plt.subplots(1, 2, figsize=(15,6))\n", + "ax = axes[0]\n", + "ax.scatter(nci_scores[:,0],\n", + " nci_scores[:,1],\n", + " c=nci_groups,\n", + " marker='o',\n", + " s=50)\n", + "ax.set_xlabel('PC1'); ax.set_ylabel('PC2')\n", + "ax = axes[1]\n", + "ax.scatter(nci_scores[:,0],\n", + " nci_scores[:,2],\n", + " c=nci_groups,\n", + " marker='o',\n", + " s=50)\n", + "ax.set_xlabel('PC1'); ax.set_ylabel('PC3');\n" + ] + }, + { + "cell_type": "markdown", + "id": "87b33a9c", + "metadata": {}, + "source": [ + "On the whole, cell lines corresponding to a single cancer type do tend to\n", + "have similar values on the first few principal component score\n", + "vectors. This indicates that cell lines from the same cancer type tend\n", + "to have pretty similar gene expression levels.\n", + "\n", + "\n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "890fdb54", + "metadata": {}, + "source": [ + "We can also plot the percent variance\n", + "explained by the principal components as well as the cumulative percent variance explained.\n", + "This is similar to the plots we made earlier for the `USArrests` data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e20c3cc1", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig, axes = plt.subplots(1, 2, figsize=(15,6))\n", + "ax = axes[0]\n", + "ticks = np.arange(nci_pca.n_components_)+1\n", + "ax.plot(ticks,\n", + " nci_pca.explained_variance_ratio_,\n", + " marker='o')\n", + "ax.set_xlabel('Principal Component');\n", + "ax.set_ylabel('PVE')\n", + "ax = axes[1]\n", + "ax.plot(ticks,\n", + " nci_pca.explained_variance_ratio_.cumsum(),\n", + " marker='o');\n", + "ax.set_xlabel('Principal Component')\n", + "ax.set_ylabel('Cumulative PVE');\n" + ] + }, + { + "cell_type": "markdown", + "id": "cb6eb4f8", + "metadata": {}, + "source": [ + "We see that together, the first seven principal components explain\n", + "around 40% of the variance in the data. This is not a huge amount\n", + "of the variance. However, looking at the scree plot, we see that while\n", + "each of the first seven principal components explain a substantial\n", + "amount of variance, there is a marked decrease in the variance\n", + "explained by further principal components. That is, there is an\n", + "*elbow* in the plot after approximately the seventh\n", + "principal component. This suggests that there may be little benefit\n", + "to examining more than seven or so principal components (though even\n", + "examining seven principal components may be difficult)." + ] + }, + { + "cell_type": "markdown", + "id": "8962791f", + "metadata": {}, + "source": [ + "### Clustering the Observations of the NCI60 Data\n", + "\n", + "We now perform hierarchical clustering of the cell lines in the `NCI60` data using\n", + "complete, single, and average linkage. Once again, the goal is to find out whether or not the observations cluster into distinct types of cancer. Euclidean\n", + "distance is used as the dissimilarity measure. We first write a short\n", + "function to produce\n", + "the three dendrograms." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "622de805", + "metadata": {}, + "outputs": [], + "source": [ + "def plot_nci(linkage, ax, cut=-np.inf):\n", + " cargs = {'above_threshold_color':'black',\n", + " 'color_threshold':cut}\n", + " hc = HClust(n_clusters=None,\n", + " distance_threshold=0,\n", + " linkage=linkage.lower()).fit(nci_scaled)\n", + " linkage_ = compute_linkage(hc)\n", + " dendrogram(linkage_,\n", + " ax=ax,\n", + " labels=np.asarray(nci_labs),\n", + " leaf_font_size=10,\n", + " **cargs)\n", + " ax.set_title('%s Linkage' % linkage)\n", + " return hc\n" + ] + }, + { + "cell_type": "markdown", + "id": "9cf5f836", + "metadata": {}, + "source": [ + "Let’s plot our results." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "54d40449", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig, axes = plt.subplots(3, 1, figsize=(15,30)) \n", + "ax = axes[0]; hc_comp = plot_nci('Complete', ax)\n", + "ax = axes[1]; hc_avg = plot_nci('Average', ax)\n", + "ax = axes[2]; hc_sing = plot_nci('Single', ax)\n" + ] + }, + { + "cell_type": "markdown", + "id": "1703afbb", + "metadata": {}, + "source": [ + "We see that the\n", + "choice of linkage certainly does affect the results\n", + "obtained. Typically, single linkage will tend to yield *trailing*\n", + "clusters: very large clusters onto which individual observations\n", + "attach one-by-one. On the other hand, complete and average linkage\n", + "tend to yield more balanced, attractive clusters. For this reason,\n", + "complete and average linkage are generally preferred to single\n", + "linkage. Clearly cell lines within a single cancer type do tend to\n", + "cluster together, although the clustering is not perfect. We will use\n", + "complete linkage hierarchical clustering for the analysis that\n", + "follows.\n", + "\n", + "We can cut the dendrogram at the height that will yield a particular\n", + "number of clusters, say four:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dc80afc8", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "linkage_comp = compute_linkage(hc_comp)\n", + "comp_cut = cut_tree(linkage_comp, n_clusters=4).reshape(-1)\n", + "pd.crosstab(nci_labs['label'],\n", + " pd.Series(comp_cut.reshape(-1), name='Complete'))\n" + ] + }, + { + "cell_type": "markdown", + "id": "d8ecae69", + "metadata": {}, + "source": [ + "There are some clear patterns. All the leukemia cell lines fall in\n", + "one cluster, while the breast cancer cell lines are spread out over\n", + "three different clusters.\n", + "\n", + "We can plot a cut on the dendrogram that produces these four clusters:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "40ff59f9", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = plt.subplots(figsize=(10,10))\n", + "plot_nci('Complete', ax, cut=140)\n", + "ax.axhline(140, c='r', linewidth=4);\n" + ] + }, + { + "cell_type": "markdown", + "id": "1c03368c", + "metadata": {}, + "source": [ + "The `axhline()` function draws a horizontal line line on top of any\n", + "existing set of axes. The argument `140` plots a horizontal\n", + "line at height 140 on the dendrogram; this is a height that\n", + "results in four distinct clusters. It is easy to verify that the\n", + "resulting clusters are the same as the ones we obtained in\n", + "`comp_cut`.\n", + "\n", + "We claimed earlier in Section 12.4.2 that\n", + "$K$-means clustering and hierarchical clustering with the dendrogram\n", + "cut to obtain the same number of clusters can yield very different\n", + "results. How do these `NCI60` hierarchical clustering results compare\n", + "to what we get if we perform $K$-means clustering with $K=4$?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1587e83b", + "metadata": {}, + "outputs": [], + "source": [ + "nci_kmeans = KMeans(n_clusters=4, \n", + " random_state=0,\n", + " n_init=20).fit(nci_scaled)\n", + "pd.crosstab(pd.Series(comp_cut, name='HClust'),\n", + " pd.Series(nci_kmeans.labels_, name='K-means'))\n" + ] + }, + { + "cell_type": "markdown", + "id": "b49c4a73", + "metadata": {}, + "source": [ + "We see that the four clusters obtained using hierarchical clustering\n", + "and $K$-means clustering are somewhat different. First we note\n", + "that the labels in the two clusterings are arbitrary. That is, swapping\n", + "the identifier of the cluster does not\n", + "change the clustering. We see here Cluster 3 in\n", + "$K$-means clustering is identical to cluster 2 in hierarchical\n", + "clustering. However, the other clusters differ: for instance,\n", + "cluster 0 in $K$-means clustering contains a portion of the\n", + "observations assigned to cluster 0 by hierarchical clustering, as well\n", + "as all of the observations assigned to cluster 1 by hierarchical\n", + "clustering.\n", + "\n", + "Rather than performing hierarchical clustering on the entire data\n", + "matrix, we can also perform hierarchical clustering on the first few\n", + "principal component score vectors, regarding these first few components\n", + "as a less noisy version of the data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b09ceeab", + "metadata": {}, + "outputs": [], + "source": [ + "hc_pca = HClust(n_clusters=None,\n", + " distance_threshold=0,\n", + " linkage='complete'\n", + " ).fit(nci_scores[:,:5])\n", + "linkage_pca = compute_linkage(hc_pca)\n", + "fig, ax = plt.subplots(figsize=(8,8))\n", + "dendrogram(linkage_pca,\n", + " labels=np.asarray(nci_labs),\n", + " leaf_font_size=10,\n", + " ax=ax,\n", + " **cargs)\n", + "ax.set_title(\"Hier. Clust. on First Five Score Vectors\")\n", + "pca_labels = pd.Series(cut_tree(linkage_pca,\n", + " n_clusters=4).reshape(-1),\n", + " name='Complete-PCA')\n", + "pd.crosstab(nci_labs['label'], pca_labels)\n" + ] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "-all", + "formats": "ipynb,Rmd", + "main_language": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/source/labs/Ch13-multiple-lab.ipynb b/docs/source/labs/Ch13-multiple-lab.ipynb new file mode 100644 index 0000000..a7c1cdc --- /dev/null +++ b/docs/source/labs/Ch13-multiple-lab.ipynb @@ -0,0 +1,961 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "bb70c597", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "id": "e21562bb", + "metadata": {}, + "source": [ + "# Multiple Testing\n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "34e410a6", + "metadata": {}, + "source": [ + "We include our usual imports seen in earlier labs." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1f928b2d", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import statsmodels.api as sm\n", + "from ISLP import load_data\n" + ] + }, + { + "cell_type": "markdown", + "id": "12319e0a", + "metadata": {}, + "source": [ + "We also collect the new imports\n", + "needed for this lab." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eb4b32aa", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "from scipy.stats import \\\n", + " (ttest_1samp,\n", + " ttest_rel,\n", + " ttest_ind,\n", + " t as t_dbn)\n", + "from statsmodels.stats.multicomp import \\\n", + " pairwise_tukeyhsd\n", + "from statsmodels.stats.multitest import \\\n", + " multipletests as mult_test\n" + ] + }, + { + "cell_type": "markdown", + "id": "a2747e58", + "metadata": {}, + "source": [ + "## Review of Hypothesis Tests\n", + "We begin by performing some one-sample $t$-tests.\n", + "\n", + "First we create 100 variables, each consisting of 10 observations. The\n", + "first 50 variables have mean $0.5$ and variance $1$, while the others\n", + "have mean $0$ and variance $1$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e12ac0cd", + "metadata": {}, + "outputs": [], + "source": [ + "rng = np.random.default_rng(12)\n", + "X = rng.standard_normal((10, 100))\n", + "true_mean = np.array([0.5]*50 + [0]*50)\n", + "X += true_mean[None,:]\n" + ] + }, + { + "cell_type": "markdown", + "id": "70d37233", + "metadata": {}, + "source": [ + "To begin, we use `ttest_1samp()` from the\n", + "`scipy.stats` module to test $H_{0}: \\mu_1=0$, the null\n", + "hypothesis that the first variable has mean zero." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "04d0f49e", + "metadata": {}, + "outputs": [], + "source": [ + "result = ttest_1samp(X[:,0], 0)\n", + "result.pvalue\n" + ] + }, + { + "cell_type": "markdown", + "id": "cf83426f", + "metadata": {}, + "source": [ + "The $p$-value comes out to 0.931, which is not low enough to\n", + "reject the null hypothesis at level $\\alpha=0.05$. In this case,\n", + "$\\mu_1=0.5$, so the null hypothesis is false. Therefore, we have made\n", + "a Type II error by failing to reject the null hypothesis when the null\n", + "hypothesis is false. \n", + "\n", + "We now test $H_{0,j}: \\mu_j=0$ for $j=1,\\ldots,100$. We compute the\n", + "100 $p$-values, and then construct a vector recording whether the\n", + "$j$th $p$-value is less than or equal to 0.05, in which case we reject\n", + "$H_{0j}$, or greater than 0.05, in which case we do not reject\n", + "$H_{0j}$, for $j=1,\\ldots,100$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d1f0c695", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "p_values = np.empty(100)\n", + "for i in range(100):\n", + " p_values[i] = ttest_1samp(X[:,i], 0).pvalue\n", + "decision = pd.cut(p_values,\n", + " [0, 0.05, 1],\n", + " labels=['Reject H0',\n", + " 'Do not reject H0'])\n", + "truth = pd.Categorical(true_mean == 0,\n", + " categories=[True, False],\n", + " ordered=True)\n" + ] + }, + { + "cell_type": "markdown", + "id": "3d8e0d96", + "metadata": {}, + "source": [ + "Since this is a simulated data set, we can create a $2 \\times 2$ table\n", + "similar to Table 13.2." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7a9594a0", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "pd.crosstab(decision,\n", + " truth,\n", + " rownames=['Decision'],\n", + " colnames=['H0'])\n" + ] + }, + { + "cell_type": "markdown", + "id": "9610c817", + "metadata": {}, + "source": [ + "Therefore, at level $\\alpha=0.05$, we reject 15 of the 50 false\n", + "null hypotheses, and we incorrectly reject 5 of the true null\n", + "hypotheses. Using the notation from Section 13.3, we have\n", + "$V=5$, $S=15$, $U=45$ and $W=35$.\n", + "We have set $\\alpha=0.05$, which means that we expect to reject around\n", + "5% of the true null hypotheses. This is in line with the $2 \\times 2$\n", + "table above, which indicates that we rejected $V=5$ of the $50$ true\n", + "null hypotheses.\n", + "\n", + "In the simulation above, for the false null hypotheses, the ratio of\n", + "the mean to the standard deviation was only $0.5/1 = 0.5$. This\n", + "amounts to quite a weak signal, and it resulted in a high number of\n", + "Type II errors. Let’s instead simulate data with a stronger signal,\n", + "so that the ratio of the mean to the standard deviation for the false\n", + "null hypotheses equals $1$. We make only 10 Type II errors.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "25f7fc5d", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "true_mean = np.array([1]*50 + [0]*50)\n", + "X = rng.standard_normal((10, 100))\n", + "X += true_mean[None,:]\n", + "for i in range(100):\n", + " p_values[i] = ttest_1samp(X[:,i], 0).pvalue\n", + "decision = pd.cut(p_values,\n", + " [0, 0.05, 1],\n", + " labels=['Reject H0',\n", + " 'Do not reject H0'])\n", + "truth = pd.Categorical(true_mean == 0,\n", + " categories=[True, False],\n", + " ordered=True)\n", + "pd.crosstab(decision,\n", + " truth,\n", + " rownames=['Decision'],\n", + " colnames=['H0'])\n" + ] + }, + { + "cell_type": "markdown", + "id": "e4b5d621", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "f6953d33", + "metadata": {}, + "source": [ + "## Family-Wise Error Rate\n", + "Recall from (13.5) that if the null hypothesis is true\n", + "for each of $m$ independent hypothesis tests, then the FWER is equal\n", + "to $1-(1-\\alpha)^m$. We can use this expression to compute the FWER\n", + "for $m=1,\\ldots, 500$ and $\\alpha=0.05$, $0.01$, and $0.001$.\n", + "We plot the FWER for these values of $\\alpha$ in order to\n", + "reproduce Figure 13.2." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "369b5bd3", + "metadata": {}, + "outputs": [], + "source": [ + "m = np.linspace(1, 501)\n", + "fig, ax = plt.subplots()\n", + "[ax.plot(m,\n", + " 1 - (1 - alpha)**m,\n", + " label=r'$\\alpha=%s$' % str(alpha))\n", + " for alpha in [0.05, 0.01, 0.001]]\n", + "ax.set_xscale('log')\n", + "ax.set_xlabel('Number of Hypotheses')\n", + "ax.set_ylabel('Family-Wise Error Rate')\n", + "ax.legend()\n", + "ax.axhline(0.05, c='k', ls='--');\n" + ] + }, + { + "cell_type": "markdown", + "id": "3a81479e", + "metadata": {}, + "source": [ + "As discussed previously, even for moderate values of $m$ such as $50$,\n", + "the FWER exceeds $0.05$ unless $\\alpha$ is set to a very low value,\n", + "such as $0.001$. Of course, the problem with setting $\\alpha$ to such\n", + "a low value is that we are likely to make a number of Type II errors:\n", + "in other words, our power is very low.\n", + "\n", + "We now conduct a one-sample $t$-test for each of the first five\n", + "managers in the \n", + "`Fund` dataset, in order to test the null\n", + "hypothesis that the $j$th fund manager’s mean return equals zero,\n", + "$H_{0,j}: \\mu_j=0$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9ce7a19f", + "metadata": {}, + "outputs": [], + "source": [ + "Fund = load_data('Fund')\n", + "fund_mini = Fund.iloc[:,:5]\n", + "fund_mini_pvals = np.empty(5)\n", + "for i in range(5):\n", + " fund_mini_pvals[i] = ttest_1samp(fund_mini.iloc[:,i], 0).pvalue\n", + "fund_mini_pvals\n" + ] + }, + { + "cell_type": "markdown", + "id": "7561e3a3", + "metadata": {}, + "source": [ + "The $p$-values are low for Managers One and Three, and high for the\n", + "other three managers. However, we cannot simply reject $H_{0,1}$ and\n", + "$H_{0,3}$, since this would fail to account for the multiple testing\n", + "that we have performed. Instead, we will conduct Bonferroni’s method\n", + "and Holm’s method to control the FWER.\n", + "\n", + "To do this, we use the `multipletests()` function from the\n", + "`statsmodels` module (abbreviated to `mult_test()`). Given the $p$-values,\n", + "for methods like Holm and Bonferroni the function outputs\n", + "adjusted $p$-values, which\n", + "can be thought of as a new set of $p$-values that have been corrected\n", + "for multiple testing. If the adjusted $p$-value for a given hypothesis\n", + "is less than or equal to $\\alpha$, then that hypothesis can be\n", + "rejected while maintaining a FWER of no more than $\\alpha$. In other\n", + "words, for such methods, the adjusted $p$-values resulting from the `multipletests()`\n", + "function can simply be compared to the desired FWER in order to\n", + "determine whether or not to reject each hypothesis. We will later\n", + "see that we can use the same function to control FDR as well." + ] + }, + { + "cell_type": "markdown", + "id": "5b608e46", + "metadata": {}, + "source": [ + "The `mult_test()` function takes $p$-values and a `method` argument, as well as an optional\n", + "`alpha` argument. It returns the decisions (`reject` below)\n", + "as well as the adjusted $p$-values (`bonf`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "de6cffed", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "reject, bonf = mult_test(fund_mini_pvals, method = \"bonferroni\")[:2]\n", + "reject\n" + ] + }, + { + "cell_type": "markdown", + "id": "5135c6b9", + "metadata": {}, + "source": [ + "The $p$-values `bonf` are simply the `fund_mini_pvalues` multiplied by 5 and truncated to be less than\n", + "or equal to 1." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0de71500", + "metadata": {}, + "outputs": [], + "source": [ + "bonf, np.minimum(fund_mini_pvals * 5, 1)\n" + ] + }, + { + "cell_type": "markdown", + "id": "1f0bc112", + "metadata": {}, + "source": [ + "Therefore, using Bonferroni’s method, we are able to reject the null hypothesis only for Manager\n", + "One while controlling FWER at $0.05$.\n", + "\n", + "By contrast, using Holm’s method, the adjusted $p$-values indicate\n", + "that we can reject the null\n", + "hypotheses for Managers One and Three at a FWER of $0.05$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f7e87bdb", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "mult_test(fund_mini_pvals, method = \"holm\", alpha=0.05)[:2]\n" + ] + }, + { + "cell_type": "markdown", + "id": "f762fecd", + "metadata": {}, + "source": [ + "As discussed previously, Manager One seems to perform particularly\n", + "well, whereas Manager Two has poor performance." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e88be376", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "fund_mini.mean()\n" + ] + }, + { + "cell_type": "markdown", + "id": "88dbf0a6", + "metadata": {}, + "source": [ + "Is there evidence of a meaningful difference in performance between\n", + "these two managers? We can check this by performing a paired $t$-test using the `ttest_rel()` function\n", + "from `scipy.stats`:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "41149af6", + "metadata": {}, + "outputs": [], + "source": [ + "ttest_rel(fund_mini['Manager1'],\n", + " fund_mini['Manager2']).pvalue\n" + ] + }, + { + "cell_type": "markdown", + "id": "1aca6122", + "metadata": {}, + "source": [ + "The test results in a $p$-value of 0.038,\n", + "suggesting a statistically significant difference.\n", + "\n", + "However, we decided to perform this test only after examining the data\n", + "and noting that Managers One and Two had the highest and lowest mean\n", + "performances. In a sense, this means that we have implicitly\n", + "performed ${5 \\choose 2} = 5(5-1)/2=10$ hypothesis tests, rather than\n", + "just one, as discussed in Section 13.3.2. Hence, we use the\n", + "`pairwise_tukeyhsd()` function from\n", + "`statsmodels.stats.multicomp` to apply Tukey’s method\n", + " in order to adjust for multiple testing. This function takes\n", + "as input a fitted *ANOVA* regression model, which is\n", + "essentially just a linear regression in which all of the predictors\n", + "are qualitative. In this case, the response consists of the monthly\n", + "excess returns achieved by each manager, and the predictor indicates\n", + "the manager to which each return corresponds." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "61aabda7", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "returns = np.hstack([fund_mini.iloc[:,i] for i in range(5)])\n", + "managers = np.hstack([[i+1]*50 for i in range(5)])\n", + "tukey = pairwise_tukeyhsd(returns, managers)\n", + "print(tukey.summary())\n" + ] + }, + { + "cell_type": "markdown", + "id": "e0084fc5", + "metadata": {}, + "source": [ + "The `pairwise_tukeyhsd()` function provides confidence intervals\n", + "for the difference between each pair of managers (`lower` and\n", + "`upper`), as well as a $p$-value. All of these quantities have\n", + "been adjusted for multiple testing. Notice that the $p$-value for the\n", + "difference between Managers One and Two has increased from $0.038$ to\n", + "$0.186$, so there is no longer clear evidence of a difference between\n", + "the managers’ performances. We can plot the confidence intervals for\n", + "the pairwise comparisons using the `plot_simultaneous()` method\n", + "of `tukey`. Any pair of intervals that don’t overlap indicates a significant difference at the nominal level of 0.05. In this case,\n", + "no differences are considered significant as reported in the table above." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cbcad4de", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = plt.subplots(figsize=(8,8))\n", + "tukey.plot_simultaneous(ax=ax);\n" + ] + }, + { + "cell_type": "markdown", + "id": "6278d13c", + "metadata": {}, + "source": [ + "## False Discovery Rate\n", + "Now we perform hypothesis tests for all 2,000 fund managers in the\n", + "`Fund` dataset. We perform a one-sample $t$-test\n", + "of $H_{0,j}: \\mu_j=0$, which states that the\n", + "$j$th fund manager’s mean return is zero." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b5842190", + "metadata": {}, + "outputs": [], + "source": [ + "fund_pvalues = np.empty(2000)\n", + "for i, manager in enumerate(Fund.columns):\n", + " fund_pvalues[i] = ttest_1samp(Fund[manager], 0).pvalue\n" + ] + }, + { + "cell_type": "markdown", + "id": "80fc2fcc", + "metadata": {}, + "source": [ + "There are far too many managers to consider trying to control the FWER.\n", + "Instead, we focus on controlling the FDR: that is, the expected fraction of rejected null hypotheses that are actually false positives.\n", + "The `multipletests()` function (abbreviated `mult_test()`) can be used to carry out the Benjamini--Hochberg procedure." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7c9d8bed", + "metadata": {}, + "outputs": [], + "source": [ + "fund_qvalues = mult_test(fund_pvalues, method = \"fdr_bh\")[1]\n", + "fund_qvalues[:10]\n" + ] + }, + { + "cell_type": "markdown", + "id": "4f73096d", + "metadata": {}, + "source": [ + "The *q-values* output by the\n", + "Benjamini--Hochberg procedure can be interpreted as the smallest FDR\n", + "threshold at which we would reject a particular null hypothesis. For\n", + "instance, a $q$-value of $0.1$ indicates that we can reject the\n", + "corresponding null hypothesis at an FDR of 10% or greater, but that\n", + "we cannot reject the null hypothesis at an FDR below 10%.\n", + "\n", + "If we control the FDR at 10%, then for how many of the fund managers can we reject $H_{0,j}: \\mu_j=0$?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bfa39f7c", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "(fund_qvalues <= 0.1).sum()\n" + ] + }, + { + "cell_type": "markdown", + "id": "ccb44c8d", + "metadata": {}, + "source": [ + "We find that 146 of the 2,000 fund managers have a $q$-value below\n", + "0.1; therefore, we are able to conclude that 146 of the fund managers\n", + "beat the market at an FDR of 10%. Only about 15 (10% of 146) of\n", + "these fund managers are likely to be false discoveries.\n", + "\n", + "By contrast, if we had instead used Bonferroni’s method to control the\n", + "FWER at level $\\alpha=0.1$, then we would have failed to reject any\n", + "null hypotheses!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "70b69b47", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "(fund_pvalues <= 0.1 / 2000).sum()\n" + ] + }, + { + "cell_type": "markdown", + "id": "c8a969f4", + "metadata": {}, + "source": [ + "Figure 13.6 displays the ordered\n", + "$p$-values, $p_{(1)} \\leq p_{(2)} \\leq \\cdots \\leq p_{(2000)}$, for\n", + "the `Fund` dataset, as well as the threshold for rejection by the\n", + "Benjamini--Hochberg procedure. Recall that the Benjamini--Hochberg\n", + "procedure identifies the largest $p$-value such that $p_{(j)} 0:\n", + " selected_ = fund_pvalues < sorted_[sorted_set_].max()\n", + " sorted_set_ = np.arange(sorted_set_.max())\n", + "else:\n", + " selected_ = []\n", + " sorted_set_ = []\n" + ] + }, + { + "cell_type": "markdown", + "id": "ddeb3900", + "metadata": {}, + "source": [ + "We now reproduce the middle panel of Figure 13.6." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0314eac9", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "fig, ax = plt.subplots()\n", + "ax.scatter(np.arange(0, sorted_.shape[0]) + 1,\n", + " sorted_, s=10)\n", + "ax.set_yscale('log')\n", + "ax.set_xscale('log')\n", + "ax.set_ylabel('P-Value')\n", + "ax.set_xlabel('Index')\n", + "ax.scatter(sorted_set_+1, sorted_[sorted_set_], c='r', s=20)\n", + "ax.axline((0, 0), (1,q/m), c='k', ls='--', linewidth=3);\n" + ] + }, + { + "cell_type": "markdown", + "id": "83416f4a", + "metadata": {}, + "source": [ + "## A Re-Sampling Approach\n", + "Here, we implement the re-sampling approach to hypothesis testing\n", + "using the `Khan` dataset, which we investigated in\n", + "Section 13.5. First, we merge the training and\n", + "testing data, which results in observations on 83 patients for\n", + "2,308 genes." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b59b8137", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "Khan = load_data('Khan') \n", + "D = pd.concat([Khan['xtrain'], Khan['xtest']])\n", + "D['Y'] = pd.concat([Khan['ytrain'], Khan['ytest']])\n", + "D['Y'].value_counts()\n" + ] + }, + { + "cell_type": "markdown", + "id": "5534c8d4", + "metadata": {}, + "source": [ + "There are four classes of cancer. For each gene, we compare the mean\n", + "expression in the second class (rhabdomyosarcoma) to the mean\n", + "expression in the fourth class (Burkitt’s lymphoma). Performing a\n", + "standard two-sample $t$-test \n", + "using `ttest_ind()` from `scipy.stats` on the $11$th\n", + "gene produces a test-statistic of -2.09 and an associated $p$-value\n", + "of 0.0412, suggesting modest evidence of a difference in mean\n", + "expression levels between the two cancer types." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "96fb2f61", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "D2 = D[lambda df:df['Y'] == 2]\n", + "D4 = D[lambda df:df['Y'] == 4]\n", + "gene_11 = 'G0011'\n", + "observedT, pvalue = ttest_ind(D2[gene_11],\n", + " D4[gene_11],\n", + " equal_var=True)\n", + "observedT, pvalue\n" + ] + }, + { + "cell_type": "markdown", + "id": "3131124e", + "metadata": {}, + "source": [ + "However, this $p$-value relies on the assumption that under the null\n", + "hypothesis of no difference between the two groups, the test statistic\n", + "follows a $t$-distribution with $29+25-2=52$ degrees of freedom.\n", + "Instead of using this theoretical null distribution, we can randomly\n", + "split the 54 patients into two groups of 29 and 25, and compute a new\n", + "test statistic. Under the null hypothesis of no difference between\n", + "the groups, this new test statistic should have the same distribution\n", + "as our original one. Repeating this process 10,000 times allows us to\n", + "approximate the null distribution of the test statistic. We compute\n", + "the fraction of the time that our observed test statistic exceeds the\n", + "test statistics obtained via re-sampling." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fdc229fa", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "B = 10000\n", + "Tnull = np.empty(B)\n", + "D_ = np.hstack([D2[gene_11], D4[gene_11]])\n", + "n_ = D2[gene_11].shape[0]\n", + "D_null = D_.copy()\n", + "for b in range(B):\n", + " rng.shuffle(D_null)\n", + " ttest_ = ttest_ind(D_null[:n_],\n", + " D_null[n_:],\n", + " equal_var=True)\n", + " Tnull[b] = ttest_.statistic\n", + "(np.abs(Tnull) > np.abs(observedT)).mean()\n" + ] + }, + { + "cell_type": "markdown", + "id": "c7fc4557", + "metadata": {}, + "source": [ + "This fraction, 0.0398,\n", + "is our re-sampling-based $p$-value.\n", + "It is almost identical to the $p$-value of 0.0412 obtained using the theoretical null distribution.\n", + "We can plot a histogram of the re-sampling-based test statistics in order to reproduce Figure 13.7." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e3894695", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig, ax = plt.subplots(figsize=(8,8))\n", + "ax.hist(Tnull,\n", + " bins=100,\n", + " density=True,\n", + " facecolor='y',\n", + " label='Null')\n", + "xval = np.linspace(-4.2, 4.2, 1001)\n", + "ax.plot(xval,\n", + " t_dbn.pdf(xval, D_.shape[0]-2),\n", + " c='r')\n", + "ax.axvline(observedT,\n", + " c='b',\n", + " label='Observed')\n", + "ax.legend()\n", + "ax.set_xlabel(\"Null Distribution of Test Statistic\");\n" + ] + }, + { + "cell_type": "markdown", + "id": "3bd21158", + "metadata": {}, + "source": [ + "The re-sampling-based null distribution is almost identical to the theoretical null distribution, which is displayed in red.\n", + "\n", + "Finally, we implement the plug-in re-sampling FDR approach outlined in\n", + "Algorithm 13.4. Depending on the speed of your\n", + "computer, calculating the FDR for all 2,308 genes in the `Khan`\n", + "dataset may take a while. Hence, we will illustrate the approach on a\n", + "random subset of 100 genes. For each gene, we first compute the\n", + "observed test statistic, and then produce 10,000 re-sampled test\n", + "statistics. This may take a few minutes to run. If you are in a rush,\n", + "then you could set `B` equal to a smaller value (e.g. `B=500`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3b7392cb", + "metadata": {}, + "outputs": [], + "source": [ + "m, B = 100, 10000\n", + "idx = rng.choice(Khan['xtest'].columns, m, replace=False)\n", + "T_vals = np.empty(m)\n", + "Tnull_vals = np.empty((m, B))\n", + "\n", + "for j in range(m):\n", + " col = idx[j]\n", + " T_vals[j] = ttest_ind(D2[col],\n", + " D4[col],\n", + " equal_var=True).statistic\n", + " D_ = np.hstack([D2[col], D4[col]])\n", + " D_null = D_.copy()\n", + " for b in range(B):\n", + " rng.shuffle(D_null)\n", + " ttest_ = ttest_ind(D_null[:n_],\n", + " D_null[n_:],\n", + " equal_var=True)\n", + " Tnull_vals[j,b] = ttest_.statistic\n" + ] + }, + { + "cell_type": "markdown", + "id": "1b92df1b", + "metadata": {}, + "source": [ + "Next, we compute the number of rejected null hypotheses $R$, the\n", + "estimated number of false positives $\\widehat{V}$, and the estimated\n", + "FDR, for a range of threshold values $c$ in\n", + "Algorithm 13.4. The threshold values are chosen\n", + "using the absolute values of the test statistics from the 100 genes." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cac15616", + "metadata": {}, + "outputs": [], + "source": [ + "cutoffs = np.sort(np.abs(T_vals))\n", + "FDRs, Rs, Vs = np.empty((3, m))\n", + "for j in range(m):\n", + " R = np.sum(np.abs(T_vals) >= cutoffs[j])\n", + " V = np.sum(np.abs(Tnull_vals) >= cutoffs[j]) / B\n", + " Rs[j] = R\n", + " Vs[j] = V\n", + " FDRs[j] = V / R\n" + ] + }, + { + "cell_type": "markdown", + "id": "f6779ea0", + "metadata": {}, + "source": [ + "Now, for any given FDR, we can find the genes that will be\n", + "rejected. For example, with FDR controlled at 0.1, we reject 15 of the\n", + "100 null hypotheses. On average, we would expect about one or two of\n", + "these genes (i.e. 10% of 15) to be false discoveries. At an FDR of\n", + "0.2, we can reject the null hypothesis for 28 genes, of which we\n", + "expect around six to be false discoveries.\n", + "\n", + "The variable `idx` stores which\n", + "genes were included in our 100 randomly-selected genes. Let’s look at\n", + "the genes whose estimated FDR is less than 0.1." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9661eb10", + "metadata": {}, + "outputs": [], + "source": [ + "sorted(idx[np.abs(T_vals) >= cutoffs[FDRs < 0.1].min()])\n" + ] + }, + { + "cell_type": "markdown", + "id": "001e3fc1", + "metadata": {}, + "source": [ + "At an FDR threshold of 0.2, more genes are selected, at the cost of having a higher expected\n", + "proportion of false discoveries." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "18ad4900", + "metadata": {}, + "outputs": [], + "source": [ + "sorted(idx[np.abs(T_vals) >= cutoffs[FDRs < 0.2].min()])\n" + ] + }, + { + "cell_type": "markdown", + "id": "8767f70c", + "metadata": {}, + "source": [ + "The next line generates Figure 13.11, which is similar\n", + "to Figure 13.9,\n", + "except that it is based on only a subset of the genes." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "28c276b6", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = plt.subplots()\n", + "ax.plot(Rs, FDRs, 'b', linewidth=3)\n", + "ax.set_xlabel(\"Number of Rejections\")\n", + "ax.set_ylabel(\"False Discovery Rate\");\n" + ] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "-all", + "formats": "ipynb,Rmd", + "main_language": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/source/labs/Ch2-statlearn-lab.ipynb b/docs/source/labs/Ch2-statlearn-lab.ipynb new file mode 100644 index 0000000..9b826df --- /dev/null +++ b/docs/source/labs/Ch2-statlearn-lab.ipynb @@ -0,0 +1,3036 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "06a14452", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "id": "0025f21f", + "metadata": {}, + "source": [ + "# Introduction to Python\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "e9222139", + "metadata": {}, + "source": [ + "## Getting Started" + ] + }, + { + "cell_type": "markdown", + "id": "a84726ab", + "metadata": {}, + "source": [ + "To run the labs in this book, you will need two things:\n", + "\n", + "* An installation of `Python3`, which is the specific version of `Python` used in the labs. \n", + "* Access to `Jupyter`, a very popular `Python` interface that runs code through a file called a *notebook*. " + ] + }, + { + "cell_type": "markdown", + "id": "f922cc9e", + "metadata": {}, + "source": [ + "You can download and install `Python3` by following the instructions available at [anaconda.com](http://anaconda.com). " + ] + }, + { + "cell_type": "markdown", + "id": "baaeada6", + "metadata": {}, + "source": [ + " There are a number of ways to get access to `Jupyter`. Here are just a few:\n", + " \n", + " * Using Google's `Colaboratory` service: [colab.research.google.com/](https://colab.research.google.com/). \n", + " * Using `JupyterHub`, available at [jupyter.org/hub](https://jupyter.org/hub). \n", + " * Using your own `jupyter` installation. Installation instructions are available at [jupyter.org/install](https://jupyter.org/install). \n", + " \n", + "Please see the `Python` resources page on the book website [statlearning.com](https://www.statlearning.com) for up-to-date information about getting `Python` and `Jupyter` working on your computer. \n", + "\n", + "You will need to install the `ISLP` package, which provides access to the datasets and custom-built functions that we provide.\n", + "Inside a macOS or Linux terminal type `pip install ISLP`; this also installs most other packages needed in the labs. The `Python` resources page has a link to the `ISLP` documentation website.\n", + "\n", + "To run this lab, download the file `Ch2-statlearn-lab.ipynb` from the `Python` resources page. \n", + "Now run the following code at the command line: `jupyter lab Ch2-statlearn-lab.ipynb`.\n", + "\n", + "If you're using Windows, you can use the `start menu` to access `anaconda`, and follow the links. For example, to install `ISLP` and run this lab, you can run the same code above in an `anaconda` shell.\n" + ] + }, + { + "cell_type": "markdown", + "id": "7a44fbd9", + "metadata": {}, + "source": [ + "## Basic Commands\n" + ] + }, + { + "cell_type": "markdown", + "id": "3831ff0d", + "metadata": {}, + "source": [ + "In this lab, we will introduce some simple `Python` commands. \n", + " For more resources about `Python` in general, readers may want to consult the tutorial at [docs.python.org/3/tutorial/](https://docs.python.org/3/tutorial/). \n", + "\n", + "\n", + " \n" + ] + }, + { + "cell_type": "markdown", + "id": "b5460488", + "metadata": {}, + "source": [ + "Like most programming languages, `Python` uses *functions*\n", + "to perform operations. To run a\n", + "function called `fun`, we type\n", + "`fun(input1,input2)`, where the inputs (or *arguments*)\n", + "`input1` and `input2` tell\n", + "`Python` how to run the function. A function can have any number of\n", + "inputs. For example, the\n", + "`print()` function outputs a text representation of all of its arguments to the console." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "88d0bfff", + "metadata": {}, + "outputs": [], + "source": [ + "print('fit a model with', 11, 'variables')\n" + ] + }, + { + "cell_type": "markdown", + "id": "9c07629a", + "metadata": {}, + "source": [ + " The following command will provide information about the `print()` function." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ebe7aca8", + "metadata": {}, + "outputs": [], + "source": [ + "print?\n" + ] + }, + { + "cell_type": "markdown", + "id": "b0c41d18", + "metadata": {}, + "source": [ + "Adding two integers in `Python` is pretty intuitive." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "df2f8168", + "metadata": {}, + "outputs": [], + "source": [ + "3 + 5\n" + ] + }, + { + "cell_type": "markdown", + "id": "7e7b4195", + "metadata": {}, + "source": [ + "In `Python`, textual data is handled using\n", + "*strings*. For instance, `\"hello\"` and\n", + "`'hello'`\n", + "are strings. \n", + "We can concatenate them using the addition `+` symbol." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4cc5c2c1", + "metadata": {}, + "outputs": [], + "source": [ + "\"hello\" + \" \" + \"world\"\n" + ] + }, + { + "cell_type": "markdown", + "id": "cfda314a", + "metadata": {}, + "source": [ + " A string is actually a type of *sequence*: this is a generic term for an ordered list. \n", + " The three most important types of sequences are lists, tuples, and strings. \n", + "We introduce lists now. " + ] + }, + { + "cell_type": "markdown", + "id": "764ca7ea", + "metadata": {}, + "source": [ + "The following command instructs `Python` to join together\n", + "the numbers 3, 4, and 5, and to save them as a\n", + "*list* named `x`. When we\n", + "type `x`, it gives us back the list." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e5d81180", + "metadata": {}, + "outputs": [], + "source": [ + "x = [3, 4, 5]\n", + "x\n" + ] + }, + { + "cell_type": "markdown", + "id": "a2e75dce", + "metadata": {}, + "source": [ + "Note that we used the brackets\n", + "`[]` to construct this list. \n", + "\n", + "We will often want to add two sets of numbers together. It is reasonable to try the following code,\n", + "though it will not produce the desired results." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "425a714c", + "metadata": {}, + "outputs": [], + "source": [ + "y = [4, 9, 7]\n", + "x + y\n" + ] + }, + { + "cell_type": "markdown", + "id": "245f069e", + "metadata": {}, + "source": [ + "The result may appear slightly counterintuitive: why did `Python` not add the entries of the lists\n", + "element-by-element? \n", + " In `Python`, lists hold *arbitrary* objects, and are added using *concatenation*. \n", + " In fact, concatenation is the behavior that we saw earlier when we entered `\"hello\" + \" \" + \"world\"`. \n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "071caddd", + "metadata": {}, + "source": [ + "This example reflects the fact that \n", + " `Python` is a general-purpose programming language. Much of `Python`'s data-specific\n", + "functionality comes from other packages, notably `numpy`\n", + "and `pandas`. \n", + "In the next section, we will introduce the `numpy` package. More information about `numpy` can be found at \n", + "[docs.scipy.org/doc/numpy/user/quickstart.html](https://docs.scipy.org/doc/numpy/user/quickstart.html).\n" + ] + }, + { + "cell_type": "markdown", + "id": "25581a8e", + "metadata": {}, + "source": [ + "## Introduction to Numerical Python\n", + "\n", + "As mentioned earlier, this book makes use of functionality that is contained in the `numpy` \n", + " *library*, or *package*. A package is a collection of modules that are not necessarily included in \n", + " the base `Python` distribution. The name `numpy` is an abbreviation for *numerical Python*. " + ] + }, + { + "cell_type": "markdown", + "id": "851a40d6", + "metadata": {}, + "source": [ + " To access `numpy`, we must first `import` it." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2f88669a", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "import numpy as np " + ] + }, + { + "cell_type": "markdown", + "id": "5bdc55d1", + "metadata": {}, + "source": [ + "In the previous line, we named the `numpy` *module* `np`; an abbreviation for easier referencing." + ] + }, + { + "cell_type": "markdown", + "id": "7b2cbe8b", + "metadata": {}, + "source": [ + "In `numpy`, an *array* is a generic term for a multidimensional\n", + "set of numbers.\n", + "We use the `np.array()` function to define `x` and `y`, which are one-dimensional arrays, i.e. vectors." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e8ec382a", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "x = np.array([3, 4, 5])\n", + "y = np.array([4, 9, 7])" + ] + }, + { + "cell_type": "markdown", + "id": "3a5ce193", + "metadata": {}, + "source": [ + "Note that if you forgot to run the `import numpy as np` command earlier, then\n", + "you will encounter an error in calling the `np.array()` function in the previous line. \n", + " The syntax `np.array()` indicates that the function being called\n", + "is part of the `numpy` package, which we have abbreviated as `np`. " + ] + }, + { + "cell_type": "markdown", + "id": "b21e6ebd", + "metadata": {}, + "source": [ + "Since `x` and `y` have been defined using `np.array()`, we get a sensible result when we add them together. Compare this to our results in the previous section,\n", + " when we tried to add two lists without using `numpy`. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "04de39ad", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "x + y" + ] + }, + { + "cell_type": "markdown", + "id": "c04d19a8", + "metadata": {}, + "source": [ + " \n", + " \n" + ] + }, + { + "cell_type": "markdown", + "id": "33df3775", + "metadata": {}, + "source": [ + "In `numpy`, matrices are typically represented as two-dimensional arrays, and vectors as one-dimensional arrays. {While it is also possible to create matrices using `np.matrix()`, we will use `np.array()` throughout the labs in this book.}\n", + "We can create a two-dimensional array as follows. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fee5d798", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "x = np.array([[1, 2], [3, 4]])\n", + "x" + ] + }, + { + "cell_type": "markdown", + "id": "477c992d", + "metadata": {}, + "source": [ + " \n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "86de84a5", + "metadata": {}, + "source": [ + "The object `x` has several \n", + "*attributes*, or associated objects. To access an attribute of `x`, we type `x.attribute`, where we replace `attribute`\n", + "with the name of the attribute. \n", + "For instance, we can access the `ndim` attribute of `x` as follows. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5871ca00", + "metadata": {}, + "outputs": [], + "source": [ + "x.ndim" + ] + }, + { + "cell_type": "markdown", + "id": "71a44f8e", + "metadata": {}, + "source": [ + "The output indicates that `x` is a two-dimensional array. \n", + "Similarly, `x.dtype` is the *data type* attribute of the object `x`. This indicates that `x` is \n", + "comprised of 64-bit integers:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5a32759c", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "x.dtype" + ] + }, + { + "cell_type": "markdown", + "id": "e770da51", + "metadata": {}, + "source": [ + "Why is `x` comprised of integers? This is because we created `x` by passing in exclusively integers to the `np.array()` function.\n", + " If\n", + "we had passed in any decimals, then we would have obtained an array of\n", + "*floating point numbers* (i.e. real-valued numbers). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "55f01b16", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "np.array([[1, 2], [3.0, 4]]).dtype\n" + ] + }, + { + "cell_type": "markdown", + "id": "4595300f", + "metadata": {}, + "source": [ + "Typing `fun?` will cause `Python` to display \n", + "documentation associated with the function `fun`, if it exists.\n", + "We can try this for `np.array()`. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2a9de618", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "np.array?\n" + ] + }, + { + "cell_type": "markdown", + "id": "9640f3fe", + "metadata": {}, + "source": [ + "This documentation indicates that we could create a floating point array by passing a `dtype` argument into `np.array()`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "33e3e6ea", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "np.array([[1, 2], [3, 4]], float).dtype\n" + ] + }, + { + "cell_type": "markdown", + "id": "fbf59c0e", + "metadata": {}, + "source": [ + "The array `x` is two-dimensional. We can find out the number of rows and columns by looking\n", + "at its `shape` attribute." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "623f8434", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "x.shape\n" + ] + }, + { + "cell_type": "markdown", + "id": "81f0bbae", + "metadata": {}, + "source": [ + "A *method* is a function that is associated with an\n", + "object. \n", + "For instance, given an array `x`, the expression\n", + "`x.sum()` sums all of its elements, using the `sum()`\n", + "method for arrays. \n", + "The call `x.sum()` automatically provides `x` as the\n", + "first argument to its `sum()` method." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "235738a7", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "x = np.array([1, 2, 3, 4])\n", + "x.sum()" + ] + }, + { + "cell_type": "markdown", + "id": "72373ccf", + "metadata": {}, + "source": [ + "We could also sum the elements of `x` by passing in `x` as an argument to the `np.sum()` function. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7f3494e1", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "x = np.array([1, 2, 3, 4])\n", + "np.sum(x)" + ] + }, + { + "cell_type": "markdown", + "id": "69967e23", + "metadata": {}, + "source": [ + " As another example, the\n", + "`reshape()` method returns a new array with the same elements as\n", + "`x`, but a different shape.\n", + " We do this by passing in a `tuple` in our call to\n", + " `reshape()`, in this case `(2, 3)`. This tuple specifies that we would like to create a two-dimensional array with \n", + "$2$ rows and $3$ columns. {Like lists, tuples represent a sequence of objects. Why do we need more than one way to create a sequence? There are a few differences between tuples and lists, but perhaps the most important is that elements of a tuple cannot be modified, whereas elements of a list can be.}\n", + " \n", + "In what follows, the\n", + "`\\n` character creates a *new line*." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0ca8f936", + "metadata": {}, + "outputs": [], + "source": [ + "x = np.array([1, 2, 3, 4, 5, 6])\n", + "print('beginning x:\\n', x)\n", + "x_reshape = x.reshape((2, 3))\n", + "print('reshaped x:\\n', x_reshape)\n" + ] + }, + { + "cell_type": "markdown", + "id": "0c1e36ab", + "metadata": {}, + "source": [ + "The previous output reveals that `numpy` arrays are specified as a sequence\n", + "of *rows*. This is called *row-major ordering*, as opposed to *column-major ordering*. " + ] + }, + { + "cell_type": "markdown", + "id": "45263db2", + "metadata": {}, + "source": [ + "`Python` (and hence `numpy`) uses 0-based\n", + "indexing. This means that to access the top left element of `x_reshape`, \n", + "we type in `x_reshape[0,0]`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "23fba624", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "x_reshape[0, 0] " + ] + }, + { + "cell_type": "markdown", + "id": "26f1717c", + "metadata": {}, + "source": [ + "Similarly, `x_reshape[1,2]` yields the element in the second row and the third column \n", + "of `x_reshape`. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1a1df926", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "x_reshape[1, 2] " + ] + }, + { + "cell_type": "markdown", + "id": "c6d6d359", + "metadata": {}, + "source": [ + "Similarly, `x[2]` yields the\n", + "third entry of `x`. \n", + "\n", + "Now, let's modify the top left element of `x_reshape`. To our surprise, we discover that the first element of `x` has been modified as well!\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4bfcc1e1", + "metadata": {}, + "outputs": [], + "source": [ + "print('x before we modify x_reshape:\\n', x)\n", + "print('x_reshape before we modify x_reshape:\\n', x_reshape)\n", + "x_reshape[0, 0] = 5\n", + "print('x_reshape after we modify its top left element:\\n', x_reshape)\n", + "print('x after we modify top left element of x_reshape:\\n', x)\n" + ] + }, + { + "cell_type": "markdown", + "id": "10ff8c21", + "metadata": {}, + "source": [ + "Modifying `x_reshape` also modified `x` because the two objects occupy the same space in memory.\n", + " \n", + "\n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "ff267ecb", + "metadata": {}, + "source": [ + "We just saw that we can modify an element of an array. Can we also modify a tuple? It turns out that we cannot --- and trying to do so introduces\n", + "an *exception*, or error." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "973c562a", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "my_tuple = (3, 4, 5)\n", + "my_tuple[0] = 2\n" + ] + }, + { + "cell_type": "markdown", + "id": "56393fe3", + "metadata": {}, + "source": [ + "We now briefly mention some attributes of arrays that will come in handy. An array's `shape` attribute contains its dimension; this is always a tuple.\n", + "The `ndim` attribute yields the number of dimensions, and `T` provides its transpose. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "56b5c382", + "metadata": {}, + "outputs": [], + "source": [ + "x_reshape.shape, x_reshape.ndim, x_reshape.T\n" + ] + }, + { + "cell_type": "markdown", + "id": "22408350", + "metadata": {}, + "source": [ + "Notice that the three individual outputs `(2,3)`, `2`, and `array([[5, 4],[2, 5], [3,6]])` are themselves output as a tuple. \n", + " \n", + "We will often want to apply functions to arrays. \n", + "For instance, we can compute the\n", + "square root of the entries using the `np.sqrt()` function: " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2e624622", + "metadata": {}, + "outputs": [], + "source": [ + "np.sqrt(x)\n" + ] + }, + { + "cell_type": "markdown", + "id": "6c3e074d", + "metadata": {}, + "source": [ + "We can also square the elements:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6f45bd25", + "metadata": {}, + "outputs": [], + "source": [ + "x**2\n" + ] + }, + { + "cell_type": "markdown", + "id": "481ca03c", + "metadata": {}, + "source": [ + "We can compute the square roots using the same notation, raising to the power of $1/2$ instead of 2." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6980f628", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "x**0.5\n" + ] + }, + { + "cell_type": "markdown", + "id": "bc357745", + "metadata": {}, + "source": [ + "Throughout this book, we will often want to generate random data. \n", + "The `np.random.normal()` function generates a vector of random\n", + "normal variables. We can learn more about this function by looking at the help page, via a call to `np.random.normal?`.\n", + "The first line of the help page reads `normal(loc=0.0, scale=1.0, size=None)`. \n", + " This *signature* line tells us that the function's arguments are `loc`, `scale`, and `size`. These are *keyword* arguments, which means that when they are passed into\n", + " the function, they can be referred to by name (in any order). {`Python` also uses *positional* arguments. Positional arguments do not need to use a keyword. To see an example, type in `np.sum?`. We see that `a` is a positional argument, i.e. this function assumes that the first unnamed argument that it receives is the array to be summed. By contrast, `axis` and `dtype` are keyword arguments: the position in which these arguments are entered into `np.sum()` does not matter.}\n", + " By default, this function will generate random normal variable(s) with mean (`loc`) $0$ and standard deviation (`scale`) $1$; furthermore, \n", + " a single random variable will be generated unless the argument to `size` is changed. \n", + "\n", + "We now generate 50 independent random variables from a $N(0,1)$ distribution. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "89e32100", + "metadata": {}, + "outputs": [], + "source": [ + "x = np.random.normal(size=50)\n", + "x\n" + ] + }, + { + "cell_type": "markdown", + "id": "80939b41", + "metadata": {}, + "source": [ + "We create an array `y` by adding an independent $N(50,1)$ random variable to each element of `x`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e3428155", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "y = x + np.random.normal(loc=50, scale=1, size=50)" + ] + }, + { + "cell_type": "markdown", + "id": "17f93000", + "metadata": {}, + "source": [ + "The `np.corrcoef()` function computes the correlation matrix between `x` and `y`. The off-diagonal elements give the \n", + "correlation between `x` and `y`. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "df70172e", + "metadata": {}, + "outputs": [], + "source": [ + "np.corrcoef(x, y)" + ] + }, + { + "cell_type": "markdown", + "id": "8fb44ec4", + "metadata": {}, + "source": [ + "If you're following along in your own `Jupyter` notebook, then you probably noticed that you got a different set of results when you ran the past few \n", + "commands. In particular, \n", + " each\n", + "time we call `np.random.normal()`, we will get a different answer, as shown in the following example." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1d996956", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "print(np.random.normal(scale=5, size=2))\n", + "print(np.random.normal(scale=5, size=2)) \n" + ] + }, + { + "cell_type": "markdown", + "id": "d3d0e0fb", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "988ca34a", + "metadata": {}, + "source": [ + "In order to ensure that our code provides exactly the same results\n", + "each time it is run, we can set a *random seed* \n", + "using the \n", + "`np.random.default_rng()` function.\n", + "This function takes an arbitrary, user-specified integer argument. If we set a random seed before \n", + "generating random data, then re-running our code will yield the same results. The\n", + "object `rng` has essentially all the random number generating methods found in `np.random`. Hence, to\n", + "generate normal data we use `rng.normal()`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "37b3a30b", + "metadata": {}, + "outputs": [], + "source": [ + "rng = np.random.default_rng(1303)\n", + "print(rng.normal(scale=5, size=2))\n", + "rng2 = np.random.default_rng(1303)\n", + "print(rng2.normal(scale=5, size=2)) " + ] + }, + { + "cell_type": "markdown", + "id": "039e7f65", + "metadata": {}, + "source": [ + "Throughout the labs in this book, we use `np.random.default_rng()` whenever we\n", + "perform calculations involving random quantities within `numpy`. In principle, this\n", + "should enable the reader to exactly reproduce the stated results. However, as new versions of `numpy` become available, it is possible\n", + "that some small discrepancies may occur between the output\n", + "in the labs and the output\n", + "from `numpy`.\n", + "\n", + "The `np.mean()`, `np.var()`, and `np.std()` functions can be used\n", + "to compute the mean, variance, and standard deviation of arrays. These functions are also\n", + "available as methods on the arrays." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b4f99e0e", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "rng = np.random.default_rng(3)\n", + "y = rng.standard_normal(10)\n", + "np.mean(y), y.mean()" + ] + }, + { + "cell_type": "markdown", + "id": "3b42d9c6", + "metadata": {}, + "source": [ + " \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dbd70319", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "np.var(y), y.var(), np.mean((y - y.mean())**2)" + ] + }, + { + "cell_type": "markdown", + "id": "ba51f245", + "metadata": {}, + "source": [ + "Notice that by default `np.var()` divides by the sample size $n$ rather\n", + "than $n-1$; see the `ddof` argument in `np.var?`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bf281844", + "metadata": {}, + "outputs": [], + "source": [ + "np.sqrt(np.var(y)), np.std(y)" + ] + }, + { + "cell_type": "markdown", + "id": "877ca8e0", + "metadata": {}, + "source": [ + "The `np.mean()`, `np.var()`, and `np.std()` functions can also be applied to the rows and columns of a matrix. \n", + "To see this, we construct a $10 \\times 3$ matrix of $N(0,1)$ random variables, and consider computing its row sums. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f751b1dd", + "metadata": {}, + "outputs": [], + "source": [ + "X = rng.standard_normal((10, 3))\n", + "X" + ] + }, + { + "cell_type": "markdown", + "id": "f9028e1a", + "metadata": {}, + "source": [ + "Since arrays are row-major ordered, the first axis, i.e. `axis=0`, refers to its rows. We pass this argument into the `mean()` method for the object `X`. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cbf92de5", + "metadata": {}, + "outputs": [], + "source": [ + "X.mean(axis=0)" + ] + }, + { + "cell_type": "markdown", + "id": "009195d4", + "metadata": {}, + "source": [ + "The following yields the same result." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "efacc213", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "X.mean(0)" + ] + }, + { + "cell_type": "markdown", + "id": "4b70cd2e", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "e33fa3fc", + "metadata": {}, + "source": [ + "## Graphics\n", + "In `Python`, common practice is to use the library\n", + "`matplotlib` for graphics.\n", + "However, since `Python` was not written with data analysis in mind,\n", + " the notion of plotting is not intrinsic to the language. \n", + "We will use the `subplots()` function\n", + "from `matplotlib.pyplot` to create a figure and the\n", + "axes onto which we plot our data.\n", + "For many more examples of how to make plots in `Python`,\n", + "readers are encouraged to visit [matplotlib.org/stable/gallery/](https://matplotlib.org/stable/gallery/index.html).\n", + "\n", + "In `matplotlib`, a plot consists of a *figure* and one or more *axes*. You can think of the figure as the blank canvas upon which \n", + "one or more plots will be displayed: it is the entire plotting window. \n", + "The *axes* contain important information about each plot, such as its $x$- and $y$-axis labels,\n", + "title, and more. (Note that in `matplotlib`, the word *axes* is not the plural of *axis*: a plot's *axes* contains much more information \n", + "than just the $x$-axis and the $y$-axis.)\n", + "\n", + "We begin by importing the `subplots()` function\n", + "from `matplotlib`. We use this function\n", + "throughout when creating figures.\n", + "The function returns a tuple of length two: a figure\n", + "object as well as the relevant axes object. We will typically\n", + "pass `figsize` as a keyword argument.\n", + "Having created our axes, we attempt our first plot using its `plot()` method.\n", + "To learn more about it, \n", + "type `ax.plot?`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "637fb67d", + "metadata": {}, + "outputs": [], + "source": [ + "from matplotlib.pyplot import subplots\n", + "fig, ax = subplots(figsize=(8, 8))\n", + "x = rng.standard_normal(100)\n", + "y = rng.standard_normal(100)\n", + "ax.plot(x, y);\n" + ] + }, + { + "cell_type": "markdown", + "id": "ca04f15f", + "metadata": {}, + "source": [ + "We pause here to note that we have *unpacked* the tuple of length two returned by `subplots()` into the two distinct\n", + "variables `fig` and `ax`. Unpacking\n", + "is typically preferred to the following equivalent but slightly more verbose code:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "109d681d", + "metadata": {}, + "outputs": [], + "source": [ + "output = subplots(figsize=(8, 8))\n", + "fig = output[0]\n", + "ax = output[1]" + ] + }, + { + "cell_type": "markdown", + "id": "5509508c", + "metadata": {}, + "source": [ + "We see that our earlier cell produced a line plot, which is the default. To create a scatterplot, we provide an additional argument to `ax.plot()`, indicating that circles should be displayed." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e905982c", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8, 8))\n", + "ax.plot(x, y, 'o');" + ] + }, + { + "cell_type": "markdown", + "id": "42166016", + "metadata": {}, + "source": [ + "Different values\n", + "of this additional argument can be used to produce different colored lines\n", + "as well as different linestyles. \n" + ] + }, + { + "cell_type": "markdown", + "id": "a99dac78", + "metadata": {}, + "source": [ + "As an alternative, we could use the `ax.scatter()` function to create a scatterplot." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "27133a4e", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8, 8))\n", + "ax.scatter(x, y, marker='o');" + ] + }, + { + "cell_type": "markdown", + "id": "000c125e", + "metadata": {}, + "source": [ + "Notice that in the code blocks above, we have ended\n", + "the last line with a semicolon. This prevents `ax.plot(x, y)` from printing\n", + "text to the notebook. However, it does not prevent a plot from being produced. \n", + " If we omit the trailing semi-colon, then we obtain the following output: " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ef41f90d", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8, 8))\n", + "ax.scatter(x, y, marker='o')\n" + ] + }, + { + "cell_type": "markdown", + "id": "014f66e5", + "metadata": {}, + "source": [ + "In what follows, we will use\n", + " trailing semicolons whenever the text that would be output is not\n", + "germane to the discussion at hand.\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "98a1db4a", + "metadata": {}, + "source": [ + "To label our plot, we make use of the `set_xlabel()`, `set_ylabel()`, and `set_title()` methods\n", + "of `ax`.\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "16a9cb99", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8, 8))\n", + "ax.scatter(x, y, marker='o')\n", + "ax.set_xlabel(\"this is the x-axis\")\n", + "ax.set_ylabel(\"this is the y-axis\")\n", + "ax.set_title(\"Plot of X vs Y\");" + ] + }, + { + "cell_type": "markdown", + "id": "7f0af2d9", + "metadata": {}, + "source": [ + " Having access to the figure object `fig` itself means that we can go in and change some aspects and then redisplay it. Here, we change\n", + " the size from `(8, 8)` to `(12, 3)`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6707420e", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig.set_size_inches(12,3)\n", + "fig" + ] + }, + { + "cell_type": "markdown", + "id": "00c8816e", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "3cf4ed3f", + "metadata": {}, + "source": [ + "Occasionally we will want to create several plots within a figure. This can be\n", + "achieved by passing additional arguments to `subplots()`. \n", + "Below, we create a $2 \\times 3$ grid of plots\n", + "in a figure of size determined by the `figsize` argument. In such\n", + "situations, there is often a relationship between the axes in the plots. For example,\n", + "all plots may have a common $x$-axis. The `subplots()` function can automatically handle\n", + "this situation when passed the keyword argument `sharex=True`.\n", + "The `axes` object below is an array pointing to different plots in the figure. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6c78ef8b", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig, axes = subplots(nrows=2,\n", + " ncols=3,\n", + " figsize=(15, 5))" + ] + }, + { + "cell_type": "markdown", + "id": "40d89b7c", + "metadata": {}, + "source": [ + "We now produce a scatter plot with `'o'` in the second column of the first row and\n", + "a scatter plot with `'+'` in the third column of the second row." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a18402fb", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "axes[0,1].plot(x, y, 'o')\n", + "axes[1,2].scatter(x, y, marker='+')\n", + "fig" + ] + }, + { + "cell_type": "markdown", + "id": "d29648ec", + "metadata": {}, + "source": [ + "Type `subplots?` to learn more about \n", + "`subplots()`. \n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "2a6a0c9e", + "metadata": {}, + "source": [ + "To save the output of `fig`, we call its `savefig()`\n", + "method. The argument `dpi` is the dots per inch, used\n", + "to determine how large the figure will be in pixels." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "80e18950", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "fig.savefig(\"Figure.png\", dpi=400)\n", + "fig.savefig(\"Figure.pdf\", dpi=200);\n" + ] + }, + { + "cell_type": "markdown", + "id": "b8e17a71", + "metadata": {}, + "source": [ + "We can continue to modify `fig` using step-by-step updates; for example, we can modify the range of the $x$-axis, re-save the figure, and even re-display it. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fe8c404d", + "metadata": {}, + "outputs": [], + "source": [ + "axes[0,1].set_xlim([-1,1])\n", + "fig.savefig(\"Figure_updated.jpg\")\n", + "fig" + ] + }, + { + "cell_type": "markdown", + "id": "55bff84e", + "metadata": {}, + "source": [ + "We now create some more sophisticated plots. The \n", + "`ax.contour()` method produces a *contour plot* \n", + "in order to represent three-dimensional data, similar to a\n", + "topographical map. It takes three arguments:\n", + "\n", + "* A vector of `x` values (the first dimension),\n", + "* A vector of `y` values (the second dimension), and\n", + "* A matrix whose elements correspond to the `z` value (the third\n", + "dimension) for each pair of `(x,y)` coordinates.\n", + "\n", + "To create `x` and `y`, we’ll use the function `np.linspace()`. The command `np.linspace(a, b, n)` \n", + "returns a vector of `n` numbers starting at `a` and ending at `b`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a99034cb", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8, 8))\n", + "x = np.linspace(-np.pi, np.pi, 50)\n", + "y = x\n", + "f = np.multiply.outer(np.cos(y), 1 / (1 + x**2))\n", + "ax.contour(x, y, f);\n" + ] + }, + { + "cell_type": "markdown", + "id": "fd6d00e6", + "metadata": {}, + "source": [ + "We can increase the resolution by adding more levels to the image." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c613a5df", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8, 8))\n", + "ax.contour(x, y, f, levels=45);" + ] + }, + { + "cell_type": "markdown", + "id": "c1f2c4bd", + "metadata": {}, + "source": [ + "To fine-tune the output of the\n", + "`ax.contour()` function, take a\n", + "look at the help file by typing `?plt.contour`.\n", + " \n", + "The `ax.imshow()` method is similar to \n", + "`ax.contour()`, except that it produces a color-coded plot\n", + "whose colors depend on the `z` value. This is known as a\n", + "*heatmap*, and is sometimes used to plot temperature in\n", + "weather forecasts." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bef21527", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8, 8))\n", + "ax.imshow(f);\n" + ] + }, + { + "cell_type": "markdown", + "id": "35ed7b29", + "metadata": {}, + "source": [ + "## Sequences and Slice Notation" + ] + }, + { + "cell_type": "markdown", + "id": "bb0cee76", + "metadata": {}, + "source": [ + "As seen above, the\n", + "function `np.linspace()` can be used to create a sequence\n", + "of numbers." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4435ed50", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "seq1 = np.linspace(0, 10, 11)\n", + "seq1\n" + ] + }, + { + "cell_type": "markdown", + "id": "f1495e1b", + "metadata": {}, + "source": [ + "The function `np.arange()`\n", + " returns a sequence of numbers spaced out by `step`. If `step` is not specified, then a default value of $1$ is used. Let's create a sequence\n", + " that starts at $0$ and ends at $10$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7a2c664a", + "metadata": {}, + "outputs": [], + "source": [ + "seq2 = np.arange(0, 10)\n", + "seq2\n" + ] + }, + { + "cell_type": "markdown", + "id": "7b0e1b2f", + "metadata": {}, + "source": [ + "Why isn't $10$ output above? This has to do with *slice* notation in `Python`. \n", + "Slice notation \n", + "is used to index sequences such as lists, tuples and arrays.\n", + "Suppose we want to retrieve the fourth through sixth (inclusive) entries\n", + "of a string. We obtain a slice of the string using the indexing notation `[3:6]`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "810eafdf", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "\"hello world\"[3:6]" + ] + }, + { + "cell_type": "markdown", + "id": "d73d0b54", + "metadata": {}, + "source": [ + "In the code block above, the notation `3:6` is shorthand for `slice(3,6)` when used inside\n", + "`[]`. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f7a9f652", + "metadata": {}, + "outputs": [], + "source": [ + "\"hello world\"[slice(3,6)]\n" + ] + }, + { + "cell_type": "markdown", + "id": "be578cf4", + "metadata": {}, + "source": [ + "You might have expected `slice(3,6)` to output the fourth through seventh characters in the text string (recalling that `Python` begins its indexing at zero), but instead it output the fourth through sixth. \n", + " This also explains why the earlier `np.arange(0, 10)` command output only the integers from $0$ to $9$. \n", + "See the documentation `slice?` for useful options in creating slices. \n", + "\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + "\n", + " \n" + ] + }, + { + "cell_type": "markdown", + "id": "7a9c183a", + "metadata": {}, + "source": [ + "## Indexing Data\n", + "To begin, we create a two-dimensional `numpy` array." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "24427538", + "metadata": {}, + "outputs": [], + "source": [ + "A = np.array(np.arange(16)).reshape((4, 4))\n", + "A\n" + ] + }, + { + "cell_type": "markdown", + "id": "d2c583a0", + "metadata": {}, + "source": [ + "Typing `A[1,2]` retrieves the element corresponding to the second row and third\n", + "column. (As usual, `Python` indexes from $0.$)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "18684ed5", + "metadata": {}, + "outputs": [], + "source": [ + "A[1,2]\n" + ] + }, + { + "cell_type": "markdown", + "id": "b25734ec", + "metadata": {}, + "source": [ + "The first number after the open-bracket symbol `[`\n", + " refers to the row, and the second number refers to the column. \n", + "\n", + "### Indexing Rows, Columns, and Submatrices\n", + " To select multiple rows at a time, we can pass in a list\n", + " specifying our selection. For instance, `[1,3]` will retrieve the second and fourth rows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34d27b73", + "metadata": {}, + "outputs": [], + "source": [ + "A[[1,3]]\n" + ] + }, + { + "cell_type": "markdown", + "id": "97149703", + "metadata": {}, + "source": [ + "To select the first and third columns, we pass in `[0,2]` as the second argument in the square brackets.\n", + "In this case we need to supply the first argument `:` \n", + "which selects all rows." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1bb799c5", + "metadata": {}, + "outputs": [], + "source": [ + "A[:,[0,2]]\n" + ] + }, + { + "cell_type": "markdown", + "id": "2b9ce4a3", + "metadata": {}, + "source": [ + "Now, suppose that we want to select the submatrix made up of the second and fourth \n", + "rows as well as the first and third columns. This is where\n", + "indexing gets slightly tricky. It is natural to try to use lists to retrieve the rows and columns:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "de853e7c", + "metadata": {}, + "outputs": [], + "source": [ + "A[[1,3],[0,2]]\n" + ] + }, + { + "cell_type": "markdown", + "id": "dd57a0bf", + "metadata": {}, + "source": [ + " Oops --- what happened? We got a one-dimensional array of length 2 identical to" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e71bf672", + "metadata": {}, + "outputs": [], + "source": [ + "np.array([A[1,0],A[3,2]])\n" + ] + }, + { + "cell_type": "markdown", + "id": "9cd50d44", + "metadata": {}, + "source": [ + " Similarly, the following code fails to extract the submatrix comprised of the second and fourth rows and the first, third, and fourth columns:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "458fe5c9", + "metadata": {}, + "outputs": [], + "source": [ + "A[[1,3],[0,2,3]]\n" + ] + }, + { + "cell_type": "markdown", + "id": "67657309", + "metadata": {}, + "source": [ + "We can see what has gone wrong here. When supplied with two indexing lists, the `numpy` interpretation is that these provide pairs of $i,j$ indices for a series of entries. That is why the pair of lists must have the same length. However, that was not our intent, since we are looking for a submatrix.\n", + "\n", + "One easy way to do this is as follows. We first create a submatrix by subsetting the rows of `A`, and then on the fly we make a further submatrix by subsetting its columns.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "703832ac", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "A[[1,3]][:,[0,2]]\n" + ] + }, + { + "cell_type": "markdown", + "id": "63980dff", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "25c3a988", + "metadata": {}, + "source": [ + "There are more efficient ways of achieving the same result.\n", + "\n", + "The *convenience function* `np.ix_()` allows us to extract a submatrix\n", + "using lists, by creating an intermediate *mesh* object." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dbf328b7", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "idx = np.ix_([1,3],[0,2,3])\n", + "A[idx]\n" + ] + }, + { + "cell_type": "markdown", + "id": "13f73d32", + "metadata": {}, + "source": [ + "Alternatively, we can subset matrices efficiently using slices.\n", + " \n", + "The slice\n", + "`1:4:2` captures the second and fourth items of a sequence, while the slice `0:3:2` captures\n", + "the first and third items (the third element in a slice sequence is the step size)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "65784eb0", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "A[1:4:2,0:3:2]\n" + ] + }, + { + "cell_type": "markdown", + "id": "0c679e7b", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "481bc57a", + "metadata": {}, + "source": [ + "Why are we able to retrieve a submatrix directly using slices but not using lists?\n", + "Its because they are different `Python` types, and\n", + "are treated differently by `numpy`.\n", + "Slices can be used to extract objects from arbitrary sequences, such as strings, lists, and tuples, while the use of lists for indexing is more limited.\n", + "\n", + "\n", + "\n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "f1c55b8a", + "metadata": {}, + "source": [ + "### Boolean Indexing\n", + "In `numpy`, a *Boolean* is a type that equals either `True` or `False` (also represented as $1$ and $0$, respectively).\n", + "The next line creates a vector of $0$'s, represented as Booleans, of length equal to the first dimension of `A`. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3ddb0d83", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "keep_rows = np.zeros(A.shape[0], bool)\n", + "keep_rows" + ] + }, + { + "cell_type": "markdown", + "id": "f3007c8d", + "metadata": {}, + "source": [ + "We now set two of the elements to `True`. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "90e72009", + "metadata": {}, + "outputs": [], + "source": [ + "keep_rows[[1,3]] = True\n", + "keep_rows\n" + ] + }, + { + "cell_type": "markdown", + "id": "932dac22", + "metadata": {}, + "source": [ + "Note that the elements of `keep_rows`, when viewed as integers, are the same as the\n", + "values of `np.array([0,1,0,1])`. Below, we use `==` to verify their equality. When\n", + "applied to two arrays, the `==` operation is applied elementwise." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fb3b6534", + "metadata": {}, + "outputs": [], + "source": [ + "np.all(keep_rows == np.array([0,1,0,1]))\n" + ] + }, + { + "cell_type": "markdown", + "id": "a8cb48c0", + "metadata": {}, + "source": [ + "(Here, the function `np.all()` has checked whether\n", + "all entries of an array are `True`. A similar function, `np.any()`, can be used to check whether any entries of an array are `True`.)" + ] + }, + { + "cell_type": "markdown", + "id": "ac824821", + "metadata": {}, + "source": [ + " However, even though `np.array([0,1,0,1])` and `keep_rows` are equal according to `==`, they index different sets of rows!\n", + "The former retrieves the first, second, first, and second rows of `A`. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b146db22", + "metadata": {}, + "outputs": [], + "source": [ + "A[np.array([0,1,0,1])]\n" + ] + }, + { + "cell_type": "markdown", + "id": "c0b18644", + "metadata": {}, + "source": [ + " By contrast, `keep_rows` retrieves only the second and fourth rows of `A` --- i.e. the rows for which the Boolean equals `TRUE`. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6bf7b4a3", + "metadata": {}, + "outputs": [], + "source": [ + "A[keep_rows]\n" + ] + }, + { + "cell_type": "markdown", + "id": "80686b74", + "metadata": {}, + "source": [ + "This example shows that Booleans and integers are treated differently by `numpy`." + ] + }, + { + "cell_type": "markdown", + "id": "d7905166", + "metadata": {}, + "source": [ + "We again make use of the `np.ix_()` function\n", + " to create a mesh containing the second and fourth rows, and the first, third, and fourth columns. This time, we apply the function to Booleans,\n", + " rather than lists." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "288011d9", + "metadata": {}, + "outputs": [], + "source": [ + "keep_cols = np.zeros(A.shape[1], bool)\n", + "keep_cols[[0, 2, 3]] = True\n", + "idx_bool = np.ix_(keep_rows, keep_cols)\n", + "A[idx_bool]\n" + ] + }, + { + "cell_type": "markdown", + "id": "37900313", + "metadata": {}, + "source": [ + "We can also mix a list with an array of Booleans in the arguments to `np.ix_()`:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3e3b1954", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "idx_mixed = np.ix_([1,3], keep_cols)\n", + "A[idx_mixed]\n" + ] + }, + { + "cell_type": "markdown", + "id": "76ff57a7", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "2f4d70f3", + "metadata": {}, + "source": [ + "For more details on indexing in `numpy`, readers are referred\n", + "to the `numpy` tutorial mentioned earlier.\n" + ] + }, + { + "cell_type": "markdown", + "id": "3c59c8fb", + "metadata": {}, + "source": [ + "## Loading Data\n", + "\n", + "Data sets often contain different types of data, and may have names associated with the rows or columns. \n", + "For these reasons, they typically are best accommodated using a\n", + " *data frame*. \n", + " We can think of a data frame as a sequence\n", + "of arrays of identical length; these are the columns. Entries in the\n", + "different arrays can be combined to form a row.\n", + " The `pandas`\n", + "library can be used to create and work with data frame objects." + ] + }, + { + "cell_type": "markdown", + "id": "95297c29", + "metadata": {}, + "source": [ + "### Reading in a Data Set\n", + "\n", + "The first step of most analyses involves importing a data set into\n", + "`Python`. \n", + " Before attempting to load\n", + "a data set, we must make sure that `Python` knows where to find the file containing it. \n", + "If the\n", + "file is in the same location\n", + "as this notebook file, then we are all set. \n", + "Otherwise, \n", + "the command\n", + "`os.chdir()` can be used to *change directory*. (You will need to call `import os` before calling `os.chdir()`.) " + ] + }, + { + "cell_type": "markdown", + "id": "42760180", + "metadata": {}, + "source": [ + "We will begin by reading in `Auto.csv`, available on the book website. This is a comma-separated file, and can be read in using `pd.read_csv()`: " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d02bfb28", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "Auto = pd.read_csv('Auto.csv')\n", + "Auto\n" + ] + }, + { + "cell_type": "markdown", + "id": "5acc3596", + "metadata": {}, + "source": [ + "The book website also has a whitespace-delimited version of this data, called `Auto.data`. This can be read in as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ca6090af", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Auto = pd.read_csv('Auto.data', delim_whitespace=True)\n" + ] + }, + { + "cell_type": "markdown", + "id": "350f1f42", + "metadata": {}, + "source": [ + " Both `Auto.csv` and `Auto.data` are simply text\n", + "files. Before loading data into `Python`, it is a good idea to view it using\n", + "a text editor or other software, such as Microsoft Excel.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "1cae3ad2", + "metadata": {}, + "source": [ + "We now take a look at the column of `Auto` corresponding to the variable `horsepower`: " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7220aa87", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Auto['horsepower']\n" + ] + }, + { + "cell_type": "markdown", + "id": "c0adabf1", + "metadata": {}, + "source": [ + "We see that the `dtype` of this column is `object`. \n", + "It turns out that all values of the `horsepower` column were interpreted as strings when reading\n", + "in the data. \n", + "We can find out why by looking at the unique values." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ca1939f0", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "np.unique(Auto['horsepower'])\n" + ] + }, + { + "cell_type": "markdown", + "id": "c35e48dc", + "metadata": {}, + "source": [ + "We see the culprit is the value `?`, which is being used to encode missing values.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "ccf8e5de", + "metadata": {}, + "source": [ + "To fix the problem, we must provide `pd.read_csv()` with an argument called `na_values`.\n", + "Now, each instance of `?` in the file is replaced with the\n", + "value `np.nan`, which means *not a number*:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cfb084e7", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "Auto = pd.read_csv('Auto.data',\n", + " na_values=['?'],\n", + " delim_whitespace=True)\n", + "Auto['horsepower'].sum()\n" + ] + }, + { + "cell_type": "markdown", + "id": "2e8e504f", + "metadata": {}, + "source": [ + "The `Auto.shape` attribute tells us that the data has 397\n", + "observations, or rows, and nine variables, or columns." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2e02b6a5", + "metadata": {}, + "outputs": [], + "source": [ + "Auto.shape\n" + ] + }, + { + "cell_type": "markdown", + "id": "df109192", + "metadata": {}, + "source": [ + "There are\n", + "various ways to deal with missing data. \n", + "In this case, since only five of the rows contain missing\n", + "observations, we choose to use the `Auto.dropna()` method to simply remove these rows." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d391f8d0", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "Auto_new = Auto.dropna()\n", + "Auto_new.shape\n" + ] + }, + { + "cell_type": "markdown", + "id": "e1ddfb53", + "metadata": {}, + "source": [ + "### Basics of Selecting Rows and Columns\n", + " \n", + "We can use `Auto.columns` to check the variable names." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a222ca60", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "Auto = Auto_new # overwrite the previous value\n", + "Auto.columns\n" + ] + }, + { + "cell_type": "markdown", + "id": "be6f2daf", + "metadata": {}, + "source": [ + "Accessing the rows and columns of a data frame is similar, but not identical, to accessing the rows and columns of an array. \n", + "Recall that the first argument to the `[]` method\n", + "is always applied to the rows of the array. \n", + "Similarly, \n", + "passing in a slice to the `[]` method creates a data frame whose *rows* are determined by the slice:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a75921ac", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Auto[:3]\n" + ] + }, + { + "cell_type": "markdown", + "id": "17c02ad7", + "metadata": {}, + "source": [ + "Similarly, an array of Booleans can be used to subset the rows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7469ff2b", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "idx_80 = Auto['year'] > 80\n", + "Auto[idx_80]\n" + ] + }, + { + "cell_type": "markdown", + "id": "27eb1780", + "metadata": {}, + "source": [ + "However, if we pass in a list of strings to the `[]` method, then we obtain a data frame containing the corresponding set of *columns*. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ac455404", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Auto[['mpg', 'horsepower']]\n" + ] + }, + { + "cell_type": "markdown", + "id": "1629d302", + "metadata": {}, + "source": [ + "Since we did not specify an *index* column when we loaded our data frame, the rows are labeled using integers\n", + "0 to 396." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f41235d4", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Auto.index\n" + ] + }, + { + "cell_type": "markdown", + "id": "79d3cebb", + "metadata": {}, + "source": [ + "We can use the\n", + "`set_index()` method to re-name the rows using the contents of `Auto['name']`. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "31caba24", + "metadata": {}, + "outputs": [], + "source": [ + "Auto_re = Auto.set_index('name')\n", + "Auto_re\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "594bedfa", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Auto_re.columns\n" + ] + }, + { + "cell_type": "markdown", + "id": "184977f2", + "metadata": {}, + "source": [ + "We see that the column `'name'` is no longer there.\n", + " \n", + "Now that the index has been set to `name`, we can access rows of the data \n", + "frame by `name` using the `{loc[]`} method of\n", + "`Auto`:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9a59b083", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "rows = ['amc rebel sst', 'ford torino']\n", + "Auto_re.loc[rows]\n" + ] + }, + { + "cell_type": "markdown", + "id": "066af73b", + "metadata": {}, + "source": [ + "As an alternative to using the index name, we could retrieve the 4th and 5th rows of `Auto` using the `{iloc[]`} method:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "54457a11", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Auto_re.iloc[[3,4]]\n" + ] + }, + { + "cell_type": "markdown", + "id": "069ca71e", + "metadata": {}, + "source": [ + "We can also use it to retrieve the 1st, 3rd and and 4th columns of `Auto_re`:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8a4f3faf", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Auto_re.iloc[:,[0,2,3]]\n" + ] + }, + { + "cell_type": "markdown", + "id": "c6f4f9a2", + "metadata": {}, + "source": [ + "We can extract the 4th and 5th rows, as well as the 1st, 3rd and 4th columns, using\n", + "a single call to `iloc[]`:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8f1e6e56", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Auto_re.iloc[[3,4],[0,2,3]]\n" + ] + }, + { + "cell_type": "markdown", + "id": "6e4b778c", + "metadata": {}, + "source": [ + "Index entries need not be unique: there are several cars in the data frame named `ford galaxie 500`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f1d0e795", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Auto_re.loc['ford galaxie 500', ['mpg', 'origin']]\n" + ] + }, + { + "cell_type": "markdown", + "id": "b10eabb7", + "metadata": {}, + "source": [ + "### More on Selecting Rows and Columns\n", + "Suppose now that we want to create a data frame consisting of the `weight` and `origin` of the subset of cars with \n", + "`year` greater than 80 --- i.e. those built after 1980.\n", + "To do this, we first create a Boolean array that indexes the rows.\n", + "The `loc[]` method allows for Boolean entries as well as strings:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "392f10a1", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "idx_80 = Auto_re['year'] > 80\n", + "Auto_re.loc[idx_80, ['weight', 'origin']]\n" + ] + }, + { + "cell_type": "markdown", + "id": "d3f85975", + "metadata": {}, + "source": [ + "To do this more concisely, we can use an anonymous function called a `lambda`: " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5f5b7906", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Auto_re.loc[lambda df: df['year'] > 80, ['weight', 'origin']]\n" + ] + }, + { + "cell_type": "markdown", + "id": "cc67849e", + "metadata": {}, + "source": [ + "The `lambda` call creates a function that takes a single\n", + "argument, here `df`, and returns `df['year']>80`.\n", + "Since it is created inside the `loc[]` method for the\n", + "dataframe `Auto_re`, that dataframe will be the argument supplied.\n", + "As another example of using a `lambda`, suppose that\n", + "we want all cars built after 1980 that achieve greater than 30 miles per gallon:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b13c5728", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Auto_re.loc[lambda df: (df['year'] > 80) & (df['mpg'] > 30),\n", + " ['weight', 'origin']\n", + " ]\n" + ] + }, + { + "cell_type": "markdown", + "id": "7885bba9", + "metadata": {}, + "source": [ + "The symbol `&` computes an element-wise *and* operation.\n", + "As another example, suppose that we want to retrieve all `Ford` and `Datsun`\n", + "cars with `displacement` less than 300. We check whether each `name` entry contains either the string `ford` or `datsun` using the `str.contains()` method of the `index` attribute of \n", + "of the dataframe:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d5a2c3be", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Auto_re.loc[lambda df: (df['displacement'] < 300)\n", + " & (df.index.str.contains('ford')\n", + " | df.index.str.contains('datsun')),\n", + " ['weight', 'origin']\n", + " ]\n" + ] + }, + { + "cell_type": "markdown", + "id": "8a7a6c62", + "metadata": {}, + "source": [ + "Here, the symbol `|` computes an element-wise *or* operation.\n", + " \n", + "In summary, a powerful set of operations is available to index the rows and columns of data frames. For integer based queries, use the `iloc[]` method. For string and Boolean\n", + "selections, use the `loc[]` method. For functional queries that filter rows, use the `loc[]` method\n", + "with a function (typically a `lambda`) in the rows argument.\n", + "\n", + "## For Loops\n", + "A `for` loop is a standard tool in many languages that\n", + "repeatedly evaluates some chunk of code while\n", + "varying different values inside the code.\n", + "For example, suppose we loop over elements of a list and compute their sum." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a6278441", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "total = 0\n", + "for value in [3,2,19]:\n", + " total += value\n", + "print('Total is: {0}'.format(total))\n" + ] + }, + { + "cell_type": "markdown", + "id": "92948288", + "metadata": {}, + "source": [ + "The indented code beneath the line with the `for` statement is run\n", + "for each value in the sequence\n", + "specified in the `for` statement. The loop ends either\n", + "when the cell ends or when code is indented at the same level\n", + "as the original `for` statement.\n", + "We see that the final line above which prints the total is executed\n", + "only once after the for loop has terminated. Loops\n", + "can be nested by additional indentation." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2aa065a8", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "total = 0\n", + "for value in [2,3,19]:\n", + " for weight in [3, 2, 1]:\n", + " total += value * weight\n", + "print('Total is: {0}'.format(total))" + ] + }, + { + "cell_type": "markdown", + "id": "aaeb60c5", + "metadata": {}, + "source": [ + "Above, we summed over each combination of `value` and `weight`.\n", + "We also took advantage of the *increment* notation\n", + "in `Python`: the expression `a += b` is equivalent\n", + "to `a = a + b`. Besides\n", + "being a convenient notation, this can save time in computationally\n", + "heavy tasks in which the intermediate value of `a+b` need not\n", + "be explicitly created.\n", + "\n", + "Perhaps a more\n", + "common task would be to sum over `(value, weight)` pairs. For instance,\n", + "to compute the average value of a random variable that takes on\n", + "possible values 2, 3 or 19 with probability 0.2, 0.3, 0.5 respectively\n", + "we would compute the weighted sum. Tasks such as this\n", + "can often be accomplished using the `zip()` function that\n", + "loops over a sequence of tuples." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "832c1b7d", + "metadata": {}, + "outputs": [], + "source": [ + "total = 0\n", + "for value, weight in zip([2,3,19],\n", + " [0.2,0.3,0.5]):\n", + " total += weight * value\n", + "print('Weighted average is: {0}'.format(total))\n" + ] + }, + { + "cell_type": "markdown", + "id": "ac163d59", + "metadata": {}, + "source": [ + "### String Formatting\n", + "In the code chunk above we also printed a string\n", + "displaying the total. However, the object `total`\n", + "is an integer and not a string.\n", + "Inserting the value of something into\n", + "a string is a common task, made\n", + "simple using\n", + "some of the powerful string formatting\n", + "tools in `Python`.\n", + "Many data cleaning tasks involve\n", + "manipulating and programmatically\n", + "producing strings.\n", + "\n", + "For example we may want to loop over the columns of a data frame and\n", + "print the percent missing in each column.\n", + "Let’s create a data frame `D` with columns in which 20% of the entries are missing i.e. set\n", + "to `np.nan`. We’ll create the\n", + "values in `D` from a normal distribution with mean 0 and variance 1 using `rng.standard_normal()`\n", + "and then overwrite some random entries using `rng.choice()`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2ca2e7cd", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "rng = np.random.default_rng(1)\n", + "A = rng.standard_normal((127, 5))\n", + "M = rng.choice([0, np.nan], p=[0.8,0.2], size=A.shape)\n", + "A += M\n", + "D = pd.DataFrame(A, columns=['food',\n", + " 'bar',\n", + " 'pickle',\n", + " 'snack',\n", + " 'popcorn'])\n", + "D[:3]\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d8ae1dcc", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "for col in D.columns:\n", + " template = 'Column \"{0}\" has {1:.2%} missing values'\n", + " print(template.format(col,\n", + " np.isnan(D[col]).mean()))\n" + ] + }, + { + "cell_type": "markdown", + "id": "e4687a4a", + "metadata": {}, + "source": [ + "We see that the `template.format()` method expects two arguments `{0}`\n", + "and `{1:.2%}`, and the latter includes some formatting\n", + "information. In particular, it specifies that the second argument should be expressed as a percent with two decimal digits.\n", + "\n", + "The reference\n", + "[docs.python.org/3/library/string.html](https://docs.python.org/3/library/string.html)\n", + "includes many helpful and more complex examples." + ] + }, + { + "cell_type": "markdown", + "id": "22226024", + "metadata": {}, + "source": [ + "## Additional Graphical and Numerical Summaries\n", + "We can use the `ax.plot()` or `ax.scatter()` functions to display the quantitative variables. However, simply typing the variable names will produce an error message,\n", + "because `Python` does not know to look in the `Auto` data set for those variables." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "30a8a663", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8, 8))\n", + "ax.plot(horsepower, mpg, 'o');" + ] + }, + { + "cell_type": "markdown", + "id": "f09f4e10", + "metadata": {}, + "source": [ + "We can address this by accessing the columns directly:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "81fdedb1", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8, 8))\n", + "ax.plot(Auto['horsepower'], Auto['mpg'], 'o');\n" + ] + }, + { + "cell_type": "markdown", + "id": "a64455fa", + "metadata": {}, + "source": [ + "Alternatively, we can use the `plot()` method with the call `Auto.plot()`.\n", + "Using this method,\n", + "the variables can be accessed by name.\n", + "The plot methods of a data frame return a familiar object:\n", + "an axes. We can use it to update the plot as we did previously: " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "61850515", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "ax = Auto.plot.scatter('horsepower', 'mpg');\n", + "ax.set_title('Horsepower vs. MPG')" + ] + }, + { + "cell_type": "markdown", + "id": "7c73790f", + "metadata": {}, + "source": [ + "If we want to save\n", + "the figure that contains a given axes, we can find the relevant figure\n", + "by accessing the `figure` attribute:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f2e0c165", + "metadata": {}, + "outputs": [], + "source": [ + "fig = ax.figure\n", + "fig.savefig('horsepower_mpg.png');" + ] + }, + { + "cell_type": "markdown", + "id": "2378a5bb", + "metadata": {}, + "source": [ + "We can further instruct the data frame to plot to a particular axes object. In this\n", + "case the corresponding `plot()` method will return the\n", + "modified axes we passed in as an argument. Note that\n", + "when we request a one-dimensional grid of plots, the object `axes` is similarly\n", + "one-dimensional. We place our scatter plot in the middle plot of a row of three plots\n", + "within a figure." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "35c72e77", + "metadata": {}, + "outputs": [], + "source": [ + "fig, axes = subplots(ncols=3, figsize=(15, 5))\n", + "Auto.plot.scatter('horsepower', 'mpg', ax=axes[1]);\n" + ] + }, + { + "cell_type": "markdown", + "id": "95b0f3de", + "metadata": {}, + "source": [ + "Note also that the columns of a data frame can be accessed as attributes: try typing in `Auto.horsepower`. " + ] + }, + { + "cell_type": "markdown", + "id": "5c6c4fa2", + "metadata": {}, + "source": [ + "We now consider the `cylinders` variable. Typing in `Auto.cylinders.dtype` reveals that it is being treated as a quantitative variable. \n", + "However, since there is only a small number of possible values for this variable, we may wish to treat it as \n", + " qualitative. Below, we replace\n", + "the `cylinders` column with a categorical version of `Auto.cylinders`. The function `pd.Series()` owes its name to the fact that `pandas` is often used in time series applications." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2b6fb1ad", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Auto.cylinders = pd.Series(Auto.cylinders, dtype='category')\n", + "Auto.cylinders.dtype\n" + ] + }, + { + "cell_type": "markdown", + "id": "2038c16d", + "metadata": {}, + "source": [ + " Now that `cylinders` is qualitative, we can display it using\n", + " the `boxplot()` method." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1f19f48c", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8, 8))\n", + "Auto.boxplot('mpg', by='cylinders', ax=ax);\n" + ] + }, + { + "cell_type": "markdown", + "id": "4ae72e1b", + "metadata": {}, + "source": [ + "The `hist()` method can be used to plot a *histogram*." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "929b6901", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8, 8))\n", + "Auto.hist('mpg', ax=ax);\n" + ] + }, + { + "cell_type": "markdown", + "id": "db7f6e7c", + "metadata": {}, + "source": [ + "The color of the bars and the number of bins can be changed:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8d48f1e9", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8, 8))\n", + "Auto.hist('mpg', color='red', bins=12, ax=ax);\n" + ] + }, + { + "cell_type": "markdown", + "id": "0e53b8b6", + "metadata": {}, + "source": [ + " See `Auto.hist?` for more plotting\n", + "options.\n", + " \n", + "We can use the `pd.plotting.scatter_matrix()` function to create a *scatterplot matrix* to visualize all of the pairwise relationships between the columns in\n", + "a data frame." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "400690e6", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "pd.plotting.scatter_matrix(Auto);\n" + ] + }, + { + "cell_type": "markdown", + "id": "48a9a4f5", + "metadata": {}, + "source": [ + " We can also produce scatterplots\n", + "for a subset of the variables." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6bbeca8b", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "pd.plotting.scatter_matrix(Auto[['mpg',\n", + " 'displacement',\n", + " 'weight']]);\n" + ] + }, + { + "cell_type": "markdown", + "id": "d3bb4736", + "metadata": {}, + "source": [ + "The `describe()` method produces a numerical summary of each column in a data frame." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1727f604", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Auto[['mpg', 'weight']].describe()\n" + ] + }, + { + "cell_type": "markdown", + "id": "1b508635", + "metadata": {}, + "source": [ + "We can also produce a summary of just a single column." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "39bf4091", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Auto['cylinders'].describe()\n", + "Auto['mpg'].describe()\n" + ] + }, + { + "cell_type": "markdown", + "id": "22ecf5c3", + "metadata": {}, + "source": [ + "To exit `Jupyter`, select `File / Close and Halt`." + ] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "-all", + "formats": "ipynb,Rmd", + "main_language": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/source/labs/Ch3-linreg-lab.ipynb b/docs/source/labs/Ch3-linreg-lab.ipynb new file mode 100644 index 0000000..db9b4c2 --- /dev/null +++ b/docs/source/labs/Ch3-linreg-lab.ipynb @@ -0,0 +1,1123 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "3b9db985", + "metadata": {}, + "source": [ + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "4d8e6029", + "metadata": {}, + "source": [ + "# Linear Regression\n", + "\n", + "## Importing packages\n", + "We import our standard libraries at this top\n", + "level." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ca5277a6", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "from matplotlib.pyplot import subplots\n" + ] + }, + { + "cell_type": "markdown", + "id": "95b0ae8c", + "metadata": {}, + "source": [ + "### New imports\n", + "Throughout this lab we will introduce new functions and libraries. However,\n", + "we will import them here to emphasize these are the new\n", + "code objects in this lab. Keeping imports near the top\n", + "of a notebook makes the code more readable, since scanning the first few\n", + "lines tells us what libraries are used." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "675f24e6", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "import statsmodels.api as sm\n" + ] + }, + { + "cell_type": "markdown", + "id": "1fb0799f", + "metadata": {}, + "source": [ + " We will provide relevant details about the\n", + "functions below as they are needed.\n", + "\n", + "Besides importing whole modules, it is also possible\n", + "to import only a few items from a given module. This\n", + "will help keep the *namespace* clean.\n", + "We will use a few specific objects from the `statsmodels` package\n", + "which we import here." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a0ee23c2", + "metadata": {}, + "outputs": [], + "source": [ + "from statsmodels.stats.outliers_influence \\\n", + " import variance_inflation_factor as VIF\n", + "from statsmodels.stats.anova import anova_lm\n" + ] + }, + { + "cell_type": "markdown", + "id": "dbfd346e", + "metadata": {}, + "source": [ + "As one of the import statements above is quite a long line, we inserted a line break `\\` to\n", + "ease readability.\n", + "\n", + "We will also use some functions written for the labs in this book in the `ISLP`\n", + "package." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b35eb887", + "metadata": {}, + "outputs": [], + "source": [ + "from ISLP import load_data\n", + "from ISLP.models import (ModelSpec as MS,\n", + " summarize,\n", + " poly)\n" + ] + }, + { + "cell_type": "markdown", + "id": "84a8177e", + "metadata": {}, + "source": [ + "### Inspecting Objects and Namespaces\n", + "The\n", + "function `dir()`\n", + "provides a list of\n", + "objects in a namespace." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "961908f7", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "dir()\n" + ] + }, + { + "cell_type": "markdown", + "id": "3efc6d99", + "metadata": {}, + "source": [ + " This shows you everything that `Python` can find at the top level.\n", + "There are certain objects like `__builtins__` that contain references to built-in\n", + "functions like `print()`.\n", + "\n", + "Every python object has its own notion of\n", + "namespace, also accessible with `dir()`. This will include\n", + "both the attributes of the object\n", + "as well as any methods associated with it. For instance, we see `'sum'` in the listing for an\n", + "array." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "662caa15", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "A = np.array([3,5,11])\n", + "dir(A)\n" + ] + }, + { + "cell_type": "markdown", + "id": "49bdd416", + "metadata": {}, + "source": [ + " This indicates that the object `A.sum` exists. In this case it is a method\n", + "that can be used to compute the sum of the array `A` as can be seen by typing `A.sum?`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ebb7d126", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "A.sum()\n" + ] + }, + { + "cell_type": "markdown", + "id": "2e42056b", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "9fbed3f3", + "metadata": {}, + "source": [ + "## Simple Linear Regression\n", + "In this section we will construct model \n", + "matrices (also called design matrices) using the `ModelSpec()` transform from `ISLP.models`.\n", + "\n", + "We will use the `Boston` housing data set, which is contained in the `ISLP` package. The `Boston` dataset records `medv` (median house value) for $506$ neighborhoods\n", + "around Boston. We will build a regression model to predict `medv` using $13$\n", + "predictors such as `rmvar` (average number of rooms per house),\n", + " `age` (proportion of owner-occupied units built prior to 1940), and `lstat` (percent of\n", + "households with low socioeconomic status). We will use `statsmodels` for this\n", + "task, a `Python` package that implements several commonly used\n", + "regression methods.\n", + "\n", + "We have included a simple loading function `load_data()` in the\n", + "`ISLP` package:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1ea46cee", + "metadata": {}, + "outputs": [], + "source": [ + "Boston = load_data(\"Boston\")\n", + "Boston.columns\n" + ] + }, + { + "cell_type": "markdown", + "id": "a8cceee6", + "metadata": {}, + "source": [ + "Type `Boston?` to find out more about these data.\n", + "\n", + "We start by using the `sm.OLS()` function to fit a\n", + "simple linear regression model. Our response will be\n", + " `medv` and `lstat` will be the single predictor.\n", + "For this model, we can create the model matrix by hand.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "26c0ba88", + "metadata": {}, + "outputs": [], + "source": [ + "X = pd.DataFrame({'intercept': np.ones(Boston.shape[0]),\n", + " 'lstat': Boston['lstat']})\n", + "X[:4]\n" + ] + }, + { + "cell_type": "markdown", + "id": "5ac7f183", + "metadata": {}, + "source": [ + "We extract the response, and fit the model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d4dd511b", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "y = Boston['medv']\n", + "model = sm.OLS(y, X)\n", + "results = model.fit()\n" + ] + }, + { + "cell_type": "markdown", + "id": "ddf44723", + "metadata": {}, + "source": [ + "Note that `sm.OLS()` does\n", + "not fit the model; it specifies the model, and then `model.fit()` does the actual fitting. \n", + "\n", + "Our `ISLP` function `summarize()` produces a simple table of the parameter estimates,\n", + "their standard errors, t-statistics and p-values.\n", + "The function takes a single argument, such as the object `results` \n", + "returned here by the `fit`\n", + "method, and returns such a summary." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eef9f8e3", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "summarize(results)\n" + ] + }, + { + "cell_type": "markdown", + "id": "db916e19", + "metadata": {}, + "source": [ + "Before we describe other methods for working with fitted models, we outline a more useful and general framework for constructing a model matrix~`X`.\n", + "### Using Transformations: Fit and Transform\n", + "Our model above has a single predictor, and constructing `X` was straightforward. \n", + "In practice we often fit models with more than one predictor, typically selected from an array or data frame.\n", + "We may wish to introduce transformations to the variables before fitting the model, specify interactions between variables, and expand some particular variables into sets of variables (e.g. polynomials).\n", + "The `sklearn` package has a particular notion\n", + "for this type of task: a *transform*. A transform is an object\n", + "that is created with some parameters as arguments. The\n", + "object has two main methods: `fit()` and `transform()`.\n", + "\n", + "We provide a general approach for specifying models and constructing\n", + "the model matrix through the transform `ModelSpec()` in the `ISLP` library.\n", + "`ModelSpec()`\n", + "(renamed `MS()` in the preamble) creates a\n", + "transform object, and then a pair of methods\n", + "`transform()` and `fit()` are used to construct a\n", + "corresponding model matrix.\n", + "\n", + "We first describe this process for our simple regression model using a single predictor `lstat` in\n", + "the `Boston` data frame, but will use it repeatedly in more\n", + "complex tasks in this and other labs in this book.\n", + "In our case the transform is created by the expression\n", + "`design = MS(['lstat'])`.\n", + "\n", + "The `fit()` method takes the original array and may do some\n", + "initial computations on it, as specified in the transform object.\n", + "For example, it may compute means and standard deviations for centering and scaling.\n", + "The `transform()` \n", + "method applies the fitted transformation to the array of data, and produces the model matrix.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "557170d4", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "design = MS(['lstat'])\n", + "design = design.fit(Boston)\n", + "X = design.transform(Boston)\n", + "X[:4]" + ] + }, + { + "cell_type": "markdown", + "id": "86615813", + "metadata": {}, + "source": [ + "In this simple case, the `fit()` method does very little; it simply checks that the variable `'lstat'` specified in `design` exists in `Boston`. Then `transform()` constructs the model matrix with two columns: an `intercept` and the variable `lstat`.\n", + "\n", + "These two operations can be combined with the\n", + "`fit_transform()` method." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b83ec097", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "design = MS(['lstat'])\n", + "X = design.fit_transform(Boston)\n", + "X[:4]" + ] + }, + { + "cell_type": "markdown", + "id": "c6becbcb", + "metadata": {}, + "source": [ + "Note that, as in the previous code chunk when the two steps were done separately, the `design` object is changed as a result of the `fit()` operation. The power of this pipeline will become clearer when we fit more complex models that involve interactions and transformations." + ] + }, + { + "cell_type": "markdown", + "id": "e097120f", + "metadata": {}, + "source": [ + "Let's return to our fitted regression model.\n", + "The object\n", + "`results` has several methods that can be used for inference.\n", + "We already presented a function `summarize()` for showing the essentials of the fit.\n", + "For a full and somewhat exhaustive summary of the fit, we can use the `summary()` \n", + "method." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d4dce5f6", + "metadata": {}, + "outputs": [], + "source": [ + "results.summary()\n" + ] + }, + { + "cell_type": "markdown", + "id": "9a367738", + "metadata": {}, + "source": [ + "The fitted coefficients can also be retrieved as the\n", + "`params` attribute of `results`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a0edf555", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "results.params\n" + ] + }, + { + "cell_type": "markdown", + "id": "4472913f", + "metadata": {}, + "source": [ + "The `get_prediction()` method can be used to obtain predictions, and produce confidence intervals and\n", + "prediction intervals for the prediction of `medv` for given values of `lstat`.\n", + "\n", + "We first create a new data frame, in this case containing only the variable `lstat`, with the values for this variable at which we wish to make predictions.\n", + "We then use the `transform()` method of `design` to create the corresponding model matrix." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fdc5a3f3", + "metadata": {}, + "outputs": [], + "source": [ + "new_df = pd.DataFrame({'lstat':[5, 10, 15]})\n", + "newX = design.transform(new_df)\n", + "newX\n" + ] + }, + { + "cell_type": "markdown", + "id": "590d6b7d", + "metadata": {}, + "source": [ + "Next we compute the predictions at `newX`, and view them by extracting the `predicted_mean` attribute." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2c6acbf0", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "new_predictions = results.get_prediction(newX);\n", + "new_predictions.predicted_mean\n" + ] + }, + { + "cell_type": "markdown", + "id": "f2d7e037", + "metadata": {}, + "source": [ + "We can produce confidence intervals for the predicted values." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c472ef33", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "new_predictions.conf_int(alpha=0.05)\n" + ] + }, + { + "cell_type": "markdown", + "id": "dfabf8a7", + "metadata": {}, + "source": [ + "Prediction intervals are computing by setting `obs=True`:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3e2ffc7a", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "new_predictions.conf_int(obs=True, alpha=0.05)\n" + ] + }, + { + "cell_type": "markdown", + "id": "65463c75", + "metadata": {}, + "source": [ + " For instance, the 95% confidence interval associated with an\n", + " `lstat` value of 10 is (24.47, 25.63), and the 95% prediction\n", + "interval is (12.82, 37.28). As expected, the confidence and\n", + "prediction intervals are centered around the same point (a predicted\n", + "value of 25.05 for `medv` when `lstat` equals\n", + "10), but the latter are substantially wider.\n", + "\n", + "Next we will plot `medv` and `lstat` \n", + "using `DataFrame.plot.scatter()`, \n", + "and wish to\n", + "add the regression line to the resulting plot." + ] + }, + { + "cell_type": "markdown", + "id": "f699e856", + "metadata": {}, + "source": [ + "### Defining Functions\n", + "While there is a function\n", + "within the `ISLP` package that adds a line to an existing plot, we take this opportunity\n", + "to define our first function to do so." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e56a1d3", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "def abline(ax, b, m):\n", + " \"Add a line with slope m and intercept b to ax\"\n", + " xlim = ax.get_xlim()\n", + " ylim = [m * xlim[0] + b, m * xlim[1] + b]\n", + " ax.plot(xlim, ylim)\n" + ] + }, + { + "cell_type": "markdown", + "id": "e0a0dce5", + "metadata": {}, + "source": [ + " A few things are illustrated above. First we see the syntax for defining a function:\n", + "`def funcname(...)`. The function has arguments `ax, b, m`\n", + "where `ax` is an axis object for an exisiting plot, `b` is the intercept and\n", + "`m` is the slope of the desired line. Other plotting options can be passed on to\n", + "`ax.plot` by including additional optional arguments as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7f43ffe7", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "def abline(ax, b, m, *args, **kwargs):\n", + " \"Add a line with slope m and intercept b to ax\"\n", + " xlim = ax.get_xlim()\n", + " ylim = [m * xlim[0] + b, m * xlim[1] + b]\n", + " ax.plot(xlim, ylim, *args, **kwargs)\n" + ] + }, + { + "cell_type": "markdown", + "id": "4f4981fa", + "metadata": {}, + "source": [ + "The addition of `*args` allows any number of\n", + "non-named arguments to `abline`, while `*kwargs` allows any\n", + "number of named arguments (such as `linewidth=3`) to `abline`.\n", + "In our function, we pass\n", + "these arguments verbatim to `ax.plot` above. Readers\n", + "interested in learning more about\n", + "functions are referred to the section on\n", + "defining functions in [docs.python.org/tutorial](https://docs.python.org/3/tutorial/controlflow.html#defining-functions).\n", + "\n", + "Let’s use our new function to add this regression line to a plot of\n", + "`medv` vs. `lstat`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3f7b67c9", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "ax = Boston.plot.scatter('lstat', 'medv')\n", + "abline(ax,\n", + " results.params[0],\n", + " results.params[1],\n", + " 'r--',\n", + " linewidth=3)\n" + ] + }, + { + "cell_type": "markdown", + "id": "50d7066f", + "metadata": {}, + "source": [ + "Thus, the final call to `ax.plot()` is `ax.plot(xlim, ylim, 'r--', linewidth=3)`.\n", + "We have used the argument `'r--'` to produce a red dashed line, and added\n", + "an argument to make it of width 3.\n", + "There is some evidence for non-linearity in the relationship between `lstat` and `medv`. We will explore this issue later in this lab.\n", + "\n", + "As mentioned above, there is an existing function to add a line to a plot --- `ax.axline()` --- but knowing how to write such functions empowers us to create more expressive displays.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "82ab1913", + "metadata": {}, + "source": [ + "Next we examine some diagnostic plots, several of which were discussed\n", + "in Section 3.3.3.\n", + "We can find the fitted values and residuals\n", + "of the fit as attributes of the `results` object.\n", + "Various influence measures describing the regression model\n", + "are computed with the `get_influence()` method.\n", + "As we will not use the `fig` component returned\n", + "as the first value from `subplots()`, we simply\n", + "capture the second returned value in `ax` below." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b35a2fd3", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "ax = subplots(figsize=(8,8))[1]\n", + "ax.scatter(results.fittedvalues, results.resid)\n", + "ax.set_xlabel('Fitted value')\n", + "ax.set_ylabel('Residual')\n", + "ax.axhline(0, c='k', ls='--');\n" + ] + }, + { + "cell_type": "markdown", + "id": "4deb547b", + "metadata": {}, + "source": [ + " We add a horizontal line at 0 for reference using the\n", + " `ax.axhline()` method, indicating\n", + "it should be black (`c='k'`) and have a dashed linestyle (`ls='--'`).\n", + "\n", + "On the basis of the residual plot, there is some evidence of non-linearity.\n", + "Leverage statistics can be computed for any number of predictors using the\n", + "`hat_matrix_diag` attribute of the value returned by the\n", + "`get_influence()` method." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "82673b80", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "infl = results.get_influence()\n", + "ax = subplots(figsize=(8,8))[1]\n", + "ax.scatter(np.arange(X.shape[0]), infl.hat_matrix_diag)\n", + "ax.set_xlabel('Index')\n", + "ax.set_ylabel('Leverage')\n", + "np.argmax(infl.hat_matrix_diag)\n" + ] + }, + { + "cell_type": "markdown", + "id": "7eb69d75", + "metadata": {}, + "source": [ + " The `np.argmax()` function identifies the index of the largest element of an array, optionally computed over an axis of the array.\n", + "In this case, we maximized over the entire array\n", + "to determine which observation has the largest leverage statistic." + ] + }, + { + "cell_type": "markdown", + "id": "94c0a8c1", + "metadata": {}, + "source": [ + "## Multiple Linear Regression\n", + "In order to fit a multiple linear regression model using least squares, we again use\n", + "the `ModelSpec()` transform to construct the required\n", + "model matrix and response. The arguments\n", + "to `ModelSpec()` can be quite general, but in this case\n", + "a list of column names suffice. We consider a fit here with\n", + "the two variables `lstat` and `age`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "54596dc4", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "X = MS(['lstat', 'age']).fit_transform(Boston)\n", + "model1 = sm.OLS(y, X)\n", + "results1 = model1.fit()\n", + "summarize(results1)" + ] + }, + { + "cell_type": "markdown", + "id": "88450596", + "metadata": {}, + "source": [ + "Notice how we have compacted the first line into a succinct expression describing the construction of `X`.\n", + "\n", + "The `Boston` data set contains 12 variables, and so it would be cumbersome\n", + "to have to type all of these in order to perform a regression using all of the predictors.\n", + "Instead, we can use the following short-hand:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "75c78238", + "metadata": {}, + "outputs": [], + "source": [ + "terms = Boston.columns.drop('medv')\n", + "terms\n" + ] + }, + { + "cell_type": "markdown", + "id": "653715b5", + "metadata": {}, + "source": [ + "We can now fit the model with all the variables in `terms` using\n", + "the same model matrix builder." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f14b9e1a", + "metadata": {}, + "outputs": [], + "source": [ + "X = MS(terms).fit_transform(Boston)\n", + "model = sm.OLS(y, X)\n", + "results = model.fit()\n", + "summarize(results)\n" + ] + }, + { + "cell_type": "markdown", + "id": "26acd5ab", + "metadata": {}, + "source": [ + "What if we would like to perform a regression using all of the variables but one? For\n", + "example, in the above regression output, `age` has a high $p$-value.\n", + "So we may wish to run a regression excluding this predictor.\n", + "The following syntax results in a regression using all predictors except `age`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0a2714b1", + "metadata": {}, + "outputs": [], + "source": [ + "minus_age = Boston.columns.drop(['medv', 'age']) \n", + "Xma = MS(minus_age).fit_transform(Boston)\n", + "model1 = sm.OLS(y, Xma)\n", + "summarize(model1.fit())\n" + ] + }, + { + "cell_type": "markdown", + "id": "28538920", + "metadata": {}, + "source": [ + "## Multivariate Goodness of Fit\n", + "We can access the individual components of `results` by name\n", + "(`dir(results)` shows us what is available). Hence\n", + "`results.rsquared` gives us the $R^2$,\n", + "and\n", + "`np.sqrt(results.scale)` gives us the RSE.\n", + "\n", + "Variance inflation factors (section 3.3.3) are sometimes useful\n", + "to assess the effect of collinearity in the model matrix of a regression model.\n", + "We will compute the VIFs in our multiple regression fit, and use the opportunity to introduce the idea of *list comprehension*.\n", + "\n", + "### List Comprehension\n", + "Often we encounter a sequence of objects which we would like to transform\n", + "for some other task. Below, we compute the VIF for each\n", + "feature in our `X` matrix and produce a data frame\n", + "whose index agrees with the columns of `X`.\n", + "The notion of list comprehension can often make such\n", + "a task easier.\n", + "\n", + "List comprehensions are simple and powerful ways to form\n", + "lists of `Python` objects. The language also supports\n", + "dictionary and *generator* comprehension, though these are\n", + "beyond our scope here. Let's look at an example. We compute the VIF for each of the variables\n", + "in the model matrix `X`, using the function `variance_inflation_factor()`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "961c9128", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "vals = [VIF(X, i)\n", + " for i in range(1, X.shape[1])]\n", + "vif = pd.DataFrame({'vif':vals},\n", + " index=X.columns[1:])\n", + "vif\n" + ] + }, + { + "cell_type": "markdown", + "id": "d052f0ab", + "metadata": {}, + "source": [ + "The function `VIF()` takes two arguments: a dataframe or array,\n", + "and a variable column index. In the code above we call `VIF()` on the fly for all columns in `X`. \n", + "We have excluded column 0 above (the intercept), which is not of interest. In this case the VIFs are not that exciting.\n", + "\n", + "The object `vals` above could have been constructed with the following for loop:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4886f9e9", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "vals = []\n", + "for i in range(1, X.values.shape[1]):\n", + " vals.append(VIF(X.values, i))\n" + ] + }, + { + "cell_type": "markdown", + "id": "fd3732d5", + "metadata": {}, + "source": [ + "List comprehension allows us to perform such repetitive operations in a more straightforward way.\n", + "## Interaction Terms\n", + "It is easy to include interaction terms in a linear model using `ModelSpec()`.\n", + "Including a tuple `(\"lstat\",\"age\")` tells the model\n", + "matrix builder to include an interaction term between\n", + " `lstat` and `age`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b54d2da1", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "X = MS(['lstat',\n", + " 'age',\n", + " ('lstat', 'age')]).fit_transform(Boston)\n", + "model2 = sm.OLS(y, X)\n", + "summarize(model2.fit())\n" + ] + }, + { + "cell_type": "markdown", + "id": "c72c4846", + "metadata": {}, + "source": [ + "## Non-linear Transformations of the Predictors\n", + "The model matrix builder can include terms beyond\n", + "just column names and interactions. For instance,\n", + "the `poly()` function supplied in `ISLP` specifies that\n", + "columns representing polynomial functions\n", + "of its first argument are added to the model matrix." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1b71633a", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "X = MS([poly('lstat', degree=2), 'age']).fit_transform(Boston)\n", + "model3 = sm.OLS(y, X)\n", + "results3 = model3.fit()\n", + "summarize(results3)\n" + ] + }, + { + "cell_type": "markdown", + "id": "9f32c813", + "metadata": {}, + "source": [ + "The effectively zero *p*-value associated with the quadratic term\n", + "(i.e. the third row above) suggests that it leads to an improved model.\n", + "\n", + "By default, `poly()` creates a basis matrix for inclusion in the\n", + "model matrix whose\n", + "columns are *orthogonal polynomials*, which are designed for stable\n", + "least squares computations. {Actually, `poly()` is a wrapper for the workhorse and standalone function `Poly()` that does the work in building the model matrix.}\n", + "Alternatively, had we included an argument\n", + "`raw=True` in the above call to `poly()`, the basis matrix would consist simply of\n", + "`lstat` and `lstat**2`. Since either of these bases\n", + "represent quadratic polynomials, the fitted values would not\n", + "change in this case, just the polynomial coefficients. Also by default, the columns\n", + "created by `poly()` do not include an intercept column as\n", + "that is automatically added by `MS()`.\n", + "\n", + "We use the `anova_lm()` function to further quantify the extent to which the quadratic fit is\n", + "superior to the linear fit." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6d30a306", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "anova_lm(results1, results3)\n" + ] + }, + { + "cell_type": "markdown", + "id": "bd0155d4", + "metadata": {}, + "source": [ + "Here `results1` represents the linear submodel containing\n", + "predictors `lstat` and `age`,\n", + "while `results3` corresponds to the larger model above with a quadratic\n", + "term in `lstat`.\n", + "The `anova_lm()` function performs a hypothesis test\n", + "comparing the two models. The null hypothesis is that the quadratic\n", + "term in the bigger model is not needed, and the alternative hypothesis is that the\n", + "bigger model is superior. Here the *F*-statistic is 177.28 and\n", + "the associated *p*-value is zero.\n", + "In this case the *F*-statistic is the square of the\n", + "*t*-statistic for the quadratic term in the linear model summary\n", + "for `results3` --- a consequence of the fact that these nested\n", + "models differ by one degree of freedom.\n", + "This provides very clear evidence that the quadratic polynomial in\n", + "`lstat` improves the linear model.\n", + "This is not surprising, since earlier we saw evidence for non-linearity in the relationship between `medv`\n", + "and `lstat`.\n", + "\n", + "The function `anova_lm()` can take more than two nested models\n", + "as input, in which case it compares every successive pair of models.\n", + "That also explains why their are `NaN`s in the first row above, since\n", + "there is no previous model with which to compare the first.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9a5ec13f", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "ax = subplots(figsize=(8,8))[1]\n", + "ax.scatter(results3.fittedvalues, results3.resid)\n", + "ax.set_xlabel('Fitted value')\n", + "ax.set_ylabel('Residual')\n", + "ax.axhline(0, c='k', ls='--')\n" + ] + }, + { + "cell_type": "markdown", + "id": "88272f6f", + "metadata": {}, + "source": [ + "We see that when the quadratic term is included in the model,\n", + "there is little discernible pattern in the residuals.\n", + "In order to create a cubic or higher-degree polynomial fit, we can simply change the degree argument\n", + "to `poly()`.\n" + ] + }, + { + "cell_type": "markdown", + "id": "e1a34084", + "metadata": {}, + "source": [ + "## Qualitative Predictors\n", + "Here we use the `Carseats` data, which is included in the\n", + "`ISLP` package. We will attempt to predict `Sales`\n", + "(child car seat sales) in 400 locations based on a number of\n", + "predictors." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "09bbc0c6", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Carseats = load_data('Carseats')\n", + "Carseats.columns\n" + ] + }, + { + "cell_type": "markdown", + "id": "1a882e65", + "metadata": {}, + "source": [ + "The `Carseats` \n", + " data includes qualitative predictors such as\n", + " `ShelveLoc`, an indicator of the quality of the shelving\n", + " location --- that is,\n", + "the space within a store in which the car seat is displayed. The predictor\n", + " `ShelveLoc` takes on three possible values, `Bad`, `Medium`, and `Good`.\n", + "Given a qualitative variable such as `ShelveLoc`, `ModelSpec()` generates dummy\n", + "variables automatically.\n", + "These variables are often referred to as a *one-hot encoding* of the categorical\n", + "feature. Their columns sum to one, so to avoid collinearity with an intercept, the first column is dropped. Below we see\n", + "the column `ShelveLoc[Bad]` has been dropped, since `Bad` is the first level of `ShelveLoc`.\n", + "Below we fit a multiple regression model that includes some interaction terms." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2e1da1fa", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "allvars = list(Carseats.columns.drop('Sales'))\n", + "y = Carseats['Sales']\n", + "final = allvars + [('Income', 'Advertising'),\n", + " ('Price', 'Age')]\n", + "X = MS(final).fit_transform(Carseats)\n", + "model = sm.OLS(y, X)\n", + "summarize(model.fit())\n" + ] + }, + { + "cell_type": "markdown", + "id": "79d9127c", + "metadata": {}, + "source": [ + "In the first line above, we made `allvars` a list, so that we\n", + "could add the interaction terms two lines down. \n", + "Our model-matrix builder has created a `ShelveLoc[Good]`\n", + "dummy variable that takes on a value of 1 if the\n", + "shelving location is good, and 0 otherwise. It has also created a `ShelveLoc[Medium]`\n", + "dummy variable that equals 1 if the shelving location is medium, and 0 otherwise.\n", + "A bad shelving location corresponds to a zero for each of the two dummy variables.\n", + "The fact that the coefficient for `ShelveLoc[Good]` in the regression output is\n", + "positive indicates that a good shelving location is associated with high sales (relative to a bad location).\n", + "And `ShelveLoc[Medium]` has a smaller positive coefficient,\n", + "indicating that a medium shelving location leads to higher sales than a bad\n", + "shelving location, but lower sales than a good shelving location." + ] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "-all", + "formats": "ipynb,Rmd", + "main_language": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/source/labs/Ch4-classification-lab.ipynb b/docs/source/labs/Ch4-classification-lab.ipynb new file mode 100644 index 0000000..0161f78 --- /dev/null +++ b/docs/source/labs/Ch4-classification-lab.ipynb @@ -0,0 +1,2181 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "2b1e8bf1", + "metadata": {}, + "source": [ + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "84b9c86a", + "metadata": {}, + "source": [ + "# Logistic Regression, LDA, QDA, and KNN\n" + ] + }, + { + "cell_type": "markdown", + "id": "a4e58fe1", + "metadata": {}, + "source": [ + "## The Stock Market Data\n", + "\n", + "In this lab we will examine the `Smarket` \n", + "data, which is part of the `ISLP`\n", + "library. This data set consists of percentage returns for the S&P 500\n", + "stock index over 1,250 days, from the beginning of 2001 until the end\n", + "of 2005. For each date, we have recorded the percentage returns for\n", + "each of the five previous trading days, `Lag1` through\n", + " `Lag5`. We have also recorded `Volume` (the number of\n", + "shares traded on the previous day, in billions), `Today` (the\n", + "percentage return on the date in question) and `Direction`\n", + "(whether the market was `Up` or `Down` on this date).\n", + "\n", + "We start by importing our libraries at this top level; these are all imports we have seen in previous labs." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "71523a7f", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "from matplotlib.pyplot import subplots\n", + "import statsmodels.api as sm\n", + "from ISLP import load_data\n", + "from ISLP.models import (ModelSpec as MS,\n", + " summarize)" + ] + }, + { + "cell_type": "markdown", + "id": "4759a767", + "metadata": {}, + "source": [ + "We also collect together the new imports needed for this lab." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "901ed7c5", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "from ISLP import confusion_table\n", + "from ISLP.models import contrast\n", + "from sklearn.discriminant_analysis import \\\n", + " (LinearDiscriminantAnalysis as LDA,\n", + " QuadraticDiscriminantAnalysis as QDA)\n", + "from sklearn.naive_bayes import GaussianNB\n", + "from sklearn.neighbors import KNeighborsClassifier\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.linear_model import LogisticRegression\n" + ] + }, + { + "cell_type": "markdown", + "id": "dd5a4d61", + "metadata": {}, + "source": [ + "Now we are ready to load the `Smarket` data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8b56ee0f", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Smarket = load_data('Smarket')\n", + "Smarket" + ] + }, + { + "cell_type": "markdown", + "id": "400eb0f9", + "metadata": {}, + "source": [ + "This gives a truncated listing of the data.\n", + "We can see what the variable names are." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "62d49b47", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Smarket.columns" + ] + }, + { + "cell_type": "markdown", + "id": "82e38285", + "metadata": {}, + "source": [ + "We compute the correlation matrix using the `corr()` method\n", + "for data frames, which produces a matrix that contains all of\n", + "the pairwise correlations among the variables.\n", + " \n", + "The `pandas` library does not report a correlation for the `Direction` variable because it is\n", + "qualitative." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bc34e7b7", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Smarket.corr()\n" + ] + }, + { + "cell_type": "markdown", + "id": "53a52be5", + "metadata": {}, + "source": [ + "As one would expect, the correlations between the lagged return variables and\n", + "today’s return are close to zero. The only substantial correlation is between `Year` and\n", + " `Volume`. By plotting the data we see that `Volume`\n", + "is increasing over time. In other words, the average number of shares traded\n", + "daily increased from 2001 to 2005.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9f075144", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "Smarket.plot(y='Volume');\n" + ] + }, + { + "cell_type": "markdown", + "id": "b8428c9e", + "metadata": {}, + "source": [ + "## Logistic Regression\n", + "Next, we will fit a logistic regression model in order to predict\n", + " `Direction` using `Lag1` through `Lag5` and\n", + " `Volume`. The `sm.GLM()` function fits *generalized linear models*, a class of\n", + "models that includes logistic regression. Alternatively,\n", + "the function `sm.Logit()` fits a logistic regression\n", + "model directly. The syntax of\n", + "`sm.GLM()` is similar to that of `sm.OLS()`, except\n", + "that we must pass in the argument `family=sm.families.Binomial()`\n", + "in order to tell `statsmodels` to run a logistic regression rather than some other\n", + "type of generalized linear model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2ab15aa3", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "allvars = Smarket.columns.drop(['Today', 'Direction', 'Year'])\n", + "design = MS(allvars)\n", + "X = design.fit_transform(Smarket)\n", + "y = Smarket.Direction == 'Up'\n", + "glm = sm.GLM(y,\n", + " X,\n", + " family=sm.families.Binomial())\n", + "results = glm.fit()\n", + "summarize(results)\n" + ] + }, + { + "cell_type": "markdown", + "id": "ce1f682c", + "metadata": {}, + "source": [ + "The smallest *p*-value here is associated with `Lag1`. The\n", + "negative coefficient for this predictor suggests that if the market\n", + "had a positive return yesterday, then it is less likely to go up\n", + "today. However, at a value of 0.15, the *p*-value is still\n", + "relatively large, and so there is no clear evidence of a real\n", + "association between `Lag1` and `Direction`.\n", + "\n", + "We use the `params` attribute of `results`\n", + "in order to access just the\n", + "coefficients for this fitted model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0faa6a6c", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "results.params\n" + ] + }, + { + "cell_type": "markdown", + "id": "b989df1d", + "metadata": {}, + "source": [ + "Likewise we can use the\n", + "`pvalues` attribute to access the *p*-values for the coefficients." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "108aff98", + "metadata": {}, + "outputs": [], + "source": [ + "results.pvalues\n" + ] + }, + { + "cell_type": "markdown", + "id": "5c5c1f8e", + "metadata": {}, + "source": [ + "The `predict()` method of `results` can be used to predict the\n", + "probability that the market will go up, given values of the\n", + "predictors. This method returns predictions\n", + "on the probability scale. If no data set is supplied to the `predict()`\n", + "function, then the probabilities are computed for the training data\n", + "that was used to fit the logistic regression model.\n", + "As with linear regression, one can pass an optional `exog` argument consistent\n", + "with a design matrix if desired. Here we have\n", + "printed only the first ten probabilities." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "54b4b96c", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "probs = results.predict()\n", + "probs[:10]\n" + ] + }, + { + "cell_type": "markdown", + "id": "3b8f3c42", + "metadata": {}, + "source": [ + "In order to make a prediction as to whether the market will go up or\n", + "down on a particular day, we must convert these predicted\n", + "probabilities into class labels, `Up` or `Down`. The\n", + "following two commands create a vector of class predictions based on\n", + "whether the predicted probability of a market increase is greater than\n", + "or less than 0.5." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "46c2887c", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "labels = np.array(['Down']*1250)\n", + "labels[probs>0.5] = \"Up\"\n" + ] + }, + { + "cell_type": "markdown", + "id": "47ac8c81", + "metadata": {}, + "source": [ + "The `confusion_table()`\n", + "function from the `ISLP` package summarizes these predictions, showing how\n", + "many observations were correctly or incorrectly classified. Our function, which is adapted from a similar function\n", + "in the module `sklearn.metrics`, transposes the resulting\n", + "matrix and includes row and column labels.\n", + "The `confusion_table()` function takes as first argument the\n", + "predicted labels, and second argument the true labels." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0f816c4d", + "metadata": {}, + "outputs": [], + "source": [ + "confusion_table(labels, Smarket.Direction)\n" + ] + }, + { + "cell_type": "markdown", + "id": "327a9525", + "metadata": {}, + "source": [ + "The diagonal elements of the confusion matrix indicate correct\n", + "predictions, while the off-diagonals represent incorrect\n", + "predictions. Hence our model correctly predicted that the market would\n", + "go up on 507 days and that it would go down on 145 days, for a\n", + "total of 507 + 145 = 652 correct predictions. The `np.mean()`\n", + "function can be used to compute the fraction of days for which the\n", + "prediction was correct. In this case, logistic regression correctly\n", + "predicted the movement of the market 52.2% of the time.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "23668517", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "(507+145)/1250, np.mean(labels == Smarket.Direction)\n" + ] + }, + { + "cell_type": "markdown", + "id": "dafd9800", + "metadata": {}, + "source": [ + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "1143b9c3", + "metadata": {}, + "source": [ + "At first glance, it appears that the logistic regression model is\n", + "working a little better than random guessing. However, this result is\n", + "misleading because we trained and tested the model on the same set of\n", + "1,250 observations. In other words, $100-52.2=47.8%$ is the\n", + "*training* error rate. As we have seen\n", + "previously, the training error rate is often overly optimistic --- it\n", + "tends to underestimate the test error rate. In\n", + "order to better assess the accuracy of the logistic regression model\n", + "in this setting, we can fit the model using part of the data, and\n", + "then examine how well it predicts the *held out* data. This\n", + "will yield a more realistic error rate, in the sense that in practice\n", + "we will be interested in our model’s performance not on the data that\n", + "we used to fit the model, but rather on days in the future for which\n", + "the market’s movements are unknown.\n", + "\n", + "To implement this strategy, we first create a Boolean vector\n", + "corresponding to the observations from 2001 through 2004. We then\n", + "use this vector to create a held out data set of observations from\n", + "2005." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "86a02d7c", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "train = (Smarket.Year < 2005)\n", + "Smarket_train = Smarket.loc[train]\n", + "Smarket_test = Smarket.loc[~train]\n", + "Smarket_test.shape\n" + ] + }, + { + "cell_type": "markdown", + "id": "26b3a6d2", + "metadata": {}, + "source": [ + "The object `train` is a vector of 1,250 elements, corresponding\n", + "to the observations in our data set. The elements of the vector that\n", + "correspond to observations that occurred before 2005 are set to\n", + "`True`, whereas those that correspond to observations in 2005 are\n", + "set to `False`. Hence `train` is a\n", + "*boolean* array, since its\n", + "elements are `True` and `False`. Boolean arrays can be used\n", + "to obtain a subset of the rows or columns of a data frame\n", + "using the `loc` method. For instance,\n", + "the command `Smarket.loc[train]` would pick out a submatrix of the\n", + "stock market data set, corresponding only to the dates before 2005,\n", + "since those are the ones for which the elements of `train` are\n", + "`True`. The `~` symbol can be used to negate all of the\n", + "elements of a Boolean vector. That is, `~train` is a vector\n", + "similar to `train`, except that the elements that are `True`\n", + "in `train` get swapped to `False` in `~train`, and vice versa.\n", + "Therefore, `Smarket.loc[~train]` yields a\n", + "subset of the rows of the data frame\n", + "of the stock market data containing only the observations for which\n", + "`train` is `False`.\n", + "The output above indicates that there are 252 such\n", + "observations.\n", + "\n", + "We now fit a logistic regression model using only the subset of the\n", + "observations that correspond to dates before 2005. We then obtain predicted probabilities of the\n", + "stock market going up for each of the days in our test set --- that is,\n", + "for the days in 2005." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f23b1c7b", + "metadata": {}, + "outputs": [], + "source": [ + "X_train, X_test = X.loc[train], X.loc[~train]\n", + "y_train, y_test = y.loc[train], y.loc[~train]\n", + "glm_train = sm.GLM(y_train,\n", + " X_train,\n", + " family=sm.families.Binomial())\n", + "results = glm_train.fit()\n", + "probs = results.predict(exog=X_test)\n" + ] + }, + { + "cell_type": "markdown", + "id": "6ebe1900", + "metadata": {}, + "source": [ + "Notice that we have trained and tested our model on two completely\n", + "separate data sets: training was performed using only the dates before\n", + "2005, and testing was performed using only the dates in 2005.\n", + "\n", + "Finally, we compare the predictions for 2005 to the\n", + "actual movements of the market over that time period.\n", + "We will first store the test and training labels (recall `y_test` is binary)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "82f849b9", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "D = Smarket.Direction\n", + "L_train, L_test = D.loc[train], D.loc[~train]\n" + ] + }, + { + "cell_type": "markdown", + "id": "ac89c253", + "metadata": {}, + "source": [ + "Now we threshold the\n", + "fitted probability at 50% to form\n", + "our predicted labels." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e216583a", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "labels = np.array(['Down']*252)\n", + "labels[probs>0.5] = 'Up'\n", + "confusion_table(labels, L_test)\n" + ] + }, + { + "cell_type": "markdown", + "id": "f43e1451", + "metadata": {}, + "source": [ + "The test accuracy is about 48% while the error rate is about 52%" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5538dc17", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "np.mean(labels == L_test), np.mean(labels != L_test)\n" + ] + }, + { + "cell_type": "markdown", + "id": "3ddf7670", + "metadata": {}, + "source": [ + "The `!=` notation means *not equal to*, and so the last command\n", + "computes the test set error rate. The results are rather\n", + "disappointing: the test error rate is 52%, which is worse than\n", + "random guessing! Of course this result is not all that surprising,\n", + "given that one would not generally expect to be able to use previous\n", + "days’ returns to predict future market performance. (After all, if it\n", + "were possible to do so, then the authors of this book would be out\n", + "striking it rich rather than writing a statistics textbook.)\n", + "\n", + "We recall that the logistic regression model had very underwhelming\n", + "*p*-values associated with all of the predictors, and that the\n", + "smallest *p*-value, though not very small, corresponded to\n", + " `Lag1`. Perhaps by removing the variables that appear not to be\n", + "helpful in predicting `Direction`, we can obtain a more\n", + "effective model. After all, using predictors that have no relationship\n", + "with the response tends to cause a deterioration in the test error\n", + "rate (since such predictors cause an increase in variance without a\n", + "corresponding decrease in bias), and so removing such predictors may\n", + "in turn yield an improvement. Below we refit the logistic\n", + "regression using just `Lag1` and `Lag2`, which seemed to\n", + "have the highest predictive power in the original logistic regression\n", + "model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "016110f9", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "model = MS(['Lag1', 'Lag2']).fit(Smarket)\n", + "X = model.transform(Smarket)\n", + "X_train, X_test = X.loc[train], X.loc[~train]\n", + "glm_train = sm.GLM(y_train,\n", + " X_train,\n", + " family=sm.families.Binomial())\n", + "results = glm_train.fit()\n", + "probs = results.predict(exog=X_test)\n", + "labels = np.array(['Down']*252)\n", + "labels[probs>0.5] = 'Up'\n", + "confusion_table(labels, L_test)\n" + ] + }, + { + "cell_type": "markdown", + "id": "a7468a74", + "metadata": {}, + "source": [ + "Let’s evaluate the overall accuracy as well as the accuracy within the days when\n", + "logistic regression predicts an increase." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "70984cd6", + "metadata": {}, + "outputs": [], + "source": [ + "(35+106)/252,106/(106+76)\n" + ] + }, + { + "cell_type": "markdown", + "id": "393c0a26", + "metadata": {}, + "source": [ + "Now the results appear to be a little better: 56% of the daily\n", + "movements have been correctly predicted. It is worth noting that in\n", + "this case, a much simpler strategy of predicting that the market will\n", + "increase every day will also be correct 56% of the time! Hence, in\n", + "terms of overall error rate, the logistic regression method is no\n", + "better than the naive approach. However, the confusion matrix\n", + "shows that on days when logistic regression predicts an increase in\n", + "the market, it has a 58% accuracy rate. This suggests a possible\n", + "trading strategy of buying on days when the model predicts an\n", + "increasing market, and avoiding trades on days when a decrease is\n", + "predicted. Of course one would need to investigate more carefully\n", + "whether this small improvement was real or just due to random chance.\n", + "\n", + "Suppose that we want to predict the returns associated with particular\n", + "values of `Lag1` and `Lag2`. In particular, we want to\n", + "predict `Direction` on a day when `Lag1` and\n", + " `Lag2` equal $1.2$ and $1.1$, respectively, and on a day when they\n", + "equal $1.5$ and $-0.8$. We do this using the `predict()`\n", + "function." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4b745fd8", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "newdata = pd.DataFrame({'Lag1':[1.2, 1.5],\n", + " 'Lag2':[1.1, -0.8]});\n", + "newX = model.transform(newdata)\n", + "results.predict(newX)\n" + ] + }, + { + "cell_type": "markdown", + "id": "ae928a3e", + "metadata": {}, + "source": [ + "## Linear Discriminant Analysis" + ] + }, + { + "cell_type": "markdown", + "id": "aab265c4", + "metadata": {}, + "source": [ + "We begin by performing LDA on the `Smarket` data, using the function\n", + "`LinearDiscriminantAnalysis()`, which we have abbreviated `LDA()`. We \n", + "fit the model using only the observations before 2005." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cd533313", + "metadata": {}, + "outputs": [], + "source": [ + "lda = LDA(store_covariance=True)\n" + ] + }, + { + "cell_type": "markdown", + "id": "c84aa056", + "metadata": {}, + "source": [ + "Since the `LDA` estimator automatically \n", + "adds an intercept, we should remove the column corresponding to the\n", + "intercept in both `X_train` and `X_test`. We can also directly\n", + "use the labels rather than the Boolean vectors `y_train`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "953dc6ac", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "X_train, X_test = [M.drop(columns=['intercept'])\n", + " for M in [X_train, X_test]]\n", + "lda.fit(X_train, L_train)\n" + ] + }, + { + "cell_type": "markdown", + "id": "0a51b5cd", + "metadata": {}, + "source": [ + "Here we have used the list comprehensions introduced\n", + "in Section 3.6.4. Looking at our first line above, we see that the right-hand side is a list\n", + "of length two. This is because the code `for M in [X_train, X_test]` iterates over a list\n", + "of length two. While here we loop over a list,\n", + "the list comprehension method works when looping over any iterable object.\n", + "We then apply the `drop()` method to each element in the iteration, collecting\n", + "the result in a list. The left-hand side tells `Python` to unpack this list\n", + "of length two, assigning its elements to the variables `X_train` and `X_test`. Of course,\n", + "this overwrites the previous values of `X_train` and `X_test`.\n", + "\n", + "Having fit the model, we can extract the means in the two classes with the `means_` attribute. These are the average of each predictor within each class, and\n", + "are used by LDA as estimates of $\\mu_k$. These suggest that there is\n", + "a tendency for the previous 2 days’ returns to be negative on days\n", + "when the market increases, and a tendency for the previous days’\n", + "returns to be positive on days when the market declines." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8917085e", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "lda.means_\n" + ] + }, + { + "cell_type": "markdown", + "id": "14bc4692", + "metadata": {}, + "source": [ + "The estimated prior probabilities are stored in the `priors_` attribute.\n", + "The package `sklearn` typically uses this trailing `_` to denote\n", + "a quantity estimated when using the `fit()` method. We can be sure of which\n", + "entry corresponds to which label by looking at the `classes_` attribute." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "efb3e9bd", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "lda.classes_\n" + ] + }, + { + "cell_type": "markdown", + "id": "50697f11", + "metadata": {}, + "source": [ + "The LDA output indicates that $\\hat\\pi_{Down}=0.492$ and\n", + "$\\hat\\pi_{Up}=0.508$.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "efce91fb", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "lda.priors_\n" + ] + }, + { + "cell_type": "markdown", + "id": "a27bc841", + "metadata": {}, + "source": [ + "The linear discriminant vectors can be found in the `scalings_` attribute:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e33cd6c5", + "metadata": {}, + "outputs": [], + "source": [ + "lda.scalings_\n" + ] + }, + { + "cell_type": "markdown", + "id": "b011d741", + "metadata": {}, + "source": [ + "These values provide the linear combination of `Lag1` and `Lag2` that are used to form the LDA decision rule. In other words, these are the multipliers of the elements of $X=x$ in (4.24).\n", + " If $-0.64\\times `Lag1` - 0.51 \\times `Lag2` $ is large, then the LDA classifier will predict a market increase, and if it is small, then the LDA classifier will predict a market decline." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dc8a5178", + "metadata": {}, + "outputs": [], + "source": [ + "lda_pred = lda.predict(X_test)\n" + ] + }, + { + "cell_type": "markdown", + "id": "3c8a8a75", + "metadata": {}, + "source": [ + "As we observed in our comparison of classification methods\n", + " (Section 4.5), the LDA and logistic\n", + "regression predictions are almost identical." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "31a6782b", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "confusion_table(lda_pred, L_test)\n" + ] + }, + { + "cell_type": "markdown", + "id": "c3534a8f", + "metadata": {}, + "source": [ + "We can also estimate the\n", + "probability of each class for\n", + "each point in a training set. Applying a 50% threshold to the posterior probabilities of\n", + "being in class 1 allows us to\n", + "recreate the predictions contained in `lda_pred`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "da1bffa3", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "lda_prob = lda.predict_proba(X_test)\n", + "np.all(\n", + " np.where(lda_prob[:,1] >= 0.5, 'Up','Down') == lda_pred\n", + " )\n" + ] + }, + { + "cell_type": "markdown", + "id": "6ab71d7c", + "metadata": {}, + "source": [ + "Above, we used the `np.where()` function that\n", + "creates an array with value `'Up'` for indices where\n", + "the second column of `lda_prob` (the estimated\n", + "posterior probability of `'Up'`) is greater than 0.5.\n", + "For problems with more than two classes the labels are chosen as the class whose posterior probability is highest:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d7eae3c", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "np.all(\n", + " [lda.classes_[i] for i in np.argmax(lda_prob, 1)] == lda_pred\n", + " )\n" + ] + }, + { + "cell_type": "markdown", + "id": "6a67baf1", + "metadata": {}, + "source": [ + "If we wanted to use a posterior probability threshold other than\n", + "50% in order to make predictions, then we could easily do so. For\n", + "instance, suppose that we wish to predict a market decrease only if we\n", + "are very certain that the market will indeed decrease on that\n", + "day --- say, if the posterior probability is at least 90%.\n", + "We know that the first column of `lda_prob` corresponds to the\n", + "label `Down` after having checked the `classes_` attribute, hence we use\n", + "the column index 0 rather than 1 as we did above." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "18fa175c", + "metadata": {}, + "outputs": [], + "source": [ + "np.sum(lda_prob[:,0] > 0.9)\n" + ] + }, + { + "cell_type": "markdown", + "id": "527be6fe", + "metadata": {}, + "source": [ + "No days in 2005 meet that threshold! In fact, the greatest posterior\n", + "probability of decrease in all of 2005 was 52.02%.\n", + "\n", + "The LDA classifier above is the first classifier from the\n", + "`sklearn` library. We will use several other objects\n", + "from this library. The objects\n", + "follow a common structure that simplifies tasks such as cross-validation,\n", + "which we will see in Chapter 5. Specifically,\n", + "the methods first create a generic classifier without\n", + "referring to any data. This classifier is then fit\n", + "to data with the `fit()` method and predictions are\n", + "always produced with the `predict()` method. This pattern\n", + "of first instantiating the classifier, followed by fitting it, and\n", + "then producing predictions is an explicit design choice of `sklearn`. This uniformity\n", + "makes it possible to cleanly copy the classifier so that it can be fit\n", + "on different data; e.g. different training sets arising in cross-validation.\n", + "This standard pattern also allows for a predictable formation of workflows.\n" + ] + }, + { + "cell_type": "markdown", + "id": "66ecd10f", + "metadata": {}, + "source": [ + "## Quadratic Discriminant Analysis\n", + "We will now fit a QDA model to the `Smarket` data. QDA is\n", + "implemented via\n", + "`QuadraticDiscriminantAnalysis()`\n", + "in the `sklearn` package, which we abbreviate to `QDA()`.\n", + "The syntax is very similar to `LDA()`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "62499aad", + "metadata": {}, + "outputs": [], + "source": [ + "qda = QDA(store_covariance=True)\n", + "qda.fit(X_train, L_train)\n" + ] + }, + { + "cell_type": "markdown", + "id": "17b38989", + "metadata": {}, + "source": [ + "The `QDA()` function will again compute `means_` and `priors_`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "296fdd89", + "metadata": {}, + "outputs": [], + "source": [ + "qda.means_, qda.priors_\n" + ] + }, + { + "cell_type": "markdown", + "id": "f439efa9", + "metadata": {}, + "source": [ + "The `QDA()` classifier will estimate one covariance per class. Here is the\n", + "estimated covariance in the first class:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7fbbefb0", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "qda.covariance_[0]\n" + ] + }, + { + "cell_type": "markdown", + "id": "4b33a370", + "metadata": {}, + "source": [ + "The output contains the group means. But it does not contain the\n", + "coefficients of the linear discriminants, because the QDA classifier\n", + "involves a quadratic, rather than a linear, function of the\n", + "predictors. The `predict()` function works in exactly the\n", + "same fashion as for LDA." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "03094dcd", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "qda_pred = qda.predict(X_test)\n", + "confusion_table(qda_pred, L_test)\n" + ] + }, + { + "cell_type": "markdown", + "id": "2037df4b", + "metadata": {}, + "source": [ + "Interestingly, the QDA predictions are accurate almost 60% of the\n", + "time, even though the 2005 data was not used to fit the model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "25022d1a", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "np.mean(qda_pred == L_test)\n" + ] + }, + { + "cell_type": "markdown", + "id": "cf85b45e", + "metadata": {}, + "source": [ + "This level of accuracy is quite impressive for stock market data, which is\n", + "known to be quite hard to model accurately. This suggests that the\n", + "quadratic form assumed by QDA may capture the true relationship more\n", + "accurately than the linear forms assumed by LDA and logistic\n", + "regression. However, we recommend evaluating this method’s\n", + "performance on a larger test set before betting that this approach\n", + "will consistently beat the market!" + ] + }, + { + "cell_type": "markdown", + "id": "258f98b8", + "metadata": {}, + "source": [ + "## Naive Bayes\n", + "Next, we fit a naive Bayes model to the `Smarket` data. The syntax is\n", + "similar to that of `LDA()` and `QDA()`. By\n", + "default, this implementation `GaussianNB()` of the naive Bayes classifier models each\n", + "quantitative feature using a Gaussian distribution. However, a kernel\n", + "density method can also be used to estimate the distributions." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f73eb202", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "NB = GaussianNB()\n", + "NB.fit(X_train, L_train)\n" + ] + }, + { + "cell_type": "markdown", + "id": "9911dcdc", + "metadata": {}, + "source": [ + "The classes are stored as `classes_`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8e860cc3", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "NB.classes_\n" + ] + }, + { + "cell_type": "markdown", + "id": "8d6b9b33", + "metadata": {}, + "source": [ + "The class prior probabilities are stored in the `class_prior_` attribute." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c28bf3b5", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "NB.class_prior_\n" + ] + }, + { + "cell_type": "markdown", + "id": "fed2c4b4", + "metadata": {}, + "source": [ + "The parameters of the features can be found in the `theta_` and `var_` attributes. The number of rows\n", + "is equal to the number of classes, while the number of columns is equal to the number of features.\n", + "We see below that the mean for feature `Lag1` in the `Down` class is 0.043." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "84a9f086", + "metadata": {}, + "outputs": [], + "source": [ + "NB.theta_\n" + ] + }, + { + "cell_type": "markdown", + "id": "66f0a08d", + "metadata": {}, + "source": [ + "Its variance is 1.503." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "885f5165", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "NB.var_\n" + ] + }, + { + "cell_type": "markdown", + "id": "db0a1ce6", + "metadata": {}, + "source": [ + "How do we know the names of these attributes? We use `NB?` (or \\textR?NB}).\n", + "\n", + "We can easily verify the mean computation:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "61473094", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "X_train[L_train == 'Down'].mean()\n" + ] + }, + { + "cell_type": "markdown", + "id": "d4ffc86b", + "metadata": {}, + "source": [ + "Similarly for the variance:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "db203a23", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "X_train[L_train == 'Down'].var(ddof=0)\n" + ] + }, + { + "cell_type": "markdown", + "id": "7c9078c1", + "metadata": {}, + "source": [ + "Since `NB()` is a classifier in the `sklearn` library, making predictions\n", + "uses the same syntax as for `LDA()` and `QDA()` above." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b387227e", + "metadata": {}, + "outputs": [], + "source": [ + "nb_labels = NB.predict(X_test)\n", + "confusion_table(nb_labels, L_test)\n" + ] + }, + { + "cell_type": "markdown", + "id": "ab979471", + "metadata": {}, + "source": [ + "Naive Bayes performs well on these data, with accurate predictions over 59% of the time. This is slightly worse than QDA, but much better than LDA.\n", + "\n", + "As for `LDA`, the `predict_proba()` method estimates the probability that each observation belongs to a particular class." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f14ebe61", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "NB.predict_proba(X_test)[:5]\n" + ] + }, + { + "cell_type": "markdown", + "id": "f14c520d", + "metadata": {}, + "source": [ + "## K-Nearest Neighbors\n", + "We will now perform KNN using the `KNeighborsClassifier()` function. This function works similarly\n", + "to the other model-fitting functions that we have\n", + "encountered thus far.\n", + "\n", + "As is the\n", + "case for LDA and QDA, we fit the classifier\n", + "using the `fit` method. New\n", + "predictions are formed using the `predict` method\n", + "of the object returned by `fit()`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "41a12f4a", + "metadata": {}, + "outputs": [], + "source": [ + "knn1 = KNeighborsClassifier(n_neighbors=1)\n", + "knn1.fit(X_train, L_train)\n", + "knn1_pred = knn1.predict(X_test)\n", + "confusion_table(knn1_pred, L_test)\n" + ] + }, + { + "cell_type": "markdown", + "id": "22ee6dff", + "metadata": {}, + "source": [ + "The results using $K=1$ are not very good, since only $50%$ of the\n", + "observations are correctly predicted. Of course, it may be that $K=1$\n", + "results in an overly-flexible fit to the data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1dd2f3e4", + "metadata": {}, + "outputs": [], + "source": [ + "(83+43)/252, np.mean(knn1_pred == L_test)\n" + ] + }, + { + "cell_type": "markdown", + "id": "cda2465d", + "metadata": {}, + "source": [ + "Below, we repeat the\n", + "analysis using $K=3$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8ec72efc", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "knn3 = KNeighborsClassifier(n_neighbors=3)\n", + "knn3_pred = knn3.fit(X_train, L_train).predict(X_test)\n", + "np.mean(knn3_pred == L_test)" + ] + }, + { + "cell_type": "markdown", + "id": "ff4533bd", + "metadata": {}, + "source": [ + "The results have improved slightly. But increasing *K* further\n", + "provides no further improvements. It appears that for these data, and this train/test split,\n", + "QDA gives the best results of the methods that we have examined so\n", + "far." + ] + }, + { + "cell_type": "markdown", + "id": "5810022d", + "metadata": {}, + "source": [ + "KNN does not perform well on the `Smarket` data, but it often does provide impressive results. As an example we will apply the KNN approach to the `Caravan` data set, which is part of the `ISLP` library. This data set includes 85\n", + "predictors that measure demographic characteristics for 5,822\n", + "individuals. The response variable is `Purchase`, which\n", + "indicates whether or not a given individual purchases a caravan\n", + "insurance policy. In this data set, only 6% of people purchased\n", + "caravan insurance." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "98fef4ed", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "Caravan = load_data('Caravan')\n", + "Purchase = Caravan.Purchase\n", + "Purchase.value_counts()\n" + ] + }, + { + "cell_type": "markdown", + "id": "4fc1a1df", + "metadata": {}, + "source": [ + "The method `value_counts()` takes a `pd.Series` or `pd.DataFrame` and returns\n", + "a `pd.Series` with the corresponding counts\n", + "for each unique element. In this case `Purchase` has only `Yes` and `No` values\n", + "and returns how many values of each there are." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1af72c0b", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "348 / 5822\n" + ] + }, + { + "cell_type": "markdown", + "id": "78c25fda", + "metadata": {}, + "source": [ + "Our features will include all columns except `Purchase`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9ea841e4", + "metadata": {}, + "outputs": [], + "source": [ + "feature_df = Caravan.drop(columns=['Purchase'])\n" + ] + }, + { + "cell_type": "markdown", + "id": "55efb306", + "metadata": {}, + "source": [ + "Because the KNN classifier predicts the class of a given test\n", + "observation by identifying the observations that are nearest to it,\n", + "the scale of the variables matters. Any variables that are on a large\n", + "scale will have a much larger effect on the *distance* between\n", + "the observations, and hence on the KNN classifier, than variables that\n", + "are on a small scale. For instance, imagine a data set that contains\n", + "two variables, `salary` and `age` (measured in dollars\n", + "and years, respectively). As far as KNN is concerned, a difference of\n", + "1,000 USD in salary is enormous compared to a difference of 50 years in\n", + "age. Consequently, `salary` will drive the KNN classification\n", + "results, and `age` will have almost no effect. This is contrary\n", + "to our intuition that a salary difference of 1,000 USD is quite small\n", + "compared to an age difference of 50 years. Furthermore, the\n", + "importance of scale to the KNN classifier leads to another issue: if\n", + "we measured `salary` in Japanese yen, or if we measured\n", + " `age` in minutes, then we’d get quite different classification\n", + "results from what we get if these two variables are measured in\n", + "dollars and years.\n", + "\n", + "A good way to handle this problem is to *standardize* the data so that all variables are\n", + "given a mean of zero and a standard deviation of one. Then all\n", + "variables will be on a comparable scale. This is accomplished\n", + "using\n", + "the `StandardScaler()`\n", + "transformation." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6e26b14f", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "scaler = StandardScaler(with_mean=True,\n", + " with_std=True,\n", + " copy=True)\n" + ] + }, + { + "cell_type": "markdown", + "id": "0c0d1faf", + "metadata": {}, + "source": [ + "The argument `with_mean` indicates whether or not\n", + "we should subtract the mean, while `with_std` indicates\n", + "whether or not we should scale the columns to have standard\n", + "deviation of 1 or not. Finally, the argument `copy=True`\n", + "indicates that we will always copy data, rather than\n", + "trying to do calculations in place where possible.\n", + "\n", + "This transformation can be fit\n", + "and then applied to arbitrary data. In the first line\n", + "below, the parameters for the scaling are computed and\n", + "stored in `scaler`, while the second line actually\n", + "constructs the standardized set of features." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bd178f38", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "scaler.fit(feature_df)\n", + "X_std = scaler.transform(feature_df)\n" + ] + }, + { + "cell_type": "markdown", + "id": "30bfaa05", + "metadata": {}, + "source": [ + "Now every column of `feature_std` below has a standard deviation of\n", + "one and a mean of zero." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "18929b37", + "metadata": {}, + "outputs": [], + "source": [ + "feature_std = pd.DataFrame(\n", + " X_std,\n", + " columns=feature_df.columns);\n", + "feature_std.std()\n" + ] + }, + { + "cell_type": "markdown", + "id": "4f536808", + "metadata": {}, + "source": [ + "Notice that the standard deviations are not quite $1$ here; this is again due to some procedures using the $1/n$ convention for variances (in this case `scaler()`), while others use $1/(n-1)$ (the `std()` method). See the footnote on page 198.\n", + "In this case it does not matter, as long as the variables are all on the same scale.\n", + "\n", + "Using the function `train_test_split()` we now split the observations into a test set,\n", + "containing 1000 observations, and a training set containing the remaining\n", + "observations. The argument `random_state=0` ensures that we get\n", + "the same split each time we rerun the code." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9d439d0b", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "(X_train,\n", + " X_test,\n", + " y_train,\n", + " y_test) = train_test_split(feature_std,\n", + " Purchase,\n", + " test_size=1000,\n", + " random_state=0)\n" + ] + }, + { + "cell_type": "markdown", + "id": "87fcf773", + "metadata": {}, + "source": [ + "`?train_test_split` reveals that the non-keyword arguments can be `lists`, `arrays`, `pandas dataframes` etc that all have the same length (`shape[0]`) and hence are *indexable*. In this case they are the dataframe `feature_std` and the response variable `Purchase`. \n", + "We fit a KNN model on the training data using $K=1$,\n", + "and evaluate its performance on the test data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9b8c0171", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "knn1 = KNeighborsClassifier(n_neighbors=1)\n", + "knn1_pred = knn1.fit(X_train, y_train).predict(X_test)\n", + "np.mean(y_test != knn1_pred), np.mean(y_test != \"No\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "3aa030b6", + "metadata": {}, + "source": [ + "The KNN error rate on the 1,000 test observations is about $11%$.\n", + "At first glance, this may appear to be fairly good. However, since\n", + "just over 6% of customers purchased insurance, we could get the error\n", + "rate down to almost 6% by always predicting `No` regardless of the\n", + "values of the predictors! This is known as the *null rate*.}\n", + "\n", + "Suppose that there is some non-trivial cost to trying to sell\n", + "insurance to a given individual. For instance, perhaps a salesperson\n", + "must visit each potential customer. If the company tries to sell\n", + "insurance to a random selection of customers, then the success rate\n", + "will be only 6%, which may be far too low given the costs\n", + "involved. Instead, the company would like to try to sell insurance\n", + "only to customers who are likely to buy it. So the overall error rate\n", + "is not of interest. Instead, the fraction of individuals that are\n", + "correctly predicted to buy insurance is of interest." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f31b6e26", + "metadata": {}, + "outputs": [], + "source": [ + "confusion_table(knn1_pred, y_test)\n" + ] + }, + { + "cell_type": "markdown", + "id": "de5fb529", + "metadata": {}, + "source": [ + "It turns out that KNN with $K=1$ does far better than random guessing\n", + "among the customers that are predicted to buy insurance. Among 62\n", + "such customers, 9, or 14.5%, actually do purchase insurance.\n", + "This is double the rate that one would obtain from random guessing." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4a8c37aa", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "9/(53+9)" + ] + }, + { + "cell_type": "markdown", + "id": "a898b7d0", + "metadata": {}, + "source": [ + "### Tuning Parameters\n", + "\n", + "The number of neighbors in KNN is referred to as a *tuning parameter*, also referred to as a *hyperparameter*.\n", + "We do not know *a priori* what value to use. It is therefore of interest\n", + "to see how the classifier performs on test data as we vary these\n", + "parameters. This can be achieved with a `for` loop, described in Section 2.3.8.\n", + "Here we use a for loop to look at the accuracy of our classifier in the group predicted to purchase\n", + "insurance as we vary the number of neighbors from 1 to 5:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "153662f8", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "for K in range(1,6):\n", + " knn = KNeighborsClassifier(n_neighbors=K)\n", + " knn_pred = knn.fit(X_train, y_train).predict(X_test)\n", + " C = confusion_table(knn_pred, y_test)\n", + " templ = ('K={0:d}: # predicted to rent: {1:>2},' +\n", + " ' # who did rent {2:d}, accuracy {3:.1%}')\n", + " pred = C.loc['Yes'].sum()\n", + " did_rent = C.loc['Yes','Yes']\n", + " print(templ.format(\n", + " K,\n", + " pred,\n", + " did_rent,\n", + " did_rent / pred))\n" + ] + }, + { + "cell_type": "markdown", + "id": "39ba18b3", + "metadata": {}, + "source": [ + "We see some variability --- the numbers for `K=4` are very different from the rest.\n", + "\n", + "### Comparison to Logistic Regression\n", + "As a comparison, we can also fit a logistic regression model to the\n", + "data. This can also be done\n", + "with `sklearn`, though by default it fits\n", + "something like the *ridge regression* version\n", + "of logistic regression, which we introduce in Chapter 6. This can\n", + "be modified by appropriately setting the argument `C` below. Its default\n", + "value is 1 but by setting it to a very large number, the algorithm converges to the same solution as the usual (unregularized)\n", + "logistic regression estimator discussed above.\n", + "\n", + "Unlike the\n", + "`statsmodels` package, `sklearn` focuses less on\n", + "inference and more on classification. Hence,\n", + "the `summary` methods seen in `statsmodels`\n", + "and our simplified version seen with `summarize` are not\n", + "generally available for the classifiers in `sklearn`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "55b99a3f", + "metadata": {}, + "outputs": [], + "source": [ + "logit = LogisticRegression(C=1e10, solver='liblinear')\n", + "logit.fit(X_train, y_train)\n", + "logit_pred = logit.predict_proba(X_test)\n", + "logit_labels = np.where(logit_pred[:,1] > 5, 'Yes', 'No')\n", + "confusion_table(logit_labels, y_test)\n" + ] + }, + { + "cell_type": "markdown", + "id": "4e0ebc83", + "metadata": {}, + "source": [ + "We used the argument `solver='liblinear'` above to\n", + "avoid a warning with the default solver which would indicate that\n", + "the algorithm does not converge.\n", + "\n", + "If we use $0.5$ as the predicted probability cut-off for the\n", + "classifier, then we have a problem: none of the test\n", + "observations are predicted to purchase insurance. However, we are not required to use a\n", + "cut-off of $0.5$. If we instead predict a purchase any time the\n", + "predicted probability of purchase exceeds $0.25$, we get much better\n", + "results: we predict that 29 people will purchase insurance, and we are\n", + "correct for about 31% of these people. This is almost five times\n", + "better than random guessing!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0c2ea9f5", + "metadata": {}, + "outputs": [], + "source": [ + "logit_labels = np.where(logit_pred[:,1]>0.25, 'Yes', 'No')\n", + "confusion_table(logit_labels, y_test)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3a6bf0a4", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "9/(20+9)\n" + ] + }, + { + "cell_type": "markdown", + "id": "4d04bbc7", + "metadata": {}, + "source": [ + "## Linear and Poisson Regression on the Bikeshare Data\n", + "Here we fit linear and Poisson regression models to the `Bikeshare` data, as described in Section 4.6.\n", + "The response `bikers` measures the number of bike rentals per hour\n", + "in Washington, DC in the period 2010--2012." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "769300df", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "Bike = load_data('Bikeshare')\n" + ] + }, + { + "cell_type": "markdown", + "id": "8cc82fa9", + "metadata": {}, + "source": [ + "Let's have a peek at the dimensions and names of the variables in this dataframe." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "02b351f5", + "metadata": {}, + "outputs": [], + "source": [ + "Bike.shape, Bike.columns\n" + ] + }, + { + "cell_type": "markdown", + "id": "7784e3a1", + "metadata": {}, + "source": [ + "### Linear Regression\n", + "\n", + "We begin by fitting a linear regression model to the data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "926c908d", + "metadata": {}, + "outputs": [], + "source": [ + "X = MS(['mnth',\n", + " 'hr',\n", + " 'workingday',\n", + " 'temp',\n", + " 'weathersit']).fit_transform(Bike)\n", + "Y = Bike['bikers']\n", + "M_lm = sm.OLS(Y, X).fit()\n", + "summarize(M_lm)\n" + ] + }, + { + "cell_type": "markdown", + "id": "b29a0708", + "metadata": {}, + "source": [ + "There are 24 levels in `hr` and 40 rows in all.\n", + "In `M_lm`, the first levels `hr[0]` and `mnth[Jan]` are treated\n", + "as the baseline values, and so no coefficient estimates are provided\n", + "for them: implicitly, their coefficient estimates are zero, and all\n", + "other levels are measured relative to these baselines. For example,\n", + "the Feb coefficient of $6.845$ signifies that, holding all other\n", + "variables constant, there are on average about 7 more riders in\n", + "February than in January. Similarly there are about 16.5 more riders\n", + "in March than in January.\n", + "\n", + "The results seen in Section 4.6.1\n", + "used a slightly different coding of the variables `hr` and `mnth`, as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "064b24d1", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "hr_encode = contrast('hr', 'sum')\n", + "mnth_encode = contrast('mnth', 'sum')\n" + ] + }, + { + "cell_type": "markdown", + "id": "fba11e8e", + "metadata": {}, + "source": [ + "Refitting again:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "27c1aa54", + "metadata": {}, + "outputs": [], + "source": [ + "X2 = MS([mnth_encode,\n", + " hr_encode,\n", + " 'workingday',\n", + " 'temp',\n", + " 'weathersit']).fit_transform(Bike)\n", + "M2_lm = sm.OLS(Y, X2).fit()\n", + "S2 = summarize(M2_lm)\n", + "S2" + ] + }, + { + "cell_type": "markdown", + "id": "d057b162", + "metadata": {}, + "source": [ + "What is the difference between the two codings? In `M2_lm`, a\n", + "coefficient estimate is reported for all but level `23` of `hr`\n", + "and level `Dec` of `mnth`. Importantly, in `M2_lm`, the (unreported) coefficient estimate\n", + "for the last level of `mnth` is not zero: instead, it equals the\n", + "negative of the sum of the coefficient estimates for all of the\n", + "other levels. Similarly, in `M2_lm`, the coefficient estimate\n", + "for the last level of `hr` is the negative of the sum of the\n", + "coefficient estimates for all of the other levels. This means that the\n", + "coefficients of `hr` and `mnth` in `M2_lm` will always sum\n", + "to zero, and can be interpreted as the difference from the mean\n", + "level. For example, the coefficient for January of $-46.087$ indicates\n", + "that, holding all other variables constant, there are typically 46\n", + "fewer riders in January relative to the yearly average.\n", + "\n", + "It is important to realize that the choice of coding really does not\n", + "matter, provided that we interpret the model output correctly in light\n", + "of the coding used. For example, we see that the predictions from the\n", + "linear model are the same regardless of coding:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dd0114c8", + "metadata": {}, + "outputs": [], + "source": [ + "np.sum((M_lm.fittedvalues - M2_lm.fittedvalues)**2)\n" + ] + }, + { + "cell_type": "markdown", + "id": "bcb6ae87", + "metadata": {}, + "source": [ + "The sum of squared differences is zero. We can also see this using the\n", + "`np.allclose()` function:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "292585a1", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "np.allclose(M_lm.fittedvalues, M2_lm.fittedvalues)\n" + ] + }, + { + "cell_type": "markdown", + "id": "5bffbdd1", + "metadata": {}, + "source": [ + "To reproduce the left-hand side of Figure 4.13\n", + "we must first obtain the coefficient estimates associated with\n", + "`mnth`. The coefficients for January through November can be obtained\n", + "directly from the `M2_lm` object. The coefficient for December\n", + "must be explicitly computed as the negative sum of all the other\n", + "months. We first extract all the coefficients for month from\n", + "the coefficients of `M2_lm`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e05e0575", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "coef_month = S2[S2.index.str.contains('mnth')]['coef']\n", + "coef_month\n" + ] + }, + { + "cell_type": "markdown", + "id": "d542caac", + "metadata": {}, + "source": [ + "Next, we append `Dec` as the negative of the sum of all other months." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9f04a25e", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "months = Bike['mnth'].dtype.categories\n", + "coef_month = pd.concat([\n", + " coef_month,\n", + " pd.Series([-coef_month.sum()],\n", + " index=['mnth[Dec]'\n", + " ])\n", + " ])\n", + "coef_month\n" + ] + }, + { + "cell_type": "markdown", + "id": "6e3ef375", + "metadata": {}, + "source": [ + "Finally, to make the plot neater, we’ll just use the first letter of each month, which is the $6$th entry of each of\n", + "the labels in the index." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "20c7c054", + "metadata": {}, + "outputs": [], + "source": [ + "fig_month, ax_month = subplots(figsize=(8,8))\n", + "x_month = np.arange(coef_month.shape[0])\n", + "ax_month.plot(x_month, coef_month, marker='o', ms=10)\n", + "ax_month.set_xticks(x_month)\n", + "ax_month.set_xticklabels([l[5] for l in coef_month.index], fontsize=20)\n", + "ax_month.set_xlabel('Month', fontsize=20)\n", + "ax_month.set_ylabel('Coefficient', fontsize=20);\n" + ] + }, + { + "cell_type": "markdown", + "id": "6032f6a9", + "metadata": {}, + "source": [ + "Reproducing the right-hand plot in Figure 4.13 follows a similar process." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3f83f4bf", + "metadata": {}, + "outputs": [], + "source": [ + "coef_hr = S2[S2.index.str.contains('hr')]['coef']\n", + "coef_hr = coef_hr.reindex(['hr[{0}]'.format(h) for h in range(23)])\n", + "coef_hr = pd.concat([coef_hr,\n", + " pd.Series([-coef_hr.sum()], index=['hr[23]'])\n", + " ])\n" + ] + }, + { + "cell_type": "markdown", + "id": "58200be9", + "metadata": {}, + "source": [ + "We now make the hour plot." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "86e9a741", + "metadata": {}, + "outputs": [], + "source": [ + "fig_hr, ax_hr = subplots(figsize=(8,8))\n", + "x_hr = np.arange(coef_hr.shape[0])\n", + "ax_hr.plot(x_hr, coef_hr, marker='o', ms=10)\n", + "ax_hr.set_xticks(x_hr[::2])\n", + "ax_hr.set_xticklabels(range(24)[::2], fontsize=20)\n", + "ax_hr.set_xlabel('Hour', fontsize=20)\n", + "ax_hr.set_ylabel('Coefficient', fontsize=20);\n" + ] + }, + { + "cell_type": "markdown", + "id": "5db06a3e", + "metadata": {}, + "source": [ + "### Poisson Regression\n", + "\n", + "Now we fit instead a Poisson regression model to the\n", + "`Bikeshare` data. Very little changes, except that we now use the\n", + "function `sm.GLM()` with the Poisson family specified:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a9448278", + "metadata": {}, + "outputs": [], + "source": [ + "M_pois = sm.GLM(Y, X2, family=sm.families.Poisson()).fit()\n" + ] + }, + { + "cell_type": "markdown", + "id": "e7b3bc38", + "metadata": {}, + "source": [ + "We can plot the coefficients associated with `mnth` and `hr`, in order to reproduce Figure 4.15. We first complete these coefficients as before." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ec8505be", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "S_pois = summarize(M_pois)\n", + "coef_month = S_pois[S_pois.index.str.contains('mnth')]['coef']\n", + "coef_month = pd.concat([coef_month,\n", + " pd.Series([-coef_month.sum()],\n", + " index=['mnth[Dec]'])])\n", + "coef_hr = S_pois[S_pois.index.str.contains('hr')]['coef']\n", + "coef_hr = pd.concat([coef_hr,\n", + " pd.Series([-coef_hr.sum()],\n", + " index=['hr[23]'])])" + ] + }, + { + "cell_type": "markdown", + "id": "f6fb37ef", + "metadata": {}, + "source": [ + "The plotting is as before." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0b8a5edf", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig_pois, (ax_month, ax_hr) = subplots(1, 2, figsize=(16,8))\n", + "ax_month.plot(x_month, coef_month, marker='o', ms=10)\n", + "ax_month.set_xticks(x_month)\n", + "ax_month.set_xticklabels([l[5] for l in coef_month.index], fontsize=20)\n", + "ax_month.set_xlabel('Month', fontsize=20)\n", + "ax_month.set_ylabel('Coefficient', fontsize=20)\n", + "ax_hr.plot(x_hr, coef_hr, marker='o', ms=10)\n", + "ax_hr.set_xticklabels(range(24)[::2], fontsize=20)\n", + "ax_hr.set_xlabel('Hour', fontsize=20)\n", + "ax_hr.set_ylabel('Coefficient', fontsize=20);\n" + ] + }, + { + "cell_type": "markdown", + "id": "3c256bf2", + "metadata": {}, + "source": [ + "We compare the fitted values of the two models.\n", + "The fitted values are stored in the `fittedvalues` attribute\n", + "returned by the `fit()` method for both the linear regression and the Poisson\n", + "fits. The linear predictors are stored as the attribute `lin_pred`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d487c7ed", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8, 8))\n", + "ax.scatter(M2_lm.fittedvalues,\n", + " M_pois.fittedvalues,\n", + " s=20)\n", + "ax.set_xlabel('Linear Regression Fit', fontsize=20)\n", + "ax.set_ylabel('Poisson Regression Fit', fontsize=20)\n", + "ax.axline([0,0], c='black', linewidth=3,\n", + " linestyle='--', slope=1);\n" + ] + }, + { + "cell_type": "markdown", + "id": "17ccc1bf", + "metadata": {}, + "source": [ + "The predictions from the Poisson regression model are correlated with\n", + "those from the linear model; however, the former are non-negative. As\n", + "a result the Poisson regression predictions tend to be larger than\n", + "those from the linear model for either very low or very high levels of\n", + "ridership.\n", + "\n", + "In this section, we fit Poisson regression models using the `sm.GLM()` function with the argument\n", + "`family=sm.families.Poisson()`. Earlier in this lab we used the `sm.GLM()` function\n", + "with `family=sm.families.Binomial()` to perform logistic regression. Other\n", + "choices for the `family` argument can be used to fit other types\n", + "of GLMs. For instance, `family=sm.families.Gamma()` fits a Gamma regression\n", + "model." + ] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "-all", + "formats": "ipynb,Rmd", + "main_language": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/source/labs/Ch5-resample-lab.ipynb b/docs/source/labs/Ch5-resample-lab.ipynb new file mode 100644 index 0000000..b499676 --- /dev/null +++ b/docs/source/labs/Ch5-resample-lab.ipynb @@ -0,0 +1,901 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0c11a71f", + "metadata": {}, + "source": [ + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "ad36451e", + "metadata": {}, + "source": [ + "# Cross-Validation and the Bootstrap\n", + "In this lab, we explore the resampling techniques covered in this\n", + "chapter. Some of the commands in this lab may take a while to run on\n", + "your computer.\n", + "\n", + "We again begin by placing most of our imports at this top level." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "60fad148", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import statsmodels.api as sm\n", + "from ISLP import load_data\n", + "from ISLP.models import (ModelSpec as MS,\n", + " summarize,\n", + " poly)\n", + "from sklearn.model_selection import train_test_split\n" + ] + }, + { + "cell_type": "markdown", + "id": "78fcfe7a", + "metadata": {}, + "source": [ + "There are several new imports needed for this lab." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2478aeb4", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "from functools import partial\n", + "from sklearn.model_selection import \\\n", + " (cross_validate,\n", + " KFold,\n", + " ShuffleSplit)\n", + "from sklearn.base import clone\n", + "from ISLP.models import sklearn_sm\n" + ] + }, + { + "cell_type": "markdown", + "id": "713d30db", + "metadata": {}, + "source": [ + "## The Validation Set Approach\n", + "We explore the use of the validation set approach in order to estimate\n", + "the test error rates that result from fitting various linear models on\n", + "the `Auto` data set.\n", + "\n", + "We use the function `train_test_split()` to split\n", + "the data into training and validation sets. As there are 392 observations,\n", + "we split into two equal sets of size 196 using the\n", + "argument `test_size=196`. It is generally a good idea to set a random seed\n", + "when performing operations like this that contain an\n", + "element of randomness, so that the results obtained can be reproduced\n", + "precisely at a later time. We set the random seed of the splitter\n", + "with the argument `random_state=0`. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "99c95faf", + "metadata": {}, + "outputs": [], + "source": [ + "Auto = load_data('Auto')\n", + "Auto_train, Auto_valid = train_test_split(Auto,\n", + " test_size=196,\n", + " random_state=0)\n" + ] + }, + { + "cell_type": "markdown", + "id": "57be35df", + "metadata": {}, + "source": [ + "Now we can fit a linear regression using only the observations corresponding to the training set `Auto_train`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "41b0717d", + "metadata": {}, + "outputs": [], + "source": [ + "hp_mm = MS(['horsepower'])\n", + "X_train = hp_mm.fit_transform(Auto_train)\n", + "y_train = Auto_train['mpg']\n", + "model = sm.OLS(y_train, X_train)\n", + "results = model.fit()\n" + ] + }, + { + "cell_type": "markdown", + "id": "7f1bef95", + "metadata": {}, + "source": [ + "We now use the `predict()` method of `results` evaluated on the model matrix for this model\n", + "created using the validation data set. We also calculate the validation MSE of our model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d7ea3c0d", + "metadata": {}, + "outputs": [], + "source": [ + "X_valid = hp_mm.transform(Auto_valid)\n", + "y_valid = Auto_valid['mpg']\n", + "valid_pred = results.predict(X_valid)\n", + "np.mean((y_valid - valid_pred)**2)\n" + ] + }, + { + "cell_type": "markdown", + "id": "6dba5d55", + "metadata": {}, + "source": [ + "Hence our estimate for the validation MSE of the linear regression\n", + "fit is $23.62$.\n", + "\n", + "We can also estimate the validation error for\n", + "higher-degree polynomial regressions. We first provide a function `evalMSE()` that takes a model string as well\n", + "as a training and test set and returns the MSE on the test set." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a02a2d05", + "metadata": {}, + "outputs": [], + "source": [ + "def evalMSE(terms,\n", + " response,\n", + " train,\n", + " test):\n", + "\n", + " mm = MS(terms)\n", + " X_train = mm.fit_transform(train)\n", + " y_train = train[response]\n", + "\n", + " X_test = mm.transform(test)\n", + " y_test = test[response]\n", + "\n", + " results = sm.OLS(y_train, X_train).fit()\n", + " test_pred = results.predict(X_test)\n", + "\n", + " return np.mean((y_test - test_pred)**2)\n" + ] + }, + { + "cell_type": "markdown", + "id": "39ab59b1", + "metadata": {}, + "source": [ + "Let’s use this function to estimate the validation MSE\n", + "using linear, quadratic and cubic fits. We use the `enumerate()` function\n", + "here, which gives both the values and indices of objects as one iterates\n", + "over a for loop." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "51d93dea", + "metadata": {}, + "outputs": [], + "source": [ + "MSE = np.zeros(3)\n", + "for idx, degree in enumerate(range(1, 4)):\n", + " MSE[idx] = evalMSE([poly('horsepower', degree)],\n", + " 'mpg',\n", + " Auto_train,\n", + " Auto_valid)\n", + "MSE\n" + ] + }, + { + "cell_type": "markdown", + "id": "936e168a", + "metadata": {}, + "source": [ + "These error rates are $23.62, 18.76$, and $18.80$, respectively. If we\n", + "choose a different training/validation split instead, then we\n", + "can expect somewhat different errors on the validation set." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "83432f06", + "metadata": {}, + "outputs": [], + "source": [ + "Auto_train, Auto_valid = train_test_split(Auto,\n", + " test_size=196,\n", + " random_state=3)\n", + "MSE = np.zeros(3)\n", + "for idx, degree in enumerate(range(1, 4)):\n", + " MSE[idx] = evalMSE([poly('horsepower', degree)],\n", + " 'mpg',\n", + " Auto_train,\n", + " Auto_valid)\n", + "MSE" + ] + }, + { + "cell_type": "markdown", + "id": "f5ceb357", + "metadata": {}, + "source": [ + "Using this split of the observations into a training set and a validation set,\n", + "we find that the validation set error rates for the models with linear, quadratic, and cubic terms are $20.76$, $16.95$, and $16.97$, respectively.\n", + "\n", + "These results are consistent with our previous findings: a model that\n", + "predicts `mpg` using a quadratic function of `horsepower`\n", + "performs better than a model that involves only a linear function of\n", + "`horsepower`, and there is no evidence of an improvement in using a cubic function of `horsepower`." + ] + }, + { + "cell_type": "markdown", + "id": "6d624a5c", + "metadata": {}, + "source": [ + "## Cross-Validation\n", + "In theory, the cross-validation estimate can be computed for any generalized\n", + "linear model. {}\n", + "In practice, however, the simplest way to cross-validate in\n", + "Python is to use `sklearn`, which has a different interface or API\n", + "than `statsmodels`, the code we have been using to fit GLMs.\n", + "\n", + "This is a problem which often confronts data scientists: \"I have a function to do task $A$, and need to feed it into something that performs task $B$, so that I can compute $B(A(D))$, where $D$ is my data.\" When $A$ and $B$ don’t naturally speak to each other, this\n", + "requires the use of a *wrapper*.\n", + "In the `ISLP` package,\n", + "we provide \n", + "a wrapper, `sklearn_sm()`, that enables us to easily use the cross-validation tools of `sklearn` with\n", + "models fit by `statsmodels`.\n", + "\n", + "The class `sklearn_sm()` \n", + "has as its first argument\n", + "a model from `statsmodels`. It can take two additional\n", + "optional arguments: `model_str` which can be\n", + "used to specify a formula, and `model_args` which should\n", + "be a dictionary of additional arguments used when fitting\n", + "the model. For example, to fit a logistic regression model\n", + "we have to specify a `family` argument. This\n", + "is passed as `model_args={'family':sm.families.Binomial()}`.\n", + "\n", + "Here is our wrapper in action:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bcfc433f", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "hp_model = sklearn_sm(sm.OLS,\n", + " MS(['horsepower']))\n", + "X, Y = Auto.drop(columns=['mpg']), Auto['mpg']\n", + "cv_results = cross_validate(hp_model,\n", + " X,\n", + " Y,\n", + " cv=Auto.shape[0])\n", + "cv_err = np.mean(cv_results['test_score'])\n", + "cv_err\n" + ] + }, + { + "cell_type": "markdown", + "id": "5b0f6f30", + "metadata": {}, + "source": [ + "The arguments to `cross_validate()` are as follows: an\n", + "object with the appropriate `fit()`, `predict()`,\n", + "and `score()` methods, an\n", + "array of features `X` and a response `Y`. \n", + "We also included an additional argument `cv` to `cross_validate()`; specifying an integer\n", + "$K$ results in $K$-fold cross-validation. We have provided a value \n", + "corresponding to the total number of observations, which results in\n", + "leave-one-out cross-validation (LOOCV). The `cross_validate()` function produces a dictionary with several components;\n", + "we simply want the cross-validated test score here (MSE), which is estimated to be 24.23." + ] + }, + { + "cell_type": "markdown", + "id": "b527f67f", + "metadata": {}, + "source": [ + "We can repeat this procedure for increasingly complex polynomial fits.\n", + "To automate the process, we again\n", + "use a for loop which iteratively fits polynomial\n", + "regressions of degree 1 to 5, computes the\n", + "associated cross-validation error, and stores it in the $i$th element\n", + "of the vector `cv_error`. The variable `d` in the for loop\n", + "corresponds to the degree of the polynomial. We begin by initializing the\n", + "vector. This command may take a couple of seconds to run." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f951ffc8", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "cv_error = np.zeros(5)\n", + "H = np.array(Auto['horsepower'])\n", + "M = sklearn_sm(sm.OLS)\n", + "for i, d in enumerate(range(1,6)):\n", + " X = np.power.outer(H, np.arange(d+1))\n", + " M_CV = cross_validate(M,\n", + " X,\n", + " Y,\n", + " cv=Auto.shape[0])\n", + " cv_error[i] = np.mean(M_CV['test_score'])\n", + "cv_error\n" + ] + }, + { + "cell_type": "markdown", + "id": "792f1304", + "metadata": {}, + "source": [ + "As in Figure 5.4, we see a sharp drop in the estimated test MSE between the linear and\n", + "quadratic fits, but then no clear improvement from using higher-degree polynomials.\n", + "\n", + "Above we introduced the `outer()` method of the `np.power()`\n", + "function. The `outer()` method is applied to an operation\n", + "that has two arguments, such as `add()`, `min()`, or\n", + "`power()`.\n", + "It has two arrays as\n", + "arguments, and then forms a larger\n", + "array where the operation is applied to each pair of elements of the\n", + "two arrays. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e3610b5a", + "metadata": {}, + "outputs": [], + "source": [ + "A = np.array([3, 5, 9])\n", + "B = np.array([2, 4])\n", + "np.add.outer(A, B)\n" + ] + }, + { + "cell_type": "markdown", + "id": "983625b2", + "metadata": {}, + "source": [ + "In the CV example above, we used $K=n$, but of course we can also use $K 250 # shorthand\n", + "glm = sm.GLM(y > 250,\n", + " X,\n", + " family=sm.families.Binomial())\n", + "B = glm.fit()\n", + "summarize(B)\n" + ] + }, + { + "cell_type": "markdown", + "id": "cd7f2a1d", + "metadata": {}, + "source": [ + "Once again, we make predictions using the `get_prediction()` method." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "84f172f2", + "metadata": {}, + "outputs": [], + "source": [ + "newX = poly_age.transform(age_df)\n", + "preds = B.get_prediction(newX)\n", + "bands = preds.conf_int(alpha=0.05)\n" + ] + }, + { + "cell_type": "markdown", + "id": "96a82fa2", + "metadata": {}, + "source": [ + "We now plot the estimated relationship." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fcf376bd", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8,8))\n", + "rng = np.random.default_rng(0)\n", + "ax.scatter(age +\n", + " 0.2 * rng.uniform(size=y.shape[0]),\n", + " np.where(high_earn, 0.198, 0.002),\n", + " fc='gray',\n", + " marker='|')\n", + "for val, ls in zip([preds.predicted_mean,\n", + " bands[:,0],\n", + " bands[:,1]],\n", + " ['b','r--','r--']):\n", + " ax.plot(age_df.values, val, ls, linewidth=3)\n", + "ax.set_title('Degree-4 Polynomial', fontsize=20)\n", + "ax.set_xlabel('Age', fontsize=20)\n", + "ax.set_ylim([0,0.2])\n", + "ax.set_ylabel('P(Wage > 250)', fontsize=20);\n" + ] + }, + { + "cell_type": "markdown", + "id": "ece6ba93", + "metadata": {}, + "source": [ + "We have drawn the `age` values corresponding to the observations with\n", + "`wage` values above 250 as gray marks on the top of the plot, and\n", + "those with `wage` values below 250 are shown as gray marks on the\n", + "bottom of the plot. We added a small amount of noise to jitter\n", + "the `age` values a bit so that observations with the same `age`\n", + "value do not cover each other up. This type of plot is often called a\n", + "*rug plot*.\n", + "\n", + "In order to fit a step function, as discussed in\n", + "Section 7.2, we first use the `pd.qcut()`\n", + "function to discretize `age` based on quantiles. Then we use `pd.get_dummies()` to create the\n", + "columns of the model matrix for this categorical variable. Note that this function will\n", + "include *all* columns for a given categorical, rather than the usual approach which drops one\n", + "of the levels." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c4d00900", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "cut_age = pd.qcut(age, 4)\n", + "summarize(sm.OLS(y, pd.get_dummies(cut_age)).fit())\n" + ] + }, + { + "cell_type": "markdown", + "id": "68f44046", + "metadata": {}, + "source": [ + "Here `pd.qcut()` automatically picked the cutpoints based on the quantiles 25%, 50% and 75%, which results in four regions. We could also have specified our own\n", + "quantiles directly instead of the argument `4`. For cuts not based\n", + "on quantiles we would use the `pd.cut()` function.\n", + "The function `pd.qcut()` (and `pd.cut()`) returns an ordered categorical variable.\n", + " The regression model then creates a set of\n", + "dummy variables for use in the regression. Since `age` is the only variable in the model, the value $94,158.40 is the average salary for those under 33.75 years of\n", + "age, and the other coefficients are the average\n", + "salary for those in the other age groups. We can produce\n", + "predictions and plots just as we did in the case of the polynomial\n", + "fit." + ] + }, + { + "cell_type": "markdown", + "id": "4e157a87", + "metadata": {}, + "source": [ + "## Splines\n", + "In order to fit regression splines, we use transforms\n", + "from the `ISLP` package. The actual spline\n", + "evaluation functions are in the `scipy.interpolate` package;\n", + "we have simply wrapped them as transforms\n", + "similar to `Poly()` and `PCA()`.\n", + "\n", + "In Section 7.4, we saw\n", + "that regression splines can be fit by constructing an appropriate\n", + "matrix of basis functions. The `BSpline()` function generates the\n", + "entire matrix of basis functions for splines with the specified set of\n", + "knots. By default, the B-splines produced are cubic. To change the degree, use\n", + "the argument `degree`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d3817102", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "bs_ = BSpline(internal_knots=[25,40,60], intercept=True).fit(age)\n", + "bs_age = bs_.transform(age)\n", + "bs_age.shape\n" + ] + }, + { + "cell_type": "markdown", + "id": "711c9413", + "metadata": {}, + "source": [ + "This results in a seven-column matrix, which is what is expected for a cubic-spline basis with 3 interior knots. \n", + "We can form this same matrix using the `bs()` object,\n", + "which facilitates adding this to a model-matrix builder (as in `poly()` versus its workhorse `Poly()`) described in Section 7.8.1.\n", + "\n", + "We now fit a cubic spline model to the `Wage` data. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c06c0f27", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "bs_age = MS([bs('age', internal_knots=[25,40,60])])\n", + "Xbs = bs_age.fit_transform(Wage)\n", + "M = sm.OLS(y, Xbs).fit()\n", + "summarize(M)\n" + ] + }, + { + "cell_type": "markdown", + "id": "a5698ae9", + "metadata": {}, + "source": [ + "The column names are a little cumbersome, and have caused us to truncate the printed summary. They can be set on construction using the `name` argument as follows." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8cb32db0", + "metadata": {}, + "outputs": [], + "source": [ + "bs_age = MS([bs('age',\n", + " internal_knots=[25,40,60],\n", + " name='bs(age)')])\n", + "Xbs = bs_age.fit_transform(Wage)\n", + "M = sm.OLS(y, Xbs).fit()\n", + "summarize(M)\n" + ] + }, + { + "cell_type": "markdown", + "id": "4d709fec", + "metadata": {}, + "source": [ + "Notice that there are 6 spline coefficients rather than 7. This is because, by default,\n", + "`bs()` assumes `intercept=False`, since we typically have an overall intercept in the model.\n", + "So it generates the spline basis with the given knots, and then discards one of the basis functions to account for the intercept. \n", + "\n", + "We could also use the `df` (degrees of freedom) option to\n", + "specify the complexity of the spline. We see above that with 3 knots,\n", + "the spline basis has 6 columns or degrees of freedom. When we specify\n", + "`df=6` rather than the actual knots, `bs()` will produce a\n", + "spline with 3 knots chosen at uniform quantiles of the training data.\n", + "We can see these chosen knots most easily using `Bspline()` directly:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f26b715f", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "BSpline(df=6).fit(age).internal_knots_\n" + ] + }, + { + "cell_type": "markdown", + "id": "e606523e", + "metadata": {}, + "source": [ + " When asking for six degrees of freedom,\n", + "the transform chooses knots at ages 33.75, 42.0, and 51.0,\n", + "which correspond to the 25th, 50th, and 75th percentiles of\n", + "`age`.\n", + "\n", + "When using B-splines we need not limit ourselves to cubic polynomials\n", + "(i.e. `degree=3`). For instance, using `degree=0` results\n", + "in piecewise constant functions, as in our example with\n", + "`pd.qcut()` above.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d6109816", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "bs_age0 = MS([bs('age',\n", + " df=3, \n", + " degree=0)]).fit(Wage)\n", + "Xbs0 = bs_age0.transform(Wage)\n", + "summarize(sm.OLS(y, Xbs0).fit())\n" + ] + }, + { + "cell_type": "markdown", + "id": "53ce3ef2", + "metadata": {}, + "source": [ + "This fit should be compared with cell [15] where we use `qcut()`\n", + "to create four bins by cutting at the 25%, 50% and 75% quantiles of\n", + "`age`. Since we specified `df=3` for degree-zero splines here, there will also be\n", + "knots at the same three quantiles. Although the coefficients appear different, we\n", + "see that this is a result of the different coding. For example, the\n", + "first coefficient is identical in both cases, and is the mean response\n", + "in the first bin. For the second coefficient, we have\n", + "$94.158 + 22.349 = 116.507 \\approx 116.611$, the latter being the mean\n", + "in the second bin in cell [15]. Here the intercept is coded by a column\n", + "of ones, so the second, third and fourth coefficients are increments\n", + "for those bins. Why is the sum not exactly the same? It turns out that\n", + "the `qcut()` uses $\\leq$, while `bs()` uses $<$ when\n", + "deciding bin membership.\n", + "\n", + "\n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "59807efd", + "metadata": {}, + "source": [ + "In order to fit a natural spline, we use the `NaturalSpline()` \n", + "transform with the corresponding helper `ns()`. Here we fit a natural spline with five\n", + "degrees of freedom (excluding the intercept) and plot the results." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7c73a3da", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "ns_age = MS([ns('age', df=5)]).fit(Wage)\n", + "M_ns = sm.OLS(y, ns_age.transform(Wage)).fit()\n", + "summarize(M_ns)" + ] + }, + { + "cell_type": "markdown", + "id": "d819f968", + "metadata": {}, + "source": [ + "We now plot the natural spline using our plotting function." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d73789b4", + "metadata": {}, + "outputs": [], + "source": [ + "plot_wage_fit(age_df,\n", + " ns_age,\n", + " 'Natural spline, df=5');\n" + ] + }, + { + "cell_type": "markdown", + "id": "09616af2", + "metadata": {}, + "source": [ + "## Smoothing Splines and GAMs\n", + "A smoothing spline is a special case of a GAM with squared-error loss\n", + "and a single feature. To fit GAMs in `Python` we will use the\n", + "`pygam` package which can be installed via `pip install pygam`. The\n", + "estimator `LinearGAM()` uses squared-error loss.\n", + "The GAM is specified by associating each column\n", + "of a model matrix with a particular smoothing operation:\n", + "`s` for smoothing spline; `l` for linear, and `f` for factor or categorical variables.\n", + "The argument `0` passed to `s` below indicates that this smoother will\n", + "apply to the first column of a feature matrix. Below, we pass it a\n", + "matrix with a single column: `X_age`. The argument `lam` is the penalty parameter $\\lambda$ as discussed in Section 7.5.2." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3e70b87d", + "metadata": {}, + "outputs": [], + "source": [ + "X_age = np.asarray(age).reshape((-1,1))\n", + "gam = LinearGAM(s_gam(0, lam=0.6))\n", + "gam.fit(X_age, y)\n" + ] + }, + { + "cell_type": "markdown", + "id": "f95cf22c", + "metadata": {}, + "source": [ + "The `pygam` library generally expects a matrix of features so we reshape `age` to be a matrix (a two-dimensional array) instead\n", + "of a vector (i.e. a one-dimensional array). The `-1` in the call to the `reshape()` method tells `numpy` to impute the\n", + "size of that dimension based on the remaining entries of the shape tuple.\n", + " \n", + "Let’s investigate how the fit changes with the smoothing parameter `lam`.\n", + "The function `np.logspace()` is similar to `np.linspace()` but spaces points\n", + "evenly on the log-scale. Below we vary `lam` from $10^{-2}$ to $10^6$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "efe03b12", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8,8))\n", + "ax.scatter(age, y, facecolor='gray', alpha=0.5)\n", + "for lam in np.logspace(-2, 6, 5):\n", + " gam = LinearGAM(s_gam(0, lam=lam)).fit(X_age, y)\n", + " ax.plot(age_grid,\n", + " gam.predict(age_grid),\n", + " label='{:.1e}'.format(lam),\n", + " linewidth=3)\n", + "ax.set_xlabel('Age', fontsize=20)\n", + "ax.set_ylabel('Wage', fontsize=20);\n", + "ax.legend(title='$\\lambda$');\n" + ] + }, + { + "cell_type": "markdown", + "id": "6590a835", + "metadata": {}, + "source": [ + "The `pygam` package can perform a search for an optimal smoothing parameter." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "acff2af2", + "metadata": {}, + "outputs": [], + "source": [ + "gam_opt = gam.gridsearch(X_age, y)\n", + "ax.plot(age_grid,\n", + " gam_opt.predict(age_grid),\n", + " label='Grid search',\n", + " linewidth=4)\n", + "ax.legend()\n", + "fig\n" + ] + }, + { + "cell_type": "markdown", + "id": "c979dbf1", + "metadata": {}, + "source": [ + "Alternatively, we can fix the degrees of freedom of the smoothing\n", + "spline using a function included in the `ISLP.pygam` package. Below we\n", + "find a value of $\\lambda$ that gives us roughly four degrees of\n", + "freedom. We note here that these degrees of freedom include the\n", + "unpenalized intercept and linear term of the smoothing spline, hence there are at least two\n", + "degrees of freedom." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a2d25550", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "age_term = gam.terms[0]\n", + "lam_4 = approx_lam(X_age, age_term, 4)\n", + "age_term.lam = lam_4\n", + "degrees_of_freedom(X_age, age_term)\n" + ] + }, + { + "cell_type": "markdown", + "id": "ce629653", + "metadata": {}, + "source": [ + "Let’s vary the degrees of freedom in a similar plot to above. We choose the degrees of freedom\n", + "as the desired degrees of freedom plus one to account for the fact that these smoothing\n", + "splines always have an intercept term. Hence, a value of one for `df` is just a linear fit." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bc6322de", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8,8))\n", + "ax.scatter(X_age,\n", + " y,\n", + " facecolor='gray',\n", + " alpha=0.3)\n", + "for df in [1,3,4,8,15]:\n", + " lam = approx_lam(X_age, age_term, df+1)\n", + " age_term.lam = lam\n", + " gam.fit(X_age, y)\n", + " ax.plot(age_grid,\n", + " gam.predict(age_grid),\n", + " label='{:d}'.format(df),\n", + " linewidth=4)\n", + "ax.set_xlabel('Age', fontsize=20)\n", + "ax.set_ylabel('Wage', fontsize=20);\n", + "ax.legend(title='Degrees of freedom');\n" + ] + }, + { + "cell_type": "markdown", + "id": "2cb73ff7", + "metadata": {}, + "source": [ + "### Additive Models with Several Terms\n", + "The strength of generalized additive models lies in their ability to fit multivariate regression models with more flexibility than linear models. We demonstrate two approaches: the first in a more manual fashion using natural splines and piecewise constant functions, and the second using the `pygam` package and smoothing splines.\n", + "\n", + "We now fit a GAM by hand to predict\n", + "`wage` using natural spline functions of `year` and `age`,\n", + "treating `education` as a qualitative predictor, as in (7.16).\n", + "Since this is just a big linear regression model\n", + "using an appropriate choice of basis functions, we can simply do this\n", + "using the `sm.OLS()` function.\n", + "\n", + "We will build the model matrix in a more manual fashion here, since we wish\n", + "to access the pieces separately when constructing partial dependence plots." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "703d2570", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "ns_age = NaturalSpline(df=4).fit(age)\n", + "ns_year = NaturalSpline(df=5).fit(Wage['year'])\n", + "Xs = [ns_age.transform(age),\n", + " ns_year.transform(Wage['year']),\n", + " pd.get_dummies(Wage['education']).values]\n", + "X_bh = np.hstack(Xs)\n", + "gam_bh = sm.OLS(y, X_bh).fit()\n" + ] + }, + { + "cell_type": "markdown", + "id": "34cae11a", + "metadata": {}, + "source": [ + "Here the function `NaturalSpline()` is the workhorse supporting\n", + "the `ns()` helper function. We chose to use all columns of the\n", + "indicator matrix for the categorical variable `education`, making an intercept redundant.\n", + "Finally, we stacked the three component matrices horizontally to form the model matrix `X_bh`. \n", + "\n", + "We now show how to construct partial dependence plots for each of the terms in our rudimentary GAM. We can do this by hand,\n", + "given grids for `age` and `year`.\n", + " We simply predict with new $X$ matrices, fixing all but one of the features at a time." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "766a7b1f", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "age_grid = np.linspace(age.min(),\n", + " age.max(),\n", + " 100)\n", + "X_age_bh = X_bh.copy()[:100]\n", + "X_age_bh[:] = X_bh[:].mean(0)[None,:]\n", + "X_age_bh[:,:4] = ns_age.transform(age_grid)\n", + "preds = gam_bh.get_prediction(X_age_bh)\n", + "bounds_age = preds.conf_int(alpha=0.05)\n", + "partial_age = preds.predicted_mean\n", + "center = partial_age.mean()\n", + "partial_age -= center\n", + "bounds_age -= center\n", + "fig, ax = subplots(figsize=(8,8))\n", + "ax.plot(age_grid, partial_age, 'b', linewidth=3)\n", + "ax.plot(age_grid, bounds_age[:,0], 'r--', linewidth=3)\n", + "ax.plot(age_grid, bounds_age[:,1], 'r--', linewidth=3)\n", + "ax.set_xlabel('Age')\n", + "ax.set_ylabel('Effect on wage')\n", + "ax.set_title('Partial dependence of age on wage', fontsize=20);\n" + ] + }, + { + "cell_type": "markdown", + "id": "83e636f3", + "metadata": {}, + "source": [ + "Let's explain in some detail what we did above. The idea is to create a new prediction matrix, where all but the columns belonging to `age` are constant (and set to their training-data means). The four columns for `age` are filled in with the natural spline basis evaluated at the 100 values in `age_grid`.\n", + "\n", + "* We made a grid of length 100 in `age`, and created a matrix `X_age_bh` with 100 rows and the same number of columns as `X_bh`.\n", + "* We replaced every row of this matrix with the column means of the original.\n", + "* We then replace just the first four columns representing `age` with the natural spline basis computed at the values in `age_grid`. \n", + "\n", + "The remaining steps should by now be familiar.\n", + "\n", + "We also look at the effect of `year` on `wage`; the process is the same." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2a9ed841", + "metadata": {}, + "outputs": [], + "source": [ + "year_grid = np.linspace(2003, 2009, 100)\n", + "year_grid = np.linspace(Wage['year'].min(),\n", + " Wage['year'].max(),\n", + " 100)\n", + "X_year_bh = X_bh.copy()[:100]\n", + "X_year_bh[:] = X_bh[:].mean(0)[None,:]\n", + "X_year_bh[:,4:9] = ns_year.transform(year_grid)\n", + "preds = gam_bh.get_prediction(X_year_bh)\n", + "bounds_year = preds.conf_int(alpha=0.05)\n", + "partial_year = preds.predicted_mean\n", + "center = partial_year.mean()\n", + "partial_year -= center\n", + "bounds_year -= center\n", + "fig, ax = subplots(figsize=(8,8))\n", + "ax.plot(year_grid, partial_year, 'b', linewidth=3)\n", + "ax.plot(year_grid, bounds_year[:,0], 'r--', linewidth=3)\n", + "ax.plot(year_grid, bounds_year[:,1], 'r--', linewidth=3)\n", + "ax.set_xlabel('Year')\n", + "ax.set_ylabel('Effect on wage')\n", + "ax.set_title('Partial dependence of year on wage', fontsize=20);\n" + ] + }, + { + "cell_type": "markdown", + "id": "4aca2254", + "metadata": {}, + "source": [ + "We now fit the model (7.16) using smoothing splines rather\n", + "than natural splines. All of the\n", + "terms in (7.16) are fit simultaneously, taking each other\n", + "into account to explain the response. The `pygam` package only works with matrices, so we must convert\n", + "the categorical series `education` to its array representation, which can be found\n", + "with the `cat.codes` attribute of `education`. As `year` only has 7 unique values, we\n", + "use only seven basis functions for it." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ccf068b1", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "gam_full = LinearGAM(s_gam(0) +\n", + " s_gam(1, n_splines=7) +\n", + " f_gam(2, lam=0))\n", + "Xgam = np.column_stack([age,\n", + " Wage['year'],\n", + " Wage['education'].cat.codes])\n", + "gam_full = gam_full.fit(Xgam, y)\n" + ] + }, + { + "cell_type": "markdown", + "id": "a7e035d3", + "metadata": {}, + "source": [ + "The two `s_gam()` terms result in smoothing spline fits, and use a default value for $\\lambda$ (`lam=0.6`), which is somewhat arbitrary. For the categorical term `education`, specified using a `f_gam()` term, we specify `lam=0` to avoid any shrinkage.\n", + "We produce the partial dependence plot in `age` to see the effect of these choices.\n", + "\n", + "The values for the plot\n", + "are generated by the `pygam` package. We provide a `plot_gam()`\n", + "function for partial-dependence plots in `ISLP.pygam`, which makes this job easier than in our last example with natural splines." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "38b719f1", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8,8))\n", + "plot_gam(gam_full, 0, ax=ax)\n", + "ax.set_xlabel('Age')\n", + "ax.set_ylabel('Effect on wage')\n", + "ax.set_title('Partial dependence of age on wage - default lam=0.6', fontsize=20);\n" + ] + }, + { + "cell_type": "markdown", + "id": "c7be9454", + "metadata": {}, + "source": [ + "We see that the function is somewhat wiggly. It is more natural to specify the `df` than a value for `lam`. \n", + "We refit a GAM using four degrees of freedom each for\n", + "`age` and `year`. Recall that the addition of one below takes into account the intercept\n", + "of the smoothing spline." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "02142f6e", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "age_term = gam_full.terms[0]\n", + "age_term.lam = approx_lam(Xgam, age_term, df=4+1)\n", + "year_term = gam_full.terms[1]\n", + "year_term.lam = approx_lam(Xgam, year_term, df=4+1)\n", + "gam_full = gam_full.fit(Xgam, y)\n" + ] + }, + { + "cell_type": "markdown", + "id": "08085085", + "metadata": {}, + "source": [ + "Note that updating `age_term.lam` above updates it in `gam_full.terms[0]` as well! Likewise for `year_term.lam`.\n", + "\n", + "Repeating the plot for `age`, we see that it is much smoother.\n", + "We also produce the plot for `year`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "94587b05", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8,8))\n", + "plot_gam(gam_full,\n", + " 1,\n", + " ax=ax)\n", + "ax.set_xlabel('Year')\n", + "ax.set_ylabel('Effect on wage')\n", + "ax.set_title('Partial dependence of year on wage', fontsize=20)\n" + ] + }, + { + "cell_type": "markdown", + "id": "5b373d5c", + "metadata": {}, + "source": [ + "Finally we plot `education`, which is categorical. The partial dependence plot is different, and more suitable for the set of fitted constants for each level of this variable. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bba4c757", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8, 8))\n", + "ax = plot_gam(gam_full, 2)\n", + "ax.set_xlabel('Education')\n", + "ax.set_ylabel('Effect on wage')\n", + "ax.set_title('Partial dependence of wage on education',\n", + " fontsize=20);\n", + "ax.set_xticklabels(Wage['education'].cat.categories, fontsize=8);\n" + ] + }, + { + "cell_type": "markdown", + "id": "38ff8ddb", + "metadata": {}, + "source": [ + "### ANOVA Tests for Additive Models\n", + "In all of our models, the function of `year` looks rather linear. We can\n", + "perform a series of ANOVA tests in order to determine which of these\n", + "three models is best: a GAM that excludes `year` ($\\mathcal{M}_1$),\n", + "a GAM that uses a linear function of `year` ($\\mathcal{M}_2$), or a\n", + "GAM that uses a spline function of `year` ($\\mathcal{M}_3$)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "32368085", + "metadata": {}, + "outputs": [], + "source": [ + "gam_0 = LinearGAM(age_term + f_gam(2, lam=0))\n", + "gam_0.fit(Xgam, y)\n", + "gam_linear = LinearGAM(age_term +\n", + " l_gam(1, lam=0) +\n", + " f_gam(2, lam=0))\n", + "gam_linear.fit(Xgam, y)\n" + ] + }, + { + "cell_type": "markdown", + "id": "c95b177b", + "metadata": {}, + "source": [ + "Notice our use of `age_term` in the expressions above. We do this because\n", + "earlier we set the value for `lam` in this term to achieve four degrees of freedom.\n", + "\n", + "To directly assess the effect of `year` we run an ANOVA on the\n", + "three models fit above." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e7ba9957", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "anova_gam(gam_0, gam_linear, gam_full)\n" + ] + }, + { + "cell_type": "markdown", + "id": "825ea833", + "metadata": {}, + "source": [ + " We find that there is compelling evidence that a GAM with a linear\n", + "function in `year` is better than a GAM that does not include\n", + "`year` at all ($p$-value= 0.002). However, there is no\n", + "evidence that a non-linear function of `year` is needed\n", + "($p$-value=0.435). In other words, based on the results of this\n", + "ANOVA, $\\mathcal{M}_2$ is preferred.\n", + "\n", + "We can repeat the same process for `age` as well. We see there is very clear evidence that\n", + "a non-linear term is required for `age`.\n", + "\\newpage" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ffc0099a", + "metadata": {}, + "outputs": [], + "source": [ + "gam_0 = LinearGAM(year_term +\n", + " f_gam(2, lam=0))\n", + "gam_linear = LinearGAM(l_gam(0, lam=0) +\n", + " year_term +\n", + " f_gam(2, lam=0))\n", + "gam_0.fit(Xgam, y)\n", + "gam_linear.fit(Xgam, y)\n", + "anova_gam(gam_0, gam_linear, gam_full)" + ] + }, + { + "cell_type": "markdown", + "id": "3a243d63", + "metadata": {}, + "source": [ + "There is a (verbose) `summary()` method for the GAM fit." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "08026a6b", + "metadata": {}, + "outputs": [], + "source": [ + "gam_full.summary()\n" + ] + }, + { + "cell_type": "markdown", + "id": "839acb14", + "metadata": {}, + "source": [ + "We can make predictions from `gam` objects, just like from\n", + "`lm` objects, using the `predict()` method for the class\n", + "`gam`. Here we make predictions on the training set." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9191d615", + "metadata": {}, + "outputs": [], + "source": [ + "Yhat = gam_full.predict(Xgam)\n" + ] + }, + { + "cell_type": "markdown", + "id": "a98a10a7", + "metadata": {}, + "source": [ + "In order to fit a logistic regression GAM, we use `LogisticGAM()` \n", + "from `pygam`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "92007a5f", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "gam_logit = LogisticGAM(age_term + \n", + " l_gam(1, lam=0) +\n", + " f_gam(2, lam=0))\n", + "gam_logit.fit(Xgam, high_earn)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4dd6aa2f", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8, 8))\n", + "ax = plot_gam(gam_logit, 2)\n", + "ax.set_xlabel('Education')\n", + "ax.set_ylabel('Effect on wage')\n", + "ax.set_title('Partial dependence of wage on education',\n", + " fontsize=20);\n", + "ax.set_xticklabels(Wage['education'].cat.categories, fontsize=8);\n" + ] + }, + { + "cell_type": "markdown", + "id": "e4e9e093", + "metadata": {}, + "source": [ + "The model seems to be very flat, with especially high error bars for the first category.\n", + "Let's look at the data a bit more closely." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5a6e8754", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "pd.crosstab(Wage['high_earn'], Wage['education'])\n" + ] + }, + { + "cell_type": "markdown", + "id": "06d2d2fd", + "metadata": {}, + "source": [ + "We see that there are no high earners in the first category of\n", + "education, meaning that the model will have a hard time fitting. We\n", + "will fit a logistic regression GAM excluding all observations falling into this\n", + "category. This provides more sensible results.\n", + "\n", + "To do so,\n", + "we could subset the model matrix, though this will not remove the\n", + "column from `Xgam`. While we can deduce which column corresponds\n", + "to this feature, for reproducibility’s sake we reform the model matrix\n", + "on this smaller subset.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c92b60be", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "only_hs = Wage['education'] == '1. < HS Grad'\n", + "Wage_ = Wage.loc[~only_hs]\n", + "Xgam_ = np.column_stack([Wage_['age'],\n", + " Wage_['year'],\n", + " Wage_['education'].cat.codes-1])\n", + "high_earn_ = Wage_['high_earn']\n" + ] + }, + { + "cell_type": "markdown", + "id": "02dc4908", + "metadata": {}, + "source": [ + "In the second-to-last line above, we subtract one from the codes of the category, due to a bug in `pygam`. It just relabels\n", + "the education values and hence has no effect on the fit.\n", + " \n", + "We now fit the model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e525e8d0", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "gam_logit_ = LogisticGAM(age_term +\n", + " year_term +\n", + " f_gam(2, lam=0))\n", + "gam_logit_.fit(Xgam_, high_earn_)\n" + ] + }, + { + "cell_type": "markdown", + "id": "9601ab00", + "metadata": {}, + "source": [ + "Let’s look at the effect of `education`, `year` and `age` on high earner status now that we’ve\n", + "removed those observations." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c3e66cf9", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8, 8))\n", + "ax = plot_gam(gam_logit_, 2)\n", + "ax.set_xlabel('Education')\n", + "ax.set_ylabel('Effect on wage')\n", + "ax.set_title('Partial dependence of high earner status on education', fontsize=20);\n", + "ax.set_xticklabels(Wage['education'].cat.categories[1:],\n", + " fontsize=8);\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fd924348", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8, 8))\n", + "ax = plot_gam(gam_logit_, 1)\n", + "ax.set_xlabel('Year')\n", + "ax.set_ylabel('Effect on wage')\n", + "ax.set_title('Partial dependence of high earner status on year',\n", + " fontsize=20);\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2d3ec90a", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8, 8))\n", + "ax = plot_gam(gam_logit_, 0)\n", + "ax.set_xlabel('Age')\n", + "ax.set_ylabel('Effect on wage')\n", + "ax.set_title('Partial dependence of high earner status on age', fontsize=20);\n" + ] + }, + { + "cell_type": "markdown", + "id": "ea4a7d79", + "metadata": {}, + "source": [ + "## Local Regression\n", + "We illustrate the use of local regression using the `lowess()` \n", + "function from `sm.nonparametric`. Some implementations of\n", + "GAMs allow terms to be local regression operators; this is not the case in `pygam`.\n", + "\n", + "Here we fit local linear regression models using spans of 0.2\n", + "and 0.5; that is, each neighborhood consists of 20% or 50% of\n", + "the observations. As expected, using a span of 0.5 is smoother than 0.2." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4f2bc0eb", + "metadata": {}, + "outputs": [], + "source": [ + "lowess = sm.nonparametric.lowess\n", + "fig, ax = subplots(figsize=(8,8))\n", + "ax.scatter(age, y, facecolor='gray', alpha=0.5)\n", + "for span in [0.2, 0.5]:\n", + " fitted = lowess(y,\n", + " age,\n", + " frac=span,\n", + " xvals=age_grid)\n", + " ax.plot(age_grid,\n", + " fitted,\n", + " label='{:.1f}'.format(span),\n", + " linewidth=4)\n", + "ax.set_xlabel('Age', fontsize=20)\n", + "ax.set_ylabel('Wage', fontsize=20);\n", + "ax.legend(title='span', fontsize=15);\n" + ] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "-all", + "formats": "ipynb,Rmd", + "main_language": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/source/labs/Ch8-baggboost-lab.ipynb b/docs/source/labs/Ch8-baggboost-lab.ipynb new file mode 100644 index 0000000..6054a2c --- /dev/null +++ b/docs/source/labs/Ch8-baggboost-lab.ipynb @@ -0,0 +1,1052 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "257f1382", + "metadata": {}, + "source": [ + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "2ade0554", + "metadata": {}, + "source": [ + "# Tree-Based Methods\n", + "We import some of our usual libraries at this top\n", + "level." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4cc7120f", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "from matplotlib.pyplot import subplots\n", + "from statsmodels.datasets import get_rdataset\n", + "import sklearn.model_selection as skm\n", + "from ISLP import load_data, confusion_table\n", + "from ISLP.models import ModelSpec as MS\n" + ] + }, + { + "cell_type": "markdown", + "id": "75645461", + "metadata": {}, + "source": [ + "We also collect the new imports\n", + "needed for this lab." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "864fa15e", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "from sklearn.tree import (DecisionTreeClassifier as DTC,\n", + " DecisionTreeRegressor as DTR,\n", + " plot_tree,\n", + " export_text)\n", + "from sklearn.metrics import (accuracy_score,\n", + " log_loss)\n", + "from sklearn.ensemble import \\\n", + " (RandomForestRegressor as RF,\n", + " GradientBoostingRegressor as GBR)\n", + "from ISLP.bart import BART\n" + ] + }, + { + "cell_type": "markdown", + "id": "7b68e1e9", + "metadata": {}, + "source": [ + "## Fitting Classification Trees" + ] + }, + { + "cell_type": "markdown", + "id": "85b1d9af", + "metadata": {}, + "source": [ + "We first use classification trees to analyze the `Carseats` data set.\n", + "In these data, `Sales` is a continuous variable, and so we begin\n", + "by recoding it as a binary variable. We use the `where()` \n", + "function to create a variable, called `High`, which takes on a\n", + "value of `Yes` if the `Sales` variable exceeds 8, and takes\n", + "on a value of `No` otherwise." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bfb4c83b", + "metadata": {}, + "outputs": [], + "source": [ + "Carseats = load_data('Carseats')\n", + "High = np.where(Carseats.Sales > 8,\n", + " \"Yes\",\n", + " \"No\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "8e50828c", + "metadata": {}, + "source": [ + "We now use `DecisionTreeClassifier()` to fit a classification tree in\n", + "order to predict `High` using all variables but `Sales`.\n", + "To do so, we must form a model matrix as we did when fitting regression\n", + "models. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5d9e7a14", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "model = MS(Carseats.columns.drop('Sales'), intercept=False)\n", + "D = model.fit_transform(Carseats)\n", + "feature_names = list(D.columns)\n", + "X = np.asarray(D)\n" + ] + }, + { + "cell_type": "markdown", + "id": "b42d6270", + "metadata": {}, + "source": [ + "We have converted `D` from a data frame to an array `X`, which is needed in some of the analysis below. We also need the `feature_names` for annotating our plots later.\n", + "\n", + "There are several options needed to specify the classifier,\n", + "such as `max_depth` (how deep to grow the tree), `min_samples_split`\n", + "(minimum number of observations in a node to be eligible for splitting)\n", + "and `criterion` (whether to use Gini or cross-entropy as the split criterion).\n", + "We also set `random_state` for reproducibility; ties in the split criterion are broken at random." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "970c4515", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "clf = DTC(criterion='entropy',\n", + " max_depth=3,\n", + " random_state=0) \n", + "clf.fit(X, High)\n" + ] + }, + { + "cell_type": "markdown", + "id": "5ccdc9e7", + "metadata": {}, + "source": [ + "In our discussion of qualitative features in Section 3.3,\n", + "we noted that for a linear regression model such a feature could be\n", + "represented by including a matrix of dummy variables (one-hot-encoding) in the model\n", + "matrix, using the formula notation of `statsmodels`.\n", + "As mentioned in Section 8.1, there is a more\n", + "natural way to handle qualitative features when building a decision\n", + "tree, that does not require such dummy variables; each split amounts to partitioning the levels into two groups.\n", + "However, \n", + "the `sklearn` implementation of decision trees does not take\n", + "advantage of this approach; instead it simply treats the one-hot-encoded levels as separate variables." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2d9a51dc", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "accuracy_score(High, clf.predict(X))\n" + ] + }, + { + "cell_type": "markdown", + "id": "7fd4219f", + "metadata": {}, + "source": [ + "With only the default arguments, the training error rate is\n", + "21%.\n", + "For classification trees, we can\n", + "access the value of the deviance using `log_loss()`,\n", + "\\begin{equation*}\n", + "\\begin{split}\n", + "-2 \\sum_m \\sum_k n_{mk} \\log \\hat{p}_{mk},\n", + "\\end{split}\n", + "\\end{equation*}\n", + "where $n_{mk}$ is the number of observations in the $m$th terminal\n", + "node that belong to the $k$th class." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cbc04b67", + "metadata": {}, + "outputs": [], + "source": [ + "resid_dev = np.sum(log_loss(High, clf.predict_proba(X)))\n", + "resid_dev\n" + ] + }, + { + "cell_type": "markdown", + "id": "bca81c07", + "metadata": {}, + "source": [ + "This is closely related to the *entropy*, defined in (8.7).\n", + "A small deviance indicates a\n", + "tree that provides a good fit to the (training) data.\n", + " \n", + "One of the most attractive properties of trees is that they can\n", + "be graphically displayed. Here we use the `plot()` function\n", + "to display the tree structure." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "809830c7", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "ax = subplots(figsize=(12,12))[1]\n", + "plot_tree(clf,\n", + " feature_names=feature_names,\n", + " ax=ax);\n" + ] + }, + { + "cell_type": "markdown", + "id": "c7cf2e12", + "metadata": {}, + "source": [ + "The most important indicator of `Sales` appears to be `ShelveLoc`.\n", + "\n", + "We can see a text representation of the tree using\n", + "`export_text()`, which displays the split\n", + "criterion (e.g. `Price <= 92.5`) for each branch.\n", + "For leaf nodes it shows the overall prediction \n", + "(`Yes` or `No`). \n", + " We can also see the number of observations in that\n", + "leaf that take on values of `Yes` and `No` by specifying `show_weights=True`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "abe8c7fc", + "metadata": {}, + "outputs": [], + "source": [ + "print(export_text(clf,\n", + " feature_names=feature_names,\n", + " show_weights=True))\n" + ] + }, + { + "cell_type": "markdown", + "id": "f06c2f4c", + "metadata": {}, + "source": [ + "In order to properly evaluate the performance of a classification tree\n", + "on these data, we must estimate the test error rather than simply\n", + "computing the training error. We split the observations into a\n", + "training set and a test set, build the tree using the training set,\n", + "and evaluate its performance on the test data. This pattern is\n", + "similar to that in Chapter 6, with the linear models\n", + "replaced here by decision trees --- the code for validation\n", + "is almost identical. This approach leads to correct predictions\n", + "for 68.5% of the locations in the test data set." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f7a1f736", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "validation = skm.ShuffleSplit(n_splits=1,\n", + " test_size=200,\n", + " random_state=0)\n", + "results = skm.cross_validate(clf,\n", + " D,\n", + " High,\n", + " cv=validation)\n", + "results['test_score']\n" + ] + }, + { + "cell_type": "markdown", + "id": "45f99d7e", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "id": "533af069", + "metadata": {}, + "source": [ + "Next, we consider whether pruning the tree might lead to improved\n", + "classification performance. We first split the data into a training and\n", + "test set. We will use cross-validation to prune the tree on the training\n", + "set, and then evaluate the performance of the pruned tree on the test\n", + "set." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c663a623", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "(X_train,\n", + " X_test,\n", + " High_train,\n", + " High_test) = skm.train_test_split(X,\n", + " High,\n", + " test_size=0.5,\n", + " random_state=0)\n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "9e618049", + "metadata": {}, + "source": [ + "We first refit the full tree on the training set; here we do not set a `max_depth` parameter, since we will learn that through cross-validation.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c2f2a403", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "clf = DTC(criterion='entropy', random_state=0)\n", + "clf.fit(X_train, High_train)\n", + "accuracy_score(High_test, clf.predict(X_test))\n" + ] + }, + { + "cell_type": "markdown", + "id": "bb59eecd", + "metadata": {}, + "source": [ + "Next we use the `cost_complexity_pruning_path()` method of\n", + "`clf` to extract cost-complexity values. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b2505658", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "ccp_path = clf.cost_complexity_pruning_path(X_train, High_train)\n", + "kfold = skm.KFold(10,\n", + " random_state=1,\n", + " shuffle=True)\n" + ] + }, + { + "cell_type": "markdown", + "id": "0fdf1106", + "metadata": {}, + "source": [ + "This yields a set of impurities and $\\alpha$ values\n", + "from which we can extract an optimal one by cross-validation." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "09a7bd33", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "grid = skm.GridSearchCV(clf,\n", + " {'ccp_alpha': ccp_path.ccp_alphas},\n", + " refit=True,\n", + " cv=kfold,\n", + " scoring='accuracy')\n", + "grid.fit(X_train, High_train)\n", + "grid.best_score_\n" + ] + }, + { + "cell_type": "markdown", + "id": "ff585d2c", + "metadata": {}, + "source": [ + "Let’s take a look at the pruned true." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a75dea32", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "ax = subplots(figsize=(12, 12))[1]\n", + "best_ = grid.best_estimator_\n", + "plot_tree(best_,\n", + " feature_names=feature_names,\n", + " ax=ax);\n" + ] + }, + { + "cell_type": "markdown", + "id": "c81a06b3", + "metadata": {}, + "source": [ + "This is quite a bushy tree. We could count the leaves, or query\n", + "`best_` instead." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3f1e3d19", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "best_.tree_.n_leaves\n" + ] + }, + { + "cell_type": "markdown", + "id": "7a32f63a", + "metadata": {}, + "source": [ + "The tree with 30 terminal\n", + "nodes results in the lowest cross-validation error rate, with an accuracy of\n", + "68.5%. How well does this pruned tree perform on the test data set? Once\n", + "again, we apply the `predict()` function." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "30f5c2f9", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "print(accuracy_score(High_test,\n", + " best_.predict(X_test)))\n", + "confusion = confusion_table(best_.predict(X_test),\n", + " High_test)\n", + "confusion\n" + ] + }, + { + "cell_type": "markdown", + "id": "adbe5709", + "metadata": {}, + "source": [ + "Now 72.0% of the test observations are correctly classified, which is slightly worse than the error for the full tree (with 35 leaves). So cross-validation has not helped us much here; it only pruned off 5 leaves, at a cost of a slightly worse error. These results would change if we were to change the random number seeds above; even though cross-validation gives an unbiased approach to model selection, it does have variance.\n", + "\n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "ad50114a", + "metadata": {}, + "source": [ + "## Fitting Regression Trees\n", + "Here we fit a regression tree to the `Boston` data set. The\n", + "steps are similar to those for classification trees." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1ca6bc7a", + "metadata": {}, + "outputs": [], + "source": [ + "Boston = load_data(\"Boston\")\n", + "model = MS(Boston.columns.drop('medv'), intercept=False)\n", + "D = model.fit_transform(Boston)\n", + "feature_names = list(D.columns)\n", + "X = np.asarray(D)\n" + ] + }, + { + "cell_type": "markdown", + "id": "ebebb4a7", + "metadata": {}, + "source": [ + "First, we split the data into training and test sets, and fit the tree\n", + "to the training data. Here we use 30% of the data for the test set.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "15cfb553", + "metadata": {}, + "outputs": [], + "source": [ + "(X_train,\n", + " X_test,\n", + " y_train,\n", + " y_test) = skm.train_test_split(X,\n", + " Boston['medv'],\n", + " test_size=0.3,\n", + " random_state=0)\n" + ] + }, + { + "cell_type": "markdown", + "id": "ae21c490", + "metadata": {}, + "source": [ + "Having formed our training and test data sets, we fit the regression tree." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d18820a3", + "metadata": {}, + "outputs": [], + "source": [ + "reg = DTR(max_depth=3)\n", + "reg.fit(X_train, y_train)\n", + "ax = subplots(figsize=(12,12))[1]\n", + "plot_tree(reg,\n", + " feature_names=feature_names,\n", + " ax=ax);\n" + ] + }, + { + "cell_type": "markdown", + "id": "5a4deec7", + "metadata": {}, + "source": [ + "The variable `lstat` measures the percentage of individuals with\n", + "lower socioeconomic status. The tree indicates that lower\n", + "values of `lstat` correspond to more expensive houses.\n", + "The tree predicts a median house price of $12,042 for small-sized homes (`rm < 6.8`), in\n", + "suburbs in which residents have low socioeconomic status (`lstat > 14.4`) and the crime-rate is moderate (`crim > 5.8`)." + ] + }, + { + "cell_type": "markdown", + "id": "f5cad860", + "metadata": {}, + "source": [ + "Now we use the cross-validation function to see whether pruning\n", + "the tree will improve performance." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "619f8d94", + "metadata": {}, + "outputs": [], + "source": [ + "ccp_path = reg.cost_complexity_pruning_path(X_train, y_train)\n", + "kfold = skm.KFold(5,\n", + " shuffle=True,\n", + " random_state=10)\n", + "grid = skm.GridSearchCV(reg,\n", + " {'ccp_alpha': ccp_path.ccp_alphas},\n", + " refit=True,\n", + " cv=kfold,\n", + " scoring='neg_mean_squared_error')\n", + "G = grid.fit(X_train, y_train)\n" + ] + }, + { + "cell_type": "markdown", + "id": "b971e775", + "metadata": {}, + "source": [ + "In keeping with the cross-validation results, we use the pruned tree\n", + "to make predictions on the test set." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "779a14b6", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "best_ = grid.best_estimator_\n", + "np.mean((y_test - best_.predict(X_test))**2)\n" + ] + }, + { + "cell_type": "markdown", + "id": "507d174f", + "metadata": {}, + "source": [ + "In other words, the test set MSE associated with the regression tree\n", + "is 28.07. The square root of\n", + "the MSE is therefore around\n", + "5.30,\n", + "indicating that this model leads to test predictions that are within around\n", + "$5300\n", + "of the true median home value for the suburb.\n", + "\n", + "Let’s plot the best tree to see how interpretable it is." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2b04030b", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "ax = subplots(figsize=(12,12))[1]\n", + "plot_tree(G.best_estimator_,\n", + " feature_names=feature_names,\n", + " ax=ax);\n" + ] + }, + { + "cell_type": "markdown", + "id": "cf40b6ac", + "metadata": {}, + "source": [ + " \n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "8e9aba94", + "metadata": {}, + "source": [ + "## Bagging and Random Forests" + ] + }, + { + "cell_type": "markdown", + "id": "81afb557", + "metadata": {}, + "source": [ + "Here we apply bagging and random forests to the `Boston` data, using\n", + "the `RandomForestRegressor()` from the `sklearn.ensemble` package. Recall\n", + "that bagging is simply a special case of a random forest with\n", + "$m=p$. Therefore, the `RandomForestRegressor()` function can be used to\n", + "perform both bagging and random forests. We start with bagging." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7dedce31", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "bag_boston = RF(max_features=X_train.shape[1], random_state=0)\n", + "bag_boston.fit(X_train, y_train)\n" + ] + }, + { + "cell_type": "markdown", + "id": "b020aef3", + "metadata": {}, + "source": [ + "The argument `max_features` indicates that all 12 predictors should\n", + "be considered for each split of the tree --- in other words, that\n", + "bagging should be done. How well does this bagged model perform on\n", + "the test set?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1f2c7336", + "metadata": {}, + "outputs": [], + "source": [ + "ax = subplots(figsize=(8,8))[1]\n", + "y_hat_bag = bag_boston.predict(X_test)\n", + "ax.scatter(y_hat_bag, y_test)\n", + "np.mean((y_test - y_hat_bag)**2)\n" + ] + }, + { + "cell_type": "markdown", + "id": "6e6db784", + "metadata": {}, + "source": [ + "The test set MSE associated with the bagged regression tree is\n", + "14.63, about half that obtained using an optimally-pruned single\n", + "tree. We could change the number of trees grown from the default of\n", + "100 by\n", + "using the `n_estimators` argument:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0bba2439", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "bag_boston = RF(max_features=X_train.shape[1],\n", + " n_estimators=500,\n", + " random_state=0).fit(X_train, y_train)\n", + "y_hat_bag = bag_boston.predict(X_test)\n", + "np.mean((y_test - y_hat_bag)**2)" + ] + }, + { + "cell_type": "markdown", + "id": "7fa447de", + "metadata": {}, + "source": [ + "There is not much change. Bagging and random forests cannot overfit by\n", + "increasing the number of trees, but can underfit if the number is too small.\n", + "\n", + "Growing a random forest proceeds in exactly the same way, except that\n", + "we use a smaller value of the `max_features` argument. By default,\n", + "`RandomForestRegressor()` uses $p$ variables when building a random\n", + "forest of regression trees (i.e. it defaults to bagging), and `RandomForestClassifier()` uses\n", + "$\\sqrt{p}$ variables when building a\n", + "random forest of classification trees. Here we use `max_features=6`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "90457fbe", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "RF_boston = RF(max_features=6,\n", + " random_state=0).fit(X_train, y_train)\n", + "y_hat_RF = RF_boston.predict(X_test)\n", + "np.mean((y_test - y_hat_RF)**2)\n" + ] + }, + { + "cell_type": "markdown", + "id": "f9ddb8fa", + "metadata": {}, + "source": [ + "The test set MSE is 20.04;\n", + "this indicates that random forests did somewhat worse than bagging\n", + "in this case. Extracting the `feature_importances_` values from the fitted model, we can view the\n", + "importance of each variable." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8aae1857", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "feature_imp = pd.DataFrame(\n", + " {'importance':RF_boston.feature_importances_},\n", + " index=feature_names)\n", + "feature_imp.sort_values(by='importance', ascending=False)" + ] + }, + { + "cell_type": "markdown", + "id": "74b9ffb6", + "metadata": {}, + "source": [ + " This\n", + "is a relative measure of the total decrease in node impurity that results from\n", + "splits over that variable, averaged over all trees (this was plotted in Figure 8.9 for a model fit to the `Heart` data). \n", + "\n", + "The results indicate that across all of the trees considered in the\n", + "random forest, the wealth level of the community (`lstat`) and the\n", + "house size (`rm`) are by far the two most important variables.\n", + "\n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "82ed6937", + "metadata": {}, + "source": [ + "## Boosting" + ] + }, + { + "cell_type": "markdown", + "id": "d420075c", + "metadata": {}, + "source": [ + "Here we use `GradientBoostingRegressor()` from `sklearn.ensemble`\n", + "to fit boosted regression trees to the `Boston` data\n", + "set. For classification we would use `GradientBoostingClassifier()`.\n", + "The argument `n_estimators=5000`\n", + "indicates that we want 5000 trees, and the option\n", + "`max_depth=3` limits the depth of each tree. The\n", + "argument `learning_rate` is the $\\lambda$\n", + "mentioned earlier in the description of boosting." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "887b4fa9", + "metadata": {}, + "outputs": [], + "source": [ + "boost_boston = GBR(n_estimators=5000,\n", + " learning_rate=0.001,\n", + " max_depth=3,\n", + " random_state=0)\n", + "boost_boston.fit(X_train, y_train)\n" + ] + }, + { + "cell_type": "markdown", + "id": "97019e71", + "metadata": {}, + "source": [ + "We can see how the training error decreases with the `train_score_` attribute.\n", + "To get an idea of how the test error decreases we can use the\n", + "`staged_predict()` method to get the predicted values along the path." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6c56696c", + "metadata": {}, + "outputs": [], + "source": [ + "test_error = np.zeros_like(boost_boston.train_score_)\n", + "for idx, y_ in enumerate(boost_boston.staged_predict(X_test)):\n", + " test_error[idx] = np.mean((y_test - y_)**2)\n", + "\n", + "plot_idx = np.arange(boost_boston.train_score_.shape[0])\n", + "ax = subplots(figsize=(8,8))[1]\n", + "ax.plot(plot_idx,\n", + " boost_boston.train_score_,\n", + " 'b',\n", + " label='Training')\n", + "ax.plot(plot_idx,\n", + " test_error,\n", + " 'r',\n", + " label='Test')\n", + "ax.legend();\n" + ] + }, + { + "cell_type": "markdown", + "id": "f1a851f2", + "metadata": {}, + "source": [ + "We now use the boosted model to predict `medv` on the test set:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8a636f63", + "metadata": {}, + "outputs": [], + "source": [ + "y_hat_boost = boost_boston.predict(X_test);\n", + "np.mean((y_test - y_hat_boost)**2)\n" + ] + }, + { + "cell_type": "markdown", + "id": "fb7f53af", + "metadata": {}, + "source": [ + " The test MSE obtained is 14.48,\n", + "similar to the test MSE for bagging. If we want to, we can\n", + "perform boosting with a different value of the shrinkage parameter\n", + "$\\lambda$ in (8.10). The default value is 0.001, but\n", + "this is easily modified. Here we take $\\lambda=0.2$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e2ab3c7", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "boost_boston = GBR(n_estimators=5000,\n", + " learning_rate=0.2,\n", + " max_depth=3,\n", + " random_state=0)\n", + "boost_boston.fit(X_train,\n", + " y_train)\n", + "y_hat_boost = boost_boston.predict(X_test);\n", + "np.mean((y_test - y_hat_boost)**2)\n" + ] + }, + { + "cell_type": "markdown", + "id": "9360b5b0", + "metadata": {}, + "source": [ + "In this case, using $\\lambda=0.2$ leads to a almost the same test MSE\n", + "as $\\lambda=0.001$.\n", + "\n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "1693f5da", + "metadata": {}, + "source": [ + "## Bayesian Additive Regression Trees" + ] + }, + { + "cell_type": "markdown", + "id": "47c83ab9", + "metadata": {}, + "source": [ + "In this section we demonstrate a `Python` implementation of BART found in the\n", + "`ISLP.bart` package. We fit a model\n", + "to the `Boston` housing data set. This `BART()` estimator is\n", + "designed for quantitative outcome variables, though other implementations are available for\n", + "fitting logistic and probit models to categorical outcomes." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b0b41c04", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "bart_boston = BART(random_state=0, burnin=5, ndraw=15)\n", + "bart_boston.fit(X_train, y_train)\n" + ] + }, + { + "cell_type": "markdown", + "id": "af48867c", + "metadata": {}, + "source": [ + "On this data set, with this split into test and training, we see that the test error of BART is similar to that of random forest." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fda8fffc", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "yhat_test = bart_boston.predict(X_test.astype(np.float32))\n", + "np.mean((y_test - yhat_test)**2)\n" + ] + }, + { + "cell_type": "markdown", + "id": "bad852b7", + "metadata": {}, + "source": [ + "We can check how many times each variable appeared in the collection of trees.\n", + "This gives a summary similar to the variable importance plot for boosting and random forests." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "be77f0e4", + "metadata": {}, + "outputs": [], + "source": [ + "var_inclusion = pd.Series(bart_boston.variable_inclusion_.mean(0),\n", + " index=D.columns)\n", + "var_inclusion\n" + ] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "-all", + "formats": "ipynb,Rmd", + "main_language": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/source/labs/Ch9-svm-lab.ipynb b/docs/source/labs/Ch9-svm-lab.ipynb new file mode 100644 index 0000000..9c07d86 --- /dev/null +++ b/docs/source/labs/Ch9-svm-lab.ipynb @@ -0,0 +1,977 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "67b2823a", + "metadata": {}, + "source": [ + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "d45c6d2b", + "metadata": {}, + "source": [ + "# Support Vector Machines\n", + "In this lab, we use the `sklearn.svm` library to demonstrate the support\n", + "vector classifier and the support vector machine.\n", + "\n", + "We import some of our usual libraries." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eeaa5be0", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "from matplotlib.pyplot import subplots, cm\n", + "import sklearn.model_selection as skm\n", + "from ISLP import load_data, confusion_table\n" + ] + }, + { + "cell_type": "markdown", + "id": "26ebd377", + "metadata": {}, + "source": [ + "We also collect the new imports\n", + "needed for this lab." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "41a59634", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.svm import SVC\n", + "from ISLP.svm import plot as plot_svm\n", + "from sklearn.metrics import RocCurveDisplay\n" + ] + }, + { + "cell_type": "markdown", + "id": "f197b846", + "metadata": {}, + "source": [ + "We will use the function `RocCurveDisplay.from_estimator()` to\n", + "produce several ROC plots, using a shorthand `roc_curve`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c9a175d7", + "metadata": {}, + "outputs": [], + "source": [ + "roc_curve = RocCurveDisplay.from_estimator # shorthand\n" + ] + }, + { + "cell_type": "markdown", + "id": "f666c212", + "metadata": {}, + "source": [ + "## Support Vector Classifier\n", + "\n", + "We now use the `SupportVectorClassifier()` function (abbreviated `SVC()`) from `sklearn` to fit the support vector\n", + "classifier for a given value of the parameter `C`. The\n", + "`C` argument allows us to specify the cost of a violation to\n", + "the margin. When the `cost` argument is small, then the margins\n", + "will be wide and many support vectors will be on the margin or will\n", + "violate the margin. When the `C` argument is large, then the\n", + "margins will be narrow and there will be few support vectors on the\n", + "margin or violating the margin.\n", + "\n", + "Here we demonstrate\n", + "the use of `SVC()` on a two-dimensional example, so that we can\n", + "plot the resulting decision boundary. We begin by generating the\n", + "observations, which belong to two classes, and checking whether the\n", + "classes are linearly separable." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a7216b47", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "rng = np.random.default_rng(1)\n", + "X = rng.standard_normal((50, 2))\n", + "y = np.array([-1]*25+[1]*25)\n", + "X[y==1] += 1\n", + "fig, ax = subplots(figsize=(8,8))\n", + "ax.scatter(X[:,0],\n", + " X[:,1],\n", + " c=y,\n", + " cmap=cm.coolwarm);\n" + ] + }, + { + "cell_type": "markdown", + "id": "7b4aff06", + "metadata": {}, + "source": [ + "They are not. We now fit the classifier." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ed329198", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "svm_linear = SVC(C=10, kernel='linear')\n", + "svm_linear.fit(X, y)\n" + ] + }, + { + "cell_type": "markdown", + "id": "5e6b4c79", + "metadata": {}, + "source": [ + "The support vector classifier with two features can\n", + "be visualized by plotting values of its *decision function*.\n", + "We have included a function for this in the `ISLP` package (inspired by a similar\n", + "example in the `sklearn` docs)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "95494b8b", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8,8))\n", + "plot_svm(X,\n", + " y,\n", + " svm_linear,\n", + " ax=ax)\n" + ] + }, + { + "cell_type": "markdown", + "id": "f6ce1246", + "metadata": {}, + "source": [ + "The decision\n", + "boundary between the two classes is linear (because we used the\n", + "argument `kernel='linear'`). The support vectors are marked with `+`\n", + "and the remaining observations are plotted as circles.\n", + "\n", + "What if we instead used a smaller value of the cost parameter?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "98c2236f", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "svm_linear_small = SVC(C=0.1, kernel='linear')\n", + "svm_linear_small.fit(X, y)\n", + "fig, ax = subplots(figsize=(8,8))\n", + "plot_svm(X,\n", + " y,\n", + " svm_linear_small,\n", + " ax=ax)\n" + ] + }, + { + "cell_type": "markdown", + "id": "906f4bb8", + "metadata": {}, + "source": [ + "With a smaller value of the cost parameter, we\n", + "obtain a larger number of support vectors, because the margin is now\n", + "wider. For linear kernels, we can extract the\n", + "coefficients of the linear decision boundary as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b498f594", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "svm_linear.coef_\n" + ] + }, + { + "cell_type": "markdown", + "id": "90a0ee53", + "metadata": {}, + "source": [ + "Since the support vector machine is an estimator in `sklearn`, we\n", + "can use the usual machinery to tune it." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b65e80d6", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "kfold = skm.KFold(5, \n", + " random_state=0,\n", + " shuffle=True)\n", + "grid = skm.GridSearchCV(svm_linear,\n", + " {'C':[0.001,0.01,0.1,1,5,10,100]},\n", + " refit=True,\n", + " cv=kfold,\n", + " scoring='accuracy')\n", + "grid.fit(X, y)\n", + "grid.best_params_\n" + ] + }, + { + "cell_type": "markdown", + "id": "d390528c", + "metadata": {}, + "source": [ + "We can easily access the cross-validation errors for each of these models\n", + "in `grid.cv_results_`. This prints out a lot of detail, so we\n", + "extract the accuracy results only." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bba8fad7", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "grid.cv_results_[('mean_test_score')]\n" + ] + }, + { + "cell_type": "markdown", + "id": "703e2d43", + "metadata": {}, + "source": [ + "We see that `C=1` results in the highest cross-validation\n", + "accuracy of 0.74, though\n", + "the accuracy is the same for several values of `C`.\n", + "The classifier `grid.best_estimator_` can be used to predict the class\n", + "label on a set of test observations. Let’s generate a test data set." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ad64269d", + "metadata": {}, + "outputs": [], + "source": [ + "X_test = rng.standard_normal((20, 2))\n", + "y_test = np.array([-1]*10+[1]*10)\n", + "X_test[y_test==1] += 1\n" + ] + }, + { + "cell_type": "markdown", + "id": "db41f5e2", + "metadata": {}, + "source": [ + "Now we predict the class labels of these test observations. Here we\n", + "use the best model selected by cross-validation in order to make the\n", + "predictions." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5107fca1", + "metadata": {}, + "outputs": [], + "source": [ + "best_ = grid.best_estimator_\n", + "y_test_hat = best_.predict(X_test)\n", + "confusion_table(y_test_hat, y_test)\n" + ] + }, + { + "cell_type": "markdown", + "id": "bbfc8005", + "metadata": {}, + "source": [ + "Thus, with this value of `C`,\n", + "70% of the test\n", + "observations are correctly classified. What if we had instead used\n", + "`C=0.001`?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0320d9e0", + "metadata": {}, + "outputs": [], + "source": [ + "svm_ = SVC(C=0.001,\n", + " kernel='linear').fit(X, y)\n", + "y_test_hat = svm_.predict(X_test)\n", + "confusion_table(y_test_hat, y_test)\n" + ] + }, + { + "cell_type": "markdown", + "id": "427d775f", + "metadata": {}, + "source": [ + "In this case 60% of test observations are correctly classified.\n", + "\n", + "We now consider a situation in which the two classes are linearly\n", + "separable. Then we can find an optimal separating hyperplane using the\n", + "`SVC()` estimator. We first\n", + "further separate the two classes in our simulated data so that they\n", + "are linearly separable:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "84d7e778", + "metadata": {}, + "outputs": [], + "source": [ + "X[y==1] += 1.9;\n", + "fig, ax = subplots(figsize=(8,8))\n", + "ax.scatter(X[:,0], X[:,1], c=y, cmap=cm.coolwarm);\n" + ] + }, + { + "cell_type": "markdown", + "id": "ff7bdad1", + "metadata": {}, + "source": [ + "Now the observations are just barely linearly separable." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "abb1f8be", + "metadata": {}, + "outputs": [], + "source": [ + "svm_ = SVC(C=1e5, kernel='linear').fit(X, y)\n", + "y_hat = svm_.predict(X)\n", + "confusion_table(y_hat, y)\n" + ] + }, + { + "cell_type": "markdown", + "id": "c44297cc", + "metadata": {}, + "source": [ + "We fit the\n", + "support vector classifier and plot the resulting hyperplane, using a\n", + "very large value of `C` so that no observations are\n", + "misclassified. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2e4ed2f5", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8,8))\n", + "plot_svm(X,\n", + " y,\n", + " svm_,\n", + " ax=ax)\n" + ] + }, + { + "cell_type": "markdown", + "id": "2836d70d", + "metadata": {}, + "source": [ + "Indeed no training errors were made and only three support vectors were used.\n", + "In fact, the large value of `C` also means that these three support points are *on the margin*, and define it.\n", + "One may wonder how good the classifier could be on test data that depends on only three data points!\n", + " We now try a smaller\n", + "value of `C`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "164a611c", + "metadata": {}, + "outputs": [], + "source": [ + "svm_ = SVC(C=0.1, kernel='linear').fit(X, y)\n", + "y_hat = svm_.predict(X)\n", + "confusion_table(y_hat, y)\n" + ] + }, + { + "cell_type": "markdown", + "id": "39a432d1", + "metadata": {}, + "source": [ + "Using `C=0.1`, we again do not misclassify any training observations, but we\n", + "also obtain a much wider margin and make use of twelve support\n", + "vectors. These jointly define the orientation of the decision boundary, and since there are more of them, it is more stable. It seems possible that this model will perform better on test\n", + "data than the model with `C=1e5` (and indeed, a simple experiment with a large test set would bear this out)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c67591a1", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8,8))\n", + "plot_svm(X,\n", + " y,\n", + " svm_,\n", + " ax=ax)\n" + ] + }, + { + "cell_type": "markdown", + "id": "25e61f65", + "metadata": {}, + "source": [ + "## Support Vector Machine\n", + "In order to fit an SVM using a non-linear kernel, we once again use\n", + "the `SVC()` estimator. However, now we use a different value\n", + "of the parameter `kernel`. To fit an SVM with a polynomial\n", + "kernel we use `kernel=\"poly\"`, and to fit an SVM with a\n", + "radial kernel we use\n", + "`kernel=\"rbf\"`. In the former case we also use the\n", + "`degree` argument to specify a degree for the polynomial kernel\n", + "(this is $d$ in (9.22)), and in the latter case we use\n", + "`gamma` to specify a value of $\\gamma$ for the radial basis\n", + "kernel (9.24).\n", + "\n", + "We first generate some data with a non-linear class boundary, as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "322be574", + "metadata": {}, + "outputs": [], + "source": [ + "X = rng.standard_normal((200, 2))\n", + "X[:100] += 2\n", + "X[100:150] -= 2\n", + "y = np.array([1]*150+[2]*50)\n" + ] + }, + { + "cell_type": "markdown", + "id": "22fe2182", + "metadata": {}, + "source": [ + "Plotting the data makes it clear that the class boundary is indeed non-linear." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "04fda182", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8,8))\n", + "ax.scatter(X[:,0],\n", + " X[:,1],\n", + " c=y,\n", + " cmap=cm.coolwarm)\n" + ] + }, + { + "cell_type": "markdown", + "id": "64913fe3", + "metadata": {}, + "source": [ + "The data is randomly split into training and testing groups. We then\n", + "fit the training data using the `SVC()` estimator with a\n", + "radial kernel and $\\gamma=1$:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0c2690d1", + "metadata": {}, + "outputs": [], + "source": [ + "(X_train, \n", + " X_test,\n", + " y_train,\n", + " y_test) = skm.train_test_split(X,\n", + " y,\n", + " test_size=0.5,\n", + " random_state=0)\n", + "svm_rbf = SVC(kernel=\"rbf\", gamma=1, C=1)\n", + "svm_rbf.fit(X_train, y_train)\n" + ] + }, + { + "cell_type": "markdown", + "id": "5da9efdb", + "metadata": {}, + "source": [ + "The plot shows that the resulting SVM has a decidedly non-linear\n", + "boundary. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3eb171e8", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8,8))\n", + "plot_svm(X_train,\n", + " y_train,\n", + " svm_rbf,\n", + " ax=ax)\n" + ] + }, + { + "cell_type": "markdown", + "id": "ab5b1446", + "metadata": {}, + "source": [ + "We can see from the figure that there are a fair number of training\n", + "errors in this SVM fit. If we increase the value of `C`, we\n", + "can reduce the number of training errors. However, this comes at the\n", + "price of a more irregular decision boundary that seems to be at risk\n", + "of overfitting the data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9a6b905b", + "metadata": {}, + "outputs": [], + "source": [ + "svm_rbf = SVC(kernel=\"rbf\", gamma=1, C=1e5)\n", + "svm_rbf.fit(X_train, y_train)\n", + "fig, ax = subplots(figsize=(8,8))\n", + "plot_svm(X_train,\n", + " y_train,\n", + " svm_rbf,\n", + " ax=ax)\n" + ] + }, + { + "cell_type": "markdown", + "id": "300c1b8b", + "metadata": {}, + "source": [ + "We can perform cross-validation using `skm.GridSearchCV()` to select the\n", + "best choice of $\\gamma$ and `C` for an SVM with a radial\n", + "kernel:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5ab01d6c", + "metadata": {}, + "outputs": [], + "source": [ + "kfold = skm.KFold(5, \n", + " random_state=0,\n", + " shuffle=True)\n", + "grid = skm.GridSearchCV(svm_rbf,\n", + " {'C':[0.1,1,10,100,1000],\n", + " 'gamma':[0.5,1,2,3,4]},\n", + " refit=True,\n", + " cv=kfold,\n", + " scoring='accuracy');\n", + "grid.fit(X_train, y_train)\n", + "grid.best_params_\n" + ] + }, + { + "cell_type": "markdown", + "id": "1bb987ae", + "metadata": {}, + "source": [ + "The best choice of parameters under five-fold CV is achieved at `C=1`\n", + "and `gamma=0.5`, though several other values also achieve the same\n", + "value." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "166a6acb", + "metadata": {}, + "outputs": [], + "source": [ + "best_svm = grid.best_estimator_\n", + "fig, ax = subplots(figsize=(8,8))\n", + "plot_svm(X_train,\n", + " y_train,\n", + " best_svm,\n", + " ax=ax)\n", + "\n", + "y_hat_test = best_svm.predict(X_test)\n", + "confusion_table(y_hat_test, y_test)\n" + ] + }, + { + "cell_type": "markdown", + "id": "39ee6f32", + "metadata": {}, + "source": [ + "With these parameters, 12% of test\n", + "observations are misclassified by this SVM." + ] + }, + { + "cell_type": "markdown", + "id": "f0ea699d", + "metadata": {}, + "source": [ + "## ROC Curves\n", + "\n", + "SVMs and support vector classifiers output class labels for each\n", + "observation. However, it is also possible to obtain *fitted values*\n", + "for each observation, which are the numerical scores used to\n", + "obtain the class labels. For instance, in the case of a support vector\n", + "classifier, the fitted value for an observation $X= (X_1, X_2, \\ldots,\n", + "X_p)^T$ takes the form $\\hat{\\beta}_0 + \\hat{\\beta}_1 X_1 +\n", + "\\hat{\\beta}_2 X_2 + \\ldots + \\hat{\\beta}_p X_p$. For an SVM with a\n", + "non-linear kernel, the equation that yields the fitted value is given\n", + "in (9.23). The sign of the fitted value\n", + "determines on which side of the decision boundary the observation\n", + "lies. Therefore, the relationship between the fitted value and the\n", + "class prediction for a given observation is simple: if the fitted\n", + "value exceeds zero then the observation is assigned to one class, and\n", + "if it is less than zero then it is assigned to the other.\n", + "By changing this threshold from zero to some positive value,\n", + "we skew the classifications in favor of one class versus the other.\n", + "By considering a range of these thresholds, positive and negative, we produce the ingredients for a ROC plot.\n", + "We can access these values by calling the `decision_function()`\n", + "method of a fitted SVM estimator.\n", + "\n", + "The function `ROCCurveDisplay.from_estimator()` (which we have abbreviated to `roc_curve()`) will produce a plot of a ROC curve. It takes a fitted estimator as its first argument, followed\n", + "by a model matrix $X$ and labels $y$. The argument `name` is used in the legend,\n", + "while `color` is used for the color of the line. Results are plotted\n", + "on our axis object `ax`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0607fc41", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8,8))\n", + "roc_curve(best_svm,\n", + " X_train,\n", + " y_train,\n", + " name='Training',\n", + " color='r',\n", + " ax=ax);\n" + ] + }, + { + "cell_type": "markdown", + "id": "54446e71", + "metadata": {}, + "source": [ + " In this example, the SVM appears to provide accurate predictions. By increasing\n", + "$\\gamma$ we can produce a more flexible fit and generate further\n", + "improvements in accuracy." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5211a882", + "metadata": {}, + "outputs": [], + "source": [ + "svm_flex = SVC(kernel=\"rbf\", \n", + " gamma=50,\n", + " C=1)\n", + "svm_flex.fit(X_train, y_train)\n", + "fig, ax = subplots(figsize=(8,8))\n", + "roc_curve(svm_flex,\n", + " X_train,\n", + " y_train,\n", + " name='Training $\\gamma=50$',\n", + " color='r',\n", + " ax=ax);\n" + ] + }, + { + "cell_type": "markdown", + "id": "de7e4be8", + "metadata": {}, + "source": [ + "However, these ROC curves are all on the training data. We are really\n", + "more interested in the level of prediction accuracy on the test\n", + "data. When we compute the ROC curves on the test data, the model with\n", + "$\\gamma=0.5$ appears to provide the most accurate results." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "12acc4ff", + "metadata": {}, + "outputs": [], + "source": [ + "roc_curve(svm_flex,\n", + " X_test,\n", + " y_test,\n", + " name='Test $\\gamma=50$',\n", + " color='b',\n", + " ax=ax)\n", + "fig;\n" + ] + }, + { + "cell_type": "markdown", + "id": "eb5c8aeb", + "metadata": {}, + "source": [ + "Let’s look at our tuned SVM." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21c81913", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = subplots(figsize=(8,8))\n", + "for (X_, y_, c, name) in zip(\n", + " (X_train, X_test),\n", + " (y_train, y_test),\n", + " ('r', 'b'),\n", + " ('CV tuned on training',\n", + " 'CV tuned on test')):\n", + " roc_curve(best_svm,\n", + " X_,\n", + " y_,\n", + " name=name,\n", + " ax=ax,\n", + " color=c)\n" + ] + }, + { + "cell_type": "markdown", + "id": "b9fefe9f", + "metadata": {}, + "source": [ + "## SVM with Multiple Classes\n", + "\n", + "If the response is a factor containing more than two levels, then the\n", + "`SVC()` function will perform multi-class classification using\n", + "either the one-versus-one approach (when `decision_function_shape=='ovo'`)\n", + "or one-versus-rest {One-versus-rest is also known as one-versus-all.} (when `decision_function_shape=='ovr'`).\n", + "We explore that setting briefly here by\n", + "generating a third class of observations." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2fff4fa8", + "metadata": {}, + "outputs": [], + "source": [ + "rng = np.random.default_rng(123)\n", + "X = np.vstack([X, rng.standard_normal((50, 2))])\n", + "y = np.hstack([y, [0]*50])\n", + "X[y==0,1] += 2\n", + "fig, ax = subplots(figsize=(8,8))\n", + "ax.scatter(X[:,0], X[:,1], c=y, cmap=cm.coolwarm);\n" + ] + }, + { + "cell_type": "markdown", + "id": "b7adc87d", + "metadata": {}, + "source": [ + "We now fit an SVM to the data:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5396f2df", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "svm_rbf_3 = SVC(kernel=\"rbf\",\n", + " C=10,\n", + " gamma=1,\n", + " decision_function_shape='ovo');\n", + "svm_rbf_3.fit(X, y)\n", + "fig, ax = subplots(figsize=(8,8))\n", + "plot_svm(X,\n", + " y,\n", + " svm_rbf_3,\n", + " scatter_cmap=cm.tab10,\n", + " ax=ax)\n" + ] + }, + { + "cell_type": "markdown", + "id": "837644f5", + "metadata": {}, + "source": [ + "The `sklearn.svm` library can also be used to perform support vector\n", + "regression with a numerical response using the estimator `SupportVectorRegression()`." + ] + }, + { + "cell_type": "markdown", + "id": "a6bc0cbc", + "metadata": {}, + "source": [ + "## Application to Gene Expression Data\n", + "\n", + "We now examine the `Khan` data set, which consists of a number of\n", + "tissue samples corresponding to four distinct types of small round\n", + "blue cell tumors. For each tissue sample, gene expression measurements\n", + "are available. The data set consists of training data, `xtrain`\n", + "and `ytrain`, and testing data, `xtest` and `ytest`.\n", + "\n", + "We examine the dimension of the data:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f63c575e", + "metadata": {}, + "outputs": [], + "source": [ + "Khan = load_data('Khan')\n", + "Khan['xtrain'].shape, Khan['xtest'].shape\n" + ] + }, + { + "cell_type": "markdown", + "id": "bfd6492c", + "metadata": {}, + "source": [ + "This data set consists of expression measurements for 2,308\n", + "genes. The training and test sets consist of 63 and 20\n", + "observations, respectively.\n", + "\n", + "We will use a support vector approach to predict cancer subtype using\n", + "gene expression measurements. In this data set, there is a very\n", + "large number of features relative to the number of observations. This\n", + "suggests that we should use a linear kernel, because the additional\n", + "flexibility that will result from using a polynomial or radial kernel \n", + "is unnecessary. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "32091338", + "metadata": {}, + "outputs": [], + "source": [ + "khan_linear = SVC(kernel='linear', C=10)\n", + "khan_linear.fit(Khan['xtrain'], Khan['ytrain'])\n", + "confusion_table(khan_linear.predict(Khan['xtrain']),\n", + " Khan['ytrain'])\n" + ] + }, + { + "cell_type": "markdown", + "id": "23043ab0", + "metadata": {}, + "source": [ + "We see that there are *no* training\n", + "errors. In fact, this is not surprising, because the large number of\n", + "variables relative to the number of observations implies that it is\n", + "easy to find hyperplanes that fully separate the classes. We are more\n", + "interested in the support vector classifier’s performance on the\n", + "test observations." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d9058023", + "metadata": {}, + "outputs": [], + "source": [ + "confusion_table(khan_linear.predict(Khan['xtest']),\n", + " Khan['ytest'])\n" + ] + }, + { + "cell_type": "markdown", + "id": "d0d5aba4", + "metadata": {}, + "source": [ + "We see that using `C=10` yields two test set errors on these data." + ] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "-all", + "formats": "ipynb,Rmd", + "main_language": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/torch_requirements.txt b/torch_requirements.txt index f3b355a..0380132 100644 --- a/torch_requirements.txt +++ b/torch_requirements.txt @@ -1,6 +1,5 @@ -torch -torchvision -torchmetrics -torchdata -pytorch_lightning -torchinfo +torch==2.0.0 +torchvision==0.15.1 +pytorch_lightning==2.0.2 +torchinfo==1.7.2 +torchmetrics==0.11.4 From 25b5ab71dbacaa341045bf146a9ac24aa08e6116 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Jul 2023 16:13:23 -0700 Subject: [PATCH 043/195] including Auto data --- docs/source/labs/Auto.csv | 393 ++++++++++++++++++++++++++++++++++++ docs/source/labs/Auto.data | 398 +++++++++++++++++++++++++++++++++++++ 2 files changed, 791 insertions(+) create mode 100644 docs/source/labs/Auto.csv create mode 100644 docs/source/labs/Auto.data diff --git a/docs/source/labs/Auto.csv b/docs/source/labs/Auto.csv new file mode 100644 index 0000000..78a4921 --- /dev/null +++ b/docs/source/labs/Auto.csv @@ -0,0 +1,393 @@ +mpg,cylinders,displacement,horsepower,weight,acceleration,year,origin,name +18.0,8,307.0,130,3504,12.0,70,1,chevrolet chevelle malibu +15.0,8,350.0,165,3693,11.5,70,1,buick skylark 320 +18.0,8,318.0,150,3436,11.0,70,1,plymouth satellite +16.0,8,304.0,150,3433,12.0,70,1,amc rebel sst +17.0,8,302.0,140,3449,10.5,70,1,ford torino +15.0,8,429.0,198,4341,10.0,70,1,ford galaxie 500 +14.0,8,454.0,220,4354,9.0,70,1,chevrolet impala +14.0,8,440.0,215,4312,8.5,70,1,plymouth fury iii +14.0,8,455.0,225,4425,10.0,70,1,pontiac catalina +15.0,8,390.0,190,3850,8.5,70,1,amc ambassador dpl +15.0,8,383.0,170,3563,10.0,70,1,dodge challenger se +14.0,8,340.0,160,3609,8.0,70,1,plymouth 'cuda 340 +15.0,8,400.0,150,3761,9.5,70,1,chevrolet monte carlo +14.0,8,455.0,225,3086,10.0,70,1,buick estate wagon (sw) +24.0,4,113.0,95,2372,15.0,70,3,toyota corona mark ii +22.0,6,198.0,95,2833,15.5,70,1,plymouth duster +18.0,6,199.0,97,2774,15.5,70,1,amc hornet +21.0,6,200.0,85,2587,16.0,70,1,ford maverick +27.0,4,97.0,88,2130,14.5,70,3,datsun pl510 +26.0,4,97.0,46,1835,20.5,70,2,volkswagen 1131 deluxe sedan +25.0,4,110.0,87,2672,17.5,70,2,peugeot 504 +24.0,4,107.0,90,2430,14.5,70,2,audi 100 ls +25.0,4,104.0,95,2375,17.5,70,2,saab 99e +26.0,4,121.0,113,2234,12.5,70,2,bmw 2002 +21.0,6,199.0,90,2648,15.0,70,1,amc gremlin +10.0,8,360.0,215,4615,14.0,70,1,ford f250 +10.0,8,307.0,200,4376,15.0,70,1,chevy c20 +11.0,8,318.0,210,4382,13.5,70,1,dodge d200 +9.0,8,304.0,193,4732,18.5,70,1,hi 1200d +27.0,4,97.0,88,2130,14.5,71,3,datsun pl510 +28.0,4,140.0,90,2264,15.5,71,1,chevrolet vega 2300 +25.0,4,113.0,95,2228,14.0,71,3,toyota corona +19.0,6,232.0,100,2634,13.0,71,1,amc gremlin +16.0,6,225.0,105,3439,15.5,71,1,plymouth satellite custom +17.0,6,250.0,100,3329,15.5,71,1,chevrolet chevelle malibu +19.0,6,250.0,88,3302,15.5,71,1,ford torino 500 +18.0,6,232.0,100,3288,15.5,71,1,amc matador +14.0,8,350.0,165,4209,12.0,71,1,chevrolet impala +14.0,8,400.0,175,4464,11.5,71,1,pontiac catalina brougham +14.0,8,351.0,153,4154,13.5,71,1,ford galaxie 500 +14.0,8,318.0,150,4096,13.0,71,1,plymouth fury iii +12.0,8,383.0,180,4955,11.5,71,1,dodge monaco (sw) +13.0,8,400.0,170,4746,12.0,71,1,ford country squire (sw) +13.0,8,400.0,175,5140,12.0,71,1,pontiac safari (sw) +18.0,6,258.0,110,2962,13.5,71,1,amc hornet sportabout (sw) +22.0,4,140.0,72,2408,19.0,71,1,chevrolet vega (sw) +19.0,6,250.0,100,3282,15.0,71,1,pontiac firebird +18.0,6,250.0,88,3139,14.5,71,1,ford mustang +23.0,4,122.0,86,2220,14.0,71,1,mercury capri 2000 +28.0,4,116.0,90,2123,14.0,71,2,opel 1900 +30.0,4,79.0,70,2074,19.5,71,2,peugeot 304 +30.0,4,88.0,76,2065,14.5,71,2,fiat 124b +31.0,4,71.0,65,1773,19.0,71,3,toyota corolla 1200 +35.0,4,72.0,69,1613,18.0,71,3,datsun 1200 +27.0,4,97.0,60,1834,19.0,71,2,volkswagen model 111 +26.0,4,91.0,70,1955,20.5,71,1,plymouth cricket +24.0,4,113.0,95,2278,15.5,72,3,toyota corona hardtop +25.0,4,97.5,80,2126,17.0,72,1,dodge colt hardtop +23.0,4,97.0,54,2254,23.5,72,2,volkswagen type 3 +20.0,4,140.0,90,2408,19.5,72,1,chevrolet vega +21.0,4,122.0,86,2226,16.5,72,1,ford pinto runabout +13.0,8,350.0,165,4274,12.0,72,1,chevrolet impala +14.0,8,400.0,175,4385,12.0,72,1,pontiac catalina +15.0,8,318.0,150,4135,13.5,72,1,plymouth fury iii +14.0,8,351.0,153,4129,13.0,72,1,ford galaxie 500 +17.0,8,304.0,150,3672,11.5,72,1,amc ambassador sst +11.0,8,429.0,208,4633,11.0,72,1,mercury marquis +13.0,8,350.0,155,4502,13.5,72,1,buick lesabre custom +12.0,8,350.0,160,4456,13.5,72,1,oldsmobile delta 88 royale +13.0,8,400.0,190,4422,12.5,72,1,chrysler newport royal +19.0,3,70.0,97,2330,13.5,72,3,mazda rx2 coupe +15.0,8,304.0,150,3892,12.5,72,1,amc matador (sw) +13.0,8,307.0,130,4098,14.0,72,1,chevrolet chevelle concours (sw) +13.0,8,302.0,140,4294,16.0,72,1,ford gran torino (sw) +14.0,8,318.0,150,4077,14.0,72,1,plymouth satellite custom (sw) +18.0,4,121.0,112,2933,14.5,72,2,volvo 145e (sw) +22.0,4,121.0,76,2511,18.0,72,2,volkswagen 411 (sw) +21.0,4,120.0,87,2979,19.5,72,2,peugeot 504 (sw) +26.0,4,96.0,69,2189,18.0,72,2,renault 12 (sw) +22.0,4,122.0,86,2395,16.0,72,1,ford pinto (sw) +28.0,4,97.0,92,2288,17.0,72,3,datsun 510 (sw) +23.0,4,120.0,97,2506,14.5,72,3,toyouta corona mark ii (sw) +28.0,4,98.0,80,2164,15.0,72,1,dodge colt (sw) +27.0,4,97.0,88,2100,16.5,72,3,toyota corolla 1600 (sw) +13.0,8,350.0,175,4100,13.0,73,1,buick century 350 +14.0,8,304.0,150,3672,11.5,73,1,amc matador +13.0,8,350.0,145,3988,13.0,73,1,chevrolet malibu +14.0,8,302.0,137,4042,14.5,73,1,ford gran torino +15.0,8,318.0,150,3777,12.5,73,1,dodge coronet custom +12.0,8,429.0,198,4952,11.5,73,1,mercury marquis brougham +13.0,8,400.0,150,4464,12.0,73,1,chevrolet caprice classic +13.0,8,351.0,158,4363,13.0,73,1,ford ltd +14.0,8,318.0,150,4237,14.5,73,1,plymouth fury gran sedan +13.0,8,440.0,215,4735,11.0,73,1,chrysler new yorker brougham +12.0,8,455.0,225,4951,11.0,73,1,buick electra 225 custom +13.0,8,360.0,175,3821,11.0,73,1,amc ambassador brougham +18.0,6,225.0,105,3121,16.5,73,1,plymouth valiant +16.0,6,250.0,100,3278,18.0,73,1,chevrolet nova custom +18.0,6,232.0,100,2945,16.0,73,1,amc hornet +18.0,6,250.0,88,3021,16.5,73,1,ford maverick +23.0,6,198.0,95,2904,16.0,73,1,plymouth duster +26.0,4,97.0,46,1950,21.0,73,2,volkswagen super beetle +11.0,8,400.0,150,4997,14.0,73,1,chevrolet impala +12.0,8,400.0,167,4906,12.5,73,1,ford country +13.0,8,360.0,170,4654,13.0,73,1,plymouth custom suburb +12.0,8,350.0,180,4499,12.5,73,1,oldsmobile vista cruiser +18.0,6,232.0,100,2789,15.0,73,1,amc gremlin +20.0,4,97.0,88,2279,19.0,73,3,toyota carina +21.0,4,140.0,72,2401,19.5,73,1,chevrolet vega +22.0,4,108.0,94,2379,16.5,73,3,datsun 610 +18.0,3,70.0,90,2124,13.5,73,3,maxda rx3 +19.0,4,122.0,85,2310,18.5,73,1,ford pinto +21.0,6,155.0,107,2472,14.0,73,1,mercury capri v6 +26.0,4,98.0,90,2265,15.5,73,2,fiat 124 sport coupe +15.0,8,350.0,145,4082,13.0,73,1,chevrolet monte carlo s +16.0,8,400.0,230,4278,9.5,73,1,pontiac grand prix +29.0,4,68.0,49,1867,19.5,73,2,fiat 128 +24.0,4,116.0,75,2158,15.5,73,2,opel manta +20.0,4,114.0,91,2582,14.0,73,2,audi 100ls +19.0,4,121.0,112,2868,15.5,73,2,volvo 144ea +15.0,8,318.0,150,3399,11.0,73,1,dodge dart custom +24.0,4,121.0,110,2660,14.0,73,2,saab 99le +20.0,6,156.0,122,2807,13.5,73,3,toyota mark ii +11.0,8,350.0,180,3664,11.0,73,1,oldsmobile omega +20.0,6,198.0,95,3102,16.5,74,1,plymouth duster +19.0,6,232.0,100,2901,16.0,74,1,amc hornet +15.0,6,250.0,100,3336,17.0,74,1,chevrolet nova +31.0,4,79.0,67,1950,19.0,74,3,datsun b210 +26.0,4,122.0,80,2451,16.5,74,1,ford pinto +32.0,4,71.0,65,1836,21.0,74,3,toyota corolla 1200 +25.0,4,140.0,75,2542,17.0,74,1,chevrolet vega +16.0,6,250.0,100,3781,17.0,74,1,chevrolet chevelle malibu classic +16.0,6,258.0,110,3632,18.0,74,1,amc matador +18.0,6,225.0,105,3613,16.5,74,1,plymouth satellite sebring +16.0,8,302.0,140,4141,14.0,74,1,ford gran torino +13.0,8,350.0,150,4699,14.5,74,1,buick century luxus (sw) +14.0,8,318.0,150,4457,13.5,74,1,dodge coronet custom (sw) +14.0,8,302.0,140,4638,16.0,74,1,ford gran torino (sw) +14.0,8,304.0,150,4257,15.5,74,1,amc matador (sw) +29.0,4,98.0,83,2219,16.5,74,2,audi fox +26.0,4,79.0,67,1963,15.5,74,2,volkswagen dasher +26.0,4,97.0,78,2300,14.5,74,2,opel manta +31.0,4,76.0,52,1649,16.5,74,3,toyota corona +32.0,4,83.0,61,2003,19.0,74,3,datsun 710 +28.0,4,90.0,75,2125,14.5,74,1,dodge colt +24.0,4,90.0,75,2108,15.5,74,2,fiat 128 +26.0,4,116.0,75,2246,14.0,74,2,fiat 124 tc +24.0,4,120.0,97,2489,15.0,74,3,honda civic +26.0,4,108.0,93,2391,15.5,74,3,subaru +31.0,4,79.0,67,2000,16.0,74,2,fiat x1.9 +19.0,6,225.0,95,3264,16.0,75,1,plymouth valiant custom +18.0,6,250.0,105,3459,16.0,75,1,chevrolet nova +15.0,6,250.0,72,3432,21.0,75,1,mercury monarch +15.0,6,250.0,72,3158,19.5,75,1,ford maverick +16.0,8,400.0,170,4668,11.5,75,1,pontiac catalina +15.0,8,350.0,145,4440,14.0,75,1,chevrolet bel air +16.0,8,318.0,150,4498,14.5,75,1,plymouth grand fury +14.0,8,351.0,148,4657,13.5,75,1,ford ltd +17.0,6,231.0,110,3907,21.0,75,1,buick century +16.0,6,250.0,105,3897,18.5,75,1,chevroelt chevelle malibu +15.0,6,258.0,110,3730,19.0,75,1,amc matador +18.0,6,225.0,95,3785,19.0,75,1,plymouth fury +21.0,6,231.0,110,3039,15.0,75,1,buick skyhawk +20.0,8,262.0,110,3221,13.5,75,1,chevrolet monza 2+2 +13.0,8,302.0,129,3169,12.0,75,1,ford mustang ii +29.0,4,97.0,75,2171,16.0,75,3,toyota corolla +23.0,4,140.0,83,2639,17.0,75,1,ford pinto +20.0,6,232.0,100,2914,16.0,75,1,amc gremlin +23.0,4,140.0,78,2592,18.5,75,1,pontiac astro +24.0,4,134.0,96,2702,13.5,75,3,toyota corona +25.0,4,90.0,71,2223,16.5,75,2,volkswagen dasher +24.0,4,119.0,97,2545,17.0,75,3,datsun 710 +18.0,6,171.0,97,2984,14.5,75,1,ford pinto +29.0,4,90.0,70,1937,14.0,75,2,volkswagen rabbit +19.0,6,232.0,90,3211,17.0,75,1,amc pacer +23.0,4,115.0,95,2694,15.0,75,2,audi 100ls +23.0,4,120.0,88,2957,17.0,75,2,peugeot 504 +22.0,4,121.0,98,2945,14.5,75,2,volvo 244dl +25.0,4,121.0,115,2671,13.5,75,2,saab 99le +33.0,4,91.0,53,1795,17.5,75,3,honda civic cvcc +28.0,4,107.0,86,2464,15.5,76,2,fiat 131 +25.0,4,116.0,81,2220,16.9,76,2,opel 1900 +25.0,4,140.0,92,2572,14.9,76,1,capri ii +26.0,4,98.0,79,2255,17.7,76,1,dodge colt +27.0,4,101.0,83,2202,15.3,76,2,renault 12tl +17.5,8,305.0,140,4215,13.0,76,1,chevrolet chevelle malibu classic +16.0,8,318.0,150,4190,13.0,76,1,dodge coronet brougham +15.5,8,304.0,120,3962,13.9,76,1,amc matador +14.5,8,351.0,152,4215,12.8,76,1,ford gran torino +22.0,6,225.0,100,3233,15.4,76,1,plymouth valiant +22.0,6,250.0,105,3353,14.5,76,1,chevrolet nova +24.0,6,200.0,81,3012,17.6,76,1,ford maverick +22.5,6,232.0,90,3085,17.6,76,1,amc hornet +29.0,4,85.0,52,2035,22.2,76,1,chevrolet chevette +24.5,4,98.0,60,2164,22.1,76,1,chevrolet woody +29.0,4,90.0,70,1937,14.2,76,2,vw rabbit +33.0,4,91.0,53,1795,17.4,76,3,honda civic +20.0,6,225.0,100,3651,17.7,76,1,dodge aspen se +18.0,6,250.0,78,3574,21.0,76,1,ford granada ghia +18.5,6,250.0,110,3645,16.2,76,1,pontiac ventura sj +17.5,6,258.0,95,3193,17.8,76,1,amc pacer d/l +29.5,4,97.0,71,1825,12.2,76,2,volkswagen rabbit +32.0,4,85.0,70,1990,17.0,76,3,datsun b-210 +28.0,4,97.0,75,2155,16.4,76,3,toyota corolla +26.5,4,140.0,72,2565,13.6,76,1,ford pinto +20.0,4,130.0,102,3150,15.7,76,2,volvo 245 +13.0,8,318.0,150,3940,13.2,76,1,plymouth volare premier v8 +19.0,4,120.0,88,3270,21.9,76,2,peugeot 504 +19.0,6,156.0,108,2930,15.5,76,3,toyota mark ii +16.5,6,168.0,120,3820,16.7,76,2,mercedes-benz 280s +16.5,8,350.0,180,4380,12.1,76,1,cadillac seville +13.0,8,350.0,145,4055,12.0,76,1,chevy c10 +13.0,8,302.0,130,3870,15.0,76,1,ford f108 +13.0,8,318.0,150,3755,14.0,76,1,dodge d100 +31.5,4,98.0,68,2045,18.5,77,3,honda accord cvcc +30.0,4,111.0,80,2155,14.8,77,1,buick opel isuzu deluxe +36.0,4,79.0,58,1825,18.6,77,2,renault 5 gtl +25.5,4,122.0,96,2300,15.5,77,1,plymouth arrow gs +33.5,4,85.0,70,1945,16.8,77,3,datsun f-10 hatchback +17.5,8,305.0,145,3880,12.5,77,1,chevrolet caprice classic +17.0,8,260.0,110,4060,19.0,77,1,oldsmobile cutlass supreme +15.5,8,318.0,145,4140,13.7,77,1,dodge monaco brougham +15.0,8,302.0,130,4295,14.9,77,1,mercury cougar brougham +17.5,6,250.0,110,3520,16.4,77,1,chevrolet concours +20.5,6,231.0,105,3425,16.9,77,1,buick skylark +19.0,6,225.0,100,3630,17.7,77,1,plymouth volare custom +18.5,6,250.0,98,3525,19.0,77,1,ford granada +16.0,8,400.0,180,4220,11.1,77,1,pontiac grand prix lj +15.5,8,350.0,170,4165,11.4,77,1,chevrolet monte carlo landau +15.5,8,400.0,190,4325,12.2,77,1,chrysler cordoba +16.0,8,351.0,149,4335,14.5,77,1,ford thunderbird +29.0,4,97.0,78,1940,14.5,77,2,volkswagen rabbit custom +24.5,4,151.0,88,2740,16.0,77,1,pontiac sunbird coupe +26.0,4,97.0,75,2265,18.2,77,3,toyota corolla liftback +25.5,4,140.0,89,2755,15.8,77,1,ford mustang ii 2+2 +30.5,4,98.0,63,2051,17.0,77,1,chevrolet chevette +33.5,4,98.0,83,2075,15.9,77,1,dodge colt m/m +30.0,4,97.0,67,1985,16.4,77,3,subaru dl +30.5,4,97.0,78,2190,14.1,77,2,volkswagen dasher +22.0,6,146.0,97,2815,14.5,77,3,datsun 810 +21.5,4,121.0,110,2600,12.8,77,2,bmw 320i +21.5,3,80.0,110,2720,13.5,77,3,mazda rx-4 +43.1,4,90.0,48,1985,21.5,78,2,volkswagen rabbit custom diesel +36.1,4,98.0,66,1800,14.4,78,1,ford fiesta +32.8,4,78.0,52,1985,19.4,78,3,mazda glc deluxe +39.4,4,85.0,70,2070,18.6,78,3,datsun b210 gx +36.1,4,91.0,60,1800,16.4,78,3,honda civic cvcc +19.9,8,260.0,110,3365,15.5,78,1,oldsmobile cutlass salon brougham +19.4,8,318.0,140,3735,13.2,78,1,dodge diplomat +20.2,8,302.0,139,3570,12.8,78,1,mercury monarch ghia +19.2,6,231.0,105,3535,19.2,78,1,pontiac phoenix lj +20.5,6,200.0,95,3155,18.2,78,1,chevrolet malibu +20.2,6,200.0,85,2965,15.8,78,1,ford fairmont (auto) +25.1,4,140.0,88,2720,15.4,78,1,ford fairmont (man) +20.5,6,225.0,100,3430,17.2,78,1,plymouth volare +19.4,6,232.0,90,3210,17.2,78,1,amc concord +20.6,6,231.0,105,3380,15.8,78,1,buick century special +20.8,6,200.0,85,3070,16.7,78,1,mercury zephyr +18.6,6,225.0,110,3620,18.7,78,1,dodge aspen +18.1,6,258.0,120,3410,15.1,78,1,amc concord d/l +19.2,8,305.0,145,3425,13.2,78,1,chevrolet monte carlo landau +17.7,6,231.0,165,3445,13.4,78,1,buick regal sport coupe (turbo) +18.1,8,302.0,139,3205,11.2,78,1,ford futura +17.5,8,318.0,140,4080,13.7,78,1,dodge magnum xe +30.0,4,98.0,68,2155,16.5,78,1,chevrolet chevette +27.5,4,134.0,95,2560,14.2,78,3,toyota corona +27.2,4,119.0,97,2300,14.7,78,3,datsun 510 +30.9,4,105.0,75,2230,14.5,78,1,dodge omni +21.1,4,134.0,95,2515,14.8,78,3,toyota celica gt liftback +23.2,4,156.0,105,2745,16.7,78,1,plymouth sapporo +23.8,4,151.0,85,2855,17.6,78,1,oldsmobile starfire sx +23.9,4,119.0,97,2405,14.9,78,3,datsun 200-sx +20.3,5,131.0,103,2830,15.9,78,2,audi 5000 +17.0,6,163.0,125,3140,13.6,78,2,volvo 264gl +21.6,4,121.0,115,2795,15.7,78,2,saab 99gle +16.2,6,163.0,133,3410,15.8,78,2,peugeot 604sl +31.5,4,89.0,71,1990,14.9,78,2,volkswagen scirocco +29.5,4,98.0,68,2135,16.6,78,3,honda accord lx +21.5,6,231.0,115,3245,15.4,79,1,pontiac lemans v6 +19.8,6,200.0,85,2990,18.2,79,1,mercury zephyr 6 +22.3,4,140.0,88,2890,17.3,79,1,ford fairmont 4 +20.2,6,232.0,90,3265,18.2,79,1,amc concord dl 6 +20.6,6,225.0,110,3360,16.6,79,1,dodge aspen 6 +17.0,8,305.0,130,3840,15.4,79,1,chevrolet caprice classic +17.6,8,302.0,129,3725,13.4,79,1,ford ltd landau +16.5,8,351.0,138,3955,13.2,79,1,mercury grand marquis +18.2,8,318.0,135,3830,15.2,79,1,dodge st. regis +16.9,8,350.0,155,4360,14.9,79,1,buick estate wagon (sw) +15.5,8,351.0,142,4054,14.3,79,1,ford country squire (sw) +19.2,8,267.0,125,3605,15.0,79,1,chevrolet malibu classic (sw) +18.5,8,360.0,150,3940,13.0,79,1,chrysler lebaron town @ country (sw) +31.9,4,89.0,71,1925,14.0,79,2,vw rabbit custom +34.1,4,86.0,65,1975,15.2,79,3,maxda glc deluxe +35.7,4,98.0,80,1915,14.4,79,1,dodge colt hatchback custom +27.4,4,121.0,80,2670,15.0,79,1,amc spirit dl +25.4,5,183.0,77,3530,20.1,79,2,mercedes benz 300d +23.0,8,350.0,125,3900,17.4,79,1,cadillac eldorado +27.2,4,141.0,71,3190,24.8,79,2,peugeot 504 +23.9,8,260.0,90,3420,22.2,79,1,oldsmobile cutlass salon brougham +34.2,4,105.0,70,2200,13.2,79,1,plymouth horizon +34.5,4,105.0,70,2150,14.9,79,1,plymouth horizon tc3 +31.8,4,85.0,65,2020,19.2,79,3,datsun 210 +37.3,4,91.0,69,2130,14.7,79,2,fiat strada custom +28.4,4,151.0,90,2670,16.0,79,1,buick skylark limited +28.8,6,173.0,115,2595,11.3,79,1,chevrolet citation +26.8,6,173.0,115,2700,12.9,79,1,oldsmobile omega brougham +33.5,4,151.0,90,2556,13.2,79,1,pontiac phoenix +41.5,4,98.0,76,2144,14.7,80,2,vw rabbit +38.1,4,89.0,60,1968,18.8,80,3,toyota corolla tercel +32.1,4,98.0,70,2120,15.5,80,1,chevrolet chevette +37.2,4,86.0,65,2019,16.4,80,3,datsun 310 +28.0,4,151.0,90,2678,16.5,80,1,chevrolet citation +26.4,4,140.0,88,2870,18.1,80,1,ford fairmont +24.3,4,151.0,90,3003,20.1,80,1,amc concord +19.1,6,225.0,90,3381,18.7,80,1,dodge aspen +34.3,4,97.0,78,2188,15.8,80,2,audi 4000 +29.8,4,134.0,90,2711,15.5,80,3,toyota corona liftback +31.3,4,120.0,75,2542,17.5,80,3,mazda 626 +37.0,4,119.0,92,2434,15.0,80,3,datsun 510 hatchback +32.2,4,108.0,75,2265,15.2,80,3,toyota corolla +46.6,4,86.0,65,2110,17.9,80,3,mazda glc +27.9,4,156.0,105,2800,14.4,80,1,dodge colt +40.8,4,85.0,65,2110,19.2,80,3,datsun 210 +44.3,4,90.0,48,2085,21.7,80,2,vw rabbit c (diesel) +43.4,4,90.0,48,2335,23.7,80,2,vw dasher (diesel) +36.4,5,121.0,67,2950,19.9,80,2,audi 5000s (diesel) +30.0,4,146.0,67,3250,21.8,80,2,mercedes-benz 240d +44.6,4,91.0,67,1850,13.8,80,3,honda civic 1500 gl +33.8,4,97.0,67,2145,18.0,80,3,subaru dl +29.8,4,89.0,62,1845,15.3,80,2,vokswagen rabbit +32.7,6,168.0,132,2910,11.4,80,3,datsun 280-zx +23.7,3,70.0,100,2420,12.5,80,3,mazda rx-7 gs +35.0,4,122.0,88,2500,15.1,80,2,triumph tr7 coupe +32.4,4,107.0,72,2290,17.0,80,3,honda accord +27.2,4,135.0,84,2490,15.7,81,1,plymouth reliant +26.6,4,151.0,84,2635,16.4,81,1,buick skylark +25.8,4,156.0,92,2620,14.4,81,1,dodge aries wagon (sw) +23.5,6,173.0,110,2725,12.6,81,1,chevrolet citation +30.0,4,135.0,84,2385,12.9,81,1,plymouth reliant +39.1,4,79.0,58,1755,16.9,81,3,toyota starlet +39.0,4,86.0,64,1875,16.4,81,1,plymouth champ +35.1,4,81.0,60,1760,16.1,81,3,honda civic 1300 +32.3,4,97.0,67,2065,17.8,81,3,subaru +37.0,4,85.0,65,1975,19.4,81,3,datsun 210 mpg +37.7,4,89.0,62,2050,17.3,81,3,toyota tercel +34.1,4,91.0,68,1985,16.0,81,3,mazda glc 4 +34.7,4,105.0,63,2215,14.9,81,1,plymouth horizon 4 +34.4,4,98.0,65,2045,16.2,81,1,ford escort 4w +29.9,4,98.0,65,2380,20.7,81,1,ford escort 2h +33.0,4,105.0,74,2190,14.2,81,2,volkswagen jetta +33.7,4,107.0,75,2210,14.4,81,3,honda prelude +32.4,4,108.0,75,2350,16.8,81,3,toyota corolla +32.9,4,119.0,100,2615,14.8,81,3,datsun 200sx +31.6,4,120.0,74,2635,18.3,81,3,mazda 626 +28.1,4,141.0,80,3230,20.4,81,2,peugeot 505s turbo diesel +30.7,6,145.0,76,3160,19.6,81,2,volvo diesel +25.4,6,168.0,116,2900,12.6,81,3,toyota cressida +24.2,6,146.0,120,2930,13.8,81,3,datsun 810 maxima +22.4,6,231.0,110,3415,15.8,81,1,buick century +26.6,8,350.0,105,3725,19.0,81,1,oldsmobile cutlass ls +20.2,6,200.0,88,3060,17.1,81,1,ford granada gl +17.6,6,225.0,85,3465,16.6,81,1,chrysler lebaron salon +28.0,4,112.0,88,2605,19.6,82,1,chevrolet cavalier +27.0,4,112.0,88,2640,18.6,82,1,chevrolet cavalier wagon +34.0,4,112.0,88,2395,18.0,82,1,chevrolet cavalier 2-door +31.0,4,112.0,85,2575,16.2,82,1,pontiac j2000 se hatchback +29.0,4,135.0,84,2525,16.0,82,1,dodge aries se +27.0,4,151.0,90,2735,18.0,82,1,pontiac phoenix +24.0,4,140.0,92,2865,16.4,82,1,ford fairmont futura +36.0,4,105.0,74,1980,15.3,82,2,volkswagen rabbit l +37.0,4,91.0,68,2025,18.2,82,3,mazda glc custom l +31.0,4,91.0,68,1970,17.6,82,3,mazda glc custom +38.0,4,105.0,63,2125,14.7,82,1,plymouth horizon miser +36.0,4,98.0,70,2125,17.3,82,1,mercury lynx l +36.0,4,120.0,88,2160,14.5,82,3,nissan stanza xe +36.0,4,107.0,75,2205,14.5,82,3,honda accord +34.0,4,108.0,70,2245,16.9,82,3,toyota corolla +38.0,4,91.0,67,1965,15.0,82,3,honda civic +32.0,4,91.0,67,1965,15.7,82,3,honda civic (auto) +38.0,4,91.0,67,1995,16.2,82,3,datsun 310 gx +25.0,6,181.0,110,2945,16.4,82,1,buick century limited +38.0,6,262.0,85,3015,17.0,82,1,oldsmobile cutlass ciera (diesel) +26.0,4,156.0,92,2585,14.5,82,1,chrysler lebaron medallion +22.0,6,232.0,112,2835,14.7,82,1,ford granada l +32.0,4,144.0,96,2665,13.9,82,3,toyota celica gt +36.0,4,135.0,84,2370,13.0,82,1,dodge charger 2.2 +27.0,4,151.0,90,2950,17.3,82,1,chevrolet camaro +27.0,4,140.0,86,2790,15.6,82,1,ford mustang gl +44.0,4,97.0,52,2130,24.6,82,2,vw pickup +32.0,4,135.0,84,2295,11.6,82,1,dodge rampage +28.0,4,120.0,79,2625,18.6,82,1,ford ranger +31.0,4,119.0,82,2720,19.4,82,1,chevy s-10 diff --git a/docs/source/labs/Auto.data b/docs/source/labs/Auto.data new file mode 100644 index 0000000..f863a85 --- /dev/null +++ b/docs/source/labs/Auto.data @@ -0,0 +1,398 @@ +mpg cylinders displacement horsepower weight acceleration year origin name +18.0 8 307.0 130.0 3504. 12.0 70 1 "chevrolet chevelle malibu" +15.0 8 350.0 165.0 3693. 11.5 70 1 "buick skylark 320" +18.0 8 318.0 150.0 3436. 11.0 70 1 "plymouth satellite" +16.0 8 304.0 150.0 3433. 12.0 70 1 "amc rebel sst" +17.0 8 302.0 140.0 3449. 10.5 70 1 "ford torino" +15.0 8 429.0 198.0 4341. 10.0 70 1 "ford galaxie 500" +14.0 8 454.0 220.0 4354. 9.0 70 1 "chevrolet impala" +14.0 8 440.0 215.0 4312. 8.5 70 1 "plymouth fury iii" +14.0 8 455.0 225.0 4425. 10.0 70 1 "pontiac catalina" +15.0 8 390.0 190.0 3850. 8.5 70 1 "amc ambassador dpl" +15.0 8 383.0 170.0 3563. 10.0 70 1 "dodge challenger se" +14.0 8 340.0 160.0 3609. 8.0 70 1 "plymouth 'cuda 340" +15.0 8 400.0 150.0 3761. 9.5 70 1 "chevrolet monte carlo" +14.0 8 455.0 225.0 3086. 10.0 70 1 "buick estate wagon (sw)" +24.0 4 113.0 95.00 2372. 15.0 70 3 "toyota corona mark ii" +22.0 6 198.0 95.00 2833. 15.5 70 1 "plymouth duster" +18.0 6 199.0 97.00 2774. 15.5 70 1 "amc hornet" +21.0 6 200.0 85.00 2587. 16.0 70 1 "ford maverick" +27.0 4 97.00 88.00 2130. 14.5 70 3 "datsun pl510" +26.0 4 97.00 46.00 1835. 20.5 70 2 "volkswagen 1131 deluxe sedan" +25.0 4 110.0 87.00 2672. 17.5 70 2 "peugeot 504" +24.0 4 107.0 90.00 2430. 14.5 70 2 "audi 100 ls" +25.0 4 104.0 95.00 2375. 17.5 70 2 "saab 99e" +26.0 4 121.0 113.0 2234. 12.5 70 2 "bmw 2002" +21.0 6 199.0 90.00 2648. 15.0 70 1 "amc gremlin" +10.0 8 360.0 215.0 4615. 14.0 70 1 "ford f250" +10.0 8 307.0 200.0 4376. 15.0 70 1 "chevy c20" +11.0 8 318.0 210.0 4382. 13.5 70 1 "dodge d200" +9.0 8 304.0 193.0 4732. 18.5 70 1 "hi 1200d" +27.0 4 97.00 88.00 2130. 14.5 71 3 "datsun pl510" +28.0 4 140.0 90.00 2264. 15.5 71 1 "chevrolet vega 2300" +25.0 4 113.0 95.00 2228. 14.0 71 3 "toyota corona" +25.0 4 98.00 ? 2046. 19.0 71 1 "ford pinto" +19.0 6 232.0 100.0 2634. 13.0 71 1 "amc gremlin" +16.0 6 225.0 105.0 3439. 15.5 71 1 "plymouth satellite custom" +17.0 6 250.0 100.0 3329. 15.5 71 1 "chevrolet chevelle malibu" +19.0 6 250.0 88.00 3302. 15.5 71 1 "ford torino 500" +18.0 6 232.0 100.0 3288. 15.5 71 1 "amc matador" +14.0 8 350.0 165.0 4209. 12.0 71 1 "chevrolet impala" +14.0 8 400.0 175.0 4464. 11.5 71 1 "pontiac catalina brougham" +14.0 8 351.0 153.0 4154. 13.5 71 1 "ford galaxie 500" +14.0 8 318.0 150.0 4096. 13.0 71 1 "plymouth fury iii" +12.0 8 383.0 180.0 4955. 11.5 71 1 "dodge monaco (sw)" +13.0 8 400.0 170.0 4746. 12.0 71 1 "ford country squire (sw)" +13.0 8 400.0 175.0 5140. 12.0 71 1 "pontiac safari (sw)" +18.0 6 258.0 110.0 2962. 13.5 71 1 "amc hornet sportabout (sw)" +22.0 4 140.0 72.00 2408. 19.0 71 1 "chevrolet vega (sw)" +19.0 6 250.0 100.0 3282. 15.0 71 1 "pontiac firebird" +18.0 6 250.0 88.00 3139. 14.5 71 1 "ford mustang" +23.0 4 122.0 86.00 2220. 14.0 71 1 "mercury capri 2000" +28.0 4 116.0 90.00 2123. 14.0 71 2 "opel 1900" +30.0 4 79.00 70.00 2074. 19.5 71 2 "peugeot 304" +30.0 4 88.00 76.00 2065. 14.5 71 2 "fiat 124b" +31.0 4 71.00 65.00 1773. 19.0 71 3 "toyota corolla 1200" +35.0 4 72.00 69.00 1613. 18.0 71 3 "datsun 1200" +27.0 4 97.00 60.00 1834. 19.0 71 2 "volkswagen model 111" +26.0 4 91.00 70.00 1955. 20.5 71 1 "plymouth cricket" +24.0 4 113.0 95.00 2278. 15.5 72 3 "toyota corona hardtop" +25.0 4 97.50 80.00 2126. 17.0 72 1 "dodge colt hardtop" +23.0 4 97.00 54.00 2254. 23.5 72 2 "volkswagen type 3" +20.0 4 140.0 90.00 2408. 19.5 72 1 "chevrolet vega" +21.0 4 122.0 86.00 2226. 16.5 72 1 "ford pinto runabout" +13.0 8 350.0 165.0 4274. 12.0 72 1 "chevrolet impala" +14.0 8 400.0 175.0 4385. 12.0 72 1 "pontiac catalina" +15.0 8 318.0 150.0 4135. 13.5 72 1 "plymouth fury iii" +14.0 8 351.0 153.0 4129. 13.0 72 1 "ford galaxie 500" +17.0 8 304.0 150.0 3672. 11.5 72 1 "amc ambassador sst" +11.0 8 429.0 208.0 4633. 11.0 72 1 "mercury marquis" +13.0 8 350.0 155.0 4502. 13.5 72 1 "buick lesabre custom" +12.0 8 350.0 160.0 4456. 13.5 72 1 "oldsmobile delta 88 royale" +13.0 8 400.0 190.0 4422. 12.5 72 1 "chrysler newport royal" +19.0 3 70.00 97.00 2330. 13.5 72 3 "mazda rx2 coupe" +15.0 8 304.0 150.0 3892. 12.5 72 1 "amc matador (sw)" +13.0 8 307.0 130.0 4098. 14.0 72 1 "chevrolet chevelle concours (sw)" +13.0 8 302.0 140.0 4294. 16.0 72 1 "ford gran torino (sw)" +14.0 8 318.0 150.0 4077. 14.0 72 1 "plymouth satellite custom (sw)" +18.0 4 121.0 112.0 2933. 14.5 72 2 "volvo 145e (sw)" +22.0 4 121.0 76.00 2511. 18.0 72 2 "volkswagen 411 (sw)" +21.0 4 120.0 87.00 2979. 19.5 72 2 "peugeot 504 (sw)" +26.0 4 96.00 69.00 2189. 18.0 72 2 "renault 12 (sw)" +22.0 4 122.0 86.00 2395. 16.0 72 1 "ford pinto (sw)" +28.0 4 97.00 92.00 2288. 17.0 72 3 "datsun 510 (sw)" +23.0 4 120.0 97.00 2506. 14.5 72 3 "toyouta corona mark ii (sw)" +28.0 4 98.00 80.00 2164. 15.0 72 1 "dodge colt (sw)" +27.0 4 97.00 88.00 2100. 16.5 72 3 "toyota corolla 1600 (sw)" +13.0 8 350.0 175.0 4100. 13.0 73 1 "buick century 350" +14.0 8 304.0 150.0 3672. 11.5 73 1 "amc matador" +13.0 8 350.0 145.0 3988. 13.0 73 1 "chevrolet malibu" +14.0 8 302.0 137.0 4042. 14.5 73 1 "ford gran torino" +15.0 8 318.0 150.0 3777. 12.5 73 1 "dodge coronet custom" +12.0 8 429.0 198.0 4952. 11.5 73 1 "mercury marquis brougham" +13.0 8 400.0 150.0 4464. 12.0 73 1 "chevrolet caprice classic" +13.0 8 351.0 158.0 4363. 13.0 73 1 "ford ltd" +14.0 8 318.0 150.0 4237. 14.5 73 1 "plymouth fury gran sedan" +13.0 8 440.0 215.0 4735. 11.0 73 1 "chrysler new yorker brougham" +12.0 8 455.0 225.0 4951. 11.0 73 1 "buick electra 225 custom" +13.0 8 360.0 175.0 3821. 11.0 73 1 "amc ambassador brougham" +18.0 6 225.0 105.0 3121. 16.5 73 1 "plymouth valiant" +16.0 6 250.0 100.0 3278. 18.0 73 1 "chevrolet nova custom" +18.0 6 232.0 100.0 2945. 16.0 73 1 "amc hornet" +18.0 6 250.0 88.00 3021. 16.5 73 1 "ford maverick" +23.0 6 198.0 95.00 2904. 16.0 73 1 "plymouth duster" +26.0 4 97.00 46.00 1950. 21.0 73 2 "volkswagen super beetle" +11.0 8 400.0 150.0 4997. 14.0 73 1 "chevrolet impala" +12.0 8 400.0 167.0 4906. 12.5 73 1 "ford country" +13.0 8 360.0 170.0 4654. 13.0 73 1 "plymouth custom suburb" +12.0 8 350.0 180.0 4499. 12.5 73 1 "oldsmobile vista cruiser" +18.0 6 232.0 100.0 2789. 15.0 73 1 "amc gremlin" +20.0 4 97.00 88.00 2279. 19.0 73 3 "toyota carina" +21.0 4 140.0 72.00 2401. 19.5 73 1 "chevrolet vega" +22.0 4 108.0 94.00 2379. 16.5 73 3 "datsun 610" +18.0 3 70.00 90.00 2124. 13.5 73 3 "maxda rx3" +19.0 4 122.0 85.00 2310. 18.5 73 1 "ford pinto" +21.0 6 155.0 107.0 2472. 14.0 73 1 "mercury capri v6" +26.0 4 98.00 90.00 2265. 15.5 73 2 "fiat 124 sport coupe" +15.0 8 350.0 145.0 4082. 13.0 73 1 "chevrolet monte carlo s" +16.0 8 400.0 230.0 4278. 9.50 73 1 "pontiac grand prix" +29.0 4 68.00 49.00 1867. 19.5 73 2 "fiat 128" +24.0 4 116.0 75.00 2158. 15.5 73 2 "opel manta" +20.0 4 114.0 91.00 2582. 14.0 73 2 "audi 100ls" +19.0 4 121.0 112.0 2868. 15.5 73 2 "volvo 144ea" +15.0 8 318.0 150.0 3399. 11.0 73 1 "dodge dart custom" +24.0 4 121.0 110.0 2660. 14.0 73 2 "saab 99le" +20.0 6 156.0 122.0 2807. 13.5 73 3 "toyota mark ii" +11.0 8 350.0 180.0 3664. 11.0 73 1 "oldsmobile omega" +20.0 6 198.0 95.00 3102. 16.5 74 1 "plymouth duster" +21.0 6 200.0 ? 2875. 17.0 74 1 "ford maverick" +19.0 6 232.0 100.0 2901. 16.0 74 1 "amc hornet" +15.0 6 250.0 100.0 3336. 17.0 74 1 "chevrolet nova" +31.0 4 79.00 67.00 1950. 19.0 74 3 "datsun b210" +26.0 4 122.0 80.00 2451. 16.5 74 1 "ford pinto" +32.0 4 71.00 65.00 1836. 21.0 74 3 "toyota corolla 1200" +25.0 4 140.0 75.00 2542. 17.0 74 1 "chevrolet vega" +16.0 6 250.0 100.0 3781. 17.0 74 1 "chevrolet chevelle malibu classic" +16.0 6 258.0 110.0 3632. 18.0 74 1 "amc matador" +18.0 6 225.0 105.0 3613. 16.5 74 1 "plymouth satellite sebring" +16.0 8 302.0 140.0 4141. 14.0 74 1 "ford gran torino" +13.0 8 350.0 150.0 4699. 14.5 74 1 "buick century luxus (sw)" +14.0 8 318.0 150.0 4457. 13.5 74 1 "dodge coronet custom (sw)" +14.0 8 302.0 140.0 4638. 16.0 74 1 "ford gran torino (sw)" +14.0 8 304.0 150.0 4257. 15.5 74 1 "amc matador (sw)" +29.0 4 98.00 83.00 2219. 16.5 74 2 "audi fox" +26.0 4 79.00 67.00 1963. 15.5 74 2 "volkswagen dasher" +26.0 4 97.00 78.00 2300. 14.5 74 2 "opel manta" +31.0 4 76.00 52.00 1649. 16.5 74 3 "toyota corona" +32.0 4 83.00 61.00 2003. 19.0 74 3 "datsun 710" +28.0 4 90.00 75.00 2125. 14.5 74 1 "dodge colt" +24.0 4 90.00 75.00 2108. 15.5 74 2 "fiat 128" +26.0 4 116.0 75.00 2246. 14.0 74 2 "fiat 124 tc" +24.0 4 120.0 97.00 2489. 15.0 74 3 "honda civic" +26.0 4 108.0 93.00 2391. 15.5 74 3 "subaru" +31.0 4 79.00 67.00 2000. 16.0 74 2 "fiat x1.9" +19.0 6 225.0 95.00 3264. 16.0 75 1 "plymouth valiant custom" +18.0 6 250.0 105.0 3459. 16.0 75 1 "chevrolet nova" +15.0 6 250.0 72.00 3432. 21.0 75 1 "mercury monarch" +15.0 6 250.0 72.00 3158. 19.5 75 1 "ford maverick" +16.0 8 400.0 170.0 4668. 11.5 75 1 "pontiac catalina" +15.0 8 350.0 145.0 4440. 14.0 75 1 "chevrolet bel air" +16.0 8 318.0 150.0 4498. 14.5 75 1 "plymouth grand fury" +14.0 8 351.0 148.0 4657. 13.5 75 1 "ford ltd" +17.0 6 231.0 110.0 3907. 21.0 75 1 "buick century" +16.0 6 250.0 105.0 3897. 18.5 75 1 "chevroelt chevelle malibu" +15.0 6 258.0 110.0 3730. 19.0 75 1 "amc matador" +18.0 6 225.0 95.00 3785. 19.0 75 1 "plymouth fury" +21.0 6 231.0 110.0 3039. 15.0 75 1 "buick skyhawk" +20.0 8 262.0 110.0 3221. 13.5 75 1 "chevrolet monza 2+2" +13.0 8 302.0 129.0 3169. 12.0 75 1 "ford mustang ii" +29.0 4 97.00 75.00 2171. 16.0 75 3 "toyota corolla" +23.0 4 140.0 83.00 2639. 17.0 75 1 "ford pinto" +20.0 6 232.0 100.0 2914. 16.0 75 1 "amc gremlin" +23.0 4 140.0 78.00 2592. 18.5 75 1 "pontiac astro" +24.0 4 134.0 96.00 2702. 13.5 75 3 "toyota corona" +25.0 4 90.00 71.00 2223. 16.5 75 2 "volkswagen dasher" +24.0 4 119.0 97.00 2545. 17.0 75 3 "datsun 710" +18.0 6 171.0 97.00 2984. 14.5 75 1 "ford pinto" +29.0 4 90.00 70.00 1937. 14.0 75 2 "volkswagen rabbit" +19.0 6 232.0 90.00 3211. 17.0 75 1 "amc pacer" +23.0 4 115.0 95.00 2694. 15.0 75 2 "audi 100ls" +23.0 4 120.0 88.00 2957. 17.0 75 2 "peugeot 504" +22.0 4 121.0 98.00 2945. 14.5 75 2 "volvo 244dl" +25.0 4 121.0 115.0 2671. 13.5 75 2 "saab 99le" +33.0 4 91.00 53.00 1795. 17.5 75 3 "honda civic cvcc" +28.0 4 107.0 86.00 2464. 15.5 76 2 "fiat 131" +25.0 4 116.0 81.00 2220. 16.9 76 2 "opel 1900" +25.0 4 140.0 92.00 2572. 14.9 76 1 "capri ii" +26.0 4 98.00 79.00 2255. 17.7 76 1 "dodge colt" +27.0 4 101.0 83.00 2202. 15.3 76 2 "renault 12tl" +17.5 8 305.0 140.0 4215. 13.0 76 1 "chevrolet chevelle malibu classic" +16.0 8 318.0 150.0 4190. 13.0 76 1 "dodge coronet brougham" +15.5 8 304.0 120.0 3962. 13.9 76 1 "amc matador" +14.5 8 351.0 152.0 4215. 12.8 76 1 "ford gran torino" +22.0 6 225.0 100.0 3233. 15.4 76 1 "plymouth valiant" +22.0 6 250.0 105.0 3353. 14.5 76 1 "chevrolet nova" +24.0 6 200.0 81.00 3012. 17.6 76 1 "ford maverick" +22.5 6 232.0 90.00 3085. 17.6 76 1 "amc hornet" +29.0 4 85.00 52.00 2035. 22.2 76 1 "chevrolet chevette" +24.5 4 98.00 60.00 2164. 22.1 76 1 "chevrolet woody" +29.0 4 90.00 70.00 1937. 14.2 76 2 "vw rabbit" +33.0 4 91.00 53.00 1795. 17.4 76 3 "honda civic" +20.0 6 225.0 100.0 3651. 17.7 76 1 "dodge aspen se" +18.0 6 250.0 78.00 3574. 21.0 76 1 "ford granada ghia" +18.5 6 250.0 110.0 3645. 16.2 76 1 "pontiac ventura sj" +17.5 6 258.0 95.00 3193. 17.8 76 1 "amc pacer d/l" +29.5 4 97.00 71.00 1825. 12.2 76 2 "volkswagen rabbit" +32.0 4 85.00 70.00 1990. 17.0 76 3 "datsun b-210" +28.0 4 97.00 75.00 2155. 16.4 76 3 "toyota corolla" +26.5 4 140.0 72.00 2565. 13.6 76 1 "ford pinto" +20.0 4 130.0 102.0 3150. 15.7 76 2 "volvo 245" +13.0 8 318.0 150.0 3940. 13.2 76 1 "plymouth volare premier v8" +19.0 4 120.0 88.00 3270. 21.9 76 2 "peugeot 504" +19.0 6 156.0 108.0 2930. 15.5 76 3 "toyota mark ii" +16.5 6 168.0 120.0 3820. 16.7 76 2 "mercedes-benz 280s" +16.5 8 350.0 180.0 4380. 12.1 76 1 "cadillac seville" +13.0 8 350.0 145.0 4055. 12.0 76 1 "chevy c10" +13.0 8 302.0 130.0 3870. 15.0 76 1 "ford f108" +13.0 8 318.0 150.0 3755. 14.0 76 1 "dodge d100" +31.5 4 98.00 68.00 2045. 18.5 77 3 "honda accord cvcc" +30.0 4 111.0 80.00 2155. 14.8 77 1 "buick opel isuzu deluxe" +36.0 4 79.00 58.00 1825. 18.6 77 2 "renault 5 gtl" +25.5 4 122.0 96.00 2300. 15.5 77 1 "plymouth arrow gs" +33.5 4 85.00 70.00 1945. 16.8 77 3 "datsun f-10 hatchback" +17.5 8 305.0 145.0 3880. 12.5 77 1 "chevrolet caprice classic" +17.0 8 260.0 110.0 4060. 19.0 77 1 "oldsmobile cutlass supreme" +15.5 8 318.0 145.0 4140. 13.7 77 1 "dodge monaco brougham" +15.0 8 302.0 130.0 4295. 14.9 77 1 "mercury cougar brougham" +17.5 6 250.0 110.0 3520. 16.4 77 1 "chevrolet concours" +20.5 6 231.0 105.0 3425. 16.9 77 1 "buick skylark" +19.0 6 225.0 100.0 3630. 17.7 77 1 "plymouth volare custom" +18.5 6 250.0 98.00 3525. 19.0 77 1 "ford granada" +16.0 8 400.0 180.0 4220. 11.1 77 1 "pontiac grand prix lj" +15.5 8 350.0 170.0 4165. 11.4 77 1 "chevrolet monte carlo landau" +15.5 8 400.0 190.0 4325. 12.2 77 1 "chrysler cordoba" +16.0 8 351.0 149.0 4335. 14.5 77 1 "ford thunderbird" +29.0 4 97.00 78.00 1940. 14.5 77 2 "volkswagen rabbit custom" +24.5 4 151.0 88.00 2740. 16.0 77 1 "pontiac sunbird coupe" +26.0 4 97.00 75.00 2265. 18.2 77 3 "toyota corolla liftback" +25.5 4 140.0 89.00 2755. 15.8 77 1 "ford mustang ii 2+2" +30.5 4 98.00 63.00 2051. 17.0 77 1 "chevrolet chevette" +33.5 4 98.00 83.00 2075. 15.9 77 1 "dodge colt m/m" +30.0 4 97.00 67.00 1985. 16.4 77 3 "subaru dl" +30.5 4 97.00 78.00 2190. 14.1 77 2 "volkswagen dasher" +22.0 6 146.0 97.00 2815. 14.5 77 3 "datsun 810" +21.5 4 121.0 110.0 2600. 12.8 77 2 "bmw 320i" +21.5 3 80.00 110.0 2720. 13.5 77 3 "mazda rx-4" +43.1 4 90.00 48.00 1985. 21.5 78 2 "volkswagen rabbit custom diesel" +36.1 4 98.00 66.00 1800. 14.4 78 1 "ford fiesta" +32.8 4 78.00 52.00 1985. 19.4 78 3 "mazda glc deluxe" +39.4 4 85.00 70.00 2070. 18.6 78 3 "datsun b210 gx" +36.1 4 91.00 60.00 1800. 16.4 78 3 "honda civic cvcc" +19.9 8 260.0 110.0 3365. 15.5 78 1 "oldsmobile cutlass salon brougham" +19.4 8 318.0 140.0 3735. 13.2 78 1 "dodge diplomat" +20.2 8 302.0 139.0 3570. 12.8 78 1 "mercury monarch ghia" +19.2 6 231.0 105.0 3535. 19.2 78 1 "pontiac phoenix lj" +20.5 6 200.0 95.00 3155. 18.2 78 1 "chevrolet malibu" +20.2 6 200.0 85.00 2965. 15.8 78 1 "ford fairmont (auto)" +25.1 4 140.0 88.00 2720. 15.4 78 1 "ford fairmont (man)" +20.5 6 225.0 100.0 3430. 17.2 78 1 "plymouth volare" +19.4 6 232.0 90.00 3210. 17.2 78 1 "amc concord" +20.6 6 231.0 105.0 3380. 15.8 78 1 "buick century special" +20.8 6 200.0 85.00 3070. 16.7 78 1 "mercury zephyr" +18.6 6 225.0 110.0 3620. 18.7 78 1 "dodge aspen" +18.1 6 258.0 120.0 3410. 15.1 78 1 "amc concord d/l" +19.2 8 305.0 145.0 3425. 13.2 78 1 "chevrolet monte carlo landau" +17.7 6 231.0 165.0 3445. 13.4 78 1 "buick regal sport coupe (turbo)" +18.1 8 302.0 139.0 3205. 11.2 78 1 "ford futura" +17.5 8 318.0 140.0 4080. 13.7 78 1 "dodge magnum xe" +30.0 4 98.00 68.00 2155. 16.5 78 1 "chevrolet chevette" +27.5 4 134.0 95.00 2560. 14.2 78 3 "toyota corona" +27.2 4 119.0 97.00 2300. 14.7 78 3 "datsun 510" +30.9 4 105.0 75.00 2230. 14.5 78 1 "dodge omni" +21.1 4 134.0 95.00 2515. 14.8 78 3 "toyota celica gt liftback" +23.2 4 156.0 105.0 2745. 16.7 78 1 "plymouth sapporo" +23.8 4 151.0 85.00 2855. 17.6 78 1 "oldsmobile starfire sx" +23.9 4 119.0 97.00 2405. 14.9 78 3 "datsun 200-sx" +20.3 5 131.0 103.0 2830. 15.9 78 2 "audi 5000" +17.0 6 163.0 125.0 3140. 13.6 78 2 "volvo 264gl" +21.6 4 121.0 115.0 2795. 15.7 78 2 "saab 99gle" +16.2 6 163.0 133.0 3410. 15.8 78 2 "peugeot 604sl" +31.5 4 89.00 71.00 1990. 14.9 78 2 "volkswagen scirocco" +29.5 4 98.00 68.00 2135. 16.6 78 3 "honda accord lx" +21.5 6 231.0 115.0 3245. 15.4 79 1 "pontiac lemans v6" +19.8 6 200.0 85.00 2990. 18.2 79 1 "mercury zephyr 6" +22.3 4 140.0 88.00 2890. 17.3 79 1 "ford fairmont 4" +20.2 6 232.0 90.00 3265. 18.2 79 1 "amc concord dl 6" +20.6 6 225.0 110.0 3360. 16.6 79 1 "dodge aspen 6" +17.0 8 305.0 130.0 3840. 15.4 79 1 "chevrolet caprice classic" +17.6 8 302.0 129.0 3725. 13.4 79 1 "ford ltd landau" +16.5 8 351.0 138.0 3955. 13.2 79 1 "mercury grand marquis" +18.2 8 318.0 135.0 3830. 15.2 79 1 "dodge st. regis" +16.9 8 350.0 155.0 4360. 14.9 79 1 "buick estate wagon (sw)" +15.5 8 351.0 142.0 4054. 14.3 79 1 "ford country squire (sw)" +19.2 8 267.0 125.0 3605. 15.0 79 1 "chevrolet malibu classic (sw)" +18.5 8 360.0 150.0 3940. 13.0 79 1 "chrysler lebaron town @ country (sw)" +31.9 4 89.00 71.00 1925. 14.0 79 2 "vw rabbit custom" +34.1 4 86.00 65.00 1975. 15.2 79 3 "maxda glc deluxe" +35.7 4 98.00 80.00 1915. 14.4 79 1 "dodge colt hatchback custom" +27.4 4 121.0 80.00 2670. 15.0 79 1 "amc spirit dl" +25.4 5 183.0 77.00 3530. 20.1 79 2 "mercedes benz 300d" +23.0 8 350.0 125.0 3900. 17.4 79 1 "cadillac eldorado" +27.2 4 141.0 71.00 3190. 24.8 79 2 "peugeot 504" +23.9 8 260.0 90.00 3420. 22.2 79 1 "oldsmobile cutlass salon brougham" +34.2 4 105.0 70.00 2200. 13.2 79 1 "plymouth horizon" +34.5 4 105.0 70.00 2150. 14.9 79 1 "plymouth horizon tc3" +31.8 4 85.00 65.00 2020. 19.2 79 3 "datsun 210" +37.3 4 91.00 69.00 2130. 14.7 79 2 "fiat strada custom" +28.4 4 151.0 90.00 2670. 16.0 79 1 "buick skylark limited" +28.8 6 173.0 115.0 2595. 11.3 79 1 "chevrolet citation" +26.8 6 173.0 115.0 2700. 12.9 79 1 "oldsmobile omega brougham" +33.5 4 151.0 90.00 2556. 13.2 79 1 "pontiac phoenix" +41.5 4 98.00 76.00 2144. 14.7 80 2 "vw rabbit" +38.1 4 89.00 60.00 1968. 18.8 80 3 "toyota corolla tercel" +32.1 4 98.00 70.00 2120. 15.5 80 1 "chevrolet chevette" +37.2 4 86.00 65.00 2019. 16.4 80 3 "datsun 310" +28.0 4 151.0 90.00 2678. 16.5 80 1 "chevrolet citation" +26.4 4 140.0 88.00 2870. 18.1 80 1 "ford fairmont" +24.3 4 151.0 90.00 3003. 20.1 80 1 "amc concord" +19.1 6 225.0 90.00 3381. 18.7 80 1 "dodge aspen" +34.3 4 97.00 78.00 2188. 15.8 80 2 "audi 4000" +29.8 4 134.0 90.00 2711. 15.5 80 3 "toyota corona liftback" +31.3 4 120.0 75.00 2542. 17.5 80 3 "mazda 626" +37.0 4 119.0 92.00 2434. 15.0 80 3 "datsun 510 hatchback" +32.2 4 108.0 75.00 2265. 15.2 80 3 "toyota corolla" +46.6 4 86.00 65.00 2110. 17.9 80 3 "mazda glc" +27.9 4 156.0 105.0 2800. 14.4 80 1 "dodge colt" +40.8 4 85.00 65.00 2110. 19.2 80 3 "datsun 210" +44.3 4 90.00 48.00 2085. 21.7 80 2 "vw rabbit c (diesel)" +43.4 4 90.00 48.00 2335. 23.7 80 2 "vw dasher (diesel)" +36.4 5 121.0 67.00 2950. 19.9 80 2 "audi 5000s (diesel)" +30.0 4 146.0 67.00 3250. 21.8 80 2 "mercedes-benz 240d" +44.6 4 91.00 67.00 1850. 13.8 80 3 "honda civic 1500 gl" +40.9 4 85.00 ? 1835. 17.3 80 2 "renault lecar deluxe" +33.8 4 97.00 67.00 2145. 18.0 80 3 "subaru dl" +29.8 4 89.00 62.00 1845. 15.3 80 2 "vokswagen rabbit" +32.7 6 168.0 132.0 2910. 11.4 80 3 "datsun 280-zx" +23.7 3 70.00 100.0 2420. 12.5 80 3 "mazda rx-7 gs" +35.0 4 122.0 88.00 2500. 15.1 80 2 "triumph tr7 coupe" +23.6 4 140.0 ? 2905. 14.3 80 1 "ford mustang cobra" +32.4 4 107.0 72.00 2290. 17.0 80 3 "honda accord" +27.2 4 135.0 84.00 2490. 15.7 81 1 "plymouth reliant" +26.6 4 151.0 84.00 2635. 16.4 81 1 "buick skylark" +25.8 4 156.0 92.00 2620. 14.4 81 1 "dodge aries wagon (sw)" +23.5 6 173.0 110.0 2725. 12.6 81 1 "chevrolet citation" +30.0 4 135.0 84.00 2385. 12.9 81 1 "plymouth reliant" +39.1 4 79.00 58.00 1755. 16.9 81 3 "toyota starlet" +39.0 4 86.00 64.00 1875. 16.4 81 1 "plymouth champ" +35.1 4 81.00 60.00 1760. 16.1 81 3 "honda civic 1300" +32.3 4 97.00 67.00 2065. 17.8 81 3 "subaru" +37.0 4 85.00 65.00 1975. 19.4 81 3 "datsun 210 mpg" +37.7 4 89.00 62.00 2050. 17.3 81 3 "toyota tercel" +34.1 4 91.00 68.00 1985. 16.0 81 3 "mazda glc 4" +34.7 4 105.0 63.00 2215. 14.9 81 1 "plymouth horizon 4" +34.4 4 98.00 65.00 2045. 16.2 81 1 "ford escort 4w" +29.9 4 98.00 65.00 2380. 20.7 81 1 "ford escort 2h" +33.0 4 105.0 74.00 2190. 14.2 81 2 "volkswagen jetta" +34.5 4 100.0 ? 2320. 15.8 81 2 "renault 18i" +33.7 4 107.0 75.00 2210. 14.4 81 3 "honda prelude" +32.4 4 108.0 75.00 2350. 16.8 81 3 "toyota corolla" +32.9 4 119.0 100.0 2615. 14.8 81 3 "datsun 200sx" +31.6 4 120.0 74.00 2635. 18.3 81 3 "mazda 626" +28.1 4 141.0 80.00 3230. 20.4 81 2 "peugeot 505s turbo diesel" +30.7 6 145.0 76.00 3160. 19.6 81 2 "volvo diesel" +25.4 6 168.0 116.0 2900. 12.6 81 3 "toyota cressida" +24.2 6 146.0 120.0 2930. 13.8 81 3 "datsun 810 maxima" +22.4 6 231.0 110.0 3415. 15.8 81 1 "buick century" +26.6 8 350.0 105.0 3725. 19.0 81 1 "oldsmobile cutlass ls" +20.2 6 200.0 88.00 3060. 17.1 81 1 "ford granada gl" +17.6 6 225.0 85.00 3465. 16.6 81 1 "chrysler lebaron salon" +28.0 4 112.0 88.00 2605. 19.6 82 1 "chevrolet cavalier" +27.0 4 112.0 88.00 2640. 18.6 82 1 "chevrolet cavalier wagon" +34.0 4 112.0 88.00 2395. 18.0 82 1 "chevrolet cavalier 2-door" +31.0 4 112.0 85.00 2575. 16.2 82 1 "pontiac j2000 se hatchback" +29.0 4 135.0 84.00 2525. 16.0 82 1 "dodge aries se" +27.0 4 151.0 90.00 2735. 18.0 82 1 "pontiac phoenix" +24.0 4 140.0 92.00 2865. 16.4 82 1 "ford fairmont futura" +36.0 4 105.0 74.00 1980. 15.3 82 2 "volkswagen rabbit l" +37.0 4 91.00 68.00 2025. 18.2 82 3 "mazda glc custom l" +31.0 4 91.00 68.00 1970. 17.6 82 3 "mazda glc custom" +38.0 4 105.0 63.00 2125. 14.7 82 1 "plymouth horizon miser" +36.0 4 98.00 70.00 2125. 17.3 82 1 "mercury lynx l" +36.0 4 120.0 88.00 2160. 14.5 82 3 "nissan stanza xe" +36.0 4 107.0 75.00 2205. 14.5 82 3 "honda accord" +34.0 4 108.0 70.00 2245 16.9 82 3 "toyota corolla" +38.0 4 91.00 67.00 1965. 15.0 82 3 "honda civic" +32.0 4 91.00 67.00 1965. 15.7 82 3 "honda civic (auto)" +38.0 4 91.00 67.00 1995. 16.2 82 3 "datsun 310 gx" +25.0 6 181.0 110.0 2945. 16.4 82 1 "buick century limited" +38.0 6 262.0 85.00 3015. 17.0 82 1 "oldsmobile cutlass ciera (diesel)" +26.0 4 156.0 92.00 2585. 14.5 82 1 "chrysler lebaron medallion" +22.0 6 232.0 112.0 2835 14.7 82 1 "ford granada l" +32.0 4 144.0 96.00 2665. 13.9 82 3 "toyota celica gt" +36.0 4 135.0 84.00 2370. 13.0 82 1 "dodge charger 2.2" +27.0 4 151.0 90.00 2950. 17.3 82 1 "chevrolet camaro" +27.0 4 140.0 86.00 2790. 15.6 82 1 "ford mustang gl" +44.0 4 97.00 52.00 2130. 24.6 82 2 "vw pickup" +32.0 4 135.0 84.00 2295. 11.6 82 1 "dodge rampage" +28.0 4 120.0 79.00 2625. 18.6 82 1 "ford ranger" +31.0 4 119.0 82.00 2720. 19.4 82 1 "chevy s-10" From 4287e08fde9bca51db62de3e052657cc91165a90 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Jul 2023 16:15:22 -0700 Subject: [PATCH 044/195] remove numbering --- docs/source/labs.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/source/labs.rst b/docs/source/labs.rst index 074a07e..38dba3d 100644 --- a/docs/source/labs.rst +++ b/docs/source/labs.rst @@ -19,7 +19,6 @@ To ensure you have the same package versions as those built here, run: .. toctree:: :maxdepth: 1 - :numbered: labs/Ch2-statlearn-lab labs/Ch3-linreg-lab From e497e71b55dd9f3f123941c191a6724710e0ef3b Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Jul 2023 16:58:12 -0700 Subject: [PATCH 045/195] update requirements --- docs/requirements.txt | 1 + frozen_requirements.txt | 10 ++++++++++ torch_requirements.txt | 4 ++-- 3 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 frozen_requirements.txt diff --git a/docs/requirements.txt b/docs/requirements.txt index b06b49b..1e093a5 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -3,3 +3,4 @@ numpydoc myst_nb sphinx-book-theme rpy2 +sphinx_rtd_theme diff --git a/frozen_requirements.txt b/frozen_requirements.txt new file mode 100644 index 0000000..73b5e2e --- /dev/null +++ b/frozen_requirements.txt @@ -0,0 +1,10 @@ +numpy==1.21.6 +scipy==1.10.1 +pandas==1.4.1 +lxml==4.8.0 +scikit-learn==1.2.2 +joblib==1.2.0 +statsmodels==0.13.2 +lifelines==0.27.6 +pygam==0.8.0 +l0bnb==1.0.0 diff --git a/torch_requirements.txt b/torch_requirements.txt index 0380132..374ee22 100644 --- a/torch_requirements.txt +++ b/torch_requirements.txt @@ -1,5 +1,5 @@ torch==2.0.0 torchvision==0.15.1 -pytorch_lightning==2.0.2 +pytorch_lightning==1.7.7 torchinfo==1.7.2 -torchmetrics==0.11.4 +torchmetrics==0.9.3 From 3860e68656cd9e65a46ca32d3d383588b08a929d Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Jul 2023 20:58:07 -0700 Subject: [PATCH 046/195] Adding colab link --- docs/README.rst | 9 + docs/fix_labs.py | 73 + docs/source/conf.py | 4 +- docs/source/labs/Ch10-deeplearning-lab.ipynb | 7183 +++++++++++++- docs/source/labs/Ch11-surv-lab.ipynb | 1929 +++- docs/source/labs/Ch12-unsup-lab.ipynb | 2026 +++- docs/source/labs/Ch13-multiple-lab.ipynb | 770 +- docs/source/labs/Ch2-statlearn-lab.ipynb | 5809 ++++++++++- docs/source/labs/Ch3-linreg-lab.ipynb | 1979 +++- docs/source/labs/Ch4-classification-lab.ipynb | 3209 ++++++- docs/source/labs/Ch5-resample-lab.ipynb | 498 +- docs/source/labs/Ch6-varselect-lab.ipynb | 8463 ++++++++++++++++- docs/source/labs/Ch7-nonlin-lab.ipynb | 1945 +++- docs/source/labs/Ch8-baggboost-lab.ipynb | 862 +- docs/source/labs/Ch9-svm-lab.ipynb | 1110 ++- 15 files changed, 34459 insertions(+), 1410 deletions(-) create mode 100644 docs/README.rst create mode 100644 docs/fix_labs.py diff --git a/docs/README.rst b/docs/README.rst new file mode 100644 index 0000000..cee991e --- /dev/null +++ b/docs/README.rst @@ -0,0 +1,9 @@ +Deep learning +============= + +This lab should be run as a notebook and saved + +Ridge regression +================ + +There is a snippet that should be inserted to remove the many warnings raised. diff --git a/docs/fix_labs.py b/docs/fix_labs.py new file mode 100644 index 0000000..cb616c1 --- /dev/null +++ b/docs/fix_labs.py @@ -0,0 +1,73 @@ +import os, nbformat +from glob import glob + +for f in glob('source/labs/Ch14*'): + os.remove(f) + + + +for nbfile in glob('source/labs/*nb'): + base = os.path.splitext(nbfile)[0] + fname = os.path.split(base)[1] + + colab_code = f''' +
+ Open In Colab + + +''' + + # allow errors for lab2 + if fname[:3] == 'Ch6': + colab_code = (''' +```{code-cell} +:tags: [hide-cell] + +import warnings +warnings.simplefilter('ignore') +``` + +''' + colab_code) + if fname[:3] == 'Ch2': + nb = nbformat.read(open(nbfile), 4) + nb.metadata.setdefault('execution', {})['allow_errors'] = True + nbformat.write(nb, open(nbfile, 'w')) + + if fname[:4] != 'Ch10': + + os.system(f'jupytext --set-formats ipynb,md:myst {base}.ipynb; jupytext --sync {base}.ipynb') + + myst = open(f'{base}.md').read().strip() + + new_myst = [] + for l in myst.split('\n'): + if l.strip()[:9] != '# Chapter': + new_myst.append(l) + new_myst.append(colab_code) + + myst = '\n'.join(new_myst) # remove the "Chapter %d + myst = myst.replace('# Lab:', colab_code + '\n# ') + + open(f'{base}.md', 'w').write(myst) + + os.system(f'jupytext --sync {base}.ipynb') + +# add a warning for ridge +# at ## Ridge Regression and the Lasso + +code_to_insert = ''' + + +```{attention} +Using `skl.ElasticNet` to fit ridge regression +throws up many warnings. We have inserted the code below to filter them. +``` + + +```{code-cell} +import warnings +warnings.simplefilter('ignore') +``` + +''' + diff --git a/docs/source/conf.py b/docs/source/conf.py index 654522f..d36b86a 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -27,8 +27,10 @@ graphviz_dot = '/opt/homebrew/bin/dot' numpydoc_class_members_toctree = False -nb_execution_mode = "cache" +nb_execution_mode = "auto" nb_execution_timeout = 60*3 #*100 +nb_execution_excludepatterns = ['Ch10*'] +nb_execution_allow_errors = True #nb_kernel_rgx_aliases = {'python3': "islp_test"} diff --git a/docs/source/labs/Ch10-deeplearning-lab.ipynb b/docs/source/labs/Ch10-deeplearning-lab.ipynb index 6693e01..3f0f930 100644 --- a/docs/source/labs/Ch10-deeplearning-lab.ipynb +++ b/docs/source/labs/Ch10-deeplearning-lab.ipynb @@ -26,7 +26,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "aeb913e2", "metadata": { "lines_to_next_cell": 2 @@ -63,7 +63,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "3a3e91e7", "metadata": {}, "outputs": [], @@ -89,7 +89,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "3f4fdb8c", "metadata": {}, "outputs": [], @@ -114,7 +114,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "71cc6f03", "metadata": {}, "outputs": [], @@ -134,10 +134,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "fd1290f1", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Global seed set to 0\n" + ] + } + ], "source": [ "from pytorch_lightning.utilities.seed import seed_everything\n", "seed_everything(0, workers=True)\n", @@ -156,7 +164,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "c85308d1", "metadata": { "lines_to_next_cell": 0 @@ -191,7 +199,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "4de9f03c", "metadata": {}, "outputs": [], @@ -220,7 +228,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "4ef95fe3", "metadata": {}, "outputs": [], @@ -249,7 +257,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "493821a9", "metadata": { "lines_to_next_cell": 2 @@ -271,7 +279,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "a427e224", "metadata": { "lines_to_next_cell": 0 @@ -299,7 +307,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "feac4b15", "metadata": { "lines_to_next_cell": 0 @@ -335,7 +343,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "6a75a640", "metadata": {}, "outputs": [], @@ -360,10 +368,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "32d8de64", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "259.71528833146243" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "hit_lm = LinearRegression().fit(X_train, Y_train)\n", "Yhat_test = hit_lm.predict(X_test)\n", @@ -385,7 +404,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "46786db6", "metadata": {}, "outputs": [], @@ -408,7 +427,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "2b55b38b", "metadata": { "lines_to_next_cell": 0 @@ -433,7 +452,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "cc44c559", "metadata": {}, "outputs": [], @@ -460,12 +479,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "1bd1fd13", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "257.2382010799497" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "trained_lasso = grid.best_estimator_\n", "Yhat_test = trained_lasso.predict(X_test)\n", @@ -491,7 +521,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "4b2ccc5a", "metadata": {}, "outputs": [], @@ -549,7 +579,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "108ad1f1", "metadata": {}, "outputs": [], @@ -584,12 +614,53 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "2f20059e", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " action_fn=lambda data: sys.getsizeof(data.storage()),\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " return super().__sizeof__() + self.nbytes()\n" + ] + }, + { + "data": { + "text/plain": [ + "===================================================================================================================\n", + "Layer (type:depth-idx) Input Shape Output Shape Param #\n", + "===================================================================================================================\n", + "HittersModel [175, 19] [175] --\n", + "├─Flatten: 1-1 [175, 19] [175, 19] --\n", + "├─Sequential: 1-2 [175, 19] [175, 1] --\n", + "│ └─Linear: 2-1 [175, 19] [175, 50] 1,000\n", + "│ └─ReLU: 2-2 [175, 50] [175, 50] --\n", + "│ └─Dropout: 2-3 [175, 50] [175, 50] --\n", + "│ └─Linear: 2-4 [175, 50] [175, 1] 51\n", + "===================================================================================================================\n", + "Total params: 1,051\n", + "Trainable params: 1,051\n", + "Non-trainable params: 0\n", + "Total mult-adds (M): 0.18\n", + "===================================================================================================================\n", + "Input size (MB): 0.01\n", + "Forward/backward pass size (MB): 0.07\n", + "Params size (MB): 0.00\n", + "Estimated Total Size (MB): 0.09\n", + "===================================================================================================================" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "summary(hit_model, \n", " input_size=X_train.shape,\n", @@ -621,7 +692,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "6ca3030d", "metadata": { "lines_to_next_cell": 0 @@ -643,7 +714,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "86723b3e", "metadata": {}, "outputs": [], @@ -678,7 +749,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "999279fd", "metadata": {}, "outputs": [], @@ -710,7 +781,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "7bd9cc5c", "metadata": {}, "outputs": [], @@ -738,7 +809,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "5be2f822", "metadata": {}, "outputs": [], @@ -765,7 +836,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "87334d33", "metadata": {}, "outputs": [], @@ -796,12 +867,709 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "1a474999", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", + " rank_zero_warn(\n", + "\n", + " | Name | Type | Params\n", + "---------------------------------------\n", + "0 | model | HittersModel | 1.1 K \n", + "1 | loss | MSELoss | 0 \n", + "---------------------------------------\n", + "1.1 K Trainable params\n", + "0 Non-trainable params\n", + "1.1 K Total params\n", + "0.004 Total estimated model params size (MB)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "e5fe2eab339740c99a234f68dff24548", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + } + ], "source": [ "hit_trainer = Trainer(deterministic=True,\n", " max_epochs=50,\n", @@ -828,12 +1596,49 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "e3b24643", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ee861e12d14b4d349e535c091f331ca4", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Testing: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " Test metric DataLoader 0\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " test_loss 103304.8515625\n", + " test_mae 224.26962280273438\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'test_loss': 103304.8515625, 'test_mae': 224.26962280273438}]" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "hit_trainer.test(hit_module, datamodule=hit_dm)\n" ] @@ -855,7 +1660,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "f9b266e7", "metadata": {}, "outputs": [], @@ -874,7 +1679,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "c5752a0b", "metadata": { "lines_to_next_cell": 0 @@ -917,12 +1722,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "ff0c9fa0", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhwAAAISCAYAAACH9BYMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABWZklEQVR4nO3de3wU5aH/8e8mQCRggrmQCwnEC3JRQEXF1KIglHApPzRwVOQoKgcqBguiaDn1hu0Raz0K3sDzaxX7q4ACQatVOIgJIEZFFEGLVGk0gEkQKQkJEmDz/P4Iu2WT7O4s2dlL+Lxfr3nBzkxmnp1sZr77zPM84zDGGAEAANgoJtwFAAAArR+BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYLmICx6OPPiqHw6EZM2a45x0+fFgFBQVKTk5Wx44dNXbsWFVWVnr8XFlZmUaNGqX4+Hh17txZs2bN0rFjx0JcegAA4EtEBI5Nmzbp+eefV9++fT3m33nnnXrjjTe0bNkyrVu3Tt99953y8/Pdy51Op0aNGqUjR47o/fff10svvaRFixbpgQceCPVbAAAAPjjC/fC2mpoaXXTRRXruuef029/+VhdccIHmzZunqqoqpaamavHixRo3bpwk6csvv1SvXr1UUlKiyy67TG+//bZ+/vOf67vvvlNaWpokaeHChbr33nv1/fffq127duF8awAA4Lg24S5AQUGBRo0apaFDh+q3v/2te/7mzZt19OhRDR061D2vZ8+e6tq1qztwlJSUqE+fPu6wIUl5eXmaOnWqvvjiC1144YXN7rOurk51dXXu1/X19dq/f7+Sk5PlcDhseJcAALROxhgdPHhQmZmZionxfuMkrIFj6dKl+uSTT7Rp06YmyyoqKtSuXTt16tTJY35aWpoqKirc65wYNlzLXcu8mTt3rubMmdPC0gMAAJddu3YpKyvL6/KwBY5du3Zp+vTpWrNmjU477bSQ7nv27NmaOXOm+3VVVZW6du2qXbt2KSEhIaRlAQAgmlVXVys7O1unn366z/XCFjg2b96svXv36qKLLnLPczqdWr9+vZ555hmtXr1aR44c0YEDBzxqOSorK5Weni5JSk9P10cffeSxXVcvFtc6zYmLi1NcXFyT+QkJCQQOAABOgr8mCWHrpTJkyBBt27ZNW7ZscU8XX3yxJkyY4P5/27ZttXbtWvfP7NixQ2VlZcrNzZUk5ebmatu2bdq7d697nTVr1ighIUG9e/cO+XsCAADNC1sNx+mnn67zzz/fY16HDh2UnJzsnj9p0iTNnDlTSUlJSkhI0B133KHc3FxddtllkqRhw4apd+/euvHGG/XYY4+poqJC9913nwoKCpqtwQAAAOER9l4qvjz55JOKiYnR2LFjVVdXp7y8PD333HPu5bGxsXrzzTc1depU5ebmqkOHDpo4caIefvjhMJYaAAA0FvZxOCJBdXW1EhMTVVVVRRsOACHjdDp19OjRcBcD8Ck2NlZt2rTx2kbD6jU0oms4AKC1qqmp0e7du8V3PkSD+Ph4ZWRktGhATQIHAISY0+nU7t27FR8fr9TUVAYcRMQyxujIkSP6/vvvVVpaqu7du/sc3MsXAgcAhNjRo0dljFFqaqrat28f7uIAPrVv315t27bVt99+qyNHjpz02FkR8fA2ADgVUbOBaHGytRoe2whCOQAAAHwicAAAANsROAAgSjmdThUXF2vJkiUqLi6W0+kMd5EClpOTo3nz5llev7i4WA6HQwcOHLCtTLAHgQMAolBhYaFycnI0ePBg3XDDDRo8eLBycnJUWFhoy/4cDofP6aGHHjqp7W7atElTpkyxvP5PfvITlZeXKzEx8aT2h/ChlwoARJnCwkKNGzeuyRgee/bs0bhx47R8+XLl5+cHdZ/l5eXu/7/yyit64IEHtGPHDve8jh07uv9vjJHT6VSbNv4vMampqQGVo127dj4fzonIRQ0HAISZMUa1tbWWpurqav3yl79sdsAw17zp06erurra0vasDjyWnp7unhITE+VwONyvv/zyS51++ul6++231b9/f8XFxem9997Tzp07NWbMGKWlpaljx4665JJL9M4773hst/EtFYfDoT/84Q+65pprFB8fr+7du+svf/mLe3njWyqLFi1Sp06dtHr1avXq1UsdO3bU8OHDPQLSsWPH9Mtf/lKdOnVScnKy7r33Xk2cOFFXX321xd8QgoHAAQBhdujQIXXs2NHSlJiYqD179njdljFGu3fvVmJioqXtHTp0KGjv41e/+pUeffRRbd++XX379lVNTY1GjhyptWvX6tNPP9Xw4cM1evRolZWV+dzOnDlzdO2112rr1q0aOXKkJkyYoP3793td/9ChQ3r88cf1//7f/9P69etVVlamu+++2738d7/7nV5++WW9+OKL2rhxo6qrq/Xaa68F623DIgIHACAoHn74Yf3sZz/T2WefraSkJPXr10+/+MUvdP7556t79+76zW9+o7PPPtujxqI5N998s8aPH69zzjlHjzzyiGpqavTRRx95Xf/o0aNauHChLr74Yl100UWaNm2a1q5d617+9NNPa/bs2brmmmvUs2dPPfPMM+rUqVOw3jYsog0HAIRZfHy8ampqLK27fv16jRw50u96b731lq644gpL+w6Wiy++2ON1TU2NHnroIf31r39VeXm5jh07ph9//NFvDUffvn3d/+/QoYMSEhK0d+9er+vHx8fr7LPPdr/OyMhwr19VVaXKykpdeuml7uWxsbHq37+/6uvrA3p/aBkCBwCEmcPhUIcOHSytO2zYMGVlZWnPnj3Ntr9wOBzKysrSsGHDFBsbG+yi+tT4Pdx9991as2aNHn/8cZ1zzjlq3769xo0bpyNHjvjcTtu2bT1eOxwOn+GgufV5KF7k4ZYKAESR2NhYzZ8/X1LTodFdr+fNmxfysNGcjRs36uabb9Y111yjPn36KD09Xd98801Iy5CYmKi0tDRt2rTJPc/pdOqTTz4JaTlA4ACAqJOfn6/ly5erS5cuHvOzsrJs6RJ7srp3767CwkJt2bJFn332mW644Yaw3Ma44447NHfuXL3++uvasWOHpk+frn/+8588yybEuKUCAFEoPz9fY8aM0YYNG1ReXq6MjAwNHDgwImo2XJ544gndeuut+slPfqKUlBTde++9qq6uDnk57r33XlVUVOimm25SbGyspkyZory8vIg6VqcCh+FGl6qrq5WYmKiqqiolJCSEuzgAWrnDhw+rtLRUZ5555kk/6hsnr76+Xr169dK1116r3/zmN+EuTlTw9Zm1eg2lhgMA0Kp9++23+t///V9deeWVqqur0zPPPKPS0lLdcMMN4S7aKYU2HACAVi0mJkaLFi3SJZdcossvv1zbtm3TO++8o169eoW7aKcUajgAAK1adna2Nm7cGO5inPKo4QAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwCildMpFRdLS5Y0/Ot0hrtEfg0aNEgzZsxwv87JydG8efN8/ozD4dBrr73W4n0HaztWXHHFFVq8eHFI9tUS+/btU+fOnbV7927b90XgAIBoVFgo5eRIgwdLN9zQ8G9OTsN8G4wePVrDhw9vdtmGDRvkcDi0devWgLe7adMmTZkypaXF8/DQQw/pggsuaDK/vLxcI0aMCOq+mvOXv/xFlZWVuv766wP+2ZtvvlkOh8PrlJOTc9Lluvnmm3X11Vd7zEtJSdFNN92kBx988KS3axWBAwCiTWGhNG6c1Phb6Z49DfNtCB2TJk3SmjVrmv0m/OKLL+riiy9W3759A95uamqq4uPjg1FEv9LT0xUXF2f7fp566indcsstiokJ/BI7f/58lZeXuyep4fi6Xm/atCnYxdUtt9yil19+Wfv37w/6tk9E4ACAcDNGqq21NlVXS7/8ZcPPNLcdSZo+vWE9K9uz+PzOn//850pNTdWiRYs85tfU1GjZsmWaNGmSfvjhB40fP15dunRRfHy8+vTpoyVLlvjcbuNbKl999ZWuuOIKnXbaaerdu7fWrFnT5GfuvfdenXvuuYqPj9dZZ52l+++/X0ePHpUkLVq0SHPmzNFnn33mrhVwlbnxLZVt27bpqquuUvv27ZWcnKwpU6aopqbGvdxVI/D4448rIyNDycnJKigocO+rOd9//73effddjR492uf79iYxMVHp6enuSZI6derkfl1ZWakRI0aoY8eOSktL04033qh9+/a5f3758uXq06eP+z0NHTpUtbW1euihh/TSSy/p9ddfdx+X4uJiSdJ5552nzMxMrVy58qTKbBWBAwDC7dAhqWNHa1NiYkNNhjfGNNR8JCZa296hQ5aK2KZNG910001atGiRTnzI+LJly+R0OjV+/HgdPnxY/fv311//+ld9/vnnmjJlim688UZ99NFHlvZRX1+v/Px8tWvXTh9++KEWLlyoe++9t8l6p59+uhYtWqS//e1vmj9/vv7v//2/evLJJyVJ1113ne666y6dd9557lqB6667rsk2amtrlZeXpzPOOEObNm3SsmXL9M4772jatGke6xUVFWnnzp0qKirSSy+9pEWLFjUJXSd67733FB8f3+Q5La6Q4G0677zz/B6fAwcO6KqrrtKFF16ojz/+WKtWrVJlZaWuvfZaSQ23jMaPH69bb71V27dvV3FxsfLz82WM0d13361rr71Ww4cPdx+Xn/zkJ+5tX3rppdqwYYPfMrQEz1IBAFhy66236ve//73WrVunQYMGSWqo7h87dqwSExOVmJiou+++273+HXfcodWrV+vVV1/VpZde6nf777zzjr788kutXr1amZmZkqRHHnmkSbuL++67z/3/nJwc3X333Vq6dKnuuecetW/fXh07dlSbNm3cNQTNWbx4sQ4fPqw//elP6tChgyTpmWee0ejRo/W73/1OaWlpkqQzzjhDzzzzjGJjY9WzZ0+NGjVKa9eu1eTJk5vd7rfffqu0tLQmt1P+8Ic/6Mcff/RanrZt2/o4MnKX78ILL9QjjzzinvfCCy8oOztbf//731VTU6Njx44pPz9f3bp1kyT16dPHvW779u1VV1fX7HHJzMzUp59+6rcMLUHgAIBwi4+XTqjK92n9emnkSP/rvfWWdMUV1vZtUc+ePfWTn/xEL7zwggYNGqSvv/5aGzZs0MMPPyxJcjqdeuSRR/Tqq69qz549OnLkiOrq6iy30di+fbuys7PdYUOScnNzm6z3yiuv6KmnntLOnTvdF9mEhATL78O1r379+rnDhiRdfvnlqq+v144dO9yB47zzzlNsbKx7nYyMDG3bts3rdn/88UeddtppTeZ36dIloPI157PPPlNRUZE6duzYZNnOnTs1bNgwDRkyRH369FFeXp6GDRumcePG6YwzzvC77fbt2+uQxdquk8UtFQAIN4dD6tDB2jRsmJSV1fAz3raVnd2wnpXteduOF5MmTdKKFSt08OBBvfjiizr77LN15ZVXSpJ+//vfa/78+br33ntVVFSkLVu2KC8vT0eOHGnpEXIrKSnRhAkTNHLkSL355pv69NNP9etf/zqo+zhR45oHh8Oh+vp6r+unpKTon//8Z5P5wbilUlNTo9GjR2vLli0ek6vdS2xsrNasWaO3335bvXv31tNPP60ePXqotLTU77b379+v1NRUv+u1BDUcABBNYmOl+fMbeqM4HJ6NPl3hYd68hvVscO2112r69OlavHix/vSnP2nq1KlyHN/vxo0bNWbMGP37v/+7pIY2GX//+9/Vu3dvS9vu1auXdu3apfLycmVkZEiSPvjgA4913n//fXXr1k2//vWv3fO+/fZbj3XatWsnp58xSXr16qVFixaptrbWXcuxceNGxcTEqEePHpbK25wLL7xQFRUV+uc//+lRsxCMWyoXXXSRVqxYoZycHLVp0/zl2+Fw6PLLL9fll1+uBx54QN26ddPKlSs1c+ZMn8fl888/d98msws1HAAQbfLzpeXLpcbV9FlZDfPz823bdceOHXXddddp9uzZKi8v18033+xe1r17d61Zs0bvv/++tm/frl/84heqrKy0vO2hQ4fq3HPP1cSJE/XZZ59pw4YNHsHCtY+ysjItXbpUO3fu1FNPPdWkd0VOTo5KS0u1ZcsW7du3T3V1dU32NWHCBJ122mmaOHGiPv/8cxUVFemOO+7QjTfe6L6dcjIuvPBCpaSkaOPGjR7zu3TponPOOcfr5Gpz4UtBQYH279+v8ePHa9OmTdq5c6dWr16tW265RU6nUx9++KEeeeQRffzxxyorK1NhYaG+//57dwPWnJwcbd26VTt27NC+ffvcvW0OHTqkzZs3a9iwYSf9vq0gcABANMrPl775RioqkhYvbvi3tNTWsOEyadIk/fOf/1ReXp5He4v77rtPF110kfLy8jRo0CClp6c3GWjKl5iYGK1cuVI//vijLr30Uv3Hf/yH/uu//stjnf/zf/6P7rzzTk2bNk0XXHCB3n//fd1///0e64wdO1bDhw/X4MGDlZqa2mzX3Pj4eK1evVr79+/XJZdconHjxmnIkCF65plnAjsYjcTGxrrHtQi2zMxMbdy4UU6nU8OGDVOfPn00Y8YMderUSTExMUpISND69es1cuRInXvuubrvvvv03//93+5Gt5MnT1aPHj108cUXKzU11R2KXn/9dXXt2lUDBw4MeplP5DDGYifsVqy6ulqJiYmqqqoKuOERAATq8OHDKi0t1ZlnntlsA0NEt4qKCp133nn65JNPLNVchNtll12mX/7yl7rhhhu8ruPrM2v1GkoNBwAAQZSenq4//vGPKisrC3dR/Nq3b5/y8/M1fvx42/dFo1EAAIIskFtJ4ZSSkqJ77rknJPuihgMAANiOwAEAAGxH4ACAMKHNPqJFMD6rBA4ACDHXUNl2jY4JBJtr2HMrA5R5Q6NRAAixNm3aKD4+Xt9//73atm3b5EFfQKQwxujQoUPau3evOnXq5PFcmUAROAAgxBwOhzIyMlRaWtpkWG4gEnXq1Mnn03etCGvgWLBggRYsWKBvvvlGUsNT+R544AH3qGiDBg3SunXrPH7mF7/4hRYuXOh+XVZWpqlTp7qfoDdx4kTNnTvX6zjzABAJ2rVrp+7du3NbBRGvbdu2LarZcAnrVTkrK0uPPvqounfvLmOMXnrpJY0ZM0affvqp+8l5kydPdj/6WJLHY46dTqdGjRql9PR0vf/++yovL9dNN92ktm3b6pFHHgn5+wGAQMTExDDSKE4ZETe0eVJSkn7/+99r0qRJGjRokC644ALNmzev2XXffvtt/fznP9d3333nftjOwoULde+99+r7779Xu3btmv25uro6j4f5VFdXKzs7m6HNAQAIUNQNbe50OrV06VLV1tYqNzfXPf/ll19WSkqKzj//fM2ePdvdUlaSSkpK1KdPH48n++Xl5am6ulpffPGF133NnTtXiYmJ7ik7O9ueNwUAACRFQKPRbdu2KTc3V4cPH1bHjh21cuVK9e7dW5J0ww03qFu3bsrMzNTWrVt17733aseOHSosLJTU8ICcxo8Rdr2uqKjwus/Zs2dr5syZ7teuGg4AAGCPsAeOHj16aMuWLaqqqtLy5cs1ceJErVu3Tr1799aUKVPc6/Xp00cZGRkaMmSIdu7cqbPPPvuk9xkXF6e4uLhgFB8AAFgQ9lsq7dq10znnnKP+/ftr7ty56tevn+bPn9/sugMGDJAkff3115IanshXWVnpsY7rdUu77wAAgOAJe+BorL6+3qNB54m2bNkiScrIyJAk5ebmatu2bdq7d697nTVr1ighIcF9WwYAAIRfWG+pzJ49WyNGjFDXrl118OBBLV68WMXFxVq9erV27typxYsXa+TIkUpOTtbWrVt155136oorrlDfvn0lScOGDVPv3r1144036rHHHlNFRYXuu+8+FRQUcMsEAIAIEtbAsXfvXt10000qLy9XYmKi+vbtq9WrV+tnP/uZdu3apXfeeUfz5s1TbW2tsrOzNXbsWN13333un4+NjdWbb76pqVOnKjc3Vx06dNDEiRM9xu0AAADhF3HjcISD1T7EAADAU9SNwwEAAFovAgcAALAdgQMAANiOwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYjsABAABsR+AAAAC2I3AAAADbETgAAIDtCBwAAMB2BA4AAGA7AgcAALAdgQMAANiOwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA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9tXZZ5+t4uJiDRky5KS3GxcXp7i4uGAUEQAAWBDRNRyNnXXWWUpJSdHXX38tSUpPT9fevXs91jl27Jj279/vtd0HAAAIvagKHLt379YPP/ygjIwMSVJubq4OHDigzZs3u9d59913VV9frwEDBoSrmAAAoJGw3lKpqalx11ZIUmlpqbZs2aKkpCQlJSVpzpw5Gjt2rNLT07Vz507dc889Ouecc5SXlydJ6tWrl4YPH67Jkydr4cKFOnr0qKZNm6brr7/eaw8VAAAQeg5jjAnXzouLizV48OAm8ydOnKgFCxbo6quv1qeffqoDBw4oMzNTw4YN029+8xulpaW5192/f7+mTZumN954QzExMRo7dqyeeuopdezY0XI5qqurlZiYqKqqKiUkJATlvQEAcCqweg0Na+CIFAQOAABOjtVraFS14QAAANGJwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYjsABAABsR+AAAAC2I3AAAADbETgAAIDtCBwAAMB2BA4AAGA7AgcAALAdgQMAANiOwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYjsABAABsR+AAAAC2I3AAAADbETgAAIDtCBwAAMB2BA4AAGC7sAaO9evXa/To0crMzJTD4dBrr73msdwYowceeEAZGRlq3769hg4dqq+++spjnf3792vChAlKSEhQp06dNGnSJNXU1ITwXQAAAH/CGjhqa2vVr18/Pfvss80uf+yxx/TUU09p4cKF+vDDD9WhQwfl5eXp8OHD7nUmTJigL774QmvWrNGbb76p9evXa8qUKaF6CwAAwAKHMcaEuxCS5HA4tHLlSl199dWSGmo3MjMzddddd+nuu++WJFVVVSktLU2LFi3S9ddfr+3bt6t3797atGmTLr74YknSqlWrNHLkSO3evVuZmZnN7quurk51dXXu19XV1crOzlZVVZUSEhLsfaMAALQi1dXVSkxM9HsNjdg2HKWlpaqoqNDQoUPd8xITEzVgwACVlJRIkkpKStSp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XC/qA0dKSopiY2NVWVnpMb+yslLp6enN/kxcXJzi4uI85nXq1MmW8iUkJET8B8yFstqDstojmsoqRVd5Kas9WnNZfdVsuER9o9F27dqpf//+Wrt2rXtefX291q5dq9zc3DCWDAAAuER9DYckzZw5UxMnTtTFF1+sSy+9VPPmzVNtba1uueWWcBcNAAColQSO6667Tt9//70eeOABVVRU6IILLtCqVauaNCQNpbi4OD344INNbt1EIspqD8pqj2gqqxRd5aWs9qCsDRzGXz8WAACAFor6NhwAACDyETgAAIDtCBwAAMB2BA4AAGA7AocNnn32WeXk5Oi0007TgAED9NFHH4W7SM166KGH5HA4PKaePXuGu1iSpPXr12v06NHKzMyUw+HQa6+95rHcGKMHHnhAGRkZat++vYYOHaqvvvoqIst68803NznOw4cPD0tZ586dq0suuUSnn366OnfurKuvvlo7duzwWOfw4cMqKChQcnKyOnbsqLFjxzYZWC9Syjpo0KAmx/a2224LeVkXLFigvn37ugdLys3N1dtvv+1eHinH1EpZI+WYNufRRx+Vw+HQjBkz3PMi6dieqLmyRsqx9Xfut+uYEjiC7JVXXtHMmTP14IMP6pNPPlG/fv2Ul5envXv3hrtozTrvvPNUXl7unt57771wF0mSVFtbq379+unZZ59tdvljjz2mp556SgsXLtSHH36oDh06KC8vT4cPHw5xSf2XVZKGDx/ucZyXLFkSwhL+y7p161RQUKAPPvhAa9as0dGjRzVs2DDV1ta617nzzjv1xhtvaNmyZVq3bp2+++475efnR2RZJWny5Mkex/axxx4LeVmzsrL06KOPavPmzfr444911VVXacyYMfriiy8kRc4xtVJWKTKOaWObNm3S888/r759+3rMj6Rj6+KtrFLkHFtf537bjqlBUF166aWmoKDA/drpdJrMzEwzd+7cMJaqeQ8++KDp169fuIvhlySzcuVK9+v6+nqTnp5ufv/737vnHThwwMTFxZklS5aEoYT/0risxhgzceJEM2bMmLCUx5+9e/caSWbdunXGmIbj2LZtW7Ns2TL3Otu3bzeSTElJSbiKaYxpWlZjjLnyyivN9OnTw1coH8444wzzhz/8IaKPqYurrMZE5jE9ePCg6d69u1mzZo1H+SLx2HorqzGRc2x9nfvtPKbUcATR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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(1, 1, figsize=(6, 6))\n", "ax = summary_plot(hit_results,\n", @@ -953,12 +1769,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "1ee2b61b", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "tensor(224.2696, grad_fn=)" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "hit_model.eval() \n", "preds = hit_module(X_test_t)\n", @@ -987,7 +1814,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "id": "0ca069a3", "metadata": { "lines_to_next_cell": 2 @@ -1020,10 +1847,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "id": "af6a0a33", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Dataset MNIST\n", + " Number of datapoints: 60000\n", + " Root location: data\n", + " Split: Train\n", + " StandardTransform\n", + "Transform: ToTensor()" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "(mnist_train, \n", " mnist_test) = [MNIST(root='data',\n", @@ -1059,7 +1902,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "id": "0df8a0c8", "metadata": {}, "outputs": [], @@ -1082,12 +1925,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "id": "0c7dd6ee", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X: torch.Size([256, 1, 28, 28])\n", + "Y: torch.Size([256])\n", + "X: torch.Size([256, 1, 28, 28])\n", + "Y: torch.Size([256])\n" + ] + } + ], "source": [ "for idx, (X_ ,Y_) in enumerate(mnist_dm.train_dataloader()):\n", " print('X: ', X_.shape)\n", @@ -1110,7 +1964,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 37, "id": "63e48c70", "metadata": {}, "outputs": [], @@ -1150,7 +2004,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 38, "id": "92405826", "metadata": {}, "outputs": [], @@ -1169,10 +2023,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 39, "id": "2c8f7a48", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "torch.Size([256, 10])" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "mnist_model(X_).size()" ] @@ -1189,10 +2054,56 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 40, "id": "9f502df8", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " action_fn=lambda data: sys.getsizeof(data.storage()),\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " return super().__sizeof__() + self.nbytes()\n" + ] + }, + { + "data": { + "text/plain": [ + "===================================================================================================================\n", + "Layer (type:depth-idx) Input Shape Output Shape Param #\n", + "===================================================================================================================\n", + "MNISTModel [256, 1, 28, 28] [256, 10] --\n", + "├─Sequential: 1-1 [256, 1, 28, 28] [256, 10] --\n", + "│ └─Sequential: 2-1 [256, 1, 28, 28] [256, 256] --\n", + "│ │ └─Flatten: 3-1 [256, 1, 28, 28] [256, 784] --\n", + "│ │ └─Linear: 3-2 [256, 784] [256, 256] 200,960\n", + "│ │ └─ReLU: 3-3 [256, 256] [256, 256] --\n", + "│ │ └─Dropout: 3-4 [256, 256] [256, 256] --\n", + "│ └─Sequential: 2-2 [256, 256] [256, 128] --\n", + "│ │ └─Linear: 3-5 [256, 256] [256, 128] 32,896\n", + "│ │ └─ReLU: 3-6 [256, 128] [256, 128] --\n", + "│ │ └─Dropout: 3-7 [256, 128] [256, 128] --\n", + "│ └─Linear: 2-3 [256, 128] [256, 10] 1,290\n", + "===================================================================================================================\n", + "Total params: 235,146\n", + "Trainable params: 235,146\n", + "Non-trainable params: 0\n", + "Total mult-adds (M): 60.20\n", + "===================================================================================================================\n", + "Input size (MB): 0.80\n", + "Forward/backward pass size (MB): 0.81\n", + "Params size (MB): 0.94\n", + "Estimated Total Size (MB): 2.55\n", + "===================================================================================================================" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "summary(mnist_model,\n", " input_data=X_,\n", @@ -1214,7 +2125,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 41, "id": "d1a7590f", "metadata": {}, "outputs": [], @@ -1233,12 +2144,490 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 42, "id": "e2fe6de3", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", + " rank_zero_warn(\n", + "\n", + " | Name | Type | Params\n", + "-------------------------------------------\n", + "0 | model | MNISTModel | 235 K \n", + "1 | loss | CrossEntropyLoss | 0 \n", + "-------------------------------------------\n", + "235 K Trainable params\n", + "0 Non-trainable params\n", + "235 K Total params\n", + "0.941 Total estimated model params size (MB)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "19132f797f854efbaa5bc297129f7288", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "`Trainer.fit` stopped: `max_epochs=30` reached.\n" + ] + } + ], "source": [ "mnist_trainer = Trainer(deterministic=True,\n", " max_epochs=30,\n", @@ -1280,12 +2669,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 43, "id": "73755987", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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euutt3yxOtMwRgMAAM9YOkbjRz/6kbKysny1OgAA0AD4JGj88MMPeu655xQbG+uL1QEAgAbC7TEaVW+eZhiGTp8+rfDwcP3tb3/zaXEAACCwuR00nn32WaegERQUpHbt2ikpKUmtW7f2aXEAACCwuR007r33XhPKAAAADZHbYzRWrFihtWvXVpu+du1avfrqqz4pCgAANAxuB43Fixerbdu21aa3b99eixYt8klRAACgYXA7aOTl5alTp07Vpnfs2FF5eXk+KQoAADQMbgeN9u3ba8+ePdWm7969W23atPFJUQAAoGFwO2iMHj1aDz30kLKzs2W322W32/Xhhx9q2rRpuuuuu8yoEQAABCi3zzp54okn9M033+iWW25RkyYVi5eXl2vs2LGM0QAAAE48vtfJV199pV27diksLEw9e/ZUx44dfV2bKbjXCQAAnvGkD3V7j0alrl27qmvXrp4uDgAAGgG3x2jccccd+v3vf19t+pNPPqmf//znPikKAAA0DG4HjU2bNmno0KHVpt9+++3atGmTT4oCAAANg9tBo6SkRCEhIdWmN23aVMXFxT4pCgAANAxuB42ePXtqzZo11aavXr1aPXr08ElRAACgYXB7MOjcuXOVmpqqw4cP6+abb5YkZWVlKT09XRkZGT4vEAAABC63g8awYcO0fv16LVq0SBkZGQoLC1NiYqI+/PBDXXbZZWbUCAAAApTH19GoVFxcrFWrVmn58uXavn277Ha7r2ozBdfRAADAM570oW6P0ai0adMmjRs3Th06dNAf/vAH3Xzzzfr00089XR0AAGiA3Dp0UlBQoJUrV2r58uUqLi7WnXfeqbKyMq1fv56BoAAAoBqX92gMGzZM3bp10549e7RkyRJ99913ev75582sDQAABDiX92i89957euihhzRp0iQuPQ4AAFzi8h6Njz/+WKdPn1afPn2UlJSkZcuW6cSJE2bWBgAAApzLQeNHP/qRXn75ZeXn5+uXv/ylVq9erQ4dOqi8vFwbN27U6dOnzawTAAAEIK9Obz148KCWL1+u1157TadOndKtt96qt99+25f1+RyntwIA4Bm/nt4qSd26ddOTTz6po0ePatWqVd6sCgAANEBeX7Ar0LBHAwAAz/h9jwYAAEBtCBoAAMA0BA0AAGAaggYAADANQQMAAJiGoAEAAExD0AAAAKYhaAAAANPU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eL+7n/70p2rXrp1WrlzpNL2kpERr167ViBEjNHr0aMXGxio8PFw9e/bUqlWral1n1UMnX331lW688UY1a9ZMPXr00MaNG6stM3PmTF155ZUKDw9X586dNXfuXJ0/f16StHLlSi1YsEC7d++WzWaTzWZz1Fv10MnevXt18803KywsTG3atNHEiRNVUlLieP3ee+/ViBEj9PTTTysmJkZt2rTR5MmTHW0BAOoPLkFelzNnpBYtfLMuw6jY0xEZ6dr8JSVS8+Z1ztakSRONHTtWK1eu1OzZs2Wz2SRJa9euld1u1y9+8QutXbtWM2fOVEREhN555x3dc8896tKli/r371/n+svLy5WamqqoqCh99tlnKioqchrPUally5ZauXKlOnTooL1792rChAlq2bKlfvOb32jUqFHat2+fNmzYoA8++ECSFFnDdigtLVVKSoqSk5P1+eef6/jx43rggQc0ZcoUpyCVnZ2tmJgYZWdn69ChQxo1apR69+6tCRMm1Pl+AAD+wx6NBuK+++7T4cOH9dFHHzmmrVixQnfccYc6duyoRx55RL1791bnzp01depUDRkyRG+88YZL6/7ggw904MAB/fWvf1ViYqJuvPFGLVq0qNp8c+bM0fXXX6+EhAQNGzZMjzzyiKONsLAwtWjRQk2aNFF0dLSio6MVFhZWbR3p6ek6e/as/vrXv+qaa67RzTffrGXLlum1115TYWGhY77WrVtr2bJluuqqq/TTn/5UP/nJT5SVleXuZgMAmIw9GnUJD6/Ys+CKTZukoUPrnu/dd6Ubb3StbRddddVVuv766/XKK69o4MCBOnTokDZv3qyFCxfKbrdr0aJFeuONN3Ts2DGdO3dOZWVlLo/B2L9/v+Lj49WhQwfHtOTk5GrzrVmzRs8995wOHz6skpISXbhwQRERES6/h8q2EhMT1fyiPTk33HCDysvLdfDgQUVFRUmSrr76agUHBzvmiYmJ0d69e91qCwBgPvZo1MVmqzh84crjttukuLiKZS61rvj4ivlcWd+l1nMJ999/v958802dPn1aK1asUJcuXXTTTTfpqaee0tKlSzVz5kxlZ2dr165dSklJ0blz53ywgSps3bpVd999t4YOHaq///3v2rlzp2bPnu3TNi7WtGlTp+c2m03l5eWmtAUA8BxBw5eCg6WlSyv+XTUkVD5fsqRiPhPceeedCgoKUnp6uv7617/qvvvuk81m05YtWzR8+HD94he/UGJiojp37qx//etfLq+3e/fuOnLkiPLz8x3TPv30U6d5PvnkE3Xs2FGzZ89W37591bVrV3377bdO84SEhMhex/VEunfvrt27d6u0tNQxbcuWLQoKClK3bt1crhkAUD8QNHwtNVXKyJBiY52nx8VVTE9NNa3pFi1aaNSoUZo1a5by8/N17733SpK6du2qjRs36pNPPtH+/fv1y1/+0mm8Q10GDx6sK6+8UuPGjdPu3bu1efNmzZ4922merl27Ki8vT6tXr9bhw4f13HPPad26dU7zJCQkKDc3V7t27dKJEydUVlZWra27775bzZo107hx47Rv3z5lZ2dr6tSpuueeexyHTQAAgYOgYYbUVOmbb6TsbCk9veJnbq6pIaPS/fffr//85z9KSUlxjKmYM2eOrrvuOqWkpGjgwIGKjo7WiBEjXF5nUFCQ1q1bpx9++EH9+/fXAw88oN/+9rdO8/zsZz/Tww8/rClTpqh379765JNPNHfuXKd57rjjDg0ZMkSDBg1Su3btajzFNjw8XO+//75Onjypfv36KS0tTbfccouWLVvm/sYAAFjOZhguXqyhgSguLlZkZKSKioqqDVQ8e/ascnNz1alTJzVr1syiCmEGPlsA8F5tfeilsEcDAACYhqABAABMQ9AAAACmIWgAAADTEDRq0MjGxzYKfKYAYA2CxkUqrzZ55swZiyuBr1V+plWvKAoAMBf3OrlIcHCwWrVqpePHj0uquKaDzc3LgKN+MQxDZ86c0fHjx9WqVSun+6MAAMxH0KgiOjpakhxhAw1Dq1atHJ8tAMB/CBpV2Gw2xcTEqH379jp//rzV5cAHmjZtyp4MALAIQeMSgoOD6ZwAAPBSvRgM+sILLyghIUHNmjVTUlKStm3bdsl5V65cKZvN5vTgktIAANRPlgeNNWvWaMaMGZo/f7527NihxMREpaSk1DpGIiIiQvn5+Y5H1duRAwCA+sHyoPHMM89owoQJGj9+vHr06KGXXnpJ4eHheuWVVy65jM1mU3R0tOPB7cMBAKifLB2jce7cOW3fvl2zZs1yTAsKCtLgwYO1devWSy5XUlKijh07qry8XNddd50WLVqkq6++usZ5y8rKVFZW5nheVFQkqeIOdAAAwHWVfac7F0G0NGicOHFCdru92h6JqKgoHThwoMZlunXrpldeeUW9evVSUVGRnn76aV1//fX65z//qbi4uGrzL168WAsWLKg2PT4+3jdvAgCARub06dOKjIx0ad6AO+skOTlZycnJjufXX3+9unfvrj/96U964oknqs0/a9YszZgxw/G8vLxcJ0+eVJs2bXx2Ma7i4mLFx8fryJEjioiI8Mk6Gxq2Ud3YRnVjG9WNbVQ3tlHdLrWNDMPQ6dOn1aFDB5fXZWnQaNu2rYKDg1VYWOg0vbCw0OWLKzVt2lTXXnutDh06VOProaGhCg0NdZrWqlUrj+qtS0REBF/aOrCN6sY2qhvbqG5so7qxjepW0zZydU9GJUsHg4aEhKhPnz7KyspyTCsvL1dWVpbTXova2O127d27VzExMWaVCQAAPGT5oZMZM2Zo3Lhx6tu3r/r3768lS5aotLRU48ePlySNHTtWsbGxWrx4sSRp4cKF+tGPfqQrrrhCp06d0lNPPaVvv/1WDzzwgJVvAwAA1MDyoDFq1Ch9//33mjdvngoKCtS7d29t2LDBMUA0Ly9PQUH/3fHyn//8RxMmTFBBQYFat26tPn366JNPPlGPHj2segsKDQ3V/Pnzqx2iwX+xjerGNqob26hubKO6sY3q5sttZDPcOUcFAADADZZfsAsAADRcBA0AAGAaggYAADANQQMAAJiGoOED7tzmvrF5/PHHZbPZnB5XXXWV1WVZatOmTRo2bJg6dOggm82m9evXO71uGIbmzZunmJgYhYWFafDgwfrqq6+sKdYidW2je++9t9r3asiQIdYUa4HFixerX79+atmypdq3b68RI0bo4MGDTvOcPXtWkydPVps2bdSiRQvdcccd1S6O2JC5so0GDhxY7Xv04IMPWlSx/7344ovq1auX46JcycnJeu+99xyv++o7RNDwkie3uW9srr76auXn5zseH3/8sdUlWaq0tFSJiYl64YUXanz9ySef1HPPPaeXXnpJn332mZo3b66UlBSdPXvWz5Vap65tJElDhgxx+l6tWrXKjxVa66OPPtLkyZP16aefauPGjTp//rxuu+02lZaWOuZ5+OGH9b//+79au3atPvroI3333XdKTU21sGr/cmUbSdKECROcvkdPPvmkRRX7X1xcnH73u99p+/bt+uKLL3TzzTdr+PDh+uc//ynJh98hA17p37+/MXnyZMdzu91udOjQwVi8eLGFVdUf8+fPNxITE60uo96SZKxbt87xvLy83IiOjjaeeuopx7RTp04ZoaGhxqpVqyyo0HpVt5FhGMa4ceOM4cOHW1JPfXT8+HFDkvHRRx8ZhlHxnWnatKmxdu1axzz79+83JBlbt261qkxLVd1GhmEYN910kzFt2jTriqqHWrdubfzlL3/x6XeIPRpeqLzN/eDBgx3TXLnNfWPz1VdfqUOHDurcubPuvvtu5eXlWV1SvZWbm6uCggKn71RkZKSSkpL4TlWRk5Oj9u3bq1u3bpo0aZL+/e9/W12SZYqKiiRJl112mSRp+/btOn/+vNP36KqrrtLll1/eaL9HVbdRpddff11t27bVNddco1mzZunMmTNWlGc5u92u1atXq7S0VMnJyT79Dll+ZdBA5slt7hubpKQkrVy5Ut26dVN+fr4WLFigAQMGaN++fWrZsqXV5dU7BQUFklTjd6ryNVQcNklNTVWnTp10+PBhPfbYY7r99tu1detWBQcHW12eX5WXl2v69Om64YYbdM0110iq+B6FhIRUu4FkY/0e1bSNJGnMmDHq2LGjOnTooD179mjmzJk6ePCgMjMzLazWv/bu3avk5GSdPXtWLVq00Lp169SjRw/t2rXLZ98hggZMdfvttzv+3atXLyUlJaljx4564403dP/991tYGQLZXXfd5fh3z5491atXL3Xp0kU5OTm65ZZbLKzM/yZPnqx9+/Y1+rFPtbnUNpo4caLj3z179lRMTIxuueUWHT58WF26dPF3mZbo1q2bdu3apaKiImVkZGjcuHH66KOPfNoGh0684Ivb3Dc2rVq10pVXXqlDhw5ZXUq9VPm94Tvlns6dO6tt27aN7ns1ZcoU/f3vf1d2drbi4uIc06Ojo3Xu3DmdOnXKaf7G+D261DaqSVJSkiQ1qu9RSEiIrrjiCvXp00eLFy9WYmKili5d6tPvEEHDC764zX1jU1JSosOHDysmJsbqUuqlTp06KTo62uk7VVxcrM8++4zvVC2OHj2qf//7343me2UYhqZMmaJ169bpww8/VKdOnZxe79Onj5o2ber0PTp48KDy8vIazfeorm1Uk127dklSo/ke1aS8vFxlZWW+/Q75drxq47N69WojNDTUWLlypfHll18aEydONFq1amUUFBRYXVq98P/+3/8zcnJyjNzcXGPLli3G4MGDjbZt2xrHjx+3ujTLnD592ti5c6exc+dOQ5LxzDPPGDt37jS+/fZbwzAM43e/+53RqlUr46233jL27NljDB8+3OjUqZPxww8/WFy5/9S2jU6fPm088sgjxtatW43c3Fzjgw8+MK677jqja9euxtmzZ60u3S8mTZpkREZGGjk5OUZ+fr7jcebMGcc8Dz74oHH55ZcbH374ofHFF18YycnJRnJysoVV+1dd2+jQoUPGwoULjS+++MLIzc013nrrLaNz587GjTfeaHHl/vPoo48aH330kZGbm2vs2bPHePTRRw2bzWb84x//MAzDd98hgoYPPP/888bll19uhISEGP379zc+/fRTq0uqN0aNGmXExMQYISEhRmxsrDFq1Cjj0KFDVpdlqezsbENStce4ceMMw6g4xXXu3LlGVFSUERoaatxyyy3GwYMHrS3az2rbRmfOnDFuu+02o127dkbTpk2Njh07GhMmTGhU4b6mbSPJWLFihWOeH374wfjVr35ltG7d2ggPDzdGjhxp5OfnW1e0n9W1jfLy8owbb7zRuOyyy4zQ0FDjiiuuMH79618bRUVF1hbuR/fdd5/RsWNHIyQkxGjXrp1xyy23OEKGYfjuO8Rt4gEAgGkYowEAAExD0AAAAKYhaAAAANMQNAAAgGkIGgAAwDQEDQAAYBqCBgAAMA1BAwAAmIagAaBBsNlsWr9+vdVlAKiCoAHAa/fee69sNlu1x5AhQ6wuDYDFmlhdAICGYciQIVqxYoXTtNDQUIuqAVBfsEcDgE+EhoYqOjra6dG6dWtJFYc1XnzxRd1+++0KCwtT586dlZGR4bT83r17dfPNNyssLExt2rTRxIkTVVJS4jTPK6+8oquvvlqhoaGKiYnRlClTnF4/ceKERo4cqfDwcHXt2lVvv/22uW8aQJ0IGgD8Yu7cubrjjju0e/du3X333brrrru0f/9+SVJpaalSUlLUunVrff7551q7dq0++OADpyDx4osvavLkyZo4caL27t2rt99+W1dccYVTGwsWLNCdd96pPXv2aOjQobr77rt18uRJv75PAFX47oazABqrcePGGcHBwUbz5s2dHr/97W8Nw6i4ZfeDDz7otExSUpIxadIkwzAM489//rPRunVro6SkxPH6O++8YwQFBTlu/96hQwdj9uzZl6xBkjFnzhzH85KSEkOS8d577/nsfQJwH2M0APjEoEGD9OKLLzpNu+yyyxz/Tk5OdnotOTlZu3btkiTt379fiYmJat68ueP1G264QeXl5Tp48KBsNpu+++473XLLLbXW0KtXL8e/mzdvroiICB0/ftzTtwTABwgaAHyiefPm1Q5l+EpYWJhL8zVt2tTpuc1mU3l5uRklAXARYzQA+MWnn35a7Xn37t0lSd27d9fu3btVWlrqeH3Lli0KCgpSt27d1LJlSyUkJCgrK8uvNQPwHns0APhEWVmZCgoKnKY1adJEbdu2lSStXbtWffv21Y9//GO9/vrr2rZtm5YvXy5JuvvuuzV//nyNGzdOjz/+uL7//ntNnTpV99xzj6KioiRJjz/+uB588EG1b99et99+u06fPq0tW7Zo6tSp/n2jANxC0ADgExs2bFBMTIzTtG7duunAgQOSKs4IWb16tX71q18pJiZGq1atUo8ePSRJ4eHhev/99zVt2jT169dP4eHhuuOOO/TMM8841jVu3DidPXtWzz77rB555BG1bdtWaWlp/nuDADxiMwzDsLoIAA2bzWbTunXrNGLECKtLAeBnjNEAAACmIWgAAADTMEYDgOk4Qgs0XuzRAAAApiFoAAAA0xA0AACAaQgaAADANAQNAABgGoIGAAAwDUEDAACYhqABAABM8/8BLDxhn6oHWGsAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "mnist_results = pd.read_csv(mnist_logger.experiment.metrics_file_path)\n", "fig, ax = subplots(1, 1, figsize=(6, 6))\n", @@ -1309,10 +2709,47 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 44, "id": "f5269c40", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1a7f965ce4ad4bfa92fbaa1305bbbbe5", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Testing: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " Test metric DataLoader 0\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " test_accuracy 0.9681000113487244\n", + " test_loss 0.14706705510616302\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'test_loss': 0.14706705510616302, 'test_accuracy': 0.9681000113487244}]" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "mnist_trainer.test(mnist_module,\n", " datamodule=mnist_dm)" @@ -1333,7 +2770,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 45, "id": "97a0b304", "metadata": {}, "outputs": [], @@ -1353,12 +2790,430 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 46, "id": "ea685183", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", + " rank_zero_warn(\n", + "\n", + " | Name | Type | Params\n", + "-------------------------------------------\n", + "0 | model | MNIST_MLR | 7.9 K \n", + "1 | loss | CrossEntropyLoss | 0 \n", + "-------------------------------------------\n", + "7.9 K Trainable params\n", + "0 Non-trainable params\n", + "7.9 K Total params\n", + "0.031 Total estimated model params size (MB)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "417a4d9bf4ce47c38cf544d9f63db3a0", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "42056226aefe470d919ec951608b4d79", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a3a42f9e5c7a4dfcb73dd9f4b7d24317", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "`Trainer.fit` stopped: `max_epochs=30` reached.\n" + ] + } + ], "source": [ "mlr_trainer = Trainer(deterministic=True,\n", " max_epochs=30,\n", @@ -1376,12 +3231,49 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 47, "id": "c0bd63e3", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "92b7e09cc3df40619350090e37d39bc0", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Testing: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " Test metric DataLoader 0\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " test_accuracy 0.9240999817848206\n", + " test_loss 0.3186827003955841\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'test_loss': 0.3186827003955841, 'test_accuracy': 0.9240999817848206}]" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "mlr_trainer.test(mlr_module,\n", " datamodule=mnist_dm)" @@ -1400,7 +3292,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 48, "id": "6b0d3daa", "metadata": { "lines_to_next_cell": 2 @@ -1431,10 +3323,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 49, "id": "67517b11", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Files already downloaded and verified\n", + "Files already downloaded and verified\n" + ] + } + ], "source": [ "(cifar_train, \n", " cifar_test) = [CIFAR100(root=\"data\",\n", @@ -1445,7 +3346,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 50, "id": "ee7b040e", "metadata": {}, "outputs": [], @@ -1476,7 +3377,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 51, "id": "bd9e74ad", "metadata": { "lines_to_next_cell": 0 @@ -1500,12 +3401,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 52, "id": "a553b926", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X: torch.Size([128, 3, 32, 32])\n", + "Y: torch.Size([128])\n", + "X: torch.Size([128, 3, 32, 32])\n", + "Y: torch.Size([128])\n" + ] + } + ], "source": [ "for idx, (X_ ,Y_) in enumerate(cifar_dm.train_dataloader()):\n", " print('X: ', X_.shape)\n", @@ -1528,12 +3440,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 53, "id": "94885e68", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, axes = subplots(5, 5, figsize=(10,10))\n", "rng = np.random.default_rng(4)\n", @@ -1567,7 +3490,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 54, "id": "cdc2528a", "metadata": {}, "outputs": [], @@ -1612,7 +3535,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 55, "id": "845be1ae", "metadata": {}, "outputs": [], @@ -1648,12 +3571,69 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 56, "id": "be768cbb", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " action_fn=lambda data: sys.getsizeof(data.storage()),\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " return super().__sizeof__() + self.nbytes()\n" + ] + }, + { + "data": { + "text/plain": [ + "===================================================================================================================\n", + "Layer (type:depth-idx) Input Shape Output Shape Param #\n", + "===================================================================================================================\n", + "CIFARModel [128, 3, 32, 32] [128, 100] --\n", + "├─Sequential: 1-1 [128, 3, 32, 32] [128, 256, 2, 2] --\n", + "│ └─BuildingBlock: 2-1 [128, 3, 32, 32] [128, 32, 16, 16] --\n", + "│ │ └─Conv2d: 3-1 [128, 3, 32, 32] [128, 32, 32, 32] 896\n", + "│ │ └─ReLU: 3-2 [128, 32, 32, 32] [128, 32, 32, 32] --\n", + "│ │ └─MaxPool2d: 3-3 [128, 32, 32, 32] [128, 32, 16, 16] --\n", + "│ └─BuildingBlock: 2-2 [128, 32, 16, 16] [128, 64, 8, 8] --\n", + "│ │ └─Conv2d: 3-4 [128, 32, 16, 16] [128, 64, 16, 16] 18,496\n", + "│ │ └─ReLU: 3-5 [128, 64, 16, 16] [128, 64, 16, 16] --\n", + "│ │ └─MaxPool2d: 3-6 [128, 64, 16, 16] [128, 64, 8, 8] --\n", + "│ └─BuildingBlock: 2-3 [128, 64, 8, 8] [128, 128, 4, 4] --\n", + "│ │ └─Conv2d: 3-7 [128, 64, 8, 8] [128, 128, 8, 8] 73,856\n", + "│ │ └─ReLU: 3-8 [128, 128, 8, 8] [128, 128, 8, 8] --\n", + "│ │ └─MaxPool2d: 3-9 [128, 128, 8, 8] [128, 128, 4, 4] --\n", + "│ └─BuildingBlock: 2-4 [128, 128, 4, 4] [128, 256, 2, 2] --\n", + "│ │ └─Conv2d: 3-10 [128, 128, 4, 4] [128, 256, 4, 4] 295,168\n", + "│ │ └─ReLU: 3-11 [128, 256, 4, 4] [128, 256, 4, 4] --\n", + "│ │ └─MaxPool2d: 3-12 [128, 256, 4, 4] [128, 256, 2, 2] --\n", + "├─Sequential: 1-2 [128, 1024] [128, 100] --\n", + "│ └─Dropout: 2-5 [128, 1024] [128, 1024] --\n", + "│ └─Linear: 2-6 [128, 1024] [128, 512] 524,800\n", + "│ └─ReLU: 2-7 [128, 512] [128, 512] --\n", + "│ └─Linear: 2-8 [128, 512] [128, 100] 51,300\n", + "===================================================================================================================\n", + "Total params: 964,516\n", + "Trainable params: 964,516\n", + "Non-trainable params: 0\n", + "Total mult-adds (G): 2.01\n", + "===================================================================================================================\n", + "Input size (MB): 1.57\n", + "Forward/backward pass size (MB): 63.54\n", + "Params size (MB): 3.86\n", + "Estimated Total Size (MB): 68.97\n", + "===================================================================================================================" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "cifar_model = CIFARModel()\n", "summary(cifar_model,\n", @@ -1699,7 +3679,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 57, "id": "67e3e2d9", "metadata": {}, "outputs": [], @@ -1712,10 +3692,486 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 58, "id": "1ea339ff", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "\n", + " | Name | Type | Params\n", + "-------------------------------------------\n", + "0 | model | CIFARModel | 964 K \n", + "1 | loss | CrossEntropyLoss | 0 \n", + "-------------------------------------------\n", + "964 K Trainable params\n", + "0 Non-trainable params\n", + "964 K Total params\n", + "3.858 Total estimated model params size (MB)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "6c3b80e13cd441bdb5fc5d2f4e2868ca", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "`Trainer.fit` stopped: `max_epochs=30` reached.\n" + ] + } + ], "source": [ "cifar_trainer = Trainer(deterministic=True,\n", " max_epochs=30,\n", @@ -1742,12 +4198,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 59, "id": "0a9068d9", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhgAAAISCAYAAACOH7Z2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABIy0lEQVR4nO3de3xU5b3v8e9kgBAQInJJAjMwYKnihYty2WCjRFG8lIJjKgIVvJXqQUxkuzcgIl4qqFV3orjlaBXaHrlIGKyn3g7SRKKgogjqS8CNhhLShEupCaAEWFnnj2FSJpkkc1kzk0k+79drXmHWrDXrmSS6vnnW8/wem2mapgAAACyUFO8GAACAloeAAQAALEfAAAAAliNgAAAAyxEwAACA5QgYAADAcgQMAABgOQIGAACwHAEDAABYjoABAAAsF9eAsWHDBo0bN049e/aUzWbT66+/3uQxRUVFuuiii5ScnKyf/OQnWrZsWdTbCQAAQhPXgHH06FENGjRIzz//fFD7l5SU6LrrrlNWVpa2bt2q3Nxc3XHHHXr33Xej3FIAABAKW3NZ7Mxms2nt2rWaMGFCg/vMnj1bb775pr766qvabTfddJO+//57vfPOOzFoJQAACEabeDcgFJs2bdKYMWP8to0dO1a5ubkNHlNdXa3q6ura5zU1NTp06JC6du0qm80WraYCANDimKapw4cPq2fPnkpKavwmSEIFjIqKCqWlpfltS0tLU1VVlX788UelpKTUO2bRokV6+OGHY9VEAABavNLSUjkcjkb3SaiAEY65c+dq1qxZtc8rKyvVu3dvlZaWqnPnznFsGQAAiaWqqkpOp1OdOnVqct+EChjp6enat2+f37Z9+/apc+fOAXsvJCk5OVnJycn1tnfu3JmAAQBAGIIZYpBQdTBGjhyp9evX+21bt26dRo4cGacWAQCAQOIaMI4cOaKtW7dq69atkrzTULdu3ao9e/ZI8t7emDp1au3+d955p7777jv953/+p3bs2KH//u//1muvvaZ77703Hs0HAAANiGvA+PTTTzVkyBANGTJEkjRr1iwNGTJEDz74oCSpvLy8NmxIUt++ffXmm29q3bp1GjRokJ5++mn9/ve/19ixY+PSfgAAEFizqYMRK1VVVUpNTVVlZSVjMAAgQqZp6uTJkzIMI95NgUXatm0ru90e8LVQrqEJNcgTANB8HD9+XOXl5frhhx/i3RRYyGazyeFw6IwzzojofQgYAICQ1dTUqKSkRHa7XT179lS7du0oXtgCmKapAwcOaO/everfv3+DPRnBIGAAAEJ2/Phx1dTUyOl0qkOHDvFuDizUvXt37d69WydOnIgoYCTUNFUAQPPSVLloJB6reqL4zQAAAJYjYAAAAMsRMAAAcWUYhoqKirRixQoVFRUl5JRXl8ulvLy8oPcvKiqSzWbT999/H7U2xRsBAwAQNx6PRy6XS1lZWZo8ebKysrLkcrnk8Xiicj6bzdbo46GHHgrrfTdv3qzp06cHvf+oUaNUXl6u1NTUsM6XCJhFAgCIC4/Ho+zsbNWt91hWVqbs7GwVFBTI7XZbes7y8vLaf69atUoPPvigdu7cWbvt9NoPpmnKMAy1adP0pbJ79+4htaNdu3ZKT08P6ZhEQw8GAMASpmnq6NGjQT2qqqp0zz331AsXvveRpJycHFVVVQX1fsEWpU5PT699pKamymaz1T7fsWOHOnXqpLffflsXX3yxkpOT9cEHH+jbb7/V+PHjlZaWpjPOOEPDhg3Te++95/e+dW+R2Gw2/f73v9f111+vDh06qH///nrjjTdqX697i2TZsmU688wz9e6772rAgAE644wzdPXVV/sFopMnT+qee+7RmWeeqa5du2r27NmaNm2aJkyYEORPKLYIGAAAS/zwww8644wzgnqkpqaqrKyswfcyTVN79+5VampqUO9nZTXROXPm6PHHH9f27ds1cOBAHTlyRNdee63Wr1+vzz//XFdffbXGjRvnt1ZWIA8//LBuvPFGffHFF7r22ms1ZcoUHTp0qMH9f/jhBz311FP605/+pA0bNmjPnj267777al9/4okn9Oqrr2rp0qX68MMPVVVVpddff92qj205AgYAAKd55JFHdOWVV+rss8/WWWedpUGDBuk3v/mNLrjgAvXv31+PPvqozj77bL8eiUBuueUWTZo0ST/5yU+0cOFCHTlyRJ988kmD+584cUJLlizR0KFDddFFF+nuu+/W+vXra19/7rnnNHfuXF1//fU699xztXjxYp155plWfWzLMQYDAGCJDh066MiRI0Htu2HDBl177bVN7vfWW2/p0ksvDercVhk6dKjf8yNHjuihhx7Sm2++qfLycp08eVI//vhjkz0YAwcOrP13x44d1blzZ+3fv7/B/Tt06KCzzz679nlGRkbt/pWVldq3b5+GDx9e+7rdbtfFF1+smpqakD5frBAwAACWsNls6tixY1D7XnXVVXI4HCorKws4fsK34NZVV10VUbnqcNT9DPfdd5/WrVunp556Sj/5yU+UkpKi7OxsHT9+vNH3adu2rd9zm83WaBgItH8iL3jOLRIAQMzZ7Xbl5+dLql+a2vc8Ly8v5uEikA8//FC33HKLrr/+el144YVKT0/X7t27Y9qG1NRUpaWlafPmzbXbDMPQli1bYtqOUBAwAABx4Xa7VVBQoF69evltdzgcUZmiGq7+/fvL4/Fo69at2rZtmyZPnhyX2xIzZ87UokWL9Oc//1k7d+5UTk6O/vnPfzbbVWy5RQIAiBu3263x48eruLhY5eXlysjIUGZmZrPoufB55plndNttt2nUqFHq1q2bZs+eraqqqpi3Y/bs2aqoqNDUqVNlt9s1ffp0jR07tll9r05nMxP5Bk8YqqqqlJqaqsrKSnXu3DnezQGAhHTs2DGVlJSob9++at++fbyb0yrV1NRowIABuvHGG/Xoo49a9r6N/WxDuYbSgwEAQAL429/+pv/3//6fLrvsMlVXV2vx4sUqKSnR5MmT4920gBiDAQBAAkhKStKyZcs0bNgwXXLJJfryyy/13nvvacCAAfFuWkD0YAAAkACcTqc+/PDDeDcjaPRgAAAAyxEwAACA5QgYAADAcgQMAABgOQIGAACwHAEDAABYjoABAIgvw5CKiqQVK7xfDSPeLWrU6NGjlZubW/vc5XIpLy+v0WNsNptef/31iM9t1fvEAgEDABA/Ho/kcklZWdLkyd6vLpd3exSMGzdOV199dcDXiouLZbPZ9MUXX4T0nps3b9b06dOtaF6thx56SIMHD663vby8XNdcc42l54oWAgYAID48Hik7W9q71397WZl3exRCxu23365169Zpb91zSlq6dKmGDh2qgQMHhvSe3bt3V4cOHaxqYqPS09OVnJwck3NFioABALCGaUpHjwb3qKqS7rnHe0yg95GknBzvfsG8X5Drdv785z9X9+7dtWzZMr/tR44c0erVqzVhwgRNmjRJvXr1UocOHXThhRdqxYoVjb5n3Vsk//M//6NLL71U7du313nnnad169bVO2b27Nn66U9/qg4dOqhfv36aP3++Tpw4IUlatmyZHn74YW3btk02m002m622vXVvkXz55Ze6/PLLlZKSoq5du2r69Ok6cuRI7eu33HKLJkyYoKeeekoZGRnq2rWrZsyYUXuuaKJUOADAGj/8IJ1xhjXvZZreno3U1OD2P3JE6tixyd3atGmjqVOnatmyZZo3b55sNpskafXq1TIMQ7/61a+0evVqzZ49W507d9abb76pm2++WWeffbaGDx/e5PvX1NTI7XYrLS1NH3/8sSorK/3Ga/h06tRJy5YtU8+ePfXll1/q17/+tTp16qT//M//1MSJE/XVV1/pnXfe0XvvvSdJSg3wfTh69KjGjh2rkSNHavPmzdq/f7/uuOMO3X333X4BqrCwUBkZGSosLNSuXbs0ceJEDR48WL/+9a+b/DyRoAcDANCq3Hbbbfr222/1/vvv125bunSpbrjhBvXp00f33XefBg8erH79+mnmzJm6+uqr9dprrwX13u+995527NihP/7xjxo0aJAuvfRSLVy4sN5+DzzwgEaNGiWXy6Vx48bpvvvuqz1HSkqKzjjjDLVp00bp6elKT09XSkpKvfdYvny5jh07pj/+8Y+64IILdPnll2vx4sX605/+pH379tXu16VLFy1evFjnnnuufv7zn+u6667T+vXrQ/22hYweDACANTp08PYkBGPDBunaa5ve7623pEsvDe7cQTr33HM1atQovfLKKxo9erR27dql4uJiPfLIIzIMQwsXLtRrr72msrIyHT9+XNXV1UGPsdi+fbucTqd69uxZu23kyJH19lu1apWeffZZffvttzpy5IhOnjypzp07B/0ZfOcaNGiQOp7Wc3PJJZeopqZGO3fuVFpamiTp/PPPl91ur90nIyNDX375ZUjnCgc9GAAAa9hs3tsUwTyuukpyOLzHNPReTqd3v2Der6H3acDtt9+uNWvW6PDhw1q6dKnOPvtsXXbZZfrd736n/Px8zZ49W4WFhdq6davGjh2r48ePW/AN8tq0aZOmTJmia6+9Vn/5y1/0+eefa968eZae43Rt27b1e26z2VRTUxOVc52OgAEAiD27XcrP9/67bjjwPc/L8+4XBTfeeKOSkpK0fPly/fGPf9Rtt90mm82mDz/8UOPHj9evfvUrDRo0SP369dM333wT9PsOGDBApaWlKi8vr9320Ucf+e2zceNG9enTR/PmzdPQoUPVv39//e1vf/Pbp127djKaqAcyYMAAbdu2TUePHq3d9uGHHyopKUnnnHNO0G2OFgIGACA+3G6poEDq1ct/u8Ph3e52R+3UZ5xxhiZOnKi5c+eqvLxct9xyiySpf//+WrdunTZu3Kjt27frN7/5jd94hqaMGTNGP/3pTzVt2jRt27ZNxcXFmjdvnt8+/fv31549e7Ry5Up9++23evbZZ7V27Vq/fVwul0pKSrR161YdPHhQ1dXV9c41ZcoUtW/fXtOmTdNXX32lwsJCzZw5UzfffHPt7ZF4ImAAAOLH7ZZ275YKC6Xly71fS0qiGi58br/9dv3zn//U2LFja8dMPPDAA7rooos0duxYjR49Wunp6ZowYULQ75mUlKS1a9fqxx9/1PDhw3XHHXfoscce89vnF7/4he69917dfffdGjx4sDZu3Kj58+f77XPDDTfo6quvVlZWlrp37x5wqmyHDh307rvv6tChQxo2bJiys7N1xRVXaPHixaF/M6LAZppBTh5uIaqqqpSamqrKysqQB9QAALyOHTumkpIS9e3bV+3bt493c2Chxn62oVxD6cEAAACWI2AAAADLETAAAIDlCBgAAMByBAwAQNha2TyBVsGqnykBAwAQMl91yB9++CHOLYHVfBVF7REWOWMtEgBAyOx2u84880zt379fkrcmgy3Ect1ofmpqanTgwAF16NBBbdpEFhEIGACAsKSnp0tSbchAy5CUlKTevXtHHBgJGACAsNhsNmVkZKhHjx46ceJEvJsDi7Rr105JSZGPoCBgAAAiYrfbI75fj5aHQZ4AAMByBAwAAGA5AgYAALAcAQMAAFiOgAEAACxHwAAAAJYjYAAAAMsRMAAAgOUIGAAAwHIEDAAAYDkCBgAAsBwBAwAAWI6AAQAALEfAAAAAliNgAAAAyxEwAACA5QgYAADAcgQMAABgOQIGAACwHAEDAABYjoABAAAsR8AAAACWI2AAAADLETAAAIDlCBgAAMByBAwAAGA5AgYAALAcAQMAAFiOgAEAACxHwAAAAJYjYAAAAMsRMAAAgOXiHjCef/55uVwutW/fXiNGjNAnn3zS6P55eXk655xzlJKSIqfTqXvvvVfHjh2LUWsBAEAw4howVq1apVmzZmnBggXasmWLBg0apLFjx2r//v0B91++fLnmzJmjBQsWaPv27Xr55Ze1atUq3X///TFuOQAAaExcA8YzzzyjX//617r11lt13nnnacmS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V+qFF17QhAkT1LZt23r79O3bVzfddFOobw0AiCErVihldVI0JOSA8d1336lPnz6N7tOxY0ctXbo07EYBAEIXam8CK5QimkIeg7F//359/PHH9bZ//PHH+vTTTy1pFAAgNOGsC5KZmSmHw1FvoKaPzWaT0+lUZmZmtJqNFizkgDFjxgyVlpbW215WVqYZM2ZY0igAQPDCmQkiMRsE0RVywPj6668D1roYMmSIvv76a0saBQAITiQzQSRmgyB6Qh6DkZycrH379qlfv35+28vLy9WmDYuzAkAshbIuSEODMVmhFNEQciK46qqrNHfuXP35z39WamqqJOn777/X/fffryuvvNLyBgJAaxLqQE0rZoJIzAaB9UIOGE899ZQuvfRS9enTR0OGDJEkbd26VWlpafrTn/5keQMBoLUItWS3xEwQNF9hrUVy9OhRvfrqq9q2bZtSUlI0cOBATZo0KWBNjOaGQlsAmiPfQM26/0v2DbZsaDwE64IglkK5hoa92FmiImAAaG58IaGhsRRNhQRfOJHkFzKaCidAqKJaydPn66+/1p49e3T8+HG/7b/4xS/CfUsAaJUiHajpmwkS6PZKXl4e4QJxEVYlz+uvv15ffvmlbDZbbVr2JeWGpkIBAAKzYqAmM0HQ3IQcMHJyctS3b1+tX79effv21SeffKJ//OMf+vd//3c99dRT0WgjALRoVg3UZCYImpOQC21t2rRJjzzyiLp166akpCQlJSXpZz/7mRYtWqR77rknGm0EgBaNkt1oiUIOGIZhqFOnTpKkbt266e9//7skqU+fPtq5c6e1rQOABGUYhoqKirRixQoVFRU1evuYkt1oiUIOGBdccIG2bdsmSRoxYoSefPJJffjhh3rkkUfqVfcEgNYonIXHKNmNlibkaarvvvuujh49KrfbrV27dunnP/+5vvnmG3Xt2lWrVq3S5ZdfHq22WoJpqgCiKdx6Fj6hVvIEYinmdTAOHTqkLl26NHj/sDkhYACIlkjrWQDNXSjX0JBukZw4cUJt2rTRV1995bf9rLPOSohwAQDRFEo9C6ClCylgtG3bVr1796bWBQAEYNXCY0BLEPIgz3nz5un+++/XoUOHotEeAEhYLDwG/EvIYzCGDBmiXbt26cSJE+rTp486duzo9/qWLVssbaDVGIMBIFihDrhk4TG0dFFdi2TChAnhtgsAEkY4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s3T//fdr8+bNuueee9SuXTtNmzYtauedM2eOqqqqdO6558put8swDD322GOaMmVK1M55uoqKCkkK+Dvlew0AEgEBI4HNmDFDX331lT744IOonqe0tFQ5OTlat26d2rdvH9Vz+dTU1Gjo0KFauHChJGnIkCH66quvtGTJkqgGjNdee02vvvqqli9frvPPP19bt25Vbm6uevbsGdXzAkBLwy2SCISz3LxV7r77bv3lL39RYWGhHA5HVM/12Wefaf/+/brooovUpk0btWnTRu+//76effZZtWnTRoZhWH7OjIwMnXfeeX7bBgwYoD179lh+rtP9x3/8h+bMmaObbrpJF154oW6++Wbde++9tYvtRZvv9yYev1MAYCUCRgTCWW4+UqZp6u6779batWv117/+VX379o3KeU53xRVX6Msvv9TWrVtrH0OHDtWUKVO0detW2e12y895ySWX1Jt++80336hPnz6Wn+t0P/zwg9/iepJkt9tVU1MT1fP69O3bV+np6X6/U1VVVfr444+j9jsFANHALZIINbXcvNVmzJih5cuX689//rM6depUe18+NTVVKSkpUTlnp06d6o3x6Nixo7p27Rq1sR/33nuvRo0apYULF+rGG2/UJ598ohdffFEvvvhiVM7nM27cOD322GPq3bu3zj//fH3++ed65plndNttt1l2jiNHjmjXrl21z0tKSrR161adddZZ6t27t3Jzc/Xb3/5W/fv3V9++fTV//nz17NlTEyZMsKwNABB18Z7G0hI899xzZu/evc127dqZw4cPNz/66KOonUtSwMfSpUujds5Aoj1N1TRN8//+3/9rXnDBBWZycrJ57rnnmi+++GJUz2eapllVVWXm5OSYvXv3Ntu3b2/269fPnDdvnlldXW3ZOQoLCwP+DKdNm2aapneq6vz58820tDQzOTnZvOKKK8ydO3dadn4AiAWWawcAAJZjDAYAALAcAQMAAFiOgAEAACxHwAAAAJYjYAAAAMsRMAAAgOUIGAAAwHIEDAAAYDkCBoAWwWaz6fXXX493MwCcQsAAELFbbrlFNput3uPqq6+Od9MAxAmLnQGwxNVXX62lS5f6bUtOTo5TawDEGz0YACyRnJys9PR0v0eXLl0keW9fvPDCC7rmmmuUkpKifv36qaCgwO/4L7/8UpdffrlSUlLUtWtXTZ8+XUeOHPHb55VXXtH555+v5ORkZWRk6O677/Z7/eDBg7r++uvVoUMH9e/fX2+88UZ0PzSABhEwAMTE/PnzdcMNN2jbtm2aMmWKbrrpJm3fvl2SdPToUY0dO1ZdunTR5s2btXr1ar333nt+AeKFF17QjBkzNH36dH355Zd644039JOf/MTvHA8//LBuvPFGffHFF7r22ms1ZcoUHTp0KKafE8Ap8V7OFUDimzZtmmm3282OHTv6PR577DHTNE1TknnnnXf6HTNixAjzrrvuMk3TNF988UWzS5cu5pEjR2pff/PNN82kpCSzoqLCNE3T7Nmzpzlv3rwG2yDJfOCBB2qfHzlyxJRkvv3225Z9TgDBYwwGAEtkZWXphRde8Nt21lln1f575MiRfq+NHDlSW7dulSRt375dgwYNUseOHWtfv+SSS1RTU6OdO3fKZrPp73//u6644opG2zBw4MDaf3fs2FGdO3fW/v37w/1IACJAwABgiY4dO9a7ZWGVlJSUoPZr27at33ObzaaamppoNAlAExiDASAmPvroo3rPBwwYIEkaMGCAtm3bpqNHj9a+/uGHHyopKUnnnHOOOnXqJJfLpfXr18e0zQDCRw8GAEtUV1eroqLCb1ubNm3UrVs3SdLq1as1dOhQ/exnP9Orr76qTz75RC+//LIkacqUKVqwYIGmTZumhx56SAcOHNDMmTN18803Ky0tTZL00EMP6c4771SPHj10zTXX6PDhw/rwww81c+bM2H5QAEEhYACwxDvvvKOMjAy/beecc4527NghyTvDY+XKlfpf/+t/KSMjQytWrNB5550nSerQoYPeffdd5eTkaNiwYerQoYNuuOEGPfPMM7XvNW3aNB07dkz/9V//pfvuu0/dunVTdnZ27D4ggJDYTNM0490IAC2bzWbT2rVrNWHChHg3BUCMMAYDAABYjoABAAAsxxgMAFHHnVig9aEHAwAAWI6AAQAALEfAAAAAliNgAAAAyxEwAACA5QgYAADAcgQMAABgOQIGAACw3P8HolEDqe22hVEAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "log_path = cifar_logger.experiment.metrics_file_path\n", "cifar_results = pd.read_csv(log_path)\n", @@ -1771,12 +4238,49 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 60, "id": "e71eff9b", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "44687f1d6df745d2ae89b0d3b8371ddd", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Testing: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " Test metric DataLoader 0\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " test_accuracy 0.40880000591278076\n", + " test_loss 2.4764862060546875\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'test_loss': 2.4764862060546875, 'test_accuracy': 0.40880000591278076}]" + ] + }, + "execution_count": 60, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "cifar_trainer.test(cifar_module,\n", " datamodule=cifar_dm)\n" @@ -1804,12 +4308,510 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 61, "id": "58eae430", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: True\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "\n", + " | Name | Type | Params\n", + "-------------------------------------------\n", + "0 | model | CIFARModel | 964 K \n", + "1 | loss | CrossEntropyLoss | 0 \n", + "-------------------------------------------\n", + "964 K Trainable params\n", + "0 Non-trainable params\n", + "964 K Total params\n", + "3.858 Total estimated model params size (MB)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "bf9f95a0186f49cda30773788fcf96cb", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchmetrics/utilities/checks.py:49: UserWarning: MPS: no support for int64 min/max ops, casting it to int32 (Triggered internally at /Users/runner/work/pytorch/pytorch/pytorch/aten/src/ATen/native/mps/operations/ReduceOps.mm:1271.)\n", + " if ignore_index is None and target.min() < 0:\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "`Trainer.fit` stopped: `max_epochs=30` reached.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b0b092424de344d5805fc7b57eae4a88", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Testing: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "try:\n", " for name, metric in cifar_module.metrics.items():\n", @@ -1858,12 +4860,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 62, "id": "638a1c8c", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchvision/transforms/functional.py:1603: UserWarning: The default value of the antialias parameter of all the resizing transforms (Resize(), RandomResizedCrop(), etc.) will change from None to True in v0.17, in order to be consistent across the PIL and Tensor backends. To suppress this warning, directly pass antialias=True (recommended, future default), antialias=None (current default, which means False for Tensors and True for PIL), or antialias=False (only works on Tensors - PIL will still use antialiasing). This also applies if you are using the inference transforms from the models weights: update the call to weights.transforms(antialias=True).\n", + " warnings.warn(\n" + ] + }, + { + "data": { + "text/plain": [ + "torch.Size([6, 3, 224, 224])" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "resize = Resize((232,232))\n", "crop = CenterCrop(224)\n", @@ -1886,12 +4907,221 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 63, "id": "7776ed1e", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " action_fn=lambda data: sys.getsizeof(data.storage()),\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " return super().__sizeof__() + self.nbytes()\n" + ] + }, + { + "data": { + "text/plain": [ + "===================================================================================================================\n", + "Layer (type:depth-idx) Input Shape Output Shape Param #\n", + "===================================================================================================================\n", + "ResNet [6, 3, 224, 224] [6, 1000] --\n", + "├─Conv2d: 1-1 [6, 3, 224, 224] [6, 64, 112, 112] 9,408\n", + "├─BatchNorm2d: 1-2 [6, 64, 112, 112] [6, 64, 112, 112] 128\n", + "├─ReLU: 1-3 [6, 64, 112, 112] [6, 64, 112, 112] --\n", + "├─MaxPool2d: 1-4 [6, 64, 112, 112] [6, 64, 56, 56] --\n", + "├─Sequential: 1-5 [6, 64, 56, 56] [6, 256, 56, 56] --\n", + "│ └─Bottleneck: 2-1 [6, 64, 56, 56] [6, 256, 56, 56] --\n", + "│ │ └─Conv2d: 3-1 [6, 64, 56, 56] [6, 64, 56, 56] 4,096\n", + "│ │ └─BatchNorm2d: 3-2 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", + "│ │ └─ReLU: 3-3 [6, 64, 56, 56] [6, 64, 56, 56] --\n", + "│ │ └─Conv2d: 3-4 [6, 64, 56, 56] [6, 64, 56, 56] 36,864\n", + "│ │ └─BatchNorm2d: 3-5 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", + "│ │ └─ReLU: 3-6 [6, 64, 56, 56] [6, 64, 56, 56] --\n", + "│ │ └─Conv2d: 3-7 [6, 64, 56, 56] [6, 256, 56, 56] 16,384\n", + "│ │ └─BatchNorm2d: 3-8 [6, 256, 56, 56] [6, 256, 56, 56] 512\n", + "│ │ └─Sequential: 3-9 [6, 64, 56, 56] [6, 256, 56, 56] 16,896\n", + "│ │ └─ReLU: 3-10 [6, 256, 56, 56] [6, 256, 56, 56] --\n", + "│ └─Bottleneck: 2-2 [6, 256, 56, 56] [6, 256, 56, 56] --\n", + "│ │ └─Conv2d: 3-11 [6, 256, 56, 56] [6, 64, 56, 56] 16,384\n", + "│ │ └─BatchNorm2d: 3-12 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", + "│ │ └─ReLU: 3-13 [6, 64, 56, 56] [6, 64, 56, 56] --\n", + "│ │ └─Conv2d: 3-14 [6, 64, 56, 56] [6, 64, 56, 56] 36,864\n", + "│ │ └─BatchNorm2d: 3-15 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", + "│ │ └─ReLU: 3-16 [6, 64, 56, 56] [6, 64, 56, 56] --\n", + "│ │ └─Conv2d: 3-17 [6, 64, 56, 56] [6, 256, 56, 56] 16,384\n", + "│ │ └─BatchNorm2d: 3-18 [6, 256, 56, 56] [6, 256, 56, 56] 512\n", + "│ │ └─ReLU: 3-19 [6, 256, 56, 56] [6, 256, 56, 56] --\n", + "│ └─Bottleneck: 2-3 [6, 256, 56, 56] [6, 256, 56, 56] --\n", + "│ │ └─Conv2d: 3-20 [6, 256, 56, 56] [6, 64, 56, 56] 16,384\n", + "│ │ └─BatchNorm2d: 3-21 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", + "│ │ └─ReLU: 3-22 [6, 64, 56, 56] [6, 64, 56, 56] --\n", + "│ │ └─Conv2d: 3-23 [6, 64, 56, 56] [6, 64, 56, 56] 36,864\n", + "│ │ └─BatchNorm2d: 3-24 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", + "│ │ └─ReLU: 3-25 [6, 64, 56, 56] [6, 64, 56, 56] --\n", + "│ │ └─Conv2d: 3-26 [6, 64, 56, 56] [6, 256, 56, 56] 16,384\n", + "│ │ └─BatchNorm2d: 3-27 [6, 256, 56, 56] [6, 256, 56, 56] 512\n", + "│ │ └─ReLU: 3-28 [6, 256, 56, 56] [6, 256, 56, 56] --\n", + "├─Sequential: 1-6 [6, 256, 56, 56] [6, 512, 28, 28] --\n", + "│ └─Bottleneck: 2-4 [6, 256, 56, 56] [6, 512, 28, 28] --\n", + "│ │ └─Conv2d: 3-29 [6, 256, 56, 56] [6, 128, 56, 56] 32,768\n", + "│ │ └─BatchNorm2d: 3-30 [6, 128, 56, 56] [6, 128, 56, 56] 256\n", + "│ │ └─ReLU: 3-31 [6, 128, 56, 56] [6, 128, 56, 56] --\n", + "│ │ └─Conv2d: 3-32 [6, 128, 56, 56] [6, 128, 28, 28] 147,456\n", + "│ │ └─BatchNorm2d: 3-33 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", + "│ │ └─ReLU: 3-34 [6, 128, 28, 28] [6, 128, 28, 28] --\n", + "│ │ └─Conv2d: 3-35 [6, 128, 28, 28] [6, 512, 28, 28] 65,536\n", + "│ │ └─BatchNorm2d: 3-36 [6, 512, 28, 28] [6, 512, 28, 28] 1,024\n", + "│ │ └─Sequential: 3-37 [6, 256, 56, 56] [6, 512, 28, 28] 132,096\n", + "│ │ └─ReLU: 3-38 [6, 512, 28, 28] [6, 512, 28, 28] --\n", + "│ └─Bottleneck: 2-5 [6, 512, 28, 28] [6, 512, 28, 28] --\n", + "│ │ └─Conv2d: 3-39 [6, 512, 28, 28] [6, 128, 28, 28] 65,536\n", + "│ │ └─BatchNorm2d: 3-40 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", + "│ │ └─ReLU: 3-41 [6, 128, 28, 28] [6, 128, 28, 28] --\n", + "│ │ └─Conv2d: 3-42 [6, 128, 28, 28] [6, 128, 28, 28] 147,456\n", + "│ │ └─BatchNorm2d: 3-43 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", + "│ │ └─ReLU: 3-44 [6, 128, 28, 28] [6, 128, 28, 28] --\n", + "│ │ └─Conv2d: 3-45 [6, 128, 28, 28] [6, 512, 28, 28] 65,536\n", + "│ │ └─BatchNorm2d: 3-46 [6, 512, 28, 28] [6, 512, 28, 28] 1,024\n", + "│ │ └─ReLU: 3-47 [6, 512, 28, 28] [6, 512, 28, 28] --\n", + "│ └─Bottleneck: 2-6 [6, 512, 28, 28] [6, 512, 28, 28] --\n", + "│ │ └─Conv2d: 3-48 [6, 512, 28, 28] [6, 128, 28, 28] 65,536\n", + "│ │ └─BatchNorm2d: 3-49 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", + "│ │ └─ReLU: 3-50 [6, 128, 28, 28] [6, 128, 28, 28] --\n", + "│ │ └─Conv2d: 3-51 [6, 128, 28, 28] [6, 128, 28, 28] 147,456\n", + "│ │ └─BatchNorm2d: 3-52 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", + "│ │ └─ReLU: 3-53 [6, 128, 28, 28] [6, 128, 28, 28] --\n", + "│ │ └─Conv2d: 3-54 [6, 128, 28, 28] [6, 512, 28, 28] 65,536\n", + "│ │ └─BatchNorm2d: 3-55 [6, 512, 28, 28] [6, 512, 28, 28] 1,024\n", + "│ │ └─ReLU: 3-56 [6, 512, 28, 28] [6, 512, 28, 28] --\n", + "│ └─Bottleneck: 2-7 [6, 512, 28, 28] [6, 512, 28, 28] --\n", + "│ │ └─Conv2d: 3-57 [6, 512, 28, 28] [6, 128, 28, 28] 65,536\n", + "│ │ └─BatchNorm2d: 3-58 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", + "│ │ └─ReLU: 3-59 [6, 128, 28, 28] [6, 128, 28, 28] --\n", + "│ │ └─Conv2d: 3-60 [6, 128, 28, 28] [6, 128, 28, 28] 147,456\n", + "│ │ └─BatchNorm2d: 3-61 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", + "│ │ └─ReLU: 3-62 [6, 128, 28, 28] [6, 128, 28, 28] --\n", + "│ │ └─Conv2d: 3-63 [6, 128, 28, 28] [6, 512, 28, 28] 65,536\n", + "│ │ └─BatchNorm2d: 3-64 [6, 512, 28, 28] [6, 512, 28, 28] 1,024\n", + "│ │ └─ReLU: 3-65 [6, 512, 28, 28] [6, 512, 28, 28] --\n", + "├─Sequential: 1-7 [6, 512, 28, 28] [6, 1024, 14, 14] --\n", + "│ └─Bottleneck: 2-8 [6, 512, 28, 28] [6, 1024, 14, 14] --\n", + "│ │ └─Conv2d: 3-66 [6, 512, 28, 28] [6, 256, 28, 28] 131,072\n", + "│ │ └─BatchNorm2d: 3-67 [6, 256, 28, 28] [6, 256, 28, 28] 512\n", + "│ │ └─ReLU: 3-68 [6, 256, 28, 28] [6, 256, 28, 28] --\n", + "│ │ └─Conv2d: 3-69 [6, 256, 28, 28] [6, 256, 14, 14] 589,824\n", + "│ │ └─BatchNorm2d: 3-70 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-71 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-72 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-73 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", + "│ │ └─Sequential: 3-74 [6, 512, 28, 28] [6, 1024, 14, 14] 526,336\n", + "│ │ └─ReLU: 3-75 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ └─Bottleneck: 2-9 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ │ └─Conv2d: 3-76 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-77 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-78 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-79 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", + "│ │ └─BatchNorm2d: 3-80 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-81 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-82 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-83 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", + "│ │ └─ReLU: 3-84 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ └─Bottleneck: 2-10 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ │ └─Conv2d: 3-85 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-86 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-87 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-88 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", + "│ │ └─BatchNorm2d: 3-89 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-90 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-91 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-92 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", + "│ │ └─ReLU: 3-93 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ └─Bottleneck: 2-11 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ │ └─Conv2d: 3-94 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-95 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-96 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-97 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", + "│ │ └─BatchNorm2d: 3-98 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-99 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-100 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-101 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", + "│ │ └─ReLU: 3-102 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ └─Bottleneck: 2-12 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ │ └─Conv2d: 3-103 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-104 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-105 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-106 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", + "│ │ └─BatchNorm2d: 3-107 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-108 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-109 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-110 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", + "│ │ └─ReLU: 3-111 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ └─Bottleneck: 2-13 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ │ └─Conv2d: 3-112 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-113 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-114 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-115 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", + "│ │ └─BatchNorm2d: 3-116 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-117 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-118 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-119 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", + "│ │ └─ReLU: 3-120 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "├─Sequential: 1-8 [6, 1024, 14, 14] [6, 2048, 7, 7] --\n", + "│ └─Bottleneck: 2-14 [6, 1024, 14, 14] [6, 2048, 7, 7] --\n", + "│ │ └─Conv2d: 3-121 [6, 1024, 14, 14] [6, 512, 14, 14] 524,288\n", + "│ │ └─BatchNorm2d: 3-122 [6, 512, 14, 14] [6, 512, 14, 14] 1,024\n", + "│ │ └─ReLU: 3-123 [6, 512, 14, 14] [6, 512, 14, 14] --\n", + "│ │ └─Conv2d: 3-124 [6, 512, 14, 14] [6, 512, 7, 7] 2,359,296\n", + "│ │ └─BatchNorm2d: 3-125 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", + "│ │ └─ReLU: 3-126 [6, 512, 7, 7] [6, 512, 7, 7] --\n", + "│ │ └─Conv2d: 3-127 [6, 512, 7, 7] [6, 2048, 7, 7] 1,048,576\n", + "│ │ └─BatchNorm2d: 3-128 [6, 2048, 7, 7] [6, 2048, 7, 7] 4,096\n", + "│ │ └─Sequential: 3-129 [6, 1024, 14, 14] [6, 2048, 7, 7] 2,101,248\n", + "│ │ └─ReLU: 3-130 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", + "│ └─Bottleneck: 2-15 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", + "│ │ └─Conv2d: 3-131 [6, 2048, 7, 7] [6, 512, 7, 7] 1,048,576\n", + "│ │ └─BatchNorm2d: 3-132 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", + "│ │ └─ReLU: 3-133 [6, 512, 7, 7] [6, 512, 7, 7] --\n", + "│ │ └─Conv2d: 3-134 [6, 512, 7, 7] [6, 512, 7, 7] 2,359,296\n", + "│ │ └─BatchNorm2d: 3-135 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", + "│ │ └─ReLU: 3-136 [6, 512, 7, 7] [6, 512, 7, 7] --\n", + "│ │ └─Conv2d: 3-137 [6, 512, 7, 7] [6, 2048, 7, 7] 1,048,576\n", + "│ │ └─BatchNorm2d: 3-138 [6, 2048, 7, 7] [6, 2048, 7, 7] 4,096\n", + "│ │ └─ReLU: 3-139 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", + "│ └─Bottleneck: 2-16 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", + "│ │ └─Conv2d: 3-140 [6, 2048, 7, 7] [6, 512, 7, 7] 1,048,576\n", + "│ │ └─BatchNorm2d: 3-141 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", + "│ │ └─ReLU: 3-142 [6, 512, 7, 7] [6, 512, 7, 7] --\n", + "│ │ └─Conv2d: 3-143 [6, 512, 7, 7] [6, 512, 7, 7] 2,359,296\n", + "│ │ └─BatchNorm2d: 3-144 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", + "│ │ └─ReLU: 3-145 [6, 512, 7, 7] [6, 512, 7, 7] --\n", + "│ │ └─Conv2d: 3-146 [6, 512, 7, 7] [6, 2048, 7, 7] 1,048,576\n", + "│ │ └─BatchNorm2d: 3-147 [6, 2048, 7, 7] [6, 2048, 7, 7] 4,096\n", + "│ │ └─ReLU: 3-148 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", + "├─AdaptiveAvgPool2d: 1-9 [6, 2048, 7, 7] [6, 2048, 1, 1] --\n", + "├─Linear: 1-10 [6, 2048] [6, 1000] 2,049,000\n", + "===================================================================================================================\n", + "Total params: 25,557,032\n", + "Trainable params: 25,557,032\n", + "Non-trainable params: 0\n", + "Total mult-adds (G): 24.54\n", + "===================================================================================================================\n", + "Input size (MB): 3.61\n", + "Forward/backward pass size (MB): 1066.99\n", + "Params size (MB): 102.23\n", + "Estimated Total Size (MB): 1172.83\n", + "===================================================================================================================" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "resnet_model = resnet50(weights=ResNet50_Weights.DEFAULT)\n", "summary(resnet_model,\n", @@ -1911,12 +5141,198 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 64, "id": "5c8e359d", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "ResNet(\n", + " (conv1): Conv2d(3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False)\n", + " (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " (maxpool): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)\n", + " (layer1): Sequential(\n", + " (0): Bottleneck(\n", + " (conv1): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " (downsample): Sequential(\n", + " (0): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " )\n", + " )\n", + " (1): Bottleneck(\n", + " (conv1): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " (2): Bottleneck(\n", + " (conv1): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " )\n", + " (layer2): Sequential(\n", + " (0): Bottleneck(\n", + " (conv1): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " (downsample): Sequential(\n", + " (0): Conv2d(256, 512, kernel_size=(1, 1), stride=(2, 2), bias=False)\n", + " (1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " )\n", + " )\n", + " (1): Bottleneck(\n", + " (conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " (2): Bottleneck(\n", + " (conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " (3): Bottleneck(\n", + " (conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " )\n", + " (layer3): Sequential(\n", + " (0): Bottleneck(\n", + " (conv1): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " (downsample): Sequential(\n", + " (0): Conv2d(512, 1024, kernel_size=(1, 1), stride=(2, 2), bias=False)\n", + " (1): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " )\n", + " )\n", + " (1): Bottleneck(\n", + " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " (2): Bottleneck(\n", + " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " (3): Bottleneck(\n", + " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " (4): Bottleneck(\n", + " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " (5): Bottleneck(\n", + " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " )\n", + " (layer4): Sequential(\n", + " (0): Bottleneck(\n", + " (conv1): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " (downsample): Sequential(\n", + " (0): Conv2d(1024, 2048, kernel_size=(1, 1), stride=(2, 2), bias=False)\n", + " (1): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " )\n", + " )\n", + " (1): Bottleneck(\n", + " (conv1): Conv2d(2048, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " (2): Bottleneck(\n", + " (conv1): Conv2d(2048, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " )\n", + " (avgpool): AdaptiveAvgPool2d(output_size=(1, 1))\n", + " (fc): Linear(in_features=2048, out_features=1000, bias=True)\n", + ")" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "resnet_model.eval()" ] @@ -1935,7 +5351,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 65, "id": "80f19869", "metadata": {}, "outputs": [], @@ -1956,7 +5372,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 66, "id": "6892597d", "metadata": {}, "outputs": [], @@ -1975,7 +5391,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 67, "id": "3eb1e1b0", "metadata": {}, "outputs": [], @@ -2000,12 +5416,49 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 68, "id": "0e89d251", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Image: book_images/flamingo.jpg\n", + " label prob\n", + "0 flamingo 0.591760\n", + "1 spoonbill 0.012386\n", + "2 American_egret 0.002105\n", + "Image: book_images/hawk.jpg\n", + " label prob\n", + "0 great_grey_owl 0.287958\n", + "1 kite 0.039478\n", + "2 fountain 0.029384\n", + "Image: book_images/hawk_cropped.jpeg\n", + " label prob\n", + "0 kite 0.301841\n", + "1 jay 0.121659\n", + "2 magpie 0.015511\n", + "Image: book_images/huey.jpg\n", + " label prob\n", + "0 Lhasa 0.151153\n", + "1 Shih-Tzu 0.129804\n", + "2 Tibetan_terrier 0.102400\n", + "Image: book_images/kitty.jpg\n", + " label prob\n", + "0 tabby 0.173628\n", + "1 tiger_cat 0.110415\n", + "2 doormat 0.093447\n", + "Image: book_images/weaver.jpg\n", + " label prob\n", + "0 jacamar 0.287284\n", + "1 bee_eater 0.046768\n", + "2 bulbul 0.037507\n" + ] + } + ], "source": [ "for i, imgfile in enumerate(imgfiles):\n", " img_df = class_labels.copy()\n", @@ -2029,7 +5482,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 69, "id": "69456669", "metadata": { "lines_to_next_cell": 2 @@ -2073,12 +5526,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 70, "id": "70b3ece2", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 1, 14, 22, 16, 43, 530, 973, 1622, 1385, 65, 458,\n", + " 4468], dtype=int32)" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "(imdb_seq_train,\n", " imdb_seq_test) = load_sequential(root='data/IMDB')\n", @@ -2106,10 +5571,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 71, "id": "349b2af7", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "\" this film was just brilliant casting location scenery story direction everyone's\"" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "lookup = load_lookup(root='data/IMDB')\n", "' '.join(lookup[i] for i in sample_review)" @@ -2129,7 +5605,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 72, "id": "ffa8da37", "metadata": { "lines_to_next_cell": 0 @@ -2156,7 +5632,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 73, "id": "11eeeabb", "metadata": { "lines_to_next_cell": 0 @@ -2193,10 +5669,50 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 74, "id": "5fe55a29", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " action_fn=lambda data: sys.getsizeof(data.storage()),\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " return super().__sizeof__() + self.nbytes()\n" + ] + }, + { + "data": { + "text/plain": [ + "===================================================================================================================\n", + "Layer (type:depth-idx) Input Shape Output Shape Param #\n", + "===================================================================================================================\n", + "IMDBModel [25000, 10003] [25000] --\n", + "├─Linear: 1-1 [25000, 10003] [25000, 16] 160,064\n", + "├─ReLU: 1-2 [25000, 16] [25000, 16] --\n", + "├─Linear: 1-3 [25000, 16] [25000, 16] 272\n", + "├─ReLU: 1-4 [25000, 16] [25000, 16] --\n", + "├─Linear: 1-5 [25000, 16] [25000, 1] 17\n", + "===================================================================================================================\n", + "Total params: 160,353\n", + "Trainable params: 160,353\n", + "Non-trainable params: 0\n", + "Total mult-adds (G): 4.01\n", + "===================================================================================================================\n", + "Input size (MB): 1000.30\n", + "Forward/backward pass size (MB): 6.60\n", + "Params size (MB): 0.64\n", + "Estimated Total Size (MB): 1007.54\n", + "===================================================================================================================" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "imdb_model = IMDBModel(imdb_test.tensors[0].size()[1])\n", "summary(imdb_model,\n", @@ -2225,7 +5741,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 75, "id": "e1ebbc70", "metadata": {}, "outputs": [], @@ -2248,10 +5764,496 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 76, "id": "9feddeb2", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", + " rank_zero_warn(\n", + "\n", + " | Name | Type | Params\n", + "--------------------------------------------\n", + "0 | model | IMDBModel | 160 K \n", + "1 | loss | BCEWithLogitsLoss | 0 \n", + "--------------------------------------------\n", + "160 K Trainable params\n", + "0 Non-trainable params\n", + "160 K Total params\n", + "0.641 Total estimated model params size (MB)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1892: PossibleUserWarning: The number of training batches (45) is smaller than the logging interval Trainer(log_every_n_steps=50). Set a lower value for log_every_n_steps if you want to see logs for the training epoch.\n", + " rank_zero_warn(\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "3c8345a0fa7d41768ff584eca2ae7e32", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "`Trainer.fit` stopped: `max_epochs=30` reached.\n" + ] + } + ], "source": [ "imdb_logger = CSVLogger('logs', name='IMDB')\n", "imdb_trainer = Trainer(deterministic=True,\n", @@ -2272,12 +6274,49 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 77, "id": "887d7dad", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "15800f2fa0774b2d8832acab92ea61df", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Testing: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " Test metric DataLoader 0\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " test_accuracy 0.8543599843978882\n", + " test_loss 1.1992340087890625\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'test_loss': 1.1992340087890625, 'test_accuracy': 0.8543599843978882}]" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "test_results = imdb_trainer.test(imdb_module, datamodule=imdb_dm)\n", "test_results" @@ -2297,7 +6336,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 78, "id": "055a9aeb", "metadata": {}, "outputs": [], @@ -2321,7 +6360,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 79, "id": "e3e1e181", "metadata": { "lines_to_next_cell": 0 @@ -2346,7 +6385,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 80, "id": "dd64350c", "metadata": { "lines_to_next_cell": 0 @@ -2370,7 +6409,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 81, "id": "0bf8b868", "metadata": {}, "outputs": [], @@ -2396,7 +6435,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 82, "id": "28256828", "metadata": { "lines_to_next_cell": 0 @@ -2418,7 +6457,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 83, "id": "a5945618", "metadata": { "lines_to_next_cell": 0 @@ -2461,12 +6500,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 84, "id": "74704884", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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66+/Xvfee688Ho/eeustXXTRRTIMQ3feeWc/HAGQWktLi1599VPZ08N7FpGp8MgvSf/8pzRhgtTcbFcPD4ftNS2rquyRliQtAQAAAABAHsnLxOWdd96pSy+9VBdffLEk6fe//70eeeQR3Xvvvbr++ut3at/S0qJJkybp/PPPlyRNmDBB3/rWt/T8889nNW6gNw455BBNmPCKVr0fUSzJn6ppROWuOFnaf2ti0uezLwAAAAAAAHks76aKb9myRf/61790yimnJK4rKCjQKaecomeffbbb+3g8Hv3rX/9KTCd/77339Oijj2rq1Kk97mfz5s3q6OjocgGyadSoUbq1ekzSpKUkRSxTVUcuy1JUAAAgmzgnBQAAA1neJS4/+eQTRaNRjRkzpsv1Y8aM0UcffdTtfc4//3zddNNNOvnkk1VYWKgDDzxQkydP1g9+8IMe93PzzTerqKgocRk/fnxGjwNIpbNTqr1ncNI2LkXkVUhlr96dpagAAEA2cU4KAAAGsrxLXO6KQCCgX/7yl/rd736nl156SQ0NDXrkkUf085//vMf73HDDDWpvb09cVq9encWIMVCtW7dOa9eulSQ9/rjUEj5YkjRIdiEpU52SrK1byaMWNWqajI/D/RIvAADoW5yTAgCAgSytNS4PP/xwzZw5UzNmzNDo0aMzFVNSo0aNksvlSiR34tauXauxY8d2e58f//jHqqqqUk1NjSTpiCOO0Pr163XZZZfphz/8oQoKds7f7rHHHtpjjz0yfwBADyzL0ne+8x0FAgH94Q9/0Nlnn60Hv/47ffvpb+ofOlObNER1qlJYbrkVVpXqVKZmGaZpF+EBAAC7Hc5JAQDAQJZW4vL111/XNddco+uvv15nnXWWLr74Yk2dOrXbRGCmDBo0SMcee6yefvppnX322ZKkWCymp59+Wpdffnm399mwYcNOMblcLkl2sgjoD5ZlKRgMqr6+XuFwWJ9//rkCgYAkaebMmZoyZYoqfniYTnt6gvbUBkmST807dxSJ2JXDAQAAAAAAdiNpJS6PPvpovfzyy+rs7NTDDz+shx9+WGPHjtWFF16oiy++WIccckim4uzi6quvVnV1tY477jidcMIJqq2t1fr16xNVxi+88EKNGzdON998sySpvLxcd955p44++mideOKJeuedd/TjH/9Y5eXliQQmkE1tbW3y+/0KhUIy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9DepQgAAAAAAALibxTAMozQnWLx4sbp37y673S5JqlKlitq0aaPIyEhJ0sGDB7V27VqdPXtWhmHIarXq22+/1e2331766svRyZMnVa1aNZ04cUJBQUFml3NVMQxDHTt21PLlyyV1lNRfVRWm3spUf81UdSXryVtuUVJysiwWi9nlAgBQYfF9xvPxHgIAAE92ud9lil6quQS6dOmihQsXqn///jpw4IBOnz6t5OTkfH1ystHatWtr5syZ6tSpU2kfFlcRi8WiJ598UsuXL1e8ktVfybpNUoOL+8c1bKjE+fMJLQEAAAAAALxIqYNLSbr11lu1c+dOzZgxQ9988402bNigw4cPS5JCQ0PVunVr9ezZU/369VNAQIA7HhJXkcOHpWGPN9NTGq4XNVvBliPyzTNQ+JnwcBFZAgAAAAAAeBe3BJeSFBAQoMGDB2vw4MHF9t2wYYNmzJihf//73+56eHixyZOP6fDxJnpP4xWoOnrLeD7ffsvq1VKvXlJSksSoSwAAAAAAAK9QqsV5LsfBgwf1z3/+U82bN1fbtm313nvvlddDw8NN/U/uauH9NfPSDna7lJIi/eESBQAAAAAAAPBcbhtxWZBz585p3rx5mjFjhv73v//J4XBIcl7zkusRoiS2brXr98MNJUmttF7NtLXgjlarNHOmFB9fjtUBAAAAAACgrJRJcLl06VLNmDFD8+bN0+nTpyXlLtATGRmpe+65R/fdd19ZPDS8zN///ruk6yQVMtoyh80mZWaWT1EAAAAAAAAoc24LLn/++WfNmDFDn3zyifbt2ycpN6ysU6eO7rvvPt1///2Ki4tjtCVKxOGQvv46SJLkK5se0meFd7ZapbCwcqoMAAAAAAAAZa1UweWRI0f02WefacaMGVq3bp2k3LCyevXqOn78uCwWi9555x317t279NXiqvLVV0d07pwzjOyqHxShjMI722xS//7lVBkAAAAAAADK2mUHl9nZ2fr66681Y8YMff/998rOznaFlf7+/urevbv69eunHj16qFKlSm4vGFePb76p4Wp3D10gHS6ko6+vFBcndexYPoUBAAAAAACgzJU4uFy5cqVmzJihOXPm6Ngx5yrPOYvstG/fXv369VPv3r0VHBxcZsXi6nHunPTFF85LClStKj36XmfpzxOcOy0WyTCc08NtNmdomZjo3A4AAAAAAACvUOLgMufalDmjKxs1aqR+/fqpb9++ioqKKqv6cJVavdoZXkrS/fdLleZMz915221S5crOa1r27+8caUloCQAAAAAA4FUue6p41apV9d577ykhIaEs6gEkSfHx0oED0uzZ0s0NMqRe8507atWSvv/eOdoSAAAAAAAAXsvncjobhqHTp0/rkUceUevWrTVu3DgdPHiwrGrDVerAgQO6+eab9dVXH2jgwNO6adUE5xLjkvT444SWAAAAAAAAV4ESB5fLli3Tww8/rGuuuUaGYSgtLU3PPvus6tWrp9tvv10zZszQ6dOny7JWXCU++ugjrVq1So899pj+/dZb0gcfOHf4+kqDBplbHAAAAAAAAMpFiYPLjh07aurUqcrIyNAnn3yibt26ycfHR3a7Xf/73/80cOBARURE6KGHHtJ3330nu91elnVLkiZOnKioqCgFBgYqJiZGq1evLrRvp06dZLFYLrn16NGjzOtEydntdn3wwceSJIvFoiEREVJGhnPnPfc4p4oDAAAAAADA613WVHFJCgwM1EMPPaQFCxZo7969evvttxUdHS3DMHT27FnNmTNHPXv2VGRkZFnU6/L5559r5MiRGjNmjNavX68WLVqoW7duyszMLLD/vHnzdPDgQddty5Yt8vX11QMPPFCmdeLyfPhhqvbuXSVpvNq3H6LQOXNydw4dalpdAAAAAAAAKF8WI2eZ8FLauHGjpk+frs8++0wZF0fIWS6u9BwZGan77rtP999/vzp06OCOh1NMTIxuuukmTZgwQZLkcDhUt25dPfnkk3r++eeLPf7dd9/Vyy+/rIMHD6pKlSqX7L9w4YIuXLjgun/y5EnVrVtXJ06cUFBQkFueAy51ww1faMeO+yVJgx7dpA9uXCRNmiT5+Uk//cTq4QAAlMLJkydVrVo1vs94EL6TAgAAb3K530cve8RlYVq0aKFx48Zp3759+uabb9S7d28FBATIMAwdOHBAEyZMUKdOnRQZGamhQ4dqyZIlV/xYWVlZWrdunbp06eLa5uPjoy5dumjFihUlOsdHH32kBx98sMDQUpLGjh2ratWquW5169a94npRNMMwtGzZMj344J+1Y0fMxa02vfLqjdJf/iL98ou0aBGhJQAAuOrwnRQAAFzN3DbisiAnT57U559/rpkzZ+rHH39UzkPlXF/SZrNd0XkPHDig2rVrKzU1VbGxsa7t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Vdzre7nfRz1yxGVoaKh8fX2VkZGRb3tGRoYiIiJKdA4/Pz+1atVKv/76a4H7AwICFBAQkG9b9erVr6heXL6goCB+gXgo3jvPxvvnuXjvPFd5v3eMtPQsZn4n5fdK2eM1Llu8vmWL17fs8RqXLV7fslXU63s530c98l/t/v7+atOmjZYsWeLa5nA4tGTJknwjMItit9u1efNmRUZGllWZAAAAAAAAAK6QR464lKSRI0cqISFBbdu2Vbt27fTuu+/qzJkzGjhwoCRpwIABql27tsaOHStJ+vvf/66bb75Z1113nY4fP65//vOf2r17twYNGmTm0wAAAAAAAABQAI8NLvv06aNDhw7p5ZdfVnp6ulq2bKnvv//etWDPnj178s2VP3bsmAYPHqz09HQFBwerTZs2Sk1NVZMmTcx6CihAQECAxowZc8mUKFR8vHeejffPc/HeeS7eO1RUfDbLHq9x2eL1LVu8vmWP17hs8fqWLXe/vh65OA8AAAAAAAAA7+aR17gEAAAAAAAA4N0ILgEAAAAAAABUOASXAAAAAAAAACocgksAAAAAAAAAFQ7BJSqcN998UxaLRU8//bTZpaCE9u/fr379+ikkJESVKlVSdHS01q5da3ZZKIbdbtdLL72kBg0aqFKlSrr22mv12muviTXbKqbk5GT17NlTtWrVksVi0VdffZVvv2EYevnllxUZGalKlSqpS5cu2rFjhznFIp+i3rvs7GyNGjVK0dHRqlKlimrVqqUBAwbowIED5hWMq97EiRMVFRWlwMBAxcTEaPXq1WaX5BVeeeUVWSyWfLfGjRubXZZH429j2Sru9X344Ycv+Uzfcccd5hTrgcaOHaubbrpJVatWVVhYmO6++25t3749X5/z589r2LBhCgkJ0TXXXKP77rtPGRkZJlXsWUry+nbq1OmSz/ATTzxhUsWeZ9KkSWrevLmCgoIUFBSk2NhYLViwwLXfXZ9fgktUKGvWrNH777+v5s2bm10KSujYsWNq3769/Pz8tGDBAv3000/617/+peDgYLNLQzHeeustTZo0SRMmTNC2bdv01ltv6e2339b48ePNLg0FOHPmjFq0aKGJEycWuP/tt9/We++9p8mTJ2vVqlWqUqWKunXrpvPnz5dzpfijot67s2fPav369XrppZe0fv16zZs3T9u3b9ddd91lQqWA9Pnnn2vkyJEaM2aM1q9frxYtWqhbt27KzMw0uzSv0LRpUx08eNB1W758udkleTT+Npat4l5fSbrjjjvyfaY/++yzcqzQsyUlJWnYsGFauXKlFi1apOzsbHXt2lVnzpxx9XnmmWf09ddfa+7cuUpKStKBAwd07733mli15yjJ6ytJgwcPzvcZfvvtt02q2PPUqVNHb775ptatW6e1a9fqtttuU69evbR161ZJbvz8GkAFcerUKeP66683Fi1aZMTHxxsjRowwuySUwKhRo4xbbrnF7DJwBXr06GE88sgj+bbde++9Rt++fU2qCCUlyfjyyy9d9x0OhxEREWH885//dG07fvy4ERAQYHz22WcmVIjC/PG9K8jq1asNScbu3bvLpyggj3bt2hnDhg1z3bfb7UatWrWMsWPHmliVdxgzZozRokULs8vwWvxtLFsF/f1KSEgwevXqZUo93igzM9OQZCQlJRmG4fy8+vn5GXPnznX12bZtmyHJWLFihVlleqw/vr6GYZA7lIHg4GDjww8/dOvnlxGXqDCGDRumHj16qEuXLmaXgsswf/58tW3bVg888IDCwsLUqlUrffDBB2aXhRKIi4vTkiVL9Msvv0iSNm7cqOXLl+vOO+80uTJcrt9//13p6en5fn9Wq1ZNMTExWrFihYmV4UqcOHFCFotF1atXN7sUXGWysrK0bt26fL9LfHx81KVLF36XuMmOHTtUq1YtNWzYUH379tWePXvMLslr8bexfCxbtkxhYWFq1KiRhgwZoiNHjphdksc6ceKEJKlGjRqSpHXr1ik7OzvfZ7hx48aqV68en+Er8MfXN8cnn3yi0NBQNWvWTKNHj9bZs2fNKM/j2e12zZ49W2fOnFFsbKxbP79WdxcLXInZs2dr/fr1WrNmjdml4DL99ttvmjRpkkaOHKkXXnhBa9as0VNPPSV/f38lJCSYXR6K8Pzzz+vkyZNq3LixfH19Zbfb9frrr6tv375ml4bLlJ6eLkkKDw/Ptz08PNy1D57h/PnzGjVqlB566CEFBQWZXQ6uMocPH5bdbi/wd8nPP/9sUlXeIyYmRtOmTVOjRo108OBBvfrqq+rQoYO2bNmiqlWrml2e1+FvY9m74447dO+996pBgwbauXOnXnjhBd15551asWKFfH19zS7PozgcDj399NNq3769mjVrJsn5Gfb397/kH5l8hi9fQa+vJP35z39W/fr1VatWLW3atEmjRo3S9u3bNW/ePBOr9SybN29WbGyszp8/r2uuuUZffvmlmjRporS0NLd9fgkuYbq9e/dqxIgRWrRokQIDA80uB5fJ4XCobdu2euONNyRJrVq10pYtWzR58mSCywpuzpw5+uSTT/Tpp5+qadOmSktL09NPP61atWrx3gEmyM7OVu/evWUYhiZNmmR2OQDcLO+MhubNmysmJkb169fXnDlz9Oijj5pYGXBlHnzwQVc7OjpazZs317XXXqtly5apc+fOJlbmeYYNG6YtW7Zw3dsyUtjr+9hjj7na0dHRioyMVOfOnbVz505de+215V2mR2rUqJHS0tJ04sQJffHFF0pISFBSUpJbH4Op4jDdunXrlJmZqdatW8tqtcpqtSopKUnvvfeerFar7Ha72SWiCJGRkWrSpEm+bTfeeCNTnzzAs88+q+eff14PPvigoqOj1b9/fz3zzDMaO3as2aXhMkVEREjSJav0ZWRkuPahYssJLXfv3q1FixYx2hKmCA0Nla+vL79Lykn16tV1ww036NdffzW7FK/E38by17BhQ4WGhvKZvkzDhw/XN998o6VLl6pOnTqu7REREcrKytLx48fz9eczfHkKe30LEhMTI0l8hi+Dv7+/rrvuOrVp00Zjx45VixYt9J///Metn1+CS5iuc+fO2rx5s9LS0ly3tm3bqm/fvkpLS2OaQQXXvn17bd++Pd+2X375RfXr1zepIpTU2bNn5eOT/8+Ar6+vHA6HSRXhSjVo0EARERFasmSJa9vJkye1atUqxcbGmlgZSiIntNyxY4cWL16skJAQs0vCVcrf319t2rTJ97vE4XBoyZIl/C4pA6dPn9bOnTsVGRlpdileib+N5W/fvn06cuQIn+kSMgxDw4cP15dffqn//e9/atCgQb79bdq0kZ+fX77P8Pbt27Vnzx4+wyVQ3OtbkLS0NEniM1wKDodDFy5ccOvnl6niMF3VqlXzXWdCkqpUqaKQkJBLtqPieeaZZxQXF6c33nhDvXv31urVqzVlyhRNmTLF7NJQjJ49e+r1119XvXr11LRpU23YsEHjxo3TI488YnZpKMDp06fz/ff3999/V1pammrUqKF69erp6aef1j/+8Q9df/31atCggV566SXVqlVLd999t3lFQ1LR711kZKTuv/9+rV+/Xt98843sdrvruj81atSQv7+/WWXjKjVy5EglJCSobdu2ateund59912dOXNGAwcONLs0j/fXv/5VPXv2VP369XXgwAGNGTNGvr6+euihh8wuzWPxt7FsFfX61qhRQ6+++qruu+8+RUREaOfOnXruued03XXXqVu3biZW7TmGDRumTz/9VImJiapatarr73+1atVUqVIlVatWTY8++qhGjhypGjVqKCgoSE8++aRiY2N18803m1x9xVfc67tz5059+umn6t69u0JCQrRp0yY988wz6tixo5o3b25y9Z5h9OjRuvPOO1WvXj2dOnVKn376qZYtW6aFCxe69/Pr1nXPATeJj483RowYYXYZKKGvv/7aaNasmREQEGA0btzYmDJlitkloQROnjxpjBgxwqhXr54RGBhoNGzY0Pjb3/5mXLhwwezSUIClS5caki65JSQkGIZhGA6Hw3jppZeM8PBwIyAgwOjcubOxfft2c4uGYRhFv3e///57gfskGUuXLjW7dFylxo8fb9SrV8/w9/c32rVrZ6xcudLskrxCnz59jMjISMPf39+oXbu20adPH+PXX381uyyPxt/GslXU63v27Fmja9euRs2aNQ0/Pz+jfv36xuDBg4309HSzy/YYhf39//jjj119zp07ZwwdOtQIDg42KleubNxzzz3GwYMHzSvagxT3+u7Zs8fo2LGjUaNGDSMgIMC47rrrjGeffdY4ceKEuYV7kEceecSoX7++4e/vb9SsWdPo3Lmz8cMPP7j2u+vzazEMw7jcVBUAAAAAAAAAyhLXuAQAAAAAAABQ4RBcAgAAAAAAAKhwCC4BAAAAAAAAVDgElwAAAAAAAAAqHIJLAAAAAAAAABUOwSUAAAAAAACACofgEgAAAAAAAECFQ3AJAAAAAAAAoMIhuAQAAAAAAOVu165dslgsslgsmjZtmtnlAKiACC4BAAAAAChHy5YtcwV2Jb09/fTTZpcNAOWO4BIASmjatGmuL467du0yu5wSycrK0vXXXy+LxaIvvvii0H6GYSgoKEg+Pj4KDw9Xnz59tGfPnmLPP2zYMFksFiUkJLizbAAAAAAAZDW7AABA2fnPf/6jX3/9Vc2aNdN9991XaL+dO3fq1KlTkqTMzEzNmTNHP//8szZu3Fjk+UeNGqUPP/xQM2fO1FNPPaU2bdq4tX4AAABvN2TIEA0dOrTYfqGhoeVQDQBULASXAOClTp06pbfeekuS9OKLL8pisRTaNzIyUps3b9b+/fs1dOhQ/fbbb9q0aZM2btyoFi1aFHpcvXr1lJCQoA8++EAvvfSSvvvuO7c/DwAAAG8WFhamZs2amV0GAFRITBUHAC81adIkHTlyRPXq1dMDDzxQZN8qVaqoWbNm6tatm1577TXX9rS0tGIf5y9/+YskacGCBVq3bl2pagYAAAAAIAfBJQB4IbvdrgkTJkiSHnroIfn4lPzXfWxsrKu9ZcuWYvs3atRIrVu3liSNHz/+MisFAADAlYiKipLFYtHDDz8sSVqzZo0eeugh1a1bV4GBgapbt64GDhyon3/+uUTn+/rrr3X//ferTp06CggIUEhIiGJjY/Xmm2/q9OnTJTrHli1b9OSTTyo6OlrBwcHy8/NTRESEunTporffflsHDx4s9hyLFi1Sz549FRERoYCAADVo0EBDhgzRvn37SlQDAO9CcAkAXmjRokXau3evJKlv376XdWxUVJSqVKkiqWTBZd7HmDt3rutamQAAACgfU6dOVVxcnGbPnq19+/bpwoUL2rdvn6ZNm6aWLVtq7ty5hR57/vx53Xvvvbrrrrv03//+V/v371dWVpaOHj2qlStXavTo0WrUqFGRM3HsdrtGjhyp5s2ba8KECdqyZYuOHz8um82mjIwMLVmyRKNGjdLo0aOLfB6jR49W165d9c033ygjI0NZWVnatWuXJk+erNatW2vbtm1X+hIB8FAElwDgRllZWfq///s/3XrrrapZs6b8/f0VERGh7t27a9asWXI4HMWe48iRI3ruuefUqFEjVapUSeHh4br99tv15ZdfSirZ6uZz5syRJF1//fWKjo6+rOdgsVh07bXXSip5cJmz8M/Zs2eVmJh4WY8HAACAK5eWlqYnnnhCYWFhGj9+vFatWqWkpCSNGjVKAQEBunDhgvr27au1a9cWeHxCQoLre2aLFi00Y8YMrVmzRgsXLtTAgQNlsVh04MABde7cWfv37y/wHI899pj+/e9/yzAMRUZG6vXXX9fSpUu1fv16LVy4UK+99lqR102XpA8++EBvvvmm4uPj9emnn2rt2rVavHixBgwYIEk6dOiQHnnkkVK8UgA8EYvzAICb7Nq1S3feeecl03EyMjK0YMECLViwQO+//74SExNVo0aNAs+xefNm3X777crIyHBtO3/+vBYvXqzFixfrscceyzeVuzBLly6VJN18882X/TxWrFihzZs3S5L27dunEydOqFq1akUeU79+fUVERCg9PV0LFixQv379LvtxAQAArkaZmZklvjyPn5/fJds3btyo+vXra+XKlYqIiHBt79ixo7p166auXbsqOztbQ4cO1erVq/Md++2337r+4d25c2d999138vf3d+3v2rWrYmNj9dhjj+no0aMaOXKkPv/883znmD9/vqZOnSrJecmh7777TtWrV8/Xp2vXrnrxxRddM4IKkpqaqsGDB+v999/Pt6hk586d5e/vrw8//FArV67Uhg0b1KpVq2JeLQDeghGXAOAGp0+fVufOnV2h5d1336358+dr7dq1mjt3ruLj4yVJy5cvV8+ePWW32y85x/Hjx3XHHXe4Qsv+/ftrwYIFWrt2rWbPnq3Y2FhNmTJFkydPLrKWffv2uUZi3nTTTZf1PGw2m5544gkZhuHatnXr1hId265dO0lSUlLSZT0mAADA1WzSpEmKjo4u9lbYaEdJ+te//pUvtMxx6623avDgwZKc18D846jLiRMnSpL8/Pz08ccf5wstcwwePFhdunSRJM2bN++S61S++eabkqTKlSvriy++uCS0zKtu3bqF7ouMjNT48ePzhZY5/vrXv7raKSkphZ4DgPchuAQAN3j11Vf122+/SZJefPFFffnll+rZs6fatGmj+++/X0uXLnVdBzI1NVVTpkwp8BwHDhyQJL377ruaMWOG7rjjDrVp00Z9+vRRSkqKevXqpVWrVhVZS2pqqqt9uf+N/ve//61Nmzbl21bS6eJt2rSRJO3fvz/fiFEAAACUneDgYPXq1avQ/XmnVy9evNjVttlsrn84d+3atchQMSf8tNlsWrZsmWv7kSNHtHLlSklSnz59VKtWrSt6DpJ0//33KyAgoMB9jRo10jXXXCNJru/cAK4OBJcAUEoXLlzQhx9+KElq2rSpXnnllUv6WCwW/d///Z9CQkIkybXid95zTJs2TZJzlOSIESMuOYevr6/ef/99BQYGFllP3hUXw8LCSvw8du/e7ao9Li7Otb2kwWXex+ILJQAAQMmMGTNGhmEUe4uKiirw+FatWslqLfwqcC1btnSNpMy5HJDk/L529uxZSVJMTEyRNebdn/e7YVpammumTocOHYp+osVo3LhxkfuDg4MliYUggasMwSUAlNK6det0/PhxSdLDDz8sX1/fAvsFBQWpd+/ekqSffvop3zSbtWvXus5R1PUhw8PD1a1btyLrOXTokKud8wWvJIYPH66zZ8+qWrVqmjt3rqpWrSqp5MFl3ut2pqenl/hxAQAAcOWK+0e11Wp1fU87evSoa3vednHnyDsNPe9xhw8fdrUjIyNLVnAhKleuXOR+Hx9nfFHQJZcAeC+CSwBeJ2fF7dLcckY/lkTeYO9K/1udt50z5bowbdu2LXJ/3i+TJQ0u582bp2+++UaS8zpFtWrVUrNmzS6prSh5H+vMmTMlOgYAAAClU9A1Ic04BwCUBYJLACgld/y3+tixY652zZo1izxHcfvzTiU/d+5ckX0l53Sbp556SpJzivjjjz8uSYqOjpbkHMGZmZlZ7HnyPlZBK14CAADA/Yq7trjNZnN978w7QyZvu7hz5J1Nk/e40NBQV/uPi/YAgDsUfiEMAPBQ27ZtK/U5rnSqS0X4b3XeYPPo0aOuKd+Feemll7R//375+flpypQprueQE1xKzlGXt912W5HnyRvEFrWaJAAAANwnLS1NNput0Otcbty4UVlZWZLkmlEjSQ0bNlTlypV19uzZYhd/XL16taud9xytWrWSxWKRYRhKTk7WwIEDS/NUAOASBJcAvE5xF/Z2tz/+t/qGG24otG9h/63OO8360KFDRZ4j7zUsC5I3uDx27Jjq169faN/169e7Fgp67rnn1LRpU9e+5s2bu9olCS7zjhqtV69ekX0BAADgHkePHtXXX3+te+65p8D9U6dOdbW7dOnialutVsXHx2vBggVatGiR9u3bpzp16hR4jpyFKK1Wqzp16uTaXqNGDcXFxenHH3/UnDlz9Prrr5dqZXEA+COmigNAKeX9r/OV/rc6b2C4bt26Is+xdu3aIvfnHSn5yy+/FNrP4XDo8ccfl91u1/XXX68XX3yx0POU5DqXOY8VEBCg6667rtj+AAAAcI+RI0cWON07KSlJU6ZMkeS8jvpNN92Ub/+wYcMkSVlZWXr00UeVnZ19yTmmTp2qH374QZJ07733XjIzadSoUZKks2fP6oEHHtCJEycKrXPfvn2X8awAgOASAEqtTZs2rqnR06dPl8PhKLDfqVOnNGfOHElSkyZN8n3pa9u2rapVqyZJmjVrVqGPlZGRoYULFxZZT9u2bV3XuVyzZk2h/SZOnOgKQSdPnpzv2piScxRo7dq1JZUsuMx5rFatWnGNSwAAgBLKzMzUli1bir3t3LmzwONbtGih/fv3q02bNpo4caLWrFmj5cuX64UXXtAdd9zhmkY+ceLES47t0aOHHnjgAUnSDz/8oJtvvlmffPKJ1q1bp8WLF2vQoEEaNGiQJOfoynHjxl1yjp49e+rRRx+VJKWmpqpJkyYaO3askpOTlZaWpsWLF+vNN99Uq1atLvlHOQAUh6niAFBKAQEBGjRokN555x1t2bJFr732msaMGZOvj2EYGj58uA4fPixJGj58eL79gYGBGjBggMaPH681a9boP//5j0aMGJGvT84IyfPnzxdZj7+/v2JiYpSUlJRvhGdeBw4ccH1xTEhIKHQaeHR0tPbv36+tW7cW+ZgXLlzQpk2bJEldu3Ytsi8AAAByTZo0SZMmTSq2X4sWLZSWlnbJ9pYtW2r48OEaMmTIJd8xJed3w+nTpysmJqbA886YMUM2m01ffvml1q9fr379+l3Sp1atWvr2229d/9T+o/fff1+VKlXSxIkTdeDAAb3wwguFPgcAuByMuAQAN3j55ZfVsGFDSdIrr7yi+++/X99++63Wr1+v//73v7rttts0Y8YMSVJsbKwee+yxS87xyiuvuFYdf/rppzVgwAAtXLhQ69ev15w5c9ShQwclJiaqXbt2rmMKWwyoV69ekpxT00+dOnXJ/hEjRujkyZMKDQ3Vv/71r0KfV851Lk+ePKk9e/YU2i85Odk1taiw6ysBAACgbAwaNEgpKSnq3bu3atWqJX9/f9WuXVsDBgzQhg0b9OCDDxZ6bGBgoObNm6f58+fr3nvvdR0fHBysmJgYjR07Vtu3b1fLli0LPYevr6/Gjx+vtWvX6rHHHtMNN9ygKlWqyM/PTxEREeratavGjRund955pwyePQBvZjEMwzC7CADwBNOmTXOtlPj7778rKioq3/5du3bpzjvv1M8//1zoOdq3b6/58+fnW5gnr40bN+r2228vdAGehx9+WB06dHBNx0lPT1d4ePgl/Y4cOaLatWvrwoULmj59ugYMGODa991336lHjx6SnP9h79+/f6H1zpo1y7X/22+/Vffu3QvsN3DgQE2bNk1NmzYt0bRyAAAAlE5UVJR2796thIQETZs2zexyAKBMMOISANwkKipKGzdu1IQJExQfH6+QkBD5+fkpPDxcd9xxh2bOnKnk5ORCQ0vJOX3mp59+0l/+8hddf/31CggIUGhoqG699VZ9+umn+vjjj3Xy5ElX/5zrYv5RSEiI7r33XknSp59+6tp+7tw51xSizp07FxlaSiVboOf8+fOaN2+eJGno0KFFng8AAAAAgJJixCUAeJhBgwbpo48+Up06dbR3795C+61atUo333yzfH19tXPnTtWvX79M6skZlRkSEqJdu3bpmmuuKZPHAQAAQC5GXAK4GjDiEgA8yLlz55SYmChJuvnmm4vsGxMTo3vvvVd2u11jx44tk3ocDofeeOMNSdKzzz5LaAkAAAAAcBuCSwCoQHbu3KnCBsLb7XYNGTLEtTJ5QkJCsed74403ZLVa9fHHH2vfvn1urVWS5s6dq23btqlevXp66qmn3H5+AAAAAMDVy2p2AQCAXK+99ppWr16tBx98UDExMQoLC9O5c+e0adMmffDBB1q/fr0kqUuXLq4FdorSqFEjTZ06VTt37tSePXtUp04dt9Zrt9s1ZswY3XbbbapUqZJbzw0AAAAAuLpxjUsAqEAefvhhTZ8+vcg+7du3V2JiokJCQsqpKgAAAAAAyh/BJQBUINu3b9d///tfLV68WLt27dKhQ4eUnZ2tkJAQtW3bVn369NGDDz4oHx+u9AEAAAAA8G4ElwAAAAAAAAAqHIbsAAAAAAAAAKhwCC4BAAAAAAAAVDgElwAAAAAAAAAqHIJLAAAAAAAAABUOwSUAAAAAAACACofgEgAAAAAAAECFQ3AJAAAAAAAAoMIhuAQAAAAAAABQ4RBcAgAAAAAAAKhwCC4BAAAAAAAAVDj/D2K8TpeDd412AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "execution_count": 84, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "imdb_results = pd.read_csv(imdb_logger.experiment.metrics_file_path)\n", "summary_plot(imdb_results,\n", @@ -2496,7 +6547,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 85, "id": "b1ecfca8", "metadata": { "lines_to_next_cell": 2 @@ -2542,7 +6593,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 86, "id": "5503cb3f", "metadata": {}, "outputs": [], @@ -2585,7 +6636,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 87, "id": "8b683641", "metadata": { "lines_to_next_cell": 0 @@ -2616,10 +6667,48 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 88, "id": "702aa8de", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " action_fn=lambda data: sys.getsizeof(data.storage()),\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " return super().__sizeof__() + self.nbytes()\n" + ] + }, + { + "data": { + "text/plain": [ + "===================================================================================================================\n", + "Layer (type:depth-idx) Input Shape Output Shape Param #\n", + "===================================================================================================================\n", + "LSTMModel [10, 500] [10] --\n", + "├─Embedding: 1-1 [10, 500] [10, 500, 32] 320,096\n", + "├─LSTM: 1-2 [10, 500, 32] [10, 500, 32] 8,448\n", + "├─Linear: 1-3 [10, 32] [10, 1] 33\n", + "===================================================================================================================\n", + "Total params: 328,577\n", + "Trainable params: 328,577\n", + "Non-trainable params: 0\n", + "Total mult-adds (M): 45.44\n", + "===================================================================================================================\n", + "Input size (MB): 50.00\n", + "Forward/backward pass size (MB): 2.56\n", + "Params size (MB): 1.31\n", + "Estimated Total Size (MB): 53.87\n", + "===================================================================================================================" + ] + }, + "execution_count": 88, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "lstm_model = LSTMModel(X_test.shape[-1])\n", "summary(lstm_model,\n", @@ -2640,7 +6729,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 89, "id": "e48aa272", "metadata": {}, "outputs": [], @@ -2651,12 +6740,350 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 90, "id": "143be7e8", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", + " rank_zero_warn(\n", + "\n", + " | Name | Type | Params\n", + "--------------------------------------------\n", + "0 | model | LSTMModel | 328 K \n", + "1 | loss | BCEWithLogitsLoss | 0 \n", + "--------------------------------------------\n", + "328 K Trainable params\n", + "0 Non-trainable params\n", + "328 K Total params\n", + "1.314 Total estimated model params size (MB)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d750346c2da241e5aa9290715ef3ab2f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "`Trainer.fit` stopped: `max_epochs=20` reached.\n" + ] + } + ], "source": [ "lstm_trainer = Trainer(deterministic=True,\n", " max_epochs=20,\n", @@ -2677,10 +7104,47 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 91, "id": "9272e2ba", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1db51a56913246c59f746a80a10ad431", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Testing: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " Test metric DataLoader 0\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " test_accuracy 0.8452399969100952\n", + " test_loss 0.7559056878089905\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'test_loss': 0.7559056878089905, 'test_accuracy': 0.8452399969100952}]" + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "lstm_trainer.test(lstm_module, datamodule=imdb_seq_dm)" ] @@ -2695,12 +7159,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 92, "id": "5d9d387e", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(0.5, 1.0)" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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HTp06ITb6dixY8B9h8NxwsDQUP+GfjZAYxxvVdO68RWhNmaB8/84nnCaVhxMDEy1UTiNLH/jjTd03XXX6fLLL9fQoUMVHx+vzz77rFVriI2NVVxcnN555x1/m9fr1datW1u1DoSHk62vIElZWVnyer2tXdpxBXvWDcJb3VG3qVOnauzYsSGxb2hthBCbhcvI8kGDBsnj8Wjbtm3avn27pk2bZuQUyOzZs7Vo0SL985//1K5du5SZmalvvvmGab6oJxxXNQ2nLyaACYSQILB7KeVgeOSRR9SjRw+df/75mjhxotLS0nTuuee2eh1z5szR1KlTNX36dKWkpKhr165KS0vjInOoJ1zHV4TLFxPABK6iexSutGpebW2thgwZoiuvvFL333+/bdvldxv+6i4LcDIFBQUhudJkOKyYCpyM3VfRZWAqjPr888/173//Wz/5yU9UU1OjJ554QkVFRZo2bZrp0hBiwnlJcSl8lhUHWhOnY2BURESEli1bptGjR+uCCy7Qjh079PLLL2vIkCGmS0OIYXwF0PZwJARGJSYm6o033jBdBsIE6ysAbQshBEBYYX0FoO0ghAAImmANxmR8BdA2EEIABEWwl1cHEP4YmArAduF2+XoAZhBCANgqHJdXB2AGIQSArcJxeXUAZhBCgsXrlTZulFas8P0Z4t/6xo4dq6ysLP/9pKQk5eTknPA5DodDa9eubfFr27UdhIZwXV4dQOsjhASDxyMlJUnjxknTpvn+TErytQfBxIkTNWHChAYfKywslMPh0Hvvvdekbb7zzju66aab7CjP75577tGIESPqtZeWlurSSy+19bVgDpevB9BYhBC7eTxSRoZ07OHokhJfexCCyPXXX68NGzY0eAh86dKlGjVqlIYNG9akbfbp00fR0dF2lXhC8fHxioqKapXXQvBx+XoAjUUIORnLkqqrG3errJRuu833nIa2I0mZmb5+jdleI68t+LOf/Ux9+vTRsmXLAtqrqqq0atUqTZ48WVOnTlVCQoKio6M1dOhQrVix4oTbPPZ0zMcff6wf//jH6tSpk84880xt2LCh3nPmzJmj008/XdHR0Ro4cKAWLFigw4cPS5KWLVume++9V9u3b5fD4ZDD4fDXe+zpmB07dujCCy9U586d1atXL910002qqqryP37ddddp8uTJevjhh+VyudSrVy/NmjXL/1owi+XVATQW64SczHffSV272rMty/IdIYmNbVz/qiqpS5eTduvQoYOmT5+uZcuWad68ef7/6FetWiWv16trrrlGq1at0pw5cxQTE6N169bp2muv1amnnqoxY8acdPu1tbVKT09XXFyc3n77bVVUVASMH6nTrVs3LVu2TP369dOOHTt04403qlu3brrzzjs1ZcoUvf/++1q/fr1efvllSVJsAz+H6upqpaWlKSUlRe+884727dunG264QbfeemtAyCooKJDL5VJBQYF2796tKVOmaMSIEbrxxhtP+n4QfCyvDqBRrHamoqLCkmRVVFTUe+zgwYPWBx98YB08ePCHxqoqy/LFh9a/VVU1+n3t3LnTkmQVFBT421JTU61rrrmmwf4//elPrf/93//13//JT35iZWZm+u/379/fevTRRy3LsqyXXnrJ6tChg1VSUuJ//MUXX7QkWWvWrDluTQ899JA1cuRI//2FCxdaw4cPr9fv6O08/fTTVo8ePayqo977unXrrIiICKusrMyyLMuaMWOG1b9/f+vIkSP+Pr/4xS+sKVOmHLeWBn+3CLojR45YBQUF1vLly62CgoKA3xmA8HOifWhzcCTkZKKjfUckGuO116TLLjt5vxdekH7848a9diOdccYZOv/88/XMM89o7Nix2r17twoLC3XffffJ6/XqgQce0D/+8Q+VlJTo0KFDqqmpafSYj507dyoxMVH9+vXzt6WkpNTrt3LlSj322GP65JNPVFVVpSNHjigmJqbR76HutYYPH64uRx0BuuCCC1RbW6tdu3YpLi5OknTWWWcFHM53uVzasWNHk14Lwcfy6gBOhDEhJ+Nw+E6JNOZ2ySWS2+17zvG2lZjo69eY7R1vO8dx/fXXa/Xq1fr222+1dOlSnXrqqfrJT36ihx56SLm5uZozZ44KCgq0bds2paWl6dChQzb8gHw2bdqkq6++Wpdddpn+9a9/6d1339W8efNsfY2jdezYMeC+w+FQbW1tUF4LABAchBA7OZ3Sfwfk1QsQdfdzcnz9guDKK69URESEli9frr/85S/6n//5HzkcDr3xxhuaNGmSrrnmGg0fPlwDBw7URx991OjtDhkyRMXFxQHrOrz11lsBfd588031799f8+bN06hRozRo0CB9/vnnAX0iIyNPukrmkCFDtH37dlVXV/vb3njjDUVERGjw4MGNrhkA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k0PImjVrAu4fPnxY7777rp599lnde++9thUGAADaNtvGhCxfvlwrV67UP//5Tzs2FzSMCQEAoHlCdkzIeeedp/z8fLs2BwAA2jhbQsjBgwf12GOPKSEhwY7NAQCAdqDJY0KOvVCdZVn69ttvFR0drb/97W+2FgcAANquJoeQRx99NCCEREREqE+fPkpOTlaPHj1sLQ4AALRdTQ4h1113XRDKAAAA7U2Tx4QsXbpUq1atqte+atUqPfvss7YUBQAA2r4mh5BFixapd+/e9dr79u2rBx54wJaiAABA29fkELJnzx4NGDCgXnv//v21Z88eW4oCAABtX5NDSN++ffXee+/Va9++fbt69eplS1EAAKDta3IImTp1qm677TYVFBTI6/XK6/XqlVdeUWZmpq666qpg1AgAANqgJs+Ouf/++/XZZ5/poosuUocOvqfX1tZq+vTpjAkBAACN1uxrx3z88cfatm2bOnfurKFDh6p///521xYUXDsGAIDmsXsf2uQjIXUGDRqkQYMGtbgAAADQPjV5TMgVV1yh3/3ud/XaH3zwQf3iF7+wpSgAAND2NTmEvPbaa7rsssvqtV966aV67bXXbCkKAAC0fU0OIVVVVYqMjKzX3rFjR1VWVtpSFAAAaPuaHEKGDh2qlStX1mt/7rnndOaZZ9pSFAAAaPuaPDB1wYIFSk9P1yeffKILL7xQkpSfn6/ly5crLy/P9gIBAEDb1OQQMnHiRK1du1YPPPCA8vLy1LlzZw0fPlyvvPKKevbsGYwaAQBAG9TsdULqVFZWasWKFVqyZIm2bNkir9drV21BwTohAAA0j9370CaPCanz2muvacaMGerXr59+//vf68ILL9Rbb73V4oIAAED70KTTMWVlZVq2bJmWLFmiyspKXXnllaqpqdHatWsZlAoAAJqk0UdCJk6cqMGDB+u9995TTk6OvvjiCz3++OPBrA0AALRhjT4S8uKLL+q2227TLbfcwnLtAACgxRp9JOT111/Xt99+q5EjRyo5OVlPPPGE9u/fH8zaAABAG9boEHLeeefpT3/6k0pLS/XLX/5Szz33nPr166fa2lpt2LBB3377bTDrBAAAbUyLpuju2rVLS5Ys0V//+lcdOHBAF198sZ5//nk767MdU3QBAGiekJmiK0mDBw/Wgw8+qL1792rFihUtLgYAALQfLV6sLNxwJAQA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4yHkkUce0Y033qiZM2fqzDPP1FNPPaXo6Gg988wzx32Ow+FQfHy8/xYXF9eKFQMAADt0MPnihw4d0pYtWzR37lx/W0REhMaPH69NmzYd93lVVVXq37+/amtrde655+qBBx7QWWed1WDfmpoa1dTU+O9XVFRIkiorK216FwAAtA91+07LsmzZntEQsn//fnm93npHMuLi4vThhx82+JzBgwfrmWee0bBhw1RRUaGHH35Y559/vv7f//t/crvd9fovWrRI9957b732xMREe94EAADtzFdffaXY2NgWb8doCGmOlJQUpaSk+O+ff/75GjJkiP74xz/q/vvvr9d/7ty5ys7O9t+vra3V119/rV69esnhcNhSU2VlpRITE1VcXKyYmBhbtonWwe8ufPG7C1/87sJXRUWFTjnlFPXs2dOW7RkNIb1795bT6VR5eXlAe3l5ueLj4xu1jY4dO+qcc87R7t27G3w8KipKUVFRAW3du3dvVr0nExMTwwcqTPG7C1/87sIXv7vwFRFhz5BSowNTIyMjNXLkSOXn5/vbamtrlZ+fH3C040S8Xq927Nghl8sVrDIBAEAQGD8dk52drRkzZmjUqFEaM2aMcnJyVF1drZkzZ0qSpk+froSEBC1atEiSdN999+m8887TaaedpgMHDuihhx7S559/rhtuuMHk2wAAAE1kPIRMmTJFX375pe6++26VlZVpxIgRWr9+vX+w6p49ewIO+3zzzTe68cYbVVZWph49emjkyJF68803deaZZ5p6C4qKitLChQvrnfZB6ON3F7743YUvfnfhy+7fncOya54NAABAExhfrAwAALRPhBAAAGAEIQQAABhBCAEAAEYQQmywePFiJSUlqVOnTkpOTtbmzZtNl4STuOeee+RwOAJuZ5xxhumy0IDXXntNEydOVL9+/eRwOLR27dqAxy3L0t133y2Xy6XOnTtr/Pjx+vjjj80UiwAn+91dd9119T6HEyZMMFMsAixatEijR49Wt27d1LdvX02ePFm7du0K6PP9999r1qxZ6tWrl7p27aorrrii3uKjJ0MIaaGVK1cqOztbCxcu1NatWzV8+HClpaVp3759pkvDSZx11lkqLS31315//XXTJaEB1dXVGj58uBYvXtzg4w8++KAee+wxPfXUU3r77bfVpUsXpaWl6fvvv2/lSnGsk/3uJGnChAkBn8MVK1a0YoU4nldffVWzZs3SW2+9pQ0bNujw4cO65JJLVF1d7e9z++236//+7/+0atUqvfrqq/riiy+Unp7etBey0CJjxoyxZs2a5b/v9Xqtfv36WYsWLTJYFU5m4cKF1vDhw02XgSaSZK1Zs8Z/v7a21oqPj7ceeughf9uBAwesqKgoa8WKFQYqxPEc+7uzLMuaMWOGNWnSJCP1oGn27dtnSbJeffVVy7J8n7OOHTtaq1at8vfZuXOnJcnatGlTo7fLkZAWOHTokLZs2aLx48f72yIiIjR+/Hht2rTJYGVojI8//lj9+vXTwIEDdfXVV2vPnj2mS0ITFRUVqaysLOAzGBsbq+TkZD6DYWLjxo3q27evBg8erFtuuUVfffWV6ZLQgIqKCknyX7huy5YtOnz4cMBn74wzztApp5zSpM8eIaQF9u/fL6/X61/dtU5cXJzKysoMVYXGSE5O1rJly7R+/Xo9+eSTKioqUmpqqr799lvTpaEJ6j5nfAbD04QJE/SXv/xF+fn5+t3vfqdXX31Vl156qbxer+nScJTa2lplZWXpggsu0Nlnny3J99mLjIysd0HYpn72jC/bDphw6aWX+v8+bNgwJScnq3///vrHP/6h66+/3mBlQPtx1VVX+f8+dOhQDRs2TKeeeqo2btyoiy66yGBlONqsWbP0/vvvB2XcHEdCWqB3795yOp31RgOXl5crPj7eUFVoju7du+v000/X7t27TZeCJqj7nPEZbBsGDhyo3r178zkMIbfeeqv+9a9/qaCgQG63298eHx+vQ4cO6cCBAwH9m/rZI4S0QGRkpEaOHKn8/Hx/W21trfLz85WSkmKwMjRVVVWVPvnkE7lcLtOloAkGDBig+Pj4gM9gZWWl3n77bT6DYWjv3r366quv+ByGAMuydOutt2rNmjV65ZVXNGDAgIDHR44cqY4dOwZ89nbt2qU9e/Y06bPH6ZgWys7O1owZMzRq1CiNGTNGOTk5qq6u1syZM02XhhO44447NHHiRPXv319ffPGFFi5cKKfTqalTp5ouDceoqqoK+GZcVFSkbdu2qWfPnjrllFOUlZWl3/zmNxo0aJAGDBigBQsWqF+/fpo8ebK5oiHpxL+7nj176t5779UVV1yh+Ph4ffLJJ7rzzjt12mmnKS0tzWDVkHynYJYvX65//vOf6tatm3+cR2xsrDp37qzY2Fhdf/31ys7OVs+ePRUTE6PZs2crJSVF5513XuNfyO5pPO3R448/bp1yyilWZGSkNWbMGOutt94yXRJOYsqUKZbL5bIiIyOthIQEa8qUKdbu3btNl4UGFBQUWJLq3WbMmGFZlm+a7oIFC6y4uDgrKirKuuiii6xdu3aZLRqWZZ34d/fdd99Zl1xyidWnTx+rY8eOVv/+/a0bb7zRKisrM102LKvB35ska+nSpf4+Bw8etH71q19ZPXr0sKKjo63LL7/cKi0tbdLrOP77YgAAAK2KMSEAAMAIQggAADCCEAIAAIwghAAAACMIIQAAwAhCCAAAMIIQAgAAjCCEAAAAIwghANoEh8OhtWvXmi4DQBMQQgC02HXXXSeHw1HvNmHCBNOlAQhhXMAOgC0mTJigpUuXBrRFRUUZqgZAOOBICABbREVFKT4+PuDWo0cPSb5TJU8++aQuvfRSde7cWQMHDlReXl7A83fs2KELL7xQnTt3Vq9evXTTTTepqqoqoM8zzzyjs846S1FRUXK5XLr11lsDHt+/f78uv/xyRUdHa9CgQXr++eeD+6YBtAghBECrWLBgga644gpt375dV199ta666irt3LlTklRdXa20tDT16NFD77zzjlatWqWXX345IGQ8+eSTmjVrlm666Sbt2LFDzz//vE477bSA17j33nt15ZVX6r333tNll12mq6++Wl9//XWrvk8ATWDrtX8BtEszZsywnE6n1aVLl4Dbb3/7W8uyfJcFv/nmmwOek5ycbN1yyy2WZVnW008/bfXo0cOqqqryP75u3TorIiLCf2n3fv36WfPmzTtuDZKs+fPn++9XVVVZkqwXX3zRtvcJwF6MCQFgi3HjxunJJ58MaOvZs6f/7ykpKQGPpaSkaNu2bZKknTt3avjw4erSpYv/8QsuuEC1tbXatWuXHA6HvvjiC1100UUnrGHYsGH+v3fp0kUxMTHat29fc98SgCAjhACwRZcuXeqdHrFL586dG9WvY8eOAfcdDodqa2uDURIAGzAmBECreOutt+rdHzJkiCRpyJAh2r59u6qrq/2Pv/HGG4qIiNDgwYPVrVs3JSUlKT8/v1VrBhBcHAkBYIuamhqVlZUFtHXo0EG9e/eWJK1atUqjRo3Sj370I/3973/X5s2btWTJEknS1VdfrYULF2rGjBm655579OWXX2r27Nm69tprFRcXJ0m65557dPPNN6tv37669NJL9e233+qNN97Q7NmzW/eNArANIQSALdavXy+XyxXQNnjwYH344YeSfDNXnnvuOf3qV7+Sy+XSihUrdOaZZ0qSoqOj9dJLLykzM1OjR49WdHS0rrjiCj3yyCP+bc2YMUPff/+9Hn30Ud1xxx3q3bu3MjIyWu8NArCdw7Isy3QRANo2h8OhNWvWaPLkyaZLARBCGBMCAACMIIQAAAAjGBMCIOg46wugIRwJAQAARhBCAACAEYQQAABgBCEEAAAYQQgBAABGEEIAAIARhBAAAGAEIQQAABjx/wG5wSkEXrsU0AAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "lstm_results = pd.read_csv(lstm_logger.experiment.metrics_file_path)\n", "fig, ax = subplots(1, 1, figsize=(6, 6))\n", @@ -2715,7 +7200,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 93, "id": "7c6d1072", "metadata": { "lines_to_next_cell": 2 @@ -2743,7 +7228,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 94, "id": "8e2d1d5c", "metadata": {}, "outputs": [], @@ -2768,7 +7253,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 95, "id": "6f6d0e12", "metadata": {}, "outputs": [], @@ -2793,12 +7278,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 96, "id": "d3c961ec", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['DJ_return_1', 'log_volume_1', 'log_volatility_1', 'DJ_return_2',\n", + " 'log_volume_2', 'log_volatility_2', 'DJ_return_3', 'log_volume_3',\n", + " 'log_volatility_3', 'DJ_return_4', 'log_volume_4', 'log_volatility_4',\n", + " 'DJ_return_5', 'log_volume_5', 'log_volatility_5'],\n", + " dtype='object')" + ] + }, + "execution_count": 96, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Y, train = X['log_volume'], X['train']\n", "X = X.drop(columns=['train'] + cols)\n", @@ -2816,10 +7316,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 97, "id": "cb89da88", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0.4128912938562521" + ] + }, + "execution_count": 97, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "M = LinearRegression()\n", "M.fit(X[train], Y[train])\n", @@ -2838,7 +7349,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 98, "id": "55d921d7", "metadata": { "lines_to_next_cell": 0 @@ -2862,12 +7373,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 99, "id": "4e87eeb9", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0.45633025715446285" + ] + }, + "execution_count": 99, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "M.fit(X_day[train], Y[train])\n", "M.score(X_day[~train], Y[~train])" @@ -2903,12 +7425,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 100, "id": "3689b318", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['DJ_return_5', 'log_volume_5', 'log_volatility_5', 'DJ_return_4',\n", + " 'log_volume_4', 'log_volatility_4', 'DJ_return_3', 'log_volume_3',\n", + " 'log_volatility_3', 'DJ_return_2', 'log_volume_2', 'log_volatility_2',\n", + " 'DJ_return_1', 'log_volume_1', 'log_volatility_1'],\n", + " dtype='object')" + ] + }, + "execution_count": 100, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ordered_cols = []\n", "for lag in range(5,0,-1):\n", @@ -2928,12 +7465,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 101, "id": "5633e521", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(6046, 5, 3)" + ] + }, + "execution_count": 101, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X_rnn = X.to_numpy().reshape((-1,5,3))\n", "X_rnn.shape" @@ -2955,7 +7503,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 102, "id": "979a6066", "metadata": {}, "outputs": [], @@ -2992,7 +7540,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 103, "id": "3528f4e7", "metadata": {}, "outputs": [], @@ -3015,12 +7563,50 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 104, "id": "795c283e", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " action_fn=lambda data: sys.getsizeof(data.storage()),\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " return super().__sizeof__() + self.nbytes()\n" + ] + }, + { + "data": { + "text/plain": [ + "===================================================================================================================\n", + "Layer (type:depth-idx) Input Shape Output Shape Param #\n", + "===================================================================================================================\n", + "NYSEModel [1770, 5, 3] [1770] --\n", + "├─RNN: 1-1 [1770, 5, 3] [1770, 5, 12] 204\n", + "├─Dropout: 1-2 [1770, 12] [1770, 12] --\n", + "├─Linear: 1-3 [1770, 12] [1770, 1] 13\n", + "===================================================================================================================\n", + "Total params: 217\n", + "Trainable params: 217\n", + "Non-trainable params: 0\n", + "Total mult-adds (M): 1.83\n", + "===================================================================================================================\n", + "Input size (MB): 0.11\n", + "Forward/backward pass size (MB): 0.86\n", + "Params size (MB): 0.00\n", + "Estimated Total Size (MB): 0.97\n", + "===================================================================================================================" + ] + }, + "execution_count": 104, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "summary(nyse_model,\n", " input_data=X_rnn_t,\n", @@ -3041,7 +7627,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 105, "id": "31640121", "metadata": { "lines_to_next_cell": 0 @@ -3065,10 +7651,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 106, "id": "af6795f5", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.Size([64]) torch.Size([64])\n", + "torch.Size([64]) torch.Size([64])\n", + "torch.Size([64]) torch.Size([64])\n" + ] + } + ], "source": [ "for idx, (x, y) in enumerate(nyse_dm.train_dataloader()):\n", " out = nyse_model(x)\n", @@ -3089,7 +7685,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 107, "id": "0d04344c", "metadata": {}, "outputs": [], @@ -3112,12 +7708,1981 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 108, "id": "485d7bb1", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", + " rank_zero_warn(\n", + "\n", + " | Name | Type | Params\n", + "------------------------------------\n", + "0 | model | NYSEModel | 217 \n", + "1 | loss | MSELoss | 0 \n", + "------------------------------------\n", + "217 Trainable params\n", + "0 Non-trainable params\n", + "217 Total params\n", + "0.001 Total estimated model params size (MB)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b52ec6ddbbe14c79b0c9b9c1a26b0ab0", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "dc3055fa7c164047b3efcd3d34a5a251", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c6d3e7a06a4249bdad468de4b9f46b51", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "02cdcd46d84c4fb19a592bc7945e6f46", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1e99a95040754ab7b295f27310a33188", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a2c66c3fd4d04a079b3be6bbf0996247", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "387a78c0b75a40c8a06b79cf26084a94", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1919f48170824b5c90c968e29fb60188", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "857595e782ce41be850d8f58dd25fb85", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b26221118f354afdbf32b7fa44bfef78", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "971e4975a7d94f55b6d01ebdd6b5c24b", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "48e94297864440e19ca7facebcdb8a9e", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "21794309d18d4d689f3fc72683bd684b", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b8e6718d29d94a26bfb5a7dce2411558", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7b982547ecd74b06a5e7636544285344", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ba48daa2d31b4283b943285ccc6d5030", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "118d72cdb99748dbaaa4888b1505c6fe", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "0d7741797e6f425688a18283429512fd", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "32c68ca902f2491e89dc320449960df4", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "f0c1f182104b43fe807e2f14181ed2e8", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "e6009826c6884cf298c61f6cf95e0b59", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5d5322756ac5407fa682f80e6eba7670", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d849e9fbafe541189ea8f40670455224", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "6d93075d2ec64396bd4e735f638ff2b3", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5e5538f040304fb89202f9c19cf609cd", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5d18512f7653421e9adcf40f22a27ab0", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "8f94ccd2bf7c4b70a46a434ab03cf9f0", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c5f83e194d5b44d0874c47dd54e6a90f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "77c73ad3cd3841f093c31f3346106757", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d1e85ec22c484f9ea392a9ab35796720", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "21975abf024c45169666c186ff42f158", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d058c21ee8f64484880bff1c3414a138", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "193771e270a94c00954aeaad5f190526", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a54669be5a374f6081d69fed069df0c7", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "3632a1f82318478fa83d7362434b7057", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a43ceb0224ab4ef0aab56063cf88dc7f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "49a5dea252e34e15bbaab66b61e83e98", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "48a7c426e9134099842a908851cbd99a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "e6837a62815340e5818adb41b5a4a8e7", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "89711374ae8b429e982d3fba389e432f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "4fa77417ed9a4860ac39db3bc8267b5e", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "fe29fb68e32f457783386c0eebe6841f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "654e21c15f5e49cc89e3ee8483efe4b3", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5fa461c01d524146a1b11ab0c3e7037b", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "72465c8954c94a59987dd1fface65a64", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "14345bb3d3cc488788249b02d12a8c30", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b208de56059149c0b142a9fa70878bca", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "502a42cbe8544093911d23fc21ac6e0d", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b036afffe9254f06bd5e11f129132662", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d55c7e1cc5e747c08572061b43bb15bb", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "14a4c97eb4e641758b5b8a678481db12", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "97bc8d1cbf704296a8cedd0598bc3951", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "0da98d6f4fd840c48fc572614fc4eb97", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "03c30d73a142441080917835a138bf79", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "aca66fd6d0194b2787a7450abbe8378a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "fa45fb1275fa494293f4f43e66b6e1ac", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a7dee7ad56b8446cb0791ac09042e6c3", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ea270026d12c47eb8e3739ffbf057b9a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "33a2996806e24b838c12f07ae95d4ecd", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "960fdb9f03644de9a242056f01da68b3", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "9c76b3b6a56441f7aee113f504fc7920", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b5f3096e1ca54276981128e117f8f8d5", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "4cd269135bfa46fc90362442680d92dd", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "be50daf7a50d482a8846113d6a222fdf", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a23c3571935747c999cf569c40a06b00", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b9221b69df044149a5d8ce0417c11096", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "dc45ac5a02954e44a414719716c4aa37", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "3fc7c185647a4e7f8333ddfce3d8172a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "707a4ccebba94a6bbd103b9a5f40321d", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "fafc0ed205274ffdb9539050a041a290", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "61ad762e9e654c558b09afbc828484e4", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "793897c2fc8d425d998615bb829d8c43", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "2b12ad2c52494483a4d1c6e7ed5ede31", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "de68e3e4b3124d3ead25d0e0a7d3ba42", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "6c9a0d13daba4d72a1bb2dc20efcf412", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "8a45b474bcb7441fafde536166c3b5ef", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "befa8447901e4948aff679cd4b829437", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7080d064216a4d6da052593011bfeccb", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a1865848fe7e4983945449f3865ddcc4", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Testing: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " Test metric DataLoader 0\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " test_loss 0.6207807064056396\n", + " test_r2 0.41084879636764526\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'test_loss': 0.6207807064056396, 'test_r2': 0.41084879636764526}]" + ] + }, + "execution_count": 108, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "nyse_trainer = Trainer(deterministic=True,\n", " max_epochs=200,\n", @@ -3146,7 +9711,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 109, "id": "91d6633a", "metadata": {}, "outputs": [], @@ -3170,7 +9735,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 110, "id": "87137503", "metadata": {}, "outputs": [], @@ -3192,7 +9757,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 111, "id": "3cf09a55", "metadata": {}, "outputs": [], @@ -3211,7 +9776,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 112, "id": "930576f3", "metadata": {}, "outputs": [], @@ -3235,10 +9800,281 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 113, "id": "b9ae8d0e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "\n", + " | Name | Type | Params\n", + "-------------------------------------------\n", + "0 | model | NonLinearARModel | 705 \n", + "1 | loss | MSELoss | 0 \n", + "-------------------------------------------\n", + "705 Trainable params\n", + "0 Non-trainable params\n", + "705 Total params\n", + "0.003 Total estimated model params size (MB)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "bda98978787f41bc81b9ed227089d304", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " Test metric DataLoader 0\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " test_loss 0.5648325681686401\n", + " test_r2 0.4639463424682617\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'test_loss': 0.5648325681686401, 'test_r2': 0.4639463424682617}]" + ] + }, + "execution_count": 113, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "nl_trainer = Trainer(deterministic=True,\n", " max_epochs=20,\n", @@ -3246,6 +10082,14 @@ "nl_trainer.fit(nl_module, datamodule=day_dm)\n", "nl_trainer.test(nl_module, datamodule=day_dm) " ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1a42ae9c-f34e-41a1-8513-fb0752375547", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -3253,6 +10097,23 @@ "cell_metadata_filter": "-all", "formats": "ipynb,Rmd", "main_language": "python" + }, + "kernelspec": { + "display_name": "Python (islp_freeze_39)", + "language": "python", + "name": "islp_freeze_39" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch11-surv-lab.ipynb b/docs/source/labs/Ch11-surv-lab.ipynb index 9e0eda6..b0131e2 100644 --- a/docs/source/labs/Ch11-surv-lab.ipynb +++ b/docs/source/labs/Ch11-surv-lab.ipynb @@ -29,9 +29,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "91ac40fd", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:11.792778Z", + "iopub.status.busy": "2023-07-26T00:00:11.792414Z", + "iopub.status.idle": "2023-07-26T00:00:12.793105Z", + "shell.execute_reply": "2023-07-26T00:00:12.792749Z" + } + }, "outputs": [], "source": [ "from matplotlib.pyplot import subplots\n", @@ -52,9 +59,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "99782418", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:12.795280Z", + "iopub.status.busy": "2023-07-26T00:00:12.795071Z", + "iopub.status.idle": "2023-07-26T00:00:12.854734Z", + "shell.execute_reply": "2023-07-26T00:00:12.854428Z" + } + }, "outputs": [], "source": [ "from lifelines import \\\n", @@ -78,10 +92,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "3137149a", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:12.856788Z", + "iopub.status.busy": "2023-07-26T00:00:12.856526Z", + "iopub.status.idle": "2023-07-26T00:00:12.862649Z", + "shell.execute_reply": "2023-07-26T00:00:12.862372Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['sex', 'diagnosis', 'loc', 'ki', 'gtv', 'stereo', 'status', 'time'], dtype='object')" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "BrainCancer = load_data('BrainCancer')\n", "BrainCancer.columns\n" @@ -98,36 +130,95 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "45963c92", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:12.864323Z", + "iopub.status.busy": "2023-07-26T00:00:12.864209Z", + "iopub.status.idle": "2023-07-26T00:00:12.867297Z", + "shell.execute_reply": "2023-07-26T00:00:12.867008Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Female 45\n", + "Male 43\n", + "Name: sex, dtype: int64" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "BrainCancer['sex'].value_counts()\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "73be61f6", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:12.868922Z", + "iopub.status.busy": "2023-07-26T00:00:12.868804Z", + "iopub.status.idle": "2023-07-26T00:00:12.871822Z", + "shell.execute_reply": "2023-07-26T00:00:12.871554Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Meningioma 42\n", + "HG glioma 22\n", + "Other 14\n", + "LG glioma 9\n", + "Name: diagnosis, dtype: int64" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "BrainCancer['diagnosis'].value_counts()\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "572f0b9e", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:12.873332Z", + "iopub.status.busy": "2023-07-26T00:00:12.873229Z", + "iopub.status.idle": "2023-07-26T00:00:12.875929Z", + "shell.execute_reply": "2023-07-26T00:00:12.875665Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0 53\n", + "1 35\n", + "Name: status, dtype: int64" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "BrainCancer['status'].value_counts()\n" ] @@ -159,10 +250,38 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "92c39707", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:12.877558Z", + "iopub.status.busy": "2023-07-26T00:00:12.877447Z", + "iopub.status.idle": "2023-07-26T00:00:12.996625Z", + "shell.execute_reply": "2023-07-26T00:00:12.996279Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp8AAAKnCAYAAADAwSbIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABKkElEQVR4nO3de3RU5dn+8WvPTGaG4ZCgkQnBICgIRhEUhEZxFdvUqEhFraUVCcRKXyyoGP2ptEhAq6m1Iqgo1oq00haspa1Vi/pGsS8aRUNpUTEqoqFIEmKFQAIzmcPvD5uRkEkyk0z2HPL9rDVrmZ19eAIbuXj2fu7bCAaDQQEAAAAmsMR7AAAAAOg5CJ8AAAAwDeETAAAApiF8AgAAwDSETwAAAJiG8AkAAADTED4BAABgGsInAAAATGOL9wAiEQgE9Nlnn6lv374yDCPewwEAAMBRgsGgDhw4oOzsbFksbc9vJkX4/Oyzz5STkxPvYQAAAKADu3bt0vHHH9/m95MifPbt21fSlz9Mv3794jwaAAAAHK2+vl45OTmh3NaWpAifzY/a+/XrR/gEAABIYB29IsmCIwAAAJiG8AkAAADTED4BAABgmqR45xMAgO4SDAbl8/nk9/vjPRQgoVmtVtlsti6XvSR8AgB6LK/Xqz179qixsTHeQwGSgsvl0sCBA2W32zt9DsInAKBHCgQC2rlzp6xWq7Kzs2W322lkArQhGAzK6/Vq79692rlzp4YPH95uIfn2ED4BAD2S1+tVIBBQTk6OXC5XvIcDJLxevXopLS1Nn376qbxer5xOZ6fOw4IjAECP1tnZG6AnisWfF/7EAQAAwDSETwAA0MrixYs1ZsyYeA8jaqtXr1ZGRka8hxGxSZMmaf78+fEehqkInwAAJJFZs2Zp6tSpLbY9/fTTcjqduu++++IzqC6YNGmSDMPQz372s1bfmzx5sgzD0OLFiyM+37Rp0/TBBx/EcISxsXHjRhmGoX379rXYvn79et15553dfv1ECrmETwAAktivfvUrTZ8+XY888ohuuummeA+nU3JycrR69eoW23bv3q2ysjINHDgwqnP16tVLAwYM6NJ4mpqaunR8NI455hj17dvXtOslAsInAABJ6uc//7muu+46rV27VkVFRaHtS5cu1ahRo9S7d2/l5OToRz/6kQ4ePBj6fvOj6T//+c8aPny4nE6nCgoKtGvXrjav9dZbb+lb3/qWMjMzlZ6erq9//evasmVLi30Mw9CvfvUrXXrppXK5XBo+fLieeeaZDn+Oiy++WHV1dXrttddC237961/r/PPPbxUkPR6Pbr75Zg0aNEi9e/fWhAkTtHHjxlY/25H+8pe/6Mwzz5TT6dSJJ56oJUuWyOfztRj3I488om9/+9vq3bu37rrrrrDj7Ojan376qaZMmaL+/furd+/eOvXUU/X888/rk08+0XnnnSdJ6t+/vwzD0KxZsyS1npEcMmSIfvrTn6qwsFB9+vTRCSecoGeeeUZ79+7VJZdcoj59+uj000/X22+/HTrm888/1/e//30NGjRILpdLo0aN0u9///vQ92fNmqVXX31Vy5cvl2EYMgxDn3zyiSTpnXfe0YUXXqg+ffrI7XZrxowZqqura/P3KhYInwAA6Ms6ho1eX1w+wWAw6vHeeuutuvPOO/Xss8/q0ksvbfE9i8WiBx54QO+++65+/etf6+WXX9Ytt9zSYp/Gxkbddddd+s1vfqPXXntN+/bt0/e+9702r3fgwAHNnDlTmzZt0htvvKHhw4froosu0oEDB1rst2TJEn33u9/Vv/71L1100UWaPn26/vOf/7T7s9jtdk2fPl1PPPFEaNvq1at19dVXt9p33rx5Ki8v19q1a/Wvf/1LV1xxhS644AJ9+OGHYc/9f//3fyosLNQNN9yg9957T48++qhWr17dKmAuXrxYl156qbZt2xb2upFce+7cufJ4PPr73/+ubdu26Z577lGfPn2Uk5OjP/7xj5KkyspK7dmzR8uXL2/z1+P+++/XOeeco3/84x+aPHmyZsyYocLCQl111VXasmWLTjrpJBUWFobum8OHD2vs2LF67rnn9M477+iHP/yhZsyYoc2bN0uSli9frry8PM2ePVt79uzRnj17lJOTo3379ukb3/iGzjjjDL399tvasGGDampq9N3vfrfNscWCEezMHW+y+vp6paena//+/erXr1+8hwMASAGHDx/Wzp07NXToUDmdTjV6fcpd9EJcxvLeHQVy2SMrvT1r1iz9/ve/l9frVVlZmb7xjW90eMzTTz+tOXPmhGa0Vq9eraKiIr3xxhuaMGGCJOn999/XKaecojfffFPjx4/X4sWL9ec//1lbt24Ne85AIKCMjAz97ne/08UXXyzpyxnEhQsXht5hbGhoUJ8+ffS3v/1NF1xwQdjzTJo0SWPGjFFRUZHOPfdc7dmzRxUVFbriiiu0e/dujRs3TlOnTtXixYtVVVWlE088UVVVVcrOzg6dIz8/X+PHj9fdd9+t1atXa/78+aF3K/Pz8/XNb35TCxYsCO2/Zs0a3XLLLfrss89C454/f77uv//+Nn8NI7n26aefrssvv1wlJSWtjt+4caPOO+88ffHFFy1mZpt//mXLlkn6cubz3HPP1ZNPPilJqq6u1sCBA3X77bfrjjvukCS98cYbysvL0549e5SVlRV2vBdffLFGjhypX/ziF2GvI0k//elP9X//93964YWv7vt///vfysnJUWVlpU4++eRW5z36z82RIs1rFJkHACDJnH766aqrq1NJSYnGjx+vPn36tPj+//7v/6q0tFTvv/++6uvr5fP5dPjwYTU2NoYK6ttsNp111lmhY0aOHKmMjAxt375d48ePb3XNmpoaLVy4UBs3blRtba38fr8aGxtVVVXVamzNevfurX79+qm2trbDn2n06NEaPny4nn76ab3yyiuaMWOGbLaWMWXbtm3y+/2tQpHH49Gxxx4b9rz//Oc/9dprr7WY6fT7/a1+PcaNG9fu+CK59vXXX69rr71WL774ovLz83X55Ze3+PWI1JHHuN1uSdKoUaNabautrVVWVpb8fr/uvvtuPfXUU9q9e7e8Xq88Hk+HzRP++c9/6pVXXml1/0jSjh07wobPWCB8AgAgqVeaVe/dURC3a0dj0KBBevrpp3Xeeefpggsu0N/+9rfQopVPPvlEF198sa699lrdddddOuaYY7Rp0yb94Ac/kNfr7XQ3p5kzZ+rzzz/X8uXLdcIJJ8jhcCgvL09er7fFfmlpaS2+NgxDgUAgomtcffXVWrFihd57773QI+MjHTx4UFarVRUVFbJaW/6ahQtQzccsWbJEl112WavvHTlz17t373bHFsm1r7nmGhUUFOi5557Tiy++qNLSUt1333267rrr2j330Y78NWxu+RpuW/Ov67333qvly5dr2bJloXd958+f3+r3JtzPNGXKFN1zzz2tvhftQq9oED4BANCXf6FH+ug7EZxwwgl69dVXQwF0w4YN6tu3ryoqKhQIBHTfffeFutE89dRTrY73+Xx6++23Q7OclZWV2rdvn0455ZSw13vttdf08MMP66KLLpIk7dq1K+YLU6688krdfPPNGj16tHJzc1t9/4wzzpDf71dtba3OPffciM555plnqrKyUsOGDevS2CK9dk5OjubMmaM5c+ZowYIFeuyxx3TdddfJbrdL+nLWNdZee+01XXLJJbrqqqskfRlKP/jggxa/hna7vdW1zzzzTP3xj3/UkCFDWs0ydycWHAEAkKRycnJCj8ELCgpUX1+vYcOGqampSQ8++KA+/vhjPfnkk1q5cmWrY9PS0nTdddfpzTffVEVFhWbNmqWvfe1rYR+5S9Lw4cP15JNPavv27XrzzTc1ffp09erVK6Y/T//+/bVnzx6VlZWF/f7JJ5+s6dOnq7CwUOvXr9fOnTu1efNmlZaW6rnnngt7zKJFi/Sb3/xGS5Ys0bvvvqvt27dr7dq1WrhwYVRji+Ta8+fP1wsvvKCdO3dqy5YteuWVV0Jh/oQTTpBhGHr22We1d+/eFtUHumr48OF66aWX9Prrr2v79u36n//5H9XU1LTYZ8iQIXrzzTf1ySefqK6uToFAQHPnztV//vMfff/739dbb72lHTt26IUXXlBRUVG3hORmhE8AAJLY8ccfr40bN6qurk4FBQUaOnSoli5dqnvuuUennXaafvvb36q0tLTVcS6XS7feequuvPJKnXPOOerTp4/WrVvX5nUef/xxffHFFzrzzDM1Y8YMXX/99V2upxlORkZGu4/An3jiCRUWFuqmm27SiBEjNHXqVL311lsaPHhw2P0LCgr07LPP6sUXX9RZZ52lr33ta7r//vt1wgknRD22jq7t9/s1d+5cnXLKKbrgggt08skn6+GHH5b05asSS5Ys0W233Sa326158+ZFff22LFy4UGeeeaYKCgo0adIkZWVltWpEcPPNN8tqtSo3N1fHHXdcaOHUa6+9Jr/fr/PPP1+jRo3S/PnzlZGREZMe7m2JerX73//+d917772qqKjQnj179Kc//anVD3i0jRs3qri4WO+++65ycnK0cOHCUH2rSLDaHQAQa+2t2k11R68IByIVi9XuUcfahoYGjR49WitWrIho/507d2ry5Mk677zztHXrVs2fP1/XXHNNi2X9AAAA6Bmifrv0wgsv1IUXXhjx/itXrtTQoUND/WZPOeUUbdq0Sffff78KCuKzqhAAAADx0e3vfJaXlys/P7/FtoKCApWXl3f3pTvlyA4XSVB/HwCAqM2aNYtH7oibbl9X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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "km = KaplanMeierFitter()\n", @@ -197,10 +316,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "3fc7848c", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:12.998859Z", + "iopub.status.busy": "2023-07-26T00:00:12.998718Z", + "iopub.status.idle": "2023-07-26T00:00:13.123101Z", + "shell.execute_reply": "2023-07-26T00:00:13.122758Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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yc9vcxwn/n7OnDn6+OOPdc899+ioo45SMBjU1KlTFYlEWq334MGDmjRpkh577LEWnw0aNKjd77Ures8VBQAAkISxY8fqqaee0sSJE1VTUyOfz6cRI0a02jYSiejiiy/WzJkzddxxx2n+/Pl66623NHjwYEmdu+3eVpuhQ4fqvffeS+j50GT86U9/0k9/+lOdc845kpoGE+3du7fN9hMnTtTq1as1ePBg5efnd2st7SF8AgCAXu3jjz/WRRddpHnz5unEE09Uv3799Nprr2np0qU6//zzVVZWpqlTp2rGjBlaunSpRo8erQ8//FDPPPOMLrjgApWWluq6667T/v37de+99yovL0/PPvus5s2bp6efflpS5267t+XHP/6xrrjiChUUFOiss85SOBzWa6+9pk8++UQVFRWdPu6xxx6rRx99VKWlpaqrq9N//ud/Kjs7u832s2bN0u23367zzz9fN910k4488ki9//77evLJJ/XDH/5QRx55ZKdraQ9TLQEAgF4tLy9PU6ZM0d13360vfelLOuGEE3TDDTdowYIFuv/++2UYhp599ll96Utf0ty5czV69Gh961vf0vvvv6+ioiKtXbtWy5Yt06OPPqr8/HyZpqlHH31UL730UnwkeXeaP3++Hn74YT3yyCMaN26cTjvtNK1atUojR47s0nF//vOf65NPPtHEiRN1ySWX6Iorroj33LYmJydHL774ooYPH66vf/3rOv744/W9731PjY2NPdoTarjJTKQl6cUXX9Ttt9+uTZs26aOPPtJvf/tbzZgxo9191q5dq4qKCr399tsaNmyYrr/+en33u99N+Jx1dXUqKCjQ/v37Pe0WBgCgL2lsbNT27ds1cuRIZWVlpbocpKH2rpFE81rSPZ+hUEjjx4/X8uXLE2q/fft2nXvuufryl7+sN954Q1dddZXmz5+v3/8+NfOGAQAAIHWSfubz7LPP7nC01+FWrFihkSNH6s4775QkHX/88Vq/fr3uvvvu+NxV6cR1HDXUH2h648+RPh1d1p2y/VZ81BoAAEBf0uMDjjZs2KCysrJm28rLy3XVVVe1uU84HFY4HI6/r6ur66nyWmioP6CcO4ZLko5vXKkGdf9thwnDCvXby04mgAIAgD6nxwcc1dTUtJh6oKioSHV1dWpoaGh1n6qqKhUUFMRfw4YN6+kyPfXGB/v00b7GVJcBAADgubScamnx4sXNphqoq6vzLIAevqLC/3x3hOz89qcZcA1L8rc9jcHhGqK2zrrnJUlSXWNU+WF/q+18pqGsJFd2AAAA6A16PHwWFxfHZ/P/TG1trfLz89uceyoYDDZb0spLh98KL2l4R4pub3+HQK40anpCAbQ+Eot//daufdpae6DVdjlBn045ZiABFAAAZJweD59Tp07Vs88+22zb888/r6lTp/b0qbvO9EvBfm1/HgtLkZDkxNpu0wafZSov2LLnMxyzVR+OKeYkNQMWAABAr5B0+Dx48KDefffd+Pvt27frjTfe0BFHHKHhw4dr8eLF2rVrl/7P//k/kqRLL71U999/v374wx9q3rx5+uMf/6gnnnhCzzzzTPd9Fz3FH2wa8d4eu/X1UjuSZVnKDrTesxm1nVa3AwAA9HZJDzh67bXXdNJJJ+mkk06SJFVUVOikk07SkiVLJEkfffSRdu7cGW8/cuRIPfPMM3r++ec1fvx43XnnnXr44YfTcpolAACAdLR27VoZhqF9+/alupQuSzp8Tp8+Xa7rtnitWrVKkrRq1SqtXbu2xT5/+ctfFA6HtW3btqRWNwIAAOjInj17tHDhQg0fPlzBYFDFxcUqLy/Xn/70p5TUM336dBmGoVtvvbXFZ+eee64Mw9CNN97ofWFpIC1Hu/c60danjGohYse/tGIhmdHDbtkbPjm+Q3OKNhzWtj2MjAcAQLrwwgsViUT0i1/8QqNGjVJtba2qq6v18ccfp6ymYcOGadWqVbrmmmvi23bt2qXq6moNGTIkZXWlGuGzKwyracDR9hcTax+TpKZR8Ud89KLyg4c6nm1/juqKp8kyAwpFYtqwbW9Ch2RkPACgr9u3b59eeuklrV27Vqeddpok6aijjtLkyZObtbn66qv1u9/9TuFwWKWlpbr77rs1fvx47dmzR+PGjdMVV1yha6+9VpL05z//WdOnT9dzzz2n008/vVN1ffWrX9UTTzyhP/3pT5o2bZok6Re/+IXOPPPMZo8oStKjjz6qe+65R1u2bFFubq6+8pWvaNmyZRo8eHCbx1+/fr0WL16s1157TQMHDtQFF1ygqqoq5ebmdqper/T4JPMZzReU8kuaRsQn8grkxXeN+fNkf/pyzICsaL3kxhTwmRpakKO8oL/Dl98yGRkPAOg5rtvUyZKKl5v477a8vDzl5eXpqaeearZC4uEuuugi7d69W88995w2bdqkiRMn6vTTT9e//vUvDRo0SCtXrtSNN96o1157TQcOHNAll1yiRYsWxYPnSy+9FD9PW6/HHnus2TkDgYBmzZqlRx55JL5t1apVmjdvXov6otGobr75Zr355pt66qmntGPHjnYfU9y2bZvOOussXXjhhfrrX/+q1atXa/369Vq0aFHCf26pQs9nV/mSmY/UldQ0t6djZcvxNWV/U5KcQ7fgA77E/03AyHgAQI+J1ku3DE3Nua/9sGku7QT4fD6tWrVKCxYs0IoVKzRx4kSddtpp+ta3vqUTTzxR69ev18aNG7V79+74POJ33HGHnnrqKf3mN7/R97//fZ1zzjlasGCBZs2apdLSUuXm5qqqqip+jtLSUr3xxhvt1vH5FR0lad68eTr11FN1zz33aNOmTdq/f7+++tWvtnje8/BAOmrUKN177736whe+oIMHDyovL0+fV1VVpVmzZsWXKz/22GN177336rTTTtMDDzygrKzuXx68uxA+AQBAr3fhhRfq3HPP1UsvvaSXX35Zzz33nJYuXaqHH35YoVBIBw8e1IABA5rt09DQoG3btsXf33HHHTrhhBP061//Wps2bWq24E12draOOeaYpOsaP368jj32WP3mN7/RCy+8oEsuuUQ+X8v4tWnTJt14441688039cknn8hxmjqXdu7cqbFjx7Zo/+abb+qvf/1rs95W13XlOI62b9+u448/PulavUL4BAAArfPnNPVApurcScrKytIZZ5yhM844QzfccIPmz5+vyspKXXbZZRoyZEiL2XgkqbCwMP71tm3b9OGHH8pxHO3YsUPjxo2Lf/bSSy/p7LPPbvf8Dz74oGbNmtVi+7x587R8+XJt3rxZGzdubPF5KBRSeXm5ysvL9dhjj2nQoEHauXOnysvLFYm0Pp/4wYMH9e///u+64oorWnw2fPjwdutMNcInAABonWEkfOs7HY0dO1ZPPfWUJk6cqJqaGvl8Po0YMaLVtpFIRBdffLFmzpyp4447TvPnz9dbb70VH/DT2dvukvSd73xHV199tcaPH99qL+Y777yjjz/+WLfeequGDRsmqWle9fZMnDhRmzdv7lRvbKoRPgEAQK/28ccf66KLLtK8efN04oknql+/fnrttde0dOlSnX/++SorK9PUqVM1Y8YMLV26VKNHj9aHH36o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oFdJep7PVGCeTwAAgPTWI/N8AgAAAF2R9G33VPisc5bJ5gEAANLTZzmto5vqvSJ8HjhwQJKYbB4AACDNHThwQAUFBW1+3iue+XQcRx9++KH69esnwzB6/Hx1dXUaNmyYPvjgA54xRQtcH+gI1wg6wjWC9vTW68N1XR04cEBDhw5tNvj883pFz6dpmjryyCM9P29+fn6v+kuHt7g+0BGuEXSEawTt6Y3XR3s9np9hwBEAAAA8Q/gEAACAZwifrQgGg6qsrGR9ebSK6wMd4RpBR7hG0J5Mvz56xYAjAAAAZAZ6PgEAAOAZwicAAAA8Q/gEAACAZwifAAAA8Azh83OWL1+uESNGKCsrS1OmTNHGjRtTXRJSpKqqSl/4whfUr18/DR48WDNmzNCWLVuatWlsbNTll1+uAQMGKC8vTxdeeKFqa2tTVDFS6dZbb5VhGLrqqqvi27g+sGvXLl188cUaMGCAsrOzNW7cOL322mvxz13X1ZIlSzRkyBBlZ2errKxM//jHP1JYMbxi27ZuuOEGjRw5UtnZ2Tr66KN18803N1sXPVOvD8LnYVavXq2KigpVVlbq9ddf1/jx41VeXq7du3enujSkwLp163T55Zfr5Zdf1vPPP69oNKozzzxToVAo3uYHP/iB/vu//1u//vWvtW7dOn344Yf6+te/nsKqkQqvvvqqHnzwQZ144onNtnN99G2ffPKJpk2bJr/fr+eee06bN2/WnXfeqf79+8fbLF26VPfee69WrFihV155Rbm5uSovL1djY2MKK4cXbrvtNj3wwAO6//779fe//1233Xabli5dqvvuuy/eJmOvDxdxkydPdi+//PL4e9u23aFDh7pVVVUprArpYvfu3a4kd926da7ruu6+fftcv9/v/vrXv463+fvf/+5Kcjds2JCqMuGxAwcOuMcee6z7/PPPu6eddpp75ZVXuq7L9QHX/dGPfuSecsopbX7uOI5bXFzs3n777fFt+/btc4PBoPt//+//9aJEpNC5557rzps3r9m2r3/96+6sWbNc183s64Oez09FIhFt2rRJZWVl8W2maaqsrEwbNmxIYWVIF/v375ckHXHEEZKkTZs2KRqNNrtmxowZo+HDh3PN9CGXX365zj333GbXgcT1Aem//uu/VFpaqosuukiDBw/WSSedpIceeij++fbt21VTU9PsGikoKNCUKVO4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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "by_sex = {}\n", @@ -224,12 +361,97 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "bf30d26f", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.125066Z", + "iopub.status.busy": "2023-07-26T00:00:13.124928Z", + "iopub.status.idle": "2023-07-26T00:00:13.177803Z", + "shell.execute_reply": "2023-07-26T00:00:13.177493Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
t_0-1
null_distributionchi squared
degrees_of_freedom1
test_namelogrank_test
\n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
test_statisticp-log2(p)
01.440.232.12
" + ], + "text/latex": [ + "\\begin{tabular}{lrrr}\n", + " & test_statistic & p & -log2(p) \\\\\n", + "0 & 1.44 & 0.23 & 2.12 \\\\\n", + "\\end{tabular}\n" + ], + "text/plain": [ + "\n", + " t_0 = -1\n", + " null_distribution = chi squared\n", + "degrees_of_freedom = 1\n", + " test_name = logrank_test\n", + "\n", + "---\n", + " test_statistic p -log2(p)\n", + " 1.44 0.23 2.12" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "logrank_test(by_sex['Male']['time'],\n", " by_sex['Female']['time'],\n", @@ -252,10 +474,71 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "2ab78e07", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.179791Z", + "iopub.status.busy": "2023-07-26T00:00:13.179581Z", + "iopub.status.idle": "2023-07-26T00:00:13.204157Z", + "shell.execute_reply": "2023-07-26T00:00:13.203825Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefse(coef)p
covariate
sex[Male]0.4076680.3420040.233262
\n", + "
" + ], + "text/plain": [ + " coef se(coef) p\n", + "covariate \n", + "sex[Male] 0.407668 0.342004 0.233262" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "coxph = CoxPHFitter # shorthand\n", "sex_df = BrainCancer[['time', 'status', 'sex']]\n", @@ -284,10 +567,91 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "4716b7b0", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.205975Z", + "iopub.status.busy": "2023-07-26T00:00:13.205843Z", + "iopub.status.idle": "2023-07-26T00:00:13.211669Z", + "shell.execute_reply": "2023-07-26T00:00:13.211344Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
null_distributionchi squared
degrees_freedom1
test_namelog-likelihood ratio test
\n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
test_statisticp-log2(p)
01.440.232.12
" + ], + "text/latex": [ + "\\begin{tabular}{lrrr}\n", + " & test_statistic & p & -log2(p) \\\\\n", + "0 & 1.44 & 0.23 & 2.12 \\\\\n", + "\\end{tabular}\n" + ], + "text/plain": [ + "\n", + "null_distribution = chi squared\n", + " degrees_freedom = 1\n", + " test_name = log-likelihood ratio test\n", + "\n", + "---\n", + " test_statistic p -log2(p)\n", + " 1.44 0.23 2.12" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "cox_fit.log_likelihood_ratio_test()\n" ] @@ -309,10 +673,120 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "c2767d88", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.213603Z", + "iopub.status.busy": "2023-07-26T00:00:13.213471Z", + "iopub.status.idle": "2023-07-26T00:00:13.246417Z", + "shell.execute_reply": "2023-07-26T00:00:13.246077Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefse(coef)p
covariate
sex[Male]0.1837480.3603580.610119
diagnosis[LG glioma]-1.2395300.5795550.032455
diagnosis[Meningioma]-2.1545660.4505240.000002
diagnosis[Other]-1.2688700.6176720.039949
loc[Supratentorial]0.4411950.7036690.530665
ki-0.0549550.0183140.002693
gtv0.0342930.0223330.124661
stereo[SRT]0.1777780.6015780.767597
\n", + "
" + ], + "text/plain": [ + " coef se(coef) p\n", + "covariate \n", + "sex[Male] 0.183748 0.360358 0.610119\n", + "diagnosis[LG glioma] -1.239530 0.579555 0.032455\n", + "diagnosis[Meningioma] -2.154566 0.450524 0.000002\n", + "diagnosis[Other] -1.268870 0.617672 0.039949\n", + "loc[Supratentorial] 0.441195 0.703669 0.530665\n", + "ki -0.054955 0.018314 0.002693\n", + "gtv 0.034293 0.022333 0.124661\n", + "stereo[SRT] 0.177778 0.601578 0.767597" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "cleaned = BrainCancer.dropna()\n", "all_MS = MS(cleaned.columns, intercept=False)\n", @@ -347,9 +821,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "ede1d219", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.248407Z", + "iopub.status.busy": "2023-07-26T00:00:13.248257Z", + "iopub.status.idle": "2023-07-26T00:00:13.252004Z", + "shell.execute_reply": "2023-07-26T00:00:13.251659Z" + } + }, "outputs": [], "source": [ "levels = cleaned['diagnosis'].unique()\n", @@ -373,10 +854,116 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "dc032a71", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.253777Z", + "iopub.status.busy": "2023-07-26T00:00:13.253667Z", + "iopub.status.idle": "2023-07-26T00:00:13.260023Z", + "shell.execute_reply": "2023-07-26T00:00:13.259719Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
sexdiagnosislockigtvstereostatustime
0FemaleMeningiomaSupratentorial80.919548.687011SRT0.40229927.188621
0FemaleHG gliomaSupratentorial80.919548.687011SRT0.40229927.188621
0FemaleLG gliomaSupratentorial80.919548.687011SRT0.40229927.188621
0FemaleOtherSupratentorial80.919548.687011SRT0.40229927.188621
\n", + "
" + ], + "text/plain": [ + " sex diagnosis loc ki gtv stereo status \\\n", + "0 Female Meningioma Supratentorial 80.91954 8.687011 SRT 0.402299 \n", + "0 Female HG glioma Supratentorial 80.91954 8.687011 SRT 0.402299 \n", + "0 Female LG glioma Supratentorial 80.91954 8.687011 SRT 0.402299 \n", + "0 Female Other Supratentorial 80.91954 8.687011 SRT 0.402299 \n", + "\n", + " time \n", + "0 27.188621 \n", + "0 27.188621 \n", + "0 27.188621 \n", + "0 27.188621 " + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "modal_df = pd.DataFrame(\n", " [modal_data.iloc[0] for _ in range(len(levels))])\n", @@ -395,10 +982,132 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "e7c1fe43", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.261832Z", + "iopub.status.busy": "2023-07-26T00:00:13.261701Z", + "iopub.status.idle": "2023-07-26T00:00:13.270198Z", + "shell.execute_reply": "2023-07-26T00:00:13.269836Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
sex[Male]diagnosis[LG glioma]diagnosis[Meningioma]diagnosis[Other]loc[Supratentorial]kigtvstereo[SRT]statustime
Meningioma0.00.01.00.01.080.919548.6870111.00.40229927.188621
HG glioma0.00.00.00.01.080.919548.6870111.00.40229927.188621
LG glioma0.01.00.00.01.080.919548.6870111.00.40229927.188621
Other0.00.00.01.01.080.919548.6870111.00.40229927.188621
\n", + "
" + ], + "text/plain": [ + " sex[Male] diagnosis[LG glioma] diagnosis[Meningioma] \\\n", + "Meningioma 0.0 0.0 1.0 \n", + "HG glioma 0.0 0.0 0.0 \n", + "LG glioma 0.0 1.0 0.0 \n", + "Other 0.0 0.0 0.0 \n", + "\n", + " diagnosis[Other] loc[Supratentorial] ki gtv \\\n", + "Meningioma 0.0 1.0 80.91954 8.687011 \n", + "HG glioma 0.0 1.0 80.91954 8.687011 \n", + "LG glioma 0.0 1.0 80.91954 8.687011 \n", + "Other 1.0 1.0 80.91954 8.687011 \n", + "\n", + " stereo[SRT] status time \n", + "Meningioma 1.0 0.402299 27.188621 \n", + "HG glioma 1.0 0.402299 27.188621 \n", + "LG glioma 1.0 0.402299 27.188621 \n", + "Other 1.0 0.402299 27.188621 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "modal_X = all_MS.transform(modal_df)\n", "modal_X.index = levels\n", @@ -415,12 +1124,150 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "f89fbed7", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.272136Z", + "iopub.status.busy": "2023-07-26T00:00:13.271995Z", + "iopub.status.idle": "2023-07-26T00:00:13.279105Z", + "shell.execute_reply": "2023-07-26T00:00:13.278699Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
MeningiomaHG gliomaLG gliomaOther
0.070.9979470.9824300.9948810.995029
1.180.9979470.9824300.9948810.995029
1.410.9956790.9633420.9892450.989555
1.540.9956790.9633420.9892450.989555
2.030.9956790.9633420.9892450.989555
...............
65.020.6887720.0401360.3941810.404936
67.380.6887720.0401360.3941810.404936
73.740.6887720.0401360.3941810.404936
78.750.6887720.0401360.3941810.404936
82.560.6887720.0401360.3941810.404936
\n", + "

85 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " Meningioma HG glioma LG glioma Other\n", + "0.07 0.997947 0.982430 0.994881 0.995029\n", + "1.18 0.997947 0.982430 0.994881 0.995029\n", + "1.41 0.995679 0.963342 0.989245 0.989555\n", + "1.54 0.995679 0.963342 0.989245 0.989555\n", + "2.03 0.995679 0.963342 0.989245 0.989555\n", + "... ... ... ... ...\n", + "65.02 0.688772 0.040136 0.394181 0.404936\n", + "67.38 0.688772 0.040136 0.394181 0.404936\n", + "73.74 0.688772 0.040136 0.394181 0.404936\n", + "78.75 0.688772 0.040136 0.394181 0.404936\n", + "82.56 0.688772 0.040136 0.394181 0.404936\n", + "\n", + "[85 rows x 4 columns]" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "predicted_survival = fit_all.predict_survival_function(modal_X)\n", "predicted_survival\n" @@ -438,12 +1285,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "8f0329b4", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.281050Z", + "iopub.status.busy": "2023-07-26T00:00:13.280921Z", + "iopub.status.idle": "2023-07-26T00:00:13.391548Z", + "shell.execute_reply": "2023-07-26T00:00:13.391175Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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6lQef/xxTj/9dBo1asTpp5/OCy+8wEcffXTS/X/66SeaN2+On58fffr04ZNPPsFkMlWMdP6vJ554gk6dOlX8bLVaeeqpp2jYsCG+vr506tSJmTNnVny+a9cuTCYTX3/9NWeeeSb+/v5069aNLVu2sGzZMrp27UpQUBAXXXQRBw4cqNhv2bJlnH/++URFRREaGsrZZ5/NihUnv2ujETTy+b8ComDAGyf+fO8SWPUFZG6v1mHD/MIYeM7t7Ol4IX/cNYge/+RS9spk1u7ZRbsnXsZksVT5WF0ah3P3ec25d+oqvlyyh5F9mmHW3ZRERKSu2Gz2wRkjeAeAybH/jfvqq69o2bIll1566XE/N53k+3bu3MmVV17JPffcw80338zKlSt54IEHqvX9r7/+Oq+88grvvPMOp512Gh9++CGXXnop69evp3nz5hXbjRs3jgkTJtCoUSOGDx/OkCFDCA4O5vXXXycgIICrr76asWPH8vbbbwOQm5vLsGHDePPNN7HZbLzyyitcfPHFbN26leDg4GplrEsqn//LLwS6DDvx52GNjpTPHTU6fKPwZC59byZfPXY1505Pweubmazcu49Ob32COSDg1Ac44qL2sYz53kJaThHbD+TRPMZ1/lCJiIiHKS2A5+KN+e5H9tsvd6uiX3755ZhT3OXl5ZV+3rJlCy1bVl4S8d577+X9998HICwsjH379h33+O+88w4tW7bkpZdeAqBly5asW7eOZ599tsoZX375ZR5++GGuueYaAF544QX+/PNPJkyYwKRJkyq2e+CBByruA3/PPfcwePBg5syZQ+/evQG46aabKl0ecO6551b6nnfffZewsDD++usv+vfvX+V8dU2n3asrsqn9+fAusJafdNMTifCPYPgLP/PbzR0osYD/4nUsH/p/2KzWU+98hK+XhQ4NQwFYsedwjXKIiIh4mj59+rBq1apKj6Ol8mQeffRRVq1axdixY8nLyzvhdps3b6Zbt26V3uvevXuV8+Xk5LB///6KAnlU79692bhxY6X3OnToUPE6JiYGgPbt21d6LyMjo+Ln9PR0RowYQfPmzQkNDSUkJIS8vDz27HGtS/Q08lldIQlg8YHyEshJsY+E1oC/lz8jR33JO7GjOP3F3what4vtX75Ps+tuqfIxujQOZ8nOTJbsyGRQt5rlEBEROSXvAPsIpFHfXQ2BgYHH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UvDkyRO0tbUpKzExEZmZmcrPzMjYlpyc/NMVbV1dXZgxYwYAwGazwWw2+2XE4/HgwYMHzMgY8OnTJwQH+49hISEh8Pl8AAI8H1qfeBpNampqxGg0SnV1tbS3t8umTZskIiJC3G631q2RyrZs2SLh4eFy584defPmjbI+ffqk1GzevFmsVqvU19dLS0uL2O12sdvtGnZNWvv+tLsIMzLWNTU1iU6nk3379snz58/l7NmzMm7cODlz5oxSU15eLhEREXL16lV5/PixrF69Wmw2m3z+/FnDzkkN2dnZMm3aNLlx44a8fPlSLl26JFFRUbJjxw6lJlDzweHzBxUVFWK1WsVgMEhSUpLcv39f65ZIAwCGXKdPn1ZqPn/+LFu3bpXIyEgZN26crFmzRt68eaNd06S5H4dPZoSuX78usbGxYjQaJSYmRk6ePOn33OfzSXFxsZhMJjEajZKSkiKdnZ0adUtq8ng8kpubK1arVUJDQ2XmzJmye/duGRwcVGoCNR9BIt9dpU9ERERE9H/E73wSERERkWo4fBIRERGRajh8EhEREZFqOHwSERERkWo4fBIRERGRajh8EhEREZFqOHwSERERkWo4fBIRERGRajh8EhEREZFqOHwSERERkWo4fBIRERGRav4Dp9ppAYTxmgoAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "predicted_survival.plot(ax=ax);\n" @@ -464,10 +1328,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "3045bfc0", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.393498Z", + "iopub.status.busy": "2023-07-26T00:00:13.393362Z", + "iopub.status.idle": "2023-07-26T00:00:13.556483Z", + "shell.execute_reply": "2023-07-26T00:00:13.556104Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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stRC7aNButPRG0+lWm0CANDgCD7RtNKtNo+f0T5s1vuoZYeklol0OQIANA0eu6OxuEkpUPzhQcuUa9c+6iymYH0+lSpQn8MKSE6sstcEAKBKCD7RGExbCrZKh/dJdrjh20aWW3Kp2AL12aWX8qEcEwCgWRF8ojEEItJRp0o7HpV8t96jyStdsL710Payr5EuUF+o9FO+0kv5UI4JANCsCD7ROOxgvUcwtDIK1qcVW6B+YOmlfCjHBABoZgSfQClKLFifVsr60GJKRpVVjgkAgAbAMzsAAADUTFnB5x133KFZs2YpHA5ryZIleuqpp4o6795775VhGDr//PPLeVug5mKuFHMkfyyWcQIAoApKDj5/+tOfavXq1VqzZo22bNmik046Seeee6727ds35Hm7du3S1VdfrTPOOKPswQK1tuJh6YJfSdc80XgBaNzxFE26iiZdJVwvVWQ+3p3aKDgPAGhQJQeft912my6//HJddtllWrBggdatW6eWlhbdddddBc9xXVcrVqzQjTfeqDlz5oxowEAhjleZDkchS1owIXfftoNSvEGS8LMz4re8dlDPvt6tV97Yo8QrG6Ttv05tOzYQgAIAGlJJwWcikdDmzZu1fPny/guYppYvX65NmzYVPO+rX/2qpkyZok996lPljxQoIN1mszuWrEiLTcOQblkm/d/zpB+dU4EBDrz+CGdQ0xnxkaCtSNCWGQyp054qNzBOCo2XrCAdjwAADauk4PPAgQNyXVdTp07N2T916lTt2bMn7zmPP/64/vVf/1Xf//73i36feDyurq6unA0oJGiZmjtlfEVbbBqGFLalcBVKGc165sYRP8MPWKZCdmoLWJY8KygFWlJbgxfoBwCMbVXNdu/u7tbf/M3f6Pvf/74mTZpU9Hlr165Ve3t7Zps5c2YVR4nRIGBVuGVlhflmSNHxx0iSIt2vlVUrFACA0aCk4HPSpEmyLEt79+7N2b93715NmzZt0PGvvvqqdu3apY9+9KOybVu2bet//+//rV/+8peybVuvvvpq3ve59tpr1dnZmdlef/31UoYJVMWI5ir7CtQDADDWlRR8BoNBLVq0SOvXr8/s8zxP69ev19KlSwcdP3/+fD333HN69tlnM9uf//mf6+yzz9azzz5bcEYzFAqpra0tZwOKkXRdxR2vIms/Bxppxrvf2JOzAADURMkdjlav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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "Publication = load_data('Publication')\n", @@ -491,12 +1373,72 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "d070f716", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.558502Z", + "iopub.status.busy": "2023-07-26T00:00:13.558359Z", + "iopub.status.idle": "2023-07-26T00:00:13.588666Z", + "shell.execute_reply": "2023-07-26T00:00:13.588344Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefse(coef)p
covariate
posres0.1480760.1616250.359579
\n", + "
" + ], + "text/plain": [ + " coef se(coef) p\n", + "covariate \n", + "posres 0.148076 0.161625 0.359579" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "posres_df = MS(['posres',\n", " 'time',\n", @@ -520,10 +1462,106 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "2bbcdd0c", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.590620Z", + "iopub.status.busy": "2023-07-26T00:00:13.590481Z", + "iopub.status.idle": "2023-07-26T00:00:13.629005Z", + "shell.execute_reply": "2023-07-26T00:00:13.628695Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefse(coef)p
covariate
posres0.5707730.1759601.179610e-03
multi-0.0408600.2511948.707842e-01
clinend0.5461830.2620003.709944e-02
sampsize0.0000050.0000157.507005e-01
budget0.0043860.0024657.515984e-02
impact0.0583180.0066762.426306e-18
\n", + "
" + ], + "text/plain": [ + " coef se(coef) p\n", + "covariate \n", + "posres 0.570773 0.175960 1.179610e-03\n", + "multi -0.040860 0.251194 8.707842e-01\n", + "clinend 0.546183 0.262000 3.709944e-02\n", + "sampsize 0.000005 0.000015 7.507005e-01\n", + "budget 0.004386 0.002465 7.515984e-02\n", + "impact 0.058318 0.006676 2.426306e-18" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "model = MS(Publication.columns.drop('mech'),\n", " intercept=False)\n", @@ -568,9 +1606,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "b8ece43a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.630972Z", + "iopub.status.busy": "2023-07-26T00:00:13.630836Z", + "iopub.status.idle": "2023-07-26T00:00:13.634830Z", + "shell.execute_reply": "2023-07-26T00:00:13.634534Z" + } + }, "outputs": [], "source": [ "rng = np.random.default_rng(10)\n", @@ -599,9 +1644,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "3e4f766f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.636547Z", + "iopub.status.busy": "2023-07-26T00:00:13.636436Z", + "iopub.status.idle": "2023-07-26T00:00:13.644633Z", + "shell.execute_reply": "2023-07-26T00:00:13.644339Z" + } + }, "outputs": [], "source": [ "model = MS(['Operators',\n", @@ -624,10 +1676,104 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "72f42d14", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.646387Z", + "iopub.status.busy": "2023-07-26T00:00:13.646291Z", + "iopub.status.idle": "2023-07-26T00:00:13.650688Z", + "shell.execute_reply": "2023-07-26T00:00:13.650359Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
OperatorsCenter[B]Center[C]Time[Even.]Time[Morn.]
0130.01.00.00.0
1150.00.01.00.0
271.00.00.01.0
370.01.00.01.0
4130.01.01.00.0
\n", + "
" + ], + "text/plain": [ + " Operators Center[B] Center[C] Time[Even.] Time[Morn.]\n", + "0 13 0.0 1.0 0.0 0.0\n", + "1 15 0.0 0.0 1.0 0.0\n", + "2 7 1.0 0.0 0.0 1.0\n", + "3 7 0.0 1.0 0.0 1.0\n", + "4 13 0.0 1.0 1.0 0.0" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X[:5]\n" ] @@ -642,9 +1788,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "8b921536", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.652408Z", + "iopub.status.busy": "2023-07-26T00:00:13.652285Z", + "iopub.status.idle": "2023-07-26T00:00:13.657898Z", + "shell.execute_reply": "2023-07-26T00:00:13.657031Z" + } + }, "outputs": [], "source": [ "true_beta = np.array([0.04, -0.3, 0, 0.2, -0.2])\n", @@ -682,9 +1835,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "96ce0f99", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.663033Z", + "iopub.status.busy": "2023-07-26T00:00:13.662557Z", + "iopub.status.idle": "2023-07-26T00:00:13.668531Z", + "shell.execute_reply": "2023-07-26T00:00:13.667390Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -707,9 +1866,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "63d78ff9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.673409Z", + "iopub.status.busy": "2023-07-26T00:00:13.672984Z", + "iopub.status.idle": "2023-07-26T00:00:13.812236Z", + "shell.execute_reply": "2023-07-26T00:00:13.811425Z" + } + }, "outputs": [], "source": [ "W = np.array([sim_time(l, cum_hazard, rng)\n", @@ -729,12 +1895,105 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "fe008dbf", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.817688Z", + "iopub.status.busy": "2023-07-26T00:00:13.817054Z", + "iopub.status.idle": "2023-07-26T00:00:13.831441Z", + "shell.execute_reply": "2023-07-26T00:00:13.830684Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
OperatorsCenterTimeWait timeFailed
013CAfter.525.0649791
115AEven.254.6778351
27BMorn.487.7392241
37CMorn.308.5802921
413CEven.154.1746081
\n", + "
" + ], + "text/plain": [ + " Operators Center Time Wait time Failed\n", + "0 13 C After. 525.064979 1\n", + "1 15 A Even. 254.677835 1\n", + "2 7 B Morn. 487.739224 1\n", + "3 7 C Morn. 308.580292 1\n", + "4 13 C Even. 154.174608 1" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "D['Failed'] = rng.choice([1, 0],\n", " N,\n", @@ -744,10 +2003,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "c3a2bec7", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.836672Z", + "iopub.status.busy": "2023-07-26T00:00:13.836024Z", + "iopub.status.idle": "2023-07-26T00:00:13.843990Z", + "shell.execute_reply": "2023-07-26T00:00:13.843283Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0.9075" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "D['Failed'].mean()\n" ] @@ -762,10 +2039,38 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "2b27af56", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:13.849508Z", + "iopub.status.busy": "2023-07-26T00:00:13.849066Z", + "iopub.status.idle": "2023-07-26T00:00:14.045745Z", + "shell.execute_reply": "2023-07-26T00:00:14.045295Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Probability of Still Being on Hold')" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp8AAAK9CAYAAABijAc1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd5gdZdn48e/MnDm9bK/Z7KZsGgkJCQZCCQktBqQpYkCqAv7oAVTkVQRRQBEVXomIUkSK4AsSFCLFJCAtBAgE0uumbLbX0+v8/pjNOTk5u+k99+e6zrVTnpl5Zgvcecr9KIZhGAghhBBCCLEPqPu7AkIIIYQQ4vAhwacQQgghhNhnJPgUQgghhBD7jASfQgghhBBin5HgUwghhBBC7DMSfAohhBBCiH1Ggk8hhBBCCLHPSPAphBBCCCH2GQk+hRBCCCHEPiPBpxCHIEVRuP766/fY/f7yl7+gKAqffPLJdstOmjSJSZMmpffr6upQFIW//OUv6WN33XUXiqLssfrtCU1NTZx//vkUFhaiKAoPPvjgXn2eoijcdddd6f3N3+O6urr0sa2/l/vS22+/jaIovP322/vl+Qe7mpoaLr/88u2W6+3nLsShToJPIfaRzf+T2fyx2+0MGTKE66+/nqampv1dvf3u3nvvZebMmfvt+TfffDNvvPEGt99+O08//TRf/epX+ywbCAS48847GTlyJC6Xi8LCQsaMGcNNN93Epk2b0uVmzZqVFWDuLTU1NTm/W7W1tfzgBz+gvb19rz//YLX5H0Gtra29nq+pqeFrX/vaPq6VEIc+y/6ugBCHm7vvvpsBAwYQiUR47733eOSRR5g1axaLFi3C6XTu7+rttjfffHO7ZX7yk5/wox/9KOvYvffey/nnn8+55567l2q2bXPmzOGcc87h+9///jbLxeNxJk6cyLJly7jsssu44YYbCAQCLF68mOeee47zzjuPiooKwAw+Z8yY0WsAGg6HsVj23H+Cx4wZw6233gpAJBLh008/5cEHH+Sdd95h/vz5O32/iRMnEg6HsVqte6yOQggBEnwKsc9NnTqVo48+GoArr7ySwsJCfvvb3/LKK69w4YUX9npNMBjE5XLty2rush0JViwWyx4NvPaE5uZm8vLytltu5syZfPbZZzz77LNcdNFFWecikQixWGyHnme323elmn2qrKzk4osvTu9feeWVuN1uHnjgAVauXEltbe1O3U9V1T1eRyGEAOl2F2K/O/nkkwFYu3YtAJdffjlut5vVq1dzxhln4PF4+Pa3vw2YQeitt95KVVUVNpuNoUOH8sADD2AYRq/3fvbZZxk6dCh2u51x48bx3//+N+v8unXruPbaaxk6dCgOh4PCwkK++c1v9jn+LBQK8b3vfY/CwkK8Xi+XXnopHR0dWWV2ZJzi1mM+FUUhGAzy1FNPpbuOL7/8cubOnYuiKLz88ss593juuedQFIUPP/xwm89as2YN3/zmNykoKMDpdHLsscfy2muvpc9vHg5hGAYzZsxIP78vq1evBuD444/POWe32/F6vYD5c5wxY0b6/ba+79ZjPveGsrIygJxAf9myZZx//vkUFBRgt9s5+uij+ec//5lVprcxn5MmTWLkyJEsWbKEyZMn43Q6qays5P7778959rp16zj77LNxuVyUlJSkhzXs6DjSzz77jKlTp+L1enG73ZxyyinMmzcvq8zmn93777/PLbfcQnFxMS6Xi/POO4+WlpYd/C7tnJ39G9zS4sWLOfnkk3E4HPTr149f/OIXpFKpvVJPIQ5kB1bTgxCHoc3BTGFhYfpYIpFgypQpnHDCCTzwwAM4nU4Mw+Dss89m7ty5fPe732XMmDG88cYb/OAHP6C+vp7f/e53Wfd95513eOGFF7jxxhux2Wz84Q9/4Ktf/Srz589n5MiRAHz88cd88MEHTJs2jX79+lFXV8cjjzzCpEmTWLJkSc4wgOuvv568vDzuuusuli9fziOPPMK6devSgcquevrpp7nyyisZP348V199NQCDBg3i2GOPpaqqimeffZbzzjsv65pnn32WQYMGMWHChD7v29TUxHHHHUcoFOLGG2+ksLCQp556irPPPpsXX3yR8847j4kTJ/L0009zySWXcNppp3HppZdus67V1dUA/PWvf+UnP/lJn+/9ve99j02bNvHWW2/x9NNP78y3Y5fE4/H02MVIJMJnn33Gb3/7WyZOnMiAAQPS5RYvXszxxx9PZWUlP/rRj3C5XPz973/n3HPP5aWXXsr5Pm+to6ODr371q3z961/nggsu4MUXX+S2225j1KhRTJ06FTADtJNPPpmGhgZuuukmysrKeO6555g7d+4OvcvixYs58cQT8Xq9/PCHP0TXdR599FEmTZrEO++8wzHHHJNV/oYb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RRddxCWXXMITTzyxy/fZGZLnUwghhBB7XTieZMRP39gvz15y9xSc1h0Ledrb23n99de55557cLlcOefz8vIA+OY3v4nD4eDf//43Pp+PRx99lFNOOYUVK1ZQUFAAwOrVq5k5cyavvvoqHR0dXHDBBfzyl7/knnvu4aGHHmLFihWMHDmSu+++G4Di4mI6Ozs5+eSTufLKK/nd735HOBzmtttu44ILLmDOnDnpejz11FNcc801vP/+++ljU6dO5d133+3z3aqrq1m8eHF63+/383//93989NFHDBs2jK6uLt59911OPPHEHfpe7SoJPoUQQggheqxatQrDMBg2bFifZd577z3mz59Pc3MzNpsNgAceeICZM2fy4osvcvXVVwOQSqX4y1/+gsfjAeCSSy5h9uzZ3HPPPfh8PqxWK06nk7KysvS9H374YY466ijuvffe9LEnnniCqqoqVqxYwZAhQwCora3l/vvvz6rXY489Rjgc7rPeuq5n7T///PPU1tZyxBFHADBt2jQef/xxCT6FEEIIcfBz6BpL7t717uHdffaO2pEu+oULFxIIBCgsLMw6Hg6HWb16dXq/pqYmHXgClJeX09zcvN17z507F7fbnXNu9erV6eBz3LhxOecrKyu3W/ctPfHEE1x88cXp/YsvvpiTTjqJ3//+91n13tMk+BRCCCHEXqcoyg53fe9PtbW1KIrCsmXL+iwTCAQoLy/n7bffzjm3uVseclsaFUUhlUpt8/mBQICzzjqLX/3qVznnysvL09u9DQnYmW73JUuWMG/ePObPn89tt92WLpNMJnn++ee56qqrtlnP3XHg/xYIIYQQQuwjBQUFTJkyhRkzZnDjjTfmBHmdnZ2MHTuWxsZGLBYLNTU1u/wsq9VKMpnMOjZ27FheeuklampqsFh2LkzbmW73xx9/nIkTJzJjxoysMk8++SSPP/74Xg0+Zba7EEIIIcQWZsyYQTKZZPz48bz00kusXLmSpUuX8r//+79MmDCBU089lQkTJnDuuefy5ptvUldXxwcffMCPf/xjPvnkkx1+Tk1NDR999BF1dXW0traSSqW47rrraG9v58ILL+Tjjz9m9erVvPHGG1xxxRU5gerWKisrGTx4cJ+f6upqAOLxOE8//TQXXnghI0eOzPpceeWVfPTRR1kTk/Y0CT6FEEIIIbYwcOBAFixYwOTJk7n1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2rUrU+eBBx5QJSUl6tlnn1WbNm1SV155pZo+fbqKxWKZOh//+MfVGWecod566y31+uuvq5NOOkldd911x+Ijfejcf//9qqKiQj3//PNq79696qmnnlJ+v189/PDDmTrSh8eXF154QX37299WTz/9tALUM888k3V9PPqrt7dX1dTUqGXLlqktW7ao3//+98rr9ap//dd/nZDPJMHnIOecc4669dZbM68ty1J1dXVq+fLlx7BVYijt7e0KUK+++qpSSqlgMKicTqd66qmnMnXee+89BajVq1crpdJ/iXVdV62trZk6jzzyiAoEAiqRSBT2A3xIhcNhNWvWLPXSSy+piy66KBN8Sv8d/77xjW+o888/f8jrtm2r2tpa9cMf/jBTFgwGldvtVr///e+VUkpt27ZNAertt9/O1PnLX/6iNE1TBw8enLjGC6WUUldccYX6/Oc/n1V29dVXq2XLlimlpA+Pd4cHn+PVX//yL/+iysrKsv4d/cY3vqFmz549IZ9Dpt37JZNJ1q1bx9KlSzNluq6zdOlSVq9efQxbJobS29sLQHl5OQDr1q3DNM2sPpwzZw4NDQ2ZPly9ejWnnXYaNTU1mTqXXnopoVCIrVu3FrD1H1633norV1xxRVY/gfTfieBPf/oTCxcu5DOf+QzV1dUsWLCAX/3qV5nre/fupbW1NasPS0pKWLRoUVYflpaWsnDhwkydpUuXous6a9asKdyH+ZBasmQJK1euZOfOnQBs2rSJN954g8suuwyQPjzRjFd/rV69mgsvvBCXy5Wpc+mll7Jjxw56enrGvd2Ocb/jCaqzsxPLsrK+1ABqamrYvn37MWqVGIpt29xxxx2cd955zJs3D4DW1lZcLhelpaVZdWtqamhtbc3UydfHh66JibVixQrWr1/P22+/nXNN+u/4t2fPHh555BHuvPNOvvWtb/H222/z1a9+FZfLxY033pjpg3x9NLgPq6urs647HA7Ky8ulDwvgnnvuIRQKMWfOHAzDwLIs7r//fpYtWwYgfXiCGa/+am1tZfr06Tn3OHStrKxsXNstwac4Id16661s2bKFN95441g3RYzQ/v37uf3223nppZfweDzHujliDGzbZuHChfzgBz8AYMGCBWzZsoVHH32UG2+88Ri3TozEH/7wB373u9/x5JNPcuqpp7Jx40buuOMO6urqpA9Fwci0e7/K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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "by_center = {}\n", @@ -786,10 +2091,38 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "9625598d", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:14.047564Z", + "iopub.status.busy": "2023-07-26T00:00:14.047461Z", + "iopub.status.idle": "2023-07-26T00:00:14.210828Z", + "shell.execute_reply": "2023-07-26T00:00:14.210459Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Probability of Still Being on Hold')" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp8AAAK9CAYAAABijAc1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd5wdVfn48c/M3N6395ZKGgkthB6KhICUKFKkSxGFYCgiKAIqoiiK/gQRkaa0+AXBAkoNPSGhJaSSbNpms73dvb3N748h9+7N3rtJID3P+/XaV87MnJl75majD6c8R9F1XUcIIYQQQoidQN3VDRBCCCGEEPsOCT6FEEIIIcROI8GnEEIIIYTYaST4FEIIIYQQO40En0IIIYQQYqeR4FMIIYQQQuw0EnwKIYQQQoidRoJPIYQQQgix00jwKYQQQgghdhoJPoXYCymKwtVXX73dnvfoo4+iKAoffPDBFutOnTqVqVOnpo/Xrl2Loig8+uij6XO33347iqJst/ZtD21tbZx55pkUFRWhKAq/+93vdujnKYrC7bffnj7e9B2vXbs2fW7z73JneuONN1AUhTfeeGOXfP6err6+nosvvniL9XL9vQuxt5PgU4idZNP/yWz6sdlsjBo1iquvvpq2trZd3bxd7s477+T555/fZZ9/7bXX8tJLL3HzzTfzt7/9jZNOOilv3UAgwG233cb48eNxOp0UFRUxadIkvve977Fx48Z0vRdffDErwNxR6uvrB/1ujRw5ku9///t0d3fv8M/fU236j6DOzs6c1+vr6/nqV7+6k1slxN7PtKsbIMS+5qc//SkNDQ1EIhHeeecd7r//fl588UUWL16Mw+HY1c370l5++eUt1rnlllu46aabss7deeednHnmmZxxxhk7qGVDe/311zn99NO54YYbhqwXj8c5+uijWb58ORdddBEzZ84kEAiwZMkSnnzySWbMmEFlZSVgBJ/33XdfzgA0HA5jMm2//wmeNGkS119/PQCRSIQPP/yQ3/3ud7z55pvMnz9/m5939NFHEw6HsVgs262NQggBEnwKsdNNnz6dgw8+GIDLLruMoqIifvvb3/LPf/6Tc889N+c9wWAQp9O5M5v5hW1NsGIymbZr4LU9tLe34/P5tljv+eef5+OPP+aJJ57gm9/8Zta1SCRCLBbbqs+z2WxfpJl5VVVVcf7556eP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MOqm3Kz53mtH+/e//w3AxIkTASgtLWXq1Kk88MADtLS0DKq/vdITTZs2jebm5qz0TZFIhAcffHCL92qaxoknnsg///nPrOkcbW1tPPnkkxx55JHpdFY727b+G9z83nnz5mUl/O/o6OCJJ57YYe0VYnclPZ9C7CFOPfVUjj32WH70ox+xdu1aJk6cyMsvv8w///lPZs2axfDhw7Pqjx8/nmnTpmWlWgL4yU9+kq7z1a9+lb/97W94vV7Gjh3L3LlzefXVV7PSPg0Ui8U4/vjjOeuss1ixYgV//OMfOfLII7MWlnxRBx10EK+++iq//e1vqayspKGhIWuO3IUXXsiZZ54JwM9+9rOteuZNN93EU089xfTp07nmmmsoLCzkscceY82aNTz77LNfaGrDK6+8wm233cZpp53GlClTcLlcrF69mocffphoNJqVu3PTgq9rrrmGadOmoWka55xzzjZ/5tZobm7m8ccfB4y/p4ULF/LAAw9QXFzMzJkz0/Xuu+8+jjzySCZMmMDll1/OsGHDaGtrY+7cuWzYsIGFCxd+6bZ8+9vf5t577+Xcc8/le9/7HhUVFTzxxBPpOZRb6hG+4447eOWVVzjyyCP57ne/i8lk4oEHHiAajebMKbqzbOu/wYFuvPHG9Lat3/ve99Kplurq6rLmywqxT9h1C+2F2LdsSguzYMGCIetddNFFutPpzHmtv79fv/baa/XKykrdbDbrI0eO1H/9619npZnR9UzaoMcff1wfOXKkbrVa9QMOOGBQipuenh79kksu0YuLi3WXy6VPmzZNX758+aA0MZva/uabb+pXXHGFXlBQoLtcLv28887Tu7q6sp75RVMtLV++XD/66KN1u92uA4PSLkWjUb2goED3er16OBwe8jscqLGxUT/zzDN1n8+n22w2ffLkyfp//vOfQfU2fWdbsnr1av3WW2/Vp0yZopeWluomk0kvKSnRTznlFP3111/PqptIJPSZM2fqJSUluqIoWe/MDky1pKqqXlpaqp977rlZ6X8GficXXnihXl5erpvNZr2qqkr/6le/qj/zzDPpOvlSLY0bN27Q8y666CK9rq5u0Pd0yimn6Ha7XS8pKdGvv/56/dlnn9UBfd68eVt8p48++kifNm2a7nK5dIfDoR977LH6e++9l1Un37+pXG3PZdPvYUdHR87rdXV1WamWdH3r/w1u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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "by_time = {}\n", @@ -814,12 +2147,97 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "75a744ef", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:14.212758Z", + "iopub.status.busy": "2023-07-26T00:00:14.212613Z", + "iopub.status.idle": "2023-07-26T00:00:14.230790Z", + "shell.execute_reply": "2023-07-26T00:00:14.230474Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
t_0-1
null_distributionchi squared
degrees_of_freedom2
test_namemultivariate_logrank_test
\n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
test_statisticp-log2(p)
020.30<0.00514.65
" + ], + "text/latex": [ + "\\begin{tabular}{lrrr}\n", + " & test_statistic & p & -log2(p) \\\\\n", + "0 & 20.30 & 0.00 & 14.65 \\\\\n", + "\\end{tabular}\n" + ], + "text/plain": [ + "\n", + " t_0 = -1\n", + " null_distribution = chi squared\n", + "degrees_of_freedom = 2\n", + " test_name = multivariate_logrank_test\n", + "\n", + "---\n", + " test_statistic p -log2(p)\n", + " 20.30 <0.005 14.65" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "multivariate_logrank_test(D['Wait time'],\n", " D['Center'],\n", @@ -836,12 +2254,97 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "9badb3e3", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:14.232618Z", + "iopub.status.busy": "2023-07-26T00:00:14.232483Z", + "iopub.status.idle": "2023-07-26T00:00:14.250173Z", + "shell.execute_reply": "2023-07-26T00:00:14.249841Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
t_0-1
null_distributionchi squared
degrees_of_freedom2
test_namemultivariate_logrank_test
\n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
test_statisticp-log2(p)
049.90<0.00535.99
" + ], + "text/latex": [ + "\\begin{tabular}{lrrr}\n", + " & test_statistic & p & -log2(p) \\\\\n", + "0 & 49.90 & 0.00 & 35.99 \\\\\n", + "\\end{tabular}\n" + ], + "text/plain": [ + "\n", + " t_0 = -1\n", + " null_distribution = chi squared\n", + "degrees_of_freedom = 2\n", + " test_name = multivariate_logrank_test\n", + "\n", + "---\n", + " test_statistic p -log2(p)\n", + " 49.90 <0.005 35.99" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "multivariate_logrank_test(D['Wait time'],\n", " D['Time'],\n", @@ -861,12 +2364,92 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "id": "026e9ff8", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:14.252196Z", + "iopub.status.busy": "2023-07-26T00:00:14.252059Z", + "iopub.status.idle": "2023-07-26T00:00:14.373431Z", + "shell.execute_reply": "2023-07-26T00:00:14.373108Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
null_distributionchi squared
degrees_freedom2
test_namelog-likelihood ratio test
\n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
test_statisticp-log2(p)
020.58<0.00514.85
" + ], + "text/latex": [ + "\\begin{tabular}{lrrr}\n", + " & test_statistic & p & -log2(p) \\\\\n", + "0 & 20.58 & 0.00 & 14.85 \\\\\n", + "\\end{tabular}\n" + ], + "text/plain": [ + "\n", + "null_distribution = chi squared\n", + " degrees_freedom = 2\n", + " test_name = log-likelihood ratio test\n", + "\n", + "---\n", + " test_statistic p -log2(p)\n", + " 20.58 <0.005 14.85" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X = MS(['Wait time',\n", " 'Failed',\n", @@ -886,12 +2469,92 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "id": "7cab3789", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:14.375196Z", + "iopub.status.busy": "2023-07-26T00:00:14.375061Z", + "iopub.status.idle": "2023-07-26T00:00:14.495928Z", + "shell.execute_reply": "2023-07-26T00:00:14.495606Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
null_distributionchi squared
degrees_freedom2
test_namelog-likelihood ratio test
\n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
test_statisticp-log2(p)
048.12<0.00534.71
" + ], + "text/latex": [ + "\\begin{tabular}{lrrr}\n", + " & test_statistic & p & -log2(p) \\\\\n", + "0 & 48.12 & 0.00 & 34.71 \\\\\n", + "\\end{tabular}\n" + ], + "text/plain": [ + "\n", + "null_distribution = chi squared\n", + " degrees_freedom = 2\n", + " test_name = log-likelihood ratio test\n", + "\n", + "---\n", + " test_statistic p -log2(p)\n", + " 48.12 <0.005 34.71" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X = MS(['Wait time',\n", " 'Failed',\n", @@ -914,12 +2577,100 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "id": "5cc4b898", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:14.497695Z", + "iopub.status.busy": "2023-07-26T00:00:14.497564Z", + "iopub.status.idle": "2023-07-26T00:00:14.651662Z", + "shell.execute_reply": "2023-07-26T00:00:14.650786Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefse(coef)p
covariate
Operators0.0439340.0075205.143589e-09
Center[B]-0.2360600.0581134.864162e-05
Center[C]0.0122310.0575188.316096e-01
Time[Even.]0.2688450.0577973.294956e-06
Time[Morn.]-0.1482170.0573349.733557e-03
\n", + "
" + ], + "text/plain": [ + " coef se(coef) p\n", + "covariate \n", + "Operators 0.043934 0.007520 5.143589e-09\n", + "Center[B] -0.236060 0.058113 4.864162e-05\n", + "Center[C] 0.012231 0.057518 8.316096e-01\n", + "Time[Even.] 0.268845 0.057797 3.294956e-06\n", + "Time[Morn.] -0.148217 0.057334 9.733557e-03" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X = MS(D.columns,\n", " intercept=False).fit_transform(D)\n", @@ -952,6 +2703,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,Rmd", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch12-unsup-lab.ipynb b/docs/source/labs/Ch12-unsup-lab.ipynb index 165ca03..cd39839 100644 --- a/docs/source/labs/Ch12-unsup-lab.ipynb +++ b/docs/source/labs/Ch12-unsup-lab.ipynb @@ -21,9 +21,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "24559be0", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:15.997833Z", + "iopub.status.busy": "2023-07-26T00:00:15.997474Z", + "iopub.status.idle": "2023-07-26T00:00:16.813358Z", + "shell.execute_reply": "2023-07-26T00:00:16.812944Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -48,9 +54,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "06fff57d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:16.815664Z", + "iopub.status.busy": "2023-07-26T00:00:16.815421Z", + "iopub.status.idle": "2023-07-26T00:00:16.939927Z", + "shell.execute_reply": "2023-07-26T00:00:16.939556Z" + } + }, "outputs": [], "source": [ "from sklearn.cluster import \\\n", @@ -78,10 +91,458 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "f425e07e", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:16.942437Z", + "iopub.status.busy": "2023-07-26T00:00:16.942261Z", + "iopub.status.idle": "2023-07-26T00:00:18.130019Z", + "shell.execute_reply": "2023-07-26T00:00:18.129379Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
MurderAssaultUrbanPopRape
Alabama13.22365821.2
Alaska10.02634844.5
Arizona8.12948031.0
Arkansas8.81905019.5
California9.02769140.6
Colorado7.92047838.7
Connecticut3.31107711.1
Delaware5.92387215.8
Florida15.43358031.9
Georgia17.42116025.8
Hawaii5.3468320.2
Idaho2.61205414.2
Illinois10.42498324.0
Indiana7.21136521.0
Iowa2.2565711.3
Kansas6.01156618.0
Kentucky9.71095216.3
Louisiana15.42496622.2
Maine2.183517.8
Maryland11.33006727.8
Massachusetts4.41498516.3
Michigan12.12557435.1
Minnesota2.7726614.9
Mississippi16.12594417.1
Missouri9.01787028.2
Montana6.01095316.4
Nebraska4.31026216.5
Nevada12.22528146.0
New Hampshire2.157569.5
New Jersey7.41598918.8
New Mexico11.42857032.1
New York11.12548626.1
North Carolina13.03374516.1
North Dakota0.845447.3
Ohio7.31207521.4
Oklahoma6.61516820.0
Oregon4.91596729.3
Pennsylvania6.31067214.9
Rhode Island3.4174878.3
South Carolina14.42794822.5
South Dakota3.8864512.8
Tennessee13.21885926.9
Texas12.72018025.5
Utah3.21208022.9
Vermont2.2483211.2
Virginia8.51566320.7
Washington4.01457326.2
West Virginia5.781399.3
Wisconsin2.6536610.8
Wyoming6.81616015.6
\n", + "
" + ], + "text/plain": [ + " Murder Assault UrbanPop Rape\n", + "Alabama 13.2 236 58 21.2\n", + "Alaska 10.0 263 48 44.5\n", + "Arizona 8.1 294 80 31.0\n", + "Arkansas 8.8 190 50 19.5\n", + "California 9.0 276 91 40.6\n", + "Colorado 7.9 204 78 38.7\n", + "Connecticut 3.3 110 77 11.1\n", + "Delaware 5.9 238 72 15.8\n", + "Florida 15.4 335 80 31.9\n", + "Georgia 17.4 211 60 25.8\n", + "Hawaii 5.3 46 83 20.2\n", + "Idaho 2.6 120 54 14.2\n", + "Illinois 10.4 249 83 24.0\n", + "Indiana 7.2 113 65 21.0\n", + "Iowa 2.2 56 57 11.3\n", + "Kansas 6.0 115 66 18.0\n", + "Kentucky 9.7 109 52 16.3\n", + "Louisiana 15.4 249 66 22.2\n", + "Maine 2.1 83 51 7.8\n", + "Maryland 11.3 300 67 27.8\n", + "Massachusetts 4.4 149 85 16.3\n", + "Michigan 12.1 255 74 35.1\n", + "Minnesota 2.7 72 66 14.9\n", + "Mississippi 16.1 259 44 17.1\n", + "Missouri 9.0 178 70 28.2\n", + "Montana 6.0 109 53 16.4\n", + "Nebraska 4.3 102 62 16.5\n", + "Nevada 12.2 252 81 46.0\n", + "New Hampshire 2.1 57 56 9.5\n", + "New Jersey 7.4 159 89 18.8\n", + "New Mexico 11.4 285 70 32.1\n", + "New York 11.1 254 86 26.1\n", + "North Carolina 13.0 337 45 16.1\n", + "North Dakota 0.8 45 44 7.3\n", + "Ohio 7.3 120 75 21.4\n", + "Oklahoma 6.6 151 68 20.0\n", + "Oregon 4.9 159 67 29.3\n", + "Pennsylvania 6.3 106 72 14.9\n", + "Rhode Island 3.4 174 87 8.3\n", + "South Carolina 14.4 279 48 22.5\n", + "South Dakota 3.8 86 45 12.8\n", + "Tennessee 13.2 188 59 26.9\n", + "Texas 12.7 201 80 25.5\n", + "Utah 3.2 120 80 22.9\n", + "Vermont 2.2 48 32 11.2\n", + "Virginia 8.5 156 63 20.7\n", + "Washington 4.0 145 73 26.2\n", + "West Virginia 5.7 81 39 9.3\n", + "Wisconsin 2.6 53 66 10.8\n", + "Wyoming 6.8 161 60 15.6" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "USArrests = get_rdataset('USArrests').data\n", "USArrests\n" @@ -97,10 +558,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "b127d014", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.133058Z", + "iopub.status.busy": "2023-07-26T00:00:18.132868Z", + "iopub.status.idle": "2023-07-26T00:00:18.136222Z", + "shell.execute_reply": "2023-07-26T00:00:18.135816Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['Murder', 'Assault', 'UrbanPop', 'Rape'], dtype='object')" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "USArrests.columns\n" ] @@ -115,12 +594,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "c7343f72", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.138449Z", + "iopub.status.busy": "2023-07-26T00:00:18.138330Z", + "iopub.status.idle": "2023-07-26T00:00:18.142002Z", + "shell.execute_reply": "2023-07-26T00:00:18.141676Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Murder 7.788\n", + "Assault 170.760\n", + "UrbanPop 65.540\n", + "Rape 21.232\n", + "dtype: float64" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "USArrests.mean()\n" ] @@ -137,10 +637,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "34501140", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.144029Z", + "iopub.status.busy": "2023-07-26T00:00:18.143885Z", + "iopub.status.idle": "2023-07-26T00:00:18.147113Z", + "shell.execute_reply": "2023-07-26T00:00:18.146759Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Murder 18.970465\n", + "Assault 6945.165714\n", + "UrbanPop 209.518776\n", + "Rape 87.729159\n", + "dtype: float64" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "USArrests.var()\n" ] @@ -169,9 +691,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "daf119e8", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.148889Z", + "iopub.status.busy": "2023-07-26T00:00:18.148784Z", + "iopub.status.idle": "2023-07-26T00:00:18.152181Z", + "shell.execute_reply": "2023-07-26T00:00:18.151873Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -193,9 +721,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "a0eda7c9", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.153991Z", + "iopub.status.busy": "2023-07-26T00:00:18.153858Z", + "iopub.status.idle": "2023-07-26T00:00:18.155563Z", + "shell.execute_reply": "2023-07-26T00:00:18.155300Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -216,10 +750,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "1430fb3c", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.157118Z", + "iopub.status.busy": "2023-07-26T00:00:18.157011Z", + "iopub.status.idle": "2023-07-26T00:00:18.160394Z", + "shell.execute_reply": "2023-07-26T00:00:18.160108Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
PCA()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "PCA()" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pcaUS.fit(USArrests_scaled)\n" ] @@ -236,10 +791,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "6131d8d1", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.162053Z", + "iopub.status.busy": "2023-07-26T00:00:18.161958Z", + "iopub.status.idle": "2023-07-26T00:00:18.164351Z", + "shell.execute_reply": "2023-07-26T00:00:18.164070Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([-7.10542736e-17, 1.38777878e-16, -4.39648318e-16, 8.59312621e-16])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pcaUS.mean_\n" ] @@ -255,9 +828,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "08246aad", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.165967Z", + "iopub.status.busy": "2023-07-26T00:00:18.165875Z", + "iopub.status.idle": "2023-07-26T00:00:18.167798Z", + "shell.execute_reply": "2023-07-26T00:00:18.167542Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -278,10 +857,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "b682b632", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.169396Z", + "iopub.status.busy": "2023-07-26T00:00:18.169312Z", + "iopub.status.idle": "2023-07-26T00:00:18.171738Z", + "shell.execute_reply": "2023-07-26T00:00:18.171462Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.53589947, 0.58318363, 0.27819087, 0.54343209],\n", + " [ 0.41818087, 0.1879856 , -0.87280619, -0.16731864],\n", + " [-0.34123273, -0.26814843, -0.37801579, 0.81777791],\n", + " [ 0.6492278 , -0.74340748, 0.13387773, 0.08902432]])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pcaUS.components_ \n" ] @@ -300,12 +900,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "c165e990", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.173597Z", + "iopub.status.busy": "2023-07-26T00:00:18.173475Z", + "iopub.status.idle": "2023-07-26T00:00:18.290430Z", + "shell.execute_reply": "2023-07-26T00:00:18.290051Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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4Ycf6rvvvlNeXp4mTZqkH374Qddff32L1QgACLyhQ4cqISFBb731lnfbW2+9pR49emjIkCHebT179tRjjz3mc+zgwYM1b948732LxaKsrCxdfPHFat++ve6//35J0t/+9jd16dJF0dHRmjZtmsrLay7Y8vzzz6t///6yWq3q16+fnn76ae9j33//vSwWi1577TWdc845slqtevnll/30CQBoiEYF37vuuku///3v9csvv2jPnj0aO3aszjnnHH355ZctVZ+PiRMn6uGHH9Y999yjwYMHKz8/X9nZ2d4Jb8XFxXI4HN79f/nlF02fPl39+/fX7373O5WVlWnTpk1KSkoKSL0AgMC57rrrtHjxYu/9F1980XtipLHmzZun3//+9/rqq6903XXX6fXXX9e8efP017/+VV988YXi4+N9Qq0kvfzyy7rnnnt0//33a+vWrfrrX/+qu+++W0uXLvXZ784779TNN9+srVu3aty4cU2qL1y43B7l7NinFfm7lLNjn1xuj9ElIcw1qqvD5s2btXDhQkVERCg6OlpPP/20evToofPOO08ffPBBsy8nNcTMmTM1c+bMWh9bv369z/1HH31Ujz76aIvXBAAw3qRJkzR37lzvQkUbN27U8uXLa/xtaIirrrrKJzRfccUVmjZtmqZNmyZJ+stf/qI1a9b4nPXNyMjQggUL9L//+7+SpMTERBUWFuqZZ57RlClTvPvNnj3bu4+ZZRc4lLmqUA7nfz/DeJtVGWlJtEdEi2l0O7NjL+3ceeedatWqlc4///zjLiQBAEBL6ty5sy688EItWbJEHo9HF154oU488cQmPdfpp5/uc3/r1q01Js+lpKToo48+klQ1x2XHjh2aNm2apk+f7t3nyJEjstlsx31uM8oucCh9WZ6OPb9b4ixX+rI8eoOjxTQq+CYnJ2vTpk0aOHCgz/Zbb71VbrdbV155pV+LAwCgMa677jrvVcGFCxfWeDwiIkIej2/cqm2CWfv27Rv1ugcPHpQkPffccxo+fLjPY5GRkc167nDjcnuUuaqwRuiVJI+qVoPMXFWosUl22iXC7xo1xnfy5Mn65JNPan3s9ttvV2ZmZkCGOwAAUJvU1FRVVlbq8OHDtY6f7dy5s89ckLKyMhUVFdX7vP3799dnn33ms+3TTz/1/neXLl3UtWtXfffdd+rTp4/PLTExsRnvKPzk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l19+0bRp02Sz2Xz2ueSSS/TCCy9o9+7dOu2003TqqaeqoqJC7777rvr37y+pqmtDfHy8hgwZooiICL3xxhuy2+3q2LGj+vTpo8OHD+vJJ59UWlqaNm7cqEWLFvm8xqhRo/TTTz/pwQcf1KWXXqrs7Gy9//77iomJqbP2nj176rPPPtP333+vDh06KDY2VhERnJcCWgL/sgCDREZYlJGWJKkq5B6t+n5GWhIT21CnYLlq4PF4vEMarr32Wl1//fUt+npH++WXXzR48GDFxMTo+eef19y5czVmzJgaoVeqCr5ffPGFWrVqpblz52rgwIE6++yzFRkZqeXLl0uSoqOj9eCDD+r000/XGWecoe+//17//Oc/FRERoUGDBumRRx7RAw88oOTkZL388ss+rc4kqX///nr66ae1cOFCDRo0SLm5ud5hFHW59dZbFRkZqaSkJHXu3FnFxcX++4AA+LB4jh2MBB9lZWWy2WxyOp3H/cYONFUwzshHaHC5PRr5wLp6rxp8csfoFv0ClZKSok8//VTdunXTjz/+2GKvc7Q9e/ZoxIgRPj1vX3rpJV1zzTUBeX0AwaWheY2hDoDBUpPjNTbJrtyiUu09UK646KrhDZzpRX2qrxqkL8uTRfIJv4G6anDXXXfp008/laSAnKncuXOnBg4cqP3793u3vf3225owYUKLvzZCg8vt4fcp6sQZ33pwxhdAsDPqqsHbb7+t//3f/5UkHTp0SO3atWux1/r222/Vt29fn0ljH374ocaOHdtir4nQwxU082poXiP41oPgCyAUBPosV2FhoU499VRJUlFRUZ1L8jbXV199pYEDB/ps27hxo84888wWeT2Eruqe1seGmup/BVmThhJ+wxhDHQDARCIjLErp3Skgr7V//35v6F2zZk2LhN7c3FwNHz7cZ1teXp6GDBni99dC6GMlTDQUXR0AAA125MgRnXDCCZKkBQsW6LzzzvPr83/00UeyWCw+oXfr1q3yeDyEXtQp2HpaI3gRfAEADWa1VrVGmzBhgubMmeO353333XdlsVg0evRoSVL79u1VVFQkj8ejfv36+e11EJ6Cqac1ghvBFwDQIBdddJFcLpeioqL09ttv++U5ly9fLovForS0NElSt27dtHv3bh08eLDFxg0j/ARLT2sEP4IvAKBeDz74oN577z1JVR0cmsPj8ei5556TxWLR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t51++umyWCxauXKlgZUBQPOFVB9fI9DH13/o4wsEh5EjR2rjxo3auXOnunfvftx9v/vuO5122mnav3+/d9vjjz+uWbNmyWLhyyqA4NDQvEbwrQfB179cbk/Q9vYDzOK1117TFVdcoYyMDM2bN69Bx5SWlio1NVWff/65d9usWbO0YMECtW7duoUqBYCGIfj6CcEXQLgpLy9X27Zt1alTJ/3888+NPvb666/Xyy+/7N2WmpqqN954Qx06dPB3qQDQIA3NayE1xhcA0HxWa1UHlX379jXp2GXLlunIkSO65557JEnZ2dmKjo5Wnz59fOZZAECwIfgiqLncHuXs2KcV+buUs2Mfq7sBftbUi36RkZHKzMyU2+3WkiVLJEk7duxQ165dZbFYVFBQ4McqAcA/CL4IWtkFDo18YJ2ufO5T3bw8X1c+96lGPrBO2QWcUQKa66qrrpKkZrcqs1gsmjJlijwej9atW+fdPmDAAFksFq1evbpZzw8A/kTwRVDKLnAofVlejaWOS5zlSl+WR/gFmukPf/iDJOnpp5/223Oee+658ng8KiwsVKtWrSRJ559/viwWi1544YUmn10GAH8h+CLouNweZa4qVG1/Iqu3Za4qZNgD0AzVK1guXrzY78/dv39/HT58WCUlJerfv78k6frrr1dERITuuusuuVwuv78mADQEwRdBJ7eotMaZ3qN5JDmc5cotKg1cUUCYiYho+V//Xbp0UWFhoQ4ePKiLL75YkjR//ny1atVKl19+uX777Te/vM7UqVNlsVhksVjUunVrJSYm6vbbb1d5ed2/RwCYE8EXQWfvgYb9sWrofgBq1759e0lSZWVli7/OihUrdPjwYd1yyy2SpDfeeEPt2rXT4MGDG91SrTapqalyOBz67rvv9Oijj+qZZ55RRkZGs58XQHgh+CLoxEVb/bof4C/h1mVk1qxZkqT3338/IK/XqlUrPfzww3K73d6xxf/+97/VuXNntW/fXt9++22TnzsqKkp2u10JCQmaMGGCxowZ451Yt2/fPl155ZXq1q2b2rVrpwEDBujVV1/1OX7UqFGaOXOmZs6cKZvNphNPPFF33323z7jkiooK3XrrrerWrZvat2+v4cOHa/369U2uGUDgEXwRdIYlxireZlVd67lZVLXU8bDE2ECWBZMLxy4j06dPlyQ9+eSTAX1di8Wi9PR0eTwe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m/XKK69o9OjROnTokLKysvTQQw/pggsuUFJSkp577jm1bdtWL7zwgs9xGRkZGjt2rAYMGKClS5dqz549evvttxv1OYSLcG6HhdBG8AUA+I3F0rTLoAMGDKh1XG9KSkqN+1u3bvXeX7Nmjc477zx169ZN0dHRuuaaa7Rv3z79+uuv3n3atWun3r17e+/Hx8dr7969Ps/71VdfqUOHDmrbtq2GDRumlJQUPfXUU9qxY4cOHz6ss846y7tv69atNWzYMJ86jq01NjZWffv2rbGPWbAsMYIVwRcA4FddunSRVDXEICYmRk6ns8Y++/fv9y5zLFWd8W2s77//XhdddJEGDhyoN998U5s3b/aOAT66s0R1t4lqFoulxupyffv2VX5+vrZu3arffvtNK1eu9L4PNB7LEiNYEXwBAH41a9YsSdKbb76pvn37Ki8vr8Y+eXl5OuWUU+p9rk8//bTG/f79+0uqGpLgdru1YMECjRgxQqeccop2797dpJrbtGmjPn36qGfPnj5nnnv37q02bdpo48aN3m2HDx/W559/rqSkpDpr/eWXX/TNN994azWjcG2HhdBGOzMAgF9dd911+vOf/6ynnnpKr776qp566in98Y9/1PXXX6+oqCi99957evXVV7Vq1ap6n2vjxo168MEHNWHCBK1evVpvvPGG3nvvPUlSnz59dPjwYT355JNKS0vTxo0btWjRIr++l/bt2ys9PV233XabYmNj1aNHDz344IP69ddfNW3aNJ997733XnXq1EldunTR//3f/+nEE0/UhAkT/FpPqAnHdlgIbQRfAIBfxcdXncnLzc1Vr169tGHDBv3f//2fxowZo8rKSvXr109vvPGGUlNT632uW265RV988YUyMzMVExOjRx55ROPGjZNUNZHukUce0QMPPKC5c+fq7LPP1vz58zV58mS/vp+//e1vcrvduuaaa3TgwAGdfvrp+uCDD3TCCSfU2O/mm2/Wt99+q8GDB2vVqlUB70ccjFiWGMGEJYvrwZLFANB41ZPczPAnZv369Tr33HP1yy+/BM1qdIDZsGQxAMAwhw8fNkXoBRBaCL4AAL9r1YqRdACCD7+ZAABohlGjRnF2GwgRnPEFAACAKRB8AQAAYAoEXwAAAJgCwRcAAACmQPAFAACAKdDVAQCClMvtYalXAPAjgi8ABKHsAocyVxXK4Sz3bou3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pkDwBQAAgCkQfAEAAGAKBF8AAACYAsEXAAAApkDwBQAAgCkQfAEAAGAKBF8AAACYAsEXAAAApkDwBQAAgCkQfAEAAGAKBF8AAACYAsEXAAAAptDK6AKCncfjkSSVlZUZXAkAAABqU53TqnNbXQi+9Thw4IAkKSEhweBKAAAAcDwHDhyQzWar83GLp75obHJut1u7d+9WdHS0LBZLi75WWVmZEhIStHPnTsXExLToa+G/+NyNweduDD53Y/C5G4PPPfCM+sw9Ho8OHDigrl27KiKi7pG8nPGtR0REhLp37x7Q14yJieEfqAH43I3B524MPndj8Lkbg8898Iz4zI93prcak9sAAABgCgRfAAAAmALBN4hERUUpIyNDUVFRRpdiKnzuxuBzNwafuzH43I3B5x54wf6ZM7kNAAAApsAZXwAAAJgCwRcAAACmQPAFAACAKRB8AQAAYAoE3yB28cUXq0ePHrJarYqPj9c111yj3bt3G11W2Pr+++81bdo0JSYmqm3bturdu7cyMjJUWVlpdGlh7/7779eZZ56pdu3aqWPHjkaXE7YWLlyonj17ymq1avjw4crNzTW6pLC3YcMGpaWlqWvXrrJYLHrnnXeMLinszZ8/X2eccYaio6MVFxenCRMmaNu2bUaXFfaysrI0cOBA78IVKSkpev/9940uqwaCbxA799xz9frrr2vbtm168803tWPHDl166aVGlxW2vv76a7ndbj3zzDPasmWLHn30US1atEh33XWX0aWFvcrKSl122WVKT083upSw9dprr2nOnDnKyMhQXl6eBg0apHHjxmnv3r1GlxbWDh06pEGDBmnhwoVGl2IaH3/8sWbMmKFPP/1Uq1ev1uHDh3X++efr0KFDRpcW1rp3766//e1v2rx5s7744guNHj1a48eP15YtW4wuzQftzELIypUrNWHCBFVUVKh169ZGl2MKDz30kLKysvTdd98ZXYopLFmyRLNnz9b+/fuNLiXsDB8+XGeccYaeeuopSZLb7VZCQoJmzZqlO++80+DqzMFisejtt9/WhAkTjC7FVH766SfFxcXp448/1tlnn210OaYSGxurhx56SNOmTTO6FC/O+IaI0tJSvfzyyzrzzDMJvQHkdDoVGxtrdBlAs1RWVmrz5s0aM2aMd1tERITGjBmjnJwcAysDWp7T6ZQkfpcHkMvl0vLly3Xo0CGlpKQYXY4Pgm+Qu+OOO9S+fXt16tRJxcXFWrFihdElmcb27dv15JNP6sYbbzS6FKBZfv75Z7lcLnXp0sVne5cuXVRSUmJQVUDLc7vdmj17ts466ywlJycbXU7Y++qrr9ShQwdFRUXppptu0ttvv62kpCSjy/JB8A2wO++8UxaL5bi3r7/+2rv/bbfdpi+//FIffvihIiMjNXnyZDE6pXEa+5lL0q5du5SamqrLLrtM06dPN6jy0NaUzx0A/GnGjBkqKCjQ8uXLjS7FFPr27av8/Hx99tlnSk9P15QpU1RYWGh0WT4Y4xtgP/30k/bt23fcfXr16qU2bdrU2P7jjz8qISFBmzZtCrpLB8GssZ/57t27NWrUKI0YMUJLlixRRATfD5uiKT/rjPFtGZWVlWrXrp3+8Y9/+IwvnTJlivbv38+VpABhjG9gzZw5UytWrNCGDRuUmJhodDmmNGbMGPXu3VvPPPOM0aV4tTK6ALPp3LmzOnfu3KRj3W63JKmiosKfJYW9xnzmu3bt0rnnnqvTTjtNixcvJvQ2Q3N+1uFfbdq00Wmnnaa1a9d6Q5fb7dbatWs1c+ZMY4sD/Mzj8WjWrFl6++23tX79ekKvgdxud9BlFoJvkPrss8/0+eefa+TIkTrhhBO0Y8cO3X333erduzdne1vIrl27NGrUKJ100kl6+OGH9dNPP3kfs9vtBlYW/oqLi1VaWqri4mK5XC7l5+dLkvr06aMOHToYW1yYmDNnjqZMmaLTTz9dw4YN02OPPaZDhw7p2muvNbq0sHbw4EFt377de7+oqEj5+fmKjY1Vjx49DKwsfM2YMUOvvPKKVqxYoejoaO84dpvNprZt2xpcXfiaO3euLrjgAvXo0UMHDhzQK6+8ovXr1+uDDz4wujRfHgSl//znP55zzz3XExsb64mKivL07NnTc9NNN3l+/PFHo0sLW4sXL/ZIqvWGljVlypRaP/ePPvrI6NLCypNPPunp0aOHp02bNp5hw4Z5Pv30U6NLCnsfffRRrT/bU6ZMMbq0sFXX7/HFixcbXVpYu+666zwnnXSSp02bNp7OnTt7zjvvPM+HH35odFk1MMYXAAAApsAARgAAAJgCwRcAAACmQPAFAACAKRB8AQAAYAoEXwAAAJgCwRcAAACmQPAFAACAKRB8AQAAYAoEXwAIA1OnTpXFYpHFYlGbNm3Up08f3XvvvTpy5IgkyePx6Nlnn9Xw4cPVoUMHdezYUaeffroee+wx/frrr5KkLVu26JJLLlHPnj1lsVj02GOPGfiOAMD/CL4AECZSU1PlcDj07bff6pZbbtG8efP00EMPSZKuueYazZ49W+PHj9dHH32k/Px83X333VqxYoU+/PBDSdKvv/6qXr166W9/+5vsdruRbwUAWgRLFgNAGJg6dar279+vd955x7vt/PPP14EDB/SnP/1JEydO1DvvvKPx48f7HOfxeFRWViabzeazvWfPnpo9e7Zmz54dgOoBIDA44wsAYapt27aqrKzUyy+/rL59+9YIvZJksVhqhF4ACFcEXwAIMx6PR2vWrNEHH3yg0aNH69tvv1Xfvn2NLgsADEfwBYAw8e6776pDhw6yWq264IILNHHiRM2bN0+MaAOAKq2MLgAA4B/nnnuusrKy1KZNG3Xt2lWtWlX9ij/llFP09ddfG1wdABiPM74AECbat2+vPn36qEePHt7QK0lXXXWVvvnmG61YsaLGMR6PR06nM5BlAoBhCL4AEOYuv/xyTZw4UVdeeaX++te/6osvvtAPP/ygd999V2PGjNFHH30kSaqsrFR+fr7y8/NVWVmpXbt2KT8/X9u3bzf4HQCAf9DODADCQG3tzI7mdrv17LPP6sUXX9SWLVvUqlUrnXzyyZo8ebKmT5+utm3b6vvvv1diYmKNY8855xytX7++Zd8AAAQAwRcAAACmwFAHAAAAmALBFwAAAKZA8AUAAIApEHwBAABgCgRfAAAAmALBFwAAAKZA8AUAAIApEHwBAABgCgRfAAAAmALBFwAAAKZA8AUAAIApEHwBAABgCv8Pm6T47ohRhEgAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "i, j = 0, 1 # which components\n", "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", @@ -333,10 +950,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "848c9f35", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.292401Z", + "iopub.status.busy": "2023-07-26T00:00:18.292266Z", + "iopub.status.idle": "2023-07-26T00:00:18.393479Z", + "shell.execute_reply": "2023-07-26T00:00:18.393134Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAArEAAAKnCAYAAACRVRWrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABid0lEQVR4nO3deXhTZf7+8fukQAulDZbFFmRHwYqyyiLMiAhal7qhok5VBLcqCjJuOKOl44I7uGBFReQrqOCgYHWsIm4johU6VRFksywDZZFCWpa2NMnvj/6SIbaFLklOTvJ+XVeva3JyknyawebOc57n8xhut9stAAAAwEJsZhcAAAAA1BUhFgAAAJZDiAUAAIDlEGIBAABgOYRYAAAAWA4hFgAAAJZDiAUAAIDlEGIBAABgOY3MLiCYXC6Xtm/frri4OBmGYXY5AAAA+AO3262SkhK1bdtWNlvN460RFWK3b9+u9u3bm10GAAAAjmHr1q064YQTarw/okJsXFycpMo3JT4+3uRqAAAA8EfFxcVq3769N7fVJKJCrGcKQXx8PCEWAAAghB1r6icLuwAAAGA5hFgAAABYDiEWAAAAlkOIBQAAgOUQYgEAAGA5hFgAAABYDiEWAAAAlkOIBQAAgOUQYgEAAGA5hFgAAABYDiEWAAAAlkOIBQAAgOUQYgEAAGA5hFgAAABYDiEWAAAAlkOIBQCEjU6dOmn69OlmlwEgCAixAICQMmzYME2cOLHK8TfeeEMtWrQIej3VmTJligzDkGEYatSokTp16qS77rpL+/fvN7s0IGI0MrsAAAAaqry8XE2aNAnqa55yyin67LPPVFFRoWXLlmns2LE6ePCgZs6cGdQ6gEjFSCwAwHLGjBmjSy65RI8++qjatm2r7t27e+8rKSnR1VdfrdjYWLVr104zZszweeyzzz6rU089VbGxsWrfvr1uu+02nxFUz4jvJ598opNPPlnNmzdXSkqKCgsLfZ6nUaNGSkxM1AknnKDRo0frL3/5iz744ANJUllZme688061adNGMTExGjp0qH744QfvY7/88ksZhqGPPvpIp512mmJiYjRo0CCtWrUqEG8XEJYIsQAAS1q6dKnWrl2rJUuW6MMPP/Qef+qpp9SrVy/95z//0f33368JEyZoyZIl3vttNpuef/55/fLLL5ozZ44+//xz3XvvvT7PffDgQT399NN688039fXXX2vLli26++67j1pP06ZNVV5eLkm69957tXDhQs2ZM0d5eXnq1q2bzj33XBUVFfk85p577tEzzzyjH374Qa1bt1ZqaqoOHz7c0LcGiAiEWACAJcXGxuq1117TKaecolNOOcV7fMiQIbr//vt10kkn6Y477tDll1+uadOmee+fOHGizjrrLHXq1EnDhw/XI488ogULFvg89+HDh/Xyyy+rf//+6tu3r8aPH6+lS5fWWMvKlSv11ltvafjw4Tpw4ICysrL01FNP6bzzzlNycrJeffVVNW3aVLNmzfJ5XEZGhkaOHKlTTz1Vc+bM0c6dO/X+++/76R0CwhshFgBgSaeeemq182AHDx5c5faaNWu8tz/77DOdffbZateuneLi4nTttddqz549OnjwoPecZs2aqWvXrt7bSUlJ2rVrl8/z/vzzz2revLmaNm2qAQMGaPDgwXrxxRe1ceNGHT58WEOGDPGe27hxYw0YMMCnjj/WmpCQoO7du1c5B0D1CLEAgJASHx8vh8NR5fi+fftkt9u9t2NjY+v83Js2bdKFF16o0047TQsXLtTKlSu9c2Y9UwGkytB5JMMw5Ha7fY51795d+fn5WrNmjQ4dOqQPPvhAxx9/fJ1rAlA/hFgAQEjp3r278vLyqhzPy8vTSSeddMzHf/fdd1Vun3zyyZIqL/u7XC4988wzGjRokE466SRt3769XnU2adJE3bp1U6dOnXxGhLt27aomTZpo2bJl3mOHDx/WDz/8oOTk5Bpr3bt3r9atW+etFcDR0WILABASpk6dqt2/79H422/Tiy++qDvvvFM33nijoqOj9dFHH+ntt99Wdnb2MZ9n2bJlevLJJ3XJJZdoyZIlevfdd/XRRx9Jkrp166bDhw/rhRdeUGpqqpYtW6aXX37Zr79HbGys0tPTdc899yghIUEdOnTQk08+qYMHD2rcuHE+5/7jH/9Qy5Ytdfzxx+tvf/ubWrVqpUsuucSv9QDhihALAAgJDzzwgCTp2Wee1tdff62//e1vGjFihMrLy9WjRw+9++67SklJOebz/PWvf9WKFSuUmZmp+Ph4Pfvsszr33HMlSb169dKzzz6rJ554QpMnT9af//xnTZ06Vdddd51ff5fHH39cLpdL1157rUpKStS/f3998sknOu6446qcN2HCBK1fv169e/dWdnZ20PvdAlZl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VlYmm82mBQsWaNSoUdU+5sILL1SPHj309NNPS6ocid21a5d++eUX7/+H9953n95duEjT//m5XCW/64qz+mnLli1q27at93lGjBihAQMG6LHHHgv8Lwr4GTt2AQAkSU6n0+wSItZZZ52lrKwsHThwQNOmTVOjRo28AdbpdOqxxx7TggULtG3bNpWXl6usrEzNmjXzeY5BgwZ5A6wkDTnjDE179lldeGqicnLy5XQ6q3ScKCsrU8uWLQP/CwImIsQCQBhwutzKLSjSrpJStYmrXOATZasMPp75kenp6SZWGJliY2PVrVs3SdLrr7+uXr16adasWRo3bpyeeuopPffcc5o+fbpOPfVUxcbGauLEiSovL6/18+/fv19RUVFauXKloqKifO5r3ry5X38XINQQYgHA4nJWFSoze7VPM/wke4wyUpOV0jPJOx+WnbrMZbPZ9MADD2jSpEm65pprtGzZMl188cVKS0uTJLlcLq1bt07Jyck+j/v+++99bn/33Xc68cQTFRUVpT59+sjpdGrXrl3605/+FLTfBQgFLOwCAAvLWVWo9Ll5VXZz2uEoVfrcPOWsKtRHH30kSerRo4cZJeIIV1xxhaKiojRjxgydeOKJWrJkib799lutWbNGt9xyi3bu3FnlMVu2bNGkSZO0du1avf3223rhhRc0YcIESZUbV/zlL3/Rddddp/fee08FBQXKzc3V1KlTvf+/A+GKkVgAsCiny63M7NXV9g11q7J3aGb2au+xI+dVwv/cbrdeffVV3XLLLbrnvvuqPadRo0YaP368nnzySf3nP//Rb7/9pnPPPVfNmjXTzTffrEsuuUQOh8PnMdddd50OHTqkAQMGKCoqShMmTNDNN9/svX/27Nl65JFH9Ne//lXbtm1Tq1atNGjQIF144YUB/X0Bs9GdAAAsavnGPbr61e+Oeo7zwD7998U09erVS/n5+cEpLMKUlZXptttu0+uvv+49NmrUKP3zn/9s8HMPGzZMvXv31vTp0xv8XIBV0J0AAILkaIuqAmlXybG3L93/06eS2OQgELZv366zzz5bv/76q/fYVVddpVmzZlXpMADA/wixANAAx1pUFUht4mKOeU7xisWSKudiwj+WLVumoUOH+hybPn267rjjDtlsLDUBgoUQCwD15FlU9cc5WZ5FVVlpfQMaZAd0TlCSPUY7HKXVzos1JLkOVs6vZGSwYdxut1566SWNHz/e5/iXX36pM888M2Cvy/axQM34ygggZDhdbi3fuEeL87dp+cY9crpCd8r+sRZVSZWLqgL5O0TZDGWkVrZj+uPkBUOS28UmBw1VWlqq6667TjabzRtgu3btqq1bt8rtdgc0wAI4OkZiAYQEMy/L10duQVGVtlZHcksqdJQqt6BIg7sGbueklJ5JykrrW+W9S7TH6NJEh+6TdNNNNwXs9c0UyLnI//3vfzVs2DBt3LjRe+zaa6/VzJkz1bRpU7+8BoCGIcQCMJ3Zl+XrozaLqupyXkOk9EzSyOTEKoFu1GWXSpLuvPPOgNcQbIH60vP1119XGV2dMWOG0tPTaVEGhBimEwAwVShclq+P2iyqqst5DRVlMzS4a0td3LudBndtqSibocWLKxd1nXLKKUGpIVhqs8FDXbhcLj333HMyDMMnwH7zzTdyu9267bbbCLBACCLEAjBVXS7LhxLPoqqaoo2hypHBAZ0TgllW9bWEUQDz55eegwcP6uqrr1ZUVJQmTpwoqXJXs23btsntdmvIkCF+qxuA/xFiAZgqlC7L18WxFlVJUkZqclD6xVbn999/lxR+o7D++NKzefNmdezYUbGxsXrnnXckSePGjVNpaanWrFmjtm3b+rtsAAFAiAVgqlC7LF8XnkVViXbf2hLtMabP4509e7ak8NvkoCFfepYuXSrDMNSpUydt2bJFkjRz5ky5XC699tprio6O9mutAAKLhV0ATFWbXqeJIXJZvjo1LaoyawTWY9q0aZIqd5AKJ3X90uNyufTss8/qnnvu8bl/+fLlGjRokN/rAxA8hFgApvJclk+fm1fZ2/SI+0LhsnxteBZVhZLCwsrFTbGxsSZX4l+1/dJzSptoXX755Vq4cKH3vlNPPVWffvqpEhMTg1YvgMBhOgEA04XyZXkrcrlcZpcQMMeai3x43w6tm/YX2ePjvAH21ltvVWlpqX766ScCLBBGGIkFwlggm8H7W6helreib7/9VpJ0ww03mFxJYFS3wcOhgjztWvCQz3mzZs3SDTfcEFbdGQD8DyEWCFNW2wFLCs3L8lY0ffp0SeG5yYFHSs8knd2jje6cnKmXn37Y577c3FydfvrpJlUGIFgMt9sdWh3EA6i4uFh2u10Oh0Px8fFmlwMETE07YHnGo7hEH948I48ulyssRyH379+vv/zlL/rggw+8x/r166ePP/5YrVu3NrEyAP5Q27zGnFggzFh1Byz4X7gF2A0bNqhVq1aKi4vzBtjx48errKxMK1asIMACEYYQC4QZq+6ABf8oKqr8/7V79+4mV+I///rXv2QYhk488UTt2bNHkvTmm2/K5XLphRdeUJMmTUyuEIAZmBMLhBmr7oAF/5gzZ44k629y4HQ69eijjyojI8PneF5envr06WNSVQh1VlrMioYjxAJhxso7YAVTuH7YeTY5uOaaa0yupH6Ki4s1evRo5eTkeI8NGjRI2dnZatWqlYmVIdRZcTErGoYQC4QZq++AFQzh/GG3detWSVJcXJzJldTN2rVrNWDAABUXF3uP3XXXXXriiSfUuHFjEyuDFdS0mHWHo1Tpc/NYzBqmmBMLhJljNYOXQn8HrEDyfNj9cd6w58MuZ1WhSZU1nBU3OVi8eLEMw1CPHj28Afbtt9/2bhdLgMWxsJg1chFigTDEDljVC/cPu9zcXEnStddea3IlR+d0OvXQQw/JMAxdcsklkqSoqCj9+OOPcrvduuqqq8KuswICh8WskYvpBECYYgesquryYWfFTRc8mxxMmDDB3EJq4HA4NGrUKC1dutR77E9/+pMWLVqkhITInd6ChmExa+QixAJhjB2wfIX7h938+fMlSX379jW5El+rV69W//79dejQIe+x++67T4888ogaNeJjCA3DYtbIxV8PBE24rgaHdUTKh12oXIpfuHChLr/8cp9j7777bpVjQEOwmDVyEWIRFOG8GhzWEc4fdvv27ZMkdenSxdQ6Kioq9OCDD+rxxx/3HouJidGKFSt0yimnmFgZwpVnMWv63DwZks9/2yxmDW8s7ELAhfNqcFhLOHduePPNNyWZt8nB3r17deaZZ6px48beADt8+HDt3btXhw4dIsAioFjMGpkMt9ttzWW49VBcXCy73S6Hw6H4+Hizy4kITpdbQ5/4vMbFNJ6Rr2/uG27J4ABrCscrA126dFFBQYH27dsnu90etNf9+eef1bdvX1VUVHiP/e1vf9OUKVOY74qgY9paeKhtXuMvDAIq3FeDw5rCsXNDQUGBJAUlwLrdbi1YsEBXXXWVz/H333/f2zILMAOLWSMLIRYBFe6rwWFd4fRhF6wLaocPH9bkyZP1zDPPeI/FxcUpNzdXPXr0CEoNAOBBiEVARcpqcMBMK1askCRdffXVAXn+PXv2KDU1VcuXL/ceO/fcc7VgwQKmZgEwDQu7EFCe1eA1XaQ1VDkX0YqrwYFQ8dxzz0ny/yYH+fn5MgxDrVq18gbYKVOmqKKiQjk5OQRYAKYixCKgwnk1OBAq5s2bJ0k6/fTTG/xcbrdb8+bNk2EY6tOnj/d4dna23G63MjIyFBUV1eDXAYCGIsQi4Gh9AgSHzVb/P+mHDx/WhAkTZLPZlJaWJklKSEjQunXr5Ha7deGFF/qrTADwC+bEIijCcTU4EAqKi4slSR06dKjX43fv3q3zzz/fO69Wki688EK99dZbiouL80uNABAIhFgETTitBgdChWcqQV03OVi5cqX69+/vc+zRRx/Vfffdx3QBAJZAiEW90VQaMN+0adMkSWPGjDnmuW63W2+88YbGjh3rc/zjjz9WSkpKIMoDgIAhxKJewnHHI8CK1q9fL0lq0aJFjeeUl5dr4sSJysrK8h5LTEzUsmXL1KVLl0CXCAABwcIu1FnOqkKlz82rshPXDkep0ufmKWdVoUmVAZHlWJsc7Ny5U7169VJ0dLQ3wF522WXav3+/CgsLCbAALM1yIXbGjBnq1KmTYmJiNHDgQOXm5ppdUkRxutzKzF6t6j46Pccys1fL6QrODkJAJMvPz5ckXXHFFT7Hv//+exmGocTERP3000+SpCeffFJOp1MLFy5UbGxssEsFAL+zVIidP3++Jk2apIyMDOXl5alXr14699xztWvXLrNLixi5BUVVRmCP5JZU6ChVbkFR8IoCIpRnk4OJEyfK7Xbrtddek2EYGjRokPecJUuWyO1265577mlQCy4ACDWW+ov27LPP6qabbtINN9yg5ORkvfzyy2rWrJlef/11s0uLGLtKag6w9TkPQP3NmTNHkjRr1izZbDbddNNNkqT27dtr06ZNcrvdGjFihJklAkDAWCbElpeXa+XKlT5/kG02m0aMGOGzn/eRysrKVFxc7PODhmkTF3Psk+pwHoD6OXI+rOeL/JVXXqkDBw5oy5Yt6tixo1mlAUBQWCbE/v7773I6nTr++ON9jh9//PHasWNHtY+ZOnWq7Ha796d9+/bBKDWsDeicoCR7TJUtZD0MVXYpGNA5IZhlARGnoqJCMv73J/zGG2/Um2++qWbNmplYFQAEj2VCbH1MnjxZDofD+7N161azS7K8KJuhjNRkSaoSZD23M1KT6RcLBFjjxo3176+/8t5+7bXXFB0drbPOOourTgD8xulya/nGPVqcv03LN+4JqYXblukT26pVK0VFRWnnzp0+x3fu3KnExMRqHxMdHa3o6OhglBdRUnomKSutb5U+sYn0iQWCaujQoZo/f75Gjx7tPfbll1/KbrerXbt2+u6773TCCSeYWCEAKwv1nvCWGYlt0qSJ+vXrp6VLl3qPuVwuLV26VIMHDzaxssiU0jNJ39w3XG/fNEjPXdVbb980SN/cNzwk/lEDkeTKK6/UI4884r395ptvSpK2bdum9u3byzAM/fjjj2aVB8CirNAT3jIhVpImTZqkV199VXPmzNGaNWuUnp6uAwcO6IYbbjC7tIgUZTM0uGtLXdy7nQZ3bckUAsAkf/vb37yjsddee61cLpf+/e9/e+/v3bu3DMNQTk6OWSUCsBCr9IS3VIgdPXq0nn76aT300EPq3bu38vPzlZOTU2WxFwBEmnfeeUfdunWTJHXp0kVDhw6V2+3WunXrvIu9zjvvPBmGoZdffvmYu30BiFxW6QlvqRArSePHj9fmzZtVVlam77//XgMHDjS7JAAICevWrZMkbdq0SZdffrkk6cQTT9SBAwe0e/du9erVS5KUnp4um82m++67r7LLAQAcwSo94S0XYgEA1TMMQ4cPH5YkLVy4UJmZmd77WrVqpfz8fB08eFCjRo2SVLkVbePGjTVq1CgdOnTIlJoBhB6r9IQnxAJAGGnUqJEcDockacqUKXr77bd97m/atKn++c9/qqKiQvfdd58k6b333lOzZs102mmnaffu3UGvGUBosUpPeEIsAISZ+Ph4bd68WZJ0zTXX6Ntvv61yTlRUlB5//HG5XC7NnDlTkvTzzz+rTZs2atq0qdavXx/UmgGEDqv0hCfEAkAY6tChg3JzcyVJQ4YMUUFBQbXnGYahm2++WW63Wx9//LEkqbS0VCeddJIMw9A333wTtJoBhA5PT/hEu++UgUR7jLLS+oZES03DHUFLVIuLi2W32+VwOBQfH292OQAQcAsXLvQu8tq7d69atGhxzMf8+OOP6t27t8+xt99+W1dddVUAKgQQypwut3ILirSrpFRt4iqnEAR6BLa2eY2RWAAIY6NGjdLjjz8uSTruuONUXl5+zMf06tVLbrdbW7duVfv27SVJV199tQzD0NSpU+VyuQJaM4DQEco94QmxABDm7rvvPqWlpUmq3I67thfgTjjhBG3ZskUOh0PDhw+XJD3wwAOKiorSjTfeWKtADACBQogFgAjw5ptv6uSTT5ZUGU7rIj4+XkuXLlVZWZluvvlmSdKsWbMUHR2tM88809sNAQCCiRALABHil19+kSRt375dl1xySZ0f36RJE82cOVNOp1NPPPGEJOnrr79WixYt1K5dO23dutWf5QJyutxavnGPFudv0/KNe0zf5hShhYVdABBBKioq1LhxY0nSgw8+qH/84x8Ner4FCxZo9OjRPsfy8vLUp0+fBj0vkLOqUJnZq322P02yxygjNTkkVsYjcFjYBQCoolGjRiopKZEkPfzww5o3b16Dnu/KK6+U2+3WsmXLvMf69u0rwzD0r3/9q0HPjciVs6pQ6XPzfAKsJO1wlCp9bp5yVhWaVBlCCSEWACJM8+bNvZf+09LS/NIL9owzzpDb7db69evVvHlzSdIFF1wgwzD00ksv1XoxGeB0uZWZvVrV/YvxHMvMXs3UAhBiASASnXDCCVq5cqUk6U9/+pM2btzol+ft1q2bSkpKtHv3bu+Ugttvv102m0333HOPKioq/PI6CF+5BUVVRmCP5JZU6ChVbkFR8IpCSCLEAkCE6tu3r95//31JleFz7969fnvuVq1aKS8vTwcPHtQVV1whSXr66afVuHFjXXrppTp48KDfXgvhZVdJzQG2PuchfBFiASCCXXLJJXrqqackSQkJCX7v/dq0aVMtWLBAFRUVmjx5siRp0aJFio2NVc+ePbV7926/vh6sr01czLFPqsN5CF+EWAAIMcFuK3T33XdrzJgxkio3QwjEjlxRUVF67LHH5HK59Morr0iqbPnVpk0bRUdHa+3atX5/TVjTgM4JSrLHqKZ9oQxVdikY0DkhmGUhBNFiCwBCiJlthXr16qWffvpJbdq00c6dOwP6WpL0ySefKCUlxefYV199pT//+c8Bf22ENk93Akk+C7w8wTYrrS9ttsIYLbYAk9CcG/Vldluh/Px8SdKuXbt0wQUXBPS1JOncc8+V2+3Wjz/+6D125plnyjAMvfXWW3Q0iGApPZOUldZXiXbfKQOJ9hgCLLwYiQX8iObcqC+ny62hT3xe46psQ5Uf4N/cN1xRtpoutPqhDqdTjRo1kiRNnjxZjz32WMBe64+2bdumIUOGaPPmzd5jjzzyiCZPniybjTGXSOR0uZVbUKRdJaVqE1c5hSCQ//4RGhiJBYLM7FE0WFuotBWKioryboYwdepUzZkzJ6Cvd6R27dpp06ZNKi4u1ogRIyRJf//73xUVFaWxY8eqrKwsaLUgNETZDA3u2lIX926nwV1bEmDhgxAL+AHNudFQodRWqHnz5tq2bZskacyYMfrqq68C/ppHiouL05IlS1ReXq5bb71VkjR79mzFxMToT3/6kxwOR1DrARCaCLGAH4TKKBqsK9TaCrVt21b/+c9/JEnDhg3T+vXrg/K6R2rcuLGysrLkdDr15JNPSpK++eYbtWjRQomJidqyZUvQawIQOgixgB+E0igarCkU2wr17t1bH3zwgSTppJNOUlGROV/CPLt9ud1uLViwQJK0c+dOdezYUYZhKC8vz5S6AJiLEAv4QaiNosF6omyGMlKTJalKkPXczkhNDvqcwNTUVE2bNk2S1LJlS9PnpV5xxRVyu9369ttvvcf69esnwzD04YcfmlgZgGAjxAJ+EIqjaLCeUG0rNHHiRN14442SpJiYmIBshlBXgwcPltvt1oYNGxQXFyepMnAbhqEZM2bQnguIALTYAvyE5tzwl1BtK9SvXz/l5eXpuOOOM21qQU327Nmjc845x2dqwaRJk/TEE094W4YBsIba5jVCLOBH9IlFOHO73d5+rSNHjtSnn35qckVVlZaWasyYMZo/f7732IUXXqh33nlHsbGxJlYGoLYCFmILCwu1dOlSJSQkaMSIEWrSpIn3vgMHDuiZZ57RQw89VP/KA4gQi2AI1VE0wB+O3Azh7rvv1lNPPWVyRdVzOp166KGHfDZr6NGjh7766iu1adPGxMoAHEtAQuwPP/ygc845Ry6XS4cPH1a7du20aNEinXLKKZIqV4u2bdtWTqez4b9BABBiAaDhDh486B3VfO211zRu3DiTK6qZ2+3W66+/7p3TK0mNGjXSzz//rB49ephYGYCaBGTHrgceeECXXnqp9u7dq507d2rkyJE688wzvb0EAQDhr1mzZtq+fbsk6cYbb9QXX3xhckU1MwxD48aNk9vt1ieffCJJqqio0MknnyzDMIK+kQMA/6lTiF25cqXuv/9+2Ww2xcXF6aWXXtLdd9+ts88+Wz/88EOgagQAhJikpCT9+OOPkqThw4dr7dq1Jld0bOecc47cbrd++ukn77Fhw4bJMAzNnTuXjgaAxdS5xVZpqW+z9vvvv18PPPCAzjnnHJ++fQCA8Hbaaafpo48+klQ53/T33383uaLaOfXUU+V2u7Vt2zZ17txZknTttdfKZrPp4YcfDokWYgCOrU4htmfPntUG1bvvvluTJ0/W1Vdf7bfCAKCunC63lm/co8X527R84x45XYysBdr555+v559/XpLUunXrKgMdoaxt27b67bffVFxcrJEjR0qSHnroIUVFRen66683fWMHAEdXp4Vdr732mr788kvNnTu32vufeOIJvfzyyyooKPBbgf7Ewi4gfNHezFzp6el6+eWXJVV2BvC04rKSw4cPa+LEiXrppZe8x8444wx99NFHatGihXmFmWDMmDHat2+fFi1aZHYpiEABWdh144031hhgJem+++4L2QALIHx5Npo4MsBK0g5HqdLn5ilnVaFJlUWOrKwsDRw4UJIsO0jQuHFjzZgxQy6XS08//bQk6dtvv9Vxxx2nNm3aaPPmzX5/zeXLlysqKkoXXHCB35/bn4YNG6aJEyeaXQbgo04htrS0VB988IFKSkqq3FdcXKwPPviAyy8Agsrpcisze7Wqu6TkOZaZvZqpBUGwfPly2Ww2HThwQMOHDze7nHozDEN//etf5Xa79c9//lOStHv3bnXq1EmGYWjFihV+e61Zs2bpjjvu0Ndff+3t+ACgduoUYmfOnKnnnnvOu0/1keLj4/X888/r1Vdf9VtxAHAsuQVFVUZgj+SWVOgoVW5BaG2TGo4Mw1B5ebkk6YsvvtCkSZNMrqjhRo0aJbfbreXLl3uPnX766TIMQx988EGDnnv//v2aP3++0tPTdcEFF+iNN97w3rd371795S9/UevWrdW0aVOdeOKJmj17tiSpvLxc48ePV1JSkmJiYtSxY0dNnTrV+9hnn31Wp556qmJjY9W+fXvddttt2r9/v/f+KVOmqHfv3j61TJ8+XZ06daq2zjFjxuirr77Sc889J8MwZBiGNm3a1KDfHfCHOoXYefPmHfVywsSJE/V///d/Da0JAGptV0ntFhLV9jw0TFRUlA4cOCBJmjZtml555RWTK/KPQYMGye12a+PGjbLb7ZKkiy++WIZh6Pnnn69Xe64FCxaoR48e6t69u9LS0vT66697n+fBBx/U6tWr9fHHH2vNmjXKyspSq1atJEnPP/+8PvjgAy1YsEBr167VvHnzfAKo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XVYVhNggOeuss7RgwQKtXbtWCxcu1MaNG3X55ZebXVbY+vXXX+VyuTRz5kz98ssvmjZtml5++WU98MADZpcW9srLy3XFFVcoPT3d7FLC1vz58zVp0iRlZGQoLy9PvXr10rnnnqtdu3aZXVpYO3DggHr16qUZM2aYXUrE+Oqrr3T77bfru+++05IlS3T48GGdc845OnDggNmlhbUTTjhBjz/+uFauXKkVK1Zo+PDhuvjii/XLL7+YXZoPWmyZ5IMPPtAll1yisrIyNW7c2OxyIsJTTz2lrKws/fbbb2aXEhHeeOMNTZw4Ufv27TO7lLAzcOBAnX766XrxxRclSS6XS+3bt9cdd9yh+++/3+TqIoNhGHr//fd1ySWXmF1KRNm9e7fatGmjr776Sn/+85/NLieiJCQk6KmnntK4cePMLsWLkVgTFBUVad68eTrjjDMIsEHkcDiUkJBgdhlAg5SXl2vlypUaMWKE95jNZtOIESO0fPlyEysDAs/hcEgSf8uDyOl06p133tGBAwc0ePBgs8vxQYgNovvuu0+xsbFq2bKltmzZosWLF5tdUsTYsGGDXnjhBd1yyy1mlwI0yO+//y6n06njjz/e5/jxxx+vHTt2mFQVEHgul0sTJ07UkCFD1LNnT7PLCXs///yzmjdvrujoaN166616//33lZycbHZZPgixDXD//ffLMIyj/vz666/e8++55x795z//0aeffqqoqChdd911YjZH3dT1PZekbdu2KSUlRVdccYVuuukmkyq3tvq87wDgT7fffrtWrVqld955x+xSIkL37t2Vn5+v77//Xunp6br++uu1evVqs8vywZzYBti9e7f27Nlz1HO6dOmiJk2aVDn+3//+V+3bt9e3334bcsPzoayu7/n27ds1bNgwDRo0SG+88YZsNr631Ud9/q0zJzYwysvL1axZM/3zn//0mY95/fXXa9++fVzhCRLmxAbX+PHjtXjxYn399dfq3Lmz2eVEpBEjRqhr166aOXOm2aV4NTK7ACtr3bq1WrduXa/HulwuSVJZWZk/Swp7dXnPt23bprPOOkv9+vXT7NmzCbAN0JB/6/CvJk2aqF+/flq6dKk3QLlcLi1dulTjx483tzjAz9xut+644w69//77+vLLLwmwJnK5XCGXWQixQfD999/rhx9+0NChQ3Xcccdp48aNevDBB9W1a1dGYQNk27ZtGjZsmDp27Kinn35au3fv9t6XmJhoYmXhb8uWLSoqKtKWLVvkdDqVn58vSerWrZuaN29ubnFhYtKkSbr++uvVv39/DRgwQNOnT9eBAwd0ww03mF1aWNu/f782bNjgvV1QUKD8/HwlJCSoQ4cOJlYWvm6//Xa99dZbWrx4seLi4rzzvu12u5o2bWpydeFr8uTJOu+889ShQweVlJTorbfe0pdffqlPPvnE7NJ8uRFwP/30k/uss85yJyQkuKOjo92dOnVy33rrre7//ve/ZpcWtmbPnu2WVO0PAuv666+v9n3/4osvzC4trLzwwgvuDh06uJs0aeIeMGCA+7vvvjO7pLD3xRdfVPtv+/rrrze7tLBV09/x2bNnm11aWBs7dqy7Y8eO7iZNmrhbt27tPvvss92ffvqp2WVVwZxYAAAAWA6TBAEAAGA5hFgAAABYDiEWAAAAlkOIBQAAgOUQYgEAAGA5hFgAAABYDiEWAAAAlkOIBQAAgOUQYgEgxIwZM0aGYcgwDDVp0kTdunXTP/7xD1VUVEiq3E/+lVde0cCBA9W8eXO1aNFC/fv31/Tp03Xw4EFJ0i+//KJRo0apU6dOMgxD06dPN/E3AgD/I8QCQAhKSUlRYWGh1q9fr7/+9a+aMmWKnnrqKUnStddeq4kTJ+riiy/WF198ofz8fD344INavHixPv30U0nSwYMH1aVLFz3++ONKTEw081cBgIBg21kACDFjxozRvn37tGjRIu+xc845RyUlJbrrrrs0evRoLVq0SBdffLHP49xut4qLi2W3232Od+rUSRMnTtTEiRODUD0ABAcjsQBgAU2bNlV5ebnmzZun7t27VwmwkmQYRpUACwDhihALACHM7Xbrs88+0yeffKLhw4dr/fr16t69u9llAYDpCLEAEII+/PBDNW/eXDExMTrvvPM0evRoTZkyRcwAA4BKjcwuAABQ1VlnnaWsrCw1adJEbdu2VaNGlX+uTzrpJP36668mVwcA5mMkFgBCUGxsrLp166YOHTp4A6wkXXPNNVq3bp0WL15c5TFut1sOhyOYZQKAaQixAGAhV155pUaPHq2rr75ajz32mFasWKHNmzfrww8/1IgRI/TFF19IksrLy5Wfn6/8/HyVl5dr27Ztys/P14YNG0z+DQDAP2ixBQAhproWW0dyuVx65ZVX9Prrr+uXX35Ro0aNdOKJJ+q6667TTTfdpKZNm2rTpk3q3LlzlceeeeaZ+vLLLwP7CwBAEBBiAQAAYDlMJwAAAIDlEGIBAABgOYRYAAAAWA4hFgAAAJZDiAUAAIDlEGIBAABgOYRYAAAAWA4hFgAAAJZDiAUAAIDlEGIBAABgOYRYAAAAWA4hFgAAAJbz/wCDbtSgPAl2YgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "scale_arrow = s_ = 2\n", "scores[:,1] *= -1\n", @@ -362,12 +997,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "34fdfe21", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.395487Z", + "iopub.status.busy": "2023-07-26T00:00:18.395355Z", + "iopub.status.idle": "2023-07-26T00:00:18.398200Z", + "shell.execute_reply": "2023-07-26T00:00:18.397868Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([1.5908673 , 1.00496987, 0.6031915 , 0.4206774 ])" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "scores.std(0, ddof=1)" ] @@ -383,12 +1035,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "31b43c57", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.399986Z", + "iopub.status.busy": "2023-07-26T00:00:18.399859Z", + "iopub.status.idle": "2023-07-26T00:00:18.402377Z", + "shell.execute_reply": "2023-07-26T00:00:18.402074Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([2.53085875, 1.00996444, 0.36383998, 0.17696948])" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pcaUS.explained_variance_\n" ] @@ -404,12 +1073,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "68e47d3a", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.404041Z", + "iopub.status.busy": "2023-07-26T00:00:18.403900Z", + "iopub.status.idle": "2023-07-26T00:00:18.406482Z", + "shell.execute_reply": "2023-07-26T00:00:18.406162Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.62006039, 0.24744129, 0.0891408 , 0.04335752])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pcaUS.explained_variance_ratio_\n" ] @@ -428,9 +1114,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "e87fe198", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.408230Z", + "iopub.status.busy": "2023-07-26T00:00:18.408090Z", + "iopub.status.idle": "2023-07-26T00:00:18.552316Z", + "shell.execute_reply": "2023-07-26T00:00:18.551935Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -458,12 +1150,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "409fb0c6", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.554504Z", + "iopub.status.busy": "2023-07-26T00:00:18.554354Z", + "iopub.status.idle": "2023-07-26T00:00:18.664965Z", + "shell.execute_reply": "2023-07-26T00:00:18.664571Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ax = axes[1]\n", "ax.plot(ticks,\n", @@ -488,12 +1198,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "e563e41b", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.666854Z", + "iopub.status.busy": "2023-07-26T00:00:18.666716Z", + "iopub.status.idle": "2023-07-26T00:00:18.669407Z", + "shell.execute_reply": "2023-07-26T00:00:18.669069Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 1, 3, 11, 8])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "a = np.array([1,2,8,-3])\n", "np.cumsum(a)\n" @@ -520,12 +1247,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "f83ad0bc", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.671214Z", + "iopub.status.busy": "2023-07-26T00:00:18.671075Z", + "iopub.status.idle": "2023-07-26T00:00:18.673946Z", + "shell.execute_reply": "2023-07-26T00:00:18.673625Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "((50, 4), (4,), (4, 4))" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X = USArrests_scaled\n", "U, D, V = np.linalg.svd(X, full_matrices=False)\n", @@ -544,22 +1288,63 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "cb9bdc46", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.675721Z", + "iopub.status.busy": "2023-07-26T00:00:18.675577Z", + "iopub.status.idle": "2023-07-26T00:00:18.678172Z", + "shell.execute_reply": "2023-07-26T00:00:18.677846Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.53589947, -0.58318363, -0.27819087, -0.54343209],\n", + " [ 0.41818087, 0.1879856 , -0.87280619, -0.16731864],\n", + " [-0.34123273, -0.26814843, -0.37801579, 0.81777791],\n", + " [ 0.6492278 , -0.74340748, 0.13387773, 0.08902432]])" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "V\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "f23c101e", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.679869Z", + "iopub.status.busy": "2023-07-26T00:00:18.679734Z", + "iopub.status.idle": "2023-07-26T00:00:18.682331Z", + "shell.execute_reply": "2023-07-26T00:00:18.681967Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.53589947, 0.58318363, 0.27819087, 0.54343209],\n", + " [-0.41818087, -0.1879856 , 0.87280619, 0.16731864],\n", + " [-0.34123273, -0.26814843, -0.37801579, 0.81777791],\n", + " [ 0.6492278 , -0.74340748, 0.13387773, 0.08902432]])" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pcaUS.components_\n" ] @@ -574,22 +1359,61 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "4cc49622", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.684217Z", + "iopub.status.busy": "2023-07-26T00:00:18.684084Z", + "iopub.status.idle": "2023-07-26T00:00:18.686744Z", + "shell.execute_reply": "2023-07-26T00:00:18.686436Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.98556588, 1.13339238, -0.44426879, 0.15626714],\n", + " [-1.95013775, 1.07321326, 2.04000333, -0.43858344],\n", + " [-1.76316354, -0.74595678, 0.05478082, -0.83465292]])" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "(U * D[None,:])[:3]\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "c96c9fe1", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.688393Z", + "iopub.status.busy": "2023-07-26T00:00:18.688266Z", + "iopub.status.idle": "2023-07-26T00:00:18.690823Z", + "shell.execute_reply": "2023-07-26T00:00:18.690511Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.98556588, -1.13339238, -0.44426879, 0.15626714],\n", + " [ 1.95013775, -1.07321326, 2.04000333, -0.43858344],\n", + " [ 1.76316354, 0.74595678, 0.05478082, -0.83465292]])" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "scores[:3]\n" ] @@ -610,9 +1434,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "574409d6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.692558Z", + "iopub.status.busy": "2023-07-26T00:00:18.692426Z", + "iopub.status.idle": "2023-07-26T00:00:18.695066Z", + "shell.execute_reply": "2023-07-26T00:00:18.694787Z" + } + }, "outputs": [], "source": [ "n_omit = 20\n", @@ -643,9 +1474,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "89f190ae", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.696744Z", + "iopub.status.busy": "2023-07-26T00:00:18.696608Z", + "iopub.status.idle": "2023-07-26T00:00:18.698816Z", + "shell.execute_reply": "2023-07-26T00:00:18.698495Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -670,9 +1507,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "322f339c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.700416Z", + "iopub.status.busy": "2023-07-26T00:00:18.700304Z", + "iopub.status.idle": "2023-07-26T00:00:18.702308Z", + "shell.execute_reply": "2023-07-26T00:00:18.702041Z" + } + }, "outputs": [], "source": [ "Xhat = Xna.copy()\n", @@ -691,9 +1535,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "7e106d1a", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.703954Z", + "iopub.status.busy": "2023-07-26T00:00:18.703834Z", + "iopub.status.idle": "2023-07-26T00:00:18.705823Z", + "shell.execute_reply": "2023-07-26T00:00:18.705529Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -725,10 +1575,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "7cb05ce4", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.707449Z", + "iopub.status.busy": "2023-07-26T00:00:18.707325Z", + "iopub.status.idle": "2023-07-26T00:00:18.710562Z", + "shell.execute_reply": "2023-07-26T00:00:18.710239Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Iteration: 1, MSS:0.395, Rel.Err 5.99e-01\n", + "Iteration: 2, MSS:0.382, Rel.Err 1.33e-02\n", + "Iteration: 3, MSS:0.381, Rel.Err 1.44e-03\n", + "Iteration: 4, MSS:0.381, Rel.Err 1.79e-04\n", + "Iteration: 5, MSS:0.381, Rel.Err 2.58e-05\n", + "Iteration: 6, MSS:0.381, Rel.Err 4.22e-06\n", + "Iteration: 7, MSS:0.381, Rel.Err 7.65e-07\n", + "Iteration: 8, MSS:0.381, Rel.Err 1.48e-07\n", + "Iteration: 9, MSS:0.381, Rel.Err 2.95e-08\n" + ] + } + ], "source": [ "while rel_err > thresh:\n", " count += 1\n", @@ -757,12 +1630,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "6f245188", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.712332Z", + "iopub.status.busy": "2023-07-26T00:00:18.712229Z", + "iopub.status.idle": "2023-07-26T00:00:18.714918Z", + "shell.execute_reply": "2023-07-26T00:00:18.714660Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0.711356743429736" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.corrcoef(Xapp[ismiss], X[ismiss])[0,1]\n" ] @@ -798,9 +1688,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "345fb41e", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.716565Z", + "iopub.status.busy": "2023-07-26T00:00:18.716476Z", + "iopub.status.idle": "2023-07-26T00:00:18.718601Z", + "shell.execute_reply": "2023-07-26T00:00:18.718325Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -821,9 +1717,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "id": "3a8c21a2", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.720161Z", + "iopub.status.busy": "2023-07-26T00:00:18.720052Z", + "iopub.status.idle": "2023-07-26T00:00:18.750146Z", + "shell.execute_reply": "2023-07-26T00:00:18.749757Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -843,12 +1745,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "id": "e3e35b5d", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.752342Z", + "iopub.status.busy": "2023-07-26T00:00:18.752172Z", + "iopub.status.idle": "2023-07-26T00:00:18.754770Z", + "shell.execute_reply": "2023-07-26T00:00:18.754396Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,\n", + " 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0], dtype=int32)" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "kmeans.labels_\n" ] @@ -866,10 +1787,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "id": "d928650a", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.756939Z", + "iopub.status.busy": "2023-07-26T00:00:18.756801Z", + "iopub.status.idle": "2023-07-26T00:00:18.874421Z", + "shell.execute_reply": "2023-07-26T00:00:18.874069Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp4AAAKqCAYAAACTnV4oAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABn00lEQVR4nO3dd3xUVcLG8efMpFcSCE1CVxBFRUREqYqAIruggn3BgsiLoosN3F0Vy6KCyq4iq+4qNsSKKKKICIgdReyoKAjSa0LaJJk57x8hkZAOmXtnkt/385ld587JzJOZQB7OvfdcY621AgAAAILM43YAAAAA1A8UTwAAADiC4gkAAABHUDwBAADgCIonAAAAHEHxBAAAgCMongAAAHAExRMAAACOoHgCAADAERRPAI4ZNWqUWrdu7XaMg7Ju3ToZYzRr1iy3o4Sk1q1ba9SoUW7HKKMmn1vx2GnTpgU/GFBPUTyBcsyaNUvGGH3++eeltmdkZOjEE09UTEyM3n777Uq/1hijDz74oMzj1lqlp6fLGKOzzjorKPmdlpmZqcmTJ+vYY49VQkKCYmNjdfTRR+vmm2/Wpk2bHMvxyCOP1MliuHTp0pKfKWOMvF6vGjdurHPPPVc//PCD2/HK9f333+v222/XunXr3I5SxoIFC3T77bfX+vMWf04vv/xyqe35+fk666yz5PF49MQTTxzSayxevFiXXXaZjjjiCMXFxalt27a64oortHnz5kN6XsApEW4HAMJFZmamBgwYoK+//lpz587VoEGDKh0fExOj2bNnq2fPnqW2L1u2TL///ruio6ODGdcxv/76q/r376/169dr+PDhuvLKKxUVFaWvv/5a//vf/zR37lz99NNPjmR55JFH1KhRo6DMvLVq1Uq5ubmKjIys9eeurvHjx6tbt24qKCjQ119/rf/85z9aunSpvv32WzVt2tS1XOX5/vvvNXnyZPXt29fVWe7yPrcFCxZoxowZQSmfByooKNC5556rBQsW6PHHH9dll112SM938803a9euXRo+fLgOP/xw/frrr3r44Yc1f/58rVq1KuR+DoADUTyBati7d68GDhyoVatW6dVXX9UZZ5xR5deceeaZeumll/Tvf/9bERF//FGbPXu2unbtqh07dgQzsiMKCwt19tlna+vWrVq6dGmZkn333Xfr3nvvdSld7SgsLFQgEFBUVJRiYmJczdKrVy+de+65Jfc7dOigsWPH6umnn9ZNN93kYrLQZYxx7XMrKCjQiBEjNH/+fD366KO6/PLLD/k5H3jgAfXs2VMezx87LAcNGqQ+ffro4Ycf1l133XXIrwEEE7vagSpkZWVp0KBBWrlypV555RUNHjy4Wl93wQUXaOfOnVq0aFHJtvz8fL388su68MILy/2aQCCg6dOn66ijjlJMTIyaNGmiMWPGaPfu3aXGzZs3T4MHD1bz5s0VHR2tdu3a6c4775Tf7y81rm/fvjr66KP1/fffq1+/foqLi9Nhhx2m++67r8xrP/TQQzrqqKMUFxenlJQUnXDCCZo9e3al3+Mrr7yir776Sn/729/KlE5JSkpK0t13313h1xfvmly6dGmp7eUdl7dlyxZdeumlatGihaKjo9WsWTP9+c9/LtmV27p1a3333XdatmxZyS7pvn37lnz9nj17dN111yk9PV3R0dFq37697r33XgUCgTKvO23aNE2fPl3t2rVTdHS0vv/++3IzjRo1SgkJCdq4caOGDh2qhIQEpaWl6YYbbijzWezcuVOXXHKJkpKS1KBBA40cOVJfffXVIR032qtXL0nSL7/8Umr7xo0bddlll6lJkyaKjo7WUUcdVe4u3qo+84qOyb399ttljKkw16xZszR8+HBJUr9+/Uo+j+LP+fPPP9fAgQPVqFEjxcbGqk2bNlXOBE6YMEENGzaUtbZk2zXXXCNjjP7973+XbNu6dauMMZo5c6aksj9Lo0aN0owZMySp1OELB3rsscdKPv9u3bppxYoVleY7UGFhoc4//3zNmzdPM2fO1OjRo2v09RXp3bt3qdJZvC01NTVkD7sA9seMJ1CJ7OxsnXHGGVqxYoVefvnlGh2T2bp1a/Xo0UPPP/98yQzpW2+9pYyMDJ1//vmlflkWGzNmjGbNmqVLL71U48eP19q1a/Xwww/ryy+/1Icffliyu3DWrFlKSEjQhAkTlJCQoPfee0+33nqrMjMzNXXq1FLPuXv3bg0aNEhnn322RowYoZdfflk333yzOnfuXJLr8ccf1/jx43Xuuefq2muvVV5enr7++mt9+umnFZZkSXr99dclSZdcckm135eDdc455+i7777TNddco9atW2vbtm1atGiR1q9fr9atW2v69Om65pprlJCQoL/97W+SpCZNmkiScnJy1KdPH23cuFFjxoxRy5Yt9dFHH2nSpEnavHmzpk+fXuq1nnzySeXl5enKK69UdHS0UlNTSxXU/fn9fg0cOFDdu3fXtGnT9O677+r+++9Xu3btNHbsWElF/6AYMmSIPvvsM40dO1YdO3bUvHnzNHLkyEN6T4pLd0pKSsm2rVu36qSTTpIxRldffbXS0tL01ltv6fLLL1dmZqauu+46SQf/mVdH7969NX78eP373//WLbfcoiOPPFKSdOSRR2rbtm0aMGCA0tLSNHHiRDVo0EDr1q3Tq6++Wulz9urVSw8++KC+++47HX300ZKk5cuXy+PxaPny5Ro/fnzJtuIM5RkzZow2bdqkRYsW6Zlnnil3zOzZs7V3716NGTNGxhjdd999Ovvss/Xrr79W61CLwsJCXXDBBZo7d65mzJihMWPGlBlTUFCgjIyMKp9LklJTU8uUzf1lZWUpKytLjRo1qtbzAa6yAMp48sknrSTbqlUrGxkZaV977bUaf+2KFSvsww8/bBMTE21OTo611trhw4fbfv36WWutbdWqlR08eHDJ1y1fvtxKss8991yp53v77bfLbC9+vv2NGTPGxsXF2by8vJJtffr0sZLs008/XbLN5/PZpk2b2nPOOadk25///Gd71FFHVft7LNalSxebnJxc7fEjR460rVq1Krm/ZMkSK8kuWbKk1Li1a9daSfbJJ5+01lq7e/duK8lOnTq10uc/6qijbJ8+fcpsv/POO218fLz96aefSm2fOHGi9Xq9dv369aVeNykpyW7btq3STMXfjyR7xx13lBrbpUsX27Vr15L7r7zyipVkp0+fXrLN7/fbU089tcxzlqf4fXriiSfs9u3b7aZNm+zbb79t27dvb40x9rPPPisZe/nll9tmzZrZHTt2lHqO888/3yYnJ5f87FTnMz/w8yp222232QN/fbRq1cqOHDmy5P5LL71U7mc7d+7ckj8fNbFt2zYryT7yyCPWWmv37NljPR6PHT58uG3SpEnJuPHjx9vU1FQbCASsteV/buPGjSuTf/+xDRs2tLt27SrZPm/ePCvJvvHGG5VmLP6cWrVqZSXZGTNmVDm2Ore1a9dW+rp33nmnlWQXL15c6TggFLCrHajE1q1bFRMTo/T09IP6+hEjRig3N1fz58/X3r17NX/+/Apnk1566SUlJyfr9NNP144dO0puXbt2VUJCgpYsWVIyNjY2tuS/9+7dqx07dqhXr17KycnR6tWrSz1vQkKCLr744pL7UVFROvHEE/Xrr7+WbGvQoIF+//33Gu9OzMzMVGJiYo2+5mDExsYqKipKS5cuLXPYQXW89NJL6tWrl1JSUkq9t/3795ff79f7779favw555yjtLS0aj//VVddVep+r169Sr2/b7/9tiIjI0vtbvV4PBo3blyNvo/LLrtMaWlpat68uQYNGqSMjAw988wz6tatm6SiFRNeeeUVDRkyRNbaUt/rwIEDlZGRoZUrV0o6+M/8UDVo0ECSNH/+fBUUFFT769LS0tSxY8eSz+rDDz+U1+vVjTfeqK1bt+rnn3+WVDTj2bNnz0oPBajKeeedV2oWufiQhv0/08ps3bpVERERatOmTYVjjj32WC1atKhat8pOGHr//fc1efJkjRgxQqeeemo1v0PAPexqByrx6KOPasKECRo0aJCWL1+uDh06SCravbp9+/ZSY1NTUxUVFVVqW1pamvr376/Zs2crJydHfr+/1Mkh+/v555+VkZGhxo0bl/v4tm3bSv77u+++09///ne99957yszMLDXuwN13LVq0KPNLOCUlRV9//XXJ/ZtvvlnvvvuuTjzxRLVv314DBgzQhRdeqFNOOaXcLMWSkpKq/cv4UERHR+vee+/V9ddfryZNmuikk07SWWedpb/85S/VOov3559/1tdff11hmdz/vZVUaWE4UExMTJnnTUlJKVWQf/vtNzVr1kxxcXGlxrVv377aryNJt956q3r16qWsrCzNnTtXc+bMKbULdvv27dqzZ48ee+wxPfbYY+U+R/H3erCf+aHq06ePzjnnHE2ePFkPPvig+vbtq6FDh+rCCy+scqWHXr16acGCBZKKCuYJJ5ygE044QampqVq+fLmaNGmir7766pAPFWjZsmWp+8UltLr/6Lnvvvs0ffp0nXvuuXrnnXfKfU9TUlLUv3//Q8q5evVqDRs2TEcffbT++9//HtJzAU6heAKV6NSpkxYsWKDTTjtNp59+uj788EOlp6drw4YNZcrJkiVLSp3MUuzCCy/U6NGjtWXLFp1xxhklMz4HCgQCaty4sZ577rlyHy8uN3v27FGfPn2UlJSkO+64Q+3atVNMTIxWrlypm2++ucyxiF6vt9zns/udpHHkkUfqxx9/1Pz58/X222/rlVde0SOPPKJbb71VkydPrujtUceOHfXll19qw4YNBzUrXNGs1IEn5kjSddddpyFDhui1117TwoUL9Y9//ENTpkzRe++9py5dulT6OoFAQKeffnqFZ34fccQRpe7vP6NclYre32Do3LlzSVkZOnSocnJyNHr0aPXs2VPp6ekln/3FF19c4fGjxxxzjKTqfeY1+Xyqq3idy08++URvvPGGFi5cqMsuu0z333+/PvnkEyUkJFT4tT179tTjjz+uX3/9VcuXL1evXr1kjFHPnj21fPlyNW/eXIFAoGSG8mBV589MZZo1a6ZFixapZ8+eGjx4sJYtW6Zjjz221Jj8/Hzt2rWrWs+XlpZWJtOGDRs0YMAAJScna8GCBY7seQBqA8UTqMKJJ56o1157TYMHD9bpp5+u5cuXq2nTpqXOVpdU5hdLsWHDhmnMmDH65JNP9MILL1T4Ou3atdO7776rU045pdLis3TpUu3cuVOvvvpqqRMo1q5dW8PvrLT4+Hidd955Ou+885Sfn6+zzz5bd999tyZNmlThcjRDhgzR888/r2effVaTJk2q8WsWzyTt2bOn1Pbffvut3PHt2rXT9ddfr+uvv14///yzjjvuON1///169tlnJVVclNq1a6esrKxDnmE6WK1atdKSJUuUk5NTatZzzZo1h/S899xzj+bOnau7775b//nPf5SWlqbExET5/f5qfa9VfeYpKSllPhup4s9nf1Xt6j7ppJN00kkn6e6779bs2bN10UUXac6cObriiisq/JriQrlo0SKtWLFCEydOlFR0ItHMmTPVvHlzxcfHq2vXroeUrTa0bdtWCxcuVJ8+fTRw4EAtX75chx9+eMnjH330kfr161et51q7dm2p1QV27typAQMGyOfzafHixWrWrFltxweChmM8gWo47bTT9Pzzz2vNmjUaNGiQ8vPz1b9//1K3/Y8J219CQoJmzpyp22+/XUOGDKnwNUaMGCG/368777yzzGOFhYUlBaB45mP/2Zf8/Hw98sgjB/397dy5s9T9qKgoderUSdbaSo/DO/fcc9W5c2fdfffd+vjjj8s8vnfv3pIzzMvTqlUreb3eMsdYHvi95OTkKC8vr9S2du3aKTExUT6fr2RbfHx8uUVpxIgR+vjjj7Vw4cIyj+3Zs0eFhYUVZqwNAwcOVEFBgR5//PGSbYFAoGRZn4PVrl07nXPOOZo1a5a2bNkir9er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+vg+hvTJRQAAAKg7mPEEAACAIyieAAAAcATFEwAAAI6geAIAAMARFM964u6779bJJ5+suLg4NWjQwO04YWPGjBlq3bq1YmJi1L17d3322WduRwor77//voYMGaLmzZvLGKPXXnvN7UhhacqUKerWrZsSExPVuHFjDR06VD/++KPbscLKzJkzdcwxx5Qs1N2jRw+99dZbbscKe/fcc4+MMbruuuvcjhJWbr/9dhljSt06duzodixHUDzrifz8fA0fPlxjx451O0rYeOGFFzRhwgTddtttWrlypY499lgNHDhQ27Ztczta2MjOztaxxx6rGTNmuB0lrC1btkzjxo3TJ598okWLFqmgoEADBgxQdna229HCRosWLXTPPffoiy++0Oeff65TTz1Vf/7zn/Xdd9+5HS1srVixQo8++qiOOeYYt6OEpaOOOkqbN28uuX3wwQduR3IEyynVM7NmzdJ1112nPXv2uB0l5HXv3l3dunXTww8/LEkKBAJKT0/XNddco4kTJ7qcLvwYYzR37lwNHTrU7Shhb/v27WrcuLGWLVum3r17ux0nbKWmpmrq1Km6/PLL3Y4SdrKysnT88cfrkUce0V133aXjjjtO06dPdztW2Lj99tv12muvadWqVW5HcRwznkA58vPz9cUXX6h///4l2zwej/r376+PP/7YxWSAlJGRIamoOKHm/H6/5syZo+zsbPXo0cPtOGFp3LhxGjx4cKm/I1EzP//8s5o3b662bdvqoosu0vr1692O5IgItwMAoWjHjh3y+/1q0qRJqe1NmjTR6tWrXUoFFM28X3fddTrllFN09NFHux0nrHzzzTfq0aOH8vLylJCQoLlz56pTp05uxwo7c+bM0cqVK7VixQq3o4St7t27a9asWerQoYM2b96syZMnq1evXvr222+VmJjodrygYsYzjE2cOLHMwckH3ihJQN0ybtw4ffvtt5ozZ47bUcJOhw4dtGrVKn366acaO3asRo4cqe+//97tWGFlw4YNuvbaa/Xcc88pJibG7Thh64wzztDw4cN1zDHHaODAgVqwYIH27NmjF1980e1oQceMZxi7/vrrNWrUqErHtG3b1pkwdUyjRo3k9Xq1devWUtu3bt2qpk2bupQK9d3VV1+t+fPn6/3331eLFi3cjhN2oqKi1L59e0lS165dtWLFCv3rX//So48+6nKy8PHFF19o27ZtOv7440u2+f1+vf/++3r44Yfl8/nk9XpdTBieGjRooCOOOEJr1qxxO0rQUTzDWFpamtLS0tyOUSdFRUWpa9euWrx4ccnJMIFAQIsXL9bVV1/tbjjUO9ZaXXPNNZo7d66WLl2qNm3auB2pTggEAvL5fG7HCCunnXaavvnmm1LbLr30UnXs2FE333wzpfMgZWVl6ZdfftEll1zidpSgo3jWE+vXr9euXbu0fv16+f3+kjPp2rdvr4SEBHfDhagJEyZo5MiROuGEE3TiiSdq+vTpys7O1qWXXup2tLCRlZVV6l/wa9eu1apVq5SamqqWLVu6mCy8jBs3TrNnz9a8efOUmJioLVu2SJKSk5MVGxvrcrrwMGnSJJ1xxhlq2bKl9u7dq9mzZ2vp0qVauHCh29HCSmJiYplji+Pj49WwYUOOOa6BG264QUOGDFGrVq20adMm3XbbbfJ6vbrgggvcjhZ0FM964tZbb9VTTz1Vcr9Lly6SpCVLlqhv374upQpt5513nrZv365bb71VW7Zs0XHHHae33367zAlHqNjnn3+ufv36ldyfMGGCJGnkyJGaNWuWS6nCz8yZMyWpzJ/VJ598ssrDbVBk27Zt+stf/qLNmzcrOTlZxxxzjBYuXKjTTz/d7Wioh37//XddcMEF2rlzp9LS0tSzZ0998skn9WIvJut4AgAAwBGc1Q4AAABHUDwBAADgCIonAAAAHEHxBAAAgCMongAAAHAExRMAAACOoHgCAADAERRPAAAAOILiCQAAAEdQPAEAAOAIiicAAAAcQfEEAACAI/4fNTckb+H1e+AAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = plt.subplots(1, 1, figsize=(8,8))\n", "ax.scatter(X[:,0], X[:,1], c=kmeans.labels_)\n", @@ -895,12 +1834,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "id": "92e5175c", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:18.876530Z", + "iopub.status.busy": "2023-07-26T00:00:18.876396Z", + "iopub.status.idle": "2023-07-26T00:00:18.998430Z", + "shell.execute_reply": "2023-07-26T00:00:18.998045Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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9u/frylTpuR6rjfeeEOnT5/Wvffeq9DQUJUvXz5XQT2b1+tV79691b59e02ePFlfffWVnnvuOSUmJmrkyJGSsv6g6Nevn37++WeNHDlSDRo00Jw5czR06NCLek2yS3dcXFzOtoMHD6pDhw6yLEv333+/4uPj9fnnn+vuu+9WSkqKHnzwQUkX/p4XxZVXXqnRo0frX//6lx577DE1bNhQktSwYUMdOnRIvXr1Unx8vMaOHaty5cpp586d+vjjjwt9zC5duugf//iH1q9fryZNmkiSlixZIpfLpSVLlmj06NE527Iz5GfEiBHat2+fFixYoLfffjvfMdOnT9eJEyc0YsQIWZalv//977rhhhu0ffv2Ih1q4fF4dPPNN2vWrFl66aWXNGLEiDxjMjMzlZycfN7HkqTy5cvL5co9T5SSkqKMjAwdPnxYb731ltatW6fHHnusSI8HOMoAyOONN94wkkytWrVMcHCwmT17drE/d9myZebFF1800dHRJjU11RhjzODBg0337t2NMcbUqlXL9O3bN+fzlixZYiSZd999N9fjffHFF3m2Zz/e2UaMGGEiIiLM6dOnc7Z17drVSDJvvfVWzrb09HRTpUoVM3DgwJxtv/vd70zjxo2L/DVma9mypYmNjS3y+KFDh5patWrlfLxw4UIjySxcuDDXuB07dhhJ5o033jDGGHPs2DEjyUyaNKnQx2/cuLHp2rVrnu1/+9vfTGRkpPn1119zbR87dqxxu91m165duZ43JibGHDp0qNBM2V+PJPP000/nGtuyZUvTunXrnI9nzpxpJJkpU6bkbPN6veaqq67K85j5yX6dXn/9dZOUlGT27dtnvvjiC1OvXj1jWZb5+eefc8befffdpmrVqubw4cO5HuOmm24ysbGxOd87RXnPz32/sj3xxBPm3F8ftWrVMkOHDs35+MMPP8z3vZ01a1bOz0dxHDp0yEgyL7/8sjHGmOPHjxuXy2UGDx5sKleunDNu9OjRpnz58sbn8xlj8n/fRo0alSf/2WMrVKhgjh49mrN9zpw5RpL59NNPC82Y/T7VqlXLSDIvvfTSeccW5bZjx448n9+7d++c+0NCQsyIESNMWlpaofmAQMCudqAQBw8eVFhYmBISEi7o84cMGaK0tDTNnTtXJ06c0Ny5cwucTfrwww8VGxurnj176vDhwzm31q1bKyoqSgsXLswZGx4envP/J06c0OHDh9WlSxelpqZq06ZNuR43KipKt912W87HISEhateunbZv356zrVy5ctqzZ0+xdyempKQoOjq6WJ9zIcLDwxUSEqJFixblOeygKD788EN16dJFcXFxuV7bHj16yOv16ttvv801fuDAgYqPjy/y49933325Pu7SpUuu1/eLL75QcHBwrt2tLpdLo0aNKtbXcddddyk+Pl7VqlVTnz59lJycrLfffltt27aVlLViwsyZM9WvXz8ZY3J9rb1791ZycrJWrlwp6cLf84tVrlw5SdLcuXOVmZlZ5M+Lj49XgwYNct6r77//Xm63Ww8//LAOHjyoLVu2SMqa8ezcuXOhhwKcz4033phrFjn7kIaz39PCHDx4UEFBQapTp06BY5o3b64FCxYU6ZbfiWMTJ07Ul19+qf/+97/q0KGDMjIy5PF4ivmVAvZjVztQiFdeeUVjxoxRnz59tGTJEtWvX19S1u7VpKSkXGPLly+vkJCQXNvi4+PVo0cPTZ8+XampqfJ6vblODjnbli1blJycrEqVKuV7/6FDh3L+f/369frLX/6ib775RikpKbnGnbv7rkaNGnl+CcfFxWnt2rU5Hz/66KP66quv1K5dO9WrV0+9evXSLbfcok6dOuWbJVtMTEyRfxlfjNDQUD377LN66KGHVLlyZXXo0EHXXXed7rjjjiKdzb1lyxatXbu2wDJ59msrqdDCcK6wsLA8jxsXF5erIP/222+qWrWqIiIico2rV69ekZ9Hkh5//HF16dJFJ0+e1KxZszRjxoxcu2CTkpJ0/Phxvfrqq3r11VfzfYzsr/VC3/OL1bVrVw0cOFBPPfWU/vGPf6hbt27q37+/brnllvOu9NClSxfNmzdPUlbBbNOmjdq0aaPy5ctryZIlqly5stasWXPRhwrUrFkz18fZJbSof/T8/e9/15QpUzRo0CB9+eWX+b6mcXFx6tGjxwVnbNGiRc7/33bbbWrVqpWGDRuWZyknINBQPIFCNGrUSPPmzdPVV1+tnj176vvvv1dCQoJ2796dp5wsXLgw18ks2W655RYNHz5cBw4c0DXXXJMz43Mun8+nSpUq6d133833/uxyc/z4cXXt2lUxMTF6+umnlZiYqLCwMK1cuVKPPvponmMR3W53vo9nzjpJo2HDhtq8ebPmzp2rL774QjNnztTLL7+sxx9/XE899VRBL48aNGigVatWaffu3Rc0K1zQrNS5J+ZI0oMPPqh+/fpp9uzZmj9/vv76179qwoQJ+uabb9SyZctCn8fn86lnz54Fnvl9+eWX5/r47Bnl8yno9fWHpk2b5pSV/v37KzU1VcOHD1fnzp2VkJCQ897fdtttBR4/2qxZM0lFe8+L8/4UVfY6l0uXLtWnn36q+fPn66677tJzzz2npUuXKioqqsDP7dy5s1577TVt375dS5YsUZcuXWRZljp37qwlS5aoWrVq8vl8OTOUF6ooPzOFqVq1qhYsWKDOnTurb9++Wrx4sZo3b55rTEZGho4ePVqkx4uPjy/0+ywkJETXX3+9Jk6cqLS0tGJ9/wJ2o3gC59GuXTvNnj1bffv2Vc+ePbVkyRJVqVIl19nqkvL8Ysk2YMAAjRgxQkuXLtX7779f4PMkJibqq6++UqdOnQr9xbFo0SIdOXJEH3/8ca4TKHbs2FHMryy3yMhI3XjjjbrxxhuVkZGhG264QePHj9e4ceMKXI6mX79+eu+99/TOO+9o3LhxxX7O7Jmkc8/G/e233/Idn5iYqIceekgPPfSQtmzZohYtWui5557TO++8I6ngopSYmKiTJ09e1AzTxahVq5YWLlyo1NTUXLOeW7duvajHnThxombNmqXx48fr3//+t+Lj4xUdHS2v11ukr/V873lcXFy+Z0oX9P6c7Xy7ujt06KAOHTpo/Pjxmj59um699VbNmDEjz1JBZ8sulAsWLNCyZcs0duxYSVknEk2dOlXVqlVTZGSkWrdufVHZLoW6detq/vz56tq1q3r37q0lS5bosssuy7n/hx9+UPfu3Yv0WDt27DjvWqhpaWkyxujEiRMUTwQ0jvEEiuDqq6/We++9p61bt6pPnz7KyMhQjx49ct3OPibsbFFRUZo6daqefPJJ9evXr8DnGDJkiLxer/72t7/luc/j8eQUgOyZj7NnXzIyMvTyyy9f8Nd35MiRXB+HhISoUaNGMsYUehzeoEGD1LRpU40fP14//vhjnvtPnDiRc4Z5fmrVqiW3253nGMtzv5bU1FSdPn0617bExERFR0crPT09Z1tkZGS+RWnIkCH68ccfNX/+/Dz3HT9+3O/HxvXu3VuZmZl67bXXcrb5fL6cZX0uVGJiogYOHKhp06bpwIEDcrvdGjhwoGbOnKl169blGX/24SFFec8TExOVnJyc67CM/fv3a9asWefNFhkZKSnvHxXHjh3LM3OYvdv47PcyP3Xq1FH16tX1j3/8Q5mZmTm7sLt06aJt27bpo48+UocOHXKtm1ucbJda06ZN9dlnn+nkyZPq2bOn9u7dm3PfhR7jee5hIdlfx8yZM5WQkFDgoTpAoGDGEyiiAQMG5Fx55Prrr9cXX3xR5IWpi7JsTteuXTVixAhNmDBBq1evVq9evRQcHKwtW7boww8/1D//+U8NGjRIV1xxheLi4jR06FCNHj1almXp7bffLvJuwPz06tVLVapUUadOnVS5cmVt3LhRL774ovr27VvoyUPBwcH6+OOP1aNHD1155ZUaMmSIOnXqpODgYK1fv17Tp09XXFxcgWt5xsbGavDgwXrhhRdkWZYSExM1d+7cPL9cf/31V1199dUaMmSIGjVqpKCgIM2aNUsHDx7UTTfdlDOudevWmjp1qp555hnVq1dPlSpV0lVXXaWHH35Yn3zyia677joNGzZMrVu31qlTp/TLL7/oo48+0s6dO1WxYsULfv3Op3///mrXrp0eeughbd26VQ0aNNAnn3ySs6v1YmbgHn74YX3wwQeaMmWKJk6cqIkTJ2rhwoVq3769hg8frkaNGuno0aNauXKlvvrqq5znLMp7ftNNN+nRRx/VgAEDNHr0aKWmpmrq1Km6/PLLc05SKkiLFi3kdrv17LPPKjk5WaGhobrqqqs0ffp0vfzyyxowYIASExN14sQJvfbaa4qJidG111573q+3S5cumjFjhpo2bZrzx16rVq0UGRmpX3/9tUjHd2bPiI4ePVq9e/eW2+3O9X10KXXs2FEff/yx+vXrl7PHpEKFChd8jOc111yjGjVqqH379qpUqZJ27dqlN954Q/v27St0jwoQMJw6nR4IZGcviXSuyZMnG0nmuuuuM5mZmcX63LOdu5xStldffdW0bt3ahIeHm+joaNO0aVPzyCOPmH379uWM+f77702HDh1MeHi4qVatmnnkkUfM/Pnz8yxf07Vr13yXzDl3mZxXXnnFXHnllaZChQomNDTUJCYmmocfftgkJycX+jVkO3bsmHn88cdN06ZNTUREhAkLCzNNmjQx48aNM/v37y/weY0xJikpyQwcONBERESYuLg4M2LECLNu3bpcS+AcPnzYjBo1yjRo0MBERkaa2NhY0759e/PBBx/keqwD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xowZoyeeeEIrV65U8+bN1bt3bx06dMjpaCXGqVOn1Lx5c7300ktORynRFi9erFGjRmnp0qVasGCBMjMz1atXL506dcrpaCVGjRo1NHHiRK1YsULLly/XVVddpd/97ndav36909FKrGXLlumVV15Rs2bNnI5SIjVu3Fj79+/PuX333XdOR7IFyymVMdOmTdODDz6o48ePOx0l4LVv315t27bViy++KEny+XxKSEjQAw88oLFjxzqcruSxLEuzZs1S//79nY5S4iUlJalSpUpavHixrrzySqfjlFjly5fXpEmTdPfddzsdpcQ5efKkWrVqpZdfflnPPPOMWrRooSlTpjgdq8R48sknNXv2bK1evdrpKLZjxhPIR0ZGhlasWKEePXrkbHO5XOrRo4d+/PFHB5MBUnJysqSs4oTi83q9mjFjhk6dOqWOHTs6HadEGjVqlPr27Zvr30gUz5YtW1StWjXVrVtXt956q3bt2uV0JFsEOR0ACESHDx+W1+tV5cqVc22vXLmyNm3a5FAqIGvm/cEHH1SnTp3UpEkTp+OUKL/88os6duyo06dPKyoqSrNmzVKjRo2cjlXizJgxQytXrtSyZcucjlJitW/fXtOmTVP9+vW1f/9+PfXUU+rSpYvWrVun6Ohop+P5FTOeJdjYsWPzHJx87o2SBJQuo0aN0rp16zRjxgyno5Q49evX1+rVq/XTTz9p5MiRGjp0qDZs2OB0rBJl9+7d+sMf/qB3331XYWFhTscpsa655hoNHjxYzZo1U+/evTVv3jwdP35cH3zwgdPR/I4ZzxLsoYce0rBhwwodU7duXXvClDIVK1aU2+3WwYMHc20/ePCgqlSp4lAqlHX333+/5s6dq2+//VY1atRwOk6JExISonr16kmSWrdurWXLlumf//ynXnnlFYeTlRwrVqzQoUOH1KpVq5xtXq9X3377rV588UWlp6fL7XY7mLBkKleunC6//HJt3brV6Sh+R/EsweLj4xUfH+90jFIpJCRErVu31tdff51zMozP59PXX3+t+++/39lwKHOMMXrggQc0a9YsLVq0SHXq1HE6Uqng8/mUnp7udIwS5eqrr9Yvv/ySa9udd96pBg0a6NFHH6V0XqCTJ09q27Ztuv32252O4ncUzzJi165dOnr0qHbt2iWv15tzJl29evUUFRXlbLgANWbMGA0dOlRt2rRRu3btNGXKFJ06dUp33nmn09FKjJMnT+b6C37Hjh1avXq1ypcvr5o1azqYrGQZNWqUpk+frjlz5ig6OloHDhyQJMXGxio8PNzhdCXDuHHjdM0116hmzZo6ceKEpk+frkWLFmn+/PlORytRoqOj8xxbHBkZqQoVKnDMcTH86U9/Ur9+/VSrVi3t27dPTzzxhNxut26++Wano/kdxbOMePzxx/Xmm2/mfNyyZUtJ0sKFC9WtWzeHUgW2G2+8UUlJSXr88cd14MABtWjRQl988UWeE45QsOXLl6t79+45H48ZM0aSNHToUE2bNs2hVCXP1KlTJSnPz+obb7xx3sNtkOXQoUO64447tH//fsXGxqpZs2aaP3++evbs6XQ0lEF79uzRzTffrCNHjig+Pl6dO3fW0qVLy8ReTNbxBAAAgC04qx0AAAC2oHgCAADAFhRPAAAA2ILiCQAAAFtQPAEAAGALiicAAABsQfEEAACALSieAAAAsAXFEwAAALageAIAAMAWFE8AAADYguIJAAAAW/w/Td0xltkBeHIAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "kmeans = KMeans(n_clusters=3,\n", " random_state=3,\n", @@ -927,12 +1883,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 37, "id": "4911ecc7", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:19.000480Z", + "iopub.status.busy": "2023-07-26T00:00:19.000345Z", + "iopub.status.idle": "2023-07-26T00:00:19.014678Z", + "shell.execute_reply": "2023-07-26T00:00:19.014345Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(78.06117325882116, 75.0350825910044)" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "kmeans1 = KMeans(n_clusters=3,\n", " random_state=3,\n", @@ -983,10 +1956,34 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 38, "id": "1b42a700", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:19.016810Z", + "iopub.status.busy": "2023-07-26T00:00:19.016679Z", + "iopub.status.idle": "2023-07-26T00:00:19.021325Z", + "shell.execute_reply": "2023-07-26T00:00:19.021002Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
AgglomerativeClustering(distance_threshold=0, linkage='complete',\n",
+       "                        n_clusters=None)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "AgglomerativeClustering(distance_threshold=0, linkage='complete',\n", + " n_clusters=None)" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "HClust = AgglomerativeClustering\n", "hc_comp = HClust(distance_threshold=0,\n", @@ -1006,9 +2003,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 39, "id": "50ef7eea", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:19.023446Z", + "iopub.status.busy": "2023-07-26T00:00:19.023277Z", + "iopub.status.idle": "2023-07-26T00:00:19.026803Z", + "shell.execute_reply": "2023-07-26T00:00:19.026438Z" + } + }, "outputs": [], "source": [ "hc_avg = HClust(distance_threshold=0,\n", @@ -1032,10 +2036,34 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 40, "id": "bf7a2408", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:19.028981Z", + "iopub.status.busy": "2023-07-26T00:00:19.028840Z", + "iopub.status.idle": "2023-07-26T00:00:19.034246Z", + "shell.execute_reply": "2023-07-26T00:00:19.033877Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
AgglomerativeClustering(distance_threshold=0, linkage='single',\n",
+       "                        metric='precomputed', n_clusters=None)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "AgglomerativeClustering(distance_threshold=0, linkage='single',\n", + " metric='precomputed', n_clusters=None)" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "D = np.zeros((X.shape[0], X.shape[0]));\n", "for i in range(X.shape[0]):\n", @@ -1068,10 +2096,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 41, "id": "a118c0ab", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:19.036313Z", + "iopub.status.busy": "2023-07-26T00:00:19.036187Z", + "iopub.status.idle": "2023-07-26T00:00:19.293174Z", + "shell.execute_reply": "2023-07-26T00:00:19.292867Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAApIAAAKTCAYAAACq1OjDAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAtd0lEQVR4nO3de5BeZX0H8GcJsCELSSFAgElIohIChDsJlw1KkOK1yEyLMqUosTpMi1JkpgN4oxkEakWLIxW8VIxULsJMCkKxUwJISJQ7wYyUW0RQYAMEsrArOyR5+gez293k3d33/Pa97+cz887svnvOPs95z3nP+32ec57nbcs55wQAAAVtU+8KAADQnARJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQratdYGbN29OL7zwQtppp51SW1tbrYsHAGAUOef0xhtvpL322itts83w/Y41D5IvvPBCmjFjRq2LBQCgoOeffz5Nnz592L/XPEjutNNOKaV3KjZ58uRaFw8AwCi6u7vTjBkzBnLbcGoeJPsvZ0+ePFmQBABoYKPdhmiwDQAAIYIkAAAhgiQAACGCJAAAIYIkAAAhgiQAACGCJAAAIYIkAAAhgiQAACGCJAAAIYIkAAAhgiQAACGCJAAAIYIkAAAhgiQAACGCJAAAIYIkAAAhgiQAACGCJAAAIYIkAAAhgiQAACGCJAAAIYIkAAAhgiQAACHb1rsC1E7OOfX29ta7GgBU0KRJk1JbW1u9q8E4JUiOEznntHDhwrRq1ap6VwWACurs7EwrVqwQJqkLl7bHid7eXiESoAWtXLnS1SbqRo/kONTV1ZU6OjrqXQ0AxqCnpydNmzat3tVgnBMkx6GOjg5BEgAYM5e2AQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIKRQkN23alL7yla+k2bNnpx122CG9+93vThdddFHKOVerfgAANKhtiyz89a9/PV155ZVp6dKl6YADDkgPPvhgWrx4cZoyZUo6++yzq1VHAAAaUKEguWrVqvSxj30sfeQjH0kppTRr1qx03XXXpfvvv78qlQMAoHEVurR9zDHHpOXLl6cnn3wypZTS6tWr07333ps+9KEPDbtOX19f6u7uHvIAAKD5FeqRPP/881N3d3eaO3dumjBhQtq0aVO6+OKL02mnnTbsOpdeemlasmTJmCsKAEBjKdQj+bOf/Sz99Kc/Tddee216+OGH09KlS9Nll12Wli5dOuw6F1xwQdqwYcPA4/nnnx9zpQEAqL9CPZL/+I//mM4///x06qmnppRSOvDAA9Pvf//7dOmll6ZPfepTJddpb29P7e3tY68pAAANpVCPZG9vb9pmm6GrTJgwIW3evLmilQIAoPEV6pH8i7/4i3TxxRenvffeOx1wwAHpkUceSd/61rfSpz/96WrVDwCABlUoSH7nO99JX/nKV9Lf//3fp3Xr1qW99tornXnmmemrX/1qteoHAECDass1/lqa7u7uNGXKlLRhw4Y0efLkWhY9rvX09KQdd9wxpZTSm2++mTo6OupcIwDGwnmdaio3r/mubQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCtq13BQBoLTnn1NvbW+9qtLyenp6SP1M9kyZNSm1tbfWuRkMRJAGomJxzWrhwYVq1alW9qzKuTJs2rd5VGBc6OzvTihUrhMlBXNoGoGJ6e3uFSFrWypUr9bZvQY8kAFXR1dWVOjo66l0NGLOenh69vsMQJAGoio6ODkESWpxL2wAAhAiSAACECJIAAIQUDpJ//OMf09/8zd+kqVOnph122CEdeOCB6cEHH6xG3QAAaGCFBtu89tprqbOzMy1atCjdfvvtabfddktPPfVU2nnnnatVPwAAGlShIPn1r389zZgxI1199dUDz82ePbvilQIAoPEVurR9yy23pCOOOCKdcsopaffdd0+HHnpo+sEPfjDiOn19fam7u3vIAwCA5lcoSK5duzZdeeWVaZ999kn//d//nf7u7/4unX322Wnp0qXDrnPppZemKVOmDDxmzJgx5koDAFB/bTnnXO7C22+/fTriiCOGfP3V2WefnR544IH0q1/9quQ6fX19qa+vb+D37u7uNGPGjLRhw4Y0efLkMVSdInp6etKOO+6YUkrpzTffNEkwUBXONbSi8Xhcd3d3pylTpoya1wr1SO65555p//33H/Lcfvvtl5577rlh12lvb0+TJ08e8gAAoPkVCpKdnZ3piSeeGPLck08+mWbOnFnRSgEA0PgKBckvfOEL6de//nW65JJL0tNPP52uvfba9P3vfz+dddZZ1aofAAANqlCQnD9/flq2bFm67rrr0rx589JFF12ULr/88nTaaadVq34AADSoQvNIppTSRz/60fTRj360GnUBAKCJ+K5tAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIE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fvrpNGnSpBGX7+3tTe95z3vCZTTidjdrGY1Yp1qU0Yh1qkUZjVinWpQx2vL9OW3UKyS5gL6+vjxhwoS8bNmyIc9/8pOfzCeddFLJdS688MKcUvLw8PDw8PDw8Giyx/PPPz9iNizUI/nKK6+kTZs2bTWdwLRp09L//u//llznggsuSOeee+7A75s3b07r169PU6dOdUM5AEADyjmnN954I+21114jLlf1Udvt7e2pvb19yHN/9md/Vu1iAQAYgylTpoy6TKHBNrvuumuaMGFC6urqGvJ8V1dX2mOPPYrVDgCAplYoSG6//fbp8MMPT8uXLx94bvPmzWn58uXp6KOPrnjlAABoXIUvbZ977rnpU5/6VDriiCPSggUL0uWXX556enoGRnEDADA+FA6Sn/jEJ9LLL7+cvvrVr6aXXnopHXLIIekXv/iF7/MEABhn2rKvUAAAICD0FYkAACBIAgAQIkgCABAiSAIAECJIjsHrr78+5v/xve99b+wVaQCvvfZaoeVffvnldOedd6YXX3xxxOXWrl2b7r777nT33XentWvXjrhsT09P2rhxY0oppfXr16fly5enP/zhD4XqVS2PPvpo+s///M906623jrodANA0Rvwm7nHmZz/72cDPL7/8cv7whz+cJ0+enN/3vvfl3//+91stv9122+WTTjop33LLLXnTpk2j/v+bb755q8e0adMGfq6Ep59+Oh933HF59uzZ+Qtf+EL+05/+NPC3o446qiJlPPLII/nggw/Ohx56aF6zZk3+8Ic/nHfYYYc8Y8aMvHr16pLrnH766bmrqyvnnPPy5cvzrrvumufPn5932223vGzZsq2W/+1vf5vnz5+f99hjj7xgwYK8YMGCvMcee+T58+fnNWvWbLX80qVL88SJE/P06dPz8uXL85577pnnz5+fp06dmq+//vqKbHfOOW/cuDEvX748X3311fnqq6/Oy5cvzxs3bhx2+dWrV+d58+blyZMn52222SbPmzcv77zzzvmv/uqv8oYNGypWr4hSx+z69evrUJPSRqtL0X1Rype//OUR//7mm2/mt99+O+ec86uvvprvuOOO/Pzzz4+4zltvvZWXLVuW//Vf/zV/5zvfyXfeeeeo9XjmmWfyXXfdle+66678zDPPlL8BObbPrrrqqsLrjOS1116r6P8bzdtvv50ffvjh/Prrr5e9zmOPPZb//d//PT/wwAMl//6b3/wmXJ9HHnkkL1u2LP/85z8fcf9Fynj88ccHzp2PP/54/uEPf5h//etfj7hO5Bgcy/mgnOUi2zEWkWNktPPBlkY7pirplVdeKWu5devW5eXLl+cXXnihamVsqSGD5D777FPWcuWcDIt8EBx66KEDP3/mM5/J5513Xn7xxRfzN7/5zXzyySdvtfycOXPyZZddlvfbb7+855575vPOOy8/8cQTw9alra0tH3PMMfm4444beEycODEfd9xxedGiRaNuSzlOPPHEfMUVV+QHH3wwn3766fmYY47J3d3dOeecDznkkIqU8d73vjcvW7YsX3311XnvvffOP/nJT3LOOS9btiz/+Z//ecl1DjrooCHrP/LIIznnnNeuXVuyXgsWLMg33XTTVs/feOONef78+Vs9f+CBB+Znn302r169Ok+ZMmXgjf3UU08NKXsko70B77nnnjx9+vR85JFH5o9//OP54x//eF6wYEGePn16/uUvf1lynaOPPjqvWLEi5/xOQ+Lzn/987uvry1/60pfyJz/5ybLqVa5yP8weeOCBPGvWrLz99tvnk08+Oa9bt27gb4PfA6MZ6cOjaLAo2jiJ7Itvf/vbWz2mTp068POWIo2TO++8M++99975oIMOyu3t7fmEE07I++23X54/f37+wx/+sNXyRRtMl19++cDPa9euzfvvv3+eOHFinjVrVn7sscdK1qloAzbSGC3aqC7aaF++fHneZZdd8tSpU/Pdd9+d58+fn+fOnTvweynHH3/8QHC54YYb8l577ZVPOeWUPHPmzJKfHW1tbfmggw7K3/72t/Orr7466jbkXLyhWLSMf/mXf8m77757njFjRr7mmmvyjBkz8imnnJL33nvvIcfCYEWPwaLng8gxGNmOfuU2sooeI0XPBzkXP6ZGUm7O6TdjxoySzxftpImUMZq6BcnVq1cP+9hjjz22Wj7Sm1f0g2BwoDnooIOG9G6UCiOD32QrV67Mf/u3f5t32mmnfOyxx+alS5dutfyPfvSjfMwxx+SHH3544LlZs2YN8wq9o+gJd8tQdvHFF+f58+fn119/fdiQUPSDY3AZWx54Bx98cMkyBr9pjjjiiCF/O/DAA7dafs6cOSX/z3B/G1ynmTNnDvu3wYq+AQ888MCSLc/7778/z5s3r2QZW74eg7e96IlkuOWLfpgtXLgw33rrrfmVV17JX/7yl/PcuXMHPmCGe62KBr2iwaJo4ySyLyZMmJBPOumkfMYZZww8dtxxx3zGGWfkxYsXlyyjaOPk0EMPzU8++eRAXU4//fScc87f//7388c+9rGtli/aYBr8Hj711FPzFVdckXPO+aabbsonnHBCyToVbcBGGqNFG9VFG+0LFizIjzzySL7rrrvy1KlT8/Lly3POOd9333154cKFJcsYfF456qij8rPPPptzfqdDodQ5Z968efmmm27KH/rQh3JHR0f+xCc+kf/nf/5n2G3IuXhDsWgZ+++/f16/fn1+7rnn8qRJk/LatWtzzu98FhxwwAEl1yl6DBY9H0SOwch2FG1kFT1Gip4Pci5+TFUi5/Q/dtttt5J1KtpJEyljNHULkm1tbXn27Nl51qxZWz222267kssX7c0r+kEwd+7c/Nhjj+XVq1dvFQBKBaRSwezNN9/MP/zhD3NnZ2fJOj377LP5hBNOyEuWLMkbN27Ms2fPLrlcqTLKOeHuu+++Wz33jW98Ix9++OH5Pe95T8kyin5wDH4ttjxZDvcB+7nPfS6fffbZ+Y033sjnn39+/o//+I+8efPm/F//9V8l998xxxyTf/KTnwwJIZs2bco//vGP89FHH73V8ocddlhes2ZNXrFiRd51113zvffem3N+5xJKqTf4lnUt5w04UvAb7m9HHHFEfvzxx3POOf/qV7/K73vf+wb+Nnfu3K2WL3riybn4h9mW23bNNdfkOXPm5Oeee27YxkbRoFc0WBRtnET2xfLly/OCBQvyz3/+84HnRmrIRRonW9b1sMMOG/i5VAOoaINp8P7Z8r02XCOuaAM20hgt2qgu2mgfvPy73/3uEevbb86cOQP/98gjjxzyt1KNjcHb8Nxzz+WLLroov+td78ozZ87MS5YsKVlG0YZi0TIGL7/33nsP+VuljsGi54PIMRjZjqKNrKLHSNHzQc7Fj6miOWebbbbJixYtGpJzBuedUop20kTKGE3dguSsWbPyH//4x5J/mz59+lbPRXrzin4QzJw5c8hO778EPtwJNHqpePPmzfmyyy7LRx99dN5rr71GXLboCffkk0/Ot99++1bPf/Ob38xtbW2jlpHz6B8cJ554YsmerhdeeCEvWLCgZBl9fX35nHPOyZMnT86zZs3KbW1tedttt80f+MAHBlqngz311FP5+OOPz1OmTMlz587Nc+fOzVOmTMmLFi0qGUhuu+22vMsuu+Rdd90133HHHfm4447L++67b548efKwlyGLvgE/+MEP5iVLlgz0Yuacc1dXV/6nf/qnfOKJJ5Ys4/bbb89Tp07N++67b951110HLrG8+OKL+bOf/exWyxc98eRc/MNszpw5W/USXn/99XmfffbZ6iTfr2jQKxosijZOIvsi55w3bNiQTz/99HzGGWfkDRs2jNiQizROOjs7B+5Hu/HGG/MHP/jBgb+V+hAv2mCaPXt2vuWWW/LNN9+c99tvvyF/G+kWjiIN2EhjtGijumijffC2nX/++UP+Nty+uPDCC/Nf/uVf5qeeeip/4xvfyF/72tfy7373u/zd7343n3TSSWVtQ84533HHHfmv//qvS/6taEOxaBlHHXVUvvXWW/M111yTZ86cOXAuu/POO/Phhx9e8n8VPQaLng8ix2BkO4o2siLHSJHzQc7Fj6miOWfffffNv/vd78pePufinTSRMkZTtyB59tlnD/SibOnMM88s+XzR3rzIB0EpPT09JcNOuffRDGfNmjX5yiuvHHGZoifct956K7/11lsl/1ep+2Nyjn1wlPL666+XvNw+WE9PT37sscfyww8/XNaNvevWrcsPPfRQfuihh4bcuzOajRs35gcffHBI0NhS0TfgunXr8uLFi/OOO+6YJ06cmCdOnJh33HHHvHjx4hHLee211/KDDz5Y1uCaoieenIt/mC1evHhIK7zfDTfcUFZYLSfoFQ0WRRsn69aty5/+9KcL74t+N954Yz7kkEOG7eXNuXTjZM6cOSM2Tu6///48ffr03N7enmfPnj1wz9iLL75Yssepv8E0efLkPHfu3IHGz3ANpve9731DehD639NdXV1bNYa2VG4DthKN0dHMnDlzSCNptEb74sWLSx4fTz/99LBXf3J+536+6dOn5+222y63tbXlyZMn5zPPPLPkuXvLHqZyFG0oFi3jvvvuy4ccckg+7LDD8qOPPppPPfXU3N7enqdOnZrvuOOOkuv0H4MTJ04s6xgsej6IHIOltmPixIlDLkFvqWgjK3qM5Fze+aBfkWOqaM655JJLhh2487Wvfa3k80U7aSJljKYhB9uMpEhv3ki9VNddd12Najw2RXtJIyIfHK2g6BtwsFdffXXMDYlSIg2soh9mEUWDXiUGdq1fv76sxkn/vhitUball156KX/3u98te/mNGzfm++67r6wGTdHRj9EG0+C69fT0lLXsmjVr8iWXXDLs3996663c19c35Ln+gVXDNUZLvReKjiZfv3597u3tHfW91++qq67KGzduzL29vaMu293dndevX1/4GClnAMWWDcVqz3zwyiuvlHXf8eBjsOhAkMjymzZtKvsYzDnniy66aMTtKHpVajhvv/32kPv+h/PSSy/l2267rez/239MFVWt42NwJ03Rc8hYZ3FouiDZr5zevC2V00vVLHp6eobtni4q0ovZSsrtJa3F1EpRRXo9n3nmmYptx+uvv56fe+65rZ4vGrIfffTRYQfzlBoJOtzgu/5LbqUUHbDXP8Co/8rGaHXK+Z3XdtGiRWW/tkUHMRX9/5Eyiu6L0dYZqYxyX9vIYMuix0ikjJFe21LbUfS9F9nfRbej2suPtM5I79d+5Tayir62kfN50XWKvpci5+ZS56lJkyYN+96rxjSETRskBys6+jW6TqOpxTa0wusUUWq7azG1UtE6Rdap9HZUYvR50cE8kcF3RdeJTHNV9LUtWkZk3xUtI7Ld1S6jFvs7Uka1919kf1d7u2uxL0ZTifNa5LVthfd3NaYhbJogGRnNGlmn0dRiG1rhdYoout2R0azVrlOttqNoGWOpUzmDeSKD78Yyerncaa6KvrZFy4jsu7GUEdnuapRRi/091gGd1dh/kf1d7e2uxb7IufrntbG+l4qW0Sjv78i+GM229f5mnXIdcsghadasWSnnvNXfXn311Yqt02hqsQ2t8DpFFN3uP/3pT0N+/+IXv5i233779P73vz+98cYbdalTZJ3IdhQto+jyg5dbtGjRsH/rt3jx4nT88cenz3zmM+nYY49NX/rSl1JbW1vJukfXKVqnlIq/tkXLiOy7omVEtrvaZdRif0fKqPb+i+zvam93LfZFStU/r0Ve21Z4f0f2xajGFENrKDKaNbJOo6nFNrTC6xRRdLtrMSipFsd5ZDuKllF0+ciUUjkXG3xXdJ1InYq+tkXLiOy7omVEtrsWZeRc3f0dWb7a+28s55xqbndk+aLrVPu8FnltW+H93S+y/4bTNEEyMpo1sk6jqcU2tMLrFFF0u2sxKKkWx3lkO4qWUaljqpxR2znHBt9F1hmtTpU6RoYro5LHYLmvbXT5apZRi/0dPT5yrtz+q8T+rvZ2V2tfVPu8FnltW/H9PZbjvF9bzsNcqwAAgBFsU+8KAADQnARJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQv4PMO1PvQQBXosAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "cargs = {'color_threshold':-np.inf,\n", " 'above_threshold_color':'black'}\n", @@ -1095,10 +2141,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 42, "id": "b1ff41c0", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:19.295154Z", + "iopub.status.busy": "2023-07-26T00:00:19.295014Z", + "iopub.status.idle": "2023-07-26T00:00:19.548973Z", + "shell.execute_reply": "2023-07-26T00:00:19.548621Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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NgDQBEbbqQxqQYskADQZncpoFIIkADQZncpoFIIkQI242w4w3mUFyf/4j/9Il156adq8eXM66qij0he+8IW0bNmyatcNoGm52w4wERTubHPNNdekc889N11wwQVp/fr16aijjkqvec1r0tatW2tRP4CmpGMEMBEUbpH87Gc/m9797nenVatWpZRS+tKXvpR+8pOfpCuvvDKdd955e0zf3d2duru7+//fvn17Simljo6Ov0y0ozOl7kj/74WUpu4avhJFpx+LMhqxTimlrp1daVdp1/+bpSP1TOmp6/TjpYxGrNNYlDEWdert6krP7PrL9K09I5dRdJ5aT7/7PAf/7/+XWqdNG376Z59ND776pOwyGnG9m7WMRqzTWJTRiHVKKaWd3btSaUdn/zxT2ibVdfrxUsZI0/fltIgYvqJRQHd3d0yaNCnWrFkz6PkzzzwzTjnllLLzXHDBBZFS8vDw8PDw8PDwaLLHpk2bhs2GhVokH3/88bRr16603377DXp+v/32S//3f/9Xdp7zzz8/nXvuuf3/9/b2pm3btqXZs2f7DRAAQAOKiPT000+nAw88cNjpat5ru62tLbW1tQ167q/+6q9qXSwAAKMwa9asEacp1Nlmn332SZMmTUpbtmwZ9PyWLVvS/vvvX6x2AAA0tUJBcurUqeklL3lJWrt2bf9zvb29ae3atem4446reuUAAGhchS9tn3vuuentb397OuaYY9KyZcvS5z73udTZ2dnfixsAgImhcJB8y1vekh577LH08Y9/PG3evDkdffTR6ac//ekeHXAAABjfWmLEAYIAAGBPhe9sAwAAKQmSAABkEiQBAMgiSAIAkEWQHIWnnnpq1Mv48pe/PPqKNIAnn3yy0PSPPfZYuvHGG9Ojjz467HQbN25M69atS+vWrUsbN24cdtrOzs7U09OTUkpp27Ztae3atelPf/pToXrVyl133ZX+67/+K1133XUjrgcANI1h78Q9wVx77bX9fz/22GPxute9LmbOnBmveMUr4qGHHtpj+ilTpsQpp5wSP/rRj2LXrl0jLv+HP/zhHo/99tuv/+9qeOCBB2LlypWxYMGCeP/73x+lUqn/tWOPPbYqZWzYsCGOOuqoWLx4cdx7773xute9Ltrb22Pu3Llx9913l53njDPOiC1btkRExNq1a2OfffaJpUuXxgte8IJYs2bNHtP/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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", "dendrogram(linkage_comp,\n", @@ -1119,10 +2183,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 43, "id": "c2752a96", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:19.550816Z", + "iopub.status.busy": "2023-07-26T00:00:19.550684Z", + "iopub.status.idle": "2023-07-26T00:00:19.554671Z", + "shell.execute_reply": "2023-07-26T00:00:19.554335Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 2,\n", + " 0, 2, 2, 3, 2, 3, 3, 3, 3, 2, 3, 3, 3, 3, 2, 3, 3, 3, 3, 2, 3, 3,\n", + " 3, 3, 3, 3, 3, 3]])" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "cut_tree(linkage_comp, n_clusters=4).T\n" ] @@ -1141,10 +2225,77 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 44, "id": "1407f7a4", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:19.556459Z", + "iopub.status.busy": "2023-07-26T00:00:19.556356Z", + "iopub.status.idle": "2023-07-26T00:00:19.560257Z", + "shell.execute_reply": "2023-07-26T00:00:19.559863Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [1],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [1],\n", + " [0],\n", + " [1],\n", + " [1],\n", + " [2],\n", + " [1],\n", + " [2],\n", + " [2],\n", + " [2],\n", + " [2],\n", + " [1],\n", + " [2],\n", + " [2],\n", + " [2],\n", + " [2],\n", + " [1],\n", + " [2],\n", + " [2],\n", + " [2],\n", + " [2],\n", + " [1],\n", + " [2],\n", + " [2],\n", + " [2],\n", + " [2],\n", + " [2],\n", + " [2],\n", + " [2],\n", + " [2]])" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "cut_tree(linkage_comp, height=5)\n" ] @@ -1160,10 +2311,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 45, "id": "2d74f224", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:19.561978Z", + "iopub.status.busy": "2023-07-26T00:00:19.561852Z", + "iopub.status.idle": "2023-07-26T00:00:19.829118Z", + "shell.execute_reply": "2023-07-26T00:00:19.828758Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAApIAAAKqCAYAAACJob6mAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABEAklEQVR4nO3deXxddZ0//ndaSkrTJkBXsKUtRahQ1kJZurBq3UAQ6aAzQIuC44NFRB3t1wU6sugIDo4IuKLiKAxLFXHQkbK0tqJsgqCDbKWsKVDaQgKFtp/fH/ySSZqbJueT7SZ5Ph+P+3gk957lc+4593Nfn88553MrUkopAACgoAE9XQAAAHonQRIAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBkrI3YcKEmDt3bk8XI8u5554bFRUV8eKLL7Y5bVdvZ0VFRZx77rmdusy5c+fGhAkTOnWZ3WX58uVRUVERP/rRj3q6KO1W5P2eO3duDB06tGsL1AU6+zi9/fbbo6KiIm6//fZOWybwfwRJutWPfvSjqKioiLvvvrvk64ccckhMmTKlm0vFptauXRsLFiyIPffcM4YOHRpbbbVVTJkyJT73uc/Fs88+223luOyyy3pV0Otu9fX1ce6553ZJSNq4cWP85Cc/if333z+23XbbGDZsWOy8885x4oknxp133tnp6+tpDXVTqcfnP//5LlnnsmXL4txzz43Vq1d3yfKhO2zR0wWAtjz88MMxYEDfb/OUy3Y+/vjjccQRR8SKFSviuOOOi1NPPTW23HLLeOCBB+IHP/hBLFy4MP7+9793S1kuu+yyGDFiRJf01I4fPz5ee+21GDRoUKcvu6t873vfi40bNzb+X19fHwsWLIiItxphnenMM8+Mb3/72/GBD3wg/vEf/zG22GKLePjhh+Pmm2+OHXfcMQ444IBOXV+5+Nd//deYOHFis+e6qnG7bNmyWLBgQcydOze23nrrLlkHdDVBkrJXWVnZactav359bNy4MbbccsseXUYpnbmdudavXx8f/OAHo7a2Nm6//faYMWNGs9fPP//8+NrXvtZDpescTfff4MGDe7o4hXRX6K2trY3LLrssTjnllPjud7/b7LVLLrkkXnjhhW4pR094z3veE/vuu29PF6ND6urqoqqqqqeLQT/R890f0IZS1w6uXr06zjrrrBg3blxUVlbGTjvtFF/72tea9dY0XAN30UUXxSWXXBKTJk2KysrK+Otf/xpvvPFGfPnLX46pU6dGTU1NVFVVxcyZM+O2225rtp7NLSMi4n//939jzpw5MXLkyNhqq61il112iS984QsttmH16tWNvQ41NTUxb968qK+vb9d2fupTn4oJEyZEZWVljB07Nk488cTGay7bux3tdf3118f9998fX/jCF1qEyIiI6urqOP/881udv7Xr0Updj/j888/HvHnzYuzYsVFZWRnbbbddfOADH4jly5c3vh8PPfRQ3HHHHY2nGJv2unX0GChVpobrCp955pk4+uijY+jQoTFy5Mj4zGc+Exs2bGi2TS+99FKccMIJUV1dHVtvvXWcdNJJcf/997d53eXq1atj4MCB8R//8R+Nz7344osxYMCAGD58eKSUGp//xCc+EWPGjGlWvoZrJJcvXx4jR46MiIgFCxY0vkebXl/Ynm3Z1BNPPBEppZg+fXqL1yoqKmLUqFEttqkrj9NnnnkmTj755Bg9enRUVlbGbrvtFj/84Q9bTPf000/H0UcfHVVVVTFq1Kj41Kc+FevWrWvXOtrr5ptvjpkzZ0ZVVVUMGzYs3ve+98VDDz3UbJoHHngg5s6dGzvuuGMMHjw4xowZEyeffHK89NJLjdOce+658dnPfjYiIiZOnNi4/5YvX77Z63c33ccN12H/9a9/jY985COxzTbbNPvs/vSnP42pU6fGVlttFdtuu20cf/zx8dRTTzVb5iOPPBLHHntsjBkzJgYPHhxjx46N448/PtasWdMJ7xh9nR5JesSaNWtK3oDy5ptvtjlvfX19HHzwwfHMM8/Exz/+8dhhhx1i2bJlMX/+/HjuuefikksuaTb9lVdeGa+//nqceuqpUVlZGdtuu22sXbs2vv/978eHP/zhOOWUU+KVV16JH/zgBzF79uz405/+FHvttVeby3jggQdi5syZMWjQoDj11FNjwoQJ8dhjj8WvfvWrFmFrzpw5MXHixLjwwgvj3nvvje9///sxatSozfbuvfrqqzFz5sz429/+FieffHLss88+8eKLL8aNN94YTz/9dIwYMaLwdrTlxhtvjIiIE044odB8OY499th46KGH4owzzogJEybEypUr43e/+12sWLEiJkyYEJdcckmcccYZMXTo0MZwPnr06IjonGOgaeBsasOGDTF79uzYf//946KLLopbbrklLr744pg0aVJ84hOfiIi3rh888sgj409/+lN84hOfiMmTJ8cvf/nLOOmkk9rc7q233jqmTJkSixcvjjPPPDMiIn7/+99HRUVFrFq1Kv7617/GbrvtFhERS5YsiZkzZ5ZczsiRI+Pyyy+PT3ziE3HMMcfEBz/4wYiI2GOPPQptSynjx4+PiIhrr702jjvuuBgyZEir03b1cVpbWxsHHHBAVFRUxOmnnx4jR46Mm2++OT760Y/G2rVr46yzzoqIiNdeey0OP/zwWLFiRZx55pmx/fbbx1VXXRW33nprq8supVTdNGLEiIiIuOqqq+Kkk06K2bNnx9e+9rWor6+Pyy+/PGbMmBH33XdfY8j/3e9+F48//njMmzcvxowZEw899FB897vfjYceeijuvPPOqKioiA9+8IPx97//PX7+85/Hv//7vzeuY+TIkVk9vscdd1y8/e1vjwsuuKCxMXL++efHl770pZgzZ0587GMfixdeeCG+9a1vxaxZs+K+++6LrbfeOt54442YPXt2rFu3Ls4444wYM2ZMPPPMM3HTTTfF6tWro6ampnBZ6GcSdKMrr7wyRcRmH7vttluzecaPH59OOumkxv+/8pWvpKqqqvT3v/+92XSf//zn08CBA9OKFStSSik98cQTKSJSdXV1WrlyZbNp169fn9atW9fsuZdffjmNHj06nXzyyY3PbW4Zs2bNSsOGDUtPPvlks+c3btzY+Pc555yTIqLZMlNK6ZhjjknDhw/f7HZ++ctfThGRbrjhhrSphnW0dztSSiki0jnnnNNiWU3tvffeqaamZrPTNHXSSSel8ePHN/5/2223pYhIt912W7PpGt7HK6+8srGMEZG+/vWvb3b5u+22Wzr44INbPN8Zx8CmZWrYnohI//qv/9ps2r333jtNnTq18f/rr78+RUS65JJLGp/bsGFDOuyww1oss5TTTjstjR49uvH/s88+O82aNSuNGjUqXX755SmllF566aVUUVGRvvnNbzYrX9P3+4UXXmh1v7Z3W1pz4oknpohI22yzTTrmmGPSRRddlP72t7+1mK6rj9OPfvSjabvttksvvvhis+mOP/74VFNTk+rr61NKKV1yySUpItJ//dd/NU5TV1eXdtppp5LH5KY2VzellNIrr7yStt5663TKKac0m+/5559PNTU1zZ5vKFNTP//5z1NEpMWLFzc+9/Wvfz1FRHriiSeaTVvq2Gzt/WmoYz784Q83m2758uVp4MCB6fzzz2/2/F/+8pe0xRZbND5/3333pYhI1157betvDmyGU9v0iG9/+9vxu9/9rsWjaW9Ka6699tqYOXNmbLPNNvHiiy82Po444ojYsGFDLF68uNn0xx57bOMpwAYDBw5svMZx48aNsWrVqli/fn3su+++ce+997ZY56bLeOGFF2Lx4sVx8sknxw477NBs2oqKihbz//M//3Oz/2fOnBkvvfRSrF27ttXtvP7662PPPfeMY445psVrDesouh1tWbt2bQwbNqzwfEVttdVWseWWW8btt98eL7/8cuH5O+MY2JxS++vxxx9v/P83v/lNDBo0KE455ZTG5wYMGBCnnXZau5Y/c+bMqK2tjYcffjgi3up5nDVrVsycOTOWLFkSEW/1UqaUWu2R7Kxtac2VV14Zl156aUycODEWLlwYn/nMZ+Id73hHHH744fHMM880TteVx2lKKa6//vo48sgjI6XUbF/Pnj071qxZ0zj/f//3f8d2220XH/rQhxrnHzJkSJx66qltbmtTpeqmiLd6GVevXh0f/vCHm5Vj4MCBsf/++zc7Tb/VVls1/v3666/Hiy++2HhzUs7nsj023c833HBDbNy4MebMmdOsvGPGjIm3v/3tjeVt6HH87W9/2+JyG2gPp7bpEdOmTSt5QXtDMNicRx55JB544IFWg8HKlSub/b/pHZgNfvzjH8fFF18c//u//9vslHqp6Td9ruGLuL13c24aNrfZZpuIiHj55Zejurq65DyPPfZYHHvssW0uu8h2tKW6urpdIaOjKisr42tf+1p8+tOfjtGjR8cBBxwQ73//++PEE09sdk1gazrrGChl8ODBLZa7zTbbNAu8Tz75ZGy33XYtTvnutNNO7VpHQzhcsmRJjB07Nu67774477zzYuTIkXHRRRc1vlZdXR177rlnu8uesy2taQjGp512Wrz00kuxdOnSuOKKK+Lmm2+O448/vjHwduVx+sILL8Tq1avju9/9boubfho07Osnn3wydtpppxYNuV122aXNsjXVWt30yCOPRETEYYcdVnK+pp/jVatWxYIFC+Lqq69ucSx21XWHm76PjzzySKSU4u1vf3vJ6Rtu3Jo4cWKcffbZ8Y1vfCP+8z//M2bOnBlHHXVU/NM//ZPT2rSLIEmvs3HjxnjnO98Z//Iv/1Ly9Z133rnZ/017Bxr89Kc/jblz58bRRx8dn/3sZ2PUqFExcODAuPDCC+Oxxx5rMX2pZRQxcODAks+nJjdW5Ci6HW2ZPHly3HffffHUU0/FuHHjCs9fqjc2Ikre3HHWWWfFkUceGb/4xS/it7/9bXzpS1+KCy+8MG699dbYe++9N7uezjgGWtPavupM22+/fUycODEWL14cEyZMiJRSHHjggTFy5Mj45Cc/GU8++WQsWbIkDjrooA4NCdVZ2zJ8+PA46qij4qijjopDDjkk7rjjjnjyyScbr6VsS+5x2nAd6z/90z+1ev1pe85idIaGslx11VUlGztbbPF/X6dz5syJZcuWxWc/+9nYa6+9YujQobFx48Z497vf3eq1uU0V+Rw12PQY37hxY1RUVMTNN99c8jhoOlj9xRdfHHPnzo1f/vKX8T//8z9x5plnxoUXXhh33nlnjB07ts3y0r8JkvQ6kyZNildffTWOOOKI7GVcd911seOOO8YNN9zQrNI+55xz2jX/jjvuGBERDz74YHYZ2jJp0qQ2l9/R7djUkUceGT//+c/jpz/9acyfP7/w/A09rZsOsPzkk0+WnH7SpEnx6U9/Oj796U/HI488EnvttVdcfPHF8dOf/jQiWv9C7YxjoCPGjx8ft912W9TX1zfrlXz00UfbvYyZM2fG4sWLY+LEibHXXnvFsGHDYs8994yampr4zW9+E/fee2/jGJGtae396Ur77rtv3HHHHfHcc8/F+PHju/Q4HTlyZAwbNiw2bNjQ5r4eP358PPjgg5FSaraOhssHOmrSpEkRETFq1KjNluXll1+ORYsWxYIFC+LLX/5y4/MNPZpNtbb/in6OWitvSikmTpzYomFVyu677x677757fPGLX4xly5bF9OnT44orrojzzjuv3eukf3KNJL3OnDlz4g9/+EP89re/bfHa6tWrY/369W0uo6GF3rRH8I9//GP84Q9/aFcZRo4cGbNmzYof/vCHsWLFimavdbSXscGxxx4b999/fyxcuLDFaw3r6Oh2bOpDH/pQ7L777nH++eeXXMYrr7xScnijBuPHj4+BAwe2uEbxsssua/Z/fX19vP76682emzRpUgwbNqzZcC1VVVUlf/WjM46Bjpg9e3a8+eab8b3vfa/xuY0bN8a3v/3tdi9j5syZsXz58rjmmmsaT3UPGDAgDjrooPjGN74Rb775ZpvXRzaE2M7+ZZTnn3++cYirpt54441YtGhRDBgwoPE0flcepwMHDoxjjz02rr/++pJhtendze9973vj2Wefjeuuu67xufr6+lZPiRc1e/bsqK6ujgsuuKDk6BINZSm1rRHRYiSBiGgc63HT/VddXR0jRoxo83O0OR/84Adj4MCBsWDBghZlSSk1DkW0du3aFp+X3XffPQYMGNDpQyfRN+mRpNf57Gc/GzfeeGO8//3vj7lz58bUqVOjrq4u/vKXv8R1110Xy5cvbxxKozXvf//744Ybbohjjjkm3ve+98UTTzwRV1xxRey6667x6quvtqsc//Ef/xEzZsyIffbZJ0499dSYOHFiLF++PH7961/Hn//8507Zzuuuuy6OO+64OPnkk2Pq1KmxatWquPHGG+OKK66IPffcs1O2o6lBgwbFDTfcEEcccUTMmjUr5syZE9OnT49BgwbFQw89FD/72c9im222aXUsyZqamjjuuOPiW9/6VlRUVMSkSZPipptuanGd2N///vc4/PDDY86cObHrrrvGFltsEQsXLoza2to4/vjjG6ebOnVqXH755XHeeefFTjvtFKNGjYrDDjusU46Bjjj66KNj2rRp8elPfzoeffTRmDx5ctx4442xatWqiGhfT2FDSHz44YfjggsuaHx+1qxZcfPNN0dlZWXst99+m13GVlttFbvuumtcc801sfPOO8e2224bU6ZM6fAvsTz99NMxbdq0OOyww+Lwww+PMWPGxMqVK+PnP/953H///XHWWWc1vr9dfZx+9atfjdtuuy3233//OOWUU2LXXXeNVatWxb333hu33HJL43t+yimnxKWXXhonnnhi3HPPPbHddtvFVVddtdmhi4qorq6Oyy+/PE444YTYZ5994vjjj4+RI0fGihUr4te//nVMnz49Lr300qiuro5Zs2bFv/3bv8Wbb74Zb3vb2+J//ud/4oknnmixzKlTp0ZExBe+8IU4/vjjY9CgQXHkkUdGVVVVfOxjH4uvfvWr8bGPfSz23XffWLx4caFflJo0aVKcd955MX/+/Fi+fHkcffTRMWzYsHjiiSdi4cKFceqpp8ZnPvOZuPXWW+P000+P4447LnbeeedYv359XHXVVY0hHtrU7feJ0681DLFx1113lXz94IMPbnP4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D7aY/sc//nEaPHhwGjt2bFq0aFHabrvt0n777ZeGDx+err766k4pU0oprV+/Pi1atChdeeWV6corr0yLFi1K69ev77TlN9iwYUOL51atWtXiuV/+8pctHqNHj278u7e4//7705QpU1J1dXUaMGBAmjJlStpmm23Shz70obRmzZpOWcegQYPSUUcdlW688caS7++m7rvvvrTnnnumvffeOz344IPpve99b9pqq63SuHHj0v33319ynhNOOCHV1tamlFJatGhRGjFiRNpvv/3SyJEj08KFCztlO5p6880307333ptWr15daL4vfvGL7Z72gQceSD/4wQ/SXXfdVbR4WV588cU2p1m5cmVatGhRevbZZ7tsHSmV/sw11Rn1QZF90Z4ylXLFFVds9vVXX301vfnmmymllF566aV0yy23tPk7w6+//npauHBh+vd///f0rW99K916661tluOxxx5Lt912W7rtttvSY4891u7yt+cY/Mtf/tLu5TV13333pYULF6Zf/epXbZYpZx1/+9vfGuuEv/3tb+n73/9+uvPOO1udPud9LeLll1/u1OW1R3vrqfZ+77WmrWmL7ou29FiQ3HvvvRv//tjHPpY+97nPpeeeey5dfPHF6eijjy60rLe//e3tnrYzK5J3vetd6dJLL0133313OuGEE9JBBx2U1q5dm1JKaa+99mp3mTZn2rRp6brrrmvx/LXXXpv222+/Fs/vvvvuafny5en+++9PNTU1jRXOI488kvbYY492rbOtL6fFixensWPHpv333z/NmTMnzZkzJ02bNi2NHTs23XHHHZtddnsrq7vuuitNmDAhbbnllunoo49OK1eubHyt6bHToKKiIh100EHpkEMOaXwMHjw4HXLIIenQQw9t13bn2tyHtmhldeCBB6YlS5aklN4Kx2eccUZat25d+sIXvpBOPPHEjhSz0c4775wuuuii9I53vCNtt9126XOf+1x6+OGHW51+1qxZaeHChenKK69MO+ywQ/rJT36SUkpp4cKF6Z3vfGfJeZoea7NmzUr33XdfSimlxx9/fLOfjfZ+wS5atChtu+22afjw4en2229P++23X5o8eXLj/6V885vfbPEYPnx449+bOuywwxor22uuuSZtv/326bjjjkvjx49vsx4ppUg9lVJK48aNa/FcZwf0Uuso2nDIqQ+K7otLLrmk8e/HH3887brrrmnw4MFpwoQJ6YEHHii5jqKNy5xG+K233pp22GGHtMcee6TKysp0xBFHpHe84x1pv/32S08//XSL6Yt2DOQcgxUVFWmPPfZI3/zmN9NLL71UcpqmchqvRdfxb//2b2nUqFFp3Lhx6aqrrkrjxo1Lxx13XNphhx2a7dsGRd/XlIp37BRtUKdUvAOsaD1V9HsvpeKfjaL7oj16LEg2/TLZY489mrVeSwWe+++/v9XHmDFjSq6jqyuSTb8Qzz///LTffvul1atXt7rTix7sO++8c8nltPZa0zKNHz9+s+VtUPTLaffddy/ZIv7Tn/6UpkyZUnIdRSurGTNmpJtuuim9+OKL6Ytf/GKaPHlyYwVSajt++MMfpoMOOijde++9jc9NmDChZFka5PSKF/2SLVpZ7bnnns3+33fffRv/LhpEWpun6bG5dOnS9NGPfjQNGzYszZw5M/34xz9uMX3T93vT4LFpeUutt+k2pPTW8bOpol+w06ZNS/fdd1+67bbb0vDhw9OiRYtSSin98Y9/TDNmzChZpoEDB6ajjjoqzZ07t/ExdOjQNHfu3DRv3rwW0zct5wEHHJCWL1+eUnqrgVlqG1IqXk+VqqMaHiNHjmwxfU5AL7qOog2HnPqg6L5oeswef/zx6dJLL00ppXTdddelI444ouQ6ijYucxrhe++9d/r73//euL0nnHBCSiml7373u+kDH/hAi+lzOgYatPcYnDJlSrruuuvSe97znlRVVZX+4R/+If3ud78rOW1KeY3XouvYdddd06pVq9KKFSvSkCFD0uOPP55Seqve3W233VpMX/R9Tal4x07RBnVDuRq0pwOsaD1V9Htv0zK157NRdF+0R48FycmTJ6cHHngg3X///S2+jEp9OVVUVKSJEyemCRMmtHgMGjSo5Dq6uiLZZZddWjz39a9/PU2dOjXttNNOJctU9GA/6KCD0k9+8pNmIWTDhg3pRz/6UTrwwANbTL/PPvukBx98MC1ZsiSNGDEi/f73v08pvdV93VrFU/TLaXOBprXXilZWm673qquuSjvvvHNasWJFqyF9+fLl6YgjjkgLFixI69evTxMnTmy1nCnl9YoX/ZItWlntu+++6W9/+1tKKaU//OEP6eCDD258bfLkySXnKRpeSr1/r776avr+97+fpk+f3uK1pp/HTfdVa1+wp59+ejrzzDPT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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "scaler = StandardScaler()\n", "X_scale = scaler.fit_transform(X)\n", @@ -1197,12 +2366,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 46, "id": "b7f7da12", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:19.831097Z", + "iopub.status.busy": "2023-07-26T00:00:19.830959Z", + "iopub.status.idle": "2023-07-26T00:00:20.036103Z", + "shell.execute_reply": "2023-07-26T00:00:20.035746Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqkAAAKyCAYAAAD2N0efAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABuHElEQVR4nO3deZyN9f//8eeZwWCYQZgxkj0iIXv2kiEplbXFkqWFPmmSjCyJUqivFiVttIhW+rSglC1LC5Il2fcZS80MgxlmXr8//OZ8HLOdM4u5hsf9djs35jrXeZ/XtZ7nua73dR2XmZkAAAAAB/HL6wIAAACACxFSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBScclzuVx6+umn87oMn1WqVEl9+/bN8mtvvfXWnC3IoZ5++mm5XC6fxj169GguV+Ucffv2VaVKlXK0zZkzZ8rlcmn37t052u6lzJf11Fdt2rRRmzZtcrzd3Fh3Lqx19+7dcrlcmjlzZo6+T27Ob1w8hFR4ZceOHXrggQdUpUoVFS5cWEFBQWrevLlefvllnTp1Kq/LyxUHDx7U008/rfXr1+douyk75SlTpuRou/if5557TvPmzcu19pcsWaI777xToaGhKlSokMqWLavOnTvriy++yLX3zAu5PR+zolKlSnK5XO5H4cKFVb16dT3xxBP6559/8rq8bOvbt6/H9BUrVkxVqlRR165d9fnnnys5OTmvS8y3nLg+I2MF8roAON8333yjbt26KSAgQL1799a1116rxMRErVixQk888YQ2bdqkGTNm5HWZOe7gwYMaN26cKlWqpHr16l3099+6dav8/PgemZlRo0ZpxIgRHsOee+45de3aVV26dMnx9xs7dqyeeeYZVa9eXQ888IAqVqyoY8eO6dtvv9Vdd92ljz76SHfffXeOv29eSG8+3nffferZs6cCAgLypK569erp8ccflySdPn1av//+u6ZOnaqlS5fql19+yZOaclJAQIDefvttSdKpU6e0Z88e/fe//1XXrl3Vpk0bzZ8/X0FBQe7xFy1alCt1vPXWWzkeinOr1gtd7P0CcgchFRnatWuXevbsqYoVK+rHH39UuXLl3M8NHjxY27dv1zfffJOHFV668ioA5DcFChRQgQIXZ1f22Wef6ZlnnlHXrl01e/ZsFSxY0P3cE088oYULF+rMmTPZfp+zZ88qOTlZhQoVSvVcfHy8AgMDs/0e2eHv7y9/f/88e//y5cvr3nvvdf89YMAAFStWTFOmTNG2bdtUvXr1PKstJxQoUMBj+iRpwoQJev755xUZGamBAwdq7ty57ufSWk9ywvnrd07JrVpTpGwfF3O/gNzDYRpkaNKkSTpx4oTeeecdj4Caolq1anr00Ufdf589e1bjx49X1apVFRAQoEqVKmnkyJFKSEjweF1Kn8klS5aoYcOGKlKkiOrUqaMlS5ZIkr744gvVqVNHhQsXVoMGDbRu3TqP1/ft21fFihXTzp07FR4ersDAQIWFhemZZ56RmWU6XQcOHND999+vkJAQBQQEqHbt2nr33Xfdzy9ZskSNGjWSJPXr18996u38flNr1qxRhw4dFBwcrKJFi6p169b6+eefM31vb13YJzWlH+DPP/+siIgIlSlTRoGBgbrjjjt05MiRTNubNWuWChQooCeeeEKS9M8//2jYsGGqU6eOihUrpqCgIHXs2FF//PFHqtfu2bNHt912mwIDA1W2bFk99thjWrhwoVwul3uZpcjKfDEzlS5dWhEREe5hycnJKlGihPz9/RUTE+Me/sILL6hAgQI6ceKEpNR9z1wul+Lj4zVr1iz3cruwb29MTIz69u2rEiVKKDg4WP369dPJkycznYejR49WqVKl9O6776b5AR4eHu7RF/jw4cPq37+/QkJCVLhwYdWtW1ezZs3yeM353T+mTp3q3nY2b97snrbNmzfr7rvvVsmSJdWiRQv3az/88EM1aNBARYoUUalSpdSzZ0/t27cv0+mYMmWKbrjhBl1xxRUqUqSIGjRooM8++8xjnIzmY3p9Ul9//XXVrl1bAQEBCgsL0+DBgz2WnXSuT+K1116rzZs3q23btipatKjKly+vSZMmZVp3RkJDQyXJI5hs2LBBffv2dXdTCg0N1f33369jx455vPb48eMaOnSoKlWqpICAAJUtW1Y333yz1q5d6zGet+v2ihUr1KhRIxUuXFhVq1bVm2++ma1pSzFixAi1b99en376qf7++2/38LT6pL766quqXbu2ihYtqpIlS6phw4aaPXu2T9N8YZ/U89fVadOmqUqVKipatKjat2+vffv2ycw0fvx4XXnllSpSpIhuv/32VF0wvOk/6+1yy2j78Ha/8NNPP8nlcunLL79MVcfs2bPlcrm0atWqDOtF7uFrBjL03//+V1WqVNENN9zg1fgDBgzQrFmz1LVrVz3++ONas2aNJk6cqC1btqTaCWzfvl133323HnjgAd17772aMmWKOnfurOnTp2vkyJF6+OGHJUkTJ05U9+7dU53+TkpKUocOHdS0aVNNmjRJCxYs0NixY3X27Fk988wz6dYYHR2tpk2byuVyaciQISpTpoy+++479e/fX3FxcRo6dKiuueYaPfPMMxozZowGDRqkli1bSpJ7Pvz444/q2LGjGjRooLFjx8rPz0/vvfeebrzxRi1fvlyNGzf2aT774pFHHlHJkiU1duxY7d69W1OnTtWQIUM8jqxcaMaMGXrwwQc1cuRITZgwQZK0c+dOzZs3T926dVPlypUVHR2tN998U61bt9bmzZsVFhYm6dyRiRtvvFGHDh3So48+qtDQUM2ePVs//fRTqvfJ6nxxuVxq3ry5li1b5h62YcMGxcbGys/PTz///LM6deokSVq+fLnq16+vYsWKpdnWBx98oAEDBqhx48YaNGiQJKlq1aoe43Tv3l2VK1fWxIkTtXbtWr399tsqW7asXnjhhXTn4bZt2/TXX3/p/vvvV/HixdMdL8WpU6fUpk0bbd++XUOGDFHlypX16aefqm/fvoqJifH4cidJ7733nk6fPq1BgwYpICBApUqVcj/XrVs3Va9eXc8995z7S9izzz6r0aNHq3v37howYICOHDmiV199Va1atdK6detUokSJdGt7+eWXddttt+mee+5RYmKi5syZo27duunrr792z2dv5uP5nn76aY0bN07t2rXTQw89pK1bt+qNN97Qr7/+qp9//tkj1P/777/q0KGD7rzzTnXv3l2fffaZnnzySdWpU0cdO3bMdN6eOXPGffHb6dOntW7dOr300ktq1aqVKleu7B7v+++/186dO9WvXz+Fhoa6uyZt2rRJq1evdoeYBx98UJ999pmGDBmiWrVq6dixY1qxYoW2bNmi66+/XpL36/aff/6p9u3bq0yZMnr66ad19uxZjR07ViEhIZlOlzfuu+8+LVq0SN9//72uvvrqNMd566239J///Eddu3bVo48+qtOnT2vDhg1as2aNuyuKN9Ocno8++kiJiYl65JFH9M8//2jSpEnq3r27brzxRi1ZskRPPvmktm/frldffVXDhg3zOADgDW+XW4q0to8Lpbc+N23aVBUqVNBHH32kO+64I9V0Vq1aVc2aNfOpfuQgA9IRGxtrkuz222/3avz169ebJBswYIDH8GHDhpkk+/HHH93DKlasaJJs5cqV7mELFy40SVakSBHbs2ePe/ibb75pkuynn35yD+vTp49JskceecQ9LDk52Tp16mSFChWyI0eOuIdLsrFjx7r/7t+/v5UrV86OHj3qUWfPnj0tODjYTp48aWZmv/76q0my9957z2O85ORkq169uoWHh1tycrJ7+MmTJ61y5cp28803Zzifdu3aZZJs8uTJGY5XsWJF69Onj/vv9957zyRZu3btPN73scceM39/f4uJifF4badOnczM7OWXXzaXy2Xjx4/3aP/06dOWlJSUqraAgAB75pln3MNefPFFk2Tz5s1zDzt16pTVrFnTY7lkd75MnjzZ/P39LS4uzszMXnnlFatYsaI1btzYnnzySTMzS0pKshIlSthjjz3mft3YsWPtwl1ZYGCgx7y7cNz777/fY/gdd9xhV1xxRYb1zZ8/3yTZ//3f/2U4XoqpU6eaJPvwww/dwxITE61Zs2ZWrFgx93SmrA9BQUF2+PDhNOvt1auXx/Ddu3ebv7+/Pfvssx7D//zzTytQoIDH8D59+ljFihU9xktZx8+v69prr7Ubb7zRY3h68zFlXdy1a5eZmR0+fNgKFSpk7du391inXnvtNZNk7777rntY69atTZK9//777mEJCQkWGhpqd911V6r3ulDKvuPCR/PmzVNt0xdOp5nZxx9/bJJs2bJl7mHBwcE2ePDgdN/Tl3W7S5cuVrhwYY992ObNm83f3z/VepqWPn36WGBgYLrPr1u3ziR5bAOtW7e21q1bu/++/fbbrXbt2hm+T2bTnFLL+etOyrpapkwZj/1NZGSkSbK6devamTNn3MN79eplhQoVstOnT6dba0qb5+9nvV1u6W0f5z93vvTW58jISAsICPCYpsOHD1uBAgU8Pjtw8XG6H+mKi4uTJK+OGknSt99+K0kep2wluS9wuLDvaq1atTy+oTZp0kSSdOONN+qqq65KNXznzp2p3nPIkCHu/6ccGU1MTNQPP/yQZo1mps8//1ydO3eWmeno0aPuR3h4uGJjY1Od4rvQ+vXrtW3bNt199906duyY+/Xx8fG66aabtGzZsly9AnfQoEEeRxJa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hw9XYGCgBgwYoOjo6FTP79ixQy+//LIk6ZZbbpEkTZ061WOcl156SZLcVw3npPO/6ZqZXnvtNRUsWNB9VOVC/v7+uuuuu/T555+neYT4/Fs5pdyL8sJb6DRo0EBVq1bVlClT3B+I6bWR16688kr98MMPOnXqlG6++WaPW7j4+/unOsLx6aefpuo/Fh4ergMHDuirr75yDzt9+rTeeustj/FyYr60bNlSCQkJmjp1qlq0aOH+UGnZsqU++OADHTx40Kv+qIGBgamWW04YN26cjh07pgEDBrhD0fkWLVqkr7/+WtK57SEqKsrjrgtnz57Vq6++qmLFiql169ZZruPOO++Uv7+/xo0bl2oZmlmqW/Wcz9/fXy6Xy6N7x+7du9P8JR5v52O7du1UqFAhvfLKKx71vPPOO4qNjc3Stt+uXTuPR1q3wDvff//7X0lS3bp1Jf3vqN6F8+fC/VNSUlKqU8hly5ZVWFiY+8iot+u2v7+/wsPDNW/ePO3du9f9/JYtW7Rw4cLMJjlTzz//vBYtWqQePXpkeC/YC5d/oUKFVKtWLZmZzpw549U05xVvl1tWZLQ+ly5dWh07dtSHH36ojz76SB06dPD4so68wZFUZKhq1aqaPXu2evTooWuuucbjF6dWrlzpvqWOdO7DoU+fPpoxY4ZiYmLUunVr/fLLL5o1a5a6dOmitm3b5mhthQsX1oIFC9SnTx81adJE3333nb755huNHDkyw9PBzz//vH766Sc1adJEAwcOVK1atfTPP/9o7dq1+uGHH9z39atatapKlCih6dOnq3jx4goMDFSTJk1UuXJlvf322+rYsaNq166tfv36qXz58jpw4IB++uknBQUFuT8wM7J48WKdPn061fAuXbro2muvzfqMuUC1atW0aNEitWnTRuHh4frxxx8VFBSkW2+9Vc8884z69eunG264QX/++ac++uijVH3SHnjgAb322mvq1auXHn30UZUrV04fffSR+2hMSpD08/PL9nxp1qyZChQooK1bt7pvEyNJrVq10htvvCFJXoXUBg0a6IcfftBLL72ksLAwVa5c2X1xR3b06NFDf/75p5599lmtW7dOvXr1cv/i1IIFC7R48WL3KfNBgwbpzTffVN++ffX777+rUqVK+uyzz/Tzzz9r6tSpXl+AlZaqVatqwoQJioyM1O7du9WlSxcVL15cu3bt0pdffqlBgwZp2LBhab62U6dOeumll9ShQwfdfffdOnz4sKZNm6Zq1ap59AmVvJ+PZcqUUWRkpMaNG6cOHTrotttu09atW/X666+rUaNGOX7xyYEDB/Thhx9KOne09o8//tCbb76p0qVLu0/1BwUFqVWrVpo0aZLOnDmj8uXLa9GiRdq1a5dHW8ePH9eVV16prl27qm7duipWrJh++OEH/frrr3rxxRcl+bZujxs3TgsWLFDLli318MMPu7+Y1K5dO9X8Tc/Zs2fd03f69Gnt2bNHX331lTZs2KC2bdtm+gt/7du3V2hoqJo3b66QkBBt2bJFr732mjp16qTixYsrJiYm02nOK94ut6zIbH3u3bu3unbtKkkaP358tt8POeBi304A+dPff/9tAwcOtEqVKlmhQoWsePHi1rx5c3v11Vc9bi9y5swZGzdunFWuXNkKFixoFSpUsMjISI9xzDxvkXQ+Salui5LWLZtSbtOyY8cOa9++vRUtWtRCQkJs7NixqW6rpAtuQWVmFh0dbYMHD7YKFSpYwYIFLTQ01G666SabMWOGx3jz58+3WrVqWYECBVLdJmXdunV255132hVXXGEBAQFWsWJF6969uy1evDjDeZkyPek9PvjgA/c8SusWVL/++qtHez/99FOqW3SlNX/XrFljxYsXt1atWtnJkyft9OnT9vjjj1u5cuWsSJEi1rx5c1u1alWqW8SYme3cudM6depkRYoUsTJlytjjjz9un3/+uUmy1atXe4yb1fmSolGjRibJ1qxZ4x62f/9+k2QVKlRINX5at5r566+/rFWrVlakSBGT5J6PKeOef4sys9S3VMrM4sWL7fbbb7eyZctagQIFrEyZMta5c2ebP3++x3jR0dHWr18/K126tBUqVMjq1KmT6pZmGd2SLL16U3z++efWokULCwwMtMDAQKtZs6YNHjzYtm7d6h4nrVtQvfPOO1a9enULCAiwmjVr2nvvvefTfExvfr322mtWs2ZNK1iwoIWEhNhDDz1k//77r8c4rVu3TvP2SGnVmZYLb0Hl5+dnZcuWtV69etn27ds9xt2/f7/dcccdVqJECQsODrZu3brZwYMHPfYJCQkJ9sQTT1jdunWtePHiFhgYaHXr1rXXX3891Xt7u24vXbrUGjRoYIUKFbIqVarY9OnT05y/aUm5vV7Ko2jRolapUiW76667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unbtarGxsVluZ9u2bVaqVClzuVwWGRmZ7WB2vl27dlm1atXM5XJZ9erVbd++fWaWvaC6adMmK1mypA0ePNimT59uzZs3t7vvvttjHF+W9759+6xatWo2btw4O3jwoCUnJ9udd95phQsXtqFDh2b5S09KaOnatas98MADVqhQIXv66aez1JbZubBRunRpGzFihK1atcoWLlxoVapUscjISJ/a2bRpk11xxRX22GOP2UcffWQRERFWsGBBjyCZHZs2bbISJUpYt27d7MEHH7QKFSrY9ddfb2+88YZ7nMyWz+nTp+2ee+6x//znP+5hp06dsvr165vL5bJevXplu86RI0dav379rEiRItarVy/btWtXlts6ePCgXXPNNfb000+7Q0utWrXs9ddfz3KbKfvN4cOH27Bhw6xly5Ye+15vJCcn28iRI6179+7uYXFxcTZhwgSrV6+evfDCC1muz+xcECxSpIiNGTPG/X7Hjh2znTt3+tTOH3/8YYGBgan24QkJCVmq68SJE9a+fXt76KGH3MO2bNli69aty3JoSdluhg0bZps2bbIpU6aYy+XKsQCc8vkwevRoS0xMtKZNm9p9993nUxu7d++28uXL24gRI+zEiRP27bffWmhoqK1ZsyZHajx8+LDVrFnTRo4caTt27LADBw5Yjx497JprrrGxY8fa4cOHfWrv2LFjdtttt9mbb75p119/vd1zzz22ceNGM8v6Z0RSUpINGjTI+vXr5/572bJl9u6779rWrVuzfFBn06ZNFhwcbB06dLC77rrLgoODrV27dvbWW2+5x/Hlc2fLli1WunRpGzVqlO3Zs8d27txppUuXzvYBlxSXVUj9448/rE+fPjZhwgQLCwuz8ePHe72g//jjDwsICLCRI0ea2bkVpmvXrtaoUSP3ONkNqv/973/tlltuMTOzxMREe+qpp6xLly42YMAAmzVrls/vs3v3bqtWrZoNHz7cvaG88847FhIS4vHNyRd///23BQQE2FNPPeWu86uvvrIZM2bY/Pnz7cSJEz61FxUVZTfccIPdeOONVrp0aevWrVuWguqJEyfs/vvvt759+9q0adPM5XLZE088kSNB9dSpUzZq1Ci74447bPHixdaqVSurWLFitoLqyZMnrUuXLvboo4+6h82fP9/uuOMOi46OtuPHj7uHe7u8FyxYYE2aNLEjR464PxR//fVXK126tNWvX9/Gjh1rp06d8qnOnTt3WqVKlTwC5NNPP20PP/xwqm/K3tR5/Phx6969uz388MPuYUlJSfbII4/Ybbfd5nVdx44ds/bt23uEPzOzNm3a2COPPOJ1PRnVGR4ebsOHD3cP279/v11xxRUWEhJizz77rNdt3XTTTe5QnzL/hw8fbnfddZddf/31Nnny5CzVmLLePfroozZt2jTbtGmTBQQEWO/evS0+Pt4mT55su3fv9qnNFStW2LXXXuuxf+jRo4cNGzbM7r33Xnv33Xd9CjO//fabBQUFufebH3/8sQUHB9uKFSs8psEbffv2tVatWnkMi4uLsylTpljDhg3dR9F9dfToUatWrZrVr1/fPaxfv37WoEEDK1eunLVq1crWrVuX6fp06NAhCw0NdZ8VOHv2rA0dOtQ6depkNWvWtP/7v/+zLVu2+FTb6dOnrUWLFrZ27Vo7e/ashYeHW6NGjax48eLWtGlTe/vtt31q78iRI9aqVSuP/U5ycrJ16NDBVq5caevWrctWWN22bZu5XC7354OZ2aeffmoBAQH2008/ed3Om2++aW3atPGY57fccou9+eabNmvWLPvxxx+zXKPZuaBWqVIl++233zyGP/nkk1anTh2bNGmSxcfHe9XW2bNn7fDhw3b11Vfb/v377YsvvrBGjRrZwIED7YYbbrC77rorSzWePXvWWrRo4f7sb926tTVo0MCCg4OtatWqWTqynpCQYPfee68NHDjQPWzbtm3Wo0cPa9q0qc9nJWJiYuyWW26xoUOHegwPDw+3t956y1566SXbvHmznTx50qd2z3dZ9Uk1M61cuVIjR47UAw88oBkzZmjWrFm688479dRTT2X42oSEBA0fPlzPPvuskpOT5efnpwkTJujvv//WG2+8ISn7fQnXrl2rf/75R5J0yy236Oeff1bFihW1Z88e/d///Z9Gjhzp9fskJydrzpw5qlatmkaOHOnuD9SoUSMVLFgwS31bzp49q9dee03FihVTvXr1JEldunTRqFGj9Nxzz+mOO+5Qv379fLqgbN26dapUqZJeeOEFffPNN1q8eLEGDBiguLg4n2rz8/NTgwYN1KFDBz388MOaM2eOpkyZokmTJuno0aM+tXWhwoUL69prr1XPnj1144036v3339dVV12lFi1aaP/+/VnqSxkQEKBjx46pVKlS7mHLly/XunXrdP311+v2229XZGSkJO/Xq71792rXrl0qXbq0ChUqJEk6ceKEmjVrpjp16mjGjBk6fPiw1zUmJSXp888/V8eOHTVixAj38JSLBps3b66HHnpI//3vf32qs3jx4u71Rzq37Fq0aKFdu3YpMTFRZ86cybSNM2fOKCYmRl27dpX0vz7ClStXdm9D2dke/fz89M8//7jrPHnypMqXL68bb7xR1157rb755ht99913GbZhZu6LXXbs2KGzZ8+qcOHCOnDggObOnatOnTqpVq1a+vbbb7NcoyR16NBBa9euVa1atbR8+XLNnTtXtWvX1tSpU31eL2NjY3X48GHt2LFDCQkJmjx5sr744gslJCTo2LFjeuONNzR58mSdPHky07bi4+PVunVr9e/fX88++6wkqWfPnmrYsKHGjBmjs2fPetVP0f5/v7brr79eSUlJ2rp1q/u54sWL6/7771f9+vX1+uuve1XXha644gp16NBBgYGBevrpp9W4cWMdOnRIDzzwgF5//XWdOXNGXbp00Y4dOzzqSUuzZs107NgxzZ8/X7feeqv+/PNP1axZUzfddJNeeeUVTZkyRXv37vW6tpiYGG3dulVHjx519+18++239cknn6hly5YaNWqUPvvsM6/bc7lc6tChgwYPHuweNmHCBC1cuFAPP/ywOnfurIEDB2rFihVet3m+woULa/r06ZowYYKkc/OqWbNmatiwob766itJ3vXnNzPt3btX69evlyQ9++yz+u677/Tpp5/qtddeU8+ePTVz5sws1Sid23+cPXvWvb6k9Ll+/vnn1bZtW73xxhvuPt4ZLW/p3HZYpkwZNWrUSBs3btQdd9yhp59+Wl9++aX+/PNP3XrrrVmq0d/fX2XLllVMTIzGjBmjgIAAzZ07V0ePHtUjjzyiP//8U++9955XNaYoVKiQoqOj3ftGM1O1atU0adIk1axZU5999pl7f+6N4OBg3Xbbberevbt72IQJE7R48WLNnj1bb731ltq2betu09s6PWQ53uZT7du3d58OmzRpkgUGBlpwcLAtXLjQp3aSk5MtJibGunTpYt27d7ezZ89m+0jq999/bzfeeKO9/fbbdvPNN9v+/fvN7Ny3lXHjxlnTpk1t06ZNXre3dOlSGzFihMewpKQkq1Spkk/fas/3999/26BBg6xp06ZWoUIFu+WWW2zLli128uRJ++2336x8+fLWu3dvr9s7fPiwRy2rVq2yUqVKWbdu3SwmJsY93Jt5e+FR3Dlz5pjL5bJhw4a5+1AmJSX5fArvQsnJybZjxw73EdWU5XT69Glbu3Ztpt/Ak5KSLDY21sLDw+2OO+6wadOmWWRkpBUpUsTee+89++6772zcuHF2/fXX2/z5872uK+VIzn333Wfbt2+3FStWWNGiRe355583M7MaNWrY+PHjfZrWffv22apVq9x/jx8/3vz9/e2pp56yV155xRo1amQ33nij16dvk5KSPI7upSzXuXPnWp06dTzGzWw+nn+0L+Wo7qhRo1KdWjz/qLQ3kpOTLTo62sLCwjyOcu7bt89q1apls2bNsuuuu84GDBjgVXsrVqwwPz8/a9Wqld13330WGBjofu2ff/5pxYsXt7/++sun/cf54y5evNhq1KjhPlrRsWNH8/Pzs44dO/p8Wt3MrG3btlauXDm76aabLCAgwL777jv3c88//7xdddVVXp9qPr/rQUr3gbfeesuuvvpqd789b4+mbt++3UqXLm3333+/e5mmzIe9e/eay+XyqNUb5793RESEhYSEWKdOnSwqKspjvNq1a1ufPn0ybe/gwYPWu3dvK1KkiN18880efbc/+ugjK1GihH377bde15ecnGw9e/a0IUOG2K233moLFixwP7dv3z6799577cEHH/Tp8ycuLs79/48//thcLpfNnTvXjh07ZkuXLrVGjRplqztPWsaMGWMlS5Z0z4/Mat25c6fdcMMNVq1aNbvrrrvM5XLZvHnz3Nvmf/7zH2vTpo0dPXo0y5+7jRo1srZt27r/Pn36tPv/DRs2tJ49e/rUXu/evd2ft/3797eSJUtarVq17P777/e5m0LKevnggw9avXr17J577rE333zTY5xhw4bZNddc43Xfz7Nnz1piYqL169fPunbtaqdPn7bk5GT3e+3YscOaNWtmPXr08Kq9tOb7smXLrGrVqvbVV1+599+33XabNWzY0Ks203LJhtT0OoG3adPGffi8f//+FhQUZKGhoTZp0qQs9dn7/PPPzeVyuU9fZafGLVu2WFhYmNWqVcvatWvn8dzevXutaNGiNnv2bJ/aTJGyQiUlJVnlypVt0aJF7ud++OGHDPvgXNjm9u3b7b777rNOnTrZX3/95fHcV199ZS6Xy7Zu3epzjSkby+rVq91BNTY21hITE+3111/3qDkj5++wU3bCTzzxhB04cMAee+wxu/POOzMNQCdOnLC4uLhUXQ/O/1Dbvn27O6ju3LnTBg8ebA0bNky3C8mF07169Wrr0KGD3X333VajRg1755133M9FRUXZVVddZRMnTvSpxi+//NIqVKhgZcuWtVKlSnn0G27RokWqLy3e1Jni6NGjNnToUI8gsHnz5kzDgTfz8tNPP7XatWu7/46IiLBbb73Vq4s5zm/nqaee8rgI67nnnrMXX3zRzpw5k2k7F77Xa6+9Zi6Xy+6//34bNWqUFStWzH2a7NNPP7VKlSrZ0aNHvQpZv/zyi9177702YMAAmzZtmnv4/Pnz7ZprrvH4Qpae9ObjwYMH7dZbbzWzc6epr7zySps5c6YVK1bMbrvtNveXKF/aXLFihc2bN88aNGhgR48edc+/lStXWrVq1bzevtP6IDt+/LhVqFDBBg8enOk0X+jHH3+0gIAAGzx4sEdXnkOHDlndunVt5cqVXrWT3nRPmTLFPv/8c3fdKdNy1113WdeuXb1q+8CBAxYZGWmLFy82M895UK1atQyvOUjLr7/+aoGBgeZyueyrr77yeO7xxx+3Vq1aZTmo7d692+MiHzOzTp06WefOnb1uI715afa/aT9y5Ihdc801NmLECK9r3blzp82dO9fGjh2bat4///zzVrduXa+7L6VV49q1a61s2bIe/cJT1vOIiAiv50HK9MycOdPGjh1rDz30kJUrV8527txpX3zxhVWtWtUefPDBTGtNq8b4+HirW7euuVwud5eZFIsWLbK6detm2mXxwv3akiVLzN/f3+PUfso4S5YsMT8/P3d/Wm/rTLF//37bsWOHmf1vXk6ePNmaNGmS5QupLsmQmtYV3ikz6Mknn7QPPvjAHnnkEQsLC7OdO3fac889Z0WLFrUXX3zR5yscExISrH379nbPPff41O8ivavQv/76aytQoICVLVvWY4ebkJBgN954o8c3aW/aPH+HcObMGTtx4oRVq1bNVq9ebWZmkZGR5nK50g3o6dW5Z88e++6779zzNeV9PvvsM6tZs2a6G463V9+vWbPGSpUqZd27d7d+/fpZwYIFfbqy8/xviHPmzLGCBQtajRo1rECBApleWOPLFeM7duywNm3amMvlssDAQPvll1/SbDO96T5x4oSdPXvWmjVrZnPnznUPT0xM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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "X = np.random.standard_normal((30, 3))\n", "corD = 1 - np.corrcoef(X)\n", @@ -1232,9 +2418,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 47, "id": "b94424fc", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:20.038049Z", + "iopub.status.busy": "2023-07-26T00:00:20.037914Z", + "iopub.status.idle": "2023-07-26T00:00:20.043042Z", + "shell.execute_reply": "2023-07-26T00:00:20.042732Z" + } + }, "outputs": [], "source": [ "NCI60 = load_data('NCI60')\n", @@ -1258,12 +2451,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 48, "id": "cea54566", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:20.044884Z", + "iopub.status.busy": "2023-07-26T00:00:20.044785Z", + "iopub.status.idle": "2023-07-26T00:00:20.047376Z", + "shell.execute_reply": "2023-07-26T00:00:20.046971Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(64, 6830)" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "nci_data.shape\n" ] @@ -1278,12 +2488,44 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 49, "id": "4dac41bb", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:20.049125Z", + "iopub.status.busy": "2023-07-26T00:00:20.048998Z", + "iopub.status.idle": "2023-07-26T00:00:20.052730Z", + "shell.execute_reply": "2023-07-26T00:00:20.052393Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "label \n", + "NSCLC 9\n", + "RENAL 9\n", + "MELANOMA 8\n", + "BREAST 7\n", + "COLON 7\n", + "LEUKEMIA 6\n", + "OVARIAN 6\n", + "CNS 5\n", + "PROSTATE 2\n", + "K562A-repro 1\n", + "K562B-repro 1\n", + "MCF7A-repro 1\n", + "MCF7D-repro 1\n", + "UNKNOWN 1\n", + "dtype: int64" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "nci_labs.value_counts()\n" ] @@ -1302,9 +2544,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 50, "id": "d8ebadd6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:20.054502Z", + "iopub.status.busy": "2023-07-26T00:00:20.054401Z", + "iopub.status.idle": "2023-07-26T00:00:20.185686Z", + "shell.execute_reply": "2023-07-26T00:00:20.184416Z" + } + }, "outputs": [], "source": [ "scaler = StandardScaler()\n", @@ -1327,12 +2576,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 51, "id": "63b5efe3", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:20.190805Z", + "iopub.status.busy": "2023-07-26T00:00:20.190351Z", + "iopub.status.idle": "2023-07-26T00:00:20.452175Z", + "shell.execute_reply": "2023-07-26T00:00:20.451824Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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cETNF6eIEnmofqED0DckGSfKjiHflAeDbECifxL2Fu5EqnG37QcAYJANDo6SiIiaq9mzZ+Pll1+ut82+ffuwZs0aFBUVYc6cOU16/Tlz5uCxxx6z3jYajSyyERERXcTbq2FlIYOX4qBImj8W2Ig8mCRJSPBtgwTfNtZjHfw7Q4YCzcZuoxIk9Aju4+AIiYiouZo1axamTJlSb5vExESsX78eKSkpMBiqf2nTr18/3H777fj4448RHR2N7OzsauerbkdHR9f62AaDocZjEhERUXUhfj7oFBuBA6dzUN/sT1mS0DcxDnody0h1Yc8QUTUBXoHoHzoQ2/JSqu0gejFZkjEknAtcEhFR7SIiIhAREWGz3VtvvYV//vOf1tunTp3CuHHj8OWXX2LAgAEAgEGDBmHu3Lkwm83w8qrc+Xvt2rXo2LEjQkJCHPMEiIiIPMQdw3pj7pdr6m2jCYHbh/R2UkTNE9dgI6IaboqfjHBDJORaXiKkc/+b0uY+BHoFuSA6IiJqSRISEtCtWzfrT4cOHQAA7dq1Q6tWrQAAt912G/R6PaZOnYq0tDR8+eWXePPNN6tNASUiIqJLc1WfLpjYq2O9bW4a2B2ju7VzUkTNE0ewEVENfjp/PNXpeXyb+RVScjfCIszWc6192+LquBvRJbC7CyMkIiJPEhQUhDVr1mDGjBno27cvwsPD8eyzz2L69OmuDo2IiKjZk2UJ824dj06xEfj4tx3ILS61nosM9MfUkf1w25BekCTJhVG6P0kIwT1WzzEajQgKCkJhYSECAwNdHQ6RWyhTS3Gk+BAswoIIQyRifVq5OiQiIrfDHML98b8RERGRbRZVw65jp1BYWo4QPx/0bB0DRfbsyY/25hAcwUZE9fJRfNE1qIerwyAiIiIiIiIH0yky+iVyUMWl8OwyJBERERERERERUSOxwEZERERERERERNQILLARERERERERERE1AgtsREREREREREREjcACGxERERERERERUSOwwEZERERERERERNQILLARERERERERERE1AgtsREREREREREREjcACGxERERERERERUSOwwEZERERERERERNQILLARERERERERERE1AgtsREREREREREREjcACGxERERERERERUSPoXB2AOxFCAACMRqOLIyEiIqLmpCp3qMolyP0wzyMiIqJLYW+exwLbBYqKigAA8fHxLo6EiIiImqOioiIEBQW5OgyqBfM8IiIiagxbeZ4k+FWrlaZpOHXqFAICAiBJUrVzRqMR8fHxOHHiBAIDA10UYfPCPmsY9lfDsc8ajn3WcOyzhvHU/hJCoKioCLGxsZBlrsDhjpjnNS32WcOwvxqOfdZw7LOGY581jKf2l715HkewXUCWZbRq1areNoGBgR71i9QU2GcNw/5qOPZZw7HPGo591jCe2F8cuebemOc5BvusYdhfDcc+azj2WcOxzxrGE/vLnjyPX7ESERERERERERE1AgtsREREREREREREjcACm50MBgOee+45GAwGV4fSbLDPGob91XDss4ZjnzUc+6xh2F/UHPH3tuHYZw3D/mo49lnDsc8ajn3WMOyv+nGTAyIiIiIiIiIiokbgCDYiIiIiIiIiIqJGYIGNiIiIiIiIiIioEVhgIyIiIiIiIiIiagQW2IiIiIiIiIiIiBqBBTY7/fDDDxgwYAB8fHwQEhKCa6+9ttr548eP44orroCvry8iIyPxxBNPwGKxuCZYN1FRUYFevXpBkiTs2rWr2rk9e/Zg2LBh8Pb2Rnx8PF555RXXBOkGMjIyMHXqVLRt2xY+Pj5o164dnnvuOZhMpmrt2Gc1vfPOO2jTpg28vb0xYMAAbN261dUhuYV58+ahf//+CAgIQGRkJK699lqkp6dXa1NeXo4ZM2YgLCwM/v7+uOGGG5Cdne2iiN3L/PnzIUkSZs6caT3G/qopMzMTkydPRlhYGHx8fNC9e3ds377del4IgWeffRYxMTHw8fHBmDFjcPDgQRdGTFQ35nmXhrmebczzLh3zvNoxz2s85nr2Ya53CQTZtHz5chESEiIWLlwo0tPTRVpamvjyyy+t5y0Wi+jWrZsYM2aM2Llzp/jxxx9FeHi4mDNnjgujdr1HHnlETJgwQQAQO3futB4vLCwUUVFR4vbbbxepqaniiy++ED4+PuK9995zXbAutGrVKjFlyhSxevVqcfjwYbFixQoRGRkpZs2aZW3DPqtp6dKlQq/Xi0WLFom0tDQxbdo0ERwcLLKzs10dmsuNGzdOLF68WKSmpopdu3aJiRMnioSEBFFcXGxtc//994v4+Hixbt06sX37djFw4EAxePBgF0btHrZu3SratGkjevToIR599FHrcfZXdXl5eaJ169ZiypQpYsuWLeLIkSNi9erV4tChQ9Y28+fPF0FBQeLbb78Vu3fvFldffbVo27atKCsrc2HkRDUxz7t0zPVsY553aZjn1Y15XuMw17MPc71LwwKbDWazWcTFxYkPP/ywzjY//vijkGVZZGVlWY8tXLhQBAYGioqKCmeE6XZ+/PFH0alTJ5GWllYj6frPf/4jQkJCqvXNU089JTp27OiCSN3TK6+8Itq2bWu9zT6rKTk5WcyYMcN6W1VVERsbK+bNm+fCqNzTmTNnBADx66+/CiGEKCgoEF5eXmLZsmXWNvv27RMAREpKiqvCdLmioiKRlJQk1q5dKy677DJr0sX+qumpp54SQ4cOrfO8pmkiOjpavPrqq9ZjBQUFwmAwiC+++MIZIRLZhXnepWOud+mY59nGPM9+zPPsx1zPfsz1Lg2niNqwY8cOZGZmQpZl9O7dGzExMZgwYQJSU1OtbVJSUtC9e3dERUVZj40bNw5GoxFpaWmuCNulsrOzMW3aNHz66afw9fWtcT4lJQXDhw+HXq+3Hhs3bhzS09ORn5/vzFDdVmFhIUJDQ6232WfVmUwm/PnnnxgzZoz1mCzLGDNmDFJSUlwYmXsqLCwEAOvv1J9//gmz2Vyt/zp16oSEhASP7r8ZM2bgiiuuqNYvAPurNt999x369euHSZMmITIyEr1798YHH3xgPX/06FFkZWVV67OgoCAMGDDAY/uM3BPzvEvDXK9xmOfVj3lewzDPsx9zPfsx17s0LLDZcOTIEQDA888/j6effhorV65ESEgIRowYgby8PABAVlZWtaQLgPV2VlaWcwN2MSEEpkyZgvvvvx/9+vWrtQ37q36HDh3CggULcN9991mPsc+qO3v2LFRVrbVPPLE/6qNpGmbOnIkhQ4agW7duACp/Z/R6PYKDg6u19eT+W7p0KXbs2IF58+bVOMf+qunIkSNYuHAhkpKSsHr1ajzwwAN45JFH8PHHHwM4/7rEv1Fyd8zzGo65XuMwz7ONeZ79mOfZj7lewzDXuzQeW2CbPXs2JEmq92f//v3QNA0AMHfuXNxwww3o27cvFi9eDEmSsGzZMhc/C+ext78WLFiAoqIizJkzx9Uhu5y9fXahzMxMjB8/HpMmTcK0adNcFDm1JDNmzEBqaiqWLl3q6lDc1okTJ/Doo49iyZIl8Pb2dnU4zYKmaejTpw9eeukl9O7dG9OnT8e0adPw7rvvujo0IgDM8y4Fc72GYZ5H7oB5nn2Y6zUcc71Lo3N1AK4ya9YsTJkypd42iYmJOH36NACgS5cu1uMGgwGJiYk4fvw4ACA6OrrGrjZVO45ER0c3YdSuY29/rV+/HikpKTAYDNXO9evXD7fffjs+/vhjREdH19iRpaX1F2B/n1U5deoURo4cicGDB+P999+v1s5T+sxe4eHhUBSl1j7xxP6oy0MPPYSVK1fit99+Q6tWrazHo6OjYTKZUFBQUO2bOk/tvz///BNnzpxBnz59rMdUVcVvv/2Gt99+G6tXr2Z/XSQmJqba+yIAdO7cGV9//TWA869L2dnZiImJsbbJzs5Gr169nBYneS7meQ3HXK9hmOc5DvM8+zDPsx9zvYZjrneJXL0InLsrLCwUBoOh2uK3JpNJREZGWnf2qVr89sJdbd577z0RGBgoysvLnR6zKx07dkzs3bvX+rN69WoBQCxfvlycOHFCCHF+IVeTyWS935w5czx6IdeTJ0+KpKQkccsttwiLxVLjPPuspuTkZPHQQw9Zb6uqKuLi4rj4rahcdHTGjBkiNjZWHDhwoMb5qoVcly9fbj22f/9+j13I1Wg0Vnvd2rt3r+jXr5+YPHmy2Lt3L/urFrfeemuNhW9nzpwpBg0aJIQ4v/Dta6+9Zj1f9X7qyQvfkvthntdwzPUajnlewzHPqxvzvIZjrtdwzPUuDQtsdnj00UdFXFycWL16tdi/f7+YOnWqiIyMFHl5eUKI89u3jx07VuzatUv89NNPIiIigtu3CyGOHj1aY2epgoICERUVJe644w6Rmpoqli5dKnx9fT12K/KTJ0+K9u3bi9GjR4uTJ0+K06dPW3+qsM9qWrp0qTAYDOKjjz4Sf/31l5g+fboIDg6utsubp3rggQdEUFCQ+OWXX6r9PpWWllrb3H///SIhIUGsX79ebN++XQwaNMj6hkmi2s5SQrC/LrZ161ah0+nEiy++KA4ePCiWLFkifH19xWeffWZtM3/+fBEcHCxWrFgh9uzZI6655hqP37qd3BPzvMZhrlc/5nmXhnle3ZjnNQ3mevVjrndpWGCzg8lkErNmzRKRkZEiICBAjBkzRqSmplZrk5GRISZMmCB8fHxEeHi4mDVrljCbzS6K2H3UlnQJIcTu3bvF0KFDhcFgEHFxcWL+/PmuCdANLF68WACo9edC7LOaFixYIBISEoRerxfJycli8+bNrg7JLdT1+7R48WJrm7KyMvHggw+KkJAQ4evrK6677rpqyb6nuzjpYn/V9P3334tu3boJg8EgOnXqJN5///1q5zVNE88884yIiooSBoNBjB49WqSnp7soWqK6Mc9rHOZ69WOed+mY59WOeV7TYK5nG3O9hpOEEMLR01CJiIiIiIiIiIhaKo/dRZSIiIiIiIiIiKgpsMBGRERERERERETUCCywERERERERERERNQILbERERERERERERI3AAhsREREREREREVEjsMBGRERERERERETUCCywERERERERERERNQILbERERERERERERI3AAhsReawpU6ZAkiRIkgS9Xo/27dvjH//4BywWCwBACIH3338fAwYMgL+/P4KDg9GvXz+88cYbKC0tBQCkpaXhhhtuQJs2bSBJEt544w0XPiMiIiIiqsJcj4iciQU2IvJo48ePx+nTp3Hw4EHMmjULzz//PF599VUAwB133IGZM2fimmuuwYYNG7Br1y4888wzWLFiBdasWQMAKC0tRWJiIubPn4/o6GhXPhUiIiIiughzPSJyFkkIIVwdBBGRK0yZMgUFBQX49ttvrcfGjh2LoqIi/O1vf8PNN9+Mb7/9Ftdcc021+wkhYDQaERQUVO14mzZtMHPmTMycOdMJ0RMRERFRfZjrEZEzcQQbEdEFfHx8YDKZsGTJEnTs2LFGwgUAkiTVSLiIiIiIyP0x1yMiR2GBjYgIld9U/vzzz1i9ejVGjRqFgwcPomPHjq4Oi4iIiIiaAHM9InI0FtiIyKOtXLkS/v7+8Pb2xoQJE3DzzTfj+eefB2fPExERETV/zPWIyFl0rg6AiMiVRo4ciYULF0Kv1yM2NhY6XeXLYocOHbB//34XR0dEREREjcFcj4ichSPYiMij+fn5oX379khISLAmXABw22234cCBA1ixYkWN+wghUFhY6MwwiYiIiOgSMNcjImdhgY2IqBY33XQTbr75Ztx666146aWXsH37dhw7dgwrV67EmDFjsGHDBgCAyWTCrl27sGvXLphMJmRmZmLXrl04dOiQi58BEREREdWFuR4RNTVJcPI5EXmo2rZuv5CmaXj//fexaNEipKWlQafTISkpCXfeeSemTZsGHx8fZGRkoG3btjXue9lll+GXX35x7BMgIiIiojox1yMiZ2KBjYiIiIiIiIiIqBE4RZSIiIiIiIiIiKgRWGAjIiIiIiIiIiJqBBbYiIiIiIiIiIiIGoEFNiIiIiIiIiIiokZggY2IiIiIiIiIiKgRWGAjIiIiIiIiIiJqBBbYiIiIiIiIiIiIGoEFNiIiIiIiIiIiokZggY2IiIiIiIiIiKgRWGAjIiIiIiIiIiJqBBbYiIiIiIiIiIiIGoEFNiIiIiIiIiIiokb4f+rgYCYQ5a1aAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "cancer_types = list(np.unique(nci_labs))\n", "nci_groups = np.array([cancer_types.index(lab)\n", @@ -1380,12 +2646,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 52, "id": "e20c3cc1", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:20.454082Z", + "iopub.status.busy": "2023-07-26T00:00:20.453955Z", + "iopub.status.idle": "2023-07-26T00:00:20.657428Z", + "shell.execute_reply": "2023-07-26T00:00:20.657082Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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re2suHBIRmqCku02+fvfvUVSMp+8AQCALmIYhiyWliuTr776ytO3FzCb02Uof9tevbh5t/K37dXe/Q26/skPVdfoVEr/WDnivSsyHXYbA8YAAEHRpq2jX3zxhd566y0tX75ct9xyi2655RZdeeWV+ulPf6qzzz67s2Ls0SKsFmVPTtOcFYWySF5DEfjkDQAAdJUzzzxTFotFFotF3/3udxUZeXgZ6XQ6VVJSookTJ5oYIdAsr6hUOWuKvfocR0dY1eh0aaDdpn/dkKn+vWNUUFKpipp6JcY1f2jNehoAEAxtnjp6/vnn6/zzz9fixYu1atUq/f3vf9e5556rk08+Wddff72uueYaJSUldUasPdbE9GQtmT6qxYLBYbcpe3Ian7wBAIBO5542unnzZk2YMEF9+vTxnIuOjlZKSop++MMfmhQd0CyvqFRzVhR6fTgtSY3O5iEe152b6mm5wiAxAEBnsBiGcfT/h9rsyy+/1N///nctXbpU+/fvV0NDQzBiM011dbXsdruqqqoUHx9vdjgeTpehDV/u0YzlBTIk5c+/SMl9e5kdFgAAUOiuH4LtySef1NSpU2WzhWd/2J7yc+qJnC5D5z7wutcH00dLttv0zryLqF4DALRZoGuINvVo86W2tlZvv/221q9fr2+//VbHH398R58SfkRYLTrvpOM08FBy7at9B0yOCAAA9DQzZ84M2yQbureCkspWk2ySVFpVr4KSyi6KCADQE7U70fbOO+/ouuuuU3Jysm6++WaddNJJevvtt/XZZ58FMz74MKx/rCRpx946kyMBAAA9jdPp1EMPPaSMjAw5HA4lJCR4fQFmqahpPcnW1usAAGiPNiXaSktLdf/99+uUU07R+eefry1btuiRRx5RaWmpli9frnPOOaez4sQRhvXvLUnauZeprwAAoGvl5OTokUce0dSpU1VVVaWsrCxdccUVslqtuueee8wODz2Yu/dasK4DAKA92jQMYciQIRowYICuueYaXX/99TrllFM6Ky60wlPRVklFGwAA6Fr//Oc/tWzZMk2aNEn33HOPpk2bpuHDh+uMM87Qe++9p5tvvtnsENFDZaQmyBFvU1m174o1i5qHiWWkUnkJAOg8bapoe/rppzV37lxt2LBB11xzjebPn68DB+gT1tWGJbB1FAAAmKOsrEynn366JKlPnz6qqqqSJP3gBz/Q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u+9WcnKyevXqpfHjx+uLL74wJ9gQkJubq7POOktxcXFKTEzUlClTtHXrVq9r6uvrdeONN6p///7q06ePfvjDH6q8vNykiM21ZMkSnXHGGYqPj1d8fLwyMzP1n//8x3Oe96p1999/vywWi2699VbPMd4zb/fcc48sFovX1ymnnOI5z/vV0u7duzV9+nT1799fvXr10umnn64PP/zQc54/9xGOWOf5x1ovcKzz2o61Xvuxzjs21nltxzrPPxJtQbZq1SplZWUpOztbhYWFGjFihCZMmKCKigqzQzNdbW2tRowYocWLF/s8//vf/15//OMftXTpUr3//vvq3bu3JkyYoPr6+i6ONDSsX79eN954o9577z2tXbtWTU1N+t73vqfa2lrPNbfddpvWrFmjZ599VuvXr9fXX3+tK664wsSozTN48GDdf//92rhxoz788ENddNFFuuyyy/Tpp59K4r1qzQcffKC//OUvOuOMM7yO8561dNppp6m0tNTz9c4773jO8X55+/bbb3XOOecoKipK//nPf1RcXKyHH35Y/fr181zDn/sIN6zzWsdaL3Cs89qOtV77sM4LHOu8wLHOOwYDQZWRkWHceOONnsdOp9MYOHCgkZuba2JUoUeS8fzzz3seu1wuw+FwGA8++KDn2L59+4yYmBjjmWeeMSHC0FNRUWFIMtavX28YRvP7ExUVZTz77LOeaz777DNDkpGfn29WmCGlX79+xl//+lfeq1bU1NQYJ554orF27VrjggsuMG655RbDMPj98iU7O9sYMWKEz3O8Xy3NmzfPOPfcc/2e5899hCPWeYFjrdc2rPPah7Ve61jnBY51XtuwzmsdFW1B1NjYqI0bN2r8+PGeY1arVePHj1d+fr6JkYW+kpISlZWVeb13drtdY8eO5b07pKqqSpKUkJAgSdq4caOampq83rNTTjlFQ4cO7fHvmdPp1MqVK1VbW6vMzEzeq1bceOONmjRpktd7I/H75c8XX3yhgQMH6vjjj9dPfvIT7dy5UxLvly+rV6/WmDFjdOWVVyoxMVFnnnmmli1b5jnPn/sIN6zzOob/5lvHOq9tWOsFhnVe27DOCxzrvNaRaAuiPXv2yOl0Kikpyet4UlKSysrKTIoqPLjfH94731wul2699Vadc845Sk9Pl9T8nkVHR6tv375e1/bk9+yTTz5Rnz59FBMToxtu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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, axes = plt.subplots(1, 2, figsize=(15,6))\n", "ax = axes[0]\n", @@ -1436,9 +2719,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 53, "id": "622de805", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:20.659393Z", + "iopub.status.busy": "2023-07-26T00:00:20.659262Z", + "iopub.status.idle": "2023-07-26T00:00:20.662015Z", + "shell.execute_reply": "2023-07-26T00:00:20.661717Z" + } + }, "outputs": [], "source": [ "def plot_nci(linkage, ax, cut=-np.inf):\n", @@ -1467,12 +2757,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 54, "id": "54d40449", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:20.663751Z", + "iopub.status.busy": "2023-07-26T00:00:20.663617Z", + "iopub.status.idle": "2023-07-26T00:00:22.071969Z", + "shell.execute_reply": "2023-07-26T00:00:22.071658Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABMIAAAmnCAYAAABmmbWJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXwddb0//vdJl7RJN8qSUujGIpSyClhqK7LUW0B2RKsoZVGQC8iigHgFtHipegFZZBHZvVT5gorgUkS21rbslEUQKPsVG1BoaxMotP38/vDR/EibNtskZ5J5Ph+PPB45M+e885k5mZkzr/OZz5RSSikAAAAAoJurKHcDAAAAAKAzCMIAAAAAKARBGAAAAACFIAgDAAAAoBAEYQAAAAAUgiAMAAAAgEIQhAEAAABQCIIwAAAAAApBEAYAAABAIQjCAAA6SKlUiu985zvlbkarjRw5Mo444og2v3bffffNtkEAABkRhAEAufbiiy/GscceG5tsskn06dMnBgwYEOPHj4+LL7443n333XI3r0O88cYb8Z3vfCfmzZuXad1XXnklSqVSnH/++ZnWBQDoKnqWuwEAAGvyu9/9Lg499NCorKyMww8/PLbeeut4//33489//nOcdtpp8Ze//CWuuuqqcjczc2+88UZ897vfjZEjR8b222/f6X//ueeei4oK35cCAN2PIAwAyKWXX345Jk+eHCNGjIh77rknNtxww4Z5xx9/fMyfPz9+97vflbGF3VdlZWW5mwAA0CF81QcA5NIPf/jDWLJkSVxzzTWNQrCVNttsszjppJMaHi9btizOPffc2HTTTaOysjJGjhwZ3/rWt2Lp0qWNXrdyDKv77rsvdtppp+jbt29ss802cd9990VExK9+9avYZpttok+fPrHjjjvG448/3uj1RxxxRPTr1y9eeumlmDRpUlRXV8fQoUNj6tSpkVJqdrn+9re/xVFHHRU1NTVRWVkZY8aMiWuvvbZh/n333Rc777xzREQceeSRUSqVolQqxfXXX9/wnAcffDD22muvGDhwYFRVVcUnP/nJmD17drN/u6VWHSPs+uuvj1KpFLNnz45TTz011l9//aiuro6DDjoo3nrrrWbr3XDDDdGzZ8847bTTIiLi7bffjm984xuxzTbbRL9+/WLAgAGx9957xxNPPLHaa1999dXYf//9o7q6OjbYYIM45ZRT4s4774xSqdTwnq3U0esFAOj6BGEAQC7dcccdsckmm8THP/7xFj3/y1/+cpx99tnx0Y9+NH70ox/FJz/5yZg2bVpMnjx5tefOnz8/vvCFL8R+++0X06ZNi3feeSf222+/uOmmm+KUU06JL37xi/Hd7343XnzxxfjsZz8bK1asaPT65cuXx1577RU1NTXxwx/+MHbcccc455xz4pxzzllrG2tra2OXXXaJP/3pT3HCCSfExRdfHJtttlkcffTRcdFFF0VExOjRo2Pq1KkREXHMMcfEz372s/jZz34Wu+66a0RE3HPPPbHrrrvG4sWL45xzzonzzjsvFi5cGHvssUc89NBDLVpXbXXiiSfGE088Eeecc04cd9xxcccdd8QJJ5yw1tdcddVVceSRR8Y3v/nN+J//+Z+IiHjppZfitttui3333TcuvPDCOO200+Kpp56KT37yk/HGG280vLauri722GOP+NOf/hRf+9rX4r/+679izpw5ccYZZ6z2d8q5XgCALiQBAOTMokWLUkSkAw44oEXPnzdvXoqI9OUvf7nR9G984xspItI999zTMG3EiBEpItKcOXMapt15550pIlLfvn3Tq6++2jD9Jz/5SYqIdO+99zZMmzJlSoqIdOKJJzZMW7FiRfr0pz+devfund56662G6RGRzjnnnIbHRx99dNpwww3TP/7xj0btnDx5cho4cGCqr69PKaX08MMPp4hI1113XaPnrVixIm2++eZp0qRJacWKFQ3T6+vr06hRo9KnPvWpta6nl19+OUVE+p//+Z+1Pm/EiBFpypQpDY+vu+66FBFp4sSJjf7uKaecknr06JEWLlzY6LWf/vSnU0opXXzxxalUKqVzzz23Uf333nsvLV++fLW2VVZWpqlTpzZMu+CCC1JEpNtuu61h2rvvvpu23HLLRu9Le9cLAFAceoQBALmzePHiiIjo379/i57/+9//PiIiTj311EbTv/71r0dErDaW2FZbbRXjxo1reDx27NiIiNhjjz1i+PDhq01/6aWXVvubH+4JVSqV4oQTToj3338//vSnPzXZxpRS/PKXv4z99tsvUkrxj3/8o+Fn0qRJsWjRonjsscfWupzz5s2LF154Ib7whS/EP//5z4bX19XVxZ577hkzZ85crfdalo455pgolUoNjz/xiU/E8uXL49VXX13tuT/84Q/jpJNOih/84Afx7W9/u9G8ysrKhsH4ly9fHv/85z+jX79+scUWWzRaBzNmzIiNNtoo9t9//4Zpffr0ia985SuN6pV7vQAAXYfB8gGA3BkwYEBERPzrX/9q0fNfffXVqKioiM0226zR9CFDhsSgQYNWC2o+HHZFRAwcODAiIoYNG9bk9HfeeafR9IqKithkk00aTfvIRz4SERGvvPJKk2186623YuHChXHVVVet8U6Xb775ZpPTV3rhhRciImLKlClrfM6iRYtinXXWWWudtlp1va38O6uun/vvvz9+97vfxRlnnNEwLtiHrVixIi6++OK4/PLL4+WXX47ly5c3zFt33XUbfn/11Vdj0003bRS+RcRq73O51wsA0HUIwgCA3BkwYEAMHTo0nn766Va9btXAZE169OjRqumpBYPgN2dlj6QvfvGLawxstt122xbV+J//+Z/Yfvvtm3xOv3792t7IZrR0/YwZMyYWLlwYP/vZz+LYY4+NUaNGNZp/3nnnxVlnnRVHHXVUnHvuuTF48OCoqKiIk08+uU09t8q9XgCArkMQBgDk0r777htXXXVVzJ07t9FljE0ZMWJErFixIl544YUYPXp0w/Ta2tpYuHBhjBgxItO2rVixIl566aWGXmAREc8//3xE/PuOi01Zf/31o3///rF8+fKYOHHiWuuvKdDbdNNNI+LfQWFzNcppvfXWi1tvvTUmTJgQe+65Z/z5z3+OoUOHNsy/9dZbY/fdd49rrrmm0esWLlwY6623XsPjESNGxDPPPBMppUbrZP78+Y1e11XWCwBQfsYIAwBy6fTTT4/q6ur48pe/HLW1tavNf/HFF+Piiy+OiIh99tknIqLhzosrXXjhhRER8elPfzrz9v34xz9u+D2lFD/+8Y+jV69eseeeezb5/B49esQhhxwSv/zlL5vs6fbWW281/F5dXR0R/w6GPmzHHXeMTTfdNM4///xYsmTJWmuU28Ybbxx/+tOf4t13341PfepT8c9//rNhXo8ePVbrRXbLLbfE3/72t0bTJk2aFH/729/i9ttvb5j23nvvxU9/+tNGz+tK6wUAKC89wgCAXNp0001j+vTp8bnPfS5Gjx4dhx9+eGy99dbx/vvvx5w5c+KWW26JI444IiIitttuu5gyZUpcddVVsXDhwvjkJz8ZDz30UNxwww1x4IEHxu67755p2/r06RMzZsyIKVOmxNixY+MPf/hD/O53v4tvfetbsf7666/xdd///vfj3nvvjbFjx8ZXvvKV2GqrreLtt9+Oxx57LP70pz/F22+/3bDsgwYNiiuvvDL69+8f1dXVMXbs2Bg1alRcffXVsffee8eYMWPiyCOPjI022ij+9re/xb333hsDBgyIO+64o9n233333fHee++tNv3AAw+Mrbfeuu0rZhWbbbZZ/PGPf4zddtstJk2aFPfcc08MGDAg9t1335g6dWoceeSR8fGPfzyeeuqpuOmmm1Ybd+3YY4+NH//4x/H5z38+TjrppNhwww3jpptuij59+kTE/99zrqKiIpP1AgB0f4IwACC39t9//3jyySfjf/7nf+I3v/lNXHHFFVFZWRnbbrttXHDBBY3uHnj11VfHJptsEtdff338+te/jiFDhsSZZ54Z55xzTubt6tGjR8yYMSOOO+64OO2006J///5xzjnnxNlnn73W19XU1MRDDz0UU6dOjV/96ldx+eWXx7rrrhtjxoyJH/zgBw3P69WrV9xwww1x5plnxle/+tVYtmxZXHfddTFq1KjYbbfdYu7cuXHuuefGj3/841iyZEkMGTIkxo4dG8cee2yL2j9jxoyYMWPGatNHjhyZaRAWEbHNNtvEH/7wh5g4cWLst99+MWPGjPjWt74VdXV1MX369Lj55pvjox/9aPzud7+Lb37zm41e269fv7jnnnvixBNPjIsvvjj69esXhx9+eHz84x+PQw45pCEQi4hM1gsA0P2VUhajvwIAFMQRRxwRt956a5OX4NE5LrroojjllFPi//7v/2KjjTYqd3MAgC7EGGEAAOTWu+++2+jxe++9Fz/5yU9i8803F4IBAK3m0kgAAHLr4IMPjuHDh8f2228fixYtiv/93/+Nv/71r3HTTTeVu2kAQBckCAMAILcmTZoUV199ddx0002xfPny2GqrreIXv/hFfO5znyt30wCALsgYYQAAAAAUgjHCAAAAACgEQRgAAAAAhdAlxwhbsWJFvPHGG9G/f/8olUrlbg4AAAAAZZRSin/9618xdOjQqKhYc7+vLhmEvfHGGzFs2LByNwMAAACAHHn99ddj4403XuP8LhmE9e/fPyL+vXADBgwoc2sAAAAAKKfFixfHsGHDGjKjNemSQdjKyyEHDBggCAMAAAAgIqLZIbQMlg8AAABAIQjCAAAAACgE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qqur2xyEAQBAa7g0EgAAAIBC0CMMAAAAoEyau5N2U1pzd+1VFf1u24IwAAAAgDJo7Z20m9La8VKLfrdtl0YCAAAAlEHWd9JuiaLfbVuPMAAAAIAya8+dtFvC3bb/TRAGAAAAUGbupN05XBoJAAAAQCEIwgAAAAAoBEEYAAAAAIUgCAMAAACgEARhAAAAABSCIAwAAACAQhCEAQAAAFAIgjAAAAAACkEQBgAAAEAhCMIAAAAAKARBGAAAAACFIAgDAAAAoBAEYQAAAAAUQocEYX/729/ii1/8Yqy77rrRt2/f2GabbeKRRx5pmJ9SirPPPjs23HDD6Nu3b0ycODFeeOGFjmgKAAAAAEREBwRh77zzTowfPz569eoVf/jDH+KZZ56JCy64INZZZ52G5/zwhz+MSy65JK688sp48MEHo7q6OiZNmhTvvfde1s0BAAAAgIiI6Jl1wR/84AcxbNiwuO666xqmjRo1quH3lFJcdNFF8e1vfzsOOOCAiIi48cYbo6amJm677baYPHnyajWXLl0aS5cubXi8ePHirJsNAAAAQDeXeY+w22+/PXbaaac49NBDY4MNNogddtghfvrTnzbMf/nll2PBggUxceLEhmkDBw6MsWPHxty5c5usOW3atBg4cGDDz7Bhw7JuNgAAAADdXOZB2EsvvRRXXHFFbL755nHnnXfGcccdF1/72tfihhtuiIiIBQsWRERETU1No9fV1NQ0zFvVmWeeGYsWLWr4ef3117NuNgAAAADdXOaXRq5YsSJ22mmnOO+88yIiYocddoinn346rrzyypgyZUqbalZWVkZlZWWWzQQAAACgYDIPwjbccMPYaqutGk0bPXp0/PKXv4yIiCFDhkRERG1tbWy44YYNz6mtrY3tt98+6+YAAABAYaSUor6+vlWvqaura/L3lqiqqopSqdSq10A5ZR6EjR8/Pp577rlG055//vkYMWJERPx74PwhQ4bE3Xff3RB8LV68OB588ME47rjjsm4OAAAAFEJKKSZMmBBz5sxpc41VhzFqzvjx42PWrFnCMLqMzMcIO+WUU+KBBx6I8847L+bPnx/Tp0+Pq666Ko4//viIiCiVSnHyySfH9773vbj99tvjqaeeisMPPzyGDh0aBx54YNbNAQAAgEKor69vVwjWFrNnz251DzQop8x7hO28887x61//Os4888yYOnVq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9tprr1adw86dOzcdffTRacCAAWnrrbdOPXr0aFMw013rHHPMMWmTTTZJv//979OiRYvSokWL0u9+97u06aabpq9+9autqvWzn/0s9ezZM332s59NF198cbr44ovTZz/72dSrV6900003tbhO3tbRqrpVEHbsscemU045Za0/nVWnf//+6YUXXmh4PHny5PSVr3yl4fHjjz+eNtxww06r05zWBmFZrKPhw4enZ555Zo3zn3322TRs2LAWL8OatHTZ9t133zRgwID0+c9/Pv32t79Ny5YtSymldp8QL1++PP30pz9NG2+8cRo+fHi69tpr0/LlyzutTkeu56yWLaWU7rrrrrTjjjum/v37p3POOSctXry4bHXaulwtCXla8r+Y5XuWVa2s6uRtHXXUdr+qrnyCvqost/t//vOf6eSTT06VlZVp1113TXPnzu209mS5neXtmJ9VnbwdpzurTpa1Wlonb/u0vNXJY5uyqpO3c5imZPUZLcta3aFO1u/ZyJEj0w033LDa9Ouvvz6NHDmyRTWyblNVVVV68sknV5s+b968VF1d3ezrzz///LTVVluljTbaKH3jG99I8+bNSym1fjvrrnVWWnfdddO999672vR77rknrbfeeq2qteWWWzYZnF5wwQVpyy23bPb1eV1Hq+o2d42MiHjqqaeid+/ea5zf0muks6hTUVHRcG12RMQDDzwQZ511VsPjQYMGxTvvvNNpdW6//fa1zm/t3U+yWEe1tbXRq1evNc7v2bNnvPXWW83WyWrZ/vCHP8TXvva1OO644zIbO+VXv/pVfOtb34q33norzjzzzDjxxBOjsrKyU+tktZ6zbNOHPfbYY3HGGWfErFmz4stf/nL8/ve/b9O4BFnVyWq52iPL9yyrWh31f9RWWbUnq+0+y31sVrWy3u9HZLd9vPvuu3HhhRfG+eefHyNGjIhf/epXsc8++3Rqe7L8n87bMT+rOnk7Tnfn7Sxv+7S81cljm7Jctjydw3xYVp+tsqzV3epk+Z79/e9/b/LGHB//+MdbNY5Slm2qrKyMf/3rX6tNX7JkyVr/xkpnnHFGnHHGGTF16tR2jSnWXeusVF9fHzU1NatN32CDDaK+vr5VtV566aXYb7/9Vpu+//77x7e+9a1mX5/XdbSadkdpOZG36+t32WWXdMEFF6SUUnr66adTRUVFeumllxrm33fffWnEiBGdVmdtY6p8+KclslpHm2yySfr1r3+9xvm//OUv06hRo1rUniyWbe7cuenLX/5y6t+/f/rYxz6WLr300vTWW2+1KXW+77770tixY1NVVVU688wz08KFC1v1+izrZLWes2xTSinNnz8/ffazn009evRIn//85xv1CipHnSyWq6KiolF38v79+zfaXlva2ynL9yyrWlnVyds6ymq7z3ofm0WtLNuU1Xa/bNmydMUVV6QhQ4akkSNHphtvvDGtWLGi1XXytm/M2zE/qzp5O0535+0sb/u0vNXJY5uyPH7k6Rwmpew+W2VZqzvWyXo8rjFjxqT//u//Xm36ueeem7beeuuytOlLX/pSGjNmTHrggQfSihUr0ooVK9LcuXPT1ltvnaZMmdLs688777y0+eabp2HDhqXTTz89PfXUUyml1vcK6q51Vtpjjz3SoYcemt59992GafX19enQQw9Ne+65Z6tqbbrppunKK69cbfoVV1yRNttss2Zfn9d1tKpuE4RVVFRkstFmVedXv/pV6t27d9pjjz1STU1N2nfffRvNP/3009Ohhx7aaXWylNU6OuGEE9LWW2/daINdqb6+Pm299dbpxBNPbPffaa0lS5aka665Jo0fPz716tUrVVRUpIsuuqjFXaX33nvv1KtXr3Tsscemv//9721uR1Z1slzPWbXpuOOOS717906TJk1Kjz/+eNnrZLVcpVIpDRo0KK2zzjppnXXWSaVSKQ0cOLDh8aBBg1oU8mT5nmVVK6s6eVxHKbV/u+/Osto+br755rT55pun9ddfP1100UVp6dKlZW1Plv9DeTvmZ1Unr8fp7iiv+7S81cljm9pbJ2/nMFl9tsqyVnetk9V7ttKtt96aevTokSZNmpSmTp2apk6dmiZNmpR69uyZfvWrX5WlTe+8807af//9U6lUSr179069e/dOFRUV6cADD2zVl1j33XdfOvzww1NVVVXadtttU48ePdKf//znVrenu9Z58skn09ChQ9O6666b9thjj7THHnukddddN2200Ubp6aefblWtyy+/PPXu3Tt99atfTTfeeGO68cYb07HHHpsqKyubDMjWJG/raFWllD7Ud74Lq6ioiAULFrT7Vq9Z1YmIuPvuu+O3v/1tDBkyJE488cSoqqpqmPfd7343PvnJT8Zuu+3WaXXWZsWKFfH73/8+9t1332afm9U6qq2tjY9+9KPRo0ePOOGEE2KLLbaIiIi//vWvcdlll8Xy5cvjsccea7KbZ2u0ZtlW9dxzz8U111wTP/vZz2LhwoXxqU99qtnLICoqKqJnz55RXV291q7Db7/9dqfUyXI9Z7lsffr0iS233HKtz3vsscc6rU4Wy3XDDTesdf5KU6ZMWev8LN+zrGplVSeP62hVbdnum9Oe/VBH1WppnSy3+759+8bnP//5GDBgwBqfd+GFF3ZKe7L+H8rbMT+LOl3hON0RdcrRpq6wT8tbnTy2qa2fG/N0DpPVZ6ssa3XnOlmdd374b1544YXx7LPPRkTE6NGj4+tf/3rssMMOLXp9lm1KKcXrr78e66+/fvztb39r1KbNNtusTTX/9a9/xfTp0+Paa6+NRx99ND72sY/FZz7zmTj11FMLX6e+vj5uuumm+Otf/xoR/17Phx12WPTt27dVbYmI+PWvfx0XXHBBo/fstNNOiwMOOKDVtfK0jj6s2wRhN9xwQ0yePLndY/lkVaermD9/flx77bVx/fXXx1tvvRUffPBBs6/Jch29+uqrcdxxx8Wdd97ZMJ5JqVSKSZMmxWWXXRajRo1qc+22LNuaLF++PO6444649tprm/1Ak9WJflZ1IrJbz1m16bvf/W6L6pxzzjmdUier5Zo5c2Z8/OMfj5492z/8YpbbRla1sqiT13XUlNZs92uS5X4oq1qtrZPV9rHbbrs1O65IqVSKe+65p1PaE9Hx/0PdQVc4TneH7Syia+zT8lgnj21q7efGPJ3DZPXZKsta3bVOludUH3zwQRx77LFx1llntWtfkWWbVqxYEX369Im//OUvmY2//GFPPfVUXHPNNTF9+vR48803C1vngw8+iC233DJ++9vfxujRo9v8dyMili1bFuedd14cddRRsfHGG7erVlPytK67TRD2/PPPx8KFC+NjH/tYw7S77747vve970VdXV0ceOCBLRrcLas6r732WovaPXz48E6p82Hvvvtu3HLLLXH11VfH7Nmz4xOf+ERMnjw5DjrooBZ905jVOvqwd955J+bPnx8ppdh8881jnXXWadXrV2rvsnWW5cuXZzLoX2vrZLWes2xTV9GS5erRo0f8/e9/z/SbvSzfs6xqtadO3tdRFrLcD2VVq6P3jXnb7jt735i3Y35HfHbI23G6O29nedun0bHydg5D58n6PRs4cGDMmzevXUFY1m0aM2ZMXHPNNbHLLru0uU3N+eCDD9Z6s5Ei1Nloo43iT3/6U7uDsIiIfv36xdNPPx0jR45sd601ycO67jZB2EEHHRTbbLNNTJ06NSL+fZeeMWPGxCc+8YnYcsst49prr41zzz03Tj755E6pU1FR0eQ33ymlhumlUimWLVvWKXUiIh5++OG4+uqr4xe/+EVsuummcdhhh8UZZ5wRTz75ZGy11VbNvn6lrNZRc/7617/G/vvvH88//3yzz81i2Y466qhmn1MqleKaa65pUb2mPP/883HNNdfEjTfe2Kq7t3RUnYjWreeOaNOTTz7Z8Lc/8pGPxLbbbtumv59VnVW1Zrk6oot7U7J6z7Ks1dI6eVtHWW73We1js6yVZZua0prt4957743x48e36C5RndGe5rRm28jbMT/Lzw5r09nH6Szr5LVNa9LZ+7S81cljm7Kqk7dzmA/L8rNV3j7v5aFO1u/ZlClTYvvtt49TTjml1cvRUW2644474oc//GFcccUVsfXWW7e6PZdcckmzzymVSnHiiScWss5K5513Xjz//PNx9dVXt/uqiwMOOCAOPvjgFvWsb0pe19Gq2n9tSk488sgjcfrppzc8vummm+IjH/lI3HnnnRERse2228all17a7EabVZ3HH3+8yekppfjFL34Rl1xySfTr16/Z5cqqzrbbbhuLFy+OL3zhCzFnzpwYM2ZMRER885vfbPa1q8pqHTVn6dKl8eKLLzb7vKyW7frrr48RI0bEDjvsEFnmw/X19XHzzTfHtddeG3Pnzo2ddtqpTdcyZ1VnVS1dz1m36aGHHoqjjz46nnnmmUaXgKz85mjnnXfu1DpZLVdzl35loT3vWUfVak2dPK2jrLb7LPexWdXKsk0f1tbtY88994w+ffrELrvsErvvvnvsvvvuscsuu7T7A1se9o15O+ZnVac5nX2cLtJ2tqrO3qflrU4e25RVnbydw0Rk+9kqb5/38lQn63OqzTffPKZOnRqzZ8+OHXfcMaqrqxvN/9rXvtbpbTr88MOjvr4+tttuu+jdu/dq41U1N57nj370o2b/RkvCkO5aZ6WHH3447r777vjjH/8Y22yzzWrv/a9+9asW1YmI2HvvveOb3/xmPPXUU03+H+2///5rfX1e19Fq2j3cfk706dMnvfbaaw2P99hjj/Ttb3+74fH8+fPTwIEDO61OU+6666604447pv79+6dzzjmnzXcja0ud3r17py996Uvpj3/8Y6Nb1bfl9qMduY4+bN68eS26e1xWy/af//mfaZ111knbb799uvjii9M///nPNrV7pblz56ajjz46DRgwIG299dapR48eaebMmWWrsyYtXc9Ztukvf/lL6tevX9p5553T9OnT0+OPP54ef/zxdNNNN6Wddtop9e/fv0XvXVZ1slquUqmU9tlnn3TQQQet9ae92vKedXStltbJ2zrKarvPch+bVa0s25RS+7ePV155JV177bVpypQpacSIEalUKqXq6ur0H//xH2natGnpgQceSMuXL++09jSnvdtGOY/5HVnnwzr7OF2E7WxNOnuflrc6eWxTVnXydg6T5WervH3ey1udrM+pRo4cucafUaNGtahG1m26/vrr1/pDNo444oi1/rRGqVRa409W5x950G2CsKFDh6YHH3wwpZTS8uXL04ABA9Jvf/vbhvnPPPNMGjBgQKfV+bBHH300TZw4MVVWVqbjjz++zbekbU+d//u//0vf+9730qabbpqGDh2avv71r6fHHnss9erVq9Uf1DpiHTWlpR/6sly29957L02fPj1NnDgxVVVVpUMPPTTNmDGj0Yfb5px//vlpq622ShtttFH6xje+kebNm5dSav2H4qzqNKc1J3tZtenQQw9NBx10UJPrdcWKFenAAw9Mhx56aKfVyWq5SqVS+tznPpfpwagpXT0Iy9s6ymK7z3I/lFWtrOp01L7oxRdfTNdcc0360pe+lIYPH54qKipa9OE6j/vGD8vDMb8j6jSls4/T3Xk7a05n79PyWCePbcqiTt7OYbL6bJVlre5ap7POqVojj22CjtBtgrAvfOELad99902vvfZauuCCC1K/fv3SkiVLGubfeuutadttt+20Oin9OzH/7Gc/m3r06JE+//nPpxdffLH1C5ZhnZXuvvvudNhhh6W+ffumUqmUTjvttPTcc8+1+PVZrqO1actJSHuX7cNeeeWV9J3vfCdtsskmafjw4elf//pXi17Xo0eP9K1vfSstW7as0fTWnqRlVac5rVnPWbVpvfXWSw8//PAa5z/00ENpvfXW67Q6WS1XqVTK9CRzTbp6EJbnddTW7f7DstwPZVWrPXU6cl+0spfY4YcfngYMGJD69u1b1vZ8WGv/h/J2zM/6s0NTynmc7m7bWXPKuU/LY508tqmtdfJ2DpPVZ6ssa3XXOh15TrVixYo2hc0d0aZly5alW265JU2dOjVNnTo13XrrremDDz5o0WtvuOGGFv0Utc6qamtr08yZM9PMmTM75fN2U/K+jlbqNkHYyy+/nDbbbLNUKpVSz5490+WXX95o/gEHHJBOPvnkTqtz3HHHpd69e6dJkyalxx9/vFXL0hF1mrJw4cJ02WWXpR133DGVSqW0zTbbtOh1Wa2jQYMGpXXWWWeNP/3792/zCXpbl+3DXnvttfTd7343jRo1Km200UYt/kBz3nnnpc033zwNGzYsnX766empp55KKbX+JC2rOlmu56zaVFlZ2ajb9apee+21VFlZ2Wl1slquioqKTA46Wb5nWdXKqk4e19GHtXW7b0oW+6Gsa7WlTlbbR0opvfrqq+mGG25IRxxxRBo5cmTq169f+o//+I907rnnppkzZ6alS5d2Wnuy/B/K2zE/qzp5P05nWafcbcr7Pi1vdfLYprbWyds5TFafrbKs1V3rZPWefdjVV1+dxowZk3r37p169+6dxowZk37605+2+PVZt+npp59Om2yySaqqqko77LBD2mGHHVJ1dXUaOXJkw/F7bUqlUurfv39aZ5110qBBg5r8WWeddQpbZ6VFixalL37xi6lnz54NlzH27NkzHXbYYWnhwoUtrrPSn/70p/TpT386bbLJJmmTTTZJn/70p9Ndd93VotfmdR2tVj+l7nHXyIiIZcuWxV/+8pdYf/31Y+jQoY3mPfHEEzFs2LAYPHhwp9SpqKiIPn36xJZbbrnW5z322GOdUqc58+bNi2uvvbZFd2eIyGYd3XDDDS36W229Y8VKrVm2pUuXxq9+9au49tpr489//nPsu+++ceSRR8Zee+0VFRUVrfq7999/f1x77bVx6623xmabbRZ/+ctf4v7774/x48d3ap2OWM/tbdMWW2wR5513XhxyyCFNzr/11lvjv/7rv+K5557rlDortXe5mrsj4rPPPhvXXHNNnH/++Wutk+V7llWtrOrkcR1lud2vSWv3sZ1Rq7V12rt9bLLJJvHOO+/E+PHjY9ddd41dd901dtpppzYPlp+nfWPejvlZ1cnjcboz6pSjTXncp+WtTh7blFWdPJ3DZPnZKm+f9/JWJyK79z4i4uyzz44LL7wwTjzxxBg3blxERMydOzd+/OMfxymnnNJwJ8jObNO4ceNi/fXXjxtuuCHWWWediIh455134ogjjoi33nor5syZs9bXjxkzJmpra+OLX/xiHHXUUW2+u2d3rbPS5z73uXj88cfj0ksvbfTen3TSSbH99tvHL37xixbXuvzyy+Okk06Kz3zmMw21Hnjggbj11lvjRz/6URx//PFrfX1e19Fq2hyhdTHPPPNM+vrXv95pdb7zne+06Kez6nSmrNZ1ZzvuuOPSOuusk7bddtt00UUXpbfeeiuTuosXL05XXnll+tjHPpZ69OiRxo0bly644IKy1clSW9t09tlnp+HDhzf5TdCTTz6ZRowYkc4666xOq7Oqti7Xfffdt1pX7yVLlqSrr746jRs3LpVKpTRmzJhWt6c7yds66qjtvjtr6/YxZMiQNGjQoLTffvulCy64ID3yyCNtumwjq/ZkKW/H/K742YFsZLVPy1udPLaps44fnX0Ok+Vnq7x93stbnea09r1fb7310vTp01ebPn369LTuuuu2uz1taVOfPn3S008/vdr0p556KvXp06dFNR544IF0zDHHpIEDB6Ydd9wxXX755WnRokUtbkN3r5NSSlVVVWnWrFmrTZ85c2aqqqpqVa2NNtooXXrppatN//GPf5yGDh3aohp5XEer6lY9wlZVV1cXv/jFL+Kaa66JBx54ILbaaqt4+umny1annHbfffcolUprfU6pVIq77767TfXbso7eeeed+N///d+YMmVKDBgwoNG8RYsWxY033tjkvFVltWwVFRUxfPjw2GGHHdZarzW3n13VU089Fddcc01Mnz493nzzzU6pk9V6zrJN7733Xuy5557x4IMPxqc+9akYPXp0pJTi2WefjT/96U/xsY99LO65557o06dPp9TJark+bPbs2XHNNdfE//t//y/efffdOOWUU+LLX/5ysz00IrJ9z7Kq1RH/R3lYR1lt91nuY7Oq1dH7/YjWbx9//etf47777ot777037r///njvvfdiwoQJsdtuu8UnP/nJ2HHHHdvVCy+P+8auLG/H6e68neVtn5a3OnlsU0d+biznOUyWn63y9nkvb3Wa0p73ftCgQfHwww/H5ptv3mj6888/Hx/72Mdi4cKFrW5Pe9u03XbbxY9+9KPYY489Gk2/55574qSTToqnnnqqxe14991345ZbbonrrrsuHnrooTjwwAPj2muvjcrKylYtT3esM3z48Pjd734X22yzTaPpTz75ZOyzzz7xf//3fy2u1a9fv5g3b15sttlmjaa/8MILscMOO8SSJUtaXCtP62hV3TIIa8/JVVZ13nvvvfjjH/8Yu+++e/Tv37/RvMWLF8d9990XkyZNavbNy6rOKaecssZ5//rXv2L69OmxdOnSWL58eTNL1lh71tG5554bTz75ZNxyyy1Nzv/sZz8b2223XfzXf/3XWutktWxHHHFEsx9mIyKuu+66Zp/TnA8++CB69erVKXWyWs9Ztiki4v33348f/ehH8fOf/zyef/75iIj4yEc+EpMnT45TTjmlxTu2rOo0pyXL9eabb8b1118f1157bSxatCg+//nPxxe+8IUYN25cPPHEE7HVVlu16G9l+Z5lVSurOnlbR1lt91nuY7Oq1VH7/aa0dZ/27LPPxr333hv33Xdf/PGPf4yIaPMH9da2J8vtLG/H/Kzq5O043Z23s7zt0/JWJ49t6ojPjXk4h4nI9rNV3j7v5a3OSlm89yeeeGL06tUrLrzwwkbTv/GNb8S7774bl112Wae36fe//32cfvrp8Z3vfCd22WWXiPj3ZXZTp06N73//+zFhwoSG57b0i6eZM2fGOeecEzNnzox//OMfDZdctlZ3qnPVVVfFLbfcEj/72c9iyJAhERGxYMGCmDJlShx88MFx7LHHtrjWF77whdhhhx3itNNOazT9/PPPj0ceeaRVl1mulId1tKpuE4RldXKVVZ2LL744br/99jV+Azhx4sQ48MAD44QTTuiUOk1ZtmxZXHbZZfHf//3fMXDgwDj33HNj8uTJzb4uq3W0/fbbxwUXXBB77rlnk/Pvvvvu+MY3vhGPP/54q5Yrou3LloWWjCdSKpXixBNP7JQ6Wa7nrNrUnP/7v/+LqVOnxlVXXdUpdbJarr59+8ZnPvOZ+OIXvxif+tSnGnq29OrVq2zbRla1sqqTx3XUUbLcD2VVqy11Omq7r62tbegddu+998YLL7wQlZWV8e6773ZKe7L8H8rbMT+rOl3hON1dtrOusE+jY+TtHKY5WX1Gy7JWV62T9Xt24oknxo033hjDhg1rCJ0efPDBeO211+Lwww9v9AXRqmFZR7Xpw728VwbHK+OHDz8ulUpr/cLgb3/7W9xwww1x3XXXRV1dXcO4Ua0NibtrnR122CHmz58fS5cujeHDh0dExGuvvRaVlZWr9RBsbnzQ733ve3H++efH+PHjG40RNnv27Pj617/eKLD82te+1uHLllWd1WRygWUO9OnTJ33xi19MM2bMSMuXL2+Y3tq7SGVVZ+edd0633377Guffcccdaeedd+60Oqv63//937TJJpukDTfcMF122WUtvoVtStmto379+qVXX311jfNfffXV1L9//xbXW6k9y7bSO++8kx5++OH08MMPp3feeadVrx05cmSzP6NGjeq0Olmu56za1Jy23ia+rXWyWq4tttgijRw5Mn3rW99Kzz77bMP0cm4bWdXKqk4e19FK7dnuV5XFfijrWm2tk9X2UVtbm26++eZ03HHHpS233DJVVFSkysrK9IlPfCKdffbZ6d57703vvfdep7Uny/+hvB3zs6qT5+N0lnXy0KY879PyViePbWpPnbydwzQnq89oWdbqqnWyfs922223Fv3svvvundam++67r8U/Tbn55pvTXnvtlfr27ZsOPPDA9Jvf/CYtW7as1e3ornVWaunYoC0ZH7Qln7PW9lkrr+toVW27VVMOjRgxIv785z/H8OHDY8SIEW1OCLOq88ILL8R22223xvnbbrttvPDCC51WZ6UZM2bEN7/5zXj55ZfjG9/4Rpx66qlRXV3d4tdHZLeOevToEW+88UZDar2qN954o1VjxWSxbK+88kocf/zxceeddzb6tmKvvfaKH//4xzFy5Mhma7z88sut+psdXSfL9ZxVm/Imq+X661//2tCNfOedd46PfOQj8cUvfjEiokWXT6yU5XuWVa2s6uRxHWWx3a+UxX4o61rtrZPV9jFkyJDo1atX7LTTTnHIIYfE7rvvHh//+Mejb9++raqTx31j3o75WdXJ43E6yzp5alMe92l5q5PHNmVRJ2/nMHSerN+ze++9N3dt+uQnP9mu10+ePDmGDx8ep5xyStTU1MQrr7zS5CWea+uZ1J3rrHTOOee06Hkt0d7PWXldR6vqNkFYVidXWdVZtmxZvPXWW2v8QPPWW2/FsmXLOq3OQw89FGeccUY88MAD8dWvfjX+9Kc/xXrrrdfs65qS1TraYYcd4rbbbmvouruqX//617HDDjs0WyerZXv99ddjl112iV69esW5554bo0ePjoiIZ555Jq644ooYN25cPPzww7Hxxhu3uvaq/va3v8VGG23UKXWyWs9ZtqkraulyjR8/PsaPHx+XXHJJ/PznP4/rrrsuli9fHv/5n/8ZX/jCF+LAAw+M9ddff601snzPsqqVZZvytI6y2u6z3MdmVSvLNjWnJdvHH/7wh5gwYUKbA4us25Pl/3TejvlZ1cnbcbo7b2d526flrU4e25RVnbydw9B5Ouo9mz9/frz44oux6667Rt++fRsuPSxXm2bNmhU/+clP4qWXXopbbrklNtpoo/jZz34Wo0aNajRGWFOGDx8epVIppk+fvsbnlEqlZsOQ7lrnwxYuXBi33nprvPjii3HaaafF4MGD47HHHouampo2nZu9//778fLLL8emm24aPXu2PDbK8zpqJLO+ZTnyr3/9K1111VVp3LhxqVQqpd122y1dddVV6c033+y0OmPHjk3f//731zj/vPPOS2PHju20OqVSKVVVVaWTTz45XXzxxWv8aa32rKNbb7019ezZM1166aWNujkuW7YsXXLJJalXr17plltu6bRlO+qoo9Kuu+6a3n333dXm1dfXp1133TUdffTRzdZZm7///e/phBNOSH379u20Olmt5yzb1Jw8dXFvzXJ997vfTXV1datNX3mr6Q022CD17Nmz2TpZvmdZ1cqqTt7WUVbbfZb72KxqddR+/8Paut0/8cQT6ZZbbkm33HJLeuKJJ9rVhra2J8vtLG/H/Kzq5O043Z23s7zt0/JWJ49t6ojPjXk4h2mOSyM7pk4W79k//vGPtMcee6RSqZQqKirSiy++mFJK6cgjj0ynnnpqq9qTVZtuvfXW1Ldv3/TlL385VVZWNrTp0ksvTXvvvXer20TTnnjiibT++uunzTbbLPXs2bNhPf/Xf/1X+tKXvtSqWnV1demoo45KPXr0SD169GiodcIJJ6Rp06Zl3vZy6ZZB2Ie19uQqqzo/+clPUnV1dbrjjjtWm3f77ben6urq9JOf/KTT6owYMaLDx3Zqy7r+1re+lUqlUhowYEDafvvt0/bbb58GDBiQKioq0hlnnNGiGlkt29ChQ9OsWbPWOP/+++9PG264YbN13n777TR58uS07rrrpg033DBdfPHFafny5emss85Kffv2TWPHjk2/+MUvOq1OStms5yzbdNBBB631Z/fdd2/RB4is6mS1XBUVFam2tnaN8z/44IP0y1/+stk6KWX3nmVZK4s6eVtHWW33We5js6qVVZ0s90UPPvhg2nrrrVNFRUUqlUoNH9a32Wab9NBDD7WoRh73jXk75mdVJ6V8Hae783aWUr72aXmrk8c2ZblsTSnXOUxWn62yrNVd66xJW9/7L33pS2nSpEnp9ddfT/369WsIMGbMmJG22mqrNrenPW3afvvt0w033JBSSo3a9Nhjj6Wampp2tYn/35577plOO+20lFLj9Tx79uw0YsSIVtX62te+lnbcccc0a9asVF1d3VDrtttuS9tvv32m7S6nbnPXyOYsW7Ysbr/99jj44IM7rc4Xv/jFmD59emy55ZaxxRZbRMS/u5s+//zz8dnPfjZ+/vOft+hvZlWns7R2XT/00ENx0003xfz58yOlFB/5yEfiC1/4QnzsYx/r4JY2VllZGS+++OIau7D/3//9X2y22Wbx3nvvrbXOscceGzNmzIhDDz007rzzznjmmWdi0qRJUVFREd/+9rfXeNlDR9VZKYv1nFWbjjzyyBY9r7lbjmdVJ6vlqqioiAULFsQGG2zQouc3J8ttI6ta7a2Tt3WU1XbfnWW1fTzzzDMxduzYGD16dJxyyimNLiP60Y9+FM8991w88MADzd6RKo/7xoj8HfOz/OyQl+N0EeRln5a3OnlsU2cdPzr7HCarz1ZZ1uqudZrT2vd+yJAhceedd8Z2220X/fv3jyeeeCI22WSTeOmll2LbbbeNJUuWtKs9bWlTVVVVPPPMMzFy5MjV2rTVVls1u33ss88+8fOf/zwGDhwYERHf//7346tf/WoMGjQoIiL++c9/xic+8Yl45plnCllnpYEDB8Zjjz0Wm266aaP1/Oqrr8YWW2zRqv3QiBEj4uabb45ddtmlUa358+fHRz/60Vi8eHGnLFvW62g1ZQrgMnfzzTenpUuXNjx+/fXXG93poq6uLv3gBz/otDofrnfAAQekrbbaKo0ePTodcMAB6eabb27x67Ouk4Ws11FejBgxIt15551rnP+HP/yhRYn6sGHD0t13351SSunll19OpVIpnXnmma1uT1Z1spTHNmUhq+UqlUqZXHbQneVtHWW13XdnWW0fhx56aDrooIPSihUrVpu3YsWKdOCBB6ZDDz2009rTEfJ2zM/TZwc6R1b7tLzVyWObsqqT13MYOl7W71m/fv3S888/3/D7yp48Dz/8cBo8eHBZ2jRq1Kh01113rdamG264IY0ePbrZ1696JUH//v0baqSU0oIFC1rU+6671llp/fXXT4899lhKqfF6/uMf/5g23njjFtdJKaW+ffs2vP7DtebNm5cGDBjQ7Ovzuo5W1W2CsK6ywstl7733TgsXLmx4PG3atEa3d/7HP/7Rop1RStmto7feeiu98sorjaY9/fTT6YgjjkiHHnpouummm1rUnqyW7aSTTkrbbLNNkyfptbW1adttt00nnXRSs3V69OiR3njjjYbHffv2bdPthrOqk9V6zrJNH5aHW5dntVylUikNGjQorbPOOmv9aU6W71lWtbKqk7d1lNV2n+U+NqtaWdXJavtYb7310sMPP7zG+Q899FBab731Oq09WW5n3VXejtPdeTvL2z4tb3Xy2Kas6uT5HCarz2hZ1upOdbJ+z/bee+/07W9/O6X07wDjpZdeSsuXL0+HHnpoOuSQQ8rSpvPOOy9ttdVW6YEHHkj9+/dPs2bNSv/7v/+b1l9//XTJJZc0+/pSqdSoPR8OZlrTnu5aZ6Wjjz46HXjggen9999veO9fffXVtMMOO7R4H7vSJz7xiYb3ZmWtlP49RtikSZOafX1e19Gquk0Q1lVWeLlkuVPLah1Nnjy50cCNtbW1aZ111kljxoxJ+++/f+rVq1e68cYbm62T1bK9/fbbafPNN0/9+/dPxx13XLr44ovTRRddlI499tjUv3//tPnmm6d//vOfLWrPhz8UfXgH0hpZ1clqPWfZppT+3ZNjn332ST169EgVFRWpoqIi9ejRI336059OL7/8cqfWyWq5SqVSuvjii9P111+/1p/mZPmeZVUrqzp5W0dZbvdZ7WPzdlKU1fZRWVmZXnvttTXOf+2111JlZWWntSfL7ay7yttxujtvZ3nbp+WtTh7blFWdPJ7DZPUZLcta3bFO1uedTz31VNpggw3SXnvtlXr37p0+85nPpNGjR6eampo0f/78srRpxYoV6Xvf+16qrq5uGBu0T58+DYFdZ7Wnu9ZZaeHChWnixIlp0KBBqUePHmnYsGGpV69eadddd01LlixpcZ2UUpo1a1bq169f+upXv5r69OmTTjrppPSpT30qVVdXp0ceeaTTlq2jc5mW3weTVqmoqIhSqdRwu9rly5eXtU5aZSi4VR+XwwMPPBDXX399w+Mbb7wxBg8eHPPmzYuePXvG+eefH5dddll86UtfWmudrJZtnXXWiQcffDC+9a1vxS9+8YtYuHBhREQMGjQovvCFL8R5550XgwcPbrZOSin23HPPhtvMvvvuu7HffvtF7969Gz3vscce65Q6Wa3nLNuUt1uXZ7VcERGTJ09u9/hXWb5nWdXKsk15WkdZbvdre9waWdXKsk4W28eIESPioYceimHDhjU5/8EHH4wRI0Z0Wnuy/J/O2zE/qzp5O0535+0sb/u0vNXJY5uyXLY8yeqzVZa1umudrG299dbx/PPPx49//OPo379/LFmyJA4++OA4/vjjY8MNN+zUtkRELF++PGbPnh3HH398nHbaaTF//vxYsmRJbLXVVtGvX78W1SiVSlEqlVab1lrdtc5KAwcOjLvuuitmz54dTzzxRCxZsiQ++tGPxsSJE1tda8KECfHEE0/EtGnTYptttok//vGP8dGPfjTmzp0b22yzTbOvz+s6WpUgrIO8/PLLuaqTRwsWLIiRI0c2PL7nnnvi4IMPbji52X///WPatGmd2qZ11lknrrjiirj8/2PvzuPsmu//gb/vJCSZyUKCSdQWrZ2iFDFBECVUhFiiSmxFW9o036Laxlaq1BLULuRLE1utoaiKRiSWova91i8yFEmYIev5/aGZn5FJZjszc+49z+fjkUdm7rn3fd/33HuW+5rPOefii+PDDz+MiIgVV1yxWQvdSSedVO/3PfbYo0W9pFUnzfmcVk8nn3xyrLPOOnHvvfdG165d624fNmxY/OIXv4hddtklTj755LjyyivbpU5aryutlXOa71latdKqk8V5lMZyX8rSWj5GjBgRo0ePjnXWWSc23HDDetOeffbZ+OUvfxkHHXRQu/WT5mcoa9v8tOpkcTtdqrK4TstanSz2VIrbj7T2rdKsVap10jRv3rzYZZdd4tJLL43f/OY37fa8S9OpU6f43ve+Fy+++GIst9xyjV4MpyFJksTBBx8cXbp0iYiIL774Io466qioqKiIiIg5c+bkuk7El+99t27d4qmnnoqqqqqoqqpq8mMbqnXkkUfGmDFj4oorrmhRjSzOo4aUVBB277331l1VYOHChXH//ffHc889FxFR91ea9qjzzDPPxIYbbhhlZWVNer7nn38+1llnnbqdnbTrRKSfqKYxr3v27BkzZ86sGwHw2GOPxWGHHVavv6Z8wNsiLS4UCi0esfL1L2ktlVadtOZzmj3dc889ccMNN9TbeVikW7du8bvf/S5GjBjRbnXSel1pjbRM8z1Lq1ZadbI4j776mJYu92muh7L2l7S0lo8TTjgh/v73v8cmm2wSO+20U6y33nqRJEm8+OKL8fe//z222GKL+PWvf91u/aT1GcraNj/NfYesbadLeTnL2joty3XSrJWVOln5DhOR3r5VmrVKtU5Eeu/9MsssE88880yT798ePUV8OUrt9ddfj/79+7eol4MOOqjeOvWHP/xhg/fJa52IL9/71VZbrcWjv79e6+abb44xY8a0uEYW51FDCkkWjpFLQVN2+JpyeEAadTp16hQzZsyIFVdcsdFaEV/u/Dz11FOx5pprtkmdiC9f15AhQ+oS1UmTJsUOO+xQL1G95557mrQApTWv99hjj1hhhRXiiiuuiFtuuSUOOOCAmDFjRiy//PIREXHXXXfFL3/5y3jxxRcb7SeN17b99ts3uvNaKBTi/vvvX+p9lmb27NkxYcKEGDduXDz++OPtUiet+ZxmT8V06fI03rO33norampqYt11123S8pPme5ZWrbb+HHXUPEpruU97HZtGrTR7WpLmLh9z586N8847L6677rp45ZVXIiJi7bXXjhEjRsQvfvGLul7bo5+0PkNZ2+anue+Qte10KS9nWVunZa1OFntKc/vRmPb6DhOR7r5V1vb3slYnrfdskUXb0T/84Q9Nun979HTPPffECSecEL/73e9is802q1s3LtKzZ88W9flVn332WZMPtSzVOuPGjYtbbrklrr322lYfkj1y5MjYZJNN4he/+EWr6ixNFuZ1yYwIW7hwYWbqJEkSY8aMifLy8ibdf+7cuW1aJ+LLD/RXtSZRTWte/+53v4sdd9wx/vznP8f8+fPj17/+dd0OX0TE9ddfH9ttt12jddJ6bZtssskSp3366acxceLEFg/BfOCBB+Kqq66KW265JXr16hV77rlnu9VJaz6n2VO/fv3ihRdeWOIOxHPPPRd9+/ZttzoNacnruuqqq2LmzJkxevToutuOOOKIGDduXERE3TD6JZ0jaZE037O0aqVVJ2vzKK3lPs11bFq10uzp61q6Tlt22WXj+OOPj+OPP75Fz5tmP2l9hrK2zU9z3yFr2+lSXs6ytk7LWp0s9pRWnSx9h4lId98qa/t7WauT1nu2yPz58+Oqq66Kv//97w2GTueee26797TrrrtGxJeHd381OG7qOSzPO++8pQYyn376aeyyyy4xbdq0XNZZ5E9/+lO89tprsfLKK8fqq6++2HvflPMcL7LWWmvFqaeeGtOmTWvwc/Szn/1sqY/P6jz6upIZEdYUn3/+eXTr1q3N6wwaNKjZw+InTpy42EkM06rTEZo6r//zn//EtGnTom/fvrHlllvWm3bXXXfF+uuv3+KhtGmYP39+XHTRRXH66adHr169mjXU+d13343x48fH1VdfHTNnzoxPPvkkJk6cGPvuu2+z3tc06qQ9n1vb06hRo2Ly5Mlx//33LzZq4YMPPoiddtoptt9++xg7dmy71EnrdW211VZx5JFHxiGHHBIRX/4VbPfdd4/x48fHeuutF0cffXSsv/76TTpnRJrvWVq10qiT1Xn0Va1Z7ktZWuu0LPWTxmcoa9v8tPcdsr6dLiVZX6dlrU4We2qr7Ud7fYeJSHffKmv7e1mr0xTNee+33377JU4rFAoxefLkVvfT3J6mTJmy1OmNBfzdunWLyy67rME/KHz22Wex8847x0cffRQvvfRSLusscsoppyx1enNOK7G07UyhUIjXX399qY/P6jxaTIuvN1lEvvjii+Tss89OKisrM1Enq2666aZW18jqPGrJa/vzn/+crLnmmkm/fv2Siy66KJk3b16THveXv/wlGTJkSFJRUZHsvffeyW233ZbMmTMn6dy5c/L88883+fnTqpOmtHrK2qXL03pdvXv3Tp555pm634866qhk+PDhdb8/8MADyRprrNHkeqUo6/Oopct9U6Sxjk27VlPqpLV8rLHGGkn//v2X+m/NNddst37Ilvb8TLd3rTR7aq601mlZq5PFntpi+9ER32HS2rdKs1ap1lmaLH6n6oiebrrppqRr167J7bffXu/2zz77LKmqqkrWWmut5L333sttnSwqlnlUModGzpkzJ04++eS47777Ytlll43jjjsuhg0bFldffXX85je/iU6dOjXpONe06mTR/Pnz46WXXopll1021l577brbb7/99jjxxBPjpZdeir333rvROmnNo2uuuaZJfTflkIK0XlvElyNUfvWrX8Ubb7wRv/zlL2P06NGLDQldmv322y+OP/74uOGGG6JHjx5Nflxb1UlzPqfVU9YuXZ7W6/r888/rnetg+vTp9U52vOaaa8aMGTMarZPme5ZWrbTqZHEeRbR+uY9Idz2UVq006qS1fIwaNWqJ095888247LLLmnQYURbXjaUqi9vpUl3OsrhOy2KdLPbU2jpZ+w6T1r5VmrVKtU5bfu+87rrrYujQoc3+TLdlTxtttFH89a9/bfT0F1+19957x8yZM2P//fePu+66KwYNGhQ1NTWxyy67RHV1dUyZMqVJR0OVap2G/OQnP4lTTz01VlhhhRY9/qumTZsWm2++ebPO4VoM8ygiSmdE2HHHHZf06tUrGT58eNKvX7+kc+fOyY9+9KNko402Sq677rpk/vz57Vona5599tlk9dVXT8rKypKysrJkzz33TGbMmJFsu+22Se/evZPjjz8+eeedd5pUK615tNxyyy3x3/LLL58su+yySVlZWbu9tkcffTQZNGhQ0rVr12TUqFHJhx9+2KTX8XVHHHFE0qtXr2TrrbdOLrnkkuTjjz9OkiRp9miFtOqkNZ/T7OmrFi5cmFRXVyfV1dXJwoULW1SjtXXSel3rrrtucvPNNydJkiQffvhh0qlTp+Txxx+vm/7oo4826a9oab5nadVKq07W5lFay32a69i0aqVVpy2W+0U++uijZNSoUUmXLl2SbbfdNnn44YfbrZ80l7NSlbXtdCkvZ1lbp2WtThZ7SqtOlr/DpLWPlmatUqrTlt87e/Tokfz73/9u9uPasqfu3bu3qKckSZIzzzwz6dmzZ/LAAw8k22yzTbLmmms2eX2fhzpf1dL3Pu1aWZ5HSZIkJROE9e/fv27Y3LPPPpsUCoXkkEMOafYKKa06WbPrrrsmO+64YzJp0qTkBz/4QVIoFJJ11103+eMf/5jU1tY2q1Zbz6P33nsvOfLII5Nlllkm2XnnnRu9f1qvrVAoJOXl5cmoUaOS888/f4n/mqK2tjYZP358su222yZdunRJhg4dmnTq1Cl59tlnm9xPmnUa0tz5nGZPtbW1ye23357Mnj17sWmzZs1Kbr/99uSLL75otzqLarX2dZ1xxhlJ3759k1NPPTUZNGhQssEGG9Sbft555yU77rhjk+t9XUvfs7as1dw6WZtHaS33aa5j06qVZk9pr4tqa2uT0047LVluueWSjTfeOLnrrrs6tJ+vSnM5K1UdtZ0u9eWsIR21TstanSz2lFadrH2HSXvfKkv7e1mr05bfqVoaOmWxp0WOP/74pKysLFlzzTWTt99+W50laO18TrNWVudRkpRQELbMMssk//d//1f3e9euXeudh6a962TNiiuumPzrX/9KkiRJZs6cmRQKheSaa65pUa22mkezZ89OfvOb3yTdu3dPttxyy2Ty5MlNelxar2311VdP1lhjjaX+69+/f7PrvvLKK8kJJ5yQrLzyyknPnj2T/fffv25ETEfUael8TrOnsWPHJjvssMMSp++4447Jn/70p3ar83UtfV0LFixIxowZk2yyySbJLrvskrzwwgv1pu+9997JlVde2ex+0nzP0qrV0jpZm0dpLfdprmPTqpVmT1/VmnXR/Pnzk0suuSTp27dvssYaayTXXHNNq3eus7huLFUdvZ3O03LW0eu0rNXJYk9p1cnad5g0962ytr+XtTpt+b2zpQFGW/Y0ZMiQZp/Tac8996z3r0uXLskWW2yx2O15rdOQjg7CimEeJUmSlMxVIzt16hQzZsyou3JHjx494plnnmn21XXSqpM1ZWVlMWPGjFhppZUi4svX9eSTT8Zaa63V7Fppz6N58+bFhRdeGL///e+jT58+cfrppzf5/B4R6b62NDz33HOx4YYbLnb7woUL46677opx48bF3Xff3ei5cNKqs0hr53OaPW2xxRYxZsyY2H333Rucfuedd8app54ajz32WLvUSXtepyWN9yztWmn2lIas9JPmeiitWmnVSWv5uPHGG+O3v/1tzJw5M37zm9/Ej3/841h22WWb1Uua/SySlc9QlmVlO13Ky9kiPo/5k7XvMGntW6VZq1TrtOX3zoceeig233zz6Nq1a0REfPzxx006b1nWvgsvusp4Y66++upc1mlrEydOjD322KPuXHMLFiyITp06LfUxxTKPSiYIKysriyFDhtSdyG3SpEmxww47LHaCwFtuuaVd6mRNp06d4pVXXokVV1wxkiSJVVddNR566KFYY4016t3vqyexXpK05lGSJHHNNdfEiSeeGPPnz4+TTjopDjvssEYXrrZ8bUszc+bM+POf/xxHH330Uu9XVlYW3/3ud+Pwww+PESNGNHgy5w8++KBup7mt66Q1n9Psafnll4+nn346VltttQanv/3227HxxhvHJ5980i510npdi3z++edx3333xSuvvBIREWuvvXbstNNOTb7UdJrvWVq10uwpIlvzaGmautynuR5Kq1ZaddJcp3Xr1i3233//pT7nueee2y79tNdnqJhlbTtdystZ1tZpxVYniz01Z78xS99h0tq3SrNWqdZpj++df/vb3+LKK6+MSZMmxeeff97o/dPuafLkyXHLLbfEm2++GYVCIfr37x977713bLvtts1/MTRJkiTxwAMPxOeffx5bb711LL/88q2u+corr8SVV14Z1157bbz//vspdNnxSiYIK5bksaOUlZVFoVCo+z1JkgZ/X7BgQaO10ppHG220Ubz++utxzDHHxKhRo6K8vLzB+zXlS1par60h999/f4wbNy5uvfXWKC8vj48++mip9586dWpcffXV8Ze//CUWLlwYw4cPj8MPPzy22WabZj1vWnXSms9p9tSjR4/4xz/+EZtttlmD05944okYNGhQfPrpp+1SJ63XFRFxxx13xOGHHx7/+c9/6t2+wgorxLhx45b418OvSvM9S6tWmj1lbR41pLnLfZrrobRqpVUnreVj0KBB9Z5/SR544IF26aetP0OlIGvb6VJezrK2TiuWOlnsqbl1svYdJq19qzRrlWqdtvre+dZbb8VVV10V//u//xuffPJJDBkyJIYPHx777LNPo49Ns6ejjjoqLr/88lh++eVj7bXXjiRJ4tVXX42ZM2fGT37yk7jwwgub9Fws2cyZM+PnP/95PPnkk7HVVlvFOeecE7vuumtMnz49IiJWWmml+Nvf/hbf/va3m127trY2brjhhrjqqqvi4Ycfjs033zyGDx8exx57bNovo0OUTBDG0k2ZMqVJ99tuu+3auJP/r6ysrO7nhr4cNXXnsS1e2zvvvBNXX311XH311fH222/HiBEj4sADD4wdd9wxlllmmSbVqKmpiRtvvDHGjx8fU6dOjW9961tx2GGHxciRI6Nv375N7qW1ddKaz2n2tNVWW8Wee+4Zxx9/fIPTzzjjjLj99tvjkUceaZc6i7T2dU2fPj0GDRoUQ4cOjf/5n/+J9dZbLyIiXnjhhTjnnHPizjvvjClTpsRWW2211Dppvmdp1UqrThbn0SKtWe7TXA+lVSvtdWNa67SlmTdvXrutY9viM1RqsradLuXlLGvrtCzXyWJPab62jpbmvlXW9veyVidNc+fOjVtuuSWuvPLKmDZtWgwePDjuvvvu+Ne//hUbbbRRu/WxyK233hojRoyIyy67LEaOHFm3Xlu4cGGMHz8+fvzjH8dNN90UQ4cOXWqdTTfdtMF1Yq9evWLttdeOn//857H++us32k+p1jn88MPjwQcfjJEjR8akSZOirKwskiSJsWPHRllZWRx33HHRvXv3mDRpUqO1FnnkkUfiyiuvjJtuuilWW221ePHFF+OBBx5o8h8cszaPlkQQRofJWjg3b968uO222+LKK6+MqVOnxi677BI/+MEPYv/994+nn366VQvaa6+9FldffXVce+21MWPGjNhll13ijjvuaJc6bT2fW9LT5ZdfHqNHj47rr78+vv/979ebNmnSpNh///3j3HPPjSOOOKJd6qT1unbddddYddVV47LLLmtw+pFHHhnvvPNO/PWvf11qnVL+spe1edSWy30pa8nyceONN8a+++67xOnz58+Pfffdt0WHgGRx3VgKzKP2k7V1WtbqZLGnUt1+pLlvlbX9vazVScsxxxwT1113Xay11lrxwx/+MEaMGBF9+vSJZZZZpsM+i0OHDo0NNtggzjjjjAanH3/88fHSSy/F7bffvtQ6p5xySoO3z5w5M5588sl45JFHYvLkyVFVVZXLOt/4xjdi4sSJsd1228W7774bq666akyePDkGDRoUERGPPfZYDB06NGbMmLHUOhER55xzTlx11VUxa9as2H///eOHP/xhbLzxxs3+HGVtHi1Ri0+zn0GTJ09Ozj777OShhx5KkiRJLr300mTVVVdNVlhhheTwww9v8mWs06pTykpxHq244orJNttsk1x22WXJxx9/XHd7586dk+eff77V9T/77LPksssuS3r37p2UlZV1eJ00taSnAw44ICkUCsl6662XDBs2LBk2bFiy7rrrJmVlZcmIESOa/Nxp1WlIc1/X8ssvv9Qr6zz99NPJcsst16qeil3W5lFbL/elrLnLR5cuXZK//e1vDU6bN29esueeeyZ9+/Ztt36gFKW1TstanSz2lOZry9p3mDT3rbK2v5e1Omm8Z506dUp+/etfJ7Nnz653e0v3ZdLo6Rvf+Eby6KOPLnH6I488knzjG99odm9f9+tf/3qpV/As9TqdOnWqdyXObt26Ja+99lrd7++//36T94kWfY7mz59f7/a094mzMq9LJgi7/PLLk06dOiXf+ta3ki5duiS///3vk4qKiuSoo45KfvKTnyQ9e/ZMjj/++HarkzWFQiEpKyur+781sjaP0nptyy+/fLLtttsml19+eTJr1qy621u78E+ZMiUZOXJk0r1796Rnz57J4Ycfnjz88MMdVidNre3phhtuSPbYY49k/fXXT9Zbb71kjz32SG644YZm95FWnUVa+rq6du2avPnmm0uc/uabbyZdu3ZtcV+lIGvzKK3lPs11bFq10uzpq1q6fIwdOzbp3r178sgjj9S7fcGCBclee+2VrLTSSslzzz3Xbv3QfrL4mc5iT2lIa52WtTpZ7CmtOln9DpPmvlXW9veyUiet92zixInJ4MGDk4qKimTfffdNJk2alMyfP79Fy1laPXXp0iV59913lzj9//7v/1LZ33vuueeSFVdcMbd1CoVCUl1dXfd79+7dk3//+991v8+YMaPJ26bf//73yVprrZWsuuqqyXHHHZc8++yzSZKkH4RlZV6XTBC2wQYbJBdccEGSJEly9913J507d07Gjx9fN/3GG29MvvnNb7Zbnax588036/1rjbTmUVo7j2m9ts8//zz585//nGy//fZJt27dkr322iu55ZZbkmWWWabZC/+7776bnH766claa62VFAqFpKqqKrnqqquSzz77rN3rpL2TntZry5o0XtdGG22UXHXVVUucPm7cuGSjjTZqtE4pf9nL2jxKa7lPcx2bVq00e0pruT/xxBOT3r171wVe8+fPT4YPH56suOKKdTtc7dVP1gKMLMradrqUl7OsrdOyVieLPaVVx3eY/Er7PXv99deTE088MVlttdWSFVZYISkrK0tuuummDumpUCgkH3zwwRKnNyegWZoXX3wx6dOnT27rFAqF5PTTT0/OP//85Pzzz0+6du2ajBkzpu730047rdnz+R//+Edy0EEHJeXl5cm3v/3tpFOnTnWjA9OQlXldMkFYt27d6u2ALLPMMskLL7xQ9/tbb72VLLvssu1WJ0uefvrpZMGCBU2+/3PPPZfMmzdvidPTmkdp7Dym/doWee2115Lf/OY3ySqrrJIUCoXkBz/4QfK3v/1tsaGiDdlll12Szp07J3379k2OO+645KWXXmpyf21RJ80vDmn1lDVpva5zzz036d27d3LXXXctNu3OO+9M+vTpk5xzzjmN1inlL3tZnEeLtHS5T3M9lFatNHtKe7k/+uijk5VXXjl5+eWXk3322SdZYYUVkqeffrrJj8/iurFUZWk7XerLWZbWaVmvk8WeWlPHd5j8aqv3bOHChck999yT7LPPPkmXLl2Sb3zjG8kxxxzTrj0VCoXkyCOPTH7xi180+O/II49MJQg7/fTTk2222Sa3dVZfffVkjTXWaPRfS8yePTu59NJLky222CLp1KlTMmDAgCbtozcmK/O6ZE6WX1ZWFjNmzIiVVlopIr68rO3TTz8da665ZkREVFdXx8orr9ykK6OlUSdLOnXqFDNmzIgVV1yxSffv2bNnPPXUU3Wv+evSmEfPPPNMbLjhhvWukrQ0zz//fKyzzjrRuXPneren/dq+buHChXHvvffGuHHjYtKkSdG9e/dGL4M9dOjQOOyww+L73/9+dOrUqUnP01Z10prPafYU8f8vN5+08qpsadVJ63UtXLgw9ttvv7j55ptjnXXWifXWWy+SJIkXX3wxXn311Rg2bFjcdNNNS30/0nzP0qqVZk9Zm0cNae5yn+Z6KK1aafaU1vLxVT/84Q/j5ptvju7du8f999/frMt6Z3HdWIqytp0u5eUsa+u0YqmTxZ5aUidr32HS2rdKs1Yp12nr750ff/xxXHPNNXH11VfH008/3W49DRo0qMEr/n3dAw88sNTpF1xwQYO3z5o1K5544om466674u67747Bgwfnsk57efbZZ2PcuHExceLE+OCDD5Z632KZRyWzR1coFOLTTz+Nrl271q2UPvvss5g9e3ZERN3/7VUnS5IkiTFjxkR5eXmT7j937tylTk9jHm266abN2nkcMGBAgzuPab+2rysrK4shQ4bEkCFD4sMPP4xrr7220ccsulLZ559/Hvfdd1+88sorERGx9tprx0477RTdunVr0nOnUSet+ZxmTxERb7zxRpPu11510npdZWVlcdNNN8UNN9wQ1113Xbz00ksREbHuuuvGySefHCNGjGi0RprvWVq10uwpa/OoIc1d7tNcD6VVK82e0lo+Ro8eXffz8ssvH0mSxCabbBLjx4+vd79zzz13qXWyuG4sRVnbTpfycpa1dVqx1MliTy2pk7XvMGntW6VZq1TrtMf3zt69e8eoUaNi1KhR7drTP/7xjxZ2XN95553X4O09e/aMddZZJx588MEYMGBAbuu0l4022ijGjh0bf/zjHxu9b7HMo5IJwpIkibXXXrve75tuumm935uSSqdVJ0u23XbbePnll5t8/wEDBiz1i0Qa8yitnce0X9vSfPrpp3HPPffU+zK3JHfccUccfvjh8Z///Kfe7SussEKMGzcudt999yY9Z2vrtEVQ2NqesjhKKSK99ywiYr/99ov99tuvyff/qlL+svdVWZlHjWnKcp/meiitWmmvG9NYPv71r38t9pzz58+vd3tTt69ZXDeWmqxtp0t5OcvaOq0Y62Sxp6bWydJ3mFIelZ61OhHpvfe777577LvvvrH33nu3+HtO2j2lJWvhZdbqRHz5h8EnnngievfuHeuvv369aV988UXceOONcdBBB7VbrSzOo4aUzKGRU6ZMadL9tttuu3apU8rSmEdNHS77VRMnTox+/fo16zFpevrpp+M73/lOo0OBp0+fHoMGDYqhQ4fG//zP/8R6660XEREvvPBCnHPOOXHnnXfGlClTYquttmrzOmnP5zR6ytohKWm9rqZ48skn48QTT4w777xzifdJ8z1Lq1Z7Lq/tPY8a09TlvpS11/LRnv0U4zaovZlH7acY12lZq5PFnppaJ0vfYUr5EOSs1YlI770vKyuLTp06RUVFRey///5x+OGHx2abbdak2m3VU5rhHEv2yiuvxPe+9714++23o1AoxMCBA+P666+v2z405/DaNGsVg5IJwqCtNXWHZtddd41VV101LrvssganH3nkkfHOO+/EX//613apk6Y0eiorK4sjjjiiyX/5vvjii+OFF15YbAcirToR6c7re++9N+67775Ydtll4/DDD48111wzXnrppfjVr34VkyZNip133rld37MsKqZ5JAjL3rooa/1AMSnWsKgYeyrG7Uea+1ZZ29/LWp00lZWVxXPPPRd/+9vf4qqrrornn38+Ntpoozj88MPjgAMOiOWXX77NnntpPaURzq2//vrx0EMPRe/evSMi4ic/+UmceuqpscIKK0RExAcffBBrrLFG1NbW5rLOnnvuGfPmzYvx48fHzJkzY9SoUfHCCy/EP/7xj1httdWaFV6lVStr82hJBGHQRE3doendu3dMmTIlNtpoowanP/PMM7HddtvFJ5980i510pRGT1kcpZTWvB43blz86Ec/it69e8cnn3wSffr0iXPPPTeOOeaY2G+//eLnP/953eiVvCq2eVSMX2TSltbyceqppzbp+U488cR26QfyKGshjyAsW0p5VHrW6qTp6ye4f+yxx2LcuHFxww03xNy5c2PYsGFx+OGHxw477NBmPTTUUxrh3Ndf29dH2FVXV0e/fv1i4cKFuaxTWVkZf//73+v2iZIkiZ/85Cfx17/+NR544IGoqKhochCWVq2szaMlKZlzhGXtKiClzDxaus8//zx69uy5xOm9evWKL774ot3qpCmNntI6eWZadSLSm9fnn39+nHnmmXHsscfGzTffHPvss09cfPHF8eyzz8Yqq6ySWr/FzDwqPmktH7feeusSpxUKhXj55Zfjiy++aDQIy+K6EaClsvQdJs19q6zt72WtTkTbfafaYostYosttojzzjsvbrzxxhg3blzstNNOTaqfZk8rrLBC3Yn6F4Vzv/3tb+O4445rcTjX0BielpyzrFTqfP755/XOP1coFOKSSy6Jo48+OrbbbruYOHFik3tIs9ZXdfQ8WpKSCcKK5aRspaBU59Gmm2661IWpqcMu11prrZg8eXIccsghDU6///77Y6211mq3OmnKYk9pSOt1/fvf/4599tknIiL22muv6Ny5c/zxj38U8HxF1uZRWst9KUtr+fj6yfIXeeqpp+JXv/pVPPfcc/GjH/2o3fqBUpTWOi1rdbLYU1p1fIfJr7Z+z8rLy+Pggw+Ogw8+uO4Kyx3VU2vCOZZs3XXXjccff3yxoyn+9Kc/RUTE0KFDO6RWMSiJICyLVwEpVaU8j4YNG5ZKnUMOOSR++ctfRmVlZey66671pt11111x3HHHxa9//et2q5OmLPaUhrRe1+eff153zohCoRBdunRx4uivydo8Smu5L2Vttdy/8cYbMWbMmLjhhhtir732iueff75JAVaprocgDWmt07JWJ81aWarjO0x+pfmebbfddrHssssu9fFfvRJke/S0JM0N5wqFwmKBc0tGAZVqnT333DOuu+66OPDAAxeb9qc//SkWLlwYl156abvWyto8WmL9UjhHWBavAlKqzKPGLVy4MPbbb7+4+eabY5111on11lsvkiSJF198MV599dUYNmxY3HTTTY1uZNKqk6Ys9pSGtF5XWVlZnHbaadG9e/eIiDj++OPj2GOPrTup4yI/+9nP2uy1ZJ15VHzSXu7/85//xCmnnBKXX355DBw4MP7whz/Ed7/73Q7rB6Cj+A6TX1l8z9Lsafvtt49bb701lltuuVb1VFZWFhtuuGFd2PbMM8/EuuuuWxf8zZ8/P55//vkmnbeqFOtkUbHMo5IIwkr5KiBZU8rz6IMPPqg7GV9D5s+fH08++WRsscUWTap3ww03xHXXXVf314611147RowYESNGjGhWX2nVSVMWe0pDa1/XGmus0ehfKgqFQrz++uut7rVYZW0epb3cl7LWLh81NTVx9tlnx7nnnhvf+ta34owzzojvfe97HdYPlKK01mlZq5PFntKo4ztMfqX5nk2ePDm23XbbVo/wy+Ln6JRTTmnS/U466aRc1lmS+fPnpzbis7m1imUelUQQVspXAcmaUp5HnTp1ivfff79up2ajjTaKv/71r7HqqqtGRDTr8rNAcbDct5++ffvGp59+Gsccc0zsv//+S9yWfPvb327nzqB0pLVOy1qdLPaURh3fYfIrzffs65/FrbbaKm6++eb4xje+0WE9pRXOsXT33HNPfOMb34iNNtooFi5cGKeffnpceumlMWPGjOjXr18cffTRcfzxxzfpfU2zVjEoiU9mFq8CUqpKeR59PRN+8803Y968eUu9D3xdkiTx2muvxdy5c51/YwmyNI8s9+3ngw8+iIiIs846K/74xz/Wm6+uRAzpSGudlrU6WewpjTq+w+RXmu/Z1z9nzz//fMyZM6fZddLsaaeddkolnGvMM888E5tvvnnMnTs3l3VGjRoVV1xxRUREnHnmmXH++efHb37zm1hvvfXi5ZdfjjPOOCMKhUIcf/zxjT5nmrXSeG1tXcc3NGiGpiTgWboMdtqy2FMa0npdb7zxRgwdOjReeOGFiIj4xje+ETfffHOzzn9U6opxHpXKX75aKs3lI0v9QF6ltU7LWp00a2WtDhSbtMK5pjzP/Pnzc1vnzTffjNVXXz0ivhydd8kll9RdnX2XXXaJb33rWzFq1KgmhVdp1lqarMxrQRikrJQvg53FntKQ1us69thjY/78+fHnP/85unbtGmeffXYcddRR8cQTT6RSvxSYR8UnreVj0c5Va5XqeggAWuLrV9dr6Gp7pSxrwXV71undu3e89957sdpqq8WHH34Y3/rWt+pNX3vttePdd99t0vOlWasxWZjXgjD4r0KhEJ9++ml07dq1bqTBZ599FrNnz46IqPt/aUr5MthZ7CkNab6uhx56KP7yl7/EwIEDI+LLYeCrrLJK1NTUREVFRap9F6uszaM0lvtSlubycccddzT4mF69esXaa6/dpHPVlOp6CNKS1jota3Wy2JPtB1mRJEnsuOOOddu62tra2H333euurrfIk08+2W495T2cay977rlnnH766XHbbbfFHnvsERdffHFcfvnldfP6wgsvjE022aTdaxWDkjhZPqRh0eE2iyzaqfn670s7DKeUL4OdxZ7SkObrKisri/fffz8qKyvrbuvevXs8++yz0b9//9R6LmZZm0dpLPelLO3lY0kKhUKMGDEirrjiiqVerapU10OQlrTWaVmrk8WebD/Iira+ul5LlJWVxYYbblgXzj3zzDOx7rrrNjucayxQfuaZZ2K77bZrdDkr1TqzZs2KwYMHx8yZM2PAgAFx0003RWVlZay99trx2muvxccffxz33ntvbLnllkutk2atrM2jJfEnUvivBx54oNU1kiSJMWPGNPmyw0s6uV9addKUxZ7SkObrWvTX4G7dutXdVlZWFp9++mm9lXnPnj1b3nCRy9o8SmO5L2VpLh8LFy5s8PZZs2bFE088ET/96U/jtNNOi9///vft0g+UorTWaVmrk2atrNWB1mrPgKupvt7THnvs0aI6yy233FJHkn09gM5bnV69esX06dNj3LhxMWnSpFhjjTVi4cKFMXfu3Nh///3jxz/+cayyyiqN1kmzVtbm0ZIYEQYpKuXLYGexpzSk+bq+/tfhiPoraX8dNo+KTXsu9/fcc0+MGjUqXnrppUz0AwDF4Isvvoi//e1vsf3220ePHj3qTZs9e3b84x//iJ133jm6dOnSQR223JQpU5p0v+222y6XdbKoWOaRIAwgJaW8UUuLecSSvPnmm7HhhhvGZ5991tGtAEDROP/88+OOO+6I+++/v8HpgwcPjmHDhsXRRx/dbj2VcjhHaRCEwX916tSpSfczUgVKh+U+OyZPnhxHHXVUvPLKKx3dChSttNZpWauTxZ5sP8iKLbbYIsaMGRO77757g9PvvPPOOPXUU+Oxxx5rt56yGM6Vosceeyw222yzuvXRnXfeGX/84x/jtddei379+sXPfvazOOigg9q9VjFwjjD4ryRJYvXVV4+RI0fGpptu2tHtAO3Acp8NTz31VPzyl7+M3XbbraNbgaKW1jota3Wy2JPtB1nx6quvxsYbb7zE6d/+9rfj1VdfbceOIiZMmBBjxoxZ4vRRo0bFqaee2mgQtuiUGq09dUap1hkwYEC8//77sdJKK8WkSZNi2LBh8cMf/jD222+/+Ne//hWHHXZY9OjRI/bcc892q5W1ebQkgjD4r8ceeyzGjRsX559/fvTv3z8OPfTQOOCAA2L55Zfv6NYoEm29wi4FWZtHlvv2s/zyyzd4fq+ampqYP39+7LTTTk2+8hXQsLTWaVmrk8WebD/Iivnz58eHH34Yq622WoPTP/zww5g/f3679pRWOPfGG2+k0k+p1vnqwX1nnXVWHHfccXHGGWfU3da/f/8466yzmhSEpVUra/NoiRKgns8//zy59tprkx122CEpLy9P9ttvv+Rvf/tbR7dFEXjzzTfr/WNxWZ1Hlvu2N378+Ab/3XLLLcnzzz/f0e1BSUlrnZa1OlnsyfaDjrblllsmf/jDH5Y4/fe//32y5ZZbtmNHSdK9e/fk8ccfX+L0xx9/POnevftSazz99NPJggULmvyczz33XDJv3rzc1EmSJCkUCkl1dXWSJEmy0korLTbPX3rppWS55ZZr0vOkUSuL82hJBGGwFK+//nqy/fbbJ2VlZclHH33U0e2QYe2xwi52xTKPLPdAKUlrnZa1OlnsyfaDjnDZZZclFRUVyaRJkxabdscddyQVFRXJZZdd1q49pRHOlZWVJR988EGTn7NHjx7Jv//979zUSZIvw6sHHnggefrpp5PVV189eeyxx+pNf+mllxoNHNOslcV5tCQOjYQG/N///V+MHz8+xo8fH7W1tXHsscdGz549O7otMmzTTTeNGTNmxIorrtik+w8YMCCeeuqpWHPNNdu4s+zI+jyy3AOlJK11WtbqZLEn2w860hFHHBEPPvhgDB06NNZdd91YZ511IiLipZdeildeeSX23XffOOKII9q1p0MPPTRGjx4dG2ywQXz/+9+vN23SpElx+umnx7nnnrvUGkmSxJgxY6K8vLxJzzl37txc1Vlkxx13rDuscdq0afHd7363btq//vWvJR4y2xa1sjqPGiIIg/+aO3du3HrrrTFu3LiYOnVqDBkyJMaOHRtDhgxp8pWByK/2WGEXuyzOI8t9+8na+eGgFKW1TstanSz2ZPtBlvz5z3+OoUOHxsSJE+OVV16JJElinXXWiVNOOSX23Xffdu8njXBu2223jZdffrnJzzlgwIDo1q1bbupELH4ere7du9f7fe7cuXH88cc36XnSqJXFebQkhST5ylnRIMf69OkTPXr0iJEjR8aBBx4YK620UoP38xc+GjJo0KAGTwS+NBMnTox+/fq1UUfZk8V5ZLlvP2+99Va931dfffUO6gRKV1rrtKzVyWJPth/QuBtvvDEmTpwYr776aiRJEmuvvXb84Ac/6JBwrhR9+umn0aNHj6XeZ8qUKbHddtu1a61iIAiD/yorK6v7uaEv60YxQOmx3LePZ555JjbccMN683tpnn/++VhnnXWic2cD16E50lqnZa1OFnuy/QA62qBBg+Lee++NLl26NDh9ypQp8f3vfz8+/fTTdq1VDOxhwn898MADHd0C0M4s9+0j6+eHg1KR1jota3XSrJW1OtBaTT0UVyhbej766KPYd99949Zbb13sj40PPvhg7LbbbnHIIYe0e61iYEQYANCmysrK4ogjjmjy+eEuvvjieOGFFwRhANCIsrKyWH311WPkyJGx6aabLvF+e+yxR7v1JJxrH++9915ss802UVVVFddcc03d7VOnTo3ddtstDjzwwLjooovavVYxEIQBAG0qi+eHA4BS8Pjjj8e4cePi+uuvj/79+8ehhx4aBxxwQCy//PId1lMWw7lS9e9//zu22Wab2GeffeL888+Phx56KIYMGRIHHHBAXHrppR1WK+sEYfBfrmgG+WO5B0pJWuu0rNXJYk+2H2TNF198EX/5y1/i6quvjkceeSR23333OOyww2KnnXZq916yGM6VsmeeeSYGDRoUQ4cOjVtvvTX222+/uPzyyzu8VpYJwuC/XNEM8sdyD5SStNZpWauTxZ5sP8iyN954Iw477LCYMmVKfPjhh9G7d+8O6SNL4Vwpmj17dt3P06ZNiz333DOGDRsWl112Wb2R+E25em2atYqBIAzCFc0gjyz3QClJa52WtTpZ7Mn2g6z6v//7vxg/fnyMHz8+amtr46CDDorTTjstE5+9rIRzpWTRyNRFFkU7i25r7pV506pVDARhEF+e0LE5VzTr2bOnK5pBkbPcA6UkrXVa1upksSfbD7Jk7ty5ceutt8a4ceNi6tSpMWTIkDj00ENjyJAhTT5pfVvKcjhX7KZMmdKk+2233XbtWqsY+PRBfJlwjxkzpslXNJs7d24bdwS0Ncs9UErSWqdlrU4We7L9IEv69esXPXr0iJEjR8bFF18cK620UkRE1NTU1Ltfex7S1lA4N3bs2MyEc6UizVCqVAKupjIiDMIVzSCPLPdAKUlrnZa1OlnsyfaDLPnqIboNfS474pC2Pn361IVzBx54YF0493Wlcr4pio8gDAAAAIpQFg9py2I4V4qyeGXeYuHQSAAAAChCWTyk7YEHHujoFnLhjTfeyGStYmBEGAAAAECRyOKVeYtJ014pAAAl5+CDD4411lijxY/t3r17ug0B0CxlZWXRqVOnuv/Jh0033TQ++uijJt9/wIAB8fbbb7d5rWJRvBEeAJB7F198cfz0pz+NLbbYIh599NGObidT1lhjjdhwww3jzjvv7OhWAGgjWTykLW/nm+oIWbwybzERhAEARWvChAmxxhprxGOPPRavvfZafOtb3+rolorKFVdcEQsXLuzoNgBogawe0pbFcK7UbLvttvHyyy83+f4DBgyIbt26tXmtYiEIAwCK0htvvBHTp0+PW265JY488siYMGFCnHTSSe3aw8KFC2Pu3LnRtWvXdn3etCyzzDId3QIALbTpppvGjBkzYsUVV2zS/QcMGBBPPfVUrLnmmm3WU1bDuVLzj3/8I5O1ioVzhAEARWnChAmx/PLLx2677RZ77713TJgwoW7avHnzonfv3nHIIYcs9rjZs2dH165d45e//GXdbXPmzImTTjopvvWtb0WXLl1i1VVXjeOOOy7mzJlT77GFQiGOPvromDBhQmywwQbRpUuXuOeeeyIi4uyzz46tt946+vTpE926dYvNNtss/vKXvyz2/J9//nn87Gc/ixVWWCF69OgRQ4cOjXfffTcKhUKcfPLJ9e777rvvxqGHHhqVlZXRpUuX2GCDDeKqq65qzWyr5+vnCHvzzTejUCjE2WefHZdffnl885vfjC5dusR3v/vd+Oc//9lovaeeeipWXHHFGDRoUHz22WcRUZzzBaAYLDqkbfTo0U361x6HtOXxfFMUH7ErAFCUJkyYEHvttVcsu+yysf/++8cll1wS//znP+O73/1uLLPMMrHnnnvGLbfcEpdddlksu+yydY+77bbbYs6cOTFixIiI+HJU19ChQ+Ohhx6KI444ItZbb7149tln47zzzotXXnklbrvttnrPO3ny5Ljxxhvj6KOPjhVWWKEuSDr//PNj6NChccABB8TcuXPj+uuvj3322SfuvPPO2G233eoef/DBB8eNN94YBx54YGy11VYxZcqUetMXqa6ujq222qoufFtxxRXj7rvvjsMOOyxmz54do0aNSn2eLjJx4sT49NNP48gjj4xCoRBnnXVW7LXXXvH6668vcRTZP//5z9h5551j8803j9tvv73usIlSmi8AWZLFQ9ryeL4pilACAFBkHn/88SQikvvuuy9JkiRZuHBhssoqqyQ///nP6+5z7733JhGRTJo0qd5jd91112TNNdes+/3aa69NysrKkqlTp9a736WXXppERDJt2rS62yIiKSsrS55//vnFeqqtra33+9y5c5MNN9ww2WGHHepue+KJJ5KISEaNGlXvvgcffHASEclJJ51Ud9thhx2W9OvXL/nPf/5T774jRoxIevXqtdjzfd3qq6+e7Lbbbku9z8iRI5PVV1+97vc33ngjiYikT58+yccff1x3++23377YvBw5cmRSUVGRJEmSPPTQQ0nPnj2T3XbbLfniiy/qPUfW5gsAbWe77bZLBg0a1Kx/7733Xke3Tc4YEQYAFJ0JEyZEZWVlbL/99hHx5SGL++23X/z5z3+Oc845Jzp16hQ77LBDrLDCCnHDDTfE97///YiI+OSTT+K+++6rd1jkTTfdFOutt16su+668Z///Kfu9h122CEiIh544IHYeuut627fbrvtYv3111+sp6/+lf2TTz6JBQsWxDbbbBPXXXdd3e2LDqP8yU9+Uu+xxxxzTIwfP77u9yRJ4uabb4599903kiSp19fOO+8c119/fTz55JNRVVXV9JnWDPvtt18sv/zydb9vs802ERHx+uuvL3bfBx54IHbffff43ve+F9dff3290XcRpTVfAFi6PJ5viuIjCAMAisqCBQvi+uuvj+23377elam23HLLOOecc+L++++P733ve9G5c+cYPnx4TJw4MebMmRNdunSJW265JebNmxf77bdf3eNeffXVePHFF5d4suEPPvig3u/9+/dv8H533nlnnHbaafHUU0/VO7dYoVCo+/mtt96KsrKyxWp8/WqXH374YcycOTMuv/zyuPzyy5vUV5pWW221er8vCsU++eSTerd/8cUXsdtuu8Vmm20WN954Y4MnOy6l+QIAFD9BGABQVCZPnhzvv/9+XH/99XH99dcvNn3ChAnxve99LyIiRowYEZdddlncfffdMWzYsLjxxhtj3XXXjY033rju/gsXLoyNNtoozj333Aafb9VVV633e0PnV5k6dWoMHTo0tt1227j44oujX79+scwyy8TVV18dEydObPZrXLhwYURE/PCHP4yRI0c2eJ9vf/vbza7bVJ06dWrw9iRJ6v3epUuX2HXXXeP222+Pe+65p27k3SKlNl8AgOInCAMAisqECRNipZVWiosuumixabfcckvceuutcemll0a3bt1i2223jX79+sUNN9wQAwcOjMmTJ8dvfvObeo/55je/GU8//XTsuOOO9UYpNcfNN98cXbt2jXvvvTe6dOlSd/vVV19d736rr756LFy4MN54441Ya6216m5/7bXX6t1vxRVXjB49esSCBQti8ODBLeqpPRQKhZgwYULssccesc8++8Tdd98dgwYNqpue1/kCAGRXWUc3AADQVJ9//nnccsst8f3vfz/23nvvxf4dffTR8emnn8Ydd9wRERFlZWWx9957x6RJk+Laa6+N+fPn1zssMiJi3333jXfffTeuuOKKBp+vpqam0b46deoUhUIhFixYUHfbm2++udgVJ3feeeeIiLj44ovr3X7hhRcuVm/48OFx8803x3PPPbfY83344YeN9tRell122bjlllviu9/9buy+++7x2GOP1U3L83wBALLJiDAAoGjccccd8emnn8bQoUMbnL7VVlvFiiuuGBMmTKgLvPbbb7+48MIL46STToqNNtoo1ltvvXqPOfDAA+PGG2+Mo446Kh544IGoqqqKBQsWxEsvvRQ33nhj3HvvvbH55psvta/ddtstzj333Nhll13iBz/4QXzwwQdx0UUXxbe+9a145pln6u632WabxfDhw2Ps2LHx0UcfxVZbbRVTpkyJV155JSLqnzfrD3/4QzzwwAOx5ZZbxo9+9KNYf/314+OPP44nn3wy/v73v8fHH3/c6Px67bXX4rTTTlvs9k033TR22223Rh/fVN26dYs777wzdthhhxgyZEhMmTIlNtxww8zOFwAgvwRhAEDRmDBhQnTt2jV22mmnBqeXlZXFbrvtFhMmTIiPPvoo+vTpE1tvvXWsuuqq8c477yw2GmzRY2677bY477zz4pprrolbb701ysvLY80114yf//znsfbaazfa1w477BDjxo2LP/zhDzFq1Kjo379/nHnmmfHmm2/WC3wiIq655pro27dvXHfddXHrrbfG4MGD44Ybboh11lknunbtWne/ysrKeOyxx+LUU0+NW265JS6++OLo06dPbLDBBnHmmWc2aX69/PLLMWbMmMVuP+yww1INwiIievbsGffee29su+22sdNOO8XUqVMzO18AgPwqJF8/6ykAAO3qqaeeik033TT+/Oc/xwEHHNDR7WSG+QIApM05wgAA2tHnn3++2G1jx46NsrKy2HbbbTugo2wwXwCA9uDQSACAdnTWWWfFE088Edtvv3107tw57r77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AACAXBCEAQAAAJALgjAAAAAAcqFzRzeQhgsuuKDZjznkkEOiR48e6jSjTpq17rjjjmbX2WmnnaJbt27NflwxyuL8Saun2bNnN7tOz54926wf8iutz5DPIqUozX2HUpW1/TTvGa31zDPPNPsx66+/fnTuXBJfKYuS9yzfsrb9KKZ960KSJEmznyVjysrKYpVVVolOnTo16f7vvPNOvPLKK7Hmmmuq04w6affUHIVCIV599dXF6vTu3bvZdZ588slYffXV690+evToZtWJiPjtb3+72POn1U/W5k+aPZWVlUWhUGhWnbb8DKX13u+1117NrnPppZfGSiut1CZ10qxVqvMozc90GnUisjePSrXOd77znWbVKBQKcccdd8Q3vvGNxaalVSut9XVa/aS1vc/a/IlIdx2Spf20tOqktc5Pq04WeyrVOov20Zr69bCsrGyJ3xnSWmZLtU6a6+qsvWelus3P2uuKyN72I4v71ktSMlHw448/3uCHoyFL+8uXOkuvk2atGTNmtLrOzJkzY+zYsdGrV69GayRJEj/5yU9iwYIFi00bO3ZsDBgwIJZddtkm9fPQQw/F0UcfvdgGI61+IrI1f9LsKSLiL3/5S5M2tkmSxK677tqm/aT13t92222x7777NvkvERMnTozPPvtssf7TqpNmrVKeR2l9ptOqk7V5VKp1nnrqqfif//mf6N69e6M1kiSJP/zhDzFnzpwGp6dVK631dZqvLY3tfdbmT0S665Cs7aelUSetdX5adbLYU6nWiYh49NFHY8UVV2y0RpIkseGGGy5xelrLbKnWSXNdnbX3rFS3+Vl7XYtkafsRkb196yVKSsDJJ5+c1NTUNPn+v//975NPPvlEnWbWSbPWwQcfnMyePbvJdY466qjkww8/XOz2QqGQVFdXN7lO9+7dk3//+9+Zr5O1+ZNmT2ussUbyn//8p8l1Nthgg+Ttt99us36y9t6n+Z5lraes1UnrM5RWnSTJ3jxSZ+l1sthTWnXS2t5n7XWlWStr+2nes/brqVTrDBo0aInfARoyZMiQ5L333mtwWtZeW6nW8Z7lt06SZG/7kcV96yUpiSAMWmv8+PHJF1980eT7T5gwIfnss8/asCPaS1rv/T/+8Y9k3rx5Ta4zderUBp83rTpp1irleZQ1WZtHpVrnzTffTBYuXNjkOm+//XYyf/78BqelWSsN+mlcKa9D0pDWOj/Nfaus9VSqdWg/WVw3pqVUt/lZe120TkmcIwwAAAAAGlMy5wjbfvvt652Ae/Lkyeq0QZ00ax166KH1fr/qqqtaVOfBBx+s9/u2227bojppSaufQw45pN58zsL8Sauna665pt7vBx10UIf2Q36l9RnyWSw+b7/9dr3fV1tttQ6vldb6Oq1+0treZ23+pClr+2lp7u+RT6eeemq930888cQW10prmS3VOmmtG7P4nmVNmtv8rMna9qNY9q1LJgg7+OCD1WmHOmnWauhKTi0xcuTIup8LhUK8/vrrLarTv3//egtbS+uk1c8aa6zRose1VT8R6fV09dVX1/1cKBRaHISl1U9a7/1Xr9xTKBSWeuGB9qiTZq1SnUdpfYbSqhORvXlUqnXWWGON1JaztGqluf1Io5+0tvdZmz8R6X2OsraflladtNb5adXJYk+lWueNN96o+7k5V/luSFrLbKnWSWvdmMX3rFS3+Vl7XRHZ235kcd+6Ibk6NHLBggVNviSoOtmp1V6mTJlS7/ftttuugzr50ttvvx2rrLJKsy8f25ay1lNa/aT13r/11lv1fm9p2JtWnTRrleo8SuszlOaykbV5VKp1yDefo6VLa52f5r5V1noq1TqQhlLd5pfq60pTFvetG5KLIOyVV16JK6+8Mq699tp4//331WmjOq2t9eGHH8bLL78cERHrrLNOky4D3J5qa2vjqaeeiq233rpdnq9Tp07x/vvvN/myse2hLXtatCpqzl+ysjiP8irN5eO5555b6uW906yT1meovT+L7TmP8lyHfGvp5+iLL76IG264IWpqamKnnXaKtdZaq0XPn7U6X5XWOj/NbUfWeirVOkmSxIcffmjfq4h4z/KnI7cfxbJvXTKHRn5dbW1t3HDDDXHVVVfFww8/HJtvvnmMHj1anZTrpFGrpqYmjjnmmLj22mvrhoV26tQpDjrooLjwwgujvLy8ybWmTJkSZ599drz44osREbH++uvHscceG9tss03zXlQDXn311dhmm20aHbo6efLkOProo+ORRx6Jnj171ps2a9as2HrrrePSSy9ttKe0Muq0+kmzp6+65ppr4o9//GO8+uqrERGx9tprx7HHHhsHHnhgh/SzYMGCuO222+o+QxtssEEMHTq0SSMcv37+gSVp7LwEadVJu9bSNHX5WJJPP/00rrvuurjyyivjiSeeaLc6aX2G2uNvSh01j0q1ztfPg7IkTTk/Slq10lpfp9XP1w+1akihUIh///vf7dJPmtuzJWnu52j06NExb968uPDCCyMiYu7cuTFgwIB4/vnno7y8PI477ri47777YsCAAUVVpzGtXeenXSeLPRVrnfLy8njrrbfq/iC92267xZVXXhn9+vWLiIgPPvggVl555Sb1k9YyW6p10lo3ZvE9y9o+cVrzOmuvKyJ724+i2bdu02tSdoCHH344Oeyww5KePXsmG264YdKpU6fkwQcfVCflOmnWOuKII5I111wz+etf/5rMmjUrmTVrVnLXXXcl3/zmN5OjjjqqyXWuvfbapHPnzsm+++6bnH/++cn555+f7LvvvskyyyyTTJgwodl9fd1TTz2VlJWVNXq/3XffPTn33HOXOP38889Phg0b1midQqGQfPDBB83qsS37SbOnRc4555ykvLw8Oe6445Lbb789uf3225Njjz02KS8vX2rPbdXPq6++mqy11lpJeXl5summmyabbrppUl5enqyzzjrJa6+91qR+ysrKFvv31ds7derUbnXSrrU0TV0+vm7KlCnJQQcdlFRUVCRrrbVWcvzxxyePPfZYu9VJ6zOU9mfxqzp6HpVqnUKhsMR/LVnO0qiV5vYjjX7Gjh27xH+jRo1KunXr1qTlPmvzpyEt/RxtsMEGye233173+1VXXZUsv/zyyZtvvpksXLgwOfjgg5Ndd9216Oo0pqXr/Laqk2atvNcpFApJdXV13e/du3dP/v3vf9f9PmPGjKRQKDTpOdNaZku1Tlrrxiy+Z1nbJ05zXmfpdSVJ9rYfxbBvnSRJUjIjws4555y46qqrYtasWbH//vvHgw8+GBtvvHEss8wy0adPH3VSqpN2rYiIm2++Of7yl7/EoEGD6m7bddddo1u3brHvvvvGJZdc0qQ6p59+epx11lnxi1/8ou62n/3sZ3HuuefG7373u/jBD37Q7N5a4umnn44zzzxzidO/973vxdlnn92kWmPGjGl0RNy5557bbv2k1dMiF154YVxyySX1TpY/dOjQ2GCDDeLkk0+u9162Rz8/+9nP4pvf/GY88sgj0bt374iI+Oijj+KHP/xh/OxnP4u77rprqY//17/+1eDtSZLE9ddfHxdccEF079690T7SqpN2rbTMmDEjxo8fH+PGjYvZs2fHvvv+P/buOzqKev//+GsTSkggdEORqjTpFgSDCAIXUWkqioIgomIBAQsqV1QQxYqAXhU0gF4FAdsXLEgvhiYqXQUUxJbIVWqWns/vD0/2RyBls/vZ3cnO83FOziE7u6997+zs7PDOZz5zvY4ePaqPP/5Y5513XthzbG1DNrdFp62jaMzZu3dvjrd7vV5NmDBBEydOVO3atcOaZWt/baueIUOGnHHb33//rSeffFKvvfaaLr744jzrtV2P7e8zG9vR7t27s913/vz5uu6663zzvQwZMkRXXnllocsB8uLvNBa2PrPRmmPzeyg/4X7PnHZMbGtdO+11Sc78/nDisfUZQtZiC7PY2FgzYsQIc+LEiWy3FylSxGzZsoUcSzm2s4wxpkSJEmbr1q1n3L5582YTHx/vd06xYsXM9u3bz7h9+/btpnjx4gWu63T+/iWtePHiOdZxaj1xcXH55ng8HnPJJZeYtm3b5vrTrl27sNVjs6b8atu2bZtf75nteuLj483GjRvPuH39+vUmISHB75xTLViwwFxwwQWmVKlS5vHHHzcHDhyIaI7trCz+fj6uvvpqk5iYaG688UbzySef+PYjBd1/2MqxtQ3Z3Badto6iNed0J0+eNG+88YY5++yzTfXq1c2UKVPMyZMnw5plc39to55Teb1eM2bMGFOmTBnTtGlT8+mnnxa4jmDrsbl+bG1HpUuXNtu2bfP9XrNmTZOSkuL7fefOnX7V5LSc/DhttJPNLLfn+DO6yN96bH1mozXndIHuG534nuXEScfENr/zI/26nPb94cRj65xEzYiwJ598UlOnTtV///tf3Xjjjbr55psDmuCUnPBmSVKrVq30+OOP6+2331ZcXJwk6fDhwxo1alSB5rCoVq2aFi1apHPPPTfb7QsXLlS1atXyffycOXPyXH7qpYnzUrVqVW3evPmMOrJs3LjRd85+fj766KOgJwi0WY+tmrKce+65mjVrlkaMGJHt9pkzZ/o9qaPNeooXL66DBw+ecfuhQ4dUrFixAmV98803euihh7RixQrddttt+uyzzwKq01ZOsFm2Ph+ff/657r33Xt11111BTdhsK0eytw3ZynHaOorWnFN9+OGHGjFihPbs2aNHHnlEgwcPVvHixcOeZXt/HWw90j/zJr7xxhsaNWqU4uLiNHHiRPXp06dAFzaxVY/N9WNrO2rQoIHm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3/v405whJ//mlc0sSfrqq6+0aNEizZ8/X40bN1ZCQkK25R9++KFfOZ07d9bDDz+sTZs26YILLjgjp2vXrn7V8uabb+q9997TOeeco969e2vlypV69dVXdd555/lVR36OHj2qH3/8Md/7rVu3TsOHD/f9/u6776pu3br64osvJElNmjTRyy+/HPR/rP2tJxQ11alTR6NHj1ZqamqO79m9994b1nqeeeYZPfjgg3rttdeCuhKq9M9VdbIOEurWrasmTZpENMdGlo3Px6233prvfTwej1JSUsKSY2sbsrktOm0dRWtOXrZt26aUlBS9/fbb+uOPPwLOsZ1VkP21jXrat2+vuLg4tWzZUu3atVO7du3UsmXLoP5oFUw9+SnI+rG1HX377bc53m6M0XvvvaeJEyeqZMmS+T6X03Ike8dENo+tnFZTtObk9J/hULCxT4vWnILuG538njnxmPhUgX4POeV1Oe37w4nH1jmJmkZYQS6/TI5zsiSpTJkyuvbaa4POufvuuyVJ48aNO2OZx+PRyZMn83x8kyZNdODAAd10001auXKlGjZsKEl6+OGHg64tEP/73/909tln+35fsmSJunTp4vu9bdu2uv/++wt1TSkpKSpTpoy+/vprff3119mWeTyefBthtuvp27evvF6vmjZtqmLFiqlEiRLZlv/999/5Zqxdu1YDBgzQ1q1blTXg1uPx+EabXXTRRX7VYivHVpatz8e0adNUo0YNNW/eXMEMSLaVY2sbsrktOm0dRWvO6bxer2bOnKkpU6Zo1apVuvDCC3XfffdFPMuGQOvZuXOnFi9erGXLliklJUWPP/644uPjlZyc7GuMXXTRRYqJiQlLPTbZ2o6aNm16xm0LFy7Uww8/rG3btmn48OF+ffadlmNrn2/z2MppNUVrjiTdcsstKl68eJ738fcP1fBfMPtGJ75nTjwmzhLMunba63La94cTj61zFLLZx4BCplixYubmm2828+fPN5mZmb7bC3op9fysX7/er0sYV6lSxaxZs8YY888Ep4mJieaTTz7xLd+6datJTEwMWz3hrMlftusJ9mo7W7ZsMSVLljQXXXSRmT59uvn222/Nt99+a959911z4YUXmlKlSvm1LdnKsZll6/Nx9913m7Jly5pmzZqZCRMmmL/++svvx4Yix9Y2ZHNbdNo6itacLKtWrTIDBgwwiYmJplGjRiY2NtYsX7484lk5Kcj+OhT1/PjjjyYlJcXcfPPNpnr16iYmJsaULl06YvWcriDrx/Z2ZMw/V0Hu0KGDKV68uLnnnnsCvtqVE3Js7fNtHls5raZozfF4POaGG24wt9xyS54/NhR0nxatOcHuG534njnxmNiY4Ne1U19XFid8fzjx2DonUdMIe+utt/z6ISe4HNtZp0pPTzfLly83y5cvD+mlUnPz66+/mjFjxphzzjnHVKlSxdx///3mm2++MUWLFo1II+ymm24yV199tdm9e7d58cUXTcmSJc2hQ4d8y99//33TpEmTsNUT6poyMzOzHbhFup5A9OzZ0/To0SPH15GZmWm6d+9uevbsGbYcm1k2Px9Hjhwx06dPNx06dDDx8fGmZ8+eZt68eQV+/23k2NqGbG+LTlpH0ZrzwgsvmPPOO89UrVrVPPDAA2b9+vXGmMD+g24zKy/+7q9DWc+uXbvMlClTTN++fU1iYqIpUaJEROs5VUH/82lre9yxY4e5/vrrTWxsrLnxxhvNjz/+WNDSHZdja59v87vDaTVFa47H4wnbcXhhb2AFm2Nr3+jE98xpx8S21rXTXlcWJ31/OPXY+nRR0wjzeDymVKlSpmzZsqZMmTI5/vh7SVRywpdljDH79+83ffr0MUWKFPFdordIkSKmd+/eZt++fX7nGGPMwoULzVVXXWVq165tateuba666iqzYMGCAmUYY8yiRYtM7969TYkSJYzH4zEPPvig+eGHH/x6bH6X5S1VqpRfXyA7d+405557rm99vPrqq9mWd+vWzQwdOjRs9dis6VRvvvmmadiwoSlWrJgpVqyYadiwoXnjjTciVs+JEyfM7NmzzejRo83o0aPN+++/7/clqStUqGC++uqrXJevXbvWVKhQIWw5trOyBPP5ON2uXbvME088YWrXrm2qV69uDh48GNYcW9tQKLbFLJFeR9GaExsba0aMGGFOnDiR7fZAmjO2smztr22+tp9//tm89dZb5pZbbjE1a9Y0JUuWNP/617/Mk08+aZYvX26OHj0atnpsfp+dLtDt6K677jLFihUznTp1Mt9++21Az+3EnFPZ2ufb/O5wWk3RlBMTE2OtqWLrMxutObb2jU58z5x2TGxrXTvtdRnjvO+PwnBsbYwxUXPVyIYNGyo9PV19+vTRrbfeGvBkdeSEN0uSbrjhBn377bd6+eWX1apVK0nSqlWrNGTIEDVr1kzvvfeeXzmvvvqqhgwZouuuu86Xs3r1ar3//vt66aWXdM899xS4tv379+vdd9/VlClT9M0336hRo0bauHFjno+xeZn4EydOaMuWLapYsaKqVKmSbdmGDRtUrVo1lStXLmz12Kopy2OPPaZx48Zp8ODB2d77V155RcOGDfNdJSRc9WzZskVdu3ZVWlqa6tWrJ+mfCTQrVqyouXPn5juBflxcnLZv365q1arluPyXX35RnTp1dOTIkbDk2M46XSCfj5yef+rUqZo2bZqOHTum77//3u+JnG3l2NqGbG6Lp3LCOorGnLFjx2rq1Kk6cuSIbrzxRt18881q1KiRihYtqg0bNhRoYmlbWbb217bqqV27tvbu3avk5GS1adNGbdq00YUXXljgyfKdtn5yEuh2FBMTo7i4ONWvXz/P+33zzTeFKicnNvb5NnOcWFM05OR3BcLvvvtOKSkpeuGFF/J9fluf2WjNsbVvdOJ75rRjYlvr2mmvS3Lm94fTj60lRdccYatXrzZ33HGHKV26tLngggvMq6++avbv30+O5RzbWfHx8WbFihVn3L58+XITHx/vd07VqlXNyy+/fMbtr7zyiqlSpUpAtZ3q22+/NYMHDw46x5atW7ea+++/P9JlZFPQmipUqGCmT59+xu3Tp0835cuXD3s9LVu2NF26dDF///2377a///7bdO3a1bRq1Srfx9etW9e8//77uS6fPXu2qVu3bthybGflpSCfj1NPR4qLizPXXXed+fTTT83JkycL9Jy2cvJi63NW0BynraNozTHGmKVLl5q+ffua+Ph406RJExMbG2u+/PLLAufYzrIh2HoqVapkypQpY7p06WJefPFFs27dugKfNmizHttsbEdPPPGEXz+FLSc/to6JbB5bOa2mwpqzdOnSM0bCHzp0yLz55pumVatWxuPxmIYNGwZdD/6/YPeNTnzPnHhMbEzw69qJr6uwfX9E6tj6dFHVCMvi9XrNW2+9Zdq2bWvi4+PNTTfdZI4cOUKO5RxbWdWqVTMbN2484/YNGzaYqlWr+p2TkJBgtm/ffsbt27ZtMwkJCQWqKRh///23mThxYo6NwX379uW6zB+BfKmFsp5Aa8pSunRps23btjNu/+GHHwo0AbOteuLi4szmzZvPuH3Tpk0mLi4u38c/9thjpnr16mbTpk1nLNu4caOpUaOGGTlyZNhybGfZcNddd5myZcuaJk2amPHjx5s9e/ZENCcntg4eA81x2jqK1pzTHThwwLz++uumRYsWJjY21rRq1cq8+OKLYc0K1f46mNf23Xffmddee81cf/31JikpyZQuXdpcddVV5vnnnzdr164NqPnohPUTyn0IEC2+/PJL079/f5OQkGBiYmLM/fffb7777ju/H2/rMxutOaez8T3klPfMicfEpwp0XTv9dTlVpI+tcxI1p0bmZPny5Xr88ce1fPly/e9//1PZsmXJCUFOsFmTJ0/W7Nmz9d///leVKlWSJKWlpalfv3665pprNHDgQL9ybrrpJjVv3lwPPvhgtttfeOEFrVu3Lt9TLNu1ayePx5PnfTwejxYtWpTnfZ588klt3LhRs2fPznH59ddfr6ZNm+rf//53njmnSk1NVUpKimbNmqXDhw9r2LBhuu222/IduhqqeoKtKcvgwYNVtGhRjRs3LtvtDzzwgA4fPqz//Oc/Ya2nadOmeumll3T55Zdnu33x4sUaMmSINm3alOfjjxw5ovbt22vNmjXq2LGjGjRoIGOMvvvuOy1cuFAtWrTQ4sWLFRcXF5Ycm1m2Ph8xMTGqXr26mjdvnmdefpf4tpVzKhvbkI0cp62jaM3Jy6ZNm5SSkqLp06frzz//DDinoFmh2l8HWk9OvvvuOy1ZskRLly7V/PnzJUn79u0LSz0214+t7ejIkSOaP3++2rVrp1KlSmVbduDAAS1dulSdOnVS8eLFC1WOrX2+rRwn1hStOX/++aemTZumKVOmaP/+/brxxht10003qVWrVgU+bdzWZzZac/JSkH2jE98zJx4T56Yg69qJr8tp3x+ncsqxdU6irhH222+/6a233tLUqVOVkZHhm8eqoCuJnPBlNW/eXDt27NDRo0dVvXp1SdLu3btVvHhx1alTJ9t98zonecyYMXrhhReUnJycbY6w1NRU3X///UpMTPTd99577z3j8cOGDcs1++DBg5o+fbqOHj2qkydP5vl6mjVrphdffFHt27fPcfmiRYv0wAMP6Ntvv80zx9aXmq16bNaUZfDgwXr77bdVrVo1tWzZUpK0Zs0a7d69W3379lXRokV99z29WRaKej777DMNHz5cTzzxhK+e1atXa/To0XrmmWfUunVr331P3Z5OdezYMb300kuaMWOGtm3bJkmqW7euevXqpWHDhvn95WErx1aWrc/HLbfcku+BuiRNnTo1LDm2tiGb26LT1lG05vjj+PHj2fZDoc6yub+2Uc/p0tPTtXTpUi1ZskRLlizR9u3bVbx4cR0+fDgs9dhcP7a2owkTJmjOnDm5Nhc6dOig7t27a9CgQYUqx9Y+31aOE2uK1pwSJUrouuuuU58+fdSxY0fFxMRIUkDzJ9r6zEZrjj/82Tc68T2TnHlMnBd/vxed9rqc9v3hxGPrnERNI2zWrFmaOnWqli1bpk6dOql///666qqrFBsbS47FHNtZkjRq1Ci/7/v444/nuqxWrVp+ZXg8Hv30009+3ffEiRP6z3/+o6eeekqlS5fWk08+qV69euX5mFKlSmnLli2+pt7pdu/erUaNGunAgQN55tj6UrNVj82asrRr186v+3k8Hi1evDjk9WQ9Pus5JSlrF3nq7x6Px6+D9tP9+uuvGj16tCZPnlzgx4YiJ9isQD4fTmNrG7K9LSL0Jk6cmO99PB6PBg8eHLYsW/trW/X8+eefWrp0qa/5tW3bNhUtWlQtWrRQu3bt1K5dO7Vq1Srfg3WnrR+bWrRooZEjR6pLly45Lv/kk080evRorV27tlDl5MTWPt/md4fTaoqGnPr16+vo0aO66aabdPPNN/v+wB3I95mtz2y05tjaNzrxPctPuI+JbX7n26jHZo7Tvj8Ky7F1wS7742C9evVS9erVNWzYMCUlJWnXrl05nlaV00ggcvzPsZ0l5d3cKoidO3daycny7rvv6rHHHtPhw4f1xBNP6I477vDrSlmxsbH6/fffc/0C+f3337M1XHJTo0YNffnll6pevbpq1KgR8NBPW/XYrCnLkiVLgnq80+rJz19//aWUlJSgvxxt5QSTFejn41T79u3Tjh07JEnnnnuuypQpU6DH28ixtQ3Z3hazOGEdRWvOSy+9lO99/D0otpVla39tq55KlSqpaNGiuvDCC3XttdeqXbt2uuSSS1SiRIl880NRj83vs1MFsx1t375dTZs2zXV5kyZNtH379kKXczob+3ybOU6sKVpyvv/+e99pSBdddJHq1q2rPn36SJJfoyhPZeszG605tvaNTnzP8hPuY2Kb3/k26rGZ47TvD6cfW/sEPLuYw9SoUcPUrFkzz59atWqRE2SO7awse/fuNW+88YZ5+OGHzV9//WWMMebrr782v/76a4FyjDHm6NGj5vvvvz/j6in++vzzz03Tpk1NYmKiGT16tDl06FCBHt+2bVvz0EMP5bp8+PDhpm3btn5lZU14WbJkSXP++eebcePGmSJFipitW7dGpB5bNZ1u+/btZt68ecbr9RpjTIGuShaKekJl/fr1JiYmxjE5gWQF+/kwxpidO3eaK6+80sTGxpqYmBgTExNjYmNjzVVXXWV27twZ9hxb25DNbdFp6yhac5zG9v46WPPmzQvoMx4qttePje2oZMmSZt26dbkuX7dunSlZsmShy8liY59vM8eJNUVrjjHGHDx40EyePNk3MXXbtm3N5MmTzZ9//unX4219ZqM1JxSc8p7lx4nHxDZE4nU58fvDicfWp4uaRhgKrw0bNpiKFSuac8891xQpUsT8+OOPxhhj/v3vf5ubb77Z75yMjAxz6623mtjYWBMbG+vLGTRokBk7dmy+j1+zZo1p27atiYuLM0OHDg34ClLvv/++KVKkiHn55ZfNiRMnfLefOHHCTJw40RQtWtTMnj27QJnBfKmFop5ga8ryv//9z1x++eXG4/GYmJgY33vWv39/c99994W9HmOMWb58uendu7dp1aqVrxH79ttvmxUrVhQoJydO/NL3N8vW52P37t0mKSnJnH322ebpp582H330kfnoo4/MU089Zc4++2xTqVIl88svv4Qt51S2tqFgc5y2jqI1xx+B/DEmmKxQ7a8DredUGzZsMLNnzzazZ882GzZssFJDQeuxuX5sbUcXX3yxeeaZZ3Jd/vTTT5uLL7640OXY2ufbynFiTdGaM2rUKJORkXHG7Vu3bjX333+/Oeuss0yRIkX8yrL1mY3WHH/4s2904nuWHyceE9v4zo/E63La98epnHJsnRMaYYi49u3bmwcffNAY808nOqsZkpqaamrUqOF3zr333msuuOACs2LFCpOQkODL+fjjj02zZs3yfbzH4zHx8fFm6NChZsKECbn++GPEiBHG4/GYxMRE06xZM9OsWTOTmJhoYmJi8vwriz8C+VILZT2B1mSMMTfffLPp1KmT+eWXX7K99/PmzTPnnXde2Ot5//33TYkSJcxtt91mihcv7qvn5ZdfNp07dw64nixO/NL3N8vW5+PWW281bdq0MYcPHz5jmdfrNW3atDEDBgwIW05uAt2GbOQ4bR1Fa05e/vjjDzNo0CBTokSJ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xowxCQkJvkmh4+LifKPW/LFz505z5ZVXmtjYWBMTE2NiYmJMbGysueqqq8zOnTvDnmMry9bn4++//zZ16tQxpUqVMnfddZeZMGGCGT9+vBk4cKApVaqUqVOnjvnrr7/CluPEL2unraNozcnvu6wgbGXZ2l/bqqdu3brm/fffz3X57NmzTd26dcNWj83vM5v7kKwLCQRzQO60HCf+Rd9pNUVrzunfZ8Gw9ZmN1hxb+0YnvmfGOOuY2OZ3vpNelzHO+/5w4rF1TooEdkKl8xhjdMstt6h48eKSpCNHjujOO+9UQkKCJOno0aPkWMixnXX8+HGVKFFC69evV3JyspKTk/1+7Ok5AwcO1MiRI/XGG28ElGFOmy7v9N/9lZaWppo1a/p+X7x4sa655hoVKfLPx61r164aO3ZsQNnRUE+W48eP64orrtDrr7+uf//732F//tOdPHlSqampuueee/Tggw9qx44dOnTokM477zyVLFnSr4xffvlFLVu2VNGiRfXkk09mm1j6tddeU6tWrfTVV1/lOieN7RybWbY+H2XLltWaNWs0YsQIvffee9q3b58kqUyZMrrpppv09NNPq1y5cmHLcSKnraNozTHGqH379r594eHDh9WlSxffXBRZvvnmm7Bl2dpf26qnV69euu+++1SvXj01atQo27JNmzbpgQceUN++fcNWj83vM1vb0c6dO/16vsKWY2ufbyvHiTVFa05+E+4XhK3PbLTm2No3OvE9c9oxsa117bTXJTnv+6OwiJpGWN++fbPtBPr06ZPjfcgJLsd2VtGiRVW9enW/J9bPK+eDDz7QyJEjg8qxITExUfv27VONGjUk/XPVlQEDBviWezwev5uFX3zxhe/qnJmZmVq0aJE2b94sSb6D9nDWY6sm6Z/3bOPGjX7fP9T1xMbG6l//+pe+++47lSlTJt+roOXkiSeeUL169fTFF18oLi7Od3v37t01bNgwXXHFFXriiSf05ptvhiXHdpYtZcuW1WuvvaZXX31Ve/bskSRVrFixwAdytnJsbUO2ciTnraNozHn88cez/d6tW7cC1RCKLFv7a1v1PPLII1q4cKGaNWumjh07qkGDBjLG6LvvvtPChQvVokULjRgxImz12P4+C3Y72rhxoxo1auSbuDc/W7ZsUb169Xz/EXNqDtwtmGbl6Wx9ZqM1x9a+0YnvmdOOiW2t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y+upp54q0PwOsbGxSktLU8WKFSX905jZuHFjngfsoawnFDWd6ssvv9SFF16ouLg4SdLff/+d73nxoaznyiuvVEpKiipXruz3YyZMmKA5c+Zo0aJFOS7v0KGDevTooXvuuScsOTazbH0+atasme9/oD0ej3766aew5Njahmxui05bR9Gac7rt27dr6tSpeuutt3To0CFdddVVuu6668744084smzsr23UM2vWLD366KPat2+f/v3vf+uuu+5SsWLFAq4j2Hqy2Fg/odqOooWtfb7NYyun1RStOaFga58WrTlZbH4PBSvY1+bEY+JTBbqunf66nMCJx9Y5sjKuDLAkMzPTLFq0yHzyySe+IavB+OGHH8yDDz5oKlWqlO99PR6PSU9P9/1esmRJs23btgI/Z2Zmppk2bZqpXr26qVKlipk0aVJA5zB7PB5z5ZVXmh49epgePXqYIkWKmH/961++37N+wlWPzZry8sUXX5iePXuauLg4R9RTEBdddJGZM2dOrsvnzp1rLrroorDl2Myy9flwGlvbkNO2ReRv06ZNOd5+8uRJM2fOHNOtWze/5+WxlWVrf22rHo/HY+Lj482AAQPMsGHDcv0JVz02v8+QN1v7fJvfHU6rKVpzsni9XvN///d/5vnnnzfPP/+8+b//+z/j9XoLlGHrMxutOTa/h4xx1nvmtGNiW+vaaa/LiQrLsTWXw0HE7Nu3T0OGDNE333yjli1b6sUXX9SVV16plStXSvr/f9lq0qRJgXK9Xq9mzpypKVOmaNWqVbrwwgt133335fs4j8ejgwcPKi4uTsYYeTweHT58WAcOHMh2v8TExDxzmjRpop9++kmDBw/W0KFDFR8fr4yMjDPul19Ov379sv3ep0+ffF9DKOuxWdPpfv75Z02ZMkVvvfWW9u7dq86dO/t11Rrb9SxevFgffvihdu3aJY/Ho1q1aum6665TmzZt/Hr89u3b1bRp01yXN2nSRNu3bw9bjs0sW5+P/Ozbt0/vvPOOBg0aFJYcW9tQqD4bOQn3OorWnCZNmuiiiy7Sbbfdpl69evlOTYiJiVGXLl3UpUsX/fnnn349p60sW/trW/W0adNGHo9HP/74Y773DUc9Nr/P8mNreyysbO3zbX53OK2maM2RpDlz5ui2227T//73v2y3V6hQQSkpKerSpUu+GZLdfVq05tj6HnLae+a0Y2Jb69ppr8uJCs2xdcAtNIdp1qyZad68+Rk/bdu2NXfccYffk+CRE76sAQMGmDp16pgxY8aYiy++2LRq1cq0bNnSrF692qxdu9a0bdvWXH311X7XtWrVKjNgwACTmJhoGjVqZGJjY83y5cv9frzH4/FNMBoTE5Pr7/7kZP2c+viC5tjitHqyHD161MyYMcO0b9/exMXFmauvvtrExsaajRs3hr0WY4wZOHCg8Xg8ply5cqZly5bm4osvNuXKlTMxMTFm0KBBfmWULFky21V6Trdu3TpTsmTJsOXYzLL1+cjNwoULzY033mji4uJMuXLlIp7jRE5bR4U9Z/ny5aZ///6mVKlSJiEhwfTt27dA3xmhyLK1v7b52vJz7NixsNUTju+zaN6HFITNYyJb3x1Oqylac1JTU03RokXNtddea1auXGn27t1r9u7da1JTU80111xjihUr5tfVYrNqsvGZjdYcW/tGJ75nTjsmtrWunfa6ELioGRHWvXv3HG/ft2+fvvnmGzVv3lyLFy9WcnIyOUHk2Mz6/PPPNX36dF122WW65ZZbVK1aNS1evFgXX3yxJOnZZ59V165d863nxRdf1JQpU7R//37deOONWr58uZo2baqiRYuqfPny+T4+y5IlS/y+bzhybHFaPZI0ePBgzZgxQ3Xq1FGfPn00c+ZMlS9fXkWLFs13LrdQ+OijjzR16lRNmTJF/fr1880bk5mZqWnTpumuu+5Sx44d890eGzZsqIULF+qCCy7Icfn8+fPVsGHDfOuxlWMzKxTb0S+//KKpU6dq6tSp2r17t3r16qWPPvpI7du3j0iOEzltHUVTzqWXXqpLL71UL7/8smbNmqVp06bpsssu07nnnqsBAwaoX79+qlSpkl912Mqy9TmzVc+sWbN0/fXX57r8xIkTuuGGG/K9OI7T1s/ponkfEignHhM5raZozRkzZoz69++vSZMmZbv9kksu0SWXXKKBAwdq9OjR+uyzz8JWU7Tm2No3OvE9c9oxsa117bTXhSBEuhMXLiNGjDCXX345OSHOKUhWbGys+f33332/lyhRwuzYscP3+x9//OHXXxxiY2PNiBEjzjh/3dZl2SNp8eLF5oUXXjBffvmlMcaY119/3VSrVs1UqFDB3HbbbQU+798pNWW9ZwcOHMh2eyDvmY16unTpYh5++OFclw8fPtx07do135xJkyaZhIQEM3fu3DOWzZkzxyQkJJhJkyaFLcd2lg3Hjh0zs2bNMv/6179MiRIlTI8ePczs2bML/N7byjHG3ufMVo7T1lG05uRk+/btZsSIEaZatWqmaNGipkuXLo7IsiGQeooXL27mz5+f47Ljx4+bHj16+DUHp616bArldgQUZmXLls1zdP6GDRtMmTJlwliRuwSyb3Tie+bEY+LTBbKuC8PrcgKnHVvnxDWNsM2bN5uKFSuSE+KcgmTlNKnnjz/+6Ps9LS3Nr0bY008/berUqWOqVatmhg8f7psMsbAfzE6ePNnExsaac8891xQvXtw8/fTTJiEhwdx5553m7rvvNomJieahhx4qlDVNnz7ddOjQwSQkJJjrr7/ezJ0715w4caLA75mteqpWrWrWrFmT6/LVq1ebqlWr+lVT7969jcfjMQ0aNDDdu3c33bt3N/Xr1zcxMTGmV69efr82Wzm2s4JVsWJFc+mll5pJkyZluyBGQd97Wzm2tiGbn1enraNozcnNoUOHzKRJk3ynRjsly4aC1jN+/HhTsmRJs3r16my3nzx50lxzzTXmrLPOMps3bw5bPTaFejsCCqu4uDiza9euXJfv2rXLrwsaIXAF3Tc69T1z4jHx6QL5HioMryuSnHhsnRPXNMK+++47U758eXJCnFOQLI/HY5566ikzYcIEM2HCBBMXF2dGjhzp+33MmDEFOjBeunSp6du3r4mPjzdNmjQxsbGxvu6xP7LOeQ92jhFbOQ0bNjQTJ040xhjz+eefmyJFiphp06b5ls+aNcucc845YavHZk1ZfvrpJ/PYY4+Z6tWrmwoVKpiYmBgze/bssNdTvHhx89tvv+W6/Ndffy3QAcTMmTNNt27dzHnnnWcaNGhgunXrZmbOnOn3423n2MiytR2VLVvWtGnTxkyePNns37/fd3tB//NpK8fWNmTzs+G0dRStOadbtmyZ6devnylZsqRJTEw0t912m99zqtjKsrm/tlGPMcY89thjply5cr6G14kTJ8y1115rKlasmOtVuEJVj831E6rtKFo47ZjIiTVFa07jxo3NlClTcl2ekpJiGjduHNaaojXndIHuG534nmVx4jGxMcF/5zv1dTmBE4+tc+KaRthTTz1lLr30UnJCnFOQrBo1apiaNWvm+1NQBw4cMK+//rpp0aKFiY2NNa1atTIvvvhivo/btWtXtp9A2copUaJEtscXLVrUbN261ff7zz//7Ndlfm3VY7Om02VmZpp58+aZnj17muLFi5uqVauawYMHh60ej8dj/vzzz1yX+zs6MZrZ2o4OHz5s3nnnHdOuXTtTokQJc80115gPP/zQFC1atED/+bSVY2sbsvnZcNo6itYcY4z57bffzFNPPWXq1KljPB6PSU5ONlOmTDGHDh0qUI6tLJv7a5uvbdCgQaZKlSrmhx9+MD179jQVKlQwGzZsCHs9NtePze0oGjntmMiJNUVrzrhx40y5cuXMp59+esayTz75xJQvX96v42qbNUVrjjF29o1OfM+cyOb3InLnxGPrnHiMMSbS85TZMHHixBxv379/v77++mt9+umn+vzzz9WhQwdygsixnRVqmzZtUkpKiqZPn57nJXE3btyoRo0aKSYmxq/cLVu2qF69eipSJPv1JmzlSP9czjctLU1nnXWWJKlUqVLasGGDateuLUlKT09XlSpVdPLkyZC/Lps15efvv//W22+/ralTp2rDhg153tdWPTExMbrjjjsUHx+f43Kv16s33ngjqNdVmNnejrL8+OOPmjp1qt566y399ttvuvHGG3XLLbfo8ssvL9BFE4LJsbkNheKz4YR1FK05nTt31sKFC1WhQgX17dtXt956q+rVq+f3c9vOsvk5s/nasvTp00cffPCBSpYsqUWLFqlJkyZ+P9Zp6+d0trbHaOHEYyKn1RStOdI/Fwq64YYb9MEHH6hevXpq0KCBjDH67rvvtH37dnXv3l2zZ8/O97mc9tqcliPZ21c77T1zolB8LyJnTj+2zhI1jbBatWrleHtiYqLq1aunYcOGqVWrVuQEmWM7K1yOHz+uokWL5ro8NjZWaWlpqlixol95iYmJWr9+ve+DaDsnK2vbtm2qWLGijDGqVq2avvzyS9WsWVPSPx/++vXr5/nht1mPrZpsslVP27ZtfVeKzEt+V9KJiYmRx+ORMUYejyfg9WArx1aW7e3odJmZmfriiy+UkpKiuXPnqmTJkvrrr78KXGcgOba2oVB/NiK5jqI1p2vXrhowYICuvvrqoJsdNrJsfs5svbb77rvP9+/jx4/rjTfe0KWXXqrGjRtnu9+4cePyzHHa+smNre2xsHPqMZGTaorWnFPNnDlTM2bM0LZt2yRJdevWVa9evdSrVy+/nsNpr81pOZLd7yHJOe+Z5LxjYlvr2mmvy4kKy7G189u3ftq5cyc5YcixnXX48GF9/fXXKleunM4777xsy44cOaJZs2apb9++Ic8xxmjkyJG5jgg63bFjx0Kak5VVt27dbL83b9482+/5NW9s1mOrJknq0qWLrr/+el133XUqUaKEX7WFsp6lS5cGXMOpovXzans7Ol1MTIw6d+6szp07a8+ePfrvf/8bSJkB5djahmzl5CaS6yhac+bMmSPpn++PBQsWZPuPQ8eOHQu0b7KRZfNzZuu1ffvtt9l+b9WqlU6cOJHtdn+2a6etn9zY2h4LO6ceEzmppmjNOdUNN9ygG264wa+8UNYUrTmS3e8hyTnvmeS8Y2Jb69ppr8uJCsuxddQ0wlD4bNu2Tf/617+0e/dueTwetW7dWu+9954qV64s6Z9TLfv3759vI8xGTps2bfTDDz/4XXurVq1y3GHaypHyH33kD5v12KpJkj799FPNmzdPgwcP1o033qjbbrtNF1xwQYFzbNVjgxOH3NvKsr0d5eXgwYOaN29etpEoocyxtQ2Fc1sM9zqK5pw5c+botttu0//+979st1eoUEEpKSnq0qWL388bbJbtz5mN12Zzu3ba+smPre2xMHLiMZHTaorWHH988803euyxx/TJJ5/keT+nvTan5WSx+T2Um3C/Z048JpaCX9dOfV1OU2iOrQOeXcxhGjRoYP766y/f73fddZfZs2eP7/f09HRTokQJcoLMsZnVvXt3c9VVV5k9e/aY7du3m6uuusrUqlXL/Pzzz8YY/ycot5WD8PF4PGbLli3mpZdeMo0bNzYxMTGmadOm5uWXX852Gftwufrqq83bb79tvF5vwBkxMTF5Trh/ulKlSpkff/wxZDm2s8Jl/fr1Vj6vtnKcyGnrqLDmpKammqJFi5prr73WrFy50uzdu9fs3bvXpKammmuuucYUK1bM7ytI2cyygXqCF837ECA/8+bNM/fff7955JFHfMcF3333nenWrZuJiYkxnTt3jnCF0cHmvtFJ75kTj4ltrGsnvi4ELmrmCDt9MrXTz1lOT09X5cqVlZmZSU4QOTazkpKStHDhQt9cI8YY3X333frss8+0ZMkSJSQk+DUBnq0chM/p29DatWuVkpKimTNn6tixY+revbtuu+02XX755WGrJzY2VgkJCQGPUMtvwv3Tvfrqq9q6desZ8yrYyrGdFS4b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x0JcEfLDewYEJipGhKFwOnjwoEqVKpXnfZYtW6bLLrssLDlwNyeNUItmx44d00cffaSUlBStWLFCnTt31q233qrOnTv7fRU3mzlO5LR1FK05yN/PP/+c7fcaNWpEqBL72I6AM7Vt2zbHC2TkZfr06apcuXKIKkJ+eM+AwNAIQ8S0bdtWX3zxhYoXL57j8mXLlunqq6/WwYMHw5IDzJo1S9OnT9f27dtljFHdunV10003hX2EWjQrX768SpUqpX79+unmm2/WWWedleP98huNYSvHiZy2jqI1B3kL1cVxnILtCAAA96IRhohp3LixateurY8++uiMA+3ly5fryiuvVP/+/fXyyy+HJQfh4+9f26P1NBw3O/UzmtNfMP09BctWjhM5bR1Faw7yFu3zzrAdAQDgXoXjz3aISl988YUuvfRS3XLLLXr77bd9t69YsUJXX321+vXr51fzylYOwscYoxo1aqhfv35q3rx5pMtBGC1ZssRROU7ktHUUrTnIW7TPO8N2BACAezEiDBH1448/6tJLL1XPnj01YcIEffnll+rcubN69+6t119/Pew5CI9169YpJSVF7733nmrVqqVbb71VvXv3VtmyZSNSDyPUACA75p0BAADRikYYIm7jxo1q27atunbtqo8++kg33HCDJk+eHLEchM+RI0f0/vvva+rUqVq9erW6dOmiAQMGqGPHjmGtIyYmxq8Rat26dQtjVQAAAAAA22iEIWIOHDjg+3dqaqp69Oih7t27a9KkSdn+Cp3fRLW2chBZO3fu1IABA7Rs2TLt2bNH5cqVC9tzO22EWjSLiYmRx+MJev4dWzlO5LR1FK05cDe2IwAA3ItGGCIm6yA0S9ammHVbQSZOtpGDyPj11181bdo0TZs2TV6vV3379tWYMWMicuUxp4xQi2Y///xztt9r1KgR0Rwncto6itYcuBvbEQAA7kUjDBGzbNkyv+532WWXhSUH4XPs2DF99NFHSklJ0YoVK9S5c2fdeuut6ty5s9/zdYVaJEeoRauNGzeqUaNGZ1zdNTdbtmxRvXr1zmiK2spxIqeto2jNgbuxHQEA4G40wgCEXfny5VWqVCn169dPN998s84666wc7xeJ01mdNEIt2sTGxiotLU0VK1b06/6JiYlav369ateuHZIcJ3LaOorWHLgb2xEAAO7G/+wAhN3evXu1d+9ePfnkkxozZswZy8N9OmtOI9TGjx/vqBFq0cAYo5EjRyo+Pt6v+x87diykOU7ktHUUrTlwN7YjAADcjUYYIoaJk91ryZIlkS4hm8qVK/tGqL366qu+EWoZGRnZ7scFF4LTpk0b/fDDD37fv1WrVipRokTIcpzIaesoWnPgbmxHAAC4G6dGImKYOBlOceo8MadeeCELTVYAAAAAiA6MCENEMHEynMRpI9QAAAAAAKHBiDBEBBMnuxunswIAAAAAIoFhMYgIJk52t507d0a6BADwqVmzptq2batp06aF7DmWLl2qdu3aacmSJWrbtm3Inud0wby2mjVrqlGjRvrkk0/sFwYAABAhNMIQEUyc7F5OPJ2VEWpAdNq0aZNGjRqlr776Sunp6SpfvrzOO+88de3aVYMHD450eUHZtWuXatWqpeeff14PPPBApMsBAAAoNGiEISKWLl3qqByET/PmzQt0OmurVq1CfjorI9SA6LNy5Uq1a9dO1atX1+23365KlSrpl19+0erVqzVhwoRsjbAffvjB7+Z8YRPNrw0AACAQNMIAhJXTTmd14gg1AMF76qmnVLp0aX311VcqU6ZMtmV//vlntt+LFy8exsrCK5pfGwAAQCD4EyGAsMo6nfXbb7/16yfUp7M2b95cf/31l9/3b9WqlXbv3h2yegDY8eOPP6phw4ZnNMEk6ayzzsr2e82aNXXLLbf4fp82bZo8Ho9SU1N13333qWLFikpISFCPHj20Z8+ebI/NzMzUE088oSpVqig+Pl7t2rXT1q1bz8jMzZo1a3TFFVeodOnSio+P12WXXabU1NRAXnKOgnltOXnrrbdUpEgRPfjgg5Kkv//+Ww888IAaN26skiVLKjExUZ07d9aGDRvOeOzPP/+srl27KiEhQWeddZaGDRumL774Qh6P54wR3qFeLwAAwL0Y0gAgrJx2OqvTRqgBsKNGjRpatWqVNm/erEaNGgWUMXjwYJUtW1aPP/64du3apfHjx2vQoEGaOXOm7z6PPPKInnvuOXXp0kWdOnXShg0b1KlTJx05ciTf/MWLF6tz58664IIL9PjjjysmJkZTp07V5ZdfrhUrVqhFixYB1W3rtZ1u8uTJuvPOOzVixAiNGTNGkvTTTz/p448/Vs+ePVWrVi2lp6dr0qRJuuyyy7R161ZVqVJFkpSRkaHLL79cf/zxh4YMGaJKlSpp+vTpWrJkyRnPE8n1AgAAoh+NMACuxgUXgOj0wAMPqHPnzmrWrJlatGihSy+9VO3bt1e7du1UtGhRvzLKly+v+fPny+PxSPpn9NfEiRO1f/9+lS5dWunp6Ro3bpy6d++ujz76yPe4UaNG6Yknnsgz2xijO++8U+3atdPnn3/ue46BAweqYcOGevTRRzV//vzAXryF13a6iRMnaujQoRo9erQeffRR3+2NGzfWtm3bsp1efvPNN6t+/fpKSUnRyJEjJUmTJk3yNc26devme63NmzfP9jyRXi8AACD60QgD4GpOG6EGwI6OHTtq1apVGjt2rL744gutWrVKzz33nCpWrKg333xTXbt2zTfjjjvu8DViJOnSSy/VSy+9pJ9//llNmjTRokWLdOLECd19993ZHjd48OB8G2Hr16/X9u3b9eijj55xenb79u313//+V5mZmSGb6D6/13aq5557Tg899JCee+453ymRWU6dg+zkyZPat2+fSpYsqXr16umbb77xLZs3b56qVq2abb3HxcXp9ttv1/333++7LdLrBQAARD8aYQAAICpddNFF+vDDD3Xs2DFt2LBBH330kV566SVdd911Wr9+vc4777w8H1+9evVsv5ctW1aStHfvXkn/zHklSeeee262+5UrV85339xs375dktSvX79c77N///58cwKV32vLsmzZMn366ad66KGHzmiCSf+MJJswYYJeffVV7dy5UydPnvQtK1++vO/fP//8s84555xszTfpzHUX6fUCAACiH40wAAAQ1YoVK6aLLrpIF110kerWrav+/ftr9uzZevzxx/N8XGxsbI63G2OCrikzM1OS9Pzzz6tZs2Y53qdkyZJBP09u/H1tDRs21L59+/Tf//5XAwcOVK1atbItf/rppzVy5EjdeuutevLJJ1WuXDnFxMRo6NChvtdYEJFeLwAAIPrRCAMAAK5x4YUXSpL++OOPoLNq1KghSdqxY0e2BtFff/11xsiq051zzjmSpMTERHXo0CHoWkKlQoUKev/999W6dWu1b99eX375pW8CfEl6//331a5dO6WkpGR73L59+1ShQgXf7zVq1NDWrVtljMk2KmzHjh3ZHldY1gsAACi8mGABAABEnSVLluQ4cuuzzz6TJNWrVy/o52jfvr2KFCmi1157Ldvtr7zySr6PveCCC3TOOefohRde0KFDh85Y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bZrTDq6t5qtlrFCN48QPn6FaI1VnzXvLYz2nNR+cdixjVR/LMVP9d1/WrFkzzZ07t0ZERGiJEiU0MjJSGzRokK67SO/cuVN79eqlN9xwg1aqVEk7d+6s69ev9+m1TtwWWXBiI8xp+/xAj1k2o69wZjq32y0ul0tUVVwuV7rvrOK0OHrZJdwu/z3YcZyYk1Wcffv2SenSpT2/L1y4UG6//XbJlu3fadK2bVsZMWJE0PJx2npZxvrtt9+kTp06EhkZKc8991yyaw69+eabUrduXfn5559TvX6HdRxVlaZNm3rW4/Tp09KmTRvJnj17suetXr06KPl4u8CkP6xyspwfTqp1njx55KeffpLHH39cPvzwQzly5IiIiOTOnVvuueceefHFFyVv3rxe18tyzKxqbRWnVKlSsmLFCilRokSKy3/66ScpVaqU1zhWYy8icvHiRfnhhx/koYceksGDB8uOHTvkxIkTUrlyZYmNjfX6emvnz5+Xli1byoQJE+SJJ55IdxynbdOsWO3PrOarZaxQjeNEoVojp817y+NGK1afq5x2LONyua44fkjP8YT1mMXHx8s333wjP/zwg6xbt05OnDgh1157rTRr1syvvM6fPy+9e/eWYcOGyTvvvOPXa5NY1cgqjtV70Sof61gWrPb5gV6vkGmE7d69OyTjIHhy5colR44c8XygS7pLWhKXyyVnz57NrPTSzXK9rGI988wzUqFChStuXd6uXTsZOHCgtGzZUp555hmvty63ivP0008n+/22227zug6BzCcjjepA5WQ19k6rtci/H4refPNNeeONN+TgwYMiIlKgQAG/draWY2ZVa6s4nTp1kkGDBkmFChWkatWqyZZt2LBBHnnkEenatavXOFZjLyISEREhN998s2zZskVy587t9UL9gRYZGSnr16/PcBynbdOcyGK+WscK1ThOFIo1ctq8d+LxsNXnKqcdy6iqdO/eXaKiokRE5MyZM9KnTx/JmTOniEjQj89F/m1eRUdHy9q1a6VevXpSr149f1YpmcjISPn0009l2LBh6Y5hVSOrOFbvRat8rGM5SaDXKyQaYevXr5eqVauK2+326fmbNm2SChUqeLrkTo0j4rwuuBNzsopTp04dGT9+vLzzzjsyc+ZMOX78uDRp0sSzfNu2bameERGIfJy2Xpax5s6dKzNmzEh2wJckOjpannvu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qXPmzLli2ezZszVnzpz61ltvBS1OSrZv366PP/64lihRQiMjI7VNmzZByydPnjxpXpxy3bp1mjt3bq9xLHMKpMys9blz5/Sjjz7Sm2++WaOjo7V9+/b68ccf+30LdMsxc5oZM2akufz8+fPpvlhpesa+TZs2+uijj6a6fMiQIdq2bdt05ZMeERER+vjjj19xxzd/30OqztumOY3VfLWMFapxnChUa8S8Dw3pqfUzzzyT4s+AAQO0QYMGmj17dv3++++DkP2/ihYtqosXL1ZV1d9//11dLpcuWrTIs/ynn37SQoUK+RQrad94+QXx/Z1nVjVyWq0t83HaulkJ9HrRCAOQKTp37qwul0srVaqk7dq103bt2mnFihXV7XZrp06dgh4nJSdOnNC33npL8+bNq263O2j55MiRQ/fs2ZPq8j179miOHDl8imWVU6BlVq0LFCig9evX17feekv/+ecfz+P+HqhZj5mTREVF6fz581NcltQEK1y4cLrj+zv2xYoV059++inV5cuXL9dixYr59LcXLlyor7zyiudAasKECVqiRAnNnz+/9urVy6fbfE+bNk2bNWumOXPm1I4dO+qcOXP0woUL6f5Q7bRtmkWNrFjNV8tYoRpH1W7sreKEco2cNu8tOWkbEmjWtX788cfTvKOotYiIiGR3YI6OjtYdO3Z4fv/rr798Xq8XX3xRy5UrpyVKlNAhQ4bohg0bVDV98ywtVjUKdq29sczHn1hZab5mtEY0whzO5XKp2+32/Dez4zgxJ+IEJ451LNV/zzS57bbbtHLlylqpUiW97bbbvJ59Esg4SZYsWaLdunXT2NhYzZUrl/bq1UuXLVsWtHyqVaumkyZNSnV5QkKCVqtWzed4FjlZj32SzK51njx5tEGDBvr222/r0aNHPY/7e6BmOWZOm/tjx47V2NhYXb58ebLHL168qLfffrsWLFhQN27c6Hfc9I59VFSU/vHHH6ku//33331qOr799tsaERGhV199tUZFRemLL76oOXPm1D59+uiDDz6ouXLl0qFDh/q8Prt27dKnnnpKS5Ysqfnz51e3253uW9c7ZZtmVSOr96LVfLWMFapxrMbecp6Fao2SOGXeW+7vrWuUUU49lknNxo0btUCBAl6fZ3ncsH//fs/vsbGxunPnTs/v+/bt8zv+4sWLtWvXrhoTE6PVq1fXiIgI07OT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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, axes = plt.subplots(3, 1, figsize=(15,30)) \n", "ax = axes[0]; hc_comp = plot_nci('Complete', ax)\n", @@ -1503,12 +2810,179 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 55, "id": "dc80afc8", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:22.073921Z", + "iopub.status.busy": "2023-07-26T00:00:22.073783Z", + "iopub.status.idle": "2023-07-26T00:00:22.084241Z", + "shell.execute_reply": "2023-07-26T00:00:22.083956Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Complete0123
label
BREAST2302
CNS3200
COLON2005
K562A-repro0010
K562B-repro0010
LEUKEMIA0060
MCF7A-repro0001
MCF7D-repro0001
MELANOMA8000
NSCLC8100
OVARIAN6000
PROSTATE2000
RENAL8100
UNKNOWN1000
\n", + "
" + ], + "text/plain": [ + "Complete 0 1 2 3\n", + "label \n", + "BREAST 2 3 0 2\n", + "CNS 3 2 0 0\n", + "COLON 2 0 0 5\n", + "K562A-repro 0 0 1 0\n", + "K562B-repro 0 0 1 0\n", + "LEUKEMIA 0 0 6 0\n", + "MCF7A-repro 0 0 0 1\n", + "MCF7D-repro 0 0 0 1\n", + "MELANOMA 8 0 0 0\n", + "NSCLC 8 1 0 0\n", + "OVARIAN 6 0 0 0\n", + "PROSTATE 2 0 0 0\n", + "RENAL 8 1 0 0\n", + "UNKNOWN 1 0 0 0" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "linkage_comp = compute_linkage(hc_comp)\n", "comp_cut = cut_tree(linkage_comp, n_clusters=4).reshape(-1)\n", @@ -1530,10 +3004,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 56, "id": "40ff59f9", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:22.086072Z", + "iopub.status.busy": "2023-07-26T00:00:22.085951Z", + "iopub.status.idle": "2023-07-26T00:00:22.546297Z", + "shell.execute_reply": "2023-07-26T00:00:22.545986Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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f//db7jb7Vbjxo39hp1zzjmS/rzUdGGOHDmi1NRUzZgxo8gr1x0+fLjQ4Xl27dolSRoyZEiRNWlpaapevXqx7QTr1PmWN55T58+KFSv02Wefafz48b7zfvLLzc3VlClT9Nprr2nfvn3KycnxPVezZk3f//v379dZZ53lF7okFXify3u+AEBFQgACgDAUHx+vunXr6scff7T0ulO/KBclIiLC0nATwMUNSpK3B+Lmm28u8ot6q1atAmrj+eefL/Ly2FWrVg2+kyUIdP60aNFCqampeuutt3THHXeoUaNGfs8//fTTevjhh3XbbbfpiSeeUI0aNeR2uzVq1Kig9tSU93wBgIqEAAQAYerKK6/UjBkztHr1ar/D1QrToEED5ebmateuXWrWrJlveEpKilJTU9WgQYOQ9i03N1d79+717fWRpJ07d0r68wpqhTn99NNVrVo15eTkqGfPnsW2X1SQO+ussyT9GRBLaqM8nXbaafrggw/UpUsX9ejRQ99++63q1q3re/6DDz5Qt27dNHPmTL/Xpaam6rTTTvM9btCggbZt2yZjjN882b17t9/rKsp8AYBwwDlAABCmxo0bp7i4OP31r39VSkpKgef37NmjKVOmSJIuv/xySfJdSS3PSy+9JEm64oorQt6/V1991fe/MUavvvqqoqKi1KNHj0LrIyIidO211+rDDz8sdM9W/stJx8XFSfozEOTXvn17nXXWWXrhhRd07NixYtsob2eeeaa+/vpreb1eXXbZZfrf//7ney4iIqLAXqP3339fv/76q9+wXr166ddff9Wnn37qG3bixAm98cYbfnUVab4AQHljDxAAhKmzzjpLCxYs0A033KBmzZpp8ODBatmypU6ePKnvvvtO77//vu9eNa1bt9aQIUM0Y8YMpaam6tJLL9W6des0d+5c9e/fX926dQtp36pUqaLFixdryJAh6tChgz7//HN99tlnevDBB3X66acX+bpnnnlGy5YtU4cOHXT77berefPmOnr0qDZu3Kivv/5aR48e9U17YmKipk+frmrVqikuLk4dOnRQo0aN9Oabb6pPnz5q0aKFhg4dqjPOOEO//vqrli1bpvj4eC1atKjE/i9ZskQnTpwoMLx///5q2bJl8DPmFGeffba+/PJLde3aVb169dLSpUsVHx+vK6+8UhMnTtTQoUN10UUXaevWrZo/f36B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ycnRY489pn/+859KTk5W3bp1deutt+qhhx7y/eJijNGjjz6qN954Q6mpqercubNef/11NWnSJNTdAQAAldjyAcvlifQUW+PN9ha6RwiAM4U8AD377LN6/fXXNXfuXLVo0ULr16/X0KFDlZCQoHvuuUeS9Nxzz2nq1KmaO3euGjVqpIcffli9evXStm3bVKVKlVB3CQAAVFKeSI9io2LLuxsAKpCQB6DvvvtOV111la644gpJUsOGDfX2229r3bp1kv7c+zN58mQ99NBDuuqqqyRJ8+bNU+3atbVw4UINHDgw1F0CACCkOAEfACqukAegiy66SDNmzNDOnTt1zjnn6IcfftC3336rl156SZK0b98+JScnq2fPnr7XJCQkqEOHDlq9enWhASgzM1OZmZm+x+np6aHuNgAAAeEEfACo2EIegB544AGlp6eradOmioiIUE5Ojp566ikNGjRIkpScnCxJql27tt/rateu7XvuVJMmTdLjjz8e6q4CIcEvwYCzlPYEfA7XAoDyFfIA9N5772n+/PlasGCBWrRooc2bN2vUqFGqW7euhgwZElSbEyZM0JgxY3yP09PTVa9evVB1GQgavwQDzsYJ+ABQ8YQ8AI0dO1YPPPCA71C28847T/v379ekSZM0ZMgQJSUlSZJSUlJUp04d3+tSUlLUpk2bQtuMiYlRTExMqLsKlBq/BAPOxgn4AFDxhDwAZWRkyO32v71QRESEcnNzJUmNGjVSUlKSlixZ4gs86enpWrt2re66665QdwcoM/wSDAAAEP5CHoD69u2rp556SvXr11eLFi20adMmvfTSS7rtttskSS6XS6NGjdKTTz6pJk2a+C6DXbduXfXv3z/U3QHKDL8EAwAAhL+QB6BXXnlFDz/8sP72t7/p8OHDqlu3ru644w498sgjvppx48bp+PHjGj58uFJTU9WlSxctXryYewABAAAAsFXIA1C1atU0efJkTZ48ucgal8uliRMnauLEiaEePQAAAAAUyV1yCQAAAABUDiHfAwQAQKhxvy0AQKgQgAAAYY37bQEAQolD4AAAYa2099sCACA/9gABACoM7rcFACgtAhAAoMLgflsAgNLiEDgAAAAAjkEAAgAAAOAYBCAAAAAAjkEAAgAAAOAYBCAAAAAAjkEAAgAAAOAYBCAAAAAAjkEAAgAAAOAYBCAAAAAAjkEAAgAA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lpuba/r37+93uV2r9Vb7Y8c5QOURgEI5DYX1x8oyanU9sLvemNKvB3v27DEzZ840t9xyi6lfv75xu91+H/J2r2f52bEtLU19IP0vi/e4LMZhZZqNsbbeOLHe7u8gdn/ehFt9KL7j5N2jpyih/h6FiqtCB6CbbrrJXHnllebAgQPmxRdfNFWrVjXHjh3zPf/BBx+YVq1aBV1vjP03CcuzZMkSM2jQIOPxeIzL5TJjx441O3bsKNX0lnRJ22rVqhX5JSWQ/hTm559/No899php3LixqV+/vvnjjz/8no+IiDAPPvhggROqi/qiZbXe6jRbbf+0004z33//fZHTv27dOnPaaacFXW+1P8Hc08DqPLK73uo0lGa5NqbkZTQ/q+uBXfVWl4vC5O0VGjx4sImPjzcejyfo9oN5D8LphotluW0MZltqxzjKcr1xSr3d30Hs/rwJt/pgvqPlefPNN02LFi189+hp0aKFeeONNwrUlWYc2dnZ5v333/fdbPWDDz4ocAuHuXPnBvQXrvWnSklJMStXrjQrV64s8XP666+/NldccYVp3Lixady4sbniiivMV199Var5E4ppKEqFPgfoqaee0mWXXaYGDRooIiJCU6dO9TtO8a233lL37t2Drv/b3/6mmTNnqlu3blq/fr3atGlTbH+s1ufXvXt3de/eXWlpaZo/f75mzZqlF154QS1bttSWLVuC6v/kyZMDHn8w/SmM2+2Wy+WSMcZ3zGd+TzzxhGbPnq233npLN954o2655ZZiTyi0Wm91mq22/8cff6h27dpFPp+UlKQ//vgj6Hqr/TElHKu+fft2zZw5Uy+88IJvmNV5ZHe91WkozXItlbyM5md1PbCr3upyIUkHDhzQ8uXLtWzZMi1fvlz//e9/ddFFF+niiy/Wv/71L3Xo0CHo9q2+B3ZvS63Wl+W2MZhtqR3jKMv1xin1dn8HsfvzJtzqrc6fPI888oheeukl3X333erUqZMkafXq1Ro9erQOHDigiRMnlnocP/30k/r166fk5GSde+65kqRnn31Wp59+uhYtWuTbXt56662qWrWqIiMji/xsc7lcGjx4cFjW50lPT9eIESP0zjvv+Jb/iIgI3XDDDZo2bZoSEhL86l977TXde++9uu6663TvvfdKktasWaPLL79cL7/8skaMGBF0f4KdhhJZjkxhJisry2zevNn8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crlc2rt3r+X+BDMNJSrVAXTlrEqVKubmm282ixcv9jtJsbgbiVqpv+CCC8ynn35a5PgXLVpkLrjggqDrT/XPf/7TNG7c2NSpU8dMmzatwEnLVvufkJBgVq9eXeT4Vq9eXezxsSX151S///67+f777833339vfv/990JrGjZsWOJfo0aNgq63Os1W2y9Jae+JE0x/8s6bqVq1qmnXrp156aWXTGRkpNm2bVuh47Q6j+yutzoNpVmuA1lGT2V1PbCj3upykZKSYt59911z1113maZNmxq3221iYmLMxRdfbB555BGzbNkyc+LEiaDbt/oe2L0ttVpf1ttGq/V2jKMs1xun1Nv9HaQkZX3PNrvrQz1/ChPsOJYvXx7Q36OPPmp69+5tPB6P6d+/v/nkk08K3F4gv3fffTes6vMEel6l1fPag+lPsNNQkgodgM4991zTsGFD8+CDD/qdKF3Ugmy1PjEx0ezfv7/I8e/fv98kJiYGXZ/n888/N61btzbx8fFm4sSJftekL03/u3btasaPH19kf8aNG2e6du0adH/y7Nu3z1x++eUmIiLCuN1u43a7TUREhLniiivMvn37in1tqAU7zaFi9wdGcf744w8zY8YM35XTunbtambMmGEOHz7sV2d1Htldb3Uagmk/mGXU6npgd70VLpfLREdHm4suusj8/e9/N19//bXJyMgIWftW3wO7t6VW68tq2xjMe2zXOMpivXFavd3fQUoS7oHGan1p58+uXbvM4sWLfdu6wi78Eur34FQul8s0aNDAPPjgg2bKlClF/oVrfWllZmaa//znP0X+YBNMf+yahgodgIyx/uu3lfqqVaua9evXFznu9evXm6pVqwZdv3btWtO1a1dTpUoVM2rUqICuOmOl/x988IGJjIw0r7zyil9azs7ONlOnTjVRUVHm/fffL1V/Dhw4YGrXrm3OPPNM8/TTT5uPP/7YfPzxx+app54yZ555pklKSjIHDx4ssZ38fvnll6DrrU5zqPtTFgEof38ef/xxc/z48QI1eVeyqVWrlomMjPR7zuo8srve6jRYbd/qMmp1PbC7PlD5l4vFixeHNFCd2r7V98DubanVeru3jcG8x3aPw+71xmn1eez8DlKScA80wdQHM3/++9//mu7duxuXy2XcbrfvJshDhw41Y8aMKVAf7HuwcuVKM2jQINOpUyff9nDevHl+V0tr0KCBpb3p4Vaf3++//27eeOMN88ADD/guDb5hw4ZCvxMdP37c3HbbbSYiIsJERET43oORI0eaSZMmlao/pZmG4lToc4DyO3bsmN5++23Nnj1ba9as0aWXXqqbbrpJ/fv31+mnnx5UfceOHXX11Vdr/PjxhY5z0qRJ+uSTT7RmzZqg6t1utzwej4YPH17s8ZOnnjBmZXr//ve/a9KkSapWrZoaN24sSdq7d6+OHTumsWPH6plnnvHVBtOfYcOGaffu3friiy8KXMnF6/Wqd+/eatKkid58880i28uTnJysp556SjNnzlRGRkbQ9VamOZT9kaQffvhB7dq1C/gEdiv1hfUnIiJCv/32m2rVqlXoa7Kzs/Xpp5/qmmuu8RtudR7ZWR/MNFhp3+oyanU9sLu+JCUtp1u2bPE7+bhVq1YBtVtS+1beA7u3pVbrrfa/LN7jshiHneuN0+pPZcd3kJLY+XlT3vVW5s/gwYN1+PBhvfnmm2rWrJl++OEHNW7cWF988YXGjBmjn376qdDxWxnHhx9+qFtuuUWDBg3SW2+9pW3btqlx48Z69dVX9e9//1v//ve/A5rmimLLli3q2bOnEhIS9PPPP2vHjh1q3LixHnroIR04cEDz5s3zq7/33nu1atUqTZ48Wb1799aWLVvUuHFjffLJJ3rssccsXXiqrFSaAJRf3p3j33rrLR09elRZWVlB1c+YMUNjxozRO++8oyuvvNLvNYsWLdKNN96ol156ScOHDw+qvmHDhgFdxnTv3r2lmt5169Zp/vz52r17t4wxOuecc3TTTTfpwgsv9KsLpj9nnHGG3n33Xb8roOS3cuVKDRw4UIcOHZIk/f777/rb3/6mr776StHR0XrggQc0cuRIPfbYY3rhhRfUqlUrjR49WjfccENQ9Van2Wr7pwaJU6WmpmrFihW+DbrVeqv9cbvdSk5OLjI8FCfQeWR3fbDTEGj7VpdRq+uB3fVScOvBunXrNGzYMG3bts3vZN0WLVpo5syZuuCCC0rVft44AnkP7N6WWq232v+yeI/LYhySfeuN0+qLE6rvIHZ/3oRbfVFKmp9JSUn64osv1Lp1a1WrVs0XgPbu3atWrVrp2LFjxbYfyDjatm2r0aNHa/DgwX7j2LRpk/r06aPk5OQSx1GR9OzZU+3atdNzzz3nN73fffedbrrpJv38889+9Q0aNNC7776rjh07+tXv3r1b7dq1C8uLq1TKAJSnqF+/rdTffPPNWrBggZo2bapzzz1X0p/319i5c6cGDBigt99+268Nq/WhZHV6QyEmJkZ79uzRmWeeWejzv/zyi84++2ydOHFCknTHHXdo8eLFuv766/XFF19o27Zt6tWrl9xutx566CHf5SXzWK23ymr7Q4cODajdvEulWq232h+3262UlJSAfzEMR3ZPg9VlNBxZXS62bdumDh06qFmzZho9erSaNWvmG/7yyy9rx44dvvtdBNN+MOzelpbntrcysrreOK0+EKX9DmL350241ZekqPlZrVo1bdy4UU2aNPH78r1+/Xr16tVL//vf/wJqv7hxxMbGatu2bWrYsGGBkNW8eXPfcnH55Zfr7bffVkJCgiTpmWee0Z133qnExERJ0v/+9z9dfPHF2rZtW1jW50lISNDGjRt11lln+U3v/v37de655xZYD2JjY/Xjjz+qcePGfvU//PCDLrnkEqWlpQXdn2CnoUSWD5oLI++++67JzMz0PT548KDfVT2OHz9unn322aDr87/uqquuMs2bNzfNmjUzV111lXn33XeL7ZeV+kBZ7f+RI0fMzz//7NfGjz/+aG699VZz/fXXm/nz55e6Tw0aNDBffPFFkc9//vnnpkGDBr7H9erVM0uWLDHG/HnCqcvlMhMmTCjy9VbrrU6z1fbtZrU/LpfLJCYmmurVqxf7l5/VeWR3vdVpsNq+1WU0HFldLq6//npz9dVXF3oScG5urunfv7+5/vrrg24/2G2L3dvSQOvLYtsYbuxeb5xWb0zZfQdximDnT58+fcxDDz1kjPnzfMC9e/eanJwcc/3115trr702JONo1KiR+eqrr3zjyDvHZe7cuaZZs2a+OrfbbVJSUnyPq1Wr5qs1xpjk5GS/857CrT7P6aefbjZu3Fhger/88ktz5plnFqi/+OKLzdSpU331e/fuNcb8eQ5Qr169StWfYKehJBU6AJXVgmCXPn36mNTUVN/jSZMm+V1y87///W+pVqyBAwf6nQCYkpJiqlevblq0aGH69etnoqKizLx584LujzHG3Hvvvea8884rcKWxvPG1atXK3Hvvvb5hERER5tChQ77HHo+n2CuvWK23Os1W28/PjkurWu2Py+UyU6ZMMXPmzCn2Lz+r88jueqvTYLV9q8uo1fXA7npjrC8Xp512mvn++++LfH7dunXmtNNOC7p9q+9BuLF72xjMe2z3OOxeb5xWb0zZfgcJl0t/21kf7PzZunWrqVWrlundu7eJjo421113nWnWrJmpXbu22b17d0jG8fTTT5vmzZubNWvWmGrVqplvvvnG/POf/zSnn36674u/MX9+nuVvP394KKz9cKvPM2zYMNO/f39z8uRJX6DZv3+/adu2bYH1wBhjvvnmG1O1alVz5513mipVqph7773XXHbZZSYuLs7vAjXB9CfYaShJhQ5AZbUg2MXqimi1/w0bNjTLly/3PX7++efNWWed5bs84fPPP286dOgQdH+MMebo0aOmSZMmplq1auauu+4yU6ZMMZMnTzZ33HGHqVatmmnSpInv6iF548j/AZP/l4Ki5pGV+mCm2Ur7xth7aVWr/Tl1mQiE1Xlkd73VabDafjDLaLj9Imd1uYiJiTEHDhwo8vkDBw6YmJiYoNu3+h6EG7u3jWXxK6fVervXG6fVG1M230HC7dLfdtaX5jtaamqqefLJJ831119v+vTpY/7+97/7/ahT2nHk5uaaJ5980sTFxRmXy2VcLpepUqWKb89TsO2HW32e1NRU07NnT5OYmGgiIiJMvXr1TFRUlLnkkkuKvMLonj17zF//+ldzwQUXmGbNmplBgwaZLVu2lGr+lGYaShJp7YA5Z3G73XK5XH539w1lvTnl9KtTH5dWcnKyGjZs6Hu8dOlSXXPNNYqM/PNt79evnyZNmlSq/lSvXl1r167Vgw8+qHfeeUepqamSpMTERN100016+umnVaNGDb82e/To4euD1+tV3759FR0d7dfuxo0bg6oPZpqttH/w4EF17NhRUVFReuKJJ/zOrXj99dfVqVMnff/9977jyK3WW+1PSSdBF8bqPLK73uo0WG0/mGU0v5LWA7vr82qsLBcNGjTQunXrVK9evULbW7t2rRo0aBB0+1bfA7u3pVbr7d42Bvse2zkOu9cbp9WXBbs/b8KtPhhZWVnq3bu3pk+frr///e9Bt1OcnJwcrVq1SiNGjNDYsWO1e/duHTt2TM2bN1fVqlX9al0uV4HPtOI+48KtPk9CQoK++uorrVq1Sj/88IOOHTumdu3aqWfPngVqs7KydMcdd+jhhx/WG2+8UWy7wfQn2GkoCQGoGPv27bO13m7x8fFKTU31fdHJuypUHpfLpczMzFKPp3r16nr99df12muv6ciRI5Kk008/vdAF9NFHH/V7fNVVVxXbttV6q9Nstf3HHntM5557boFLpfbv31+jR49W79699dhjj/kulWq13mp/ggnNVueR3fVWpyGY5drKMhqOrC4XAwcO1JgxY3TuueeqZcuWfs9t3bpV999/vwYPHhx0+1bfA7u3pVbry2rbGE7KYr1xWr3d7P68Cbf6YERFRWnLli1Bvz4QERER+stf/qLt27crMTHRd/GYwhhjdOuttyomJkaSdOLECd15552Ki4uTpALrWLjVS38GGo/Ho82bN6tz587q3LlzsfMnKipKH374oR5++OFi64LtTzCvCUSFD0BffPGF78oQubm5WrJkiX788UdJ8v2CE0z9li1b1LJlS7nd7oD68dFHH+nKK68s8ItpUX766aegUq2V6e3YsaOmTp2qN954Qx999JH++OMPde/e3ff8zp07/X4hLm3KdrlcJV7K+NQvWiWxWm91mq22v3jxYr377rsF7hMhSR6PR0888YQGDhwYdL3V/uTm5hY6fP/+/Tp+/LiaNm1aYBm2Oo/srrc6DVbbzy+QZTQcf5GzulxMmDBBX3/9tdq0aaPLLrtMzZo1kzFG27dv19dff60LL7xQDz74YNDtW3kP7N6WBrPt7dChg63bxrL4ldNqvd3rjVPr7foOItn/eRNu9ZL1+Sn9eQXImTNnBnyPv2DG0bJlS+3du7fYe25Jf96TKP96ePPNNxdaE6710p+Bpn79+gHfz0n6M9QuXLhQo0ePLrYumP4E85pAVOjLYAfygZr/cAgr9REREUpOTg740rwul0vr1q3zu7dGceLj43Xs2DH16dPHl2oXLVqk7t27+6XaxYsXB9V/6c8vHj169FB6erqys7P14IMP6oknnvDV3nLLLYqLi9P06dN97VvpjyR169YtoA/2JUuWlNj39PR0zZ8/XzNnztT69euDqrc6zVbbL89LqxbWn1mzZik1NVVjxozx1Q0fPlwzZ86UJN+vb/m/2FidR3bXW50Gq+1bXUatrgd215ekqPXm5MmTevnll/X222/73Qh14MCBGj16tG/8wbRv5T2we1sazLb3nXfe0ZAhQ2zbNgbzHts9DrvXG6fVS/Z+B5HC79LfdtdbnT957r77bs2bN09NmjRR+/btfetAnpdeesn3f7DjWLx4sSZMmKAnnnii0HHEx8eX2G6eY8eOFTh0LtzqZ86cqY8++khvvfVWQId+Pvnkk3rxxRfVo0ePQudPoDf2Lqo/drymQu8BKuqX41DUG2P08MMPKzY2NuDXvPzyy0pKSgqo9uTJk7rmmmtUrVo137CSUq3V6W3VqpW2b9+uVatWKSkpSR06dPB7fuDAgX67cocMGeL3fCApu02bNkWO/48//tCCBQtK3D25bNkyzZo1Sx999JESEhJ09dVXB11vdZqttl+nTh1t27atyA36jz/+6LcMWK232p8ZM2bojjvu8D1evHixZs+erXnz5qlZs2YaOXKkHn/8cb9DDKzOI7vrrU6D1fatLqNW1wO764tS0noTHR2t8ePHa/z48SW2ZbV9K++B3dtSq/UnT55U06ZNbd02BvMe2z0Ou9cbp9VL9n4Hkez/vAm3eqvzJ3877dq1kyTfjz15Tg21wY7j8ssvl/TnuXL52zz1vMOXX3652L0gf/zxh3r37q1Vq1aFZX2eV199Vbt371bdunXVoEGDAoEm73zQPDNnzlRiYqI2bNigDRs2+D3ncrl8ASiY/gQ7DSWp0HuAAuH1euXxeCzXd+3a1dLhX5s2bVKLFi0CPgxDkhYsWKA6deoEXB8Iq9Nrh+zsbE2bNk1PPfWUEhISCt3N/euvv2rOnDmaPXu2UlNT9fvvv2vBggUaMGBAofPdar1VgbY/atQoLV26VEuWLCnwi/bhw4d12WWXqVu3bpo8eXJQ9Vb7U7NmTS1fvlznnXeeJOmuu+7SkSNH9MEHH0iSli9frqFDh4bd+Wn5lcc0BLKMhqNwWQ+ssHtbGi7bXiewut44rb4wwX4Hkez/vAm3eqvzxy6FjWPFihXFvubSSy+V9Oehff/4xz8K/RHr2LFjvhuz/uc//wnL+jyPP/54sdNr9bDpPMH0J9hpKEmlDUCZmZl69dVX9fzzzys5OTnk9WXlgw8+0HXXXVdiXWH9nzdvXkDjsHLsZEn9mT9/vh555BF5vV499NBDGj58uO8qQ5L04YcfaubMmVq5cqX69Omjm2++WX369FFcXJx++OGHAntnrNZbnWar7f/+++/q0KGDkpOTdfPNN6tp06a+cysWLFigpKQkrVmzxrfL2Gq91f7ExsZq+/btvhObW7durWHDhvl+bTlw4IDOPfdceb3eoOeR3fVWp6G0y3VJy2ggAl0vQ1Vvdblo1KhRQIfz7NmzJ6j27di2lKXy2DaWtr604yjr9cZp9acKxXcQuz9vwq0+FPPz7bffVr9+/QrssQhEKL4HfvDBB7rlllv07rvvql+/fr7hx48fV69evXT48GGtWLHC9wNMuNWHwqpVq3T++ecXeph1MP2xbRosXzg7jJw4ccI88MADpn379qZTp07m448/NsYYM2vWLFOnTh1z5plnmmeeeSbo+rKQlZVltm7danbs2OE3fOHChaZVq1YmOjraN8xq/xMTE4v8q169uomOji5w7XQr/cnv888/N61btzbx8fFm4sSJRV4nPiIiwjz44IMmPT3db3hkZGShN160Wm91mq22b8yf94u48847TfXq1X33A6hevbq54447Ctwnwmq91f40bdrUfPjhh8aYP+/0HhER4XfTsbVr15ratWuXah7ZXW91GoJZro0JfBk1xvp6YHe91eVi8uTJRf6NGjXKeDyeUq0Hwb4H4aIsto3BbEvtHEdZrDdOqy+L7yB2ft6EW30ovqOdej+sU4ViHC1btiz2PmtvvPGGiY2NNcuWLTPGGHPs2DHTpUsXc/bZZ5tff/017OtPddddd5kjR46UWJenpPcgmP6UdhoKU6ED0Lhx40xCQoK59tprTZ06dUxkZKS5/fbbzXnnnWfefvttk52dXap6u23dutU0aNDAd3Owq6++2iQnJ5tLLrnE1KhRw4wfP94cPHgw5P0/dOiQueOOO0xUVJTp1atX0P0x5s8vp127djVVqlQxo0aNKnElGT58uElISDAXXXSRef31183Ro0eNMUV/0bJab3WaS9N+bm6uSUlJMSkpKSY3N7fEPgRSb7U/kyZNMklJSWbixImma9eupkWLFn7Pv/zyy6ZHjx4l9s2YoueR3fWhmoai2re6jFpdD+yuNyY068H//vc/M2rUKBMTE2MuueQSs3r16pC2b4z1ZSLchGrbGMx7XBbjsDLNVtcbp9UbU7bfQez4vAm3+lB8xzn1JpnlMQ5jjHn22WdNfHy8WbZsmbn44otN48aNi10fw60+v5ICzansmD+lnYbCVOgA1KhRI/PJJ58YY/78MHC5XGbo0KFFrlxW6+12+eWXmx49ephFixaZm266ybhcLtO0aVPz/PPPm4yMjAL1pe1/enq6+fvf/26qVq1qOnToYJYuXVqq/hjz5x16Y2NjzahRo8yUKVOK/Msv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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = plt.subplots(figsize=(10,10))\n", "plot_nci('Complete', ax, cut=140)\n", @@ -1561,10 +3053,98 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 57, "id": "1587e83b", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:22.548198Z", + "iopub.status.busy": "2023-07-26T00:00:22.548069Z", + "iopub.status.idle": "2023-07-26T00:00:22.853325Z", + "shell.execute_reply": "2023-07-26T00:00:22.852477Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
K-means0123
HClust
028390
17000
20008
30900
\n", + "
" + ], + "text/plain": [ + "K-means 0 1 2 3\n", + "HClust \n", + "0 28 3 9 0\n", + "1 7 0 0 0\n", + "2 0 0 0 8\n", + "3 0 9 0 0" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "nci_kmeans = KMeans(n_clusters=4, \n", " random_state=0,\n", @@ -1598,10 +3178,188 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 58, "id": "b09ceeab", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:22.858440Z", + "iopub.status.busy": "2023-07-26T00:00:22.857966Z", + "iopub.status.idle": "2023-07-26T00:00:23.400383Z", + "shell.execute_reply": "2023-07-26T00:00:23.400050Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Complete-PCA0123
label
BREAST0502
CNS2300
COLON7000
K562A-repro0010
K562B-repro0010
LEUKEMIA2040
MCF7A-repro0001
MCF7D-repro0001
MELANOMA1700
NSCLC8100
OVARIAN5100
PROSTATE2000
RENAL7200
UNKNOWN0100
\n", + "
" + ], + "text/plain": [ + "Complete-PCA 0 1 2 3\n", + "label \n", + "BREAST 0 5 0 2\n", + "CNS 2 3 0 0\n", + "COLON 7 0 0 0\n", + "K562A-repro 0 0 1 0\n", + "K562B-repro 0 0 1 0\n", + "LEUKEMIA 2 0 4 0\n", + "MCF7A-repro 0 0 0 1\n", + "MCF7D-repro 0 0 0 1\n", + "MELANOMA 1 7 0 0\n", + "NSCLC 8 1 0 0\n", + "OVARIAN 5 1 0 0\n", + "PROSTATE 2 0 0 0\n", + "RENAL 7 2 0 0\n", + "UNKNOWN 0 1 0 0" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqYAAAMJCAYAAADRRvQQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACrvUlEQVR4nOzdd3gUVfv/8c+mNxKaJNIRUDqiAlKlKUVBlCIKgljAAo+ACqIPKCiiPhYsKCpNVBRRxA4qXZoUaYIUpaoJSosk9JzfH/yy32yy2Z1NJsmEvF/XtRdk995zzpydnbl3yjkuY4wRAAAAUMCCCroBAAAAgERiCgAAAIcgMQUAAIAjkJgCAADAEUhMAQAA4AgkpgAAAHAEElMAAAA4AokpAAAAHIHEFAAAAI5AYgrYrHLlyrrjjjsKuhl+3XHHHapcuXJBN6NQcHpfTZ8+XS6XS3v27CnopgBArpCYAj6k7/DXrl3r9fVWrVqpTp06+dwq35KTkzVmzBjVr19fMTExioyMVJ06dTRixAj9+eef+daON954Q9OnT8+3+nKjcuXKcrlcXh8nT560vb4VK1boySef1NGjRy3F33HHHdm2b968eba3LxCbN29W9+7dValSJUVERKhcuXK69tpr9dprrxVouwJx5swZlS5dWs2bN882xhijChUq6IorrrC17j///FNPPvmkNmzYYGu5QGEVUtANAC4027dvV1BQwfzm+/3339WuXTvt27dPPXr00IABAxQWFqZNmzZpypQp+uyzz7Rjx458acsbb7yh0qVLF4qjx5J0+eWX66GHHsryfFhYmN555x2lpaXZVteKFSs0ZswY3XHHHSpevLil94SHh2vy5MlZnq9fv76uvfZa9erVS+Hh4ba10YoVK1aodevWqlixou655x4lJCRo//79WrVqlV555RUNHjw4X9uTU6GhoerRo4feeust7d27V5UqVcoSs3TpUh04cEBDhw61te4///xTY8aMUeXKlXX55ZfbWjZQGJGYAjazMzk4e/as0tLSFBYWZin25ptvVlJSkhYvXpzl6M+4ceP03HPP2da2C025cuXUp08fr69Z+aERyGeVEyEhIdm2T5KCg4PzpF5fxo0bp7i4OK1ZsyZLgn3w4MF8bUtqaqqioqJy/P7evXtr0qRJ+vDDD/Xoo49meX3mzJkKCgpSr169ctPMfJOSkqLo6OiCbgYQME7lAzbzdo3p0aNHNWTIEFWoUEHh4eGqVq2annvuOY+jcHv27JHL5dILL7ygCRMmqGrVqgoPD9fWrVst1fvpp59q48aNevzxx72ekoyNjdW4ceOyff/ixYvlcrm0ePFij+fT25XxtHxiYqL69++v8uXLKzw8XBdffLFuvPFG9zWOlStX1i+//KIlS5a4Tzm3atXK0nJk9sYbb6h27doKDw9X2bJl9cADD2Q5BZ5+ScXWrVvVunVrRUVFqVy5cnr++edzVGdmma8x9fdZvfbaa6pdu7aioqJUokQJXXXVVZo5c6Yk6cknn9QjjzwiSapSpYq7f3JzfWjma0xvuOEGXXLJJV5jmzRpoquuusrjuffff19XXnmlIiMjVbJkSfXq1Uv79+/3W+9vv/2m2rVrez3qW6ZMmSzPvf/++2rUqJG7X1q2bKnvvvvOIyaQz3vdunVq2bKloqKi9Nhjj0mSTp06pSeeeELVqlVTeHi4KlSooOHDh+vUqVM+l6VZs2aqXLmy+3PK6MyZM/rkk0/UunVrlS1bVpL066+/qnv37ipZsqQiIiJ01VVX6Ysvvsjy3qNHj2ro0KGqXLmywsPDVb58efXt21f//POPFi9erIYNG0qS+vfv714XMn7XZs+e7f5sSpcurT59+uiPP/7wqOOOO+5QTEyMfvvtN3Xq1EnFihVT7969JUk7d+5Ut27dlJCQoIiICJUvX169evXSsWPHfPYHUFA4YgpYcOzYMf3zzz9Znj9z5ozf96ampuqaa67RH3/8oYEDB6pixYpasWKFRo4cqb/++ksTJkzwiJ82bZpOnjypAQMGKDw8XCVLlrTUxvSd4u23324pPje6deumX375RYMHD1blypV18OBBff/999q3b58qV66sCRMmaPDgwYqJidHjjz8uSYqPjw+4nieffFJjxoxRu3btdN9992n79u168803tWbNGi1fvlyhoaHu2CNHjqhDhw66+eab1bNnT33yyScaMWKE6tatq44dO/qt68yZM1k+46ioKJ9H4bx9Vu+8847+85//qHv37nrwwQd18uRJbdq0SatXr9Ztt92mm2++WTt27NCHH36ol19+WaVLl5YkXXTRRX7bmLl9oaGhiouLyxJ3yy23qG/fvlqzZo078ZGkvXv3atWqVfrf//7nfm7cuHEaNWqUevbsqbvvvlt///23XnvtNbVs2VI///yzz0sNKlWqpJUrV2rLli1+r7UeM2aMnnzySTVt2lRjx45VWFiYVq9erYULF+q6666TFNjnfejQIXXs2FG9evVSnz59FB8fr7S0NHXp0kU//vijBgwYoJo1a2rz5s16+eWXtWPHDs2dOzfb9rlcLt1222165pln9Msvv6h27dru1+bNm6fDhw+7k71ffvlFzZo1U7ly5fToo48qOjpaH3/8sbp27apPP/1UN910kyTp+PHjatGihbZt26Y777xTV1xxhf755x998cUXOnDggGrWrKmxY8dq9OjRGjBggFq0aCFJatq0qaTzPzj69++vhg0bavz48UpKStIrr7yi5cuXZ/lszp49q/bt26t58+Z64YUXFBUVpdOnT6t9+/Y6deqUBg8erISEBP3xxx/66quvdPToUa/rDlDgDIBsTZs2zUjy+ahdu7bHeypVqmT69evn/vupp54y0dHRZseOHR5xjz76qAkODjb79u0zxhize/duI8nExsaagwcPBtzWBg0amLi4OMvx/fr1M5UqVXL/vWjRIiPJLFq0yCMuvV3Tpk0zxhhz5MgRI8n873//81l+7dq1zTXXXGO5PZkdPHjQhIWFmeuuu86cO3fO/fzrr79uJJmpU6e6n7vmmmuMJDNjxgz3c6dOnTIJCQmmW7dufuuqVKmS18/2iSeeMMZk7Stfn9WNN96YZZ3I7H//+5+RZHbv3u23ben1e2tfev+mr6fp5R07dsyEh4ebhx56yKOc559/3rhcLrN3715jjDF79uwxwcHBZty4cR5xmzdvNiEhIVmez+y7774zwcHBJjg42DRp0sQMHz7czJ8/35w+fdojbufOnSYoKMjcdNNNHp+lMcakpaUZY3L2eU+aNMmjrPfee88EBQWZZcuWeTw/adIkI8ksX77c5/L88ssvRpIZOXKkx/O9evUyERER5tixY8YYY9q2bWvq1q1rTp486bEcTZs2NdWrV3c/N3r0aCPJzJkzJ0td6cu9Zs0aj+9XutOnT5syZcqYOnXqmBMnTrif/+qrr4wkM3r0aPdz6evHo48+6lHGzz//bCSZ2bNn+1xuwEk4lQ9YMHHiRH3//fdZHvXq1fP73tmzZ6tFixYqUaKE/vnnH/ejXbt2OnfunJYuXeoR361bN0tHzzJLTk5WsWLFAn5foCIjIxUWFqbFixfryJEjeVbPDz/8oNOnT2vIkCEe13jec889io2N1ddff+0RHxMT43ENZlhYmBo1aqTff//dUn2NGzfO8vn27dvX53u8fVbFixfXgQMHtGbNGkv1WhUREZGlfS+++KLX2NjYWHXs2FEff/yxjDHu52fNmqWrr75aFStWlCTNmTNHaWlp6tmzp8e6mZCQoOrVq2vRokU+23Tttddq5cqV6tKlizZu3Kjnn39e7du3V7ly5TxOa8+dO1dpaWkaPXp0lut1XS6XpMA/7/DwcPXv39/judmzZ6tmzZqqUaOGx/K0adNGkvwuT61atdSgQQN99NFH7udSUlL0xRdf6IYbblBsbKwOHz6shQsXqmfPnvr333/ddRw6dEjt27fXzp073afaP/30U9WvX999BNXbcmdn7dq1OnjwoO6//35FRES4n7/++utVo0aNLP0hSffdd5/H3+lHROfPn6/U1FSf9QFOwal8wIJGjRpluS5PkjvZ9GXnzp3atGlTtslm5ptEqlSpkqM2xsbGWk7CciM8PFzPPfecHnroIcXHx+vqq6/WDTfcoL59+yohIcG2evbu3StJuuyyyzyeDwsL0yWXXOJ+PV358uWz7OxLlCihTZs2WaqvdOnSateuXUBt9PZZjRgxQj/88IMaNWqkatWq6brrrtNtt92mZs2aBVR2ZsHBwQG175ZbbtHcuXO1cuVKNW3aVL/99pvWrVvncenIzp07ZYxR9erVvZaR8dR5dho2bKg5c+bo9OnT2rhxoz777DO9/PLL6t69uzZs2KBatWrpt99+U1BQkGrVqpVtOYF+3uXKlctyo9nOnTu1bds2y981b3r37q2HH35YK1asUNOmTTV37lylpqa6T+Pv2rVLxhiNGjVKo0aNyraecuXK6bffflO3bt381ulNdv0hSTVq1NCPP/7o8VxISIjKly/v8VyVKlU0bNgwvfTSS/rggw/UokULdenSRX369OE0PhyLxBTIY2lpabr22ms1fPhwr69feumlHn9HRkbmqJ4aNWro559/1v79+1WhQoWA35/dEZxz585leW7IkCHq3Lmz5s6dq/nz52vUqFEaP368Fi5cqAYNGgRctx2yuys94xFDu3n7rGrWrKnt27frq6++0rx58/Tpp5/qjTfe0OjRozVmzJg8a0tmnTt3VlRUlD7++GM1bdpUH3/8sYKCgtSjRw93TFpamlwul7799luv/RcTE2O5vrCwMDVs2FANGzbUpZdeqv79+2v27Nl64oknbFmezLz1fVpamurWrauXXnrJ63usfC9uvfVWDR8+XDNnzlTTpk01c+ZMlShRQp06dXLXIUkPP/yw2rdv77WMatWqWV0M24SHh3sdPeLFF1/UHXfcoc8//1zfffed/vOf/2j8+PFatWpVlkQWcAISUyCPVa1aVcePHw/4aFygOnfurA8//FDvv/++Ro4cGfD7S5QoIUlZ7oDOfKQqXdWqVfXQQw/poYce0s6dO3X55ZfrxRdf1Pvvvy/J/6lKf9LHkty+fbvHHeanT5/W7t2787w/cyM6Olq33HKLbrnlFp0+fVo333yzxo0bp5EjRyoiIiLXfWO1DTfccINmz56tl156SbNmzVKLFi3cd5VL5z9DY4yqVKmS5QdSbqSfXfjrr7/c9aSlpWnr1q3ZjtVpx+ddtWpVbdy4UW3bts1xH5ctW1atW7fW7NmzNWrUKH3//fe644473Edn09sWGhrqt01Vq1bVli1bfMZk186M/ZF+KUK67du3ex1rNTt169ZV3bp19d///lcrVqxQs2bNNGnSJD399NOWywDyC9eYAnmsZ8+eWrlypebPn5/ltaNHj+rs2bM+3//PP//o119/9XuNWPfu3VW3bl2NGzdOK1euzPL6v//+675D3ptKlSopODg4yzWvb7zxhsffqampWWZDqlq1qooVK+YxJE90dLTXmY3OnDmjX3/91Z20ZKddu3YKCwvTq6++6nHUc8qUKTp27Jiuv/56n+8vKIcOHfL4OywsTLVq1ZIxxj2KQ/r4klZnfsqpW265RX/++acmT56sjRs36pZbbvF4/eabb1ZwcLDGjBmT5ciyMSbLsmS2aNEir0ekv/nmG0n/dxq6a9euCgoK0tixY7NMVJD+fjs+7549e+qPP/7QO++8k+W1EydOKCUlxW8Z0vnT+QcPHtTAgQN15swZ92l86fwwWK1atdJbb73ldR3++++/3f/v1q2b+/KGzNKXMbt14aqrrlKZMmU0adIkj+/Vt99+q23btlnqj+Tk5Czbl7p16yooKMjv8FlAQeGIKZDHHnnkEffNE3fccYeuvPJKpaSkaPPmzfrkk0+0Z88e95BB3rz++usaM2aMFi1a5HMs0NDQUM2ZM0ft2rVTy5Yt1bNnTzVr1kyhoaH65Zdf3KcksxvLNC4uTj169NBrr70ml8ulqlWr6quvvspyXd6OHTvUtm1b9ezZU7Vq1VJISIg+++wzJSUleQw+fuWVV+rNN9/U008/rWrVqqlMmTJq06aN/vjjD9WsWVP9+vXzOWXpRRddpJEjR2rMmDHq0KGDunTpou3bt+uNN95Qw4YNfQ42X5Cuu+46JSQkqFmzZoqPj9e2bdv0+uuv6/rrr3ffnHbllVdKkh5//HH16tVLoaGh6ty5s+0DoqePafnwww8rODg4y/WOVatW1dNPP62RI0dqz5496tq1q4oVK6bdu3frs88+04ABA/Twww9nW/7gwYOVmpqqm266STVq1NDp06e1YsUKzZo1S5UrV3bfnFStWjU9/vjjeuqpp9SiRQvdfPPNCg8P15o1a1S2bFmNHz/els/79ttv18cff6x7771XixYtUrNmzXTu3Dn9+uuv+vjjjzV//nyv14pn1q1bN91///36/PPPVaFCBbVs2dLj9YkTJ6p58+aqW7eu7rnnHl1yySVKSkrSypUrdeDAAW3cuFHS+e/+J598oh49eujOO+/UlVdeqcOHD+uLL77QpEmTVL9+fVWtWlXFixfXpEmTVKxYMUVHR6tx48aqUqWKnnvuOfXv31/XXHONbr31VvdwUZUrV7Y0A9XChQs1aNAg9ejRQ5deeqnOnj2r9957z+u6ADhGgYwFABQS6cPwrFmzxuvr11xzjd/hoowx5t9//zUjR4401apVM2FhYaZ06dKmadOm5oUXXnAPrZM+BFHmYZieeOIJr8M4ZefIkSNm9OjRpm7duiYqKspERESYOnXqmJEjR5q//vrLHZd5CCRjjPn7779Nt27dTFRUlClRooQZOHCg2bJli8dwNv/884954IEHTI0aNUx0dLSJi4szjRs3Nh9//LFHWYmJieb66683xYoV8xjaKH05M/dRdl5//XVTo0YNExoaauLj4819991njhw54hHj7XPIbhm9qVSpkrn++uuzfT274aK8DZn11ltvmZYtW5pSpUqZ8PBwU7VqVfPII4+4hxpK99RTT5ly5cqZoKAgv0NH9evXz0RHR2f7eubhojLq3bu3kWTatWuX7fs//fRT07x5cxMdHW2io6NNjRo1zAMPPGC2b9+e7XuMMebbb781d955p6lRo4aJiYkxYWFhplq1ambw4MEmKSkpS/zUqVNNgwYN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//23jDG2xR07dizL6dUffvhBjz76qHbs2KHhw4froYce8jrdlp1xBVGnt7hnn33WUt+++OKLmjp1qo4dO6Zbb71VS5cuVf369RUaGqpSpUq5463Ede7cWUuXLtX111+vCRMmqEOHDgoODtakSZOybYcvmae1TUtL09SpUzVmzBgFBQVp4sSJ6tevn8e88VZifMVFRUX57bdDhw55tC23dfqbKi6dlc/zQmB1+5HfZUnnT82l++6779S9e3f3TRIPPvigOnXqpOPHj1uK+/rrr7OUf/jwYT311FN688031bhxY61atcpS+61+V4oXL+63be+++66l9kvSqFGjFBUV5bPP9u3bZ2t5L730ks/XA+Wvzrlz5+rQoUOWtmtW2m9nnVa3uVbi7CwrkDi7+kz6v3Xjr7/+UtOmTbO83rRpU/dp6yVLlmjVqlUe89aXKlVKzz77rJo1a+Z+7tNPP9Unn3yiVq1auZ/r1KmTIiMj1bNnT7355puSzt/d37lz5yx1dunSRY899pilfaid++NA4gJVKBPTcuXKacuWLapWrZrX1zdt2qSLL75YLpfL1rh069ev14gRI7Rs2TLdfffd+uabb7xem2JnXEHU6Svuvffes9RnI0aM0IgRIzR27Fiv19WksxL37bff6j//+Y/uu+8+n9fQuVwujyEsMv/tzZw5c/TYY4/p77//1siRIzV48GCFh4cHHOMvzuq6a2edVvvDSru++OILr6+nS7+D1M44Y4zPuEDrtPIZxMbGWqrT6udptW0mw7Wcq1at0qhRo9x/Fy9eXEeOHFF4eLiluIxOnDihl156SS+88IIqVaqkOXPmqFOnTqpatWpA66Pke10LCgry2zbz/+cct9L+zZs3KywsLLtuk8vlslSn1fIOHTpk67pmpc49e/ZoyJAhfrdrVspK/17bVafVba6VODvLCiTOrj7LuM2sVq2aPv74Yz322GMeMbNmzXK3JTw8XP/++2+Wco4fP+5RT2pqquLj47PElSlTRqmpqe6/K1SooAULFmT5rv7www+qUKGCpX2onfvjQOICluNjrQVo0KBBpk6dOubEiRNZXktNTTV16tQxgwcPtj1u165dpmfPniY4ONjceuut2c77amdcQdRpJc5qnz3zzDOmevXqpkKFCmb48OHuuykzn5axErdy5Upz9913m2LFiplGjRqZ1157zfz9999eT3kVL17clChRwpQoUcK4XC4TFxfn/rt48eLu03GLFy82jRs3NlFRUWbkyJHm6NGjWZbHSozVOKv9ZmedVvpDkqV2+bs2Ny8e8nHNbU4eVj4Dq3Va/TytLueLL75ojDFmy5YtJigoyPz+++8en3WlSpXM1VdfbSnOmPN3xL755psmISHBVK5c2cyYMcPjDmKr7be6rllpW1hYmKX2W73uz2p/WCkvL9Zff3UGsl2z63pJq3XaGVcQdebVNaaffPKJCQ4ONu3btzdjx441Y8eONe3btzchISFmzpw5xhhjbr/9dlO7dm2zatUq9537K1euNHXq1DH9+vVzl9WmTRvTo0cPj+9gamqq6dGjh2nbtq37uTfeeMOEhYWZe++918yYMcPMmDHDDBw40ISHh5tJkyZZ2ofauT8OJC5QhTIxTUxMNGXLljUVKlQwzz33nJk7d66ZO3euefbZZ02FChVM2bJlTWJioq1x/fr1M2FhYaZ9+/bm559/zrZt9913n21xdpZld5zVvk23ePFi07dvXxMVFWXq1atngoODzY8//pilXCtxx48fN1OmTDHNmjUzoaGhJigoyEyYMME9L/L06dMtPTp27GhCQ0PNwIEDzV9//eV1Oa3EBBJnpd/atGlja51W+uKVV14J6PMszAJdd/OrrDlz5piwsDDTpk0bEx8fb2644QaP14cPH2569OhhOW7WrFmmevXq5qKLLjITJkwwp06dynH7ra5rVtrWtGlTS+0PCgqylCxY7Q+r5dkpkDr9bdeslmVnnXkRl5915kWfpVu3bp3p3bu3ueKKK8wVV1xhevfubdavX+9+/ciRI6ZLly7G5XKZsLAwExYWZoKCgkzXrl09ftRt2rTJlC1b1pQqVcq0adPGtGnTxpQqVcqUK1fObNmyxaPOOXPmmGbNmpmSJUuakiVLmmbNmpm5c+d6xFjZh9q5Pw4kzqpCmZgaY8yePXtMx44d3ReYu/7/3aEdO3b0+LVsV5zL5TKRkZHuu+uye9gZJynf6wwkzmrfZpScnGwmTZpkGjVqZIKDg02TJk3cRztyEvfrr7+aRx55xCQkJJiIiAjTuXNns2TJEnPmzBm/65DL5TKhoaEeRxMzPyT5jUk/Cmklzuq6ZmedVvsjJ59nZufOnTNffvllvsblpKzcLqudZWUs74cffjBDhgwxzz77rMcducYY8+STT5pFixYZY4ylOJfLZaKiosxdd91lhg4dmu3DSvsDWb+ttM1q+60mC3aXl51A17Wc1ultu5ZXR/981ZnXcXldpyTb++z06dOmf//+Pr/baWlpZu/evSY1NdXs3LnTfPHFF+aLL74wO3fu9BqfkpJi3n77bTNs2DAzbNgw884775jU1FT362fOnDFjxowx+/fvt9RGY6ztQ+3eH1uN86dQjmOa0ZEjR7Rr1y4ZY1S9enWVKFEiT+LGjBmTZ8uQncWLF3tcEO00TzzxhCTrfZvZ5s2bNWXKFM2cOVMHDx7MVdy5c+f05ZdfaurUqfr6668tjUn37rvv+m3jjz/+qObNm/uNs6pfv37u/2fXb1baFYg777wzoDH6cvJ57tq1S1OnTtX06dP1999/68yZM3keZ0dZgS6rnWUFsgw50apVK7/XVrsyTKvoq/1W18mM63duvfvuu+rVq5fXa6rzu7ycrmuTJ0/O1TJk3K5169bNUlm57beMdfq6ltbOuLyqc8yYMVq1apXtfRYXF6cNGzZ4TBeaUVpamiIiIvTLL7/4vP71zJkzqlGjhr766ivVrFnTZ50xMTHasmWL5VmqMrKyD7VzfxxInFcBp7KFwLZt20z16tXzPQ7/J5A+O336tK1xdhwZSZffM2VY7bdA6rSjP7y1KzU11bz77rumRYsWJigoyFxzzTXmzTffzHLq2s44u+u0sqx2luWrvLVr15q9e/fa9rBDIN/js2fPWmrXihUrLMVt377drF692qOOH374wbRq1co0bNjQjBs3zhhjLPeH1fLS2bGuBVqnL1bLsrPOwi6v+qxv374+x/81xphatWqZlStX+m1j2bJlfQ7Zlq5Lly5m+vTpfuN8sbIPtXt/bDUuo0J5V74/p06d0m+//ZZncZs2bdKOHTsknZ/toV69el7fZ2dcQdQZSFxm6X326quv+o11uVyWZpaZOXOmx7Aw2ZWV8d+c2rFjh6ZMmaIZM2b4nCnDX0wgcZL/dTIndUq574+M7VqzZo0mT56sjz76SFWrVlXv3r21YsUKvfHGGx6fj51xdtdpZVntLMtK24KCgrx+TsYYj/U6LS3NUtz333+vZs2a+bzTOJD2ZyfjupaUlOS3bWlpaVmGOvPW/s6dO6tu3bruGfd2796tzp07q0WLFqpXr57Gjx+vqKgoDRs2zFJ/WC2vWbNmtq1r9957r986P//8c9WuXdtnH7tcLh0+fNhS+5csWWJbnVa2y1bjrJx9srvOBQsWqF+/frb0WVRUlIYMGSJJql69usaOHavly5fryiuvVHR0tEe9//nPf/Tss8/qkUce0Ztvvqk6depk28YHHnhAzz33nCZPnuxzaL+OHTvq0Ucf1ebNm73WuWfPHr/9sXTpUq+zs2Vk92fgcrk0ePBgv3EZXZCJaV756aefdNddd2nr1q3uD8Tlcql27dqaMmWKGjZsaHtcQdQZSJw/L7/8st8Yqyv4nj17lJSUpAYNGviNv+OOO/yelpkzZ47H36mpqZo1a5amTp2qlStX6qqrrtKwYcMCjgkkzorc1jlixIgc9Yc39erVU3Jysm677TatWLHCvXN79NFH8yzO7jqtSEtLU48ePWwpy2rbfv75Z6/vNcboo48+0quvvqqYmBh9//33luLatm2riIgIXX311WrdurVat26tq6++2vK4tr5kt65dd911ftsWERHhdTrgzO1fu3athg8f7n79gw8+0KWXXqr58+dLOt+nr732muV+s1LeoEGDFB8fb9u6ZqXOu+++WwcPHvS7XbPaH4cOHbKtzs8//1yVKlWyJW7nzp06c+ZMvtb5999/q2PHju6/c9Nnr732mjsxnTJliooXL65169a5p4tN53K59J///Ed9+/ZVamqq6tevr7CwMEVGRnrEHT58WNL5HzgLFizQd999p7p162ZJONO3y/fff78k7+PsulwuVaxYMdu+SnfgwIEs7fVWFolpIWGMUdu2bVWzZk29//777utBtm7dqpdffllt27bVqlWrJMm2uPfff1+9e/fO1zoDibNy1CjjeH659cADD+jDDz/U7t271b9/f/Xp08dj8OJ0QUFBKlasWJYNQXZWrVqlyZMna/bs2apYsaK2bdumRYsWecw/bCUmkDi72mUlbsSIEQH1hy/bt2/XLbfcotatW/v8/O2Ms7tOq1q2bGlbWVbalnkCDyl3E2UcPnxYCxcu1JIlSzRlyhQ98cQT7iOC6Ylqw4YNvR69zE5O1u+cThxSpkwZlS9f3h2zaNEijwHGW7VqpYceeshyv1kp7+TJk5Y+d6vr2j///OO3zrCwMB07dszvdi0yMtJSf5w6dcq2Oq1uc63E2VmW1Tg7++yhhx5y/21lvzZhwgS/MdL5cXa7devmNy4tLc1SeReEgE/+FwJ5MS2iJHPTTTd5jAGYLi0tzXTt2tX06NHD9OjRw7a48uXL53udgcT5YrVvA3Xy5Ekzc+ZM065dOxMVFWV69Ohh5s2b59FWq9dUvvDCC6ZWrVqmXLly5uGHHzYbNmwwxniOwWYlJpA4fzZs2GBcLpetddpxjWn653ngwAHz9NNPm6pVq5qyZcuahx56yKxfv96EhoZ61GlnnN11WllWl8tlW1mB9Fu6devWmXbt2pnw8HDzwAMPZPv5WY0zxpjffvvNTJkyxdx+++2mYsWKJigoyMTFxVlqf07Wbytt8xVTtmxZ93V/586dM7Gxsearr75yv75161YTGxtra3kxMTG2rmtWl8HKds1qWXbWaYy1ba7VuPyu0+4+8yZ9jFLYp1DelV+iRAmf18ydPXtWKSkpio2NtS3u33//1Zo1a3TVVVd5jVmzZo172rtvv/3WlrjGjRvrp59+ytc6A2lb8eLFvb4u/V/fTps2LduYnOjbt6/7/3v37tX06dM1Y8YMnT17Vr/88otiYmIUHBxs6S70kJAQr7NWhIaGauPGjapVq5alGKtlSdbW3X///VePPfaYbXVa6Q+r36lz5865n1u4cKGmTp2qOXPm6OTJk3r44Yd1991369JLL/V4r51xdpQV6LLaWZa/8n777Tc99thj+vTTT9WzZ089/fTTuuSSS7KUazUus71792rhwoVavHix5s6dq+TkZJ+jB6S33+VyWVrXrLbNSkzv3r2VnJysN954Q7Nnz9YTTzyhxMRE96nOTz/9VGPHjtXGjRttL8/f55SRr7hA60z/jLxt16yWVadOHdvq9Lb+2BWXH3UOHDgwz/psypQpevnll7Vz505J5687HTJkiO6++253zLlz5/TZZ59p27Ztks5POXzjjTd6vZzm4MGD2r59uyTpsssu87q9XrBggV5++WV3eTVr1tSQIUPUrl079/0Evtg9yoxVGffbVhTKU/lWD5Hb6e677/Y6bVi6hIQE9/RjdsUZY/K9TqtxwcHBlq4fveOOOxQTE6OQkJBsr0dxuVw6evSopbiMK3j6zSLGGI8dv7/fWtu2bdOUKVP01FNPadq0aXrvvfd066236vbbb89ykbqVmEDirKy7X331lWbPnm1bnVb64+qrr1avXr38ti2jNm3aqE2bNjp27Jg++OADTZ06VS+88ILq1KmjTZs25UmcHWUFuv2wsyxf5ZUoUULHjx9X69attXbtWl1++eVe33///fdrypQpfuOk8/PIL168WIsWLdLixYv1zz//qGnTpmrRooW++uor7dixw9I1p3/++aeldc1K26y2f9y4cbr22mtVqVIlBQcH69VXX/W4/u69995TmzZtbC8vnR3r2hdffBFQnVL22zWr7X/wwQdtqzMzO+Pyo8686rPRo0frpZde0uDBg9WkSRNJ0sqVKzV06FDt27dPY8eO1S+//KIuXbooMTFRl112mSTpueee00UXXaQvv/zS/f1JTk7WAw88oI8++sjd7uDgYN1yyy2aOHGi4uLiJElvvPGGHnzwQXXv3l0PPvigpPOX1nTq1Ekvv/yyBg8e7HcfevToUX300Ue27Y9zst+2JJ+P0BZal156qfnkk0+yfX327Nnm0ksvtTUuNDQ03+sMJM6KWrVqmVKlSpkHH3zQbNy4MddxGU/dREREmO7du5uvv/7anDt3zh2zePHiLAPKHz9+3EyePNk0adLEuFwuU7t2bY/4/J4pwwq76gy0P3Lj559/dk9hmV9xdtdphZ1lpZcnmyfUqFKliilevLi5/vrrzXPPPWdWrlxpaaIFX/yta3ZOHGLM+YHFN2zYYP74448sbdmwYYM5dOiQ5f6wWp4vOVnXrNRpZbsWSPvtrNPOuIKo084+S1e6dGkzc+bMLHEzZ840pUqVMsacnyq3c+fO5vDhw+7XDx8+bLp06WKaNGnifq5nz56mevXqZt68eebYsWPm2LFjZt68eeayyy4zt9xyizuuXLly5rXXXstS5+uvv27Kli1raR9q9/7YalygCuWp/CNHjuj9999Xv379FBsb6/HasWPHNGPGDPXr10/nzp2zLe6PP/7Qhx9+qK+//jrLkYLNmzerc+fO6tu3r1wul6ZPn25LXMWKFbV37958rdNqXI8ePVSxYkW/fRsbG6vVq1dr6tSpmjVrlqpVq6a77rpLvXv3zvI+f3H333+/PvroI1WoUEF33nmnevfurdKlS8uX5cuXa8qUKfr444914sQJDR06VHfffbdq1KiRJfbff//VzJkzNXXqVK1bt06NGjVS9+7dPe6AtxLjK65///6W1smMr+W2zoxx2fVHfHx8wO0qrKxuP6wsq51l2T2Jx6RJk3Ty5Em1aNFCrVq10jXXXKMrrrjC49KDnLY/u3Ut/YyLL1YnDkmfwCM76Wc+vN0MlpvyXnjhBUvl2WHbtm269dZbtW/fvoC2a9mVZaX9gdRpdZtrJc7OsgKJ89cXVvssY1zx4sW1Zs2aLIPn79ixQ40aNdLRo0cVGRmptWvXZhmWa8uWLWrYsKFOnDghSYqOjtb8+fOznGJftmyZOnTooJSUFEnnB9jfsGGDqlWr5hG3c+dONWjQQMePH7e0r7VrfxxoXCAKZWL61FNPadOmTZo9e7bX13v27Kn69esrLS3NtrhatWrp+++/1+rVq3XttdeqZs2aMsZo27Zt+uGHH9SoUSP3DCpt27a1Je6bb77R9ddfn691Wo279tprtXXrVr99+/jjj7ufO3HihGbPnq1p06bpp59+UteuXTV16tQswxhlFxcZGamKFSuqQYMGPq/rmzRpkqZPn66pU6fq2LFjuvXWW3XbbbepSZMmWa6Hy05ezZQxePBgS+tkxn7LbZ1btmzx2x9Wv1M//PCDpdmEshtrMydxP//8sxo0aGBbna1atfK7rGvXrvU7w4rVsgLptwULFviMCdSvv/7qPpW/ZMkSnTx5Us2bN3cnqt9++602b96c4/VRyuUMLwFKSUnRRx99pClTprhHBtmyZYtt5UVGRqpx48Y+3xPIuubt88xcpzHGPeyRrzK9DedmtT9yWufcuXMtbXOtxH322Wf5XqeUtd9y2mcZ4wYPHqzQ0NAsQzc9/PDDOnHihCZOnKj69evr5ZdfznLZxMKFC/Xggw9q8+bNkqSKFSvq66+/Vt26dT3iNm3apE6dOunAgQOSpNtuu00NGjTQI4884hH3wgsvaO3atfroo4/cz1nZ1+Z2f5zTOCsKZWJ6+eWX68UXX1Tbtm29vr5gwQI9/PDDMsbYGrd69Wq9/PLL+vDDDz0Gne/Vq5eGDh3q/gBOnz5tW5ydZdkZ17hxY0t95m2MwaVLl+qJJ57Q0qVL9c8//2R780XmuKFDh1oaKP6jjz5S9+7d1adPH1177bXu4XC83ajhz5kzZxQaGprrmPS4hg0b5rjfclpnbGys3/6w+p3ydaQr/SjaqVOn9J///Me2uBMnTrjHD7Sjzrp16/pd1ltvvVW9e/e2pSyr/Xby5EnNnTtXrVu3znIUMDk5WYsXL1b79u1ljNF3333nN87bDiF9eKfFixfru+++07///qvvvvsu1+ujdH5dO3funN+2XXPNNVqyZElA7fd15uPkyZMB90d25b311lvZLl9O1rWM10RmV+ezzz5rabuW8UZSq2eCclunyTBJQW7jli1bZmnYPDvrlP6v33LbZxnjBg8erBkzZqhChQq6+uqrJZ0/crhv3z717dtXoaGh2r17t5YtW6ZJkya5Y1atWqWxY8fq2WefdR8hnTZtmr766iu99957SkhIkCQlJiaqX79+uvnmmzVw4EBJ0tNPP60XXnhBzZo1c1/XumrVKi1fvlwPPfSQxxHK9PXTyr42p/vj3Mb5UigT02LFiumXX37JdkDZffv2qU6dOjLG2BqXnJycbZsOHDigsWPH6u233/bZdjvjCqLO9LhLLrlEu3btstxnf/zxh959911NmzZNKSkp6tOnj+68884sGwWrcb7UqFFDp06d0m233abbb7/d/d7MiamVWansninjscce87uuXXrppXr++edtq3PixIl++8Pqd8rbd+Ds2bOaOHGixo0bp7i4OD311FNeb6SyMy43Zd1zzz05WlY7y/JWXtOmTXXgwIFsj5q2a9dOXbt21blz5/TFF1/4jRs0aJDH80lJSe6jp4sWLdLOnTtljNHevXv9tv/pp5/2+npG6UcS/bWtePHiOnLkiN/29+zZ09KZj1deecVSf1gtL7PcrGtt2rTJ9dmbdAcPHrRUltW4oiCv+qx169Z+6168eLGk89+L9AQ6fZud8W9jjGJiYnTq1Cn393Dfvn0KDw/3uFTgl19+UdmyZf3We+7cOd17770+96F274/t2G97sO1q1XwUFxfncw7alStXmri4ONvjfMmLsVP9xRVEnelxkiz12axZs0yHDh1MZGSk6dq1q/n888+9zvNuNS7dkSNHzJo1a8yaNWvMkSNHsrz+448/mv79+5uYmBhzxRVXmJdeesmEhIR4zElcuXJlv4+QkBC/MVWqVLFUVpUqVSytay6Xy9Y6rfRHTr8D77//vrnkkkvMxRdfbCZOnJjtzTV2xuW2rJwsq51lZVdew4YNzRdffJFtWV9++aVp2LCh5bikpCQza9Ysc99995kaNWqYoKAgEx4eblq0aGFGjx5tFi1aZLn9Vtc1K22Ljo621P6IiAjTp08fM2/ePI+bWTKPnWq1P6yWl1Fu17VA6/S1XbNalp115lVcftWZV31mxeLFiy097rjjDvPkk09aevhiZR9q9/440P22VYVyuKgGDRpo7ty57sPjmX322Wfua9LsjsP/sdJnvXr1UsWKFTV06FDFx8drz549mjhxYpb4IUOGWIrr0qWLHnjgAc2fP9/j12eHDh30+uuvu68LbNasmZo1a6ZXX31VH374oaZNm6Zz587p/vvv12233aauXbvaOiuVVa1bt/bbb9dcc43XKRtzw19/1KlTJ6DvwLx58/Too49q9+7devjhhzVs2LAsU+nZHWdXWYFsP+wsy195O3fu9DqLUbp69eq5x0y0EpeQkKDQ0FBdddVV6tatm1q3bq2mTZt6zABmtf1W18cSJUr4bVv6NI3+2l+pUiX9+OOPqlixoipVqpTt0Rer/Wa1PMm+dc1qnXv27PG7XbNalp112h2X33Xa3WeZ7dq1S7/99ptatmypyMhIj8sLrrnmGktlWI1Ld/r0ae3evVtVq1b1GOrNyr7W6n7W7jhfl754levUtgB88sknJiQkxLz22mse2fnZs2fNq6++akJDQ83s2bNtj/OlqB0xdblclvqsUqVKlo60WImrUKGCiY+PN+XLlzfPPPOM+eyzz8xnn31mxo0bZ8qXL28SEhLM/v37zZgxY0xKSkqWdm/dutU89NBDpkyZMiYkJMTvchpzfoYXO2LS4+xY1wKt00p/BAUFWWrX6tWrTatWrUxERIQZMmSI+fvvv73Wa2ec3XVa+QyeeeYZ28qy2m8xMTFm7dq1Xusxxpi1a9eamJgYy3Hz5s0zx48fzzYukPZbceDAAUttk2Sp/cZYO/NhtT+slGf3umalzn379lnarlntDzvrtDNu9erV+V7n/v37beuzjP755x/Tpk0b43K5TFBQkPntt9+MMcb079/fDBs2zB23dOlS07t3b9OkSRP3NnvGjBlm2bJlHuUdOXLEvPPOO+bRRx91D0u1bt06j+18SkqKufPOO01wcLAJDg521zlo0CAzfvx4S/tQq2cA7dxvp5+1C0ShvMZUkh5//HGNHz9exYoVc8/w8fvvv+v48eN65JFH9Oyzz+ZJXHY2btyoK664wucAwHbHFUSdGeMeffTRXPVZoO666y7t2rVL8+fPV0REhMdrJ06cUIcOHVS9enVNmzbN50xHZ8+e1RdffKGbb74527oSExM1btw4TZkyRampqTmO8RaXm3UtJ3WeOnXKUn+sW7fOb7uCgoIUGRmpAQMGqEqVKtnWP2TIENvi7CxLOv/r3d9n8Pzzz9tWltV+e+mll3TfffdpxIgRXl8fP368Pv/8c0nSTTfd5Ddu1apV7uc2bdrkcRNjvXr13K/ldtuXcV2rV6+e37aNGzdOo0aNCqj9x48fdx/pX7Vqla655hr3mY/OnTsH3B/ZlTdw4EDb1zV/dS5evFgHDhzwu12bPHmypf646KKLbKvTGGNpm2slLjExUQkJCflaZ8Z+y22fZYzr27evDh48qMmTJ6tmzZrauHGjLrnkEs2fP1/Dhg3TL7/8ok8//VS33367evfurffee09bt27VJZdcotdff13ffPONvvnmG0nnv5vt2rVTXFyc9uzZo+3bt+uSSy7Rf//7X+3bt889o9ODDz6o5cuXa8KECerQoYM2bdqkSy65RJ9//rmefPJJSzcoFhaFNjGVpJ9++kkffPCBdu3aJWOMLr30Ut12221q1KiR7XG+khjp/IwKS5Ys0Y033mhb3KJFi3TTTTfla52BxJ07d85y39qhXLlymjVrVrZTqi1dulS9evVSYmKiEhMT/U5JeuTIEd1///36/vvvFRYWpkcffVSDBg3Sk08+qRdeeEH16tXTPffcox9++MFnzNChQ3Xdddf5LWvo0KG65ZZbJPle16y0K5A6b731Vkv94a9dklS5cuV8Hy7qwIEDKl++vG11/v7775J8L6vV5bRSlmSt3/7991+dPHlSH330kW644QaP17788kvdeuut7uFphg0b5jduwIAB+umnn3TXXXdp69atHqc6a9eurSlTpqhhw4aW2m91nTx27JjftnXt2lVz58611H5v0seUfO+993T48GFNnDjRcn/4K+/gwYOWhgkLdF3zV+eyZcv8btf+/PNPv2UdPnxYZ86csa1Ol8tlaZtrJa5169ZasmRJvtaZXb/lpM8yxqUn2PXr11exYsXcienvv/+uevXq6fjx42rQoIGGDh2qvn37esT8/PPP6tixoxITEyWdvznviiuu0PPPP+8Rt2LFCt12223as2ePpPOXG8yaNUtXX321R9yuXbt0xRVX+Lw5u7Ap1Ilpfurfv3++11lQ89palXH4kux06tRJH374oXtatWeffVb33nuvihcvLkk6dOiQWrRoocqVK/uNu+iii7Rv375sk5QDBw6oWrVqOn36tJKSkjx+BXszcOBAzZs3Tz169ND8+fO1detWtW/fXkFBQfrvf/+rq6++2lKM1bKssrvOoKAgS/2BgtenTx/NnDlTNWrUcE9j+Ouvv2rHjh3q2bOnPvzwQ8txW7duVePGjVWzZk0NHTpUNWvWlCRt3bpVL7/8srZv3+4en9GfQNZvK22zupy+ZDzzYXd5+eXs2bOKjIzU7t27/W7XTp486bcsK+0PpE5jjH777Tdb4ipUqKD9+/fna53++i2QPssYV6xYMa1fv17Vq1f3SBLXrl2r9u3b69ChQ4qKitLWrVtVuXLlLMlrrVq13O2Ki4vT+vXrVbVqVY+4vXv36rLLLnPHRUVFacuWLbrkkks84jZu3KiWLVuqWbNmfvehlSpV0h9//GHL/jiQuK1bt/rs3ywCPvnvAH///bfZs2ePx3Nbtmwxd9xxh+nRo4f54IMP8iQO/8dqnwUFBZmkpCR3TLFixdzXxhhjTGJiogkKCrIUJ8nMnz8/2zZ9++23plKlSsblcpnixYubEiVK+HxUqFDBLFiwwBhjzO7du43L5TIjR470KNNKTCBxVvrN7jqt9EdcXFyR+Q7Y+X3Pi23HrFmzzI033mhq1aplatasaW688UYza9asgON69OhhbrrpJpOWlpblvWlpaaZr166mS5cultpvdV0LZBn8xcyaNcucOnXK/ff+/fs97phOSUkxzz33XJ6VZwcrdZYoUcLSds1q++2ss1KlSrbFBQcH53udpUuXtq3PMq4bHTt2NP/973+NMeevcf7999/NuXPnTI8ePUy3bt2MMcZUqVLFfP/99+6Y9P3Zu+++a2rWrOku66KLLjLr16/PEvfdd9+Z8uXLu+NatGhhXn31VY86jTl/jWn79u0t70Pt2h8HEheoQpmY9urVy+MC46SkJFOiRAlTu3Zt06VLFxMaGmpmzJhhe1y6C3l4DatxVvvM5XJ5rLgZv3jG/N+KayVOkqlbt645ePBglnYmJSWZevXqmQcffNC4XC7zyiuvmOnTp/t8BAcHmz///NNdRmRkZJahQazEBBJnpd+CgoJsrdNKfzRu3NjS59mxY0dz9OhRd9z48eM91ot//vnH1KxZ09a46OhoW+u08hnUq1fPtrIC6Tc7lS5d2qxZsybb13/66ScTFhZmqf1W1zU72b3Ts7rjtnNds1qnle2a3T/yrdT54IMP2hZ3+eWX53udmfcrdiVYmzdvNmXKlDEdOnQwYWFhpnv37qZmzZomPj7e7Nq1yxhjzDPPPGNq1aplVq1aZYoVK2aWLVtm3n//fXPRRRe5E0xjjLnrrrtM165dzenTp90J5969e02DBg3Mgw8+6I5btmyZiYmJMffee6+JiIgwDz74oLn22mtNdHS0Wbt2reV9qF3740DiAlUoE9PKlSubxYsXu//+3//+Z6pWreoeO+5///ufady4se1xu3fvNp06dTLBwcHulTk4ONhcf/31Zvfu3e732xlXEHVaibPaZ3au4C6Xy1SvXt0UK1bM3HfffeaVV14xEyZMMAMHDjTFihUz1atXN4cOHcpSVnaCgoI8NmoZf4UGEhNInJV+k2RrnVb6w+rnafcv6YL4lW/1M7CrrED6zU7h4eFm37592b6+b98+I8ly+62sa3aye6eXkx13bte1vNyu5ce29PDhw7bF/fbbb/leZ14mWEePHjVPP/206dGjh+nYsaN5/PHHPX68paWlmaefftpER0cbl8tlXC6XiYiIcB9pzVhOu3btTPHixU1wcLCpUKGCCQ0NNS1btswyqsZvv/1m7r77btOwYUNTs2ZN07t3b7Np0yZjTM7Wb6cmpoVyHNPExESPC9QXLlyom2++2T2mV5cuXTR+/HilpqbaFvf000/r6quvVmhoqJ566imP67XefPNNNWnSRGvWrJExxra4zz//XF26dMnXOq3GHTlyxFLfZpz1Ip23mwasxLlcLq1evVqPPfaYPvroIx09elSSVLx4cd1222165plnVLJkSUvT1EnnZ91o27atu80nTpxQ586dFRYW5o5JS0vzG2O1LMnauvvII4/YWqeV/rD6nTKZLknP/Hd2z+c2zs6yrH4GdpVltd/S0tIUHBzsHgsxu9ExgoKC3DN/+YqrVKmSfvrpJ1WoUMHr66tXr5bL5bLcfivr2oYNG/y2zWr7rbK7vIzsXG+zY3W7ZqdA6rQzLr/rLF26tK39Jp2ferdDhw6aNGmSHn/8ca8x586d0/Lly/XAAw/okUce0a5du3T8+HHVqlVLMTExHrFxcXH6/vvvtXz5cm3cuFHHjx/XFVdcoXbt2nnUOXDgQI0aNUrvvPOO1zoD2ddaibEzLlCFMjGNjY3V0aNHValSJUly33mazuVy6dSpU7bGpaSkqH79+lmGpujatauGDh2qDh066Mknn5QxRpdddpktcbfffrttZdkd99NPP1nqW2OM7rjj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bzZv3mwqVarkHmT8pptuMomJiaZly5amZMmSZsSIEWb//v22xn3//fe21mnlM2jatKltZQXSb3nt0KFDZsiQISY8PNy0bNnSrFy50lL7c7t+58Tw4cNNXFyc6datm7n44otNSEiIueeee0zdunXNhx9+aM6ePWt7eXav31bqtLpds9ofdtZpZ1xB1Glnn2Un86DyOY0xxlqS6688K/taO/bHOYmz6oJITJOTk83jjz9uYmJiTOPGjc3ChQttj0tNTTWff/55liMGxhhz7Ngx8/nnn5uTJ0/aGnfkyJF8rzOQOH99ltmIESNMUFCQueSSS3z+eswuzuVymaioKDNkyBDzyiuvZPs4d+6cGTVqlLn88stNhw4dzNatWz3K7969u5k8ebIxxpjU1FQzffp007JlSxMeHm66dOligoODzebNm93xVmICibPSb3bWGUh/+GtXp06dTNu2bc2XX35pbrvtNuNyuUyNGjXM//73P5Oamup+v51xdtdp5TOws6zctM0uqamp5umnnzbFixc39evXN19//XVA7U8vI9D1OzeqVKliPv/8c2PM+SkgXS6X6d+/v6UfyDktz+51zUqdVrdrVvvDzjrtjCuIOkuVKmVbn2XHzsTUrjgr+9rc7o9zGmdFobzGNN2ZM2f02muv6ZlnnlGpUqU0btw4r9f02BH3yiuv6IsvvtCCBQu8tqVdu3a66aabdPbsWdviihcvriNHjuRrnYHEPfDAA3779uabb/Z47zfffKP69eurXLlyXsv2FTd//nxL4+NZGaTcm507d2ratGl69913dfz4cV1//fXq3r27xzJYibESZ3WdtLNOK/y1q0yZMvruu+90+eWX69ixYypRooTeffdd3X777R7l2Blnd51WltXOsnJSnl3OnTund955R2PGjFFERITGjh2rPn36ZLn2NJD1UbJnXfMnLCxMu3fvdm8DIiMj9dNPP7lv4suL8uxe16zUWblyZUtDGh04cMBSf9hZp51DNx04cCDbkV7yqs49e/bowIEDtvRZdn788UddddVV7nG/Dx8+nGXYp06dOmnKlCl+r7UsVqyYNm7c6HcYuJkzZ+rGG290X9d67tw59ejRwyPG2z501apVuvrqq33GeJPbuDlz5vh8X2aFMjE1xmjGjBkaPXq0zp49qyeeeEJ33XVXlrsz7Yxr1KiRRo0apc6dO3tt01dffaWxY8dKkm1xvXr10ocffpivdVqNGzNmjAYNGuS3bzMPv5JbVoZfSXfixAl9//33HuM3Xnvtte47K7ds2ZJlRhzp/JA2X3/9taZMmaKvv/5aZ86c8Rnz7bffat26dX7L+vbbb3Xy5Em/65qVdgVSZ/pQRb76w+p3JSgoSImJie4fCMWKFdP69etVvXr1PIuzu04ry2pnWYGUZ6ePP/5Y//3vf3X06FE9/vjjuu+++7xOa2ul/VbXSTtnB8s45ql0vs82bdrkc8Dy3JZn97pm5zJYLcvufivM8rPPvvvuO02ePFlffvmlTpw4Yd9C+LBjxw5NnjxZ7733njp06OA3/scff1Tz5s3zoWWeAtlvS4V4HNPff/9dgwcP1pAhQxQVFaWUlJQscc2aNbMtbseOHdmOwZbepp07d0qSbXGpqan5XqfVuPXr1+v+++/327eBrpC5cfToUb3//vsaNGiQvvjiC9199936559/PGJKly6tKVOmqHPnzqpXr54aNmyou+++W7169XKPWxkUFKTOnTurc+fOCgoKUuPGjX3GHDx4UAkJCX7LOnjwoKV110q7AqlTkt/+eOyxxyx9V1wul/79919FRES4x+M7ceKEkpOT8yzO7jqtfN/tLCuQ8tIH3bZDr169FBkZqVtvvVV79+7Vo48+miVmxowZOnHihN/2W10n7WT8THeYzurRGCvlGWNsXdfsWIb07ZrVsuysc9CgQdnG2B2XF3XmdZ/t3btXU6dO1bvvvqsjR46oY8eO7pFXFi5cqDlz5mjPnj1yuVyqUqWKunfvrpYtW2bbZmOMFi1apBMnTqhp06YqUaJElpjU1FTNmjVLU6dO1cqVK3XVVVdp2LBheuSRR3z2R2FSKI+YZpx+ztuh/PQNRcZFy22cMUZr167VlVde6bVN69atU6v/P6f64sWLbYm76qqr8r3OQNqW3le++jYvBjfObMGCBZoyZYo+++wzRUVF6csvv1SrVq3UpUsXPfTQQ6pZs6ak85MGvPjii/rqq6+0ZMkSnTlzRtOmTdMnn3yitLQ0devWTXfffbdatGjhLnvZsmV+YwKJs7LuSufnM7arzhUrVvjtj4xHhf19V7wNFp2XccYYj36zo05/yxpInXb2m53fFytjoy5evNjS93jx4sWW1jU7WT3bYvXHr5Xypk+fbuu6ZnU6Rm/LkHm7lnE4HjtYqfPQoUNe32tnXF7WmZaWpttuuy27LgjYtGnTdPr0ac2ZM0eTJ0/W8uXL1a5dO3377bf6+eef3af+7733Xr399tsqUaKELr30UhljtHPnTh09elT333+/XnvtNR09elQPPvig1q9fr6uvvlovvviiOnXqpBUrVkj6v8tF6tWrJ+n8afjJkydr9uzZqlixorZt26ZFixbl6XewoBTKxNTfwLV54b777lO/fv00YsQIr6+PHz9en3/+uSTppptusiVu3LhxGjVqVL7WaTXuvffe05tvvun19YyGDBnidYcXFxenSy+9VA8++KBq1aqlBg0aWIpLt3//fk2bNk3Tpk3Tvn371KtXL91+++1q27atbrzxRlWoUEFvvfWW1zYNHDhQ+/fv1zfffCPp/JhrH3/8saZPn65ly5apWrVquuuuu9SvXz/3TFhWYqzEWV13r7nmGtvq7NSpk9/+2LBhg55//nlLbctvGzZs0OWXX37B1yn936Db+WXBggV+x8iU/q9dVtfJwsrufUugn6ev7VpoaKitbQu0TjvjCqJOOwwePFgffvihqlevrj59+qhXr14qVaqUQkND3eP5fvbZZ+rVq5feeust9evXz71fS0tL0/Tp03Xfffdp9uzZ+uKLL7R06VL169dPX375pXvK3AkTJigoKEjDhw9XTEyMWrVqpalTp+rYsWO69dZb1adPH9WvX9+jTkmW9qG9e/e2dX8c6H7bqkKZmBaEt99+W8OGDdNHH32kG264weO1L7/8UrfeeqteeuklSbItrmvXrpo7d26+1hlI3IABA/z2W3azWhw9elTr16/XqlWrtHDhQv3www9+47777jsdPHhQkydP1rJly9ShQwfddtttuvXWWz2+oCVLltSSJUuyvXB906ZNuuaaa3TkyJEsr+3atUvTpk3Te++9p8TERHXo0EFffPFFwDGBxFmRmzp//PHHHPcHCq+PP/5YPXv2zPb1s2fPqmfPngHfmJDOzvW7KDtz5ozmzp3rd7tWEHXaGVcQddotJCREI0aM0KOPPuoxZXHGJLFLly6qXbu2xo8f77WMESNG6Ndff9XatWs1c+ZMXXPNNfrjjz9UoUIFLVy40H3W8qefflKXLl30zz//aMSIERo7dqzHtd+ZE1Mr+9o+ffqoYsWKPmOs7o8DiWvWrJnXuGzl6F7+Iqp3797G5XKZmjVrmq5du5quXbuaGjVqmKCgINOrV688iSuIOgOJy63HHnvMtGnTxlJcaGioadGihXnrrbfc4ygak3UsxYiICLNnz55sy9qzZ4+JiIjI9vXjx4+bt956y5QsWdI9OHpOYgKJsyKndea2P1A4hYeHm++++87ra2fOnDE33XSTSUhIyFUddq7f3ixcuNC88MIL5scffzTGGDNp0iRToUIFU7p0aXP33XcHPNSW3eXZUedFF11kabsWSPvtqtPOuIKo084+S01NNTNnzjTt2rUz0dHRpmfPnubLL780Z8+e9aizXLlyZvXq1SY7q1atMuXKlTPBwcHmzz//dD8fGRlpdu3a5f77r7/+MkFBQeaZZ54x1atXNxUqVDDDhw93D88W6BjCVva1geyP7YzLrFAmpi6XywQFBbn/za84Y4yZNWuWufHGG02tWrVMzZo1zY033mhmzZqVp3EFUae/uED6zJctW7aYiy66yFKcy+UyLVu2NG+//bY5duyY+7XMX9C6deuaqVOnZlvWlClTTN26dbM8v2TJEtOvXz8TExNjYmNjzd13351lAHIrMb7ictJvua3TSn9IKpDvlJW4olKn3SZMmGBiYmLMqlWrPJ4/d+6cufnmm02ZMmVy3C6r62RuvP322yY4ONhUq1bNhIeHm2eeecZER0ebe++919x///0mNjbWjBgxwtby7P4eWKkzIiLC0nbNan/YWWeJEiVsi7OzLKtxdvZZxnXt999/N6NHjzYVK1Y0pUuXNkFBQWb27NnGmPM/CH3NeHTgwAETERFhXC6XSUpKcj+feWzSxMREj3Vr8eLFpm/fviYqKsrUq1fPBAcHu5NoK6zsawPZH9sZl1mhTEz37Nnj8civOPwfu/ps27ZtplSpUpbiSpYsad5//33TunVrExkZaW6++WYzZ84cExoa6rHBeumll0zJkiW9DiL+1VdfmVKlSpkXX3zRGGPMH3/8YcaNG2eqV69uXC6XadasmZk6darHtHZWYqzGWe03O+u00h+PP/54gXynrMQVlTrzwujRo03JkiXNli1bjDHGnD171nTr1s1cdNFFZvPmzQG1y+o6aZfatWubV1991RhzftrJkJAQM336dPfrH3/8salataqt5VWsWNHWz9NKnVWqVLG0XbPaH3bWeeLECdvi7CzLapydfeZtXUtLSzPz5s0zPXr0MOHh4aZcuXJGkjl48GB2q4Q74XS5XGbcuHHuyQAiIiLMqFGj3H8//fTTXn/0JCcnm0mTJplGjRqZ4OBg06RJE/f+zBcr+9pA9sd2xmVW6BLTjRs3mnPnzlmO27Jlizlz5kyu49JZjbuQWf0M0vnqs3HjxpkWLVr4LSNz3K5du8zjjz9uypcvb1wul7ntttvMd999Z86ePWvOnTtnunfv7p6N5aabbjJdu3Y1l112mQkKCjI333yzOXfunOnQoYMJCQkxCQkJZvjw4ebXX3/NUq+VGKtxVvstvazSpUubhx9+OFd1GmP89kfbtm0trdN2f6esxGXsMytxhbXOjOzexgwaNMiULVvWbN++3fTo0cOULl3abNy4MaDvsdV1zU6RkZEeSV9oaKjHrGV79+51z1tvR3nz5s0zoaGhfssJ5POMjIw03333nTvO3zL42q5Z7Y9A+81XnRnZGZdfdeZVn3lz6NAh8/LLLxtJZuDAgWbo0KFeHwMHDjRBQUGmUqVKpnLlyn4fvmzatMk8+OCDlo5KWtnX5nR/nNu4zArdzU+ZB8L1F1e1alVt2LAh25kUrMYFBQW5Z5sICgrKdliX9DjjZ/gXK3F2lmVnnNXPQJJeffVVDR8+XMOHD1fp0qXdzx87dkzr1q3T119/rW+//VZbt271+v7Mce3atfN4PS0tTfPnz9eUKVP05ZdfKiYmxj2MyKxZs/Thhx96DCjfq1cv9erVS5LUpUsX3XXXXbrhhhuyDCiezkqM1Tir/ZZeVp8+fXzOAmK1bemy64/evXsXyHfKSlzGPouNjfUbV1jrzMhXnTnVp08fffrpp4qJidGCBQtUr169/9feuUdFdZ1//3sOxQugAtogooiEconQSi4KRkSq0RAVhqRC1BBFjYumJNIsNVqD+WlFXTHxUlNisCSsmoWKWloxJqLhYrAX6gWog3gDbdOKgFcQEMbZ7x++M2uGue2RMxwGns9aLGXOl/3ss+fM3s885+znsepzHBMTg+PHj6OystKmRQF0MZbEXvfzcPPmTYwYMYI7xZal9hwcHMAYg1qtNtuONe+nKIpwcnJCZWUlfH19uc/B2Lx2584drvFgjD3RuJmbS22ls7XN9vZ23Lx502ZjZgyeNG0AUFRUZFHDS0dHh8ksObpr6NKlSxEQEGBWY816/KTrtiXsLsE+YwxpaWlwcnIyq1Or1Zg6dSpaWlqQnp6OIUOGdEm3aNEiAMCePXtM7kQDgNraWq7z4NFJ2ZaUOt73AACysrLw8OFDfPnll3ppaQYPHoyAgACcPHkS4eHheOutt4z+fWddZ0RRRHR0NKKjo9HQ0IA9e/ZojyUkJCAhIcFk3zQ7iM1VROLR8LbFO25+fn4oKSlBe3s7Tpw4oU3a/SQ2dTE1HvPmzZPlM8Wj02gcHR25dPZqU5f29nazx3l57733tP93c3MDYwzjxo1Ddna2Xr94Fg0/Pz8UFBSgo6MDhw8ftnitSYGxJPbNzc3az0PnZPZdbY/9//y1uuNmDGvfz46ODjQ1NeHevXvc52BsXluxYgXXeDzpuJmbS22ls7VNDw8PScds9uzZiI+Pxy9+8QuT13xxcbHR17tCa2srzpw5A3d3d4NsA21tbcjNzcW2bduM/q3uGjpv3jxtmkRTGmvW4yddty1hdxFT3m8j586d0+qeeeYZg1J81uiam5vh7Oys1eXk5BiteVtZWYng4GBcuHABAQEBJvMD8ug0GlEUoVQqLeqksMmr030PHjx4ACcnJ4vviakxk5KamhokJyejoKDArO7s2bNYu3Ytjhw5wlUhikcDWK6u9Mknn3BduwDQ2NiIixcvQqVSdcmmqbKyujz//POora3VJnI2hZSfKV6droZXZ482OyPF5yUqKsrscU2/ePO1NjY24saNG7h9+7be69Zca9aguXOjQeMwdP7dmoipufY0kVJNuh5TWPN+apwUTdL+JzkHzbx24sQJSYtb8Ni0NJdKqbOFzaefflry4hwODg5wdnbG3LlzsWTJEpOFaHjgcTjDwsIwffp0/Pvf/4YgCJg0aRL27dunnR+svXNgD9idYyoHcjw+INftxJ5w2/FJqaiowLPPPotHjx7h2LFjOH78OPr164clS5bA19cX1dXVWLVqFfLz8zFjxgx88MEHFisi7dy5EykpKRarSKnVaq5qU2FhYRbPg6dSk7U2ecbD2DdpggD4r0me65sXa4pRyNFed9nUzGuFhYVSdYvbpiVnR0qdLWyGhoZKess8KioK58+fR0FBAb744gsolUqEhIRgyZIlmD9/Ptzc3LiiqsDjMuc8DmdMTAw6OjqQnZ2Nu3fvIjU1FVVVVSguLoa3tzc5pn0VURSxdOlSi7c6t23bhpCQEFRVVWHBggUmb/Hw6DQaTRJdSzopbFqj05CRkYGqqiqTjukzzzyD0tJSuLu7AwDefvttrF+/Xvu8aX19PXx8fODj48Ola2lpMdkXzYSVmZmJt956C+7u7rhz5w6GDh2KrVu34p133kFCQgKWLVuGoKAgropIeXl5iIuLs1hFCoBV1abMwdMva2y+9tprXONBEKbgvSbpy4308Dpictjs6Y6p1OPW+TnlsrIyZGVlYf/+/Whvb4dCocC+ffu4oqpxcXFcDuewYcNw4sQJbYEUxhjefvttHD16FEVFRXB2dsaIESMQEBBgcQ0dPnw4GhsbJVuPpVi3jUGOKQdyPD4g1+1EqW87dv4gd46w3rx5U/u3PDpzGxM0E9HYsWORmJiIFStW4NChQ5gzZw7CwsKQm5uLkSNHavU8FaLGjRuHiooKi1WTBEGQrLoSb+UqXpujRo3iGg+id7F+/Xou3dq1ay1qulJNjega5JjaVmcNndczDS0tLcjNzUVWVhZKS0uhVCrNRlUBwMPDg8vhdHZ2xj/+8Q+D4EFKSgr+8pe/ICcnB1OmTDHYwGVsDR0+fLjeZrCurse8OksbCjtjd5uf5MAWDzP3VYx9D9I8u8Oj4+Hq1auYM2cOAODVV1/Fj370I2zZssXACWttbcXgwYNNtjNkyBAwxixq2traAIBbZwmeflljk3c8iN5FXl6eyWOCIODixYtoa2vjckytuSalgjeLiFztdbdNqbOv9AXUarU224Itx8zJyQkLFy7EwoULIYoihg0bhtTUVKSmpmqjqh988AFWrlwJhUKBJUuWoLW1VW8PhyAI+Oyzz5CSkoLIyEjk5OQAAAIDA3H69GkDx/TTTz8F8DhjhjF4Yo5dXY+lXLd1IceUsBvUajWeffZZk8c1twtaW1u1j10IgoD+/fsbjej+5Cc/QWFhIZKSkoy2991332HAgAEWNZr0Obw6S/D0yxqb58+f5xoPondx7tw5o6+Xl5dj1apVOH/+vMldtZ2x5pqUCt4sInK1J5XN0NBQs4u3Zl6TMvsKr00pdbzzt5Q2BUFATU2NSY0G3rGNjIzkuouoy/jx4zF+/Hhs27ZNG1V96aWX8Nxzz3E5nHFxcdi7dy8SExMN2v7000+hVquxa9cuq/rU0yHHlLApgiAYTB7GJhMenSAIiI2NtWhz3bp1+MMf/gAXFxcAgEqlQnZ2tl4eVQBISkrC8uXL4eHhgVdeeUXv2Ndff42VK1di+vTpFjW/+c1vIAgCl44Hnn5ZY3P58uVc4/Huu+9y9Y+wT2pra5GWlob9+/fj1VdfhVKp5HYmea9JqdDNSsKDucwltmiPB16bCoUCwOPn8YYNG2ZUX1dXh1GjRllsizf7Co9NqSkuLraY8UBK6urqkJCQgNGjR5vV8Y4Z8Dj3qFKphIuLi9XXhm5U9dKlSzh06BCXw7l69WqsXr3aZLsZGRnIyMiAg4MD91rLo5FSZy30jClhU0RRRHBwsPZDXFlZicDAQO23TpVKBaVSCcYYl47nFouPj4/FD4cgCLhy5QoSEhJw6NAhBAQEICgoCIwxXLhwAZcvX4ZCocD+/fsxd+5cs5oDBw4AgMW2Dhw4wLUAqNVqrrZ4bfr6+nKNB09kgbA/GhsbsW7dOmRmZmLSpEnYvHkzXnjhBava4L0mpXJwrEn+D1jODiJ1ezxIaVPqzDA8Nu0dW4xZYWEhYmNjzRY+iYqKQl5eHlxdXbvSfYuoVCo955hnrf3Xv/6FkJAQydZjKddtXcgxJWzKunXrJGurubkZW7ZsMXlcpVLh7NmzGD9+vFXtWqoQxauxRidVv6S2SfQeHjx4gI8//hhbt26Fn58fNm3ahOnTp3epze661ngzoWiwlB1E6vZ44LXZ0tICJycnkzZVKhX69esnaWYYHptnz56Fj4+PwUafJ9WdOHECL7/8siRt8ehEUYRCoYCPj49JDWBdJprt27fD0dERFy5cgK+vL8LCwnDo0CF4eXmZtWENnR3Ob7/9Fl5eXggJCYFarUZ6ejp27dqFuro6eHp6IiUlBe+//z7XZsfujlpr+PDDD63Sk2NK2A0ODg64ceOGdjIKCQnB0aNHMWrUKAD6iYYZY7hy5Qra29u7fEuuN0Dj0fcYPnw4mpqa8M4772Du3Lkmo+aWCivIAW8mFF3MZQeRuj0eeG0WFxdj4sSJ6NevH3JycjB9+nSDeW348OFcDgVvVhUemyNGjAAArjmXR9d5R3hX2uLRTZw4EX/7298kL5gwceJEHDx4EJ6engalS4HHUdXJkydbnGN5Hc6goCDs3r0bERER2LRpEz755BOsWbMGQUFBuHjxIjZt2oRf//rXeP/9983asysYQchIRUUFc3R05NIBYDdv3tS+5uLiwq5evar9va6ujgmCwGpqalhwcDATRZGJoshGjRrFysrKbNJ/e4DGo28iCIL2RxRFo7+Loih3N/s8giBwzWty2JRSxzt/S903KbFkkzHGRFHU00yYMIH98MMPBm0FBASwkydPMsYY27hxIxs6dCjbunUr++abb9j27duZh4cH27x5M+vfvz+7fv06Y4yx4OBglpubq9fOkSNHmJ+fn8W+86y11qzHUuo6Q2ETQlYYYwZlN03peBAEAStWrIBKpcJXX32FAQMG4OOPP0ZycjLOnDmjp+VJESJHihapbfKOB9G7kHIXOqUgkhcpNpQ8iU2eeZdXJ4dNqcet82YfY5t/OvdLqVTi4cOHBm1du3ZNuzErJycHn332mTat38svvww/Pz+kpqbC3d0d//vf/+Dt7Y2Ghgb4+fnptePv74///ve/FvvOs9Zasx5LqesMOaaE7Eg9eZSWluLgwYOYNGkSACAsLAwjR47EgwcP4OzsrNXxLNxSpmjhRWqbvONB9C4s7Ua2BjlSLRFET4MxhqlTp2pv07e0tGD27Nl6t/95nXRehzMpKQnp6en485//jNjYWGRkZCAzM1O7bu7cuRPjxo3jssmz1vKux1LrdCHHlLArmpqaMGDAAG3kprm5Gffv3wcA7b/19fV6aXA8PT0xcOBA1NfXY8yYMQD4UrnoajTpY8zpeNKNAOZT0fCmmLHGZn19PR49eqR9qN7YeBC9j8OHDxt9fciQIfD39+d+flKOVEt9CUEQuOY1OWxKrZPDppR03sRjLH1heXm5xagq8Dg/KY/DuXHjRkybNg2BgYEIDw/HgQMHcPz4cfj7++PKlSu4ffs2jh07JvGZygttfiJsiqXJgbeUYWVlJSIiIvQWR81kZOz3S5cu6aUJGTlyJEpLS7U7NN3c3CymEtFNN8KTykWKFC22SHHi4OCAgQMH4tSpU1pHtPN4aPpF9B7MOZKCIOD111/H7t27Le70liPVUl9C85iEBlPzmtSlNXlsmptjrdUxxrjmbyltyvHYiaW0TRqKioowbdo03L17V+twenh4GDicEyZMQEdHB7KyspCfn4+amhqo1Wp4enrixRdfxC9/+UuMHDmSa62dPHky7t69a1bDux5bo7P2PaCvtIRNcXV1NRvK10wevLrCwkKLNqOiouDv72/w96Ghodr/M8aQlpZmdlFWq9WYOnUqHB0d0dLSgvT0dKOpRDQ6cxpd2tvbTR7j6Ze1NtVqNR48eKBXdaXzeNBzg70PU/Wp7927hzNnzuBXv/oVNmzYgI0bN5pth/ea1GDu+iYMKSoq6hM2y8vLuW8591Ta2tpQUFCAqKgoDBo0SO/Y/fv3UVxcjDVr1ujdLTBVFGbIkCH461//qnU4fXx8oFar0d7ejrlz52odTgBwdHREcnIykpOTTfaNZw1ljMHNzc2sxpr1mFdnLRQxJWxKSUmJpO1FRkZKYnPZsmVmP6CAfhoRwHQqEWvSjWgwlYqGN8WMNTY135DT0tIwdOhQkzqesSV6D99++y1SU1NRXV1tVidHqiWC6Ins2LEDhw8fxnfffWf0+LRp06BQKJCSktLNPeNb9+T6cmDt2kKOKUEQRB/k2rVrCA4ORnNzs9xdIQi7YPz48UhLS8Ps2bONHj9y5Aj+7//+D2vXrjUbVZ0xYwb69+/PZbOsrAzPPfccHBwctDa2bNmCK1euwNPTE++++y7efPPNrp1YD8P2BXIJQiIcHBy4fgiCsExNTY02UTkhH3LMa7w2pfwRBEEWu1Jy+fJl/OxnPzN5/Kc//SmqqqqwY8cOA6cUePz89e9+9zvs3r0bZWVleo9PHTlyBJGRkfDy8sLzzz+PP/7xjwCA8PBw3Lp1CwCQn5+P2NhY+Pj4YM2aNQgNDcXixYuRl5cn6XnKDT1jStgUKXNyMsYwevRoLFiwQPt8ZFds9hVoPIjOlJeXY/ny5Zg5c6bcXenz8M5rctiMi4uTTBcXFwdvb+9utSk1KpUKDQ0N8Pb2Nnq8oaEBDx8+RGpqqsk2UlNTsX79eixbtkxbuSo/Px8KhQJvvPEGEhIScO7cOSxevBiDBg3SSz/10UcfYeXKldi0aZP2tTFjxuCjjz7Ca6+91u15uW22tlidkp8grODatWt6P13R/fOf/2TJycnM1dWVhYaGsp07d7Lbt28/sc2+Ao1H38TV1ZW5ubkZ/PTr14+JoshmzJjB7t27J3c3+zy885ocNqXUyWFTaiZMmMA2b95s8vjGjRuZg4ODtlKTMa5fv85cXV31qkhNmjSJrVq1Sk+Xnp7OwsLC9HRPPfUUO336tJ6uurqaubq6cs3zUq7H1uishRxTwmZUVFSwR48ecevOnz/POjo6LOrPnDnDsrOz2c9//nPm5OTEEhISWEFBgVU2NfDatFdoPPou2dnZRn/+9Kc/MaVSKXf3iE60trayPXv2GJ3X5LYppU4Om1Lx+eefM2dnZ5afn29w7PDhw8zZ2Zn179/fwHnU5fTp08zFxYXb4RQEgRUVFbGKigo2evRog3LS1dXVbODAgRbned21wNw8z7seW7tuW7O2kGNK2AxRFFl9fT23btCgQQZ1h42hq6upqWFRUVFMFEV269YtbpvG2uqN0HgQhP3ReV7rSTal1Mlhs6vMnz+fCYLAgoKCmEKhYAqFggUGBjJRFNnrr7/OFVWdMGECl8OpcWBFUWSCIDBBENi2bdv0dHv37mUALM7zumuBuXmedz3uyrptCXrGlLAZzAY5OYHHeRJv3LiBnJwcZGdno6WlBStWrMDgwYMp52InaDwIwn744YcfkJ2dbTCv9QSbUurksCkVX331FWJiYpCTk4NLly6BMYaAgACsW7cO8fHxyMzMxHvvvYexY8di1qxZen+bn5+P9PR0bN26FWVlZZg6dar2GdJTp07hhRde0GrPnTsHb29vHD16VK8NFxcXvd/b29shCEK35+WWMn93ZyhdFGEzpM7JqVar0djYiBs3bqC1tRXR0dFYtGgRoqOjtbsvKeeiPjQefRfa9GYftLe3Iy8vD1lZWfj++++Nzmty2ZRSJ4dNuXjjjTeQk5ODwMBAbSnr6upqXLp0CfHx8di7dy+uX7+u9zcuLi56eaY1u/Lj4uKM7vDXZdy4cd2el1vK/N2dIceUsBuGDh2KQYMGYcGCBUhMTMRTTz1lVEelNQkCBgvf6NGjZeoJYQ455jVem2PGjJFM5+Pjg8GDB3erTUC+9SA3Nxc5OTm4fPkyGGPw9/fHvHnzEB8fDwBoamqy6HCWlJTgww8/xLFjx0zmPS0pKcGsWbPQ1NQk+TnIBTmmhN2gW2fZWBSQIkME8ZjKykoEBwfrfWbMoVQqERAQoFdKkege5JjXeG3qugdd1Wm03WlT6nHjjcTy2JwyZQqXw+nj4wNfX1/k5eUZfJ5PnjyJV155BUlJSdi5cydX3+wBmoUIu0GO+s4EYY+Ehoairq4OP/7xj7n04eHhKC8vh6+vr417RnRGjnlNDptylcOUEiZhztlbt24hPj7epMM5c+ZMJCUlYfXq1YiIiMDChQu1t/cB4Pvvv8esWbOwYMGCXuWUAhQxJQiC6HWIooilS5dyb3rLyMhAVVUVOaYEYYbTp08jKysL+/btw5gxY7Bo0SLMnz9f7/lO3qjqf/7zH0RERODFF180cDhnzpyJxMRE/P73vwcAXL16FREREZgzZw527NiB0tJSREdHY/78+di1a5e0J9kDIMeUIAiil0Gb3gjCdrS1teHgwYP48ssv8fe//x2zZ8/G4sWL8dJLL0EURa6oamxsrFUOZ2VlJaZMmYKYmBjk5eUhISEBmZmZtj5VWSDHlLAbaJcxQRC9DTnmNTlKU9pNOUwrqa2txeLFi1FSUoKGhgbU1NRYjKrqYsnhvH//vvb/p06dQlxcHBQKBT7//HO9L5+9adMvOaaE3UC7jAmC6G3IMa/x2pRSJ4dNW9I5d+qbb76JDRs2aDcQmouqAvwOp6urq97vGpdN85rcjrktIMeUsAtolzFBEL0NOeY1Xpsa3YULF8za5NHp2jR3DlLa1EWq9eBJc6d2jqq6u7trI74aTDmchYWFXH2LjIzswpn1LMgxJewCBwcHq3YZDx48mHYZEwTRo5FjXuO1qdE9/fTTZm3y6HRtmjsHKW3qItV6YG3OWXNR1ZKSEi6bvcnh5IXCSYRdQKU1CYLobcgxr0ldKppHZ0/lMM1x584d3LlzB7/97W+xYcMGg+OaON/evXv1oqrbt283iKr2RYeTF4qYEnYB7TImCKK3Ice8JnWpaB6dPZXDNAdPlDMmJgZubm6SVaTqKZu8uhNyTAmCIAiCICTAmqpaPA6n3Ju85IBu5RMEQRAEQUgAb1UtHx8fi5q+uumXIqYEQRAEQRAWkOq2Oq/DqdnkVV9fz+Vw9pZNv/btVhMEQRAEQXQDtbW1krQTGhrKlRlBs1Htiy++QGJiYrdt8pIbckwJgiAIgiDMwBvl5Imq8mZG8PLywtdffw2VSgWlUomBAwea1YeHh1vU2AN0K58gCIIgCMIMvPlfNZuVxo4di2+++QYREREGGsoyYx6KmBIEQRAEQZiBJ8rZ0NCAYcOGQRAEqFQqeHl5GdUVFxcD6D2blaSGIqYEQRAEQRBm4IlyFhcXY+LEidq8qpainL1ls5LUkJtOEARBEARhBk2U0xyiKCIkJEQbVd2yZYtZfW/ZrCQ15JgSBEEQBEF0kcmTJ+PixYvc+t6yWUlq6FY+QRAEQRAE0SPgKydAEARBEARBEDaGHFOCIAiCIAiiR0COKUEQBEEQBNEjIMeUIAiCIAiC6BGQY0oQBEEQBEH0CMgxJQiCIAiCIHoE5JgSBEEQBEEQPYL/B2iTQHDaBpSFAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "hc_pca = HClust(n_clusters=None,\n", " distance_threshold=0,\n", @@ -1627,6 +3385,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,Rmd", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch13-multiple-lab.ipynb b/docs/source/labs/Ch13-multiple-lab.ipynb index a7c1cdc..d759391 100644 --- a/docs/source/labs/Ch13-multiple-lab.ipynb +++ b/docs/source/labs/Ch13-multiple-lab.ipynb @@ -25,9 +25,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "1f928b2d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:24.664836Z", + "iopub.status.busy": "2023-07-26T00:00:24.664535Z", + "iopub.status.idle": "2023-07-26T00:00:25.648869Z", + "shell.execute_reply": "2023-07-26T00:00:25.648538Z" + } + }, "outputs": [], "source": [ "import numpy as np\n", @@ -48,9 +55,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "eb4b32aa", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:25.651065Z", + "iopub.status.busy": "2023-07-26T00:00:25.650806Z", + "iopub.status.idle": "2023-07-26T00:00:25.653087Z", + "shell.execute_reply": "2023-07-26T00:00:25.652803Z" + }, "lines_to_next_cell": 2 }, "outputs": [], @@ -81,9 +94,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "e12ac0cd", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:25.654827Z", + "iopub.status.busy": "2023-07-26T00:00:25.654707Z", + "iopub.status.idle": "2023-07-26T00:00:25.657085Z", + "shell.execute_reply": "2023-07-26T00:00:25.656796Z" + } + }, "outputs": [], "source": [ "rng = np.random.default_rng(12)\n", @@ -104,10 +124,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "04d0f49e", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:25.658750Z", + "iopub.status.busy": "2023-07-26T00:00:25.658609Z", + "iopub.status.idle": "2023-07-26T00:00:25.662657Z", + "shell.execute_reply": "2023-07-26T00:00:25.662324Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0.9307442156164141" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "result = ttest_1samp(X[:,0], 0)\n", "result.pvalue\n" @@ -133,9 +171,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "d1f0c695", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:25.664332Z", + "iopub.status.busy": "2023-07-26T00:00:25.664234Z", + "iopub.status.idle": "2023-07-26T00:00:25.684874Z", + "shell.execute_reply": "2023-07-26T00:00:25.684597Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -163,12 +207,75 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "7a9594a0", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:25.686565Z", + "iopub.status.busy": "2023-07-26T00:00:25.686471Z", + "iopub.status.idle": "2023-07-26T00:00:25.694731Z", + "shell.execute_reply": "2023-07-26T00:00:25.694405Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
H0TrueFalse
Decision
Reject H0515
Do not reject H04535
\n", + "
" + ], + "text/plain": [ + "H0 True False\n", + "Decision \n", + "Reject H0 5 15\n", + "Do not reject H0 45 35" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pd.crosstab(decision,\n", " truth,\n", @@ -200,12 +307,75 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "25f7fc5d", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:25.696516Z", + "iopub.status.busy": "2023-07-26T00:00:25.696385Z", + "iopub.status.idle": "2023-07-26T00:00:25.723387Z", + "shell.execute_reply": "2023-07-26T00:00:25.723044Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
H0TrueFalse
Decision
Reject H0240
Do not reject H04810
\n", + "
" + ], + "text/plain": [ + "H0 True False\n", + "Decision \n", + "Reject H0 2 40\n", + "Do not reject H0 48 10" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "true_mean = np.array([1]*50 + [0]*50)\n", "X = rng.standard_normal((10, 100))\n", @@ -249,10 +419,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "369b5bd3", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:25.725141Z", + "iopub.status.busy": "2023-07-26T00:00:25.725014Z", + "iopub.status.idle": "2023-07-26T00:00:25.950143Z", + "shell.execute_reply": "2023-07-26T00:00:25.949764Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "m = np.linspace(1, 501)\n", "fig, ax = plt.subplots()\n", @@ -287,10 +475,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "9ce7a19f", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:25.952085Z", + "iopub.status.busy": "2023-07-26T00:00:25.951946Z", + "iopub.status.idle": "2023-07-26T00:00:25.992310Z", + "shell.execute_reply": "2023-07-26T00:00:25.991986Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.00620236, 0.91827115, 0.01160098, 0.6005396 , 0.75578151])" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Fund = load_data('Fund')\n", "fund_mini = Fund.iloc[:,:5]\n", @@ -337,12 +543,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "de6cffed", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:25.994255Z", + "iopub.status.busy": "2023-07-26T00:00:25.994126Z", + "iopub.status.idle": "2023-07-26T00:00:25.996766Z", + "shell.execute_reply": "2023-07-26T00:00:25.996489Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([ True, False, False, False, False])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "reject, bonf = mult_test(fund_mini_pvals, method = \"bonferroni\")[:2]\n", "reject\n" @@ -359,10 +582,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "0de71500", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:25.998481Z", + "iopub.status.busy": "2023-07-26T00:00:25.998341Z", + "iopub.status.idle": "2023-07-26T00:00:26.000891Z", + "shell.execute_reply": "2023-07-26T00:00:26.000558Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(array([0.03101178, 1. , 0.05800491, 1. , 1. ]),\n", + " array([0.03101178, 1. , 0.05800491, 1. , 1. ]))" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "bonf, np.minimum(fund_mini_pvals * 5, 1)\n" ] @@ -382,12 +624,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "f7e87bdb", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:26.002751Z", + "iopub.status.busy": "2023-07-26T00:00:26.002618Z", + "iopub.status.idle": "2023-07-26T00:00:26.041360Z", + "shell.execute_reply": "2023-07-26T00:00:26.041041Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(array([ True, False, True, False, False]),\n", + " array([0.03101178, 1. , 0.04640393, 1. , 1. ]))" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "mult_test(fund_mini_pvals, method = \"holm\", alpha=0.05)[:2]\n" ] @@ -403,12 +663,34 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "e88be376", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:26.043177Z", + "iopub.status.busy": "2023-07-26T00:00:26.043041Z", + "iopub.status.idle": "2023-07-26T00:00:26.046129Z", + "shell.execute_reply": "2023-07-26T00:00:26.045861Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Manager1 3.0\n", + "Manager2 -0.1\n", + "Manager3 2.8\n", + "Manager4 0.5\n", + "Manager5 0.3\n", + "dtype: float64" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "fund_mini.mean()\n" ] @@ -425,10 +707,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "41149af6", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:26.047795Z", + "iopub.status.busy": "2023-07-26T00:00:26.047695Z", + "iopub.status.idle": "2023-07-26T00:00:26.050538Z", + "shell.execute_reply": "2023-07-26T00:00:26.050256Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0.038391072368079586" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ttest_rel(fund_mini['Manager1'],\n", " fund_mini['Manager2']).pvalue\n" @@ -459,12 +759,40 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "61aabda7", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:26.052147Z", + "iopub.status.busy": "2023-07-26T00:00:26.052048Z", + "iopub.status.idle": "2023-07-26T00:00:26.543846Z", + "shell.execute_reply": "2023-07-26T00:00:26.543509Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Multiple Comparison of Means - Tukey HSD, FWER=0.05\n", + "===================================================\n", + "group1 group2 meandiff p-adj lower upper reject\n", + "---------------------------------------------------\n", + " 1 2 -3.1 0.1862 -6.9865 0.7865 False\n", + " 1 3 -0.2 0.9999 -4.0865 3.6865 False\n", + " 1 4 -2.5 0.3948 -6.3865 1.3865 False\n", + " 1 5 -2.7 0.3152 -6.5865 1.1865 False\n", + " 2 3 2.9 0.2453 -0.9865 6.7865 False\n", + " 2 4 0.6 0.9932 -3.2865 4.4865 False\n", + " 2 5 0.4 0.9986 -3.4865 4.2865 False\n", + " 3 4 -2.3 0.482 -6.1865 1.5865 False\n", + " 3 5 -2.5 0.3948 -6.3865 1.3865 False\n", + " 4 5 -0.2 0.9999 -4.0865 3.6865 False\n", + "---------------------------------------------------\n" + ] + } + ], "source": [ "returns = np.hstack([fund_mini.iloc[:,i] for i in range(5)])\n", "managers = np.hstack([[i+1]*50 for i in range(5)])\n", @@ -491,10 +819,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "cbcad4de", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:26.545878Z", + "iopub.status.busy": "2023-07-26T00:00:26.545735Z", + "iopub.status.idle": "2023-07-26T00:00:26.635976Z", + "shell.execute_reply": "2023-07-26T00:00:26.635663Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAy0AAAIQCAYAAACMg4HBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9PElEQVR4nO3de1yUdf7//+eICchhPKGikBhuHlPLykxB8ZinVMJzamZlfbST28ndWx4qw87SybR2Zdc0TUPdTPNQKlRr6yFbc9N006+CqHgCoUIb3r8//DHrCCigMG/xcb/d5nZzrnlfc72uay7Gec71fr/HYYwxAgAAAABLVfJ2AQAAAABwIYQWAAAAAFYjtAAAAACwGqEFAAAAgNUILQAAAACsRmgBAAAAYDVCCwAAAACrEVoAAAAAWI3QAgAAAMBqhBaggpkyZYocDkex2iYmJsrhcGjfvn0l3s769evlcDi0fv36Eq+LonXq1EmdOnXydhmwWGF/t944by7l/aOksrOzVbt2bc2bN++yP3f+fmzevPmyP3dRjh07poCAAK1YsaLctglc6QgtQDnK/8/R4XDoq6++KvC4MUbh4eFyOBzq06fPZdvuiy++qKVLl1625ytLWVlZmjp1qlq1aqXAwED5+/urRYsWevrpp3Xw4EFvl4eL6NSpk/scdzgcqlKliho2bKgHHnhABw4cKNVzHjx4UFOmTNG2bdsub7GWuvXWW+VwODRz5szL/twREREer0/t2rUVFRWlJUuWXPZtXU4JCQkKCgrSkCFDtG/fPo99uNCtPAJVadSsWVP33Xefnn32WW+XAlwxKnu7AOBq5Ofnp/nz56tDhw4eyzds2KDU1FT5+vpe1u29+OKLiouLU//+/T2WjxgxQkOGDLns2yutn3/+WV27dtX+/fs1cOBAPfDAA6pSpYr+/e9/6y9/+YuWLFmin376ydtllqnVq1d7u4RLFhYWpvj4eEnS6dOn9Z///EfvvfeeVq1apR9//FFVq1Yt0fMdPHhQU6dOVUREhFq3bl0GFdtj9+7d2rRpkyIiIjRv3jw99NBDl30brVu31h//+EdJZ4/trFmzFBsbq5kzZ+rBBx8s9vOU1/vHmTNnlJCQoMcff1w+Pj4KCQnR3LlzPdq89tprSk1N1RtvvOGxPCQkpExruxQPPvig3nzzTX355Zfq3Lmzt8sBrEdoAbygV69eWrRokd58801Vrvy/P8P58+erTZs2Onr0aLnU4ePjIx8fn3LZ1sX8/vvvio2N1eHDh7V+/foCgW7atGl66aWXvFRd2fvll19UtWpVValSxdulXDKn06m7777bY1nDhg01fvx4ff311+rWrZuXKrPfhx9+qNq1a+u1115TXFyc9u3bp4iIiMu6jfr163u8PiNHjlSjRo30xhtvlCi0FOf9wxij3377Tf7+/qWud/ny5crIyNCgQYMkSQEBAQXOrwULFujEiRMFltusadOmatGihRITEwktQDHQPQzwgqFDh+rYsWNas2aNe9np06e1ePFiDRs2rED7osaP5HeTSExMLHJbDodDOTk5+tvf/ubuMnHPPfdIKrxPekREhPr06aPVq1erdevW8vPzU7NmzZSUlFSsffv22291xx13yOl0qmrVqurYsaO+/vrri673ySef6Pvvv9ef//znAoFFkoKDgzVt2jSPZYsWLVKbNm3k7++vWrVq6e6771ZaWppHm3vuuUeBgYHav3+/+vTpo8DAQNWvX1/vvPOOJGn79u3q3LmzAgIC1KBBA82fP99j/fxjlJycrLFjx6pmzZoKDg7WyJEjdeLECY+2y5YtU+/evVWvXj35+voqMjJSzz//vFwul0e7Tp06qUWLFtqyZYuio6NVtWpV/elPf3I/dv7YhLfeekvNmzdX1apVVb16dd18880F6vzuu+/Us2dPBQcHKzAwUF26dNHGjRsL3Zevv/5aEyZMUEhIiAICAjRgwABlZGR4tN28ebN69OihWrVqyd/fXw0bNtS9995b4HUprrp160qSR0iXpLS0NN17772qU6eOfH191bx5c/31r391P75+/XrdcsstkqTRo0e7z+HExES9+eab8vHx0cmTJ93tX3vtNTkcDk2YMMG9zOVyKSgoSE8//bR7WV5enmbMmKHmzZvLz89PderU0dixYwu8ppK0cuVKRUVFKSAgQEFBQerdu7d27Njh0Sb/PEtLS1P//v0VGBiokJAQPfHEEwVe/wuZP3++4uLi1KdPHzmdzgKvc1moW7eumjZtqr1790qS/v3vf+uee+7RddddJz8/P9WtW1f33nuvjh075rHehd4/Vq1apZtvvln+/v6aNWuWJGnNmjXq0KGDqlWrpsDAQDVu3Nh93l/I0qVLFRERocjIyBLtl8Ph0JQpUwosj4iIcL8HFuXEiRO69dZbFRYWpl27dkmScnNzNXnyZDVq1Ei+vr4KDw/XU089pdzcXPd6HTt2VKtWrQp9zsaNG6tHjx4ey7p166ZPP/1UxpgS7RtwNSK0AF4QERGhdu3a6aOPPnIvW7lypTIzMzVkyJDLuq25c+fK19dXUVFRmjt3rubOnauxY8decJ3du3dr8ODB6tmzp+Lj41W5cmUNHDjQI2QV5ssvv1R0dLSysrI0efJkvfjiizp58qQ6d+6sf/3rXxdc9x//+Ieks11OiiMxMVGDBg2Sj4+P4uPjdf/99yspKUkdOnTw+BArnf3Q2rNnT4WHh+vll19WRESExo8fr8TERN1xxx26+eab9dJLLykoKEgjR450f3g71/jx4/Xjjz9qypQpGjlypObNm6f+/ft7fNhITExUYGCgJkyYoISEBLVp00aTJk3SM888U+D5jh07pp49e6p169aaMWOGYmJiCt3P999/X4888oiaNWumGTNmaOrUqWrdurW+/fZbd5sdO3YoKipK33//vZ566ik9++yz2rt3rzp16uTRLt/DDz+s77//XpMnT9ZDDz2kTz/9VOPHj3c/fuTIEXXv3l379u3TM888o7feekvDhw8vEIKK4nK5dPToUR09elTp6en68ssv3R/22rdv7253+PBh3XbbbVq7dq3Gjx+vhIQENWrUSGPGjNGMGTMknf02+rnnnpMkPfDAA+5zODo6WlFRUcrLy/MYH5aSkqJKlSopJSXFvey7775Tdna2oqOj3cvGjh2rJ598Uu3bt1dCQoJGjx6tefPmqUePHjpz5oy73dy5c9W7d28FBgbqpZde0rPPPqv//Oc/6tChQ4HxEi6XSz169FDNmjX16quvqmPHjnrttdc0e/bsYh23b7/9Vnv27NHQoUNVpUoVxcbGlsnA8/OdOXNGBw4cUM2aNSWdDRc///yzRo8erbfeektDhgzRggUL1KtXr2J9uN61a5eGDh2qbt26KSEhQa1bt9aOHTvUp08f5ebm6rnnntNrr72mO++8s1hfaHzzzTe66aabLnk/i+vo0aPq3LmzDh8+rA0bNqhx48bKy8vTnXfeqVdffVV9+/bVW2+9pf79++uNN97Q4MGD3euOGDFC//73v/XDDz94POemTZv0008/FbgS1KZNG508ebJACAZQCAOg3MyZM8dIMps2bTJvv/22CQoKMr/88osxxpiBAweamJgYY4wxDRo0ML1793avt27dOiPJrFu3zuP59u7daySZOXPmuJdNnjzZnP+nHRAQYEaNGlVkPXv37nUva9CggZFkPvnkE/eyzMxMExoaam688cYia8rLyzN/+MMfTI8ePUxeXp673S+//GIaNmxounXrdsFjc+ONNxqn03nBNvlOnz5tateubVq0aGF+/fVX9/Lly5cbSWbSpEnuZaNGjTKSzIsvvuheduLECePv728cDodZsGCBe/nOnTuNJDN58mT3svxj1KZNG3P69Gn38pdfftlIMsuWLfPY1/ONHTvWVK1a1fz222/uZR07djSSzHvvvVegfceOHU3Hjh3d9/v162eaN29+wePRv39/U6VKFfPf//7XvezgwYMmKCjIREdHF9iXrl27erxGjz/+uPHx8TEnT540xhizZMkS93laUvn7dv6tadOm5ueff/ZoO2bMGBMaGmqOHj3qsXzIkCHG6XS6j+emTZsKnOfGGONyuUxwcLB56qmnjDFnz8GaNWuagQMHGh8fH3Pq1CljjDGvv/66qVSpkjlx4oQxxpiUlBQjycybN8/j+T7//HOP5adOnTLVqlUz999/v0e7Q4cOGafT6bE8/zx77rnnPNreeOONpk2bNsU6duPHjzfh4eHu12b16tVGkvnuu+882hX2d3v+eVOUBg0amO7du5uMjAyTkZFhvv/+ezNkyBAjyTz88MPGmMLP448++shIMsnJyResI//94/PPP/dY/4033jCSTEZGxkVrPNeZM2eMw+Ewf/zjHy/Yrnfv3qZBgwYey87/Wz63xnPfD899X05PTzfNmzc31113ndm3b5+7zdy5c02lSpVMSkqKx3O99957RpL5+uuvjTHGnDx50vj5+Zmnn37ao90jjzxiAgICTHZ2tsfyb775xkgyCxcuvOD+ATCGKy2AlwwaNEi//vqrli9frlOnTmn58uWFdg3zhnr16mnAgAHu+/ndob777jsdOnSo0HW2bdum3bt3a9iwYTp27Jj7m/acnBx16dJFycnJysvLK3KbWVlZCgoKKlZ9mzdv1pEjR/R///d/8vPzcy/v3bu3mjRpos8++6zAOvfdd5/739WqVVPjxo0VEBDg7icvne2+Ua1aNf38888F1n/ggQd0zTXXuO8/9NBDqly5sseUpef22z916pSOHj2qqKgo/fLLL9q5c6fH8/n6+mr06NEX3ddq1aopNTVVmzZtKvRxl8ul1atXq3///rruuuvcy0NDQzVs2DB99dVXysrKKrAv506LHRUVJZfLpf/3//6fe5vS2bEE5151KK6IiAitWbNGa9as0cqVKzVjxgxlZmaqZ8+e7m5oxhh98skn6tu3r4wx7vPl6NGj6tGjhzIzM7V169YLbqdSpUq6/fbblZycLEn68ccfdezYMT3zzDMyxuif//ynpLNXX1q0aOHer0WLFsnpdKpbt24e223Tpo0CAwO1bt06SWevOJw8eVJDhw71aOfj46O2bdu6253r/DEhUVFRhZ5P5/v999+1cOFCDR482P3adO7cuUym+V29erVCQkIUEhKiVq1aadGiRRoxYoR7zNi55/Fvv/2mo0eP6rbbbpOki74m0tnxS+d3g8o/9suWLbvg+8D5jh8/LmOMqlevXux1Sis1NVUdO3bUmTNnlJycrAYNGrgfW7RokZo2baomTZp4nAv5Y1HyzwWn06l+/frpo48+cl+VcrlcWrhwofr376+AgACPbebvV3mNYwSuZIQWwEtCQkLUtWtXzZ8/X0lJSXK5XIqLi/N2WZKkRo0aFfitl+uvv16SipxCdPfu3ZKkUaNGuT8Q5d8++OAD5ebmKjMzs8htBgcH69SpU8WqL//DdePGjQs81qRJE/fj+fz8/ArMIuR0OhUWFlZgP51OZ6HjGv7whz943A8MDFRoaKjH8dixY4cGDBggp9Op4OBghYSEuLuDnL/v9evXL9ag+6efflqBgYG69dZb9Yc//EHjxo3z6FKTkZGhX375pdBj0bRpU+Xl5RWYavjaa6/1uJ//wSl/vzt27Ki77rpLU6dOVa1atdSvXz/NmTPHo+/+hQQEBKhr167q2rWr7rjjDj366KP6xz/+oV27dmn69Onuuk+ePKnZs2cXOF/yw9yRI0cuuq2oqCht2bJFv/76q1JSUhQaGqqbbrpJrVq1cncR++qrrxQVFeVeZ/fu3crMzFTt2rULbDs7O9u93fxzunPnzgXarV69ukB9hZ1n1atXL/R8Ot/q1auVkZGhW2+9VXv27NGePXu0d+9excTE6KOPPirRB/2Ladu2rdasWaO1a9fqm2++0dGjR/X3v//dHVaOHz+uRx99VHXq1JG/v79CQkLUsGFDSQXP48Lktz3X4MGD1b59e913332qU6eOhgwZoo8//rjY+2XKYczHiBEjdOTIEW3YsEH169f3eGz37t3asWNHgfMg/33x3HNh5MiR2r9/v/v8W7t2rQ4fPlxo19f8/Srub2sBVzNmDwO8aNiwYbr//vt16NAh9ezZ0/1t5PmK+g+tJAN8y1r+h49XXnmlyGlpAwMDi1y/SZMm+u6773TgwAGFh4df1tqKmuGoqOWl+YB08uRJdezYUcHBwXruuecUGRkpPz8/bd26VU8//XSBD2fFnU2padOm2rVrl5YvX67PP/9cn3zyid59911NmjRJU6dOLXGd0sX32+FwaPHixdq4caM+/fRTrVq1Svfee69ee+01bdy48YKvY1HatGkjp9PpviqSfzzuvvtujRo1qtB1WrZsedHn7dChg86cOaN//vOfSklJcYeTqKgopaSkaOfOncrIyPAILXl5eRe8gpEfPPJrnDt3rnsigXOdP6nApczEl1/LuVf+zrVhw4Yixz2VVK1atdS1a9ciHx80aJC++eYbPfnkk2rdurUCAwOVl5enO+64o1gho7Bz29/fX8nJyVq3bp0+++wzff7551q4cKE6d+6s1atXF3nsatSoIYfDUazgV1xFvW/Gxsbq73//uxISEtxTdufLy8vTDTfcoNdff73Qdc99z+rRo4fq1KmjDz/8UNHR0frwww9Vt27dQo95/n7VqlWrtLsDXDUILYAXDRgwQGPHjtXGjRu1cOHCItvlfxN+/gDz868oFKWk3+Lt2bNHxhiP9fJ/H6Wo6VfzZ/YJDg6+4AeiovTt21cfffSRPvzwQ02cOPGCbfO7bezatavAVKG7du3y6NZxuezevdvjQ2N2drbS09PVq1cvSWdnuTp27JiSkpI8BnwXNqi/pAICAjR48GANHjxYp0+fVmxsrKZNm6aJEycqJCREVatWdc9wdK6dO3eqUqVKpQ6Bt912m2677TZNmzZN8+fP1/Dhw7VgwQKPrnYl4XK5lJ2dLelsMAgKCpLL5bro+XKh8/fWW29VlSpVlJKSopSUFD355JOSpOjoaL3//vv64osv3PfzRUZGau3atWrfvv0Fw2P+OV27du1SndPFlZOTo2XLlmnw4MGFXm195JFHNG/evMsWWi7kxIkT+uKLLzR16lRNmjTJvTz/qtOlqFSpkrp06aIuXbro9ddf14svvqg///nPWrduXZHHt3LlyoqMjCzV31H16tULvGeePn1a6enphbZ/+OGH1ahRI02aNElOp9NjAo3IyEh9//336tKly0XfT318fDRs2DAlJibqpZde0tKlS3X//fcXGszy96tp06Yl3Dvg6kP3MMCLAgMDNXPmTE2ZMkV9+/Ytsl2DBg3k4+Pj/pY637vvvlus7QQEBBT4z/tCDh486PEL2VlZWfr73/+u1q1bF/qNs3T2m/TIyEi9+uqr7g+m5zp/St3zxcXF6YYbbtC0adPcYxHOderUKf35z3+WJN18882qXbu23nvvPY8uSytXrtSPP/6o3r17F2s/S2L27Nke4ztmzpyp33//XT179pT0v2/Zz71Kc/r06WK/RkU5f5rZKlWqqFmzZjLG6MyZM/Lx8VH37t21bNkyj65qhw8fdv+AaXBwcIm2eeLEiQJXm/KvnhW3i9j51q1bp+zsbPd0sD4+Prrrrrv0ySefFJhpSfI8X/LHARR2Dvv5+emWW27RRx99pP3793tcafn111/15ptvKjIyUqGhoe51Bg0aJJfLpeeff77A8/3+++/u7fTo0UPBwcF68cUXCx3bc7FzuriWLFminJwcjRs3TnFxcQVuffr00SeffFLqY18ShZ3HktyzuZXW8ePHCywr7jnVrl07bd68ucTbjIyMLPCeOXv27AteoX722Wf1xBNPaOLEiZo5c6Z7+aBBg5SWlqb333+/wDq//vqrcnJyPJaNGDFCJ06c0NixY5WdnV3k78ds2bJFTqdTzZs3L8muAVclrrQAXlZU15hzOZ1ODRw4UG+99ZYcDociIyO1fPnyYvX5l84GirVr1+r1119XvXr11LBhQ7Vt27bI9tdff73GjBmjTZs2qU6dOvrrX/+qw4cPa86cOUWuU6lSJX3wwQfq2bOnmjdvrtGjR6t+/fpKS0vTunXrFBwcrE8//bTI9a+55holJSWpa9euio6O1qBBg9S+fXtdc8012rFjh+bPn6/q1atr2rRpuuaaa/TSSy9p9OjR6tixo4YOHarDhw8rISFBERERevzxx4t1XEri9OnT6tKliwYNGqRdu3bp3XffVYcOHXTnnXdKkm6//XZVr15do0aN0iOPPCKHw6G5c+decl/87t27q27dumrfvr3q1KmjH3/8UW+//bZ69+7tnrjghRdecP8Gxv/93/+pcuXKmjVrlnJzc/Xyyy+XeJt/+9vf9O67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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = plt.subplots(figsize=(8,8))\n", "tukey.plot_simultaneous(ax=ax);\n" @@ -514,9 +860,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "b5842190", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:26.637968Z", + "iopub.status.busy": "2023-07-26T00:00:26.637827Z", + "iopub.status.idle": "2023-07-26T00:00:27.041757Z", + "shell.execute_reply": "2023-07-26T00:00:27.041385Z" + } + }, "outputs": [], "source": [ "fund_pvalues = np.empty(2000)\n", @@ -536,10 +889,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "7c9d8bed", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:27.043624Z", + "iopub.status.busy": "2023-07-26T00:00:27.043492Z", + "iopub.status.idle": "2023-07-26T00:00:27.046326Z", + "shell.execute_reply": "2023-07-26T00:00:27.046047Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.08988921, 0.991491 , 0.12211561, 0.92342997, 0.95603587,\n", + " 0.07513802, 0.0767015 , 0.07513802, 0.07513802, 0.07513802])" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "fund_qvalues = mult_test(fund_pvalues, method = \"fdr_bh\")[1]\n", "fund_qvalues[:10]\n" @@ -562,12 +934,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "bfa39f7c", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:27.048023Z", + "iopub.status.busy": "2023-07-26T00:00:27.047902Z", + "iopub.status.idle": "2023-07-26T00:00:27.050271Z", + "shell.execute_reply": "2023-07-26T00:00:27.049978Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "146" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "(fund_qvalues <= 0.1).sum()\n" ] @@ -589,12 +978,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "70b69b47", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:27.051940Z", + "iopub.status.busy": "2023-07-26T00:00:27.051831Z", + "iopub.status.idle": "2023-07-26T00:00:27.054171Z", + "shell.execute_reply": "2023-07-26T00:00:27.053894Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "(fund_pvalues <= 0.1 / 2000).sum()\n" ] @@ -622,9 +1028,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "4c0ddea1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:27.055856Z", + "iopub.status.busy": "2023-07-26T00:00:27.055741Z", + "iopub.status.idle": "2023-07-26T00:00:27.058467Z", + "shell.execute_reply": "2023-07-26T00:00:27.058182Z" + } + }, "outputs": [], "source": [ "sorted_ = np.sort(fund_pvalues)\n", @@ -649,12 +1062,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "0314eac9", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:27.060132Z", + "iopub.status.busy": "2023-07-26T00:00:27.060006Z", + "iopub.status.idle": "2023-07-26T00:00:27.320810Z", + "shell.execute_reply": "2023-07-26T00:00:27.320465Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = plt.subplots()\n", "ax.scatter(np.arange(0, sorted_.shape[0]) + 1,\n", @@ -682,12 +1112,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "b59b8137", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:27.322735Z", + "iopub.status.busy": "2023-07-26T00:00:27.322608Z", + "iopub.status.idle": "2023-07-26T00:00:27.397859Z", + "shell.execute_reply": "2023-07-26T00:00:27.397542Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "2 29\n", + "4 25\n", + "3 18\n", + "1 11\n", + "Name: Y, dtype: int64" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Khan = load_data('Khan') \n", "D = pd.concat([Khan['xtrain'], Khan['xtest']])\n", @@ -712,12 +1163,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "96fb2f61", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:27.399700Z", + "iopub.status.busy": "2023-07-26T00:00:27.399569Z", + "iopub.status.idle": "2023-07-26T00:00:27.403423Z", + "shell.execute_reply": "2023-07-26T00:00:27.403115Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(-2.0936330736768185, 0.04118643782678394)" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "D2 = D[lambda df:df['Y'] == 2]\n", "D4 = D[lambda df:df['Y'] == 4]\n", @@ -748,12 +1216,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "fdc229fa", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:27.405191Z", + "iopub.status.busy": "2023-07-26T00:00:27.405090Z", + "iopub.status.idle": "2023-07-26T00:00:28.262471Z", + "shell.execute_reply": "2023-07-26T00:00:28.262168Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0.0398" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "B = 10000\n", "Tnull = np.empty(B)\n", @@ -782,12 +1267,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "e3894695", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:28.264140Z", + "iopub.status.busy": "2023-07-26T00:00:28.264026Z", + "iopub.status.idle": "2023-07-26T00:00:28.488348Z", + "shell.execute_reply": "2023-07-26T00:00:28.487989Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqgAAAKnCAYAAABK7r+JAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB6eElEQVR4nO3deXhU5f3+8fckIfvGmhAI+45AWCOiGDUarLViXdAf36Kpxdal1caVtoJbG3ArLijuoqLQWkXbahSjoS7siCCboCBrQggkQxLINvP742QGAgkwIckzy/26rrnOmZkzZz6ThHDn2Y7N6XQ6ERERERHxEkGmCxAREREROZoCqoiIiIh4FQVUEREREfEqCqgiIiIi4lUUUEVERETEqyigioiIiIhXUUAVEREREa+igCoiIiIiXiXEdAFNweFwsHv3bmJiYrDZbKbLEREREZFjOJ1ODh48SFJSEkFBJ24j9YuAunv3bpKTk02XISIiIiInsWPHDjp37nzCY/wioMbExADWB46NjTVcjYjnysogKcna370boqLM1iMiItLU7HY7ycnJ7tx2In4RUF3d+rGxsQqo4pOCg4/sx8YqoIqIiP86leGYmiQlIiIiIl5FAVVEREREvIoCqoiIiIh4Fb8YgyoiIiK+zel0Ul1dTU1NjelS5DQEBwcTEhJy2st+KqCKiIiIUZWVlezZs4fy8nLTpUgTiIyMpGPHjoSGhjb6HAqoIiIiYozD4WDr1q0EBweTlJREaGioLrrjo5xOJ5WVlRQWFrJ161Z69+590gX5G6KAKiIiIsZUVlbicDhITk4mMjLSdDlymiIiImjVqhU//fQTlZWVhIeHN+o8miQlIiIixjW2pU28T1N8L/XTICIiIiJeRQFVRERExKDrr7+e8ePHu++npaVx++23G6vHG2gMqoiIiHidvLyWnSiVlub0+DXXX389c+bMITs7m3vvvdf9+IIFC7j88stxOj0/p1jUgioiIiLSSOHh4cyYMYMDBw6YLsWvKKCKiIiINFJ6ejqJiYlkZ2fX+/z9999PSkpKncdmzpxJt27dmr84H6aAKiIiItJIwcHB/O1vf+Ppp59m586dpsvxGwqoIiIiIqfh8ssvJyUlhWnTppkuxW8ooIqIiIicphkzZjBnzhw2bNhguhS/oIAqIiIicprGjh1LRkYGU6ZMqfN4UFDQcbP5q6qqWrI0n6RlpkRERESawPTp00lJSaFv377ux9q3b09+fj5OpxObzVo6a/Xq1YYq9B1qQRURERFpAoMGDWLixIk89dRT7sfS0tIoLCzkkUce4YcffmDWrFl89NFHBqv0DQqoIiIiIk3kwQcfxOFwuO/379+fZ599llmzZjFkyBCWLVvGnXfeabBC32Bz+sFlDux2O3FxcZSUlBAbG2u6HBGPlZVBdLS1X1oKUVFm6xERaSmHDx9m69atdO/enfDwcNPlSBNo6HvqSV5TC6qIiIiIeBUFVBERERHxKgqoIiIiIuJVFFBFRERExKsooIqIiIiIV9FC/SIiASQvz3bcY2lpPr+Yi4j4GbWgioiIiIhXUUAVEREREa+iLn4RER+nbnsR8TdqQRURERFpRt26dWPmzJmmy2gyLfF5FFBFREREGmnHjh38+te/JikpidDQULp27cptt91GUVGR6dJ8mgKqiIiISCP8+OOPjBgxgs2bN/P222+zZcsWZs+eTW5uLqNHj2b//v1G6qqpqcHhcBh576aigCoiIiLSCLfccguhoaF88sknnHvuuXTp0oWLL76YTz/9lF27dvHnP//ZfezBgwe59tpriYqKolOnTsyaNcv9nNPp5P7776dLly6EhYWRlJTEH/7wB/fzFRUV3HnnnXTq1ImoqChSU1PJy8tzP//aa68RHx/PBx98wIABAwgLC+Oll14iPDyc4uLiOjXfdtttnH/++e77X375Jeeccw4REREkJyfzhz/8gbKyMvfze/fu5dJLLyUiIoLu3bszd+7cJvwKNkwBVURERLyG0wllZWZuTg/mFu7fv5+PP/6Ym2++mYiIiDrPJSYmMnHiRObPn4+z9qSPPvooQ4YM4ZtvvuHee+/ltttuY+HChQD861//4u9//zvPP/88mzdvZsGCBQwaNMh9vltvvZXFixczb9481qxZw1VXXcW4cePYvHmz+5jy8nJmzJjBSy+9xLp165g4cSLx8fH861//ch9TU1PD/PnzmThxIgA//PAD48aN44orrmDNmjXMnz+fL7/8kltvvdX9muuvv54dO3bw+eef88477/Dss8+yd+/eU/9CNZJm8YuIiIjXKC+H6Ggz711aClFRp3bs5s2bcTqd9O/fv97n+/fvz4EDBygsLARgzJgx3HvvvQD06dOHr776ir///e9ceOGFbN++ncTERNLT02nVqhVdunRh1KhRAGzfvp1XX32V7du3k5SUBMCdd95JTk4Or776Kn/7298AqKqq4tlnn2XIkCHuGq655hreeustbrjhBgByc3MpLi7miiuuACA7O5uJEydy++23A9C7d2+eeuopzj33XJ577jm2b9/ORx99xLJlyxg5ciQAL7/8coOfuSmpBVVERESkkZyn2Ow6evTo4+5v2LABgKuuuopDhw7Ro0cPJk+ezHvvvUd1dTUAa9eupaamhj59+hAdHe2+LVq0iB9++MF9vtDQUAYPHlznPSZOnEheXh67d+8GYO7cuVxyySXEx8cD8O233/Laa6/VOW9GRgYOh4OtW7eyYcMGQkJCGD58uPuc/fr1c7++OakFVURERLxGZKTVkmnqvU9Vr169sNlsbNiwgcsvv/y45zds2EDr1q1p3779Sc+VnJzMpk2b+PTTT1m4cCE333wzjz76KIsWLaK0tJTg4GBWrlxJcHBwnddFH9XUHBERgc1Wd03kkSNH0rNnT+bNm8dNN93Ee++9x2uvveZ+vrS0lN/+9rd1xru6dOnShe+///6ktTcXBVQRERHxGjbbqXezm9S2bVsuvPBCnn32Wf74xz/WGYean5/P3LlzmTRpkjs0LlmypM7rlyxZUqerPCIigksvvZRLL72UW265hX79+rF27VqGDh1KTU0Ne/fu5ZxzzvG4zokTJzJ37lw6d+5MUFAQl1xyifu5YcOGsX79enr16lXva/v160d1dTUrV650d/Fv2rTpuIlXzUFd/CIiIiKN8Mwzz1BRUUFGRgb/+9//2LFjBzk5OVx44YV06tSJv/71r+5jv/rqKx555BG+//57Zs2axT//+U9uu+02wJqF//LLL/Pdd9/x448/8uabbxIREUHXrl3p06cPEydOZNKkSbz77rts3bqVZcuWkZ2dzX//+9+T1jhx4kRWrVrFX//6V6688krCwsLcz91zzz18/fXX3HrrraxevZrNmzfz/vvvuydJ9e3bl3HjxvHb3/6WpUuXsnLlSn7zm98cNymsOSigioiIiDRC7969WbFiBT169ODqq6+mZ8+e3HjjjZx33nksXryYNm3auI+94447WLFiBUOHDuXhhx/miSeeICMjA4D4+HhefPFFxowZw+DBg/n000/597//Tdu2bQF49dVXmTRpEnfccQd9+/Zl/PjxLF++nC5d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RkYGe/fuNV2atKBFixZxyy23sGTJEhYuXEhVVRUXXXQRZWVlpksTg5YvX87zzz/P4MGDTZfSJLTMlI/46KOPyMrK4l//+hcDBw7km2++cV8aVgLbo48+ynPPPcePP/5ouhRpZqmpqYwcOZJnnnkGsC41nZyczO9//3vuvfdew9WJKYWFhXTo0IFFixYxduxY0+WIAaWlpQwbNoxnn32Whx9+mJSUFGbOnGm6rNOiFlQfUFBQwOTJk3njjTeIjIw0XY54mZKSEtq0aWO6DGlmlZWVrFy5kvT0dPdjQUFBpKens3jxYoOViWklJSUA+j0QwG655RYuueSSOr8ffJ3HlzqVluV0Orn++uv53e9+x4gRI9i2bZvpksSLbNmyhaeffprHHnvMdCnSzPbt20dNTY37stIuCQkJbNy40VBVYprD4eD2229nzJgxdS4hLoFj3rx5rFq1iuXLl5supUmpBdWQe++9F5vNdsLbxo0befrppzl48CBTpkwxXbI0o1P9eTjarl27GDduHFdddRWTJ082VLmImHTLLbfw3XffMW/ePNOliAE7duzgtttuY+7cuYSHh5sup0lpDKohhYWFFBUVnfCYHj16cPXVV/Pvf/8bm83mfrympobg4GAmTpzInDlzmrtUaQGn+vMQGhoKwO7du0lLS+PMM8/ktddeIyhIf2v6u8rKSiIjI3nnnXcYP368+/HrrruO4uJi3n//fXPFiRG33nor77//Pv/73//o3r276XLEgAULFnD55ZcTHBzsfqympgabzUZQUBAVFRV1nvMlCqhebvv27djtdvf93bt3k5GRwTvvvENqaiqdO3c2WJ2YsGvXLs477zyGDx/Om2++6bO/fMRzqampjBo1iqeffhqwune7dOnCrbfeqklSAcTpdPL73/+e9957j7y8PHr37m26JDHk4MGD/PTTT3Uey8zMpF+/ftxzzz0+PexDY1C9XJcuXercj46OBqBnz54KpwFo165dpKWl0bVrVx577DEKCwvdzyUmJhqsTFpCVlYW1113HSNGjGDUqFHMnDmTsrIyMjMzTZcmLeiWW27hrbfe4v333ycmJob8/HwA4uLiiIiIMFydtKSYmJjjQmhUVBRt27b16XAKCqgiPmXhwoVs2bKFLVu2HPcHijpD/N+ECRMoLCxk6tSp5Ofnk5KSQk5OznETp8S/PffccwCkpaXVefzVV1/l+uuvb/mCRJqBuvhFRERExKtoZoWIiIiIeBUFVBERERHxKgqoIiIiIuJVFFBFRERExKsooIqIiIiIV1FAFRERERGvooAqIiIiIl5FAVVEPHL99dfXuRZ8Wloat99+e5OcuynPdbT777+flJQU9/1jP0NzvpdJL7zwAsnJyQQFBTFz5kzT5Ri3bds2bDYbq1evbvQ5mvNnR0SOUEAVCQDXX389NpuN6dOn13l8wYIF2Gy2Zn3v1157DZvNhs1mIzg4mNatW5OamsqDDz5ISUlJnWPfffddHnrooVM6rydh9s477yQ3N9fT0k/KZrOxYMGCFnkvT9ntdm699Vbuuecedu3axY033ljn+aO/Lw3dtm3b1qj3fu2114iPjz/pcTU1NUyfPp1+/foRERFBmzZtSE1N5aWXXnIf09g/WuoLksnJyezZs+eULgHZUJh98sknee211zyuR0Q8o0udigSI8PBwZsyYwW9/+1tat27dou8dGxvLpk2bcDqdFBcX8/XXX5Odnc2rr77KV199RVJSEgBt2rRp0vd1Op3U1NQQHR1NdHR0k567IS35Xieyfft2qqqquOSSS+jYseNxz0+YMIFx48a57//yl7/kjDPO4MEHH3Q/1r59+2at8YEHHuD555/nmWeeYcSIEdjtdlasWMGBAwea5f2Cg4NJTEw8rXPExcU1UTUiciJqQRUJEOnp6SQmJpKdnd3gMfV1T8+cOZNu3bqd1nvbbDYSExPp2LEj/fv354YbbuDrr7+mtLSUu+++233csa1lzz77LL179yY8PJyEhASuvPJKwGodW7RoEU8++WSd1r68vDxsNhsfffQRw4cPJywsjC+//LLBbvcHHniA9u3bExsby+9+9zsqKyvdz3Xr1u24bvGUlBTuv/9+9/MAl19+OTabzX3/2PdyOBw8+OCDdO7cmbCwMFJSUsjJyXE/72qpe/fddznvvPOIjIxkyJAhLF68+IRf0+3bt3PZZZcRHR1NbGwsV199NQUFBYDVgjlo0CAAevToUW9raEREBImJie5baGgokZGR7vvh4eH89re/dX99zj//fL799lv367/99lvOO+88YmJiiI2NZfjw4axYsYK8vDwyMzMpKSlxf29cX7NjffDBB9x8881cddVVdO/enSFDhnDDDTdw5513Ag1/n2tqarjhhhvo3r07ERER9O3blyeffNJ93vvvv585c+bw/vvvu1+Xl5d3XKvogQMHmDhxIu3btyciIoLevXvz6quvAtC9e3cAhg4dis1mc1/3/tiWWYfDwSOPPEKvXr0ICwujS5cu/PWvfz3h905ETk4BVSRABAcH87e//Y2nn36anTt3mi6HDh06MHHiRD744ANqamqOe37FihX84Q9/4MEHH2TTpk3k5OQwduxYwOpmHT16NJMnT2bPnj3s2bOH5ORk92vvvfdepk+fzoYNGxg8eHC975+bm8uGDRvIy8vj7bff5t133+WBBx445fqXL18OwKuvvsqePXvc94/15JNP8vjjj/PYY4+xZs0aMjIy+MUvfsHmzZvrHPfnP/+ZO++8k9WrV9OnTx+uvfZaqqur6z2nw+HgsssuY//+/SxatIiFCxfy448/MmHCBMBqHf30008BWLZs2XFfn1Nx1VVXsXfvXj766CNWrlzJsGHDuOCCC9i/fz8AEydOpHPnzixfvpyVK1dy77330qpVK8466yxmzpxJbGys+3vjCpzHSkxM5LPPPqOwsLDBr11932eHw0Hnzp355z//yfr165k6dSp/+tOf+Mc//gFYwyyuvvpqxo0b537dWWedddz577vvPtavX89HH33Ehg0beO6552jXrp376wbw6aefsmfPHt599916a5wyZQrTp093n+utt94iISHBo6+1iBxPXfwiAeTyyy8nJSWFadOm8fLLL5suh379+nHw4EGKioro0KFDnee2b99OVFQUP//5z4mJiaFr164MHToUsLpZj27xO9aDDz7IhRdeeML3Dg0N5ZVXXiEyMpKBAwfy4IMPctddd/HQQw8RFHTyv91d3d/x8fEn7DZ+7LHHuOeee7jmmmsAmDFjBp9//jkzZ85k1qxZ7uPuvPNOLrnkEsBq2R04cCBbtmyhX79+x50zNzeXtWvXsnXrVnfwfP311xk4cCDLly9n5MiRtG3b1l2np93aX375JcuWLWPv3r2EhYW5P8eCBQt45513uPHGG9m+fTt33XWXu77evXu7Xx8XF+duNT+RJ554giuvvJLExEQGDhzIWWedxWWXXcbFF1/sPk993+fg4OA6f0x0796dxYsX849//IOrr76a6OhoIiIiqKioOGEN27dvZ+jQoYwYMQKgTk+B6/vbtm3bBs9x8OBBnnzySZ555hmuu+46AHr27MnZZ599ws8tIienFlSRADNjxgzmzJnDhg0bTJeC0+kEqHei1oUXXkjXrl3p0aMHv/rVr5g7dy7l5eWndF5X4DiRIUOGEBkZ6b4/evRoSktL2bFjxylWf3J2u53du3czZsyYOo+PGTPmuK//0S29rjGje/furfe8GzZsIDk5uU6r6IABA4iPj2+S7+u3335LaWkpbdu2dY+pjY6OZuvWrfzwww8AZGVl8Zvf/Ib09HSmT5/uftwTAwYM4LvvvmPJkiX8+te/Zu/evVx66aX85je/OelrZ82axfDhw2nfvj3R0dG88MILbN++3aP3v+mmm5g3bx4pKSncfffdfP311x69fsOGDVRUVHDBBRd49DoROTkFVJEAM3bsWDIyMpgyZcpxzwUFBblDo0tVVVWz1bJhwwZiY2PdrX1Hi4mJYdWqVbz99tt07NiRqVOnMmTIEIqLi0963qioqNOuraW/Fq1atXLvuwK7w+Fotvc7kdLSUjp27Mjq1avr3DZt2sRdd90FWOM8161bxyWXXMJnn33GgAEDeO+99zx+r6CgIEaOHMntt9/Ou+++y2uvvcbLL7/M1q1bG3zNvHnzuPPOO7nhhhv45JNPWL16NZmZmXXGEJ+Kiy++mJ9++ok//vGP7N69mwsuuKDB4Qj1iYiI8Oj9ROTUKaCKBKDp06fz73//+7iJOO3btyc/P79OMDudNSNPZO/evbz11luMHz++wS71kJAQ0tPTeeSRR1izZg3btm3js88+A6wu+vrGrp6qb7/9lkOHDrnvL1myhOjoaHerZPv27dmzZ4/7ebvdflxoatWq1QlriI2NJSkpia+++qrO41999RUDBgxodO39+/dnx44ddVp7169fT3Fx8Wmd12XYsGHk5+cTEhJCr1696txcYzQB+vTpwx//+Ec++eQTfvnLX7onGJ3O98ZVf1lZWYPn+uqrrzjrrLO4+eabGTp0KL169TquBfdUa2jfvj3XXXcdb775JjNnzuSFF15wvx444Tl69+5NRESEVywrJuJvNAZVJAANGjSIiRMn8tRTT9V5PC0tjcLCQh555BGuvPJKcnJy+Oijj4iNjT2t93M6ne7gW1xczOLFi/nb3/5GXFzccWuzuvznP//hxx9/ZOzYsbRu3ZoPP/wQh8NB3759AWu84NKlS9m2bRvR0dEeL1FVWVnJDTfcwF/+8he2bdvGtGnTuPXWW91h+fzzz+e1117j0ksvJT4+nqlTpxIcHFznHN26dSM3N5cxY8YQFhZW7/Jdd911F9OmTaNnz56kpKTw6quvsnr1aubOnetRvUdLT093fw9nzpxJdXU1N998M+eee+4pDW84lfOPHj2a8ePH88gjj9CnTx92797Nf//7Xy6//HIGDhzIXXfdxZVXXkn37t3ZuXMny5cv54orrgCsr0tpaSm5ubnuoRRHD6dwufLKKxkzZgxnnXUWiYmJbN26lSlTptCnTx/32Nb6vs+9e/fm9ddf5+OPP6Z79+688cYbLF++3D3z3vW6jz/+mE2bNtG2bdt6l4eaOnUqw4cPZ+DAgVRUVPCf//yH/v37A9YkvoiICHJycujcuTPh4eHHnSM8PJx77rmHu+++m9DQUMaMGUNhYSHr1q3jhhtuOO3vg0ggUwuqSIB68MEHj+tC7t+/P88++yyzZs1iyJAhLFu2zKMuz4bY7XY6duxIp06dGD16NM8//zzXXXcd33zzTb1rdII1+ejdd9/l/PPPp3///syePZu3336bgQMHAtakouDgYAYMGED79u09Hn94wQUX0Lt3b8aOHcuECRP4xS9+UWc5pClTpnDuuefy85//nEsuuYTx48fTs2fPOud4/PHHWbhwIcnJye4JXMf6wx/+QFZWFnfccQeDBg0iJyeHDz74oM6kIk/ZbDbef/99WrduzdixY0lPT6dHjx7Mnz+/0ec89vwffvghY8eOJTMzkz59+nDNNdfw008/kZCQQHBwMEVFRUyaNIk+ffpw9dVXc/HFF7snLp111ln87ne/Y8KECbRv355HHnmk3vfJyMjg3//+N5deeil9+vThuuuuo1+/fnzyySeEhFjtJ/V9n3/729/yy1/+kgkTJpCamkpRURE333xznXNPnjyZvn37MmLECNq3b39cKzZYraRTpkxh8ODBjB07luDgYObNmwdYrfdPPfUUzz//PElJSVx22WX1fob77ruPO+64g6lTp9K/f38mTJjQ4NhhETl1Nuexg6xERERERAxSC6qIiIiIeBUFVBERERHxKgqoIiIiIuJVFFBFRERExKsooIqIiIiIV1FAFRERERGvooAqIiIiIl5FAVVEREREvIoCqoiIiIh4FQVUEREREfEqCqgiIiIi4lUUUEVERETEq/x/kNb13kjXtscAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = plt.subplots(figsize=(8,8))\n", "ax.hist(Tnull,\n", @@ -825,9 +1327,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "3b7392cb", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:28.490300Z", + "iopub.status.busy": "2023-07-26T00:00:28.490163Z", + "iopub.status.idle": "2023-07-26T00:01:51.994441Z", + "shell.execute_reply": "2023-07-26T00:01:51.994033Z" + } + }, "outputs": [], "source": [ "m, B = 100, 10000\n", @@ -864,9 +1373,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "cac15616", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:01:51.996501Z", + "iopub.status.busy": "2023-07-26T00:01:51.996360Z", + "iopub.status.idle": "2023-07-26T00:01:52.220394Z", + "shell.execute_reply": "2023-07-26T00:01:52.220065Z" + } + }, "outputs": [], "source": [ "cutoffs = np.sort(np.abs(T_vals))\n", @@ -898,10 +1414,46 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "9661eb10", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:01:52.222331Z", + "iopub.status.busy": "2023-07-26T00:01:52.222198Z", + "iopub.status.idle": "2023-07-26T00:01:52.225010Z", + "shell.execute_reply": "2023-07-26T00:01:52.224751Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['G0097',\n", + " 'G0129',\n", + " 'G0182',\n", + " 'G0714',\n", + " 'G0812',\n", + " 'G0941',\n", + " 'G0982',\n", + " 'G1020',\n", + " 'G1022',\n", + " 'G1090',\n", + " 'G1320',\n", + " 'G1634',\n", + " 'G1697',\n", + " 'G1853',\n", + " 'G1854',\n", + " 'G1994',\n", + " 'G2017',\n", + " 'G2115',\n", + " 'G2193']" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "sorted(idx[np.abs(T_vals) >= cutoffs[FDRs < 0.1].min()])\n" ] @@ -917,10 +1469,58 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "18ad4900", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:01:52.226732Z", + "iopub.status.busy": "2023-07-26T00:01:52.226617Z", + "iopub.status.idle": "2023-07-26T00:01:52.229181Z", + "shell.execute_reply": "2023-07-26T00:01:52.228899Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['G0097',\n", + " 'G0129',\n", + " 'G0158',\n", + " 'G0182',\n", + " 'G0242',\n", + " 'G0552',\n", + " 'G0679',\n", + " 'G0714',\n", + " 'G0751',\n", + " 'G0812',\n", + " 'G0908',\n", + " 'G0941',\n", + " 'G0982',\n", + " 'G1020',\n", + " 'G1022',\n", + " 'G1090',\n", + " 'G1240',\n", + " 'G1244',\n", + " 'G1320',\n", + " 'G1381',\n", + " 'G1514',\n", + " 'G1634',\n", + " 'G1697',\n", + " 'G1768',\n", + " 'G1853',\n", + " 'G1854',\n", + " 'G1907',\n", + " 'G1994',\n", + " 'G2017',\n", + " 'G2115',\n", + " 'G2193']" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "sorted(idx[np.abs(T_vals) >= cutoffs[FDRs < 0.2].min()])\n" ] @@ -937,10 +1537,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "28c276b6", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:01:52.230871Z", + "iopub.status.busy": "2023-07-26T00:01:52.230743Z", + "iopub.status.idle": "2023-07-26T00:01:52.309521Z", + "shell.execute_reply": "2023-07-26T00:01:52.309196Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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Klc2/xkQABkZ5iM9HQwDatQwVwxu3lzdSCIiIvlxargJCgrC29ubxMREq/bExERCQ0PzPCc0NNSm4/38/PDz87NPwfno1Klws5Oys1jsU4uIiEhx59QVin19fWnRogUrVqzIasvMzGTFihVERETkeU5ERITV8QDLly/P9/iiYLFc+0NERETsw+ndUjExMfTr14/w8HBatWrFlClTSElJoX///gD07duXKlWqEBcXB8DQoUPp0KEDr732Gt27d2fOnDls2bKF9957z5lfQ0RERFyE08NNdHQ0x48fZ+zYsSQkJNC0aVOWLl2aNWj40KFDeHldvsHUtm1bZs+ezXPPPcczzzxD3bp1WbRokdPWuBERERHX4vR1boqaI9a5EREREcey5fdbu4KLiIiIR1G4EREREY+icCMiIiIeReFGREREPIrCjYiIiHgUhRsRERHxKAo3IiIi4lEUbkRERMSjKNyIiIiIR3H69gtF7dKCzMnJyU6uRERERArq0u92QTZWKHbh5syZMwCEhYU5uRIRERGx1ZkzZwgMDLziMcVub6nMzEz+/vtvypYti8ViKfT7JCcnExYWxuHDh7VHlYPpWhcdXeuipetddHSti46jrrVhGJw5c4bKlStbbaidl2J358bLy4uqVava7f0CAgL0H0oR0bUuOrrWRUvXu+joWhcdR1zrq92xuUQDikVERMSjKNyIiIiIR1G4KSQ/Pz/GjRuHn5+fs0vxeLrWRUfXumjpehcdXeui4wrXutgNKBYRERHPpjs3IiIi4lEUbkRERMSjKNyIiIiIR1G4EREREY+icFNI06dPp0aNGvj7+9O6dWs2bdrk7JLcXlxcHC1btqRs2bIEBwfTq1cvdu/ebXXMhQsXGDRoENdddx1lypTh7rvvJjEx0UkVe4ZJkyZhsVgYNmxYVpuus30dOXKE+++/n+uuu46SJUvSuHFjtmzZkvW6YRiMHTuWSpUqUbJkSSIjI9m7d68TK3ZPGRkZjBkzhpo1a1KyZElq167Niy++aLUXka514axZs4YePXpQuXJlLBYLixYtsnq9INf11KlT9OnTh4CAAMqVK8fAgQM5e/asYwo2xGZz5swxfH19jQ8++MD47bffjIcfftgoV66ckZiY6OzS3FpUVJTx4YcfGjt27DC2bdtm3HbbbUa1atWMs2fPZh3z2GOPGWFhYcaKFSuM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35/Jkyfzzz//OLsUu0lNTS30ufv376d9+/ZUr16d6667Lt/junbtytGjRzlw4ABvvPEG7777LuPGjSvw53h7exMaGoqPj0+hay2IwMBAypUr59DPEPF0CjcibiYyMpLQ0FDi4uLyPeb555/P1UUzZcoUatSokfX8UvfHxIkTCQkJoVy5crzwwgukp6czcuRIKlSoQNWqVfnwww9zvf+uXbto27Yt/v7+NGrUiB9++MHq9R07dtCtWzfKlClDSEgIDzzwACdOnMh6vWPHjgwePJhhw4YRFBREVFRUnt8jMzOTF154gapVq+Ln50fTpk1ZunRp1usWi4X4+HheeOEFLBYLzz//fL7XxM/Pj9DQUMLCwujVqxeRkZEsX77c6rPi4uKoWbMmJUuWpEmTJsyfPz/r9bzutFzte2ZmZvLyyy9Tp04d/Pz8qFatGhMmTACgZs2aADRr1gyLxULHjh2t/r1ccvHiRZ588kmCg4Px9/enffv2bN68Oev11atXY7FYWLFiBeHh4ZQqVYq2bduye/furGO2b9/OLbfcQtmyZQkICKBFixZs2bIl32sl4u4UbkTcjLe3NxMnTuStt97ir7/+uqb3WrlyJX///Tdr1qzh9ddfZ9y4cdx+++2UL1+en376iccee4xHH3001+eMHDmSESNG8PPPPxMREUGPHj04efIkAKdPn6ZTp040a9aMLVu2sHTpUhITE7n33nut3mPWrFn4+vqybt06ZsyYkWd9U6dO5bXXXuPVV1/ll19+ISoqip49e7J3714Ajh49SsOGDRkxYgRHjx7lqaeeKtD33rFjB+vXr8fX1zerLS4ujo8//pgZM2bw22+/MXz4cO6///5cwe2SgnzP2NhYJk2axJgxY9i5cyezZ88mJCQEgE2bNgHw/fffc/ToURYsWJDn54waNYovvviCWbNmsXXrVurUqUNUVBSnTp2yOu7ZZ5/ltddeY8uWLfj4+DBgwICs1/r06UPVqlXZvHkz8fHxjB49mhIlShToWom4JYfsNS4iDtGvXz/jjjvuMAzDMNq0aWMMGDDAMAzDWLhwoZH9P+dx48YZTZo0sTr3jTfeMKpXr271XtWrVzcyMjKy2m644Qbjpptuynqenp5ulC5d2vjss88MwzCMgwcPGoAxadKkrGPS0tKMqlWrGpMnTzYMwzBefPFFo0uXLlafffjwYQMwdu/ebRiGYXTo0MFo1qzZVb9v5cqVjQkTJli1tWzZ0njiiSeynjdp0sQYN27cFd+nX79+hre3t1G6dGnDz8/PAAwvLy9j/vz5hmEYxoULF4xSpUoZ69evtzpv4MCBRu/eva2++88//1yg75mcnGz4+fkZM2fOzLOmnO+XvdZL/47Pnj1rlChRwvj000+zXk9NTTUqV65svPzyy4ZhGMaqVasMwPj++++zjlm8eLEBGOfPnzcMwzDKli1rfPTRR1e8RiKexLGdxyLiMJMnT6ZTp04FvluRl4YNG+LldfkGbkhIiNWAWW9vb6677jqOHTtmdV5ERETWn318fAgPD+f3338HzC6QVatWUaZMmVyft3//fq6//noAWrRoccXakpOT+fvvv2nXrp1Ve7t27di+fXsBv+Flt9xyC++88w4pKSm88cYb+Pj4cPfddwOwb98+zp07x6233mp1TmpqKs2aNcvz/a72PU+fPs3Fixfp3LmzzbVmf5+0tDSra1CiRAlatWqVdb0vufHGG7P+XKlSJQCOHTtGtWrViImJ4aGHHuKTTz4hMjKSe+65h9q1axe6LhFXp3Aj4qZuvvlmoqKiiI2N5cEHH7R6zcvLC8MwrNrS0tJyvUfOrolLs4lytmVmZha4rrNnz9KjRw8mT56c67VLP7oApUuXLvB72kPp0qWpU6cOAB988AFNmjThf//7HwMHDuTs2bMALF68mCpVqlid5+fnl+f7Xe17HjhwwM7f4Mqy/3u7NHPu0r+3559/nvvuu4/Fixfz7bffMm7cOObMmcOdd95ZpDWKFBWNuRFxY5MmTeLrr79mw4YNVu0VK1YkISHBKuDYc32WjRs3Zv05PT2d+Ph46tevD0Dz5s357bffqFGjBnXq1LF62BJoAgICqFy5MuvWrbNqX7duHQ0aNLim+r28vHjmmWd47rnnOH/+PA0aNMDPz49Dhw7lqjksLCzP97ja96xbty4lS5bMd3r6pfE+GRkZ+dZZu3btrHFJl6SlpbF582abr8H111/P8OHD+e6777jrrrvyHCgu4ikUbkTcWOPGjenTpw9vvvmmVXvHjh05fvw4L7/8Mvv372f69Ol8++23dvvc6dOns3DhQnbt2sWgQYP4559/sgawDho0iFOnTtG7d282b97M/v37WbZsGf3797/iD3leRo4cyeTJk5k7dy67d+9m9OjRbNu2jaFDh17zd7jnnnvw9vZm+vTplC1blqeeeorhw4cza9Ys9u/fz9atW3nrrbeYNWtWnudf7Xv6+/vz9NNPM2rUKD7++GP279/Pxo0b+d///gdAcHAwJUuWzBqInJSUlOszSpcuzeOPP87IkSNZunQpO3fu5OGHH+bcuXMMHDiwQN/z/PnzDB48mNWrV/Pnn3+ybt06Nm/enBVGRTyRwo2Im3vhhRdydRvVr1+ft99+m+nTp9OkSRM2bdp0TWNzcpo0aRKTJk2iSZMmrF27lq+++oqgoCCArLstGRkZdOnShcaNGzNs2DDKlStnNb6nIJ588kliYmIYMWIEjRs3ZunSpXz11VfUrVv3mr+Dj48PgwcP5uWXXyYlJYUXX3yRMWPGEBcXR/369enatSuLFy/OmrKdU0G+55gxYxgxYgRjx46lfv36REdHZ41f8vHx4c033+Tdd9+lcuXK3HHHHXl+zqRJk7j77rt54IEHaN68Ofv27WPZsmWUL1++QN/T29ubkydP0rdvX66//nruvfdeunXrxvjx4wtx1UTcg8XI2TEvIiK57N69m3r16rF3796ssTsi4pp050ZE5CpOnTrF/PnzCQgIyHcMjoi4Ds2WEhG5ioEDBxIfH88777yT7+wpEXEd6pYSERERj6JuKREREfEoCjciIiLiURRuRERExKMo3IiIiIhHUbgRERERj6JwIyIiIh5F4UZEREQ8isKNiIiIeJT/B95dbpUqjXivAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = plt.subplots()\n", "ax.plot(Rs, FDRs, 'b', linewidth=3)\n", @@ -954,6 +1572,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,Rmd", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch2-statlearn-lab.ipynb b/docs/source/labs/Ch2-statlearn-lab.ipynb index 9b826df..674581e 100644 --- a/docs/source/labs/Ch2-statlearn-lab.ipynb +++ b/docs/source/labs/Ch2-statlearn-lab.ipynb @@ -101,10 +101,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "88d0bfff", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.336320Z", + "iopub.status.busy": "2023-07-25T23:59:03.335906Z", + "iopub.status.idle": "2023-07-25T23:59:03.345178Z", + "shell.execute_reply": "2023-07-25T23:59:03.344494Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fit a model with 11 variables\n" + ] + } + ], "source": [ "print('fit a model with', 11, 'variables')\n" ] @@ -119,9 +134,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "ebe7aca8", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.348214Z", + "iopub.status.busy": "2023-07-25T23:59:03.348018Z", + "iopub.status.idle": "2023-07-25T23:59:03.350992Z", + "shell.execute_reply": "2023-07-25T23:59:03.350615Z" + } + }, "outputs": [], "source": [ "print?\n" @@ -137,10 +159,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "df2f8168", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.353557Z", + "iopub.status.busy": "2023-07-25T23:59:03.353389Z", + "iopub.status.idle": "2023-07-25T23:59:03.357986Z", + "shell.execute_reply": "2023-07-25T23:59:03.357641Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "8" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "3 + 5\n" ] @@ -159,10 +199,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "4cc5c2c1", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.360072Z", + "iopub.status.busy": "2023-07-25T23:59:03.359922Z", + "iopub.status.idle": "2023-07-25T23:59:03.362322Z", + "shell.execute_reply": "2023-07-25T23:59:03.362042Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'hello world'" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "\"hello\" + \" \" + \"world\"\n" ] @@ -190,10 +248,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "e5d81180", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.364153Z", + "iopub.status.busy": "2023-07-25T23:59:03.364018Z", + "iopub.status.idle": "2023-07-25T23:59:03.366529Z", + "shell.execute_reply": "2023-07-25T23:59:03.366235Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[3, 4, 5]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "x = [3, 4, 5]\n", "x\n" @@ -213,10 +289,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "425a714c", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.368332Z", + "iopub.status.busy": "2023-07-25T23:59:03.368198Z", + "iopub.status.idle": "2023-07-25T23:59:03.370618Z", + "shell.execute_reply": "2023-07-25T23:59:03.370345Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[3, 4, 5, 4, 9, 7]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "y = [4, 9, 7]\n", "x + y\n" @@ -269,9 +363,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "2f88669a", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.372629Z", + "iopub.status.busy": "2023-07-25T23:59:03.372498Z", + "iopub.status.idle": "2023-07-25T23:59:03.424071Z", + "shell.execute_reply": "2023-07-25T23:59:03.423098Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -299,9 +399,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "e8ec382a", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.429959Z", + "iopub.status.busy": "2023-07-25T23:59:03.429583Z", + "iopub.status.idle": "2023-07-25T23:59:03.436080Z", + "shell.execute_reply": "2023-07-25T23:59:03.435328Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -332,12 +438,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "04de39ad", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.441429Z", + "iopub.status.busy": "2023-07-25T23:59:03.440989Z", + "iopub.status.idle": "2023-07-25T23:59:03.449302Z", + "shell.execute_reply": "2023-07-25T23:59:03.448567Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 7, 13, 12])" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "x + y" ] @@ -362,12 +485,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "fee5d798", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.454224Z", + "iopub.status.busy": "2023-07-25T23:59:03.453864Z", + "iopub.status.idle": "2023-07-25T23:59:03.463532Z", + "shell.execute_reply": "2023-07-25T23:59:03.462539Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2],\n", + " [3, 4]])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "x = np.array([[1, 2], [3, 4]])\n", "x" @@ -395,10 +536,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "5871ca00", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.468600Z", + "iopub.status.busy": "2023-07-25T23:59:03.468292Z", + "iopub.status.idle": "2023-07-25T23:59:03.475945Z", + "shell.execute_reply": "2023-07-25T23:59:03.475149Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "2" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "x.ndim" ] @@ -415,12 +574,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "5a32759c", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.481118Z", + "iopub.status.busy": "2023-07-25T23:59:03.480680Z", + "iopub.status.idle": "2023-07-25T23:59:03.488333Z", + "shell.execute_reply": "2023-07-25T23:59:03.486555Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "dtype('int64')" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "x.dtype" ] @@ -438,12 +614,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "55f01b16", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.495516Z", + "iopub.status.busy": "2023-07-25T23:59:03.494194Z", + "iopub.status.idle": "2023-07-25T23:59:03.507143Z", + "shell.execute_reply": "2023-07-25T23:59:03.506347Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "dtype('float64')" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.array([[1, 2], [3.0, 4]]).dtype\n" ] @@ -460,9 +653,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "2a9de618", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.516160Z", + "iopub.status.busy": "2023-07-25T23:59:03.515522Z", + "iopub.status.idle": "2023-07-25T23:59:03.522135Z", + "shell.execute_reply": "2023-07-25T23:59:03.521022Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -480,12 +679,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "33e3e6ea", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.528006Z", + "iopub.status.busy": "2023-07-25T23:59:03.527073Z", + "iopub.status.idle": "2023-07-25T23:59:03.535281Z", + "shell.execute_reply": "2023-07-25T23:59:03.533210Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "dtype('float64')" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.array([[1, 2], [3, 4]], float).dtype\n" ] @@ -501,12 +717,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "623f8434", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.540712Z", + "iopub.status.busy": "2023-07-25T23:59:03.540315Z", + "iopub.status.idle": "2023-07-25T23:59:03.545866Z", + "shell.execute_reply": "2023-07-25T23:59:03.545195Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(2, 2)" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "x.shape\n" ] @@ -527,12 +760,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "235738a7", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.550091Z", + "iopub.status.busy": "2023-07-25T23:59:03.549770Z", + "iopub.status.idle": "2023-07-25T23:59:03.555222Z", + "shell.execute_reply": "2023-07-25T23:59:03.554501Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "10" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "x = np.array([1, 2, 3, 4])\n", "x.sum()" @@ -548,12 +798,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "7f3494e1", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.559801Z", + "iopub.status.busy": "2023-07-25T23:59:03.559468Z", + "iopub.status.idle": "2023-07-25T23:59:03.565409Z", + "shell.execute_reply": "2023-07-25T23:59:03.564548Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "10" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "x = np.array([1, 2, 3, 4])\n", "np.sum(x)" @@ -577,10 +844,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "0ca8f936", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.570100Z", + "iopub.status.busy": "2023-07-25T23:59:03.569563Z", + "iopub.status.idle": "2023-07-25T23:59:03.575143Z", + "shell.execute_reply": "2023-07-25T23:59:03.574126Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "beginning x:\n", + " [1 2 3 4 5 6]\n", + "reshaped x:\n", + " [[1 2 3]\n", + " [4 5 6]]\n" + ] + } + ], "source": [ "x = np.array([1, 2, 3, 4, 5, 6])\n", "print('beginning x:\\n', x)\n", @@ -609,12 +895,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "23fba624", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.579248Z", + "iopub.status.busy": "2023-07-25T23:59:03.578903Z", + "iopub.status.idle": "2023-07-25T23:59:03.584347Z", + "shell.execute_reply": "2023-07-25T23:59:03.583515Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "x_reshape[0, 0] " ] @@ -630,12 +933,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "1a1df926", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.588305Z", + "iopub.status.busy": "2023-07-25T23:59:03.587875Z", + "iopub.status.idle": "2023-07-25T23:59:03.596795Z", + "shell.execute_reply": "2023-07-25T23:59:03.596057Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "6" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "x_reshape[1, 2] " ] @@ -654,10 +974,34 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "4bfcc1e1", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.601576Z", + "iopub.status.busy": "2023-07-25T23:59:03.600688Z", + "iopub.status.idle": "2023-07-25T23:59:03.607941Z", + "shell.execute_reply": "2023-07-25T23:59:03.606891Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x before we modify x_reshape:\n", + " [1 2 3 4 5 6]\n", + "x_reshape before we modify x_reshape:\n", + " [[1 2 3]\n", + " [4 5 6]]\n", + "x_reshape after we modify its top left element:\n", + " [[5 2 3]\n", + " [4 5 6]]\n", + "x after we modify top left element of x_reshape:\n", + " [5 2 3 4 5 6]\n" + ] + } + ], "source": [ "print('x before we modify x_reshape:\\n', x)\n", "print('x_reshape before we modify x_reshape:\\n', x_reshape)\n", @@ -688,12 +1032,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "973c562a", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.616078Z", + "iopub.status.busy": "2023-07-25T23:59:03.615705Z", + "iopub.status.idle": "2023-07-25T23:59:03.778706Z", + "shell.execute_reply": "2023-07-25T23:59:03.778393Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "ename": "TypeError", + "evalue": "'tuple' object does not support item assignment", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[23], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m my_tuple \u001b[38;5;241m=\u001b[39m (\u001b[38;5;241m3\u001b[39m, \u001b[38;5;241m4\u001b[39m, \u001b[38;5;241m5\u001b[39m)\n\u001b[0;32m----> 2\u001b[0m \u001b[43mmy_tuple\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m2\u001b[39m\n", + "\u001b[0;31mTypeError\u001b[0m: 'tuple' object does not support item assignment" + ] + } + ], "source": [ "my_tuple = (3, 4, 5)\n", "my_tuple[0] = 2\n" @@ -710,10 +1072,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "56b5c382", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.780591Z", + "iopub.status.busy": "2023-07-25T23:59:03.780456Z", + "iopub.status.idle": "2023-07-25T23:59:03.782964Z", + "shell.execute_reply": "2023-07-25T23:59:03.782700Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "((2, 3),\n", + " 2,\n", + " array([[5, 4],\n", + " [2, 5],\n", + " [3, 6]]))" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "x_reshape.shape, x_reshape.ndim, x_reshape.T\n" ] @@ -732,10 +1116,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "2e624622", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.784591Z", + "iopub.status.busy": "2023-07-25T23:59:03.784467Z", + "iopub.status.idle": "2023-07-25T23:59:03.786863Z", + "shell.execute_reply": "2023-07-25T23:59:03.786571Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([2.23606798, 1.41421356, 1.73205081, 2. , 2.23606798,\n", + " 2.44948974])" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.sqrt(x)\n" ] @@ -750,10 +1153,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "6f45bd25", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.788435Z", + "iopub.status.busy": "2023-07-25T23:59:03.788312Z", + "iopub.status.idle": "2023-07-25T23:59:03.790500Z", + "shell.execute_reply": "2023-07-25T23:59:03.790237Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([25, 4, 9, 16, 25, 36])" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "x**2\n" ] @@ -768,12 +1189,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "6980f628", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.792166Z", + "iopub.status.busy": "2023-07-25T23:59:03.792045Z", + "iopub.status.idle": "2023-07-25T23:59:03.794224Z", + "shell.execute_reply": "2023-07-25T23:59:03.793976Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([2.23606798, 1.41421356, 1.73205081, 2. , 2.23606798,\n", + " 2.44948974])" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "x**0.5\n" ] @@ -797,10 +1236,37 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "89e32100", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.795835Z", + "iopub.status.busy": "2023-07-25T23:59:03.795720Z", + "iopub.status.idle": "2023-07-25T23:59:03.798190Z", + "shell.execute_reply": "2023-07-25T23:59:03.797947Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([-0.16941099, -1.65360995, 0.385241 , 1.37725872, -0.33090576,\n", + " 0.95225998, 1.38477584, 0.03399787, -1.01406121, -0.30788104,\n", + " 0.93226375, -0.70561647, -0.59502338, 0.0957298 , -0.54067538,\n", + " 1.23057972, -1.09400881, 0.08400338, 0.42994564, 0.30192903,\n", + " -1.35097931, -0.5317783 , -0.00317528, 0.95776295, -0.38856995,\n", + " 0.89187793, -0.83973487, 0.36758703, -1.94125031, -0.4910692 ,\n", + " 1.43410404, -1.68234372, 1.23075143, -0.26745071, 0.71955302,\n", + " -0.76446116, -0.69642788, 1.18213409, -1.93529368, -0.32528807,\n", + " -0.86482767, 1.11610801, -0.23379597, -0.67712932, -0.55311178,\n", + " -1.22714226, 0.17073539, -0.73072959, 0.50918715, 1.73268696])" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "x = np.random.normal(size=50)\n", "x\n" @@ -816,9 +1282,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "e3428155", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.799778Z", + "iopub.status.busy": "2023-07-25T23:59:03.799649Z", + "iopub.status.idle": "2023-07-25T23:59:03.801472Z", + "shell.execute_reply": "2023-07-25T23:59:03.801218Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -837,10 +1309,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "df70172e", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.803109Z", + "iopub.status.busy": "2023-07-25T23:59:03.802986Z", + "iopub.status.idle": "2023-07-25T23:59:03.805319Z", + "shell.execute_reply": "2023-07-25T23:59:03.805046Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1. , 0.64138518],\n", + " [0.64138518, 1. ]])" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.corrcoef(x, y)" ] @@ -858,12 +1349,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "1d996956", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.806958Z", + "iopub.status.busy": "2023-07-25T23:59:03.806838Z", + "iopub.status.idle": "2023-07-25T23:59:03.809025Z", + "shell.execute_reply": "2023-07-25T23:59:03.808727Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[-0.0841301 3.82641665]\n", + "[ 1.97096548 -10.3124576 ]\n" + ] + } + ], "source": [ "print(np.random.normal(scale=5, size=2))\n", "print(np.random.normal(scale=5, size=2)) \n" @@ -894,10 +1400,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "37b3a30b", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.810769Z", + "iopub.status.busy": "2023-07-25T23:59:03.810650Z", + "iopub.status.idle": "2023-07-25T23:59:03.813103Z", + "shell.execute_reply": "2023-07-25T23:59:03.812814Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[ 4.09482632 -1.07485605]\n", + "[ 4.09482632 -1.07485605]\n" + ] + } + ], "source": [ "rng = np.random.default_rng(1303)\n", "print(rng.normal(scale=5, size=2))\n", @@ -924,12 +1446,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "id": "b4f99e0e", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.814729Z", + "iopub.status.busy": "2023-07-25T23:59:03.814608Z", + "iopub.status.idle": "2023-07-25T23:59:03.817050Z", + "shell.execute_reply": "2023-07-25T23:59:03.816803Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(-0.1126795190952861, -0.1126795190952861)" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "rng = np.random.default_rng(3)\n", "y = rng.standard_normal(10)\n", @@ -946,12 +1485,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "id": "dbd70319", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.818703Z", + "iopub.status.busy": "2023-07-25T23:59:03.818597Z", + "iopub.status.idle": "2023-07-25T23:59:03.820913Z", + "shell.execute_reply": "2023-07-25T23:59:03.820642Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(2.7243406406465125, 2.7243406406465125, 2.7243406406465125)" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.var(y), y.var(), np.mean((y - y.mean())**2)" ] @@ -967,10 +1523,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "id": "bf281844", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.822530Z", + "iopub.status.busy": "2023-07-25T23:59:03.822409Z", + "iopub.status.idle": "2023-07-25T23:59:03.824738Z", + "shell.execute_reply": "2023-07-25T23:59:03.824473Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(1.6505576756498128, 1.6505576756498128)" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.sqrt(np.var(y)), np.std(y)" ] @@ -986,10 +1560,37 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "id": "f751b1dd", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.826313Z", + "iopub.status.busy": "2023-07-25T23:59:03.826201Z", + "iopub.status.idle": "2023-07-25T23:59:03.828777Z", + "shell.execute_reply": "2023-07-25T23:59:03.828496Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.22578661, -0.35263079, -0.28128742],\n", + " [-0.66804635, -1.05515055, -0.39080098],\n", + " [ 0.48194539, -0.23855361, 0.9577587 ],\n", + " [-0.19980213, 0.02425957, 1.54582085],\n", + " [ 0.54510552, -0.50522874, -0.18283897],\n", + " [ 0.54052513, 1.93508803, -0.26962033],\n", + " [-0.24355868, 1.0023136 , -0.88645994],\n", + " [-0.29172023, 0.88253897, 0.58035002],\n", + " [ 0.0915167 , 0.67010435, -2.82816231],\n", + " [ 1.02130682, -0.95964476, -1.66861984]])" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X = rng.standard_normal((10, 3))\n", "X" @@ -1005,10 +1606,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 37, "id": "cbf92de5", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.830471Z", + "iopub.status.busy": "2023-07-25T23:59:03.830350Z", + "iopub.status.idle": "2023-07-25T23:59:03.832659Z", + "shell.execute_reply": "2023-07-25T23:59:03.832413Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0.15030588, 0.14030961, -0.34238602])" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X.mean(axis=0)" ] @@ -1023,12 +1642,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 38, "id": "efacc213", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.834289Z", + "iopub.status.busy": "2023-07-25T23:59:03.834173Z", + "iopub.status.idle": "2023-07-25T23:59:03.836374Z", + "shell.execute_reply": "2023-07-25T23:59:03.836131Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0.15030588, 0.14030961, -0.34238602])" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X.mean(0)" ] @@ -1076,10 +1712,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 39, "id": "637fb67d", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:03.838008Z", + "iopub.status.busy": "2023-07-25T23:59:03.837889Z", + "iopub.status.idle": "2023-07-25T23:59:04.142408Z", + "shell.execute_reply": "2023-07-25T23:59:04.141987Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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XHPNNYiLi4NIJMLXX3/t7CORlZ577jlMmTIFgYGBiIqKwrJly1BQUODsYxEYeA5L+fn50Ov1ePfdd3H69Gm88soreOedd/DYY485+2hkJbVajRUrVuCPf/yjs49Cfdi0aRMeeOABrFu3DseOHUNWVhauvPJK1NXVOfto1Ae5XI6srCy8+eabzj4K9dOePXuwZs0aHDx4EDt27IBGo8HChQshl8udfbRhj3M8CQDw4osv4u2330ZxcbGzj0L9sGHDBtx///1obm529lGoB9OmTcOUKVPwxhtvAAD0ej0SExNx77334pFHHnHy6chaIpEIW7ZswbJly5x9FBqA+vp6REVFYc+ePZg9e7azjzOsMeNJAICWlhaEhYU5+xhEQ4parcbRo0cxf/588+vEYjHmz5+PAwcOOPFkRMNLS0sLAPD7nAtg4EkoLCzE66+/jrvuusvZRyEaUqRSKXQ6HaKjo7u8Pjo6GjU1NU46FdHwotfrcf/992PmzJkYN26cs48z7DHwHEIeeeQRiESiXn/l5+d3+ZjKykosWrQIK1aswJ133umkkxMwsOePiIh6t2bNGpw6dQobN2509lEIgIezD0C28+CDD2L16tW9vk9qaqr591VVVZg7dy5mzJiB9957z86no7709/kj1xcREQGJRILa2tour6+trUVMTIyTTkU0fNxzzz349ttvsXfvXiQkJDj7OAQGnkNKZGQkIiMjrXrfyspKzJ07F9nZ2fjoo48gFjP57Wz9ef7IPXh5eSE7Oxs///yzuSlFr9fj559/xj333OPcwxENYYIg4N5778WWLVuwe/dupKSkOPtIZMTAcxiqrKzEnDlzMGLECKxfvx719fXmtzEL4x7KysrQ2NiIsrIy6HQ6nDhxAgCQnp6OgIAA5x6OunjggQewatUqTJ48GVOnTsW//vUvyOVy3H777c4+GvWhra0NhYWF5pdLSkpw4sQJhIWFISkpyYkno76sWbMGn332GbZu3YrAwEBzTXVwcDB8fX2dfLrhjeOUhqENGzb0+E2Pfx3cw+rVq/Hxxx93e/2uXbswZ84cxx+IevXGG2/gxRdfRE1NDSZOnIjXXnsN06ZNc/axqA+7d+/G3Llzu71+1apV2LBhg+MPRFYTiUQWX//RRx/1WdJE9sXAk4iIiIgcgoV9REREROQQDDyJiIiIyCEYeBIRERGRQzDwJCIiIiKHYOBJRERERA7BwJOIiIiIHIKBJxERERE5BANPIiIiInIIBp5ERERE5BAMPImIiIjIIRh4EhEREZFD/H8ZvODJPt+ENgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "from matplotlib.pyplot import subplots\n", "fig, ax = subplots(figsize=(8, 8))\n", @@ -1100,10 +1754,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 40, "id": "109d681d", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:04.144429Z", + "iopub.status.busy": "2023-07-25T23:59:04.144254Z", + "iopub.status.idle": "2023-07-25T23:59:04.222416Z", + "shell.execute_reply": "2023-07-25T23:59:04.222078Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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rF69Oh599NHYuXNnPP3007F58+Z44IEHTrhmxYoV0d3dPXg7cODAWG8TAIBkSrqiOmnSpCgvL4+urq4h411dXTFlypRh19x3332xcOHCuOWWWyIi4tJLL40jR47EbbfdFitXroyysuNbubKyMiorK0vZGgAAp5iSrqhWVFTE7Nmzo62tbXBsYGAg2traoqGhYdg1b7311nExWl5eHhERRVGUul8AAE4TJV1RjYhobm6OxYsXx5w5c2Lu3Lmxdu3aOHLkSCxZsiQiIhYtWhTTp0+P1tbWiIiYN29ePPzww3H55ZdHfX197N27N+67776YN2/eYLACAMA7lRyqCxYsiIMHD8aqVauis7MzZs2aFVu3bh38gNX+/fuHXEG99957Y8KECXHvvffGr371q/jTP/3TmDdvXnz1q18dvWcBAMApZ0LxAXj9vaenJ2pqaqK7uzuqq6tP9nYAAHiHsei1Mf/UPwAAjIRQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoAQEpCFQCAlIQqAAApCVUAAFISqgAApCRUAQBISagCAJCSUAUAICWhCgBASkIVAICUhCoAACkJVQAAUhKqAACkJFQBAEhJqAIAkJJQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoAQEpCFQCAlIQqAAApCVUAAFISqgAApCRUAQBISagCAJCSUAUAICWhCgBASkIVAICUhCoAACkJVQAAUhKqAACkJFQBAEhJqAIAkJJQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoAQEpCFQCAlIQqAAApCVUAAFISqgAApCRUAQBISagCAJCSUAUAICWhCgBASkIVAICUhCoAACkJVQAAUhKqAACkJFQBAEhJqAIAkJJQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoAQEpCFQCAlIQqAAApCVUAAFISqgAApCRUAQBISagCAJCSUAUAICWhCgBASkIVAICUhCoAACkJVQAAUhKqAACkJFQBAEhJqAIAkJJQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoA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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "output = subplots(figsize=(8, 8))\n", "fig = output[0]\n", @@ -1120,12 +1792,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 41, "id": "e905982c", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:04.224475Z", + "iopub.status.busy": "2023-07-25T23:59:04.224332Z", + "iopub.status.idle": "2023-07-25T23:59:04.306449Z", + "shell.execute_reply": "2023-07-25T23:59:04.306128Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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AEAiBE8AABIheAIAkAjBEwCARAieAAAkQvAEACARgicAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwRMAgEQIngAAJELwBAAgEYInAACJEDwBAEjEO9IewHoajUZERMzNzaU8EgAAVtPMac3ctp5MB8+LFy9GRMSuXbtSHgkAAOu5ePFiVKvVda+pNFqJpymp1+vxyiuvxPbt26NSqaQ9nNybm5uLXbt2xcsvvxz9/f1pD4c2eO3yzeuXb16/fPP6dV+j0YiLFy/GddddFz0961dxZnrGs6enJ66//vq0h1E4/f39fvlyymuXb16/fPP65ZvXr7s2mulssrkIAIBECJ4AACRC8CyRbdu2xcTERGzbti3todAmr12+ef3yzeuXb16/bMn05iIAAIrDjCcAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwbOEfv/738fnPve5GB4ejquvvjp2794dExMT8eabb6Y9NFr09a9/PT72sY/Fn/7pn8a73vWutIfDBh599NF4//vfH319fXHLLbfE8ePH0x4SLXjuuefiwIEDcd1110WlUomf/vSnaQ+JFh06dChuvvnm2L59e+zcuTPuvPPO+O1vf5v2sAjBs5ReeOGFqNfr8f3vfz9+85vfxLe+9a343ve+F1/96lfTHhotevPNN+Ouu+6K8fHxtIfCBn7yk5/EQw89FBMTEzE9PR033HBDfPrTn45z586lPTQ28MYbb8QNN9wQjz76aNpDoU3PPvts3H///fH888/Hz3/+83jrrbfiU5/6VLzxxhtpD6309PEkIiK+8Y1vxOHDh+N3v/td2kOhDU888UR88YtfjNdffz3tobCGW265JW6++eb47ne/GxER9Xo9du3aFQ8++GA8/PDDKY+OVlUqlXjyySfjzjvvTHsobMJrr70WO3fujGeffTY+8YlPpD2cUjPjSURE1Gq1GBgYSHsYUChvvvlm/PrXv4477rjj8mM9PT1xxx13xLFjx1IcGZRLrVaLiPA5lwGCJ/Hiiy/Gd77znfj85z+f9lCgUP7whz/EwsJCXHvttUsev/baa+Ps2bMpjQrKpV6vxxe/+MX4+Mc/HqOjo2kPp/QEzwJ5+OGHo1KprPvnhRdeWPL/OXPmTIyNjcVdd90V9913X0ojJ2Jzrx8A67v//vtjZmYmfvzjH6c9FCLiHWkPgM750pe+FPfee++613zgAx+4/L9feeWVuP322+NjH/tY/P3f/32XR8dG2n39yL53v/vd0dvbG6+++uqSx1999dUYHBxMaVRQHg888ED87Gc/i+eeey6uv/76tIdDCJ6Fcs0118Q111zT0rVnzpyJ22+/PW666aZ4/PHHo6fH5Hfa2nn9yIerrroqbrrppnj66acvb0qp1+vx9NNPxwMPPJDu4KDAGo1GPPjgg/Hkk0/GL3/5yxgeHk57SPxPgmcJnTlzJm677bZ43/veF9/85jfjtddeu/x3ZmHy4aWXXooLFy7ESy+9FAsLC3HixImIiPjgBz8Y73znO9MdHEs89NBDcc8998RHPvKR2Lt3b3z729+ON954Iz772c+mPTQ28Mc//jFefPHFy1+fPn06Tpw4EQMDA/He9743xZGxkfvvvz9++MMfxlNPPRXbt2+/XFNdrVbj6quvTnl05aadUgk98cQTa37o+XHIh3vvvTd+8IMfrHj8F7/4Rdx2223JD4h1ffe7341vfOMbcfbs2bjxxhvj7/7u7+KWW25Je1hs4Je//GXcfvvtKx6/55574oknnkh+QLSsUqms+vjjjz++YUkT3SV4AgCQCIV9AAAkQvAEACARgicAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwRMAgEQIngAAJELwBAAgEYInAACJ+P8BVK+4+Id+GOQAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax.plot(x, y, 'o');" @@ -1151,10 +1840,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 42, "id": "27133a4e", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:04.308443Z", + "iopub.status.busy": "2023-07-25T23:59:04.308303Z", + "iopub.status.idle": "2023-07-25T23:59:04.393126Z", + "shell.execute_reply": "2023-07-25T23:59:04.392823Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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AEAiBE8AABIheAIAkAjBEwCARAieAAAkQvAEACARgicAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwRMAgEQIngAAJELwBAAgEYInAACJEDwBAEjEO9IewHoajUZERMzNzaU8EgAAVtPMac3ctp5MB8+LFy9GRMSuXbtSHgkAAOu5ePFiVKvVda+pNFqJpymp1+vxyiuvxPbt26NSqaQ9nNybm5uLXbt2xcsvvxz9/f1pD4c2eO3yzeuXb16/fPP6dV+j0YiLFy/GddddFz0961dxZnrGs6enJ66//vq0h1E4/f39fvlyymuXb16/fPP65ZvXr7s2mulssrkIAIBECJ4AACRC8CyRbdu2xcTERGzbti3todAmr12+ef3yzeuXb16/bMn05iIAAIrDjCcAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwbOEfv/738fnPve5GB4ejquvvjp2794dExMT8eabb6Y9NFr09a9/PT72sY/Fn/7pn8a73vWutIfDBh599NF4//vfH319fXHLLbfE8ePH0x4SLXjuuefiwIEDcd1110WlUomf/vSnaQ+JFh06dChuvvnm2L59e+zcuTPuvPPO+O1vf5v2sAjBs5ReeOGFqNfr8f3vfz9+85vfxLe+9a343ve+F1/96lfTHhotevPNN+Ouu+6K8fHxtIfCBn7yk5/EQw89FBMTEzE9PR033HBDfPrTn45z586lPTQ28MYbb8QNN9wQjz76aNpDoU3PPvts3H///fH888/Hz3/+83jrrbfiU5/6VLzxxhtpD6309PEkIiK+8Y1vxOHDh+N3v/td2kOhDU888UR88YtfjNdffz3tobCGW265JW6++eb47ne/GxER9Xo9du3aFQ8++GA8/PDDKY+OVlUqlXjyySfjzjvvTHsobMJrr70WO3fujGeffTY+8YlPpD2cUjPjSURE1Gq1GBgYSHsYUChvvvlm/PrXv4477rjj8mM9PT1xxx13xLFjx1IcGZRLrVaLiPA5lwGCJ/Hiiy/Gd77znfj85z+f9lCgUP7whz/EwsJCXHvttUsev/baa+Ps2bMpjQrKpV6vxxe/+MX4+Mc/HqOjo2kPp/QEzwJ5+OGHo1KprPvnhRdeWPL/OXPmTIyNjcVdd90V9913X0ojJ2Jzrx8A67v//vtjZmYmfvzjH6c9FCLiHWkPgM750pe+FPfee++613zgAx+4/L9feeWVuP322+NjH/tY/P3f/32XR8dG2n39yL53v/vd0dvbG6+++uqSx1999dUYHBxMaVRQHg888ED87Gc/i+eeey6uv/76tIdDCJ6Fcs0118Q111zT0rVnzpyJ22+/PW666aZ4/PHHo6fH5Hfa2nn9yIerrroqbrrppnj66acvb0qp1+vx9NNPxwMPPJDu4KDAGo1GPPjgg/Hkk0/GL3/5yxgeHk57SPxPgmcJnTlzJm677bZ43/veF9/85jfjtddeu/x3ZmHy4aWXXooLFy7ESy+9FAsLC3HixImIiPjgBz8Y73znO9MdHEs89NBDcc8998RHPvKR2Lt3b3z729+ON954Iz772c+mPTQ28Mc//jFefPHFy1+fPn06Tpw4EQMDA/He9743xZGxkfvvvz9++MMfxlNPPRXbt2+/XFNdrVbj6quvTnl05aadUgk98cQTa37o+XHIh3vvvTd+8IMfrHj8F7/4Rdx2223JD4h1ffe7341vfOMbcfbs2bjxxhvj7/7u7+KWW25Je1hs4Je//GXcfvvtKx6/55574oknnkh+QLSsUqms+vjjjz++YUkT3SV4AgCQCIV9AAAkQvAEACARgicAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwRMAgEQIngAAJELwBAAgEYInAACJ+P8BVK+4+Id+GOQAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax.scatter(x, y, marker='o');" @@ -1173,12 +1880,39 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 43, "id": "ef41f90d", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:04.395040Z", + "iopub.status.busy": "2023-07-25T23:59:04.394901Z", + "iopub.status.idle": "2023-07-25T23:59:04.506567Z", + "shell.execute_reply": "2023-07-25T23:59:04.506227Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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AEAiBE8AABIheAIAkAjBEwCARAieAAAkQvAEACARgicAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwRMAgEQIngAAJELwBAAgEYInAACJEDwBAEjEO9IewHoajUZERMzNzaU8EgAAVtPMac3ctp5MB8+LFy9GRMSuXbtSHgkAAOu5ePFiVKvVda+pNFqJpymp1+vxyiuvxPbt26NSqaQ9nNybm5uLXbt2xcsvvxz9/f1pD4c2eO3yzeuXb16/fPP6dV+j0YiLFy/GddddFz0961dxZnrGs6enJ66//vq0h1E4/f39fvlyymuXb16/fPP65ZvXr7s2mulssrkIAIBECJ4AACRC8CyRbdu2xcTERGzbti3todAmr12+ef3yzeuXb16/bMn05iIAAIrDjCcAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwbOEfv/738fnPve5GB4ejquvvjp2794dExMT8eabb6Y9NFr09a9/PT72sY/Fn/7pn8a73vWutIfDBh599NF4//vfH319fXHLLbfE8ePH0x4SLXjuuefiwIEDcd1110WlUomf/vSnaQ+JFh06dChuvvnm2L59e+zcuTPuvPPO+O1vf5v2sAjBs5ReeOGFqNfr8f3vfz9+85vfxLe+9a343ve+F1/96lfTHhotevPNN+Ouu+6K8fHxtIfCBn7yk5/EQw89FBMTEzE9PR033HBDfPrTn45z586lPTQ28MYbb8QNN9wQjz76aNpDoU3PPvts3H///fH888/Hz3/+83jrrbfiU5/6VLzxxhtpD6309PEkIiK+8Y1vxOHDh+N3v/td2kOhDU888UR88YtfjNdffz3tobCGW265JW6++eb47ne/GxER9Xo9du3aFQ8++GA8/PDDKY+OVlUqlXjyySfjzjvvTHsobMJrr70WO3fujGeffTY+8YlPpD2cUjPjSURE1Gq1GBgYSHsYUChvvvlm/PrXv4477rjj8mM9PT1xxx13xLFjx1IcGZRLrVaLiPA5lwGCJ/Hiiy/Gd77znfj85z+f9lCgUP7whz/EwsJCXHvttUsev/baa+Ps2bMpjQrKpV6vxxe/+MX4+Mc/HqOjo2kPp/QEzwJ5+OGHo1KprPvnhRdeWPL/OXPmTIyNjcVdd90V9913X0ojJ2Jzrx8A67v//vtjZmYmfvzjH6c9FCLiHWkPgM750pe+FPfee++613zgAx+4/L9feeWVuP322+NjH/tY/P3f/32XR8dG2n39yL53v/vd0dvbG6+++uqSx1999dUYHBxMaVRQHg888ED87Gc/i+eeey6uv/76tIdDCJ6Fcs0118Q111zT0rVnzpyJ22+/PW666aZ4/PHHo6fH5Hfa2nn9yIerrroqbrrppnj66acvb0qp1+vx9NNPxwMPPJDu4KDAGo1GPPjgg/Hkk0/GL3/5yxgeHk57SPxPgmcJnTlzJm677bZ43/veF9/85jfjtddeu/x3ZmHy4aWXXooLFy7ESy+9FAsLC3HixImIiPjgBz8Y73znO9MdHEs89NBDcc8998RHPvKR2Lt3b3z729+ON954Iz772c+mPTQ28Mc//jFefPHFy1+fPn06Tpw4EQMDA/He9743xZGxkfvvvz9++MMfxlNPPRXbt2+/XFNdrVbj6quvTnl05aadUgk98cQTa37o+XHIh3vvvTd+8IMfrHj8F7/4Rdx2223JD4h1ffe7341vfOMbcfbs2bjxxhvj7/7u7+KWW25Je1hs4Je//GXcfvvtKx6/55574oknnkh+QLSsUqms+vjjjz++YUkT3SV4AgCQCIV9AAAkQvAEACARgicAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwRMAgEQIngAAJELwBAAgEYInAACJ+P8BVK+4+Id+GOQAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax.scatter(x, y, marker='o')\n" @@ -1209,10 +1943,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 44, "id": "16a9cb99", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:04.508470Z", + "iopub.status.busy": "2023-07-25T23:59:04.508345Z", + "iopub.status.idle": "2023-07-25T23:59:04.612557Z", + "shell.execute_reply": "2023-07-25T23:59:04.612259Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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a2vTN7/5TRUVFemee+5hpYI0w21iIHa04ABAanmsfi4x0NbWpkceeUR33XWX/H6/zjvvPF133XU666yzElVjwnR0dMjr9crn8yknJ8fucozBjl1A7/wBS6cternXFpzXf3IWrx8A6EGsea1fS2zV1dVp2bJlWrlypfLy8lRRUaHt27fr29/+tq6++mrdc889/Xl6OETwNjGA6IItOJUr6uWRwoJsOrXgcFELwCniHolta2vTk08+qWXLlunDDz9UeXm5Lr/8ck2fPj20a9frr7+usrIyff7550kpuq8YiQWQbOm8Tmw6/9sAOEeseS3uEDtw4ECNGzdOl156qSoqKjRy5MiI33zGjBlau3Zt/JUnESEWQCqk42hlcA3cg08YwX8VffIAEiVpIfa1117T6aef3u8C7UCIBYD4Bft9oy0hRr8vgESKNa/FvTqBqQEWANA38ayBCwCpwrazAIAesQYuACcixAIAesQauACciBALAOhRcBvqaN2uHnWtUsA21ABSqV8htrOTW0cAkO7YhhqAE8UdYgOBgP7zP/9TRx55pIYOHaqPP/5YknTbbbfpscceS3iBAOBk/oCl9Vt2a1XDdq3fslv+QL82QXQstqEG4DRx79h155136oknntDPf/5zXXHFFaHHi4uLde+99+qyyy5LaIEA4FRuW/y/rLhApUX5abcGLgAzxb1O7DHHHKOHH35YZ599trKzs/Xuu+/q6KOP1qZNmzR58mT97W9/S1at/cY6sQAShcX/ASA5Ys1rcY/Ebt++Xcccc0y3xwOBgL744ot4nw4AjOMPWKquaeoWYKWuNVM9kqprmlRalO+qUUoTdyozsWYAXeIOsUVFRXrttdc0ZsyYsMd/97vf6cQTT0xYYQDgVPEs/j953PDUFWYjE1srTKwZwJfiDrELFizQ7NmztX37dgUCAT377LPavHmzfv3rX2v16tXJqBFwLUaJnInF/8NFa61o9XWqckW9I1srTKwZQLi4Q+yMGTNUU1OjO+64Q4ceeqgWLFigSZMmqaamRqWlpcmoEXAlRomcy67F/514UWNia0VvNUvOqxlAd3GHWEk6/fTTtWbNmkTXAuD/xyhR36Ui6AUX/2/1dUYMQh51LT2VyMX/nXpRY0drRX9/x73VLLmvHQQwUZ9CrCTt379fbW1tCgQCYY8fddRR/S4KcDMTR7acIlVB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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax.scatter(x, y, marker='o')\n", @@ -1232,12 +1984,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 45, "id": "6707420e", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:04.614466Z", + "iopub.status.busy": "2023-07-25T23:59:04.614335Z", + "iopub.status.idle": "2023-07-25T23:59:04.681782Z", + "shell.execute_reply": "2023-07-25T23:59:04.681462Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+cAAAE8CAYAAACimMB5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABIuklEQVR4nO3dfVxUdf7//+eAIpqAeUFgoqJlRpioqWlW5mpSLWXuWrlZ0oWmqaXllu6uGm19XLfaTfMibTep3LK2zUwrNzOtLNJfGRVLWhqlKYhigVpKzczvD74ziTAwAzNzLuZxv9243eTM1cuZw5nzOu/36/V2uN1utwAAAAAAgGGijA4AAAAAAIBIR3IOAAAAAIDBSM4BAAAAADAYyTkAAAAAAAYjOQcAAAAAwGAk5wAAAAAAGIzkHAAAAAAAg5GcAwAAAABgMJJzAAAAAAAMRnIOAICBNm3aJIfDoU2bNhkdSjXPPPOMunfvrqZNm6pVq1ZGhwMAgO2RnAMAEAK5ublyOBzen9jYWHXr1k2TJ0/W/v37g/Iar732mu67776gPNeJtm/fruzsbHXt2lVPPPGEli1bVuv93G63LrzwQrVr105lZWU1bp8wYYKaNm2q/Pz8oMfoj5UrV8rhcGjp0qW13j5x4kQ1bdpUn3zySZgjAwCgJpJzAABC6P7779czzzyjhQsXauDAgVqyZIkGDBigH374odHP/dprryknJycIUVa3adMmuVwuzZ8/X9nZ2brmmmtqvZ8n8S0vL9f06dOr3ZaXl6dly5bpzjvvVEZGRtBj9Md1112nzMxMzZgxo8YFka1bt2rZsmWaNm2aevbsaUh8AACciOQcAIAQuuyyyzRmzBjdeuutys3N1dSpU1VUVKTVq1cbHZpPpaWlkuTXdPa0tDT9/ve/V25urt5++21J0k8//aTx48crJSUlJBcPArFkyRJVVlZq2rRp3m1Op1O33XabOnbsGJKZBwAANATJOQAAYTRkyBBJUlFRUZ33+/e//60+ffqoefPmatu2rcaMGaO9e/d6b8/OztaiRYskqdr0+fosXrxY55xzjpo1a6b27dtr0qRJ+v777723d+7cWXPmzJEktWvXTg6Ho94EdtasWeratatuu+02VVZW6pFHHlFBQYEWLlyoU045pc7Hpqen65JLLqmx3eVy6fTTT9dvf/tb77aVK1eqT58+iouLU3x8vHr06KH58+fX+fydO3fWfffdp+eee07r16+XJC1YsED5+flasmSJWrRoUefjAQAIF5JzAADCaNeuXZKkNm3a+LxPbm6urrnmGkVHR2vu3LkaN26cXnrpJQ0aNMibSN92220aNmyYpKrmbZ6futx3332aNGmS2rdvr0ceeUS/+c1vtHTpUl166aX66aefJEmPPvqorr76aklVo87PPPOMRo4cWefzxsbGavHixdqxY4duv/123X///br66quVlZVV7/tx7bXX6p133lFJSUm17Zs3b9a+fft03XXXSZLWr1+v0aNH69RTT9W8efP0l7/8RYMHD9Z7771X72t4pq5PnDhRO3fu1OzZs71T3gEAMA03AAAIuuXLl7slud988033gQMH3Hv27HGvXLnS3aZNG3fz5s3d3377rdvtdrs3btzoluTeuHGj2+12uysrK92JiYnu9PR0948//uh9vrVr17oluWfPnu3dNmnSJLe/X+WlpaXumJgY96WXXup2Op3e7QsXLnRLcj/55JPebXPmzHFLch84cCCg//Po0aPdktxxcXHuPXv2+PWYHTt2uCW5H3vssWrbb7/9dnfLli3dP/zwg9vtdrvvvPNOd3x8vPvnn38OKCaPLVu2uKOiotytW7d2t2rVyl1SUtKg5wEAIFQYOQcAIISGDh2qdu3aKSUlRdddd51atmypVatW6fTTT6/1/h9++KFKS0t1++23KzY21rv9iiuuUPfu3fXqq682KI4333xTlZWVmjp1qqKifvn6HzdunOLj4xv8vCdq27atpKo69A4dOvj1mG7duikjI0PPP/+8d5vT6dSLL76orKwsNW/eXFJV/fvRo0e9U9MD1a9fP02YMEGHDh3S3LlzddpppzXoeQAACBWScwAAQmjRokVav369Nm7cqMLCQn311VcaPny4z/t/8803kqSzzjqrxm3du3f33h4oX88bExOjLl26NPh5PT788EMtWrRI6enp2rJli1asWOH3Y6+99lq999573pr6TZs2qbS0VNdee633Prfffru6deumyy67TB06dNDNN9+sdevWBRRj3759JUnnnXdeQI8DACAcSM4BAAihfv36aejQoRo8eLDOPvvsaqPWduF0OjV+/Hi1b99e7733nvr376+77767WqO5ulx77bVyu93697//LUl64YUXlJCQUK0mPDExUfn5+XrllVd05ZVXauPGjbrssss0duzYUPyXAAAIO/udIQAAYGGdOnWSJO3YsaPGbTt27PDeLsmv7uz1PW9lZaWKioqqPW+gFixYoI8//liPPfaY4uPj9fjjj6usrEwzZszw6/Gpqanq16+fnn/+ef3888966aWXNGLECDVr1qza/WJiYpSVlaXFixdr165duu222/T0009r586dDY4dAACzIDkHAMBEzjvvPCUmJurxxx/X8ePHvdtff/11ff7557riiiu82zzLlPkzQj106FDFxMRowYIFcrvd3u3//Oc/VV5eXu15A7Fnzx7Nnj1bV155pUaMGCFJysjI0B133KEnnnhCW7Zs8et5rr32Wn3wwQd68skndfDgwWpT2iWprKys2u9RUVE699xzJana+wQAgFU1MToAAADwi6ZNm2revHm66aabdPHFF2v06NHav3+/5s+fr86dO2vatGne+/bp00eSdMcdd2j48OGKjo72Lj12snbt2mnmzJnKyclRZmamrrzySu3YsUOLFy9W3759NWbMmAbFO2XKFLndbj322GPVtufk5OiFF17QhAkT9OGHHyo6OrrO57nmmms0ffp0TZ8+Xa1bt9bQoUOr3X7rrbfq0KFDGjJkiDp06KBvvvlGjz32mDIyMnT22Wc3KHYAAMyEkXMAAEwmOztbzz//vCorK3Xvvfdq6dKluvrqq7V582a1atXKe7+RI0dqypQpWrdunW644QaNHj26zue97777tHDhQu3evVvTpk3TCy+8oPHjx+uNN95Q06ZNA47z5Zdf1urVq5WTk6OOHTtWuy0uLk7z589Xfn6+FixYUO9zdejQQQMHDtThw4c1cuTIGvGMGTPGu5767bffrqeeekrXXnutXn/9dVvW8QMAIo/DfeLcNgAAAAAAEHZcagYAAAAAwGAk5wAAAAAAGIzkHAAAAAAAg5GcAwAAAABgMJJzAAAAAAAMRnIOAAAAAIDBmhgdQDi5XC7t27dPcXFxcjgcRocDAAAAALA5t9utw4cPq3379oqK8j0+HlHJ+b59+5SSkmJ0GAAAAACACLNnzx516NDB5+0RlZzHxcVJqnpT4uPjDY4GAAAAAGB3FRUVSklJ8eajvkRUcu6Zyh4fH09yDgAAAAAIm/pKq2kIBwAAAACAwUjOAQAAAAAwWERNawcARC6ny62tRYdUeviYEuNi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+KJ69Oih5s2bq02bNho6dKiOHj3qMwYAAMKB5BwAgCCYP3++BgwYoHHjxqm4uFjFxcVKSUnx3v7HP/5RjzzyiD788EM1adJEN998c63P8/PPP2vEiBG6+OKL9emnnyovL0/jx4+Xw+HwK45Zs2apsLBQr7/+uj7//HMtWbJEbdu2DXrM7777rm688UbdeeedKiws1NKlS5Wbm6sHH3yw1teKjY3Vv/71Lz311FNavXq1nE6nxowZo2HDhvl8LyTpyJEjuvzyy7VhwwZ9/PHHyszMVFZWlnbv3i1J6t69ux5++GHdfvvt2r17t7799ltNmDBB8+bNU1paWo3nKy4u1ujRo3XzzTfr888/16ZNmzRy5Ei53W6/3l8AAEKFae0AAARBQkKCYmJi1KJFi1qnmT/44IO6+OKLJUkzZszQFVdcoWPHjik2Nrba/SoqKlReXq5f//rX6tq1qyTp7LPP9juO3bt3q1evXjrvvPMkSZ07dw5JzDk5OZoxY4bGjh0rSerSpYv+/Oc/65577tGcOXNqfb2MjAw98MADuvXWW3Xdddfpm2++0dq1a+v8//Ts2VM9e/b0/v7nP/9Zq1at0iuvvKLJkydLkm6//Xa99tprGjNmjGJiYtS3b19NmTKl1ucrLi7Wzz//rJEjR6pTp06SpB49etQZAwAA4cDIOQAAYXDuued6/52cnCxJKi0trXG/1q1bKzs7W8OHD1dWVpbmz5+v4uJiv19n4sSJWrlypTIyMnTPPffo/fffD0nMn3zyie6//35vvXzLli29I/A//PCDz+e8++671a1bNy1cuFBPPvmk2rRp473txOeaMGGCpKqR8+nTp+vss89Wq1at1LJlS33++efekXOPJ598Up9++qm2bdum3NxcnzMNevbsqV/96lfq0aOHRo0apSeeeELfffddw94gAACCiOQcAIAwaNq0qfffnsTR5XLVet/ly5crLy9PAwcO1PPPP69u3brpgw8+8Ot1LrvsMn3zzTeaNm2a9u3bp1/96leaPn160GM+cuSIcnJylJ+f7/357LPP9OWXX9aYDXCi0tJSffHFF4qOjtaXX35Z7bYTn+v++++XVNXJftWqVfq///s/vfvuu8rPz1ePHj1UWVlZ7bGffPKJjh49qqNHj9Z5MSM6Olrr16/X66+/rrS0ND322GM666yzVFRUFNibAwBAkJGcAwAQJDExMXI6nUF5rl69emnmzJl6//33lZ6eXq3hWX3atWunsWPHasWKFXr00Ue1bNkyn/dtaMy9e/fWjh07dMYZZ9T4iYryfXpx8803q0ePHnrqqad077336vPPP/feduJzJCYmSpLee+89ZWdn6+qrr1aPHj2UlJRUrWmdJB06dEjZ2dn64x//qOzsbF1//fX68ccffcbgcDh0wQUXKCcnRx9//LFiYmK0atWqgN8DAACCiZpzAACCpHPnztqyZYu+/vprtWzZUq1btw74OYqKirRs2TJdeeWVat++vXbs2KEvv/xSN954o1+Pnz17tvr06aNzzjlHx48f19q1a+usWW9ozLNnz9avf/1rdezYUb/97W8VFRWlTz75RAUFBXrggQdqfcyiRYuUl5enTz/9VCkpKXr11Vd1/fXX64MPPlBMTEytjznzzDP10ksvKSsrSw6HQ7Nmzaox42DChAlKSUnRn/70Jx0/fly9evXS9OnTtWjRohrPt2XLFm3YsEGXXnqpEhMTtWXLFh04cCCgun4AAEKBkXMAAIJk+vTpio6OVlpamtq1a1ejLtofLVq00Pbt2/Wb3/xG3bp10/jx4zVp0iTddtttfj0+JiZGM2fO1LnnnquLLrpI0dHRWrlyZdBjHj58uNauXas33nhDffv21fnnn6+///3v3iZrJ9u+fbt+//vfa/Hixd6O8IsXL9bBgwc1a9Ysn6/zt7/9TaeeeqoGDhyorKwsDR8+XL179/be/vTTT+u1117TM888oyZNmuiUU07RihUr9MQTT+j111+v8Xzx8fF65513dPnll6tbt27605/+pEceeUSXXXaZX/9vAABCxeFm7RAAAAAAAAzFyDkAAAAAAAYjOQcAAAAAwGAk5wAAAAAAGIzkHAAAAAAAg5GcAwAAAABgMJJzAAAAAAAMRnIOAAAAAIDBSM4BAAAAADAYyTkAAAAAAAYjOQcAAAAAwGAk5wAAAAAAGOz/B9++F5qSEtJfAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "fig.set_size_inches(12,3)\n", "fig" @@ -1268,12 +2038,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 46, "id": "6c78ef8b", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:04.683675Z", + "iopub.status.busy": "2023-07-25T23:59:04.683534Z", + "iopub.status.idle": "2023-07-25T23:59:04.980489Z", + "shell.execute_reply": "2023-07-25T23:59:04.980118Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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csn3vve95I033kief/75ZNasWcnq1atLPHk6du7cmaxbty555plnkohInn322dOuP3jwYHLOOeckLS0tySuvvJJ861vfSioqKpL29vbSDFwCciafnCkka/LJmXxyJp+cKSRnCsmafHImn5wpJGvyjVfWTIiSbNGiRcmqVauG/j0wMJDMnj07aWtrG3b9F77wheSGG27IO9bQ0JD8/d//fapzlkqx+3GqkydPJueee27y3e9+N60RS2o0+3Hy5MnkqquuSr7zne8kK1asmFKBkiTF78m3v/3t5MILL0z6+/tLNWJJFbsfq1atSj772c/mHWtpaUmuvvrqVOccDx8mUL761a8mn/rUp/KOLV26NGlubk5xstKSM/nkTCFZk0/O5JMzI5MzfyBnCsmafHImn5wpJGtGVsqsGfc/t+zv7489e/ZEU1PT0LHy8vJoamqKzs7OYc/p7OzMWx8R0dzcPOL6yWQ0+3Gqd955J9599904//zz0xqzZEa7H1//+tdj5syZcfPNN5dizJIazZ788Ic/jMbGxli1alXU1tbGpZdeGhs2bIiBgYFSjZ2a0ezHVVddFXv27Bm6ffngwYOxc+fOuP7660sy80Qzla+pEXLmVHKmkKzJJ2fyyZkzN5WvqRFyZjiyJp+cySdnCsmaMzdW19VpYznUaBw9ejQGBgaitrY273htbW0cOHBg2HO6u7uHXd/d3Z3anKUymv041V133RWzZ88u+AaZjEazHy+++GI8/vjj0dXVVYIJS280e3Lw4MH4j//4j/jiF78YO3fujNdffz2+/OUvx7vvvhutra2lGDs1o9mPm266KY4ePRqf+cxnIkmSOHnyZNx+++1x9913l2LkCWeka2pfX1/87ne/i7PPPnucJhsbciafnCkka/LJmXxy5szJmUJTOWciZM2p5Ew+OVNI1py5scqacb+TjLG1cePG2LZtWzz77LNRVVU13uOU3LFjx2LZsmWxdevWmDFjxniPM2EMDg7GzJkz47HHHosFCxbE0qVLY926dbFly5bxHm1c7Nq1KzZs2BCPPvpo7N27N5555pnYsWNH3H///eM9Gkx4Wc+ZCFkzHDmTT87Amcl61siZQnKmkKxJx7jfSTZjxoyoqKiInp6evOM9PT1RV1c37Dl1dXVFrZ9MRrMf73nwwQdj48aN8eMf/zguv/zyNMcsmWL345e/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AAAAMk9JBgAAAEDmKckAAAAAyLxRlWSbN2+OuXPnRlVVVTQ0NMTu3btPu37Tpk3x8Y9/PM4+++yor6+P1atXx+9///tRDQzA1CdnAEiTnAFgOEWXZNu3b4+WlpZobW2NvXv3xrx586K5uTneeuutYdc/9dRTsWbNmmhtbY39+/fH448/Htu3b4+77777jIcHYOqRMwCkSc4AMJKiS7KHH344br311li5cmV88pOfjC1btsQ555wTTzzxxLDrX3rppbj66qvjpptuirlz58bnPve5uPHGGz/wtzUAZJOcASBNcgaAkRRVkvX398eePXuiqanp/S9QXh5NTU3R2dk57DlXXXVV7NmzZyhEDh48GDt37ozrr79+xOc5ceJE9PX15T0AmPrkDABpkjMAnM60YhYfPXo0BgYGora2Nu94bW1tHDhwYNhzbrrppjh69Gh85jOfiSRJ4uTJk3H77bef9vbktra2uO+++4oZDYApQM4AkCY5A8DppP7plrt27YoNGzbEo48+Gnv37o1nnnkmduzYEffff/+I56xduzZ6e3uHHocPH057TAAmKTkDQJrkDEB2FHUn2YwZM6KioiJ6enryjvf09ERdXd2w59x7772xbNmyuOWWWyIi4rLLLovjx4/HbbfdFuvWrYvy8sKeLpfLRS6XK2Y0AKYAOQNAmuQMAKdT1J1klZWVsWDBgujo6Bg6Njg4GB0dHdHY2DjsOe+8805BcFRUVERERJIkxc4LwBQmZwBIk5wB4HSKupMsIqKlpSVWrFgRCxcujEWLFsWmTZvi+PHjsXLlyoiIWL58ecyZMyfa2toiImLx4sXx8MMPxxVXXBENDQ3x+uuvx7333huLFy8eChcAeI+cASBNcgaAkRRdki1dujSOHDkS69evj+7u7pg/f360t7cPvfnloUOH8n7Tcs8990RZWVncc8898etf/zr+9E//NBYvXhzf/OY3x+5VADBlyBkA0iRnABhJWTIJ7hHu6+uLmpqa6O3tjerq6vEeB2DSc13NZz8Axpbraj77ATC20rqupv7plgAAAAAw0SnJAAAAAMg8JRkAAAAAmackAwAAACDzlGQAAAAAZJ6SDAAAAIDMU5IBAAAAkHlKMgAAAAAyT0kGAAAAQOYpyQAAAADIPCUZAAAAAJmnJAMAAAAg85RkAAAAAGSekgwAAACAzFOSAQAAAJB5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G9tXAsCUIGcASJusAWA4RZdkS5cujSNHjsT69euju7s75s+fH+3t7UNvZHno0KG8292uuuqqeOqpp+Kee+6Ju+++O/7iL/4innvuubj00ks/9HPmcrlobW0d9pblLLIf+exHIXuSz34Umsh7ImfGn/0oZE/y2Y9C9iTfRN+PUmfNRN+P8WBP8tmPfPajkD3Jl9Z+lCUT8XOZAQAAAKCEJt47aQIAAABAiSnJAAAAAMg8JRkAAAAAmackAwAAACDzJkxJtnnz5pg7d25UVVVFQ0ND7N69+7Trf/CDH8Qll1wSVVVVcdlll8XOnTtLNGlpFLMfW7dujWuuuSamT58e06dPj6ampg/cv8mm2O+P92zbti3KyspiyZIl6Q44Dordk7fffjtWrVoVs2bNilwuFxdffPGU+rkpdj82bdoUH//4x+Pss8+O+vr6WL16dfz+978v0bTp+ulPfxqLFy+O2bNnR1lZWTz33HMfeM6uXbvi05/+dORyufjYxz4WTz75ZOpzlpqcySdnCsmafHImn5x5n5wZnpwpJGvyyZl8cqaQrHnfuGVNMgFs27YtqaysTJ544onkv/7rv5Jbb701Oe+885Kenp5h1//sZz9LKioqkgceeCB55ZVXknvuuSc566yzkpdffrnEk6ej2P246aabks2bNyf79u1L9u/fn/zd3/1dUlNTk/z3f/93iSdPR7H78Z433ngjmTNnTnLNNdckf/3Xf12aYUuk2D05ceJEsnDhwuT6669PXnzxxeSNN95Idu3alXR1dZV48nQUux/f+973klwul3zve99L3njjjeT5559PZs2alaxevbrEk6dj586dybp165JnnnkmiYjk2WefPe36gwcPJuecc07S0tKSvPLKK8m3vvWtpKKiImlvby/NwCUgZ/LJmUKyJp+cySdn8smZQnKmkKzJJ2fyyZlCsibfeGXNhCjJFi1alKxatWro3wMDA8ns2bOTtra2Ydd/4QtfSG644Ya8Yw0NDcnf//3fpzpnqRS7H6c6efJkcu655ybf/e530xqxpEazHydPnkyuuuqq5Dvf+U6yYsWKKRUoSVL8nnz7299OLrzwwqS/v79UI5ZUsfuxatWq5LOf/WzesZaWluTqq69Odc7x8GEC5atf/WryqU99Ku/Y0qVLk+bm5hQnKy05k0/OFJI1+eRMPjkzMjnzB3KmkKzJ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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, axes = subplots(nrows=2,\n", " ncols=3,\n", @@ -1291,12 +2078,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 47, "id": "a18402fb", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:04.982439Z", + "iopub.status.busy": "2023-07-25T23:59:04.982308Z", + "iopub.status.idle": "2023-07-25T23:59:05.186177Z", + "shell.execute_reply": "2023-07-25T23:59:05.185846Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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Lc149tlnjR07dhjz5883evbsaXz66acxjtwaZtvj9ttvN5YuXWp88sknxs6dO40ZM2YYWVlZxl/+8pcYR24Ns+3htX//fmPQoEHGddddZ9xyyy2xCTZGzLZJS0uLMWbMGOOmm24yNm/ebOzfv9/YtGmTUVdXF+PIrWG2PX7zm98YLpfL+M1vfmPs37/fePfdd428vDzjgQceiHHk1li/fr3xyCOPGK+99pohyXj99ddD7r9v3z6jd+/eRmlpqbFjxw7jueeeM9LS0ozq6urYBBwD9DP+6Gc6o6/xRz/jj37GH/1Mcvqv//ovY8aMGca7775r7N2713jzzTeN7Oxs48EHH7Q7NEstWLDAWLx4sVFaWmpkZWXZHY4lIu0D45nZ77FEUFJSYqxatcqor6836urqjJtuusm46KKLjK+//tru0BzFEUmysWPHGnPmzPE9b2trMwYOHGhUVVUF3P/HP/6xcfPNN/ttKywsNP71X//V0jhjxWx7dHT27FmjT58+xssvv2xViDEVSXucPXvWGDdunPHiiy8a06dPT6gbF8Mw3ybLli0zhgwZYrS2tsYqxJgy2x5z5swxbrjhBr9tpaWlxvjx4y2N0w7hdPoPPfSQcfnll/ttmzp1qlFSUmJhZLFFP+OPfqYz+hp/9DP+6GeCo59Jbs8++6wxePBgu8OIiVWrViVskqy7/y+Id8mSJOvoq6++MiQZf/zjH+0OxVFsH27Z2tqqbdu2qbi42LctNTVVxcXFqq2tDXhMbW2t3/6SVFJSEnT/eBJJe3R06tQpnTlzRv369bMqzJiJtD0ef/xxZWdn66677opFmDEVSZu89dZbKioq0pw5c5STk6MRI0bo6aefVltbW6zCtkwk7TFu3Dht27bNV0a+b98+rV+/XjfddFNMYnaaRP5OlehnOqKf6Yy+xh/9jD/6me5L5O/UZNfU1JQwfUGyisb/CxCfmpqaJInf4Q562B3A0aNH1dbWppycHL/tOTk52rVrV8BjGhoaAu7f0NBgWZyxEkl7dDRv3jwNHDiw039G4lEk7bF582a99NJLqquri0GEsRdJm+zbt08bN27UHXfcofXr12vPnj269957debMGVVUVMQibMtE0h633367jh49qmuvvVaGYejs2bO655579PDDD8ciZMcJ9p3qdrv1zTffqFevXjZFFh30M/7oZzqjr/FHP+OPfqb7Er2fSVZ79uzRc889p0WLFtkdCrohGv8vQPzxeDy6//77NX78eI0YMcLucBzF9koyRNfChQu1Zs0avf7668rIyLA7nJg7efKkpk2bphUrVqh///52h+MYHo9H2dnZeuGFFzR69GhNnTpVjzzyiJYvX253aLbYtGmTnn76af3617/W9u3b9dprr2ndunV64okn7A4NcLxk72ck+ppA6Gf80c8gnpSVlSklJSXko2Oy5NChQ5o0aZJuvfVWzZo1y6bIIxfJZwYSyZw5c1RfX681a9bYHYrj2F5J1r9/f6WlpamxsdFve2Njo3JzcwMek5uba2r/eBJJe3gtWrRICxcu1Hvvvacrr7zSyjBjxmx77N27VwcOHNDkyZN92zwejySpR48e2r17t4YOHWpt0BaL5BrJy8tTz549lZaW5tt22WWXqaGhQa2trUpPT7c0ZitF0h6PPvqopk2bpp/97GeSpCuuuELNzc26++679cgjjyg1Nbn+fhDsOzUzMzMh/rpPP+OPfqYz+hp/9DP+6Ge6L9H7mXj34IMPasaMGSH3GTJkiO/fX375pSZOnKhx48bphRdesDg6a5j9zImsO/8vQHyaO3eu3nnnHX3wwQe68MIL7Q7HcWzvodPT0zV69GjV1NT4tnk8HtXU1KioqCjgMUVFRX77S9KGDRuC7h9PImkPSXr22Wf1xBNPqLq6WmPGjIlFqDFhtj2GDRumTz/9VHV1db7Hj370I02cOFF1dXXKz8+PZfiWiOQaGT9+vPbs2eO7iZOkzz77THl5eXF94yJF1h6nTp3qdIPivbEzDMO6YB0qkb9TJfqZjuhnOqOv8Uc/449+pvsS+Ts1EQwYMEDDhg0L+fD+Hh86dEgTJkzQ6NGjtWrVqrhN+Jr5zIku0v8XIP4YhqG5c+fq9ddf18aNGzV48GC7Q3ImW5cN+Js1a9YYLpfLWL16tbFjxw7j7rvvNvr27Ws0NDQYhmEY06ZNM8rKynz7f/jhh0aPHj2MRYsWGTt37jQqKiqMnj17Gp9++qldHyGqzLbHwoULjfT0dOMPf/iDcfjwYd/j5MmTdn2EqDLbHh0l2opjhmG+TQ4ePGj06dPHmDt3rrF7927jnXfeMbKzs40nn3zSro8QVWbbo6KiwujTp4/x29/+1ti3b5/x3//938bQoUONH//4x3Z9hKg6efKk8cknnxiffPKJIclYvHix8cknnxiff/65YRiGUVZWZkybNs23/759+4zevXsb//7v/27s3LnTWLp0qZGWlmZUV1fb9RGijn7GH/1MZ/Q1/uhn/NHP+KOfSU5/+ctfjEsuucT4wQ9+YPzlL3/x6w8S2eeff2588sknRmVlpXHeeef5rv1k6gMTUVffY4lo9uzZRlZWlrFp0ya/399Tp07ZHZqjOCJJZhiG8dxzzxkXXXSRkZ6ebowdO9b4+OOPfT+7/vrrjenTp/vt/7vf/c649NJLjfT0dOPyyy831q1bF+OIrWWmPS6++GJDUqdHRUVF7AO3iNnro71Eu3HxMtsmH330kVFYWGi4XC5jyJAhxlNPPWWcPXs2xlFbx0x7nDlzxnjssceMoUOHGhkZGUZ+fr5x7733Gn/9619jH7gF3n///YDfCd42mD59unH99dd3OmbUqFFGenq6MWTIEGPVqlUxj9tq9DP+6Gc6o6/xRz/jj37mW/QzyWnVqlUBz7tD6i4sM3369ICf+f3337c7tKgK9R2XiLr6HktEwX5/+T72l2IYSVjzDQAAAAAAALQTn4PIAQAAAAAAgCgiSQYAAAAAAICkR5IMAAAAAAAASY8kGQAAAAAAAJIeSTIAAAAAAAAkPZJkAAAAAAAASHokyQAAAAAAAJD0SJIBAAAAAAAg6ZEkAwAAAAAAQNIjSQYAAAAAAICkR5IMAAAAAAAASY8kGQAAAAAAAJLe/w9yG0SzfWAMRgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "axes[0,1].plot(x, y, 'o')\n", "axes[1,2].scatter(x, y, marker='+')\n", @@ -1326,9 +2131,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 48, "id": "80e18950", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:05.188103Z", + "iopub.status.busy": "2023-07-25T23:59:05.187975Z", + "iopub.status.idle": "2023-07-25T23:59:06.284103Z", + "shell.execute_reply": "2023-07-25T23:59:06.283751Z" + }, "lines_to_next_cell": 2 }, "outputs": [], @@ -1347,10 +2158,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 49, "id": "fe8c404d", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.286372Z", + "iopub.status.busy": "2023-07-25T23:59:06.286067Z", + "iopub.status.idle": "2023-07-25T23:59:06.544075Z", + "shell.execute_reply": "2023-07-25T23:59:06.543737Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABMkAAAGyCAYAAAD+jZMxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB1YElEQVR4nO39e3hU5b3//7+SQCZQSBAhBzDKwVZKUVAoaVAr2miofqn8+tktxVaQWtwiuNXYFqJIGjwElbLpZSlUCuLnUgttL8/QWIyyrW0sHw7ZW8qhGwiFIgmnmsEgCST37w86Y4bMJLMms2atmXk+rmuui1lZh/e6Z2Xu3G/uQ4oxxggAAAAAAABIYqlOBwAAAAAAAAA4jSQZAAAAAAAAkh5JMgAAAAAAACQ9kmQAAAAAAABIeiTJAAAAAAAAkPRIkgEAAAAAACDpkSQDAAAAAABA0iNJBgAAAAAAgKRHkgwAAAAAAABJjyQZAAAAAAAAkp7lJNl7772niRMnasCAAUpJSdGrr77a6TEbN27UVVddJY/Ho0svvVSrV6+OIFQAAAAA6BraMwCAUCwnyRobGzVy5EgtXbo0rP1ra2t1yy236Prrr1dNTY3uv/9+/eAHP9Bbb71lOVgAAAAA6AraMwCAUFKMMSbig1NS9Morr2jSpEkh95kzZ47WrVun7du3+7d95zvf0ccff6zKyspILw0AAAAAXUJ7BgDQVje7L1BdXa2ioqKAbcXFxbr//vtDHtPU1KSmpib/+9bWVp04cUIXXnihUlJS7AoVAJKGMUYnT57UgAEDlJrK9JStra366KOP1Lt3b+oZAIiCRKpnaM8AgPvYVc/YniSrq6tTTk5OwLacnBx5vV59+umn6tGjR7tjKioqVF5ebndoAJD0Dh48qIsuusjpMBz30UcfKT8/3+kwACDhJEI9Q3sGANwr2vWM7UmySJSWlqqkpMT/vqGhQRdffLEOHjyozMxMByMDgMTg9XqVn5+v3r17Ox2KK/jKgXoGAKIj2esZ2jMAYC+76hnbk2S5ubmqr68P2FZfX6/MzMyg/+siSR6PRx6Pp932zMxMKhUAiCKGfJzjKwfqGQCIrkSoZ2jPAIB7RbuesT1JVlhYqPXr1wds27BhgwoLC+2+NAAAcLGWVqNNtSd05ORpZffO0NjBfZWWGv8NagCJhfYMACQPy0myTz75RHv27PG/r62tVU1Njfr27auLL75YpaWlOnTokP7v//2/kqS7775bP//5z/XjH/9Y3//+9/XOO+/oN7/5jdatWxe9uwAAAHGlcvthlb+xQ4cbTvu35WVlqGzicE0YkedgZAASHe0ZAEAolpcA2Lx5s6688kpdeeWVkqSSkhJdeeWVmj9/viTp8OHDOnDggH//wYMHa926ddqwYYNGjhypn/70p/rVr36l4uLiKN0CAACIJ5XbD2vmC1sDEmSSVNdwWjNf2KrK7YcdigxAMqA9AwAIJcUYY5wOojNer1dZWVlqaGhgDD8ARAHfq4Eoj9hpaTW65sl32iXIfFIk5WZl6P05NzD0EohjfK8GojwAILrs+l613JMMAAAgUptqT4RMkEmSkXS44bQ21Z6IXVAAAACASJIBAIAYOnIydIIskv0AAACAaCFJBgAAYia7d0ZU9wMAAACihSQZAACImbGD+yovK0OhZhtL0blVLscO7hvLsAAAAACSZAAAIHbSUlNUNnG4JLVLlPnel00czqT9AAAAiDmSZAAAIKYmjMjTsu9dpdyswCGVuVkZWva9qzRhRJ5DkQEAACCZdXM6AAAAkHwmjMjTjcNztan2hI6cPK3s3ueGWNKDDAitpdXwOwMAgI1IkgEAAEekpaaocOiFTocBxIXK7YdV/sYOHW74bOXXvKwMlU0cTu9LAACihOGWAAAAgItVbj+smS9sDUiQSVJdw2nNfGGrKrcfdigyAAASC0kyAAAAwKVaWo3K39ghE+Rnvm3lb+xQS2uwPQAAgBUkyQAAAACX2lR7ol0PsraMpMMNp7Wp9kTsggIAIEGRJAMAAABc6sjJ0AmySPYDAAChkSQDAAAAXCq7d0ZU9wMAAKGRJAMAxL2Kigp9+ctfVu/evZWdna1JkyZp9+7dTocFAF02dnBf5WVlKCXEz1N0bpXLsYP7xjIsAAASEkkyAEDc+6//+i/NmjVLH3zwgTZs2KAzZ87opptuUmNjo9OhAUCXpKWmqGzicElqlyjzvS+bOFxpqaHSaAAAIFzdnA4AAICuqqysDHi/evVqZWdna8uWLfrqV7/qUFQAEB0TRuRp2feuUvkbOwIm8c/NylDZxOGaMCLPwegAAEgcJMkAAAmnoaFBktS3b/DhR01NTWpqavK/93q9MYkLACI1YUSebhyeq021J3Tk5Gll9z43xJIeZAAARA9JMgBAQmltbdX999+vq6++WiNGjAi6T0VFhcrLy2McGQB0TVpqigqHXuh0GAAAJCzmJAMAJJRZs2Zp+/btWrNmTch9SktL1dDQ4H8dPHgwhhECAAAAcCN6kgEAEsbs2bP15ptv6r333tNFF10Ucj+PxyOPxxPDyAAAAAC4HUkyAEDcM8bo3nvv1SuvvKKNGzdq8ODBTocEAAAAIM6QJAMAxL1Zs2bppZde0muvvabevXurrq5OkpSVlaUePXo4HB0AAACAeMCcZACAuLds2TI1NDRo/PjxysvL87/Wrl3rdGgAAAAA4gQ9yQAAcc8Y48h1W1qNNtWe0JGTp5XdO0NjB/dVWmqKI7EAAAAA6JqIepItXbpUgwYNUkZGhgoKCrRp06YO91+yZIkuu+wy9ejRQ/n5+XrggQd0+vTpiAIGAMANKrcf1jVPvqMpKz7QfWtqNGXFB7rmyXdUuf2w06EBADpBewYAEIzlJNnatWtVUlKisrIybd26VSNHjlRxcbGOHDkSdP+XXnpJc+fOVVlZmXbu3KmVK1dq7dq1euihh7ocPAAATqjcflgzX9iqww2BDaS6htOa+cJWEmUOa2k1qt57XK/VHFL13uNqaXWmpyEAd6I9AwAIJcVYHKNSUFCgL3/5y/r5z38uSWptbVV+fr7uvfdezZ07t93+s2fP1s6dO1VVVeXf9uCDD+ovf/mL3n///bCu6fV6lZWVpYaGBmVmZloJFwAQBN+rgayUR0ur0TVPvtMuQeaTIik3K0Pvz7mBoZcOqNx+WOVv7Aj4fPKyMlQ2cbgmjMhzMDJEgiHN8cvN9QztGQCIf3Z9r1rqSdbc3KwtW7aoqKjosxOkpqqoqEjV1dVBjxk3bpy2bNni78K8b98+rV+/XjfffHPI6zQ1Ncnr9Qa8AABwg021J0ImyCTJSDrccFqbak/ELihIoodfomFIM+xAewYA0BFLSbJjx46ppaVFOTk5AdtzcnJUV1cX9JjbbrtNCxYs0DXXXKPu3btr6NChGj9+fIfdkysqKpSVleV/5efnWwkTAADbHDkZ3hw04e6H6GhpNSp/Y4eCdY/3bSt/YwdDL+MECU/YhfYMAKAjEU3cb8XGjRv1xBNP6Be/+IW2bt2ql19+WevWrdOjjz4a8pjS0lI1NDT4XwcPHrQ7TAAAwpLdOyOq+yE66OGXOEh4wm1ozwBA8uhmZed+/fopLS1N9fX1Advr6+uVm5sb9JhHHnlEt99+u37wgx9Iki6//HI1Njbqrrvu0sMPP6zU1PZ5Oo/HI4/HYyU0AABiYuzgvsrLylBdw+mgjXjfnGRjB/eNdWhJjR5+icNKwrNw6IWxCwwJgfYMAKAjlnqSpaena/To0QGTVra2tqqqqkqFhYVBjzl16lS7iiMtLU2SZHHNAAAAHJeWmqKyicMlnUuIteV7XzZxOJOLxxg9/BIHCU/YifYMAKAjlodblpSUaMWKFXr++ee1c+dOzZw5U42NjZo+fbokaerUqSotLfXvP3HiRC1btkxr1qxRbW2tNmzYoEceeUQTJ070Vy4AAMSTCSPytOx7Vyk3KzDhkpuVoWXfu4pVFB3g6+EXKjWZonOrXNLDz/1IeMJutGcAAKFYGm4pSZMnT9bRo0c1f/581dXVadSoUaqsrPRPfnngwIGA/2mZN2+eUlJSNG/ePB06dEj9+/fXxIkT9fjjj0fvLgAAiLEJI/J04/Bcbao9oSMnTyu797kEDD3InOHr4Tfzha1KkQKGwtLDL74wpBl2oz0DAAglxcRBH2Gv16usrCw1NDQoMzPT6XAAIO7xvRqI8kgcldsPq/yNHQFzWuVlZahs4nB6+MUR3+qWUvCEJz023Y/v1UCUBwBEl13fq5Z7kgEAALgVPfwSg29I8/kJz1wSngAAwEYkyQAAQEJJS01h1cMEQMITAADEGkkyAAAAuBIJTwAAEEuWV7cEAAAAAAAAEg1JMgAAAAAAACQ9kmQAAAAAAABIeiTJAAAAAAAAkPRIkgEAAAAAACDpsbolAAAAYJOWVqNNtSd05ORpZffO0NjBfZWWmuJ0WAAAIAiSZAAAQBKNeSDaKrcfVvkbO3S44bR/W15WhsomDteEEXkORgYAAIIhSQYAABKmMU+iD25Ruf2wZr6wVea87XUNpzXzha1a9r2r4up3CwCAZECSDACAJJcojflESfQh/rW0GpW/saPd75QkGUkpksrf2KEbh+eSxAUAwEWYuB8AgCTWWWNeOteYb2kNtod7+BJ9bRNk0meJvsrthx2KDMloU+2Jds9iW0bS4YbT2lR7InZBAQCATpEkAwDEvffee08TJ07UgAEDlJKSoldffdXpkOJGIjTmEyXRh8Rx5GTo36lI9gMAALFBkgwAEPcaGxs1cuRILV261OlQ4k4iNOYTIdGHxJLdOyOq+wEAgNhgTjIAQNz7+te/rq9//etOhxGXEqExnwiJPiSWsYP7Ki8rQ3UNp4P2cEyRlJt1bmEJAADgHvQkAwAknaamJnm93oBXsvI15kNNHZ6ic5Pfu7kxnwiJPiSWtNQUlU0cLkntfrd878smDmfSfgAAXIYkGQAg6VRUVCgrK8v/ys/PdzokxyRCYz4REn3xoqXVqHrvcb1Wc0jVe49HdZ43O8/thAkj8rTse1cpNyswOZublRE3K8YCAJBsGG4JAEg6paWlKikp8b/3er1JnSjzNebL39gRMLdXblaGyiYOd31j3pfom/nCVqVIAcPb4iXRFw8qtx9u94zkRekZsfPcTpowIk83Ds/VptoTOnLytLJ7n0vWRvostrSaqJ0LAAC0R5IMAJB0PB6PPB6P02G4SrQb87EW74m+YNyUEKncflgzX9jabn6tuobTmvnC1i71jLLz3G6QlpqiwqEXdvk8iZpIBADATUiSAQAASdFrzDsl3hN9bcU6IdJRQq6l1aj8jR1BJ6A3Otdbr/yNHbpxeK7lsrbz3Ikk0ROJAAC4BUkyAEDc++STT7Rnzx7/+9raWtXU1Khv3766+OKLHYzMvZzupWTX9eM90SfFPiHSWUJuU+2JgJ+dz0g63HBam2pPWC57O8+dKEgkAgAQOyTJAABxb/Pmzbr++uv9733zjU2bNk2rV692KCr3cnrYltPXd7NYJ0TCScg1nW0N61xHToZOdnX1mEjOnShIJAIAEDusbgkAiHvjx4+XMabdiwRZe76kyPmNbl9SpHL74YS+vttZSYh0VWcJOelcQq7f58Kbvy+7d0bnO0V4TCTnThQkEgEAiJ2IkmRLly7VoEGDlJGRoYKCAm3atKnD/T/++GPNmjVLeXl58ng8+sIXvqD169dHFDAAAIhMuEmRltZge8T/9eNBLBMi4SbklHKup1+ofmspOvfzsYP7Wo5h7OC+tp07Glpajar3HtdrNYdUvfe4I88miUR70J4BAARjOUm2du1alZSUqKysTFu3btXIkSNVXFysI0eOBN2/ublZN954o/bv36/f/e532r17t1asWKGBAwd2OXgAABC+WPZScsP13ZDgsCqWCZFwE23HPmlS2cThkhQ0mWUk3Tzi3IIJVss4LTUl5Ll978smDndkrq3K7Yd1zZPvaMqKD3TfmhpNWfGBrnnynZj3dnR7IjEe0Z4BAIRiOUm2ePFizZgxQ9OnT9fw4cO1fPly9ezZU6tWrQq6/6pVq3TixAm9+uqruvrqqzVo0CBdd911GjlyZJeDBwAA4XN62FYsr++WBIdVsUyIWEnITRiRp2Xfu0q5WYHH+HJXK/+0P+IyDnXu3KwMx1ZtdNOwYDcnEuMV7RkAQCiWkmTNzc3asmWLioqKPjtBaqqKiopUXV0d9JjXX39dhYWFmjVrlnJycjRixAg98cQTamlpCXmdpqYmeb3egBcAAOgap4dtxer6bkpwWBXLhIjVhNyEEXl6f84N+vWMr+j7Vw+SJJ3fcSzSMm577p99Z5R+PeMren/ODY4kyNw4LNiNicR4RXsGANARS0myY8eOqaWlRTk5OQHbc3JyVFdXF/SYffv26Xe/+51aWlq0fv16PfLII/rpT3+qxx57LOR1KioqlJWV5X/l5+dbCRMAAATh9LCtWFzfjQkOq2KVEIkkIZeWmqKxg/vq99uD/93XlTJOS01R4dALdeuogSoceqFjPaOcHpYcTEurUe+M7vrmlQM1adQA3TN+qF78QYFjicR4RnsGANCRbnZfoLW1VdnZ2Xr22WeVlpam0aNH69ChQ3r66adVVlYW9JjS0lKVlJT433u9XioWAAC6yJcUmfnCVqVIAYmkWAzbisX1rSQ4CodeGPF17DZhRJ5uHH5unq8jJ08ru/e55GG0PxtfQq78jR0B5ZablaGyicODJmASpYxDcXpY8vkqtx/W3Jc/1MenzgRsf2nTAS385uUkyWKA9gwAJA9LSbJ+/fopLS1N9fX1Advr6+uVm5sb9Ji8vDx1795daWlp/m1f/OIXVVdXp+bmZqWnp7c7xuPxyOMJb7lxAAAQvkiSIvF0fbclOLrC17PKblYTcolUxsE4NSy5pdW0+ww27KjT3S9sDbr/x6fO6O4Xtmo5wy0toT0DAOiIpSRZenq6Ro8eraqqKk2aNEnSuf9Zqaqq0uzZs4Mec/XVV+ull15Sa2urUlPPje7829/+pry8vKAVCgAAsFeseik5cX2n512LV1YScolexr5hwXUNp4MO203RuaRuNIclV24/3D5xnOnR6bOtnR77k9f/qhuH5zJxf5hozwAAOmJ5dcuSkhKtWLFCzz//vHbu3KmZM2eqsbFR06dPlyRNnTpVpaWl/v1nzpypEydO6L777tPf/vY3rVu3Tk888YRmzZoVvbsAAACWOD3/k13Xd3retWSQ6GUc69UkQy404W1qN8QymDpvU0znR0sEtGcAAKFYnpNs8uTJOnr0qObPn6+6ujqNGjVKlZWV/skvDxw44P8fFknKz8/XW2+9pQceeEBXXHGFBg4cqPvuu09z5syJ3l0AABDngg21omeIdU7Pu5YMkqGMYzUsuaOFJqyI16GtTqE9AwAIJcUY497lnf7F6/UqKytLDQ0NyszMdDocAIh7fK8Gcro8gg21yovRHGGJijK1XzKUsd3J6+q9xzVlxQddPs+vZ3zFdYskOP296jaUBwBEl13fq7avbgkAAELzDbU6/3+s6hpOa+YLW7WMSbkjEq15z+jhF5rTc9vFgt2LJ0SjB1hupiduh7YCAOA2JMkAAHBIR0OtjM4NXSt/YweTckeoqwmOZOgp1VWxWoEzUUVjcYOffONLfD8AABAllifuBwAA0bGp9kS7ybrbMpION5xmUm4HhJxM/V89/Cq3H3YosvjX0mpUvfe4Xqs5pOq9x9XS6vqZP2wTziIIfXp2V5+e3dv9rE/P7lpOT1MAAKKKnmQAADgk3KFWTModW/Twsw+98wKFswjCwm9erhuH5+qDfcdVvfe4JKPCIf30FQdWpQUAINHRkwwAAIeEO9QqGkOyED56+NmD3nnB+VbSzM0K/D3Pzcrwz0mYlpqiqy/tpx8WX6YfFg/T1Z/vR4IMAAAb0JMMAACH+IZa1TWcDtprKUXnGspMym2v8yfnr2v4NKzj6OEXPnrndSwZFkEAACAekCQDAMAh4Qy1Kps4nIayjYIN/+v7ufSwjo1lD794X2XTSu8830IA8X7PVoWzCIKvTOoaPtWJxmb17eVRbmbilw0AALFCkgwAAIui2Xj3DbU6P1GTG+fzNMVDgsM3/O/83k3/bGzu8LhY9/BLhHm8rM6/Fw/3HOtnPFiZ+LitbAAAiFckyQAAsMCOxvv5Q6369fJIRjrW2KTqvcddmWDqSLwkODoa/hdKrHv4hUrk+ebxWhYnqxtamX8vHu451s94qDLxOeyisgEAIJ4xcT8AAGGyc+Jx31ArT7dU/fC3/63vrvyL7ltToykrPtA1T74TN5Oax8vk7J0N//Pp+7nuAe/bTqZut3ASeeVv7FBLa0dpPXfwzb8XKq2YonNJptGXXOD6e471M97Rc3A+p8sGAIB4R5IMAIAwxCJhES8JplDiKakT7vC/R/6/L+nXM76in31nlH494yt6f84NMeupk0irbPrm35PULlHWtnfelr//0xX33NJqVL33uF6rOaTqvcf9z6wTz3i4Cd14eh4AAHArhlsCABCGSCYetyIRVv+zu4yiKdzhf7mZGY7FanUeL7cLZ/6912oOhXUuO++5o6GUWT3SY/6MW73XeHkeAABwI5JkAICEsHTpUj399NOqq6vTyJEj9cwzz2js2LFRO7/dCYt4SjCFEk9JHd/wv7qG00ETk7GenD8YK/N4OcnKBPbnz793/v5O33Nn86FNv3pQWOeJ5jNu9V6dfh4AAIhnJMkAAHFv7dq1Kikp0fLly1VQUKAlS5aouLhYu3fvVnZ2dlSuYXfjPZ4STKE4neCwwjf8b+YLW5WiwMn6Yz05fyjxkMiLZAJ73/x7wTh5z+H05nyt5qOwzhXNZ9xXJp0NuXTD8wAAQLxjTjIAQNxbvHixZsyYoenTp2v48OFavny5evbsqVWrVkXtGuFOPB5pAzWeEkyh2F1G0eYb/pebFVimsZycvyPhzuPlVCLPjjn0nLzncHpzHm9sVt/PdY/pM56WmqJvjAzvWXQ6sQsAQLwjSQYAiGvNzc3asmWLioqK/NtSU1NVVFSk6urqoMc0NTXJ6/UGvDpjd+M93hJMwbg9qRPMhBF5en/ODY5Nzt8Ztyby7JzA3ql7DreX5v9v1EBJsXvGW1qNXv/vjhOOqSnS0tucT+wCABDvGG4JAIhrx44dU0tLi3JycgK25+TkaNeuXUGPqaioUHl5ueVrhTPxeKTiYfhfOOwsI7t0NPzPDTqbx8sOnc0zZvccek7cc7i9NIuG5+rLg/vG7BkPZ3XLViNd8Ln0qF4XAIBkRJIMAJB0SktLVVJS4n/v9XqVn58fsE+oJEG0G+++69R5T+vEJ026Y9wleu2/P9KJxjP+fdycYArGiQRHootlIi+cecZiMYderJOXVuZDS0tNidkzngjzFQIAEC9IkgEA4lq/fv2Ulpam+vr6gO319fXKzc0NeozH45HH4wl5zs6SBNFqvAe7jk/fz6Vr0qgBunF4bswSTFZWKeyM23tnIbjOVnf0DXdMhDn0zme1N2esnvFELGsAANyKOckAAHEtPT1do0ePVlVVlX9ba2urqqqqVFhYaPl8dkxGbuU6Picam/Xcn/ar4dPmmCTIKrcf1jVPvqMpKz7QfWtqNGXFB7rmyXeidr9wPyvzjCXCHHrBuHEOuEQtawAA3IgkGQAg7pWUlGjFihV6/vnntXPnTs2cOVONjY2aPn26pfPYORl5uNc5/5rRuF5nYpUYhLtZmWcsHhdpCJfbFnNI5LIGAMBtSJIBAOLe5MmTtWjRIs2fP1+jRo1STU2NKisr203m35kt+/8ZdpKgK8KZiNsnGtfrSKwSg/GupdWoeu9xvVZzSNV7jydkeVid+8qNva6ixTeU8tZRA1U49ELHE1CRlHUyPLMAAEQbc5IBABLC7NmzNXv27C6d4+gnsZkg2+rxdk7IbfcqhYkgnInsE0Ekc1+xSEPsWCnrZHlmAQCINpJkAAD8S/9esZkg2+rxdk7Izcp5HQt3IvtEYGV1x7bidZGGaC5UESvhlHUyPbMAAERbRMMtly5dqkGDBikjI0MFBQXatGlTWMetWbNGKSkpmjRpUiSXBQDAVqMHXRCTCbI7m4i7Lbsn5GblvNCSbShqMs19lagLVSTbM9tVtGkAAOeznCRbu3atSkpKVFZWpq1bt2rkyJEqLi7WkSNHOjxu//79+uEPf6hrr7024mABALBTrJIEba/TkZQoXa8jrJwXmpWhqG7SlbmoEnmeMZ9EXqgiXp9ZJ9CmAQAEYzlJtnjxYs2YMUPTp0/X8OHDtXz5cvXs2VOrVq0KeUxLS4u++93vqry8XEOGDOlSwAAA2ClWSQLfdfKygvfQyotRUiKZeg9ZFY9DUaPRQ8ptqztGU6L3tIrHZ9YptGkAAMFYmpOsublZW7ZsUWlpqX9bamqqioqKVF1dHfK4BQsWKDs7W3feeaf++Mc/dnqdpqYmNTU1+d97vV4rYQIA0CWxmoy87XXqvKd14pMm9f1cunKzesR0fiRfwu78ib5zk3ii75ZWo2MnmzrfUe4ZihrNuajidZ6xziT6QhUMnw5PLNo0tGcAID5ZSpIdO3ZMLS0tysnJCdiek5OjXbt2BT3m/fff18qVK1VTUxP2dSoqKlReXm4lNAAAoipWSQK3JCNYpfAzwVYGDCbURPZO6KyHVIrO9ZC6cXhuUn6mPone0yrSxReSTSzaNLRnACA+RTRxf7hOnjyp22+/XStWrFC/fv3CPq60tFQNDQ3+18GDB22MEgAASJ8l7G4dNVCFQy9MymRKqPmqzue2oajMRRWeRO9pxfBpe0TSpqE9AwDxyVJPsn79+iktLU319fUB2+vr65Wbm9tu/71792r//v2aOHGif1tra+u5C3frpt27d2vo0KHtjvN4PPJ4PFZCAwAACa6l1dja062j3ljnc9tQ1ETvIRUtydDTiuHTnYtFm4b2DADEJ0tJsvT0dI0ePVpVVVX+JY9bW1tVVVWl2bNnt9t/2LBh+vDDDwO2zZs3TydPntTPfvYz5efnRx45AABIGsGGQOb9q9EfrWGinfXG8nnkli/qjqsHO94bp23SMN7mT3OKr6fVzBe2KkUKSJQlUk8rhk93jDYNACAUS0kySSopKdG0adM0ZswYjR07VkuWLFFjY6OmT58uSZo6daoGDhyoiooKZWRkaMSIEQHH9+nTR5LabQcAIJnZ3UsqnnU0If3dL2xVn57d9fGpM/7teRH2mAm3l1W/3h7HP5tgScPUFCnUooyJ0EMqWpKlp5Vb5jt0K9o0AIBgLCfJJk+erKNHj2r+/Pmqq6vTqFGjVFlZ6Z/48sCBA0pNtXWqMwAAEkpHvaQSpcEeqc4mpJcUkCCTIlvNUYqf+apCJQ07SpBJidFDKlroaQXaNACAYFKMMeFMveEor9errKwsNTQ0KDMz0+lwACDu8b0ayMnyCJXw8DXVrSR6otUbzU292qr3HteUFR9YPs7Xc+r9OTeEHXtLq9E1T77T6XxVVs4Zbb4YOxoWen6PMrsTrm56XuAe1DOBKA8AiC67vlct9yQDAADR0VkvqRRJ5W/s0I3DcztNOkSrN5rberVFOtF829Ucwx1yFg/zVYUzb1qrOTdvWr/eHtuTVm57XgAAALqCPsQAADiks4RH20RPR3y90c4/l2/YYeX2w2HFE63zRFNXhzZaTbL55qvKzQq8bm5WhuXhm3awMm/araMGqnDohbYmyNz2vAAAAHQFPckAAHBIuAmPjvaLVm+0aPZqi6axg/sqLysj5BDIzkSSZHPzfFVumTfNrc8LAABAV9CTDAAAh0Qj4RGt3mjROk+0+YZASp8NeQxHis4N+4t0NUffyoB298ayypc0DBVNV+87XG59XgAAALqCJBkAAA6JRsIjGr3RonkeO4QaAtmnZ3dJ7ZNnbpk/zA4dJQ1jed9ufl4AAAAixXBLAAAcEo2J4qM1/M4tw/hCCTUEcsOOunYTx+cm+MTxvqShk/cd7nOw/1ijzZHEP1YHBQDAPUiSAQDgoK4mPDqbsyvlX+fqbPhdtM5jJ98QyLbcPH+YnZy+77GD+yo3M0N13o57iv160wHNvuHzCf95RIrVQQEAcBeSZAAAOKwrCY9o9EaL5nmcECx5lgycvO+01BRNGXux/vPtv3W4X523SZtqTyTl59MZ3+qg5yelfauDumE1VQAAkg1zkgEA4AJdmSg+1JxduVkZlhra0ToPksOgfj3D2o95ydrrbHVQ6dzqoC2tkazpCgAAIkVPMgAAEkC0ht85PYwP8cPKPHbMuxXIyuqg9MIDACB2SJIBAJAgojX8LlmHL8KacOex+2djk6558p2EmXcrGgk/VgcFAMCdSJIBAADAsnDmsfvGyDzNemlbwsy7Fa2J9t2+miwAAMmKOckAAHHt8ccf17hx49SzZ0/16dPH6XCApNLRPHZLb7tKr//34YSZd8s30f75wyR9Cb/K7YfDPpevF16o/mcpOpd8c3I1WQAAkhE9yQAAca25uVnf+ta3VFhYqJUrVzodDpB0Qs1jl0jzbnU20X6KziX8bhyeG9NVaQEAQHSRJAMAxLXy8nJJ0urVq50NBEhiweaxS6R5t+xI+Pl64Z0/fDM3judrAwAg3pEkAwAknaamJjU1Nfnfe71eB6MBElMizbtlV8KP1WQBAHAXkmQAgKRTUVHh74EGwB7hrn7pxLxbVleotDPhx2qyAAC4BxP3AwBcZ+7cuUpJSenwtWvXrojPX1paqoaGBv/r4MGDUYwesK6l1ah673G9VnNI1XuPx81k9h3xzbslqd0E9U7Ou1W5/bCuefIdTVnxge5bU6MpKz7QNU++0+HE+0y0DwBAcqAnGQDAdR588EHdcccdHe4zZMiQiM/v8Xjk8XgiPh6Ipsrth9vNS5VncV4qqz2jYsVt8275Vqg8PwXpW6Fy2feuChoTE+0DAJAcSJIBAFynf//+6t+/v9NhALaLNGlz/jm6mmSzk1vm3erqCpVdTfi5NZEJAAA+Q5IMABDXDhw4oBMnTujAgQNqaWlRTU2NJOnSSy9Vr169nA0O6EBXkzZSdJJsseCGebeisUJlpAk/tycyAQDAOSTJAABxbf78+Xr++ef976+88kpJ0rvvvqvx48c7FBXQua4mbaKRZEsm0Vqh0mrCL14SmQAAgIn7AQBxbvXq1TLGtHuRIIPbdTVpYyXJBntXqAyls0SmdC6RmQgLNQAAkAhIkgEAADigq0mbaPWMShZOrFBJIhMAgPgSUZJs6dKlGjRokDIyMlRQUKBNmzaF3HfFihW69tprdcEFF+iCCy5QUVFRh/sDAAAkg64mbZzoGRXPfCtUSmpX5natUEki091o0wAAzmc5SbZ27VqVlJSorKxMW7du1ciRI1VcXKwjR44E3X/jxo2aMmWK3n33XVVXVys/P1833XSTDh061OXgAQAA4lVXkzZO9IyKd74VKnOzAhOHuVkZtswNRiLTvWjTAACCSTHGWJoEoaCgQF/+8pf185//XJLU2tqq/Px83XvvvZo7d26nx7e0tOiCCy7Qz3/+c02dOjWsa3q9XmVlZamhoUGZmZlWwgUABMH3aiDKA07qysqHvknhJQXMe+VLnDEpfHAtrcbyCpWRXueaJ99RXcPpoPOSpehcgu79OTck3OIKbv9ejXWbxu3lAQDxxq7vVUurWzY3N2vLli0qLS31b0tNTVVRUZGqq6vDOsepU6d05swZ9e0b+n81m5qa1NTU5H/v9XqthAkAABA3JozI043DcyNK2vh6Rp2fZMsNM8mWrKyuUNmV65RNHK6ZL2xVioInMqM9xBOdi0WbhvYMAMQnS0myY8eOqaWlRTk5OQHbc3JytGvXrrDOMWfOHA0YMEBFRUUh96moqFB5ebmV0AAAAOJWV5I2XUmywX4kMt0nFm0a2jMAEJ8sJcm6auHChVqzZo02btyojIzQcy+UlpaqpKTE/97r9So/Pz8WIQIAAMSdWPWMwmesDNkkkZlYwmnT0J4BgPhkKUnWr18/paWlqb6+PmB7fX29cnNzOzx20aJFWrhwod5++21dccUVHe7r8Xjk8XishAYAAADERCTzyJHIdI9YtGlozwBAfLK0umV6erpGjx6tqqoq/7bW1lZVVVWpsLAw5HFPPfWUHn30UVVWVmrMmDGRRwsAAAA4yLdYQtsEmSTVNZzWzBe2qnL7YYciQ7ho0wAAQrE83LKkpETTpk3TmDFjNHbsWC1ZskSNjY2aPn26JGnq1KkaOHCgKioqJElPPvmk5s+fr5deekmDBg1SXV2dJKlXr17q1atXFG8FAID4FqsV9wBEpqXVqPyNHUFXqjQ6Nxl/+Rs7dOPwXH53XY42DQAgGMtJssmTJ+vo0aOaP3++6urqNGrUKFVWVvonvjxw4IBSUz/roLZs2TI1Nzfr3/7t3wLOU1ZWpp/85Cddix4AgAQRyfAtALG1qfZEux5kbRlJhxtOa1PtCYZWuhxtGgBAMCnGmGD/GeYqXq9XWVlZamhoUGZmptPhAEDc43s1kNPl4Ru+dX6F7OuHsux7V5EoA1zgtZpDum9NTaf7/ew7o3TrqIH2B+RiTn+vug3lAQDRZdf3qqU5yQAAQHR1NnxLOjd8q6XV9f+nBSS87N6hV2ePZD8AAOAuJMkAAHCQleFbAJw1dnBf5WVlKNRsYyk6N0x67OC+sQwLAABECUkyAAAcdORk6ARZJPvBXVpajar3HtdrNYdUvfc4PQLjXFpqisomDpekdoky3/uyicOZtB8AgDhleeJ+AAAQPQzfSlwsxpCYJozI07LvXdXus83lswUAIO6RJAMAwEG+4Vt1DaeDzkuWonONb4ZvxZdQizHUNZzWzBe2shhDnJswIk83Ds/VptoTOnLytLJ7n/sdpQcZAADxjeGWAAA4iOFbiYfFGJJDWmqKCodeqFtHDVTh0Av5HQUAIAGQJAMAwGG+4Vu5WYFDKnOzMuhxFIdYjAEAACA+MdwSAAAXYPhW4mAxBgAAgPhEkgwAAJfwDd9CfGMxBgAAgPhEkgwAAKADLa3GUg8/FmMAAACITyTJAAAAQqjcfljlb+wImGMsLytDZROHh5wrzrcYw8wXtipFCkiUsRgDAACAezFxPwAgbu3fv1933nmnBg8erB49emjo0KEqKytTc3Oz06EhAVRuP6yZL2xtNwl/XcNpzXxhqyq3Hw55LIsxAAAAxB96kgEA4tauXbvU2tqqX/7yl7r00ku1fft2zZgxQ42NjVq0aJHT4SGOtbQalb+xI+hwSaNzPcLK39ihG4fnhuwRxmIMAAAA8YUkGQAgbk2YMEETJkzwvx8yZIh2796tZcuWkSRDl2yqPdGuB1lbRtLhhtPaVHuiw8UWWIwBAAAgfpAkAwAklIaGBvXty4To6JojJ0MnyCLZDwiH1UUiAABAdJEkAwAkjD179uiZZ57ptBdZU1OTmpqa/O+9Xq//3zRSIUnZvTM638nCfkBnIlkkAgAARBcT9wMAXGfu3LlKSUnp8LVr166AYw4dOqQJEyboW9/6lmbMmNHh+SsqKpSVleV/5efnS5I27KjTNU++oykrPtB9a2o0ZcUHuubJdzqcoB2JaezgvsrLylCo9GiKziUwxg6m1yK6riuLRAAAgOhJMcYEm5PWVbxer7KystTQ0KDMzEynwwGAuOf279WjR4/q+PHjHe4zZMgQpaenS5I++ugjjR8/Xl/5yle0evVqpaZ2/H9AwXqS5efn6+L7f6MUT8+AfX1JElYkTD6+xIWkgAn8eSYQTS2tRtc8+U7IOfBSdG5V1Pfn3BBXvVrdXs/EGuUBANFl1/cqwy0BAK7Tv39/9e/fP6x9Dx06pOuvv16jR4/Wc88912mCTJI8Ho88Hk+77b5VC4Nt62wlQySeCSPytOx7V7UbApfLEDhEUbQWiQAAAF1HkgwAELcOHTqk8ePH65JLLtGiRYt09OhR/89yc3Ojdh0aqclrwog83Tg8l3nqYBsWiQAAwD1IkgEA4taGDRu0Z88e7dmzRxdddFHAz+yYTYBGanJKS00hOQrbsEgEAADuwcT9AIC4dccdd8gYE/RlBxqpAKKNRSIAAHAPkmQAAPwLjVQAsZaWmqKyicMltf8O8r0vmzicIb4AAMQASTIAANqgkQog1nyLRORmBfZWzc3KYBVVAABiKKIk2dKlSzVo0CBlZGSooKBAmzZt6nD/3/72txo2bJgyMjJ0+eWXa/369REFCwCAnRZPHkkjFYAjJozI0/tzbtCvZ3xFP/vOKP16xlf0/pwb+O6xEW0aAMD5LCfJ1q5dq5KSEpWVlWnr1q0aOXKkiouLdeTIkaD7//nPf9aUKVN05513atu2bZo0aZImTZqk7du3dzl4AACi6cbhuTRSATjGt0jEraMGqnDohfRetRFtGgBAMCnG4uzGBQUF+vKXv6yf//znkqTW1lbl5+fr3nvv1dy5c9vtP3nyZDU2NurNN9/0b/vKV76iUaNGafny5WFd0+v1KisrSw0NDcrMzLQSLgAgCL5XA1EeABBdbv9ejXWbxu3lAQDxxq7v1W5Wdm5ubtaWLVtUWlrq35aamqqioiJVV1cHPaa6ulolJSUB24qLi/Xqq6+GvE5TU5Oampr87xsaGiSdKwQAQNf5vk/tWgUy3vjKgXoGAKLDzfVMLNo0tGcAwF521TOWkmTHjh1TS0uLcnJyArbn5ORo165dQY+pq6sLun9dXV3I61RUVKi8vLzd9vz8fCvhAgA6cfz4cWVlZTkdhuOOHz8uiXoGAKLNjfVMLNo0tGcAIDaiXc9YSpLFSmlpacD/1Hz88ce65JJLdODAAddVsk7wer3Kz8/XwYMH6a4tyiMYyiQQ5dFeQ0ODLr74YvXt29fpUFzBVw7xUM/Ey/McL3FKxGqXeIk1XuKU4ivWZK9naM90Lp6e51igPAJRHu1RJoHsqmcsJcn69euntLQ01dfXB2yvr69Xbm5u0GNyc3Mt7S9JHo9HHo+n3fasrCwehjYyMzMpjzYoj/Yok0CUR3upqREtcpxwfOUQT/VMvDzP8RKnRKx2iZdY4yVOKb5idWM9E4s2De2Z8MXT8xwLlEcgyqM9yiRQtOsZS2dLT0/X6NGjVVVV5d/W2tqqqqoqFRYWBj2msLAwYH9J2rBhQ8j9AQAAAMAutGkAAKFYHm5ZUlKiadOmacyYMRo7dqyWLFmixsZGTZ8+XZI0depUDRw4UBUVFZKk++67T9ddd51++tOf6pZbbtGaNWu0efNmPfvss9G9EwAAAAAIA20aAEAwlpNkkydP1tGjRzV//nzV1dVp1KhRqqys9E9keeDAgYDubuPGjdNLL72kefPm6aGHHtLnP/95vfrqqxoxYkTY1/R4PCorKwvaZTkZUR6BKI/2KJNAlEd7lEmgeCqPeIk1XuKUiNUu8RJrvMQpEWs0xbpN4/bycAJlEojyCER5tEeZBLKrPFKMG9dlBgAAAAAAAGLIfTNpAgAAAAAAADFGkgwAAAAAAABJjyQZAAAAAAAAkh5JMgAAAAAAACQ91yTJli5dqkGDBikjI0MFBQXatGlTh/v/9re/1bBhw5SRkaHLL79c69evj1GksWGlPFasWKFrr71WF1xwgS644AIVFRV1Wn7xxurz4bNmzRqlpKRo0qRJ9gboAKtl8vHHH2vWrFnKy8uTx+PRF77whYT6vbFaHkuWLNFll12mHj16KD8/Xw888IBOnz4do2jt9d5772nixIkaMGCAUlJS9Oqrr3Z6zMaNG3XVVVfJ4/Ho0ksv1erVq22PM5Yef/xxjRs3Tj179lSfPn3COsYYo/nz5ysvL089evRQUVGR/vd//zdgnxMnTui73/2uMjMz1adPH91555365JNPuhSr1XPu379fKSkpQV+//e1v/fsF+/maNWtiGqskjR8/vl0cd999d8A+Bw4c0C233KKePXsqOztbP/rRj3T27NmYxnrixAnde++9/u+Jiy++WP/xH/+hhoaGgP2iUa7R/hsonGc3EtH+2+SOO+5oV3YTJkzocpxWY129enW7ODIyMgL2satMrcYa7PcnJSVFt9xyi38fO8rVrnol0r/v3Ir2THu0aQLRpglEe6Y92jSfcaxNY1xgzZo1Jj093axatcr89a9/NTNmzDB9+vQx9fX1Qff/05/+ZNLS0sxTTz1lduzYYebNm2e6d+9uPvzwwxhHbg+r5XHbbbeZpUuXmm3btpmdO3eaO+64w2RlZZl//OMfMY7cHlbLw6e2ttYMHDjQXHvttebWW2+NTbAxYrVMmpqazJgxY8zNN99s3n//fVNbW2s2btxoampqYhy5PayWx4svvmg8Ho958cUXTW1trXnrrbdMXl6eeeCBB2IcuT3Wr19vHn74YfPyyy8bSeaVV17pcP99+/aZnj17mpKSErNjxw7zzDPPmLS0NFNZWRmbgGNg/vz5ZvHixaakpMRkZWWFdczChQtNVlaWefXVV81///d/m2984xtm8ODB5tNPP/XvM2HCBDNy5EjzwQcfmD/+8Y/m0ksvNVOmTOlSrFbPefbsWXP48OGAV3l5uenVq5c5efKkfz9J5rnnngvYr+29xCJWY4y57rrrzIwZMwLiaGhoCLifESNGmKKiIrNt2zazfv16069fP1NaWhrTWD/88EPzzW9+07z++utmz549pqqqynz+8583/+f//J+A/bparnb8DRTOs2uVHX+bTJs2zUyYMCGg7E6cOBFxjJHG+txzz5nMzMyAOOrq6gL2saNMI4n1+PHjAXFu377dpKWlmeeee86/jx3lake9Eunfd25Fe6Y92jSBaNMEoj3THm2aQE61aVyRJBs7dqyZNWuW/31LS4sZMGCAqaioCLr/t7/9bXPLLbcEbCsoKDD//u//bmucsWK1PM539uxZ07t3b/P888/bFWJMRVIeZ8+eNePGjTO/+tWvzLRp0xKqQjHGepksW7bMDBkyxDQ3N8cqxJiyWh6zZs0yN9xwQ8C2kpISc/XVV9sapxPCqVB+/OMfmy996UsB2yZPnmyKi4ttjMwZzz33XFhJstbWVpObm2uefvpp/7aPP/7YeDwe8+tf/9oYY8yOHTuMJPP//t//8+/z+9//3qSkpJhDhw5FFF+0zjlq1Cjz/e9/P2BbOM+CFZHGet1115n77rsv5M/Xr19vUlNTA5IUy5YtM5mZmaapqSmmsZ7vN7/5jUlPTzdnzpzxb+tquUb7b6Bwnt1YxHm+YH+b2FU/W421s+8Fu8o0kljP95//+Z+md+/e5pNPPvFvs/vvnmjVK129d7ehPdMebZpAtGkC0Z5pjzZNaLFs0zg+3LK5uVlbtmxRUVGRf1tqaqqKiopUXV0d9Jjq6uqA/SWpuLg45P7xJJLyON+pU6d05swZ9e3b164wYybS8liwYIGys7N15513xiLMmIqkTF5//XUVFhZq1qxZysnJ0YgRI/TEE0+opaUlVmHbJpLyGDdunLZs2eLvvrxv3z6tX79eN998c0xidptE/k6NVG1trerq6gLKJSsrSwUFBf5yqa6uVp8+fTRmzBj/PkVFRUpNTdVf/vKXiK4bjXNu2bJFNTU1Qb//Zs2apX79+mns2LFatWqVzv3NEZmuxPriiy+qX79+GjFihEpLS3Xq1KmA815++eXKycnxbysuLpbX69Vf//rXmMfaVkNDgzIzM9WtW7eA7ZGWqx1/A4Xz7Fpl598mGzduVHZ2ti677DLNnDlTx48fjyjGrsb6ySef6JJLLlF+fr5uvfXWgGfNjjLtSqxtrVy5Ut/5znf0uc99LmB7tMvVqs6e02jcu5vQnmmPNk0g2jSBaM+0R5um66L1vdqt813sdezYMbW0tAT8MSxJOTk52rVrV9Bj6urqgu5fV1dnW5yxEkl5nG/OnDkaMGBAuwckHkVSHu+//75WrlypmpqaGEQYe5GUyb59+/TOO+/ou9/9rtavX689e/bonnvu0ZkzZ1RWVhaLsG0TSXncdtttOnbsmK655hoZY3T27Fndfffdeuihh2IRsuuE+k71er369NNP1aNHD4cic46vPumorqmrq1N2dnbAz7t166a+fftGXB9F45wrV67UF7/4RY0bNy5g+4IFC3TDDTeoZ8+e+sMf/qB77rlHn3zyif7jP/4jprHedtttuuSSSzRgwAD9z//8j+bMmaPdu3fr5Zdf9p83WLn7fhbLWNs6duyYHn30Ud11110B27tSrnb8DRTOs2uVXX+bTJgwQd/85jc1ePBg7d27Vw899JC+/vWvq7q6WmlpaTGL9bLLLtOqVat0xRVXqKGhQYsWLdK4ceP017/+VRdddJEtZRpprG1t2rRJ27dv18qVKwO221GuVnVWr/zzn//s8jPlJrRn2qNNE4g2TSDaM+3Rpum6aLVpHE+SIboWLlyoNWvWaOPGje0mnU0GJ0+e1O23364VK1aoX79+TofjGq2trcrOztazzz6rtLQ0jR49WocOHdLTTz+dEJWKVRs3btQTTzyhX/ziFyooKNCePXt033336dFHH9UjjzzidHgI09y5c/Xkk092uM/OnTs1bNiwGEUUWrixdtWnn36ql156Kehz3HbblVdeqcbGRj399NPtkjl2x9o2yXT55ZcrLy9PX/va17R3714NHTrU0rliVa5er1e33HKLhg8frp/85CcBPwu3XJNZqL9NvvOd7/j/ffnll+uKK67Q0KFDtXHjRn3ta1+LWXyFhYUqLCz0vx83bpy++MUv6pe//KUeffTRmMVh1cqVK3X55Zdr7NixAdvdUq5AV9CmoU1zPtoz7dGmsYfjSbJ+/fopLS1N9fX1Advr6+uVm5sb9Jjc3FxL+8eTSMrDZ9GiRVq4cKHefvttXXHFFXaGGTNWy2Pv3r3av3+/Jk6c6N/W2toq6Vyvgd27d1tuhLlNJM9IXl6eunfvHvA/yF/84hdVV1en5uZmpaen2xqznSIpj0ceeUS33367fvCDH0g614hobGzUXXfdpYcfflipqY6PRI+pUN+pmZmZru5F9uCDD+qOO+7ocJ8hQ4ZEdG7fs1NfX6+8vDz/9vr6eo0aNcq/z5EjRwKOO3v2rE6cONHu2Qs3VivnDOZ3v/udTp06palTp3a6b0FBgR599FE1NTXJ4/HEPNa2cUjSnj17NHToUOXm5rZbycn3fDpRridPntSECRPUu3dvvfLKK+revXun9xOsXIOx42+gcJ5dq2L1t8mQIUPUr18/7dmzJ+JkTldi9enevbuuvPJK7dmzR5I9ZdrVWBsbG7VmzRotWLCg0+tEo1yt6qxeSUtL6/Ln5Ca0Z9qjTROINk0g2jPt0abpumi1aRwvtfT0dI0ePVpVVVX+ba2traqqqgr4X722CgsLA/aXpA0bNoTcP55EUh6S9NRTT+nRRx9VZWVlwJwr8c5qeQwbNkwffvihampq/K9vfOMbuv7661VTU6P8/PxYhm+LSJ6Rq6++Wnv27PFXrpL0t7/9TXl5eXFfoURSHqdOnWpXafgq3K7M0RSv4vU7tX///ho2bFiHr0if78GDBys3NzegXLxer/7yl7/4y6WwsFAff/yxtmzZ4t/nnXfeUWtrqz/xYzVWK+cMZuXKlfrGN76h/v37d7pvTU2NLrjggnaJnFjF2jYOSf7kQ2FhoT788MOApNaGDRuUmZmp4cOHxzRWr9erm266Senp6Xr99dfD6s0QqlyDseNvoHCeXati9bfJP/7xDx0/fjwgERWrWNtqaWnRhx9+6I/DjjLtaqy//e1v1dTUpO9973udXica5WpVZ89pND4nN6E90x5tmkC0aQLRnmmPNk3XRe171dI0/zZZs2aN8Xg8ZvXq1WbHjh3mrrvuMn369PGvbHX77bebuXPn+vf/05/+ZLp162YWLVpkdu7cacrKyhJqyWSr5bFw4UKTnp5ufve73wUs933y5EmnbiGqrJbH+RJtJRhjrJfJgQMHTO/evc3s2bPN7t27zZtvvmmys7PNY4895tQtRJXV8igrKzO9e/c2v/71r82+ffvMH/7wBzN06FDz7W9/26lbiKqTJ0+abdu2mW3bthlJZvHixWbbtm3m73//uzHGmLlz55rbb7/dv79vueQf/ehHZufOnWbp0qURLZfsZn//+9/Ntm3bTHl5uenVq5e/fNp+T1522WXm5Zdf9r9fuHCh6dOnj3nttdfM//zP/5hbb73VDB482Hz66af+fSZMmGCuvPJK85e//MW8//775vOf/7yZMmVKl2Lt7Jz/+Mc/zGWXXWb+8pe/BBz3v//7vyYlJcX8/ve/b3fO119/3axYscJ8+OGH5n//93/NL37xC9OzZ08zf/78mMa6Z88es2DBArN582ZTW1trXnvtNTNkyBDz1a9+1X/M2bNnzYgRI8xNN91kampqTGVlpenfv78pLS2NaawNDQ2moKDAXH755WbPnj0B9evZs2eNMdEpVzv+Bgrn2bUq2n+bnDx50vzwhz801dXVpra21rz99tvmqquuMp///OfN6dOnI44zkljLy8vNW2+9Zfbu3Wu2bNlivvOd75iMjAzz17/+NeB+ol2mkcTqc80115jJkye3225XudpRr3R27/GG9kx7tGkC0aYJRHumPdo0gZxq07giSWaMMc8884y5+OKLTXp6uhk7dqz54IMP/D+77rrrzLRp0wL2/81vfmO+8IUvmPT0dPOlL33JrFu3LsYR28tKeVxyySVGUrtXWVlZ7AO3idXno61Eq1B8rJbJn//8Z1NQUGA8Ho8ZMmSIefzxx/0NvURgpTzOnDljfvKTn5ihQ4eajIwMk5+fb+655x7zz3/+M/aB2+Dd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", + "text/plain": [ + "
" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "axes[0,1].set_xlim([-1,1])\n", "fig.savefig(\"Figure_updated.jpg\")\n", @@ -1378,12 +2208,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 50, "id": "a99034cb", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.545997Z", + "iopub.status.busy": "2023-07-25T23:59:06.545858Z", + "iopub.status.idle": "2023-07-25T23:59:06.652996Z", + "shell.execute_reply": "2023-07-25T23:59:06.652585Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "x = np.linspace(-np.pi, np.pi, 50)\n", @@ -1402,12 +2249,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 51, "id": "c613a5df", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.655043Z", + "iopub.status.busy": "2023-07-25T23:59:06.654897Z", + "iopub.status.idle": "2023-07-25T23:59:06.789816Z", + "shell.execute_reply": "2023-07-25T23:59:06.789401Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax.contour(x, y, f, levels=45);" @@ -1431,12 +2295,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 52, "id": "bef21527", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.793238Z", + "iopub.status.busy": "2023-07-25T23:59:06.793090Z", + "iopub.status.idle": "2023-07-25T23:59:06.903016Z", + "shell.execute_reply": "2023-07-25T23:59:06.902666Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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jhm7cDkcDuPo0aOxbt26aH7qp8ZTp07F1q1b48iRI7F+/foVWiGj4FpfOlzrS4drfelwrS8+bdvG6dOnY/PmzdHr/fyPYcfur8V7vd4vTMTr1693s14iXOtLh2t96XCtLx2u9cVlZmbmvMb5hR4AAKoRLgEAqOaCCpfT09Px0Y9+NKanp1d6KXTMtb50uNaXDtf60uFaX9rG7hd6AAC4cF1Qn1wCADDehEsAAKoRLgEAqEa4BACgGuESAIBqLphw+cADD8Qb3/jGWLVqVVx//fXxne98Z6WXxGv07W9/O973vvfF5s2bo2ma+NKXvnTOn7dtGx/5yEfiDW94Q6xevTp27NgRP/jBD1Zmsbwme/fujXe9612xbt26eP3rXx+33nprHD58+Jwxc3NzsWvXrrjyyitj7dq1sXPnzjh+/PgKrZhSDz74YFxzzTXLzSyzs7Px1a9+dfnPXeeL13333RdN08Q999yz/D3X+9J0QYTLL37xi7F79+746Ec/Gk8//XRce+21cfPNN8cLL7yw0kvjNThz5kxce+218cADD7zin3/84x+P+++/Pz772c/Gk08+GWvWrImbb7455ubmRrxSXqv9+/fHrl274uDBg/HEE0/E4uJivOc974kzZ84sj7n33nvj8ccfj0cffTT2798fR48ejdtuu20FV02JLVu2xH333ReHDh2K7373u3HjjTfG+9///vj+978fEa7zxeqpp56Kz33uc3HNNdec833X+xLVXgCuu+66dteuXcv/PRgM2s2bN7d79+5dwVVRU0S0jz322PJ/D4fDdtOmTe1f/dVfLX/vxIkT7fT0dPuP//iPK7BCanrhhRfaiGj379/ftu3Zazs5Odk++uijy2P+/d//vY2I9sCBAyu1TCq54oor2r/92791nS9Sp0+fbt/85je3TzzxRPvrv/7r7Yc+9KG2bb2uL2Vj/8nlwsJCHDp0KHbs2LH8vV6vFzt27IgDBw6s4Mro0nPPPRfHjh0757rPzMzE9ddf77pfBE6ePBkRERs2bIiIiEOHDsXi4uI51/vqq6+Obdu2ud4XsMFgEI888kicOXMmZmdnXeeL1K5du+K9733vOdc1wuv6UtZf6QX8Ij/+8Y9jMBjExo0bz/n+xo0b4z/+4z9WaFV07dixYxERr3jdf/JnXJiGw2Hcc8898e53vzve/va3R8TZ6z01NRWXX375OWNd7wvTs88+G7OzszE3Nxdr166Nxx57LN72trfFM8884zpfZB555JF4+umn46mnnvqZP/O6vnSNfbgELi67du2K733ve/Ev//IvK70UOvKWt7wlnnnmmTh58mT80z/9U9x+++2xf//+lV4WlR05ciQ+9KEPxRNPPBGrVq1a6eUwRsb+r8Vf97rXxcTExM/8dtnx48dj06ZNK7QquvaTa+u6X1zuuuuu+MpXvhLf/OY3Y8uWLcvf37RpUywsLMSJEyfOGe96X5impqbiTW96U2zfvj327t0b1157bXz60592nS8yhw4dihdeeCHe8Y53RL/fj36/H/v374/7778/+v1+bNy40fW+RI19uJyamort27fHvn37lr83HA5j3759MTs7u4Iro0tXXXVVbNq06ZzrfurUqXjyySdd9wtQ27Zx1113xWOPPRbf+MY34qqrrjrnz7dv3x6Tk5PnXO/Dhw/H888/73pfBIbDYczPz7vOF5mbbropnn322XjmmWeWv975znfGBz/4weX/7Xpfmi6IvxbfvXt33H777fHOd74zrrvuuvjUpz4VZ86ciTvuuGOll8Zr8OKLL8YPf/jD5f9+7rnn4plnnokNGzbEtm3b4p577omPfexj8eY3vzmuuuqq+PCHPxybN2+OW2+9deUWTZFdu3bFww8/HF/+8pdj3bp1y//eamZmJlavXh0zMzNx5513xu7du2PDhg2xfv36uPvuu2N2djZuuOGGFV49GXv27Ilbbrkltm3bFqdPn46HH344vvWtb8XXv/511/kis27duuV/N/0Ta9asiSuvvHL5+673JWqlf139fP31X/91u23btnZqaqq97rrr2oMHD670kniNvvnNb7YR8TNft99+e9u2Z//viD784Q+3GzdubKenp9ubbrqpPXz48MoumiKvdJ0jon3ooYeWx7z88svtn/zJn7RXXHFFe9lll7W//du/3f7oRz9auUVT5Pd///fbX/7lX26npqbaX/qlX2pvuumm9p//+Z+X/9x1vrj97/9XRG3rel+qmrZt2xXKtQAAXGTG/t9cAgBw4RAuAQCoRrgEAKAa4RIAgGqESwAAqhEuAQCoRrgEAKAa4RIAgGqESwAAqhEuAQCoRrgEAKCa/w/1ugUagpwzWAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax.imshow(f);\n" @@ -1462,12 +2343,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 53, "id": "4435ed50", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.904985Z", + "iopub.status.busy": "2023-07-25T23:59:06.904852Z", + "iopub.status.idle": "2023-07-25T23:59:06.907631Z", + "shell.execute_reply": "2023-07-25T23:59:06.907307Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "seq1 = np.linspace(0, 10, 11)\n", "seq1\n" @@ -1485,10 +2383,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 54, "id": "7a2c664a", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.909501Z", + "iopub.status.busy": "2023-07-25T23:59:06.909370Z", + "iopub.status.idle": "2023-07-25T23:59:06.911861Z", + "shell.execute_reply": "2023-07-25T23:59:06.911478Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "seq2 = np.arange(0, 10)\n", "seq2\n" @@ -1508,12 +2424,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 55, "id": "810eafdf", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.914013Z", + "iopub.status.busy": "2023-07-25T23:59:06.913879Z", + "iopub.status.idle": "2023-07-25T23:59:06.916405Z", + "shell.execute_reply": "2023-07-25T23:59:06.916096Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'lo '" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "\"hello world\"[3:6]" ] @@ -1529,10 +2462,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 56, "id": "f7a9f652", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.918188Z", + "iopub.status.busy": "2023-07-25T23:59:06.918057Z", + "iopub.status.idle": "2023-07-25T23:59:06.920501Z", + "shell.execute_reply": "2023-07-25T23:59:06.920172Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'lo '" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "\"hello world\"[slice(3,6)]\n" ] @@ -1578,10 +2529,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 57, "id": "24427538", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.922296Z", + "iopub.status.busy": "2023-07-25T23:59:06.922171Z", + "iopub.status.idle": "2023-07-25T23:59:06.924760Z", + "shell.execute_reply": "2023-07-25T23:59:06.924501Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0, 1, 2, 3],\n", + " [ 4, 5, 6, 7],\n", + " [ 8, 9, 10, 11],\n", + " [12, 13, 14, 15]])" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "A = np.array(np.arange(16)).reshape((4, 4))\n", "A\n" @@ -1598,10 +2570,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 58, "id": "18684ed5", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.926485Z", + "iopub.status.busy": "2023-07-25T23:59:06.926366Z", + "iopub.status.idle": "2023-07-25T23:59:06.928716Z", + "shell.execute_reply": "2023-07-25T23:59:06.928382Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "6" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "A[1,2]\n" ] @@ -1621,10 +2611,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 59, "id": "34d27b73", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.930420Z", + "iopub.status.busy": "2023-07-25T23:59:06.930302Z", + "iopub.status.idle": "2023-07-25T23:59:06.932693Z", + "shell.execute_reply": "2023-07-25T23:59:06.932407Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 4, 5, 6, 7],\n", + " [12, 13, 14, 15]])" + ] + }, + "execution_count": 59, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "A[[1,3]]\n" ] @@ -1641,10 +2650,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 60, "id": "1bb799c5", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.934417Z", + "iopub.status.busy": "2023-07-25T23:59:06.934293Z", + "iopub.status.idle": "2023-07-25T23:59:06.936701Z", + "shell.execute_reply": "2023-07-25T23:59:06.936383Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0, 2],\n", + " [ 4, 6],\n", + " [ 8, 10],\n", + " [12, 14]])" + ] + }, + "execution_count": 60, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "A[:,[0,2]]\n" ] @@ -1661,10 +2691,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 61, "id": "de853e7c", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.938410Z", + "iopub.status.busy": "2023-07-25T23:59:06.938279Z", + "iopub.status.idle": "2023-07-25T23:59:06.940843Z", + "shell.execute_reply": "2023-07-25T23:59:06.940553Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 4, 14])" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "A[[1,3],[0,2]]\n" ] @@ -1679,10 +2727,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 62, "id": "e71bf672", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.942617Z", + "iopub.status.busy": "2023-07-25T23:59:06.942490Z", + "iopub.status.idle": "2023-07-25T23:59:06.945126Z", + "shell.execute_reply": "2023-07-25T23:59:06.944774Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 4, 14])" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.array([A[1,0],A[3,2]])\n" ] @@ -1697,10 +2763,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 63, "id": "458fe5c9", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.946927Z", + "iopub.status.busy": "2023-07-25T23:59:06.946793Z", + "iopub.status.idle": "2023-07-25T23:59:06.973966Z", + "shell.execute_reply": "2023-07-25T23:59:06.973611Z" + } + }, + "outputs": [ + { + "ename": "IndexError", + "evalue": "shape mismatch: indexing arrays could not be broadcast together with shapes (2,) (3,) ", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[63], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mA\u001b[49m\u001b[43m[\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[38;5;241;43m3\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m,\u001b[49m\u001b[38;5;241;43m2\u001b[39;49m\u001b[43m,\u001b[49m\u001b[38;5;241;43m3\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m]\u001b[49m\n", + "\u001b[0;31mIndexError\u001b[0m: shape mismatch: indexing arrays could not be broadcast together with shapes (2,) (3,) " + ] + } + ], "source": [ "A[[1,3],[0,2,3]]\n" ] @@ -1717,12 +2802,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 64, "id": "703832ac", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.976099Z", + "iopub.status.busy": "2023-07-25T23:59:06.975973Z", + "iopub.status.idle": "2023-07-25T23:59:06.978782Z", + "shell.execute_reply": "2023-07-25T23:59:06.978390Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 4, 6],\n", + " [12, 14]])" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "A[[1,3]][:,[0,2]]\n" ] @@ -1748,12 +2851,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 65, "id": "dbf328b7", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.980758Z", + "iopub.status.busy": "2023-07-25T23:59:06.980608Z", + "iopub.status.idle": "2023-07-25T23:59:06.983480Z", + "shell.execute_reply": "2023-07-25T23:59:06.983138Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 4, 6, 7],\n", + " [12, 14, 15]])" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "idx = np.ix_([1,3],[0,2,3])\n", "A[idx]\n" @@ -1773,12 +2894,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 66, "id": "65784eb0", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.985438Z", + "iopub.status.busy": "2023-07-25T23:59:06.985317Z", + "iopub.status.idle": "2023-07-25T23:59:06.987978Z", + "shell.execute_reply": "2023-07-25T23:59:06.987611Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 4, 6],\n", + " [12, 14]])" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "A[1:4:2,0:3:2]\n" ] @@ -1825,12 +2964,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 67, "id": "3ddb0d83", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.990333Z", + "iopub.status.busy": "2023-07-25T23:59:06.990160Z", + "iopub.status.idle": "2023-07-25T23:59:06.993012Z", + "shell.execute_reply": "2023-07-25T23:59:06.992640Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([False, False, False, False])" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "keep_rows = np.zeros(A.shape[0], bool)\n", "keep_rows" @@ -1846,10 +3002,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 68, "id": "90e72009", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.994861Z", + "iopub.status.busy": "2023-07-25T23:59:06.994740Z", + "iopub.status.idle": "2023-07-25T23:59:06.997372Z", + "shell.execute_reply": "2023-07-25T23:59:06.997059Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([False, True, False, True])" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "keep_rows[[1,3]] = True\n", "keep_rows\n" @@ -1867,10 +3041,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 69, "id": "fb3b6534", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:06.999118Z", + "iopub.status.busy": "2023-07-25T23:59:06.998976Z", + "iopub.status.idle": "2023-07-25T23:59:07.001465Z", + "shell.execute_reply": "2023-07-25T23:59:07.001171Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.all(keep_rows == np.array([0,1,0,1]))\n" ] @@ -1895,10 +3087,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 70, "id": "b146db22", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.003376Z", + "iopub.status.busy": "2023-07-25T23:59:07.003257Z", + "iopub.status.idle": "2023-07-25T23:59:07.005689Z", + "shell.execute_reply": "2023-07-25T23:59:07.005311Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0, 1, 2, 3],\n", + " [4, 5, 6, 7],\n", + " [0, 1, 2, 3],\n", + " [4, 5, 6, 7]])" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "A[np.array([0,1,0,1])]\n" ] @@ -1913,10 +3126,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 71, "id": "6bf7b4a3", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.007666Z", + "iopub.status.busy": "2023-07-25T23:59:07.007533Z", + "iopub.status.idle": "2023-07-25T23:59:07.009740Z", + "shell.execute_reply": "2023-07-25T23:59:07.009471Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 4, 5, 6, 7],\n", + " [12, 13, 14, 15]])" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "A[keep_rows]\n" ] @@ -1941,10 +3173,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 72, "id": "288011d9", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.011387Z", + "iopub.status.busy": "2023-07-25T23:59:07.011272Z", + "iopub.status.idle": "2023-07-25T23:59:07.014033Z", + "shell.execute_reply": "2023-07-25T23:59:07.013669Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 4, 6, 7],\n", + " [12, 14, 15]])" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "keep_cols = np.zeros(A.shape[1], bool)\n", "keep_cols[[0, 2, 3]] = True\n", @@ -1962,12 +3213,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 73, "id": "3e3b1954", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.015743Z", + "iopub.status.busy": "2023-07-25T23:59:07.015607Z", + "iopub.status.idle": "2023-07-25T23:59:07.018145Z", + "shell.execute_reply": "2023-07-25T23:59:07.017835Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 4, 6, 7],\n", + " [12, 14, 15]])" + ] + }, + "execution_count": 73, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "idx_mixed = np.ix_([1,3], keep_cols)\n", "A[idx_mixed]\n" @@ -2036,10 +3305,222 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 74, "id": "d02bfb28", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.020113Z", + "iopub.status.busy": "2023-07-25T23:59:07.019977Z", + "iopub.status.idle": "2023-07-25T23:59:07.197194Z", + "shell.execute_reply": "2023-07-25T23:59:07.196835Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mpgcylindersdisplacementhorsepowerweightaccelerationyearoriginname
018.08307.0130350412.0701chevrolet chevelle malibu
115.08350.0165369311.5701buick skylark 320
218.08318.0150343611.0701plymouth satellite
316.08304.0150343312.0701amc rebel sst
417.08302.0140344910.5701ford torino
..............................
38727.04140.086279015.6821ford mustang gl
38844.0497.052213024.6822vw pickup
38932.04135.084229511.6821dodge rampage
39028.04120.079262518.6821ford ranger
39131.04119.082272019.4821chevy s-10
\n", + "

392 rows × 9 columns

\n", + "
" + ], + "text/plain": [ + " mpg cylinders displacement horsepower weight acceleration year \\\n", + "0 18.0 8 307.0 130 3504 12.0 70 \n", + "1 15.0 8 350.0 165 3693 11.5 70 \n", + "2 18.0 8 318.0 150 3436 11.0 70 \n", + "3 16.0 8 304.0 150 3433 12.0 70 \n", + "4 17.0 8 302.0 140 3449 10.5 70 \n", + ".. ... ... ... ... ... ... ... \n", + "387 27.0 4 140.0 86 2790 15.6 82 \n", + "388 44.0 4 97.0 52 2130 24.6 82 \n", + "389 32.0 4 135.0 84 2295 11.6 82 \n", + "390 28.0 4 120.0 79 2625 18.6 82 \n", + "391 31.0 4 119.0 82 2720 19.4 82 \n", + "\n", + " origin name \n", + "0 1 chevrolet chevelle malibu \n", + "1 1 buick skylark 320 \n", + "2 1 plymouth satellite \n", + "3 1 amc rebel sst \n", + "4 1 ford torino \n", + ".. ... ... \n", + "387 1 ford mustang gl \n", + "388 2 vw pickup \n", + "389 1 dodge rampage \n", + "390 1 ford ranger \n", + "391 1 chevy s-10 \n", + "\n", + "[392 rows x 9 columns]" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import pandas as pd\n", "Auto = pd.read_csv('Auto.csv')\n", @@ -2056,9 +3537,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 75, "id": "ca6090af", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.199106Z", + "iopub.status.busy": "2023-07-25T23:59:07.198977Z", + "iopub.status.idle": "2023-07-25T23:59:07.202273Z", + "shell.execute_reply": "2023-07-25T23:59:07.201978Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -2087,12 +3574,40 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 76, "id": "7220aa87", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.204037Z", + "iopub.status.busy": "2023-07-25T23:59:07.203937Z", + "iopub.status.idle": "2023-07-25T23:59:07.206918Z", + "shell.execute_reply": "2023-07-25T23:59:07.206626Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0 130.0\n", + "1 165.0\n", + "2 150.0\n", + "3 150.0\n", + "4 140.0\n", + " ... \n", + "392 86.00\n", + "393 52.00\n", + "394 84.00\n", + "395 79.00\n", + "396 82.00\n", + "Name: horsepower, Length: 397, dtype: object" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto['horsepower']\n" ] @@ -2110,12 +3625,42 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 77, "id": "ca1939f0", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.208643Z", + "iopub.status.busy": "2023-07-25T23:59:07.208518Z", + "iopub.status.idle": "2023-07-25T23:59:07.211113Z", + "shell.execute_reply": "2023-07-25T23:59:07.210855Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array(['100.0', '102.0', '103.0', '105.0', '107.0', '108.0', '110.0',\n", + " '112.0', '113.0', '115.0', '116.0', '120.0', '122.0', '125.0',\n", + " '129.0', '130.0', '132.0', '133.0', '135.0', '137.0', '138.0',\n", + " '139.0', '140.0', '142.0', '145.0', '148.0', '149.0', '150.0',\n", + " '152.0', '153.0', '155.0', '158.0', '160.0', '165.0', '167.0',\n", + " '170.0', '175.0', '180.0', '190.0', '193.0', '198.0', '200.0',\n", + " '208.0', '210.0', '215.0', '220.0', '225.0', '230.0', '46.00',\n", + " '48.00', '49.00', '52.00', '53.00', '54.00', '58.00', '60.00',\n", + " '61.00', '62.00', '63.00', '64.00', '65.00', '66.00', '67.00',\n", + " '68.00', '69.00', '70.00', '71.00', '72.00', '74.00', '75.00',\n", + " '76.00', '77.00', '78.00', '79.00', '80.00', '81.00', '82.00',\n", + " '83.00', '84.00', '85.00', '86.00', '87.00', '88.00', '89.00',\n", + " '90.00', '91.00', '92.00', '93.00', '94.00', '95.00', '96.00',\n", + " '97.00', '98.00', '?'], dtype=object)" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.unique(Auto['horsepower'])\n" ] @@ -2141,12 +3686,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 78, "id": "cfb084e7", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.212804Z", + "iopub.status.busy": "2023-07-25T23:59:07.212685Z", + "iopub.status.idle": "2023-07-25T23:59:07.216615Z", + "shell.execute_reply": "2023-07-25T23:59:07.216305Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "40952.0" + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto = pd.read_csv('Auto.data',\n", " na_values=['?'],\n", @@ -2165,10 +3727,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 79, "id": "2e02b6a5", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.218286Z", + "iopub.status.busy": "2023-07-25T23:59:07.218192Z", + "iopub.status.idle": "2023-07-25T23:59:07.220539Z", + "shell.execute_reply": "2023-07-25T23:59:07.220268Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(397, 9)" + ] + }, + "execution_count": 79, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto.shape\n" ] @@ -2186,12 +3766,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 80, "id": "d391f8d0", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.222133Z", + "iopub.status.busy": "2023-07-25T23:59:07.222045Z", + "iopub.status.idle": "2023-07-25T23:59:07.224928Z", + "shell.execute_reply": "2023-07-25T23:59:07.224644Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(392, 9)" + ] + }, + "execution_count": 80, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto_new = Auto.dropna()\n", "Auto_new.shape\n" @@ -2209,12 +3806,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 81, "id": "a222ca60", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.226571Z", + "iopub.status.busy": "2023-07-25T23:59:07.226451Z", + "iopub.status.idle": "2023-07-25T23:59:07.228762Z", + "shell.execute_reply": "2023-07-25T23:59:07.228488Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['mpg', 'cylinders', 'displacement', 'horsepower', 'weight',\n", + " 'acceleration', 'year', 'origin', 'name'],\n", + " dtype='object')" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto = Auto_new # overwrite the previous value\n", "Auto.columns\n" @@ -2234,12 +3850,108 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 82, "id": "a75921ac", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.230365Z", + "iopub.status.busy": "2023-07-25T23:59:07.230248Z", + "iopub.status.idle": "2023-07-25T23:59:07.235053Z", + "shell.execute_reply": "2023-07-25T23:59:07.234775Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mpgcylindersdisplacementhorsepowerweightaccelerationyearoriginname
018.08307.0130.03504.012.0701chevrolet chevelle malibu
115.08350.0165.03693.011.5701buick skylark 320
218.08318.0150.03436.011.0701plymouth satellite
\n", + "
" + ], + "text/plain": [ + " mpg cylinders displacement horsepower weight acceleration year \\\n", + "0 18.0 8 307.0 130.0 3504.0 12.0 70 \n", + "1 15.0 8 350.0 165.0 3693.0 11.5 70 \n", + "2 18.0 8 318.0 150.0 3436.0 11.0 70 \n", + "\n", + " origin name \n", + "0 1 chevrolet chevelle malibu \n", + "1 1 buick skylark 320 \n", + "2 1 plymouth satellite " + ] + }, + "execution_count": 82, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto[:3]\n" ] @@ -2254,12 +3966,878 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 83, "id": "7469ff2b", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.236689Z", + "iopub.status.busy": "2023-07-25T23:59:07.236568Z", + "iopub.status.idle": "2023-07-25T23:59:07.250946Z", + "shell.execute_reply": "2023-07-25T23:59:07.250654Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mpgcylindersdisplacementhorsepowerweightaccelerationyearoriginname
33827.24135.084.02490.015.7811plymouth reliant
33926.64151.084.02635.016.4811buick skylark
34025.84156.092.02620.014.4811dodge aries wagon (sw)
34123.56173.0110.02725.012.6811chevrolet citation
34230.04135.084.02385.012.9811plymouth reliant
34339.1479.058.01755.016.9813toyota starlet
34439.0486.064.01875.016.4811plymouth champ
34535.1481.060.01760.016.1813honda civic 1300
34632.3497.067.02065.017.8813subaru
34737.0485.065.01975.019.4813datsun 210 mpg
34837.7489.062.02050.017.3813toyota tercel
34934.1491.068.01985.016.0813mazda glc 4
35034.74105.063.02215.014.9811plymouth horizon 4
35134.4498.065.02045.016.2811ford escort 4w
35229.9498.065.02380.020.7811ford escort 2h
35333.04105.074.02190.014.2812volkswagen jetta
35533.74107.075.02210.014.4813honda prelude
35632.44108.075.02350.016.8813toyota corolla
35732.94119.0100.02615.014.8813datsun 200sx
35831.64120.074.02635.018.3813mazda 626
35928.14141.080.03230.020.4812peugeot 505s turbo diesel
36030.76145.076.03160.019.6812volvo diesel
36125.46168.0116.02900.012.6813toyota cressida
36224.26146.0120.02930.013.8813datsun 810 maxima
36322.46231.0110.03415.015.8811buick century
36426.68350.0105.03725.019.0811oldsmobile cutlass ls
36520.26200.088.03060.017.1811ford granada gl
36617.66225.085.03465.016.6811chrysler lebaron salon
36728.04112.088.02605.019.6821chevrolet cavalier
36827.04112.088.02640.018.6821chevrolet cavalier wagon
36934.04112.088.02395.018.0821chevrolet cavalier 2-door
37031.04112.085.02575.016.2821pontiac j2000 se hatchback
37129.04135.084.02525.016.0821dodge aries se
37227.04151.090.02735.018.0821pontiac phoenix
37324.04140.092.02865.016.4821ford fairmont futura
37436.04105.074.01980.015.3822volkswagen rabbit l
37537.0491.068.02025.018.2823mazda glc custom l
37631.0491.068.01970.017.6823mazda glc custom
37738.04105.063.02125.014.7821plymouth horizon miser
37836.0498.070.02125.017.3821mercury lynx l
37936.04120.088.02160.014.5823nissan stanza xe
38036.04107.075.02205.014.5823honda accord
38134.04108.070.02245.016.9823toyota corolla
38238.0491.067.01965.015.0823honda civic
38332.0491.067.01965.015.7823honda civic (auto)
38438.0491.067.01995.016.2823datsun 310 gx
38525.06181.0110.02945.016.4821buick century limited
38638.06262.085.03015.017.0821oldsmobile cutlass ciera (diesel)
38726.04156.092.02585.014.5821chrysler lebaron medallion
38822.06232.0112.02835.014.7821ford granada l
38932.04144.096.02665.013.9823toyota celica gt
39036.04135.084.02370.013.0821dodge charger 2.2
39127.04151.090.02950.017.3821chevrolet camaro
39227.04140.086.02790.015.6821ford mustang gl
39344.0497.052.02130.024.6822vw pickup
39432.04135.084.02295.011.6821dodge rampage
39528.04120.079.02625.018.6821ford ranger
39631.04119.082.02720.019.4821chevy s-10
\n", + "
" + ], + "text/plain": [ + " mpg cylinders displacement horsepower weight acceleration year \\\n", + "338 27.2 4 135.0 84.0 2490.0 15.7 81 \n", + "339 26.6 4 151.0 84.0 2635.0 16.4 81 \n", + "340 25.8 4 156.0 92.0 2620.0 14.4 81 \n", + "341 23.5 6 173.0 110.0 2725.0 12.6 81 \n", + "342 30.0 4 135.0 84.0 2385.0 12.9 81 \n", + "343 39.1 4 79.0 58.0 1755.0 16.9 81 \n", + "344 39.0 4 86.0 64.0 1875.0 16.4 81 \n", + "345 35.1 4 81.0 60.0 1760.0 16.1 81 \n", + "346 32.3 4 97.0 67.0 2065.0 17.8 81 \n", + "347 37.0 4 85.0 65.0 1975.0 19.4 81 \n", + "348 37.7 4 89.0 62.0 2050.0 17.3 81 \n", + "349 34.1 4 91.0 68.0 1985.0 16.0 81 \n", + "350 34.7 4 105.0 63.0 2215.0 14.9 81 \n", + "351 34.4 4 98.0 65.0 2045.0 16.2 81 \n", + "352 29.9 4 98.0 65.0 2380.0 20.7 81 \n", + "353 33.0 4 105.0 74.0 2190.0 14.2 81 \n", + "355 33.7 4 107.0 75.0 2210.0 14.4 81 \n", + "356 32.4 4 108.0 75.0 2350.0 16.8 81 \n", + "357 32.9 4 119.0 100.0 2615.0 14.8 81 \n", + "358 31.6 4 120.0 74.0 2635.0 18.3 81 \n", + "359 28.1 4 141.0 80.0 3230.0 20.4 81 \n", + "360 30.7 6 145.0 76.0 3160.0 19.6 81 \n", + "361 25.4 6 168.0 116.0 2900.0 12.6 81 \n", + "362 24.2 6 146.0 120.0 2930.0 13.8 81 \n", + "363 22.4 6 231.0 110.0 3415.0 15.8 81 \n", + "364 26.6 8 350.0 105.0 3725.0 19.0 81 \n", + "365 20.2 6 200.0 88.0 3060.0 17.1 81 \n", + "366 17.6 6 225.0 85.0 3465.0 16.6 81 \n", + "367 28.0 4 112.0 88.0 2605.0 19.6 82 \n", + "368 27.0 4 112.0 88.0 2640.0 18.6 82 \n", + "369 34.0 4 112.0 88.0 2395.0 18.0 82 \n", + "370 31.0 4 112.0 85.0 2575.0 16.2 82 \n", + "371 29.0 4 135.0 84.0 2525.0 16.0 82 \n", + "372 27.0 4 151.0 90.0 2735.0 18.0 82 \n", + "373 24.0 4 140.0 92.0 2865.0 16.4 82 \n", + "374 36.0 4 105.0 74.0 1980.0 15.3 82 \n", + "375 37.0 4 91.0 68.0 2025.0 18.2 82 \n", + "376 31.0 4 91.0 68.0 1970.0 17.6 82 \n", + "377 38.0 4 105.0 63.0 2125.0 14.7 82 \n", + "378 36.0 4 98.0 70.0 2125.0 17.3 82 \n", + "379 36.0 4 120.0 88.0 2160.0 14.5 82 \n", + "380 36.0 4 107.0 75.0 2205.0 14.5 82 \n", + "381 34.0 4 108.0 70.0 2245.0 16.9 82 \n", + "382 38.0 4 91.0 67.0 1965.0 15.0 82 \n", + "383 32.0 4 91.0 67.0 1965.0 15.7 82 \n", + "384 38.0 4 91.0 67.0 1995.0 16.2 82 \n", + "385 25.0 6 181.0 110.0 2945.0 16.4 82 \n", + "386 38.0 6 262.0 85.0 3015.0 17.0 82 \n", + "387 26.0 4 156.0 92.0 2585.0 14.5 82 \n", + "388 22.0 6 232.0 112.0 2835.0 14.7 82 \n", + "389 32.0 4 144.0 96.0 2665.0 13.9 82 \n", + "390 36.0 4 135.0 84.0 2370.0 13.0 82 \n", + "391 27.0 4 151.0 90.0 2950.0 17.3 82 \n", + "392 27.0 4 140.0 86.0 2790.0 15.6 82 \n", + "393 44.0 4 97.0 52.0 2130.0 24.6 82 \n", + "394 32.0 4 135.0 84.0 2295.0 11.6 82 \n", + "395 28.0 4 120.0 79.0 2625.0 18.6 82 \n", + "396 31.0 4 119.0 82.0 2720.0 19.4 82 \n", + "\n", + " origin name \n", + "338 1 plymouth reliant \n", + "339 1 buick skylark \n", + "340 1 dodge aries wagon (sw) \n", + "341 1 chevrolet citation \n", + "342 1 plymouth reliant \n", + "343 3 toyota starlet \n", + "344 1 plymouth champ \n", + "345 3 honda civic 1300 \n", + "346 3 subaru \n", + "347 3 datsun 210 mpg \n", + "348 3 toyota tercel \n", + "349 3 mazda glc 4 \n", + "350 1 plymouth horizon 4 \n", + "351 1 ford escort 4w \n", + "352 1 ford escort 2h \n", + "353 2 volkswagen jetta \n", + "355 3 honda prelude \n", + "356 3 toyota corolla \n", + "357 3 datsun 200sx \n", + "358 3 mazda 626 \n", + "359 2 peugeot 505s turbo diesel \n", + "360 2 volvo diesel \n", + "361 3 toyota cressida \n", + "362 3 datsun 810 maxima \n", + "363 1 buick century \n", + "364 1 oldsmobile cutlass ls \n", + "365 1 ford granada gl \n", + "366 1 chrysler lebaron salon \n", + "367 1 chevrolet cavalier \n", + "368 1 chevrolet cavalier wagon \n", + "369 1 chevrolet cavalier 2-door \n", + "370 1 pontiac j2000 se hatchback \n", + "371 1 dodge aries se \n", + "372 1 pontiac phoenix \n", + "373 1 ford fairmont futura \n", + "374 2 volkswagen rabbit l \n", + "375 3 mazda glc custom l \n", + "376 3 mazda glc custom \n", + "377 1 plymouth horizon miser \n", + "378 1 mercury lynx l \n", + "379 3 nissan stanza xe \n", + "380 3 honda accord \n", + "381 3 toyota corolla \n", + "382 3 honda civic \n", + "383 3 honda civic (auto) \n", + "384 3 datsun 310 gx \n", + "385 1 buick century limited \n", + "386 1 oldsmobile cutlass ciera (diesel) \n", + "387 1 chrysler lebaron medallion \n", + "388 1 ford granada l \n", + "389 3 toyota celica gt \n", + "390 1 dodge charger 2.2 \n", + "391 1 chevrolet camaro \n", + "392 1 ford mustang gl \n", + "393 2 vw pickup \n", + "394 1 dodge rampage \n", + "395 1 ford ranger \n", + "396 1 chevy s-10 " + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "idx_80 = Auto['year'] > 80\n", "Auto[idx_80]\n" @@ -2275,12 +4853,126 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 84, "id": "ac455404", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.252607Z", + "iopub.status.busy": "2023-07-25T23:59:07.252480Z", + "iopub.status.idle": "2023-07-25T23:59:07.257221Z", + "shell.execute_reply": "2023-07-25T23:59:07.256935Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mpghorsepower
018.0130.0
115.0165.0
218.0150.0
316.0150.0
417.0140.0
.........
39227.086.0
39344.052.0
39432.084.0
39528.079.0
39631.082.0
\n", + "

392 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " mpg horsepower\n", + "0 18.0 130.0\n", + "1 15.0 165.0\n", + "2 18.0 150.0\n", + "3 16.0 150.0\n", + "4 17.0 140.0\n", + ".. ... ...\n", + "392 27.0 86.0\n", + "393 44.0 52.0\n", + "394 32.0 84.0\n", + "395 28.0 79.0\n", + "396 31.0 82.0\n", + "\n", + "[392 rows x 2 columns]" + ] + }, + "execution_count": 84, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto[['mpg', 'horsepower']]\n" ] @@ -2296,12 +4988,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 85, "id": "f41235d4", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.258854Z", + "iopub.status.busy": "2023-07-25T23:59:07.258731Z", + "iopub.status.idle": "2023-07-25T23:59:07.261103Z", + "shell.execute_reply": "2023-07-25T23:59:07.260848Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Int64Index([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,\n", + " ...\n", + " 387, 388, 389, 390, 391, 392, 393, 394, 395, 396],\n", + " dtype='int64', length=392)" + ] + }, + "execution_count": 85, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto.index\n" ] @@ -2317,10 +5029,223 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 86, "id": "31caba24", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.262694Z", + "iopub.status.busy": "2023-07-25T23:59:07.262576Z", + "iopub.status.idle": "2023-07-25T23:59:07.269173Z", + "shell.execute_reply": "2023-07-25T23:59:07.268882Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mpgcylindersdisplacementhorsepowerweightaccelerationyearorigin
name
chevrolet chevelle malibu18.08307.0130.03504.012.0701
buick skylark 32015.08350.0165.03693.011.5701
plymouth satellite18.08318.0150.03436.011.0701
amc rebel sst16.08304.0150.03433.012.0701
ford torino17.08302.0140.03449.010.5701
...........................
ford mustang gl27.04140.086.02790.015.6821
vw pickup44.0497.052.02130.024.6822
dodge rampage32.04135.084.02295.011.6821
ford ranger28.04120.079.02625.018.6821
chevy s-1031.04119.082.02720.019.4821
\n", + "

392 rows × 8 columns

\n", + "
" + ], + "text/plain": [ + " mpg cylinders displacement horsepower weight \\\n", + "name \n", + "chevrolet chevelle malibu 18.0 8 307.0 130.0 3504.0 \n", + "buick skylark 320 15.0 8 350.0 165.0 3693.0 \n", + "plymouth satellite 18.0 8 318.0 150.0 3436.0 \n", + "amc rebel sst 16.0 8 304.0 150.0 3433.0 \n", + "ford torino 17.0 8 302.0 140.0 3449.0 \n", + "... ... ... ... ... ... \n", + "ford mustang gl 27.0 4 140.0 86.0 2790.0 \n", + "vw pickup 44.0 4 97.0 52.0 2130.0 \n", + "dodge rampage 32.0 4 135.0 84.0 2295.0 \n", + "ford ranger 28.0 4 120.0 79.0 2625.0 \n", + "chevy s-10 31.0 4 119.0 82.0 2720.0 \n", + "\n", + " acceleration year origin \n", + "name \n", + "chevrolet chevelle malibu 12.0 70 1 \n", + "buick skylark 320 11.5 70 1 \n", + "plymouth satellite 11.0 70 1 \n", + "amc rebel sst 12.0 70 1 \n", + "ford torino 10.5 70 1 \n", + "... ... ... ... \n", + "ford mustang gl 15.6 82 1 \n", + "vw pickup 24.6 82 2 \n", + "dodge rampage 11.6 82 1 \n", + "ford ranger 18.6 82 1 \n", + "chevy s-10 19.4 82 1 \n", + "\n", + "[392 rows x 8 columns]" + ] + }, + "execution_count": 86, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto_re = Auto.set_index('name')\n", "Auto_re\n" @@ -2328,12 +5253,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 87, "id": "594bedfa", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.270700Z", + "iopub.status.busy": "2023-07-25T23:59:07.270575Z", + "iopub.status.idle": "2023-07-25T23:59:07.272836Z", + "shell.execute_reply": "2023-07-25T23:59:07.272578Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['mpg', 'cylinders', 'displacement', 'horsepower', 'weight',\n", + " 'acceleration', 'year', 'origin'],\n", + " dtype='object')" + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto_re.columns\n" ] @@ -2352,12 +5296,104 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 88, "id": "9a59b083", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.274444Z", + "iopub.status.busy": "2023-07-25T23:59:07.274324Z", + "iopub.status.idle": "2023-07-25T23:59:07.279126Z", + "shell.execute_reply": "2023-07-25T23:59:07.278848Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mpgcylindersdisplacementhorsepowerweightaccelerationyearorigin
name
amc rebel sst16.08304.0150.03433.012.0701
ford torino17.08302.0140.03449.010.5701
\n", + "
" + ], + "text/plain": [ + " mpg cylinders displacement horsepower weight \\\n", + "name \n", + "amc rebel sst 16.0 8 304.0 150.0 3433.0 \n", + "ford torino 17.0 8 302.0 140.0 3449.0 \n", + "\n", + " acceleration year origin \n", + "name \n", + "amc rebel sst 12.0 70 1 \n", + "ford torino 10.5 70 1 " + ] + }, + "execution_count": 88, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "rows = ['amc rebel sst', 'ford torino']\n", "Auto_re.loc[rows]\n" @@ -2373,12 +5409,104 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 89, "id": "54457a11", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.280778Z", + "iopub.status.busy": "2023-07-25T23:59:07.280656Z", + "iopub.status.idle": "2023-07-25T23:59:07.285068Z", + "shell.execute_reply": "2023-07-25T23:59:07.284820Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mpgcylindersdisplacementhorsepowerweightaccelerationyearorigin
name
amc rebel sst16.08304.0150.03433.012.0701
ford torino17.08302.0140.03449.010.5701
\n", + "
" + ], + "text/plain": [ + " mpg cylinders displacement horsepower weight \\\n", + "name \n", + "amc rebel sst 16.0 8 304.0 150.0 3433.0 \n", + "ford torino 17.0 8 302.0 140.0 3449.0 \n", + "\n", + " acceleration year origin \n", + "name \n", + "amc rebel sst 12.0 70 1 \n", + "ford torino 10.5 70 1 " + ] + }, + "execution_count": 89, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto_re.iloc[[3,4]]\n" ] @@ -2393,12 +5521,145 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 90, "id": "8a4f3faf", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.286653Z", + "iopub.status.busy": "2023-07-25T23:59:07.286560Z", + "iopub.status.idle": "2023-07-25T23:59:07.291694Z", + "shell.execute_reply": "2023-07-25T23:59:07.291386Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mpgdisplacementhorsepower
name
chevrolet chevelle malibu18.0307.0130.0
buick skylark 32015.0350.0165.0
plymouth satellite18.0318.0150.0
amc rebel sst16.0304.0150.0
ford torino17.0302.0140.0
............
ford mustang gl27.0140.086.0
vw pickup44.097.052.0
dodge rampage32.0135.084.0
ford ranger28.0120.079.0
chevy s-1031.0119.082.0
\n", + "

392 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " mpg displacement horsepower\n", + "name \n", + "chevrolet chevelle malibu 18.0 307.0 130.0\n", + "buick skylark 320 15.0 350.0 165.0\n", + "plymouth satellite 18.0 318.0 150.0\n", + "amc rebel sst 16.0 304.0 150.0\n", + "ford torino 17.0 302.0 140.0\n", + "... ... ... ...\n", + "ford mustang gl 27.0 140.0 86.0\n", + "vw pickup 44.0 97.0 52.0\n", + "dodge rampage 32.0 135.0 84.0\n", + "ford ranger 28.0 120.0 79.0\n", + "chevy s-10 31.0 119.0 82.0\n", + "\n", + "[392 rows x 3 columns]" + ] + }, + "execution_count": 90, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto_re.iloc[:,[0,2,3]]\n" ] @@ -2414,12 +5675,79 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 91, "id": "8f1e6e56", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.293357Z", + "iopub.status.busy": "2023-07-25T23:59:07.293234Z", + "iopub.status.idle": "2023-07-25T23:59:07.297030Z", + "shell.execute_reply": "2023-07-25T23:59:07.296741Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mpgdisplacementhorsepower
name
amc rebel sst16.0304.0150.0
ford torino17.0302.0140.0
\n", + "
" + ], + "text/plain": [ + " mpg displacement horsepower\n", + "name \n", + "amc rebel sst 16.0 304.0 150.0\n", + "ford torino 17.0 302.0 140.0" + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto_re.iloc[[3,4],[0,2,3]]\n" ] @@ -2434,12 +5762,81 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 92, "id": "f1d0e795", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.298585Z", + "iopub.status.busy": "2023-07-25T23:59:07.298496Z", + "iopub.status.idle": "2023-07-25T23:59:07.302678Z", + "shell.execute_reply": "2023-07-25T23:59:07.302401Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mpgorigin
name
ford galaxie 50015.01
ford galaxie 50014.01
ford galaxie 50014.01
\n", + "
" + ], + "text/plain": [ + " mpg origin\n", + "name \n", + "ford galaxie 500 15.0 1\n", + "ford galaxie 500 14.0 1\n", + "ford galaxie 500 14.0 1" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto_re.loc['ford galaxie 500', ['mpg', 'origin']]\n" ] @@ -2458,12 +5855,411 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 93, "id": "392f10a1", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.304283Z", + "iopub.status.busy": "2023-07-25T23:59:07.304161Z", + "iopub.status.idle": "2023-07-25T23:59:07.310436Z", + "shell.execute_reply": "2023-07-25T23:59:07.310156Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
weightorigin
name
plymouth reliant2490.01
buick skylark2635.01
dodge aries wagon (sw)2620.01
chevrolet citation2725.01
plymouth reliant2385.01
toyota starlet1755.03
plymouth champ1875.01
honda civic 13001760.03
subaru2065.03
datsun 210 mpg1975.03
toyota tercel2050.03
mazda glc 41985.03
plymouth horizon 42215.01
ford escort 4w2045.01
ford escort 2h2380.01
volkswagen jetta2190.02
honda prelude2210.03
toyota corolla2350.03
datsun 200sx2615.03
mazda 6262635.03
peugeot 505s turbo diesel3230.02
volvo diesel3160.02
toyota cressida2900.03
datsun 810 maxima2930.03
buick century3415.01
oldsmobile cutlass ls3725.01
ford granada gl3060.01
chrysler lebaron salon3465.01
chevrolet cavalier2605.01
chevrolet cavalier wagon2640.01
chevrolet cavalier 2-door2395.01
pontiac j2000 se hatchback2575.01
dodge aries se2525.01
pontiac phoenix2735.01
ford fairmont futura2865.01
volkswagen rabbit l1980.02
mazda glc custom l2025.03
mazda glc custom1970.03
plymouth horizon miser2125.01
mercury lynx l2125.01
nissan stanza xe2160.03
honda accord2205.03
toyota corolla2245.03
honda civic1965.03
honda civic (auto)1965.03
datsun 310 gx1995.03
buick century limited2945.01
oldsmobile cutlass ciera (diesel)3015.01
chrysler lebaron medallion2585.01
ford granada l2835.01
toyota celica gt2665.03
dodge charger 2.22370.01
chevrolet camaro2950.01
ford mustang gl2790.01
vw pickup2130.02
dodge rampage2295.01
ford ranger2625.01
chevy s-102720.01
\n", + "
" + ], + "text/plain": [ + " weight origin\n", + "name \n", + "plymouth reliant 2490.0 1\n", + "buick skylark 2635.0 1\n", + "dodge aries wagon (sw) 2620.0 1\n", + "chevrolet citation 2725.0 1\n", + "plymouth reliant 2385.0 1\n", + "toyota starlet 1755.0 3\n", + "plymouth champ 1875.0 1\n", + "honda civic 1300 1760.0 3\n", + "subaru 2065.0 3\n", + "datsun 210 mpg 1975.0 3\n", + "toyota tercel 2050.0 3\n", + "mazda glc 4 1985.0 3\n", + "plymouth horizon 4 2215.0 1\n", + "ford escort 4w 2045.0 1\n", + "ford escort 2h 2380.0 1\n", + "volkswagen jetta 2190.0 2\n", + "honda prelude 2210.0 3\n", + "toyota corolla 2350.0 3\n", + "datsun 200sx 2615.0 3\n", + "mazda 626 2635.0 3\n", + "peugeot 505s turbo diesel 3230.0 2\n", + "volvo diesel 3160.0 2\n", + "toyota cressida 2900.0 3\n", + "datsun 810 maxima 2930.0 3\n", + "buick century 3415.0 1\n", + "oldsmobile cutlass ls 3725.0 1\n", + "ford granada gl 3060.0 1\n", + "chrysler lebaron salon 3465.0 1\n", + "chevrolet cavalier 2605.0 1\n", + "chevrolet cavalier wagon 2640.0 1\n", + "chevrolet cavalier 2-door 2395.0 1\n", + "pontiac j2000 se hatchback 2575.0 1\n", + "dodge aries se 2525.0 1\n", + "pontiac phoenix 2735.0 1\n", + "ford fairmont futura 2865.0 1\n", + "volkswagen rabbit l 1980.0 2\n", + "mazda glc custom l 2025.0 3\n", + "mazda glc custom 1970.0 3\n", + "plymouth horizon miser 2125.0 1\n", + "mercury lynx l 2125.0 1\n", + "nissan stanza xe 2160.0 3\n", + "honda accord 2205.0 3\n", + "toyota corolla 2245.0 3\n", + "honda civic 1965.0 3\n", + "honda civic (auto) 1965.0 3\n", + "datsun 310 gx 1995.0 3\n", + "buick century limited 2945.0 1\n", + "oldsmobile cutlass ciera (diesel) 3015.0 1\n", + "chrysler lebaron medallion 2585.0 1\n", + "ford granada l 2835.0 1\n", + "toyota celica gt 2665.0 3\n", + "dodge charger 2.2 2370.0 1\n", + "chevrolet camaro 2950.0 1\n", + "ford mustang gl 2790.0 1\n", + "vw pickup 2130.0 2\n", + "dodge rampage 2295.0 1\n", + "ford ranger 2625.0 1\n", + "chevy s-10 2720.0 1" + ] + }, + "execution_count": 93, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "idx_80 = Auto_re['year'] > 80\n", "Auto_re.loc[idx_80, ['weight', 'origin']]\n" @@ -2479,12 +6275,411 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 94, "id": "5f5b7906", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.312105Z", + "iopub.status.busy": "2023-07-25T23:59:07.311981Z", + "iopub.status.idle": "2023-07-25T23:59:07.318156Z", + "shell.execute_reply": "2023-07-25T23:59:07.317907Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
weightorigin
name
plymouth reliant2490.01
buick skylark2635.01
dodge aries wagon (sw)2620.01
chevrolet citation2725.01
plymouth reliant2385.01
toyota starlet1755.03
plymouth champ1875.01
honda civic 13001760.03
subaru2065.03
datsun 210 mpg1975.03
toyota tercel2050.03
mazda glc 41985.03
plymouth horizon 42215.01
ford escort 4w2045.01
ford escort 2h2380.01
volkswagen jetta2190.02
honda prelude2210.03
toyota corolla2350.03
datsun 200sx2615.03
mazda 6262635.03
peugeot 505s turbo diesel3230.02
volvo diesel3160.02
toyota cressida2900.03
datsun 810 maxima2930.03
buick century3415.01
oldsmobile cutlass ls3725.01
ford granada gl3060.01
chrysler lebaron salon3465.01
chevrolet cavalier2605.01
chevrolet cavalier wagon2640.01
chevrolet cavalier 2-door2395.01
pontiac j2000 se hatchback2575.01
dodge aries se2525.01
pontiac phoenix2735.01
ford fairmont futura2865.01
volkswagen rabbit l1980.02
mazda glc custom l2025.03
mazda glc custom1970.03
plymouth horizon miser2125.01
mercury lynx l2125.01
nissan stanza xe2160.03
honda accord2205.03
toyota corolla2245.03
honda civic1965.03
honda civic (auto)1965.03
datsun 310 gx1995.03
buick century limited2945.01
oldsmobile cutlass ciera (diesel)3015.01
chrysler lebaron medallion2585.01
ford granada l2835.01
toyota celica gt2665.03
dodge charger 2.22370.01
chevrolet camaro2950.01
ford mustang gl2790.01
vw pickup2130.02
dodge rampage2295.01
ford ranger2625.01
chevy s-102720.01
\n", + "
" + ], + "text/plain": [ + " weight origin\n", + "name \n", + "plymouth reliant 2490.0 1\n", + "buick skylark 2635.0 1\n", + "dodge aries wagon (sw) 2620.0 1\n", + "chevrolet citation 2725.0 1\n", + "plymouth reliant 2385.0 1\n", + "toyota starlet 1755.0 3\n", + "plymouth champ 1875.0 1\n", + "honda civic 1300 1760.0 3\n", + "subaru 2065.0 3\n", + "datsun 210 mpg 1975.0 3\n", + "toyota tercel 2050.0 3\n", + "mazda glc 4 1985.0 3\n", + "plymouth horizon 4 2215.0 1\n", + "ford escort 4w 2045.0 1\n", + "ford escort 2h 2380.0 1\n", + "volkswagen jetta 2190.0 2\n", + "honda prelude 2210.0 3\n", + "toyota corolla 2350.0 3\n", + "datsun 200sx 2615.0 3\n", + "mazda 626 2635.0 3\n", + "peugeot 505s turbo diesel 3230.0 2\n", + "volvo diesel 3160.0 2\n", + "toyota cressida 2900.0 3\n", + "datsun 810 maxima 2930.0 3\n", + "buick century 3415.0 1\n", + "oldsmobile cutlass ls 3725.0 1\n", + "ford granada gl 3060.0 1\n", + "chrysler lebaron salon 3465.0 1\n", + "chevrolet cavalier 2605.0 1\n", + "chevrolet cavalier wagon 2640.0 1\n", + "chevrolet cavalier 2-door 2395.0 1\n", + "pontiac j2000 se hatchback 2575.0 1\n", + "dodge aries se 2525.0 1\n", + "pontiac phoenix 2735.0 1\n", + "ford fairmont futura 2865.0 1\n", + "volkswagen rabbit l 1980.0 2\n", + "mazda glc custom l 2025.0 3\n", + "mazda glc custom 1970.0 3\n", + "plymouth horizon miser 2125.0 1\n", + "mercury lynx l 2125.0 1\n", + "nissan stanza xe 2160.0 3\n", + "honda accord 2205.0 3\n", + "toyota corolla 2245.0 3\n", + "honda civic 1965.0 3\n", + "honda civic (auto) 1965.0 3\n", + "datsun 310 gx 1995.0 3\n", + "buick century limited 2945.0 1\n", + "oldsmobile cutlass ciera (diesel) 3015.0 1\n", + "chrysler lebaron medallion 2585.0 1\n", + "ford granada l 2835.0 1\n", + "toyota celica gt 2665.0 3\n", + "dodge charger 2.2 2370.0 1\n", + "chevrolet camaro 2950.0 1\n", + "ford mustang gl 2790.0 1\n", + "vw pickup 2130.0 2\n", + "dodge rampage 2295.0 1\n", + "ford ranger 2625.0 1\n", + "chevy s-10 2720.0 1" + ] + }, + "execution_count": 94, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto_re.loc[lambda df: df['year'] > 80, ['weight', 'origin']]\n" ] @@ -2504,12 +6699,267 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 95, "id": "b13c5728", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.319807Z", + "iopub.status.busy": "2023-07-25T23:59:07.319681Z", + "iopub.status.idle": "2023-07-25T23:59:07.325115Z", + "shell.execute_reply": "2023-07-25T23:59:07.324828Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
weightorigin
name
toyota starlet1755.03
plymouth champ1875.01
honda civic 13001760.03
subaru2065.03
datsun 210 mpg1975.03
toyota tercel2050.03
mazda glc 41985.03
plymouth horizon 42215.01
ford escort 4w2045.01
volkswagen jetta2190.02
honda prelude2210.03
toyota corolla2350.03
datsun 200sx2615.03
mazda 6262635.03
volvo diesel3160.02
chevrolet cavalier 2-door2395.01
pontiac j2000 se hatchback2575.01
volkswagen rabbit l1980.02
mazda glc custom l2025.03
mazda glc custom1970.03
plymouth horizon miser2125.01
mercury lynx l2125.01
nissan stanza xe2160.03
honda accord2205.03
toyota corolla2245.03
honda civic1965.03
honda civic (auto)1965.03
datsun 310 gx1995.03
oldsmobile cutlass ciera (diesel)3015.01
toyota celica gt2665.03
dodge charger 2.22370.01
vw pickup2130.02
dodge rampage2295.01
chevy s-102720.01
\n", + "
" + ], + "text/plain": [ + " weight origin\n", + "name \n", + "toyota starlet 1755.0 3\n", + "plymouth champ 1875.0 1\n", + "honda civic 1300 1760.0 3\n", + "subaru 2065.0 3\n", + "datsun 210 mpg 1975.0 3\n", + "toyota tercel 2050.0 3\n", + "mazda glc 4 1985.0 3\n", + "plymouth horizon 4 2215.0 1\n", + "ford escort 4w 2045.0 1\n", + "volkswagen jetta 2190.0 2\n", + "honda prelude 2210.0 3\n", + "toyota corolla 2350.0 3\n", + "datsun 200sx 2615.0 3\n", + "mazda 626 2635.0 3\n", + "volvo diesel 3160.0 2\n", + "chevrolet cavalier 2-door 2395.0 1\n", + "pontiac j2000 se hatchback 2575.0 1\n", + "volkswagen rabbit l 1980.0 2\n", + "mazda glc custom l 2025.0 3\n", + "mazda glc custom 1970.0 3\n", + "plymouth horizon miser 2125.0 1\n", + "mercury lynx l 2125.0 1\n", + "nissan stanza xe 2160.0 3\n", + "honda accord 2205.0 3\n", + "toyota corolla 2245.0 3\n", + "honda civic 1965.0 3\n", + "honda civic (auto) 1965.0 3\n", + "datsun 310 gx 1995.0 3\n", + "oldsmobile cutlass ciera (diesel) 3015.0 1\n", + "toyota celica gt 2665.0 3\n", + "dodge charger 2.2 2370.0 1\n", + "vw pickup 2130.0 2\n", + "dodge rampage 2295.0 1\n", + "chevy s-10 2720.0 1" + ] + }, + "execution_count": 95, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto_re.loc[lambda df: (df['year'] > 80) & (df['mpg'] > 30),\n", " ['weight', 'origin']\n", @@ -2529,12 +6979,369 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 96, "id": "d5a2c3be", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.326839Z", + "iopub.status.busy": "2023-07-25T23:59:07.326718Z", + "iopub.status.idle": "2023-07-25T23:59:07.333291Z", + "shell.execute_reply": "2023-07-25T23:59:07.333002Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
weightorigin
name
ford maverick2587.01
datsun pl5102130.03
datsun pl5102130.03
ford torino 5003302.01
ford mustang3139.01
datsun 12001613.03
ford pinto runabout2226.01
ford pinto (sw)2395.01
datsun 510 (sw)2288.03
ford maverick3021.01
datsun 6102379.03
ford pinto2310.01
datsun b2101950.03
ford pinto2451.01
datsun 7102003.03
ford maverick3158.01
ford pinto2639.01
datsun 7102545.03
ford pinto2984.01
ford maverick3012.01
ford granada ghia3574.01
datsun b-2101990.03
ford pinto2565.01
datsun f-10 hatchback1945.03
ford granada3525.01
ford mustang ii 2+22755.01
datsun 8102815.03
ford fiesta1800.01
datsun b210 gx2070.03
ford fairmont (auto)2965.01
ford fairmont (man)2720.01
datsun 5102300.03
datsun 200-sx2405.03
ford fairmont 42890.01
datsun 2102020.03
datsun 3102019.03
ford fairmont2870.01
datsun 510 hatchback2434.03
datsun 2102110.03
datsun 280-zx2910.03
datsun 210 mpg1975.03
ford escort 4w2045.01
ford escort 2h2380.01
datsun 200sx2615.03
datsun 810 maxima2930.03
ford granada gl3060.01
ford fairmont futura2865.01
datsun 310 gx1995.03
ford granada l2835.01
ford mustang gl2790.01
ford ranger2625.01
\n", + "
" + ], + "text/plain": [ + " weight origin\n", + "name \n", + "ford maverick 2587.0 1\n", + "datsun pl510 2130.0 3\n", + "datsun pl510 2130.0 3\n", + "ford torino 500 3302.0 1\n", + "ford mustang 3139.0 1\n", + "datsun 1200 1613.0 3\n", + "ford pinto runabout 2226.0 1\n", + "ford pinto (sw) 2395.0 1\n", + "datsun 510 (sw) 2288.0 3\n", + "ford maverick 3021.0 1\n", + "datsun 610 2379.0 3\n", + "ford pinto 2310.0 1\n", + "datsun b210 1950.0 3\n", + "ford pinto 2451.0 1\n", + "datsun 710 2003.0 3\n", + "ford maverick 3158.0 1\n", + "ford pinto 2639.0 1\n", + "datsun 710 2545.0 3\n", + "ford pinto 2984.0 1\n", + "ford maverick 3012.0 1\n", + "ford granada ghia 3574.0 1\n", + "datsun b-210 1990.0 3\n", + "ford pinto 2565.0 1\n", + "datsun f-10 hatchback 1945.0 3\n", + "ford granada 3525.0 1\n", + "ford mustang ii 2+2 2755.0 1\n", + "datsun 810 2815.0 3\n", + "ford fiesta 1800.0 1\n", + "datsun b210 gx 2070.0 3\n", + "ford fairmont (auto) 2965.0 1\n", + "ford fairmont (man) 2720.0 1\n", + "datsun 510 2300.0 3\n", + "datsun 200-sx 2405.0 3\n", + "ford fairmont 4 2890.0 1\n", + "datsun 210 2020.0 3\n", + "datsun 310 2019.0 3\n", + "ford fairmont 2870.0 1\n", + "datsun 510 hatchback 2434.0 3\n", + "datsun 210 2110.0 3\n", + "datsun 280-zx 2910.0 3\n", + "datsun 210 mpg 1975.0 3\n", + "ford escort 4w 2045.0 1\n", + "ford escort 2h 2380.0 1\n", + "datsun 200sx 2615.0 3\n", + "datsun 810 maxima 2930.0 3\n", + "ford granada gl 3060.0 1\n", + "ford fairmont futura 2865.0 1\n", + "datsun 310 gx 1995.0 3\n", + "ford granada l 2835.0 1\n", + "ford mustang gl 2790.0 1\n", + "ford ranger 2625.0 1" + ] + }, + "execution_count": 96, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto_re.loc[lambda df: (df['displacement'] < 300)\n", " & (df.index.str.contains('ford')\n", @@ -2563,12 +7370,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 97, "id": "a6278441", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.334977Z", + "iopub.status.busy": "2023-07-25T23:59:07.334854Z", + "iopub.status.idle": "2023-07-25T23:59:07.336902Z", + "shell.execute_reply": "2023-07-25T23:59:07.336651Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total is: 24\n" + ] + } + ], "source": [ "total = 0\n", "for value in [3,2,19]:\n", @@ -2593,12 +7414,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 98, "id": "2aa065a8", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.338535Z", + "iopub.status.busy": "2023-07-25T23:59:07.338415Z", + "iopub.status.idle": "2023-07-25T23:59:07.340499Z", + "shell.execute_reply": "2023-07-25T23:59:07.340239Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total is: 144\n" + ] + } + ], "source": [ "total = 0\n", "for value in [2,3,19]:\n", @@ -2631,10 +7466,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 99, "id": "832c1b7d", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.342189Z", + "iopub.status.busy": "2023-07-25T23:59:07.342070Z", + "iopub.status.idle": "2023-07-25T23:59:07.344236Z", + "shell.execute_reply": "2023-07-25T23:59:07.343978Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Weighted average is: 10.8\n" + ] + } + ], "source": [ "total = 0\n", "for value, weight in zip([2,3,19],\n", @@ -2671,12 +7521,87 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 100, "id": "2ca2e7cd", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.345832Z", + "iopub.status.busy": "2023-07-25T23:59:07.345720Z", + "iopub.status.idle": "2023-07-25T23:59:07.350825Z", + "shell.execute_reply": "2023-07-25T23:59:07.350528Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
foodbarpicklesnackpopcorn
00.3455840.8216180.330437-1.303157NaN
1NaN-0.5369530.5811180.3645720.294132
2NaN0.546713NaN-0.162910-0.482119
\n", + "
" + ], + "text/plain": [ + " food bar pickle snack popcorn\n", + "0 0.345584 0.821618 0.330437 -1.303157 NaN\n", + "1 NaN -0.536953 0.581118 0.364572 0.294132\n", + "2 NaN 0.546713 NaN -0.162910 -0.482119" + ] + }, + "execution_count": 100, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "rng = np.random.default_rng(1)\n", "A = rng.standard_normal((127, 5))\n", @@ -2692,12 +7617,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 101, "id": "d8ae1dcc", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.352395Z", + "iopub.status.busy": "2023-07-25T23:59:07.352287Z", + "iopub.status.idle": "2023-07-25T23:59:07.354931Z", + "shell.execute_reply": "2023-07-25T23:59:07.354663Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Column \"food\" has 16.54% missing values\n", + "Column \"bar\" has 25.98% missing values\n", + "Column \"pickle\" has 29.13% missing values\n", + "Column \"snack\" has 21.26% missing values\n", + "Column \"popcorn\" has 22.83% missing values\n" + ] + } + ], "source": [ "for col in D.columns:\n", " template = 'Column \"{0}\" has {1:.2%} missing values'\n", @@ -2731,12 +7674,40 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 102, "id": "30a8a663", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.356627Z", + "iopub.status.busy": "2023-07-25T23:59:07.356508Z", + "iopub.status.idle": "2023-07-25T23:59:07.458864Z", + "shell.execute_reply": "2023-07-25T23:59:07.458518Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'horsepower' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[102], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m fig, ax \u001b[38;5;241m=\u001b[39m subplots(figsize\u001b[38;5;241m=\u001b[39m(\u001b[38;5;241m8\u001b[39m, \u001b[38;5;241m8\u001b[39m))\n\u001b[0;32m----> 2\u001b[0m ax\u001b[38;5;241m.\u001b[39mplot(\u001b[43mhorsepower\u001b[49m, mpg, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mo\u001b[39m\u001b[38;5;124m'\u001b[39m);\n", + "\u001b[0;31mNameError\u001b[0m: name 'horsepower' is not defined" + ] + }, + { + "data": { + "image/png": "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rF69Oh599NHYuXNnPP3007F58+Z44IEHTrhmxYoV0d3dPXg7cODAWG8TAIBkSrqiOmnSpCgvL4+urq4h411dXTFlypRh19x3332xcOHCuOWWWyIi4tJLL40jR47EbbfdFitXroyysuNbubKyMiorK0vZGgAAp5iSrqhWVFTE7Nmzo62tbXBsYGAg2traoqGhYdg1b7311nExWl5eHhERRVGUul8AAE4TJV1RjYhobm6OxYsXx5w5c2Lu3Lmxdu3aOHLkSCxZsiQiIhYtWhTTp0+P1tbWiIiYN29ePPzww3H55ZdHfX197N27N+67776YN2/eYLACAMA7lRyqCxYsiIMHD8aqVauis7MzZs2aFVu3bh38gNX+/fuHXEG99957Y8KECXHvvffGr371q/jTP/3TmDdvXnz1q18dvWcBAMApZ0LxAXj9vaenJ2pqaqK7uzuqq6tP9nYAAHiHsei1Mf/UPwAAjIRQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoAQEpCFQCAlIQqAAApCVUAAFISqgAApCRUAQBISagCAJCSUAUAICWhCgBASkIVAICUhCoAACkJVQAAUhKqAACkJFQBAEhJqAIAkJJQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoAQEpCFQCAlIQqAAApCVUAAFISqgAApCRUAQBISagCAJCSUAUAICWhCgBASkIVAICUhCoAACkJVQAAUhKqAACkJFQBAEhJqAIAkJJQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoAQEpCFQCAlIQqAAApCVUAAFISqgAApCRUAQBISagCAJCSUAUAICWhCgBASkIVAICUhCoAACkJVQAAUhKqAACkJFQBAEhJqAIAkJJQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoAQEpCFQCAlIQqAAApCVUAAFISqgAApCRUAQBISagCAJCSUAUAICWhCgBASkIVAICUhCoAACkJVQAAUhKqAACkJFQBAEhJqAIAkJJQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoA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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax.plot(horsepower, mpg, 'o');" @@ -2752,12 +7723,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 103, "id": "81fdedb1", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.460807Z", + "iopub.status.busy": "2023-07-25T23:59:07.460673Z", + "iopub.status.idle": "2023-07-25T23:59:07.556888Z", + "shell.execute_reply": "2023-07-25T23:59:07.556504Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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u+8+BQKBmJ+zzz578P2enh6tXLlS5eXlGj9+vK699lodOnTIwx57b+bMmSPGLBAIaOXKlZKkz372syPe+9rXvuZxrzNn+/btWrp0qaZNm6ZAIKBf//rXMe8bhqF7771X4XBYY8eO1aWXXqp33nknpk17e7tuuOEGlZaWauLEibrlllt07NixDJ5FZiUasxMnTmjVqlU677zzNG7cOE2bNk1f+tKX9MEHH8TsI951ef/992f4TDIj2TX25S9/ecRYLFmyJKYN19ivY96P929aIBDQgw8+ONgmn66x2tpaffrTn9aECRM0ZcoUXX311dq7d29MGyt/H9977z1dddVVKikp0ZQpU/TNb35TJ0+ezOSpZEyyMWtvb9c3vvENnXXWWRo7dqxOO+00/e3f/q06Ojpi9hPvOnz66aczfTopIdhM4Nxzz1VLS8vgz8svvzz43p133qlNmzbpV7/6lbZt26YPPvhA11xzjYe99d5rr70WM15btmyRJP3P//k/B9vU1NTEtPnBD37gVXczrqurSxdccIF++tOfxn3/Bz/4gX7yk5/ooYce0quvvqpx48bp8ssvV09Pz2CbG264QW+99Za2bNmi3/zmN9q+fbu++tWvZuoUMi7RmHV3d2vPnj265557tGfPHj3zzDPau3evli1bNqLtd77znZjr7hvf+EYmup9xya4xSVqyZEnMWDz11FMx73ONxRo6Vi0tLfr5z3+uQCCga6+9NqZdvlxj27Zt08qVK7Vz505t2bJFJ06c0GWXXaaurq7BNsn+Pvb39+uqq65SX1+ffve73+kXv/iFHnvsMd17771enJLrko3ZBx98oA8++ED/+I//qMbGRj322GOqq6vTLbfcMmJfjz76aMx1dvXVV2f4bFJkIK41a9YYF1xwQdz3jhw5YowZM8b41a9+Nfja22+/bUgy6uvrM9RD/7v99tuNWbNmGZFIxDAMw/jMZz5j3H777d52yickGc8+++zg75FIxAiFQsaDDz44+NqRI0eMoqIi46mnnjIMwzCampoMScZrr7022OY///M/jUAgYBw8eDBjfffK8DGLZ9euXYYk48CBA4OvzZgxw/jRj37kbud8KN543Xzzzcby5ctNt+EaS36NLV++3Fi0aFHMa/l6jRmGYRw+fNiQZGzbts0wDGt/Hzdv3mwUFBQYra2tg23WrVtnlJaWGr29vZk9AQ8MH7N4/v3f/90oLCw0Tpw4MfialevTr7izmcA777yjadOm6fTTT9cNN9yg9957T5K0e/dunThxQpdeeulg27PPPlunnXaa6uvrvequr/T19WnDhg3667/+awUCgcHXn3jiCU2ePFlVVVVavXq1uru7PeylfzQ3N6u1tTXmmgoGg5o3b97gNVVfX6+JEyfqL/7iLwbbXHrppSooKNCrr76a8T77UUdHhwKBgCZOnBjz+v3336/y8nJ96lOf0oMPPpiz03VWvPTSS5oyZYrOOussrVixQm1tbYPvcY0ldujQIf32t7+Ne8cpX6+x6FRvWVmZJGt/H+vr63Xeeedp6tSpg20uv/xydXZ26q233spg770xfMzM2pSWlmr06NExr69cuVKTJ0/W3Llz9fOf/1xGlqzLMzp5k/w0b948PfbYYzrrrLPU0tKitWvXasGCBWpsbFRra6sKCwtH/EGbOnWqWltbvemwz/z617/WkSNH9OUvf3nwtS9+8YuaMWOGpk2bpjfeeEOrVq3S3r179cwzz3jXUZ+IXjdD//GN/h59r7W1VVOmTIl5f/To0SorK+O608BzYqtWrdL111+v0tLSwdf/9m//VnPmzFFZWZl+97vfafXq1WppadEPf/hDD3vrjSVLluiaa65RRUWF9u3bp29961u64oorVF9fr1GjRnGNJfGLX/xCEyZMGPHIVL5eY5FIRHfccYcuuugiVVVVSZKlv4+tra1x/62LvpfL4o3ZcB9++KG++93vjnh85Tvf+Y4WLVqkkpIS/e///b/19a9/XceOHdPf/u3fZqLrjhBsmrjiiisG//v888/XvHnzNGPGDP37v/+7xo4d62HPssMjjzyiK664QtOmTRt8begX57zzzlM4HNYll1yiffv2adasWV50EznixIkT+qu/+isZhqF169bFvHfXXXcN/vf555+vwsJC3Xrrraqtrc259YeTue666wb/+7zzztP555+vWbNm6aWXXtIll1ziYc+yw89//nPdcMMNKi4ujnk9X6+xlStXqrGxMSafAYklG7POzk5dddVVqqys1H333Rfz3j333DP435/61KfU1dWlBx98MCuCTabRLZo4caI++clP6t1331UoFFJfX5+OHDkS0+bQoUMKhULedNBHDhw4oOeff15/8zd/k7DdvHnzJEnvvvtuJrrla9HrZnjG5tBrKhQK6fDhwzHvnzx5Uu3t7Xl93UUDzQMHDmjLli0xdzXjmTdvnk6ePKn9+/dnpoM+dvrpp2vy5MmD30GuMXM7duzQ3r17k/67JuXHNXbbbbfpN7/5jV588UWdeuqpg69b+fsYCoXi/lsXfS9XmY1Z1NGjR7VkyRJNmDBBzz77rMaMGZNwf/PmzdOf//xn9fb2utXltCHYtOjYsWPat2+fwuGwLrzwQo0ZM0YvvPDC4Pt79+7Ve++9p+rqag976Q+PPvqopkyZoquuuiphu4aGBklSOBzOQK/8raKiQqFQKOaa6uzs1Kuvvjp4TVVXV+vIkSPavXv3YJutW7cqEokMBu75JhpovvPOO3r++edVXl6edJuGhgYVFBSMmC7OR3/+85/V1tY2+B3kGjP3yCOP6MILL9QFF1yQtG0uX2OGYei2227Ts88+q61bt6qioiLmfSt/H6urq/Xmm2/G/I9N9H8UKysrM3MiGZRszKSBf+8vu+wyFRYW6rnnnhtx9zyehoYGTZo0KTvunnubn+Rfd999t/HSSy8Zzc3NxiuvvGJceumlxuTJk43Dhw8bhmEYX/va14zTTjvN2Lp1q/H73//eqK6uNqqrqz3utff6+/uN0047zVi1alXM6++++67xne98x/j9739vNDc3Gxs3bjROP/10Y+HChR71NPOOHj1qvP7668brr79uSDJ++MMfGq+//vpg5vT9999vTJw40di4caPxxhtvGMuXLzcqKiqM48ePD+5jyZIlxqc+9Snj1VdfNV5++WXjzDPPNK6//nqvTsl1icasr6/PWLZsmXHqqacaDQ0NRktLy+BPNKP1d7/7nfGjH/3IaGhoMPbt22ds2LDB+MQnPmF86Utf8vjM3JFovI4ePWr8r//1v4z6+nqjubnZeP755405c+YYZ555ptHT0zO4D66x2O+lYRhGR0eHUVJSYqxbt27E9vl2ja1YscIIBoPGSy+9FPOd6+7uHmyT7O/jyZMnjaqqKuOyyy4zGhoajLq6OuMTn/iEsXr1ai9OyXXJxqyjo8OYN2+ecd555xnvvvtuTJuTJ08ahmEYzz33nLF+/XrjzTffNN555x3jZz/7mVFSUmLce++9Xp6aZQSbJr7whS8Y4XDYKCwsNE455RTjC1/4gvHuu+8Ovn/8+HHj61//ujFp0iSjpKTE+PznP2+0tLR42GN/+K//+i9DkrF3796Y19977z1j4cKFRllZmVFUVGScccYZxje/+U2jo6PDo55m3osvvmhIGvFz8803G4YxUP7onnvuMaZOnWoUFRUZl1xyyYhxbGtrM66//npj/PjxRmlpqfGVr3zFOHr0qAdnkxmJxqy5uTnue5KMF1980TAMw9i9e7cxb948IxgMGsXFxcY555xjfP/7348JrnJJovHq7u42LrvsMuMTn/iEMWbMGGPGjBlGTU1NTPkZw+AaG/69NAzDePjhh42xY8caR44cGbF9vl1jZt+5Rx99dLCNlb+P+/fvN6644gpj7NixxuTJk4277747psxPLkk2ZmbXoCSjubnZMIyBEmSzZ882xo8fb4wbN8644IILjIceesjo7+/37sRsCBhGluTNAwAAIOvwzCYAAABcQ7AJAAAA1xBsAgAAwDUEmwAAAHANwSYAAABcQ7AJAAAA1xBsAgAAwDUEmwAAAHANwSYAAABcQ7AJAAAA1xBsAgAAwDX/f8B+++iQ8lpHAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax.plot(Auto['horsepower'], Auto['mpg'], 'o');\n" @@ -2777,12 +7765,47 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 104, "id": "61850515", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.558736Z", + "iopub.status.busy": "2023-07-25T23:59:07.558598Z", + "iopub.status.idle": "2023-07-25T23:59:07.668649Z", + "shell.execute_reply": "2023-07-25T23:59:07.668299Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pandas/plotting/_matplotlib/core.py:1114: UserWarning: No data for colormapping provided via 'c'. Parameters 'cmap' will be ignored\n", + " scatter = ax.scatter(\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Horsepower vs. MPG')" + ] + }, + "execution_count": 104, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "ax = Auto.plot.scatter('horsepower', 'mpg');\n", "ax.set_title('Horsepower vs. MPG')" @@ -2800,9 +7823,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 105, "id": "f2e0c165", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.670624Z", + "iopub.status.busy": "2023-07-25T23:59:07.670488Z", + "iopub.status.idle": "2023-07-25T23:59:07.713512Z", + "shell.execute_reply": "2023-07-25T23:59:07.713197Z" + } + }, "outputs": [], "source": [ "fig = ax.figure\n", @@ -2824,10 +7854,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 106, "id": "35c72e77", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.715540Z", + "iopub.status.busy": "2023-07-25T23:59:07.715402Z", + "iopub.status.idle": "2023-07-25T23:59:07.907697Z", + "shell.execute_reply": "2023-07-25T23:59:07.907310Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABMkAAAHFCAYAAADoqq5IAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACJzElEQVR4nO3de1zX9f3///sbRBQVRN54ShQU0swTmpqSqOWyw69yta0P9cnyY7U105VrK9dptjZdq9ZnZLVPs4OfT1Frq9aqb4c5RUVLU1i2HIGAhwp5gxwEShBevz/c+x1veJ95H+F2vVy4TJ6v1+v5eryeuDe9Hj6fj6fJMAxDAAAAAAAAQC8WFeoAAAAAAAAAgFAjSQYAAAAAAIBejyQZAAAAAAAAej2SZAAAAAAAAOj1SJIBAAAAAACg1yNJBgAAAAAAgF6PJBkAAAAAAAB6PZJkAAAAAAAA6PVIkgEAAAAAAKDXI0kGAAAAAACAXs/rJNm2bdt02WWXaeTIkTKZTHr99dfdXrN161ZNnz5dsbGxSk9P13PPPedDqAAAAADQPbzPAACc8TpJ1tTUpKlTp2rDhg0enV9eXq5LL71UCxcuVFFRkW677TbdeOONevfdd70OFgAAAAC6g/cZAIAzJsMwDJ8vNpn02muvacmSJU7PufPOO/XWW2/pk08+sbX9x3/8h+rq6vTOO+/4emsAAAAA6BbeZwAAHfUJ9A127dqlRYsW2bUtXrxYt912m9NrTp48qZMnT9q+b29v1/Hjx5WUlCSTyRSoUAGg1zAMQydOnNDIkSMVFUV5yvb2dn3xxRcaNGgQv2cAwA960u8Z3mcAIPwE6vdMwJNklZWVGjZsmF3bsGHD1NDQoK+++kr9+/fvcs26deu0du3aQIcGAL3ekSNHNGrUqFCHEXJffPGFUlJSQh0GAPQ4PeH3DO8zABC+/P17JuBJMl+sWbNGq1evtn1fX1+v0aNH68iRI4qPjw9hZADQMzQ0NCglJUWDBg0KdShhwToO/J4BAP/o7b9neJ8BgMAK1O+ZgCfJhg8frmPHjtm1HTt2TPHx8Q7/1UWSYmNjFRsb26U9Pj6eXyoA4Ecs+TjNOg78ngEA/+oJv2d4nwGA8OXv3zMBLxAwZ84cbd682a7t/fff15w5cwJ9awAAAADoFt5nAKD38DpJ1tjYqKKiIhUVFUk6vSVyUVGRDh8+LOn01OKlS5fazv/BD36gsrIy/fSnP9W//vUvPfHEE/rjH/+o22+/3T9PAAAAAAAe4n0GAOCM10myjz76SJmZmcrMzJQkrV69WpmZmbrvvvskSV9++aXtF4wkpaWl6a233tL777+vqVOn6pFHHtEf/vAHLV682E+PAAAAAACe4X0GAOCMyTAMI9RBuNPQ0KCEhATV19ezhh8A/IDPVXuMBwD4F5+r9hgPAPCvQH2uBrwmGQAAAAAAABDuSJIBAAAAAACg1yNJBgAAAAAAgF6PJBkAAAAAAAB6PZJkAAAAAAAA6PVIkgEAAAAAAKDX6xPqAAAAQPeUWRp16HizUpMGKM08INThAAAAABGJJBkAABGqrrlFq/KKtK3EYmvLzkhWbk6mEuJiQhgZAAAAEHlYbgkAQIRalVekgtJqu7aC0mqtzCsMUUQAAABA5CJJBgBABCqzNGpbiUVthmHX3mYY2lZiUXl1U4giAwAAACITSTIAACLQoePNLo9X1JAkAwAAALxBkgwAgAg0Zkicy+OpSRTwBwAAALxBkgwAgAg0NnmgsjOSFW0y2bVHm0zKzkhml0sAAADASyTJAACIULk5mcpKN9u1ZaWblZuTGaKIAAAAgMjVJ9QBAAAA3yTExWjT8lkqr25SRU2TUpMGMIMMAAAA8BFJMgAAIlyameQYAAAA0F0stwQAAAAAAECvR5IMAAAAAAAAvR5JMgAAAAAAAPR6JMkAAAAAAADQ65EkAwAAAAAAQK9HkgwAEDHWr18vk8mk2267zda2YMECmUwmu68f/OAHoQsSAAAAQETqE+oAAADwxJ49e/T73/9eU6ZM6XLspptu0gMPPGD7Pi4uLpihAQAAAOgBmEkGAAh7jY2Nuvbaa/X0008rMTGxy/G4uDgNHz7c9hUfHx+CKAEAAABEMpJkAICwt2LFCl166aVatGiRw+MvvPCCzGazJk2apDVr1qi5udllfydPnlRDQ4PdFwAAAIDejeWWAICw9tJLL2nfvn3as2ePw+PXXHONxowZo5EjR+rjjz/WnXfeqeLiYr366qtO+1y3bp3Wrl0bqJBDqszSqEPHm5WaNEBp5gGhDgcAAACIGCTJAABh68iRI/rRj36k999/X/369XN4zs0332z78+TJkzVixAhdcMEFOnjwoMaNG+fwmjVr1mj16tW27xsaGpSSkuLf4IOsrrlFq/KKtK3EYmvLzkhWbk6mEuJiQhgZAAAAEBlYbgkACFt79+5VVVWVpk+frj59+qhPnz7Kz8/X7373O/Xp00dtbW1drpk9e7YkqbS01Gm/sbGxio+Pt/uKdKvyilRQWm3XVlBarZV5hSGKCAAAAIgszCQDAIStCy64QPv377drW7ZsmSZMmKA777xT0dHRXa4pKiqSJI0YMSIYIXYRiuWOZZZGuxlkVm2GoW0lFpVXN7H0EgAAAHCDJBkAIGwNGjRIkyZNsmsbMGCAkpKSNGnSJB08eFAvvviiLrnkEiUlJenjjz/W7bffruzsbE2ZMiWosYZyueOh4643KqioIUkGAAAAuMNySwBAxOrbt6/+9re/6cILL9SECRP04x//WFdddZX++te/Bj0WT5Y7llkataW4SuXVTX6995ghcS6PpyaRIAMAAADcYSYZACCibN261fbnlJQU5efnhy6Yf3O33PEfR+r0yHufBWyW2djkgcrOSFZBabXaDMPWHm0yKSvdzCwyAAAAwAPMJAMAoJvcLXe8+/X9AS+qn5uTqax0s11bVrpZuTmZfrsHAAAA0JMxkwwAgG5yt9zxk88burT5u6h+QlyMNi2fpfLqJlXUNAV14wAAAACgJ2AmGQAA3WRd7hhtMtm1R5tMmjQy3uW1FTX+rU+WZh6gheOHkiADAAAAvESSDAAAP3C23PGX357s8jqK6gMAAADhgeWWAAD4gXW547bPLCo8UqvpoxM1LyNZkiiqDwAAAEQAkmQAAPhBXXOLVuUVOdzBMjcnUyvzCu2OUVQfAAAACC8kyQAA8INVeUVOd7DctHwWRfUBAACAMEeSDACAbiqzNNrNErPqvIOl9QsAAABA+KFwPwAA3XToeLPL4/7ewRIAAACA/5EkAwCgm8YMiXN5nB0sAQAAgPBHkgwAAAAAAAC9HkkyAAC6ieWWAAAAQOQjSQYAQDex3BIAAACIfCTJAADoprHJA5Wdkaxok8muPdpkUnZGMjtaAgAAABGAJBkAAH6Qm5OprHSzXVtWulm5OZkhiggAAACAN/qEOgAAAHqChLgYbVo+S+XVTaqoaVJq0gBmkAEAAAARhCQZAAB+lGYmOQYAAABEIpZbAgAAAAAAoNcjSQYAAAAAAIBejyQZAAAAAAAAej2SZAAAAAAAAOj1SJIBAAAAAACg12N3SwAAIEkqszTq0PFmpSaxQycAAAB6H5JkAAD0cnXNLVqVV6RtJRZbW3ZGsnJzMpUQFxPCyAAAAIDgYbklAAC93Kq8IhWUVtu1FZRWa2VeYYgiAgAAAIKPJBkAAL1YmaVR20osajMMu/Y2w9C2EovKq5tCFBkAAAAQXCTJAADoxQ4db3Z5vKKGJBkAAAB6B5JkAAD0YmOGxLk8nppEAX8AAAD0DiTJAACIcGWWRm0prvJpaeTY5IHKzkhWtMlk1x5tMik7I5ldLgEAANBrsLslAAARyl+7UubmZGplXqFdP1npZuXmZPo1XgAAACCckSQDACBCudqVctPyWR73kxAXo03LZ6m8ukkVNU1KTRrADDIAAAD0OiTJAACIQNZdKTvruCult4muNDPJMQAAAPRe1CQDACACsSslAAAA4F8kyQAAiEDsSgkAAAD4l09Jsg0bNig1NVX9+vXT7NmztXv3bpfnP/bYYxo/frz69++vlJQU3X777fr66699ChgAALArJQB0B+8zAABHvE6Svfzyy1q9erXuv/9+7du3T1OnTtXixYtVVVXl8PwXX3xRd911l+6//34dOHBAGzdu1Msvv6yf/exn3Q4eAIDeLDcnU1npZrs2dqUEANd4nwEAOON1kuzRRx/VTTfdpGXLlmnixIl66qmnFBcXp2eeecbh+Tt37lRWVpauueYapaam6sILL1ROTo7bf60BAKCz9evXy2Qy6bbbbrO1ff3111qxYoWSkpI0cOBAXXXVVTp27Fjoggwi666UW+5YoGeXzdSWOxZo0/JZSoiLCXVoABC2eJ8BADjjVZKspaVFe/fu1aJFi77pICpKixYt0q5duxxeM3fuXO3du9f2S6SsrExvv/22LrnkEqf3OXnypBoaGuy+AAC92549e/T73/9eU6ZMsWu//fbb9de//lWvvPKK8vPz9cUXX+jKK68MUZShkWYeoIXjh7LEEgDc4H0GAOCKV0my6upqtbW1adiwYXbtw4YNU2VlpcNrrrnmGj3wwAM677zzFBMTo3HjxmnBggUupyevW7dOCQkJtq+UlBRvwgQA9DCNjY269tpr9fTTTysxMdHWXl9fr40bN+rRRx/V+eefrxkzZujZZ5/Vzp079cEHH4QwYgBAOOJ9BgDgSsB3t9y6dat+9atf6YknntC+ffv06quv6q233tIvfvELp9esWbNG9fX1tq8jR44EOkwAQBhbsWKFLr30Urt/+ZekvXv3qrW11a59woQJGj16tNMZARL/wg8A8BzvMwDQe/Tx5mSz2azo6OgutV6OHTum4cOHO7zm3nvv1XXXXacbb7xRkjR58mQ1NTXp5ptv1t13362oqK55utjYWMXGxnoTGgCgh3rppZe0b98+7dmzp8uxyspK9e3bV4MHD7ZrdzUjQDr9L/xr1671d6gAgDDH+wwAwBWvZpL17dtXM2bM0ObNm21t7e3t2rx5s+bMmePwmubm5i6/OKKjoyVJhmF4Gy8AoBc5cuSIfvSjH+mFF15Qv379/NZvb/sX/jJLo7YUV6m8uinUoQBASPE+AwBwxauZZJK0evVqXX/99TrnnHM0a9YsPfbYY2pqatKyZcskSUuXLtUZZ5yhdevWSZIuu+wyPfroo8rMzNTs2bNVWlqqe++9V5dddpntlwsAAI7s3btXVVVVmj59uq2tra1N27Zt0+OPP653331XLS0tqqurs5tN5mpGgNR7/oW/rrlFq/KKtK3EYmvLzkhWbk4mO2AC6LV4nwEAOON1kuzqq6+WxWLRfffdp8rKSk2bNk3vvPOOrfjl4cOH7f6l5Z577pHJZNI999yjzz//XMnJybrsssv0y1/+0n9PAQDokS644ALt37/frm3ZsmWaMGGC7rzzTqWkpCgmJkabN2/WVVddJUkqLi7W4cOHnc4I6E1W5RWpoLTarq2gtFor8wq1afmsEEUFAKHF+wwAwBmTEQFzhBsaGpSQkKD6+nrFx8eHOhwAiHiR/Lm6YMECTZs2TY899pgk6ZZbbtHbb7+t5557TvHx8Vq5cqUkaefOnR73GW7jUWZp1KHjzUpNGqA08wCf+zj/kXynx7fcscDnvgHAnXD7XA01xgMA/CtQn6tezyQDACCc/Pa3v1VUVJSuuuoqnTx5UosXL9YTTzwR6rB84u3ySFfJtEPHm13eq6KmiSQZAAAA0AFJMgBARNm6davd9/369dOGDRu0YcOG0ATkR54uj/QkmTZmSJzLe6UmkSADAAAAOvJqd0sAABAYZZZGbSuxqK1TFYQ2w9C2EovdzpSukmlWY5MHKjsjWdEmk9150SaTsjOSmUUGAAAAdEKSDACAMODJ8kjJu2Rabk6mstLNdudlpZuVm5Ppp6gBAACAnoPllgAAhAFPl0d6U2ssIS5Gm5bPUnl1kypqmrq1EQAAAADQ05EkAwAgDFiXRxaUVtvNEos2mZSVbrYlt3ypNZZmJjkGAAAAuMNySwAAwoQnyyOpNQYAAAAEBjPJAAAIE54uj8zNydTKvEK73S2pNQYAAAB0D0kyAADCTMflkWWWRh063myXMKPWGAAAAOB/JMkAAAhDdc0tWpVXZDdbLDsjWbk5mappOmlLnC0cP9TuuvziKhUdrdP00Ymal5EctHgdJfMAAACASEKSDACAMLQqr0gFpdV2bTtKLFrw8BbVNrfa2qyJs7qvWrRkQ4HdscS4GL2x4jylJLku9t8drpJ5CXExAbsvAAAA4G8U7gcAIMyUWRq1rcRit8ulJLVLdkkwSSoordbKvMIuCTL9+9zLN+wIaKyOknnWmAAAAIBIQpIMAIAwc+h4s8fnthmGtpVYuiTIrGqbW7W9wywvf3KWzLPGVF7dFJD7AgAAAIFAkgwAgDAzZoh/l0fuO1zr1/6s3CXzKmpIkgEAACBykCQDACDMjE0eqOyMZEWbTH7pb/roRL/005m7ZF5qEgX8AQAAEDlIkgEAEIZyczKVlW726NyZqYlKdFIkPzEuJmC7XDpL5kWbTMrOSGaXSwAAAEQUkmQAAIShhLgYbVo+S1vuWKDbv5Xh8tzr56bqjRXndUmUxffrozWXTAhobTBHybysdLNyczIDdk8AAAAgEPqEOgAAAOBcmnmALpsyUr99v8TpOfH9+qi0ulGv/jBLR2ubtbO0WjtKqrX/iwb99E/7JUnZGcnKzclUgpMZZ76yJvPKq5tUUdOk1KQBzCADAABARCJJBgBAmLMuayworbbbSTLaJMX3j9HSZ/bY2rIzktXa1q5Pvzxh10dBabVW5hVq0/JZAYkxzUxyDAAAAJGN5ZYAAEQAR8sa4/vHqL651a5tR6lFu8pq7JJpktRmGNpWYgno0ktvlFkataW4KmziAQAAAJhJBgBABOi8rDHaJLsZZFbthoOLO6ioaQrpjK+65hatyivSthKLrS1QS0EBAAAAbzCTDACACJJmHqCF44eqzU0yzJnUpNAuiVyVV6SC0mq7NutSUAAAACCUSJIBABCBfPkFPnNMYkhnkZVZGrWtxBL2S0EBAADQO5EkAwAgArX7cM0Nc1P9HYZXDh1vdnm8ooYkGQAAAEKHJBkAABFozJA4r6+ZeEZCACLxnLuYQ70UFAAAAL0bSTIAACLQ2OSBys5IVrTJ5PbcaJNJ2RnJIV1qKTmPOVziAwAAQO9GkgwAgAiVm5OprHSz2/Oy0s3KzckMQkTuOYo5nOIDAABA79Un1AEAAADnyiyNOnS8WalJA7rMtEqIi9Gm5bO07bMqLX1mj9M+1l5xthLiYgIdqkesMZdXN6mipsnhcwEAAAChQJIMAIAwU2Zp1D+/bNCmnRXaU1Fra8/OSFZuTqZdwquuuUUPvVPssr8PymqcJqSsSbhok0lthuFT0spVIs/ZsTQzyTEAAACEF5JkAACEibrmFq3KK9K2EovD4wWl1VqZV6hNy2fZ2lblFenTLxpc9rvm1f22P1sTbYYMp/dylIzzNF5X/XvaLwAAABAK1CQDACBMrMorUkFptdPjbYahbSUWlVc3STo9S2tbiUXtXtzDmmhzdS/rOb7E66p/T/sFAAAAQoGZZAAAhAFrwssTFTVNSjMP0KHjzV7fx5po8+Sc8uom25LIzssmncXrqn9H/QIAAADhgiQZAABhwJuEV2rS6QTTmCFxgQpH0ulkXGJcjMNlk1efM6pb/ZIkAwAAQLhhuSUAAGHAk4RXtMmk7IxkW4JpbPJAZWckK9pk6nLeOWMSux1TatIAp8smn91Z0a1+AQAAgHBDkgwAgDDgLOHVUVa6Wbk5mXZtuTmZyko3dzlv4/UznSbQsjOSXd7Leo7x7+WRbYZhd7zNMPTRoVrNTE30qv/OST4AAAAgnLDcEgCAMJGbk6mVeYV2SxtnjknUDXNTNfGMBIfJpYS4GG1aPkvl1U2qqGmy1Qxz1l/HRFvnY53P2Xek1mW8189NVf+Yox737yjJBwAAAIQLkmQAAIQJRwkvwzA8qleWZh7QJYnmKoEmye5YnyiTTrUbdue4WwJ69sgEbVo+0qP+Ox8DAAAAwg1JMgBAWHvyySf15JNPqqKiQpJ09tln67777tPFF18sSVqwYIHy8/Ptrvn+97+vp556Ktih+k2aeYDTgvm5OZlKiIvxqJ+OO1IuHD/U6b2cJa+sS0ALSqvtllxGm0zKSjfbrnPVh9FpqSYAAAAQrkiSAQDC2qhRo7R+/XplZGTIMAw9//zzuuKKK1RYWKizzz5bknTTTTfpgQcesF0TFxfYXR+DwVnB/JV5hdq0fJbLa+uaW7qdYLNyt2QzGDEAAAAAwUCSDAAQ1i677DK773/5y1/qySef1AcffGBLksXFxWn48OGhCC8gyiyNDmuFtf27kH55dZPLpYvdSbB15m7JZjBiAAAAAIKB3S0BABGjra1NL730kpqamjRnzhxb+wsvvCCz2axJkyZpzZo1am52XcPr5MmTamhosPsKJ+5qkH1QVqMtxVUqr27qcsyaYHO0I6U1weaLNPPpJZueJMgCFQMAAAAQSMwkAwCEvf3792vOnDn6+uuvNXDgQL322muaOHGiJOmaa67RmDFjNHLkSH388ce68847VVxcrFdffdVpf+vWrdPatWuDFb7X3BXMX/PqftufOy9hdJdgq6hxPQvNH8IhBgAAAMBbJMkAAGFv/PjxKioqUn19vf70pz/p+uuvV35+viZOnKibb77Zdt7kyZM1YsQIXXDBBTp48KDGjRvnsL81a9Zo9erVtu8bGhqUkpIS8OfwlLOC+Y50XsLoLsGWmhT45FQ4xAAAAAB4i+WWAICw17dvX6Wnp2vGjBlat26dpk6dqv/+7/92eO7s2bMlSaWlpU77i42NVXx8vN1XuMnNyVRWutntedYljC/tPqzy6iZbgi3aZHJ4/v1/+afqm1v9Ha4dZzFEm0zKzkhmFhkAAADCEkkyAEDEaW9v18mTJx0eKyoqkiSNGDEiiBH5n7Vg/pY7FujZZTO1/srJLs+/69X9WvjwVi3duFu/XDLJaYLNOvPME2WWRqe1z9xxlOTzZFdMAAAAIFRYbgkACGtr1qzRxRdfrNGjR+vEiRN68cUXtXXrVr377rs6ePCgXnzxRV1yySVKSkrSxx9/rNtvv13Z2dmaMmVKqEP3izTz6d0kyyyNHp1fUFqtu1//RD+/fKLOfyS/y3FPdsisa27Rqrwiux02O9c+c8fXXTEBAACAUGEmGQAgrFVVVWnp0qUaP368LrjgAu3Zs0fvvvuuvvWtb6lv377629/+pgsvvFATJkzQj3/8Y1111VX661//Guqw/c7dMkoraxLsrf1fujyvosb57LBVeUUqKK22a/NmBlpH3uyKCQAAAIQSM8kAAGFt48aNTo+lpKQoP7/rbKmeKjcnUyvzCu1meDnzyHufuTzurHh+maXRYf+ezEBz1t+h483MJAMAAEDYI0kGAECE6LiE8YOyGq15db/f73HoeLPL4xU1niXJ/LFkEwAAAAgmllsCABBh0swDNDttSLf66Lzc0lqkP9r1ak6nM9A68+eSTQAAACAYmEkGAEAEcjfjy50+UaezYY5mfCXGxai+uVXtHc6PNpmUlW72aBaZv5dsAgAAAMHATDIAACLQmCFx3br+VLshyfGMr4avWrssicxKNys3J9OuzTr7rLzaflaauwTeh2U1voYNAAAABAwzyQAAiEDW3S4LSqvVZhheX5+aNMDFjC+ptrlV/7t8lk61G12K7rurN+YugXfXq/v19v5K6pMBAAAgrDCTDACACJWbk6msdLPX1yXGxSjNPMDtjK9T7YYWjh/aZWmku3pj1gRetMl5gTPqkwEAACDckCQDACBCWXe73HLHAk06I15RboruW9U2t6q8usntjC9HRfqts886z17rWG9Mcp/A63w+AAAAEGokyQAAiHBp5gF6Yfm5Oi892eNrKmqanM74ijaZlJ2R7LC4vrvZZ9ZdM60JvHVXTvbofAAAACDUqEkGAEAQ5RdXqehonaaPTtS8DM+TWu5Yk1Ll1U2qqGlStEla+swep+dbZ4n9+MIMHW8+qU8+b7Adc1Sk38rb2Wez04Z4dT4AAAAQKiTJAAAIgkM1TVqyoUC1za22tsS4GL2x4jylJHVvp8qO0szfFNl3VNg/2mRSVrpZiXExWrpxt13x/Ukj4/Wrb0/WlJTBTvt3tmGAtd/Os8+8Pd+dMkujDh1v7rKZAAAAANBdLLcEACAIOifIpNO1wS7fsCNg93RUF8w6S8xR8f0DX57Qw+991q1+/XG+I3XNLVq6cbfOfyRfy57do4UPb9XSjbtV32lMAQAAAF8xkwwAgAB76+MvuiTIrGqbW7W9xOLXpZdWnZdgWmdfWYvvd9axmL6rWVrO+vXX+Y642lFz0/JZXvUVjpghBwAAEHokyQAACLCH3i12eXzf4dqAJMmsOi7BlDwrvu9JoqZzv/4+36q7Sb1wVtfcolV5RXbPl52RrNycTCXExYQwMgAAgN6H5ZYAAARQmaVRh2pcJ6Wmj04MUjSn46ms/9rlOeFWTN/THTUjkasZcgAAAAguZpIBABBA7hI8A2Oj/TqLzNmyPUczlpy5/y//DKuZTN7uqBkpevIMOQAAgEhEkgwAgAByl+D5n+vO8ct93C3bczRjyZlwq/Xl7x0yw4W/lr0CAADAP1huCQBAAFkTPNEmk117lOl0Emtup10ffeVq2V5+cZW2lVjsEkyudJzJFC78sUNmuOmpM+QAAAAiFTPJAAAIsNycTK3MK7Sb5XVeerJXCR5Xux9ak2CdWZNdniyxdMTTmUz+3pnRUX/+2CEz3PTUGXIAAACRyqeZZBs2bFBqaqr69eun2bNna/fu3S7Pr6ur04oVKzRixAjFxsbqzDPP1Ntvv+1TwAAARBprgmfLHQv07LKZ2nLHAm1aPsujml91zS1aunG3zn8kX8ue3aOFD2/V0o27Vd/cajt2/bN7AhJ3nyiTy+OuYvOFJ/2lmQdo4fihPSaB1BNnyAGRgPcZAIAjXs8ke/nll7V69Wo99dRTmj17th577DEtXrxYxcXFGjp0aJfzW1pa9K1vfUtDhw7Vn/70J51xxhk6dOiQBg8e7I/4AQCIGGlm72c/udv90NM6Y45EmaR2FyswT7k66CY2X+qZ+bu/SNATZ8gB4Y73GQCAM14nyR599FHddNNNWrZsmSTpqaee0ltvvaVnnnlGd911V5fzn3nmGR0/flw7d+5UTMzpfzFPTU3tXtQAAPQC7nY/7K6BsX3U8PUpp8dd1cTy986MvX2nR18SqAB8w/sMAMAZr5ZbtrS0aO/evVq0aNE3HURFadGiRdq1a5fDa9544w3NmTNHK1as0LBhwzRp0iT96le/Ultbm9P7nDx5Ug0NDXZfAAD0Nu52P+yuhq9PafIZ8V3+YyDaZFJ2RrLLpI0nOzN6w9/9AYAjvM8AAFzxKklWXV2ttrY2DRs2zK592LBhqqysdHhNWVmZ/vSnP6mtrU1vv/227r33Xj3yyCN68MEHnd5n3bp1SkhIsH2lpKR4EyYAAD2Cu90P/WH/5w1q79TmSU0sf+/MyE6PAIKB9xkAgCs+Fe73Rnt7u4YOHar/+Z//0YwZM3T11Vfr7rvv1lNPPeX0mjVr1qi+vt72deTIkUCHCQBA2LHufhhtsi+gH20yadLIeL/fL8okzUxN9GhTAVexuZuFFoz+AMBfeJ8BgN7DqySZ2WxWdHS0jh07Ztd+7NgxDR8+3OE1I0aM0Jlnnqno6Ghb21lnnaXKykq1tLQ4vCY2Nlbx8fF2XwAA9EbOdj/85bcn+/1e7Ya0p6JW5dWeLW30986M7PQIINB4nwEAuOJV4f6+fftqxowZ2rx5s5YsWSLp9L+sbN68WbfeeqvDa7KysvTiiy+qvb1dUVGnc3KfffaZRowYob59+3YvegAAejhXux9mZySroLRabYbrXSi9tfLFfXrhxnPdzibz986M7PQIINB4nwEAuOL1csvVq1fr6aef1vPPP68DBw7olltuUVNTk213mKVLl2rNmjW282+55RYdP35cP/rRj/TZZ5/prbfe0q9+9SutWLHCf08BAEAEKLM0aktxlccztTpKMw/QwvFD7ZJGjmZe+cOnXzRoZV6h0+OdnyPNPEBjhsSpoqbJp2frzNGzAoC/8D4DAHDGq5lkknT11VfLYrHovvvuU2VlpaZNm6Z33nnHVvzy8OHDtn9hkaSUlBS9++67uv322zVlyhSdccYZ+tGPfqQ777zTf08BAEAYq2tu0aq8Im0rsdjasjOSlZuT6Xa2liuG/DuDzKpd0rYSi8qrm+wSVY6eY+64JBmGtKusxtbmj2cDgEDhfQYA4IzJMPy8RiMAGhoalJCQoPr6etbzA4Af8LlqL9DjsXTj7i7LIqNNJmWlm7Vp+Sy/9uupKElxsdFqPNnm9Jxnl83UwvFDvb6fP54NQGTj94w9xgMA/CtQn6sB390SAIDerMzSqG0lli6JpTbDsM3W8me/njovI1kv3Hiuy3NSk76ZRebN/br7bAAAAEAoeL3cEgAAeO7Q8WaXxytqmnyqveWuX0fWXzlZwxL62Qril1kaXZ5/4uvWbt3P12cDAAAAQoEkGQAAATRmSJzL4x1na3mqzNKoyvqvvL5u9tgku6SVu8TXj//4D/3s0rOUmjTA7XM44suzAQAAAKFCkgwAgAAamzxQ2RnJTmuSeTPTylHhfE84u5e7xFdJVaOWPbtH0uli/HPHJenDsuMe1yRjFhkAAAAiCTXJAAAIsNycTGWlm+3astLNys3J9KqfVXlFKiit9vr+zu41NnmgJo30rNBpQWm1DENdnmPuuCTNGZvk0f0AAACAcMZMMgAAAiwhLkabls9SeXWTKmqabDXBvGEtnO/Muisn69yxSTpa26x9h2s1MqG/zINi3d7rl9+erCs2FLi9f5thaFdZjbbcsUCSujxHd54NAAAACAckyQAACJI0s+8JJHf1w4Yn9LP1Py8j2eN+p6YMVnZGsnaUWtTuwUaZFTVNWjh+aJfn6M6zAQAAAOGA5ZYAgLD25JNPasqUKYqPj1d8fLzmzJmj//f//p/t+Ndff60VK1YoKSlJAwcO1FVXXaVjx46FMOLA8HQDgPziKv335s/0xz1HtKW4SuXVTSqzNNr+7EhuTqbOS/cssdYnytSlzV3/AAAAQCRgJhkAIKyNGjVK69evV0ZGhgzD0PPPP68rrrhChYWFOvvss3X77bfrrbfe0iuvvKKEhATdeuutuvLKK1VQ4H4JYSRxtQFA5ujB2l1eoyse36GGr0+57Cc7I1m5OZlKiIuxtRnyYArZv123cbetD0NGl40EHPUPAAAARAKTYbjZoioMNDQ0KCEhQfX19YqP96zAMADAuUj/XB0yZIh+85vf6Dvf+Y6Sk5P14osv6jvf+Y4k6V//+pfOOuss7dq1S+eee65H/UXKeNQ3t2r583v00aFaW1tiXIxqm1s97sO68+Sm5bNsbUs37u6SfPOkD0lOd+3s2L9VmaVRh443U7cM6AUi5XM1WBgPAPCvQH2uMpMMABAx2tra9Morr6ipqUlz5szR3r171draqkWLFtnOmTBhgkaPHu0ySXby5EmdPHnS9n1DQ0PAY++uuuYWrcorskuQxffro4avPE+QSacL8G8rsai8uklp5gFuNwRw1Ycn/XeMnRlnAAAACGfUJAMAhL39+/dr4MCBio2N1Q9+8AO99tprmjhxoiorK9W3b18NHjzY7vxhw4apsrLSaX/r1q1TQkKC7SslJSXAT9B9q/KKVFBabdfW8PUptfk4H7yi5nT9MHcbAvjK2r/kOPaC0mqtzCsMyL0BAAAAX5AkAwCEvfHjx6uoqEgffvihbrnlFl1//fX69NNPfe5vzZo1qq+vt30dOXLEj9H6n3W2l6fLIT3xxJZS1Te3ut0QwFfWjQScxd5xxhkAAAAQDkiSAQDCXt++fZWenq4ZM2Zo3bp1mjp1qv77v/9bw4cPV0tLi+rq6uzOP3bsmIYPH+60v9jYWNtumdavcBaI2V77DtVpZV6hbUOAaJP9rpXRJpOyM5J9PmZdauku9o4zzgAAAIBQIkkGAIg47e3tOnnypGbMmKGYmBht3rzZdqy4uFiHDx/WnDlzQhihfwVitlfHmVy5OZm2QvxWWelm5eZk+nzM09itM84AAACAUKNwPwAgrK1Zs0YXX3yxRo8erRMnTujFF1/U1q1b9e677yohIUHLly/X6tWrNWTIEMXHx2vlypWaM2eOxztbRgLrbK/OO0lGSUrwcnfLzipqThfY37R8lsqrm1RR09Rl90lfj7mK3boLJrtcAgAAIFyQJAMAhLWqqiotXbpUX375pRISEjRlyhS9++67+ta3viVJ+u1vf6uoqChdddVVOnnypBYvXqwnnngixFGfrsV16HizXeLIUZuncnMytTKv0G6HyPP+vUPk8eYWVdQ0KdokLX1mj1f9dqwd5i7ezjFbj3deculJ7J1nnAEAAAChZjIMP1YBDpCGhgYlJCSovr4+7OvGAEAk4HPVnj/Ho665RavyiuwSQnPGJslkknYerLG1Zf87wZUQF+NV/65mbUnS0o27u8zacsQ6k+t3OdO8jtfRM3ryXO5iB9Bz8HvGHuMBAP4VqM9VapIBAOBHq/KKVFBabde2q6zGLuEkSQWl1VqZV+h1/2nmAVo4fqjTJJOjOmGOWGdy+RKvo2scnedt7OGizNKoLcVV7LwJAADQy7DcEgAAPymzNDqcXeVIx8L5/kwaJcTFaNPyWXp592Hd+ep+p+fdlJ2mmqaTXse77bMql9cE6rmCwdEMOV9n/AEAACDyMJMMAAA/OXS82etrKmoCM1up8sTXLo/vO1zrU7yFR+o8Oi9QzxVIjmbI+TrjDwAAAJGHmWQAgIBITEyUyUFBd5PJpH79+ik9PV033HCDli1bFoLoAmPMkDivr7EWzve3aaMGuzw+fXSizhjc3+t+M1Nc92sVqOcKFGezACN5ZhwAAAC8w0wyAEBA3HfffYqKitKll16qtWvXau3atbr00ksVFRWlFStW6Mwzz9Qtt9yip59+OtSh+s3Y5IHKzkh2u9ujdLpwfnZGcsASL/PHD1WikyWCiXExmpeR7FO82WcOdXmNq+cK51pf7mbVReLMOAAAAHiHmWQAgIDYsWOHHnzwQf3gBz+wa//973+v9957T3/+8581ZcoU/e53v9NNN90Uoij9LzcnUyvzCt3uFmktnB9Ib6w4T5dv2KHa5lZbW2JcjN5YcV634nV0jaPzrCKh1pe7WYCRNjMOAAAA3jMZhps94sMAWyYDgH8F43N14MCBKioqUnp6ul17aWmppk2bpsbGRh08eFBTpkxRU1NoZ+kEYjzKq5tUUdOk1KQBtllVjtqCYXuJRfsO12r66ETNy0j2KV7DMHToeLPD432iTDrVbjh9rqUbd6ugtFptHf6TI9pkUla6WZuWzwrAE/smUuIEIgH//W6P8QAA/wrU5yozyQAAATFkyBD99a9/1e23327X/te//lVDhgyRJDU1NWnQoEGhCC/g0sxdE0aO2oJhXkay0+SY1eGaJn18tE59oky2GNPMA9TwVYtWvrhPn3zRYDvXOgvM0fOUWRrtkmn5xY53w7TW+tpeYnEbW7A4miEXjBl/AAAACA8kyQAAAXHvvffqlltu0ZYtWzRr1ulZOHv27NHbb7+tp556SpL0/vvva/78+aEMs9c7VNOkJRsKuizJ/L//mq1fv1vsMMG1rcSiW17YqxdvOtfW5mhJZWJcjF2/jly3cbdfl152TtJ5IyEuRpuWzwrZjD8AAACEFsstAaAXCtbnakFBgR5//HEVFxdLksaPH6+VK1dq7ty5AbunL3rz75nMB95zmMjqE2VSu2Go3cV/JWy5Y4EtieRoqaKn/LGkMRLqngG9SW/+XHWE8QAA/2K5JQAg4mRlZSkrKyvUYcCJ/OIqpzO9TrnKjv3bh2U1SjMPUJml0eGMM09Zl16WVzf5PHNrVV6RCkqr7doKSqu1Mq+QemIAAADwCEkyAEDAtLW16bXXXtOBAwckSRMnTtQVV1yhPn349RMOio7Wdet6axrt0PHmbsciSRU1viXJnCXp/JF8AwAAQO/BWwoAICD++c9/6vLLL1dlZaXGjx8vSfr1r3+t5ORk/fWvf9WkSZNCHCGmjRrcrevPHZskSRozJM4P0ZxedrmluMrrWmDuknS+Jt8AAADQu5AkAwAExI033qizzz5bH330kRITEyVJtbW1uuGGG3TzzTdr586dIY4Q88cPdVpcv0+USYYhpzXG5oxNsiWexiYPVHZGss81yaJ0umj+0md229q8qSfmLkmXmkSCDAAAAO5FhToAAEDPVFRUpHXr1tkSZJKUmJioX/7ylyosLAxhZOjojRXnKbFTIioxLkZvrMhSVrrZ4TWJcTF66Kopdm25OZldzu/crzMJcTFq+Mo+UWetJ+YJa5Iu2mSya482mZSdkcwsMgAAAHiEmWQAgIA488wzdezYMZ199tl27VVVVUpPTw9RVL1bmaVRh4432y1nTEmKU+F9F2p7iUX7Dtdq+uhEzctIliRtWj5L331yp/YeqlV7h34avjqlu1//xFYQ39rv2itO/6wrapps9yivbrJ9/1HFcRUcrFbWOLPOSR2iipomRZtMdjPIrKz1xF7afVizO8xacyY3J1Mr8wrtapNlpZuVm5PZnSEDAABAL0KSDAAQEOvWrdOqVav085//XOeee64k6YMPPtADDzygX//612poaLCd689tm9FVXXOLVuUV2SWQOi9nnJeRbEuOWZVZGrXnUG2X/qwJrH8cqdMj733mst808zcJuTTzAH33nBTbuWnmAdpSXOUy9rte3e+w384S4mK0afksu6QcM8gAAADgDZNh+FA8JMgaGhqUkJCg+vp6XqQAwA+C8bkaFfXNin7Tv5fBWX/ldPzeZDKpra0tIDF4Kpx/zzia/eWtpRt3d6kXFm0yKSvdbJsN5siW4iote3aP0+MZQwfqoKVR7R3+SyJK0sSR8cq9ZrrSzAP0+OYSFRys1ryMZJ09Ml5FR+vsZquVWRp1/iP5bp/Bk3gBhI9w/lwNBcYDAPwrUJ+rzCQDAATEli1bQh1CRPNk9pcnyiyNdn1YWWeDlVc73/nRXUH8kqrGLm3tkj75okELH95q176r7Ljd96frnp3ncdF/T+IFAAAAuoPC/QCAgJg/f75mz56t/v3768SJE6qvr7f7mj9/vu0LXa3KK1JBabVdmzfF7K0OHW92ebyipsnpMWcF8f2htrlVl2/YIclx0X9nXMXrL2WWRm0prlJ5deDvBQAAgPDBTDIAQEC88847Wrp0qaqrq7scC4clluGsO7O/OnM3Gyw1yfuC+P5S29yq7SUWzctIttUT+6CsRmv+XYfMEXfxdmd5qr9m7wEAACAyMZMMABAQK1eu1He/+119+eWXam9vt/siQeZad2Z/deZsNliU6XQCyF0iyVoQf8sdC/Tssplad+Vkj+/tiX2Hv9kYIM08QDmzRjuMN9pkchlvXXOLlm7crfMfydeyZ/do4cNbtXTjbtU3t3oci79m7wEAACAykSQDAATEsWPHtHr1ag0bNizUoUSc7s7+6iw3J1Ozxw6xa2s3pNa2do+TSGnmAVo4fqhmpw1xf7IXpo9O7NLmaPllVrpZuTmZTvvpboLLOnuvc120jrP3AAAA0LOx3BIAEBDf+c53tHXrVo0bNy7UoUQcZ8XsrTs8eruMMCEuRn2iohSl04X1rXaXH9fKvEKvdoy0xrajxGLXly8S42Jsu1x2jte6/LKipsnt0kl/LE/1ZPYeGwYAAAD0bCTJAAAB8fjjj+u73/2utm/frsmTJysmxr6m06pVq0IUWWRwVAvM3WwqZ/xZ48wa27V/+ECffNHgdSxW1t0tXUkze1ZXzB8JLn/P3gMAAEDkIUkGAAiIvLw8vffee+rXr5+2bt0qU4caUyaTiSSZG97OpnLF37OkEuJi9LucTJ3/SL5P8fzmO1P03XNSfLrWEX8kuPw9ew8AAACRhyQZACAg7r77bq1du1Z33XWXoqJ6dgnM/OIqFR2t0/TRiQ6XD3aHp7OprDru7mgYhg4db1ZVw9cur0lNGuDwGcosjfqw/LhMkkYO7qc2Q7Zknauk0lkjB+mTz53PMmtrN2xxRptk168v/JHgKrM06nszR+mr1lPaU/HNZgK+zt4DAABA5CFJBgAIiJaWFl199dU9OkF2qKZJSzYUqLZD8XvrMsKUJNezm/ytrrlFq/KKHC6rdCbaZNL0MYN15RP2zzC4f4xSk+JUdLTe4XXZGcnKzcl0uiT0xxdm6IoNO53e965X97vsNyEuxuFxV3xdnupo3GaOSdQNc1M18YwEZpABAAD0IibD6LSNUxhqaGhQQkKC6uvrFR8fH+pwACDiBeNz9fbbb1dycrJ+9rOfBaR/f/J1PDIfeM8uuWSVGBejwvsu9GeIbi3duLvLTCp3sjOS9Y+jdar/yrMdLq2sM7SsBf8dLQn1JZ7O/frC2+WpjuL0RxxAb8d/v9tjPADAvwL1ucpMMgBAQLS1temhhx7Su+++qylTpnQp3P/oo4+GKDL/yC+ucpggk6Ta5lZtL7H4femlM84K87vyv8tnqb3d0PXP7vH6fp0L/jtaEupoZpe3/frCm+Wp/t7QAAAAAJGNJBkAICD279+vzMzTS90++eQTu2Mdi/hHqqKjdS6P7ztcG7QkmbvC/I6cajf0sZtncMdVwX/rxgN5uw9rjZPllb7060/+3tAAAAAAkY0kGQAgILZs2RLqEAJq2qjBLo9PH50YnEDkfndHR1KTBqi71eI82TVydtoQr/uNNpm0pbiqW8X8PeGPXTEBAADQc5AkAwDAB/PHD1ViXIzTmmTBmkUmOd/d0ZGOOz6mmQc4fQZP+3ClrrlFP3/jU4/7NUkaHBejpc/strV1p5i/O+52xTQMIyjJOgAAAISHnrvlGAAAAfbGivOU2Cl5Y93dMthyczKVlW52e17nHR8dPYO3fTizKq9IBaXVHvc7qF8fNXTaRKCgtFor8wq9is8bjsZtVtoQnWpv1/mP5GvZs3u08OGtWrpxt+q9TCYCAAAgsrC7JQD0Qnyu2uvueGwvsWjf4VpNH50Y1BlkjnTc3VE6XVerT5RJp9oNlzOitpdYdM/rn+jI8Wa1d/gvA5NJSk8eqPsum+i2j47KLI06/5F8j2KOMklnj4zX/s8bnJ6z5Y4FAZ3N1XHc7v/LP9nxEugmfs/YYzwAwL/Y3RIAgDA1LyM55Mkxq867O3b8c5ml0enywfZ2Q4dquhayNwyppKpR1n9TO3K82ZZMcpW02lJ8zOOYz0tP1vdmjtKtLzqfMebPIvpllkYdOt5s9wzWcWPHSwAAgN6LJBkAIKytW7dOr776qv71r3+pf//+mjt3rn79619r/PjxtnMWLFig/Hz7WUvf//739dRTTwU73LBU19yiVXlFdskfa60vQ0aXY44sfWZPlzZH9cIc3cudr1tP6a4/f+zyHH8U0Xc1DglxMf8+7nppJzteAgAA9FzUJAMAhLX8/HytWLFCH3zwgd5//321trbqwgsvVFNTk915N910k7788kvb10MPPRSiiMOPo9pg1lpf3tYNc9RH53vt8CJBJkm7K2rVeLLN4bFok0nZGcl+SUy5Ggfr8U+/cL7kU2LHSwAAgJ6MmWQAgLD2zjvv2H3/3HPPaejQodq7d6+ys7Nt7XFxcRo+fLhHfZ48eVInT560fd/Q4DoxEsncLR/sjs5LEJ3dqzsmjhzk0SYB7rgbh22fVbmMPcp0elkos8gAAAB6LmaSAQAiSn19vSRpyJAhdu0vvPCCzGazJk2apDVr1qi5uWt9Lat169YpISHB9pWSkhLQmEPp0HHn4+AvFTVNAbvXoonD7JZz+spdbIVH6lwenzgy3i/JOgAAAIQvkmQAgIjR3t6u2267TVlZWZo0aZKt/ZprrtH//d//acuWLVqzZo3+93//V//5n//ptJ81a9aovr7e9nXkyJFghO8Ta7H98uom9yc7MGZInM/3fuiqyR6dZ12C6O5eUSbvY5g+OtH7ixxwF1tmymCXx3NzpvslWQcAAIDwxXJLAEDEWLFihT755BPt2LHDrv3mm2+2/Xny5MkaMWKELrjgAh08eFDjxo3r0k9sbKxiY2MDHm93uCsy76mxyQOVnZGsgtJqtf17h0rpdK2vrHSzJDk99r2Zo/Xmx5Vdjnc+z7oE0dm9rBL6xyg9eaD2Ha5zeLyzxLgYv+0a6m4css8c6vI4yywBAAB6PmaSAQAiwq233qo333xTW7Zs0ahRo1yeO3v2bElSaWlpMEILCHdF5r2Rm5NpS4hZZaWblZuT6fKYs2sdnefqXlb1za1qPHlK00cPtmuflTpECf3t/90uMS5Gb6w4z+2zecOXZ3X0jAAAAOiZmEkGAAhrhmFo5cqVeu2117R161alpaW5vaaoqEiSNGLEiABHFxjuisxbC+V7KiEuRpuWz1J5dZMqapqUmjTA7npXxzpf2yfKpFPtRpfzOp7/88sn6vxH8rsca5d0oPKEJGlmaqKun5uqs0cm2PrZXmLRvsO1mj460W8zyDrH5s2zOntG6fTP6NDxZpfnAAAAILKQJAMAhLUVK1boxRdf1F/+8hcNGjRIlZWVkqSEhAT1799fBw8e1IsvvqhLLrlESUlJ+vjjj3X77bcrOztbU6ZMCXH0vnFXZL6ixrskmVWa2XlCx9UxT4535EkB/32H6tQ/5qg2LR9pa5uXkRyQ5Fhn3XlWfy2DBQAAQPghSQYACGtPPvmkJGnBggV27c8++6xuuOEG9e3bV3/729/02GOPqampSSkpKbrqqqt0zz33hCBa/3BXZN5aKN+f8ourVHS0zu0sLk9mUHmyWYB1Vtz2EovtftYYRiT0U/Kgfqpq+FqVDV/7fWZZd2aBuVoGu2n5LL/FCAAAgOAjSQYACGuGmwLvKSkpys/vurQvkrkrMu/P5X2Hapq0ZEOBaptbbW3WemApSd8ku9zNoOqYeHJXwL+j6zbu1qzURBUfO6H6r045Pc9RTN7q7iwwfy+DBQAAQHihcD8AAGEoWEXkOyfIJKm2uVWXb7DfQdTZDKof/N9eLd24W+c/kq9lz+7Rwoe3aunG3frlkklOC/h3trui1mWCzBrT//f4dpVZGrWluErl1U0e9e3JM3i6GYIny2ABAAAQuXxKkm3YsEGpqanq16+fZs+erd27d3t03UsvvSSTyaQlS5b4clsAAHoNaxH5LXcs0LPLZmrLHQu0afksv9a9yi+u6pIgs6ptbtX2f8+ass6g6jwrrM0wtKusRjtK7WdXFZRW6+7XP9Gm5bO06b9m+i3e+q9OdUnG1TuJvzNXz2CdBeZOKJbBAggc3mkAAJ15nSR7+eWXtXr1at1///3at2+fpk6dqsWLF6uqqsrldRUVFbrjjjs0b948n4MFAKC3STMP0MLxQwOyjK/oaJ3L4/sO10pyP4OqvdOKyo6Jp8/rvu5OiC4FexaYdRlptMlk1x5tMik7I5mllkAE4Z0GAOCI10myRx99VDfddJOWLVumiRMn6qmnnlJcXJyeeeYZp9e0tbXp2muv1dq1azV27NhuBQwAAPxj2qjBLo9PH50oybNC/I6cTjy5rknWHaGYBRasZbAAAot3GgCAI14V7m9padHevXu1Zs0aW1tUVJQWLVqkXbt2Ob3ugQce0NChQ7V8+XJt377d7X1OnjypkydP2r5vaGjwJkwAAOCB+eOHKjEuxuGSy8S4GNuOks4K8UdJanfRf2rSAJ8TbN6oqHFfMH9s8kCXz+rpLDDrMtjy6iZV1DT5tEMmgNAKxjsN7zMAEJm8mklWXV2ttrY2DRs2zK592LBhqqysdHjNjh07tHHjRj399NMe32fdunVKSEiwfaWkpHgTJgAA8NAbK85TYqc6Z9adJDtyNIPqvIxkzR2X5HL54djkgZo7LsllDLNShyihv+8bbnecBeassH+ZpdFl/TVvNwII5DJYAIEVjHca3mcAIDL5/l+kHjhx4oSuu+46Pf300zKbPdvhSpLWrFmj1atX275vaGjgFwsAAAGQkhSnwvsu1PYSi/YdrtX00Ym2GWQdOZtBVd/cqpV5hdpW8k3x/s7LD5+8dkaXc2aOSdQNc1M18YwEW6LJGsPg/jF6Ze9RffL5NzMvEuNi1PBVq9o6rN6MNpmUlW5WmnmA6ppbtCqvyO4e2RnJys3JVEJcjEc1yUh4AXDEl3ca3mcAIDJ5lSQzm82Kjo7WsWPH7NqPHTum4cOHdzn/4MGDqqio0GWXXWZra28/vTCjT58+Ki4u1rhx47pcFxsbq9jYWG9CAwAgopRZGnXoeHPYLNebl5HcJTnmKMY08zd/th5fe8XZkk4nmqJNUpshHW9uUUJcjMNznD1z+793ABibPFBvrpynbZ9VqfBInaaPTtSUMwa7TMatyitSQWm1XX/Wwv6bls8K+s6U4fbzBfCNYLzT8D4DAJHJqyRZ3759NWPGDG3evNm25XF7e7s2b96sW2+9tcv5EyZM0P79++3a7rnnHp04cUL//d//zb+mAAB6HXcznsKBuxgdHZ87LkmGIe0qq7G1da4B5uw5D9U0acmGArtz+0SZdKrDtpnWa483t3RJtJVZGu1isepY2N9ZXbWOs9H8IRJ+vkBvxzsNAMAZr3e3XL16tZ5++mk9//zzOnDggG655RY1NTVp2bJlkqSlS5faimD269dPkyZNsvsaPHiwBg0apEmTJqlv377+fRoAAMKcqxlP4cJdjI6O7zxYY5cgk9SlBpiz5+ycIJNklyDreK2jWmCeLKWUgrMzZST8fAHwTgMAcMzrmmRXX321LBaL7rvvPlVWVmratGl65513bIUvDx8+rKgor3NvAAD0eJ7MeAr10jx3MW77rMrhcU84es784iqnBfXdXWvl6VLKQO9MGQk/XwCn8U4DAHDEp8L9t956q8OpyJK0detWl9c+99xzvtwSAICIFwnF493FWHikrtv36PicRUe968/RGHm7lLJjXTV/ioSfL4Bv8E4DAOiMfx4BACBIgl083hfuYsxMGdzte/SJMtn+PG2Ud/05GyNvllKWWRq1pbhK5dVNXt3bnUj4+QIAAMA5n2aSAQAA7wWreHx3uIsx+8yhDo9747qNu23F7OePH9qlwL8j7sbIk6WUgS6qHwk/XwAAADjHTDIAAIIoGMXju8tdjI6Ozx2XpDljk+zaOs4Y66xjMfs3VpynxE5Jqs7XejpGjgr7WwWjqH4k/HwBAADgmMkwfPxn4CBqaGhQQkKC6uvrFR8fH+pwACDi8blqLxTjEaji8f7kLkZHx61tT2wp1b5DdW5nm225Y4Ht2u0lFu07XKvpoxM1LyPZr2NUZmnU+Y/kexSHP0TCzxcIJH7P2GM8AMC/AvW5ynJLAABCIFDF490pszTq0PFmh8mbzsfcxejouGEYqqz/Wnsqaj2Kx1rMvszSqKO1zRo6qJ9GJcZ16OsrVdZ/bbufq/hdPZ+7ovoflNX49ecRqp8vAAAAfEeSDACAXsBVPS5DRrdrdTnq3xND4mJ0zdMfaOfBGrv2+H591PD1Kbu2hP59VP/VN20dY3RXb8xdUf01r+7X/9tf6bf6ZAAAAIg81CQDAKAXcFWPyx+1uhz14Uq0yaTsjGQ98l5JlwSZpC4JMkl2CbLOMbp7BmtR/WiTZ3XSAAAA0PuQJAMAoIcrszRqW4mlS32wNsPQthKLy2Pl1U0+9+9KVrpZP74ww+uZZ45i3PaZZ8/gqKi+q/MBAADQu7DcEgCAHs5dPS5XrDXD/NH/zNREXT83VWePTFCaeYC2FFf5HFdHhUdc1z+zPkNCXIw2LZ+ll3Yf1l2v7nd6/gdl1RTdBwAA6IVIkgEA0MO5q8flSmqS+ySRu/7XXzlZs8cmdUk4dSeujjJTEl0e7/wMzhdcnrbm1U9sf/a2NhsAAAAiF8stAQDo4ZzV47LWBXN1zJOZVO76/49Zox32Y73OV7b4z/TsGQ7VNCnzgfd0p4tZZJ1tK7HoB/+31+cYAQAAEDlIkgEA0As4qseVlW5Wbk6my2P+6N/ddXPHJXVpj+/XdbJ7Qn/7to79e3L/JRsKVNvc6vpBHNhVVkOdMgAAgF6A5ZYAAPQC1npc5dVNDuttuTrmj/5dXffiTeeqvLpJH5bVyJB07r+XZjprc9S/u/vnF1e5TJBdNf0M/Xnf506Pf1BWQ30yAACAHo4kGQAAvUia2XnyytUxf/Tv7jrDMOw2AXDUl7v+nR0vOlrn8v71X7meYeaujhkAAAAiH0kyAAB6kTJLow4db/b7zo3WfqNNJrUZhu1/O97H2b3rmlu0Kq9I20ostjZ/Fcy33nN4fD+X51149jD97YDz3TZnj+26JBQAAAA9C0kyAAB6gUAlohz129nccUkyjNO1vRzde1VekQpKq+2uKSit1sq8Qm1aPstvcfWJMulUu9Hl3MH9Y/S9c0br9cIvtPNgTZfjc8d13ZkTAAAAPQ+F+wEA6AVcJaK645b/2+cyQSZJOw/W2CXIOt67zNKobSUWtRn2yas2w9C2EovPBfMdPa+jBJkkZQwdKEl68toZXXbbzM5I1pPXzvApBgAAAEQWZpIBANDDWRNRnXVMRPkyU6rM0tgl+eUp6713lx93eV5FjXexlVka9WF5jdvEXUd7DtXaxqC7GxgAAAAgcpEkAwCgh+tYDN8RbxNRVh+6SXB5wvHcrm+kJtnH5U1dM290HAN/bGAAAACAyEOSDACAHm7MkDiXxzsnojznLsXl3rljkzR3XJLbWmDuaqr98IV9DvvwlO9jAAAAgJ6CmmQAAPRwY5MHKjsjWdEmk117tMmk7Ixkn2dNzU7zfcfHjvc2nOTaOra7qqmWX1zVrQQZAAAAIJEkAwCgV8jNyVRWutmuLSvdrNycTJ/7HJs8UHPHuU+UnTV8kKalDHZ4b1d1zXaV1ai8usltcf/rn93j8zNYVdT4tkFAqJRZGrWluMrnjQ0AAADQFcstAQDoBRLiYgJSlH79lZN1xYYC1Ta32toGxkbrzovG6+WPjuqTzxt0oPKE0+s9qZfWXTfMHaPzJwzT0md2Oz0nUpZbult2CgAAAN8xkwwAENbWrVunmTNnatCgQRo6dKiWLFmi4uJiu3O+/vprrVixQklJSRo4cKCuuuoqHTt2LEQRh7c08wAtHD/Ub4Xp73n9n2r46pRd21ct7Xr0/RId+MJ5cmxHqUU3btrjUb00d+e4c/3cNGWfmRyQJadScGd1uVp2CgAAgO4hSQYACGv5+flasWKFPvjgA73//vtqbW3VhRdeqKambxISt99+u/7617/qlVdeUX5+vr744gtdeeWVIYy6d3C1DLK2ubVLe0fthrSnolZ3/uljzUod4vAca+H+sckDNSs10acY54z9pvj/g0vOVnx/+0n08f376JdLJvnUd11zi5Zu3K3zH8nXsmf3aOHDW7V0427Vd5hV50/ulp2y9BIAAKB7SJIBAMLaO++8oxtuuEFnn322pk6dqueee06HDx/W3r17JUn19fXauHGjHn30UZ1//vmaMWOGnn32We3cuVMffPBBiKPv2dwtlfTE3kO1Kj7W4PBYx1xQ8THns9Kcyc5I1lP/OcP2/Z1/3m+3LFSSaptb9dM/f+x131LwZ3UFY2kqAABAb0ZNMgBARKmvr5ckDRlyevbR3r171draqkWLFtnOmTBhgkaPHq1du3bp3HPP7dLHyZMndfLkSdv3DQ2OkzRwrbvLICWpXVJ9p+WaVtbC/Ydrmpye01mUSZo4Ml65OdPtllB6skGAN0surbO6Ous4q8tfS1qtPFmaCgAAAN8xkwwAEDHa29t12223KSsrS5MmnV4iV1lZqb59+2rw4MF25w4bNkyVlZUO+1m3bp0SEhJsXykpKYEOvUcamzxQiQEuFl9R06Sio3Uenz9xZLxeWH5ulwTVh+XHXV73gZMEmjOhmNU1NnlgwOqqAQAAgCQZACCCrFixQp988oleeumlbvWzZs0a1dfX276OHDnipwh7lzJLY5fli/6WmjRA00YN9vj83JzpTnZ5dF4fTZJMLo92FapZXbk5mcpKN9u1TR8zWLk5mQG5HwAAQG9CkgwAEBFuvfVWvfnmm9qyZYtGjRplax8+fLhaWlpUV1dnd/6xY8c0fPhwh33FxsYqPj7e7gveczebypP/yIg2mZQYF+NydtT88UPdzlhzN5tqdlqSy+tnj3V9vLNQzepKiIvR73KmaeaYbzYy2FNRq5V5hQHbMAAAAKC3IEkGAAhrhmHo1ltv1Wuvvaa///3vSktLszs+Y8YMxcTEaPPmzba24uJiHT58WHPmzAl2uL2Ku9lUM8a435EyK92sN1ac12V2VFa62W521BsrznOZKLOeX2Zp1Jbiqi47PY5NHqi54xwnwqy7aHrL0awud3H4w6q8Iu07XGfX5mzDgEDGAQAA0NNQuB8AENZWrFihF198UX/5y180aNAgW52xhIQE9e/fXwkJCVq+fLlWr16tIUOGKD4+XitXrtScOXMcFu2H/1hnUxWUVqutw1aU0SaTstLN2rR8lrZ9ZtHSZ3Y77WPtFWcrJSlOm5bPUnl1kypqmpSaNKBL0iolKU6F912o7SUW7Ttcq+mjEzUqMc52fmJcjFbmFdoV08/OSFZuTqZt+eWT185weo4vEuJiusTtSRzd4emGAXXNLVqVVxSwOAAAAHoikmQAgLD25JNPSpIWLFhg1/7ss8/qhhtukCT99re/VVRUlK666iqdPHlSixcv1hNPPBHkSHun3JzMLkmhjrPAio7Uury+ouabXSANw75uWJmlUYeON9slzf5xuE4fHKxRTFSU5nVY1rh0424VlFbbXW+dXfXzyyfa+umc1DIMQ/uO1DpMzHkqzTzAozg2LZ/lU/8debJhQJp5gFblFQU0DgAAgJ6IJBkAIKx1Tpw40q9fP23YsEEbNmwIQkToyHBSEP/I8SYteHi328L+qUmOZz0lxsXYXTtl5CB9/MUJ2/e7yo7roXeL9fJN5yo5Ptbl7KrzH8m3tVlnUyXGxfh9ppWns7y6w5MNA4IRBwAAQE9ETTIAAOAzZzOWljyx0+OdLx310fnajgmyjq5++gO3s6s6x7Yyr9DlTCtfeTLLq7s82TAgGHEAAAD0RCTJAACAT6wzlto6zfZrMwydanc/A1CS3vzH5w778EZBSbX7k/7NOpvKWdzWmVa+8GSWlz+42jAgmHEAAAD0NCy3BAAAPvFmBpczNU0t3e7jn1/UO9xAwFcd66R5w91GBv5a4uhow4COfQcrDgAAgJ6GmWQAAMAn7mYseeL8CUO73ce8f9cS6zy7ylfdmWnlbpaXP6WZB2jh+KEOk16exlFmadSW4iqfZ88BAAD0JMwkAwAAPnE1Y8lkktsll3PGJin7zKHdngX2w4XpktRldtX9f/mnV/36Y6aVu1leweIuDkebJXR34wIAAIBIx0wyAADgM2czlt5YkaVEF8mW7IxkPfWfM5z20SfK5OiyLl6+6Vy77zvOrvJ2dpk/Z3y5muUVTM7iCMTGBQAAAJGOmWQAAMBnrmYsFd53obaXWLTvcK2mj07UqMQ4h7OaOvcRbTJp6TO7nd5zWkqCLpw43DaDzJPYnt9Zrud2HnJ67h0Xnqlbz8/w8ukDq8zSqEPHm/0+G8264UJnHTcuCHVyDwAAIBRIkgEAAIe8SdKkmR2f095hyaXhZtmj9fgXdV+5PK9/TLSSB8U6PPby7sPaVV6jrHFmffecFFts44fHu+zTW91NYLm63pOlkN25v7sNF3zduAAAACDSkSQDAAB2/FGv6lBNk5ZsKFBtc6vD4x37c3Q/V3aVHdeusuNa8+p+vbEiSxPPSND+o3X69hM7bXXQXi/8wu747LQhLvt8+L3PtLu81u0zdndsPLne1VLI3+VM6/bPxt2GC93ZuAAAACCSUZMMAADY8Ue9KlcJss79ObqfJ061G7p8Q4Ek2SXIHB0fmzxQCf1d/9ugJ8/Y3bFxd711KWTnzQasSyFvev6jbv9sxiYPdFovLjEuhllkAACg1yJJBgAAbNwlacqrm9z2kV9c5TJB1rG/bZ9ZHN7PU6faDd3xx3843UnzVLuhVz46ojJLo+q/OuVRTM6esbtj48n17pZC7jlU262fjTUOZz+f2uZWj/vxRpmlUVuKqwLSNwAAgL+w3BIAANj4Wq+qY42soqN1Ht+v8EittyF28UG561loBQerZXZSw8wRZ8/Y3Vpenlzvbilkd+7vTRz+mk3mj6W7AAAAwUKSDAAA2Hhbr8pREmTSGZ4Xyc9MSfQuQAfOTTPrT7VHnR7PGmf2KvnkrCZXd2t5JfZ3nRSyFuHPzkhWQWm13YyxaJNJ08cM1p4K50lFR/d3VOA/mDXJXC0v3bR8lt/uAwAA4A8stwQAADZjkwcqOyNZ0SaTXXu0yaTsjOQuM4wcJUEOfHFCfaLsr+/M2l/2mcmaMzbJ53j7RJn08PemOr1fnyiTvntOisYmD3R7H2fPaOXt2HT26PslTo91vD43J1NZ6Wa741npZv1h6UxlZyQ7/I+3PlEm9ekQV11zi5Zu3K3zH8nXsmf3aOHDW7V0427VN7d2+zk85Y+luwAAAMFEkgwAANhxlqTJzcm0a3OVBDnVbii+n/MJ6x37M7nOp0mSBsX2UXSn8/pEmfTGiixJ0hsrsrokyjoe9+Q+jp6xM0/HpjPrWDlzx4Vn2v6cEBejTctnacsdC/TsspnacscCbVo+SwlxMcrNyVSUg4Tg6U0Kdti+d7dBgK/P4Q1PlnUCAACEE5ZbAgAAO9YkTXl1kypqmuyW6nXkLgny3zmZ6hNl0r7DtZo+OlGjEuO69FdmadTOgzVO+7hh7hhdcNYwzctIliS98tERFRysVtY4s757TortvIlnJKj0V5c4Pe7uPv+7fJbtHq54OjaduRurmuaWLm1p5q59Fx2pdbpJQW1zq7aXWHTG4P4OE3IdZ3ClmQf49BzeCOayTgAAAH8gSQYAABxylKTpyJMkSJp5gF3yqXN/7pJH88cPtbv+u+ek2CW/OnN23N19nCWenHE3Np35K2HkblOEfYedJ9GsOhbm9/Y5vGFd1umovlpWujlg9wUAAPAVyy0BAIBP/FHbytvkUZmlUVuKq7yuZxXsWU2d43Q2VlEmeVUHbNqowS6PTx+d6NWz+jqengrGsk4AAAB/YSYZAADwWW5OplbmFdot7/MmCeLpbCNHu2hmZyQrNydTCXGud4203mdWaqJ2O9gdclbqEL/NanIVZ25Opm55Ya/dss92Q2pta1d9c6tHzzF//FAN7h+juq9auxwb3D/GNuvO3Zh6M56Odsj0lK/LUwEAAEKBmWQAAMBnrorMe8qT2UbuCtF7ovjYCSftDR734Y6rOBPiYtQnKqrLf3ztLj/u1XNkDB3ott3dmHoynq52yPRWmnmAFo4fSoIMAACENWaSAQCAbutObSt3s42c7QzZuRC9K/nFVar/6pTDY/VfndL2EotHhftdcRfnts8s3X6OMkuj9hzqOhtOkvYcqrX14WpMPR1PV4m0TctnuYwTAAAgEjGTDAAAhAVns43cFd2vqHFfT8uTgvfecFTLy12chUdc38OT5/iw/LhXfTgaU0/G05pI67hcU7JPpIWbQNdXAwAAPR8zyQAAQFjzR9F9Twree8JVLS93cWamuL6Hq+dwdF9v+7DyZDzdJew67pAZat2tVwcAAGDFTDIAABDW/LGL5vzxQ5XoJGGSGBfj8VJLV0sQ3cWZfWayz8/h6L7e9mHlyXgGezfQ7vBHvToAAACJJBkAAIgAnhT3d+eNFed1SZQlxsXojRXneXS9J0sQ3cXp7rijJYPO7uusD0+4i8MficlgiMRloQAAIHyx3BIAAIQ9d8X9PZGSFKfC+y7U9hKL9h2u1fTRiV4V6/eklleaeYDLOJ09h3UnSUdLBt3dd/2Vk/Ufs0Z7/Byu4ugoNydTK/MK7WLyNhkXaJ7+TAAAADxBkgwAAESMwzVN+vhonfpEmRwmP/KLq1R0tM5lAuyMwf11qt3QqETXSwo782YJorvdPjsfd7Vk8OeXT3R53zMS+7s87kyZpVH/u+uQjtQ2a/HZw7vE64/EpDexHDre7PU9ImlZaKTx9WcCAEAkI0kGAADC3qGaJi3ZUKDa5lZbm3WpZEpSnNvjUvcLvFuXIBaUVtst74s2mZSVbvY5kWBdMtiZdcmg6d9LHDvf1+q6jbu9eo665hYte26PCg/X2dr+dqBKd/35Y/311vM08YwEu/PdJfy6wx8/kzljk7SrrKbLsTljk0ju+ICNEAAAvRk1yQAAQNjrnACTpNrmVl2+YYdHxyX/FHj3R220zjxZMujovh158xyr8orsEmRWbYZ0+YYCj/rwF3/8TDqVTXPbDtfYCAEA0JsxkwwAAIS1/OKqLgkwq9rmVm34e4nL49tLLDpjcH+Xs7XKqz2rXRWIJYieLBm03nfbZ1Va+syeLud4+hzOZq1ZnWo39MpHR/Tdc1I8fwAfuZtB58nPpMzSqJ0Hu84ik6SdB2s8/rniNH/8TAAAiGTMJAMAAGGt6Gidy+M7Os166Wzf4VqPZmt5I808QAvHD/VLwsCbnSTbnG9wKcn9c7gbB0kqOOh6PP3FHz8Tf/9cezvGEwDQ25EkAwAAYW3aqMEuj5/nYhmiJE0fnej3Au9llkZtKa5SebV/kgaeLuN09xzH6r+2i6lznO6ul6Ssca7H01/88TMJ959rpGEjBABAb+dTkmzDhg1KTU1Vv379NHv2bO3evdvpuU8//bTmzZunxMREJSYmatGiRS7PBwAA6Gj++KFKdFIwPDEuRivOz3B5fF5GsleztVypa27R0o27df4j+Vr27B4tfHirlm7crXonyz09ZV1OueWOBXp22UxtuWOBNi2f1aVQurPnsLrr1f1a+PBWXfP0B8r5nw+6xJk0IFbZTnb9lKQ+UaagLLWUvim674inRffD/ecaafw1npGCdxoAQGdeJ8lefvllrV69Wvfff7/27dunqVOnavHixaqqqnJ4/tatW5WTk6MtW7Zo165dSklJ0YUXXqjPP/+828EDAIDe4Y0V53VJhFl3r/TkuOSfovuBLmruyTJOd0X8pdP1uDrv+GiNMzcnU9NHD+5yTbRJemNFlk9x+8ofRfcj4ecaSQKxOUU44p0GAOCIyTAc7CXuwuzZszVz5kw9/vjjkqT29nalpKRo5cqVuuuuu9xe39bWpsTERD3++ONaunSpR/dsaGhQQkKC6uvrFR8f7024AAAH+Fy1x3hEju0lFu07XKvpoxM1z8GMKHfHJflcdL/M0qjzH8l3enzLHQuCOtOmvLpJH5TVaM2r+726zhpneXWT/m9XhQ4db9bis4cHbQaZlb/Hs6f8XMNFdzenCPfP1WC/04T7eABApAnU56pXu1u2tLRo7969WrNmja0tKipKixYt0q5duzzqo7m5Wa2trRoyZIjTc06ePKmTJ0/avm9oaPAmTAAA4ER+cZWKjta5TCKFszMG99epdkOjEh3XTpqXkez2ubz890EbT4qae5pMKLM06tDx5m7tjplmHuBTIXVrnGnmATIM6Whts4orT/gUg6ccPa8/x1OS7Zm81d04/PGzDEe+jmckCMY7De8zABCZvEqSVVdXq62tTcOGDbNrHzZsmP71r3951Medd96pkSNHatGiRU7PWbdundauXetNaACAHmrbtm36zW9+o7179+rLL7/Ua6+9piVLltiO33DDDXr++eftrlm8eLHeeeedIEca3g7VNGnJhgLVdqixZF2OmJLkvph7qNU1t2hVXpG2lVhsbdkZycrNyexStytQffijqLk/nsObmBxJTRqg9z75Ujf/3z5b278qG/WHHeXauPQcXTBxmIurvePqecOlSLyvcfj7Z4ngCcY7De8zABCZgrq75fr16/XSSy/ptddeU79+/Zyet2bNGtXX19u+jhw5EsQoAQDhpKmpSVOnTtWGDRucnnPRRRfpyy+/tH3l5eUFMcLI0DlBJkm1za26fMOOEEXkHX/UjOpuH/4oau7v2lfuCvl31ifKpDTzALsEWUfLN33kUxzOuHresckDXW64EKxZTL7GQR2z3suTdxreZwAgMnmVJDObzYqOjtaxY8fs2o8dO6bhw4e7vPbhhx/W+vXr9d5772nKlCkuz42NjVV8fLzdFwCgd7r44ov14IMP6tvf/rbTc2JjYzV8+HDbV2Jioss+T548qYaGBruvniy/uKpLgsyqtrlV2zvMhAlHZZZGbSuxqK3TMsk2w9C2EovKq90vOfRHH1L3ipr7KwZPYnLmVLuh7z/vOhH24Juf+hRHZ+6ed9tnFpd/L30dD2+VWRq9jiNQP0sERzDeaXifAYDI5FWSrG/fvpoxY4Y2b95sa2tvb9fmzZs1Z84cp9c99NBD+sUvfqF33nlH55xzju/RAgDgwNatWzV06FCNHz9et9xyi2pqalyev27dOiUkJNi+UlKCW7A82IqO1rk8vu9wbXAC8ZEnNaOC0YckJcTFaNPyWdpyxwI9u2ymttyxQJuWz/JoeZ2/YnAX0w1zx7g8/6Mjx10e31Hqn6Spu+ctPOL6752v4+EtX34ugfpZIjh4pwEAOOP1csvVq1fr6aef1vPPP68DBw7olltuUVNTk5YtWyZJWrp0qV0RzF//+te699579cwzzyg1NVWVlZWqrKxUY2Oj/54CANBrXXTRRdq0aZM2b96sX//618rPz9fFF1+strY2p9f0tmUw00YNdnl8+mjXM+9CzR+1q/xd/yrNPEALxw/1aklgoGtwWWNaOH6oy/POSXG+eZIkjRkywC8zodw9b2aK67934VyTLFzqqcF3vNMAABzxOkl29dVX6+GHH9Z9992nadOmqaioSO+8846t8OXhw4f15Zdf2s5/8skn1dLSou985zsaMWKE7evhhx/231MAAHqt//iP/9Dll1+uyZMna8mSJXrzzTe1Z88ebd261ek1vW0ZzPzxQ13WXAr3XS79UQvMH310V7BicPfz/v31rmfAvPvpMS18eKuWbtyteifLED3h7nmzz0wO+c/EkzgdxREOf5/QPbzTAAAcMRm+7oMeRA0NDUpISFB9fX2Pf5EBgGCI1M9Vk8nUZXdLR5KTk/Xggw/q+9//vkf9Rup4eONITbMu37AjYne3rG9u1cq8wm7tJOiPProrWDG4+3lv/vSY2yL90SaTstLN2rR8ls9xuHvecPiZeBKnv67pTXrD56o3GA8A8K9Afa6SJAOAXihSP1c9SZIdPXpUo0eP1uuvv67LL7/co34jdTx8sb3Eon2HazV9dGLYzyBzpLy6SRU1TUpNGuDzbB1/9NFdwYrB3c/7wTc/1d//dUxl1c5rbG25Y0G3Y3T3vOHwM/E1jnCJPdz0ps9VTzAeAOBfgfpc7eO3ngAACIDGxkaVlpbavi8vL1dRUZGGDBmiIUOGaO3atbrqqqs0fPhwHTx4UD/96U+Vnp6uxYsXhzDq8DUvIzkik2NWaebuJyL80Ud3BSsGdz/ve/6/icrKMGvZs3ucnlNR0xTwMQ+Hn4mvcYRL7AAAoPtIkgEAwtpHH32khQsX2r5fvXq1JOn666/Xk08+qY8//ljPP/+86urqNHLkSF144YX6xS9+odjY2FCFDPhdmaVRh443281WctTmbV+Pby7RjoOud7N0V4Tekzh8jdUqv7hKRUfrInYGpL+5G09PxpsxBQCgK5JkAICwtmDBArmqDPDuu+8GMRoguOqaW7Qqr8iu7tWcsUkymaSdB2tsbZ7UwnLUlzt9okzq06k4vav+OsfhyTmuHKpp0pINBRFbS8/f3I2nJ+PNmAIA4JzXu1sCAAAgOFblFamgtNqubVdZjV2CTJIKSqu1Mq/Q677cOdVu6PINOzzur3McnpzjSudkjiTVNrc6jamnczeenow3YwoAgHMkyQAAAMJQmaVR20osavNgj6U2w9C2EovKq5u63Vdntc2t2t5p9pmz/jrG4ck5ruQXV3VJ5riKqadzN57bPqtyO96MKQAArpEkAwAACEOHjjvfcdKZihrHiSdf+upo3+Far/qrqGny6BxXio7WeRVTT+duPAuP1Lk8XlHTxJgCAOAGNckAAADC0Jgh3teHclZk35e+Opo+OtGr/lKTBrisJWg9x5VpowZ7FVNP527MM1MGuzyemjTA7b+O97YxBQCgM2aSAQAAhKGxyQOVnZGsaCeF8zuKNpmUnZHsdCdDb/rqLDEupsvuh8766xiHJ+e4Mn/8UCU6Ke7vKKaezt14Zp851O14M6YAALhGkgwAACBM5eZkKivdbNc2Z2yS5o5LsmvLSjcrNyfT6746i+u0xsC666Gn/XWOw5NzXHljxXldkjquYurp3I2nJ+PNmAIA4JzJcDcXPgw0NDQoISFB9fX1io+PD3U4ABDx+Fy1x3gg3JVXN6mipkmpSQNsM7ActXnb1xNbSrWrrFpzxpr1m+9OlSRtL7Fo3+FaTR+d6NHMIk/i8DVWK29j6uncjacn4x3oMeVz1R7jAQD+FajPVWqSAQAABFGZpVFvfvyFjje16oKzhnqUoEgzd012ePLvnPnFVSo6WmeXCOnY15ghcTpaG2fX97yMZLuYyiyNOnS82S7h0rnNXeLLXayO4uzoi9qvVF7dpJEJ/d0+c3c4etZw5G48PfmZdP45AwAAkmQAAABBUdfcops2faQ9Fd/sIPjczgol9I/Rm7eep5Qkz4rr1zW3aFVekbaVWGxt2RnJys3JVMK/l9EdqmnSkg0Fqm1utZ1jXVKXkhSnnaUWXfOH3bZju8qO66F3i/XyTedq9r+Xcjq6z5yxSTKZpJ0Ha5ze25tY3cW5/2idvv3ETp1qP50Uer3wC615db/eWJGliWckeDRenvBkTMNBpMQJAECkoiYZAABAEKzKK7JLkFnVf9Wqyzfs8KqfgtJqu7aC0mqtzCu0fd858SRJtc3f3Kdjgqyjq5/+wOV9dpXV2CXIHN3bm1jdxdkxQWZ1qt3Q5RsKHN7PV56MaTiIlDgBAIhUJMkAAAACrMzSaDf7p7Pa5lZtd3G8cz9tnZbbtRmGtpVYVF7dpPziqi6Jp473ueOPRS7v8cSWUqf3caTjvb2J9eU9h13G+Yu//rNLgszqVLuhVz464jY2T3gypuEgUuIEACCSkSQDAAAIsEPHm92es+9w11lm3vZTUdOkoqN1Ls/5oLzG5fHtJRaP4nV0747c9bGrzHUcBQeru3XcU56MaTiIlDgBAIhkJMkAAAACbMwQ9/XGpo9O7HY/qUkDNG3UYJfnnJuW5PL4vIxkj+J1dO+O3PUxZ6zrOLLGmbt13FOejGk4iJQ4AQCIZCTJAAAAAmxs8kBlu9hJMDEuxqOdBq39RJtMdu3RJpOyM5KVZh6g+eOHKtFJEffEuBg9/L1pLu/xw4XpTu/jSMd7exPr1TNHu4zz3svOVp8ox/fvE2XSd89JcRubJzwZ03AQKXECABDJSJIBAAAEQW5Opmaldp0tltD/9G6O3vSTlW4/iyor3azcnEzb92+sOK9LAsq6a6QkvXzTuQ777tju6D5zxiZp7jj7GWCd7+1NrO7ifGNFVpdEWZ8ok95YkeXwfr7yZEzDQaTECQBApDIZhgcVWUOsoaFBCQkJqq+vV3x8fKjDAYCIx+eqPcYDwVRe3aS3Pv5C1Y0tuuCsoR7NIHPWT0VNk1KTBjidRbS9xKJ9h2s1fXSiw/s8saVU20ssmpeRrB8uTPf4Pp7c25tY3cX5ykdHVHCwWlnjzH6bQeZLnOEiEuLkc9Ue4wEA/hWoz1WSZADQC/G5ao/xAHxXZmnUoePNHidsvD3fU/nFVSo6Wuc00RYogXqeQAt03Hyu2mM8AMC/AvW52sdvPQEAAKDXqGtu0aq8Im0rsdjasjOSlZuTqQQHtca8Pd9Th2qatGRDgWqbW21t1iWbKUneb0DgqUA9T6BFatwAAAQDNckAAADgtVV5RSoorbZrKyit1sq8Qr+c76nOCTJJqm1u1eUbdnSrX3cC9TyBFqlxAwAQDCTJAAAA4JUyS6O2lVjU1qlqR5thaFuJReXVTd0631P5xVVdEmRWtc2t2t5htpQ/Bep5Ai1S4wYAIFhIkgEAAMArh443uzxeUWOfbPH2fE8VHa1zeXzf4Vqf+nUnUM8TaJEaNwAAwUKSDAAAAF4ZM8R1ra/UJPtC8N6e76lpowa7PD59dKJP/boTqOcJtEiNGwCAYCFJBgAAAK+MTR6o7IxkRZtMdu3RJpOyM5K77Jbo7fmemj9+qBKdFJtPjIsJ2C6XgXqeQIvUuAEACBaSZAAAAPBabk6mstLNdm1Z6Wbl5mT65XxPvbHivC6JMuvuloEUqOcJtEiNGwCAYDAZRqfKnWGooaFBCQkJqq+vV3x8fKjDAYCIx+eqPcYD8F15dZMqapqUmjTAo5lI3p7vqe0lFu07XKvpoxMDNoPMkUA9T6AFOm4+V+0xHgDgX4H6XO3jt54AAADQ66SZvUuyeHu+p+ZlJAc1OWYVqOcJtEiNGwCAQCJJBgAA0EuVWRp16HhzxM2CciSSn6Vz7JH8LAAARDKSZAAAAL1MXXOLVuUVaVuJxdaWnZGs3JxMJTgphB+uIvlZHMWeGBej2uZW2/eR8iwAAPQEFO4HAADoZVblFamgtNquraC0WivzCkMUke8i+Vkcxd4xQSZFzrMAANATkCQDAADoRcosjdpWYlFbp72b2gxD20osKq9uClFk3ovkZ3EWe2eR8CwAAPQUJMkAAAB6kUPHm10er6iJnGRMJD+Lu9g7C+dnAQCgpyBJBgAA0IuMGRLn8nhqUuQUio/kZ3EXe2fh/CwAAPQUJMkAAAB6kbHJA5Wdkaxok8muPdpkUnZGckTtphjJz+Is9s4i4VkAAOgpSJIBAAD0Mrk5mcpKN9u1ZaWblZuTGaKIfBfJz+Io9sROu1hGyrMAANAT9Al1AAAAAAiuhLgYbVo+S+XVTaqoaVJq0oCInakUyc/iLPZIfBYAAHoCZpIBAMLatm3bdNlll2nkyJEymUx6/fXX7Y4bhqH77rtPI0aMUP/+/bVo0SKVlJSEJlggwqSZB2jh+KE9IhETLs9SZmnUluIqr3aj7By7u2fx5R4AAMA9ZpIBAMJaU1OTpk6dqv/6r//SlVde2eX4Qw89pN/97nd6/vnnlZaWpnvvvVeLFy/Wp59+qn79+oUgYgC9UV1zi1blFWlbicXWlp2RrNycTCV0WkIZzvcAAKA3YyYZACCsXXzxxXrwwQf17W9/u8sxwzD02GOP6Z577tEVV1yhKVOmaNOmTfriiy+6zDgDgEBalVekgtJqu7aC0mqtzCuMqHsAANCbkSQDAESs8vJyVVZWatGiRba2hIQEzZ49W7t27XJ63cmTJ9XQ0GD3BQC+KrM0aluJRW2GYdfeZhjaVmLxy7LIYNwDAIDejiQZACBiVVZWSpKGDRtm1z5s2DDbMUfWrVunhIQE21dKSkpA4wTQsx063uzyeEVN9xNYwbgHAAC9HUkyAECvs2bNGtXX19u+jhw5EuqQAESwMUPiXB5PTer+ZgLBuAcAAL0dSTIAQMQaPny4JOnYsWN27ceOHbMdcyQ2Nlbx8fF2XwDgq7HJA5Wdkaxok8muPdpkUnZGsl923AzGPQAA6O1IkgEAIlZaWpqGDx+uzZs329oaGhr04Ycfas6cOSGMDEBvk5uTqax0s11bVrpZuTmZEXUPAAB6sz6hDgAAAFcaGxtVWlpq+768vFxFRUUaMmSIRo8erdtuu00PPvigMjIylJaWpnvvvVcjR47UkiVLQhc0gF4nIS5Gm5bPUnl1kypqmpSaNMDvs7uCcQ8AAHozkmQAgLD20UcfaeHChbbvV69eLUm6/vrr9dxzz+mnP/2pmpqadPPNN6uurk7nnXee3nnnHfXr1y9UIQPoQcosjTp0vNnjhFSaOfCJq2DcAwCA3ogkGQAgrC1YsECGYTg9bjKZ9MADD+iBBx4IYlQAerq65hatyivSthKLrS07I1m5OZlKiIsJYWQAACBQqEkGAAAAdLIqr0gFpdV2bQWl1VqZVxiiiAAAQKCRJAMAAAA6KLM0aluJRW2dZrG2GYa2lVhUXt0UosgAAEAgkSQDAAAAOjh0vNnl8YoakmQAAPREJMkAAACADsYMiXN5PDWJovkAAPREJMkAAACADsYmD1R2RrKiTSa79miTSdkZyewsCQBAD0WSDAAAAOgkNydTWelmu7asdLNyczJDFBEAAAi0PqEOAAAAAAg3CXEx2rR8lsqrm1RR06TUpAHMIAMAoIcjSQYAAAA4kWYmOQYAQG/BcksAAAAAAAD0eiTJAAAAAAAA0OuRJAMAAAAAAECvR5IMAAAAAAAAvR5JMgAAAAAAAPR6JMkAAAAAAADQ65EkAwAAAAAAQK9HkgwAAAAAAAC9nk9Jsg0bNig1NVX9+vXT7NmztXv3bpfnv/LKK5owYYL69eunyZMn6+233/YpWAAAAADwB95pAACdeZ0ke/nll7V69Wrdf//92rdvn6ZOnarFixerqqrK4fk7d+5UTk6Oli9frsLCQi1ZskRLlizRJ5980u3gAQAAAMBbvNMAABwxGYZheHPB7NmzNXPmTD3++OOSpPb2dqWkpGjlypW66667upx/9dVXq6mpSW+++aat7dxzz9W0adP01FNPeXTPhoYGJSQkqL6+XvHx8d6ECwBwgM9Ve4wHAPhXuH+uBvudJtzHAwAiTaA+V/t4c3JLS4v27t2rNWvW2NqioqK0aNEi7dq1y+E1u3bt0urVq+3aFi9erNdff93pfU6ePKmTJ0/avq+vr5d0ehAAAN1n/Tz18t9JeizrOPB7BgD8I5x/zwTjnYb3GQAIrED9nvEqSVZdXa22tjYNGzbMrn3YsGH617/+5fCayspKh+dXVlY6vc+6deu0du3aLu0pKSnehAsAcKOmpkYJCQmhDiPkTpw4IYnfMwDgbydOnAi73zPBeKfhfQYAgsPf7zNeJcmCZc2aNXb/UlNXV6cxY8bo8OHDYfdLNhQaGhqUkpKiI0eOMF1bjIcjjIk9xqOr+vp6jR49WkOGDAl1KGFh5MiROnLkiAYNGiSTyeS3fvm753+MqX8xnv7HmJ5mGIZOnDihkSNHhjqUkOB9xj3+v2KP8bDHeHTFmNgL1PuMV0kys9ms6OhoHTt2zK792LFjGj58uMNrhg8f7tX5khQbG6vY2Ngu7QkJCfxl6CA+Pp7x6IDx6Ioxscd4dBUV5dMmxz1OVFSURo0aFbD++bvnf4ypfzGe/seYKmyTQcF4p+F9xnP8f8Ue42GP8eiKMbHn7/cZr3rr27evZsyYoc2bN9va2tvbtXnzZs2ZM8fhNXPmzLE7X5Lef/99p+cDAAAAQKDwTgMAcMbr5ZarV6/W9ddfr3POOUezZs3SY489pqamJi1btkyStHTpUp1xxhlat26dJOlHP/qR5s+fr0ceeUSXXnqpXnrpJX300Uf6n//5H/8+CQAAAAB4gHcaAIAjXifJrr76alksFt13332qrKzUtGnT9M4779gKWR4+fNhuutvcuXP14osv6p577tHPfvYzZWRk6PXXX9ekSZM8vmdsbKzuv/9+h1OWeyPGwx7j0RVjYo/x6IoxCQ7G2f8YU/9iPP2PMY0MwX6n4e9FV4yJPcbDHuPRFWNiL1DjYTLCcV9mAAAAAAAAIIio2AwAAAAAAIBejyQZAAAAAAAAej2SZAAAAAAAAOj1SJIBAAAAAACg1wubJNmGDRuUmpqqfv36afbs2dq9e7fL81955RVNmDBB/fr10+TJk/X2228HKdLg8GY8nn76ac2bN0+JiYlKTEzUokWL3I5fpPH274fVSy+9JJPJpCVLlgQ2wBDwdkzq6uq0YsUKjRgxQrGxsTrzzDN71P9vvB2Pxx57TOPHj1f//v2VkpKi22+/XV9//XWQog2sbdu26bLLLtPIkSNlMpn0+uuvu71m69atmj59umJjY5Wenq7nnnsu4HH2JD//+c9lMpnsviZMmGA7/vXXX2vFihVKSkrSwIEDddVVV+nYsWMhjDi8uPs7axiG7rvvPo0YMUL9+/fXokWLVFJSYnfO8ePHde211yo+Pl6DBw/W8uXL1djYGMSnCC/uxvSGG27o8nf2oosusjuHMf3GunXrNHPmTA0aNEhDhw7VkiVLVFxcbHeOJ/8/P3z4sC699FLFxcVp6NCh+slPfqJTp04F81EQQLzPdMU7jT3eaezxPtMV7zTfCNk7jREGXnrpJaNv377GM888Y/zzn/80brrpJmPw4MHGsWPHHJ5fUFBgREdHGw899JDx6aefGvfcc48RExNj7N+/P8iRB4a343HNNdcYGzZsMAoLC40DBw4YN9xwg5GQkGAcPXo0yJEHhrfjYVVeXm6cccYZxrx584wrrrgiOMEGibdjcvLkSeOcc84xLrnkEmPHjh1GeXm5sXXrVqOoqCjIkQeGt+PxwgsvGLGxscYLL7xglJeXG++++64xYsQI4/bbbw9y5IHx9ttvG3fffbfx6quvGpKM1157zeX5ZWVlRlxcnLF69Wrj008/NXJzc43o6GjjnXfeCU7APcD9999vnH322caXX35p+7JYLLbjP/jBD4yUlBRj8+bNxkcffWSce+65xty5c0MYcXhx93d2/fr1RkJCgvH6668b//jHP4zLL7/cSEtLM7766ivbORdddJExdepU44MPPjC2b99upKenGzk5OUF+kvDhbkyvv/5646KLLrL7O3v8+HG7cxjTbyxevNh49tlnjU8++cQoKioyLrnkEmP06NFGY2Oj7Rx3/z8/deqUMWnSJGPRokVGYWGh8fbbbxtms9lYs2ZNKB4Jfsb7TFe809jjncYe7zNd8U5jL1TvNGGRJJs1a5axYsUK2/dtbW3GyJEjjXXr1jk8/3vf+55x6aWX2rXNnj3b+P73vx/QOIPF2/Ho7NSpU8agQYOM559/PlAhBpUv43Hq1Clj7ty5xh/+8Afj+uuv71G/UAzD+zF58sknjbFjxxotLS3BCjGovB2PFStWGOeff75d2+rVq42srKyAxhkKnvxC+elPf2qcffbZdm1XX321sXjx4gBG1rPcf//9xtSpUx0eq6urM2JiYoxXXnnF1nbgwAFDkrFr164gRRg5Ov+dbW9vN4YPH2785je/sbXV1dUZsbGxRl5enmEYhvHpp58akow9e/bYzvl//+//GSaTyfj888+DFnu4cpYkc/W7kTF1raqqypBk5OfnG4bh2f/P3377bSMqKsqorKy0nfPkk08a8fHxxsmTJ4P7APA73me64p3GHu809nif6Yp3GueC+U4T8uWWLS0t2rt3rxYtWmRri4qK0qJFi7Rr1y6H1+zatcvufElavHix0/MjiS/j0Vlzc7NaW1s1ZMiQQIUZNL6OxwMPPKChQ4dq+fLlwQgzqHwZkzfeeENz5szRihUrNGzYME2aNEm/+tWv1NbWFqywA8aX8Zg7d6727t1rm75cVlamt99+W5dccklQYg43PfkzNZhKSko0cuRIjR07Vtdee60OHz4sSdq7d69aW1vtxnjChAkaPXo0Y+yB8vJyVVZW2o1fQkKCZs+ebRu/Xbt2afDgwTrnnHNs5yxatEhRUVH68MMPgx5zpNi6dauGDh2q8ePH65ZbblFNTY3tGGPqWn19vSTZ/lvLk/+f79q1S5MnT9awYcNs5yxevFgNDQ365z//GcTo4W+8z3TFO4093mns8T7TFe803eevz9U+/gzKF9XV1Wpra7P7DwZJGjZsmP71r385vKaystLh+ZWVlQGLM1h8GY/O7rzzTo0cObLLX5BI5Mt47NixQxs3blRRUVEQIgw+X8akrKxMf//733Xttdfq7bffVmlpqX74wx+qtbVV999/fzDCDhhfxuOaa65RdXW1zjvvPBmGoVOnTukHP/iBfvaznwUj5LDj7DO1oaFBX331lfr37x+iyCLH7Nmz9dxzz2n8+PH68ssvtXbtWs2bN0+ffPKJKisr1bdvXw0ePNjump7yeyvQrGPk6vd+ZWWlhg4dane8T58+GjJkCGPsxEUXXaQrr7xSaWlpOnjwoH72s5/p4osv1q5duxQdHc2YutDe3q7bbrtNWVlZmjRpkiR59P9zZ5+11mOIXLzPdMU7jT3eaezxPtMV7zTd5693mpAnyeBf69ev10svvaStW7eqX79+oQ4n6E6cOKHrrrtOTz/9tMxmc6jDCRvt7e0aOnSo/ud//kfR0dGaMWOGPv/8c/3mN7/pEb9UvLV161b96le/0hNPPKHZs2ertLRUP/rRj/SLX/xC9957b6jDQwS6+OKLbX+eMmWKZs+erTFjxuiPf/wjSUaEpf/4j/+w/Xny5MmaMmWKxo0bp61bt+qCCy4IYWThb8WKFfrkk0+0Y8eOUIcC9Fi80/BO0xnvM13xThMYIU+Smc1mRUdHd9n959ixYxo+fLjDa4YPH+7V+ZHEl/Gwevjhh7V+/Xr97W9/05QpUwIZZtB4Ox4HDx5URUWFLrvsMltbe3u7pNP/Al5cXKxx48YFNugA8+XvyIgRIxQTE6Po6Ghb21lnnaXKykq1tLSob9++AY05kHwZj3vvvVfXXXedbrzxRkmnXxCbmpp088036+6771ZUVMhXogeVs8/U+Ph4Ejw+Gjx4sM4880yVlpbqW9/6llpaWlRXV2c3y6Sn/N4KNOsYHTt2TCNGjLC1Hzt2TNOmTbOdU1VVZXfdqVOndPz4ccbYQ2PHjpXZbFZpaakuuOACxtSJW2+9VW+++aa2bdumUaNG2dqHDx/u9v/nw4cP77JLmfWztzePaU/A+0xXvNPY453GHu8zXfFO033+eqcJ+aj17dtXM2bM0ObNm21t7e3t2rx5s+bMmePwmjlz5tidL0nvv/++0/MjiS/jIUkPPfSQfvGLX+idd96xqx8S6bwdjwkTJmj//v0qKiqyfV1++eVauHChioqKlJKSEszwA8KXvyNZWVkqLS21/XKVpM8++0wjRoyI+F8ovoxHc3Nzl18a1l+4p+tC9i49+TM1VBobG3Xw4EGNGDFCM2bMUExMjN0YFxcX6/Dhw4yxB9LS0jR8+HC78WtoaNCHH35oG785c+aorq5Oe/futZ3z97//Xe3t7Zo9e3bQY45ER48eVU1NjS0RyZjaMwxDt956q1577TX9/e9/V1pamt1xT/5/PmfOHO3fv98u+fj+++8rPj5eEydODM6DICB4n+mKdxp7vNPY432mK95pus9vn6telfkPkJdeesmIjY01nnvuOePTTz81br75ZmPw4MG23X+uu+4646677rKdX1BQYPTp08d4+OGHjQMHDhj3339/j9oy2dvxWL9+vdG3b1/jT3/6k91W7idOnAjVI/iVt+PRWU/bCcYwvB+Tw4cPG4MGDTJuvfVWo7i42HjzzTeNoUOHGg8++GCoHsGvvB2P+++/3xg0aJCRl5dnlJWVGe+9954xbtw443vf+16oHsGvTpw4YRQWFhqFhYWGJOPRRx81CgsLjUOHDhmGYRh33XWXcd1119nOt26X/JOf/MQ4cOCAsWHDBp+2S+7NfvzjHxtbt241ysvLjYKCAmPRokWG2Ww2qqqqDMMwjB/84AfG6NGjjb///e/GRx99ZMyZM8eYM2dOiKMOH+7+zq5fv94YPHiw8Ze//MX4+OOPjSuuuMJIS0szvvrqK1sfF110kZGZmWl8+OGHxo4dO4yMjAwjJycnVI8Ucq7G9MSJE8Ydd9xh7Nq1yygvLzf+9re/GdOnTzcyMjKMr7/+2tYHY/qNW265xUhISDC2bt1q999azc3NtnPc/f/81KlTxqRJk4wLL7zQKCoqMt555x0jOTnZWLNmTSgeCX7G+0xXvNPY453GHu8zXfFOYy9U7zRhkSQzDMPIzc01Ro8ebfTt29eYNWuW8cEHH9iOzZ8/37j++uvtzv/jH/9onHnmmUbfvn2Ns88+23jrrbeCHHFgeTMeY8aMMSR1+br//vuDH3iAePv3o6Oe9gvFytsx2blzpzF79mwjNjbWGDt2rPHLX/7SOHXqVJCjDhxvxqO1tdX4+c9/bowbN87o16+fkZKSYvzwhz80amtrgx94AGzZssXhZ4J1DK6//npj/vz5Xa6ZNm2a0bdvX2Ps2LHGs88+G/S4I9nVV19tjBgxwujbt69xxhlnGFdffbVRWlpqO/7VV18ZP/zhD43ExEQjLi7O+Pa3v218+eWXIYw4vLj7O9ve3m7ce++9xrBhw4zY2FjjggsuMIqLi+36qKmpMXJycoyBAwca8fHxxrJly3rMi5UvXI1pc3OzceGFFxrJyclGTEyMMWbMGOOmm26y/Ue4FWP6DUdjKcnus9KT/59XVFQYF198sdG/f3/DbDYbP/7xj43W1tYgPw0ChfeZrninscc7jT3eZ7rineYboXqnMRlGL5yHBwAAAAAAAHQQ8ppkAAAAAAAAQKiRJAMAAAAAAECvR5IMAAAAAAAAvR5JMgAAAAAAAPR6JMkAAAAAAADQ65EkAwAAAAAAQK9HkgwAAAAAAAC9HkkyAAAAAAAA9HokyQAAADpYsGCBbrvttlCHAQAAgCAjSQYAAAAAAIBejyQZAABAALW0tIQ6hKDpTc8KAAB6HpJkAAAAnbS3t+unP/2phgwZouHDh+vnP/+57djhw4d1xRVXaODAgYqPj9f3vvc9HTt2zHb85z//uaZNm6Y//OEPSktLU79+/SRJf/rTnzR58mT1799fSUlJWrRokZqammzX/eEPf9BZZ52lfv36acKECXriiSdsxyoqKmQymfTSSy9p7ty56tevnyZNmqT8/Hy7uPPz8zVr1izFxsZqxIgRuuuuu3Tq1ClJ0ptvvqnBgwerra1NklRUVCSTyaS77rrLdv2NN96o//zP/7R9v2PHDs2bN0/9+/dXSkqKVq1aZRdzamqqfvGLX2jp0qWKj4/XzTff3J1hBwAACCmSZAAAAJ08//zzGjBggD788EM99NBDeuCBB/T++++rvb1dV1xxhY4fP678/Hy9//77Kisr09VXX213fWlpqf785z/r1VdfVVFRkb788kvl5OTov/7rv3TgwAFt3bpVV155pQzDkCS98MILuu+++/TLX/5SBw4c0K9+9Svde++9ev755+36/clPfqIf//jHKiws1Jw5c3TZZZeppqZGkvT555/rkksu0cyZM/WPf/xDTz75pDZu3KgHH3xQkjRv3jydOHFChYWFkk4n1Mxms7Zu3WrrPz8/XwsWLJAkHTx4UBdddJGuuuoqffzxx3r55Ze1Y8cO3XrrrXYxPfzww5o6daoKCwt17733+u1nAAAAEGwmw/pfZwAAANCCBQvU1tam7du329pmzZql888/XxdccIEuvvhilZeXKyUlRZL06aef6uyzz9bu3bs1c+ZM/fznP9evfvUrff7550pOTpYk7du3TzNmzFBFRYXGjBnT5Z7p6en6xS9+oZycHFvbgw8+qLfffls7d+5URUWF0tLStH79et15552SpFOnTiktLU0rV67UT3/6U919993685//rAMHDshkMkmSnnjiCd15552qr69XVFSUZsyYoZycHN1xxx369re/rZkzZ2rt2rWqqalRfX29Ro0apc8++0wZGRm68cYbFR0drd///ve2mHbs2KH58+erqalJ/fr1U2pqqjIzM/Xaa6/5/wcBAAAQZMwkAwAA6GTKlCl2348YMUJVVVU6cOCAUlJSbAkySZo4caIGDx6sAwcO2NrGjBljS5BJ0tSpU3XBBRdo8uTJ+u53v6unn35atbW1kqSmpiYdPHhQy5cv18CBA21fDz74oA4ePGgXx5w5c2x/7tOnj8455xzbfQ8cOKA5c+bYEmSSlJWVpcbGRh09elSSNH/+fG3dulWGYWj79u268sorddZZZ2nHjh3Kz8/XyJEjlZGRIUn6xz/+oeeee84upsWLF6u9vV3l5eW2e5xzzjm+DTIAAECY6RPqAAAAAMJNTEyM3fcmk0nt7e0eXz9gwAC776Ojo/X+++9r586deu+995Sbm6u7775bH374oeLi4iRJTz/9tGbPnt3lOn9asGCBnnnmGf3jH/9QTEyMJkyYoAULFmjr1q2qra3V/Pnzbec2Njbq+9//vlatWtWln9GjR9v+3PlZAQAAIhUzyQAAADx01lln6ciRIzpy5Iit7dNPP1VdXZ0mTpzo8lqTyaSsrCytXbtWhYWF6tu3r1577TUNGzZMI0eOVFlZmdLT0+2+0tLS7Pr44IMPbH8+deqU9u7dq7POOssW265du9SxkkZBQYEGDRqkUaNGSfqmLtlvf/tbW0LMmiTbunWrrR6ZJE2fPl2ffvppl5jS09PVt29f3wYQAAAgjDGTDAAAwEOLFi3S5MmTde211+qxxx7TqVOn9MMf/lDz5893uezwww8/1ObNm3XhhRdq6NCh+vDDD2WxWGwJrrVr12rVqlVKSEjQRRddpJMnT+qjjz5SbW2tVq9ebetnw4YNysjI0FlnnaXf/va3qq2t1X/9139Jkn74wx/qscce08qVK3XrrbequLhY999/v1avXq2oqNP/LpqYmKgpU6bohRde0OOPPy5Jys7O1ve+9z21trbazSS78847de655+rWW2/VjTfeqAEDBujTTz/V+++/b7sWAACgJyFJBgAA4CGTyaS//OUvWrlypbKzsxUVFaWLLrpIubm5Lq+Lj4/Xtm3b9Nhjj6mhoUFjxozRI488oosvvliSdOONNyouLk6/+c1v9JOf/EQDBgzQ5MmTddttt9n1s379eq1fv15FRUVKT0/XG2+8IbPZLEk644wz9Pbbb+snP/mJpk6dqiFDhmj58uW655577PqYP3++ioqKbLPGhgwZookTJ+rYsWMaP3687bwpU6YoPz9fd999t+bNmyfDMDRu3LguO3kCAAD0FOxuCQAAEOasu1sWFhZq2rRpoQ4HAACgR6ImGQAAAAAAAHo9kmQAAAAAAADo9VhuCQAAAAAAgF6PmWQAAAAAAADo9UiSAQAAAAAAoNcjSQYAAAAAAIBejyQZAAAAAAAAej2SZAAAAAAAAOj1SJIBAAAAAACg1yNJBgAAAAAAgF6PJBkAAAAAAAB6vf8f972lammgdBgAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, axes = subplots(ncols=3, figsize=(15, 5))\n", "Auto.plot.scatter('horsepower', 'mpg', ax=axes[1]);\n" @@ -2854,12 +7902,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 107, "id": "2b6fb1ad", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.909709Z", + "iopub.status.busy": "2023-07-25T23:59:07.909567Z", + "iopub.status.idle": "2023-07-25T23:59:07.912864Z", + "shell.execute_reply": "2023-07-25T23:59:07.912497Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "CategoricalDtype(categories=[3, 4, 5, 6, 8], ordered=False)" + ] + }, + "execution_count": 107, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto.cylinders = pd.Series(Auto.cylinders, dtype='category')\n", "Auto.cylinders.dtype\n" @@ -2876,10 +7941,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 108, "id": "1f19f48c", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:07.914563Z", + "iopub.status.busy": "2023-07-25T23:59:07.914464Z", + "iopub.status.idle": "2023-07-25T23:59:08.031995Z", + "shell.execute_reply": "2023-07-25T23:59:08.031639Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAq8AAALXCAYAAACjEKkxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABd/klEQVR4nO3deVyVZf7/8TcckFVwF0hUkhIT1LRCMkRSdCgNQtpsshprljRTcaZ0WtRvaZmaTYtTTqOVaU0MUmOZYilSSSllSaWloZniniKLBIf794dxfiFosnhubs/r+Xj4wHPdy/W5uTiHN/e5zn27GYZhCAAAALAAd7MLAAAAAM4W4RUAAACWQXgFAACAZRBeAQAAYBmEVwAAAFgG4RUAAACWQXgFAACAZRBeAQAAYBmEVwAAAFgG4RXAOeHm5qZp06aZXcZ5b926dXJzc9O6devOuN60adPk5uamQ4cOOaewJjBo0CANGjTI8Xjnzp1yc3PT4sWLm6yPc7FPAOcW4RWwmMWLF8vNza3Gvw4dOig+Pl4rV640u7xG+/rrrzVt2jTt3LnT7FIAAM2Qh9kFAGiYGTNmKCwsTIZhaP/+/Vq8eLGuueYa/e9//9Pw4cPNLq/Bvv76a02fPl2DBg1S165dzS4HzUiXLl1UVlYmT09Ps0sBYCLCK2BRiYmJuuyyyxyPx4wZo44dO2rZsmWWDq/OVFlZqaqqKrVo0cLsUnAW3Nzc5O3tbXYZZ1RSUiI/Pz+zywDOa0wbAM4TrVq1ko+Pjzw8av5NWlJSorS0NIWGhsrLy0vdu3fXnDlzZBiGJKmsrEwRERGKiIhQWVmZY7sjR44oODhYV155pex2uyTpjjvukL+/v77//nsNGzZMfn5+CgkJ0YwZMxz7O5PPP/9ciYmJCggIkL+/vwYPHqzc3FzH8sWLF+uGG26QJMXHxzumRfzWfM4333xTl1xyiby9vRUZGanly5frjjvuqHHmtnpu45w5czR//nx169ZNXl5e+vrrryVJH3zwgWJjY+Xn56dWrVopKSlJ33zzTY1+Tt1nter5pL/m5uamcePG6bXXXlP37t3l7e2tfv36af369bW237Nnj/7whz+oY8eO8vLyUs+ePfXvf/+71no//vijkpOT5efnpw4dOmjixIkqLy8/4/fmVIcOHdKNN96ogIAAtW3bVvfdd59OnDjhWB4XF6fevXvXuW337t01bNiw3+xj5cqViouLU8uWLRUQEKDLL79cS5culSQ98sgj8vT01MGDB2tt98c//lGtWrWqUc+v1TU/tfpncs+ePUpOTpa/v7/at2+vyZMnO35uqx09elR33HGHAgMD1apVK91+++06evRonX1t3bpVqampatOmjby9vXXZZZfp7bffrrFO9RSe7Oxs3XPPPerQoYM6deokSTp+/LgmTJigrl27ysvLSx06dFBCQoI+++yz3/z+ATgzzrwCFnXs2DEdOnRIhmHowIEDeuaZZ1RcXKzf//73jnUMw9B1112ntWvXasyYMerTp49WrVqlv/71r9qzZ4+eeuop+fj46OWXX9aAAQP097//XfPmzZMkjR07VseOHdPixYtls9kc+7Tb7frd736n/v37a/bs2Xrvvff0yCOPqLKyUjNmzDhtvV999ZViY2MVEBCgv/3tb/L09NQLL7ygQYMGKTs7W9HR0Ro4cKDGjx+vf/zjH5o6dap69OghSY6vdXnnnXd00003KSoqSrNmzdJPP/2kMWPG6IILLqhz/UWLFunEiRP64x//KC8vL7Vp00Zr1qxRYmKiLrzwQk2bNk1lZWV65plnNGDAAH322WcNnr6QnZ2tN954Q+PHj5eXl5eef/55/e53v9Onn36qyMhISdL+/fvVv39/R9ht3769Vq5cqTFjxqioqEgTJkyQdPKPjMGDB+uHH37Q+PHjFRISoldffVUffPBBvWq68cYb1bVrV82aNUu5ubn6xz/+oZ9++kmvvPKKJOm2227T3Xffrfz8fEeNkrRx40Z9++23evDBB8+4/8WLF+sPf/iDevbsqSlTpqhVq1b6/PPP9d5772nUqFG67bbbNGPGDL3xxhsaN26cY7uff/5Z6enpGjlyZL3Prtrtdg0bNkzR0dGaM2eO1qxZo7lz56pbt276y1/+IunkcyEpKUkffvih/vznP6tHjx5avny5br/99lr7++qrrzRgwABdcMEFeuCBB+Tn56f//Oc/Sk5O1n//+19df/31Nda/55571L59ez388MMqKSmRJP35z39Wenq6xo0bp0suuUSHDx/Whx9+qG+++UZ9+/at1/EBOIUBwFIWLVpkSKr1z8vLy1i8eHGNdTMzMw1JxqOPPlqjPTU11XBzczO2b9/uaJsyZYrh7u5urF+/3njzzTcNScb8+fNr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wYPrXN9ms2no0KF66623arw9vX//fi1dulRXXXWVAgICJMkRFE93CaNfCwkJUWRkpF555RVHYJdOfsp/y5Ytv7m9dDJg9OnTRy+//HKNPvPz87V69Wpdc801jrZu3brp2LFj+vLLLx1thYWFWr58eZ373rBhQ41LI+3evVtvvfWWhg4dKpvNJpvNppEjR+q///2v8vPza23/68tJXXPNNdq7d6/S09MdbaWlpXrxxRfP6jirPffcczUeP/PMM5JUK1Dddttt+umnn/SnP/2p1lUsTmfo0KFq2bKlZs2aVetyV8Ypl1JLTExUu3bt9MQTTyg7O7vBZ13P1jXXXKPKykotWLDA0Wa32x3HX61Dhw4aNGiQXnjhBRUWFtbaT12X+DqV3W7XsWPHau03JCSk3pc2A1AbZ14Bi1q5cqXjDOqBAwe0dOlSfffdd3rggQccQXDEiBGKj4/X3//+d+3cuVO9e/fW6tWr9dZbb2nChAmOM2WPPvqoNm/erPfff18tW7ZUr1699PDDD+vBBx9UampqjQDn7e2t9957T7fffruio6O1cuVKvfPOO5o6dWqteYe/9uijjyorK0tXXXWV7rnnHnl4eOiFF15QeXm5Zs+e7VivT58+stlseuKJJ3Ts2DF5eXnp6quvVocOHerc78yZM5WUlKQBAwbozjvv1E8//aRnn31WkZGRNQLtmTz55JNKTExUTEyMxowZ47hUVmBgoKZNm+ZY7+abb9b999+v66+/XuPHj1dpaakWLFigiy++uM7rd0ZGRmrYsGE1LpUlSdOnT3es8/jjj2vt2rWKjo7W3XffrUsuuURHjhzRZ599pjVr1ujIkSOSTn4o6Nlnn9Xo0aOVl5en4OBgvfrqq/L19T2rY6xWUFCg6667Tr/73e+0YcMGLVmyRKNGjap1bddLL71UkZGRevPNN9WjR4+zurxTQECAnnrqKd111126/PLLNWrUKLVu3VpffPGFSktL9fLLLzvW9fT01M0336xnn31WNptNt9xyS72Oo75GjBihAQMG6IEHHtDOnTt1ySWXKCMjo1bIlE4G/KuuukpRUVG6++67deGFF2r//v3asGGDfvzxR33xxRdn7Ov48ePq1KmTUlNT1bt3b/n7+2vNmjXauHGj5s6de64OEXAd5l3oAEBD1HWpLG9vb6NPnz7GggULalySyDAM4/jx48bE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448/Ljc3N02YMMHRNmjQILm5udX49+c//7mxdQIAAADyaOiGGzdu1AsvvKBevXrVWnb33XdrxowZjse+vr4N7QYAAABwaNCZ1+LiYt16661auHChWrduXWu5r6+vgoKCHP8CAgIaXSgAAADQoDOvY8eO1bXXXqshQ4bo0UcfrbX8tdde05IlSxQUFKQRI0booYceOu3Z1/LycpWXlzseFxUVSZIqKipUUVHRkPIsrfqYXfHYwfi7OsbftTH+rs3Vx78+x13v8Pr666/rs88+08aNG+tcPmrUKHXp0kUhISH68ssvdf/992vbtm3KyMioc/1Zs2Zp+vTptdpXr17t0tMNsrKyzC4BJmL8XRvj79oYf9fmquNfWlp61uu6GYZhnO3Ku3fv1mWXXaasrCzHXNdBgwapT58+mj9/fp3bfPDBBxo8eLC2b9+ubt261Vpe15nX0NBQHTp0yCWnG1RUVCgrK0sJCQny9PQ0uxw4GePv2hh/18b4uzZXH/+ioiK1a9dOx44d+838V68zr3l5eTpw4ID69u3raLPb7Vq/fr2effZZlZeXy2az1dgmOjpakk4bXr28vOTl5VWr3dPT0yUHr5qrH7+rY/xdG+Pv2hh/1+aq41+fY65XeB08eLC2bNlSo+3OO+9URESE7r///lrBVZI2b94sSQoODq5PVwAAAEAt9QqvLVu2VGRkZI02Pz8/tW3bVpGRkdqxY4eWLl2qa665Rm3bttWXX36piRMnauDAgXVeUgsAAACojwZf57UuLVq00Jo1azR//nyVlJQoNDRUI0eO1IMPPtiU3QDNVmlpqbZu3drg7YvLyvXxlh1q3W6T/H1qT6c5WxERES79gUcAwPmr0eF13bp1jv+HhoYqOzu7sbsELGvr1q3q169fo/czu5Hb5+Xl1ZibDgDA+aJJz7wCri4iIkJ5eXkN3n5b4VFNenOL5t0Qpe7BrRpVBwAA5yPCK9CEfH19G3XG033XYXnllKlHZG/16dK2CSsDAOD80KDbwwIAAABmILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyjUeH18ccfl5ubmyZMmOBoO3HihMaOHau2bdvK399fI0eO1P79+xtbJwAAANDw8Lpx40a98MIL6tWrV432iRMn6n//+5/efPNNZWdna+/evUpJSWl0oQAAAECDwmtxcbFuvfVWLVy4UK1bt3a0Hzt2TC+99JLmzZunq6++Wv369dOiRYv08ccfKzc3t8mKBgAAgGvyaMhGY8eO1bXXXqshQ4bo0UcfdbTn5eWpoqJCQ4YMcbRFRESoc+fO2rBhg/r3719rX+Xl5SovL3c8LioqkiRVVFSooqKiIeVZWvUxu+KxQ6qsrHR85WfA9fD8d22Mv2tz9fGvz3HXO7y+/vrr+uyzz7Rx48Zay/bt26cWLVqoVatWNdo7duyoffv21bm/WbNmafr06bXaV69eLV9f3/qWd97IysoyuwSYYHexJHkoNzdXe/LNrgZm4fnv2hh/1+aq419aWnrW69YrvO7evVv33XefsrKy5O3tXe/C6jJlyhRNmjTJ8bioqEihoaEaOnSoAgICmqQPK6moqFBWVpYSEhLk6elpdjlwsi9+OCJt2aT+/furd+c2ZpcDJ+P579oYf9fm6uNf/c772ahXeM3Ly9OBAwfUt29fR5vdbtf69ev17LPPatWqVfr555919OjRGmdf9+/fr6CgoDr36eXlJS8vr1rtnp6eLjl41Vz9+F2Vh4eH4yvj77p4/rs2xt+1uer41+eY6xVeBw8erC1bttRou/POOxUREaH7779foaGh8vT01Pvvv6+RI0dKkrZt26YffvhBMTEx9ekKAAAAqKVe4bVly5aKjIys0ebn56e2bds62seMGaNJkyapTZs2CggI0L33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ixPHxMRo5cqVZpcFkzz++ONyc3PThAkTzC4FTjBt2jS5ubnV+BcREWF2WXCiPXv26Pe//73atm0rHx8fRUVFadOmTWaXBSew2+166KGHFBYWJh8fH3Xr1k3/93//Jz5Pf3rN7g5brqpTp056/PHHddFFF8kwDL388stKSkrS559/rp49e5pdHpxo48aNeuGFF9SrVy+zS4ET9ezZU2vWrHE89vDg5dlV/PTTTxowYIDi4+O1cuVKtW/fXt99951at25tdmlwgieeeEILFizQyy+/rJ49e2rTpk268847FRgYqPHjx5tdXrPEq2MzMWLEiBqPH3vsMS1YsEC5ubmEVxdSXFysW2+9VQsXLtSjjz5qdjlwIg8PDwUFBZldBkzwxBNPKDQ0VIsWLXK0hYWFmVgRnOnjjz9WUlKSrr32WklS165dtWzZMn366acmV9Z8MW2gGbLb7Xr99ddVUlKimJgYs8uBE40dO1bXXnuthgwZYnYpcLLvvvtOISEhuvDCC3Xrrbfqhx9+MLskOMnbb7+tyy67TDfccIM6dOigSy+9VAsXLjS7LDjJlVdeqffff1/ffvutJOmLL77Qhx9+qMTERJMra74489qMbNmyRTExMTpx4oT8/f21fPlyXXLJJWaXBSd5/fXX9dlnn2njxo1mlwIni46O1uLFi9W9e3cVFhZq+vTpio2NVX5+vlq2bGl2eTjHvv/+ey1YsECTJk3S1KlTtXHjRo0fP14tWrTQ7bffbnZ5OMceeOABFRUVKSIiQjabTXa7XY899phuvfVWs0trtgivzUj37t21efNmHTt2TOnp6br99tuVnZ1NgHUBu3fv1n333aesrCx5e3ubXQ6c7NdnWHr16qXo6Gh16dJF//nPfzRmzBgTK4MzVFVV6bLLLtPMmTMlSZdeeqny8/P1z3/+k/DqAv7zn//otdde09KlS9WzZ09t3rxZEyZMUEhICON/GoTXZqRFixYKDw+XJPXr108bN27U008/rRdeeMHkynCu5eXl6cCBA+rbt6+jzW63a/369Xr22WdVXl4um81mYoVwplatWuniiy/W9u3bzS4FThAcHFzrJEWPHj303//+16SK4Ex//etf9cADD+jmm2+WJEVFRWnXrl2aNWsW4fU0CK/NWFVVlcrLy80uA04wePBgbdmypUbbnXfeqYiICN1///0EVxdTXFysHTt26LbbbjO7FDjBgAEDtG3bthpt3377rbp06WJSRXCm0tJSubvX/AiSzWZTVVWVSRU1f4TXZmLKlClKTExU586ddfz4cS1dulTr1q3TqlWrzC4NTtCyZUtFRkbWaPPz81Pbtm1rteP8M3nyZI0YMUJdunTR3r179cgjj8hms+mWW24xuzQ4wcSJE3XllVdq5syZuvHGG/Xpp5/qxRdf1Isvvmh2aXCCESNG6LHHHlPnzp3Vs2dPff7555o3b57+8Ic/mF1as0V4bSYOHDig0aNHq7CwUIGBgerVq5dWrVqlhIQEs0sDcI79+OOPuuWWW3T48GG1b99eV111lXJzc9W+fXuzS4MTXH755Vq+fLmmTJmiGTNmKCwsTPPnz+cDOy7imWee0UMPPaR77rlHBw4cUEhIiP70pz/p4YcfNru0ZsvN4BYOAAAAsAiu8woAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwCcA127dtX8+fMdj93c3JSZmdmofS5evFitWrVq1D4AwOq4wxYAOEFhYaFat25tdhkAYHmEVwBwgqCgILNLkCRVVFTI09PT7DIAoMGYNgAAp1FVVaXZs2crPDxcXl5e6ty5sx577DFdffXVGjduXI11Dx48qBYtWuj999+vc1+/njawc+dOubm5KSMjQ/Hx8fL19VXv3r21YcOGGtssXrxYnTt3lq+vr66//nodPny41n7feust9e3bV97e3rrwwgs1ffp0VVZW1uh3wYIFuu666+Tn56fHHntMP/30k2699Va1b99ePj4+uuiii7Ro0aJGfrcAwDkIrwBwGlOmTNHjjz+uhx56SF9//bWWLl2qjh076q677tLSpUtVXl7uWHfJkiW64IILdPXVV5/1/v/+979r8uTJ2rx5sy6++GLdcsstjuD5ySefaMyYMRo3bpw2b96s+Ph4PfroozW2z8nJ0ejRo3Xffffp66+/1gsvvKDFixfrscceq7HetGnTdP3112vLli36wx/+4DielStX6ptvvtGCBQvUrl27RnynAMCJDABALUVFRYaXl5excOHCWsvKysqM1q1bG2+88YajrVevXsa0adMcj7t06WI89dRTjseSjOXLlxuGYRgFBQWGJONf//qXY/lXX31lSDK++eYbwzAM45ZbbjGuueaaGv3edNNNRmBgoOPx4MGDjZkzZ9ZY59VXXzWCg4Nr9DthwoQa64wYMcK48847f+M7AADNE2deAaAO33zzjcrLyzV48OBay7y9vXXbbbfp3//+tyTps88+U35+vu6444569dGrVy/H/4ODgyVJBw4ccPQfHR1dY/2YmJgaj7/44gvNmDFD/v7+jn933323CgsLVVpa6ljvsssuq7HdX/7yF73++uvq06eP/va3v+njjz+uV90AYCY+sAUAdfDx8Tnj8rvuukt9+vTRjz/+qEWLFunqq69Wly5d6tXHrz845ebmJunkPNuzVVxcrOnTpyslJaXWMm9vb8f//fz8aixLTEzUrl279O677yorK0uDBw/W2LFjNWfOnHrVDwBm4MwrANThoosuko+Pz2k/gBUVFaXLLrtMCxcu1NKlS/WHP/yhSfvv0aOHPvnkkxptubm5NR737dtX27ZtU3h4eK1/7u5nfnlv3769br/9di1ZskTz58/Xiy++2KT1A8C5wplXAKiDt7e37r//fv3tb39TixYtNGDAAB08eFBfffWVxowZI+nk2ddx48bJz89P119/fZP2P378eA0YMEBz5sxRUlKSVq1apffee6/GOg8//LCGDx+uzp07KzU1Ve7u7vriiy+Un59f68Ndp27Xr18/9ezZU+Xl5VqxYoV69OjRpPUDwLnCmVcAOI2HHnpIaWlpevjhh9WjRw/ddNNNjjmpknTLLbfIw8NDt9xyS4236ZtC//79tXDhQj399NPq3bu3Vq9erQcffLDGOsOGDdOKFSu0evVqXX755erfv7+eeuqp35y+0KJFC02ZMkW9evXSwIEDZbPZ9Prrrzdp/QBwrrgZhmGYXQQAWNHOnTvVrVs3bdy4UX379jW7HABwCYRXAKiniooKHT58WJMnT1ZBQYE++ugjs0sCAJfBtAEAqKePPvpIwcHB2rhxo/75z3+aXQ4AuBTOvAIAAMAyOPMKAAAAyyC8AgAAwDIIrwAAALAMwisAAAAsg/AKAAAAyyC8AgAAwDIIrwAAALAMwisAAAAsg/AKAAAAy/h/WuhbuG4/HnwAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "Auto.boxplot('mpg', by='cylinders', ax=ax);\n" @@ -2895,12 +7978,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 109, "id": "929b6901", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:08.033904Z", + "iopub.status.busy": "2023-07-25T23:59:08.033752Z", + "iopub.status.idle": "2023-07-25T23:59:08.146764Z", + "shell.execute_reply": "2023-07-25T23:59:08.146364Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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aOjx9sEPfrA2w9bY7bffnve9730ZOnRojj322Fx22WVZt25dj+ts3749M2fOzMiRI3PkkUdmxowZu/zAhMNBNbs677zzdjm3/vN//s81mrh27rnnnpx66qnd/3B0a2trHnvsse73O6f+1d525ZzavYULF6ahoSGzZs3qPua82r3d7epwPK/EZhW2bt2a0047LUuWLNnt+xctWpS77ror9957b55++ukcccQRmT59erZv336QJ629ve0qST74wQ/mlVde6X771re+dRAnrB8rV67MzJkzs3r16ixfvjydnZ2ZNm1atm7d2n2d2bNn55FHHsmDDz6YlStXZsOGDbn88strOHVtVLOrJLn++ut7nFuLFi2q0cS1c9xxx2XhwoVZs2ZNnn322VxwwQW59NJL84//+I9JnFO/aW+7SpxTb/fMM8/ka1/7Wk499dQex51Xu9rTrpLD8Lza609Pp4cklYceeqj7cldXV6WlpaXy3/7bf+s+tnnz5kpTU1PlW9/6Vg0mrB9v31WlUqlcc801lUsvvbQm89S7V199tZKksnLlykql8uvzqLGxsfLggw92X+cnP/lJJUll1apVtRqzLrx9V5VKpfKBD3yg8ulPf7p2Q9Wxo446qvKnf/qnzqkqvLWrSsU59XZvvPFG5aSTTqosX768x26cV7va064qlcPzvPLK5n568cUXs3HjxkyZMqX72LBhw3LWWWdl1apVNZysfj3xxBM59thj8653vSuf+MQn8tprr9V6pLqwZcuWJMmIESOSJGvWrElnZ2ePc2vixIkZN27cYX9uvX1Xb/nmN7+Zo48+OpMmTcrcuXOzbdu2WoxXN3bu3JkHHnggW7duTWtrq3PqHbx9V29xTv2rmTNn5uKLL+5x/iQ+Vu3Onnb1lsPtvCryE4QOJxs3bkySXX460qhRo7rfx7/64Ac/mMsvvzwTJkzICy+8kM9//vO56KKLsmrVqvTv37/W49VMV1dXZs2alXPOOSeTJk1K8utza+DAgRk+fHiP6x7u59budpUkV111VY4//viMGTMmP/zhD/O5z30u69aty1/8xV/UcNra+NGPfpTW1tZs3749Rx55ZB566KGccsopWbt2rXPqbfa0q8Q59ZseeOCB/OAHP8gzzzyzy/t8rOrpnXaVHJ7nldjkoPrwhz/c/d/vec97cuqpp+aEE07IE088kQsvvLCGk9XWzJkz8+Mf/zjf+973aj1K3dvTrm644Ybu/37Pe96T0aNH58ILL8wLL7yQE0444WCPWVPvete7snbt2mzZsiXf+c53cs0112TlypW1Hqsu7WlXp5xyinPq/3v55Zfz6U9/OsuXL8+gQYNqPU5dq2ZXh+N55a/R91NLS0uS7PJdd5s2bep+H3v227/92zn66KPz/PPP13qUmrnxxhvz13/91/n7v//7HHfccd3HW1pasmPHjmzevLnH9Q/nc2tPu9qds846K0kOy3Nr4MCBOfHEE3PGGWfk9ttvz2mnnZY//MM/dE7txp52tTuH6zm1Zs2avPrqq3nve9+bAQMGZMCAAVm5cmXuuuuuDBgwIKNGjXJe/X9729XOnTt3uc3hcF6Jzf00YcKEtLS0ZMWKFd3H2tvb8/TTT/f4uh9272c/+1lee+21jB49utajHHSVSiU33nhjHnroofzd3/1dJkyY0OP9Z5xxRhobG3ucW+vWrcv69esPu3Nrb7vanbVr1ybJYXluvV1XV1c6OjqcU1V4a1e7c7ieUxdeeGF+9KMfZe3atd1vZ555Zq6++uru/3Ze/dredrW7Lxc7HM4rf41ehTfffLPH/3G8+OKLWbt2bUaMGJFx48Zl1qxZue2223LSSSdlwoQJmTdvXsaMGZPLLrusdkPXyDvtasSIEVmwYEFmzJiRlpaWvPDCC/nsZz+bE088MdOnT6/h1LUxc+bMtLW15S//8i8zdOjQ7q9tGjZsWAYPHpxhw4bluuuuy5w5czJixIg0NzfnpptuSmtra84+++waT39w7W1XL7zwQtra2vLv/t2/y8iRI/PDH/4ws2fPzvvf//7d/rMjh7K5c+fmoosuyrhx4/LGG2+kra0tTzzxRJYtW+acept32pVz6l8NHTq0x9dHJ8kRRxyRkSNHdh93Xv3a3nZ12J5Xtf52+L7g7//+7ytJdnm75pprKpXKr//5o3nz5lVGjRpVaWpqqlx44YWVdevW1XboGnmnXW3btq0ybdq0yjHHHFNpbGysHH/88ZXrr7++snHjxlqPXRO721OSytKlS7uv8y//8i+VT37yk5WjjjqqMmTIkMp/+A//ofLKK6/Ubuga2duu1q9fX3n/+99fGTFiRKWpqaly4oknVv7gD/6gsmXLltoOXgMf//jHK8cff3xl4MCBlWOOOaZy4YUXVr773e92v9859a/eaVfOqXf29n++x3m1Z7+5q8P1vGqoVCqVgxm3AAAcPnzNJgAAxYhNAACKEZsAABQjNgEAKEZsAgBQjNgEAKAYsQkAQDFiEwCAYsQmAADFiE0AAIoRmwAAFCM2AQAo5v8B0x6PiZTyGhgAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "Auto.hist('mpg', ax=ax);\n" @@ -2916,12 +8016,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 110, "id": "8d48f1e9", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:08.148651Z", + "iopub.status.busy": "2023-07-25T23:59:08.148520Z", + "iopub.status.idle": "2023-07-25T23:59:08.257224Z", + "shell.execute_reply": "2023-07-25T23:59:08.256869Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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1+X0kY98pDyLLbNbbrklTjvttBg+fHgcc8wxccEFF8TGjRu77LN79+5obm6OkSNHxrBhw6KpqanbByYcDoqZ1dlnn93t2PqHf/iHMq24fO65556YOnVq4Q9HNzQ0xI9//OPC5Y6pvzjQrBxT+3brrbdGLpeLBQsWFLY5rvZtX7M6HI8rsVmEHTt2xCmnnBLLli3b5+W333573HXXXXHvvffG008/HUceeWTMnTs3du/e3csrLb8DzSoi4iMf+Ui88sorhdN3v/vdXlxh37FmzZpobm6OdevWRWtra+Tz+ZgzZ07s2LGjsM/ChQvjscceixUrVsSaNWtiy5YtMW/evDKuujyKmVVExBVXXNHl2Lr99tvLtOLyGTduXNx6662xfv36ePbZZ2PmzJlx/vnnx69//euIcEz9XweaVYRj6t2eeeaZ+OY3vxlTp07tst1x1d17zSriMDyuDvjp6XQREdnKlSsL5/fs2ZPV19dn//Iv/1LYtm3btqyysjL77ne/W4YV9h3vnlWWZdmll16anX/++WVZT1/36quvZhGRrVmzJsuyd46jioqKbMWKFYV9fvOb32QRka1du7Zcy+wT3j2rLMuy//f//l927bXXlm9RfdhRRx2Vffvb33ZMFWHvrLLMMfVu27dvz44//vistbW1y2wcV92916yy7PA8rjyzeYhefvnl2Lp1azQ2Nha21dbWxowZM2Lt2rVlXFnftXr16jjmmGPihBNOiH/8x3+M1157rdxL6hPa29sjIqKuri4iItavXx/5fL7LsTVlypSYMGHCYX9svXtWe33nO9+JUaNGxcknnxyLFy+OnTt3lmN5fcbbb78dDz/8cOzYsSMaGhocU/vx7lnt5Zj6i+bm5vjoRz/a5fiJ8L1qX95rVnsdbsdVkk8QOpxs3bo1IqLbpyONHj26cBl/8ZGPfCTmzZsXkyZNipdeeim+8pWvxLnnnhtr166NI444otzLK5s9e/bEggUL4owzzoiTTz45It45toYMGRIjRozosu/hfmzta1YRERdffHFMnDgxxo4dG7/85S/juuuui40bN8a///u/l3G15fH8889HQ0ND7N69O4YNGxYrV66Mk046KTZs2OCYepf3mlWEY+r/evjhh+O5556LZ555pttlvld1tb9ZRRyex5XYpFd9+tOfLvz7Ax/4QEydOjWOO+64WL16dcyaNauMKyuv5ubm+NWvfhU///nPy72UPu+9ZnXllVcW/v2BD3wgxowZE7NmzYqXXnopjjvuuN5eZlmdcMIJsWHDhmhvb4/vfe97cemll8aaNWvKvaw+6b1mddJJJzmm/mzz5s1x7bXXRmtra1RVVZV7OX1aMbM6HI8rv0Y/RPX19RER3d5119bWVriM9/b+978/Ro0aFS+++GK5l1I2V111Vfzwhz+Mn/3sZzFu3LjC9vr6+njrrbdi27ZtXfY/nI+t95rVvsyYMSMi4rA8toYMGRKTJ0+OadOmxS233BKnnHJK/Ou//qtjah/ea1b7crgeU+vXr49XX301PvShD8XgwYNj8ODBsWbNmrjrrrti8ODBMXr0aMfVnx1oVm+//Xa36xwOx5XYPESTJk2K+vr6WLVqVWFbR0dHPP30011e98O+/f73v4/XXnstxowZU+6l9Losy+Kqq66KlStXxk9/+tOYNGlSl8unTZsWFRUVXY6tjRs3xqZNmw67Y+tAs9qXDRs2REQclsfWu+3Zsyc6OzsdU0XYO6t9OVyPqVmzZsXzzz8fGzZsKJxOPfXUuOSSSwr/dly940Cz2tfLxQ6H48qv0Yvw5ptvdvk/jpdffjk2bNgQdXV1MWHChFiwYEHcfPPNcfzxx8ekSZPi+uuvj7Fjx8YFF1xQvkWXyf5mVVdXF0uXLo2mpqaor6+Pl156Kb785S/H5MmTY+7cuWVcdXk0NzdHS0tLfP/734/hw4cXXttUW1sb1dXVUVtbG5dffnksWrQo6urqoqamJq6++upoaGiI008/vcyr710HmtVLL70ULS0t8bd/+7cxcuTI+OUvfxkLFy6Ms846a59/dmQgW7x4cZx77rkxYcKE2L59e7S0tMTq1avjiSeecEy9y/5m5Zj6i+HDh3d5fXRExJFHHhkjR44sbHdcveNAszpsj6tyvx2+P/jZz36WRUS306WXXppl2Tt//uj666/PRo8enVVWVmazZs3KNm7cWN5Fl8n+ZrVz585szpw52dFHH51VVFRkEydOzK644ops69at5V52WexrThGRLV++vLDPrl27si984QvZUUcdlQ0dOjT7xCc+kb3yyivlW3SZHGhWmzZtys4666ysrq4uq6yszCZPnpx96Utfytrb28u78DK47LLLsokTJ2ZDhgzJjj766GzWrFnZT37yk8Lljqm/2N+sHFP79+4/3+O4em//d1aH63GVy7Is6824BQDg8OE1mwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgmf8P4biV52JAgFEAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "Auto.hist('mpg', color='red', bins=12, ax=ax);\n" @@ -2941,12 +8058,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 111, "id": "400690e6", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:08.259243Z", + "iopub.status.busy": "2023-07-25T23:59:08.259102Z", + "iopub.status.idle": "2023-07-25T23:59:09.325925Z", + "shell.execute_reply": "2023-07-25T23:59:09.325581Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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JEeUwYMHiyVLlnRYv3jxYjFo0KATVpY9SRXZUkWONWvWiNGjR4v8/HwxZswYMWbMGJGfny9Gjx4tvv/++y6TI05310t3n/9wGDNmjHj99dc7rH/ttdfE6NGj93tsqrWDPTla9+VYvt+d4XCub8WKFfv85efnHy2ROzBs2LCk5QceeECMHj1auFwuMXz48G6Ro7i4OGnb0KFDD6osqQAdYfr06XNI244GqSTLwZy/K2VLFTkO56V5NOjueunu8x8Offv2PaRtQqReO9iTo3VfjuX73RkO5/oURRE9e/YUZWVlHX4Gg+FIi7pPKioqOqx7+OGHxciRI0V5eXmXydFeyZk2bVrStiFDhhxUWdII+gjTu3dv/vd//5e6urrEurq6Ou6991569ux5wsqyJ6kiW6rI4XK5uOiiizqs//GPf4zb7e4yOeJ0d7109/kPh+zsbP75z38Si8US62KxGC+++CJZWVn7PTbV2sGeHK37cizf785wONdXWlrKggUL2Lp1a4dfXl7e0RY9Qf/+/fnoo4+S1t12221ceumlbN68ucvkyMvLw+PxAPDiiy8m1ldXVydskjrNkdDIJLupq6sTV155pbDb7cJsNguz2Szsdru48sorRW1tbZfLctVVV6WELKkqW6rIMX78ePHSSy+JaDSaWBeNRsULL7wgxo0b12VyxOnueunu8x8OGzduFKeeeqpIS0sT/fr1E/369RNpaWnilFNOEevXr9/vsanWDvbkaPVvqdRvHg32vD6TydTp67vpppvEl19+uddt11xzzdEQd68EAgERCAT2uq2qqqrL5NgXLpdLbN++/aCOkakwjiJNTU0AZGZmdrMku2V59dVXufbaa7tZmmRSpZ66U45NmzZxzTXX8O2339KjRw9A+6IZMWIETz31FH379u1ymeJ09/3p7vMfKvX19VRWVgJQXFxMTk7OAY9J5XawJ0fyvrhcLtLT0494uamE1+vFaDTS0tJCJBJh5cqV9OvXj6Kiou4W7YRFKkBHmFRxFQR49913O6y7+uqreeaZZxBCcP7553eZLHtjT7fQ0tJSJk2a1O1u8N0lBxzaS/No0d310t3nP1wOx5MrldpBe45W/2Y0GjnnnHOYMWMG5513Hqp6fFlnvPTSS1xzzTVkZ2fz4osv8vOf/5yioiK2bNnCk08+ySWXXNLdIp6QSAXoCHPWWWdx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Mffeey8/+tGPOmxrb7uxpwv0nDlzuO2223j00UcZN24cDoeDhx9+OMlW6UhyNFylhw8fztChQ3nppZc488wzWb16NR988AFw4HrZtm0bP/jBD7juuut44IEHyMzMZMGCBUyfPp1QKJRQgCwWyzFlBHw4FBcXJ3mSHYtIBShF+frrrxNfQ83NzWzYsCGhWVdUVCS5HwIdlo8kS5YsOWoxIY53rrjiClwuV6dCxEt2M2fOnL2uv/XWW7nkkku6WJqDY9u2bYm/Gxsbyc7O5vnnn2fkyJF88MEHCZd+0EY6nn32WZqamvY6CjRkyBDmzp3LlVde2WHb8OHDiUaj1NXVMXHixE7JNmLECNavX095eflBXdPChQsZP348119/fWLdnvGgjEYj0Wh0v+X079+fN954IzE6Fi/b4XBQVFR0UDIdCjNmzODxxx9n586dnH766RQXFwMHrpdvv/2WWCzGo48+mvDqevXVV4+6vJKji/QCS1H+93//l7lz5/L9999zxRVXkJ2dnRgxufHGG/nPf/7DY489xsaNG/n73//Ohx9+eNS+PHJycpKSYUqOLKFQqLtF6DI6e60mk2mfrvjdGSbhYMnIyCArK4unn36aXbt2sXXrVm699dbE9p/97Gfk5+czdepUFi5cyJYtW3jjjTf46quvALj77rv5v//7P+6++27Wrl3LqlWreOihhwAtR9xll13GtGnTePPNN9m6dSuLFy9m1qxZiZGNPbnrrrt46aWXuPfee1m9ejVr165lzpw5/OEPf9jvdfTp04elS5fy3//+lw0bNnDnnXd2+OgqKytj5cqVrF+/noaGhg4BLEHLMVdZWcmNN97IunXreOedd7j77ru59dZbu8Rd/NJLL6WqqopnnnmGq666KrH+QPVSXl5OOBzmL3/5C1u2bOGf//xnt4SnkBxZpAKUojz44IP86le/YuTIkdTU1PDee+8lAsCdfPLJPPXUUzz22GMMHTqUjz76iFtuueWQ3Q+9Xi/Tpk3DbrfTo0cPHn300aTtZWVliekeIQT33HMPJSUlmEwmCgoKuOmmm5L2ve+++/jZz36GzWajsLCQJ598cr/nnzlzJn379sVqtdKrVy/uvPPODp3n4bgCx91T33//fSoqKrBarfz4xz/G5/Px4osvUlZWRkZGBjfddFPSF+z+yo3FYpx77rmoqkpmZibZ2dnY7XbOPvtslixZwgUXXIDRaNyra3A8q/Kzzz5Lz549E/ft9ddfZ/DgwVgsFrKysjj99NPxer0JeZ599ln69++P2WymX79+/L//9/8S2+LuxnPmzGH8+PGYzWYGDRrUIWbO/lyQ33//fdLT0xN1sHz5chRF4Xe/+13i+BkzZvDzn/88sbxgwQImTpyIxWKhuLiYm266KUnmeHuYNm0aTqeTq6++er9t4XhDVVXmzJnDt99+y6BBg7jlllt4+OGHE9uNRiMff/wxubm5nHvuuQwePJgHH3wwMaU1ZcoUXnvtNd59912GDRvGqaeeyuLFixPHP//880ybNo1f//rXVFRUMHXqVJYsWZIYPd6Ts846i/fff5+PP/6Y0aNHM3bsWGbPnk1pael+r+Oaa67hRz/6EZdccgknnXQSjY2NSaNBoNnYVFRUMGrUKHJycvY6PVJYWMh//vMfFi9ezNChQ7n22muZPn36ARWwI0VaWhoXXXQRdrs9aQr+QPUydOhQHnvsMR566CEGDRrEyy+/zKxZs7pEZslRpFtNsCUdiHuBNTc3H9RxM2bM6OA50Vmuu+46UVJSIj799NOE273D4UgksSstLRWzZ88WQmieD06nU/znP/8R27dvF9988414+umnE2WVlpYKh8MhZs2aJdavXy+eeOIJodPpklxYAfHWW28llu+77z6xcOFCsXXrVvHuu++KvLw88dBDDyW2HwlXYIPBIM444wzx3Xffifnz54usrCxx5plnip/85Cdi9erV4r333hNGozHJ+25f5Y4ZM0Y4nU5xwQUXCL1eLwYMGCAURRFPPvmk6Nevn8jIyBATJkwQX3zxhTjttNOE0+kU48aNS7gG33333cJms4mzzz5bfPfdd2LFihVi165dQq/Xi8cee0xs3bpVrFy5Ujz55JOipaVFCCHEv/71L9GjRw/xxhtviC1btog33nhDZGZmihdeeEEIsdvbpqioSLz++utizZo1YsaMGcLhcIiGhgYhxIFdkF0ul1BVVSxZskQIIcTjjz8usrOzxUknnZSok/LycvHMM88IIYTYtGmTsNlsYvbs2WLDhg1i4cKFYvjw4eKKK65Iag9Op1M88sgjYtOmTWLTpk0H0TIlkiPPqaeeKm688cbuFkOSAkgFKMXorAL08MMPi+XLl4uNGzeKJ554QhgMhsSL6WBoaWkRRqMxKT5G3O1+bwrQo48+Kvr27ZuISbQnpaWl4uyzz05ad8kllyS5n+6pAO3t2kaOHJlYPhKuwEDSy/eaa64RVqs1oWAIIcRZZ50lrrnmmgOWW1JSIiZMmJBUbtxN94YbbhCA2LFjhxBCcw0+5ZRTBCAWL14shNCyKhsMBlFXV5co99tvvxWA2LZt216vs3fv3uLf//530rr77rtPjBs3TgixWwF68MEHE9vD4bAoKipKKJOdcUEeMWJEIsPz1KlTxQMPPCCMRqNoaWkRVVVVAkgoltOnTxdXX311kkxffvmlUFVV+P1+IYTWHqZOnbrXa5JIupKmpibx5ptvClVVxbp167pbHEkKIKfAjlEWL17MGWecweDBg3nqqad44oknmDFjxkGXs3nzZkKhECeddFJiXdztfm9cfPHF+P1+evXqxS9/+UveeuutpGipkOzCH1+Ou/DvjVdeeYWTTz6Z/Px87HY7f/jDH5IiqC5fvnyf0X/buwLb7fbEb/78+UlGmlarld69eyeW8/LyKCsrS/KWycvLS7ja7q9cv9+fcHWNlxt30427b8eNKwGcTifp6elJdVBaWkpOTk5ieejQoZx22mkMHjyYiy++mGeeeYbm5mZAm6LcvHkz06dPT5Ll/vvv72CI2r7u9Xo9o0aNSpz3QC7IAJMnT2bevHkIIfjyyy/50Y9+RP/+/VmwYAHz58+noKCAPn36AJpL9QsvvJAk01lnnUUsFmPr1q2Jc+wvq7RE0lUMHz6cK664goceemif/ZvkxEJ6gaUYU6ZM6VS26+7yQCguLmb9+vV8+umnfPLJJ1x//fU8/PDDzJ8//5DyBX311Vdcdtll3HvvvZx11lmkpaUxZ86cJDukI+EKfKBQBPF1cVfb/ZU7bdq0xLHx/+PHdtaQc0+vOp1OxyeffMKiRYv4+OOP+ctf/sIdd9zBN998kzBAf+aZZ5IU1fhxR5IpU6bwj3/8gxUrVmAwGOjXrx9Tpkxh3rx5NDc3M3ny5MS+ra2tXHPNNUk2YHHa26B0twfhwYZx2LZtGz179mTZsmUHHedGkrq0986TSEAaQZ/w9O7dG4PBkBTPI+52vy8sFgs//OEPeeKJJ5g3bx5fffUVq1atSmz/+uuvk/b/+uuv9xkca9GiRZSWlnLHHXcwatQo+vTpw/bt25P2ibsC7432rsDl5eVJv8NJwri/cveXjTzuyhtPgmk0GnG5XLhcrgNmWlYUhZNPPpl7772XZcuWYTQaeeutt8jLy6OgoIAtW7Z0kKVnz55JZbSv+0gkwrfffpuo+/79+/PVV18lKdh7uiBPnDiRlpYWZs+enVB24grQvHnzmDJlSuLYESNGsGbNmg4yHaiOupolS5YccePruGG9RCI5dpEjQCc4drud6dOn85vf/IasrCxyc3O544479jmS8cILLxCNRjnppJOwWq3861//wmKxJHmRLFy4kD/96U9MnTqVTz75hNdee22fbrl9+vRhx44dzJkzh9GjR/PBBx/w1ltvJe1z9913c9ppp9G7d29++tOfEolE+M9//pPwHou7Aj/66KMMHz6c+vp65s6dy5AhQzjvvPMOqV72V25jY+M+jxs6dCgAl112GY8//jg6nY6vvvqK0aNHU1ZWtlfXYIBvvvmGuXPncuaZZ5Kbm8s333xDfX19Qnm59957uemmm0hLS+Pss88mGAyydOlSmpubk9yqn3zySfr06UP//v2ZPXs2zc3NCXff66+/nscff5wbb7yRG264gfXr13dwQc7IyGDIkCG8/PLL/PWvfwVg0qRJ/OQnPyEcDieNAM2cOZOxY8dyww03MGPGDGw2G2vWrOGTTz5JHJsKtJ9qlEgkkjhyBEjCww8/zMSJE/nhD3/I6aefzoQJExg5cuRe901PT+eZZ57h5JNPZsiQIXz66ae89957SaH3f/3rX7N06VKGDx/O/fffz2OPPcZZZ5211/LOP/98brnlFm644QaGDRvGokWLuPPOO5P2OdKuwJ1lX+XuL9xA3L4mIyODSZMm8a9//YuMjAxWr169T9dg0OyEvvjiC84991z69u3LH/7wBx599FHOOeccQHM/f/bZZ3n++ecZPHgwkydP5oUXXugwAvTggw/y4IMPMnToUBYsWMC7775LdnY20HkX5MmTJxONRhOjPZmZmQwYMID8/Pwk24khQ4Ywf/58NmzYwMSJExk+fDh33XUXBQUFB1fRe3Cw7vidccVvH7V73bp1TJgwAbPZzIABA/j0009RFKVDsMotW7ZwyimnYLVaGTp0aCI2z7x587jyyitxu92J8AaHm61cIpF0A91shC05zmjvMSbpOvZMOnksczDu+J11xY+3yUgkIioqKsQZZ5whli9fLr788ksxZsyYJM/EeF3269dPvP/++2L9+vXixz/+sSgtLRXhcFgEg0Hx+OOPC6fTmch83t6bUCKRHBvIESCJRJJSpKWlMWzYsETQyXnz5nHLLbewbNkyWltb2blzJ5s2bWLy5MnMmjWLyy67jJtvvpk+ffowfvx4nnjiCV566SUCgUCHsj/55BM2b97MSy+9xNChQ5kwYUJSAsz23HbbbZx33nn07duXe++9l+3bt7Np0yaMRiNpaWkoikJ+fn7Ce1EikRxbSAVIIpGkHJ11x++sK36c9evXU1xcnGQgP2bMmL3K0D6rd48ePQAOOyO5RCJJHaQRtOSIIl1Nu4eysrJOhU84VuisO35nXfEPhfZhEuK2XYebkVwikaQOUgGSSCQpx77c8R988EGam5v59a9/DSS74neGiooKKisrqa2tJS8vD6BDUs/O0JnM5xKJJLWRU2ASiSTlaO+OH/dGmzRpEt999x0bNmxIKEUzZ85k0aJF3HDDDSxfvpyNGzfyzjvvcMMNN+y13DPOOIPevXvzi1/8gpUrV7Jw4cKEF1z7CNkHoqysjNbWVubOnUtDQwM+n+/wLlgikXQ5UgGSSCQpSWfc8Q/WFV+n0/H222/T2trK6NGjmTFjBnfccQfAfsMb7Mn48eO59tprueSSS8jJyeFPf/rT4V2sRCLpchRxPBkOSCQSyUGycOFCJkyYwKZNm5LyxUkkkuMbqQBJJJITirfeegu73U6fPn3YtGkTv/rVr8jIyGDBggXdLZpEIulCpBG0RCI5oWhpaWHmzJns2LGD7OxsTj/99KTkuxKJ5MRAjgBJJBKJRCI54ZBG0BKJRCKRSE44pAIkkUgkEonkhEMqQBKJRCKRSE44pAIkkUgkEonkhEMqQBKJRCKRSE44pAIkkUgkEonkhEMqQBKJRCKRSE44pAIkkUgkEonkhEMqQBKJRCKRSE44/j9YgLWKij+lEQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "pd.plotting.scatter_matrix(Auto);\n" ] @@ -2962,12 +8096,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 112, "id": "6bbeca8b", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:09.327848Z", + "iopub.status.busy": "2023-07-25T23:59:09.327740Z", + "iopub.status.idle": "2023-07-25T23:59:09.583864Z", + "shell.execute_reply": "2023-07-25T23:59:09.583496Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "pd.plotting.scatter_matrix(Auto[['mpg',\n", " 'displacement',\n", @@ -2984,12 +8135,105 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 113, "id": "1727f604", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:09.585956Z", + "iopub.status.busy": "2023-07-25T23:59:09.585816Z", + "iopub.status.idle": "2023-07-25T23:59:09.592076Z", + "shell.execute_reply": "2023-07-25T23:59:09.591716Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mpgweight
count392.000000392.000000
mean23.4459182977.584184
std7.805007849.402560
min9.0000001613.000000
25%17.0000002225.250000
50%22.7500002803.500000
75%29.0000003614.750000
max46.6000005140.000000
\n", + "
" + ], + "text/plain": [ + " mpg weight\n", + "count 392.000000 392.000000\n", + "mean 23.445918 2977.584184\n", + "std 7.805007 849.402560\n", + "min 9.000000 1613.000000\n", + "25% 17.000000 2225.250000\n", + "50% 22.750000 2803.500000\n", + "75% 29.000000 3614.750000\n", + "max 46.600000 5140.000000" + ] + }, + "execution_count": 113, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto[['mpg', 'weight']].describe()\n" ] @@ -3004,12 +8248,37 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 114, "id": "39bf4091", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:09.593932Z", + "iopub.status.busy": "2023-07-25T23:59:09.593794Z", + "iopub.status.idle": "2023-07-25T23:59:09.598241Z", + "shell.execute_reply": "2023-07-25T23:59:09.597941Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "count 392.000000\n", + "mean 23.445918\n", + "std 7.805007\n", + "min 9.000000\n", + "25% 17.000000\n", + "50% 22.750000\n", + "75% 29.000000\n", + "max 46.600000\n", + "Name: mpg, dtype: float64" + ] + }, + "execution_count": 114, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto['cylinders'].describe()\n", "Auto['mpg'].describe()\n" @@ -3029,6 +8298,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,Rmd", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch3-linreg-lab.ipynb b/docs/source/labs/Ch3-linreg-lab.ipynb index db9b4c2..8cf09d3 100644 --- a/docs/source/labs/Ch3-linreg-lab.ipynb +++ b/docs/source/labs/Ch3-linreg-lab.ipynb @@ -23,9 +23,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "ca5277a6", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:10.810120Z", + "iopub.status.busy": "2023-07-25T23:59:10.809784Z", + "iopub.status.idle": "2023-07-25T23:59:11.236722Z", + "shell.execute_reply": "2023-07-25T23:59:11.236402Z" + }, "lines_to_next_cell": 2 }, "outputs": [], @@ -50,9 +56,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "675f24e6", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.238770Z", + "iopub.status.busy": "2023-07-25T23:59:11.238614Z", + "iopub.status.idle": "2023-07-25T23:59:11.732369Z", + "shell.execute_reply": "2023-07-25T23:59:11.731999Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -77,9 +89,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "a0ee23c2", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.734483Z", + "iopub.status.busy": "2023-07-25T23:59:11.734356Z", + "iopub.status.idle": "2023-07-25T23:59:11.737321Z", + "shell.execute_reply": "2023-07-25T23:59:11.737059Z" + } + }, "outputs": [], "source": [ "from statsmodels.stats.outliers_influence \\\n", @@ -101,9 +120,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "b35eb887", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.738949Z", + "iopub.status.busy": "2023-07-25T23:59:11.738837Z", + "iopub.status.idle": "2023-07-25T23:59:11.834618Z", + "shell.execute_reply": "2023-07-25T23:59:11.834237Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -126,12 +152,65 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "961908f7", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.836672Z", + "iopub.status.busy": "2023-07-25T23:59:11.836534Z", + "iopub.status.idle": "2023-07-25T23:59:11.839996Z", + "shell.execute_reply": "2023-07-25T23:59:11.839716Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "['In',\n", + " 'MS',\n", + " 'Out',\n", + " 'VIF',\n", + " '_',\n", + " '__',\n", + " '___',\n", + " '__builtin__',\n", + " '__builtins__',\n", + " '__doc__',\n", + " '__loader__',\n", + " '__name__',\n", + " '__package__',\n", + " '__spec__',\n", + " '_dh',\n", + " '_i',\n", + " '_i1',\n", + " '_i2',\n", + " '_i3',\n", + " '_i4',\n", + " '_i5',\n", + " '_ih',\n", + " '_ii',\n", + " '_iii',\n", + " '_oh',\n", + " 'anova_lm',\n", + " 'exit',\n", + " 'get_ipython',\n", + " 'load_data',\n", + " 'np',\n", + " 'open',\n", + " 'pd',\n", + " 'poly',\n", + " 'quit',\n", + " 'sm',\n", + " 'subplots',\n", + " 'summarize']" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "dir()\n" ] @@ -154,12 +233,190 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "662caa15", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.841679Z", + "iopub.status.busy": "2023-07-25T23:59:11.841579Z", + "iopub.status.idle": "2023-07-25T23:59:11.844762Z", + "shell.execute_reply": "2023-07-25T23:59:11.844485Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "['T',\n", + " '__abs__',\n", + " '__add__',\n", + " '__and__',\n", + " '__array__',\n", + " '__array_finalize__',\n", + " '__array_function__',\n", + " '__array_interface__',\n", + " '__array_prepare__',\n", + " '__array_priority__',\n", + " '__array_struct__',\n", + " '__array_ufunc__',\n", + " '__array_wrap__',\n", + " '__bool__',\n", + " '__class__',\n", + " '__complex__',\n", + " '__contains__',\n", + " '__copy__',\n", + " '__deepcopy__',\n", + " '__delattr__',\n", + " '__delitem__',\n", + " '__dir__',\n", + " '__divmod__',\n", + " '__doc__',\n", + " '__eq__',\n", + " '__float__',\n", + " '__floordiv__',\n", + " '__format__',\n", + " '__ge__',\n", + " '__getattribute__',\n", + " '__getitem__',\n", + " '__gt__',\n", + " '__hash__',\n", + " '__iadd__',\n", + " '__iand__',\n", + " '__ifloordiv__',\n", + " '__ilshift__',\n", + " '__imatmul__',\n", + " '__imod__',\n", + " '__imul__',\n", + " '__index__',\n", + " '__init__',\n", + " '__init_subclass__',\n", + " '__int__',\n", + " '__invert__',\n", + " '__ior__',\n", + " '__ipow__',\n", + " '__irshift__',\n", + " '__isub__',\n", + " '__iter__',\n", + " '__itruediv__',\n", + " '__ixor__',\n", + " '__le__',\n", + " '__len__',\n", + " '__lshift__',\n", + " '__lt__',\n", + " '__matmul__',\n", + " '__mod__',\n", + " '__mul__',\n", + " '__ne__',\n", + " '__neg__',\n", + " '__new__',\n", + " '__or__',\n", + " '__pos__',\n", + " '__pow__',\n", + " '__radd__',\n", + " '__rand__',\n", + " '__rdivmod__',\n", + " '__reduce__',\n", + " '__reduce_ex__',\n", + " '__repr__',\n", + " '__rfloordiv__',\n", + " '__rlshift__',\n", + " '__rmatmul__',\n", + " '__rmod__',\n", + " '__rmul__',\n", + " '__ror__',\n", + " '__rpow__',\n", + " '__rrshift__',\n", + " '__rshift__',\n", + " '__rsub__',\n", + " '__rtruediv__',\n", + " '__rxor__',\n", + " '__setattr__',\n", + " '__setitem__',\n", + " '__setstate__',\n", + " '__sizeof__',\n", + " '__str__',\n", + " '__sub__',\n", + " '__subclasshook__',\n", + " '__truediv__',\n", + " '__xor__',\n", + " 'all',\n", + " 'any',\n", + " 'argmax',\n", + " 'argmin',\n", + " 'argpartition',\n", + " 'argsort',\n", + " 'astype',\n", + " 'base',\n", + " 'byteswap',\n", + " 'choose',\n", + " 'clip',\n", + " 'compress',\n", + " 'conj',\n", + " 'conjugate',\n", + " 'copy',\n", + " 'ctypes',\n", + " 'cumprod',\n", + " 'cumsum',\n", + " 'data',\n", + " 'diagonal',\n", + " 'dot',\n", + " 'dtype',\n", + " 'dump',\n", + " 'dumps',\n", + " 'fill',\n", + " 'flags',\n", + " 'flat',\n", + " 'flatten',\n", + " 'getfield',\n", + " 'imag',\n", + " 'item',\n", + " 'itemset',\n", + " 'itemsize',\n", + " 'max',\n", + " 'mean',\n", + " 'min',\n", + " 'nbytes',\n", + " 'ndim',\n", + " 'newbyteorder',\n", + " 'nonzero',\n", + " 'partition',\n", + " 'prod',\n", + " 'ptp',\n", + " 'put',\n", + " 'ravel',\n", + " 'real',\n", + " 'repeat',\n", + " 'reshape',\n", + " 'resize',\n", + " 'round',\n", + " 'searchsorted',\n", + " 'setfield',\n", + " 'setflags',\n", + " 'shape',\n", + " 'size',\n", + " 'sort',\n", + " 'squeeze',\n", + " 'std',\n", + " 'strides',\n", + " 'sum',\n", + " 'swapaxes',\n", + " 'take',\n", + " 'tobytes',\n", + " 'tofile',\n", + " 'tolist',\n", + " 'tostring',\n", + " 'trace',\n", + " 'transpose',\n", + " 'var',\n", + " 'view']" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "A = np.array([3,5,11])\n", "dir(A)\n" @@ -176,12 +433,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "ebb7d126", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.846444Z", + "iopub.status.busy": "2023-07-25T23:59:11.846317Z", + "iopub.status.idle": "2023-07-25T23:59:11.848529Z", + "shell.execute_reply": "2023-07-25T23:59:11.848281Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "19" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "A.sum()\n" ] @@ -217,10 +491,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "1ea46cee", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.850247Z", + "iopub.status.busy": "2023-07-25T23:59:11.850129Z", + "iopub.status.idle": "2023-07-25T23:59:11.854617Z", + "shell.execute_reply": "2023-07-25T23:59:11.854342Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['crim', 'zn', 'indus', 'chas', 'nox', 'rm', 'age', 'dis', 'rad', 'tax',\n", + " 'ptratio', 'lstat', 'medv'],\n", + " dtype='object')" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Boston = load_data(\"Boston\")\n", "Boston.columns\n" @@ -241,10 +535,80 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "26c0ba88", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.856310Z", + "iopub.status.busy": "2023-07-25T23:59:11.856187Z", + "iopub.status.idle": "2023-07-25T23:59:11.861185Z", + "shell.execute_reply": "2023-07-25T23:59:11.860911Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
interceptlstat
01.04.98
11.09.14
21.04.03
31.02.94
\n", + "
" + ], + "text/plain": [ + " intercept lstat\n", + "0 1.0 4.98\n", + "1 1.0 9.14\n", + "2 1.0 4.03\n", + "3 1.0 2.94" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X = pd.DataFrame({'intercept': np.ones(Boston.shape[0]),\n", " 'lstat': Boston['lstat']})\n", @@ -261,9 +625,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "d4dd511b", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.862908Z", + "iopub.status.busy": "2023-07-25T23:59:11.862784Z", + "iopub.status.idle": "2023-07-25T23:59:11.865072Z", + "shell.execute_reply": "2023-07-25T23:59:11.864814Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -290,12 +660,75 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "eef9f8e3", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.866712Z", + "iopub.status.busy": "2023-07-25T23:59:11.866592Z", + "iopub.status.idle": "2023-07-25T23:59:11.927918Z", + "shell.execute_reply": "2023-07-25T23:59:11.927626Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errtP>|t|
intercept34.55380.56361.4150.0
lstat-0.95000.039-24.5280.0
\n", + "
" + ], + "text/plain": [ + " coef std err t P>|t|\n", + "intercept 34.5538 0.563 61.415 0.0\n", + "lstat -0.9500 0.039 -24.528 0.0" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "summarize(results)\n" ] @@ -338,12 +771,81 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "557170d4", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.929771Z", + "iopub.status.busy": "2023-07-25T23:59:11.929535Z", + "iopub.status.idle": "2023-07-25T23:59:11.934614Z", + "shell.execute_reply": "2023-07-25T23:59:11.934319Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
interceptlstat
01.04.98
11.09.14
21.04.03
31.02.94
\n", + "
" + ], + "text/plain": [ + " intercept lstat\n", + "0 1.0 4.98\n", + "1 1.0 9.14\n", + "2 1.0 4.03\n", + "3 1.0 2.94" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "design = MS(['lstat'])\n", "design = design.fit(Boston)\n", @@ -364,12 +866,81 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "b83ec097", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.936370Z", + "iopub.status.busy": "2023-07-25T23:59:11.936239Z", + "iopub.status.idle": "2023-07-25T23:59:11.940808Z", + "shell.execute_reply": "2023-07-25T23:59:11.940513Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
interceptlstat
01.04.98
11.09.14
21.04.03
31.02.94
\n", + "
" + ], + "text/plain": [ + " intercept lstat\n", + "0 1.0 4.98\n", + "1 1.0 9.14\n", + "2 1.0 4.03\n", + "3 1.0 2.94" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "design = MS(['lstat'])\n", "X = design.fit_transform(Boston)\n", @@ -399,10 +970,112 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "d4dce5f6", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.942515Z", + "iopub.status.busy": "2023-07-25T23:59:11.942389Z", + "iopub.status.idle": "2023-07-25T23:59:11.949777Z", + "shell.execute_reply": "2023-07-25T23:59:11.949483Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "
OLS Regression Results
Dep. Variable: medv R-squared: 0.544
Model: OLS Adj. R-squared: 0.543
Method: Least Squares F-statistic: 601.6
Date: Tue, 25 Jul 2023 Prob (F-statistic): 5.08e-88
Time: 16:59:11 Log-Likelihood: -1641.5
No. Observations: 506 AIC: 3287.
Df Residuals: 504 BIC: 3295.
Df Model: 1
Covariance Type: nonrobust
\n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "
coef std err t P>|t| [0.025 0.975]
intercept 34.5538 0.563 61.415 0.000 33.448 35.659
lstat -0.9500 0.039 -24.528 0.000 -1.026 -0.874
\n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "
Omnibus: 137.043 Durbin-Watson: 0.892
Prob(Omnibus): 0.000 Jarque-Bera (JB): 291.373
Skew: 1.453 Prob(JB): 5.36e-64
Kurtosis: 5.319 Cond. No. 29.7


Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified." + ], + "text/plain": [ + "\n", + "\"\"\"\n", + " OLS Regression Results \n", + "==============================================================================\n", + "Dep. Variable: medv R-squared: 0.544\n", + "Model: OLS Adj. R-squared: 0.543\n", + "Method: Least Squares F-statistic: 601.6\n", + "Date: Tue, 25 Jul 2023 Prob (F-statistic): 5.08e-88\n", + "Time: 16:59:11 Log-Likelihood: -1641.5\n", + "No. Observations: 506 AIC: 3287.\n", + "Df Residuals: 504 BIC: 3295.\n", + "Df Model: 1 \n", + "Covariance Type: nonrobust \n", + "==============================================================================\n", + " coef std err t P>|t| [0.025 0.975]\n", + "------------------------------------------------------------------------------\n", + "intercept 34.5538 0.563 61.415 0.000 33.448 35.659\n", + "lstat -0.9500 0.039 -24.528 0.000 -1.026 -0.874\n", + "==============================================================================\n", + "Omnibus: 137.043 Durbin-Watson: 0.892\n", + "Prob(Omnibus): 0.000 Jarque-Bera (JB): 291.373\n", + "Skew: 1.453 Prob(JB): 5.36e-64\n", + "Kurtosis: 5.319 Cond. No. 29.7\n", + "==============================================================================\n", + "\n", + "Notes:\n", + "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", + "\"\"\"" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "results.summary()\n" ] @@ -418,12 +1091,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "a0edf555", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.951447Z", + "iopub.status.busy": "2023-07-25T23:59:11.951309Z", + "iopub.status.idle": "2023-07-25T23:59:11.954106Z", + "shell.execute_reply": "2023-07-25T23:59:11.953845Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "intercept 34.553841\n", + "lstat -0.950049\n", + "dtype: float64" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "results.params\n" ] @@ -442,10 +1134,74 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "fdc5a3f3", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.955744Z", + "iopub.status.busy": "2023-07-25T23:59:11.955619Z", + "iopub.status.idle": "2023-07-25T23:59:11.959606Z", + "shell.execute_reply": "2023-07-25T23:59:11.959329Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
interceptlstat
01.05
11.010
21.015
\n", + "
" + ], + "text/plain": [ + " intercept lstat\n", + "0 1.0 5\n", + "1 1.0 10\n", + "2 1.0 15" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "new_df = pd.DataFrame({'lstat':[5, 10, 15]})\n", "newX = design.transform(new_df)\n", @@ -462,12 +1218,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "2c6acbf0", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.961253Z", + "iopub.status.busy": "2023-07-25T23:59:11.961159Z", + "iopub.status.idle": "2023-07-25T23:59:11.963720Z", + "shell.execute_reply": "2023-07-25T23:59:11.963431Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([29.80359411, 25.05334734, 20.30310057])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "new_predictions = results.get_prediction(newX);\n", "new_predictions.predicted_mean\n" @@ -483,12 +1256,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "c472ef33", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.965332Z", + "iopub.status.busy": "2023-07-25T23:59:11.965233Z", + "iopub.status.idle": "2023-07-25T23:59:11.967788Z", + "shell.execute_reply": "2023-07-25T23:59:11.967530Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[29.00741194, 30.59977628],\n", + " [24.47413202, 25.63256267],\n", + " [19.73158815, 20.87461299]])" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "new_predictions.conf_int(alpha=0.05)\n" ] @@ -503,12 +1295,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "3e2ffc7a", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.969435Z", + "iopub.status.busy": "2023-07-25T23:59:11.969317Z", + "iopub.status.idle": "2023-07-25T23:59:11.971777Z", + "shell.execute_reply": "2023-07-25T23:59:11.971501Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[17.56567478, 42.04151344],\n", + " [12.82762635, 37.27906833],\n", + " [ 8.0777421 , 32.52845905]])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "new_predictions.conf_int(obs=True, alpha=0.05)\n" ] @@ -544,9 +1355,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "4e56a1d3", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.973521Z", + "iopub.status.busy": "2023-07-25T23:59:11.973393Z", + "iopub.status.idle": "2023-07-25T23:59:11.975425Z", + "shell.execute_reply": "2023-07-25T23:59:11.975172Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -572,9 +1389,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "7f43ffe7", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.977054Z", + "iopub.status.busy": "2023-07-25T23:59:11.976936Z", + "iopub.status.idle": "2023-07-25T23:59:11.979018Z", + "shell.execute_reply": "2023-07-25T23:59:11.978751Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -606,12 +1429,37 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "3f7b67c9", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:11.980623Z", + "iopub.status.busy": "2023-07-25T23:59:11.980502Z", + "iopub.status.idle": "2023-07-25T23:59:12.080197Z", + "shell.execute_reply": "2023-07-25T23:59:12.079809Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pandas/plotting/_matplotlib/core.py:1114: UserWarning: No data for colormapping provided via 'c'. Parameters 'cmap' will be ignored\n", + " scatter = ax.scatter(\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "ax = Boston.plot.scatter('lstat', 'medv')\n", "abline(ax,\n", @@ -653,12 +1501,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "b35a2fd3", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:12.082076Z", + "iopub.status.busy": "2023-07-25T23:59:12.081936Z", + "iopub.status.idle": "2023-07-25T23:59:12.186713Z", + "shell.execute_reply": "2023-07-25T23:59:12.186372Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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FMzUHN27774bM2bMiLrNgAEDhJ7L4/Fgy5YtIY/t378/8DslGRkZyMjIEHoNIiJKLnLgFV5Ky5OkdXT1LN2mJN5JhETBTA10u3fvju7du+vyXKWlpfjlL3+JAwcOoEePHgCAdevWIS8vD8XFxbq8BhERJR8GXqESEfzHM4mQKJhtqi7s2bMHDQ0N2LNnD3w+HyorKwEAgwYNQufOnXHZZZehuLgY//u//4vHHnsMdXV1eOCBBzBr1iz22BIRUVwYeIVi8E924ZIkyRaVrmfMmIE///nPHR7fuHEjLr74YgDAV199hdtuuw1vvfUWcnJycMMNN+CRRx5Bp07i8XxjYyPcbje8Xi/y8vL0aj4RERER6UQ0XrNNoJsoDHSJiIiIrE00XnNMeTEiIiIiomAMdImIiIjIkRjoEhEREZEjMdAlIiIiIkdioEtEREREjsRAl4iIiIgciYEuERERETkSA10iIiIiciQGukRERETkSAx0iYiIiMiRGOgSERERkSMx0CUiIiIiR2KgS0RERESOxECXiIiIiByJgS4RERERORIDXSIiIiJyJAa6RERERORIDHSJiIiIyJEY6BIRERGRIzHQJSIiIiJHYqBLRERERI7EQJeIiIiIHImBLhERERE5EgNdIiIiInIkBrpERERE5EgMdImIiIjIkRjoEhEREZEjMdAlIiIiIkdioEtEREREjsRAl4iIiIgciYEuERERETkSA10iIiIiciQGukRERETkSAx0iYiIiMiRGOgSERERkSMx0CUiIiIiR2KgS0RERESOxECXiIiIiByJgS4RERERORIDXSIiIiJyJAa6RERERORIDHSJiIiIyJEY6BIRERGRIzHQJSIiIiJHYqBLRERERI7EQJeIiIiIHImBLhERERE5EgNdIiIiInIkBrpERERE5EgMdImIiIjIkRjoEhEREZEjMdAlIiIiIkdioEtEREREjsRAl4iIiIgciYEuERERETkSA10iIiIiciQGukRERETkSAx0iYiIiMiRGOgSERERkSPZJtD95S9/ifPOOw/Z2dnIz8+PuI3L5erwb/Xq1YltKBERERFZQiezGyCqtbUVP/jBD1BaWoo//elPitstX74cZWVlgZ+VgmIiIiIicjbbBLqLFi0CADz//PNRt8vPz4fH40lAi4iIiMgKfH4JW2oacOBIM3rkZmJkUQFSU1xm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PT1d6t27t/TDH/5Q2rVrl9nNsryNGzdKADr8u+GGGyRJai8xNn/+fKlnz55SRkaGdOmll0qff/65uY22oGj78dixY9Jll10mde/eXUpLS5P69esnzZw5U6qrqzO72ZYSaf8BkJYvXx7Y5vjx49Ltt98udenSRcrOzpauvPJKqba21rxGW1Cs/bhnzx7pwgsvlAoKCqSMjAxp0KBB0r333it5vV5zG24xP/rRj6R+/fpJ6enpUvfu3aVLL71U+ve//x34PY9F/bkkSZISGVgTERERESUCc3SJiIiIyJEY6BIRERGRIzHQJSIiIiJHYqBLRERERI7EQJeIiIiIHImBLhERERE5EgNdIiIiInIkBrpERAa7+OKLceeddybs9Z5//nnk5+cb+hpvvfUWXC4XDh8+bOjrEBHFg4EuEZEOZsyYAZfL1eHfrl278PLLL2Px4sWBbfv3748nnngi5O8TEZwSESWbTmY3gIjIKcrKyrB8+fKQx7p3747U1FSTWkRElNzYo0tEpJOMjAx4PJ6Qf6mpqSGpCxdffDG++uorzJkzJ9Dr+9Zbb+HGG2+E1+sNPLZw4UIAQEtLC+655x707t0bOTk5GDVqFN56662Q133++efRt29fZGdn48orr0R9fX3Udp533nmYO3duyGPffvst0tLS8M477wAA/vrXv+Kcc85Bbm4uPB4PrrnmGhw4cEDxORcuXIjhw4eHPPbEE0+gf//+IY/98Y9/xODBg5GZmYkzzjgDv//976O2lYgoHgx0iYgS6OWXX8Ypp5yCX/ziF6itrUVtbS3OO+88PPHEE8jLyws8ds899wAAZs+ejYqKCqxevRoff/wxfvCDH6CsrAw7d+4EALz//vu46aabMHv2bFRWVuKSSy7BQw89FLUN1157LVavXg1JkgKP/e1vf0OvXr1wwQUXAADa2tqwePFifPTRR3j11Vexe/duzJgxI673/sILL+DBBx/EL3/5S+zYsQMPP/ww5s+fjz//+c9xPS8RkRKmLhAR6eSNN95A586dAz9PmDABL774Ysg2BQUFSE1NDfSUytxuN1wuV8hje/bswfLly7Fnzx706tULAHDPPfegvLwcy5cvx8MPP4wnn3wSZWVluO+++wAAp512Gt577z2Ul5crtvN//ud/cOedd2LTpk2BwHblypWYPn06XC4XAOBHP/pRYPsBAwbgt7/9Lc4991wcPXo05D2qsWDBAvzf//0frrrqKgBAUVERtm/fjmeffRY33HCDpuckIoqGgS4RkU4uueQSPP3004Gfc3Jy4nq+Tz75BD6fD6eddlrI4y0tLejatSsAYMeOHbjyyitDfl9aWho10O3evTsuu+wyvPDCC7jgggtQU1ODiooKPPvss4Fttm7dioULF+Kjjz7CoUOH4Pf7AbQH38XFxarfS1NTE6qrq3HTTTdh5syZgcdPnDgBt9ut+vmIiEQw0CUi0klOTg4GDRqk2/MdPXoUqamp2Lp1a4cJbVp7VWXXXnstfvrTn+J3v/sdVq5ciSFDhmDIkCEA2oPSyy+/HJdffjleeOEFdO/eHXv27MHll1+O1tbWiM+XkpISkgoBtKc/BL8XAFi2bBlGjRoVsh0n6xGRURjoEhElWHp6Onw+X8zHzjrrLPh8Phw4cCCQYhBu8ODBeP/990Me27x5c8w2TJkyBbfccgvKy8uxcuVKXH/99YHfffbZZ6ivr8cjjzyCPn36AAA++OCDqM/XvXt31NXVQZKkQPpDZWVl4Pc9e/ZEr1698OWXX+Laa6+N2T4iIj1wMhoRUYL1798f77zzDvbu3YuDBw8GHjt69CjefPNNHDx4EMeOHcNpp52Ga6+9Ftdffz1efvll1NTUYMuWLViyZAnWrl0LAPjpT3+K8vJy/PrXv8bOnTvx1FNPRU1bkOXk5GDq1KmYP38+duzYgenTpwd+17dvX6Snp+N3v/sdvvzyS7z22mshdYAjufjii/Htt9/iscceQ3V1NZYuXYp//etfIdssWrQIS5YswW9/+1t88cUX+OSTT7B8+XL85je/UbsLiYiEMNAlIkqwX/ziF9i9ezcGDhyI7t27A2gv+XXrrbfihz/8Ibp3747HHnsMALB8+XJcf/31uPvuu3H66adj6tSp+O9//4u+ffsCAEaPHo1ly5bhySefxLBhw/Dvf/8bDzzwgFA7rr32Wnz00Ue44IILAs8HtPfOPv/883jxxRdRXFyMRx55BL/+9a+jPtfgwYPx+9//HkuXLsWwYcOwZcuWQOUI2c0334w//vGPWL58OYYMGYKLLroIzz//PIqKioT3HRGRGi4pPKmKiIiIiMgB2KNLRERERI7EQJeIiIiIHImBLhERERE5EgNdIiIiInIkBrpERERE5EgMdImIiIjIkRjoEhEREZEjMdAlIiIiIkdioEtEREREjsRAl4iIiIgciYEuERERETkSA10iIiIicqT/DxcvOIC7g093AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "ax = subplots(figsize=(8,8))[1]\n", "ax.scatter(results.fittedvalues, results.resid)\n", @@ -684,12 +1549,39 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "82673b80", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:12.188851Z", + "iopub.status.busy": "2023-07-25T23:59:12.188712Z", + "iopub.status.idle": "2023-07-25T23:59:12.286175Z", + "shell.execute_reply": "2023-07-25T23:59:12.285838Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "374" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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MQAAcM2IQaUqKylUpOJqPrVXmxgxqDSZqwVERUAMAABck5vj07wLyyWpU1Bs/jzvwnLqESOtEBADAABXTawo0wNXDpO/JDQtwl9SqAeuHEYdYqQdJuYAAACum1hRpvHlfmaqQ0YgIAYAAAmRm+PT6BN6pXo1gJhImQAAAICnERADAADA0wiIAQAA4GkExAAAAPA0AmIAAAB4GgExAAAAPI2AGAAAAJ5GQAwAAABPIyAGAACApxEQAwAAwNMIiAEAAOBpjgPiV199VVdeeaVGjx6tHTt2SJL+3//7f1q1apVrKwcAAAAkmqOA+K9//asmTJigrl27av369WppaZEkNTQ06I477nB1BQEAAIBEchQQ//SnP9XixYv10EMPKS8vL/D6mDFjVF1d7drKAQAAAInmKCB+//33dfbZZ3d6vaSkRPv27Yt3nQAAAICkcRQQ+/1+ffDBB51eX7VqlY4//vi4VwoAAABIFkcB8fTp03XjjTdqzZo18vl82rlzpx555BH993//t2bMmOH2OgIAAAAJ08XJH918881qa2vTeeedpwMHDujss89WQUGB/vu//1s33HCD2+sIAAAAJIzPMAzD6R8fOnRIH3zwgT777DOVl5frqKOOcnPd0lpjY6NKSkrU0NCg4uLiVK8OAAAAOrAarzlqITbl5+ervLw8nrcAAAAAUspRQHzxxRfL5/N1et3n86mwsFAnnniiLr/8cn3hC1+IewUBAACARHI0qK6kpEQrV65UdXW1fD6ffD6f1q9fr5UrV+rIkSN6/PHHNWTIEK1evdrt9QUAAABc5bjs2uWXX65//etf+utf/6q//vWv2rJli6688kqdcMIJ2rRpk66++mrNmTMn5nvdf//9GjhwoAoLCzVy5EitXbs26vJPPPGETj75ZBUWFurUU0/VCy+8EPL7J598Uueff7569eoln8+nDRs2dHqPL3/5y4FA3vx33XXX2doGAAAAyA6OAuLf/e53uummm5ST8+8/z8nJ0Q033KAHH3xQPp9PM2fOVE1NTdT3efzxxzV79mzNmzdP1dXVGjJkiCZMmKDdu3eHXf61117T1KlTNW3aNK1fv15TpkzRlClTQj6nqalJZ511lu66666onz19+nTV1tYG/t199902tgAAAACyhaOA+MiRI3rvvfc6vf7ee++ptbVVklRYWBg2zzjYr371K02f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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "infl = results.get_influence()\n", "ax = subplots(figsize=(8,8))[1]\n", @@ -725,12 +1617,83 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "54596dc4", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:12.288225Z", + "iopub.status.busy": "2023-07-25T23:59:12.288081Z", + "iopub.status.idle": "2023-07-25T23:59:12.299299Z", + "shell.execute_reply": "2023-07-25T23:59:12.298971Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errtP>|t|
intercept33.22280.73145.4580.000
lstat-1.03210.048-21.4160.000
age0.03450.0122.8260.005
\n", + "
" + ], + "text/plain": [ + " coef std err t P>|t|\n", + "intercept 33.2228 0.731 45.458 0.000\n", + "lstat -1.0321 0.048 -21.416 0.000\n", + "age 0.0345 0.012 2.826 0.005" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X = MS(['lstat', 'age']).fit_transform(Boston)\n", "model1 = sm.OLS(y, X)\n", @@ -752,10 +1715,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "75c78238", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:12.301248Z", + "iopub.status.busy": "2023-07-25T23:59:12.301102Z", + "iopub.status.idle": "2023-07-25T23:59:12.304155Z", + "shell.execute_reply": "2023-07-25T23:59:12.303798Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['crim', 'zn', 'indus', 'chas', 'nox', 'rm', 'age', 'dis', 'rad', 'tax',\n", + " 'ptratio', 'lstat'],\n", + " dtype='object')" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "terms = Boston.columns.drop('medv')\n", "terms\n" @@ -772,10 +1755,162 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "f14b9e1a", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:12.305936Z", + "iopub.status.busy": "2023-07-25T23:59:12.305825Z", + "iopub.status.idle": "2023-07-25T23:59:12.321954Z", + "shell.execute_reply": "2023-07-25T23:59:12.321660Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errtP>|t|
intercept41.61734.9368.4310.000
crim-0.12140.033-3.6780.000
zn0.04700.0143.3840.001
indus0.01350.0620.2170.829
chas2.84000.8703.2640.001
nox-18.75803.851-4.8700.000
rm3.65810.4208.7050.000
age0.00360.0130.2710.787
dis-1.49080.202-7.3940.000
rad0.28940.0674.3250.000
tax-0.01270.004-3.3370.001
ptratio-0.93750.132-7.0910.000
lstat-0.55200.051-10.8970.000
\n", + "
" + ], + "text/plain": [ + " coef std err t P>|t|\n", + "intercept 41.6173 4.936 8.431 0.000\n", + "crim -0.1214 0.033 -3.678 0.000\n", + "zn 0.0470 0.014 3.384 0.001\n", + "indus 0.0135 0.062 0.217 0.829\n", + "chas 2.8400 0.870 3.264 0.001\n", + "nox -18.7580 3.851 -4.870 0.000\n", + "rm 3.6581 0.420 8.705 0.000\n", + "age 0.0036 0.013 0.271 0.787\n", + "dis -1.4908 0.202 -7.394 0.000\n", + "rad 0.2894 0.067 4.325 0.000\n", + "tax -0.0127 0.004 -3.337 0.001\n", + "ptratio -0.9375 0.132 -7.091 0.000\n", + "lstat -0.5520 0.051 -10.897 0.000" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X = MS(terms).fit_transform(Boston)\n", "model = sm.OLS(y, X)\n", @@ -796,10 +1931,154 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "0a2714b1", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:12.323903Z", + "iopub.status.busy": "2023-07-25T23:59:12.323760Z", + "iopub.status.idle": "2023-07-25T23:59:12.339122Z", + "shell.execute_reply": "2023-07-25T23:59:12.338823Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errtP>|t|
intercept41.52514.9208.4410.000
crim-0.12140.033-3.6830.000
zn0.04650.0143.3790.001
indus0.01350.0620.2170.829
chas2.85280.8683.2870.001
nox-18.48513.714-4.9780.000
rm3.68110.4118.9510.000
dis-1.50680.193-7.8250.000
rad0.28790.0674.3220.000
tax-0.01270.004-3.3330.001
ptratio-0.93460.132-7.0990.000
lstat-0.54740.048-11.4830.000
\n", + "
" + ], + "text/plain": [ + " coef std err t P>|t|\n", + "intercept 41.5251 4.920 8.441 0.000\n", + "crim -0.1214 0.033 -3.683 0.000\n", + "zn 0.0465 0.014 3.379 0.001\n", + "indus 0.0135 0.062 0.217 0.829\n", + "chas 2.8528 0.868 3.287 0.001\n", + "nox -18.4851 3.714 -4.978 0.000\n", + "rm 3.6811 0.411 8.951 0.000\n", + "dis -1.5068 0.193 -7.825 0.000\n", + "rad 0.2879 0.067 4.322 0.000\n", + "tax -0.0127 0.004 -3.333 0.001\n", + "ptratio -0.9346 0.132 -7.099 0.000\n", + "lstat -0.5474 0.048 -11.483 0.000" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "minus_age = Boston.columns.drop(['medv', 'age']) \n", "Xma = MS(minus_age).fit_transform(Boston)\n", @@ -840,12 +2119,116 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "961c9128", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:12.340898Z", + "iopub.status.busy": "2023-07-25T23:59:12.340771Z", + "iopub.status.idle": "2023-07-25T23:59:12.348463Z", + "shell.execute_reply": "2023-07-25T23:59:12.348166Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
vif
crim1.767486
zn2.298459
indus3.987181
chas1.071168
nox4.369093
rm1.912532
age3.088232
dis3.954037
rad7.445301
tax9.002158
ptratio1.797060
lstat2.870777
\n", + "
" + ], + "text/plain": [ + " vif\n", + "crim 1.767486\n", + "zn 2.298459\n", + "indus 3.987181\n", + "chas 1.071168\n", + "nox 4.369093\n", + "rm 1.912532\n", + "age 3.088232\n", + "dis 3.954037\n", + "rad 7.445301\n", + "tax 9.002158\n", + "ptratio 1.797060\n", + "lstat 2.870777" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "vals = [VIF(X, i)\n", " for i in range(1, X.shape[1])]\n", @@ -868,9 +2251,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "4886f9e9", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:12.350254Z", + "iopub.status.busy": "2023-07-25T23:59:12.350123Z", + "iopub.status.idle": "2023-07-25T23:59:12.356093Z", + "shell.execute_reply": "2023-07-25T23:59:12.355816Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -895,12 +2284,91 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "b54d2da1", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:12.357794Z", + "iopub.status.busy": "2023-07-25T23:59:12.357702Z", + "iopub.status.idle": "2023-07-25T23:59:12.369302Z", + "shell.execute_reply": "2023-07-25T23:59:12.368984Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errtP>|t|
intercept36.08851.47024.5530.000
lstat-1.39210.167-8.3130.000
age-0.00070.020-0.0360.971
lstat:age0.00420.0022.2440.025
\n", + "
" + ], + "text/plain": [ + " coef std err t P>|t|\n", + "intercept 36.0885 1.470 24.553 0.000\n", + "lstat -1.3921 0.167 -8.313 0.000\n", + "age -0.0007 0.020 -0.036 0.971\n", + "lstat:age 0.0042 0.002 2.244 0.025" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X = MS(['lstat',\n", " 'age',\n", @@ -924,12 +2392,91 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "1b71633a", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:12.371166Z", + "iopub.status.busy": "2023-07-25T23:59:12.371022Z", + "iopub.status.idle": "2023-07-25T23:59:12.382869Z", + "shell.execute_reply": "2023-07-25T23:59:12.382565Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errtP>|t|
intercept17.71510.78122.6810.0
poly(lstat, degree=2)[0]-179.22796.733-26.6200.0
poly(lstat, degree=2)[1]72.99085.48213.3150.0
age0.07030.0116.4710.0
\n", + "
" + ], + "text/plain": [ + " coef std err t P>|t|\n", + "intercept 17.7151 0.781 22.681 0.0\n", + "poly(lstat, degree=2)[0] -179.2279 6.733 -26.620 0.0\n", + "poly(lstat, degree=2)[1] 72.9908 5.482 13.315 0.0\n", + "age 0.0703 0.011 6.471 0.0" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X = MS([poly('lstat', degree=2), 'age']).fit_transform(Boston)\n", "model3 = sm.OLS(y, X)\n", @@ -963,12 +2510,81 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "id": "6d30a306", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:12.384859Z", + "iopub.status.busy": "2023-07-25T23:59:12.384717Z", + "iopub.status.idle": "2023-07-25T23:59:12.390818Z", + "shell.execute_reply": "2023-07-25T23:59:12.390400Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
df_residssrdf_diffss_diffFPr(>F)
0503.019168.1286090.0NaNNaNNaN
1502.014165.6132511.05002.515357177.2787857.468491e-35
\n", + "
" + ], + "text/plain": [ + " df_resid ssr df_diff ss_diff F Pr(>F)\n", + "0 503.0 19168.128609 0.0 NaN NaN NaN\n", + "1 502.0 14165.613251 1.0 5002.515357 177.278785 7.468491e-35" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "anova_lm(results1, results3)\n" ] @@ -1004,12 +2620,39 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "id": "9a5ec13f", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:12.392629Z", + "iopub.status.busy": "2023-07-25T23:59:12.392494Z", + "iopub.status.idle": "2023-07-25T23:59:12.503315Z", + "shell.execute_reply": "2023-07-25T23:59:12.502922Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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/7766isD9pCIiIiI7K6d1Tug1cyZM/HGG2/g3Xffxemnnx5+PBgM4tixYzh48GBUVnjv3r0IBoOqz5eZmYnMzEwzd5mIiIiIbMgxGWFJkjBz5ky88sorWLduHQoLC6N+ft555yE9PR1vvfVW+LHPPvsMu3fvxsiRI1O9u0RERERkc47JCM+YMQMrVqzAqlWrkJubG677DQQCaN++PQKBAG6++WbcfvvtyM/PR15eHn7+859j5MiRwh0jiIiIiMg7HNM+zefzKT6+bNky3HjjjQBaF9S444478OKLL6K5uRnjx4/HH//4x7ilEbHYPo2IiIjI3oyK1xwTCKcKA2EiIiIie/N8H2EiIiIiomQwECYiIiIiT2IgTERERESexECYiIiIiDyJgTAREREReRIDYSIiIiLyJAbCRERERORJDISJiIiIyJMYCBMRERGRJzEQJiIiIiJPYiBMRERERJ7EQJiIiIiIPImBMBERERF5EgNhIiIiIvIkBsJERERE5EkMhImIiIjIkxgIExEREZEntbN6B7ysJSRhS1Ud9h1qQrfcLAwrzEea32f1bhERERF5AgNhi5RWVGPB69tQXd8UfqwgkIV5k4tQUlxg4Z4REREReQNLIyxQWlGN6c9vjQqCAaCmvgnTn9+K0opqi/aMiIiIyDsYCKdYS0jCgte3QVL4mfzYgte3oSWktAURERERGYWBcIptqaprkwmOJAGorm/Clqq61O0UERERkQcxEE6xfYfUg2A92xERERGRPgyEU6xbbpah2xERERGRPgyEU2xYYT4KAllQa5LmQ2v3iGGF+ancLSIiIiLPYSCcYml+H+ZNLgKANsGw/O95k4vYT5iIiIjIZAyELVBSXIAnrhuKYCC6/CEYyMIT1w1lH2EiIiKiFOCCGhYpKS7AuKIgV5YjIiIisggDYQul+X0Y2bez1btBRERE5EksjSAiIiIiT2IgTERERESexECYiIiIiDyJgTAREREReRIDYSIiIiLyJAbCRERERORJDISJiIiIyJMYCBMRERGRJzEQJiIiIiJPYiBMRERERJ7EQJiIiIiIPImBMBERERF5EgNhIiIiIvIkBsJERERE5EkMhImIiIjIkxgIExEREZEnMRAmIiIiIk9qZ/UOEBERkT21hCRsqarDvkNN6JabhWGF+Ujz+6zeLSLDMBAmIiKiNkorqrHg9W2o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lchOmOEjcgajb1oTjQpJAJpOhHDt05sN+XtEduSYGuFEampqooJgAOF/19TUqP7eokWLEAgEwv/17NnT1P0ksqM0vw8j+3bGlCGnYWTfzgyCiWzGrDZnanXfgex0AMDBI8cN/XtEdmNpIHz33XfD5/PF/e/TTz81dR/uuece1NfXh//76quvTP17REREWpjd5qykuAAb5ozBi9NG4LFrhuCFm4cjq12a4rZsq0ZuY2lpxB133IEbb7wx7jZ9+vQReq5gMIgtW7ZEPbZ3797wz9RkZmYiMzNT6G8QERGlmpY2ZyP7dtb1N+RRIQAoq6xFTYO5f4/ILiwNhLt27YquXbsa8lwjR47EAw88gH379qFbt24AgDVr1iAvLw9FRUWG/A0iIqJUS3WbM7ZVIy9xzGS53bt3o66uDrt370ZLSwvKy8sBAP369UOHDh1w2WWXoaioCP/v//0/PPzww6ipqcG9996LGTNmMONLRESOleo2Z106iF0zRbcjsjPHBML33XcfnnvuufC/5S4Q69evx8UXX4y0tDS88cYbmD59OkaOHImcnBzccMMN+PWvf23VLhMRESVNXvwmXpuzoJGL34iW/rJEmFzAMYHw8uXLsXz58rjb9OrVC//4xz9Ss0NEREQpkOrFb/Y3NifeSMN2RHbmmvZpREREbpXK5a254hx5iWMywkRERF6WqsVvUl6KQWQhBsJEREQOEdnmzMy/kcpSDCIrsTSCiIiIoqSyFIPISswIExERURupKsUgshIDYSIiSkpLSGKw5FKpKMUgshIDYSIi0q20ohoLXt8WtQRwQSAL8yYXcficiGyPNcJERKRLaUU1pj+/NSoIBoCa+iZMf34rSiuqLdozIiIxDISJiEizlpCEBa9vU2yvJT+24PVtaAlx+TEisi8GwkREpNmWqro2meBIEoDq+iZsqapL3U4REWnEQJiIiDTbd0g9CNazHRGRFRgIExGRZlyGl4jcgIEwERFpJi/Dq9YkzYfW7hFchpeI7IyBMBERaSYvwwugTTDMZXiJyCkYCBMRkS5chpeInI4LahARkW5chpeInIyBMBERJYXL8BKRU7E0goiIiIg8iYEwEREREXkSA2EiIiIi8iQGwkRERETkSZwsR0RERAm1hCR2ByHXYSBMREREcZVWVGPB69tQXd8UfqwgkIV5k4vYL5ocjaURREREpKq0ohrTn98aFQQDQE19E6Y/vxWlFdUW7RlR8hgIExERkaKWkIQFr2+DpPAz+bEFr29DS0hpCyL7YyBMREREirZU1bXJBEeSAFTXN2FLVV3qdorIQAyEiYiISNG+Q+pBsJ7tiOyGgTAREREp6pabZeh2RHbDQJiIiIgUDSvMR0EgC2pN0nxo7R4xrDA/lbtFZBgGwkRERKQoze/DvMlFANAmGJb/PW9yEfsJk2MxECYiIiJVJcUFeOK6oQgGossfgoEsPHHdUPYRJkfjghpEREQUV0lxAcYVBU1dWY4r15EVGAgTERFRQml+H0b27WzKc3PlOrIKSyOIiIjIMly5jqzEQJiIiIgswZXryGoMhImIiMgSXLmOrMZAmIiIiCzBlevIagyEiYiIyBJcuY6sxkCYiIiILMGV68hqDISJiIjIEly5jqzGQJiIiIgsw5XryEpcUIOIiIgslYqV64iUMBAmIiIiy5m5ch2RGpZGEBEREZEnMRAmIiIiIk9iIExEREREnsRAmIiIiIg8iYEwEREREXkSA2EiIiIi8iQGwkRERETkSQyEiYiIiMiTGAgTERERkScxECYiIiIiT2IgTERERESexECYiIiIiDyJgTAREREReRIDYSIiIiLyJAbCRERERORJDISJiIiIyJMcEwg/8MADOP/885GdnY2OHTsqbuPz+dr8t3LlytTuKBERERE5Qjurd0DUsWPH8IMf/AAjR47EM888o7rdsmXLUFJSEv63WtBMRERERN7mmEB4wYIFAIDly5fH3a5jx44IBoMp2CMiIiIicjLHlEaImjFjBrp06YJhw4bh2WefhSRJcbdvbm5GQ0ND1H9ERERE5H6OyQiL+PWvf40xY8YgOzsb//znP3Hrrbfi8OHD+MUvfqH6O4sWLQpnm4mIiIjIO3xSopSpie6++24sXrw47jbbt2/H2WefHf738uXLMWvWLBw8eDDh8993331YtmwZvvrqK9Vtmpub0dzcHP53Q0MDevbsifr6euTl5SV+EURERESUUg0NDQgEAknHa5ZmhO+44w7ceOONcbfp06eP7ucfPnw4Fi5ciObmZmRmZipuk5mZqfozIiIiInIvSwPhrl27omvXrqY9f3l5OTp16sRAl4iIiIjacEyN8O7du1FXV4fdu3ejpaUF5eXlAIB+/fqhQ4cOeP3117F3716MGDECWVlZWLNmDR588EHceeed1u44EREREdmSYwLh++67D88991z43+eeey4AYP369bj44ouRnp6Oxx9/HLNnz4YkSejXrx9+//vfY9q0aVbtMhERERHZmKWT5ezIqOJrIiIiIjKHUfGa6/oIExERERGJYCBMRERERJ7EQJiIiIiIPImBMBERERF5EgNhIiIiIvIkBsJERERE5EkMhImIiIjIkxgIExEREZEnMRAmIiIiIk9iIExEREREnsRAmIiIiIg8iYEwEREREXkSA2EiIiIi8iQGwkRERETkSQyEiYiIiMiTGAgTERERkSe1s3oHiIiIzNQSkrClqg77DjWhW24WhhXmI83vs3q3iMgGGAgTEZFrlVZUY8Hr21Bd3xR+rCCQhXmTi1BSXGDhnhGRHbA0goiIXKm0ohrTn98aFQQDQE19E6Y/vxWlFdUW7RkR2QUDYSIicp2WkIQFr2+DpPAz+bEFr29DS0hpCyLyCgbCRETkOluq6tpkgiNJAKrrm7Clqi51O0VEtsNAmIiIXGffIfUgWM92RORODISJiMh1uuVmGbodEbkTA2EiInKdYYX5KAhkQa1Jmg+t3SOGFeancreIyGYYCBMRkeuk+X2YN7kIANoEw/K/500uYj9hIo9jIExERK5UUlyAJ64bimAguvwhGMjCE9cNZR9hIuKCGkRE5F4lxQUYVxTkynJEpIiBMBERuVqa34eRfTtbvRtEZEMsjSAiIiIiT2IgTERERESexECYiIiIiDyJgTAREREReRIDYSIiIiLyJAbCRERERORJDISJiIiIyJMYCBMRERGRJzEQJiIiIiJPYiBMRERERJ7EQJiIiIiIPImBMBERERF5EgNhIiIiIvIkBsJERERE5EkMhImIiIjIkxgIExEREZEnMRAmIiIiIk9iIExEREREnsRAmIiIiIg8iYEwEREREXlSO6t3wG4kSQIANDQ0WLwnRERERKREjtPkuE0vBsIxDh06BADo2bOnxXtCRERERPEcOnQIgUBA9+/7pGRDaZcJhULYs2cPcnNz4fP5NP9+Q0MDevbsia+++gp5eXkm7KG78HiJ47ESx2MljsdKGx4vcTxW4nisxMnHavfu3fD5fOjRowf8fv2VvswIx/D7/Tj99NOTfp68vDyezBrweInjsRLHYyWOx0obHi9xPFbieKzEBQIBQ44VJ8sRERERkScxECYiIiIi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/3hexYh3rHhORcvNzY2qyQeAnJwcdO7cOfw4z61WiY6VoedW0n0nSJIkSfrhD38oFRQUSBkZGdJpp50m/fCHP5R27txp9W7Zwvr16yUAbf674YYbJElqbaE2d+5cqXv37lJmZqZ06aWXSp999pm1O22heMfryJEj0mWXXSZ17dpVSk9Pl3r16iVNmzZNqqmpsXq3U07pGAGQli1bFt7m6NGj0q233ip16tRJys7Olq688kqpurraup22UKLjtXv3bunCCy+U8vPzpczMTKlfv37SL3/5S6m+vt7aHbfAj3/8Y6lXr15SRkaG1LVrV+nSSy+V/vnPf4Z/zvPqlHjHiudUYrEtwHhuqYs8VkaeWz5JkiRd4ToRERERkYOxRpiIiIiIPImBMBERERF5EgNhIiIiIvIkBsJERERE5EkMhImIiIjIkxgIExEREZEnMRAmIiIiIk9iIExEZLKLL74Ys2bNStnfW758OTp27Gjq33j77bfh8/lw8OBBU/8OEZGZGAgTERngxhtvhM/na/Pfzp078fLLL2PhwoXhbXv37o1HH3006vdTEbwSEVG0dlbvABGRW5SUlGDZsmVRj3Xt2hVpaWkW7REREcXDjDARkUEyMzMRDAaj/ktLS4sqjbj44ovx5ZdfYvbs2eGs8dtvv42bbroJ9fX14cfmz58PAGhubsadd96J0047DTk5ORg+fDjefvvtqL+7fPlynHHGGcjOzsaVV16J2trauPt5/vnnY86cOVGPffvtt0hPT8e7774LAPjLX/6C73znO8jNzUUwGMSPfvQj7Nu3T/U558+fjyFDhkQ99uijj6J3795Rjz399NMYMGAAsrKycPbZZ+OPf/xj3H0lIjITA2EiohR6+eWXcfrpp+PXv/41qqurUV1djfPPPx+PPvoo8vLywo/deeedAICZM2eirKwMK1euxEcffYQf/OAHKCkpwY4dOwAAmzdvxs0334yZM2eivLwcl1xyCe6///64+3Dttddi5cqVkCQp/Nhf//pX9OjRAxdccAEA4Pjx41i4cCE+/PBDvPrqq9i1axduvPHGpF77Cy+8gPvuuw8PPPAAtm/fjgcffBBz587Fc889l9TzEhHpxdIIIiKDvPHGG+jQoUP43xMmTMBLL70UtU1+fj7S0tLCmVZZIBCAz+eLemz37t1YtmwZdu/ejR49egAA7rzzTpSWlmLZsmV48MEH8dhjj6GkpAR33XUXAODMM8/Ee++9h9LSUtX9/K//+i/MmjULGzZsCAe+K1aswNSpU+Hz+QAAP/7xj8Pb9+nTB3/4wx/w3e9+F4cPH456jVrMmzcPv/vd73DVVVcBAAoLC7Ft2zY89dRTuOGGG3Q9JxFRMhgIExEZ5JJLLsETTzwR/ndOTk5Sz/fxxx+jpaUFZ555ZtTjzc3N6Ny5MwBg+/btuPLKK6N+PnLkyLiBcNeuXXHZZZfhhRdewAUXXICqqiqUlZXhqaeeCm/z/vvvY/78+fjwww9x4MABhEIhAK3BeVFRkebX0tjYiMrKStx8882YNm1a+PETJ04gEAhofj4iIiMwECYiMkhOTg769etn2PMdPnwYaWlpeP/999tMuNOblZVde+21+MUvfoH/+Z//wYoVKzBw4EAMHDgQQGvQOn78eIwfPx4vvPACunbtit27d2P8+PE4duyY4vP5/f6oUgugtbwi8rUAwNKlSzF8+PCo7TiZkIiswkCYiCjFMjIy0NLSkvCxc889Fy0tLdi3b1+4hCHWgAEDsHnz5qjHNm3alHAfpkyZgp/+9KcoLS3FihUrcP3114d/9umnn6K2thYPPfQQevbsCQD4z3/+E/f5unbtipqaGkiSFC6vKC8vD/+8e/fu6NGjB7744gtce+21CfePiCgVOFmOiCjFevfujXfffRfffPMN9u/fH37s8OHDeOutt7B//34cOXIEZ555Jq699lpcf/31ePnll1FVVYUtW7Zg0aJFWL16NQDgF7/4BUpLS/Hb3/4WO3bswJIlS+KWRchycnJwxRVXYO7cudi+fTumTp0a/tkZZ5yBjIwM/M///A+++OILvPbaa1F9kJVcfPHF+Pbbb/Hwww+jsrISjz/+ON58882obRYsWIBFixbhD3/4Az7//HN8/PHHWLZsGX7/+99rPYRERIZgIExElGK//vWvsWvXLvTt2xddu3YF0NrS7JZbbsEPf/hDdO3aFQ8//DAAYNmyZbj++utxxx134KyzzsIVV1yBf//73zjjjDMAACNGjMDSpUvx2GOPYfDgwfjnP/+Je++9V2g/rr32Wnz44Ye44IILws8HtGZ3ly9fjpdeeglFRUV46KGH8Nvf/jbucw0YMAB//OMf8fjjj2Pw4MHYsmVLuPOF7Cc/+QmefvppLFu2DAMHDsRFF12E5cuXo7CwUPjYEREZySfFFnUREREREXkAM8JERERE5EkMhImIiIjIkxgIExEREZEnMRAmIiIiIk9iIExEREREnsRAmIiIiIg8iYEwEREREXkSA2EiIiIi8iQGwkRERETkSQyEiYiIiMiTGAgTERERkScxECYiIiIiT/r/aF8hFHdgdH4AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "ax = subplots(figsize=(8,8))[1]\n", "ax.scatter(results3.fittedvalues, results3.resid)\n", @@ -1043,12 +2686,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "id": "09bbc0c6", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:12.505298Z", + "iopub.status.busy": "2023-07-25T23:59:12.505155Z", + "iopub.status.idle": "2023-07-25T23:59:12.509943Z", + "shell.execute_reply": "2023-07-25T23:59:12.509644Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['Sales', 'CompPrice', 'Income', 'Advertising', 'Population', 'Price',\n", + " 'ShelveLoc', 'Age', 'Education', 'Urban', 'US'],\n", + " dtype='object')" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Carseats = load_data('Carseats')\n", "Carseats.columns\n" @@ -1075,12 +2737,171 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "id": "2e1da1fa", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:12.511708Z", + "iopub.status.busy": "2023-07-25T23:59:12.511575Z", + "iopub.status.idle": "2023-07-25T23:59:12.534829Z", + "shell.execute_reply": "2023-07-25T23:59:12.534526Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errtP>|t|
intercept6.57561.0096.5190.000
CompPrice0.09290.00422.5670.000
Income0.01090.0034.1830.000
Advertising0.07020.0233.1070.002
Population0.00020.0000.4330.665
Price-0.10080.007-13.5490.000
ShelveLoc[Good]4.84870.15331.7240.000
ShelveLoc[Medium]1.95330.12615.5310.000
Age-0.05790.016-3.6330.000
Education-0.02090.020-1.0630.288
Urban[Yes]0.14020.1121.2470.213
US[Yes]-0.15760.149-1.0580.291
Income:Advertising0.00080.0002.6980.007
Price:Age0.00010.0000.8010.424
\n", + "
" + ], + "text/plain": [ + " coef std err t P>|t|\n", + "intercept 6.5756 1.009 6.519 0.000\n", + "CompPrice 0.0929 0.004 22.567 0.000\n", + "Income 0.0109 0.003 4.183 0.000\n", + "Advertising 0.0702 0.023 3.107 0.002\n", + "Population 0.0002 0.000 0.433 0.665\n", + "Price -0.1008 0.007 -13.549 0.000\n", + "ShelveLoc[Good] 4.8487 0.153 31.724 0.000\n", + "ShelveLoc[Medium] 1.9533 0.126 15.531 0.000\n", + "Age -0.0579 0.016 -3.633 0.000\n", + "Education -0.0209 0.020 -1.063 0.288\n", + "Urban[Yes] 0.1402 0.112 1.247 0.213\n", + "US[Yes] -0.1576 0.149 -1.058 0.291\n", + "Income:Advertising 0.0008 0.000 2.698 0.007\n", + "Price:Age 0.0001 0.000 0.801 0.424" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "allvars = list(Carseats.columns.drop('Sales'))\n", "y = Carseats['Sales']\n", @@ -1116,6 +2937,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,Rmd", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch4-classification-lab.ipynb b/docs/source/labs/Ch4-classification-lab.ipynb index 0161f78..e5ab894 100644 --- a/docs/source/labs/Ch4-classification-lab.ipynb +++ b/docs/source/labs/Ch4-classification-lab.ipynb @@ -41,9 +41,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "71523a7f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:13.693335Z", + "iopub.status.busy": "2023-07-25T23:59:13.692982Z", + "iopub.status.idle": "2023-07-25T23:59:14.692387Z", + "shell.execute_reply": "2023-07-25T23:59:14.692045Z" + } + }, "outputs": [], "source": [ "import numpy as np\n", @@ -65,9 +72,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "901ed7c5", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.694539Z", + "iopub.status.busy": "2023-07-25T23:59:14.694353Z", + "iopub.status.idle": "2023-07-25T23:59:14.710282Z", + "shell.execute_reply": "2023-07-25T23:59:14.709950Z" + }, "lines_to_next_cell": 2 }, "outputs": [], @@ -94,12 +107,210 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "8b56ee0f", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.712197Z", + "iopub.status.busy": "2023-07-25T23:59:14.712071Z", + "iopub.status.idle": "2023-07-25T23:59:14.723241Z", + "shell.execute_reply": "2023-07-25T23:59:14.722941Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
YearLag1Lag2Lag3Lag4Lag5VolumeTodayDirection
020010.381-0.192-2.624-1.0555.0101.191300.959Up
120010.9590.381-0.192-2.624-1.0551.296501.032Up
220011.0320.9590.381-0.192-2.6241.41120-0.623Down
32001-0.6231.0320.9590.381-0.1921.276000.614Up
420010.614-0.6231.0320.9590.3811.205700.213Up
..............................
124520050.4220.252-0.024-0.584-0.2851.888500.043Up
124620050.0430.4220.252-0.024-0.5841.28581-0.955Down
12472005-0.9550.0430.4220.252-0.0241.540470.130Up
124820050.130-0.9550.0430.4220.2521.42236-0.298Down
12492005-0.2980.130-0.9550.0430.4221.38254-0.489Down
\n", + "

1250 rows × 9 columns

\n", + "
" + ], + "text/plain": [ + " Year Lag1 Lag2 Lag3 Lag4 Lag5 Volume Today Direction\n", + "0 2001 0.381 -0.192 -2.624 -1.055 5.010 1.19130 0.959 Up\n", + "1 2001 0.959 0.381 -0.192 -2.624 -1.055 1.29650 1.032 Up\n", + "2 2001 1.032 0.959 0.381 -0.192 -2.624 1.41120 -0.623 Down\n", + "3 2001 -0.623 1.032 0.959 0.381 -0.192 1.27600 0.614 Up\n", + "4 2001 0.614 -0.623 1.032 0.959 0.381 1.20570 0.213 Up\n", + "... ... ... ... ... ... ... ... ... ...\n", + "1245 2005 0.422 0.252 -0.024 -0.584 -0.285 1.88850 0.043 Up\n", + "1246 2005 0.043 0.422 0.252 -0.024 -0.584 1.28581 -0.955 Down\n", + "1247 2005 -0.955 0.043 0.422 0.252 -0.024 1.54047 0.130 Up\n", + "1248 2005 0.130 -0.955 0.043 0.422 0.252 1.42236 -0.298 Down\n", + "1249 2005 -0.298 0.130 -0.955 0.043 0.422 1.38254 -0.489 Down\n", + "\n", + "[1250 rows x 9 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Smarket = load_data('Smarket')\n", "Smarket" @@ -116,12 +327,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "62d49b47", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.725047Z", + "iopub.status.busy": "2023-07-25T23:59:14.724902Z", + "iopub.status.idle": "2023-07-25T23:59:14.727346Z", + "shell.execute_reply": "2023-07-25T23:59:14.727072Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['Year', 'Lag1', 'Lag2', 'Lag3', 'Lag4', 'Lag5', 'Volume', 'Today',\n", + " 'Direction'],\n", + " dtype='object')" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Smarket.columns" ] @@ -141,12 +371,169 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "bc34e7b7", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.729048Z", + "iopub.status.busy": "2023-07-25T23:59:14.728923Z", + "iopub.status.idle": "2023-07-25T23:59:14.734089Z", + "shell.execute_reply": "2023-07-25T23:59:14.733820Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
YearLag1Lag2Lag3Lag4Lag5VolumeToday
Year1.0000000.0297000.0305960.0331950.0356890.0297880.5390060.030095
Lag10.0297001.000000-0.026294-0.010803-0.002986-0.0056750.040910-0.026155
Lag20.030596-0.0262941.000000-0.025897-0.010854-0.003558-0.043383-0.010250
Lag30.033195-0.010803-0.0258971.000000-0.024051-0.018808-0.041824-0.002448
Lag40.035689-0.002986-0.010854-0.0240511.000000-0.027084-0.048414-0.006900
Lag50.029788-0.005675-0.003558-0.018808-0.0270841.000000-0.022002-0.034860
Volume0.5390060.040910-0.043383-0.041824-0.048414-0.0220021.0000000.014592
Today0.030095-0.026155-0.010250-0.002448-0.006900-0.0348600.0145921.000000
\n", + "
" + ], + "text/plain": [ + " Year Lag1 Lag2 Lag3 Lag4 Lag5 Volume \\\n", + "Year 1.000000 0.029700 0.030596 0.033195 0.035689 0.029788 0.539006 \n", + "Lag1 0.029700 1.000000 -0.026294 -0.010803 -0.002986 -0.005675 0.040910 \n", + "Lag2 0.030596 -0.026294 1.000000 -0.025897 -0.010854 -0.003558 -0.043383 \n", + "Lag3 0.033195 -0.010803 -0.025897 1.000000 -0.024051 -0.018808 -0.041824 \n", + "Lag4 0.035689 -0.002986 -0.010854 -0.024051 1.000000 -0.027084 -0.048414 \n", + "Lag5 0.029788 -0.005675 -0.003558 -0.018808 -0.027084 1.000000 -0.022002 \n", + "Volume 0.539006 0.040910 -0.043383 -0.041824 -0.048414 -0.022002 1.000000 \n", + "Today 0.030095 -0.026155 -0.010250 -0.002448 -0.006900 -0.034860 0.014592 \n", + "\n", + " Today \n", + "Year 0.030095 \n", + "Lag1 -0.026155 \n", + "Lag2 -0.010250 \n", + "Lag3 -0.002448 \n", + "Lag4 -0.006900 \n", + "Lag5 -0.034860 \n", + "Volume 0.014592 \n", + "Today 1.000000 " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Smarket.corr()\n" ] @@ -165,12 +552,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "9f075144", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.735695Z", + "iopub.status.busy": "2023-07-25T23:59:14.735602Z", + "iopub.status.idle": "2023-07-25T23:59:14.838151Z", + "shell.execute_reply": "2023-07-25T23:59:14.837685Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "Smarket.plot(y='Volume');\n" ] @@ -195,12 +599,115 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "2ab15aa3", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.840061Z", + "iopub.status.busy": "2023-07-25T23:59:14.839924Z", + "iopub.status.idle": "2023-07-25T23:59:14.905643Z", + "shell.execute_reply": "2023-07-25T23:59:14.905295Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errzP>|z|
intercept-0.12600.241-0.5230.601
Lag1-0.07310.050-1.4570.145
Lag2-0.04230.050-0.8450.398
Lag30.01110.0500.2220.824
Lag40.00940.0500.1870.851
Lag50.01030.0500.2080.835
Volume0.13540.1580.8550.392
\n", + "
" + ], + "text/plain": [ + " coef std err z P>|z|\n", + "intercept -0.1260 0.241 -0.523 0.601\n", + "Lag1 -0.0731 0.050 -1.457 0.145\n", + "Lag2 -0.0423 0.050 -0.845 0.398\n", + "Lag3 0.0111 0.050 0.222 0.824\n", + "Lag4 0.0094 0.050 0.187 0.851\n", + "Lag5 0.0103 0.050 0.208 0.835\n", + "Volume 0.1354 0.158 0.855 0.392" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "allvars = Smarket.columns.drop(['Today', 'Direction', 'Year'])\n", "design = MS(allvars)\n", @@ -232,12 +739,36 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "0faa6a6c", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.907503Z", + "iopub.status.busy": "2023-07-25T23:59:14.907368Z", + "iopub.status.idle": "2023-07-25T23:59:14.910322Z", + "shell.execute_reply": "2023-07-25T23:59:14.909996Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "intercept -0.126000\n", + "Lag1 -0.073074\n", + "Lag2 -0.042301\n", + "Lag3 0.011085\n", + "Lag4 0.009359\n", + "Lag5 0.010313\n", + "Volume 0.135441\n", + "dtype: float64" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "results.params\n" ] @@ -253,10 +784,35 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "108aff98", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.912082Z", + "iopub.status.busy": "2023-07-25T23:59:14.911950Z", + "iopub.status.idle": "2023-07-25T23:59:14.914942Z", + "shell.execute_reply": "2023-07-25T23:59:14.914638Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "intercept 0.600700\n", + "Lag1 0.145232\n", + "Lag2 0.398352\n", + "Lag3 0.824334\n", + "Lag4 0.851445\n", + "Lag5 0.834998\n", + "Volume 0.392404\n", + "dtype: float64" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "results.pvalues\n" ] @@ -279,12 +835,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "54b4b96c", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.916677Z", + "iopub.status.busy": "2023-07-25T23:59:14.916540Z", + "iopub.status.idle": "2023-07-25T23:59:14.919353Z", + "shell.execute_reply": "2023-07-25T23:59:14.919077Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.50708413, 0.48146788, 0.48113883, 0.51522236, 0.51078116,\n", + " 0.50695646, 0.49265087, 0.50922916, 0.51761353, 0.48883778])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "probs = results.predict()\n", "probs[:10]\n" @@ -305,9 +879,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "46c2887c", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.921228Z", + "iopub.status.busy": "2023-07-25T23:59:14.921080Z", + "iopub.status.idle": "2023-07-25T23:59:14.923268Z", + "shell.execute_reply": "2023-07-25T23:59:14.922948Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -332,10 +912,74 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "0f816c4d", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.925028Z", + "iopub.status.busy": "2023-07-25T23:59:14.924907Z", + "iopub.status.idle": "2023-07-25T23:59:14.931043Z", + "shell.execute_reply": "2023-07-25T23:59:14.930780Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TruthDownUp
Predicted
Down145141
Up457507
\n", + "
" + ], + "text/plain": [ + "Truth Down Up\n", + "Predicted \n", + "Down 145 141\n", + "Up 457 507" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "confusion_table(labels, Smarket.Direction)\n" ] @@ -357,12 +1001,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "23668517", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.932765Z", + "iopub.status.busy": "2023-07-25T23:59:14.932642Z", + "iopub.status.idle": "2023-07-25T23:59:14.935589Z", + "shell.execute_reply": "2023-07-25T23:59:14.935254Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(0.5216, 0.5216)" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "(507+145)/1250, np.mean(labels == Smarket.Direction)\n" ] @@ -403,12 +1064,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "86a02d7c", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.937399Z", + "iopub.status.busy": "2023-07-25T23:59:14.937271Z", + "iopub.status.idle": "2023-07-25T23:59:14.940515Z", + "shell.execute_reply": "2023-07-25T23:59:14.940220Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(252, 9)" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "train = (Smarket.Year < 2005)\n", "Smarket_train = Smarket.loc[train]\n", @@ -452,9 +1130,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "f23b1c7b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.942274Z", + "iopub.status.busy": "2023-07-25T23:59:14.942174Z", + "iopub.status.idle": "2023-07-25T23:59:14.947832Z", + "shell.execute_reply": "2023-07-25T23:59:14.947512Z" + } + }, "outputs": [], "source": [ "X_train, X_test = X.loc[train], X.loc[~train]\n", @@ -482,9 +1167,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "82f849b9", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.949645Z", + "iopub.status.busy": "2023-07-25T23:59:14.949543Z", + "iopub.status.idle": "2023-07-25T23:59:14.951806Z", + "shell.execute_reply": "2023-07-25T23:59:14.951496Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -505,12 +1196,75 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "e216583a", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.953467Z", + "iopub.status.busy": "2023-07-25T23:59:14.953333Z", + "iopub.status.idle": "2023-07-25T23:59:14.958135Z", + "shell.execute_reply": "2023-07-25T23:59:14.957845Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TruthDownUp
Predicted
Down7797
Up3444
\n", + "
" + ], + "text/plain": [ + "Truth Down Up\n", + "Predicted \n", + "Down 77 97\n", + "Up 34 44" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "labels = np.array(['Down']*252)\n", "labels[probs>0.5] = 'Up'\n", @@ -527,12 +1281,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "5538dc17", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.959974Z", + "iopub.status.busy": "2023-07-25T23:59:14.959839Z", + "iopub.status.idle": "2023-07-25T23:59:14.962708Z", + "shell.execute_reply": "2023-07-25T23:59:14.962368Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(0.4801587301587302, 0.5198412698412699)" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.mean(labels == L_test), np.mean(labels != L_test)\n" ] @@ -568,12 +1339,75 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "016110f9", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.964445Z", + "iopub.status.busy": "2023-07-25T23:59:14.964311Z", + "iopub.status.idle": "2023-07-25T23:59:14.973260Z", + "shell.execute_reply": "2023-07-25T23:59:14.972937Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TruthDownUp
Predicted
Down3535
Up76106
\n", + "
" + ], + "text/plain": [ + "Truth Down Up\n", + "Predicted \n", + "Down 35 35\n", + "Up 76 106" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "model = MS(['Lag1', 'Lag2']).fit(Smarket)\n", "X = model.transform(Smarket)\n", @@ -599,10 +1433,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "70984cd6", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.975189Z", + "iopub.status.busy": "2023-07-25T23:59:14.975049Z", + "iopub.status.idle": "2023-07-25T23:59:14.977637Z", + "shell.execute_reply": "2023-07-25T23:59:14.977328Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.5595238095238095, 0.5824175824175825)" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "(35+106)/252,106/(106+76)\n" ] @@ -635,12 +1487,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "4b745fd8", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.979440Z", + "iopub.status.busy": "2023-07-25T23:59:14.979307Z", + "iopub.status.idle": "2023-07-25T23:59:14.983500Z", + "shell.execute_reply": "2023-07-25T23:59:14.983211Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0 0.479146\n", + "1 0.496094\n", + "dtype: float64" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "newdata = pd.DataFrame({'Lag1':[1.2, 1.5],\n", " 'Lag2':[1.1, -0.8]});\n", @@ -668,9 +1539,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "cd533313", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.985192Z", + "iopub.status.busy": "2023-07-25T23:59:14.985093Z", + "iopub.status.idle": "2023-07-25T23:59:14.987028Z", + "shell.execute_reply": "2023-07-25T23:59:14.986717Z" + } + }, "outputs": [], "source": [ "lda = LDA(store_covariance=True)\n" @@ -689,12 +1567,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "953dc6ac", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.988784Z", + "iopub.status.busy": "2023-07-25T23:59:14.988653Z", + "iopub.status.idle": "2023-07-25T23:59:14.994900Z", + "shell.execute_reply": "2023-07-25T23:59:14.994598Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
LinearDiscriminantAnalysis(store_covariance=True)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "LinearDiscriminantAnalysis(store_covariance=True)" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X_train, X_test = [M.drop(columns=['intercept'])\n", " for M in [X_train, X_test]]\n", @@ -725,12 +1623,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "8917085e", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:14.996668Z", + "iopub.status.busy": "2023-07-25T23:59:14.996540Z", + "iopub.status.idle": "2023-07-25T23:59:14.999375Z", + "shell.execute_reply": "2023-07-25T23:59:14.999083Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.04279022, 0.03389409],\n", + " [-0.03954635, -0.03132544]])" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "lda.means_\n" ] @@ -748,12 +1664,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "efb3e9bd", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.001036Z", + "iopub.status.busy": "2023-07-25T23:59:15.000898Z", + "iopub.status.idle": "2023-07-25T23:59:15.003395Z", + "shell.execute_reply": "2023-07-25T23:59:15.003049Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array(['Down', 'Up'], dtype='\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TruthDownUp
Predicted
Down3535
Up76106
\n", + "" + ], + "text/plain": [ + "Truth Down Up\n", + "Predicted \n", + "Down 35 35\n", + "Up 76 106" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "confusion_table(lda_pred, L_test)\n" ] @@ -852,12 +1891,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "da1bffa3", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.023590Z", + "iopub.status.busy": "2023-07-25T23:59:15.023466Z", + "iopub.status.idle": "2023-07-25T23:59:15.026535Z", + "shell.execute_reply": "2023-07-25T23:59:15.026265Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "lda_prob = lda.predict_proba(X_test)\n", "np.all(\n", @@ -879,12 +1935,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "3d7eae3c", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.028062Z", + "iopub.status.busy": "2023-07-25T23:59:15.027973Z", + "iopub.status.idle": "2023-07-25T23:59:15.030670Z", + "shell.execute_reply": "2023-07-25T23:59:15.030396Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.all(\n", " [lda.classes_[i] for i in np.argmax(lda_prob, 1)] == lda_pred\n", @@ -908,10 +1981,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "18fa175c", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.032274Z", + "iopub.status.busy": "2023-07-25T23:59:15.032176Z", + "iopub.status.idle": "2023-07-25T23:59:15.034568Z", + "shell.execute_reply": "2023-07-25T23:59:15.034275Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.sum(lda_prob[:,0] > 0.9)\n" ] @@ -955,10 +2046,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "id": "62499aad", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.036191Z", + "iopub.status.busy": "2023-07-25T23:59:15.036084Z", + "iopub.status.idle": "2023-07-25T23:59:15.039973Z", + "shell.execute_reply": "2023-07-25T23:59:15.039675Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
QuadraticDiscriminantAnalysis(store_covariance=True)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "QuadraticDiscriminantAnalysis(store_covariance=True)" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "qda = QDA(store_covariance=True)\n", "qda.fit(X_train, L_train)\n" @@ -974,10 +2086,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "id": "296fdd89", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.041544Z", + "iopub.status.busy": "2023-07-25T23:59:15.041451Z", + "iopub.status.idle": "2023-07-25T23:59:15.043958Z", + "shell.execute_reply": "2023-07-25T23:59:15.043703Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(array([[ 0.04279022, 0.03389409],\n", + " [-0.03954635, -0.03132544]]),\n", + " array([0.49198397, 0.50801603]))" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "qda.means_, qda.priors_\n" ] @@ -993,12 +2125,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "id": "7fbbefb0", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.046394Z", + "iopub.status.busy": "2023-07-25T23:59:15.046278Z", + "iopub.status.idle": "2023-07-25T23:59:15.048574Z", + "shell.execute_reply": "2023-07-25T23:59:15.048306Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1.50662277, -0.03924806],\n", + " [-0.03924806, 1.53559498]])" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "qda.covariance_[0]\n" ] @@ -1017,12 +2167,75 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "id": "03094dcd", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.050232Z", + "iopub.status.busy": "2023-07-25T23:59:15.050116Z", + "iopub.status.idle": "2023-07-25T23:59:15.054828Z", + "shell.execute_reply": "2023-07-25T23:59:15.054541Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TruthDownUp
Predicted
Down3020
Up81121
\n", + "
" + ], + "text/plain": [ + "Truth Down Up\n", + "Predicted \n", + "Down 30 20\n", + "Up 81 121" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "qda_pred = qda.predict(X_test)\n", "confusion_table(qda_pred, L_test)\n" @@ -1039,12 +2252,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 37, "id": "25022d1a", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.056387Z", + "iopub.status.busy": "2023-07-25T23:59:15.056275Z", + "iopub.status.idle": "2023-07-25T23:59:15.058808Z", + "shell.execute_reply": "2023-07-25T23:59:15.058523Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0.5992063492063492" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.mean(qda_pred == L_test)\n" ] @@ -1078,12 +2308,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 38, "id": "f73eb202", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.060465Z", + "iopub.status.busy": "2023-07-25T23:59:15.060340Z", + "iopub.status.idle": "2023-07-25T23:59:15.064335Z", + "shell.execute_reply": "2023-07-25T23:59:15.064056Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
GaussianNB()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "GaussianNB()" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "NB = GaussianNB()\n", "NB.fit(X_train, L_train)\n" @@ -1099,12 +2349,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 39, "id": "8e860cc3", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.065952Z", + "iopub.status.busy": "2023-07-25T23:59:15.065853Z", + "iopub.status.idle": "2023-07-25T23:59:15.068116Z", + "shell.execute_reply": "2023-07-25T23:59:15.067830Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array(['Down', 'Up'], dtype='\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TruthDownUp
Predicted
Down2920
Up82121
\n", + "" + ], + "text/plain": [ + "Truth Down Up\n", + "Predicted \n", + "Down 29 20\n", + "Up 82 121" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "nb_labels = NB.predict(X_test)\n", "confusion_table(nb_labels, L_test)\n" @@ -1243,12 +2666,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 46, "id": "f14ebe61", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.098735Z", + "iopub.status.busy": "2023-07-25T23:59:15.098605Z", + "iopub.status.idle": "2023-07-25T23:59:15.101621Z", + "shell.execute_reply": "2023-07-25T23:59:15.101333Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.4873288 , 0.5126712 ],\n", + " [0.47623584, 0.52376416],\n", + " [0.46529531, 0.53470469],\n", + " [0.47484469, 0.52515531],\n", + " [0.49020587, 0.50979413]])" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "NB.predict_proba(X_test)[:5]\n" ] @@ -1272,10 +2716,74 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 47, "id": "41a12f4a", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.103225Z", + "iopub.status.busy": "2023-07-25T23:59:15.103129Z", + "iopub.status.idle": "2023-07-25T23:59:15.112950Z", + "shell.execute_reply": "2023-07-25T23:59:15.112667Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TruthDownUp
Predicted
Down4358
Up6883
\n", + "
" + ], + "text/plain": [ + "Truth Down Up\n", + "Predicted \n", + "Down 43 58\n", + "Up 68 83" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "knn1 = KNeighborsClassifier(n_neighbors=1)\n", "knn1.fit(X_train, L_train)\n", @@ -1295,10 +2803,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 48, "id": "1dd2f3e4", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.114693Z", + "iopub.status.busy": "2023-07-25T23:59:15.114545Z", + "iopub.status.idle": "2023-07-25T23:59:15.117220Z", + "shell.execute_reply": "2023-07-25T23:59:15.116923Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.5, 0.5)" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "(83+43)/252, np.mean(knn1_pred == L_test)\n" ] @@ -1314,12 +2840,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 49, "id": "8ec72efc", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.118824Z", + "iopub.status.busy": "2023-07-25T23:59:15.118699Z", + "iopub.status.idle": "2023-07-25T23:59:15.125616Z", + "shell.execute_reply": "2023-07-25T23:59:15.125343Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0.5317460317460317" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "knn3 = KNeighborsClassifier(n_neighbors=3)\n", "knn3_pred = knn3.fit(X_train, L_train).predict(X_test)\n", @@ -1352,12 +2895,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 50, "id": "98fef4ed", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.127395Z", + "iopub.status.busy": "2023-07-25T23:59:15.127266Z", + "iopub.status.idle": "2023-07-25T23:59:15.145746Z", + "shell.execute_reply": "2023-07-25T23:59:15.145440Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "No 5474\n", + "Yes 348\n", + "Name: Purchase, dtype: int64" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Caravan = load_data('Caravan')\n", "Purchase = Caravan.Purchase\n", @@ -1377,12 +2939,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 51, "id": "1af72c0b", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.147502Z", + "iopub.status.busy": "2023-07-25T23:59:15.147373Z", + "iopub.status.idle": "2023-07-25T23:59:15.149578Z", + "shell.execute_reply": "2023-07-25T23:59:15.149324Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0.05977327378907592" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "348 / 5822\n" ] @@ -1397,9 +2976,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 52, "id": "9ea841e4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.151176Z", + "iopub.status.busy": "2023-07-25T23:59:15.151061Z", + "iopub.status.idle": "2023-07-25T23:59:15.153606Z", + "shell.execute_reply": "2023-07-25T23:59:15.153341Z" + } + }, "outputs": [], "source": [ "feature_df = Caravan.drop(columns=['Purchase'])\n" @@ -1439,9 +3025,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 53, "id": "6e26b14f", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.155200Z", + "iopub.status.busy": "2023-07-25T23:59:15.155088Z", + "iopub.status.idle": "2023-07-25T23:59:15.156876Z", + "shell.execute_reply": "2023-07-25T23:59:15.156624Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -1472,9 +3064,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 54, "id": "bd178f38", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.158484Z", + "iopub.status.busy": "2023-07-25T23:59:15.158369Z", + "iopub.status.idle": "2023-07-25T23:59:15.164862Z", + "shell.execute_reply": "2023-07-25T23:59:15.164529Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -1494,10 +3092,39 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 55, "id": "18929b37", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.166628Z", + "iopub.status.busy": "2023-07-25T23:59:15.166522Z", + "iopub.status.idle": "2023-07-25T23:59:15.172686Z", + "shell.execute_reply": "2023-07-25T23:59:15.172394Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "MOSTYPE 1.000086\n", + "MAANTHUI 1.000086\n", + "MGEMOMV 1.000086\n", + "MGEMLEEF 1.000086\n", + "MOSHOOFD 1.000086\n", + " ... \n", + "AZEILPL 1.000086\n", + "APLEZIER 1.000086\n", + "AFIETS 1.000086\n", + "AINBOED 1.000086\n", + "ABYSTAND 1.000086\n", + "Length: 85, dtype: float64" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "feature_std = pd.DataFrame(\n", " X_std,\n", @@ -1521,9 +3148,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 56, "id": "9d439d0b", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.174341Z", + "iopub.status.busy": "2023-07-25T23:59:15.174217Z", + "iopub.status.idle": "2023-07-25T23:59:15.178004Z", + "shell.execute_reply": "2023-07-25T23:59:15.177680Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -1549,12 +3182,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 57, "id": "9b8c0171", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.179661Z", + "iopub.status.busy": "2023-07-25T23:59:15.179563Z", + "iopub.status.idle": "2023-07-25T23:59:15.228740Z", + "shell.execute_reply": "2023-07-25T23:59:15.228255Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(0.111, 0.067)" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "knn1 = KNeighborsClassifier(n_neighbors=1)\n", "knn1_pred = knn1.fit(X_train, y_train).predict(X_test)\n", @@ -1585,10 +3235,74 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 58, "id": "f31b6e26", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.231007Z", + "iopub.status.busy": "2023-07-25T23:59:15.230866Z", + "iopub.status.idle": "2023-07-25T23:59:15.236660Z", + "shell.execute_reply": "2023-07-25T23:59:15.236308Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TruthNoYes
Predicted
No88058
Yes539
\n", + "
" + ], + "text/plain": [ + "Truth No Yes\n", + "Predicted \n", + "No 880 58\n", + "Yes 53 9" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "confusion_table(knn1_pred, y_test)\n" ] @@ -1606,12 +3320,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 59, "id": "4a8c37aa", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.238783Z", + "iopub.status.busy": "2023-07-25T23:59:15.238652Z", + "iopub.status.idle": "2023-07-25T23:59:15.240970Z", + "shell.execute_reply": "2023-07-25T23:59:15.240677Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0.14516129032258066" + ] + }, + "execution_count": 59, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "9/(53+9)" ] @@ -1633,12 +3364,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 60, "id": "153662f8", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.243142Z", + "iopub.status.busy": "2023-07-25T23:59:15.242998Z", + "iopub.status.idle": "2023-07-25T23:59:15.361575Z", + "shell.execute_reply": "2023-07-25T23:59:15.361121Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "K=1: # predicted to rent: 62, # who did rent 9, accuracy 14.5%\n", + "K=2: # predicted to rent: 6, # who did rent 1, accuracy 16.7%\n", + "K=3: # predicted to rent: 20, # who did rent 3, accuracy 15.0%\n", + "K=4: # predicted to rent: 4, # who did rent 0, accuracy 0.0%\n", + "K=5: # predicted to rent: 7, # who did rent 1, accuracy 14.3%\n" + ] + } + ], "source": [ "for K in range(1,6):\n", " knn = KNeighborsClassifier(n_neighbors=K)\n", @@ -1682,10 +3431,74 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 61, "id": "55b99a3f", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.363863Z", + "iopub.status.busy": "2023-07-25T23:59:15.363724Z", + "iopub.status.idle": "2023-07-25T23:59:15.977575Z", + "shell.execute_reply": "2023-07-25T23:59:15.976720Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TruthNoYes
Predicted
No93367
Yes00
\n", + "
" + ], + "text/plain": [ + "Truth No Yes\n", + "Predicted \n", + "No 933 67\n", + "Yes 0 0" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "logit = LogisticRegression(C=1e10, solver='liblinear')\n", "logit.fit(X_train, y_train)\n", @@ -1715,10 +3528,74 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 62, "id": "0c2ea9f5", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:15.985560Z", + "iopub.status.busy": "2023-07-25T23:59:15.982679Z", + "iopub.status.idle": "2023-07-25T23:59:16.003941Z", + "shell.execute_reply": "2023-07-25T23:59:16.003195Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TruthNoYes
Predicted
No91358
Yes209
\n", + "
" + ], + "text/plain": [ + "Truth No Yes\n", + "Predicted \n", + "No 913 58\n", + "Yes 20 9" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "logit_labels = np.where(logit_pred[:,1]>0.25, 'Yes', 'No')\n", "confusion_table(logit_labels, y_test)" @@ -1726,12 +3603,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 63, "id": "3a6bf0a4", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:16.008994Z", + "iopub.status.busy": "2023-07-25T23:59:16.008534Z", + "iopub.status.idle": "2023-07-25T23:59:16.016981Z", + "shell.execute_reply": "2023-07-25T23:59:16.016219Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0.3103448275862069" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "9/(20+9)\n" ] @@ -1749,9 +3643,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 64, "id": "769300df", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:16.023095Z", + "iopub.status.busy": "2023-07-25T23:59:16.022781Z", + "iopub.status.idle": "2023-07-25T23:59:16.035934Z", + "shell.execute_reply": "2023-07-25T23:59:16.035109Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -1769,10 +3669,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 65, "id": "02b351f5", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:16.041066Z", + "iopub.status.busy": "2023-07-25T23:59:16.040686Z", + "iopub.status.idle": "2023-07-25T23:59:16.052636Z", + "shell.execute_reply": "2023-07-25T23:59:16.051825Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "((8645, 15),\n", + " Index(['season', 'mnth', 'day', 'hr', 'holiday', 'weekday', 'workingday',\n", + " 'weathersit', 'temp', 'atemp', 'hum', 'windspeed', 'casual',\n", + " 'registered', 'bikers'],\n", + " dtype='object'))" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Bike.shape, Bike.columns\n" ] @@ -1789,10 +3711,378 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 66, "id": "926c908d", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:16.057570Z", + "iopub.status.busy": "2023-07-25T23:59:16.057196Z", + "iopub.status.idle": "2023-07-25T23:59:16.137767Z", + "shell.execute_reply": "2023-07-25T23:59:16.136885Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errtP>|t|
intercept-27.20686.715-4.0520.000
mnth[Aug]11.81814.6982.5150.012
mnth[Dec]5.03284.2801.1760.240
mnth[Feb]-34.57974.575-7.5580.000
mnth[Jan]-41.42494.972-8.3310.000
mnth[July]3.89965.0030.7790.436
mnth[June]26.39384.6425.6860.000
mnth[March]-24.87354.277-5.8150.000
mnth[May]31.13224.1507.5010.000
mnth[Nov]18.88514.0994.6070.000
mnth[Oct]34.40934.0068.5890.000
mnth[Sept]25.25344.2935.8830.000
hr[1]-14.57935.699-2.5580.011
hr[2]-21.57915.733-3.7640.000
hr[3]-31.14085.778-5.3890.000
hr[4]-36.90755.802-6.3610.000
hr[5]-24.13555.737-4.2070.000
hr[6]20.59975.7043.6120.000
hr[7]120.09315.69321.0950.000
hr[8]223.66195.69039.3100.000
hr[9]120.58195.69321.1820.000
hr[10]83.80135.70514.6890.000
hr[11]105.42345.72218.4240.000
hr[12]137.28375.74023.9160.000
hr[13]136.03595.76023.6170.000
hr[14]126.63615.77621.9230.000
hr[15]132.08655.78022.8520.000
hr[16]178.52065.77230.9270.000
hr[17]296.26705.74951.5370.000
hr[18]269.44095.73646.9760.000
hr[19]186.25585.71432.5960.000
hr[20]125.54925.70422.0120.000
hr[21]87.55375.69315.3780.000
hr[22]59.12265.68910.3920.000
hr[23]26.83765.6884.7190.000
workingday1.26961.7840.7110.477
temp157.209410.26115.3210.000
weathersit[cloudy/misty]-12.89031.964-6.5620.000
weathersit[heavy rain/snow]-109.744676.667-1.4310.152
weathersit[light rain/snow]-66.49442.965-22.4250.000
\n", + "
" + ], + "text/plain": [ + " coef std err t P>|t|\n", + "intercept -27.2068 6.715 -4.052 0.000\n", + "mnth[Aug] 11.8181 4.698 2.515 0.012\n", + "mnth[Dec] 5.0328 4.280 1.176 0.240\n", + "mnth[Feb] -34.5797 4.575 -7.558 0.000\n", + "mnth[Jan] -41.4249 4.972 -8.331 0.000\n", + "mnth[July] 3.8996 5.003 0.779 0.436\n", + "mnth[June] 26.3938 4.642 5.686 0.000\n", + "mnth[March] -24.8735 4.277 -5.815 0.000\n", + "mnth[May] 31.1322 4.150 7.501 0.000\n", + "mnth[Nov] 18.8851 4.099 4.607 0.000\n", + "mnth[Oct] 34.4093 4.006 8.589 0.000\n", + "mnth[Sept] 25.2534 4.293 5.883 0.000\n", + "hr[1] -14.5793 5.699 -2.558 0.011\n", + "hr[2] -21.5791 5.733 -3.764 0.000\n", + "hr[3] -31.1408 5.778 -5.389 0.000\n", + "hr[4] -36.9075 5.802 -6.361 0.000\n", + "hr[5] -24.1355 5.737 -4.207 0.000\n", + "hr[6] 20.5997 5.704 3.612 0.000\n", + "hr[7] 120.0931 5.693 21.095 0.000\n", + "hr[8] 223.6619 5.690 39.310 0.000\n", + "hr[9] 120.5819 5.693 21.182 0.000\n", + "hr[10] 83.8013 5.705 14.689 0.000\n", + "hr[11] 105.4234 5.722 18.424 0.000\n", + "hr[12] 137.2837 5.740 23.916 0.000\n", + "hr[13] 136.0359 5.760 23.617 0.000\n", + "hr[14] 126.6361 5.776 21.923 0.000\n", + "hr[15] 132.0865 5.780 22.852 0.000\n", + "hr[16] 178.5206 5.772 30.927 0.000\n", + "hr[17] 296.2670 5.749 51.537 0.000\n", + "hr[18] 269.4409 5.736 46.976 0.000\n", + "hr[19] 186.2558 5.714 32.596 0.000\n", + "hr[20] 125.5492 5.704 22.012 0.000\n", + "hr[21] 87.5537 5.693 15.378 0.000\n", + "hr[22] 59.1226 5.689 10.392 0.000\n", + "hr[23] 26.8376 5.688 4.719 0.000\n", + "workingday 1.2696 1.784 0.711 0.477\n", + "temp 157.2094 10.261 15.321 0.000\n", + "weathersit[cloudy/misty] -12.8903 1.964 -6.562 0.000\n", + "weathersit[heavy rain/snow] -109.7446 76.667 -1.431 0.152\n", + "weathersit[light rain/snow] -66.4944 2.965 -22.425 0.000" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X = MS(['mnth',\n", " 'hr',\n", @@ -1825,9 +4115,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 67, "id": "064b24d1", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:16.142403Z", + "iopub.status.busy": "2023-07-25T23:59:16.141745Z", + "iopub.status.idle": "2023-07-25T23:59:16.146332Z", + "shell.execute_reply": "2023-07-25T23:59:16.145086Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -1846,10 +4142,378 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 68, "id": "27c1aa54", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:16.150801Z", + "iopub.status.busy": "2023-07-25T23:59:16.150164Z", + "iopub.status.idle": "2023-07-25T23:59:16.223980Z", + "shell.execute_reply": "2023-07-25T23:59:16.222963Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errtP>|t|
intercept73.59745.13214.3400.000
mnth[Jan]-46.08714.085-11.2810.000
mnth[Feb]-39.24193.539-11.0880.000
mnth[March]-29.53573.155-9.3610.000
mnth[April]-4.66222.741-1.7010.089
mnth[May]26.47002.8519.2850.000
mnth[June]21.73173.4656.2720.000
mnth[July]-0.76263.908-0.1950.845
mnth[Aug]7.15603.5352.0240.043
mnth[Sept]20.59123.0466.7610.000
mnth[Oct]29.74722.70011.0190.000
mnth[Nov]14.22292.8604.9720.000
hr[0]-96.14203.955-24.3070.000
hr[1]-110.72133.966-27.9160.000
hr[2]-117.72124.016-29.3100.000
hr[3]-127.28284.081-31.1910.000
hr[4]-133.04954.117-32.3190.000
hr[5]-120.27754.037-29.7940.000
hr[6]-75.54243.992-18.9250.000
hr[7]23.95113.9696.0350.000
hr[8]127.51993.95032.2840.000
hr[9]24.43993.9366.2090.000
hr[10]-12.34073.936-3.1350.002
hr[11]9.28143.9452.3530.019
hr[12]41.14173.95710.3970.000
hr[13]39.89393.97510.0360.000
hr[14]30.49403.9917.6410.000
hr[15]35.94453.9958.9980.000
hr[16]82.37863.98820.6550.000
hr[17]200.12493.96450.4880.000
hr[18]173.29893.95643.8060.000
hr[19]90.11383.94022.8720.000
hr[20]29.40713.9367.4710.000
hr[21]-8.58833.933-2.1840.029
hr[22]-37.01943.934-9.4090.000
workingday1.26961.7840.7110.477
temp157.209410.26115.3210.000
weathersit[cloudy/misty]-12.89031.964-6.5620.000
weathersit[heavy rain/snow]-109.744676.667-1.4310.152
weathersit[light rain/snow]-66.49442.965-22.4250.000
\n", + "
" + ], + "text/plain": [ + " coef std err t P>|t|\n", + "intercept 73.5974 5.132 14.340 0.000\n", + "mnth[Jan] -46.0871 4.085 -11.281 0.000\n", + "mnth[Feb] -39.2419 3.539 -11.088 0.000\n", + "mnth[March] -29.5357 3.155 -9.361 0.000\n", + "mnth[April] -4.6622 2.741 -1.701 0.089\n", + "mnth[May] 26.4700 2.851 9.285 0.000\n", + "mnth[June] 21.7317 3.465 6.272 0.000\n", + "mnth[July] -0.7626 3.908 -0.195 0.845\n", + "mnth[Aug] 7.1560 3.535 2.024 0.043\n", + "mnth[Sept] 20.5912 3.046 6.761 0.000\n", + "mnth[Oct] 29.7472 2.700 11.019 0.000\n", + "mnth[Nov] 14.2229 2.860 4.972 0.000\n", + "hr[0] -96.1420 3.955 -24.307 0.000\n", + "hr[1] -110.7213 3.966 -27.916 0.000\n", + "hr[2] -117.7212 4.016 -29.310 0.000\n", + "hr[3] -127.2828 4.081 -31.191 0.000\n", + "hr[4] -133.0495 4.117 -32.319 0.000\n", + "hr[5] -120.2775 4.037 -29.794 0.000\n", + "hr[6] -75.5424 3.992 -18.925 0.000\n", + "hr[7] 23.9511 3.969 6.035 0.000\n", + "hr[8] 127.5199 3.950 32.284 0.000\n", + "hr[9] 24.4399 3.936 6.209 0.000\n", + "hr[10] -12.3407 3.936 -3.135 0.002\n", + "hr[11] 9.2814 3.945 2.353 0.019\n", + "hr[12] 41.1417 3.957 10.397 0.000\n", + "hr[13] 39.8939 3.975 10.036 0.000\n", + "hr[14] 30.4940 3.991 7.641 0.000\n", + "hr[15] 35.9445 3.995 8.998 0.000\n", + "hr[16] 82.3786 3.988 20.655 0.000\n", + "hr[17] 200.1249 3.964 50.488 0.000\n", + "hr[18] 173.2989 3.956 43.806 0.000\n", + "hr[19] 90.1138 3.940 22.872 0.000\n", + "hr[20] 29.4071 3.936 7.471 0.000\n", + "hr[21] -8.5883 3.933 -2.184 0.029\n", + "hr[22] -37.0194 3.934 -9.409 0.000\n", + "workingday 1.2696 1.784 0.711 0.477\n", + "temp 157.2094 10.261 15.321 0.000\n", + "weathersit[cloudy/misty] -12.8903 1.964 -6.562 0.000\n", + "weathersit[heavy rain/snow] -109.7446 76.667 -1.431 0.152\n", + "weathersit[light rain/snow] -66.4944 2.965 -22.425 0.000" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X2 = MS([mnth_encode,\n", " hr_encode,\n", @@ -1888,10 +4552,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 69, "id": "dd0114c8", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:16.228972Z", + "iopub.status.busy": "2023-07-25T23:59:16.228601Z", + "iopub.status.idle": "2023-07-25T23:59:16.238595Z", + "shell.execute_reply": "2023-07-25T23:59:16.237798Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "4.090076132857841e-19" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.sum((M_lm.fittedvalues - M2_lm.fittedvalues)**2)\n" ] @@ -1907,12 +4589,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 70, "id": "292585a1", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:16.243655Z", + "iopub.status.busy": "2023-07-25T23:59:16.243153Z", + "iopub.status.idle": "2023-07-25T23:59:16.252786Z", + "shell.execute_reply": "2023-07-25T23:59:16.252026Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.allclose(M_lm.fittedvalues, M2_lm.fittedvalues)\n" ] @@ -1933,12 +4632,40 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 71, "id": "e05e0575", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:16.257683Z", + "iopub.status.busy": "2023-07-25T23:59:16.257311Z", + "iopub.status.idle": "2023-07-25T23:59:16.267187Z", + "shell.execute_reply": "2023-07-25T23:59:16.266452Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "mnth[Jan] -46.0871\n", + "mnth[Feb] -39.2419\n", + "mnth[March] -29.5357\n", + "mnth[April] -4.6622\n", + "mnth[May] 26.4700\n", + "mnth[June] 21.7317\n", + "mnth[July] -0.7626\n", + "mnth[Aug] 7.1560\n", + "mnth[Sept] 20.5912\n", + "mnth[Oct] 29.7472\n", + "mnth[Nov] 14.2229\n", + "Name: coef, dtype: float64" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "coef_month = S2[S2.index.str.contains('mnth')]['coef']\n", "coef_month\n" @@ -1954,12 +4681,41 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 72, "id": "9f04a25e", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:16.272068Z", + "iopub.status.busy": "2023-07-25T23:59:16.271356Z", + "iopub.status.idle": "2023-07-25T23:59:16.283167Z", + "shell.execute_reply": "2023-07-25T23:59:16.282005Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "mnth[Jan] -46.0871\n", + "mnth[Feb] -39.2419\n", + "mnth[March] -29.5357\n", + "mnth[April] -4.6622\n", + "mnth[May] 26.4700\n", + "mnth[June] 21.7317\n", + "mnth[July] -0.7626\n", + "mnth[Aug] 7.1560\n", + "mnth[Sept] 20.5912\n", + "mnth[Oct] 29.7472\n", + "mnth[Nov] 14.2229\n", + "mnth[Dec] 0.3705\n", + "dtype: float64" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "months = Bike['mnth'].dtype.categories\n", "coef_month = pd.concat([\n", @@ -1982,10 +4738,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 73, "id": "20c7c054", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:16.292541Z", + "iopub.status.busy": "2023-07-25T23:59:16.292061Z", + "iopub.status.idle": "2023-07-25T23:59:16.444617Z", + "shell.execute_reply": "2023-07-25T23:59:16.443792Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsgAAALDCAYAAAAIbPa1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACQw0lEQVR4nOzdd3zTdf4H8Nc3aZI2HelugS5WmaJQVkFAZblPwYWiUOeheCrqKd4dnuN+eMopODk9WSpOOAeeyhDLKqtlj5bVTTdN2qZN0uT7+yNNbIHStE36zXg9H488rk3yTd65GvrqJ+/v+yOIoiiCiIiIiIgAADKpCyAiIiIicicMyEREREREzTAgExERERE1w4BMRERERNQMAzIRERERUTMMyEREREREzTAgExERERE1w4BMRERERNSMn9QFeAuLxYLi4mIEBwdDEASpyyEiIiKi84iiiJqaGnTv3h0yWevrxAzITlJcXIz4+HipyyAiIiKiNhQUFCAuLq7V2xmQnSQ4OBiA9f/wkJAQiashIiIiovPpdDrEx8fbc1trGJCdxNZWERISwoBMRERE5MbaaoflSXpERERERM0wIBMRERERNcOATERERETUDAMyEREREVEzDMhERERERM0wIBMRERERNcOATERERETUDAMyEREREVEzDMhERERERM0wIBMRERERNcOATERERETUDAMyEREREVEzDMhERERERM0wIBMRERERNcOATERERETUDAMyEREREVEzDMhERERERM34SV0AERERkauIoohzehPqDI0IVPkhTK2AIAhSl0VujgGZiIiIvI623oQ1mYVYuSMXeVV6+/WJ4WrMGpOE6Slx0AQoJKyQ3JnXt1h88MEHGDJkCEJCQhASEoLU1FT89NNP9tsbGhrw2GOPISIiAkFBQZg+fTpKS0slrJiIiIg6Iz2nHKkLN+GVdUeR3ywcA0B+lR6vrDuK1IWbkJ5TLlGF5O68PiDHxcXhtddeQ2ZmJvbu3YtrrrkGf/jDH3DkyBEAwFNPPYUffvgBX3/9NdLT01FcXIxp06ZJXDURERF1RHpOOdKW70a9yQwRgHje7bbr6k1mpC3fzZBMFyWIonj+fzteLzw8HG+88QZuu+02REVFYfXq1bjtttsAAMePH8eAAQOQkZGB0aNHO/yYOp0OGo0GWq0WISEhriqdiIiIWqGtNyF1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YmKiHnjgAT3zzDNat26damtr1draqo0bN4Y1OZYkw4y0Q9UxrH379lkvhlRUVKioqCjMPQIwXpz2/DttPACcgRnkKNTU1GRdp6enh7EnAMab055/p40HgDMwgxxlrl+/rszMTDU3NyshIUHt7e3yeDzh7haAceC0599p4wHgHLykFwUuXbqk1tZWtbS0aNu2bWpubpYkFRUV8csEcDinPf9OGw8AZ2IGOQps375db731VtBnc+bMkc/nU3x8fJh6BWA8OO35d9p4ADgTM8hRwjAMJSYmaubMmVq6dKmKi4vldrvD3S0A48Bpz7/TxgPAeZhBBgAAAGzYxQIAAACwIUEGAAAAbEiQAQAAABsSZAAAAMCGBBkAEBFaWlpkGIYMw9BHH30U7u4AuI2RIANAmPj9fishNAxDkyZNUldX17Dluru7lZiYGFTW7/ePfYcB4DZBggwAEeLq1as6cODAsHEHDx7UlStXxr5DoyQ1NVWGYWj16tXh7goAjAgJMgBEgMAxy1VVVcPGBmI4mhkAxgYJMgBEgEWLFkmSfD6fLly4MGTc77//rsOHD0uSXnrppXHpGwDcbkiQASACLFiwQF6vVzdu3FBNTc2QcTU1Nert7ZXX69Vzzz03jj0EgNsHCTIARICYmBitWLFCUuhlFrt375YkrVy5UjExMcPW29PTo/Lycs2bN09Tp07VHXfcIa/XqxdeeEF79uxRX1/fkGVXr14twzCUmpoqSbp8+bI2b96sjIwMxcXFafLkyXr22We1d+/eQcvPnTtXhmHot99+kyR9/PHHQS8WGoahuXPnhuy/z+dTbm6uvF6v3G63HnroIRUXF6u1tXXYsQPArSJBBoAIUVhYKEn67rvv1NTUNOD+mTNnVF9fHxQbSktLix577DG9+eab8vv9unjxov755x+1t7friy++UGFhobKzs9XR0TFsXT/99JNmz56tkpISnTlzRl1dXfrrr7907Ngxvfzyy1q7du1/HO3wNmzYoAULFujQoUNqb29XT0+PWlpa9P777+vxxx/XDz/8MOptAoBEggwAEWP27NnKyMiQNPgscuCzzMxMzZo1K2RdV69eVU5Ojn788UdJ0uLFi/XZZ5+prq5On376qbKzsyVJ33zzjXJzc3Xjxo0h6+rq6lJubq4uXbqkTZs2ye/3q66uThUVFbr//vslSWVlZfryyy+DylVWVqqhoUHTpk2T1L9muqGhIeinsrJy0DYrKipUWlqq7OxsVVdXq66uTl999ZVeeeUVSdIff/yhV199NeR3AAC3zAQAhMXRo0dNSaYks7Ky0jRN09y6daspyUxJSTH7+vqs2L6+PjMlJcWUZL733numaZpmZWWlVf7o0aNBda9fv966t2nTpgFt9/X1mQUFBVZMeXn5gJhVq1ZZ9xMTE83GxsYBMT///LPp8XhMSeaiRYsGHeeDDz5oSjJXrVoV8vv49ddfrfYkmWvWrAn6DgKKioqsmPr6+pB1AsCtYAYZACJIQUGBXC6Xzp07F3T4h9/v17lz5+RyubRy5cqQdVy/fl0ffvihJCkjI0NbtmwZEGMYhsrLyzVlyhRJ0s6dO0PWWVJSYs1u282YMUOLFy+W1D8bPVqSkpK0Y8cOGYYx4N769eut62PHjo1amwAQQIIMABEkOTlZ8+bNkxS8zCJwPX/+fCUnJ4es49SpU7p8+bKk/hfthnqZLyEhQUuXLpXUv775/Pnzg8YZhhEyKc/KypIkdXR0WO3+v/Lz8+V2uwe998gjjyg+Pl6S9Msvv4xKewBgR4IMABEmsM62trZW3d3d6u7u1v79+4PuhdLY2GhdP/HEEyFj7fft5ezuuecea6Z5MHfffbd13dnZOWz/RiI9PT3k/bvuumtU2wMAOxJkAIgwS5YsUWxsrK5cuaKDBw/qwIED6uzsVFxcnJYsWTJsefuuFPfee2/IWK/XO2g5u9jY2JB1uFz/+1US6mW//2KkbY5WewBgNyHcHQAABIuPj1deXp727t2rqqoqmaYpScrLy1NcXNx/qmuwNbwAgNCYQQaACBRYSnH48GH5fL6gz4ZjX/LQ3t4eMtZ+rLW9HADczkiQASAC5eTkKCkpSb29vert7dW0adOUk5MzorKZmZnW9bfffhsy9sSJE4OWG03MYgOINiTIABCBYmJiVFhYKLfbLbfbrcLCwqC1vqFkZWVp8uTJkvqPdx7qOOnOzk598sknkqRHH31USUlJo9L3m3k8Hkn9288BQDQgQQaACLV161Zdu3ZN165dU2lp6YjLud1uFRUVSerfmaKkpGRAjGmaWrt2rS5evChJY3JUdEAg8T579uyYtQEAo4kEGQAcaPPmzZo+fbokacuWLcrPz9fnn3+u+vp61dbWav78+dq9e7ck6cknn9Trr78+Zn156qmnJEknT55UaWmpTp8+rebmZjU3N6utrW3M2gWAW0WCDAAONGnSJB05csTaT7i2tlYvvviisrKylJ+fb53S9/TTT+vQoUNDHiYyGoqLi60XADds2KBZs2YpLS1NaWlpKigoGLN2AeBWkSADgEOlpqbq9OnT2rlzp7KzszVlyhRNnDhR9913nxYuXKiqqip9/fXXY757RXJysk6cOKHXXntNM2bMsNYkA0CkMszABpsAAAAAmEEGAAAA7EiQAQAAABsSZAAAAMCGBBkAAACwIUEGAAAAbEiQAQAAABsSZAAAAMCGBBkAAACwIUEGAAAAbEiQAQAAABsSZAAAAMCGBBkAAACwIUEGAAAAbEiQAQAAABsSZAAAAMDmX/vPz1Ghbu6YAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig_month, ax_month = subplots(figsize=(8,8))\n", "x_month = np.arange(coef_month.shape[0])\n", @@ -2006,9 +4780,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 74, "id": "3f83f4bf", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:16.449734Z", + "iopub.status.busy": "2023-07-25T23:59:16.449373Z", + "iopub.status.idle": "2023-07-25T23:59:16.458325Z", + "shell.execute_reply": "2023-07-25T23:59:16.456791Z" + } + }, "outputs": [], "source": [ "coef_hr = S2[S2.index.str.contains('hr')]['coef']\n", @@ -2028,10 +4809,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 75, "id": "86e9a741", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:16.463694Z", + "iopub.status.busy": "2023-07-25T23:59:16.463309Z", + "iopub.status.idle": "2023-07-25T23:59:16.589630Z", + "shell.execute_reply": "2023-07-25T23:59:16.589275Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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rVtZQBORReDEQiIiauH48eNoamoCAIMFtI6/vz9CQ0NbHWMus2bNgouLi1l/BhFRe7GIJiLqYmJjYyGEaPMrKirK4PH6t4KMHTvW5M/S7a+trcWNGzeU64QBw4cPN+vrExHJwSKaiIhaqKiokLZ9fHxMtu3Vq5fB48zBw8PDrK9PRCQHi2giIjLKku4/trW1VTsEIiIJi2giImqhR48e0vadO3dMti0vLzd4HADY2DQPMVqt1uRr1NTUyA2RiEh1LKKJiKiFoUOHSttnzpwx2fbs2bMAAGdnZ/Tv37/FPt0kQN1SecZcuXKlI2ESEamKRTQREbUwadIk6daJ5ORko+2+/fZbZGRktDpGJyAgAADw1VdfQQhh8DUuXryIoqIiJcImIupULKKJiKgFX19fhIeHAwD+9a9/4aOPPmrVpqGhAdHR0Xj48CEAYPny5a3aTJw4EUDzutOffvppq/337983uYQeEZElYxFNREStJCYmSqthREdHY/HixcjMzER+fj4++eQTjB07FllZWQAgPb3wUXPnzoWrqyuA5vWmN27ciDNnzuDs2bPYvn07Ro0ahcLCQowcObLzOkZEpBA+sZCIiFrp06cPsrKyMHPmTJSVlSEpKQlJSUmt2s2ePdvgmWoA8Pb2RlJSEiIjI1FXV4fY2FjExsZK+52cnJCamoojR46goKDAbH0hIjIHnokmIiKDRo4cicuXLyMuLg5jx46Fu7s77O3t4evri9mzZ+PQoUPYt28fHB0djb7Gr371K5w+fRrh4eHw9vaGvb09+vbti6ioKJw7dw4vvfRSJ/aIiEg5GmFstgcRERERERnEM9FERERERDKxiCYiIiIikolFNBERERGRTCyiiYiIiIhkYhFNRERERCQTi2giIiIiIplYRBMRERERycQimoiIiIhIJhbRREREREQysYgmIiIiIpKJRTQRERERkUwsoomIiIiIZGIRTUREREQkE4toIiIiIiKZWEQTEREREcn0f1rE64JhTM86AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig_hr, ax_hr = subplots(figsize=(8,8))\n", "x_hr = np.arange(coef_hr.shape[0])\n", @@ -2056,9 +4855,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 76, "id": "a9448278", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:16.591638Z", + "iopub.status.busy": "2023-07-25T23:59:16.591489Z", + "iopub.status.idle": "2023-07-25T23:59:16.661619Z", + "shell.execute_reply": "2023-07-25T23:59:16.660835Z" + } + }, "outputs": [], "source": [ "M_pois = sm.GLM(Y, X2, family=sm.families.Poisson()).fit()\n" @@ -2074,9 +4880,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 77, "id": "ec8505be", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:16.666429Z", + "iopub.status.busy": "2023-07-25T23:59:16.666119Z", + "iopub.status.idle": "2023-07-25T23:59:16.691878Z", + "shell.execute_reply": "2023-07-25T23:59:16.690343Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -2102,12 +4914,37 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 78, "id": "0b8a5edf", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:16.696339Z", + "iopub.status.busy": "2023-07-25T23:59:16.696023Z", + "iopub.status.idle": "2023-07-25T23:59:16.992754Z", + "shell.execute_reply": "2023-07-25T23:59:16.992369Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/16/8y65_zv174qgdp4ktlmpv12h0000gq/T/ipykernel_33380/3779905754.py:8: UserWarning: FixedFormatter should only be used together with FixedLocator\n", + " ax_hr.set_xticklabels(range(24)[::2], fontsize=20)\n" + ] + }, + { + "data": { + "image/png": "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ya6accsO6gAAT9MifQWPPvqoDMPQE088ocTERP3000+y2WySpL/85S/O4wzDkJ+fn2bPnq2pU6e2xKUBUyWeWn/zrHbhigr17vWyAADwRoxjzTH+3Pb6n893acvhbB3JLFTn6FCzI6EBUrKYwQkA8EzNnsHp8Nhjj2nr1q2aMmWK2rRpc8YnzREREbrlllu0ZcsWPfjggy11WcBUv7ans/4mAABWxTjW/dpGBGvoqfETmw1ZBy3qAABP1aIrQ5999tl66623JFUtip6WlqaKigrFxMSoe/fusttbrJ4KeIQNB1h/EwAAb8A41v0mDOigtckZWrotVb+/tKfZcdAAjgInLeoAAE/jsq3vunTpoi5durjq5QHTZeSXaO+Jql1ML2QHdQAAvAbjWPcY17+9nlyyQ7uP52nviTz1bhdudiTUI8VZ4Aw2OQkAANXxUTTQRKevvxkdxvqbAAAAjREZGqCRvas2a/psK23qnq6solIncqs2GerYmhmcAADP0uIzODdt2qSVK1dqx44dysysKgBFR0erf//+Gj16tAYNGtTSlwRMseFUgXMI7ekAAHgFxrHuN35AB638JU2fbUvVI2N6Ozd4guc5kVusSkMK9LOrTViQ2XEAAKimxQqc27dv1z333KPExMRaj/nTn/6kIUOG6PXXX9c555zTUpcGTMEGQwAAeAfGsea5vG87hQT46XBmobYdzdF5naPMjoRaOHZQbx8VLLudQjQAwLO0SIv6ypUrdeGFFyoxMdG526S/v7/atWundu3ayd/f3/n4+vXrdeGFF+qbb75piUsDpsgqKNXu43mSpAu7MYMTAACrYhxrrtBAf43u204SbeqeLjWHHdQBAJ6r2QXOkydP6sYbb1RJSYlsNpvuuusubdiwQQUFBUpNTVVqaqoKCwuVmJiou+++W35+fiopKdGNN96ojIyMlvgaALdLPFjVttazbSu1aUWLDgAAVsQ41jNMGNBBkrTs51RVVBomp0FtUrOr1t9kB3UAgCdqdoHzpZdeUk5OjgIDA/X555/rX//6ly644AL5+//a/e7n56fBgwfr9ddf1+eff66AgADl5OTopZdeau7lAbcyDEOZBaVaseu4JGlIt9YmJwIAAE3FONYzjOjdRhHB/krLK9GGAxSOPdXRLMcO6hQ4AQCep9kFzs8//1w2m0333XefrrjiinqPHzNm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nuw83iy1/d3p7++v6OhodevWTSNGjNDDDz+sxYsXq7S01LSs8B0bN27UX/7yF40ZM0adOnVSUFCQWrVqpd69e2vKlCn68ccfzY6IJnj88cc9djyFmh0+fFgzZ87U4MGDFRsbq+DgYHXu3FnDhw/XU089pR07dpgdEb9RWlqqN998U1dccYXat2/v/P/nWWedpSlTplhi7Opt0tLStGzZMj311FMaN26c2rRp4/z/4OTJkxv9el9++aWuu+4659+PnTp10nXXXacvv/yy5cPjDP5mBwA8WX5+vj799FPdeuutdR63ZMkS5ebmuilV47399tvV/vzOO+8oISHBpDT185bvO9zLau/zdevW6eabb9bhw4fPeO7kyZM6efKkNm7cqPnz56tdu3Y6fvy4CSnP9MYbb2jGjBnKyMio9nhRUZFyc3O1b98+LVq0SH379tXrr7+uiy++2KSktfvoo4/0xBNP6JxzzjE7SpNUVFQoKytLWVlZOnjwoH744QfNmTNHsbGxeuCBBzR9+nT5+zPEQ8sbMWKEfvjhhzMeLy0t1b59+7Rv3z4tWLBAd955p9544w0FBgaakBKNtXXrVr3wwgtmx0AjvPzyy5oxY4YKCgqqPX706FEdPXpUP/74o3JzczVnzhxzAuIMhw4d0lVXXaWdO3dWe7y0tFR79+7V3r17tWDBAt1///166aWXTP2A1Ze0a9euRV6nsrJS99xzj956661qj6ekpCglJUWffvqp7rrrLr3++uuy25ln6Cp8Z+F206ZN0/bt2+u8XXvttWbHVHBwsCTp3XffrfdYxzGOczxJUVGRPv74Y0lSq1atJEkffvihSkpKzIxVK2/5vsO9rPY+37t3r6644gpncXPChAl65513tH79em3evFnLly/X3/72N40ZM0YBAQEmp/3Vo48+qnvuuUcZGRny9/fX7bffrg8//FAbNmzQDz/8oDfffFOXXXaZJGnXrl0aPXq08+fiSQzD0MyZM82O0Si//btz3bp1+uKLLzRr1ixdfvnlstlsSk9P15NPPqlhw4YpPT3d7MjwQqmpqZKkDh066MEHH9THH3+sxMRErVu3Ti+88II6duwoqeoDpqbMfIH7Of5RXl5errZt25odBw3wP//zP3rggQdUUFCg3r17629/+5tWrVqlLVu2aOXKlfrb3/6mhIQEiigepKysrFpx89xz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bEePHnXe79SpU53Hdu7c2Xn/yJEjLsvkyyhwwu3mzp2rc845p9bbq6++anbEam677TbZ7XYdOXJEq1atcj6+atUqHTlypFpbrCc5vaV04sSJ1Z676aabnG2ynja7zcGq33e4l1Xf5w8//LB+97vfOf988OBB/eMf/9DNN9+s7t27Ky4uTjfffLOWLl1q+ho9J0+edN6Pi4tr9PmnL9qekZHRIplaQtu2bXXfffdJkr777jt99913JidqOTExMc77WVlZJiaBr3nxxRed69pef/31GjRokMmJ8Fs//PCD3nzzTfn7++u1115zrtkLz5aTk+Ps9ti+fbv+8Y9/qH379nrvvfeUmZmpwsJCrV692rn+39q1a6uNM2C+CRMmaNOmTbrrrru0detWTZo0SUOHDtXll1+up59+WqGhoZozZ45++OGHZm14A/fKy8tz3m/VqlWdxzo+WJek/Px8l2XyZRQ4gXp07NjRuWD+6e3SjvuXXXaZsy3WU5SXl2vRokWSpPHjx5/R4hAdHa0rr7xSUtX6hZ7YHmvF7zvcy8rvc7vdrrfeekvLly/X2LFjz9go4MSJE/rggw80YcIEXXjhhaZu1NGYgVtNTj8nNze3RTK1lMcee0zh4eGSvGstztO/56f//ABXWr16taZPny6p6gOEuXPnmpwIv1VaWqp77rlHhmHo4YcfVv/+/c2OhAYqKChw3i8uLlZoaKi+++473XbbbWrdurVCQkI0YsQIffvtt87Oif/85z/asGGDWZHxG6WlpXrnnXdq3WDmxIkTeu+995wbZ8IaHJtwStXX2a9JUFCQ875jw1G0LAqccLuZM2fKMIxab08//bTZEc/gaIVevHixioqKVFRUpI8//rjac57k66+/1okTJySd2bbr4Hj86NGjHjtzyWrfd7iXN7zPL7/8cn355ZfKyMjQF198oWeeeUbjx4+vts7lxo0bNXz4cB07dsyUjI4CoNS0T5tPP8fT1pOKiYlxboS0Zs0aff311+YGaiGnFzU97XsO77Rz505dd911Ki8vV3BwsD766CO1bdvW7Fj4jf/93//V7t271aVLF82cOdPsOGiE4ODgan++6667qm1c4xASEqK//vWvzj9/8MEHLs+G+hUUFGj06NF67rnnlJmZqT/+8Y/65ZdfVFJSopycHC1fvlwXX3yxNm7cqGuvvVYvvPCC2ZHRQKf/bpaWltZ57Olr4zrWqEfLosAJNMD111+v0NBQ5ebmasmSJfr000+Vl5ensLAwXX/99WbHO4OjHTcmJkZjx46t8Zirr75aUVFR1Y73NFb7vsO9vOV9LlUVocaNG6ennnpKn332mU6cOKF58+apdevWkqRjx46ZNsPw9M0njh8/3ujzHUVoqXrrtKf4wx/+4HyPeMs/+E9fViA6OtrEJPAFBw4c0JgxY5SVlSU/Pz/9+9//1ogRI8yOhd/YvXu3nnvuOUnSyy+/XK1VEp7v9A8bJWnMmDG1Hjtq1ChnZ8hPP/3k0lxomKefftq56d9bb72l559/Xn369FFgYKAiIiJ0+eWX67vvvtOll14qwzD02GOPVVsDHZ6rMRMBTp+J3ZSuKNSPAifQAK1atdJ1110nqapF2tEmfd1113ncADEnJ0efffaZpKr17gIDA2Wz2c64BQcHOxcf/+STT6r9D9dTWOn7Dvfypvd5TYKCgjRlyhS9//77zsc++eQTU9rszz33XOf9LVu2NOrciooK5yZQsbGx6tChQ4tmawlRUVH6wx/+IEnasGGDli1bZnKi5jv951TTDB+gpaSmpmr06NFKTU2VzWbTvHnzdM0115gdCzV48cUXVVpaqu7du6uwsFD//ve/z7idvmHNt99+63zcKn93erOgoCDFxsY6/3z6ZiW/FRwc7PxwMj093eXZUDfDMDRv3jxJUu/evTVp0qQaj/P399ezzz4rqWpTqQULFrgrIprh9I2FTt9wqCanbyxU1+8wms6//kMASFUt0QsXLtTy5curPeZpPvzww2prgTREfn6+PvnkE91xxx0uStV0Vvm+w7287X1emyuuuEKdO3fWkSNHlJWVpYyMjGr/wHGH/v37Kzo6WpmZmfr++++Vk5NTrYW+LitXrlRhYaEkafjw4a6M2SwPPfSQXnrpJWVkZGjmzJm6+uqrzY7ULCtWrHDev/jii01MAm928uRJXX755dq/f7+kqlmB/P3suRytkfv379ctt9xS7/GOQotUNUuXD5bN169fP+fGmxUVFXUe63j+t2t8w/1OnDihzMxMSdLAgQPrPPb0jdl2797t0lxoGX379nXer+9ndvrzZ599tssy+TL+jwc00KhRo9S+fXvnOngdOnTQqFGjTE51Jkcbbvv27Ru0fstjjz2mo0eP6p133vHIwo9Vvu9wL297n9elQ4cOzk98zdjt1maz6c4779ScOXNUVFSkN954Q48++miDzn355Zed9ydPnuyihM0XHh6uxx57TNOnT9fmzZv1n//8x+xITbZjxw598803kqpmBwwePNjkRPBGOTk5uuKKK7Rr1y5J0qxZs/T73//e5FSAdxsxYoSzwLl///5ai2W5ubnOpUrYkNN8pxeZy8vL6zy2rKysxvPgubp166YOHTooNTVVq1evrvPY77//XlLV72V8fLwb0vkefmuABvLz89Mdd9yhl156SZJ0xx13yG73rFUeDhw4oDVr1kiSJk6cqJtvvrnec9avX6+XXnpJ3377rVJSUjxuIGSF7zvcyxvf57UpLCx0FhAiIiJMW8PywQcf1Ny5c1VSUqJnnnlG1157rXr27FnnOf/+97/1+eefS6qaBerpsyLvu+8+vfDCC0pLS9PMmTPrnWXhiYqKinTnnXc6d2d99NFH+QcSWlxhYaGuuuoqbd68WZL05z//WY8//rjJqVCfBQsW1Nvy+vTTT+uZZ56RJH333Xe65JJLXB8MDTZx4kT95S9/kVS1Q/rEiRNrPO4///mP8+8BT+6e8BXR0dGKiIhQbm6u1q1bp/Ly8lr/bj69QNatWzd3RUQz2Gw2XXPNNZo7d652796t9evX66KLLjrjuPXr1ztncF5zzTWmTFrwBVQJgEZ4/vnnVVxcrOLiYs2aNcvsOGd45513nAOaG264oUHnOI6rrKzUe++957JszeHp33e4l9Xf5/n5+RoyZIiWLVtW55qalZWVuv/++507Yk+YMMG0wVB8fLz+9re/SarKP2rUqDoXv//www+da0wFBgbq3Xff9fiBXFhYmLNIs337dn3xxRcmJ2qcXbt26eKLL3auvzly5EhNmzbN5FTwNqWlpbruuuucHzI9+OCD+p//+R+TUwG+4dxzz9W4ceMkSe+//75ztv7pjh8/rieeeEJS1d+/U6ZMcWtGnMlut+uqq66SVLVu8em73J8uKyur2odFnv7BMH710EMPyc/PT5J0//33q6ioqNrzRUVFuv/++yVVzcx96KGH3B3RZ/CxPuBFHJvwtG3btsGf2CYkJDhbwN99911mYcDjecP7PDExUePHj1fHjh117bXXaujQoeratavCw8OVnZ2tLVu2aN68edq+fbskKTIystp6aGa4//77lZycrJdeekmHDx/W4MGDdcstt2jChAnq2rWrysrKtHv3bi1atMj5j66goCC99957Ou+880zN3lDTpk3T7NmzdezYsWo7kXuCtLS0ahuAFBQUKCsrSz///LO++eYbrVixwln4v+iii/Txxx8rICDArLjwUrfccotzTezLLrtMU6dOrfa+/K3AwED17t3bXfEArzdnzhytW7dO2dnZuvrqq/XQQw/pyiuvVEhIiBITE/Xcc885Nzp59tlnLdOx4u2eeuopLVmyRIWFhXr66ae1adMmTZo0Sd27d1dxcbHWr1+vOXPm6PDhw5KqlugaM2aMyal9w48//qikpCTnn08f/yUlJZ0x872mJZd69+6txx57TLNmzdLGjRs1bNgwPf744+rRo4eSk5P1/PPPOz+Afuyxx9SrVy+XfC2gwOk1PH1mDFxvzZo1Sk5OllS1y3hD27jtdruuu+46vfrqq9q5c6c2bdpUbYFrtAyr/o56Wm5veJ/7+/srLi5Ox48fV0pKil555RW98sortR7fq1cvvf/++x6xVs+cOXPUp08f/fnPf1ZmZqbeffddZ8H5t84++2y9/vrrlmqPCwkJ0Z/+9Cfnp+yeZO7cuZo7d26dx8TGxuqhhx7SH//4R1rT4RKffPKJ8/63336rc889t87ju3btqoMHD7o4FeA7evfuraVLl+qGG27QiRMnNGvWrDO6m2w2m/785z/rj3/8o0kp8Vt9+vTRkiVLdMstt+jkyZNaunSpli5dWuOxl112mT766CM3J/Rdb775pt5+++0an1uzZo2zY8GhtjXl//rXvyotLU3z5s3Tli1balxCa+rUqXQ9uBgt6hZWWlrqvB8aGmpiEngCx6Yrkmpdk6c2px9/+uugeaz6O+rJub3hfR4cHKyUlBStWbNGzzzzjMaNG6fu3bsrLCxMfn5+ioiIUJ8+ffRf//VfWrRokXbs2OFRHzr8v//3/5ScnKyXX35ZY8eOVefOnRUcHKxWrVqpR48euvnmm/X+++9r+/btlipuOtx9993q3Lmz2THqZLfbFRkZqS5dumj48OF66KGHtHjxYh09elR/+tOfKG4CgBe7+OKLtXPnTs2cOVMDBgxQRESEgoOD1a1bN02ZMkWbNm0yvesDZxo9erR2796t559/XpdccoliY2MVEBCgkJAQdevWTTfddJM+/fRTrVy5Uq1btzY7LhrJbrfrrbfe0ueff65rrrlGHTp0UGBgoDp06KBrrrlGX3zxhd588032knAxm+HoZ4LlfPDBB85PBt544w3dddddJicCcDqr/o5aNTcAAAAAwDdRPrawnTt3Ou/36dPHxCQAamLV31Gr5gYAAAAA+CZmcFpUSUmJ+vfvr6SkJEVEROjEiRMKDg42OxaAU6z6O2rV3AAAAAAA38UiTRaSkZGho0eP6uDBg5o9e7Zzt6+77rqLAgTgAaz6O2rV3AAAAAAASMzgtJQ5c+bo4YcfrvbYRRddpBUrVqhVq1YmpQLgYNXfUavmBgAAAABAYgan5dhsNkVGRurss8/WTTfdpGnTpikoKMjsWABOservqFVzAwAAAADADE4AAAAAAAAAlsUu6gAAAAAAAAAsiwInAAAAAAAAAMuiwAkAAAAAAADAsihwAgAAAAAAALAsCpwAgAY5ePCgbDabbDabFixYYHYcAAAAAAAkUeAEgFqtWrXKWdCz2WwKDw9XYWFhvecVFRUpMjKy2rmrVq1yfWAAAAD4pNPHrU8//XSDzpk8ebLznIMHD7o0HwC4GgVOAGig/Px8ffrpp/Uet2TJEuXm5ro+UAuJj4+XzWbT5MmTzY4CAAAAAECjUeAEgAYIDg6WJL377rv1Hus4xnEOAAAAAABwHQqcANAAEyZMkCStWLFCx48fr/W4tLQ0LV++XJJ0zTXXuCUbAAAAAAC+jAInADTAmDFjFBcXp4qKCr3//vu1Hvf++++rvLxccXFxuvzyy92YEAAAAAAA30SBEwAawM/PT7fccoukutvU33nnHUnSrbfeKj8/v3pft7S0VK+++qouvfRSxcbGKjAwUHFxcbryyiv13nvvqbKystZzHQvDx8fHS5Kys7P11FNPqV+/fgoLC1NUVJRGjBihhQsX1nj+JZdcIpvNpkOHDkmS3n777WobI9lsNl1yySV15l+xYoXGjx+vuLg4BQUFqVu3bpo2bZqOHj1a79cOAAAAz5afn69Zs2Zp6NChio6OVlBQkDp16qQbbrhBy5Ytq/Pchq7z/tsx7ekOHjzoHJcuWLBAkvTJJ5/oyiuvVIcOHeTv71/veBWAb/A3OwAAWMUdd9yhF198UVu2bNHOnTvVr1+/as/v2rVLmzdvdh67devWOl/v4MGDGjdunHbv3l3t8RMnTujLL7/Ul19+qddff11LlixRdHR0na+1Z88ejR079owdMH/44Qf98MMPWrdunf75z3827AttoBkzZmjWrFnVHjt48KBee+01LV68WKtXr9bZZ5/dotcEAACAe2zZskVXX321UlNTqz2ekpKixYsXa/Hixbr++uu1cOFCt6w9bxiG7rzzzgatiQ/A9zCDEwAaaODAgc6iZk0DK8dj/fv313nnnVfna+Xn52vUqFHO4ua1116rzz77TBs3btRHH32kkSNHSpJ+/PFHjR8/XhUVFbW+VmFhocaPH6+MjAw98cQTWrVqlTZu3Kg33nhDnTp1kiS98sor+vrrr6udN3/+fG3fvl0dOnSQVLVm6Pbt26vd5s+fX+M133jjDc2aNUsjR47UokWLtHHjRq1cuVJ33nmnJCk9PV2/+93v6vweAAAAwDOlpKRo1KhRSk1Nlc1m05QpU/T1119r48aNeueddzRgwABJVbMp65uh2VLmzJmjd999V8OHD682/rzjjjvccn0Ano0ZnADQCHfeeacef/xxLVq0SM8995xsNpukqk+UHa3gjiJfXZ555hnt379fkvTEE0/o2WefdT43aNAgTZw4UXfccYcWLlyotWvX6l//+pemTZtW42ulp6ertLRU69atqzardNCgQbrkkkt0zjnnqLi4WK+++qquuOIK5/PdunWTJAUEBEiSoqKi1L9//wZ9H9auXau7775br7/+uvN7IEmjRo1SYGCg3nzzTa1fv15btmzRwIEDG/SaAAAAaL60tDTt2LGj3uOys7Nrfe6hhx5SVlaWpKoPtqdOnep8btCgQbrppps0btw4fffdd/rggw80adIkjRs3rtnZ6/Lzzz/rzjvv1IIFC6qNPwFAYgYnADTKbbfdJrvdriNHjmjVqlXOx1etWqUjR47Ibrfr1ltvrfM1SkpK9Oabb0qS+vXrp6effvqMY2w2m1599VXFxMRIUr3t5c8+++wZLfOS1LNnT1177bWSqmaDtpT27dvr5ZdfrnFw+eijjzrv//DDDy12TQAAANRv7ty5Ouecc+q9LVmypMbzU1NT9Z///EeSNHbs2GrFTYegoCDNmzdP/v5Vc6ZaeimkmkRFRemf//wnxU0ANaLACQCN0LFjR1166aWSqrepO+5fdtll6tixY52vsWnTJucn5pMnT651M6KIiAjddNNNkqrW9zx27FiNx9lstjqLqoMGDZIkZWZm1vlJfWPccMMNCgoKqvG5s846S61atZIk5yxVAAAAWMOqVaucyyPVVNx0iI+P1+WXX37GOa4yfvx4hYeHu/QaAKyLAicANJKjBX3x4sUqKipSUVGRPv7442rP1eX0lqEhQ4bUeezpz9fWatSmTRvnTM+anL5BUV5eXr35GqJPnz51Pt+6desWvR4AAAAaZubMmTIMo97bpEmTajy/KWPVwsJCl3+wfe6557r09QFYGwVOAGik66+/XqGhocrNzdWSJUv06aefKi8vT2FhYbr++uvrPT8zM9N5v23btnUeGxcXV+N5pwsNDa3zNez2X/9X31KfrDf0mq7+JB8AAAAtq6XHqi3F8QE6ANSETYYAoJFatWql6667TgsXLtS7774rwzAkSdddd53CwsIa9VqsIQQAAABP5Ulj1dqWdQIAiRmcANAkjlb05cuXa8WKFdUeq8/pLeMnTpyo89jjx4/XeB4AAADgCi01VnV09FRWVtb5GgUFBY2NCABnoMAJAE0watQotW/fXuXl5SovL1eHDh00atSoBp3bv39/5/0NGzbUeWxiYmKN57UkT/pkHgAAAOZqylg1NDRU3bt3r/acY0OgrKysOl9j7969TYkJANVQ4ASAJvDz89Mdd9yhoKAgBQUF6Y477qi21mVdBg0apKioKEnS22+/Xeun2nl5efrwww8lSX379lX79u1bJPtvBQcHS5JKSkpc8voAAACwjksuucTZDj5v3rxajzt8+LCzk+n0cxy6desmSdq8ebNzSaff2rlzp37++eeWiA3Ax1HgBIAmev7551VcXKzi4mLNmjWrwecFBQXprrvuklS1S+Wzzz57xjGGYei+++7TyZMnJUn33Xdfy4SugaNwmpyc7LJrAAAAwBo6dOig6667TpL05Zdf6u233z7jmNLSUv3ud79TWVmZpJrHqiNHjpQkpaam6v333z/j+by8PE2dOrUlowPwYRQ4AcAETz31lLON5+mnn9YNN9ygzz//XJs3b9bixYt12WWX6Z133pEkDR06VPfcc4/LsiQkJEiSfvrpJ82aNUvbtm1TUlKSkpKSlJKS4rLrAgAAwDO9+OKLzl3Lf/e73+nuu+/WypUrtWnTJi1cuFBDhgzRN998I0m66aabNG7cuDNe4/bbb1dERIQkaerUqfrLX/6iDRs2KDExUXPnztX555+vbdu2aeDAge77wgB4LXZRBwAThIeH65tvvtG4ceO0e/duLV68WIsXLz7juGHDhumzzz5z6a6R06ZN09y5c5WZmakZM2ZoxowZzudGjhypVatWuezaAAAA8DydOnXSN998o6uvvlqpqal688039eabb55x3PXXX1/jDE9Jio2N1ZtvvqlbbrlFxcXFmjlzpmbOnOl8PiQkRO+++66WLVumLVu2uOxrAeAbmMEJACaJj4/Xtm3b9M9//lMjR45UTEyMAgIC1K5dO40dO1bvvvuuvv/+e5fvnt6xY0clJiZq6tSp6tmzp3NNTgAAAPiugQMHas+ePXruuec0ZMgQRUVFKTAwUB06dND111+vzz77TIsXL65z7HjjjTdq7dq1uu666xQbG6vAwEB17txZkyZN0k8//aQbbrjBjV8RAG9mM2pb7RcAAAAAAAAAPBwzOAEAAAAAAABYFgVOAAAAAAAAAJZFgRMAAAAAAACAZVHgBAAAAAAAAGBZFDgBAAAAAAAAWBYFTgAAAAAAAACWRYETAAAAAAAAgGVR4AQAAAAAAABgWRQ4AQAAAAAAAFgWBU4AAAAAAAAAlkWBEwAAAAAAAIBlUeAEAAAAAAAAYFkUOAEAAAAAAABYFgVOAAAAAAAAAJZFgRMAAAAAAACAZf1/ATb6p/+ekpEAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig_pois, (ax_month, ax_hr) = subplots(1, 2, figsize=(16,8))\n", "ax_month.plot(x_month, coef_month, marker='o', ms=10)\n", @@ -2134,10 +4971,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 79, "id": "d487c7ed", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:16.994758Z", + "iopub.status.busy": "2023-07-25T23:59:16.994651Z", + "iopub.status.idle": "2023-07-25T23:59:17.107603Z", + "shell.execute_reply": "2023-07-25T23:59:17.107255Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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9xcFBQUa+z/44AP1EsOGvlxcXMSVK1e0rp+TkyN69+6t97wePXqI+Ph4gyu2mXqPUlNTxcCBA416XWfOnKlxbvWqaYa+pFKp1tLYxv7Mt2/fXufy08Y8x9WrVwupVKr32q6urmLr1q06z625op2un8OaDP3+GaPminZ1PVZNda1oV1BQICIiInQ+d3P+/hDZAodPEJFNeXl54auvvsIvv/yCWbNmqRfgcHZ2hp+fH2JiYjBv3jz88MMP2Ldvn9b5o0aNQnx8PKZOnYrQ0FDIZDIEBgZi8ODB+OCDD7B//36LlylrKLlcjueffx4AkJWVhU2bNmnsnz17NpKTk7Fq1Sr0798fAQEBcHZ2hoeHB9q2bYuJEyfi/fffx+3btxEZGal1fR8fH/z6669466230KtXL3h6esLLywvdu3fHmjVrcPToUY0qEdU9fw0REhKCw4cP47vvvsNjjz2GiIgIyOVy9evTr18/LFy4EHFxcfjvf/+rcW5sbCw++OADTJkyBd27d0dISAicnZ3h6emJTp06Ye7cuUhISMCyZcs0zhs4cCAOHTqEJUuWYOjQoYiMjISXlxdkMhmCg4MxcuRIvP/++0hMTDRp6ERNS5cuRUJCAmbPno02bdrA3d0dHh4e6NChA5599llcunQJ06ZNq/d9s3eenp44evQonn32WXTo0KHOestEjYlECA4KIiJydJ999pl6qeerV6+q6zoTETkK9hQTEZF6sltgYKBVl7omIrIXDMVERE3c7du3DS5v/dFHH+GHH34AAEybNo21aInIIXH4BBFRE7dlyxYsWrQIkyZNwpAhQ9C6dWuoVCr88ccf2L59O3bt2gUACA4Oxvnz5zVW0yMichQMxURETdyWLVswc+ZMg8c0a9YM33//vcZKg0REjoShmIioicvMzMSXX36Jn376CRcuXEBGRgYKCgrg4+ODDh06YMyYMXjqqafg5eVl66YSEdkMQzEREREROTxOtCMiIiIih8dQTEREREQOj6GYiIiIiBweQzEREREROTyGYiIiIiJyeAzFREREROTwGIqJiIiIyOExFBMRERGRw2MoJiIiIiKH9/9Si6eIzDNwnQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax.scatter(M2_lm.fittedvalues,\n", @@ -2174,6 +5029,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,Rmd", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch5-resample-lab.ipynb b/docs/source/labs/Ch5-resample-lab.ipynb index b499676..86162e6 100644 --- a/docs/source/labs/Ch5-resample-lab.ipynb +++ b/docs/source/labs/Ch5-resample-lab.ipynb @@ -24,9 +24,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "60fad148", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:18.516196Z", + "iopub.status.busy": "2023-07-25T23:59:18.515741Z", + "iopub.status.idle": "2023-07-25T23:59:19.379955Z", + "shell.execute_reply": "2023-07-25T23:59:19.379486Z" + }, "lines_to_next_cell": 2 }, "outputs": [], @@ -50,9 +56,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "2478aeb4", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:19.382153Z", + "iopub.status.busy": "2023-07-25T23:59:19.381970Z", + "iopub.status.idle": "2023-07-25T23:59:19.384142Z", + "shell.execute_reply": "2023-07-25T23:59:19.383878Z" + }, "lines_to_next_cell": 2 }, "outputs": [], @@ -88,9 +100,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "99c95faf", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:19.385847Z", + "iopub.status.busy": "2023-07-25T23:59:19.385721Z", + "iopub.status.idle": "2023-07-25T23:59:19.391245Z", + "shell.execute_reply": "2023-07-25T23:59:19.390937Z" + } + }, "outputs": [], "source": [ "Auto = load_data('Auto')\n", @@ -109,9 +128,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "41b0717d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:19.393063Z", + "iopub.status.busy": "2023-07-25T23:59:19.392958Z", + "iopub.status.idle": "2023-07-25T23:59:19.396896Z", + "shell.execute_reply": "2023-07-25T23:59:19.396495Z" + } + }, "outputs": [], "source": [ "hp_mm = MS(['horsepower'])\n", @@ -132,10 +158,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "d7ea3c0d", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:19.398586Z", + "iopub.status.busy": "2023-07-25T23:59:19.398485Z", + "iopub.status.idle": "2023-07-25T23:59:19.403011Z", + "shell.execute_reply": "2023-07-25T23:59:19.402741Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "23.61661706966988" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X_valid = hp_mm.transform(Auto_valid)\n", "y_valid = Auto_valid['mpg']\n", @@ -158,9 +202,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "a02a2d05", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:19.404921Z", + "iopub.status.busy": "2023-07-25T23:59:19.404788Z", + "iopub.status.idle": "2023-07-25T23:59:19.408021Z", + "shell.execute_reply": "2023-07-25T23:59:19.407664Z" + } + }, "outputs": [], "source": [ "def evalMSE(terms,\n", @@ -194,10 +245,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "51d93dea", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:19.409619Z", + "iopub.status.busy": "2023-07-25T23:59:19.409514Z", + "iopub.status.idle": "2023-07-25T23:59:19.420772Z", + "shell.execute_reply": "2023-07-25T23:59:19.420495Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([23.61661707, 18.76303135, 18.79694163])" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "MSE = np.zeros(3)\n", "for idx, degree in enumerate(range(1, 4)):\n", @@ -220,10 +289,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "83432f06", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:19.422551Z", + "iopub.status.busy": "2023-07-25T23:59:19.422418Z", + "iopub.status.idle": "2023-07-25T23:59:19.433976Z", + "shell.execute_reply": "2023-07-25T23:59:19.433683Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([20.75540796, 16.94510676, 16.97437833])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Auto_train, Auto_valid = train_test_split(Auto,\n", " test_size=196,\n", @@ -285,12 +372,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "bcfc433f", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:19.435742Z", + "iopub.status.busy": "2023-07-25T23:59:19.435616Z", + "iopub.status.idle": "2023-07-25T23:59:20.107186Z", + "shell.execute_reply": "2023-07-25T23:59:20.106844Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "24.23151351792924" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "hp_model = sklearn_sm(sm.OLS,\n", " MS(['horsepower']))\n", @@ -336,12 +440,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "f951ffc8", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:20.109173Z", + "iopub.status.busy": "2023-07-25T23:59:20.109038Z", + "iopub.status.idle": "2023-07-25T23:59:20.813810Z", + "shell.execute_reply": "2023-07-25T23:59:20.813473Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([24.23151352, 19.24821312, 19.33498406, 19.42443033, 19.03323827])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "cv_error = np.zeros(5)\n", "H = np.array(Auto['horsepower'])\n", @@ -376,10 +497,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "e3610b5a", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:20.815663Z", + "iopub.status.busy": "2023-07-25T23:59:20.815525Z", + "iopub.status.idle": "2023-07-25T23:59:20.818253Z", + "shell.execute_reply": "2023-07-25T23:59:20.817958Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 5, 7],\n", + " [ 7, 9],\n", + " [11, 13]])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "A = np.array([3, 5, 9])\n", "B = np.array([2, 4])\n", @@ -398,12 +539,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "1627460d", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:20.819903Z", + "iopub.status.busy": "2023-07-25T23:59:20.819780Z", + "iopub.status.idle": "2023-07-25T23:59:20.842970Z", + "shell.execute_reply": "2023-07-25T23:59:20.842686Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([24.20766449, 19.18533142, 19.27626666, 19.47848403, 19.13720581])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "cv_error = np.zeros(5)\n", "cv = KFold(n_splits=10,\n", @@ -446,12 +604,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "8a636468", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:20.844695Z", + "iopub.status.busy": "2023-07-25T23:59:20.844573Z", + "iopub.status.idle": "2023-07-25T23:59:20.850336Z", + "shell.execute_reply": "2023-07-25T23:59:20.850052Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([23.61661707])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "validation = ShuffleSplit(n_splits=1,\n", " test_size=196,\n", @@ -473,10 +648,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "746aeccd", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:20.852176Z", + "iopub.status.busy": "2023-07-25T23:59:20.852041Z", + "iopub.status.idle": "2023-07-25T23:59:20.873556Z", + "shell.execute_reply": "2023-07-25T23:59:20.873271Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(23.802232661034168, 1.421845094109185)" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "validation = ShuffleSplit(n_splits=10,\n", " test_size=196,\n", @@ -529,9 +722,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "daa53d0c", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:20.875275Z", + "iopub.status.busy": "2023-07-25T23:59:20.875145Z", + "iopub.status.idle": "2023-07-25T23:59:20.878569Z", + "shell.execute_reply": "2023-07-25T23:59:20.878269Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -557,10 +756,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "578c9564", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:20.880246Z", + "iopub.status.busy": "2023-07-25T23:59:20.880127Z", + "iopub.status.idle": "2023-07-25T23:59:20.883007Z", + "shell.execute_reply": "2023-07-25T23:59:20.882752Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0.57583207459283" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "alpha_func(Portfolio, range(100))" ] @@ -578,12 +795,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "5754d6d5", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:20.884729Z", + "iopub.status.busy": "2023-07-25T23:59:20.884605Z", + "iopub.status.idle": "2023-07-25T23:59:20.887853Z", + "shell.execute_reply": "2023-07-25T23:59:20.887569Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0.6074452469619004" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "rng = np.random.default_rng(0)\n", "alpha_func(Portfolio,\n", @@ -604,9 +838,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "8320a49c", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:20.889568Z", + "iopub.status.busy": "2023-07-25T23:59:20.889470Z", + "iopub.status.idle": "2023-07-25T23:59:20.892197Z", + "shell.execute_reply": "2023-07-25T23:59:20.891914Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -643,10 +883,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "e656aa1f", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:20.894076Z", + "iopub.status.busy": "2023-07-25T23:59:20.893953Z", + "iopub.status.idle": "2023-07-25T23:59:21.209418Z", + "shell.execute_reply": "2023-07-25T23:59:21.209114Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0.09118176521277699" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "alpha_SE = boot_SE(alpha_func,\n", " Portfolio,\n", @@ -691,9 +949,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "c5d14195", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:21.211286Z", + "iopub.status.busy": "2023-07-25T23:59:21.211158Z", + "iopub.status.idle": "2023-07-25T23:59:21.213339Z", + "shell.execute_reply": "2023-07-25T23:59:21.213042Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -720,9 +984,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "7e0523f0", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:21.214975Z", + "iopub.status.busy": "2023-07-25T23:59:21.214858Z", + "iopub.status.idle": "2023-07-25T23:59:21.216686Z", + "shell.execute_reply": "2023-07-25T23:59:21.216408Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -747,12 +1017,38 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "32836e93", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:21.218240Z", + "iopub.status.busy": "2023-07-25T23:59:21.218130Z", + "iopub.status.idle": "2023-07-25T23:59:21.234117Z", + "shell.execute_reply": "2023-07-25T23:59:21.233834Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[39.88064456, -0.1567849 ],\n", + " [38.73298691, -0.14699495],\n", + " [38.31734657, -0.14442683],\n", + " [39.91446826, -0.15782234],\n", + " [39.43349349, -0.15072702],\n", + " [40.36629857, -0.15912217],\n", + " [39.62334517, -0.15449117],\n", + " [39.0580588 , -0.14952908],\n", + " [38.66688437, -0.14521037],\n", + " [39.64280792, -0.15555698]])" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "rng = np.random.default_rng(0)\n", "np.array([hp_func(Auto,\n", @@ -772,12 +1068,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "14ce3afa", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:21.235834Z", + "iopub.status.busy": "2023-07-25T23:59:21.235710Z", + "iopub.status.idle": "2023-07-25T23:59:22.536815Z", + "shell.execute_reply": "2023-07-25T23:59:22.536478Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "intercept 0.848807\n", + "horsepower 0.007352\n", + "dtype: float64" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "hp_se = boot_SE(hp_func,\n", " Auto,\n", @@ -803,12 +1118,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "6b1213ac", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:22.538715Z", + "iopub.status.busy": "2023-07-25T23:59:22.538582Z", + "iopub.status.idle": "2023-07-25T23:59:22.627465Z", + "shell.execute_reply": "2023-07-25T23:59:22.627170Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "intercept 0.717\n", + "horsepower 0.006\n", + "Name: std err, dtype: float64" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "hp_model.fit(Auto, Auto['mpg'])\n", "model_se = summarize(hp_model.results_)['std err']\n", @@ -856,10 +1190,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "af99b778", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:22.629295Z", + "iopub.status.busy": "2023-07-25T23:59:22.629160Z", + "iopub.status.idle": "2023-07-25T23:59:24.704262Z", + "shell.execute_reply": "2023-07-25T23:59:24.703883Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "intercept 2.067840\n", + "poly(horsepower, degree=2, raw=True)[0] 0.033019\n", + "poly(horsepower, degree=2, raw=True)[1] 0.000120\n", + "dtype: float64" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "quad_model = MS([poly('horsepower', 2, raw=True)])\n", "quad_func = partial(boot_OLS,\n", @@ -878,10 +1233,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "0206281e", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:24.706236Z", + "iopub.status.busy": "2023-07-25T23:59:24.706087Z", + "iopub.status.idle": "2023-07-25T23:59:24.716168Z", + "shell.execute_reply": "2023-07-25T23:59:24.715845Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "intercept 1.800\n", + "poly(horsepower, degree=2, raw=True)[0] 0.031\n", + "poly(horsepower, degree=2, raw=True)[1] 0.000\n", + "Name: std err, dtype: float64" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "M = sm.OLS(Auto['mpg'],\n", " quad_model.fit_transform(Auto))\n", @@ -894,6 +1270,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,Rmd", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch6-varselect-lab.ipynb b/docs/source/labs/Ch6-varselect-lab.ipynb index f433c1e..925821d 100644 --- a/docs/source/labs/Ch6-varselect-lab.ipynb +++ b/docs/source/labs/Ch6-varselect-lab.ipynb @@ -19,9 +19,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "564883b2", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:25.902673Z", + "iopub.status.busy": "2023-07-25T23:59:25.902240Z", + "iopub.status.idle": "2023-07-25T23:59:26.930903Z", + "shell.execute_reply": "2023-07-25T23:59:26.930443Z" + } + }, "outputs": [], "source": [ "import numpy as np\n", @@ -47,12 +54,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "9aa8d3ee", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:26.933137Z", + "iopub.status.busy": "2023-07-25T23:59:26.932936Z", + "iopub.status.idle": "2023-07-25T23:59:28.365522Z", + "shell.execute_reply": "2023-07-25T23:59:28.365174Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: l0bnb in /Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages (1.0.0)\r\n", + "Requirement already satisfied: numpy>=1.18.1 in /Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages (from l0bnb) (1.21.6)\r\n", + "Requirement already satisfied: scipy>=1.4.1 in /Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages (from l0bnb) (1.10.1)\r\n", + "Requirement already satisfied: numba>=0.53.1 in /Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages (from l0bnb) (0.57.1)\r\n", + "Requirement already satisfied: llvmlite<0.41,>=0.40.0dev0 in /Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages (from numba>=0.53.1->l0bnb) (0.40.1)\r\n", + "\u001b[33mDEPRECATION: pytorch-lightning 1.7.7 has a non-standard dependency specifier torch>=1.9.*. pip 23.3 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063\u001b[0m\u001b[33m\r\n", + "\u001b[0m" + ] + } + ], "source": [ "from sklearn.pipeline import Pipeline\n", "from sklearn.decomposition import PCA\n", @@ -93,10 +120,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "05371e33", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:28.367608Z", + "iopub.status.busy": "2023-07-25T23:59:28.367471Z", + "iopub.status.idle": "2023-07-25T23:59:28.374856Z", + "shell.execute_reply": "2023-07-25T23:59:28.374563Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "59" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Hitters = load_data('Hitters')\n", "np.isnan(Hitters['Salary']).sum()\n" @@ -114,12 +159,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "aa5bc5b8", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:28.376501Z", + "iopub.status.busy": "2023-07-25T23:59:28.376391Z", + "iopub.status.idle": "2023-07-25T23:59:28.379413Z", + "shell.execute_reply": "2023-07-25T23:59:28.379133Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(263, 20)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Hitters = Hitters.dropna();\n", "Hitters.shape\n" @@ -138,9 +200,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "10494837", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:28.381043Z", + "iopub.status.busy": "2023-07-25T23:59:28.380935Z", + "iopub.status.idle": "2023-07-25T23:59:28.383115Z", + "shell.execute_reply": "2023-07-25T23:59:28.382819Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -164,9 +232,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "b8173cef", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:28.384748Z", + "iopub.status.busy": "2023-07-25T23:59:28.384661Z", + "iopub.status.idle": "2023-07-25T23:59:28.397967Z", + "shell.execute_reply": "2023-07-25T23:59:28.397658Z" + } + }, "outputs": [], "source": [ "design = MS(Hitters.columns.drop('Salary')).fit(Hitters)\n", @@ -185,9 +260,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "0cc8d7bd", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:28.399611Z", + "iopub.status.busy": "2023-07-25T23:59:28.399511Z", + "iopub.status.idle": "2023-07-25T23:59:28.401406Z", + "shell.execute_reply": "2023-07-25T23:59:28.401144Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -217,9 +298,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "440b4c50", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:28.403063Z", + "iopub.status.busy": "2023-07-25T23:59:28.402971Z", + "iopub.status.idle": "2023-07-25T23:59:28.404782Z", + "shell.execute_reply": "2023-07-25T23:59:28.404512Z" + } + }, "outputs": [], "source": [ "strategy = Stepwise.first_peak(design,\n", @@ -241,10 +329,46 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "b33a8617", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:28.406436Z", + "iopub.status.busy": "2023-07-25T23:59:28.406315Z", + "iopub.status.idle": "2023-07-25T23:59:29.209115Z", + "shell.execute_reply": "2023-07-25T23:59:29.208717Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "('Assists',\n", + " 'AtBat',\n", + " 'CAtBat',\n", + " 'CHits',\n", + " 'CHmRun',\n", + " 'CRBI',\n", + " 'CRuns',\n", + " 'CWalks',\n", + " 'Division',\n", + " 'Errors',\n", + " 'Hits',\n", + " 'HmRun',\n", + " 'League',\n", + " 'NewLeague',\n", + " 'PutOuts',\n", + " 'RBI',\n", + " 'Runs',\n", + " 'Walks',\n", + " 'Years')" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "hitters_MSE = sklearn_selected(OLS,\n", " strategy)\n", @@ -262,10 +386,37 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "e7f554cf", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:29.211384Z", + "iopub.status.busy": "2023-07-25T23:59:29.211235Z", + "iopub.status.idle": "2023-07-25T23:59:29.694768Z", + "shell.execute_reply": "2023-07-25T23:59:29.694467Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "('Assists',\n", + " 'AtBat',\n", + " 'CAtBat',\n", + " 'CRBI',\n", + " 'CRuns',\n", + " 'CWalks',\n", + " 'Division',\n", + " 'Hits',\n", + " 'PutOuts',\n", + " 'Walks')" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "hitters_Cp = sklearn_selected(OLS,\n", " strategy,\n", @@ -301,9 +452,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "fb7091b8", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:29.696711Z", + "iopub.status.busy": "2023-07-25T23:59:29.696579Z", + "iopub.status.idle": "2023-07-25T23:59:29.698718Z", + "shell.execute_reply": "2023-07-25T23:59:29.698431Z" + } + }, "outputs": [], "source": [ "strategy = Stepwise.fixed_steps(design,\n", @@ -322,12 +480,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "56adc728", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:29.700418Z", + "iopub.status.busy": "2023-07-25T23:59:29.700293Z", + "iopub.status.idle": "2023-07-25T23:59:30.144070Z", + "shell.execute_reply": "2023-07-25T23:59:30.143731Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(263, 20)" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "full_path.fit(Hitters, Y)\n", "Yhat_in = full_path.predict(Hitters)\n", @@ -350,12 +525,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "387267d9", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:30.146111Z", + "iopub.status.busy": "2023-07-25T23:59:30.145965Z", + "iopub.status.idle": "2023-07-25T23:59:30.281524Z", + "shell.execute_reply": "2023-07-25T23:59:30.280654Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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TdXx48cVHx+vOnXq5HkhnbwQvgEAAApZamqqMjIyFB4ebl1dGyWbj4+PPD09deDAAaWmpsrb27tA2ymRUw0CAACUBAU9O4riqTC+n7wiAAAAACchfAMAAABOQvgGAABAmWCz2TR//nyX9kD4BgAAgOWBBx5Qr169XN1GqUX4BgAAAJyE8A0AAFDEjDFKTk52yXItFzPv0KGDHn/8cT311FOqWLGiQkJCNHbs2Dwfk5qaquHDhys0NFTe3t6qUaOGxo0bZ62fOHGimjRponLlyik8PFyPPvqozp49a62fNm2aAgMDtXDhQtWrV0++vr664447dO7cOU2fPl01a9ZUhQoV9PjjjztcObRmzZp6+eWX1a9fP5UrV05Vq1bV5MmT8+z10KFDuuuuuxQYGKiKFSvqtttu0/79+wv0XOUX83wDAAAUsXPnzql8+fIu2ffZs2dVrly5Aj9++vTpGjVqlNatW6fY2Fg98MADateunW699dYc6999910tWLBAs2fPVvXq1XXo0CEdOnTIWu/m5qZ3331XERER2rdvnx599FE99dRT+uCDD6yac+fO6d1339VXX32lM2fOqHfv3rr99tsVGBioxYsXa9++ferTp4/atWunvn37Wo+bMGGC/v3vf+vFF1/U0qVL9cQTT6hu3bo59pqWlqbo6GhFRUXpp59+koeHh1555RV16dJFmzdvvqarWOaF8A0AAIBcNW3aVC+88IIkqU6dOnr//fe1bNmyXMP3wYMHVadOHd14442y2WyqUaOGw/oRI0ZYX9esWVOvvPKKhgwZ4hC+09LS9OGHH+q6666TJN1xxx36/PPPdfToUZUvX14NGzbULbfcohUrVjiE73bt2unpp5+WJNWtW1e//PKL3n777Rx7nTVrljIyMvS///3Puvro1KlTFRgYqJUrV6pz584FeLaujPANAABQxHx9fR2GVjh739eiadOmDrdDQ0N17NgxSdKQIUM0Y8YMa93Zs2f1wAMP6NZbb1W9evXUpUsXde/e3SHI/vjjjxo3bpx27NihpKQkXbx4USkpKTp37pzVq6+vrxW8JSk4OFg1a9Z0+OtBcHCw1UemqKiobLcnTZqU43Ft2rRJe/bskZ+fn8P9KSkp2rt375WelgIjfAMAABQxm812TUM/XMnT09Phts1mU0ZGhiTppZde0r/+9S+H9S1btlR8fLy+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AwYMKOw+UAYQvgEAQFlXoPA9derUwu4DZQDhGwAAlHXMdgKnIXwDAICyjvANp6ldu7Yk6eTJkzpx4oSLuwEAAHA+p4bvEydO6OTJk87cJYoRX19fVatWTZK0e/duF3cDAADgfEUevo8eParBgwercuXKCgoKUpUqVVShQgU98MADOnjwYFHvHsUMQ08AAEBZVqDw/eeffyosLExhYWH68MMPc63bt2+fWrVqpU8++UQnT560phdMTEzU559/rhYtWiguLq6gvaMEInwDAICyrEDhe8mSJUpISNDJkyd111135Vp399136/Dhw9Z83uHh4YqMjJSfn5+MMTp16pT69eunixcvXtX+V69erR49eigsLEw2m03z5893WP/AAw/IZrM5LF26dHGoOXnypPr37y9/f38FBgZq0KBB2S57vnnzZt10003y9vZWeHi4xo8fn62XOXPmqH79+vL29laTJk20ePFih/XGGD3//PMKDQ2Vj4+POnXqVKaHXBC+AQBAWVag8B0bGytJuuWWW1SpUqUcaxYuXKj169fLZrOpYsWKWrJkiQ4cOKDY2FglJCRo4MCBki6FsLlz517V/pOTk9WsWTNNnjw515ouXbroyJEj1vLll186rO/fv7+2bdummJgYLVy4UKtXr9bgwYOt9UlJSercubNq1KihDRs2aMKECRo7dqw++ugjq2bNmjXq16+fBg0apN9//129evVSr169tHXrVqtm/PjxevfddzVlyhStW7dO5cqVU3R0tFJSUq7qmEsLwjcAACjTTAG0adPGuLm5mbfeeivXmrvvvtvYbDbj5uZmpk2blm19RkaGadq0qXFzczP9+vUrSBvGGGMkmXnz5jncN2DAAHPbbbfl+pjt27cbSea3336z7vv++++NzWYzf/31lzHGmA8++MBUqFDBXLhwwaoZM2aMqVevnnX7rrvuMt26dXPYdmRkpHnkkUeMMZeOMSQkxEyYMMFaf/r0aePl5WW+/PLLfB9jYmKikWQSExPz/ZjiaufOnUaS8fX1NRkZGa5uBwAAoFDkN68V6Mz3/v37JUnNmjXLtWblypWSpICAAN1zzz3Z1ttsNj344IMyxmjTpk0FaSNPK1euVFBQkOrVq6ehQ4c6TG0XGxurwMBAtW7d2rqvU6dOcnNz07p166ya9u3by263WzXR0dHauXOnTp06ZdV06tTJ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uzp27KiNGze6ukUAAFDMEL6Ba2S32/XEE09o7969Gj16tLy8vLRixQq1atVK9957rw4cOODqFgEAQDFB+AYKSWBgoMaPH6+dO3eqf//+kqQvvvhC9erV05gxY3T69GnXNggAAFyO8A0Usho1amjGjBn67bff1KFDB124cEHjx49X7dq19c477yg1NdXVLQIAABchfANFpHXr1lq+fLm+++47NWjQQCdOnNCIESPUsGFDff3113woEwCAMojwDRQhm82m7t27a/PmzZoyZYqCg4O1d+9e3XnnnbrhhhsUExNDCAcAoAwhfANO4OHhoUceeUS7d+/W888/L19fX61du1adO3fWTTfdpGXLlhHCAQAoAwjfgBP5+fnpxRdf1J49e/TEE0/Iy8tLv/zyizp16qQOHTpo5cqVrm4RAAAUIcI34AKhoaGaNGmS9u7dq+HDh8tut2v16tW65ZZbdMstt2j16tWubhEAABQBwjfgQlWrVtV7772nvXv36tFHH5XdbtfKlSt18803q2PHjvr5559d3SIAAChEhG+gGKhWrZomT56sPXv2aMiQIfL09NTy5ct10003qXPnzoqNjXV1iwAAoBAQvoFiJDw8XB9++KF2796thx9+WB4eHoqJidENN9ygLl26aN26da5uEQAAXAPCN1AM1ahRQx999JF27dqlQYMGyd3dXUuXLtX111+vbt266bfffnN1iwAAoAAI30AxFhERof/973/atWuXBg4cKHd3dy1evFht27ZVjx49tGHDBle3CAAArgLhGygBatWqpU8//VQ7duzQ/fffLzc3Ny1cuFCtW7fWbbfdpt9//93VLQIAgHwgfAMlSO3atTV9+nT98ccfuvfee+Xm5qYFCxaoZcuW6t27tzZv3uzqFgEAQB4I30AJVLduXX3++efatm2b+vXrJ5vNpnnz5qlZs2a64447tGXLFle3CAAAckD4Bkqw+vXra+bMmdq6dav69u0rm82muXPnqmnTprrrrru0bds2V7cIAACyIHwDpUDDhg311VdfafPmzbrjjjskSXPmzFGTJk3Ur18//fHHHy7uEAAASIRvoFRp3Lix5syZo02bNql3794yxuirr75So0aNdO+992rXrl2ubhEAgDKN8A2UQk2bNtXcuXP1+++/q1evXjLG6IsvvlCDBg3Uo0cPTZs2TSdPnnR1mwAAlDk2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qCRFRUXp9OnT2rBhg1q1aiVJWr58uTIyMhQZGWnVPPvss0pLS7P+FB0TE6N69epZV9yLiorSsmXLNGLECGv/MTExioqKyncvAIqOr6+vatWqpVq1auVZl5GRoRMnTuQZ0DO/TkxMVEpKivbv36/9+/fnuD2bzaaoqCj16tVLt99+u2rXrl0ERwcAKIlK5EV2zp49qz179kiSWrRooYkTJ+qWW25RxYoVVb16db3xxht6/fXXNX36dEVEROi5557T5s2btX37dnl7e0uSunbtqqNHj2rKlClKS0vTwIED1bp1a82cOVOSlJiYqHr16qlz584aM2aMtm7dqgcffFBvv/22NSXhmjVrdPPNN+v1119Xt27d9NVXX+m1117Txo0b1bhxY0nKVy9XwkV2gOLj/PnzeZ5NP3DgQLYz540aNbKCeMuWLRmyAgClUL7zmjOmXilsK1ascJhiLHMZMGCAMebSFH/PPfecCQ4ONl5eXqZjx45m586dDts4ceKE6devnylfvrzx9/c3AwcONGfOnHGo2bRpk7nxxhuNl5eXqVq1qnn99dez9TJ79mxTt25dY7fbTaNGjcyiRYsc1uenlythqkGgZDl06JCZPHmyufXWW42Hh4fDz6nw8HAzfPhws2zZMpOamurqVgEAhSS/ea1EnvkuazjzDZRcp06d0uLFizV//nx9//33Sk5OttZVqFBB3bt31+23367OnTurXLlyLuwUAHAt8pvXCN8lAOEbKB3Onz+vZcuWaf78+VqwYIGOHz9urfP29lbnzp11++23q3v37qpcubILOwUAXC3CdylC+AZKn/T0dK1Zs0bz58/XvHnzFB8fb61zc3NT+/bt1atXL912222qWbOm6xoFAOQL4bsUIXwDpZsxRlu2bLGCeFxcnMP6Fi1aqFevXurVq5eaNGnCBzYBoBgifJcihG+gbNm/f7++/fZbzZs3Tz/99JMyMjKsdbVq1bKC+A033CB3d3cXdgoAyET4LkUI30DZ9ffff2vhwoWaN2+efvjhB6WkpFjrqlSpop49e6pXr17q1KlTvqcvBQAUPsJ3KUL4BiBJycnJWrp0qebPn6+FCxfq1KlT1jpvb2/Vrl1b1113XbalRo0a1sXCAABFg/BdihC+AVwuLS1NP/30k+bNm6f58+frzz//zLXWzc1N1atXzzGYX3fddfLz83Ni5wBQ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SUxMjPz9/dWwYUOrJus2Mmsyt2G329WqVSuHmoyMDC1btsyqAQAAQNlSKsP3v/71L61atUr79+/XmjVrdPvtt8vd3V39+vVTQECABg0apFGjRmnFihXasGGDBg4cqKioKF1//fWSpM6dO6thw4a67777tGnTJi1dulT/+c9/NGzYMOuM9JAhQ7Rv3z499dRT2rFjhz744APNnj1bI0eOtPoYNWqUPv74Y02fPl1//PGHhg4dquTkZA0cONAlzwsAAABcq1QOO/nzzz/Vr18/nThxQlWqVNGNN96otWvXqkqVKpKkt99+W25uburTp48uXLig6OhoffDBB9bj3d3dtXDhQg0dOlRRUVEqV66cBgwYoJdeesmqiYiI0KJFizRy5Ei98847qlatmv73v/8pOjraqunbt6+OHz+u559/XgkJCWrevLmWLFmS7UOYxY2Xl5deeOGFbENfSqOydKxS2TpejrX0KkvHy7GWXmXpeMvSseZHqZznGwAAACiOSuWwEwAAAKA4InwDAAAATkL4BgAAAJyE8A0AAAA4CeEb2UyePFk1a9aUt7e3IiMjs11wqDQYN26c2rRpIz8/PwUFBalXr17auXOnq9tyitdff102m00jRoxwdStF5q+//tK9996rSpUqycfHR02aNNH69etd3VahS09P13PPPaeIiAj5+Pjouuuu08svv6zS8Dn61atXq0ePHgoLC5PNZtP8+fMd1htj9Pzzzys0NFQ+Pj7q1KmTdu/e7ZpmC0Fex5uWlqYxY8aoSZMmKleunMLCwnT//ffr8OHDrmv4Glzpe5vVkCFDZLPZNGnSJKf1V5jyc6x//PGHevbsqYCAAJUrV05t2rTRwYMHnd9sIbjS8Z49e1bDhw9XtWrV5OPjo4YNG2rKlCmuadaFCN9wMGvWLI0aNUovvPCCNm7cqGbNmik6OtrhgkOlwapVqzRs2DCtXbtWMTExSktLU+fOnZWcnOzq1orUb7/9pv/+979q2rSpq1spMqdOnVK7du3k6emp77//Xtu3b9dbb72lChUquLq1QvfGG2/oww8/1Pvvv68//vhDb7zxhsaPH6/33nvP1a1ds+TkZDVr1kyTJ0/Ocf348eP17rvvasqUKVq3bp3KlSun6OhopaSkOLnTwpHX8Z47d04bN27Uc889p40bN+qbb77Rzp071bNnTxd0eu2u9L3N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VnPx4kX5+fnJZrPp6aefzrZ+7dq1+s9//qMOHTooJCREdrtd/v7+atiwoYYOHart27fneSyZr+/M1/CRI0c0ZswYNWrUyNrv5bNk/Pnnnxo2bJhq1aolb29vhYWFqWfPntawn8KQnp6uadOmKTo62jqugIAA1alTRx07dtRrr73mcGyZr4MXX3zRuu/y15PNZsvx9Zienq7p06ere/fuCgsLk5eXlypVqqQbb7xREydO1Pnz53Pt8/LPguzcuVODBw9WRESEvL29FRoaqrvuuktr167N8fFff/211duOHTtyrMl8veU1a0+XLl1ks9l0/fXXO9yfn9lOdu3apccee0yNGzeWn5+f7Ha7wsLC1Lx5cz344IOaNWuW9UtyThISEvTss8+qdevWqlixory8vBQeHq677rqrUF8TKMEMAJeaOnWqkXTNS3x8/FXve/v27SYsLOyK237vvfesxwwYMOCK9TVq1Mi2rx9//NFUqlQpz8f985//NGfOnMmx18yaF154wYwdOzbXbQQEBJjVq1cX2vFerddee824ubnlum0vLy8zffr0XI8vryU/8vN6GjBggMNjli5davz9/fN8zLBhw0x6enqO+6xRo4a13Q8//NB4eHjk2Pvs2bOt23/88Ue27UybNs3hMfPmzctWs3btWmv9999/f9XH7u7ubiZPnpzr85f5+q5Ro4aJjY01lStXzraNFStWWPWrV6/O87kbO3aseeGFF67qe3i5M2fOmJtuuumKx9anT5+rei5y+rlx4MAB06xZszwfU7t2bbNz584ce7355puNJHPzzTebxYsXm3LlyuW4DTc3N/P2229ne/yxY8esmg8//DDb+v379zts54knnshWk5aWZsqXL28kmTFjxjisW7FiRY7fx0yzZ882drv9is/bli1bcjz+GTNm5HrMmcugQYNMWlpajo9H2cAHLoEy7L777tPhw4fl6emphx9+WF27dlVISIgyMjL0559/au3atZo3b57DY1599VX961//0sCBA7V+/Xq1bt1aU6dOdaix2+0Ot3/55Rd17dpVaWlpCg4O1mOPPaZmzZopLCxMhw8f1qxZszRjxgwtXrxYAwYM0Ny5c3PtedGiRVq/fr3q1aunp556Sk2bNlViYqLmzJmjjz/+WImJierevbu2bt2q8PDwaz7eq/HBBx/o3//+tySpSpUqGjNm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Ll2a42wLWZc333xT0qVglps2bdrkub+2bdtaX2cd41rUx7t161ZJUsuWLfP85Sg4ONiaSSPzMa6SuX+73a7mzZvnWRsZGSlJ2r17tzWF4eWaNm16xX3mFqwyv84MTDkFq8yv3d3dc51q8++//9a///1v1atXT35+foqIiFDjxo3VpEkTNWnSRN26dXOozU358uVVq1atXNdnfW1dzWuyIDJD7Jo1axQREaHhw4dr3rx5On78+DVtN6vM9+m5c+fk4eGR5/u0e/fu1uNye69GRESocuXKue6vSpUq1vvg8rHowcHB1ucBcvr+Z46jzuk1snHjRiUlJUm6uvHektSzZ08FBgZKkm6//Xb94x//0Ntvv60NGzZYv2jlJD09XXFxcZKk//73v1f8Off1119LyvvnHEo3wjdQjJw5c0abN2+WlPuZ7xtuuKHQ9vfll19aZ2G2b9+ul19+WR07dlRgYKDat2+vKVOmKCUl5Zr2cezYsat+TF5TmQUFBeX52ODgYOvry6eqK8rjzdzXlfqTpJCQkBz7c7bM/VesWFEeHnl//j6zZ2OMTp06lWNN1g9y5rWdevXqSXIMTZlnvvMK35k1LVq0yPECRBs2bFD9+vU1btw47dq164pXMszrdZYZwnKT9Xt3Na/Jgnjuuef04IMPymaz6dixY5o8ebJ69+6toKAgNW7cWC+88MI1T49ZkPeppFx/cc3P+yDzecnpfZAZnDO/51m/vvw1snnzZmsbmTXu7u5X/CvM5SpVqqQFCxaoatWqMsZoxYoVGjVqlDVlYO/evbVw4cJsjzt58qQuXrx4VfuScn/uUPox2wngQjVr1tSBAwdyXJfbn6p79uzpcPuFF16w5r6+WlWrVtWaNWu0bNkyffPNN1q1apW2b9+utLQ0/fTTT/rpp5/05ptvavHixQW+SmLmGaOuXbtq/PjxBdpGVvmd7zonzjjea+nPVQqrZ3d393zVdejQQTt37rSC0l9//aW9e/dawwmk/wtfmcEqMDDQ+qtQTmc0U1NTddddd+nEiRPy9PTUY489pttuu01169ZVhQoVrKEA+/bt03XXXSdJeYbz/B6LVPTfc09PT33yySd68skn9eWXX2r58uVav369UlNTtW3bNm3btk0TJ07UjBkzdNtttxVoH5nv08qVK2vFihX5flxERESO91/rc9KhQwf997//tYYn1a9fP1v4rl69umrWrKn9+/dr9erV6tWrl1XTvHnzAl0h9qabbtKePXs0d+5cLV68WKtXr9aff/6ppKQkzZs3T/PmzVN0dLS++eYb+fr6SpLDWfGHHnpITzzxRL72dfmsUCg7CN8A1LFjR3Xs2FHSpenGfvzxR3300Udavny59u7dq759++r3338v0LYrVaqkw4cPKzU1tVAuDHSlM3xZ11esWDHHmqI43ooVK+rIkSP5OgOZ+efm3Ppzlsz9nzhxQhcvXszz7HdmzzabLV9nuPNy8803OwSrDRs2SPq/4QSSVKNGDYdgFR4ersTEREk5j+Vdvny59u3bJ+nSlI9Zx9ZnVVh/bcj6HBw9ejTbtJZZXetZ6UwNGzbUyy+/rJdfflkpKSn6+eefNXPmTH322Wc6e/as+vXrp7179+Z6EaO8VKpUSdKlv741aNDgqn75yEl+jjmzJqf3weXDk/z8/LRnzx6HX9CkS6+FadOmaeXKlerZs6f1mZmrHe+dlbe3t/r372+N+Y+Pj9eiRYv03nvvadeuXVq6dKmeffZZvf3229n6N8YU2gXQUHox7ARwoR9++EFbtmyxlswPEj777LMO999+++2SLn0ALOv9W7ZscZi/uTBUqlRJffv21bJly6yz7HFxcdq9e7dDXX7PbLVo0UKSrDN11+q3337L9/r8/CeY3+O9ksx9bdy4Mc8/QR87dsz6a4er/5PO3H9qaqo1ZjU3v/76qySpTp0613zGLmswWrlyZbYzmpfXZa1xc3PLcTjBtm3brK/79u2b674zxzZfq8w51KWre00WFm9vb3Xq1EmffvqpJkyYIOnSMJrLh0Vc7fv0woULhfIcxcfH68SJE7muP378uHV1zZzeB6GhodZfn7J+/7P+giY5vkbi4uKsX9Cudrx3XjLH2f/222+qVq2apEtzemey2+3WXyozhwcCeSF8Ay5Ut25dNW7cWI0bN1a9evX0xx9/SJJ69+5t3d+4cWPt3LlT0qVP0me9v3HjxvkaW1lQmWeHpewfTvP29pakPC+zLP3fMJnExMRsF+MpiC1btuR5VvrTTz+VdGnYwNWe/crreK+kU6dOki5dvv6bb77Jte6TTz6xhjtkPsZVsu4/83nLSWxsrHXp8sLoOTQ0VHXq1JF0KTRd/mHLTFmDVWZN8+bNc7ywS9ZfeJKTk3Pcb0ZGhj7++ONra/7/u+WWW6yzw9OnT8+17rfffivyD9bm530q5f1e7dGjhxXUJ02adM09GWP02Wef5bp+2rRpV3wfZB33faXXyObNm633XW6/oF0rf39/68O1lz/PmT/nduzYUaCLY6GMcdkkhwAcxMbGGknGz8/PXLx40br/77//NjabzUgyf/31V6Ht7/fffze///57ruszMjIcLmRx+PBhh/WZF7sICgoyGRkZuW4nJSXFukhI+fLlzapVq/Ls66effjIrV67Mdr+yzJXcunVrc/bs2Ww1X3zxhVWT9VLbhXG8V5L1IjvVqlUzf/75Z7aauLg467LXxeUiO61bt7bmRf/xxx+zrT99+rRp0qSJdWGQnC4+kvXy8vn18MMPG0nWxVZsNlu2eeDj4+OtdZnze48cOTLH7c2dO9c63nHjxuVYkzk/deYyderUbDVX8/z37t3b2tasWbOyrT9z5oxp0aLFNc3zfeLECbNgwYI832MTJkywtv/ll186rJs+fbq1btu2bXnu66677rJq33rrrTxr9+3bl+OFhbLO812hQoUcLySzfft264I0oaGh5sKFCznuI+v7ObP+8jnBjfm/119mTYsWLXLtO695vpcsWZLn+/706dPWHN316tVzWJeQkGC9t0NDQ3O8GFVWCxcuLJLrDaBkIHwDxUTmRSeio6Md7s+8KEjt2rULdX9Tp061LkTx0ksvmYULF5r169eb2NhYM3PmTHPrrbda/0nddttt2R7/8ccfW+tHjBhh1q9fb3bv3m12795t9u/f71AbGxtrvLy8jHTpqnP9+/c3c+bMMevXrze//vqr+fbbb83zzz9vhbycrkCZNXhLMvXr1zdTp04169evN8uWLTNDhw41bm5u1i8w8fHxhXq8+TF58mRrG8HBwebtt98269atM7/88ot58cUXrf+cbTabWbRoUY7bcHb4/v33343dbjeSjN1uN08++aRZuXKl+e2338xHH31katWqZW3nqaeeynEbBQnfM2bMcAiljRo1ynPbmcu3336bY93Zs2dNUFCQ9Rp75JFHzJIlS8z69evNV199ZTp27GgkmXbt2hVa+I6Pj7d+KXB3dzePPvqoWb58uVm/fr359NNPTd26dR1eswUJ35m/gNSsWdOMGjXKzJo1y6xdu9asX7/efPfdd2bw4MHW675q1arZrvy6e/dua9+dO3c2q1atMrt27bLeq1mvxHjixAmH73f79u3N//73PxMbG2s2btxoYmJizJtvvmk6depk3Nzcsv2Ca8z/he/atWubgIAAExgYaMaNG2diY2NNbGysGTdunBWSpUtX683Nn3/+6fC9z+kXNGMcL4yU1y9oxuQdvgcMGGA8PT3NP//5TzNp0iTz448/mo0bN5pVq1aZyZMnW1dnlWTefvvtbNueO3eudaLE29vbDBkyxHz77bdmw4YNZu3atebrr782Tz31lPUcX+liRii9CN9AMdGtWzcjybzyyisO9z/55JNGunTJ4sKUGUavtNxwww05XgnwzJkzDv9RZ11yCi6xsbHWGfArLdOnT8/2+KxBMutV+y5f/P39czxzfq3Hm1+vvvqqFYZyWry8vHI8vkzODt/GGLN06VLrDHRuy7Bhw0x6enqOjy9I+L48WA0bNizHuqzBys3NzZw8eTLXbS5ZssR4e3vnegwdOnQwW7duLbTwbcylMJcZwHNann/++au6xPvlMsP3lZbQ0NBcr/ya9Yz25cvlv6QeOXLE3HTTTfna58CBA7PtK+uVbxcuXGj9Nejyxc3NLc8rYGaqXbu29ZjcfkG7/L09f/78XLd3pfCdn+MeMmRIru+FBQsWmIoVK15xG25ubmb58uVXPH6UToRvoBhIT083gYGBRlK2YRmZl1yfNm1aoe4zJSXFLF682IwcOdLceOONJiIiwvj6+hq73W6qVatmevbsab744otc/5Mx5tKfWp944gnToEEDh/9kcwsuKSkpZsqUKaZbt24mLCzM2O124+3tbcLDw03nzp3Nq6++muOfqY3JHiSXLFliunXrZoKDg43dbjc1a9Y0jz76qDl06FCRHW9+bdq0yTz88MPmuuuuMz4+PqZcuXKmQYMG5oknnsgWdi7nivBtzKVhM//+979N8+bNjb+/v/Hy8jLVq1c3/fv3Nz/99FOejy1I+DbGmOuuu87qMafhBMY4BqvmzZtfcZtbt2419957rwkLCzOenp6mSpUq5uabbzYfffSRSU9PdwizhRG+jTHm4MGDZujQoaZGjRrGbreb4OBg061bN7NkyRJjTP4v8Z6TjIwM8+uvv5qxY8eazp07m3r16pnAwEDj4eFhKleubNq3b28mTJhgEhMTc91GamqqGT9+vGnbtq0JCAhw+OUwt9fjwoULTf/+/U2tWrWMr6+v9VzecMMN5sknn8x1+FjW8G3MpSEmAwcOtJ6boKAg06dPH7NmzZp8Hf+gQYOu+Ata1u/plX5Byyt8nzx50syYMcM8+OCDpnXr1qZq1arGbrcbHx8fU7duXTNgwIArvheMMSYxMdG8+eab5h//+IcJDg42np6exsfHx0T8v/bu4ASBGAjD6FrKVpIUkNrSU1pJI+NJxJML4o/Iex3k9jGQmfOsMUbNOWvvfen9/Kdb1ZsrBAA/4PEZ7JO95sB39d6PtdbRWns5kAQ82XYCAAAh4hsAAELENwAAhIhvAAAIEd8AABBi2wkAAISYfAMAQIj4BgCAEPENAAAh4hsAAELENwAAhIhvAAAIEd8AABAivgEAIOQOemoJo11iD4EAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "mse_fig, ax = subplots(figsize=(8,8))\n", "insample_mse = ((Yhat_in - Y[:,None])**2).mean(0)\n", @@ -402,10 +594,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "0047ba88", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:30.285990Z", + "iopub.status.busy": "2023-07-25T23:59:30.285674Z", + "iopub.status.idle": "2023-07-25T23:59:32.494537Z", + "shell.execute_reply": "2023-07-25T23:59:32.494207Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(263, 20)" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "K = 5\n", "kfold = skm.KFold(K,\n", @@ -436,10 +646,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "27b0eb63", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:32.496480Z", + "iopub.status.busy": "2023-07-25T23:59:32.496340Z", + "iopub.status.idle": "2023-07-25T23:59:32.499706Z", + "shell.execute_reply": "2023-07-25T23:59:32.499405Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(20, 5)" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "cv_mse = []\n", "for train_idx, test_idx in kfold.split(Y):\n", @@ -460,10 +688,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "a45fe587", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:32.501370Z", + "iopub.status.busy": "2023-07-25T23:59:32.501275Z", + "iopub.status.idle": "2023-07-25T23:59:32.592962Z", + "shell.execute_reply": "2023-07-25T23:59:32.592640Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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1rdq1Up79uzRN998o++//1733HOPYmNj9fnnn2vv3r26/fbb9fjjj+sf//iHKlasqB9//FGDBg1SVlaWI3zntc/L1VEQ6enpat26tT7++OOL1lWpUqXA2y3pCN8AAADFVGhoqEJDQy9qDwoK0r333qt7771Xd911l7p06aJjx44pKSlJubm5eu211xy3Qp89e3ah1bNq1aqLnjdq1CjPvq1atdJnn32m0NBQBQUFFVoNJR2znQAAAJQgkyZN0ieffKKtW7dq+/btmjNnjsLCwhQSEqJ69eopOztbb731lnbv3q0PP/xQ06ZNK7R9//TTT5owYYK2b9+uKVOmaM6cOXryySfz7Nu3b19VrlxZd9xxh3744Qft2bNHy5Yt0xNPPKHff/+90GoqaQjfAAAAJUhgYKAmTJigNm3aqG3bttq7d6++/vpreXh4qHnz5po0aZJeeeUVXXfddfr444+dpiG8Vn/729/0yy+/qGXLlnr55Zc1adIkxcXF5dm3XLlyWrFihWrUqKGePXuqUaNGGjRokE6fPl2mz4TbTEEnpoTLpKWlKTg4WKmpqWX6lxUAALvTp09rz549ql27tvz8/NxdTplQq1YtDR8+3Gk2lbLmcr93+c1rnPkGAAAAXITwDQAAALgIs50AAADgisr6beELC2e+AQAAABchfAMAAAAuQvgGAAAAXITwDQAAALgI4RsAAJRtGRmSzWYtGRnurgalHOEbAAAAcBHCNwAAAIrEjBkzFBIS4ng+ZswYtWjR4rKveeCBB9SjR48iretS9u7dK5vNpnXr1hXZPgjfAAAAbpCcnKxhw4apTp068vX1VWRkpLp166bFixe7u7Qi89RTTxX68bkiMBcmbrIDAADgYnv37lX79u0VEhKiiRMnqmnTpsrOztZ3332nIUOGaOvWrRe9Jjs7W97e3m6otvCUL19e5cuXd3cZbsWZbwAAUDoYY10wWZDFrqCvN+aqSh08eLBsNpvWrFmjXr16KSoqSk2aNFF8fLxWrVolSbLZbJo6daq6d++ugIAA/eMf/5AkTZ06VXXr1pWPj48aNGigDz/88Ly3wGjMmDGqUaOGfH19FRERoSeeeMKx/p133lH9+vXl5+enqlWr6q677sqzvtzcXFWvXl1Tp051av/111/l4eGhffv2SZImTZqkpk2bKiAgQJGRkRo8eLDS09MvedwXDjvJyclRfHy8QkJCVKlSJT399NMyF7yX3377rW688UZHn9tvv127du1yrK9du7YkqWXLlrLZbLrlllsc6/7973+rUaNG8vPzU8OGDfXOO+84bXvNmjVq2bKl/Pz81KZNG/3666+XrL3QGBR7qampRpJJTU11dykAABQLmZmZ5rfffjOZmZnnGtPTjbFisOuX9PR813706FFjs9nMP//5z8v2k2RCQ0PN+++/b3bt2mX27dtnvvjiC+Pt7W2mTJlitm3bZl577TXj6elplixZYowxZs6cOSYoKMh8/fXXZt++fWb16tXm3XffNcYY8/PPPxtPT08za9Yss3fvXrN27VrzxhtvXHL/Tz31lLnxxhud2v72t785tb3++utmyZIlZs+ePWbx4sWmQYMG5vHHH3esnz59ugkODnY8f+GFF0zz5s0dz1955RVToUIFM3fuXPPbb7+ZQYMGmcDAQHPHHXc4+nz++edm7ty5ZseOHebXX3813bp1M02bNjU5OTnGGGPWrFljJJnvv//eHDp0yBw9etQYY8xHH31kwsPDzdy5c83u3bvN3LlzTcWKFc2MGTOMMcacPHnSVKlSxdx3331m06ZN5quvvjJ16tQxksyvv/6a53uS5+/d/+Q3rxG+SwDCNwAAzkpy+F69erWRZL744ovL9pNkhg8f7tR2ww03mIcfftip7e677zZ//etfjTHGvPbaayYqKspkZWVdtL25c+eaoKAgk5aWlq86f/31V2Oz2cy+ffuMMcbk5OSYatWqmalTp17yNXPmzDGVKlVyPL9S+A4PDzcTJkxwPM/OzjbVq1d3Ct8XOnLkiJFkNm7caIwxZs+ePXkG5rp165pZs2Y5tb300ksmJibGGGPMv/71L1OpUiWn36GpU6cWefhm2AkAACgdypWT0tOvfklJObeNlJSCbaNcuXyXaa5iiEqbNm2cnm/ZskXt27d3amvfvr22bNkiSbr77ruVmZmpOnXq6OGHH9a8efN09uxZSdKtt96qmjVrqk6dOurXr58+/vhjnTp1SpL08ccfO8Zjly9fXj/88INatGihRo0aadasWZKk5cuX6/Dhw7r77rsd+/7+++/VqVMnVatWTYGBgerXr5+OHj3q2O7lpKam6tChQ4qOjna0eXl5XXTMO3bsUJ8+fVSnTh0FBQWpVq1akqT9+/dfctsZGRnatWuXBg0a5HRcL7/8smPIypYtW9SsWTP5+fk5XhcTE3PFuq8V4RsAAJQONpsUEFCwxa6gr7fZ8l1m/fr1ZbPZ8ryo8kIB59eWD5GRkdq2bZveeecd+fv7a/DgwerQoYOys7MVGBiotWvX6pNPPlF4eLief/55NW/eXCdOnFD37t21bt06x2IPwH379nWE71mzZqlLly6qVKmSJOui0dtvv13NmjXT3LlzlZSUpClTpkiSsrKyrqruy+nWrZuOHTum9957T6tXr9bq1auvuA/7uPP33nvP6bg2bdrkGFPvLoRvAAAAF6pYsaLi4uI0ZcoUZeRxR80TJ05c8rWNGjXSTz/95NT2008/qXHjxo7n/v7+6tatm958800tW7ZMiYmJ2rhxoyTrzHJsbKwmTJigDRs2aO/evVqyZIkCAwNVr149x+Lv7y9Juu+++7Rp0yYlJSXp888/V9++fR37SUpKUm5url577TVdf/31ioqK0sGDB/P9PgQHBys8PNwRpiXp7NmzSkpKcjw/evSotm3bpmeffVadOnVSo0aNdPz4caft+Pj4SLIu3rSrWrWqIiIitHv3bqfjqlevnuMCzUaNGmnDhg06ffq043WuCOZMNQgAAOBiU6ZMUfv27dWuXTu9+OKLatasmc6ePauEhARNnTrVMYzkQiNHjtQ999yjli1bKjY2Vl999ZW++OILff/995Ksm9rk5OQoOjpa5cqV00cffSR/f3/VrFlTCxcu1O7du9WhQwdVqFBBX3/9tXJzc9WgQYNL1lmrVi3dcMMNGjRokHJyctS9e3fHunr16ik7O1tvvfWWunXrpp9++knTpk27qvfhySef1Pjx41W/fn01bNhQkyZNcvrwUaFCBVWqVEnvvvuuwsPDtX//fj3zzDNO2wgNDZW/v7++/fZbVa9eXX5+fgoODtbYsWP1xBNPKDg4WF26dNGZM2f0yy+/6Pjx44qPj9d9992nv//973r44Yc1evRo7d27V6+++upV1V8glx0RjmKBCy4BAHB2uQvfrtr5F2pexYWT1+rgwYNmyJAhpmbNmsbHx8dUq1bNdO/e3SxdutQYY11wOW/evIte984775g6deoYb29vExUVZT744APHunnz5pno6GgTFBRkAgICzPXXX2++//57Y4wxP/zwg7n55ptNhQoVjL+/v2nWrJn57LPPrljnO++8YySZ/v37X7Ru0qRJJjw83Pj7+5u4uDjzwQcfGEnm+PHjxpgrX3CZnZ1tnnzySRMUFGRCQkJMfHy86d+/v9MFlwkJCaZRo0bG19fXNGvWzCxbtuyi9+a9994zkZGRxsPDw9x8882O9o8//ti0aNHC+Pj4mAoVKpgOHTo4XeiamJhomjdvbnx8fEyLFi3M3Llzi/yCS5sxVzkxJVwuLS1NwcHBSk1NVVBQkLvLAQDA7U6fPq09e/aodu3aThfMFUhGhmS/8Ut6uvMYcOA8l/u9y29eY9gJAAAo2wICrvomOUBBccElAAAA4CKEbwAAAMBFCN8AAACAixC+AQBAicW8EXClwvh9I3wDAIASx9vbW5LydRtzoLDYf9/sv38FwWwnAACgxPH09FRISIgOHz4sSSpXrpxsV3GLd+BqGGN06tQpHT58WCEhIfL09CzwtgjfAACgRAoLC5MkRwAHilpISIjj966gCN8AAKBEstlsCg8PV2hoqLKzs91dDko5b2/vazrjbUf4BgAAJZqnp2ehhCLAFbjgEgAAAHARwjcAAADgIoRvAAAAwEUI3wAAAICLEL4BAAAAFyF8AwAAAC5C+AYAAABchPANAAAAuAjhGwAAAHARwjcAAADgIoRvAAAAwEUI3wAAAICLEL4BAAAAFyF8AwAAAC5C+AYAAABchPANAAAAuAjhGwAAAHCREhm+x40bp7Zt2yowMFChoaHq0aOHtm3b5lh/7NgxDRs2TA0aNJC/v79q1KihJ554QqmpqU7bsdlsFy2ffvqpU59ly5apVatW8vX1Vb169TRjxoyL6pkyZYpq1aolPz8/RUdHa82aNU7rT58+rSFDhqhSpUoqX768evXqpZSUlMJ7QwpTRoZks1lLRoa7qwEAAChVSmT4Xr58uYYMGaJVq1YpISFB2dnZ6ty5szL+FxYPHjyogwcP6tVXX9WmTZs0Y8YMffvttxo0aNBF25o+fboOHTrkWHr06OFYt2fPHnXt2lUdO3bUunXrNHz4cD300EP67rvvHH0+++wzxcfH64UXXtDatWvVvHlzxcXF6fDhw44+I0aM0FdffaU5c+Zo+fLlOnjwoHr27Fl0bxAAAACKJZsxxri7iGt15MgRhYaGavny5erQoUOefebMmaP7779fGRkZ8vLykmSd+Z43b55T4D7fqFGjtGjRIm3atMnR1rt3b504cULffvutJCk6Olpt27bV22+/LUnKzc1VZGSkhg0bpmeeeUapqamqUqWKZs2apbvuukuStHXrVjVq1EiJiYm6/vrrr3h8aWlpCg4OVmpqqoKCgvL9vhRIRoZUvrz1OD1dCggo2v0BAACUAvnNayXyzPeF7MNJKlaseNk+QUFBjuBtN2TIEFWuXFnt2rXT+++/r/M/iyQmJio2Ntapf1xcnBITEyVJWVlZSkpKcurj4eGh2NhYR5+kpCRlZ2c79WnYsKFq1Kjh6HOhM2fOKC0tzWkBAABAyed15S7FW25uroYPH6727dvruuuuy7PPn3/+qZdeekmPPPKIU/uLL76ov/zlLypXrpz++9//avDgwUpPT9cTTzwhSUpOTlbVqlWdXlO1alWlpaUpMzNTx48fV05OTp59tm7d6tiGj4+PQkJCLuqTnJycZ73jxo3T2LFj8/0eAAAAoGQo8eF7yJAh2rRpk3788cc816elpalr165q3LixxowZ47Tuueeeczxu2bKlMjIyNHHiREf4dpfRo0crPj7e8TwtLU2RkZFurAgAAACFoUQPOxk6dKgWLlyopUuXqnr16hetP3nypLp06aLAwEDNmzdP3t7el91edHS0fv/9d505c0aSFBYWdtGsJCkpKQoKCpK/v78qV64sT0/PPPuEhYU5tpGVlaUTJ05css+FfH19FRQU5LQAAACg5CuR4dsYo6FDh2revHlasmSJateufVGftLQ0de7cWT4+PlqwYIH8/PyuuN1169apQoUK8vX1lSTFxMRo8eLFTn0SEhIUExMjSfLx8VHr1q2d+uTm5mrx4sWOPq1bt5a3t7dTn23btmn//v2OPgAAACgbSuSwkyFDhmjWrFn68ssvFRgY6Bg7HRwcLH9/f0fwPnXqlD766COnixarVKkiT09PffXVV0pJSdH1118vPz8/JSQk6J///Keeeuopx34ee+wxvf3223r66af14IMPasmSJZo9e7YWLVrk6BMfH68BAwaoTZs2ateunSZPnqyMjAwNHDjQUdOgQYMUHx+vihUrKigoSMOGDVNMTEy+ZjoBAABAKWJKIEl5LtOnTzfGGLN06dJL9tmzZ48xxphvvvnGtGjRwpQvX94EBASY5s2bm2nTppmcnBynfS1dutS0aNHC+Pj4mDp16jj2cb633nrL1KhRw/j4+Jh27dqZVatWOa3PzMw0gwcPNhUq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q5HwDQAAyqACnflu0aKFWrVqpZ07d+a5fu/evfrLX/6iTp06XXY7hw4d0vDhwxUfH1+QMlBCcOYbAADAUqAz35JkjLnkuoyMDC1btkw2m+2at4WSzx6+9+zZo6x69eQjSTt3SmfOSL6+VqeMDKl8eetxeroUEOCWWgEAAIoSY75R5MLDwxUQEKCcnBztycyUQkKk3Fxp+3Z3lwYAAOBShG8UOZvNdm7Gk507GXoCAADKLMI3XIJx3wAAAIRvuAjhGwAAgPANFyF8AwAAEL7hInmG7+3bpexsN1YFAADgWoRvuIT9gss//vhD6SEh1rSCZ89aUw4CAACUEQWe51uybpJT3j4383kOHjzoeHzgwIFLzuN9fj+UbhUrVlSlSpV09OhR7dy1Sy0aN5bWrLGGnjRq5O7yAAAAXOKawnfnzp0vuc5+g51atWpdyy5QikRFRSkxMVE7duxwDt+9erm7NAAAAJco8LATY0yhLCg7uOgSAACUdQU68z1gwIDCrgNlgFP4vuceq5HwDQAAypAChe/p06cXdh0oA/I8871tm3XhJQAAQBnAbCdwGafwXbOm5O8vnTkj7dnj5soAAABcg/ANl6lXr54k6dixYzp6/Pi5WU4YegIAAMoIl4bvo0eP6tixY67cJYqRcuXKqXr16pKkHTt2cNElAAAoc4o8fKekpOiRRx5R5cqVFRoaqipVqqhChQp64IEHtH///qLePYoZZjwBAABlWYHC9++//66IiAhFRERo6tSpl+y3e/dutW7dWv/5z3907Ngxx/SCqamp+vDDD9WyZUutW7euoLWjBCJ8AwCAsqxA4fvbb79VcnKyjh07pnvsU8bloXfv3jp48KBjPu/IyEhFR0crMDBQxhgdP35cffr00dmrnO1ixYoV6tatmyIiImSz2TR//nyn9Q888IBsNpvT0qVLF6c+x44dU9++fRUUFKSQkBANGjRI6enpTn02bNigm266SX5+foqMjNSECRMuqmXOnDlq2LCh/Pz81LRpU3399ddO640xev755xUeHi5/f3/FxsZaQy7KqDzD95YtUm6uG6sCAABwjQKF78TERElSx44dValSpTz7LFy4UL/88otsNpsqVqyob7/9Vvv27VNiYqKSk5M1cOBASVYImzt37lXtPyMjQ82bN9eUKVMu2adLly46dOiQY/nkk0+c1vft21ebN29W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k2tRvrzUqZO1SNZ48Y0brTBuXw4elNassZbXX7f61avnHMYbNrS+VQEAFArCN0q8J554QpMmTdKPP/6oxMRExcTEuLsk9+vZUxo5Upo4URo40BrrW6OGu6sq3X79VbrvvnPPf/nF+mmzWUND8grZERGuC7ZeXlLLltYybJj1AXDfPuusuP3s+KZN0s6d1jJzpvW6SpWsoSr2MN6mjeTr65qai4OsLOvDid3KlVJsLB9IABQY4RslXkREhPr166f3339fEydO1BdffOHukoqHf/5T+vlnadkyK4wvXeruikqnnBzrQ87zzztfDPnhh1KLFtaZZD8/t5V3SfYPBbVqSX37Wm0nTljDU+xhfPVqa/z5V19Zi2QF7zZtpOhoNxVexA4ftt6DlSut5eefpTNnzq3v3Nk6/uHDpbvvlnx83FYqgJKpRF6dtmLFCnXr1k0RERGy2WyaP3++Y112drZGjRqlpk2bKiAgQBEREerfv78OHjzotI1atWrJZrM5LePHj3fqs2HDBt10003y8/NTZGSkJkyYcFEtc+bMUcOGDeXn56emTZvq66+/dlpvjNHzzz+v8PBw+fv7KzY2Vjt27Ci8NwOS5Jh2cP78+drObdYtXl7Sp59K1apZY40HD3Z3RaXP3r1Sx47W2PrsbOn8YU933ildd13xDN6XEhIi3Xab9I9/WB/aUlOtGXRefdU6ntBQK4j+9JM0adK519Wta4XSp56yzpj/+qtUEqb/zM21zva/+670wAPWhaxVq0o9elh3j/3xR+t4K1U69xo/P+tbjfvvl2rXtj7k/vmnu44AQElkSqCvv/7a/P3vfzdffPGFkWTmzZvnWHfixAkTGxtrPvvsM7N161aTmJho2rVrZ1q3bu20jZo1a5oXX3zRHDp0yLGkp6c71qemppqqVauavn37mk2bNplPPvnE+Pv7m3/961+OPj/99JPx9PQ0EyZMML/99pt59tlnjbe3t9m4caOjz/jx401wcLCZP3++Wb9+venevbupXbu2yczMzPfxpqamGkkmNTW1AO9W2XH77bcbSebRRx/N3wvS042xvny3HpdWK1ca4+197lhdebzueo+Ler+5ucbMmGFMYKC1j/LljZk+3ZiTJ0v3e5yba8z27daxDhjg/Dt14eLpaUzDhsbcc48xL71kzJdfGrN7tzE5OddWw7Ucb1qaMd9/b8yL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4OPjo+HDh0uSXn31VeXm5rq3IBQeT09rppJPPrGGpUyZIrVqdW79sGFW8LbfSAMAADcifKPMeOSRRxQYGKjffvst7zteouSrUEEaPFhaseJc27hxkp+f+2oCAOA8hG+UGcHBwXr00UclSRPtUzwBAAC4EOEbZcqTTz4pLy8vLV++XGvWrHF3OQAAoIwhfKNMqV69uvr27SuJs98AAMD1CN8oc+zTDn7xxRfatWuXm6sBAABlCeEbZc51112n2267Tbm5uZo0aZK7ywEAAGUI4Rtlkv2W89OnT9eff/7p5moAAEBZQfhGmXTLLbeodevWyszM1JTz74YIAABQhAjfKJNsNpuefvppSdJbb72lU6dOubkiAABQFhC+UWb17NlTtWvX1tGjRxUbG6vExER3lwQAAEo5wjfKLC8vL73xxhsqV66cEhMTdcMNN+juu+/Wzp073V0aAAAopQjfKNO6deumHTt26KGHHpKHh4c+//xzNW7cWE8++SQXYgKwBARIxlhLQIC7qwFQwhG+UeZFRETovffe0/r163XbbbcpOztbb775purVq6dXXnlFmZmZ7i6xcBAgSif+XQGgRCF8A/9z3XXX6euvv9b333+vFi1aKDU1Vc8884waNGigjz76SLm5ue4useQhGAIA4ITwDVygU6dOSkpK0syZM1W9enUdOHBA/fr1U9u2bbVkyRJ3lwcApQ8f1FGGEL6BPHh4eKh///7avn27xo0bp6CgIK1du1adOnVS165dtXnzZneXCABFgyAMFCnCN3AZ/v7+euaZZ7Rz504NHTpUXl5e+vrrr9WsWTM98sgjOnTokLtLBNzDXQGNYAggP4rx3wrCN5APVapU0VtvvaXNmzerZ8+eys3N1Xvvvaf69etrzJgxSk9Pd3eJAICSwh3BkA/MxQbhG7gKUVFRmjt3rn788Uddf/31ysjI0NixY1W/fn299957Onv2rLtLhDvxPxmgZOG/WbgB4RsogPbt22vlypWaPXu26tSpo+TkZD3yyCNq3ry5Fi1aJGOMu0sEAADFEOEbKCCbzaa7775bW7Zs0eTJk1WxYkX99ttvuv3229WpUyetXbvW3SUCKMk4KwuUSoRv4Br5+PjoySef1K5duzRy5Ej5+vpq6dKlat26te6//37t27fP3SUCAIBigvANFJKQkBBNmDBB27ZtU9++fSVJH3/8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fAMAAAAuQvgGAAAAXITwDQAAALgI4RsAAABwEcI3AAAA4CKEbwAAAMBFCN8AAACAixC+AQAAABchfAMAAAAuQvgGAAAAXITwDQAAALgI4RsAAABwEcI3AAAA4CKEbwAAAMBFCN8AAACAixC+AQAAABchfAMAAAAuQvgGAAAAXKTUhu9atWrJZrNdtAwZMkSSdMstt1y07rHHHnPaxv79+9W1a1eVK1dOoaGhGjlypM6ePevUZ9myZWrVqpV8fX1Vr149zZgx46JapkyZolq1asnPz0/R0dFas2ZNkR03AAAAiq9SG75//vlnHTp0yLEkJCRIku6++25Hn4cfftipz4QJExzrcnJy1LVrV2VlZWnlypWaOXOmZsyYoeeff97RZ8+ePeratas6duyodevWafjw4XrooYf03XffOfp89tlnio+P1wsvvKC1a9eqefPmiouL0+HDh13wLgAAAKA4sRljjLuLcIXhw4dr4cKF2rFjh2w2m2655Ra1aNFCkydPzrP/N998o9tvv10HDx5U1apVJUnTpk3TqFGjdOTIEfn4+GjUqFFatGiRNm3a5Hhd7969deLECX377beSpOjoaLVt21Zvv/22JCk3N1eRkZEaNmyYnnnmmXzVnpaWpuDgYKWmpiooKOga3gUAAAAUhfzmtVJ75vt8WVlZ+uijj/Tggw/KZrM52j/++GNVrlxZ1113nUaPHq1Tp0451iUmJqpp06aO4C1JcXFxSktL0+bNmx19YmNjnfYVFxenxMREx36TkpKc+nh4eCg2NtbRJy9nzpxRWlqa0wIAAICSz8vdBbjC/PnzdeLECT3wwAOOtvvuu081a9ZURESENmzYoFGjRmnbtm364osvJEnJyclOwVuS43lycvJl+6SlpSkzM1PHjx9XTk5Onn22bt16yXrHjRunsWPHFvh4AQAAUDyVifD9n//8R7fddpsiIiIcbY888ojjcdOmTRUeHq5OnTpp165dqlu3rjvKdBg9erTi4+Mdz9PS0hQZGenGigAAAFAYSn343rdvn77//nvHGe1LiY6OliTt3LlTdevWVVhY2EWzkqSkpEiSwsLCHD/tbef3CQoKkr+/vzw9PeXp6ZlnH/s28uLr6ytfX9/8HSAAAABKjFI/5nv69OkKDQ1V165dL9tv3bp1kqTw8HBJUkxMjDZu3Og0K0lCQoKCgoLUuHFj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3ilPT0/16dNHwcHBGjRokOLj47V06VIlJSVp4MCBiomJ0fXXXy9J6ty5sxo3bqx+/fpp/fr1+u677/Tss89qyJAhjjPSjz32mHbv3q2nn35aW7du1TvvvKPZs2drxIgRjjri4+P13nvvaebMmdqyZYsef/xxZWRkaODAgW55XwAAAOBepXLYye+//64+ffro6NGjqlKlim688UatWrVKVapUkSS9/vrr8vDwUK9evXTmzBnFxcXpnXfecbze09NTCxcu1OOPP66YmBgFBARowIABevHFFx19ateurUWLFmnEiBF64403VL16df373/9WXFyco8+9996rI0eO6Pnnn1dycrJatGihb7/99qKLMIsbX19fvfDCCxcNfSmNytKxSmXreDnW0qssHS/HWnqVpeMtS8eaH6Vynm8AAACgOCqVw04AAACA4ojwDQAAALgI4RsAAABwEcI3AAAA4CKEb1xkypQpqlWrlvz8/BQdHX3RDYdKg3Hjxqlt27YKDAxUaGioevTooW3btrm7LJcYP368bDabhg8f7u5Siswff/yh+++/X5UqVZK/v7+aNm2qX375xd1lFbqcnBw999xzql27tvz9/VW3bl299NJLKg3X0a9YsULdunVTRESEbDab5s+f77TeGKPnn39e4eHh8vf3V2xsrHbs2OGeYgvB5Y43Oztbo0aNUtOmTRUQEKCIiAj1799fBw8edF/B1+BK/7bne+yxx2Sz2TR58mSX1VeY8nOsW7ZsUffu3RUcHKyAgAC1bdtW+/fvd32xheBKx5uenq6hQ4eqevXq8vf3V+PGjTVt2jT3FOtGhG84+eyzzxQfH68XXnhBa9euVfPmzRUXF+d0w6HSYPny5RoyZIhWrVqlhIQEZWdnq3PnzsrIyHB3aUXq559/1r/+9S81a9bM3aUUmePHj6t9+/by9vbWN998o99++02vvfaaKlSo4O7SCt0rr7yiqVOn6u2339aWLVv0yiuvaMKECXrrrbfcXdo1y8jIUPPmzTVlypQ810+YMEFvvvmmpk2bptWrVysgIEBxcXE6ffq0iystHJc73lOnTmnt2rV67rnntHbtWn3xxRfatm2bunfv7oZKr92V/m3t5s2bp1WrVl3xVt3F2ZWOddeuXbrxxhvVsGFDLVu2TBs2bNBzzz0nPz8/F1daOK50vPHx8fr222/10UcfacuW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", + "text/plain": [ + "
" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ax.errorbar(np.arange(n_steps), \n", " cv_mse.mean(1),\n", @@ -487,9 +734,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "c71c2079", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:32.594717Z", + "iopub.status.busy": "2023-07-25T23:59:32.594588Z", + "iopub.status.idle": "2023-07-25T23:59:33.030365Z", + "shell.execute_reply": "2023-07-25T23:59:33.030053Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -515,12 +768,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "2ff34edf", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:33.032304Z", + "iopub.status.busy": "2023-07-25T23:59:33.032173Z", + "iopub.status.idle": "2023-07-25T23:59:33.128471Z", + "shell.execute_reply": "2023-07-25T23:59:33.128143Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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du7cifXr12Pbtm26NhMnTsTgwYPRrFkztGjRAvPnz0daWhqGDh2qq2nYsGGYOHEiPD094erqirFjxyIsLKxII50QERERUTkizBCAApelS5cKIYTYtWtXoW2uXLkihBBix44dolGjRsLZ2Vk4OTmJhg0bisWLF4vc3Fy9Y+3atUs0atRIqNVqERgYqDtGfl999ZWoWrWqUKvVokWLFuLAgQN629PT08WoUaOEh4eHcHR0FC+99JKIj48v8vNNTk4WAERycnKxXqcSSU0VApBLaqpBdpmTY5DdEBEREZmsoua1cjHOd3lnruN8nzwJtGkDuLgA164ZqD4iIiIiE2RR43yTaXJ1lVPLp6fLU+mc9ZeIiIgsnVlecEnmoWJF+TMzU55EJyIiIrJ0DN9kNE5OgIODvM2xvomIiIgYvsnIONEOERERUR6GbzIqhm8iIiKiPAzfZFQM30RERER5ONoJGVWLFoBGkxfCiYiIiCwZwzcZ1fvvK10BERERkelgtxMiIiIiojLC8E1lQqNRugIiIiIi5TF8k1H9/jvg7g60bKl0JURERETKY/gmo3J0BJKTgZs3la6EiIiISHkM32RUHGqQiIiIKA/DNxmVNnynpgIZGcrWQkRERKQ0hm8yKjc3wNZW3ubZbyIiIrJ0DN9kVCoVULGivM3wTURERJaO4ZuMjv2+iYiIiCTOcElG16oV4OsLODsrXQkRERGRshi+yei+/lrpCoiIiIhMA7udEBERERGVEYZvKjOcYp6IiIgsHcM3Gd2qVXKK+V69lK6EiIiISFkM32R0dnacYp6IiIgIYPimMsChBomIiIgkhm8yOoZvIiIiIonhm4xOG77v3QOys5WthYiIiEhJDN9kdJ6ecpp5ALhzR9laiIiIiJTE8E1GZ20NVKggb7PrCREREVkyznBJZaJtWyA1VQZxIiIiIkvF8E1lYsMGpSsgIiIiUh67nRARERERlRGGbypTQihdAREREZFyGL6pTHz2GeDmBowdq3QlRERERMph+KYyYWMDpKRwinkiIiKybAzfVCa0E+3cvq1sHURERERKYvimMsEp5omIiIgYvqmMMHwTERERMXxTGcnf7USjUbYWIiIiIqUwfFOZqFhR/szNBZKSFC2FiIiISDGc4ZLKhJ0d8NxzgIMDkJWldDVEREREymD4pjKze7fSFRAREREpi91OiIiI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IiIiIiKZMHwTEREREcmE4ZuIiIiISCYM30REREREMmH4JiIiIiKSCcM3EREREZFMGL6JiIiIiGTC8E1EREREJBOGbyIiIiIimTB8ExERERHJhOGbiIiIiEgmDN9ERERERDJh+CYiIiIikgnDNxERERGRTBi+iYiIiIhkwvBNRERERCQThm8iIiIiIpkwfBMRERERyYThm4iIiIhIJgzfREREREQyYfgmIiIiIpIJwzcRERERkUwYvomIiIiIZMLwTUREREQkE4ZvIiIiIiKZMHwTEREREcmE4ZuIiIiISCYM30REREREMmH4JiIiIiKSCcM3EREREZFMrDZ8BwYGQqFQGEzR0dEAgB49ehgsGzlypN42cnJyEBkZCScnJ3h6emLcuHG4f/++XpnExES0b98eDg4OaNy4MeLi4gzqsnjxYgQGBkKlUiEsLAwHDx6ssXYTERER0aPLasP3oUOHcPnyZWnavn07AODll1+Wyrz11lt6ZT799FNpmVqtRmRkJEpKSrB//36sWrUKcXFxmDp1qlQmKysLkZGReOqpp5Ceno6xY8fizTffREJCglRm7dq1iI2NxbRp05CWloY2bdogIiICeXl5MjwKRERERPQoUQghhKUrIYexY8ciPj4eZ86cgUKhQI8ePdC2bVssWLDAaPnffvsNffv2xaVLl+Dl5QUAWLp0KSZMmICrV69CqVRiwoQJ2LJlCzIzM6X1XnnlFdy6dQvbtm0DAISFhaFjx4748ssvAQAajQZ+fn5499138f7771eo7gUFBXBzc0N+fj5cXV2r8CgQERERUU2oaF6z2p5vXSUlJVi9ejVGjBgBhUIhzf/+++9Rt25dtGrVCh988AHu3LkjLUtOTkZISIgUvAEgIiICBQUFOHbsmFSmV69eevuKiIhAcnKytN/U1FS9MjY2NujVq5dUxph79+6hoKBAbyIiIiKifz87S1dADhs3bsStW7cwbNgwad5rr72GgIAA+Pr64ujRo5gwYQJOnTqFX375BQCQm5urF7wBSPdzc3PNlikoKMDdu3dx8+ZNqNVqo2VOnjxpsr6zZ8/GjBkzHrq9RERERPRoeizC94oVK9CnTx/4+vpK895++23pdkhICHx8fNCzZ0+cO3cOjRo1skQ1JR988AFiY2Ol+wUFBfDz87NgjYiIiIioOlh9+M7OzsaOHTukHm1TwsLCAABnz55Fo0aN4O3tbXBVkitXrgAAvL29pb/aebplXF1d4ejoCFtbW9ja2hoto92GMQ4ODnBwcKhYA4mIiIjoX8Pqz/leuXIlPD09ERkZabZceno6AMDHxwcA0LlzZ2RkZOhdlWT79u1wdXVFcHCwVGbnzp1629m+fTs6d+4MAFAqlejQoYNeGY1Gg507d0pliIiIiOjxYdXhW6PRYOXKlYiKioKd3T+d/OfOncOHH36I1NRUXLhwAZs3b8Z//vMfdO/eHa1btwYA9O7dG8HBwRg6dCiOHDmChIQETJ48GdHR0VKv9MiRI3H+/HmMHz8eJ0+exFdffYV169YhJiZG2ldsbCyWL1+OVatW4cSJExg1ahSKioowfPhweR8MIiIiIrI4qz7tZMeOHcjJycGIESP05iuVSuzYsQMLFixAUVER/Pz8MHDgQEyePFkqY2tri/j4eIwaNQqdO3eGs7MzoqKiMHPmTKlMUFAQtmzZgpiYGCxcuBANGjTAN998g4iICKnM4MGDcfXqVUydOhW5ublo27Yttm3bZvAjTCIiIiKyfo/Ndb7/zXidbyIiIqJHG6/zTURERET0iGH4JiIiIiKSCcM3EREREZFMGL6JiIiIiGTC8E1EREREJBOGbyIiIiIimTB8ExERERHJhOGbiIiIiEgmDN9ERERERDJh+CYiIiIikgnDNxERERGRTBi+iYiIiIhkwvBNRERERCQThm8iIiIiIpkwfBMRERERyYThm4iIiIhIJgzfREREREQyYfgmIiIiIpIJwzcRERERkUwYvomIiIiIZMLwTUREREQkE4ZvIiIiIiKZMHwTEREREcmE4ZuIiIiISCYM30REREREMmH4JiIiIiKSCcM3EREREZFMGL6JiIiIiGTC8E1EREREJBOGbyIiIiIimTB8ExERERHJhOGbiIiIiEgmDN9ERERERDJh+CYiIiIikgnDNxERERGRTBi+iYiIiIhkwvBNRERERCQThm8iIiIiIpkwfBMRERERyYThm4iIiIhIJgzfREREREQyYfgmIiIiIpIJwzcRERERkUwYvomIiIiIZMLwTUREREQkE4ZvIiIiIiKZMHwTEREREcmE4ZuIiIiISCYM30REREREMmH4JiIiIiKSCcM3EREREZFMGL6JiIiIiGTC8E1EREREJBOGbyIiIiIimTB8ExERERHJhOGbiIiI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", + "text/plain": [ + "
" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ax.plot(np.arange(n_steps), \n", " validation_mse,\n", @@ -550,9 +821,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "845f3fa0", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:33.130280Z", + "iopub.status.busy": "2023-07-25T23:59:33.130150Z", + "iopub.status.idle": "2023-07-25T23:59:33.142290Z", + "shell.execute_reply": "2023-07-25T23:59:33.141982Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -573,10 +850,45 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "e9f943e7", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:33.143916Z", + "iopub.status.busy": "2023-07-25T23:59:33.143817Z", + "iopub.status.idle": "2023-07-25T23:59:35.350804Z", + "shell.execute_reply": "2023-07-25T23:59:35.350454Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Preprocessing Data.\n", + "BnB Started.\n", + "Iteration: 1. Number of non-zeros: 1\n", + "Iteration: 2. Number of non-zeros: 2\n", + "Iteration: 3. Number of non-zeros: 2\n", + "Iteration: 4. Number of non-zeros: 2\n", + "Iteration: 5. Number of non-zeros: 3\n", + "Iteration: 6. Number of non-zeros: 3\n", + "Iteration: 7. Number of non-zeros: 4\n", + "Iteration: 8. Number of non-zeros: 9\n", + "Iteration: 9. Number of non-zeros: 9\n", + "Iteration: 10. Number of non-zeros: 9\n", + "Iteration: 11. Number of non-zeros: 9\n", + "Iteration: 12. Number of non-zeros: 9\n", + "Iteration: 13. Number of non-zeros: 9\n", + "Iteration: 14. Number of non-zeros: 9\n", + "Iteration: 15. Number of non-zeros: 9\n", + "Iteration: 16. Number of non-zeros: 9\n", + "Iteration: 17. Number of non-zeros: 9\n", + "Iteration: 18. Number of non-zeros: 17\n", + "Iteration: 19. Number of non-zeros: 19\n" + ] + } + ], "source": [ "path = fit_path(X, \n", " Y,\n", @@ -593,12 +905,36 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "657ac171", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:35.352837Z", + "iopub.status.busy": "2023-07-25T23:59:35.352703Z", + "iopub.status.idle": "2023-07-25T23:59:35.355490Z", + "shell.execute_reply": "2023-07-25T23:59:35.355210Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "{'B': array([0. , 3.25484367, 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0.67775265, 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. ]),\n", + " 'B0': -38.98216739555551,\n", + " 'lambda_0': 0.011416248027450178,\n", + " 'M': 0.5829861733382012,\n", + " 'Time_exceeded': False}" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "path[3]\n" ] @@ -634,12 +970,435 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "e576ad54", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:35.357157Z", + "iopub.status.busy": "2023-07-25T23:59:35.357034Z", + "iopub.status.idle": "2023-07-25T23:59:35.424501Z", + "shell.execute_reply": "2023-07-25T23:59:35.424223Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64428165.36474803, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64428069.135193564, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64427947.709570706, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64427794.49147929, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64427601.15801401, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64427357.208145335, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64427049.39312406, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64426660.99818401, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64426170.936871, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64425552.60935727, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64424772.46361481, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64423788.18271286, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64422546.402046196, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64420979.836119056, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64419003.66458898, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64416510.99045885, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64413367.138336174, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64409402.50628651, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64404403.61988451, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64398101.96098537, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64390160.05690916, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64380154.22050254, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64367553.23368757, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64351692.17811265, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64331740.55708714, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64306663.85815487, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64275177.83204634, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64235695.09903011, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64186264.367964305, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64124503.75014188, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64047531.61120446, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 63951901.41718618, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 63833551.374737374, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 63687785.48493876, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 63509309.685659595, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 63292354.02159835, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 63030916.89990266, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 62719166.29703928, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 62352019.354438685, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 61925889.875772476, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 61439539.89859062, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 60894903.039219804, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 60297684.607476555, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 59657521.16598571, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 58987535.05051082, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 58303257.30893663, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 57621079.35589412, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 56956552.362989165, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 56322906.14367991, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 55730077.752803415, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 55184365.56435659, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 54688640.34364891, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 54242923.97107168, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 53845116.92275897, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 53491699.68250863, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 53178310.76477921, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 52900177.09233121, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 52652419.277090184, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 52430270.98847021, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 52229246.49376922, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 52045276.251295805, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 51874817.10761593, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 51714935.480955906, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 51563358.53546297, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 51418487.867063135, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 51279371.6204245, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 51145634.32609803, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 51017369.002990715, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50895002.06601913, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50779146.50047491, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50670461.07683641, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50569532.273268215, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50476790.981010474, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50392468.80539254, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50316590.69087247, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50248994.15213543, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50189362.60450393, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50137261.69126286, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50092171.83247456, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50053515.0816231, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50020677.61213055, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49993029.950182974, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49969946.08142715, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49950821.12032734, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49935086.375795275, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49922220.65542218, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49911757.23721766, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49903286.65921827, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49896456.01861009, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49890965.72520982, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49886564.66025478, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49883044.54819732, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49880234.147845834, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49877993.670362815, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49876209.66553557, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49874790.493499264, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49873662.41408341, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49872766.272819825, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49872054.73300109, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49871489.989638604, tolerance: 12885.7065737425\n", + " model = cd_fast.enet_coordinate_descent_gram(\n" + ] + }, + { + "data": { + "text/plain": [ + "(19, 100)" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Xs = X - X.mean(0)[None,:]\n", "X_scale = X.std(0)\n", @@ -678,10 +1437,408 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "3ef15192", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:35.426658Z", + "iopub.status.busy": "2023-07-25T23:59:35.426532Z", + "iopub.status.idle": "2023-07-25T23:59:35.436847Z", + "shell.execute_reply": "2023-07-25T23:59:35.436537Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AtBatHitsHmRunRunsRBIWalksYearsCAtBatCHitsCHmRunCRunsCRBICWalksLeague[N]Division[W]PutOutsAssistsErrorsNewLeague[N]
negative log(lambda)
-12.3108550.0008000.0008890.0006950.0008510.0009110.0009000.0008120.0010670.0011130.0010640.0011410.0011490.000993-0.000029-0.0003900.0006090.000052-0.000011-0.000006
-12.0782710.0010100.0011220.0008780.0010740.0011500.0011350.0010250.0013460.0014040.0013430.0014390.0014500.001253-0.000037-0.0004920.0007690.000065-0.000014-0.000007
-11.8456860.0012740.0014160.0011070.0013550.0014510.0014330.0012930.0016980.0017720.0016940.0018160.0018300.001581-0.000046-0.0006210.0009700.000082-0.000017-0.000009
-11.6131020.0016080.0017870.0013970.0017100.0018310.0018080.0016320.0021430.0022360.0021380.0022920.0023090.001995-0.000058-0.0007840.0012240.000104-0.000022-0.000012
-11.3805180.0020290.0022550.0017630.0021580.0023100.0022810.0020590.0027040.0028210.0026980.0028920.0029140.002517-0.000073-0.0009900.0015440.000131-0.000028-0.000015
............................................................
9.784658-290.823989336.92996837.322686-59.748520-26.507086134.855915-17.216195-387.77582689.573601-12.273926476.079273257.271255-213.12478031.258215-58.45785778.76126653.622113-22.208456-12.402891
10.017243-290.879272337.11371337.431373-59.916820-26.606957134.900549-17.108041-388.45840489.000707-12.661459477.031349257.966790-213.28089131.256434-58.44885078.76124053.645147-22.198802-12.391969
10.249827-290.923382337.26044637.518064-60.051166-26.686604134.936136-17.022194-388.99747088.537380-12.971603477.791860258.523025-213.40574031.254958-58.44168278.76123053.663357-22.191071-12.383205
10.482412-290.958537337.37745537.587122-60.158256-26.750044134.964477-16.954081-389.42341488.164178-13.219329478.398404258.967059-213.50541231.253747-58.43598378.76123053.677759-22.184893-12.376191
10.714996-290.986528337.47064837.642077-60.243522-26.800522134.987027-16.900054-389.76013587.864551-13.416889478.881540259.321007-213.58486931.252760-58.43145478.76123553.689152-22.179964-12.370587
\n", + "

100 rows × 19 columns

\n", + "
" + ], + "text/plain": [ + " AtBat Hits HmRun Runs RBI \\\n", + "negative log(lambda) \n", + "-12.310855 0.000800 0.000889 0.000695 0.000851 0.000911 \n", + "-12.078271 0.001010 0.001122 0.000878 0.001074 0.001150 \n", + "-11.845686 0.001274 0.001416 0.001107 0.001355 0.001451 \n", + "-11.613102 0.001608 0.001787 0.001397 0.001710 0.001831 \n", + "-11.380518 0.002029 0.002255 0.001763 0.002158 0.002310 \n", + "... ... ... ... ... ... \n", + " 9.784658 -290.823989 336.929968 37.322686 -59.748520 -26.507086 \n", + " 10.017243 -290.879272 337.113713 37.431373 -59.916820 -26.606957 \n", + " 10.249827 -290.923382 337.260446 37.518064 -60.051166 -26.686604 \n", + " 10.482412 -290.958537 337.377455 37.587122 -60.158256 -26.750044 \n", + " 10.714996 -290.986528 337.470648 37.642077 -60.243522 -26.800522 \n", + "\n", + " Walks Years CAtBat CHits CHmRun \\\n", + "negative log(lambda) \n", + "-12.310855 0.000900 0.000812 0.001067 0.001113 0.001064 \n", + "-12.078271 0.001135 0.001025 0.001346 0.001404 0.001343 \n", + "-11.845686 0.001433 0.001293 0.001698 0.001772 0.001694 \n", + "-11.613102 0.001808 0.001632 0.002143 0.002236 0.002138 \n", + "-11.380518 0.002281 0.002059 0.002704 0.002821 0.002698 \n", + "... ... ... ... ... ... \n", + " 9.784658 134.855915 -17.216195 -387.775826 89.573601 -12.273926 \n", + " 10.017243 134.900549 -17.108041 -388.458404 89.000707 -12.661459 \n", + " 10.249827 134.936136 -17.022194 -388.997470 88.537380 -12.971603 \n", + " 10.482412 134.964477 -16.954081 -389.423414 88.164178 -13.219329 \n", + " 10.714996 134.987027 -16.900054 -389.760135 87.864551 -13.416889 \n", + "\n", + " CRuns CRBI CWalks League[N] \\\n", + "negative log(lambda) \n", + "-12.310855 0.001141 0.001149 0.000993 -0.000029 \n", + "-12.078271 0.001439 0.001450 0.001253 -0.000037 \n", + "-11.845686 0.001816 0.001830 0.001581 -0.000046 \n", + "-11.613102 0.002292 0.002309 0.001995 -0.000058 \n", + "-11.380518 0.002892 0.002914 0.002517 -0.000073 \n", + "... ... ... ... ... \n", + " 9.784658 476.079273 257.271255 -213.124780 31.258215 \n", + " 10.017243 477.031349 257.966790 -213.280891 31.256434 \n", + " 10.249827 477.791860 258.523025 -213.405740 31.254958 \n", + " 10.482412 478.398404 258.967059 -213.505412 31.253747 \n", + " 10.714996 478.881540 259.321007 -213.584869 31.252760 \n", + "\n", + " Division[W] PutOuts Assists Errors \\\n", + "negative log(lambda) \n", + "-12.310855 -0.000390 0.000609 0.000052 -0.000011 \n", + "-12.078271 -0.000492 0.000769 0.000065 -0.000014 \n", + "-11.845686 -0.000621 0.000970 0.000082 -0.000017 \n", + "-11.613102 -0.000784 0.001224 0.000104 -0.000022 \n", + "-11.380518 -0.000990 0.001544 0.000131 -0.000028 \n", + "... ... ... ... ... \n", + " 9.784658 -58.457857 78.761266 53.622113 -22.208456 \n", + " 10.017243 -58.448850 78.761240 53.645147 -22.198802 \n", + " 10.249827 -58.441682 78.761230 53.663357 -22.191071 \n", + " 10.482412 -58.435983 78.761230 53.677759 -22.184893 \n", + " 10.714996 -58.431454 78.761235 53.689152 -22.179964 \n", + "\n", + " NewLeague[N] \n", + "negative log(lambda) \n", + "-12.310855 -0.000006 \n", + "-12.078271 -0.000007 \n", + "-11.845686 -0.000009 \n", + "-11.613102 -0.000012 \n", + "-11.380518 -0.000015 \n", + "... ... \n", + " 9.784658 -12.402891 \n", + " 10.017243 -12.391969 \n", + " 10.249827 -12.383205 \n", + " 10.482412 -12.376191 \n", + " 10.714996 -12.370587 \n", + "\n", + "[100 rows x 19 columns]" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "soln_path = pd.DataFrame(soln_array.T,\n", " columns=D.columns,\n", @@ -702,12 +1859,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "40b67c85", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:35.438537Z", + "iopub.status.busy": "2023-07-25T23:59:35.438413Z", + "iopub.status.idle": "2023-07-25T23:59:35.665568Z", + "shell.execute_reply": "2023-07-25T23:59:35.665151Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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tGrVilatWlXaXlpaSlZWFtnZ2eTk5JCTk0Nubq7jdXFxMWVlZY731eXt7Y23t7cjVHt5eR338PT0POGjQ4cOmM3mWv4v4ByFaBERERFx8PLyIioqiqioqBPut1gsHD16lPz8fMdzQUEBhYWFxz0qAjdASUkJJSUl5OXl1bimBx980KmvyRUUokVERESk2jw9PQkNDSU0NLRax5eVlVFcXExJSQnFxcUUFxdTWlpKaWkpJSUljtelpaVYLBbHo6yszPFc33qhQSFaRERERFzo2PHTZ5L6P8K7lpSUlNCrVy8Mw2Djxo2V9m3evJnhw4fj4+NDq1atePbZZ487f+7cuXTu3BkfHx9iY2P54Ycf6qhyEREREalvGk2I/s9//kPz5s2P256Xl8e4ceOIjo5m3bp1PPfcczzyyCPMnj3bcczKlSu59NJLufbaa9mwYQPnnXce5513HgkJCXX5JYiIiIhIPdEoprhbuHAhM2fOZN68eXTr1o0NGzbQq1cvAN544w3uv/9+0tPT8fLyAuCee+7h66+/JjExEYCpU6dSUFDAd99957jmoEGD6NWrF2+++Wa1atAUdyIiIiL1W03y2hnfE52RkcF1113Hxx9/jJ+f33H74+PjiYuLcwRogPHjx7Njxw6ys7Mdx4wdO7bSeePHjyc+Pv6k7VbcfXrsQ0RERETODGd0iLbb7UyfPp0bb7yRfv36nfCY9PR0IiMjK22reJ+enl7lMRX7T+Tpp58mODjY8fj7HIwiIiIi0nA1yBB9zz33YBhGlY/ExEReffVV8vPzuffee+u8xnvvvZfc3FzHY+/evXVeg4iIiIi4RoOc4u6OO+5g+vTpVR7Trl07fvnlF+Lj4/H29q60r1+/flx++eV8+OGHREVFkZGRUWl/xfuKScZPdszJJiGHv1blEREREZEzT4MM0REREURERJzyuFdeeYUnnnjC8f7AgQOMHz+ezz//nIEDBwIwePBg7r//fiwWC56engAsXryYTp06OSYRHzx4MEuWLOH22293XGvx4sUMHjy4Fr8qEREREWkoGmSIrq7WrVtXel8xyXf79u1p2bIlAJdddhmPPvoo1157LXfffTcJCQn897//5aWXXnKcd9tttzFixAheeOEFzj77bD777DPWrl1baRo8EREREWk8GuSY6NoUHBzMTz/9xO7du+nbty933HEHDz30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Qw89RLt27QB45JFHuPDCC/n+++9Zv3498+bNY/To0Xz00UcADB48mOuvv/64azzyyCOO2Ttuv/12rrzyShYtWsT69ev54osvGD58OAsWLHAsrw0nv5Hx3HPPBcpDdH5+/nH7b7vtNvLy8ggPD+eFF1446ddVMS46Ly+PtLS0kx63YsUKLBYLAOeff/5JjxMRORmFaBGRRigwMJAlS5Y4bmqcN28e55xzjmPZ72XLlgEwdOhQvvvuuxMuyBIWFsaPP/7ouDHw448/rrTs98qVK5k+fbpjCjrgpKsXXnnllXh7e1NcXMxXX31Vad8PP/zAl19+CcCLL77oWEXxRKo7LnrOnDlA+djuXr16nfQ4EZGTUYgWEWmk2rRpw6ZNm3jttdcYMWIETZo0wdPTk8jISCZMmMDHH3/MihUrKs3K8Xc9e/Zk27Zt3HHHHcTExODt7U14eDijRo1izpw5vP/+++Tl5TmOrxhH/XdNmjRhypQpwF8BF8rncq4YSjJmzBimTZtW5ddUnRBdXFzM/PnzAbj55purvJ6IyMkYdrvd7u4iRETkzPXPf/6Td999l5YtW7J3796THrdq1SoGDRqE2WwmOTm5yqnunPHJJ58wbdo0mjRpQmpqKgEBAS5pR0TObOqJFhERlykqKmLBggUADBo0qMpjBw4cyJQpU7BarTz99NMuqcdms/HUU08BcNdddylAi8hpU4gWEZHTlpyczMk+0LRardx0002OGT6uuuqqU17vqaeewsPDg/fff599+/bVaq0Ac+fOZfv27bRu3dqxdLiIyOnQioUiInLaHn/8cVavXs0ll1zCwIEDadq0KUVFRWzevJm3336b9evXAzB27FjOPvvsU16vU6dOvPfeeyQnJ5OWlkbLli1rtV6r1crDDz/M6NGj8fX1rdVri0jjojHRIiJy2qZPn86HH35Y5TFDhw5lwYIFVc6qISLS0ChEi4jIaduxYwfz5s3j559/JjU1lczMTCwWC02aNKFfv35MnTqVSy65BJNJowdF5MyiEC0iIiIiUkPqGhARERERqSGFaBERERGRGlKIFhERERGpIYVoEREREZEaUogWEREREakhhWgRERERkRpSiBYRERERqSGFaBERERGRGlKIFhERERGpIYVoEREREZEaUogWEREREamh/we2AAgYTtiuwgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "path_fig, ax = subplots(figsize=(8,8))\n", "soln_path.plot(ax=ax, legend=False)\n", @@ -730,10 +1904,48 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "d14bd86c", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:35.667558Z", + "iopub.status.busy": "2023-07-25T23:59:35.667420Z", + "iopub.status.idle": "2023-07-25T23:59:35.670927Z", + "shell.execute_reply": "2023-07-25T23:59:35.670588Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(25.53538897200662,\n", + " AtBat 5.433750\n", + " Hits 6.223582\n", + " HmRun 4.585498\n", + " Runs 5.880855\n", + " RBI 6.195921\n", + " Walks 6.277975\n", + " Years 5.299767\n", + " CAtBat 7.147501\n", + " CHits 7.539495\n", + " CHmRun 7.182344\n", + " CRuns 7.728649\n", + " CRBI 7.790702\n", + " CWalks 6.592901\n", + " League[N] 0.042445\n", + " Division[W] -3.107159\n", + " PutOuts 4.605263\n", + " Assists 0.378371\n", + " Errors -0.135196\n", + " NewLeague[N] 0.150323\n", + " Name: -3.240065292879872, dtype: float64)" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "beta_hat = soln_path.loc[soln_path.index[39]]\n", "lambdas[39], beta_hat\n" @@ -749,10 +1961,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "759e215a", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:35.672724Z", + "iopub.status.busy": "2023-07-25T23:59:35.672614Z", + "iopub.status.idle": "2023-07-25T23:59:35.675278Z", + "shell.execute_reply": "2023-07-25T23:59:35.674955Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "24.17061720144378" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.linalg.norm(beta_hat)\n" ] @@ -769,12 +1999,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "b58d5ccb", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:35.677227Z", + "iopub.status.busy": "2023-07-25T23:59:35.677101Z", + "iopub.status.idle": "2023-07-25T23:59:35.679897Z", + "shell.execute_reply": "2023-07-25T23:59:35.679563Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(0.24374766133488554, 160.42371017725839)" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "beta_hat = soln_path.loc[soln_path.index[59]]\n", "lambdas[59], np.linalg.norm(beta_hat)\n" @@ -793,10 +2040,42 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "74b5cae2", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:35.681563Z", + "iopub.status.busy": "2023-07-25T23:59:35.681439Z", + "iopub.status.idle": "2023-07-25T23:59:35.694058Z", + "shell.execute_reply": "2023-07-25T23:59:35.693754Z" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.446e+07, tolerance: 5.332e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n" + ] + }, + { + "data": { + "text/html": [ + "
Pipeline(steps=[('scaler', StandardScaler()),\n",
+       "                ('ridge', ElasticNet(alpha=0.24374766133488554, l1_ratio=0))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('scaler', StandardScaler()),\n", + " ('ridge', ElasticNet(alpha=0.24374766133488554, l1_ratio=0))])" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ridge = skl.ElasticNet(alpha=lambdas[59], l1_ratio=0)\n", "scaler = StandardScaler(with_mean=True, with_std=True)\n", @@ -814,12 +2093,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "a89989c3", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:35.695813Z", + "iopub.status.busy": "2023-07-25T23:59:35.695707Z", + "iopub.status.idle": "2023-07-25T23:59:35.698261Z", + "shell.execute_reply": "2023-07-25T23:59:35.698013Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "160.4237101772591" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.linalg.norm(ridge.coef_)\n" ] @@ -844,10 +2140,36 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "3eb41945", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:35.699892Z", + "iopub.status.busy": "2023-07-25T23:59:35.699805Z", + "iopub.status.idle": "2023-07-25T23:59:35.707120Z", + "shell.execute_reply": "2023-07-25T23:59:35.706784Z" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.486e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n" + ] + }, + { + "data": { + "text/plain": [ + "array([134214.00419204])" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "validation = skm.ShuffleSplit(n_splits=1,\n", " test_size=0.5,\n", @@ -876,12 +2198,37 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "635bc363", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:35.708905Z", + "iopub.status.busy": "2023-07-25T23:59:35.708772Z", + "iopub.status.idle": "2023-07-25T23:59:35.716331Z", + "shell.execute_reply": "2023-07-25T23:59:35.716004Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n" + ] + }, + { + "data": { + "text/plain": [ + "array([231788.32155285])" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ridge.alpha = 1e10\n", "results = skm.cross_validate(ridge,\n", @@ -908,10 +2255,242 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "e117267f", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:35.718146Z", + "iopub.status.busy": "2023-07-25T23:59:35.718021Z", + "iopub.status.idle": "2023-07-25T23:59:36.172012Z", + "shell.execute_reply": "2023-07-25T23:59:36.171718Z" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.135e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.135e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.135e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.135e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.135e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.134e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.134e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.133e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.132e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.131e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.130e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.128e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.127e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.124e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.121e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.117e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.113e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.107e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.100e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.091e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.081e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.069e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.055e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.038e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.019e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.977e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.744e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.494e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.234e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.968e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.704e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.448e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.204e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.977e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.769e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.581e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.412e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.261e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.127e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.008e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.900e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.803e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.714e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.632e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.554e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.480e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.409e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.342e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.276e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.214e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.154e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.097e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.043e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.991e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.943e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.898e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.856e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.817e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.780e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.746e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.715e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.687e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.661e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.637e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.616e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.596e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.579e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.563e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.550e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.538e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.528e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.519e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.512e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.506e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.500e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.496e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.493e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.490e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.488e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.486e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.485e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.483e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.483e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.482e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.248e+07, tolerance: 5.332e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n" + ] + }, + { + "data": { + "text/html": [ + "
Pipeline(steps=[('scaler', StandardScaler()),\n",
+       "                ('ridge', ElasticNet(alpha=0.005899006046740856, l1_ratio=0))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('scaler', StandardScaler()),\n", + " ('ridge', ElasticNet(alpha=0.005899006046740856, l1_ratio=0))])" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "param_grid = {'ridge__alpha': lambdas}\n", "grid = skm.GridSearchCV(pipe,\n", @@ -933,12 +2512,1043 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "id": "0037e9e4", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:36.173832Z", + "iopub.status.busy": "2023-07-25T23:59:36.173705Z", + "iopub.status.idle": "2023-07-25T23:59:39.246833Z", + "shell.execute_reply": "2023-07-25T23:59:39.246526Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.223e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.223e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.223e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.232e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.217e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.232e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.217e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.099e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.232e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.221e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.217e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.878e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.099e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.232e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.221e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.216e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.878e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.099e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.231e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.221e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.216e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.878e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.098e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.231e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.220e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.215e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.877e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.098e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.230e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.219e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.215e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.876e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.097e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.229e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.219e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.214e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.876e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.096e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.228e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.213e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.875e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.095e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.227e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.216e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.211e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.873e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.093e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.225e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.215e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.209e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.872e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.091e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.223e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.212e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.207e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.870e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.089e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.220e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.210e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.204e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.867e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.086e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.217e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.207e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.200e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.864e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.082e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.213e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.203e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.196e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.860e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.077e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.208e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.197e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.190e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.855e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.071e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.201e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.191e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.183e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.849e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.063e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.194e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.183e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.174e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.841e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.054e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.184e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.173e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.163e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.832e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.043e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.172e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.161e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.149e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.820e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.029e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.157e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.146e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.132e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.806e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.012e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.139e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.129e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.112e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.789e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.992e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.117e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.107e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.087e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.769e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.968e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.091e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.081e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.058e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.745e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.939e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.060e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.051e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.024e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.718e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.907e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.024e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.015e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.984e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.686e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.869e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.984e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.975e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.939e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.650e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.828e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.938e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.929e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.888e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.611e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.783e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.888e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.832e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.568e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.734e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.834e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.826e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.772e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.524e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.684e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.778e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.770e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.710e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.478e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.633e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.721e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.713e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.646e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.432e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.582e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.663e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.655e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.582e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.388e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.533e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.607e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.599e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.520e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.345e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.486e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.554e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.545e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.460e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.305e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.443e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.504e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.494e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.404e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.268e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.403e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.457e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.447e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.352e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.234e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.366e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.415e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.405e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.305e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.204e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.333e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.377e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.366e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.262e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.177e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.304e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.343e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.331e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.224e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.154e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.278e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.312e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.300e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.190e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.133e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.255e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.284e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.272e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.159e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.114e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.234e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.260e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.247e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.132e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.098e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.215e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.237e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.225e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.109e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.083e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.198e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.217e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.204e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.088e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.070e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.182e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.198e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.186e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.069e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.058e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.167e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.181e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.169e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.053e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.047e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.153e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.165e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.153e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.038e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.037e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.139e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.149e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.138e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.024e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.027e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.126e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.135e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.124e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.012e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.017e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.114e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.121e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.110e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.001e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.007e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.102e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.108e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.097e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.902e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.982e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.090e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.095e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.084e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.804e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.894e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.078e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.084e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.071e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.713e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.808e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.067e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.073e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.060e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.627e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.727e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.057e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.062e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.048e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.548e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.650e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.047e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.053e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.038e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.474e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.579e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.037e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.045e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.028e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.406e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.514e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.028e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.037e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.019e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.343e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.454e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.019e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.030e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.011e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.286e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.402e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.011e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.024e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.003e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.234e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.355e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.004e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.019e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.969e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.187e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.314e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.966e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.014e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.914e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.145e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.279e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.902e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.010e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.865e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.108e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.249e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.843e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.007e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.824e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.075e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.223e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.790e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.004e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.790e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.047e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.202e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.743e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.001e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.761e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.022e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.184e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.700e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.990e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.737e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.000e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.169e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.663e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.971e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.717e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.982e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.156e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.630e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.956e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.701e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.966e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.146e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.601e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.943e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.688e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.953e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.138e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.575e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.933e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.677e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.942e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.132e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.554e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.924e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.668e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.933e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.126e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.535e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.917e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.661e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.926e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.122e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.520e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.911e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.655e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.920e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.119e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.507e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.906e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.651e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.915e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.116e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.496e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.902e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.647e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.911e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.114e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.487e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.899e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.644e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.907e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.112e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.480e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.897e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.642e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.905e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.111e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.474e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.895e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.640e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.903e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.110e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.469e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.893e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.639e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.901e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.109e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.465e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.892e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.638e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.900e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.108e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.462e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.891e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.637e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.899e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.108e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.460e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.890e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.636e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.898e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.107e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.458e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.890e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.636e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.897e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.107e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.456e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.889e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.635e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.897e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.271e+07, tolerance: 5.332e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n" + ] + }, + { + "data": { + "text/html": [ + "
Pipeline(steps=[('scaler', StandardScaler()),\n",
+       "                ('ridge', ElasticNet(alpha=0.01185247763144249, l1_ratio=0))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('scaler', StandardScaler()),\n", + " ('ridge', ElasticNet(alpha=0.01185247763144249, l1_ratio=0))])" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "grid = skm.GridSearchCV(pipe, \n", " param_grid,\n", @@ -960,10 +3570,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "id": "71f0f5c5", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:39.248632Z", + "iopub.status.busy": "2023-07-25T23:59:39.248534Z", + "iopub.status.idle": "2023-07-25T23:59:39.354727Z", + "shell.execute_reply": "2023-07-25T23:59:39.354370Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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vy8ZaI8HAMD+Cm64s2J3opMrAQD8XbHC9+HDhy/72L59uzp06CBJatGihaZMmaJ169Zp79692rt3r9atW6d///vfatmypSSpQ4cO2r59uw4dOnTdRa9fv169evVSSEiILBaLlixZYrW94Ez9pY877rjDqs+ZM2c0YMAA+fn5qUqVKho6dKjOnz9v1eeXX35Rp06d5OXlpdq1a2vy5MmFalm8eLGaNGkiLy8vtWzZUt99953VdsMwNG7cOAUHB8vb21uRkZE6cODAdb93ALia25vVlCSt2pOknNw8J1cDALhUscJ33bp1i3wEBwfrscce09atWzVx4kTt2LFDzz//vDp16qQbb7xRN954ozp16qRRo0YpPj5er732mn766Sc9/vjjCg4Ovu6i09LS1Lp1a82YMeOyfe644w4dP37cfHz++edW2wcMGKDdu3crNjZW3377rdavX68nnnjC3J6amqoePXqobt262rZtm6ZMmaIJEyboww8/NPts3LhR/fv319ChQ/Xzzz+rd+/e6t27t3bt2mX2mTx5st59913NnDlTmzdvVqVKlRQVFWV1R1AAsKd2daqoqo+7zqZna9vvZ6++w1/Ss3IUOmaZQscsU3pWTglWCAAVl02rnbz33nvavn27+vbtq7Fjx15xXrjFYtH/+3//Tw888IC2b9+uadOmXfe4PXv21Ouvv6577733sn08PT0VFBRkPqpWrWpu27Nnj5YvX66PPvpI4eHhuvXWW/Xee+9pwYIFOnbsmCRp3rx5ysrK0qxZs9S8eXP169dPzz77rN5++23zONOmTdMdd9yhF154QU2bNtVrr72mdu3aafr06ZLyz3pPnTpVY8eO1T333KNWrVrpk08+0bFjxwqdrQcAe3FzdVFk04Kz3yecXA0A4FI2he/58+fLYrHokUceKfY+Q4YMkWEYWrBggS1DX9XatWsVGBioxo0b6+mnn9bp06fNbXFxcapSpYrat29vtkVGRsrFxUWbN282+3Tu3FkeHh5mn6ioKO3bt09nz541+0RGRlqNGxUVpbi4OEn503USExOt+vj7+ys8PNzsU5TMzEylpqZaPQDgWtzRIkiStJrwDQClik3h++DBg5KkmjVrFnufwMBAq31Lwh133KFPPvlEq1ev1r/+9S+tW7dOPXv2VG5u/rJbiYmJZh0F3NzcFBAQoMTERLPP399X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x2vEiBF67LHHtGLFCrPPwoULNWrUKI0fP17bt29X69atFRUVpRMnTjjgowAAAIDSxGIYhuHsIhxhxIgR+vbbb3XgwAFZLBZ16dJFbdq00dSpU4vs//333+uuu+7SsWPHVLNmTUnSzJkzNXr0aJ08eVIeHh4aPXq0li1bpl27dpn79evXT8nJyVq+fLkkKTw8XB06dND06dMlSXl5eapdu7aGDx+uMWPGFKv21NRU+fv7KyUlRX5+fjZ8FAAAAFASipvXyu2Z70tlZWXps88+06OPPiqLxWK2z5s3T9WrV1eLFi300ksvKT093dwWFxenli1bmsFbkqKiopSamqrdu3ebfSIjI63GioqKUlxcnDnutm3brPq4uLgoMjLS7FOUzMxMpaamWj0AAABQ9rk5uwBHWLJkiZKTk/XII4+YbQ899JDq1q2rkJAQ/fLLLxo9erT27dunL7/8UpKUmJhoFbwlma8TExOv2Cc1NVUXLlzQ2bNnlZubW2SfvXv3XrbeSZMm6dVXX73u9wsAAIDSqUKE748//lg9e/ZUSEiI2fbEE0+Yz1u2bKng4GB1795dBw8eVIMGDZxRpumll17SqFGjzNepqamqXbu2EysCAACAPZT78P37779r1apV5hntywkPD5ck/fbbb2rQoIGCgoIKrUqSlJQkSQoKCjL/LWi7tI+fn5+8vb3l6uoqV1fXIvsUHKMonp6e8vT0LN4bBAAAQJlR7ud8z549W4GBgYqOjr5iv/j4eElScHCwJCkiIkI7d+60WpUkNjZWfn5+atasmdln9erVVseJjY1VRESEJMnDw0NhYWFWffLy8rR69WqzDwAAACqOch2+8/LyNHv2bA0ePFhubhdP8h88eFCvvfaatm3bpoSEBH3zzTcaNGiQOnfurFatWkmSevTooWbNmmngwIHasWOHVqxYobFjxyomJsY8K/3UU0/p0KFDevHFF7V37169//77WrRokUaOHGmONWrUKP3nP//R3LlztWfPHj399NNKS0vTkCFDHPvBAAAAgNOV62knq1at0pEjR/Too49atXt4eGjVqlWaOnWq0tLSVLt2bfXp00djx441+7i6uurbb7/V008/rYiICFWqVEmDBw/WxIkTzT716tXTsmXLNHLkSE2bNk21atXSRx99pKioKLPPgw8+qJMnT2rcuHFKTExUmzZttHz58kIX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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "ridge_fig, ax = subplots(figsize=(8,8))\n", "ax.errorbar(-np.log(lambdas),\n", @@ -986,10 +3614,1079 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "id": "fb265379", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:39.356640Z", + "iopub.status.busy": "2023-07-25T23:59:39.356501Z", + "iopub.status.idle": "2023-07-25T23:59:42.482886Z", + "shell.execute_reply": "2023-07-25T23:59:42.482602Z" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.223e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.223e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.223e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.232e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.217e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.232e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.217e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.099e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.232e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.221e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.217e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.878e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.099e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.232e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.221e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.216e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.878e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.099e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.231e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.221e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.216e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.878e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.098e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.231e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.220e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.215e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.877e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.098e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.230e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.219e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.215e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.876e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.097e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.229e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.219e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.214e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.876e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.096e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.228e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.213e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.875e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.095e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.227e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.216e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.211e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.873e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.093e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.225e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.215e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.209e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.872e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.091e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.223e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.212e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.207e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.870e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.089e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.220e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.210e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.204e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.867e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.086e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.217e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.207e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.200e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.864e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.082e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.213e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.203e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.196e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.860e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.077e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.208e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.197e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.190e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.855e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.071e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.201e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.191e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.183e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.849e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.063e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.194e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.183e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.174e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.841e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.054e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.184e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.173e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.163e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.832e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.043e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.172e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.161e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.149e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.820e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.029e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.157e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.146e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.132e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.806e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.012e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.139e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.129e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.112e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.789e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.992e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.117e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.107e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.087e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.769e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.968e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.091e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.081e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.058e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.745e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.939e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.060e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.051e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.024e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.718e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.907e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.024e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.015e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.984e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.686e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.869e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.984e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.975e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.939e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.650e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.828e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.938e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.929e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.888e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.611e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.783e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.888e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.832e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.568e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.734e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.834e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.826e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.772e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.524e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.684e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.778e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.770e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.710e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.478e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.633e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.721e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.713e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.646e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.432e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.582e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.663e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.655e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.582e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.388e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.533e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.607e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.599e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.520e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.345e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.486e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.554e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.545e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.460e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.305e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.443e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.504e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.494e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.404e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.268e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.403e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.457e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.447e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.352e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.234e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.366e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.415e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.405e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.305e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.204e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.333e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.377e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.366e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.262e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.177e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.304e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.343e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.331e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.224e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.154e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.278e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.312e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.300e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.190e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.133e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.255e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.284e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.272e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.159e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.114e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.234e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.260e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.247e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.132e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.098e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.215e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.237e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.225e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.109e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.083e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.198e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.217e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.204e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.088e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.070e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.182e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.198e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.186e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.069e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.058e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.167e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.181e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.169e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.053e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.047e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.153e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.165e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.153e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.038e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.037e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.139e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.149e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.138e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.024e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.027e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.126e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.135e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.124e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.012e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.017e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.114e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.121e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.110e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.001e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.007e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.102e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.108e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.097e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.902e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.982e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.090e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.095e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.084e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.804e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.894e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.078e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.084e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.071e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.713e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.808e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.067e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.073e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.060e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.627e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.727e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.057e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.062e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.048e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.548e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.650e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.047e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.053e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.038e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.474e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.579e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.037e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.045e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.028e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.406e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.514e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.028e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.037e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.019e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.343e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.454e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.019e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.030e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.011e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.286e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.402e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.011e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.024e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.003e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.234e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.355e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.004e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.019e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.969e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.187e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.314e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.966e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.014e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.914e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.145e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.279e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.902e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.010e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.865e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.108e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.249e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.843e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.007e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.824e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.075e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.223e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.790e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.004e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.790e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.047e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.202e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.743e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.001e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.761e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.022e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.184e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.700e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.990e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.737e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.000e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.169e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.663e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.971e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.717e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.982e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.156e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.630e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.956e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.701e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.966e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.146e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.601e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.943e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.688e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.953e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.138e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.575e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.933e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.677e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.942e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.132e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.554e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.924e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.668e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.933e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.126e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.535e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.917e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.661e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.926e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.122e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.520e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.911e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.655e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.920e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.119e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.507e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.906e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.651e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.915e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.116e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.496e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.902e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.647e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.911e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.114e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.487e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.899e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.644e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.907e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.112e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.480e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.897e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.642e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.905e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.111e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.474e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.895e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.640e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.903e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.110e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.469e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.893e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.639e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.901e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.109e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.465e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.892e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.638e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.900e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.108e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.462e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.891e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.637e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.899e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.108e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.460e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.890e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.636e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.898e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.107e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.458e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.890e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.636e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.897e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.107e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.456e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.889e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.635e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.897e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.271e+07, tolerance: 5.332e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n" + ] + }, + { + "data": { + "text/html": [ + "
GridSearchCV(cv=KFold(n_splits=5, random_state=0, shuffle=True),\n",
+       "             estimator=Pipeline(steps=[('scaler', StandardScaler()),\n",
+       "                                       ('ridge',\n",
+       "                                        ElasticNet(alpha=10000000000.0,\n",
+       "                                                   l1_ratio=0))]),\n",
+       "             param_grid={'ridge__alpha': array([2.22093791e+05, 1.76005531e+05, 1.39481373e+05, 1.10536603e+05,\n",
+       "       8.75983676e+04, 6.94202082e+04, 5.50143278e+04, 4.35979140e+04,\n",
+       "       3.45506012e+04, 2.73807606...\n",
+       "       4.67486141e-03, 3.70474772e-03, 2.93594921e-03, 2.32668954e-03,\n",
+       "       1.84386167e-03, 1.46122884e-03, 1.15799887e-03, 9.17694298e-04,\n",
+       "       7.27257037e-04, 5.76338765e-04, 4.56738615e-04, 3.61957541e-04,\n",
+       "       2.86845161e-04, 2.27319885e-04, 1.80147121e-04, 1.42763513e-04,\n",
+       "       1.13137642e-04, 8.96596467e-05, 7.10537367e-05, 5.63088712e-05,\n",
+       "       4.46238174e-05, 3.53636122e-05, 2.80250579e-05, 2.22093791e-05])})
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "GridSearchCV(cv=KFold(n_splits=5, random_state=0, shuffle=True),\n", + " estimator=Pipeline(steps=[('scaler', StandardScaler()),\n", + " ('ridge',\n", + " ElasticNet(alpha=10000000000.0,\n", + " l1_ratio=0))]),\n", + " param_grid={'ridge__alpha': array([2.22093791e+05, 1.76005531e+05, 1.39481373e+05, 1.10536603e+05,\n", + " 8.75983676e+04, 6.94202082e+04, 5.50143278e+04, 4.35979140e+04,\n", + " 3.45506012e+04, 2.73807606...\n", + " 4.67486141e-03, 3.70474772e-03, 2.93594921e-03, 2.32668954e-03,\n", + " 1.84386167e-03, 1.46122884e-03, 1.15799887e-03, 9.17694298e-04,\n", + " 7.27257037e-04, 5.76338765e-04, 4.56738615e-04, 3.61957541e-04,\n", + " 2.86845161e-04, 2.27319885e-04, 1.80147121e-04, 1.42763513e-04,\n", + " 1.13137642e-04, 8.96596467e-05, 7.10537367e-05, 5.63088712e-05,\n", + " 4.46238174e-05, 3.53636122e-05, 2.80250579e-05, 2.22093791e-05])})" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "grid_r2 = skm.GridSearchCV(pipe, \n", " param_grid,\n", @@ -1007,12 +4704,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "id": "79616f48", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:42.484749Z", + "iopub.status.busy": "2023-07-25T23:59:42.484621Z", + "iopub.status.idle": "2023-07-25T23:59:42.586564Z", + "shell.execute_reply": "2023-07-25T23:59:42.586230Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsMAAAK5CAYAAABaNSPlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABtH0lEQVR4nO3dd3xV9f3H8fe52YEMVhL2EAiEPSSg4kSiRarWgaOA/NTWgQvaX/VXBUcrVK2lVZxVBBQFoWiVpSIoCAKC7D1CGJmM7H3P74+QS2ISSLg3OXe8no9HHj0593vO9xNTkne+93u+X8M0TVMAAACAD7JZXQAAAABgFcIwAAAAfBZhGAAAAD6LMAwAAACfRRgGAACAzyIMAwAAwGcRhgEAAOCzCMMAAADwWf5WF+Bp7Ha7jh8/rrCwMBmGYXU5AAAA+AXTNJWdna1WrVrJZjv32C9huI6OHz+utm3bWl0GAAAAzuPIkSNq06bNOdsQhusoLCxMUtl/3PDwcIurAQAAwC9lZWWpbdu2jtx2LoThOiqfGhEeHk4YBgAAcGO1mdLKA3QAAADwWYRhAAAA+CzCMAAAAHwWYRgAAAA+izAMAAAAn0UYBgAAgM8iDAMAAMBnEYYBAADgswjDAAAA8FmEYQAAAPgswjAAAAB8FmEYAAAAPoswDAAAAJ9FGAYAAIDPIgwDAADAZxGGAQAA4LMIwwAAAPBZhGEAAAD4LMIwAAAAfBZhGAAAAD6LMAwAAACfRRgGAACAzyIMAwAAwGcRhgEAAOCzCMMAAADwWYRhAIBHyysqUYcnF6nDk4uUV1RS47m6nneXe9T13gDqhjAMAPAIhL/aqWvQBnwdYRgA4FYIbQ2H/9YAYRgAAPwCIRm+hDAMALAEgQuAOyAMAwCAWuEPGHgjwjAAALhgBGR4OsIwAKDeEZgAuCvCMAAAcDn+AIKnIAwDAADAZxGGAQAA4LMIwwAAoMEwfQLuhjAMAHAZgg4AT0MYBgAAluKPKFiJMAwAAACfRRgGAABuiRFjNATCMAAAAHwWYRgAAAA+izAMAKgz3r6Glfj/H1yJMAwAAACfRRgGAABegRFjXAjCMAAAAHwWYRgAAAA+izAMAAC8FlMncD6EYQAAAPgswjAAAPA5jBijHGEYAHBOhAYA3owwDAAAAJ9FGAYAADiDd0J8D2EYAAAAPoswDAAAcA6MFns3wjAAAAB8FmEYAADgAjBi7B0IwwAAAC5ESPYshGEAAAD4LMIwAABAPWO02H0RhgEAkvhlDViBf3fWIwwDAAC4GUJywyEMAwAAeICaAjLB2TmEYQAAAC9EeK4dwjAAAICPq2twru68p4ZvwjAAAAB8FmEYAAAAPoswDAAAAJ9FGAYAAIDPIgwDAADAZxGGAQAA4LMIwwAAAPBZhGEAAAD4LMIwAPgYd18AHwAaEmEYAAAAPoswDAAAAJ9FGAYAAIDPIgwDAADAZ3l8GJ4+fbo6dOig4OBgxcfHa/369bW67pNPPpFhGLrpppvqt0AAAAC4LY8Ow3PnztWECRM0efJkbdq0SX369FFCQoLS0tLOeV1iYqL+8Ic/aOjQoQ1UKQAAANyRR4fhV199Vffff7/GjRunuLg4vfXWWwoNDdX7779f4zWlpaW6++679dxzz6lTp04NWC0AAADcjceG4aKiIm3cuFHDhg1znLPZbBo2bJjWrl1b43XPP/+8oqKidO+999aqn8LCQmVlZVX6AAAAgHfw2DCckZGh0tJSRUdHVzofHR2tlJSUaq9ZvXq13nvvPb377ru17mfKlCmKiIhwfLRt29apugEAAOA+PDYM11V2drZGjx6td999V82bN6/1dU899ZQyMzMdH0eOHKnHKgEAANCQ/K0u4EI1b95cfn5+Sk1NrXQ+NTVVMTExVdofOHBAiYmJGjlypOOc3W6XJPn7+2vPnj266KKLqlwXFBSkoKAgF1cPAEDDsNtNZReWKDUr33Fuc9Jp+fvZKm3HveXIaTVpFKjQAH8ZhmlFqYAlPDYMBwYGasCAAVq+fLljeTS73a7ly5dr/PjxVdp369ZN27Ztq3Tu6aefVnZ2tv75z38y/QEA4FFM82xgXbI9RSdzipScWaCjp/Ic5we/uFzZhSUyf5Ft7/r3uir3u/Pdquckafg/vldMeLCiw4PVtFGA4/zB9BzFxoQ7+VUA1vPYMCxJEyZM0NixYzVw4EANGjRI06ZNU25ursaNGydJGjNmjFq3bq0pU6YoODhYPXv2rHR9ZGSkJFU5DwCAuygqsWtfarbj8z8t2KqkE3k6mJHrODdx3pZqr80qODvyGxxgU0Fx2TuibZuGKMBmkwzpYHrZfdo0CVFBcalyC0uVX1zquO7oqXwdPZWvX7rhtR/kbzPUrmmo49w3u1I1uGMzRYUHX+BXCzQ8jw7Do0aNUnp6uiZNmqSUlBT17dtXS5cudTxUl5SUJJvNZ6ZFAwA8mN1uVhrV/cOnW3QgLVcHM3JUXHp2aPeLLclVru3fLlKtm4SqVUSwmjUO1IuLd0uSvnzkUkWFBysiJECldlNxk5ZJkpY9frlCA/2VV1TiOPfVE2XnJCmnoFg9n/1KkvTRfYOUmV+i1KyyUef3VidKkkID/ZRXVFoplD/68WZJUquIYPVsHeE4X1xqd/Y/D1BvPDoMS9L48eOrnRYhSStXrjzntR988IHrCwIAVHH89NmRxee+2KlTuUVKzSpwnBs8ZbmC/P0U6GdTgJ/hOP/YJz+rVUSIosKDFRl69i36guJSR3DzRKfzihzHz/53h/an5Whvao5yCs+O5C7ednZlpEZBfsotLButfWJYF8XGhKllRLBunL5GkvThffGO/x55RSWOMNypReNK52vLZjv7PejXrkmle5SH4Q1/vkZZBSXacSxT983aKEnqGt1Y+9NydDyzQMczz35/h0z5VoM7NdOlnZtrYPvIWtcBNATP/UkCAHBr3+xK1YZDp/TD/oxKo4dzN1RdlScrv0RS1bD29c7qdxTt/8I3ig4PUrumoWoVGeI4v/HwKXWJClPjID/nvwAn2e2mkjPP/hHw10W7dCgjV3tTc5SRU+g4P++no47jAD/DMQo88dqu6tk6Ql1jwhQZ4q8ek8tGau+/vJNjVNdKhmGoZUSIIkLO/pHy2cOXyjSlbccyteHQSf39672SpLyiUn27O03f7q78/Vy+K03DuldeIhVoaIRhAPBiFd8G3/l8Qr2Ppm49etpxXP6WuST52QyV2stC3kNXXqSWkSGKCPbXo5+UtfnykUtlM2wqKrUrK79YY95fL0l6ekR3ncorUmpWoVIy87V6/wnHPVOzCpWaVSjplOPc6PfKrgv0PztF7pnPtqt1k1DFhAerSYXR5byiEoUE+Mkwzo6C1tWB9Bxl55coLbtQRypMcRj52modOZWvopKz0wM+WpdU7T3uH9pRPVtHqHvLcEWHB6nPc19Lku4d2vGCRnWt1ijIX4M7NVPvNhGOMLzgwSHaePiUVu8/ofWHTjjmLj/y8c8KDrDpkotqv+Qp4GqEYQCA07YdzdQ/vtlbaeSvQ7NQDe3SQpd1aa6+bSMU/+K3kqTxV3euMrJZ09v5d8W3q3S+PNj/8KerlJFTpKSTeTqQnqNp3+yTVPYQWHJmQaUQumDTsWprHviX5fK3GQoPCVDjoLO/Du9+d538/SoH5NvfWqv84lLlFZVWmsow8rUfqr33gTMPpfnbDJWc+SPgnks6KK5VuLpGh6l1ZLAu/utySdIT13b1yNBbF91bhmtA+6b63eUX6XRekfo+Xxb4W0UG6/jpgkr/v7l/5k+6uX8bJfSIlp/twv9QAWqLMAwAcMr4OT87wozNkM5kPy1+bGi9hbwmjQLVukmo+rSNVF5RiSMMf/XE5Qrws+lgeo4Spq2SJD1ydWedyC1SamaBjmfma1fy2ZUZSuymTuYW6WTu2Tm8Px85XaW/7cezqq0jLNhf0eHBigoLUrPGgY6H2/49ZoBiY8IVEeKv3mdGev/3ulivD721UXHU/usnLlfiiTwt3pas6SsOSJJ+OHBCPxw4oT8vtOnK2BZWlQkfQhgGANRZSYXVAb7dnSabId3Yt7Xuv7yjfvXP1RZWJgX42dS2wnJfD155UbWjyxv+fI1K7Kay8kuUnl2g356ZYvGvO/sqwGZTfnGpJpxZsuzNu/urSaNANQ7yl82QfvWvsq9x3f9dU+ne5WH4ks7N3WJer7szDEM9WkWoY/NGjjD8yNWdtWhbsg6m52rZjrMba/1l0S7dHd9OPVpF1HQ74IIQhgEAdXI6r0gPfrjJ8fmvesVowrVd1TkqzKPCX6Mgf4UG+qtlRNm6u+WGdY92BNnyMHxFbAtGdRvIg1depAnXdtWO41mav/GoPliTKEmasy5Jc9YlqWfrcP2mX2tri4RXIQwDAGptf1qOHvn4Zx0+cfZhsVdu6+PRy5zB/RiGoZ6tI9SpRSNHGB7eI1ordqdp+7EsbT92dtrKliOnNbhTM6cehIRv46cXAKDW7nz3R+UWljoefAIayrRRfZVfVKqFPx/TJxuOaH9ajqSybaR7tArX6MHtNSwuyuIq4YnYng0AcE6meXb3s9zCUg3q2FTzfj/Eworgq5o1DtJ9Qzvp84cvcZwL9Ldpx/EsPfmfbbrqle8srA6eijAMADin91YfchzfPrCNPrw3Xk0bBVpYEXxdxSkRK/9whf7vV93UvlmosgvOzuf+3ayftGJ3mux2s7pbAA5MkwAA1Oibnan6x5llyyTp2V/3UKC/TSVF9nNcBTScyNBA/e7yi3TfZZ30za5U/W522dbQq/ef0Or9J9SuwsoiQHUYGQYAVGtvarYe++RnmQyswQPYbIYu63J2J7uxl7RXWLC/kk6efdjzhS93an9adnWXw4cRhgEAVZzOK9J9M39SblGpBnVoYnU5QJ396bpuWvd/12jyyDjHuY/XH9GwV7/X6PfWaUWFXe/g2wjDAIAqHv9ks5JO5qlt0xD9Y1Rfq8sBLkhooL9GXdzW8fk13aNkM6RV+zL08JyfHedP5xVVdzl8BGEYAFDF+sRTahTop3+PuVhNeFgOXuK1O/vpuz9epd9f3knhIWcfm7rqle/0h0+3aEs1W3HD+/EAHQCgCsOQpt3RT7ExnrWrHHA+bZuG6qlfddfvLu+kAX/5RpJUWGLX/I1HNX/jUfVsFW5xhWhojAwDACRJiRm5juPHrumia+OiLawGqF8hgX6O4zn3xevmfq0V6GfT9uNnd7d7/oud2n4s04ry0IAYGQYASJKmLtntOL5/aEcLKwEaVt92kbqkc3M9PaK7Plp3WK9+Xbac4CcbjuiTDUfUvWWYxRWiPjEyDADQ8l2p+n5fhuPzipsaAL6ifIe7ciN6xSjQz6ZdyWeXY3t87mYt25GiwpJSK0pEPWBkGAB8XEFxqZ7/cqfVZQBu5+Xb+qiw2K55G49oyuKyd06+2pGqr3akKiIkQMN7MJXIGzAyDAA+7r3Vh3T4RJ5ahAVZXQrgdpo0CtTowe0dn4+7tIOiw4OUmV+sT3866jj/ly936of9GSouZXdGT8PIMAB4gbyiEsVNWiZJ2vl8gkIDa/fjPTkzX69/u1+S9IfhXfWnBdvqrUbAG/wxIVZPj4jTuoMnNH/TUf1n0zFJ0pz1RzRn/RFFhgboyq4tLK4SdcHIMAD4sL9/tVf5xaUa2L6Jbujd0upyAI/gZzN0Sefm+stNPR3nbunfWk0bBep0XrE+23zccX7cjA1667sD2p2SVd2t4AYYGQYAH7Z4W4oMQ3r21z14aA5wwgs39VSgn00/HT6lRVuPa/aPSZKkdYdOat2hk5XaLth4VJd2bq6OzRtZUSp+gTAMAD7urkHt1LN1BJtrAE7y97NpcKdm6t0mwhGGn/pVN/144IR+PHhS+cVlK1A88/kOSVLzxkHq3y7ScX1RiV2hbPjY4AjDAODDIkIC9IfhsVaXAXit0YPb6/eXX6TTeUXq+/zXkqQB7Zto27FMZeQU6qudqY62A//6jWKjw9SrdYS6xrC2cUMhDAOAj6n4tPsjV3dWk0YMRQH1LdD/7GNas+8dJJthaNuxTP2wP0PTvinb5KOk1NSO41nacbzy/OLrpq1S1+gwdWwe6jiXW1hS6wdlcW78VwQAH/PVjrMjUbcOaGNhJYDvCg7w08UdmqpHq3BHGP56wuU6kJajbccyteXIaa3ef0KSlHQyT0kn8ypdf/Ffl6t540C1axqqNk3OhuT1h06qY/NGig4PbrgvxsMRhgHAh5imqVlrEx2fVxytAmCt1pEh6hIVput6tqy0XOL79wzUkZP52pmcpbkbjjjaZ+QUKSOnSJuSTjvO3TNjg+O4aYV3fSZ9vl0x4SFqERaksGD/CvcoVMsI3/45QBgGAB+yKemUth1jiSfAkwzu1ExXd/NXXlGJIwyv+7+rlZ5dpMMn8rQ/LVv/ODO63KFZqFKyClRQbNfJ3CLHPeZvPFbtvS9/aaUkqXHQ2Uj4Px9sUGRIoMKC/RUa6Oc4/+lPRxQZGqjGQf7ys51dfebY6Xw1CQ2UaZou+5obEmEYAHzIe6sPWV0CABcICw5QdHjImZVgWjjC8OLHhiokwE+n84p16ESOfvPGWkllzwdk5hcrPbtQqVkFjtFkw5BMU8opPLuazI8HT1bpT5Im/7f6bduvffX7KufiX1yuIH+bgvz9FOB3Nji741xn96oGAFBvjp3K19LtKVaXAaCeGYahJo0CFRQQ7jj34JUXOUJoxSkYWycPV3GpqeTMfI3412pJ0t9u6aWiEruyCkp0MrdQ761OlCRdFdtCBcV25RWVKLugRAczciVJQf42FZZU3oY6u6BE2dXUFuDnflMyCMMA4CM+XHdYdlO65KJmWnPghNXlAHADfjZDYcEBCg44G1JH9mlVKTiXh+Hpd/evNlD/POlaBfv76VRekQb85RtJ0uLHLpPNMFRYbFdmfrHGvL9ekiqNErsLwjAA+IgFZ+YMjh7SnjAMwKVsNkMhFeYXd2jWqFJwLueOO12631g1AKBe5BSWqFOLRhraubnVpQCA2yAMA4AP+Z9LO8pmc7+RGQCwCmEYAHxEREiAbunPJhsAUBFhGAB8xO0D21Sa0wcAIAwDgFfbefzsBht3xbezsBIAcE+EYQDwYp9tPrvrVHR4sIWVAIB7IgwDgJcqtZtssgEA50EYBgAvte7QCWXkFFldBgC4NcIwAHipL7YkW10CALg9wjAAeKHiUruWbCcMA8D5EIYBwAut3p+h03nFatY40OpSAMCtEYYBwAt9eWaKREJctMWVAIB7IwwDgAfJKypRhycXqcOTi5RXVFJtm8LiUn21o2wViet7tWzI8gDA4xCGAcDLrNqfoezCErWMCFa/tpFWlwMAbo0wDABeZsm2slHhG3q3lM1mWFwNALg3wjAAeJmVe9IlSSP7tLK4EgBwf4RhAPAy+cWlat8sVL1aR1hdCgC4PcIwAHihG3q3lGEwRQIAzocwDABeiCkSAFA7hGEA8DIXtWik2Ogwq8sAAI9AGAYAL/OrXkyRAIDa8re6AACA807nFTmOr+8ZY2El8Gahgf5KnDrC6jIAlyIMA4AXWHvwpOO4Q/NGFlYCT1JTuK1L6HXFPQArEYYBwAv8sD+jQfsj6Hged/meuUsdQDnCMAB4ONM0GzwM14SggwvB/29gJcIwAHi4fWk5Ss0qrLf7uyKoEHYaDv+tgbohDAOAh/t+b7rVJcACvhB6feFrhPUIwwDg4b7z0DBM0AHgDgjDAODBCopLtf7QyfM3rAXCqfvie1MZ/z3gSoRhAPBg6w6dVGGJXTHhwUrJKrC6HJcg6ABoSIRhAPBg5fOFL+3cTAs2HbO4GjiLPwScw38/XAi2YwYAD3Y2DDe3uBIA8EyMDAOAh0rOzNe+tBzZDGnIRc2sLqfeedOonzd9Le6O/9Y4H0aGAcBD/bD/hCSpT9tIRYQEWFwNAHgmRoYBwEOtPrPr3OVdWtTpOm8bKXPnr8eda/N1fG9QjpFhAPBQPx4oGxm+vGvdwjAA4CxGhgHAQ2UVlCg82F992kSoqNRudTluxYpRP0YaAc9EGAYAD3ZZl+by97MRhmvJFYGV0Ovd+P76HsIwAHiwus4XRvWqC0CEIsA3EIYBwE3lFZUobtIySdLO5xMUGlj1RzbzhYH6xx9G3o0H6ADAQ3Vq0UitIkOsLgMAPBojwwDgoS5j1znAUowYewdGhgHAQ13iA7vOAUB9Y2QYADxIWlaB47h/uybnbc/IFdDw+HfnWRgZBgAPsinptOO4cTDjGQDgLH6SAoAH2ZR0yuoSAFwARovdFyPDAOBBfq4wMgwAcB4jwwDgIXIKS7QrOcvqMgC4ECPG1iMMA4CH2Jx0WnbT6ioANARCcsMhDAOAh9iQeNLqEgBYiIBcPwjDAOAhNh7m4TkAVRGSnUMYBgAPUFJqZyUJAHVSU0gmPFdGGAYAD7AnNVt5RaUKC/ZXdkGJ1eUA8DK+HJwJwwDgAco32+jbNlKr9mVYWwwAn1ddSPbUQF2rdYaLi4u1adMmbd26VaZZ86PMW7du1axZs1xWHACgzKYz84VrswUzAKD2zhuGP/30U7Vs2VIXX3yx+vXrp3bt2mnOnDnVtl24cKHGjRvn8iIBwNeVjwwPaB9paR0A4G3OOU1i/fr1uvPOO+Xn56drr71WAQEB+uabbzR69GitWrVKb775ZkPVCQA+LT27UAF+hnq2jqj2dXd/GxIA3NU5w/BLL70km82mb7/9VpdeeqkkKSkpSaNHj9Y777yj/Px8zZgxQ4ZhNEixAODLeraOUHCAn9VlAIBXOec0iR9++EE33XSTIwhLUrt27bR8+XLdcccdmjVrlsaMGXPOecQAANe4uENTq0sAAK9zzpHhkydPqkuXLlUv8vfXhx9+qICAAM2aNUt2u12zZ8+utyIBANLA9jw8BwCuds4wHBMTo/T09GpfMwxDM2bMkGmamj17tux2uzp37lwvRQIApAGEYQBwuXOG4W7dumnlypU1vm4Yhj744ANJ0uzZsxUWFubK2gAAZ3Rs3kjNGgcpr4gNNwDAlc45Z/j666/X/v37tWrVqhrblAfiMWPGKDs72+UFAgCk/u0irS4BALzSOUeGb7/9dqWmpurEiRPnvEn5lIkOHTro8OHDLi0QACD1Z4oEANSLc4bhVq1aacqUKbW6kWEYevbZZ11REwBAUmFxqeOYkWEAqB+12o4ZANDwdhzPchy3axpqYSUA4L0IwwDgpn4+swWzJDY3AoB6QhgGADe17Xim1SUAgNfz+DA8ffp0dejQQcHBwYqPj9f69etrbPuf//xHAwcOVGRkpBo1aqS+ffuyWQgAt7XjWNb5GwEAnHLOB+hqkpaWpk8++UQ7duxQSUmJOnXqpBtvvFE9e/as9T1OnTqlxYsX6+67776QEiRJc+fO1YQJE/TWW28pPj5e06ZNU0JCgvbs2aOoqKgq7Zs2bao///nP6tatmwIDA/Xll19q3LhxioqKUkJCwgXXAQCudjK3SMdO51tdBgB4PcM0TbMuFyxcuFBjxoxRXl5eldd++9vf6u2331ZwcHC11+7evVtffPGFvvzyS61du1Z2u10lJRe+gHx8fLwuvvhivf7665Iku92utm3b6pFHHtGTTz5Zq3v0799fI0aM0AsvvFCr9llZWYqIiFBmZqbCw8MvuHYAOJfv9qZr7Ptn3+na+XyCQgP9lVdUorhJyyqdAwBUVpe8Vqefonv37tVdd92lwsLCal//8MMPlZycrGXLljke9ti6das++ugj/ec//9HBgwcdbU3TdOqBkKKiIm3cuFFPPfWU45zNZtOwYcO0du3a815vmqa+/fZb7dmzR3/7299qbFdYWFjp683K4m1LAK5VXcDddvS0tUUBgI+oUxieNm2aCgsLZRiGBgwYoAceeEDt27dXenq6Fi5cqPnz52v58uX64IMPdPXVV2vcuHH67rvvHNdXHITu3bu3RowYccGFZ2RkqLS0VNHR0ZXOR0dHa/fu3TVel5mZqdatW6uwsFB+fn564403dO2119bYfsqUKXruuecuuE4AuBBbjvLwHAA0hDqF4RUrVsgwDA0ZMkSrVq2qNLJ7xx13aMGCBRo1apTeffddvfzyy5VCaUhIiK655hqNGDFCI0aMUJs2bVz3VdRBWFiYNm/erJycHC1fvlwTJkxQp06ddOWVV1bb/qmnntKECRMcn2dlZalt27YNVC0AX7WthjAcGuivxKkXPpAAAKisTmH4yJEjkqTHH3+82ikOt9xyi8aPH69//etfjte7d++uP//5z7r55psVEhLigpLLNG/eXH5+fkpNTa10PjU1VTExMTVeZ7PZ1LlzZ0lS3759tWvXLk2ZMqXGMBwUFKSgoCCX1Q0A55OWVaCUrALZDMlep6c6AAB1Vael1cofmisPk9W57777HMf9+/fXxo0bddddd7k0CEtSYGCgBgwYoOXLlzvO2e12LV++XEOGDKn1fex2e41zoAHACtuOlY0Kd2rR2OJKAMD7XdBjyIGBgTW+1rVrV8fxhAkTalxZwhUmTJigsWPHauDAgRo0aJCmTZum3NxcjRs3TpI0ZswYtW7dWlOmTJFUNv934MCBuuiii1RYWKjFixdr9uzZevPNN+utRgCoq61npkj0bBWu/Wk5FlcDAN7N5WvyVAzKFYNxfRg1apTS09M1adIkpaSkqG/fvlq6dKnjobqkpCTZbGcHv3Nzc/XQQw/p6NGjCgkJUbdu3fThhx9q1KhR9VonANRF+chwj9bh+mzzcYurAQDvdkFhuLZLooWGhl7I7etk/PjxGj9+fLWvrVy5stLnf/nLX/SXv/yl3msCgAtlmqa2nllWrWerCGuLAQAfcEFh+NJLL1WvXr3Uu3dvx//27NlTjRszvw0AnJGSVaCMnCL52wzFxoRZXQ4AeL06h2HTNHX69GmtXr1aq1evdpw3DEPt27dXr169HOcyM1knEwDqYsexso19ukaHKTjAz+JqAMD71SkMv/nmm9q8ebM2b96sbdu2VdqS2TRNHTp0SImJiY5pFJdddpmio6PVt2/fSh/1PZcYADzV9uNlYbh3G6ZIAEBDqFMY/v3vf+84Nk1Te/fudYTj8o9frvubkpKiZcuWadmyZY5zoaGh6tWrl/r166fp06c7+SUAgPfYcebhuV6EYQBoEBe8moRhGIqNjVVsbGyl1RhSU1OrBOR9+/bJbrc72uTm5urHH3/UunXrCMMAUIFjZLh1pLWFAICPcPnSatHR0UpISFBCQoLjXH5+vrZu3VopIG/btk35+fmu7h4APFpmfrEC/WyKjQlTSYVBBABA/XB5GK5OSEiI4uPjFR8f7zhXPs0CAFBZ95ZhCvS3qaSIMAwA9a1O2zG7Uvk0CwBAZcwXBoCGY1kYBgBUj/nCANBwCMMA4GYYGQaAhkMYBgA3EuRvU5codvMEgIZCGAYAN9K9Zbj8/fjRDAANhZ+4AOBGerYOt7oEAPAphGEAcCM9WzFfGAAaEmEYACxWajcdxz0YGQaABtUgm24AAGp2KCPXcdyhWSPHcWigvxKnjrCiJADwGYwMA4DFdqdkOY79bIaFlQCA76n1yHBSUlK9FNCuXbt6uS8AeIrdydlWlwAAPqvWYbhjx44u79wwDJWUlLj8vgDgSfakEIYBwCq1DsOmaZ6/EQCgznYThgHAMrUOwzNmzDjn62+88YY2bNiggIAADR8+XIMGDVJ0dLQkKTU1VRs2bNBXX32l4uJiDRw4UA899JBzlQOAF0jLLtCJ3CKrywAAn1XrMDx27NgaX7v33nv1008/afjw4XrvvffUunXratsdO3ZM999/v5YtW6ZVq1bp3//+d90rBgAvsvN41vkbAQDqjdOrScyfP18zZszQwIEDtWjRohqDsCS1bt1aX3zxhQYMGKAZM2Zo3rx5znYPAB5tFw/PAYClnA7Db7/9tgzD0IQJE+Tn53fe9n5+fpo4caJM09Q777zjbPcA4NF2JTMyDABWcjoMb926VZLUtWvXWl9T3nbbtm3Odg8AHm0nYRgALOX0DnTZ2WVv8aWlpdX6mvK25dcCgC/IKypR3KRlkqSdzyfIZhg6mJ5jcVUA4NucHhlu3769JGnWrFm1vqa8LRtuAPBle1KyZTelpo0CrS4FAHyW02H4xhtvlGma+uSTT/TSSy+dt/0rr7yijz/+WIZh6Oabb3a2ewDwWOXzhbvFhFlcCQD4LqenSTz55JOaPXu2UlJS9NRTT+njjz/W2LFjdfHFFysqKkqGYTjWGZ49e7Y2b94sSYqJidGf/vQnZ7sHAI9VPl84NiZMaw6csLgaAPBNTofhyMhIffPNN0pISNDRo0e1detWTZw4scb2pmmqTZs2Wrp0qSIjI53tHgA8FiPDAGA9p6dJSFL37t21Y8cOTZw4UZGRkTJNs9qPyMhITZgwQdu3b1dcXJwrugYAj2S3m441hgnDAGAdp0eGy4WFhenll1/Wiy++qI0bN2rbtm06efKkJKlJkybq1auXBgwYoMBAHhQBgGOn85VTWKJAf5s6NG9kdTkA4LNcFobLBQQEaPDgwRo8eLCrbw0AXmN3StmocNfoxgrwc8mbdACAC8BPYACwQHkY7h4TbnElAODbXD4yfODAAa1du1YpKSnKy8vTQw89pObNm7u6GwDwaLtTyh6ei2tFGAYAK7ksDG/atEmPP/64fvjhh0rnb7311kphePr06XruuecUERGhnTt3KiAgwFUlAIDH2FM+MtySMAwAVnLJNIkvv/xSl156qX744YdKq0dUZ8yYMcrPz9fBgwf15ZdfuqJ7APA4x08XSCIMA4DVnA7DycnJuvPOO1VYWKi4uDgtWbJE2dnZNbYPCwvTr3/9a0nSkiVLnO0eADxW68gQRYTw7hgAWMnpMPyPf/xDubm5at++vVatWqWEhAQ1anTuZYKuvPJKmaapjRs3Ots9AHgs5gsDgPWcDsNLly6VYRiODTdqo1u3bpKkQ4cOOds9AHgspkgAgPWcfoDu8OHDkqRBgwbV+prw8LJfADk5Oc52DwAeK65l2c5zoYH+Spw6wuJqAMA3OT0yXFJSIkmy2+21viYzM1OS1LhxY2e7BwCPFdcywuoSAMDnOR2GY2JiJEkHDx6s9TXr16+XJLVr187Z7gHAIzUK8lObJiFWlwEAPs/pMDx06FCZpqlPP/20Vu2Lior09ttvyzAMXXnllc52DwAeKTY6TDabYXUZAODznA7D99xzjyTpv//9r77++utzti0qKtKYMWN04MABGYah+++/39nuAcAjdYsJs7oEAIBcEIavvPJKjRo1SqZpauTIkfrTn/7kmAYhSYmJiVqzZo1efvll9ejRQ59++qkMw9ADDzygHj16ONs9AHikbqwkAQBuwTBr2iquDgoLC3XLLbdo8eLFMoya3/Yr7+o3v/mN5s6dKz8/P2e7bnBZWVmKiIhQZmamY1UMAKiNvKISxU1aJkn65HfxGtyp+XmuAABciLrkNZdsxxwUFKQvv/xSb7/9tjp16lRpS+aKH23atNEbb7yh+fPne2QQBgBnnMgpdBx3iWKaBAC4A6fXGa7o/vvv1/3336+dO3fqp59+UlpamkpLS9WsWTP169dP/fv3P+fIMQB4s72pZ9dWDwlkQAAA3IFLw3C5uLg4xcXF1cetAcBj7UvNtroEAMAvOB2Gv//+e0nSxRdfrJCQ2q2ZWVBQ4HjI7vLLL3e2BADwCHvT2HUTANyN02H4yiuvlM1m09atW2s9Gnzs2DHHdeU72AGAt9uXShgGAHfjkgfoLnRBChcsZAEAHsFuN7U/nTAMAO7GJWG4rux2uySxogQAn3HkVJ7yi0qtLgMA8AuWhOHDhw9LkiIiIqzoHgAa3O4UHp4DAHdU5znDSUlJ1Z5PTk5W48aNz3ltYWGhDhw4oGeeeUaGYbADHQCfsYcwDABuqc5huGPHjlXOmaap4cOH17nzMWPG1PkaAPBEe1hWDQDcUp3DcE0PvdXlYbjg4GA9+uij+p//+Z+6dg8AHomRYQBwT3UOwzNmzKj0+bhx42QYhl544QW1bt26xusMw1BwcLBatmypfv36nXdKBQB4i8KSUh3KyLW6DABANeochseOHVvp83HjxkmSbrrpJnadA4Bq7E/LUandVHiIv7LyWVsdANyJ05turFixQlL1c4kBwBflFZUobtIySdLO5xMcUyS6RoXpp8OnrCwNAPALTofhK664whV1AIDXKg/DXaIbE4YBwM1Yss4wAPiS8pUkukSHWVwJAOCXnB4Zrsg0TW3evFlbtmxRRkaG8vPzz7vKxKRJk1xZAgC4nbPTJHhwGADcjcvC8MyZM/Xcc885dperLcIwAG+WmV+s5MwCSWXTJAAA7sUlYfjPf/6zpk6dWqu1hg3DqNOaxADgyfal5kiSWkeGKCw4wOJqAAC/5PSc4XXr1mnKlCmSpGuvvVabN2/Wpk2bJJUF39LSUqWnp2vJkiX69a9/LdM0ddlllyk5OVl2u93Z7gHAre1LK5siERvDfGEAcEdOh+E333xTktS+fXstWrRIvXv3VkDA2dEPwzDUrFkzJSQk6LPPPtP06dO1evVqXXfddSoqKnK2ewBwa+Ujw115eA4A3JLTYXjNmjUyDEOPPvqo/P3PP+viwQcf1C233KKtW7fqjTfecLZ7AHBre8+sJNEtJkyhgf5KnDpCiVNHKDTQpc8vAwAukNNhODk5WZLUo0ePsze1nb1tcXFxlWtGjx4t0zQ1d+5cZ7sHALe2L61sZJhpEgDgnpwOw+VhNyoqynGuceOzT0ynp6dXuaZNmzaSpP379zvbPQC4teyCEvnbDF3UgpUkAMAdOR2GW7RoIUnKyspynIuOjpafn58kadeuXVWuKR9Nzs7OdrZ7AHB7nVo0UqA/exwBgDty+qdz+fSI3bt3O84FBgY6zlc3FWL27NmSpFatWjnbPQC4vdiYcKtLAADUwOkwPHToUJmmqRUrVlQ6P2rUKJmmqffff1+TJ0/Wjh07tH79ej300EOaN2+eDMPQ9ddf72z3AOD2YtlsAwDclmE6uQPGjh071KtXLzVu3FhHjx5VeHjZCEheXp569uypxMREGYZR6RrTNNW0aVNt3rzZMX/YU2RlZSkiIkKZmZmOrxUAKsorKlHcpGWOz98dM1DXxkVbWBEA+Ja65DWXTJNYsWKFFi5cqJKSEsf50NBQrVixQpdeeqlM06z00bNnTy1fvtzjgjAAXIhurCQBAG7LJQtdXnHFFdWeb9++vVatWqU9e/Zox44dKikpUZcuXdSvXz9XdAsAbi800E+tI0OsLgMAUIMGWfU9NjZWsbGxDdEVALiVLlGNZbMZ528IALAEa/0AQD1iG2YAcG+EYQCoR52jWEkCANxZradJJCUl1UsB7dq1q5f7AoA76MKyagDg1modhjt27Ojyzg3DqLQCBQB4g/yiUsdxF0aGAcCt1ToMO7kcMQD4jIMZOY7jZo2DLKwEAHA+tQ7DM2bMOOfrb7zxhjZs2KCAgAANHz5cgwYNUnR02SLzqamp2rBhg7766isVFxdr4MCBeuihh5yrHADc1L7UnPM3AgC4hVqH4bFjx9b42r333quffvpJw4cP13vvvafWrVtX2+7YsWO6//77tWzZMq1atUr//ve/614xALi5fWmEYQDwFE6vJjF//nzNmDFDAwcO1KJFi2oMwpLUunVrffHFFxowYIBmzJihefPmOds9ALgdRoYBwHM4HYbffvttGYahCRMmyM/P77zt/fz8NHHiRJmmqXfeecfZ7gHA7exnZBgAPIbTYXjr1q2SpK5du9b6mvK227Ztc7Z7AHArmfnFSskqsLoMAEAtOR2Gs7OzJUlpaWm1vqa8bfm1AOAt9qXycw0APInTYbh9+/aSpFmzZtX6mvK2bLgBwNvsIQwDgEdxOgzfeOONMk1Tn3zyiV566aXztn/llVf08ccfyzAM3Xzzzc52DwBuZW8KYRgAPIlhOrmbxunTp9WjRw+lpKRIknr37q2xY8fq4osvVlRUlAzDcKwzPHv2bG3evFmmaaply5basWOHIiMjXfF1NJisrCxFREQoMzNT4eHhVpcDwM3c8c5a/XjwpOPznc8nKDSw1qtYAgBcoC55zemf0JGRkfrmm2+UkJCgo0ePauvWrZo4cWKN7U3TVJs2bbR06VKPC8IAcC6maWoPI8MA4FGcniYhSd27d9eOHTs0ceJERUZGyjTNaj8iIyM1YcIEbd++XXFxca7oGgDcRkZOkU7lFcswrK4EAFBbLnvvLiwsTC+//LJefPFFbdy4Udu2bdPJk2VvFTZp0kS9evXSgAEDFBgY6KouAcCt7D3z8Fy7pqE6fCLP4moAALXh8olsAQEBGjx4sAYPHuzqWwOA28krKlHcpGWSpKeu7yZJ6hLVmDAMAB7CJdMkAADSvrSykeEuUY0trgQAUFuEYQBwkX2pZdswd44Os7gSAEBt1XqaRFJSkuO44mYZFc9fCDbeAOAt9qWVheHerSOUOHWExdUAAGqj1mG4Y8eOkiTDMFRSUlLl/IX45b0AwJPlFZUqwM9Qh+aNrC4FAFBLtQ7DNe3N4eSeHQDgVS5q0VgBfsxAAwBPUeswPGPGjDqdBwBf1JX5wgDgUWodhseOHVun8w1l+vTpevnll5WSkqI+ffrotdde06BBg6pt++6772rWrFnavn27JGnAgAF68cUXa2wPAHUVG0MYBgBP4tHv5c2dO1cTJkzQ5MmTtWnTJvXp00cJCQlKS0urtv3KlSt15513asWKFVq7dq3atm2r4cOH69ixYw1cOQBvxcgwAHgWw/TgSb/x8fG6+OKL9frrr0uS7Ha72rZtq0ceeURPPvnkea8vLS1VkyZN9Prrr2vMmDG16jMrK0sRERHKzMxUeHi4U/UD8HwVN92QpO//eJXaNQu1sCIAQF3y2gUtreZKF7q0WlFRkTZu3KinnnrKcc5ms2nYsGFau3Ztre6Rl5en4uJiNW3a9IJqAICKQgL81KZJiNVlAADqoM5Lq7mSM0urZWRkqLS0VNHR0ZXOR0dHa/fu3bW6x5/+9Ce1atVKw4YNq7FNYWGhCgsLHZ9nZWVdUL0AvF/nqEay2QyrywAA1EGt5wybplkvH1aZOnWqPvnkEy1cuFDBwcE1tpsyZYoiIiIcH23btm3AKgF4ks5RzBcGAE/j9NJqVmnevLn8/PyUmppa6XxqaqpiYmLOee0rr7yiqVOn6ptvvlHv3r3P2fapp57ShAkTHJ9nZWURiAFUq0tUY6tLAADUkdNLq1klMDBQAwYM0PLly3XTTTdJKnuAbvny5Ro/fnyN17300kv661//qmXLlmngwIHn7ScoKEhBQUGuKhuAF+sSTRgGAE9T6zDsjiZMmKCxY8dq4MCBGjRokKZNm6bc3FyNGzdOkjRmzBi1bt1aU6ZMkST97W9/06RJkzRnzhx16NBBKSkpkqTGjRurcWN+iQGou8LiUscxI8MA4Hk8OgyPGjVK6enpmjRpklJSUtS3b18tXbrU8VBdUlKSbLaz06LffPNNFRUV6dZbb610n8mTJ+vZZ59tyNIBeImDGbmO4xZhvIsEAJ7Go8OwJI0fP77GaRErV66s9HliYmL9FwTAp+xLy3EcGwYrSQCAp3FpGDZNU5s3b9aWLVuUkZGh/Pz8864YMWnSJFeWAAANal9qttUlAACc4LIwPHPmTD333HM6fPhwna4jDAPwZHtTc87fCADgtlwShv/85z9r6tSptVo32DAMS9cXBgBX2kcYBgCPVutNN2qybt06x2oN1157rTZv3qxNmzZJKgu+paWlSk9P15IlS/TrX/9apmnqsssuU3Jysux2u7PdA4BlMvOLlZJVYHUZAAAnOB2G33zzTUlS+/bttWjRIvXu3VsBAQGO1w3DULNmzZSQkKDPPvtM06dP1+rVq3XdddepqKjI2e4BwDJ7mS8MAB7P6TC8Zs0aGYahRx99VP7+55918eCDD+qWW27R1q1b9cYbbzjbPQBYZncKYRgAPJ3TYTg5OVmS1KNHj7M3rbC2b3FxcZVrRo8eLdM0NXfuXGe7BwDL7EnJsroEAICTnA7D5WE3KirKca7ibm7p6elVrmnTpo0kaf/+/c52DwCW2ZvCw3MA4OmcDsMtWrSQJGVlnR0hiY6Olp+fnyRp165dVa4pH03OzuYtRgCeyTRN7WZkGAA8ntNhuHx6xO7dux3nAgMDHeermwoxe/ZsSVKrVq2c7R4ALJGSVaCsghL52dh1DgA8mdNheOjQoTJNUytWrKh0ftSoUTJNU++//74mT56sHTt2aP369XrooYc0b948GYah66+/3tnuAcAS5Q/PtW8WanElAABnGKaTO2Ds2LFDvXr1UuPGjXX06FGFh4dLkvLy8tSzZ08lJibKMCqPnJimqaZNm2rz5s2O+cOeIisrSxEREcrMzHR8rQB8z9vfHdCUJbt1Xc8YLd2eIkna+XyCQgNduss9AOAC1CWvuWSaxIoVK7Rw4UKVlJQ4zoeGhmrFihW69NJLZZpmpY+ePXtq+fLlHheEAaDcnjMjw12jGp+nJQDAnblkCOOKK66o9nz79u21atUq7dmzRzt27FBJSYm6dOmifv36uaJbALBM+TSJztGEYQDwZA3yfl5sbKxiY2MboisAqHclpXbtTy9bVq1rdJjF1QAAnMHkNgCohbyiEsVNWiZJ+vKRS1VUYldooJ/aRIZYXBkAwBlOzxl+6623dPLkSVfUAgAeYW9q2ahwl+gwNQ4OUOLUEUqcOoKH5wDAAzkdhh966CG1bNlSv/71rzV37lwVFBS4oi4AcFv7UsvmC8cyXxgAPJ7TYVgq25J50aJFuuuuuxQdHa2xY8fqq6++kt1ud8XtAcCt7EsrGxmOjWF5RQDwdE6H4TVr1ujhhx9WixYtZJqmsrOz9eGHH+r6669X69at9cQTT2jDhg2uqBUA3EL5NIluMTw8BwCezukwPHjwYL322ms6duyYlixZot/+9rdq1KiRTNNUamqq/vWvf2nw4MHq2rWrnn/+ee3fv98VdQOAZY6cypMkxRKGAcDjuWSahCT5+fkpISFBs2bNUlpamj755BONHDlSAQEBMk1T+/fv13PPPafY2FjFx8frtddeU1pamqu6B4AGY5pSs0aBat44yOpSAABOclkYrig4OFi33367Pv/8cyUnJ+vtt9/W5ZdfLqlsK+YNGzbo8ccfV9u2beujewCod4wKA4B3qJcwXFGTJk10//33a+XKlUpKStLf/vY3RUZGyjTNSts3A4AnIQwDgHdosEUxt2/fro8++kgff/yxMjMzG6pbAKgXPDwHAN6hXsNwUlKSPv74Y82ZM0fbt2+XVDZNQpJCQkI0cuTI+uweAOoN2zADgHdweRg+deqU5s2bp48++khr1qyRaZqOAOzn56err75ad999t37zm9+ocWMWrAfgmQjDAOAdXBKG8/Pz9fnnn2vOnDn66quvVFxcLOnsKPDAgQN1991364477lB0dLQrugQAy7RtEqJGQWy9DADewOmf5qNHj9bnn3+u3NxcSWcD8EUXXaS7775bd999t7p06eJsNwDgNrowKgwAXsPpMPzRRx85jqOiojRq1CjdfffdGjRokLO3BgC31CWKKV4A4C2cDsONGjXSzTffrLvvvlvDhg2Tn5+fK+oCALfVNZowDADewukwnJaWppCQEFfUAgBuy243HcdMkwAA7+H0phsEYQC+4OjpfMdxh2ahFlYCAHCletuB7vjx4/qf//kf3XvvvfXVBQA0mD0p2Y5jf79637wTANBA6u0n+qlTp/TBBx/ogw8+qK8uAKDB7K4QhgEA3oPhDQCohT2EYQDwSoRhAKgFwjAAeCfCMACcR1ZBsY5VeIAOAOA9CMMAcB67kxkVBgBvRRgGgPPYlZxldQkAgHri9KYbNWnSpInGjBkjwzDqqwsAaBCEYQDwXvUWhlu1asWyagC8AmEYALxXg02TKCwsVGpqqux2e0N1CQBOK7Wb2pPKnGEA8FZOh+GcnBwtXrxYixcvVk5OTpXXMzIydMsttyg8PFytWrVSkyZNNHHiRBUWFjrbNQDUu0MZuSootiskwM/qUgAA9cDpaRILFizQuHHj1KZNGyUmJlZ6zW636/rrr9emTZtkmqYkKTs7W9OmTVNiYqIWLFjgbPcAUK/Kp0h0iW6srUczLa4GAOBqTo8ML1u2TJJ08803y2arfLu5c+dq48aNkqT+/fvriSeeUP/+/WWapj777DMtXbrU2e4BoF6Vh+HYmDCLKwEA1AenR4a3b98uwzB0ySWXVHlt1qxZkqQBAwZozZo18vf3V3FxsYYOHaoNGzZo5syZuu6665wtAQDqTXkY7kYYBgCv5PTIcFpamiSpY8eOlc4XFxfr+++/l2EYevjhh+XvX5a7AwIC9MADD8g0Ta1fv97Z7gHApfKKStThyUXq8OQi5RWVaNeZDTdiownDAOCNnB4ZPnnypCQpMDCw0vkNGzYoPz9fhmFUGf3t2rWrJCklJcXZ7gGg3pzKLVJKVoEkqW+7JkqcOsLiigAArub0yHBoaKiksyPE5b7//ntJUufOnRUdHV3ptZCQEGe7BYB6tzulbFS4XdNQNQ6qt2XZAQAWcjoMX3TRRZKklStXVjq/cOFCGYahyy+/vMo16enpkqSoqChnuweAerPnTBju3pIpEgDgrZwOw9dee61M09Qbb7yhJUuWKCcnR6+99po2bNggSRo5cmSVa7Zu3SqpbJc6AHBX5ZttdG8ZbnElAID64vT7fo899pjeeustZWdn64Ybbqj0Wvfu3asNw4sWLZJhGOrXr5+z3QNAvdmdQhgGAG/n9Mhwy5Yt9cUXXygmJkamaTo+OnXqpPnz58swjErtDxw4oFWrVkmShg0b5mz3AFBvDqSX7aoZRxgGAK/lkidChg4dqkOHDumHH35QSkqKWrZsqcsuu8yxnFpFycnJeuaZZyRJw4cPd0X3AFAvSkpNhQX5q00THvoFAG/lssejAwMDddVVV5233WWXXabLLrvMVd0CQL3q1jKsyjtcAADv4fQ0CQDwZswXBgDv1mBhuLCwUKmpqbLb7Q3VJQA4jTAMAN7N6TCck5OjxYsXa/HixcrJyanyekZGhm655RaFh4erVatWatKkiSZOnKjCwkJnuwaAekcYBgDv5vSc4QULFmjcuHFq06aNEhMTK71mt9t1/fXXa9OmTTJNU5KUnZ2tadOmKTExUQsWLHC2ewCoNzZDio1mww0A8GZOjwwvW7ZMknTzzTfLZqt8u7lz52rjxo2SpP79++uJJ55Q//79ZZqmPvvsMy1dutTZ7gGg3rRv1kghgX5WlwEAqEdOjwxv375dhmHokksuqfLarFmzJEkDBgzQmjVr5O/vr+LiYg0dOlQbNmzQzJkzdd111zlbAgDUi9gYRoUBwNs5PTKclpYmSerYsWOl88XFxfr+++9lGIYefvhhx5rDAQEBeuCBB2SaptavX+9s9wBQb5giAQDez+kwfPLkSUll6wxXtGHDBuXn50tSldHfrl27SpJSUlKc7R4A6k1cK8IwAHg7p8NwaGiopLMjxOW+//57SVLnzp0VHR1d6bWQEHZzAuCecgpKHMc9WkVYWAkAoCE4HYYvuugiSdLKlSsrnV+4cKEMw9Dll19e5Zr09HRJUlRUlLPdA4BL7UrOchw3bRR4jpYAAG/gdBi+9tprZZqm3njjDS1ZskQ5OTl67bXXtGHDBknSyJEjq1yzdetWSVKrVq2c7R4AXGpnhTAMAPB+Tq8m8dhjj+mtt95Sdna2brjhhkqvde/evdowvGjRIhmGoX79+jnbPQC41I7jhGEA8CVOjwy3bNlSX3zxhWJiYmSapuOjU6dOmj9/vgzDqNT+wIEDWrVqlSRp2LBhznYPAC61kzAMAD7F6ZFhSRo6dKgOHTqkH374QSkpKWrZsqUuu+wyx3JqFSUnJ+uZZ56RJA0fPtwV3QOAS+QUlujQiVyrywAANCCXhGGpbGm1q6666rztLrvsMl122WWu6hYAXGbn8Syd2TkeAOAjnJ4mAQDeYtuxTKtLAAA0MJeNDFeUmpqq7du3OzbkaNq0qXr27FllvWEAcCfbCcMA4HNcFoZN09Q777yj119/XTt37qy2TVxcnB555BHdf//9VR6sAwCrMTIMAL7HJdMkTp06pcsvv1wPPfSQdu7cWWlViYofO3fu1IMPPqjLL79cp0+fdkXXAOASeUUlOpCeY3UZAIAG5vTIsGmauvHGG/XDDz9Ikpo1a6bbb79d8fHxiomJkSSlpKRo/fr1mjdvnjIyMrRmzRrdeOON+u6775ztHgBcovzhuaiwIKVlF1pdDgCggTgdhufMmaPVq1fLMAzdddddeuONNxQWFlal3ZgxYzR16lQ9/PDDmj17tlavXq2PP/5Yd955p7MlAMAFySsqUdykZZKkp37VTZIU1zJcadnpVpYFAGhATk+TmDNnjiTpiiuu0OzZs6sNwuUaN26smTNn6oorrpBpmvrwww+d7R4AXKJ8s424VuEWVwIAaEhOjwxv2rRJhmFo/Pjxtb7mkUce0Xfffaeff/7Z2e4BwCXKt2Hu366JEqeOsLgaAEBDcXpkuHz5tI4dO9b6mvK25dcCgNUOnnl4rlebCIsrAQA0JKfDcERE2S+O48eP1/qa5ORkSVJ4OG9HAnAPdlNqERak6PBgq0sBADQgp8Nwz549JUkzZsyo9TXlbcuvBQB30Ks1o8IA4GucDsO33nqrTNPUwoUL9eyzz8o0zXO2f+GFF7RgwQIZhqHbbrvN2e4BwGV6EoYBwOcY5vnS63kUFxerd+/e2rNnjwzDUI8ePXTPPfcoPj5eUVFRMgxDqampWrdunWbOnKnt27fLNE11795dW7Zskb9/vewIXW+ysrIUERGhzMxMpnkAHq7i0mqS9O6Ygbo2jm3jAcDT1SWvOZ1EAwICtGTJEl1zzTU6dOiQduzYoT/+8Y81tjdNU506ddKSJUs8LggD8G49W/MHLgD4Gpdsx9yhQwdt3bpVEydOVERERI3bMUdEROgPf/iDNm/erHbt2rmiawBwiWaNAhXDw3MA4HNcNjTbqFEjvfzyy/rrX/+qjRs3avv27Y6l05o2baqePXtqwIABCgwMdFWXAOAyca3CZRiG1WUAABqY02F41qxZkqTY2FjFx8crMDBQQ4YM0ZAhQ5wuDgAaSg92ngMAn+T0NIl77rlH48aN0+HDh11RDwBYgm2YAcA3uWzTjS5dujhdDAA0pILiUscxI8MA4JucDsPlWyufOnXK6WIAoCHtScl2HPPwHAD4JqfD8M033yzTNPXFF1+4oh4AaDDbj2c6jnl4DgB8k9Nh+LHHHlP79u315ptvavny5a6oCQAaxJYjmedvBADwak6H4fDwcH399dfq1q2brrvuOv3ud7/TypUrdfLkyfNuzQwAVtpy5LTVJQAALOb00mp+fn6OY9M09d577+m9996r1bWGYaikpMTZEgCgzjJyCnXkVL7VZQAALOZ0GP7l6C+jwQA8wc9Jp60uAQDgBpwOw5MnT3ZFHQDQoH5OYgUcAABhGICP2kQYBgDIBQ/QAYCnKSm1a+tRVpIAABCGAfigvak5yisqVeMgp98cAwB4uDqH4SVLlqh///7q37+/5syZU6dr58yZ47j2m2++qWvXAOAS5VMkerWOsLgSAIDV6hSGTdPUE088oS1btqhFixa666676tTZnXfeqebNm2vz5s2aOHFina4FAFcpX0miT1vCMAD4ujqF4W+//VZ79+6VzWbTP/7xjzp3ZhiGpk2bJj8/P23fvl3fffddne8BAHWVV1SiDk8uUocnFymvqMSxkkSftpHWFgYAsFydwvCCBQskSddee63i4uIuqMO4uDglJCRIkubPn39B96ho+vTp6tChg4KDgxUfH6/169fX2HbHjh265ZZb1KFDB0cwB+BbTucV6WBGriSpTxtGhgHA19UpDK9fv16GYWjkyJFOdXrDDTfINE39+OOPTt1n7ty5mjBhgiZPnqxNmzapT58+SkhIUFpaWrXt8/Ly1KlTJ02dOlUxMTFO9Q3AM205s4pEp+aNFBkaaHE1AACr1SkMHz58WJIUGxvrVKddu3aVJCUmJjp1n1dffVX333+/xo0bp7i4OL311lsKDQ3V+++/X237iy++WC+//LLuuOMOBQUFOdU3AM+09chpSVLfdpGW1gEAcA91WlcoM7NsRKVp06ZOdVp+fVZW1gXfo6ioSBs3btRTTz3lOGez2TRs2DCtXbvWqfoqKiwsVGFhoeNzZ2oGYL3NR8p+jvVv10Shgf5KnDrC4ooAAFaq08hweHi4JOn06dNOdVp+fVhY2AXfIyMjQ6WlpYqOjq50Pjo6WikpKc6UV8mUKVMUERHh+Gjbtq3L7g2g4W09dlqS1I+RYQCA6hiGW7RoIUnauXOnU53u2rVLkhQVFeXUfRrCU089pczMTMfHkSNHrC4JgBNyC0sVGuin2OgL/2McAOA96hSGBw0aJNM09cUXXzjV6eeffy7DMHTxxRdf8D2aN28uPz8/paamVjqfmprq0ofjgoKCFB4eXukDgGfr3SZC/n5swAkAqGMYvv766yVJX331lVavXn1BHX7//ff66quvKt3vQgQGBmrAgAFavny545zdbtfy5cs1ZMiQC74vAO/Xr10Tq0sAALiJOoXh8jV6TdPUbbfdpn379tWps7179+r222+XYRjq0KGDbr311jpd/0sTJkzQu+++q5kzZ2rXrl168MEHlZubq3HjxkmSxowZU+kBu6KiIm3evFmbN29WUVGRjh07ps2bN2v//v1O1QHAs/QnDAMAzqhTGA4ICNArr7wiSUpLS9OAAQP0z3/+U7m5uee8LicnR9OmTdPAgQMdawD//e9/l79/nRazqGLUqFF65ZVXNGnSJPXt21ebN2/W0qVLHQ/VJSUlKTk52dH++PHj6tevn/r166fk5GS98sor6tevn+677z6n6gDgWXh4DgBQzjBN06zrRS+88IImT54swzAkSY0aNdLQoUM1YMAARUVFqVGjRsrNzVVqaqo2bdqkVatWKTc3V+VdPf/883r66add+5U0kKysLEVERCgzM5P5w4CHyCsqUdykZZKktk1CtOpPV1tcEQCgPtUlr13Q0OwzzzyjNm3a6JFHHlFeXp5ycnK0dOlSLV26tNr25SE4NDRUr7/+uu65554L6RYAnNa7baTVJQAA3MgFP049btw47d27VxMmTFDz5s1lmmaNH82bN9fEiRO1d+9egjAAS/VpE2F1CQAAN+LUpN1WrVrplVde0SuvvKIdO3Zoy5YtOnHihLKzsxUWFqZmzZqpT58+6tGjh6vqBYA6s9vPzgbry8gwAKAC555gq6BHjx6EXgBuaX96juO4K5ttAAAqYNV5AF5v/aGTjuNAf37sAQDO4rcCAK+3IfHk+RsBAHwSYRiAV7PbTW1IPGV1GQAAN0UYBuDV9qZl63ResdVlAADcFGEYgFf78cAJq0sAALgxwjAAr/bjQeYLAwBqRhgG4DXyikrU4clF6vDkIuUVlchuN7XuECPDAICaEYYBeK29adk6lVeskAA/q0sBALgpwjAAr1U+X7h/u0hrCwEAuC3CMACvVT5f+OKOTS2uBADgrgjDALyS3W7qxzPzhQd1IAwDAKpHGAbglfal5eh0XrFCA/3Uo3W41eUAANwUYRiAV1p/ZgvmgR2aKsCPH3UAgOrxGwKAV9pwqCwMD+7EFAkAQM38rS4AAOrDhsRTkqTBnZopNNBfiVNHWFwRAMAdMTIMwCtl5pfNF+7VOsLqUgAAbowwDMBrMV8YAHA+/JYA4LWYLwwAOB/CMACvNbhTM6tLAAC4OcIwAK8UwnxhAEAtEIYBeKUB7SKZLwwAOC9+UwDwSoM6Ml8YAHB+hGEAXqOoxO44Zr4wAKA2CMMAvMbGw6ccx3Etwy2sBADgKQjDALzG9/vSHcc2m2FhJQAAT0EYBuA1Vu3NsLoEAICH8be6AAC4EHlFJYqbtEyStPP5BGVkF+lgRq7FVQEAPA0jwwC8wsq9aVaXAADwQIRhAF5hxW7CMACg7gjDADxeflGp1hw4YXUZAAAPRBgG4PHWJ55UYYldLSOCrS4FAOBhCMMAPN6qvWVLql3etYXFlQAAPA1hGIDH++7MkmqXd2lucSUAAE9DGAbg8Y6dzlegv03xnZpaXQoAwMMQhgF4hcGdmik0kKXTAQB1QxgG4BWuimW+MACg7gjDALzCVbFRVpcAAPBAvKcIwOO1bxaqDs0bSZISp46wuBoAgCdhZBiAx2MVCQDAhSIMA/BIpmk6jq9gfWEAwAUiDAPwSHtSsx3HAzuwpBoA4MIQhgF4pOW70hzHgf78KAMAXBh+gwBwa3lFJerw5CJ1eHKR8opKJJVNkViyPcXiygAA3oAwDMDj7EnN1sH0XKvLAAB4AcIwAI/z5ZZkq0sAAHgJwjAAj2Kapr7YetzqMgAAXoIwDMCjbD+WpcMn8hQS4Gd1KQAAL0AYBuBRvjwzKnxFLGsLAwCcRxgG4DFM09SXW8vmC1/fM8biagAA3oAwDMBjbDmSqWOn89Uo0E9D2YIZAOAChGEAHmPJ9rJR4WvjohXMnGEAgAsQhgF4jGU7UiVJI/u0srgSAIC3IAwD8Bhp2YUKD/bX0C48PAcAcA3CMACPktAjRoH+/OgCALgGv1EAeJQbmCIBAHAhwjAAj9EkNECXXNTM6jIAAF6EMAzALeQVlajDk4vU4clFyisqqbbNtXHRCvDjxxYAwHX8rS4AAM6lqMTuOK640UZooL8Sp46woiQAgBdhiAWAW1u+O81xPLBDUwsrAQB4I8IwALc2b8MRx7GfzbCwEgCANyIMA3Bb+9NytO7QSavLAAB4McIwALf18fokq0sAAHg5wjAAt1RQXKr5G49aXQYAwMsRhgG4pUVbk5WZX6xWkcFWlwIA8GKEYQBu6aN1hyVJtw1oa3ElAABvRhgG4HZ2p2RpU9Jp+dsM/aZ/a6vLAQB4McIwALczb0PZXOGEHjFqERZkcTUAAG9GGAbQ4M639fJ/txyXJN0d366hSwMA+BjCMAC3k1dUqk7NG2nIRc2sLgUA4OUIwwDc0l3x7WQY7DgHAKhfhGEAbifQ36Zb+rexugwAgA8gDANwO9f1iFGTRoFWlwEA8AGEYQBu4fjpfMfxHReztjAAoGEQhgG4hfdXH3Ic920XaV0hAACf4m91AQCQllWg+ZuOVftaaKC/EqeOaOCKAAC+gpFhAJZ7+/uDKiqxW10GAMAHEYYBWOpETqE+WnfY6jIAAD6KMAyg3pxvpzlJ+mBNogqK7erVOryBqwMAgDAMwGJz1h+RJD145UUWVwIA8EWEYQCWyi8qVY9W4bqiawurSwEA+CDCMADLPXJ1Z7ZeBgBYgjAMwFJdohpreFyM1WUAAHwUYRhAg8spOPsw3QNXdJLNxqgwAMAahGEADW7m2kTH8fAejAoDAKxDGAbgtNosoVbuyMk8/XvV2a2X/RgVBgBYiDAMoEH9ZdFOFbLbHADATRCGATSY7/ama9mOVEaDAQBugzAMoEEUldj17H93SJJ+G9/O4moAACjjb3UBAHzDzDWJOpSRq+aNg/TwVZ01c+3hSq+HBvorceoIi6oDAPgqRoYBNIi3vjsoSfq/X3VT42D+DgcAuAfCMIBaq8uqEb+UX1yqge2b6OZ+reupOgAA6o4wDKBB2AzpuRt7sO0yAMCtEIYB1JuiCkuo3XFxW/VoFWFhNQAAVEUYBlBv/rV8n+P4kWu6WFgJAADVIwwDqBff7U3X+z8kOj6PCAmwrhgAAGpAGAZQLWcelkvLLtDEeZvrpzAAAFyIMAzApex2UxPnbVFGTpG6RDW2uhwAAM6JMAzApWasSdSqfRkKDrDpldv7WF0OAADn5PFhePr06erQoYOCg4MVHx+v9evXn7P9p59+qm7duik4OFi9evXS4sWLG6hSwDf885uyh+Ym3dCDkWEAgNvz6DA8d+5cTZgwQZMnT9amTZvUp08fJSQkKC0trdr2a9as0Z133ql7771XP//8s2666SbddNNN2r59ewNXDrgPZ+YGV6fEbupXvWJ056C2LqgOAID65dFh+NVXX9X999+vcePGKS4uTm+99ZZCQ0P1/vvvV9v+n//8p6677jr98Y9/VPfu3fXCCy+of//+ev311xu4csC72O2m47hlRLCm3Nz7nJtrhAb6K3HqCCVOHaHQQLZmBgBYx2PDcFFRkTZu3Khhw4Y5ztlsNg0bNkxr166t9pq1a9dWai9JCQkJNbaXpMLCQmVlZVX6AFDZq1/vdRy/cltvRYSyjBoAwDN4bBjOyMhQaWmpoqOjK52Pjo5WSkpKtdekpKTUqb0kTZkyRREREY6Ptm156xeo6N+rDlZaT7hfuybWFQMAQB15bBhuKE899ZQyMzMdH0eOHLG6JOCCuHpusCT9d8tx/WXRLpfcCwAAK3hsGG7evLn8/PyUmppa6XxqaqpiYmKqvSYmJqZO7SUpKChI4eHhlT4ASGsPnHBsrHF3fDtriwEA4AJ5bBgODAzUgAEDtHz5csc5u92u5cuXa8iQIdVeM2TIkErtJenrr7+usT3gqepjFPiXHv3kZxWXmhrRu6Weur5bvfQBAEB98+jHuCdMmKCxY8dq4MCBGjRokKZNm6bc3FyNGzdOkjRmzBi1bt1aU6ZMkSQ99thjuuKKK/T3v/9dI0aM0CeffKKffvpJ77zzjpVfBuCRcgtLNbhTU716ex+VVlhNAgAAT+LRYXjUqFFKT0/XpEmTlJKSor59+2rp0qWOh+SSkpJks50d/L7kkks0Z84cPf300/q///s/denSRZ999pl69uxp1ZcAOCWvqERxk5ZJknY+n1Dvy5TtSj67mkpsdGO9M2aggvz96m30GQCA+ubRYViSxo8fr/Hjx1f72sqVK6ucu+2223TbbbfVc1WA91mzP0P3z/7J8fk7YwYqPJgl1AAAns1j5wwDvqQh5gCfy5JtyRo7Y71yC0sd51qEBTV4HQAAuJrHjwwD3qahpz7Uxh/mb5VpSsN7ROurHannv+CM8p3mAABwV4wMAxaxerT3fCpusWya0pgh7fX32/pYWBEAAK5HGAbqmbuH3uqkZhXovlln5wc/PqyLnvt1D/nZDAurAgDA9ax//xXwQDVNZXDHKQ51tXxXqv44f6tO5hY5zv3u8k4yDIIwAMD7MDIMr1XTiGx15+vS1pv9ddEu3TvzJ53MLVK3mDCrywEAoN4Rht1YXQOaK0JeQ9+7Pu+BuvtoXZIk6d7LOuqT3w22uBoAAOqf572HC8BlsgqK9epXex2fN2sUqFdu76OrYqP4wwIA4BMIw4APKrWbmrshSS8v26OMnLNzgxc+fInaNW1kYWUAADQswjDgg0a9/aN2ntlauWPzRjqUkStJat74wjbSYD1hAICnYs4w4CM2HT7lON6ZnKWwIH89PaK7Pnv4EgurAgDAWowMA17u291pmvFDojZWCMO3DmitJ6/vruaNg5gbDADwaYRhwAvlF5U6jsfP+VmSFOBnqLi0bFe552/s6ZFrIAMA4Gr8NgS8hN1uat3BE1qw6agWbUt2nG8c5K+7B7fTnRe31ZWvfGdhhQAAuB/CMOAlrvvnKh09lV/l/PKJlys6PITpEAAAVIMwDHiY4lK71hzI0Le70rR8d5rj/NFT+Woc5K9f9YrRDb1basz7GyRJYcEBVpUKAIDbIwwDbs5uN7U/Lcfx+aVTVyinsOoo799u6aVf92mtkEC/ehsFZgk1AIC3IQwDbqZikH34o036+chpnc4rdpzLKSxRs0aBuqpblC7t3ExPzN0iSRrZp5VCAv0avF4AADwZYRiwiGmajuN3vj+ofWk52nU8S4dO5DrOr9iTLkkKCfBTfnHZChEf3x+v+I7NZLMZZ4LzlgatGwAAb0IYBupRSaldyZlnH2r71/J9OnIqX4fScyuF3mnf7Kv2+v9NiNUlnZurY/NQ9Xnua0lSn7aRstmM+i0cAAAfQRgGLkBJqd1xvPbACWUXlCg9u1DHKwTfYa9+p9SsQpXaz44Av/XdwWrvN6JXjHq1iVRcy3B1aB6qy19aKUm659IOCg30ZyUIAADqCWEYPsU0TRWVnA2yB9NzZDelEzmFjnOfbDiiwmK7sguKdSqvyHH+jnd+VFZ+sU7mFimr4Gw4vXfmT9X2dfx0gSTJ32ao5Ewgvn1gG3WNDlPH5o3UMiJYv/rXaknSy7f1cWyC4S7Bl4flAAC+gDDsIU7kFCo3oGzOaH7x2bCUnl2okIASmZLyK4SolMyCKqsKHDudr5AAP5lm5XskncxTsL+f7KbpmJcqSfvTchRcTfudyVkK9q98781JpxXob5PdrFzHmv0Z8vezVbnH0u0p8vezVWo7f+NR2QxDpXZTBRXqeGvlAckwVFJqr3R+0ufbZTelwgrn7pv5k0pKTRWWlFZqe+nUb1VYYld+cakqTNXVDa/9UOW/9fNf7KxyTpK2Hs2s9vxFLRopJiJYLRoHKTI0UB+sSZRUNre3U4vGCg30U69nv5IkPfvrHm4XegEA8GWEYQ8x9Mzb5r90xcvVn7/671V3Grv21e+rbXvdtFXVnv/161WDoiTd+ubaKufu+ve6atveN2tjtecnzKv60Nekz3dU2/Zf3+6v9vz8jceqnFtz4ES1bU9VWI2hooiQADUO8ldwgE0H0svm8F7TPUqRIYEKC/ZXSIBNb56Z2vDanf0UExGsJqEBCvK3Ob4nXzxyWaWAWx6G+7SNZIoDAABujjDsgQxDjtFNmyEZRtnDVIbkeDve38+QTYZMmSouLTsX5G/TmaYyZDhGgUMD/WQzDBlnbpJ9ZgpAREiAbIZkO3PRidyyKQNRYUHyO/MAV3Jm2VSAtk1D5GcYjrYHM8qCZWx0Y/n72Rzntx0rG10d2L6JAvxskqS1B8sC7FXdWijQzyZ/m02SqUXbUiRJtw1oo+AAP/n7GTJNOcLmo9d0VqMzIXTKkt2SytbaDQsuC6umaTrC+OfjL1WTkEAFB9okUxr04vKyvp+62hFY4yYtk1QWeiuG2/IwfE33KEZ1AQDwMoRhD7Hz+YRKQaw8uG1/rvrzWycPrxLyfp50bbVtf3p6WLXny4PiL8+v/OOVVe697PHLq2278OFLqz0/695BVe4x/a7+ldqWh+HnbuxR7cjrA1dc5LhHeRge2adVtYG1S1RjgmwNmBsMAPBlNqsLAAAAAKxCGAYAAIDPYpoE4COYDgEAQFWMDAMAAMBnEYYBAADgs5gmAXghpkQAAFA7jAwDAADAZzEyDHgwRoABAHAOI8MAAADwWYwMAx6AEWAAAOoHYRhwMwRfAAAaDtMkAAAA4LMYGQbqWU0jvYwAAwBgPcIw4EIEXAAAPAthGFDdR28JvQAAeAfCMBpMdQHSFSGUIAsAAC6UYZqmaXURniQrK0sRERHKzMxUeHi41eUAAADgF+qS11hNAgAAAD6LMAwAAACfRRgGAACAzyIMAwAAwGcRhgEAAOCzCMMAAADwWYRhAAAA+CzCMAAAAHwWYRgAAAA+izAMAAAAn0UYBgAAgM8iDAMAAMBnEYYBAADgswjDAAAA8FmEYQAAAPgswjAAAAB8FmEYAAAAPoswDAAAAJ9FGAYAAIDPIgwDAADAZxGGAQAA4LMIwwAAAPBZhGEAAAD4LMIwAAAAfBZhGAAAAD6LMAwAAACf5W91AZ7GNE1JUlZWlsWVAAAAoDrlOa08t50LYbiOsrOzJUlt27a1uBIAAACcS3Z2tiIiIs7ZxjBrE5nhYLfbdfz4cYWFhckwDKvL8QpZWVlq27atjhw5ovDwcKvLQT3h++w7+F77Br7PvsFTv8+maSo7O1utWrWSzXbuWcGMDNeRzWZTmzZtrC7DK4WHh3vUPzRcGL7PvoPvtW/g++wbPPH7fL4R4XI8QAcAAACfRRgGAACAzyIMw3JBQUGaPHmygoKCrC4F9Yjvs+/ge+0b+D77Bl/4PvMAHQAAAHwWI8MAAADwWYRhAAAA+CzCMAAAAHwWYRgAAAA+izAMS/31r3/VJZdcotDQUEVGRlbbJikpSSNGjFBoaKiioqL0xz/+USUlJQ1bKFyuQ4cOMgyj0sfUqVOtLgtOmj59ujp06KDg4GDFx8dr/fr1VpcEF3v22Wer/Nvt1q2b1WXBSd9//71GjhypVq1ayTAMffbZZ5VeN01TkyZNUsuWLRUSEqJhw4Zp37591hTrYoRhWKqoqEi33XabHnzwwWpfLy0t1YgRI1RUVKQ1a9Zo5syZ+uCDDzRp0qQGrhT14fnnn1dycrLj45FHHrG6JDhh7ty5mjBhgiZPnqxNmzapT58+SkhIUFpamtWlwcV69OhR6d/u6tWrrS4JTsrNzVWfPn00ffr0al9/6aWX9K9//UtvvfWW1q1bp0aNGikhIUEFBQUNXGk9MAE3MGPGDDMiIqLK+cWLF5s2m81MSUlxnHvzzTfN8PBws7CwsAErhKu1b9/e/Mc//mF1GXChQYMGmQ8//LDj89LSUrNVq1bmlClTLKwKrjZ58mSzT58+VpeBeiTJXLhwoeNzu91uxsTEmC+//LLj3OnTp82goCDz448/tqBC12JkGG5t7dq16tWrl6Kjox3nEhISlJWVpR07dlhYGVxh6tSpatasmfr166eXX36Z6S8erKioSBs3btSwYcMc52w2m4YNG6a1a9daWBnqw759+9SqVSt16tRJd999t5KSkqwuCfXo0KFDSklJqfTvOyIiQvHx8V7x79vf6gKAc0lJSakUhCU5Pk9JSbGiJLjIo48+qv79+6tp06Zas2aNnnrqKSUnJ+vVV1+1ujRcgIyMDJWWllb773X37t0WVYX6EB8frw8++ECxsbFKTk7Wc889p6FDh2r79u0KCwuzujzUg/Lft9X9+/aG38WMDMPlnnzyySoPV/zyg1+O3qku3/sJEyboyiuvVO/evfXAAw/o73//u1577TUVFhZa/FUAOJfrr79et912m3r37q2EhAQtXrxYp0+f1rx586wuDbggjAzD5SZOnKh77rnnnG06depUq3vFxMRUeRo9NTXV8RrcizPf+/j4eJWUlCgxMVGxsbH1UB3qU/PmzeXn5+f491kuNTWVf6teLjIyUl27dtX+/futLgX1pPzfcGpqqlq2bOk4n5qaqr59+1pUlesQhuFyLVq0UIsWLVxyryFDhuivf/2r0tLSFBUVJUn6+uuvFR4erri4OJf0Addx5nu/efNm2Ww2x/cZniUwMFADBgzQ8uXLddNNN0mS7Ha7li9frvHjx1tbHOpVTk6ODhw4oNGjR1tdCupJx44dFRMTo+XLlzvCb1ZWltatW1fjalCehDAMSyUlJenkyZNKSkpSaWmpNm/eLEnq3LmzGjdurOHDhysuLk6jR4/WSy+9pJSUFD399NN6+OGHFRQUZG3xuGBr167VunXrdNVVVyksLExr167VE088od/+9rdq0qSJ1eXhAk2YMEFjx47VwIEDNWjQIE2bNk25ubkaN26c1aXBhf7whz9o5MiRat++vY4fP67JkyfLz89Pd955p9WlwQk5OTmVRvcPHTqkzZs3q2nTpmrXrp0ef/xx/eUvf1GXLl3UsWNHPfPMM2rVqpXjj1+PZvVyFvBtY8eONSVV+VixYoWjTWJionn99debISEhZvPmzc2JEyeaxcXF1hUNp23cuNGMj483IyIizODgYLN79+7miy++aBYUFFhdGpz02muvme3atTMDAwPNQYMGmT/++KPVJcHFRo0aZbZs2dIMDAw0W7dubY4aNcrcv3+/1WXBSStWrKj29/HYsWNN0yxbXu2ZZ54xo6OjzaCgIPOaa64x9+zZY23RLmKYpmlaFcQBAAAAK7GaBAAAAHwWYRgAAAA+izAMAAAAn0UYBgAAgM8iDAMAAMBnEYYBAADgswjDAAAA8FmEYQAAAPgswjAAAAB8FmEYANzcBx98IMMwZBiGEhMTrS6nVoqKitSlSxcZhqH58+fX2M40TYWHh8tmsyk6OlqjRo1SUlLSee//8MMPyzAMjR071pVlA/BBhGEAgMv985//1P79+9WzZ0/dcsstNbY7cOCAsrOzZZqm0tLSNG/ePI0cOfK89//Tn/6kwMBAzZ49Wxs3bnRl6QB8DGEYAOBS2dnZ+tvf/iZJevrpp2UYRo1tW7ZsqW3btmnp0qXq1KmTJGnr1q3asmXLOfto166dxo4dK9M09cwzz7iueAA+hzAMAHCpN998UydOnFC7du102223nbNto0aN1LNnTyUkJOiFF15wnN+8efN5+5k4caIkacmSJYwOA7hghGEAgMuUlpbq9ddflyTdeeedstlq/2tmyJAhjuPt27eft31sbKz69+8vSXrttdfqWCkAlCEMAwBc5uuvv9aRI0ckSXfffXedru3QoYMaNWokqXZhuGIfn376qbKzs+vUHwBIhGEA8ApFRUV64403dNVVV6lFixYKDAxUTEyMfvWrX+nDDz+U3W4/7z1OnDih//3f/1VsbKxCQkIUHR2ta6+9VgsXLpRUu1Ut5s2bJ0nq0qWLevXqVaevwTAMXXTRRZJqH4bLH87Ly8vT559/Xqf+AEAiDAOAx0tMTFSfPn308MMPa+XKlcrIyFBxcbFSU1O1ZMkSjR49WldccYVOnjxZ4z22bdumHj166OWXX9bevXtVUFCgtLQ0ffPNN/rNb36j3//+97WqZcWKFZKkwYMH1/nrWLt2rbZt2yZJOnr0qDIzM897Tfv27RUTEyOpbO4wANQVYRgAPFhOTo6uueYa7d69W5J000036b///a9++uknffrpp7riiiskSatXr9bIkSNVWlpa5R6nT5/Wddddp9TUVEnS6NGjtWTJEv3000/65JNPNGTIEL3zzjt66623zlnL0aNHHSPGF198cZ2+jpKSEj3wwAMyTdNxbseOHbW6dtCgQZKk7777rk59AoBEGAYAj/bcc8/p4MGDksqWMVu4cKFGjhypAQMG6NZbb9WKFSsc82rXrFmjd955p9p7HD9+XJI0bdo0zZo1S9ddd50GDBigUaNGadWqVbrxxhu1bt26c9ayZs0ax3G/fv3q9HX84x//0NatWyudq+1UiQEDBkiSjh075gj0AFBbhGEA8FCFhYX697//LUnq0aOHnn322SptDMPQG2+8oWbNmkmSY6WHivf44IMPJJWN5j722GNV7uHn56e3335bwcHB56zn6NGjjuOoqKhafx2HDx921H7JJZc4ztc2DFfsq/wPAwCoLcIwAHiojRs36vTp05Kke+65R35+ftW2Cw8P1+233y5J2rlzp5KTkx2v/fTTT457/Pa3v62xr+joaCUkJJyznvT0dMdxkyZNavMlSJLGjx+vvLw8RURE6NNPP1VYWJik2ofhpk2bOo5TUlJq3S8ASIRhAHCZ8pUWnPkoH6WtjYphMT4+/pxtK75e8bqKx+XTDWoycODAc75e8QG92obh//znP/ryyy8lSVOnTlWrVq3Us2fPKrWdS8W+cnNza3UNAJQjDAOAh6oYPs83LaF8xYVfXnfq1CnHcYsWLc55j/O9XnEaRX5+/jnbSmXbNj/66KOSyqZHlK9YUb4kW3p6utLS0s57n4p9BQQEnLc9AFTkb3UBAOAtdu3a5fQ9WrZseUHXGYbhdN/OqhiWT5486ZjuUJNnnnlGx44dU0BAgN555x3H11BxfeLt27fr6quvPud9Kob7yMjIC6gcgC8jDAOAi3Tr1q1B+6s4VzY1NVVdu3atsW3FubQVr6s4xSA9Pf2c96g4J7g6FcPwqVOn1L59+xrbbtq0yfEw3//+7/+qR48ejtd69+7tOK5NGK44ut2uXbtztgWAX2KaBAB4qPK5tZLOu+zZ+vXrq72uYgjduHHjOe/x008/nfP1iiO6e/furbGd3W7X73//e5WWlqpLly56+umna7xPbeYNl/cVFBSkzp07n7c9AFREGAYADzVgwADHtICZM2fWuOVydna2Y5vkuLi4SlMxBg4cqIiICEnShx9+WGNfqampWrZs2TnrGThwoGPe8IYNG2psN336dEewfuutt6os2dakSRO1bt1aUu3CcHlf/fr1Y84wgDojDAOAhwoKCtJ9990nqSw0vvDCC1XamKap8ePHKyMjQ1LZMmYVBQcHa8yYMZLKQuU///nPKvcoH8ktKCg4Zz2BgYGOVSsqjkRXdPz4ccdI8NixY2ucAlE+Ony+XegKCwsdm3UMHz78nG0BoDqEYQDwYJMmTVKnTp0kSc8++6xuvfVWLVq0SJs2bdKCBQt09dVXa9asWZKkIUOG6He/+12Vezz77LOO1SYef/xxjRkzRsuWLdOmTZs0b948DR06VJ9//rlj22Op5gf2brzxRkllYTg7O7vK64899piysrLUvHlz/f3vf6/x6yqfN5yVlaWkpKQa233//fcqLi6WJN188801tgOAmhCGAcCDhYWFafny5Y6H9xYsWKAbbrjBsR3zypUrJUmXXnqpvvzyy2o35mjatKmWLl3qeABu9uzZlbZjXrNmje655x7H0meSatyNbsyYMQoKClJBQYEWLlxY6bXFixdr/vz5kqRXX33VsStedWo7b3jOnDmSyuY+9+3bt8Z2AFATwjAAeLgOHTpoy5Ytev3113XFFVeoWbNmCggIUHR0tK677jrNnj1b33//faVVJH6pT58+2rlzpyZOnKguXbooKChIzZs311VXXaU5c+ZoxowZysrKcrQvn2f8S82aNdNvfvMbSWeDqlS2FnD5FI1rrrlGo0ePPufXVJswXFBQoP/85z+SpIceeuic9wOAmhimaZpWFwEAcH/33Xef3nvvPbVp00ZHjhypsd26des0ePBg+fn56cCBA+dcYs0ZH374oUaPHq1mzZopMTFRjRs3rpd+AHg3RoYBAOeVn5+vzz//XJI0ePDgc7aNj4/Xb37zG5WWlmrKlCn1Uo/dbteLL74oSfrjH/9IEAZwwQjDAAAdOHBANb1RWFpaqgcffNCxIsXYsWPPe78XX3xR/v7+mjFjho4ePerSWiXp008/1a5du9SuXTvHls4AcCHYgQ4AoBdeeEHr16/XHXfcofj4eEVFRSk/P19bt27Vu+++q02bNkmShg0bphEjRpz3frGxsXr//fd14MABJSUlqU2bNi6tt7S0VJMnT9bVV1+tkJAQl94bgG9hzjAAQPfcc49mzpx5zjaXXnqpPv/883OuAgEAnoYwDADQnj17tGDBAn3zzTdKTExUenq6iouL1axZMw0cOFCjRo3SHXfcIZuN2XUAvAthGAAAAD6LP/EBAADgswjDAAAA8FmEYQAAAPgswjAAAAB8FmEYAAAAPoswDAAAAJ9FGAYAAIDPIgwDAADAZxGGAQAA4LMIwwAAAPBZhGEAAAD4rP8HwANUjfvRjD0AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "r2_fig, ax = subplots(figsize=(8,8))\n", "ax.errorbar(-np.log(lambdas),\n", @@ -1039,10 +4753,2089 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 37, "id": "11e55883", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:42.588593Z", + "iopub.status.busy": "2023-07-25T23:59:42.588455Z", + "iopub.status.idle": "2023-07-25T23:59:42.930873Z", + "shell.execute_reply": "2023-07-25T23:59:42.930547Z" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18795326.355502333, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18795268.885511458, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18795196.367825005, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18795104.862821113, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18794989.399687696, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18794843.706650957, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18794659.87071198, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18794427.908521358, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18794135.22526347, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18793765.932449568, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18793299.98803079, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18792712.112872534, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18791970.425932087, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18791034.72591697, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18789854.32913581, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18788365.350956466, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18786487.290938053, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18784118.748442672, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18781132.05553399, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18777366.566605024, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18772620.289297033, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18766639.479676694, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18759105.758860495, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18749620.243803147, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18737684.132153213, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18722675.157982755, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18703819.37168406, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18680157.84067929, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18650508.189617783, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18613421.503628485, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18567136.14871325, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18509531.699850053, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18438088.608600505, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18349862.649110064, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18241487.557216965, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18109224.25083878, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17949079.523028806, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17757018.994714484, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17529294.98190815, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17262895.457700975, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16956091.882983487, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16609021.736273043, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16224194.650997939, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15806778.142363884, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15364525.127389485, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14907268.75187378, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14446023.624531085, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13991857.160644894, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13554773.727504015, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13142847.182203237, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12761747.456957739, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12414679.232309299, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12102642.724649917, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11824874.692517474, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11579334.50630629, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11363143.416383019, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11172936.696242273, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11005127.92643167, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10856105.032984463, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10722381.625233045, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10600721.735570516, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10488247.552619573, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10382531.68105097, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10281669.161078632, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10184320.545404715, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10089716.55059902, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9997617.850835908, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9908230.155360885, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9822083.085401118, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9739888.930170696, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9662401.666184625, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9590296.226307327, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9524082.854699288, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9464062.902306747, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9410323.196208755, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9362759.024991764, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9321112.753117379, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9285016.290065145, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9254029.627395952, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9227672.214767914, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9205447.27460862, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9186860.578098293, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9171435.130133288, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9158722.527650403, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9148311.191396464, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9139831.50202173, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9132958.012055235, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9127409.145408802, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9122944.972944392, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9119363.705526328, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9116497.490587894, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9114207.980834428, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9112382.008592516, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9110927.575648237, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9109770.269829819, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9108850.148759764, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9108119.08491204, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9107538.538969103, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9107077.714962065, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9106712.046135923, tolerance: 3759.109166869193\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21005651.632865302, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21005578.608102243, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21005486.463074774, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21005370.192059726, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21005223.47917251, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21005038.355660334, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21004804.76767336, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21004510.03120046, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21004138.144828446, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21003668.923421204, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21003076.906345215, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21002329.98203154, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21001387.655909717, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21000198.8704182, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20998699.26312138, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20996807.72107362, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20994422.05552329, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20991413.57989597, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20987620.324921425, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20982838.567338496, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20976812.283196613, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20969220.065253027, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20959658.970863715, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20947624.701018073, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20932487.468798272, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20913462.923603535, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20889577.599545892, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20859628.61984418, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20822137.913488373, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20775302.126054227, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20716940.917180095, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20644448.64953633, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20554757.795455974, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20444326.815649558, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20309170.5956441, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20144956.94257016, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19947196.308887925, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19711550.604615457, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19434276.168588594, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19112791.023677077, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18746315.49762964, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18336483.416578818, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17887774.82963546, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17407607.14883928, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16905965.499829993, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16394560.80209675, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15885645.94315279, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15390736.734407002, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14919517.25785277, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14479140.715843389, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14074002.01810337, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13705921.512677444, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13374594.126102015, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13078142.079861483, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12813645.639316088, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12577583.791150972, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12366168.387483226, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12175587.27845306, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12002182.958268248, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11842589.470659975, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11693840.031875866, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11553447.60800361, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11419454.0438313, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11290441.388440857, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11165501.742342338, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11044168.420816425, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10926319.289729377, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10812069.210340973, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10701669.403435929, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10595426.714498514, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10493648.013477515, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10396608.203056702, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10304536.713966034, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10217616.440012153, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10135989.092876721, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10059761.060749074, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9989004.697692012, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9923752.620593688, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9863986.795334544, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9809627.884194935, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9760531.052715844, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9716491.487344079, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9677258.06531545, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9642549.951165989, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9612070.387835175, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9585514.488134583, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9562571.500908714, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9542924.549681038, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9526251.156759001, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9512226.472533092, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9500529.267319627, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9490849.431706948, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9482895.334901826, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9476399.71781569, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9471123.439398324, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9466857.004635958, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9463420.20844639, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9460660.409301298, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9458449.957484353, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9456683.22035802, tolerance: 4201.186103419478\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22331946.25629055, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22331864.018678214, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22331760.248581372, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22331629.308755428, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22331464.086506005, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22331255.607747704, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22330992.550247405, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22330660.62979839, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22330241.82628314, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22329713.40806704, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22329046.702501133, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22328205.546983715, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22327144.338416774, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22325805.578253012, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22324116.784799173, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22321986.613041975, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22319299.9839329, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22315911.97874348, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22311640.198869713, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22306255.226839963, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22299468.750693016, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22290918.833475478, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22280151.72747749, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22266599.559077755, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22249553.162800502, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22228129.35292585, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22201232.036903117, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22167506.872833706, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22125289.76574775, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22072550.542125095, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22006834.845984127, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21925209.906269174, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21824223.56629905, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21699890.94922881, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21547729.124614064, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21362866.213577304, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21140255.446179498, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20875023.13975618, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20562967.32341789, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20201195.56502676, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19788844.32939185, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19327763.89751004, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18823001.04313301, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18282896.08461045, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17718660.4886989, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17143422.40324079, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16570887.230051238, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16013892.090309372, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15483171.861886727, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14986579.129588084, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14528848.289413737, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14111836.239774454, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13735069.935277399, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13396407.639332836, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13092660.916831579, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12820093.900344713, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12574781.90922219, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12352853.175078167, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12150651.369793259, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11964850.854771722, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11792543.263225015, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11631302.416094316, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11479227.7561279, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11334963.041737791, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11197685.003164051, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11067056.224580359, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10943139.511030385, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10826278.220752902, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10716956.341549171, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10615659.18706467, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10522756.819315987, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10438426.844454892, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10362623.27115231, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10295087.38179537, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10235388.466414705, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10182978.74114095, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10137247.95260475, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10097567.748922419, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10063321.789749103, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10033922.656392608, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10008819.486834103, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9987500.645290056, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9969494.453323793, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9954369.32479691, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9941733.515465437, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9931234.335989065, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9922556.777457738, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9915421.679110043, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9909583.627876062, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9904828.718921196, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9900972.216495434, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9897856.106707212, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9895346.540855931, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9893331.203755055, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9891716.674948297, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9890425.865192825, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9889395.604661888, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9888574.440116646, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9887920.674489552, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9887400.660169175, tolerance: 4466.452064951529\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22225193.80408011, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22225110.813517075, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22225006.093373984, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22224873.954836704, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22224707.22016197, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22224496.83322094, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22224231.36831536, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22223896.410779048, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22223473.77603032, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22222940.525154293, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22222267.72434169, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22221418.88207672, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22220347.981225494, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22218997.002387535, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22217292.809172478, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22215143.234477364, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22212432.168317866, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22209013.40126823, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22204702.922219783, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22199269.304569546, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22192421.741654057, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22183795.21258787, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22172932.17909693, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22159260.14304964, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22142064.35203175, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22120454.95809202, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22093328.06334204, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22059320.403233726, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22016758.03845356, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21963600.508906867, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21897383.65478575, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21815166.968429696, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21713495.123522323, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21588388.30984886, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21435381.888817236, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21249641.65996918, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21026184.505123127, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20760231.655652393, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20447708.31167379, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20085874.018901825, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19674021.850113407, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19214128.3053442, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18711289.424232315, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18173771.014405873, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17612557.62934444, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17040407.03219554, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16470567.131662391, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15915425.819018744, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15385384.27148134, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14888160.528800251, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14428585.410549453, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14008814.608291918, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13628800.43657365, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13286857.361730725, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12980197.224087035, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12705370.410345197, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12458600.903357476, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12236032.77957509, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12033913.49389702, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11848733.596731743, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11677333.403468838, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11516981.070353946, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11365424.704670552, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11220921.203073826, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11082243.920528807, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10948669.457422748, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10819942.016223667, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10696213.317397818, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10577957.546131799, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10465864.125929628, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10360715.842557454, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10263264.873279892, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10174122.558233691, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10093678.084935276, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10022055.90958463, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9959113.332252601, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9904471.381944738, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9857566.988895562, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9817713.479318874, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9784158.875562938, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9756135.4293958, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9732897.547924208, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9713747.933154197, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9698053.28484727, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9685251.610393653, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9674853.346299471, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9666438.328081315, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9659650.291029936, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9654190.159247063, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9649808.977198932, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9646301.012972398, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9643497.331329834, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9641259.984843817, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9639476.879484767, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9638057.315691978, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9636928.172691077, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9636030.684258943, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9635317.743812287, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9634751.672914779, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9634302.388158696, tolerance: 4445.102149685068\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22182535.705905367, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22182443.31748153, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22182326.738805104, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22182179.636849403, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22181994.021044992, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22181759.809716668, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22181464.28327085, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22181091.39464482, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22180620.89990636, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22180027.262331244, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22179278.27131426, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22178333.30250969, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22177141.126954924, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22175637.153777506, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22173739.962460298, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22171346.945451487, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22168328.83898362, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22164522.86814139, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22159724.170510717, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22153675.090679448, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22146051.856030278, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22136448.05522982, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22124354.250566233, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22109132.97552027, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22089988.320511386, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22065929.327634364, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22035726.555516478, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21997861.52451259, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21950469.43740475, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21891276.769023754, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21817537.260214396, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21725972.80421009, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21612729.92224466, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21473368.08108258, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21302902.69437747, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21095932.158423126, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20846882.286273133, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20550398.911674757, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20201904.639180813, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19798303.254432607, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19338763.60317261, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18825451.629099563, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18264026.303933263, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17663705.112665202, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17036766.85903686, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16397496.223623449, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15760744.92149185, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15140415.226936534, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14548197.66197113, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13992801.316187331, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13479749.374918321, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13011650.716625076, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12588761.536151327, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12209637.009462353, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11871722.016013274, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11571805.12738007, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11306328.206388844, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11071585.798533637, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10863860.419768564, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10679529.96999051, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10515164.967978276, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10367617.395431116, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10234094.932508666, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10112213.557229094, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10000024.23575536, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9896012.57105465, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9799072.614562154, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9708457.890308099, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9623714.619163413, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9544604.25348744, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9471024.212762302, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9402936.228999598, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9340310.144654753, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9283087.29859646, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9231162.854348717, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9184382.359520858, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9142546.024753645, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9105415.114890352, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9072717.557093456, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9044152.703403218, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9019396.685310023, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8998109.575324507, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8979944.333787149, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8964556.387394711, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8951612.3695335, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8940797.002727017, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8931817.822045382, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8924407.976697778, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8918327.548498938, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8913363.779400796, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8909330.473245148, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8906066.743651448, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8903435.248435475, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8901320.0564094, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8899624.301448012, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8898267.772619218, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8897184.565959448, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8896320.890152896, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8895633.08348321, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8895085.869018715, tolerance: 4436.577708196869\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.271e+07, tolerance: 5.332e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n" + ] + }, + { + "data": { + "text/html": [ + "
Pipeline(steps=[('scaler', StandardScaler()),\n",
+       "                ('ridge',\n",
+       "                 ElasticNetCV(alphas=array([2.22093791e+05, 1.76005531e+05, 1.39481373e+05, 1.10536603e+05,\n",
+       "       8.75983676e+04, 6.94202082e+04, 5.50143278e+04, 4.35979140e+04,\n",
+       "       3.45506012e+04, 2.73807606e+04, 2.16987845e+04, 1.71959156e+04,\n",
+       "       1.36274691e+04, 1.07995362e+04, 8.55844774e+03, 6.78242347e+03,\n",
+       "       5.37495461e+03, 4.25955961e+03,...\n",
+       "       1.84386167e-03, 1.46122884e-03, 1.15799887e-03, 9.17694298e-04,\n",
+       "       7.27257037e-04, 5.76338765e-04, 4.56738615e-04, 3.61957541e-04,\n",
+       "       2.86845161e-04, 2.27319885e-04, 1.80147121e-04, 1.42763513e-04,\n",
+       "       1.13137642e-04, 8.96596467e-05, 7.10537367e-05, 5.63088712e-05,\n",
+       "       4.46238174e-05, 3.53636122e-05, 2.80250579e-05, 2.22093791e-05]),\n",
+       "                              cv=KFold(n_splits=5, random_state=0, shuffle=True),\n",
+       "                              l1_ratio=0))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('scaler', StandardScaler()),\n", + " ('ridge',\n", + " ElasticNetCV(alphas=array([2.22093791e+05, 1.76005531e+05, 1.39481373e+05, 1.10536603e+05,\n", + " 8.75983676e+04, 6.94202082e+04, 5.50143278e+04, 4.35979140e+04,\n", + " 3.45506012e+04, 2.73807606e+04, 2.16987845e+04, 1.71959156e+04,\n", + " 1.36274691e+04, 1.07995362e+04, 8.55844774e+03, 6.78242347e+03,\n", + " 5.37495461e+03, 4.25955961e+03,...\n", + " 1.84386167e-03, 1.46122884e-03, 1.15799887e-03, 9.17694298e-04,\n", + " 7.27257037e-04, 5.76338765e-04, 4.56738615e-04, 3.61957541e-04,\n", + " 2.86845161e-04, 2.27319885e-04, 1.80147121e-04, 1.42763513e-04,\n", + " 1.13137642e-04, 8.96596467e-05, 7.10537367e-05, 5.63088712e-05,\n", + " 4.46238174e-05, 3.53636122e-05, 2.80250579e-05, 2.22093791e-05]),\n", + " cv=KFold(n_splits=5, random_state=0, shuffle=True),\n", + " l1_ratio=0))])" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ridgeCV = skl.ElasticNetCV(alphas=lambdas, \n", " l1_ratio=0,\n", @@ -1063,10 +6856,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 38, "id": "d107f961", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:42.932916Z", + "iopub.status.busy": "2023-07-25T23:59:42.932770Z", + "iopub.status.idle": "2023-07-25T23:59:43.043431Z", + "shell.execute_reply": "2023-07-25T23:59:43.043097Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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dr0xPRqq15QzWrnvVKlds7y6VO85veolk5WVpZEjR0qS3n33XXl7e1/hDFwrvifLJ7t6vleuXKnQ0FDVqVNHycnJRY6//PLL6tWrl2bPnq2lS5fq//7v/9S+fXv95z//see2AIBypn6NKhp0a6SzyyiX6GW0lZubq48++kgfffQRy8uXEr7HKha7wvcPP/yg06dPq23btqpatarNsR07duiNN96QYRgyDENVq1aVYRjKzc3V3//+dyUkJNhzawBAOfNsdANV9/dydhkVAmEJcF12he+1a9fKYrEoOjq6yLGPP/5YhmGoWrVq2rp1q86cOaNNmzYpODhYWVlZmjp1qj23BgCUM4E+nhr+twbm+9NpWU6spmIilONK+B6p+OwK3ydOFCyq0LRp0yLHFi5cKIvFomHDhqlly5aSpDZt2mjYsGEyDEPLli2z59YAgHLo3puvM7fHzt8lw2Dly9JA4AIqD7vC96lTBQ/W/HXIyYEDB3Ts2DFJ0r333mtzrGPHjmaba7VmzRrdddddioiIkMVi0fz5881jOTk5Gj16tJo3by5/f39FRERowIABOn78uM01IiMjZbFYbF5vvfWWTZsdO3aoY8eO8vHxUe3atTVhwoQitcybN0+NGjWSj4+Pmjdvrh9++MHmuGEYGjt2rMLDw+Xr66vo6Gjt37//mj92ACjP3Nws5vaq305p+s8JzisGqMD4havysit8F/ZopKSk2Oz/6aefJElBQUG6+eabbY5Vr15dkpSenn7N97VarWrRooWmTJlS5Fh6erq2bduml19+Wdu2bdM333yjffv26e677y7Sdvz48Tpx4oT5euaZZ8xjqamp6tatm+rWrautW7dq4sSJGjdunD755BOzzbp169SvXz8NGTJEv/zyi3r16qVevXpp586dZpsJEybogw8+0NSpU7Vx40b5+/srJiZGmZmZ1/zxA0BF8daPe7XzWMqVG+KqEc6AismuOWfCwsJ0+PBh7dmzx+zRlqQlSwqmtbntttuKnGO1WiVJ1apVu+b79ujRQz169Cj2WFBQkOLi4mz2TZ48WbfccouOHDmiOnXqmPsDAgIUFhZW7HVmzZql7OxsTZs2TV5eXmratKni4+P17rvv6oknnpAkvf/+++revbtGjRolSXrttdcUFxenyZMna+rUqTIMQ5MmTdJLL72ke+65R5L0+eefq2bN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Ubt27bRp06Yy+ZgBAABQ/lXK8C1JTZs21YkTJ8zX2rVrzWMjRozQggULNG/ePK1evVrHjx/XfffdZx7Py8tTbGyssrOztW7dOs2cOVMzZszQ2LFjzTaHDh1SbGysOnfurPj4eA0fPlyPPfaYlixZYraZO3euRo4cqVdeeUXbtm1TixYtFBMTo5MnTzrmkwAAAIByxWIYhuHsIkrbuHHjNH/+fMXHxxc5lpKSoho1amj27Nm6//77JUl79+5V48aNtX79erVv314//vijevbsqePHj6tmzZqSpKlTp2r06NE6deqUvLy8NHr0aC1atEg7d+40r/3ggw8qOTlZixcvliS1a9dObdu21eTJkyVJ+fn5ql27tp555hmNGTOmxB9PamqqgoKClJKSosDAwGv9tAAA4HRWq1VVqlSRJKWlpcnf39/JFQGlo6R5rdLOdrJ//35FRETIx8dHHTp00Jtvvqk6depo69atysnJUXR0tNm2UaNGqlOnjhm+169fr+bNm5vBW5JiYmL01FNPadeuXWrZsqXWr19vc43CNsOHD5ckZWdna+vWrXrhhRfM425uboqOjtb69esvW3tWVpaysrLM9ykpKZIKvqgAAFRkF69umZqayownqDQKc9qV+rUrZfhu166dZsyYoYYNG+rEiRN69dVX1bFjR+3cuVOJiYny8vJS1apVbc6pWbOmEhMTJUmJiYk2wbvweOGxy7VJTU1VRkaGzp07p7y8vGLb7N2797L1v/nmm3r11VeL7K9du/aVP3gAACqIiIgIZ5cAlLrz588rKCjokscrZfju0aOHuX3TTTepXbt2qlu3rr788kv5+vo6sbKSeeGFFzRy5EjzfX5+vs6ePavq1avLYrE4sbLKIzU1VbVr19bRo0cZylOJ8XV2DXydXQdfa9dQUb/OhmHo/PnzV/ylslKG77+qWrWqbrzxRv3+++/629/+puzsbCUnJ9v0ficlJSksLEySFBYWVmRWksLZUC5u89cZUpKSkhQYGChfX9//b+/OY6K63j6Af4cpDIiCsoMGkYpYUFGhLFrjT6WitcS9SBTB1FQp1gXUtomAS6tW41YVrdoKamwLKqVxjRLUGhALxH1HKaKyuFBABXS47x9k7jsIMwwyzBT4fpJJhnufe85zvbmZZ65nzoFUKoVUKm0wRtGGKjKZDDKZrN45kPaZmZm1qhub3g2vc/vA69x+8Fq3D63xOqt74q3QZmc7UVZRUYHc3FzY29vD09MThoaGSE1NFfffunUL+fn58PPzAwD4+fnhypUrdWYlOXnyJMzMzODm5ibGKLehiFG0YWRkBE9PzzoxNTU1SE1NFWOIiIiIqH1pk8X3woULcebMGeTl5SE9PR3jx4+HVCpFcHAwzM3N8fnnnyMyMhJpaWnIzs7GjBkz4OfnB19fXwDAyJEj4ebmhpCQEFy6dAknTpzAkiVLEBERIT6Rnj17Nu7du4fFixfj5s2biIuLQ2JiIhYsWCDmERkZiZ07dyIhIQE3btxAeHg4Xrx4gRkzZujl34WIiIiI9KtNDjspKChAcHAwnj59Cmtra3z00Uc4f/48rK2tAQAbNmyAgYEBJk6ciKqqKgQEBCAuLk48XiqV4vDhwwgPD4efnx9MTU0RGhqK5cuXizE9evTAkSNHsGDBAmzatAndunXDrl27EBAQIMYEBQWhpKQEMTExKCwsRP/+/XH8+PF6P8Ik3ZPJZIiNja03vIfaFl7n9oHXuf3gtW4f2vp1bpPzfBMRERER/Re1yWEnRERERET/RSy+iYiIiIh0hMU3EREREZGOsPgmIiIiItIRFt/Urnz//fcYNGgQOnTooHLhovz8fIwZMwYdOnSAjY0NFi1ahDdv3ug2UdI6JycnSCSSOq/Vq1frOy3Sgq1bt8LJyQnGxsbw8fGpt0gatX5Lly6td//27t1b32lRM509exaBgYFwcHCARCLBH3/8UWe/IAiIiYmBvb09TExM4O/vjzt37ugnWS1i8U3tSnV1NSZPnozw8PAG98vlcowZMwbV1dVIT09HQkIC4uPjERMTo+NMqSUsX74cjx8/Fl9fffWVvlOiZvr9998RGRmJ2NhY5OTkwMPDAwEBAXUWSaO2wd3dvc79e+7cOX2nRM304sULeHh4YOvWrQ3uX7NmDX788Uds374dmZmZMDU1RUBAACorK3WcqZYJRO3Q7t27BXNz83rbjx49KhgYGAiFhYXitm3btglmZmZCVVWVDjMkbevevbuwYcMGfadBWubt7S1ERESIf8vlcsHBwUFYtWqVHrMibYuNjRU8PDz0nQa1IABCcnKy+HdNTY1gZ2cnrF27VtxWWloqyGQy4ddff9VDhtrDJ99ESjIyMtC3b986CyEFBASgrKwM165d02NmpA2rV6+GpaUlBgwYgLVr13I4UStXXV2N7Oxs+Pv7i9sMDAzg7++PjIwMPWZGLeHOnTtwcHCAs7Mzpk6divz8fH2nRC3o/v37KCwsrHN/m5ubw8fHp9Xf321yhUuid1VYWFhvBVLF34WFhfpIibRk7ty5GDhwICwsLJCeno5vv/0Wjx8/xvr16/WdGr2jJ0+eQC6XN3jP3rx5U09ZUUvw8fFBfHw8XF1d8fjxYyxbtgxDhgzB1atX0alTJ32nRy1A8Znb0P3d2j+P+eSbWr1vvvmm3g9x3n7xg7htasq1j4yMxP/+9z/069cPs2fPxrp167B582ZUVVXp+SyIqDGjR4/G5MmT0a9fPwQEBODo0aMoLS1FYmKivlMjajI++aZWLyoqCmFhYWpjnJ2dNWrLzs6u3kwJRUVF4j76b2nOtffx8cGbN2+Ql5cHV1fXFsiOWpqVlRWkUql4jyoUFRXxfm3jOnfujF69euHu3bv6ToVaiOIeLioqgr29vbi9qKgI/fv311NW2sHim1o9a2trWFtba6UtPz8/fP/99yguLoaNjQ0A4OTJkzAzM4Obm5tW+iDtac61v3jxIgwMDMTrTK2PkZERPD09kZqainHjxgEAampqkJqaijlz5ug3OWpRFRUVyM3NRUhIiL5ToRbSo0cP2NnZITU1VSy2y8rKkJmZqXLGstaCxTe1K/n5+Xj27Bny8/Mhl8tx8eJFAEDPnj3RsWNHjBw5Em5ubggJCcGaNWtQWFiIJUuWICIiAjKZTL/J0zvLyMhAZmYmhg0bhk6dOiEjIwMLFizAtGnT0KVLF32nR80QGRmJ0NBQeHl5wdvbGxs3bsSLFy8wY8YMfadGWrRw4UIEBgaie/fuePToEWJjYyGVShEcHKzv1KgZKioq6vzvxf3793Hx4kVYWFjA0dER8+fPx3fffQcXFxf06NED0dHRcHBwEL9st1r6nm6FSJdCQ0MFAPVeaWlpYkxeXp4wevRowcTERLCyshKioqKE169f6y9parbs7GzBx8dHMDc3F4yNjYUPPvhAWLlypVBZWanv1EgLNm/eLDg6OgpGRkaCt7e3cP78eX2nRFoWFBQk2NvbC0ZGRkLXrl2FoKAg4e7du/pOi5opLS2twc/k0NBQQRBqpxuMjo4WbG1tBZlMJowYMUK4deuWfpPWAokgCIK+Cn8iIiIiovaEs50QEREREekIi28iIiIiIh1h8U1EREREpCMsvomIiIiIdITFNxERERGRjrD4JiIiIiLSERbfREREREQ6wuKbiIiIiEhHWHwTEREREekIi28iIiIiIh1h8U1ERHXEx8dDIpFAIpEgLy9P3+lopLq6Gi4uLpBIJDhw4IDKOEEQYGZmBgMDA9ja2iIoKAj5+fmNth8REQGJRILQ0FBtpk1E7RCLbyIiavU2bdqEu3fvok+fPpg4caLKuNzcXJSXl0MQBBQXFyMxMRGBgYGNtv/111/DyMgIe/fuRXZ2tjZTJ6J2hsU3ERG1auXl5fjhhx8AAEuWLIFEIlEZa29vjytXruD48eNwdnYGAFy+fBmXLl1S24ejoyNCQ0MhCAKio6O1lzwRtTssvomIqFXbtm0bnj59CkdHR0yePFltrKmpKfr06YOAgACsWLFC3H7x4sVG+4mKigIAHDt2jE+/ieidsfgmIqJWSy6XY8uWLQCA4OBgGBho/rHm5+cnvr969Wqj8a6urhg4cCAAYPPmzU3MlIioFotvIiJqtU6ePIkHDx4AAKZOndqkY52cnGBqagpAs+JbuY+kpCSUl5c3qT8iIoDFNxERvYPq6mrExcVh2LBhsLa2hpGREezs7PDJJ59g3759qKmpabSNp0+fYvHixXB1dYWJiQlsbW3x8ccfIzk5GYBms64kJiYCAFxcXNC3b98mnYNEIsH7778PQPPiW/FjzpcvXyIlJaVJ/RERASy+iYioifLy8uDh4YGIiAicPn0aT548wevXr1FUVIRjx44hJCQEQ4cOxbNnz1S2ceXKFbi7u2Pt2rW4ffs2KisrUVxcjFOnTmHChAmYNWuWRrmkpaUBAHx9fZt8HhkZGbhy5QoAoKCgAP/++2+jx3Tv3h12dnYAasd+ExE1FYtvIiLSWEVFBUaMGIGbN28CAMaNG4c///wTWVlZSEpKwtChQwEA586dQ2BgIORyeb02SktLMWrUKBQVFQEAQkJCcOzYMWRlZeG3336Dn58fduzYge3bt6vNpaCgQHwi/uGHHzbpPN68eYPZs2dDEARx27Vr1zQ61tvbGwBw5syZJvVJRASw+CYioiZYtmwZ7t27B6B2Wr/k5GQEBgbC09MTkyZNQlpamjguOj09HTt27GiwjUePHgEANm7ciD179mDUqFHw9PREUFAQ/vrrL4wdOxaZmZlqc0lPTxffDxgwoEnnsWHDBly+fLnONk2Hnnh6egIAHj58KH6BICLSFItvIiLSSFVVFXbt2gUAcHd3x9KlS+vFSCQSxMXFwdLSEgDEmUiU24iPjwdQ+7R63rx59dqQSqX46aefYGxsrDafgoIC8b2NjY3G5/HPP/+IuQ8aNEjcrmnxrdyX4osIEZGmWHwTEZFGsrOzUVpaCgAICwuDVCptMM7MzAyfffYZAOD69et4/PixuC8rK0tsY9q0aSr7srW1RUBAgNp8SkpKxPddunTR5BQAAHPmzMHLly9hbm6OpKQkdOrUCYDmxbeFhYX4vrCwUON+iYgAFt9ERK2WYiaQ5rwUT6E1oVyc+vj4qI1V3q98nPJ7xfANVby8vNTuV/5Bp6bF96FDh3D48GEAwOrVq+Hg4IA+ffrUy00d5b5evHih0TFERAosvomISCPKxW5jwzwUM4K8fdzz58/F99bW1mrbaGy/8rCUV69eqY0Fapehnzt3LoDa4SaKGVUUUxSWlJSguLi40XaU+zI0NGw0nohI2Xv6ToCIiN7NjRs3mt2Gvb39Ox0nkUia3XdzKRfnz549E4ePqBIdHY2HDx/C0NAQO3bsEM9BeX7wq1evYvjw4WrbUf4y0blz53fInIjaMxbfREStVO/evXXan/JY56KiIvTq1UtlrPJYaOXjlIdslJSUqG1DeUx3Q5SL7+fPn6N79+4qY3NycsQffy5evBju7u7ivn79+onvNSm+lZ/eOzo6qo0lInobh50QEZFGFGOjATQ6DeCFCxcaPE656M3OzlbbRlZWltr9yk+sb9++rTKupqYGs2bNglwuh4uLC5YsWaKyHU3GfSv6kslk6NmzZ6PxRETKWHwTEZFGPD09xWEWCQkJKpeQLy8vF5d9d3NzqzO0xcvLC+bm5gCAffv2qeyrqKgIJ06cUJuPl5eXOO7777//Vhm3detWsZDfvn17vSkMu3Tpgq5duwLQrPhW9DVgwACO+SaiJmPxTUREGpHJZJg5cyaA2iJ1xYoV9WIEQcCcOXPw5MkTALXT+ikzNjbG9OnTAdQWsZs2barXhuJJdWVlpdp8jIyMxFlVlJ+0K3v06JH4pDs0NFTlkBLF0+/GVrmsqqoSF+cZOXKk2lgiooaw+CYiIo3FxMTA2dkZALB06VJMmjQJR44cQU5ODg4ePIjhw4djz549AAA/Pz988cUX9dpYunSpOBvK/PnzMX36dJw4cQI5OTlITEzEkCFDkJKSIi7jDqj+gefYsWMB1Bbf5eXl9fbPmzcPZWVlsLKywrp161Sel2Lcd1lZGfLz81XGnT17Fq9fvwYAjB8/XmUcEZEqLL6JiEhjnTp1Qmpqqvhjz4MHD+LTTz8Vl5c/ffo0AGDw4ME4fPhwgwvxWFhY4Pjx4+IPJvfu3Vtnefn09HSEhYWJUwECULna5fTp0yGTyVBZWYnk5OQ6+44ePYoDBw4AANavXy+uutkQTcd979+/H0Dt2PX+/furjCMiUoXFNxERNYmTkxMuXbqELVu2YOjQobC0tIShoSFsbW0xatQo7N27F2fPnq0zy8nbPDw8cP36dURFRcHFxQUymQxWVlYYNmwY9u/fj927d6OsrEyMV4wTf5ulpSUmTJgA4P8LY6B2Lm7FkJcRI0YgJCRE7TlpUnxXVlbi0KFDAIAvv/xSbXtERKpIBEEQ9J0EERHR22bOnImff/4Z3bp1w4MHD1TGZWZmwtfXF1KpFLm5uWqnHGyOffv2ISQkBJaWlsjLy0PHjh1bpB8iatv45JuIiP5zXr16hZSUFACAr6+v2lgfHx9MmDABcrkcq1atapF8ampqsHLlSgDAokWLWHgT0Ttj8U1ERDqXm5sLVf/xKpfLER4eLs6YEhoa2mh7K1euxHvvvYfdu3ejoKBAq7kCQFJSEm7cuAFHR0dxiXoionfBFS6JiEjnVqxYgQsXLmDKlCnw8fGBjY0NXr16hcuXL2Pnzp3IyckBAPj7+2PMmDGNtufq6opffvkFubm5yM/PR7du3bSar1wuR2xsLIYPHw4TExOttk1E7QvHfBMRkc6FhYUhISFBbczgwYORkpKidpYSIqLWhsU3ERHp3K1bt3Dw4EGcOnUKeXl5KCkpwevXr2FpaQkvLy8EBQVhypQpMDDg6EgialtYfBMRERER6QgfKRARERER6QiLbyIiIiIiHWHxTURERESkIyy+iYiIiIh0hMU3EREREZGOsPgmIiIiItIRFt9ERERERDrC4puIiIiISEdYfBMRERER6QiLbyIiIiIiHfk/RVGCj4y0dtMAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "tuned_ridge = pipeCV.named_steps['ridge']\n", "ridgeCV_fig, ax = subplots(figsize=(8,8))\n", @@ -1092,10 +6903,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 39, "id": "21d65d1f", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:43.045221Z", + "iopub.status.busy": "2023-07-25T23:59:43.045098Z", + "iopub.status.idle": "2023-07-25T23:59:43.047578Z", + "shell.execute_reply": "2023-07-25T23:59:43.047310Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "115526.70630987917" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.min(tuned_ridge.mse_path_.mean(1))\n" ] @@ -1113,12 +6942,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 40, "id": "11373de9", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:43.049360Z", + "iopub.status.busy": "2023-07-25T23:59:43.049242Z", + "iopub.status.idle": "2023-07-25T23:59:43.051656Z", + "shell.execute_reply": "2023-07-25T23:59:43.051383Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([-222.80877051, 238.77246614, 3.21103754, -2.93050845,\n", + " 3.64888723, 108.90953869, -50.81896152, -105.15731984,\n", + " 122.00714801, 57.1859509 , 210.35170348, 118.05683748,\n", + " -150.21959435, 30.36634231, -61.62459095, 77.73832472,\n", + " 40.07350744, -25.02151514, -13.68429544])" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "tuned_ridge.coef_\n" ] @@ -1157,9 +7007,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 41, "id": "72181964", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:43.053342Z", + "iopub.status.busy": "2023-07-25T23:59:43.053221Z", + "iopub.status.idle": "2023-07-25T23:59:43.055713Z", + "shell.execute_reply": "2023-07-25T23:59:43.055414Z" + } + }, "outputs": [], "source": [ "outer_valid = skm.ShuffleSplit(n_splits=1, \n", @@ -1177,12 +7034,2037 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 42, "id": "4c3054b5", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:43.057432Z", + "iopub.status.busy": "2023-07-25T23:59:43.057306Z", + "iopub.status.idle": "2023-07-25T23:59:43.365804Z", + "shell.execute_reply": "2023-07-25T23:59:43.365508Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16002961.893047336, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16002909.292721532, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16002842.919898538, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16002759.16890147, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16002653.490324104, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16002520.144170538, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16002351.888507718, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16002139.586836109, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16001871.713040235, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16001533.727331886, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16001107.28977405, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16000569.269442707, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15999890.496647634, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15999034.192416634, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15997953.993094172, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15996591.467783943, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15994873.001788342, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15992705.889472542, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15989973.444502639, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15986528.893835295, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15982187.774395373, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15976718.499356627, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15969830.707495732, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15961160.960501963, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15950255.320705947, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15936548.344581451, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15919338.096469924, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15897756.97009871, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15870738.473491088, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15836980.785622943, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15794908.961932577, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15742639.305781398, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15677951.783964379, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15598279.520216344, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15500728.213326858, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15382142.225333132, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15239236.776243072, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15068814.890988702, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14868080.263148528, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14635039.685599191, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14368959.698660212, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14070805.23862632, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13743554.88143778, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13392276.560592549, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13023877.88091306, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12646520.933576018, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12268792.343592053, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11898803.095559342, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11543417.93091813, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11207766.718773343, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10895093.611569963, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10606899.312997252, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10343266.88124088, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10103247.353431445, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9885208.910573516, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9687100.478192497, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9506625.781409387, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9341352.903950285, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9188793.402093235, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9046478.453631114, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8912045.904589174, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8783339.107432563, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8658509.901020331, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8536113.828113679, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8415183.975072118, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8295269.742745581, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8176429.120013418, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8059168.8293056125, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7944335.999206969, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7832975.645216511, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7726176.614947152, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7624931.461247044, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7530031.627469164, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7442009.746564693, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7361129.1469736025, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7287410.63533624, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7220681.095616933, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7160628.395404535, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7106851.48376607, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7058900.76970095, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7016308.880858365, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6978613.911777701, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6945376.571027264, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6916191.049528801, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6890688.79244657, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6868535.393319955, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6849422.765039895, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6833060.05095333, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6819166.544534292, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6807468.458908728, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6797699.628345776, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6789604.944998693, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6782944.868629447, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6777499.565630652, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6773071.791553852, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6769488.209512218, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6766599.256783063, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6764277.892213011, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6762417.6162482, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6760930.116967933, tolerance: 3200.6325551004925\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15173612.82487654, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15173560.33151807, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15173494.093703294, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15173410.51311625, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15173305.049649913, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15173171.975059805, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15173004.062268812, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15172792.193566969, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15172524.866617758, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15172187.571748763, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15171762.00720005, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15171225.090500388, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15170547.71354342, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15169693.175771877, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15168615.213598879, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15167255.524179863, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15165540.657224856, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15163378.11903821, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15160651.497821936, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15157214.378191706, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15152882.766135195, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15147425.6946986, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15140553.628850497, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15131904.241777299, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15121025.105980713, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15107352.850599289, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15090188.41286841, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15068668.205066573, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15041731.400110113, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15008084.208955988, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14966163.110870235, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14914100.653844737, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14849699.805850953, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14770425.961151276, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14673429.41690654, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14555614.815015966, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14413776.349016687, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14244816.178940995, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14046055.366934752, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13815628.708094303, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13552926.205683708, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13259008.940702371, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12936897.573228309, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12591625.616217315, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12229982.920676824, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11859948.802383406, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11489906.8603167, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11127805.377401602, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10780443.14443526, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10453012.587348029, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10148944.578529166, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9870012.667698365, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9616601.230672905, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9388032.941233683, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9182876.289070565, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8999193.791535858, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8834727.19434187, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8687036.347689679, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8553612.383287674, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8431979.280234471, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8319788.946660187, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8214909.054690647, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8115501.1056430675, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8020086.35524954, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7927596.53846852, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7837403.822275469, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7749321.535335509, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7663566.802084766, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7580680.550684168, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7501409.564666606, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7426566.500521793, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7356892.242162683, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7292946.117484922, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7235042.041596897, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7183235.551674365, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7137353.553695727, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7097050.348456673, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7061872.012726546, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7031315.123405474, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7004872.089238734, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6982061.123036072, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6962442.578610088, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6945624.890073966, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6931263.4663270125, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6919055.476661856, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6908732.977539104, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6900056.2920428645, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6892808.858171555, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6886793.977603645, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6881833.233569127, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6877765.97498893, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6874449.207170451, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6871757.386867455, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6869581.853912757, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6867829.838852352, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6866423.119345377, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6865296.456501478, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6864395.94700243, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6863677.402652601, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6863104.834999971, tolerance: 3034.7626598069196\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16000126.775776321, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16000067.997791689, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15999993.829780785, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15999900.242584623, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15999782.152469946, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15999633.14527111, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15999445.128467944, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15999207.892430544, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15998908.557207122, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15998530.875140417, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15998054.351968959, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15997453.139532348, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15996694.641307216, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15995737.757220387, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15994530.675893765, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15993008.099962447, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15991087.762599917, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15988666.060097354, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15985612.585588472, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15981763.302383827, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15976912.042096594, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15970799.954194367, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15963102.47325135, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15953413.314912459, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15941224.973906962, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15925905.198558565, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15906668.990428165, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15882545.878220897, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15852342.621036042, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15814602.219371142, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15767561.301116722, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15709109.781098895, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15636759.341258615, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15547630.840385439, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15438475.105455775, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15305746.07465526, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15145748.542592412, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14954882.27386727, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14729996.36384661, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14468848.510940228, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14170631.317143818, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13836485.361873377, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13469879.089990832, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13076719.754361462, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12665089.79937819, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12244586.676668119, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11825360.36369123, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11417044.801169304, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11027817.645702794, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10663776.910200799, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10328716.2675956, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10024263.64783793, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9750266.819731826, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9505284.688773429, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9287065.61072085, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9092940.776433397, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8920108.266351493, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8765816.866835387, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8627473.905487, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8502702.196109628, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8389365.458262948, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8285575.962199782, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8189695.129107317, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8100335.848355204, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8016371.614804332, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7936951.343980087, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7861511.843847987, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7789775.81877588, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7721724.491724883, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7657540.53569288, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7597526.506006125, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7542012.431576015, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7491270.131106991, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7445449.741931618, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7404547.164364969, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7368402.734578147, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7336724.612267373, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7309126.908337014, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7285172.53934286, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7264413.0266303, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7246420.465473388, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7230809.549602925, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7217249.407961924, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7205466.206412938, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7195238.325930048, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7186386.647782039, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7178762.875061372, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7172238.602284237, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7166697.001612171, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7162027.848205515, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7158125.584421616, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7154889.512672326, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7152225.062096559, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7150045.262096591, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7148271.882784204, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7146836.014641162, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7145678.080780019, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7144747.393668608, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7144001.407092072, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7143404.805305656, tolerance: 3200.070250165819\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13766426.844425442, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13766379.012219734, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13766318.655993313, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13766242.496938994, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13766146.398082258, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13766025.13980752, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13765872.136748439, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13765679.08077331, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13765435.490848666, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13765128.145612368, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13764740.368286435, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13764251.12581003, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13763633.894413952, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13762855.231859002, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13761872.98172164, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13760634.01686267, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13759071.406945651, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13757100.867966294, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13754616.31968939, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13751484.339396805, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13747537.257695232, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13742564.595583746, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13736302.49455343, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13728420.749109622, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13718507.02436845, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13706047.848124275, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13690406.03569032, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13670794.381086988, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13646245.795015218, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13615580.679837886, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13577373.323622873, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13529920.608156208, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13471218.48980598, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13398954.581488008, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13310528.590455977, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13203115.797389356, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13073790.981404455, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12919729.112886174, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12738491.873820404, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12528392.752768412, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12288907.120278118, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12021061.050642934, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11727704.457379244, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11413566.98420337, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11085024.381464427, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10749570.986969216, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10415080.823900381, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10089009.138994666, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9777704.218602655, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9485957.157639354, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9216836.907742979, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8971777.239570614, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8750831.806329573, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8553002.845594905, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8376568.552591967, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8219365.99395707, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8079015.288983279, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7953088.9445123505, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7839237.297915861, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7735280.8174845725, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7639277.0523840925, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7549567.214150196, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7464805.436922483, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7383972.203368484, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7306371.938584399, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7231613.9732326735, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7159576.877369866, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7090358.567763316, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7024217.2241215855, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6961509.172985473, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6902628.941757254, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6847954.742128507, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6797801.388530005, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6752382.798167879, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6711786.944628094, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6675965.981966857, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6644742.448857503, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6617829.550839442, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6594860.867273544, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6575423.588385814, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6559089.833983606, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6545442.225937976, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6534091.895329608, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6524688.873515937, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6516926.039701696, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6510538.426567688, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6505299.7780512385, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6501017.943079299, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6497530.176477653, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6494698.902794392, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6492408.111473216, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6490560.3336993465, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6489074.074242126, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6487881.578697735, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6486926.855244275, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6486163.908028902, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6485555.163897053, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6485070.084972435, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6484683.961142942, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6484376.8736711275, tolerance: 2753.321903486231\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16123836.286658319, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16123762.414447501, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16123669.200043006, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16123551.579596577, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16123403.163871313, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16123215.891543608, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16122979.591935372, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16122681.433587788, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16122305.228986472, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16121830.55809336, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16121231.663752725, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16120476.060052717, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16119522.779778486, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16118320.168518286, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16116803.109996723, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16114889.538918179, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16112476.063036688, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16109432.47434148, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16105594.879294181, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16100757.119470121, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16094660.087017829, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16086978.46580684, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16077304.35332688, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16065127.149018394, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16049809.047450969, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16030555.476241706, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16006379.911872495, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15976062.758394275, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15938104.483596483, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15890674.11469827, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15831555.686060235, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15758097.525340755, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15667172.578206709, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15555162.420748936, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15417983.020182043, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15251175.908593165, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15050092.453317674, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14810198.177746587, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14527514.082835246, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14199187.811678281, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13824146.920817537, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13403734.027286602, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12942174.869677957, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12446711.659031235, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11927272.408043081, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11395650.820912804, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10864314.587176824, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10345084.699656613, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9847974.664610261, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9380422.144947704, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8947015.008946363, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8549670.25861056, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8188124.101396974, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7860558.677097185, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7564216.251072414, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7295907.831051512, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7052382.339382325, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6830565.9531656, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6627701.871803495, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6441421.548990706, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6269768.629955583, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6111186.722532658, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5964477.8422521455, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5828739.876908956, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5703294.550898104, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5587617.998651163, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5481282.987854576, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5383916.678079197, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5295172.882818847, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5214714.536832884, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5142200.898831903, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5077274.992035702, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5019549.576235791, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4968593.444998971, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4923922.319001433, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4884998.717484867, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4851242.93844572, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4822053.96370539, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4796836.339338534, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4775027.808895556, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4756122.72319144, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4739687.533593078, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4725366.495343714, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4712877.711579567, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4702001.540622955, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4692564.7733192, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4684424.413915036, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4677454.213645212, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4671535.662147184, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4666553.581406483, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4662395.34181063, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4658952.2530382, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4656121.7760819215, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4653809.600037627, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4651931.081491712, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4650411.90595999, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4649188.052146216, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4648205.23751574, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4647418.038791819, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4646788.852992944, tolerance: 3224.823681413525\n", + " model = cd_fast.enet_coordinate_descent_gram(\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.153e+07, tolerance: 3.855e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", + " model = cd_fast.enet_coordinate_descent(\n" + ] + }, + { + "data": { + "text/plain": [ + "array([132393.84003227])" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "results = skm.cross_validate(pipeCV, \n", " X,\n", @@ -1218,12 +9100,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 43, "id": "72bb0c1d", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:43.368185Z", + "iopub.status.busy": "2023-07-25T23:59:43.368043Z", + "iopub.status.idle": "2023-07-25T23:59:43.419802Z", + "shell.execute_reply": "2023-07-25T23:59:43.419498Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "3.1472370031649866" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "lassoCV = skl.ElasticNetCV(n_alphas=100, \n", " l1_ratio=1,\n", @@ -1237,9 +9136,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 44, "id": "69adc7ac", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:43.421483Z", + "iopub.status.busy": "2023-07-25T23:59:43.421361Z", + "iopub.status.idle": "2023-07-25T23:59:43.431280Z", + "shell.execute_reply": "2023-07-25T23:59:43.431010Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -1265,12 +9170,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 45, "id": "2aa75789", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:43.432981Z", + "iopub.status.busy": "2023-07-25T23:59:43.432885Z", + "iopub.status.idle": "2023-07-25T23:59:43.617766Z", + "shell.execute_reply": "2023-07-25T23:59:43.617396Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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WVns2rWL9evXM2qU1keyffv2vPDCCyQnJ7Njxw5efvllALZt20bfvn15//336dKlC+7u7ixYsIApU6bctpyaNWvi7e3NnDlz6N69e6FvRMaPH8+zzz7L8uXLWbFiBe+99x4LFizgySefLNKzVhoZCXDmIFzcq319G3/gv7NgeFTXZqvzrwf+9bVBRl41Kv/AKnH39szTuvy4VoGW5o190ecbefO3QxhV6NE4kPbhviVTx9KmKFpffge323eHUNWbB0TqcwBVG3CrGrVz8vVakG3qZnIRjHotIM+6VDJ19qsPj0yGkLYlc79SlJuVSVpiAmmXEkgteE27lEjapQQyrlwm32C44z3snZ1x9fLBxdtHazH2vtZi7OLpjYunF46ubihWMhOmuD2z/hpeuKANGrr//vuLfE3bttov6cWL5iTdr/wURSlSlwpL8vLyokuXLsycOZOhQ4fe1C86NTUVDw8PatasSXBwMH/88Qf79++nffv2AFStWpWqVasyZcoU8vLyTC3RW7dupXr16rz99tume509e/aO9fHx8eG3336jQ4cOPP300yxatKhQIB0eHk54eDivv/46ffr0Ye7cuZU7iDYatCmh9dmQma4NpFo+HDJvyFBgZQN+dSHgPi0XbEAjLWiWQX2iOHSZsHGStt5+tNl9fedsjuFofDoeTraMe7ReCVSwnFGUa63IVZsW/TrTJEPxBXm0r05HX7CuSy/IuZ2lLbqC/Nv5ei34ztdr/zfk67Xf8XZvQItB5erDcW5WJinxF0iJv0hqwkVSE+JJTYgnJTGe3Iz0216rWFnh6u2Dm68fbj5+uPn64erti5u3D64+frj6+EifY1FizPqtsS7o32Mowie/q/ILRqhaySe8SmHmzJm0bduWli1bMmHCBBo1aoTBYGD16tXMmjWLo0ePAlpr9JdffkmtWrXw9/c3Xd++fXs+//xzwsPDCQwMBLQW7ri4OBYsWECLFi1Yvnw5S5YsKVJ9/Pz8WLduHREREfTp04cFCxag1+sZNWoUTz31FKGhoZw/f55du3YRGRlZ8j8QS1FV7av0vCyt33JeltYv8yqDqs0YhzUENNSyGAQ21aZw9qunzXInhDm2z4LsK9q3FU3Myyscl5TN1DUnAHj7kbr4uMj708TKShuc6FJBWub/g2o0kn7lEknnz5F04RwpF8+TfPECKfEXyE5L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8MPF2jcoKAhnZ2egaCE6/zn++OMPUlNTi3U+IYQACdFCCFGl5eTk8M0339CrVy98fX3R6/UEBARw11138fPPP2MymW57jPj4eF566SWCg4NxdHTE39+ffv368eeffwJFGyXk999/B6BBgwY0b968WK9BURTq1asHFD1E5120mJGRwV9//VWs8wkhBEiIFkKIKisiIoKWLVsyadIktmzZQlxcHAaDgejoaNasWcOjjz5Kjx49SEhIKPQYR48epWnTpnz00UecPn2arKwsYmJi2LhxI/feey9PPvlkkWrZvHkzAJ06dSr26wgNDeXo0aMAXLx4keTk5NvuU7t2bQICAgBz32ghhCguCdFCCFEFpaWl0adPH8LCwgAYNmwYK1asYN++ffzxxx/06NEDgO3btzN06FCMRuMNx0hKSmLgwIFER0cD8Oijj7JmzRr27dvHb7/9RkhICHPmzGH27Nm3rOXixYuWFur27dsX63Xk5uYyceJEVFW1LDt+/HiR9u3QoQMAW7duLdY5hRACJEQLIUSV9M4773D27FnAPJzcn3/+ydChQ2nbti33338/mzdvtvQb3rlzJ3PmzLnpMS5fvgzA559/zk8//cTAgQNp27YtDzzwANu2beOee+5h9+7dt6xl586dlsetW7cu1uv47LPPOHLkSIFlRe3S0bZtWwAuXbpk+SIghBBFJSFaCCGqmOzsbObNmwdA06ZNefvtt2/YRlEUvvnmG7y9vQEsI2fkP8aCBQsAc+vxc889d8MxtFot3333HQ4ODres5+LFi5bHfn5+RX4d58+ft9TeuXNny/Kihuj858r7QiGEEEUlIVoIIaqY/fv3k5SUBMDYsWPRarU33c7NzY2RI0cCcOLECa5cuWJZt2/fPssxHnnkkULP5e/vz4ABA25ZT2xsrOWxp6dnUV4CAJMnTyYjIwN3d3f++OMPXF1dgaKHaC8vL8vjqKioIp9XCCFAQrQQQlhd3sgVJbnltQoXRf6Q2bFjx1tum399/v3yP87rFlGYdu3a3XJ9/gsXixqily1bxsqVKwH44IMPqF69Os2aNbuhtlvJf6709PQi7SOEEHkkRAshRBWTP7TervtE3ggW1++XmJhoeezr63vLY9xuff7uHpmZmbfcFszTgz/77LOAuRtH3gggeUPjxcbGEhMTc9vj5D+XnZ3dbbcXQoj8dNYuQAghqrqTJ0+W+BjVqlW7o/0URSnxuUsqf8hOSEiwdMsozBtvvMGlS5ews7Njzpw5lteQf3zpY8eO0bt371seJ/+XAg8PjzuoXAhRlUmIFkIIK2vUqFG5ni9/X+Do6GgaNmxY6Lb5+wrn3y9/V4jY2NhbHiN/n+ebyR+iExMTqV27dqHbHjhwwHKR40svvUTTpk0t61q0aGF5XJQQnb81vVatWrfcVgghrifdOYQQoorJ6zsM3Hb4uT179tx0v/zhdf/+/bc8xr59+265Pn8L8unTpwvdzmQy8eSTT2I0GmnQoAGvv/56occpSr/ovHPZ29tTv379224vhBD5SYgWQogqpm3btpbuCz/++GOhU3unpqZapuNu0qRJgS4j7dq1w93dHYCff/650HNFR0ezbt26W9bTrl07S7/ovXv3Frrd119/bQnks2fPvmHoPE9PT2rUqAEULUTnnat169bSJ1oIUWwSooUQooqxt7dn/PjxgDlsvvfeezdso6oqkydPJi4uDjAPJ5efg4MDo0ePBsxh9IsvvrjhGHktx1lZWbesR6/XW0YByd/ynd/ly5ctLc9jxowptKtGXmv07WYtzM7OtkzS0r9//1tuK4QQNyMhWgghqqA333yTunXrAvD2229z//33s2rVKg4cOMDSpUvp3bs3P/30EwAhISE88cQTNxzj7bfftozeMWXKFEaPHs26des4cOAAv//+O926deOvv/6yTK8NhV/IeM899wDmEJ2amnrD+ueee46UlBR8fHz45JNPCn1def2iU1JSiIyMLHS7f//9F4PBAMDw4cML3U4IIQojIVoIIaogV1dX/vnnH8tFjUuXLmXIkCGWab+3bNkCQJcuXVi5cuVNJ2Tx8vJi7dq1lgsDFy5cWGDa7507dzJ27FjLEHRAobMXjh49Gnt7e7Kysvjzzz8LrFu9ejVLliwB4NNPP7XMongzRe0X/csvvwDmvt2tWrUqdDshhCiMhGghhKiigoKCOHz4MLNmzaJHjx54e3tjZ2eHv78/AwcOZOHChfz7778FRuW4XsuWLTlx4gTPP/88DRo0wN7eHh8fH3r16sUvv/zCDz/8QEpKimX7vH7U1/P29ubee+8FrgVcMI/lnNeVpE+fPjz66KO3fE1FCdFZWVksW7YMgKeffvqWxxNCiMIoqqqq1i5CCCFE5TV+/Hjmz59PzZo1uXDhQqHb7d69m06dOqHVagkPD7/lUHcl8fPPP/Poo4/i7e1NREQELi4uZXIeIUTlJi3RQgghykxmZiZ//fUXAJ06dbrlth07duTee+/FaDQyY8aMMqnHZDIxffp0AF588UUJ0EKIOyYhWgghxB0LDw+nsB80jUYjTz31lGWEjzFjxtz2eNOnT0en0/HDDz9w8eLFUq0V4I8//uDkyZPUqlXLMnW4EELcCZmxUAghxB1777332LNnD6NGjaJjx474+fmRmZnJkSNHmDt3LgcOHACgb9++DB48+LbHCw4O5vvvvyc8PJzIyEhq1qxZqvUajUbeeustevfujaOjY6keWwhRtUifaCGEEHds7Nix/Pjjj7fcpkuXLvz111+3HFVDCCEqGgnRQggh7tipU6dYunQpGzduJCIigtjYWAwGA97e3rRr144HHniAUaNGodFI70EhROUiIVoIIYQQQohikqYBIYQQQgghiklCtBBCCCGEEMUkIVoIIYQQQohikhAthBBCCCFEMUmIFkIIIYQQopgkRAshhBBCCFFMEqKFEEIIIYQoJgnRQgghhBBCFJOEaCGEEEIIIYpJQrQQQgghhBDFJCFaCCGEEEKIYvp/Of3dqGAwbYMAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "path_fig, ax = subplots(figsize=(8,8))\n", "soln_path.plot(ax=ax, legend=False)\n", @@ -1291,10 +9213,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 46, "id": "e38c9bed", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:43.619681Z", + "iopub.status.busy": "2023-07-25T23:59:43.619553Z", + "iopub.status.idle": "2023-07-25T23:59:43.621973Z", + "shell.execute_reply": "2023-07-25T23:59:43.621711Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "114690.73118253548" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "np.min(tuned_lasso.mse_path_.mean(1))\n" ] @@ -1309,10 +9249,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 47, "id": "53c42724", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:43.623732Z", + "iopub.status.busy": "2023-07-25T23:59:43.623610Z", + "iopub.status.idle": "2023-07-25T23:59:43.735692Z", + "shell.execute_reply": "2023-07-25T23:59:43.735334Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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y5YtWV4ecHN2he+hQ4fKMAxt2LBBffv2veBQimPHjunuu+/Whg0bHL7Azm+//aZTp06ZM6xER0crNTVVW7ZsMdusWrVKhYWF6tKli9lm7dq1ysvLM9skJCSoadOmqlWrltlm5cqVNvdKSEhQdHS0JCkqKkrh4eE2bdLT07VhwwazDZxraHSkagV468BJq77Z5tjeb6YgBFBehmFo586d2rlzJ+tkAG7OrtlOHnnkEc2bN08//PCDFi9erCuvvFK9evVSp06dFBZWNIPEsWPHtGnTJi1fvlw5OTmSpOuvv16PPPLIZd83IyPD7MWWih5sTEpKUmhoqEJDQ/XCCy+oX79+Cg8P1/79+/Xkk0/q6quvVmxsrKSiXvdbb71VDz30kN5++23l5eVp1KhRGjhwoCIiIiRJ9913n1544QWNHDlS48eP1/bt2zV9+nSz516SnnjiCd1444169dVXFRcXp3nz5mnz5s3mdIQWi0WjR4/WP/7xDzVp0kRRUVF67rnnFBERob59+17254+KU8PPS4/1uFr/XLJLM1n5EgAAVDK7wreHh4e+/fZbDR48WN98842ys7O1cOFCLVy4sFTb4t/U+/Tpo48//lgeHpff6b5582b17NnT/Hjs2LGSpGHDhumtt97STz/9pDlz5ig1NVURERHq1auXXnzxRfn6+prnfPzxxxo1apRuvvlmeXh4qF+/fnrjjTfM4yEhIVq+fLni4+PVoUMH1alTRxMmTLCZC/y6667T3Llz9eyzz+qZZ55RkyZNtGDBArVq1cps8+STT8pqterhhx9WamqqbrjhBi1dulR+fuemu0NpAT5eSn45ziH3GhLdWO/+cEBH05h7HQAAVC67wrckBQYGasGCBVq8eLHeeustrV69utR4NH9/f/Xo0UOPPvqobr/9dntvqR49elzwz27Lli276DVCQ0M1d+7cC7Zp06aNvv/++wu26d+/v/r373/e4xaLRZMmTdKkSZMuWhOcw8/bU4/f1ETPLth+8cYAAAB2sDt8F4uLi1NcXJwKCwu1f/9+nT59WpJUq1YtXXXVVfL09KyoWwEVbkDHhnp7zX79dibL2aUAAIAqrMLCdzEPDw81adKkoi8LVCofLw+N6nm1nvryZ0nSqYwcBYRW+D8PAABQzdk12wlQldzepr65/cYq5z18ySwoAP7MYrGocePGaty4McvL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TX5+fmrYsKGmTJlSqpb58+erWbNm8vPzU+vWrbVkyRKb44ZhaMKECapfv778/f0VExOjffv2XfbnDlyq0EAfzRreSU/1bibPEj3iB09anVgVAFQ/zFQEyc7wbRhFq+mlpaXZ7P/+++8lSSEhIbr22mttjtWuXVuSlJmZedn3tVqtatu2rWbOnFnqWGZmprZu3arnnntOW7du1Zdffqk9e/bojjvuKNV20qRJOnr0qPl6/PHHzWPp6enq1auXGjdurC1btmjq1Kl6/vnn9c4775ht1q1bp0GDBmnkyJH68ccf1bdvX/Xt21fbt28320yZMkVvvPGG3n77bW3YsEGBgYGKjY1Vdnb2ZX/+wKXy8LDokRuv0ocPdDb33fuf9fpu93EnVgUA7o3eaVwOu+ZOCw8P16+//qpdu3aZPdqStGxZ0WTn119/falzrNai3rZatWpd9n179+6t3r17l3ksJCRECQkJNvtmzJihzp0769ChQ2rUqJG5PygoSOHh4WVe5+OPP1Zubq7ef/99+fj4qGXLlkpKStJrr72mhx9+WJI0ffp03XrrrRo3bpwk6cUXX1RCQoJmzJiht99+W4ZhaNq0aXr22Wd15513SpI++OAD1atXTwsWLNDAgQMv+z2AcxVPQehurm1U09zOyMnXA3M26YmbmzivIMBFuONCHagcVWkxF7gmu3q+u3btKsMw9NZbb5k92QcOHNDXX38ti8WiW265pdQ5e/fulaTzht7KkJaWJovFUmp4zMsvv6zatWurXbt2mjp1qs30TYmJierevbt8fHzMfbGxsdqzZ4/OnDljtvnzw6axsbFKTEyUJB08eFApKSk2bUJCQtSlSxezTVlycnKUnp5u8wIq2oCODWQY0rQVDIMCXJ2/v78OHjyogwcPyt/f39nluBV6p+Fq7ArfDz74oKSisdGtWrXSPffco65duyo7O1v+/v667777Sp2zdu1aSdI111xjz63LLTs7W+PHj9egQYMUHBxs7v/rX/+qefPm6bvvvtNf/vIXvfTSS3ryySfN4ykpKapXr57NtYo/TklJuWCbksdLnldWm7JMnjxZISEh5qthw4aX+mkDF/X8HS31z7tayavEOPDkU4wDB0pylYDm4eGhyMhIRUZGysODxanPx1X+fwEXYte/4JtuuklPPPGEDMNQcnKyvvrqK508eVKSNHXqVNWp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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "lassoCV_fig, ax = subplots(figsize=(8,8))\n", "ax.errorbar(-np.log(tuned_lasso.alphas_),\n", @@ -1338,10 +9296,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 48, "id": "5f4942ba", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:43.737708Z", + "iopub.status.busy": "2023-07-25T23:59:43.737572Z", + "iopub.status.idle": "2023-07-25T23:59:43.740456Z", + "shell.execute_reply": "2023-07-25T23:59:43.740061Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([-210.01008773, 243.4550306 , 0. , 0. ,\n", + " 0. , 97.69397357, -41.52283116, -0. ,\n", + " 0. , 39.62298193, 205.75273856, 124.55456561,\n", + " -126.29986768, 15.70262427, -59.50157967, 75.24590036,\n", + " 21.62698014, -12.04423675, -0. ])" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "tuned_lasso.coef_\n" ] @@ -1386,10 +9366,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 49, "id": "72a876bb", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:43.742347Z", + "iopub.status.busy": "2023-07-25T23:59:43.742212Z", + "iopub.status.idle": "2023-07-25T23:59:43.746741Z", + "shell.execute_reply": "2023-07-25T23:59:43.746433Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.09846131, 0.4758765 ])" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pca = PCA(n_components=2)\n", "linreg = skl.LinearRegression()\n", @@ -1412,10 +9410,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 50, "id": "e0e821c6", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:43.748488Z", + "iopub.status.busy": "2023-07-25T23:59:43.748344Z", + "iopub.status.idle": "2023-07-25T23:59:43.752896Z", + "shell.execute_reply": "2023-07-25T23:59:43.752570Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([106.36859204, -21.60350456])" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pipe = Pipeline([('scaler', scaler), \n", " ('pca', pca),\n", @@ -1437,10 +9453,47 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 51, "id": "1ac6886c", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:43.754728Z", + "iopub.status.busy": "2023-07-25T23:59:43.754585Z", + "iopub.status.idle": "2023-07-25T23:59:43.889511Z", + "shell.execute_reply": "2023-07-25T23:59:43.889157Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
GridSearchCV(cv=KFold(n_splits=5, random_state=0, shuffle=True),\n",
+       "             estimator=Pipeline(steps=[('scaler', StandardScaler()),\n",
+       "                                       ('pca', PCA(n_components=2)),\n",
+       "                                       ('linreg', LinearRegression())]),\n",
+       "             param_grid={'pca__n_components': range(1, 20)},\n",
+       "             scoring='neg_mean_squared_error')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "GridSearchCV(cv=KFold(n_splits=5, random_state=0, shuffle=True),\n", + " estimator=Pipeline(steps=[('scaler', StandardScaler()),\n", + " ('pca', PCA(n_components=2)),\n", + " ('linreg', LinearRegression())]),\n", + " param_grid={'pca__n_components': range(1, 20)},\n", + " scoring='neg_mean_squared_error')" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "param_grid = {'pca__n_components': range(1, 20)}\n", "grid = skm.GridSearchCV(pipe,\n", @@ -1460,10 +9513,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 52, "id": "5e0c5a96", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:43.891415Z", + "iopub.status.busy": "2023-07-25T23:59:43.891279Z", + "iopub.status.idle": "2023-07-25T23:59:43.997785Z", + "shell.execute_reply": "2023-07-25T23:59:43.997406Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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kklNTb2s/QAAAOCM4ua1cj/Pd2XAPN8AAABlG/N8AwAAAGVMscZ8N2zYsMQbtixLe/bsKfHjAgAAAGVVscJ3wfR7l2JZliTp1yNZilpfsA4AAACoLIoVvgcOHHjR7QkJCdq4caOMMapatarat29vP9UxOTlZCQkJOnnypCzLUrt27Yo19R8AAABQ0RQrfE+ePPmC2z788ENNnTpVderU0SuvvKI77rhDXl6uh83NzdWsWbP0xBNP6Mcff9SwYcM0dOhQ93oOAAAAlDNuzXaybt06XXvttapZs6bWrl2ryMjIi9YnJiaqY8eOOn78uFasWKGrr776tzZdqTDbCQAAQNnmyGwnr732mnJzc/WXv/zlksFbkiIiIvSXv/xF2dnZevXVV91pGgAAACh33Arf33//vSQpOjq62Pt07txZkrR8+XJ3mgYAAADKHbfC99GjRyVJmZmZxd6noLZgXwAAAKCycCt816xZU5L0zTffFHufr7/+WpJUo0YNd5oGAAAAyh23wvfNN98sY4xeffVVrVix4pL1K1eu1GuvvSbLstStWzd3mgYAAADKHbfC91NPPSVfX19lZmaqW7duGjlypBISElwepmOMUUJCgkaNGqWbb75ZGRkZ8vHx0VNPPeV25wEAAIDyxK2pBiVpxowZuv/++5WTk2M/tdLHx0ehoaGyLEvHjx9XVlaWpPwg7uXlpY8//lh9+/Z1v/eVBFMNAgAAlG2OTDUoSffcc49WrFihjh07yhgjY4wyMzOVmJiow4cPKzMz017foUMHLV++nOANAACASqlYT7i8lE6dOmnt2rVat26dFixYoM2bN+vEiROSpGrVqqlNmzbq3r27OnXqVBLNAQAAAOVSiYTvAldffTVPrQQAAAAuwO1hJwAAAACKp0SvfEvSwYMHlZSUpDNnzqhTp07y9/cv6SYAAACAcqlErnyfOnVKzzzzjOrWrat69eopOjpaN910k/bt2+dSN23aNN1zzz166KGHSqJZAAAAoFxx+8r3rl279Pvf/1579+51md+7YNrB83Xu3Fn333+/jDEaOHCgunTp4m7zAAAAQLnh1pXvjIwMxcXFac+ePQoICNCTTz6pOXPmXLC+fv36uummmyRJX375pTtNAwAAAOWOW1e+33nnHe3evVuBgYH6/vvvddVVV11yn549e2rhwoWKj493p2kAAACg3HHr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at68eXr66ac1bNgw+4r0I488or179+rJJ5/U9u3b9fbbb2vGjBkaNWqU3Y/Ro0fr3//+tz766CNt27ZNjz76qNLT0zV48OBSeV8AAABQuirksJODBw+qX79+On78uGrWrKkuXbpo1apVqlmzpiTptddek4eHh/r06aPMzEzFxsbq7bfftvf39PTUnDlz9OijjyomJkaBgYEaOHCgnn/+ebumQYMGmjt3rkaNGqU33nhDderU0fvvv6/Y2Fi75t5779XRo0f17LPPKikpSVdddZW+/fbbQjdhljW+vr4aN25coaEvlUFlPffKet4S514Zz72ynrdUec+9sp63xLmXxXOvkPN8AwAAAGVRhRx2AgAAAJRFhG8AAADAIYRvAAAAwCGEbwAAAMAhhG/Yli1bpl69eikyMlKWZWn27Nml3SVHvPPOO2rbtq09CX9MTIy++eab0u6WI8aPHy/LslyW5s2bl3a3HFG/fv1C525ZloYNG1baXbviTp06pZEjR6pevXry9/fXtddeq7Vr15Z2t0rcpb6nzZo1Sz169LCfHpyQkFAq/bwSLnXu48ePV/PmzRUYGKhq1aqpe/fuWr16del0tgRd6rwHDRpU6P/8LbfcUjqdLWGXOveivt9ZlqWJEyeWTodLyKXOOzk5WYMGDVJkZKQCAgJ0yy23aNeuXaXT2XMI37Clp6erXbt2euutt0q7K46qU6eOXnzxRa1fv17r1q3TzTffrNtvv11bt24t7a45olWrVkpMTLSX5cuXl3aXHLF27VqX854/f74k6e677y7lnl15Dz74oObPn6///Oc/2rx5s3r06KHu3bvr0KFDpd21EnWp72np6enq0qWLXnrpJYd7duVd6tybNm2qSZMmafPmzVq+fLnq16+vHj166OjRow73tGQV5+fYLbfc4vJ//7PPPnOwh1fOpc79/HNOTEzUhx9+KMuy1KdPH4d7WrIudt7GGPXu3Vt79+7VF198oR9++EH16tVT9+7dlZ6eXgq9/aVjQCGSzOeff17a3Sg11apVM++//35pd+OKGzdunGnXrl1pd6NM+OMf/2gaNWpk8vLySrsrV9SZM2eMp6enmTNnjsv6Dh06mL/+9a+l1Ksr72Lf0/bt22ckmR9++MHRPjmlON/PU1NTjSSzYMECZzrlgKLOe+DAgeb2228vlf44qTj/5rfffru5+eab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N+vXrzdTp041LVq0sGvefffdIvv0448/mipVqth1d9xxh5k+fbpZu3atWbVqlfn444/N/fffbwIDA39z+G7Xrp3x9vY2kZGR5p///KdZvXq1Wbp0qRkzZozx9fU1koy3t7dZu3ZtoWNkZ2cbDw8Pc/PNN5uJEyeab7/91qxfv94sWbLEfPjhhyYmJsbuwwMPPFBkP0oifKenp5s2bdrYx+nYsaP517/+ZVasWGHWrVtnPv/8czNq1CgTGRlZqI2cnByXft5www1m5syZZt26debLL780vXv3trc1atSoyDB1/nsdHR1tAgICzNixY83SpUvN2rVrzWuvvWaH3KCgILN3715Tt25dExoaav7v//7PLF++3Kxevdo899xzxsfHx0gyUVFRJjMzs1BbJfX1/sMPP9hteXt7m1GjRpnFixebNWvWmH/9618uv/A9+eSTRR6j4GuoQ4cOxs/PzzRo0MBMmjTJrFq1ysTHx5vx48cbPz8/I8kEBwebI0eOFHmcl19+2W6rbdu25p133jELFiww69atM59++qnLv88bb7xRaP/zw/e1115rn/esWbPM+vXrzddff23i4uLsmr59+7rsf/LkSbN582bz6KOP2jWbN28utGRlZRlj8n9xKgjeDRo0MK+88opZuHCh+eGHH8yyZcvMv//9b3PfffeZwMBAwjccQ/gGKpmUlBSzbds2ezn/h+Hy5cvt9Vu3brV/GP/3v/912Wfbtm32D7fL8evg/8ILLxSqyc7ONrGxsXbN3LlzC9UUhG9JJjIy0vz0008XbPNywre3t7dZvHhxoZrjx4+bWrVq2YGjKB06dDCSjIeHh/nss88u2J9jx46ZM2fOXLAPRSkITpJMvXr1Cl0NNMaYRYsW2VfEO3XqVGh7Xl6e2bVr1wX7ZYwxzz77rH3lcufOnYW2l0T4HjVqlH2MYcOGmby8vCLrMjMzTVJSksu6SZMmufyCUNS+f/nLXy4aRM9/r319fc2qVasK1cyZM8euqVmzpqlRo4bZvXt3obq33nrLrps1a1ah7SX19V4Q0D09Pc28efMKbT9x4oRp2bKl/fW3ZcuWQjXnfw117NjRpKamFqr55JNP7JpXX3210PatW7faV7zHjRtX5Pufm5trX82uUqWKOXHihMv287/fSDJ///vfCx0jLy/P9OjRw0gyXl5eRf4icKn/MwWeeeYZ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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "pcr_fig, ax = subplots(figsize=(8,8))\n", "n_comp = param_grid['pca__n_components']\n", @@ -1497,12 +9568,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 53, "id": "9df0fb7f", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:43.999739Z", + "iopub.status.busy": "2023-07-25T23:59:43.999596Z", + "iopub.status.idle": "2023-07-25T23:59:44.006697Z", + "shell.execute_reply": "2023-07-25T23:59:44.006373Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "204139.30692994667" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Xn = np.zeros((X.shape[0], 1))\n", "cv_null = skm.cross_validate(linreg,\n", @@ -1526,10 +9614,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 54, "id": "458c21a4", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:44.008508Z", + "iopub.status.busy": "2023-07-25T23:59:44.008380Z", + "iopub.status.idle": "2023-07-25T23:59:44.010723Z", + "shell.execute_reply": "2023-07-25T23:59:44.010438Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.3831424 , 0.21841076])" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pipe.named_steps['pca'].explained_variance_ratio_\n" ] @@ -1563,10 +9669,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 55, "id": "f49d464e", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:44.012454Z", + "iopub.status.busy": "2023-07-25T23:59:44.012320Z", + "iopub.status.idle": "2023-07-25T23:59:44.016175Z", + "shell.execute_reply": "2023-07-25T23:59:44.015867Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
PLSRegression()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "PLSRegression()" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pls = PLSRegression(n_components=2, \n", " scale=True)\n", @@ -1584,10 +9711,40 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 56, "id": "8e118b5b", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:44.017881Z", + "iopub.status.busy": "2023-07-25T23:59:44.017786Z", + "iopub.status.idle": "2023-07-25T23:59:44.123851Z", + "shell.execute_reply": "2023-07-25T23:59:44.123517Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
GridSearchCV(cv=KFold(n_splits=5, random_state=0, shuffle=True),\n",
+       "             estimator=PLSRegression(),\n",
+       "             param_grid={'n_components': range(1, 20)},\n",
+       "             scoring='neg_mean_squared_error')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "GridSearchCV(cv=KFold(n_splits=5, random_state=0, shuffle=True),\n", + " estimator=PLSRegression(),\n", + " param_grid={'n_components': range(1, 20)},\n", + " scoring='neg_mean_squared_error')" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "param_grid = {'n_components':range(1, 20)}\n", "grid = skm.GridSearchCV(pls,\n", @@ -1607,10 +9764,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 57, "id": "0f98407c", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:44.125903Z", + "iopub.status.busy": "2023-07-25T23:59:44.125763Z", + "iopub.status.idle": "2023-07-25T23:59:44.234276Z", + "shell.execute_reply": "2023-07-25T23:59:44.233879Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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pKenn9N2AAAAcEZF81qNn+e7NmCebwAAgOqNeb4BAACAaqZCY75btGhR6Q1blqUdO3ZU+n4BAACA6qpC4bt4+r2zsSxLknT6SJaylhcvAwAAAGqLCoXvoUOHnnF9UlKS1q9fL2OM6tatqy5duth3dUxNTVVSUpKOHTsmy7LUqVOnCk39BwAAAFxsKhS+J0+eXO669957T9OmTVPjxo310ksv6ZZbbpGXl+tuCwoK9Omnn+rxxx/Xjz/+qJEjR2rEiBHu9RwAAACoYdya7WTNmjW64oorFB4ertWrVysqKuqM9QcOHFBMTIyOHDmi7777Tt26dTvfpmsVZjsBAACo3hyZ7eSVV15RQUGB/vjHP541eEtSw4YN9cc//lF5eXl6+eWX3WkaAAAAqHHcCt/Lli2TJMXGxlZ4mx49ekiSli9f7k7TAAAAQI3jVvg+dOiQJCknJ6fC2xTXFm8LAAAA1BZuhe/w8HBJ0tdff13hbb766itJUv369d1pGgAAAKhx3Arf1113nYwxevnll/Xdd9+dtf7777/XK6+8Isuy1Lt3b3eaBgAAAGoct8L3k08+KV9fX+Xk5Kh3794aPXq0kpKSXG6mY4xRUlKSxowZo+uuu07Z2dny8fHRk08+6XbnAQAAgJrErakGJWnGjBm6++67lZ+fb9+10sfHR2FhYbIsS0eOHFFubq6koiDu5eWlDz74QAMHDnS/97UEUw0CAABUb45MNShJd9xxh7777jvFxMTIGCNjjHJycnTgwAHt379fOTk59vKuXbtq+fLlBG8AAADUShW6w+XZdO/eXatXr9aaNWs0f/58bdy4UUePHpUkhYaGqkOHDurTp4+6d+9eGc0BAAAANVKlhO9i3bp1466VAAAAQDncHnYCAAAAoGIq9cy3JO3bt08pKSnKyspS9+7d5e/vX9lNAAAAADVSpZz5Pn78uJ5++mk1adJETZs2VWxsrHr16qVdu3a51H3yySe64447dP/991dGswAAAECN4vaZ723btum3v/2tdu7c6TK/d/G0gyX16NFDd999t4wxGjp0qK666ip3mwcAAABqDLfOfGdnZyshIUE7duxQQECAnnjiCc2ePbvc+mbNmqlXr16SpC+++MKdpgEAAIAax60z32+99Za2b9+uwMBALVu2TJ07dz7rNv369dOCBQuUmJjoTtMAAABAjePWme9PP/1UlmXpscceq1DwlqROnTpJKhquAgAAANQmboXvLVu2SJL69u1b4W3q1asnSUpLS3OnaQAAAKDGcSt8nzhxQpJUp06dCm+Tk5MjSfL29nanaQAAAKDGcSt8F5/F3r17d4W32bx5syQpMjLSnaYBAACAGset8N21a1dJ0tKlSyu8zQcffCDLshQXF+dO0wAAAECN41b4vu2222SM0TvvvKO9e/eetf7VV1+1g/qgQYPcaRoAAACocdwK30OGDFHHjh2VnZ2ta6+9Vl9//XWpG+0YY7R69WoNHjxYv//972VZlq6++mr169fP7c4DAAAANYllSqbl87B3715dddVV2rdvnyzLUkBAgLKysiRJ9evX1/Hjx+2LLI0xatmypb777jtFRES43/taIiMjQyEhIUpPT1dwcHBVdwcAAACnqWhec+vMtyRFR0crKSlJgwYNkoeHhzIzM2WMkTFGhw4dUnZ2tn02/I477tCqVasI3gAAAKiV3D7zXdKePXs0Z84crVmzRgcPHlRBQYHq1aunLl266MYbb9Sll15aWU3VKpz5BgAAqN4qmtcqNXzjwiB8AwAAVG8VzWte7jRSPMNJo0aN5OnpWaFtCgsLtW/fPklFQ1YAAACA2sKt8N2sWTN5eHhow4YNateuXYW22bVrl1q1aiUPDw/l5+e70zwAAABQo7h9weX5jlphtAsAAABqG7fD97kqDt0eHo43DQAAAFQpxxPwgQMHJElBQUFONw0AAABUKbfGfBezLOusNXl5edqxY4f+8pe/SJJat25dGU0DAAAANcY5he+yZjQxxuiyyy47p0Yty9Jtt912TtsAAAAANd05he/yLpI814sn77jjDo0ePfqctgEAAABqunMK3xMmTHB5/eyzz8qyLD344INnvGW8ZVny8/NTw4YNdcUVV6hly5bn11sAAACgBnPrDpceHh6yLEsbN26s8DzfOHfc4RIAAKB6c+QOl5MnT5YkNW7c2J3dAAAAALWCW+F76NChldUPAAAA4KLHnW4AAAAAh1TKPN/Fjh07pvXr1+vw4cM6efLkWWdBueeeeyqzeQAAAKBaq5TwvXjxYk2YMEHLly+v8DaWZRG+AQAAUKu4Hb7feustPfLIIzLGnPN83wAAAEBt4taY7y1btujRRx+VMUYdOnTQrFmzNGfOHElFZ7Z37Nih1atX66233lLXrl0lSVdddZU2b96snTt3ut97AAAAoAZxK3z/85//VEFBgerXr69ly5bppptuUnR0tL2+efPmiomJ0e9+9zutXr1ajz/+uJYvX65HHnlETZs2dbvzAAAAQE3iVvhesmSJLMvSo48+qqCgoDPWWpalv/3tb7ruuuu0aNEivffee+40DQAAANQ4boXvffv2SZI9pEQqCtnF8vLySm3zwAMPyBijqVOnutM0AAAAUOO4Fb6zs7MlSVFRUfaywMBA+/mxY8dKbXPJJZdIkn788Ud3mgYAAABqHLfCd1hYmCQpMzPTXhYeHm6f/f7pp59KbXP48GFJUlpamjtNAwAAADWOW+G7TZs2kqRt27bZywICAtSqVStJ0hdffFFqm88++0xSUUgHAAAAahO3wvdVV10lY4yWLVvmsvzWW2+VMUb/+Mc/NHnyZGVmZurgwYN64YUX9J///EeWZem6665zq+MAAABATWMZN+6Ms3LlSsXFxSksLEz79u2Tn5+fJOnIkSNq3bp1mWO+jTHy9/fXmjVr1LZt2/PveS2SkZGhkJAQpaenKzg4uKq7AwAAgNNUNK+5deY7NjZWkydP1t/+9jeXoF2vXj3NnTtXzZo1s+98WfyIiIjQZ599RvAGAABArePWme+zycvL08KFC7V582bl5+erVatWio+PV0BAwIVq8qLEmW8AAIDqraJ57YKGb1QOwjcAAED15siwEwAAAAAVR/gGAAAAHOJVkaIPPvjggjR+zz33XJD9AgAAANVRhcZ8e3h42HetrLSGLUv5+fmVus+LFWO+AQAAqreK5rUKnfmWiubnBgAAAHD+KjTme9euXeU+1q1bp+7du0uSLrvsMr344otasmSJtm7dqq1bt2rJkiX6+9//rg4dOkiSunfvrnXr1mnnzp3n3emlS5fqxhtvVFRUlCzL0qxZs1zW33vvvbIsy+Vx/fXXu9QcPXpUgwcPVnBwsOrWrasRI0boxIkTLjUbNmzQ1VdfLT8/PzVp0kQvvPBCqb7MnDlTbdq0kZ+fnzp06KCvvvrKZb0xRs8884waNmwof39/9enTR9u2bTvvYwcAAEANZtyQk5NjYmJijIeHh/nTn/5kCgsLy60tLCw0f/7zn41lWaZbt24mJyfnvNv96quvzP/93/+ZTz/91Egyn332mcv6oUOHmuuvv94cOHDAfhw9etSl5vrrrzedOnUyK1asMMuWLTOXXHKJGTRokL0+PT3dNGjQwAwePNhs2rTJfPzxx8bf39/861//smu+++474+npaV544QXz448/mqeeesp4e3ubjRs32jXPP/+8CQkJMbNmzTLr1683N910k2nevLk5efJkhY83PT3dSDLp6enn+E4BAADACRXNa26F77///e/Gsixz5513VnibO++803h4eJgXXnjBnaZt5YXvm2++udxtfvzxRyPJrF692l729ddfG8uyzC+//GKMMebNN980oaGhLr8kjBs3zrRu3dp+fccdd5iEhASXfcfGxprf/e53xpiiXzgiIyPNiy++aK9PS0szvr6+5uOPP67wMRK+AQAAqreK5jW3phqcNm2aLMvSvffeW+Fthg0bJmOMPvnkE3eaPqvFixcrIiJCrVu31kMPPaQjR47Y6xITE1W3bl1169bNXtanTx95eHho5cqVdk3Pnj3l4+Nj18THxys5OVnHjh2za/r06ePSbnx8vBITEyUVDddJSUlxqQkJCVFsbKxdU5acnBxlZGS4PAAAAFDzuRW+d+zYIUlq0KBBhbeJiIhw2fZCuP766/XBBx9owYIF+tvf/qYlS5aoX79+KigokCSlpKTY/Sjm5eWlsLAwpaSk2DWnH1fx67PVlFxfcruyasoyadIkhYSE2I8mTZqc0/EDAACgeqrwbCdlMadmQNm2bZu6dOlSoW2KLzY0F3D2lIEDB9rPO3TooI4dO6ply5ZavHixevfufcHarSzjx4/X2LFj7dcZGRkEcAAAgIuAW2e+27ZtK0l69dVXVVhYeNb6wsJCvfLKKy7bOqFFixaqX7++tm/fLkmKjIzUwYMHXWry8/N19OhRRUZG2jWpqakuNcWvz1ZTcn3J7cqqKYuvr6+Cg4NdHgAAAKj53Arf99xzj4wxWrlypfr373/GoRSpqam69dZbtXLlSlmW5ejdLfft26cjR46oYcOGkqS4uDilpaVp7dq1ds3ChQtVWFio2NhYu2bp0qXKy8uza+bNm6fWrVsrNDTUrlmwYIFLW/PmzVNcXJwkqXnz5oqMjHSpycjI0MqVK+0aAAAA1B4VusNleQoLC3Xttddq+fLlsixLvr6+6tu3r7p3766IiAhZlqXU1FStXr1a3377rXJycmSM0VVXXaXFixfLw+P8sv+JEyfss9hdunTRyy+/rF69eiksLExhYWF69tlnNWDAAEVGRmrHjh164okndPz4cW3cuFG+vr6SpH79+ik1NVVvv/228vLyNGzYMHXr1k3Tpk2TJKWnp6t169bq27evxo0bp02bNmn48OF65ZVX9MADD0iSvv/+e11zzTV6/vnnlZCQoE8++UR//etftW7dOl122WWSpL/97W96/vnn9f7776t58+Z6+umntWHDBv3444/y8/Or0PFyh0sAAIDqrcJ5zd1pVU6cOGFuvvlmY1mWsSzLeHh4lPkoXn/TTTeZ48ePu9XmokWLjKRSj6FDh5qsrCzTt29fEx4ebry9vU3Tpk3N/fffb1JSUlz2ceTIETNo0CBTp04dExwcbIYNG1aqX+vXrzdXXXWV8fX1NY0aNTLPP/98qb7MmDHDXHrppcbHx8e0b9/ezJkzx2V9YWGhefrpp02DBg2Mr6+v6d27t0lOTj6n42WqQQAAgOqtonnNrTPfJc2ZM0dvvfWWFi9erKysLJd1/v7+uvbaa/XQQw/phhtuqIzmahXOfAMAAFRvFc1rlRa+ixUWFmrHjh06evSoJCk0NFQtW7aUp6dnZTZTqxC+AQAAqreK5jW3phosi4eHh1q1alXZuwUAAABqPLdmOwEAAABQcYRvAAAAwCEVGnYyfPhwSZJlWXr33XdLLT8fp+8LAAAAuNhV6IJLDw8PWZYlSSooKChz+bkwxsiyLJd9oXxccAkAAFC9VeoFl9HR0WWG7PKWAwAAACitQuF79+7d57QcAAAAQGlccAkAAAA4hPANAAAAOITwDQAAADiE8A0AAAA4pEIXXLZo0aLSG7YsSzt27Kj0/QIAAADVlVuznbiDKQoBAABQ21QofA8dOvRC9wMAAAC46FUofE+ePPlC9wMAAAC46HHBJQAAAOAQwjcAAADgEMI3AAAA4JAKjfk+F7t379bhw4d18uRJGWPOWNuzZ8/Kbh4AAACotiolfCcnJ+uvf/2rvvjiC2VkZFRoG8uylJ+fXxnNAwAAADWC2+F71qxZGjx4sLKzs896phsAAACozdwK3z///LPuvvtunTx5Uo0aNdLjjz+ugIAAPfDAA7IsS/Pnz9fRo0e1Zs0affjhh9q/f7+uuuoqTZw4UZ6enpV1DAAAAECNYBk3Tlc//vjjeumllxQUFKQtW7YoKipKmzdvVocOHWRZlgoKCuzakydPasSIEZo+fboGDhyojz76qFIOoDbIyMhQSEiI0tPTFRwcXNXdAQAAwGkqmtfcmu1k/vz5sixLDz/8sKKios5Y6+/vr6lTp6pLly765JNP9L///c+dpgEAAIAax63wvXv3bknSFVdcYS+zLMt+fvoFlR4eHnr00UdljNF7773nTtMAAABAjeNW+M7MzJQkNWnSxF4WEBBgP09PTy+1Tfv27SVJ69evd6dpAAAAoMZxK3yHhIRIkrKzs+1l9erVs5/v2LGj1DbFgfzw4cPuNA0AAADUOG6F79atW0uSdu7caS8LCgpS06ZNJUnffvttqW3mzZsnSapbt647TQMAAAA1jlvhOy4uTpK0YsUKl+U33HCDjDF68cUXtWjRInv5jBkz9Nprr8myLF155ZXuNA0AAADUOG5NNbho0SL17t1bUVFR2rNnjz139969e9WuXTudPHlSkhQWFqbs7GxlZWXJGCNPT08tW7ZMPXr0qJyjuMgx1SAAAED15shUg9dee60mTJigYcOG6ZdffrGXR0dHa+bMmQoJCZExRkeOHFFmZqaMMfL19dW///1vgjcAAABqHbfOfJ/NkSNH9N///lebN29Wfn6+WrVqpTvuuEONGjW6UE1elDjzDQAAUL1VNK9d0PCNykH4BgAAqN4cGXYCAAAAoOLcCt89evTQ66+/rkOHDlVWfwAAAICLllvhe9WqVXrsscfUqFEj9evXT1OnTrXvegkAAADAlVvhu1WrVjLGKD8/X99++62GDh2qBg0a6K677tKcOXNUUFBQWf0EAAAAajy3wndycrJWr16tMWPGqGHDhjLGKCsrS9OnT9dNN92khg0batSoUfr+++8rq78AAABAjVVps50YY7Ro0SJNmzZNn376qdLS0ooasCxJUtOmTTV48GDdddddatu2bWU0WWsw2wkAAED1VqVTDebm5mrOnDmaNm2a5syZo+zs7KLGTgXxTp066e6779bYsWMru+mLEuEbAACgeqs283wfP35c//3vfzVt2jQtXrzYHgduWRZjwiuI8A0AAFC9VZt5voOCgjRs2DB9++23mjJliurWrXuhmwQAAACqJa8L3cC6des0bdo0ffLJJzpw4MCFbg41WFZuvto9M1eS9ONz8QrwueBfngAAAI66IOlm586d+uijjzRt2jT99NNPkoouyJSkwMBA9e/fX4MHD74QTQMAAADVVqWF70OHDumTTz7RtGnTtGrVKkm/Bm4vLy/17dtXgwcP1s0336yAgIDKahYAAACoMdwK35mZmfr000/10UcfaeHChfYFlMWhOy4uToMHD9Ydd9yh+vXru99bAAAAoAZzK3xHRETY0wgWB+42bdrY83k3b97c/R4CtUBVjndnrD0AAM5x66fsyZMnJUlRUVEaOHCgBg8erC5dulRKxwAAAICLjVvhe9iwYRo8eLB69epl30AHqKk4AwwAAC40t9LFu+++W1n9AAAAAC56F+QmO7t379Z1112n3r17X4jdAwAAADXSBfm7emZmphYvXsxQFAAAADiuOg8lveC3lweAM8nKzVezJ+eo2ZNzlJWbX9XdAQBUAj7by0f4BgAAABxC+IYLflMFAAC4cAjfAAAAgEMI3wAAAIBDLsilnxEREZowYcKF2DUAAABQY12Q8B0eHk74BgAAAE7DsBMAAADAIRd8xvEvv/xSM2bM0OHDh9W8eXPdd9996tq164VuFgAAAKh23DrzvWjRIkVERCg6OlppaWml1j/99NPq37+/pk2bpm+//Vb/+te/1KNHD3344YfuNAsAAADUSG6F76+++kqHDx9W9+7dVbduXZd1GzZs0F//+lcZY2SMUd26dWWMUX5+vn73u99p9+7d7jQNAG5jXnsAgNPcCt/Lly+XZVnq06dPqXVvvfWWjDEKDQ3V2rVrdeTIEa1atUphYWHKycnR22+/7U7TAAAAQI3jVvg+cOCAJKl9+/al1s2ePVuWZWnUqFHq0qWLJKlbt24aNWqUjDGaP3++O00DAAAANY5b4fvQoUOSVGrIyY4dO/TLL79Ikm655RaXdVdffbVdc76WLl2qG2+8UVFRUbIsS7NmzbLX5eXlady4cerQoYMCAwMVFRWle+65R/v373fZR7NmzWRZlsvj+eefd6nZsGGDrr76avn5+alJkyZ64YUXSvVl5syZatOmjfz8/NShQwd99dVXLuuNMXrmmWfUsGFD+fv7q0+fPtq2bdt5HzsAAABqLrfCtzFGkpSenu6yfNmyZZKkkJAQde7c2WVdvXr1JElZWVnn3W5mZqY6deqkN954o9S6rKwsrVu3Tk8//bTWrVunTz/9VMnJybrppptK1T733HM6cOCA/XjkkUfsdRkZGerbt6+aNm2qtWvX6sUXX9TEiRP1zjvv2DXff/+9Bg0apBEjRuiHH35Q//791b9/f23atMmueeGFF/SPf/xDb7/9tlauXKnAwEDFx8crOzv7vI8fAADgbLiupXpya6rByMhI7dmzR1u2bLHPaEvS3LlzJUlXXnllqW0yMzMlSaGhoefdbr9+/dSvX78y14WEhGjevHkuy15//XVdfvnl2rt3r6Kjo+3lQUFBioyMLHM/H330kXJzc/Xee+/Jx8dH7du3V1JSkl5++WU98MADkqTXXntN119/vR5//HFJ0p/+9CfNmzdPr7/+ut5++20ZY/Tqq6/qqaee0s033yxJ+uCDD9SgQQPNmjVLAwcOPO/3AAAAADWPW2e+e/ToIWOM3nrrLftM9s6dO/X555/Lsiz95je/KbXNTz/9JEnlht4LIT09XZZllRoe8/zzz6tevXrq0qWLXnzxReXn//pbYWJionr27CkfHx97WXx8vJKTk3Xs2DG75vSLTePj45WYmChJ2rVrl1JSUlxqQkJCFBsba9eUJScnRxkZGS4PAADcUZVnQTkDC/zKrfB93333SSoaG33ZZZfptttuU48ePZSdnS1/f3/dddddpbZZunSpJOnSSy91p+kKy87O1rhx4zRo0CAFBwfbyx999FF98sknWrRokX73u9/pr3/9q5544gl7fUpKiho0aOCyr+LXKSkpZ6wpub7kdmXVlGXSpEkKCQmxH02aNDnXwwaAMyIMAc7gew2nc2vYyXXXXafHHntMr732mnbv3q09e/bY48BffPFF1a9f36U+OzvbPives2dPd5qukLy8PN1xxx322fmSxo4daz/v2LGjfHx89Lvf/U6TJk2Sr6/vBe/bmYwfP96lfxkZGQRwXDDF37OStGb3MdWr46M6vl4K9PVSHV8v+Xp5yLKsKuzhxSkrN1/tnikaovfjc/EK8LngNxwGAFQDbn/av/LKK+rdu7dmzpyplJQUNWzYUPfcc4+uu+66UrVffPGFgoODFRISohtvvNHdps+oOHjv2bNHCxcudDnrXZbY2Fjl5+dr9+7dat26tSIjI5WamupSU/y6eMhMeTUl1xcva9iwoUvN6ReiluTr61vlvwDg4mWM0c7DmVq166hW7TqqxJ1H7HX3vLeqVL2nh6VAH08F+Xkr0NfTDuWBPsUB/dQyv9OXeynQ1/PXIO9XtM7TgyAPwDn8oovqplK+Am+44QbdcMMNZ6274447dMcdd1RGk2dUHLy3bdum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165d5evrq0suuURTpkwp1Zc33nhDzZo1k5+fn2JjY7Vq1aoLdtwAAACovi7a8L169WodOHDAfsybN0+SdPvtt9s1999/v0vNCy+8YK8rKChQQkKCcnNz9f333+v999/XlClT9Mwzz9g1u3btUkJCgnr16qWkpCSNHj1a9913n+bOnWvXTJ8+XWPHjtWECRO0bt06derUSfHx8Tp48KAD7wIAAACqE8sYY6q6E04YPXq0Zs+erW3btsmyLF177bXq3LmzXn311TLrv/76a91www3av3+/GjRoIEl6++23NW7cOB06dEg+Pj4aN26c5syZo02bNtnbDRw4UGlpafrmm28kSbGxserevbtef/11SVJhYaGaNGmiRx55RE8++WSF+p6RkaGQkBClp6crODjYjXcBAAAAF0JF89pFe+a7pNzcXE2dOlXDhw+XZVn28o8++kj169fXZZddpvHjxysrK8tel5iYqA4dOtjBW5Li4+OVkZGhzZs32zV9+vRxaSs+Pl6JiYl2u2vXrnWp8fDwUJ8+feyasuTk5CgjI8PlAQAAgJrPq6o74IRZs2YpLS1N9957r73srrvuUtOmTRUVFaUNGzZo3LhxSk5O1qeffipJSklJcQnekuzXKSkpZ6zJyMjQyZMndezYMRUUFJRZs3Xr1nL7O2nSJD377LPnfbwAAAConmpF+H733XfVr18/RUVF2cseeOAB+3mHDh3UsGFD9e7dWzt27FDLli2ropu28ePHa+zYsfbrjIwMNWnSpAp7BAAAgMpw0YfvPXv2aP78+fYZ7fLExsZKkrZv366WLVsqMjKy1KwkqampkqTIyEj73+JlJWuCg4Pl7+8vT09PeXp6lllTvI+y+Pr6ytfXt2IHCAAAgBrjoh/zPXnyZEVERCghIeGMdUlJSZKkhg0bSpLi4uK0ceNGl1lJ5s2bp+DgYLVr186uWbBggct+5s2bp7i4OEmSj4+PYmJiXGoKCwu1YMECuwYAAAC1x0UdvgsLCzV58mQNHTpUXl6/nuTfsWOH/vSnP2nt2rXavXu3vvjiC91zzz3q2bOnOnbsKEnq27ev2rVrpyFDhmj9+vWaO3eunnrqKY0cOdI+K/3ggw9q586deuKJJ7R161a9+eabmjFjhsaMGWO3NXbsWP373//W+++/ry1btuihhx5SZmamhg0b5uybAQAAgCp3UQ87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e09PT82ePVsPPfSQ4uLiFBgYqKFDh+q5556za5o3b645c+ZozJgxeu2119S4cWP95z//UXx8vF1z55136tChQ3rmmWeUkpKizp0765tvvil1EWZ14+vrqwkTJpQa+lIb1NZjr63HLXHstfHYa+txS7X32GvrcUsce3U89otynm8AAACgOrooh50AAAAA1RHhGwAAAHAI4RsAAABwCOEbAAAAcAjhG7alS5fqxhtvVFRUlCzL0qxZs6q6S45466231LFjR3sS/ri4OH399ddV3S1HTJw4UZZluTzatGlT1d1yRLNmzUodu2VZGjlyZFV37YI7fvy4Ro8eraZNm8rf319XXHGFVq9eXdXdqnRn+0z79NNP1bdvX/vuwUlJSVXSzwvhbMc+ceJEtWnTRoGBgQoNDVWfPn20cuXKqulsJTrbcd97772lvuevv/76qulsJTvbsZf1eWdZll588cWq6XAlOdtxp6am6t5771VUVJQCAgJ0/fXXa9u2bVXT2VMI37BlZmaqU6dOeuONN6q6K45q3Lixnn/+ea1du1Zr1qzRddddp5tvvlmbN2+u6q45on379jpw4ID9WL58eVV3yRGrV692Oe558+ZJkm6//fYq7tmFd99992nevHn68MMPtXHjRvXt21d9+vTRL7/8UtVdq1Rn+0zLzMzUVVddpb/97W8O9+zCO9uxX3rppXr99de1ceNGLV++XM2aNVPfvn116NAhh3tauSryc+z66693+d7/+OOPHezhhXO2Yy95zAcOHNB7770ny7I0YMAAh3tauc503MYY9e/fXzt37tTnn3+uH374QU2bNlWfPn2UmZlZBb39tWNAKZLMZ599VtXdqDKhoaHmP//5T1V344KbMGGC6dSpU1V3o1p47LHHTMuWLU1hYWFVd+WCysrKMp6enmb27Nkuy7t27Wr+7//+r4p6deGd6TNt165dRpL54YcfHO2TUyryeZ6enm4kmfnz5zvTKQeUddxDhw41N998c5X0x0kV+T+/+eabzXXXXedMhxxy+nEnJycbSWbTpk32soKCAhMeHm7+/e9/V0EPi3DmGyihoKBAn3zyiTIzMxUXF1fV3XHEtm3bFBUVpRYtWmjw4MHau3dvVXfJcbm5uZo6daqGDx8uy7KqujsXVH5+vgoKCuTn5+ey3N/fv9b81QOucnNz9c477ygkJESdOnWq6u5ccIsXL1ZERIRat26thx56SEeOHKnqLjkuNTVVc+bM0YgRI6q6KxdUTk6OJLl83nl4eMjX17dKP+8I34CkjRs3qk6dOvL19dWDDz6ozz77TO3atavqbl1wsbGxmjJlir755hu99dZb2rVrl66++modP368qrvmqFmzZiktLU333ntvVXflggsKClJcXJz+9Kc/af/+/SooKNDUqVOVmJioAwcOVHX34KDZs2erTp068vPz0yuvvKJ58+apfv36Vd2tC+r666/XBx98oAULFuhvf/ublixZon79+qmgoKCqu+ao999/X0FBQbr11luruisXVJs2bRQdHa3x48fr2LFjys3N1d/+9jft27evSj/vLsrbywPnqnXr1kpKSlJ6err++9//aujQoVqyZMlFH8D79etnP+/YsaNiY2PVtGlTzZgx46I/I1LSu+++q379+ikqKqqqu+KIDz/8UMOHD1ejRo3k6emprl27atCgQVq7dm1Vdw0O6tWrl5KSknT48GH9+9//1h133KGVK1cqIiKiqrt2wQwcONB+3qFDB3Xs2FEtW7bU4sWL1bt37yrsmbPee+89DR48uNRfwC423t7e+vTTTzVixAiFhYXJ09NTffr0Ub9+/WSq8AbvnPkGJPn4+OiSSy5RTEyMJk2apE6dOum1116r6m45rm7durr00ku1ffv2qu6KY/bs2aP58+frvvvuq+quOKZly5ZasmSJTpw4oZ9//lmrVq1SXl6eWrRoUdVdg4MCAwN1ySWXqEePHnr33Xfl5eWld999t6q75agWLVqofv36teozb9myZUpOTq41n3kxMTFKSkpSWlqaDhw4oG+++UZHjhyp0s87wjdQhsLCQnusWG1y4sQJ7dixQw0bNqzqrjhm8uTJioiIUEJCQlV3xXGBgYFq2LChjh07prlz5+rmm2+u6i6hCtXGz719+/bpyJEjteoz791331VMTEytGN9fUkhIiMLDw7Vt2zatWbOmSj/vGHYC24kTJ1x++9+1a5eSkpIUFham6OjoKuzZhTV+/Hj169dP0dHROn78uKZNm6bFixdr7ty5Vd21C+4Pf/iDbrzxRjVt2lT79+/XhAkT5OnpqUGDBlV11xxRWFioyZMna+jQofLyqj0fh3PnzpUxRq1bt9b27dv1+OOPq02bNho2bFhVd61Sne0z7ejRo9q7d6/2798vSUpOTpYkRUZGKjIyskr6XFnOdOz16tXTX/7yF910001q2LChDh8+rDfeeEO//PJLjZ9q80zHHRYWpmeffVYDBgxQZGSkduzYoSeeeEKXXHKJ4uPjq7DXlaMiP8MzMjI0c+ZMvfTSS1XVzUp3tuOeOXOmwsPDFR0drY0bN+qxxx5T//791bdv36rrdJXNs4JqZ9GiRUZSqcfQoUOrumsX1PDhw03Tpk2Nj4+PCQ8PN7179zbffvttVXfLEXfeeadp2LCh8fHxMY0aNTJ33nmn2b59e1V3yzFz5841kkxycnJVd8VR06dPNy1atDA+Pj4mMjLSjBw50qSlpVV1tyrd2T7TJk+eXOb6CRMmVGm/K8OZjv3kyZPmlltuMVFRUcbHx8c0bNjQ3HTTTWbVqlVV3W23nem4s7KyTN++fU14eLjx9vY2TZs2Nffff79JSUmp6m5Xior8DP/Xv/5l/P39L6rv97Md92uvvWYaN25svL29TXR0tHnqqadMTk5OlfbZMqYKR5wDAAAAtQhjvgEAAACHEL4BAAAAhxC+AQAAAIcQvgEAAACHEL4BAAAAhxC+AQAAAIcQvgEAAACHEL4BAAAAhxC+AVzUdu/eLcuyZFmWpkyZUtXdKdPEiRPtPlZnNeG9BIDqjvANQJKUmJgoy7IUGBio/Px8e3laWpo8PT1lWZb27t1bhT0EAKDmI3wDkCR99913kqTY2Fh5eXm5LC8sLFSTJk0UHR1dVd0DAFtN+WsRUBbCNwBJv4bvq666ymX5smXLylxeUzRr1kzGGBljdO+991Z1d8o0ceJEu48AgIsb4RuAJOn777+XVDpkL1++vMzlAADg3BG+AWj79u06ePCgPD09FRcXZy/Pzs7W6tWrJRG+AQCoDIRvAPaQk44dOyooKMhevmrVKuXm5qpu3bq67LLL3G5nypQp9jjN3bt3KycnR3//+9/VtWtXhYSEKDg4WLGxsXrzzTdVUFBQ7n6uvfZaWZala6+9VpK0bds2jRo1Sq1atVJAQIC9f+nsM3ScPnY0OztbL774orp27aqgoCAFBQXp8ssv1+uvv+5yIWp5cnJy9M477yghIUGNGjWSr6+vAgMD1b59e913332aO3duqeElZxu/2qxZM1mWZQ+bWb16tQYNGqQmTZrIz89PTZo00bBhw7R169Yz9u3AgQN68803ddttt6lVq1YKDAyUr6+vGjVqpJtvvlnTp09XYWHhWY+xsnz11Ve6++671aJFCwUGBsrPz0/NmzfXgAEDNGXKFGVlZZW5XWFhoaZOnarf/va3ioyMlI+Pj8LDw9WrVy+9+eabys3NLbfN09/rjIwMTZw4UR06dFCdOnUUERGh3/72t/ZfgoodPHhQTz31lNq3b6/AwEDVq1dPN998s3744Ydy26qsr/dihw4d0lNPPaUuXbqobt268vPzU7NmzTRkyBD7L1TlOf1rKDk5Wffff7+aNWsmX19fNWjQQLfccotWrFhx1n5IRb+wjxkzRh06dFBISIj8/f3VokUL3XvvvVqzZk252y1evNh+TxYvXixJmjFjhnr37q3w8HD5+/urdevWeuKJJ3T06NFS2xe/p88++6y9rHh/JR/F3//F1q5dqxEjRujSSy+1v9aaNGmimJgYjRw5Ul988QXDvuAcA6BWmTx5spHk9mPXrl1utb1u3ToTExNT7v579uxpjh8/XuZ+rrnmGiPJXHPNNWbWrFkmMDCw3P7t2rXLXjZ58uRS+5owYYK9PiUlxXTu3LncPt14442moKCg3OP74YcfTPPmzc/5vSvZh7I0bdrUSDJDhw417777rvHy8ipzv76+vmbGjBll7iM/P994eHictW+/+c1vyn3fz/ZeVtThw4dN7969z9qXsto4cuSIufLKK8+4Xdu2bc3u3bvLbLvke713715z6aWXlrkPT09P+71cv369adSoUbnv+cKFC8tsq7K+3o0xZu7cuSY4OPiMxz1y5Mhyvz5Lfg19+umnJiAgoNzj/uSTT874//fiiy8ab2/vcvthWZZ5+umny9x20aJFdt2CBQvM3XffXe5+LrnkEnPgwIFy39OKfo+9/PLLFfraP9P7D1QmwjdQy1SX8N29e3cjydx5553mq6++MmvWrDHTpk2zl0sy/fv3L3M/xeG7efPmpk6dOiY8PNw8//zz5rvvvjMrVqww//znP82hQ4eMMecWvq+44grj4+NjHn30UTNv3jyzdu1aM23aNNO2bVu75u233y6zTz/++KOpU6eOXXfLLbeY6dOnm9WrV5sVK1aYDz74wNx9990mMDDwvMN3p06djLe3t4mKijL//Oc/zcqVK82SJUvMuHHjjK+vr5FkvL29zerVq0vtIy8vz3h4eJjrrrvOvPjii+abb74xa9euNYsXLzbvvfeeiYuLs/twzz33lNmPygjfmZmZpkOHDvZ+YmJizL/+9S/z3XffmTVr1pjPPvvMjBkzxkRFRZVqIz8/36Wf11xzjZk5c6ZZs2aN+eKLL0z//v3tdS1btiwzTJV8r2NjY01AQIAZP368WbJkiVm9erV55ZVX7JAbFBRkdu7caZo0aWLCwsLMX/7yF7N8+XKzcuVK8+yzzxofHx8jyURHR5ucnJxSbVXW1/sPP/xgt+Xt7W3GjBljFi1aZFatWmX+9a9/ufzC98QTT5S5j+Kvoa5duxo/Pz/TvHlz8/rrr5sVK1aYxMREM3HiROPn52ckmeDgYHPw4MEy9/PCCy/YbXXs2NG89dZbZv78+WbNmjXmo48+cvn/ee2110ptXzJ8X3HFFfZxf/rpp2bt2rXmq6++MgkJCXbNwIEDXbY/duyY2bhxo3nooYfsmo0bN5Z65ObmGmOKfnEqDt7Nmzc3L730klmwYIH54YcfzNKlS82///1vc9ddd5nAwEDCNxxD+AZqmbS0NLNlyxb7UfKH4fLly+3lmzdvtn8Y//e//3XZZsuWLfYPt3NxevD/61//WqomLy/PxMfH2zVz5swpVVMcviWZqKgos2fPnnLbPJfw7e3tbRYtWlSq5siRI6ZBgwZ24ChL165djSTj4eFhPv7443L7c/jwYZOVlVVuH8pSHJwkmaZNm5Y6G2iMMQsXLrTPiHfv3r3U+sLCQrNt27Zy+2WMMc8884x95vKnn34qtb4ywveYMWPsfYwcOdIUFhaWWZeTk2NSUlJclr3++usuvyCUte0f//jHMwbRku+1r6+vWbFiRama2bNn2zXh4eGmfv36Zvv27aXq3njjDbvu008/LbW+sr7eiwO6p6enmTt3bqn1R48eNe3atbO//jZt2lSqpuTXUExMjElPTy9VM3XqVLvm5ZdfLrV+8+bN9hnvCRMmlPn+FxQU2Gez69SpY44ePeqyvuTnjSTz5z//udQ+CgsLTd++fY0k4+XlVeYvAmf7nin29NNPG0kmMDCw1NdTSWlpaWf8qxZQmQjfQC03Y8YM+6xQSUlJSUaS8ff3P6+gXZaSYaRjx47lBq+ff/7Z/iGfkJBQan3J8P3BBx+csc1zCd9jx44tdz9PPvmkHUzT0tJc1s2dO9fex+jRo8/Yn7KcS/j+73//W+5+Sp4NLOvs99nk5+eb+vXrG0nm73//e6n17obvY8eO2cMdYmJiTH5+/jltX/wXiPDwcJORkVFmTV5enmnTpo2RZEJDQ012drbL+pLv9bhx48ptq+R7/tZbb5VZk5WVZf+COmbMmFLrK+PrfeXKlfY+HnzwwXL7u3z5crvu4YcfPuPxrF+/vsx9FBYWmqioKCMV/eXmdMOHDzeSTLdu3co9FmOK/p+L/xLzzjvvuKwrGb5jYmLK3c8333xj133++eel1lc0fN9///1GkunSpcsZ6wAnccElUMuVN4938UWY3bp1k7e3d6W3O3To0HIvMGzcuLH69u0rqegCrfIuRvPx8dHtt99eaX0aPHhwuetiYmIkScYY7dq1y2Xd7Nmz7eejR4+utP6cLjQ0VDfffHO564cPH24/nz9//hn3VVhYqP379ys5OVmbNm3Spk2btGXLFjVu3FiStH79+srpdAkLFy60L6J89NFH5enpWeFt9+/fry1btkiS7rjjDpcLg0vy8vLSsGHDJEnHjh3TunXryt3nwIEDy13XsWNHSUUX8915551l1vj7+6tVq1aSpJ07d56x/+f79V7y/3HEiBHl7v/KK69U27ZtS21zug4dOtjHdjrLstSlSxdJZR/Pl19+KUkaMGDAGW9uU7duXXXo0EFS0Z1zy3PXXXeVu5/i77fy+lJRDRs2lCT9+OOPWrVq1XnvB6hMhG+glitvHu/i2R6uvPLKC9Ju9+7dz7j+8ssvlyRlZmaW+8O3VatW8vPzq7Q+tWnTptx1YWFh9vPjx4+7rCue8SI6OlpNmzattP6crkuXLi53Hz1d586d5ePjI0nauHFjqfXGGE2dOlW9evVSnTp11KhRI7Vp00YdOnSwH0lJSZKkw4cPV3r/S84McvXVV5/Ttps2bbKfx8bGnrG25PqS253u0ksvLXdd3bp1JUn169dXaGjoWetO/5o43fl+vRf338fHR507dz7jPoqPe9u2beXO+HKmr3Hp16/z049nz549OnTokCRp/PjxZc4wUvJRPONJSkpKuW2d7/fbuRg0aJC8vb2Vk5OjK6+8UjfeeKPefvttbdq0idlNUGUI30Atdvz4cW3YsEFS+We+r7jiigvSdkRExBnXN2jQwH5e1pRjks4Yis5HQEBAues8PH79uDz9THxxUC0+y3ahnO098/LyskPL6e9Zdna2EhISNGTIEC1evFgnT548477Otv58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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "pls_fig, ax = subplots(figsize=(8,8))\n", "n_comp = param_grid['n_components']\n", @@ -1638,6 +9813,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,Rmd", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch7-nonlin-lab.ipynb b/docs/source/labs/Ch7-nonlin-lab.ipynb index 3d947f7..798a73a 100644 --- a/docs/source/labs/Ch7-nonlin-lab.ipynb +++ b/docs/source/labs/Ch7-nonlin-lab.ipynb @@ -20,9 +20,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "77af2dc4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:45.681484Z", + "iopub.status.busy": "2023-07-25T23:59:45.681169Z", + "iopub.status.idle": "2023-07-25T23:59:46.716705Z", + "shell.execute_reply": "2023-07-25T23:59:46.716226Z" + } + }, "outputs": [], "source": [ "import numpy as np, pandas as pd\n", @@ -47,9 +54,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "b57d1d51", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:46.718874Z", + "iopub.status.busy": "2023-07-25T23:59:46.718688Z", + "iopub.status.idle": "2023-07-25T23:59:46.729795Z", + "shell.execute_reply": "2023-07-25T23:59:46.729463Z" + } + }, "outputs": [], "source": [ "from pygam import (s as s_gam,\n", @@ -79,9 +93,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "65f0e562", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:46.731616Z", + "iopub.status.busy": "2023-07-25T23:59:46.731518Z", + "iopub.status.idle": "2023-07-25T23:59:46.739064Z", + "shell.execute_reply": "2023-07-25T23:59:46.738783Z" + } + }, "outputs": [], "source": [ "Wage = load_data('Wage')\n", @@ -102,12 +123,99 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "a391fae6", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:46.740875Z", + "iopub.status.busy": "2023-07-25T23:59:46.740748Z", + "iopub.status.idle": "2023-07-25T23:59:46.814762Z", + "shell.execute_reply": "2023-07-25T23:59:46.813114Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errtP>|t|
intercept111.70360.729153.2830.000
poly(age, degree=4)[0]447.067939.91511.2010.000
poly(age, degree=4)[1]-478.315839.915-11.9830.000
poly(age, degree=4)[2]125.521739.9153.1450.002
poly(age, degree=4)[3]-77.911239.915-1.9520.051
\n", + "
" + ], + "text/plain": [ + " coef std err t P>|t|\n", + "intercept 111.7036 0.729 153.283 0.000\n", + "poly(age, degree=4)[0] 447.0679 39.915 11.201 0.000\n", + "poly(age, degree=4)[1] -478.3158 39.915 -11.983 0.000\n", + "poly(age, degree=4)[2] 125.5217 39.915 3.145 0.002\n", + "poly(age, degree=4)[3] -77.9112 39.915 -1.952 0.051" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "poly_age = MS([poly('age', degree=4)]).fit(Wage)\n", "M = sm.OLS(y, poly_age.transform(Wage)).fit()\n", @@ -150,9 +258,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "d672f40e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:46.819794Z", + "iopub.status.busy": "2023-07-25T23:59:46.819458Z", + "iopub.status.idle": "2023-07-25T23:59:46.827533Z", + "shell.execute_reply": "2023-07-25T23:59:46.826805Z" + } + }, "outputs": [], "source": [ "age_grid = np.linspace(age.min(),\n", @@ -178,9 +293,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "56174265", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:46.833075Z", + "iopub.status.busy": "2023-07-25T23:59:46.832741Z", + "iopub.status.idle": "2023-07-25T23:59:46.848016Z", + "shell.execute_reply": "2023-07-25T23:59:46.842611Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -229,12 +350,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "1a10422f", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:46.853147Z", + "iopub.status.busy": "2023-07-25T23:59:46.852739Z", + "iopub.status.idle": "2023-07-25T23:59:47.050039Z", + "shell.execute_reply": "2023-07-25T23:59:47.048574Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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w+v1Ynh4OOO4T51OB7vdjuHhYXi93hlqIZUDXkdEpY1BMRFRHpFIBPF4HCaTKePrZrMZ8XgckUikyC2jcsLriKi0MSgmIsrDYrHAaDQiFotlfD0ajcJoNMJisRS5ZVROeB0RlTYGxUREeTgcDjidTni93knjPRVFgc/ng9PphMPhmKEWUjngdURU2hgUExHlodPp0NbWBqvVCrfbjXA4jGQyiXA4DLfbDavVira2NuaZpZx4HRGVNp3Caa4nzefzweFwwOv1wm63z3RziGiaMb8saYHXEVFxqY3XmKeYiEgll8slH3+zEhmdLF5HRKWJQTER0RTodDrU1NTMdDOozPE6Iio9HFNMRERERHNeWQbF3/zmN7F27VpUV1ejoaEB73znO9Hd3Z22zFve8hbodLq0P7fcckvaMkePHsUVV1wBq9WKhoYG3HHHHYjH48XcFSIiIiIqAWU5fOLZZ5/FbbfdhrVr1yIej+Nzn/scLrnkEuzduxdVVVVyuZtvvhlf+cpX5P+tVqv8dyKRwBVXXIGmpia8+OKL6O/vxw033ACTyYRvfOMbRd0fIiIiIppZsyL7hNvtRkNDA5599lls3LgRwIme4jVr1uB73/texvf87W9/w5VXXom+vj40NjYCAH784x/js5/9LNxuN8xmc97tMvsEERERUWlTG6+V5fCJiUSd+Lq6urSfP/TQQ3A6nTjttNNw5513IhgMyte2bduG1atXy4AYAC699FL4fD688cYbGbcTiUTg8/nS/hARERFR+SvL4ROpkskk/vVf/xXnnXceTjvtNPnzf/mXf8HChQsxb9487N69G5/97GfR3d2NP/zhDwCAgYGBtIAYgPz/wMBAxm1985vfxF133TVNe0JEREREM6Xsg+LbbrsNe/bswdatW9N+/uEPf1j+e/Xq1WhubsZFF12EN998E0uWLDmpbd1555341Kc+Jf/v8/mwYMGCk2s4EREREZWMsh4+cfvtt+Mvf/kLtmzZgpaWlpzLdnR0AAAOHjwIAGhqasLg4GDaMuL/TU1NGddhsVhgt9vT/hARERFR+SvLoFhRFNx+++149NFH8fTTT2Px4sV537Nr1y4AQHNzMwBg/fr1eP311zE0NCSXefLJJ2G327Fy5cppaTcRERERlaayHD5x22234eGHH8af/vQnVFdXyzHADocDlZWVePPNN/Hwww/j8ssvR319PXbv3o1PfvKT2LhxI04//XQAwCWXXIKVK1fi+uuvx7e//W0MDAzg85//PG677TZYLJaZ3D0iIiIiKrKyTMmWrT78/fffj5tuugnHjh3D+973PuzZsweBQAALFizAVVddhc9//vNpQx6OHDmCW2+9Fc888wyqqqpw44034lvf+haMRnXfFZiSjYiIiKi0qY3XyjIoLhUMiomIiIhK25zKU0xEREREVAgGxUREREQ05zEoJiIiIqI5j0ExEREREc15DIqJiIiIaM5jUExEREREcx6DYiIiIiKa8xgUExEREdGcx6CYiIiIiOY8BsVERERENOcxKCYiIiKiOY9BMRERERHNeQyKiYiIiGjOY1BMRERERHMeg2IiIiIimvMYFBMRERHRnMegmIiIiIjmPAbFRERERDTnMSgmIiIiojmPQTERERERzXkMiomIiIhozmNQTERERERzHoNiIiIiIprzGBQTERER0ZzHoJiIiIiI5jwGxUREREQ05zEoJiIiIqI5j0ExEREREc15DIqJiIiIaM5jUExEREREc55xphtAREQ0WyiKAq/Xi0gkAovFAofDAZ1ON9PNIiIVGBQTERFpwO12o6urC8PDw4jH4zAajXA6nWhra4PL5Zrp5hFRHgyKiYiICuR2u7Fjxw4Eg0E4HA6YTCbEYjH09/fD6/Wio6ODgTFRieOYYiIiogIoioKuri4Eg0G4XC5YLBbo9XpYLBa4XC4Eg0F0dXVBUZSZbioR5cCgmIiIqABerxfDw8MZxw/rdDrY7XYMDw/D6/XOUAuJSA0GxURERAWIRCKIx+MwmUwZXzebzYjH44hEIkVuGRFNBYNiIiKiAlgsFhiNRsRisYyvR6NRGI1GWCyWIreMiKaCQTEREVEBHA4HnE4nvF7vpHHDiqLA5/PB6XTC4XDMUAuJSA0GxURERAXQ6XRoa2uD1WqF2+1GOBxGMplEOByG2+2G1WpFW1sb8xUTlTgGxURERAVyuVzo6OhAc3MzQqEQRkZGEAqF0NzczHRsRGWCeYqJiIg04HK55DAKVrQjKj8MiomIiDSi0+lQU1Mz080gopPA4RNERERENOcxKCYiIiKiOY9BMRERERHNeQyKiYiIiGjOY1BMRERERHMeg2IiIiIimvMYFBMRERHRnMegmIiIiIjmPAbFRERERDTnMSgmIiIiojmPQTERERERzXkMiomIiIhozmNQTERERERzHoNiIiIiIprzGBQTERER0ZzHoJiIiIiI5jzjTDeAiIjKh6Io8Hq9iEQisFgscDgc0Ol0M90sIqKCMSgmIiJV3G43urq6MDw8jHg8DqPRCKfTiba2NrhcrpluHhFRQRgUExFRXm63Gzt27EAwGITD4YDJZEIsFkN/fz+8Xi86OjoYGBNRWeOYYiIiyklRFHR1dSEYDMLlcsFisUCv18NiscDlciEYDKKrqwuKosx0U4mIThqDYiIiysnr9WJ4eDjj+GGdTge73Y7h4WF4vd4ZaiERUeEYFBMRUU6RSATxeBwmkynj62azGfF4HJFIpMgtIyLSDoNiIiLKyWKxwGg0IhaLZXw9Go3CaDTCYrEUuWVERNphUExERDk5HA44nU54vd5J44YVRYHP54PT6YTD4ZihFhIRFY5BMRER5aTT6dDW1gar1Qq3241wOIxkMolwOAy32w2r1Yq2tjbmKyaissagmIiI8nK5XOjo6EBzczNCoRBGRkYQCoXQ3NzMdGxENCswTzEREanicrnkMApWtCOi2YZBMRERqabT6VBTUzPTzSAi0hyHTxARERHRnMegmIiIiIjmPAbFRERERDTnMSgmIiIiojmPQTERERERzXkMiomIiIhozmNQTERERERzHoNiIiIiIprzGBQTERER0ZzHoJiIiIiI5jwGxUREREQ05xlnugFExaQoCrxeLyKRCCwWCxwOB3Q6XdlvSytq2qx2v9Qsl0wm0dvbC7/fD5vNhpaWFuj1pf1dXas2JxIJdHV1wefzwW63o62tDQaDYRpafEI5Xo9qlOs9XWrX/my9PoimgkExzRlutxtdXV0YHh5GPB6H0WiE0+lEW1sbXC5X2W5LK2rarHa/1CzX3d2Nzs5OjI6OIpFIwGAwoK6uDu3t7Vi+fPmMHIN8tGpzZ2cntm/fDr/fj2QyCb1ej6eeegrr1q1De3u75u0ux+tRjXK9p0vt2p+t1wfRVJV2l0wW3/zmN7F27VpUV1ejoaEB73znO9Hd3Z22TDgcxm233Yb6+nrYbDZcc801GBwcTFvm6NGjuOKKK2C1WtHQ0IA77rgD8Xi8mLtCReJ2u7Fjxw709/fDarWivr4eVqsV/f392LFjB9xud1luSytq2qx2v9Qs193djc2bN8PtdqOiogI1NTWoqKiA2+3G5s2bJ93PpUCrNnd2dmLLli3w+XwwGo2wWq0wGo3w+XzYsmULOjs7NW13OV6PapTrPV1q1/5svT6ITkZZBsXPPvssbrvtNmzfvh1PPvkkYrEYLrnkEgQCAbnMJz/5STz22GP43e9+h2effRZ9fX24+uqr5euJRAJXXHEFotEoXnzxRTz44IN44IEH8MUvfnEmdommkaIo6OrqQjAYhMvlgsVigV6vh8VigcvlQjAYRFdXFxRFKattaUVNm/ft24d9+/bl3a9kMqlqXTt27EAkEkFNTU3aMjU1NYhEIujs7EQymZzpQyMlk0l0dnYW3OZEIoHt27cjFovBarXCbDZDr9fDbDbDarUiFoth+/btSCQSmrS7HK9HNcr1ntbqOtLKbL0+iE5WWQbFjz/+OG666SasWrUKZ5xxBh544AEcPXoUr7zyCgDA6/Xi5z//Ob7zne/gwgsvxNlnn437778fL774IrZv3w4A+Pvf/469e/fiV7/6FdasWYPLLrsMX/3qV3HPPfcgGo3O5O6RxrxeL4aHhzOOkdPpdLDb7RgeHobX6y2rbWlFTZv7+/vR39+fd796e3vzruvIkSMYGRlBVVXVpDGUer0eVqsVo6Oj6O3tBXDiF7fH48Hg4CA8Hk/GX9BqllEj23p6e3sxOjqqus3ZdHV1we/3y2B44nrMZjP8fj+6urpOqv0TleP1qEa53tNaXUdama3XB9HJmhVjisUNW1dXBwB45ZVXEIvFcPHFF8tl2tra0Nraim3btmHdunXYtm0bVq9ejcbGRrnMpZdeiltvvRVvvPEGzjzzzEnbiUQiiEQi8v8+n2+6dok0FIlEEI/HYTKZMr5uNpsxPj6edm7LYVtaUdNm8UUx3375/X5V68q3TDAYhN/v13Sccz651uP3+5FIJFS1ORefz4dkMgmjMfNHr9FoRDQa1eyzpRyvRzXK9Z7W6jrSymy9PohOVln2FKdKJpP413/9V5x33nk47bTTAAADAwMwm82oqalJW7axsREDAwNymdSAWLwuXsvkm9/8JhwOh/yzYMECjfeGpoPFYoHRaEQsFsv4ejQahdFohMViKattaUVNm81mM8xmc979stlsqtaVbxmDwYB4PK7ZOOd88q0nHo/DYDDkbbPNZsu5HbvdDr1en3XuQjweh16vh91uV9XufMrxelSjXO9pm82myXWkldl6fRCdrLIPim+77Tbs2bMHv/71r6d9W3feeSe8Xq/8c+zYsWnfJhXO4XDA6XTC6/VOeqyuKAp8Ph+cTiccDkdZbUsratrc3NyM5ubmvPvV0tKSd10LFy5EfX09AoHApLGTyWQSwWAQtbW1GBsb02Scc76hFGrGVXo8HtTW1uZsc11dHVpaWnJuq62tDTabDdFoNON6otEobDYb2tracq5HrXK8HtUo13u6paUFdXV1BV9HWpmt1wfRySrroPj222/HX/7yF2zZsiXtQ6SpqQnRaBQejydt+cHBQTQ1NcllJmajEP8Xy0xksVhgt9vT/lDp0+l0aGtrg9VqhdvtRjgcRjKZRDgchtvthtVqRVtbmyY5OYu5rVSFjKlV0+YVK1ZgxYoVefdLr9fLdQ0NDcHr9WJ8fBxerxdDQ0NyXR0dHbBYLPB4PGnr8ng8sFgsOO200zA6OqrJOOd84yHVjKscGRnBaaedJtscCAQQDocRCARkm9vb2/PmmTUYDFi3bh1MJpNcRywWk+symUxYt26dZvmKZ+p6nG7lek/r9Xq0t7fnvPbVXEeppvveL8frg+hkleWYYkVR8LGPfQyPPvoonnnmGSxevDjt9bPPPhsmkwlPPfUUrrnmGgAn0uAcPXoU69evBwCsX78eX//61zE0NISGhgYAwJNPPgm73Y6VK1cWd4do2rlcLnR0dMgxo+Pj4zAajWhubtY8F2cxtwVoM6ZWbZvVLONyubB06VJ0dnZiYGAgLQ/rmjVr4HK55LIiV2swGITBYIDL5UJ7eztqamrw5ptvajLOOd94SLXjKufPn4+1a9di+/bt8Hq9Mr+wzWbD2rVrVeeXbW9vh9/vx0svvYRIJAJFUaDT6WCxWLB27VrN8xQX+3oslqnsV6GFKbQ8huI6yXbtTyVPcTHvfaK5QKeUYa6Vj370o3j44Yfxpz/9Ke0DxOFwoLKyEgBw66234q9//SseeOAB2O12fOxjHwMAvPjiiwBOpEZas2YN5s2bh29/+9sYGBjA9ddfjw996EP4xje+oaodPp8PDocDXq+XvcZlolyrX2UjxsIGg0E4HA6YTCbEYjF4vV5YrVZ0dHRM6ZeaFhXtUttksVig0+mgKAoikcikNmWr6uXxeLBlyxZYrdaM4xnD4bDsARaprTItEwqFsGnTpknzC1Kp2VYoFMIZZ5yBvXv3IhAIyH0Sf1dVVak+1uL4BAIBxONx+aXBaDROaT1TNVsrlqm5HrUqTFFKFe1m4t4nKldq47Wy7Cn+0Y9+BAB4y1vekvbz+++/HzfddBMA4Lvf/S70ej2uueYaRCIRXHrppbj33nvlsgaDAX/5y19w6623Yv369aiqqsKNN96Ir3zlK8XaDZoBOp0uZ4BUTtuaOBZW/AITY2FFMOB0OlX/clPT5lzLZGuTeG1im/R6PVpbWyetR4x17O/vz7geMc4ZODExNtcy+cZDqtlWU1MTent7EQwG0dDQkHe/skk9PoWs52QU89ovplz7lS1w7O/vh9frnXLgqOUxzHbtqzFT9z7RbFeWQbGazu2Kigrcc889uOeee7Ius3DhQvz1r3/VsmlERTOVHKPF+mWnVZvEWEev1wu32w273S6HTPh8Pjk2GTjRA+B2uzP2SqsZD6lmW/Pnz8fu3bsL3q9SPGez1XQEjqWC1xHR9CjriXZEc5masbDxeHxKOUYLLYKhZZvEWMfm5maEQiGMjIwgFAqhublZ9vCJ8cuRSAQ9PT04ePAgenp6EIlEsHTp0imPq8y2LZvNpsl+Tcc5m80KuR5nc2EKXkdE06Mse4qJKD3HaKaxsFPNMarF2Eut2+RyuWTKqExjHd1uNw4cOACz2YxFixZBr9fL2fMHDhxAXV3dlALjbNvyeDya7JfWx2c2K/R6nM2FKXgdEU0P9hQTlSktc4xqVQRjOvKeirGOjY2NqKmpkQHxxPG5DocD1dXVcDgcaGhoUJ2nWM22tNov5oVVR4vrcTYXpuB1RDQ9GBQTlSmtcoyqKV6hNrgsZt7TYj4e12q/mBc2P62ux9kcOPI6IpoeHD5BVMa0yDGq9aSdYuU9LfbjcbFf+/btQ39/vyxZPW/evFmTF1artFyFpPYr5mTNcg4cS/k6IipXDIqJyly+cbf5TEdwWWib1CiVcZUnk+q9GMdnqrTK56tmPbmWSSaTml2Psz1wLMXriKicMSgmmgUKyTE6XcHldOc9VZvLWKvH46k5b2tqamTO24GBAfh8vmnJeVusggpa5fNVsx4AOZdZuXJlUSdrljvmFybSDoNiojmu2MGlVor5eHwmct5qWYktF632Tc169u3bBwA5lzl+/Djq6+sLLsqSioEjEanBoJhojpuu4LIYvZzFejxe7GIJWldiy0WrfUtdD3CiPLYI5i0WC+x2O/r7+wEgLbNHpm2dfvrpsijLbBsLLLCs8uzE81reGBQTkebBZbF6OUXbp/vxeDEn9RW7V1qrfRPrEUNKgsEgkskk9Hq9TKsWjUYBIO+2bDbbrB4LXMz7g4qH57X8MSgmIgDaBZfF7OUUpvvxeDEn9RW7V1qrfbNYLIjH4zh27BiSySQsFgsMBgMSiQT8fj+CwSCqqqpgsVhUbaumpmZWjgWeifuDph/P6+zAPMVEJGUrXqGWljmPS0kxc94Wu4SvVvtmt9sRj8cRCoVQWVkJo9EInU4Ho9GIyspKhEIhAEBTU5PqbRV6PZaa2Xp/zHU8r7MHg2Ii0kwxC2oUUzGLJRS7EptW++bz+dIC4Hg8DkVR0gJlk8mElpaWOVt0YrbeH3Mdz+vswaCYaJooigKPx4PBwUF4PJ450Usw1V7OYh4jNdvKtYwYd93c3IxQKISRkRGEQiE0Nzdr+mh0JiqxTWXfsh2jSCQCo9GIlpYW2Gw2xGIxBINBxGIx2Gw2tLS0wGg0yvHC030cS1GxnwJQcfC8zh4cU0w0DYo94aJUZjxPZXxqMY9RoQUlxDLFmNQ3U5XY1OxbrmMkzr3ZbEZra6sMFMT5Fv+fzeOF8ymVgjOkLZ7X2YNBMZHGij3hopRmPKvNeRyNRtHZ2VmUY6RFQYnU9hQj5+1MVWLLtW/5jmN7e3vaua+oqJDvzZRfeC7mDi7XnOCUG8/r7KFpUHzgwAH84he/wLZt2zAwMIBQKIQnnngCp556qlxmz549OHr0KKqqqnDBBRdouXmiGVfsdFqlNuNZTS/n8uXL0d3dXZRjpPZ8KIpS1MIcarhcLtTX16O3txd+v18OQdDriz/qTc1x7O7uxvLly4vew11OZuopAE0vntfZQ5OgOJlM4jOf+Qy+//3vI5lMyjFmOp1O5qUUjh49iiuvvBJGoxGHDx/G/PnztWgCUUkoZjqtmaiypka+Xk6TyVS0Y6TmfPT19QHIX1BCqxRoamV6AnDkyJFJPcXFGDqj9rpevXr1rM4vrIWZegpA04vndXbQJCj+yEc+gvvuuw+KomD+/PlYv349fv/732dc9vLLL8fixYvR09OD3//+9/jEJz6hRROISkIxizwUO5/tVOQanzo4OFi0Y6TmfKgtKJE6OXC6g1C1TwCKNXRmKtd1Y2PjnBwvPBXFGJtOxcfzWv4KDoqfeuop/PznP4dOp8PnPvc53HXXXTAYDDkf8b3rXe/Ct7/9bTz99NMMimlWKeaEi2IG4Ccj25jRYh4jNdsym80AUDKTA6cy5KNY47Knes7m4njhqeIxmp14XstbwYPTfvrTnwI40QP8ta99DQaDIe972tvbAQBvvPFGoZsnKinFTKdV7Hy2WinmMVKzrXnz5qG5uTlve6LRKHbs2IH+/n5ZtthqtaK/vx87duyA2+0uuL2AuicAbrcbu3btKlqxgJlIE0dEVGwFB8Xbtm2DTqfDBz/4QdXvaWlpAQAMDAwUunmiklLMIg/lGqgU8xip3daKFStyLjNxcuB0BqFqngCEQqGiFgso5jkjIpopBQ+fGBoaAgAsWrRI9XvEh308Hi9080QzIte4UjHhYt++fejv75eP6Jubm7FixQrNHmmX+oxnNcdIq0kpWmwr1zmb6uTAQsYdqxmqoNPpoCgKTCYTFEWZlBN4OobOiOO4d+9eHD16VB6j1tZWrFy5khOJpqhUcosT0T8UHBRXVVXB4/FM6dFhb28vAKCurq7QzRMVXSnlBS7VGc/FLIRRjG1NZfx2odeHmpynLpcL4+Pj8Pl88Hq9CAaDSCaT0Ov1sFqtsNvt0zJ0ZnR0FEeOHMHIyIjcN0VR0NTUxKB4CkrpM4SI/qHgoPiUU07Bzp07sXfvXrz1rW9V9Z6//e1vAIBVq1YVunmioppqIYiamhq5zMDAAHw+n+a5g0ttxnPqMbJYLLBYLFAUZcYKc6gpupG6nkznbMWKFaommgUCAezdu7egyW9qngCcccYZ2LlzJ7q7u2XwazAYkEgk4Pf74fF4sHz5ck2HznR3d2Pz5s2IRCKoqqqS+zY8PIzNmzcDAJYvX67Z9marUsstTkT/UHBQfMkll+CVV17BPffcg4997GN5E8vv3bsXDzzwAHQ6HS6//PJCN09UNGqyAuzbtw8Aip47uFRmPItjNDY2hkQigZGREdmDWVlZiUgkIvd/eHi4oN6yqeZpzva4Ws16jh8/jvr6egwMDGTtvW1qakJvb68m5z7fEwCn05m2/YnHRWvJZBKdnZ2IRCKoqamRn/MWiwUmkwkejwednZ1YunTpjBQXKRelmluciE4oOCj++Mc/jh/84Ad48803ccstt+Dee++F0Zh5tU8++STe//73IxwOo76+HjfffHOhmycqGjVZAfr7+wGUXiGIYvF6vbICWzKZTOvBDAQC0Ov16O3txaFDh7Bv3z4EAgFUVFSgoqICyWQSfX19qnvLppKnORaLZQ3A1YwXHhkZwRlnnAGfz5e193b+/PnYvXu3Znmjcz0B8Hg8CIVCaG1thc/nQzAYRCQSgV6vR3V1Nex2O0KhkGbXWW9vL0ZHR1FVVTUp6BVDNkZHR9Hb24vW1taCtyfMtnG3pZxbnIg0CIobGxvx4x//GDfccAN+/vOf44knnsAVV1whX//+978PRVHwwgsvyNnZer0eDzzwAGw2W6GbJyqa6SgEUY5yBSrhcBhjY2NIJpOoqqqSPzcajTAYDAgEAhgbG0N3d7dcbnR0NG08bDQaVdVbpnac78DAAA4ePJj1cfWpp56qaj1VVVU5e2+TyaTmeaOzPQEQ+15fX4+amppJE+0URcHIyIhm15nf70cikci5b8FgEH6/X5PtAbNz3G2p5xYnmus0qWh33XXXwWQy4SMf+QiOHTuGn/zkJ/KX2f/8z/8A+McjPZvNhgcffDAtcCYqJdmCPq0LQZSjfIFKNBpFLBZDRUVFxp4wo9GIUCgkMzxM7E32+/2yNzlfb5ma82EwGHD06NGcj6uPHTsGg8Gg6pzV1NTk7L2dqaIkFRUVaa9HIhFNrzObzZb3GBkMBtnRUWgP72wdd1vMwjVENHWaBMUA8O53vxsXXXQR7r33Xjz22GPYtWtXWsq1VatW4Z/+6Z/wiU98Ag0NDVptlkhTuYI+p9OZNytAc3MzAOQce9rc3FxyuYPVUBOomM1m+XOz2Txp/+PxOPR6Pfx+PwwGQ9beZI/Hg3A4nLM9arI01NbWYnx8POfj6vHxcdhsNng8HlXnLFvvrZr2aHXui7kt4ERu+bq6OrjdbphMprQhFMlkUn7paGlpKbiHdzaPuy32eSOiqdF0RkR9fT2+8IUvoLOzE+FwGENDQ+jv70ckEsHrr7+Or3/96wyIqWSJoC9bxbLh4eG8BQxWrFiRtxBEORY5mBioZCteYbFYUFtbC4PBgGAwiHg8LoPhYDAoexOTySRMJlPW3uRoNCqHomSjpqDEggUL8j72TyQSaG1tLficlWJREq2uM71ej/b2dlgsFvmFRWzP4/HAYrGgvb0dIyMjBVf9m8q423LDIihEpU2znuKJ9Hp92gxpolKmtndqw4YNqgtBqMkdnEwm5cQ0m82GlpaWkpy9nxqoACfGDqeOYRWBCnCiVzEejyMej8Pn8yGRSMBgMMjcufX19YhEIojFYjCZTAiFQnJdlZWVcsylGIqSS2qhlKNHj8rH9a2trbLoxr59+2TP9cSxt+JxdVNTE+rr61UVpsh1zqZSuKXQc5+tmMbChQszFolRs71cy4h0ayK49Xq9MBqNsh3Lli3D1q1bEQwGZVnsYDAoe4pFthHRw5ttW6njbpPJJMbHx+W+VVdXTxp3W8zJeFrcr8UsXEPE62Nqpi0oJionU+mdUpMXWM0y3d3d6OzsxOjoqAwc6+rq0N7eXnL5XkWgEo1GMTAwMKlYRF1dnXy9ra0NR44cwfDwMGKxGBRFgU6nQzQaRXNzM5YvXw6v14u+vj452U4Q65s3b96kcbLZjI6OoqenB8PDw/I4JpNJNDY2YtmyZXA6nejp6ZGP+VPbrdfrsWjRIjgcDuzfvz9vYQqtzplW68lWTKOxsTEtuFKzPbVtUhRFzhFJ/be4h0wmE44dO5axoIi4hwYHB7Nuq7GxEUajEYODgxgaGkIoFJLXUGVlJRoaGlBRUQGLxVLUyXha3q/FLFxDcxevj6ljUEyEqc8KV5MXONcy2QohuN3ukiyEYLFYEI/H0dvbm3FynCh6YbFYMDg4iNHRUcTjcRgMBrmOeDyO0dFRxGIxAEAgEJABlcgXnEwmEQgEAEDVuEo1BSUaGhqwe/duuYzFYkEsFsPIyAgsFgsaGhqwf//+vOsBkPec1dXV5S3cMjo6qsm5V1tMQ821JvYtHA7LgDORSGBoaCjj/ldWVsrzPzIygs2bN2Pt2rUIBAIIBAKIx+OTrpFwOIyqqirs378fL730Utb2XHzxxQCAnp4eKIoCs9kMvV4vr42enh60tbUhGo2is7OzKJPxpuN+LTS3+GydjEja4PVxcjSpaDdVOp0OFRUVcDgcWLp0KdatW4f3vOc9LPtMM6aYs8LLsRCC3W5HPB5HKBRKa7PRaIRer4fH44HNZoPNZsNjjz2GeDyOxsZGJJNJ2Vsoluvs7JRjSw0GA/R6vewJFMsPDAwgmUzCYDBkffyn5jju2LEDixYtgt1uRyKRQCgUQigUgl6vR11dHQwGAwYHB9HT05NzPdu3b4dOp8t7zlpbW/MWd8m3LTXnXu01tGTJkrzLiX0LBoMwmUwIBoPyfIj/i2VCoZAcLy6WERlF9uzZI4fVVFdXT5pAOT4+jmQyiT179uQ9Z9FoFIqiyOtDp9NBr9enBeLFmoxXivfrbJ6MSIXj9XHyCg6Ke3p60v4venwyyfTajh078Ktf/Qr/9m//hi984Qu48847C20S0ZQVc1b4TBVCKITP55NjfkOhUFovoOg5NBqN6O7uTtu3iftntVoxODiISCQixwynDp8QhX9CoRC6urrQ0NCQ9fFfKBTKexyHh4eh1+vR0NCQcUxxJBLB0aNHMTw8nHM9brcbOp0ONpst57aAEz3T2YbgqNmWmnOv9hrauXOnqmOUTCahKIr88ic+q8Vkx4GBAdlbm0wm05YRQ2RGR0cnZRyZKBaLIRQK5T3WwIl7MhaLpQ3BEV9efT4fjh49OuleTT3WWhXBKMX7lUVAKBdeHyev4KD4xhtvBADs3r0br776KhRFQX19PdasWSO75t1uN3bt2oWRkRHodDqsWbMGp512Gnw+H/bs2YM333wT4XAYn//859Hf348f/OAHhTaLaErErHCv15u1YplWs8JnohBCoUTe2wULFmBkZCStgprNZkN9fT1CoZCcWJcv20MymZQBlBiXqtPp5P+DwSD6+vpw+PDhrI//nE5n3m2JIS8i08XEccoiUFbTZiB/UZZoNJpzGTXbUnPuU68hRVHkMRW9qWI9Ho8n7/Y8Hg/i8bhMpyeucdFTHIvFZBYRk8mUcRmRLcRms8le54lfnERREXE+srVHZJWorKyE1WqdtG+KoiAUCuVdj1ZFMErxfmUREMqF18fJK/hZz/33349NmzbhjTfewCmnnII//elPGBwcxJNPPomHH34YDz/8MJ588kkMDg7ij3/8IxYtWoQ33ngDF1xwAR599FEcOHAAO3bswBlnnAFFUXDPPfdg+/btWuwb0ZSIWeHNzc0IhUIYGRlBKBRCc3OzpuOvUgshZDKxEEIpED10JpMJra2tWLx4MRYuXIjFixejtbUVRqMRRqMRdrtd1b7p9XrE4/G0x+LiMbn4udfrzZkCzu12q9qWGEOcbRkRvOVbjxhek20Zo9EIs9msybbynXtxDQWDQXi9XoyNjcHj8WBsbEweN4PBgJqaGlXbEzL1KgH/6M0XX1wmLiO+zJjNZjQ2NsJmsyEWiyEYDCIWi8Fms6GhoQFVVVWqjqNYRgzPMJvNsnda7XlNHe6kKAo8Hg8GBwfh8XiyPs3MpBTv19ThXtnaxCIgcxevj5NXcE/xq6++iptvvhlNTU3Yvn171jRser0e//RP/4T169fj7LPPxq233orTTz8d55xzDtauXYvNmzfj9NNPx8DAAH76059i3bp1hTaNaMq0mhWey1QKIZSKicNLUntcU4eXtLW1YefOnTn3rbGxEaOjo/D7/XJMcuoy0WhUPqpOHZsqiMd/gUAA1dXV8Hg8WbfldDrR2tqas5hKa2srksmkzJyQ7XzodLq8y7S2tmJwcLDgbeU79y0tLbDZbBgcHITBYJC9t6InVhzns846C93d3TnPR01NDTwej0yRl6ngiuhxEkNPJq5HTKxrbGxEIBDAggULEI1G5fJmsxnDw8NobW2Foih59x9AzmXUnFcx3KnQGfileL+yCAjlwuvj5BXcU/yd73wH8Xgcd955p6q8xC6XC3feeSdisRi+853vyJ/X19fj1ltvhaIo2Lp1a6HNIjppYlZ4Y2MjampqNJ+IoLYQQqlMsgPUFx0wGAx5962jowPnnnuunMQlyj2LvLYmkwmnn3563kfWyWQSp512Wt5t5SumsmLFCnR0dORcz7p16/Iu097ejpUrVxa8LTXnXqfToa6uLm1yosjekUwm5etqzsdZZ50Fl8sFg8EgJ8qJYDgcDkOv18sviwaDQT6aFcFwJBKBwWCQgWbq+Gqr1QrgRIBrtVqxcuXKvPvf0dGhahk1RXKGh4cLLiZSivcri4BQLrw+Tl7BPcXPPfccAOCcc85R/Z61a9cCwKTgd8OGDQBOTOqguWGuJhYX6ZtE3lPxuNvlcpVknmJAfdGBqezb9u3b4ff7EY1GodfrYbfbsW7dOixbtgxbtmzJmw1k2bJlcDgcebeVr92i7WraXMxtZSPG3S5evBiDg4NpuXytVqusHOr1evOej2XLliEYDCKRSGB8fBzhcFgOXaisrER1dTWWLVsGRVFw4MAB+P3+Sduz2WxYsmQJTjnlFNjt9pI41k6nUxYTKXQGfiner1oXAaHZhdfHydEpUxlclUFlZSWi0Siee+45nHfeeare88ILL+D888+HxWJBKBSSP3/ttddw5plnoqKiAsFgsJBmFYXP54PD4YDX64Xdbp/p5pQdJhYHEokEurq64PP5YLfbZW9rKVP7RUZN9a94PI6dO3fC4/GgpqYGZ511lixAsXXr1qyP/9xuN5qbm7FhwwbodDpVx1FNu9W0uZjbymZwcBDPPfcc6uvroSgKRkZG5Lbq6+uh0+kwMjKCjRs3orGxMe/2UnOait5nkSrParWio6MDwIlsQX6/f9IQApvNljbuXqv9V7NMtm15PB5s2bIFVqs1a+aRUCiETZs2qZ6Br2UFSq06BEptPVRaeF5PUBuvFdxT7HQ60dfXhyeffFJ1UPzEE0/I96YSvR9zJSCay5hYPPOXgtHR0ZL/UqC26IBer8+Zomri/gcCAUQiEbn/arOBqD2Oato91TZP57ZyERNpvF4vfD5fWvW4UCgkS2qn9rLn2t7EXqVsX1LVLKPl/qtZJtu2RBAsiqdMrLBXX18vh3+oVcg5S6Vlh0ChRUC0bg+VFi2uj7mk4KB406ZN+NWvfoX//u//xpVXXpl3GMVLL72E73znO9DpdNi0aVPaa7t37wYANDc3F9osKmFMLM4vBWr3P9/jP62PY65elalsa7p7ZxwOByorK9Hd3Q2DwYCKigqZ/mx8fBwejwfLly+f0kQarcqXlwpRhfHYsWN5qzAW00zc+1pd10SzXcFB8Wc/+1n85je/QTAYxMaNG/Hxj38c73vf+7Bq1Sp50ymKgjfeeAO//OUv8cMf/hDhcBhmsxmf+cxn0tb16KOPQqfTYePGjYU2i0rYXE8sPte/FExl/3MFYVofx1y9ZU6nU/W2hoeHi9rrli2N2smuq5Dy5TMhW8CntgpjMYe+zcS9r9V1PRs/i4gmKjgoXrVqFX7+85/j/e9/P8LhMO6++27cfffdsFgssmzz6OiofESlKAr0ej1+9rOf4bTTTpPrefPNN3Ho0CG0trbi7W9/e6HNohI21xOLz/UvBVPd/2xBmJbHMV9v2YoVK1Rt6/Dhw9i7d68sXiEKVmjd6+b1ehEKhbBw4UKZlzi1mIrdbkcoFJq115CQK+AzmUyqqjD6fL6iHaNi3/viug4EAqioqEBFRQWSyST6+vqmdF3P9uuISCg4KAaA973vfTjllFNw22234bXXXgMAhMNh9PX1TVr29NNPxz333DNp/PGSJUtw+PBhLZpDJS41sXiuzAKzNbH4TH0pKPaEi2zb02r/tVqPmt67/fv3yzy+2bbl8/nQ3d2NsbExJBIJjIyMyDGslZWViEQiU+51y3cM6+vr4XA4Jk0iS518N1vl+yJz6qmnwmg0oqWlRWaMSP3iUFdXh3A4XNRjVMx7X1zXY2NjSCaTGB0dTRtTHY1GVV3Xs7mDgmgiTYJiADj33HPx6quvorOzE5s3b8aePXswNjYGAKitrcWqVatw0UUXsSgHzfnE4jPxpaDYE2lybU+r/ddqPWp678Qk4FzbElkxAoHApDGsgUAAer0evb29qnvdpnIMJ5avFmW5Z+sXSzVfZI4ePSpLXre2tmbMPiGKjhRLMe99r9crM2VkGlMtsouIyoBzsYOCaCLNgmKhvb0d7e3tWq+WZhGRWFxNZoHZaDq+FJTSRJp822tvb9dk/7U6jmp673Q6Haqrq+H1erNuy2634/Dhw0gmk6iqqpLLGI1GGAwGBAIBjI2NIRwOl8wxLFdqvsiItGkejydnFcZiHqNidgiEw2HZS5ztevT7/XLM/ly8jogm0jwoJlJjLicW1/pLQSlNpFHTg9fd3Y3ly5cXvP9aHUc1vXcmkwnLly/H3r17MTQ0hIqKCuj1elklqqqqCvPnz8f+/ftRUVGRMVAzGo2IRCKIRqMlcwzLldphCK2trYhGoyVzjIrZIRCNRhGLxfJejy0tLTh69GjJHCOimcSgmGZMOaV30ppWXwry9SiuXLmyqBNp1E4kWr16tSb7L47jvn370N/fj2g0CrPZjObmZqxYsULVetT23i1evBixWAydnZ0YGBhAIpGAwWBAXV0d1qxZk3b8Re9y6nri8TjMZjPMZnNJHcNypHYYQlNTE+rr60vqGBWrQ8BsNue9Hk0mExoaGtDc3FxSx4hopkxLUNzT04Ph4WFZCjQXpl+b20otvVMxuVwu1NfXn3SFLLU9imIijaIok8ZVaj2RZioTiRobG1Xtv5oJgoqiyIlU8Xg87+dOqtTeu2y9wG1tbRgeHsaBAwdgsViwaNEimRYuEongwIEDWLlyJWpra+HxeNLGbIoKcUajETU1NfIxvpqJiMlkEuPj4zLYr66unnQMtfxiWS7V0VK/yDidTkSjUXldi0mP4rG/Tqcr6D6bDsXoEKioqJDXo8iGkpp9w2AwyOuxpqZmznZQEKXSLCju7u7GN77xDfz5z3+Gz+dT9R6dTod4PK5VE4jKSqZhD0eOHFHdOzOVCWKZKp9ZrdaMlc8KMZWJRGr2P98EQbfbjb///e/o6+uTwbBOp8Pw8DB6e3txySWXqDqWLpcLS5cuzdoL7HQ6sXXr1klfQIB/lJ0+fvw45s+fD6/Xi0AggFgsJttjMplQU1ODlpYWOBwOVZPoBgcHMTQ0JDsXdDodKisr0dDQgIqKCnl8tfpiqdVkzGJM6hRfZAYHB9HV1YVkMilf0+v1aGhoyFnxcCr32XSZ7g4Bh8OBlpYWxONxJBIJhEIhmX2jqqoKBoNBXo/FaA9ROdAkKP7jH/+I6667DuFweEo9NERzlRaT39T0yur1ehgMBjkTX4vKZ7moHYoQjUbR2dmZc/8B5J1s9sILL+Do0aNQFEXubzKZRDQaxdGjR7F161a8853vzNvj5Xa7c/YCG41GVUMa6urq4PV65VAJ0Z5YLAav1wuLxYLh4eG8+wWceOI2cb8CgQB6enrQ1tam6eSn1OuxkPzKxZ7UKX7fZHpyMBPtKSWpT0CCwSBqa2vTrmuOFyaarOCg+NixY3jf+96HUCiE+fPn44477oDVasWHP/xh6HQ6bN68GaOjo3j55Zfxy1/+En19fdiwYQO+/OUvw2AwaLEPRGVFq6pWanplDQaDvM+0rHyWjZqJRMuXL0d3dzeCwaB89B0MBmWP4vDwMPbt2wcAOY/Rrl27cPDgQSiKIoc8ACd6CvV6PcLhMN58802MjY3JQkKZZDsf4jW1eYq9Xi8OHjwo04CJnmvRM5dIJNDd3Y1QKJT33I+OjkJRFBgMBuj1euh0OvkFJ5FIyNe1nBxZaH7lYlZrE9tSFAVtbW2Thk+ovYZKvVpbocNQJo5fFseI44WJMis4KP7BD36AYDCI6upq7NixA/PmzcMbb7whX9+0aRMA4JprrsEXv/hFfPCDH8RvfvMb/PznP8dDDz1U6OaJyo5WVa3U9MrW1tZifHy8qJXP8k0kMplMGB4ehslkwrFjxzIO6ejv7wcAWdEu0zE6duyYDBYmjg/V6/UwmUyyxzhXUKxVnmIR+Itxv4lEQu6XwWBAJBLB8PAwAKChoSHrto4cOQKfzweHw4FYLJY2DEN8EfL7/ejt7UVra6vKs5Jdrny2U8mvXMxqbanb0uv1k/I0q72GSrlam1bDUObyhGaiqSo4KN68eTN0Oh0++tGPYt68eTmXraysxK9+9Svs378fv/71r3H11VfjmmuuKbQJRGVFq6pWanplFyxYgNdffx01NTWw2+2TJm0BmHLls2QymXfSUq5fxIODgwgEAggEArJ4QmpRgXA4LHv8ck0QFPMRxEQ28Uf0FItHxbFYLOf+TDVPcbaJXVarFYqi5D2vIsVbtv0S63Y4HLBarZOCa0VR5GQ+QH1vYrbzpiafrZr8ysWs1pa6rVzHEYDq9hS74mMuWg/74HhhInUKDop7enoAnKhoJ6R+kIgPKkGv1+PjH/84brrpJtx3330MimnO0bKqlZpe2X379sHn88me4kIm2nV3d6OzsxOjo6Npk9Ha29uxfPnytGWz/SI2m83w+/2IRqOorq5GIpFALBaTbRofH0c8HofNZss5QdBqtcoeWEVRkEwmZY+qCIoNBgMaGhpy7tNU8hS/8sorGSd2uVwunHrqqejt7UUwGEQ8Hp800c5oNMogOtd+mc3mtPakfn4CkJkDbDab6t7EXOetsrJSVT7bfPmVi1mtTWwr13UtUt+d7KTP6az4mEsxh6EQUbqCg+JAIAAAWLBggfyZ1WqV//Z6vaivr097z6pVqwAAr732WqGbJyo7Wle1ytUrqygKKisr0d3dLQOA1F7ZqUy06+7uxubNmxGJRFBVVSV7r9xuNzZv3gwAkwLjXBKJBDweT1rWCBEAmkwmWCwWHDlyJOsEwWXLlsHj8WB0dBTAiQBOHMtEIiGPdepnUyZqz4fNZssahOh0OjQ1NcFms2FwcBAGgwEmkyltYlMwGJRp6A4cOJBzvxRFkUNMUnvhk8mkDJYsFouq3sR85+3ss8/WJL9yMau1ORyOvNf1smXLUFVVhYGBgYInfRYzMC7mMBQiSldwokbxAZf6aC01CH7zzTcnvUeMzxPj64jmEjHswWq1wu12IxwOy5y4brf7pGaFi17ZxsbGjGMogX/MyM/2/1ySySQ6OzsRiURQU1Mjx/FaLBbU1NQgEomgs7MzrQdVPOYfHByEx+OR2xPDN2KxGMLhsAyGdTodwuGwDM7EurJNEBRDFXIFqhN7WbMtl+98iMmByWQSbW1tOPXUU7Fo0SKceuqpaGtrQzKZxP79++UMfzGUQ/RgJ5NJ6HQ61NXVyfZm2y+dToeOjg5YLBZ4PJ609ng8HlgsFrS3t2P//v1pAbI4Hy6XC8FgEF1dXUgkEnnP2969e1FTUwODwSB7uUUwHAwG0/LZFnocpyPbQbbreirnNd9xLGZWJTXDUOLxuGa5xYnoHwoOikXP0KFDh+TPqqursXDhQgDA3//+90nvefLJJwGA33JpzhLDHpqbmxEKhTAyMoJQKITm5mZNe6a8Xi9CoRBaW1tRXV2NWCyGYDCIWCyG6upqtLa2yol2ufT29mJ0dBRVVVUZJ7VZrVaMjo6it7cXwIkxkVu3bsWWLVvw3HPPYcuWLdi6dSvcbrcc72kymVBZWSkDMNGrbTKZZHC8cOFC2Gy2tHbbbDa0trbKY+ZwOGCxWNKCSovFArvdjkgkItuUS77zITIapE7sstlsMuuF3W5HX18fYrEYFi9eDKvVKgOXeDwOq9WKRYsWyfHeufYrFAqhsbERF198MVwuFyKRCDweDyKRCFwuFy6++GI0Njaq6k0UmSxynTcxOdBms2Vskxh/rKaHt9Sua7PZrPq85uuVLZbUYSiZaDkMhYjSFTx8Yv369di2bRu2b9+Of/mXf5E/v/LKK3HPPffg7rvvxnnnnSezUPz2t7/F97//feh0Opx33nmFbp6obBVjVrgIyurr62XPYOqEJEVRVE208/v9SCQSOXuvgsEg/H5/3klCK1asAHBiIldVVdWkCXIiC0I8HofL5YLD4cjY7tHRUblvIgAW42XFMqkT0vLJNzkwX++dGHM7f/58NDQ0ZJzUePz4cbmtbPslzsfy5cuxdOnSjJPjUtuTq1Khz+dTdd7E8IJAIICampqMFf3UXpeldl3nqvqn5rxqWfFRjWIOQyGidAUHxZdffjn++7//G3/4wx/w3e9+V+ZEveOOO3D//ffD7/fj4osvRl1dHcLhMILBoMy/eccddxS8A0RCMWePa7Wt6Z4VntrrlGlM6MRep2z7ZbPZYDAY8uZErqqqyjtJaP/+/aiqqpJBNAAZFItlxdjWXO1OnZA2MahRFEW2yWazqT5eyWQSx48fh8/ng91uR3V1tQyyU4+jz+eTbbDb7fLfwImJXUajUQZTFotF9sCmLmMymeQENjFmd+L5EL2VoqBG6vEUE83GxsbkFwSj0Yi6ujrU1NTAaDTCbrfL8yZS1IkvDmJ7BoMB8+bNw5IlS7Bv3z709/fLNjU3N2PFihXTMqZWbfnuTMtMnNQ3cWhHJBJR1Zs61cmBWn7GZFuXmqwyqV9SSilrhpZm635RaSs4KH7LW96CL33pS4jH4zh+/LjMm9na2orf/e53uO666+DxeDAyMiLfY7FY8KMf/Qjr1q0rdPNEAIpTWnYmtlUo0evU09MjS72mFmYwGAxYtGhR3tLDLS0tqKurg9vtzjn5q7q6WlXOX7PZjHA4LHsyBYPBgMbGRjgcDjlpLVu7W1tboSgKBgYGZM9y6oQ9vV6P5uZmtLS0qDpWnZ2d2L59u+yp1uv1eOqpp7Bu3TqsXbsWTqcT+/fvx/j4uKzeqdPpUFFRgerqajlBbvfu3fB4PGn71dPTg5qaGpxxxhlQFAUHDhyA3++fVMLZZrNh2bJlec+H0+lEZWUldu3aNakX0+/3Y3BwEGvWrEFbWxt27tyJ/v7+vMco9TO6EGruj0KXcTqdqntTi7Geqd73+daVL6vMVI5jOZqt+0Wlb0pB8U9+8hNs3LhRPv4ETvyi+9KXvpRx+csuuwwHDhzA73//e7zxxhuIx+NYunQp3v3ud2P+/PmFtZzo/ylmKddyKxur0+nQ0NCA3bt3y9KulZWViEajGB0dhcViQUNDQ97Swx0dHWhvb8fmzZvh8XhgtVpl75UoDdze3o5YLKaq9HQgEMDAwIB8aiQkk0kMDAzAZrNh1apVOHDgQNZ2NzU1IZFI4OjRo7L302AwIJlMyrRl8+fPnzSWNpPOzk5s2bJF9uYajUbE43H4fD5s2bIFAGSJ5onL+P1+RCIRrF69GkNDQ7LanDj+iqLIKnRer1ce74nrEcH26tWrVZWCFsVLMolEIjh27Bj0ej3mz5+PI0eO5DxGIyMjcns1NTVyewMDA/D5fJqWeQZyl+9Wu4ya3lQ117VW61F736v9DMk3DKXcPovUmq37ReVhSkHxrbfeCp1OB6fTiQ0bNmDjxo3YuHEj1qxZk/WxRn19PT7ykY9o0liiiWaitGw55Q9VFAVDQ0Ow2+0yXZUIhurq6mAwGDA0NITBwcG8+7VhwwYAkPluRWYCl8sl8xR7PJ68j6N1Oh1GRkZkj2VqUKwoiuz97e/vh91ulz3RoVAIer0e9fX1clxtb2+vrB4n/uh0OpjNZhgMBhw/fjxtaEYmiUQC27dvRywWg9VqlcuKgDUYDGLbtm1ykp0YChGPx+XQklgshr1798pAP/X8pz7mfv311zFv3ry0UtBiPVMpBb1z504MDAzkPPcDAwNwu904fvx4zmPU29sr97OQ61rN/aGm9LLa8swbNmzI2ZvqdDqxdevWoq1HzX0/1c+QbMOryvGzSI3Zul9UPqY8fEJRFLjdbvzxj3/EH//4RwAnSmqee+65Mkheu3atqlRIRIWaqdKy5ZI/VLS5uroaHo9n0us2mw19fX0A1JXDzTX5C1A3SUin08meL9GLKoge5mAwiEOHDmH+/Pkwm82TJlJFIhEcOXIEIyMjcDgccpnUiXaRSERmxBBDLTL1unV1dcHv98txzKlFQETwKCbNiZ7ETCWcBwcH5RcOEeinBsiJRALRaBSDg4OyzSdbCvrNN99MS3+XSTKZxNatWzE6OprzGA0PD8sCJIVc12ruDzWll6dSntnlcqG+vj7j9ejxeFTfr7l6Zaeynnz3vVafIeX4WaTGbN0vKh9TilwfeOABPP/883j++eexf/9++XOv14vHH38cjz/+OACgoqICHR0dMkhev349KisrtW05EWautOx0b0srkUgkraRyarGIQCAgJyTlK6mcul96vV7OHZhIzSQhi8WCZDIpK6iJ3mERhCqKgkAgINO2iXG7qVLLIedaJjUjRrZJZD6fT+YRFkGjIAJckTZObGvil/7UstOimp44HoJer0cikVB1DaWWgp44qU/keJ543IXUnLrj4+My+0S2YyTObaHlkNXcH2pKL0+lPHOmsadHjhyRuaOncr9m65XV8r7Xal3l+FmkxmzdLyofUwqKb7jhBtxwww0AToz7EQHy888/j9dee03+MgmFQnj22Wfx7LPPAjjx4XbWWWfJIHnDhg2w2+0a7wrNRTNRWrYY29KKKKkscs6K4MloNMJgMMiSylVVVTlLD09lv/JNEhoaGoJer5eV0ib2CImSzyL4y3asJ5ZDzrSMwWBAPB7Hs88+i6GhobTe1ZGREQwNDWH+/PnQ6U4UDhFp4QRRglocs3znPh6PZx2uIbZtNBoRCoUQi8VyloIeHBzE0NDQpMl4DQ0NWYOGiRwOBzweT95jZLFYCi6HrOb+UFN6WW155kAggL1792Yde7py5UpN7teJmUcmfmmcyn2v1WdIOX4WqTFb94vKx0mPcXC5XLj66qtx9dVXAzgx4/nFF1+UQXJnZ6escheNRrFjxw7s2LEDd999N/R6PVavXo0LLrgA3/3ud7XZE5qTil1atlzzh+aqyCXKDecqqay2FLSQ63F0XV0dnnrqKfh8PpkBQUgmk3KYwimnnIKhoaGsx3rhwoV5yyE7nU4cP34cx48fn7Rv4XAYx48fl9ks4vE4DAbDpPHAyWRSjmkcHR3Nuq3GxkYMDAwgEolMCq6TySQSiQTMZjNqa2vhdrtzloK2Wq3Yv38/FEWRY39F735PT4/MFiHOa6bzq9PpcM4552B8fDxn1hCn04nW1taCyyG3t7eruj8A5N1WvmWamprQ29ubc+zp8ePHUV9fn3db+a7r1Awu4pilfmnU6/Uyg0s+Wn2GlPNnUS6zdb+ofBRc0U6w2Wy45JJL8NWvfhXPPPMMvF4vtm7dim9+85u47LLLYLfb5WPSRCKBXbt24Qc/+IFWm6c5SjyuL0Zp2WJuSyvRaBQ2mw0WiyVjCV+LxSILaADZSw+fDPE4emLpaYPBgHXr1sFkMiEYDCIajcpgOBgMwmQyYd26dVi1apU81qIXWwzLsFqtWLFiRd5yyKtWrcKRI0fkRDZRTloUDtHpdOjp6ZH5fOPxuBznK4Y6GAwG1NfX44wzzpDbCgQCCIfDCAQCclvr169He3u7zAsseo3j8ThisRgMBoMMHHU6ndyOKAUtJsDV1tZibGwMiqKkfWnQ6/UwGo1QFEUGs7k4nU7YbDa0t7fnPEYdHR1YsWJFweWQu7u7sXz58pzrWbFiRd5tqVlGZMzIN/Z0/vz5Bd+vIoOLz+fDyMiITAuo1+sxMjICn8+Xcfx3tnVp8RlSjp9FaszW/aLyoVOKVNQ9Go3igQcewLe//W0cPnxYPg5MHb9Xbnw+HxwOB7xeL4eDzDDmKc7M4/HIlGLZhkaIMZwWiwVerzfjMgCwadMmTSe3ZMoLbLPZsG7dOrS3twMAuru7ZbYLMUGsrq5OZrvIt4zBYMBjjz0Gm82WcchBLBaD1+tFXV0dzGYzent7Jw1paGlpgcViwcaNG3HkyJG8bX766afx0ksvIRKJyPVYLBasXbsWZ511FrZs2YJwOIyhoaFJx7qhoQGJRAJDQ0NySEOmIRbxeBxLlizBkSNHMDY2ljYsRK/Xo7a2FmeccQY2bNgAnU6n6jjmuq5NJhO2bNkix4RPFA6HEQqFsGnTJsRiMc3yFE8cBz5v3jw5Xvi5556TmUgmSiaTGBkZwcaNG6HX6wu6XxVFwdatW/Pm+hbHWg2tPkPK6bNoKmbrftHMURuvTVuKiEgkgu3bt+O5557D888/j+3btyMQCADI/SiX6GQUo7TsTGyrUKmPIxcsWCAnp4lxq8PDw7Db7RgfH4fdbpf/nlieWE0p6Klqb2/H2Wefja6uLllBrq2tTWZucLvdOHDgAMxmMxYtWpRWevjAgQOoq6uDy+XKmRHjwIEDedsh0sK5XC40NzfLfbVYLKivr0csFkMoFEIgEMDQ0BAaGhrQ1NQk359MJjE0NAS32w2Xy4ULL7wQGzduxM6dO+HxeFBTU4OzzjoLRqNRlhW22WzyeIogVRQsGRoaQiKRQGVlJaxW66QMFaJ8tXi87HQ6EQ6HZdW6iooK2Gy2tB61fFlDgMLLXIsJULnKKqvZVi7id8dUxp7W1NQUdL+KjAgNDQ1ZM6FMNSOCVp8h5fRZNBWzdb+o9GkWFHu9Xrzwwgt4/vnn8dxzz+GVV16RE1TEB5nBYMDq1auxYcMGbNiwAeeff75WmyfKOnu8lLc13aVMU7NBiADYarUiGo1ieHhYPhp/7bXX4PP54PF44Pf7ZaBms9ngcDimbXKLKC7hdDrlI3kgPV/pxEfTdrt9Ur5SRVEwPj4On88nh2kBkJXfwuGwLFohAky9Xo9QKISqqio0NTXJ1FwNDQ1yW5nGsDqdToyOjspzJv6f2h6DwYBly5bJZUSgb7FYEI/H0dvbi0QiISc86nQ6WeFOLC8CvomZLkTaN1GaWW2PWq6sIRP3VwTOdrtd9nRPZQJUofdHagGHTMVEUscvO53OSV/2Jo49LaQ9qRkR8mXwANTf02rapGZdxfzcK6bZul9U2k46KB4YGJCT6p577jns2bNn0qQPq9WK9vZ2GQSvX79e9jwRzXb5fqEV6xFhvmwQonzx3r17kUgk0p7khEIhjI6OYuXKlZpPbsn3uF5tvtL9+/fnLM+8aNEi7N27FyMjI5OGGYjg9cwzz0RnZ2fWNHLz58/H7t27Zf7kiUMampqaZHtyDR+or6+X1etEIY3UIiYGgwFVVVWor6/HyMhIzpLaoqdXqx61XEMsli1bpukEqHyll/MVcBDjlwcHB9HV1TXpvDY0NEx57Gm2+3UqXwiKWQqaiLR30nmK33zzTfnz1F6Z8847T/YCi0eGRHNNvl9oxS5lmutxpKIoCIVCcgysKMUsJr/F43GEQiHN2gLkL+V66qmnqnpcv3PnTrz00ks5yzMvXrwY3d3dMiuE2GeREm7x4sVoaGjI+cUhdYhEMpmUvbuKoiAajaK3txeRSAQDAwM4ePBgzjRh4XBYTi40GAzQ6/VQFAWxWAyJRAKRSARnnXUWtm/fnrOktgiWtehR6+7uxubNmxGJRFBVVSXb7Xa7sXnzZgCQTxyGhoZQUVGRNpylqqoqLQjN9YUw37lfsWKFqi9E8+fPTyunnWqqQ/TyBelqvhDky85xsqWgLRaLLHTDUsdE02tKEesHPvAB+YsAAJYsWSJ7gTds2CAnbBDNZfl+6be3t6fN5M/UE1bMUqYejweDg4PysXBq6WFRdGdwcBAejwe1tbUFb09NKddjx46lDSGYSJSL3r17d97yzGvWrEFdXR3sdjsCgYDsBRXZKIaGhrBs2bKcXxxGRkZkT7PIYKEoigyy4/E4hoeHceTIkbzndWxsTPYwpxYuMZlMSCaT8Hg8mDdvHi6++OKcJbVTj2chPcXJZBKdnZ2IRCKoqamRx9FiscBkMsHj8aCzsxPXXXcdli5dis7OTgwMDKT1Jq9Zs0bVJDo1vcD79++X46MzEcMjuru7oSgK2traMo6VV3sPqfmCmq8gzcTsHIXc0+L+GBsbQyKRkNedmNgXiURY6phompxUN67RaMS73vUuXHvttdiwYQO/sRL9P2oCvtdeew3j4+NFLWWaK1DxeDwIhUKw2WwwGo2TJnbF43H4/X4MDw9rEhSrKeU6Pj4Om82WNqFMSC0XHQwGZc92KlH8w+/349ChQ5g3b56qSVLZel37+/tlppyJQ0xE2xKJBPr6+jBv3rys+9Xf3y8DvolBsU6nk9kmRkdHsWrVqryT47R4xN7b24vR0VGZoi61AInBYIDVasXo6Cj27NmDo0ePwmKxYNGiRWn5lcXERwA5A8yVK1fmPfderxdA7uId4hoQQfzEcb5q7yE192tXVxc2bNiQ80nCVIb7qCkFLc65yJGdmqdar9ejt7eXpY6JpsGUgmKRPzMej+PXv/41fv3rXwMAli5dKodMbNiwAUuWLJmWxhKVOjUBn9vthqIoWX+haV3KNF9PmCiWINqYaciTCNq0oLaUa2trK6LRaN5y0dmGaBmNRkQiEVnCWM0kqWzGx8cBQAaxE8f5AieOUTgczrlfIrAWQXXqelIDZCHX5LipDsFJJpMZA2wxsRKAHBOd2ntdWVmJeDyOAwcOIJFIZPySItKnAcg7FjhfL7BOp0N1dTW8Xm/WSXTii1Oh5YDV3K8imFWbnUNNqfRcwuGwTLMnvqgA/6hCGQgEMDY2JotjEZF2phQUj4yM4I033pCT655//nkcP34c+/fvx/79+3H//fcDABobG9OGVZx55pl8zENzgpqATwQcWpYyzfYIPbUnTAQYwWBQ9igODw9jZGQEFRUVCIVCcmhA6npDoRAqKipQX18/pWNR6MSlpqYm1NfXqy4XPVE8HpcFJgo91mKCsE6nk2NpBZHVAgAqKipybquiogIWi0WWj04dihGPxwGcCCLzTUhWc15TH7HnmkRns9kAQPbQiiEhos1iqEooFJoUEItjInrBAaQVapm4jJpeYJPJhOXLl+OVV17JOInO5XJh2bJlcuhMIedV7Rc0Ecxme5IgrumplErPdn9Eo1HEYjFUVFRkPI7iy57ILz5bTXdmHqJMpjx8YtWqVVi1ahVuueUWAEBPT48MkJ9//nns378fAwMD+P3vf49HHnkEAGRye9GbvG7dukk9NkSzgZqAr7KyMu/QAK1m8ovHuiaTCceOHcv4y9rv92PevHno6elBIBCYVApZURQsWrRIBgNqfllpMXFJrLeQctHV1dU45ZRTMDg4WNCxbm5ulkNJUvMFi4BWTJqbN2+e7FXMtK3W1lY5aU+sL7VXVvTEtrS05GyP6OHMdV5FD+fg4GDOSXQXXnihHIMtxnELer0eiURCvi9X8CiCtFy9paLYSa5j1NzcDJvNljUAEj3JWmTDmGqquWwcDgcqKyvR3d2tqlR6rvvDbDbLcyR6zlP3TXwJzPRFcLZg5g2aKQWnhli0aBEWLVqEG264AcCJizk1SBbjJ5988kk5i9loNOLMM8/E+eefj7vvvrvQJhCVjNRiGbl+WS9fvjxnCjC16aTUZHEIBAIIBAKIx+Np4xP9fr/MHHDOOecgFothaGgo7bGsXq9HU1MTzj77bOh0OtWVyAqduJS6/9l650S56C1btsixxSL7hOhxXL9+PRYvXozx8fGCjnU8Hkd9fT3cbrcs/azT6WR5ZpEabeHChTh48GDWba1YsQKNjY0ySLVarfJ8RCIRVFZWpmWWyPYFJBKJqDqvoVAo7yS6bdu2obKyUg6dEBkxkskkYrFY2rCTXMGjCNLy9ZYuW7YM+/btyztpLZlMZp1EJ1Kyqb2GslF7v04lHWGm3t1U+e6PlStXora2Fh6PR2afSL1GDAYDampqZm3HUrEz8xCl0jxfmsvlwjXXXINrrrkGwImxeKlFPV5++WVEIhF0dnbipZdeYlBMs4pOp1MV8OXLHay2/Gy+SUJHjx7F+Pg4YrEYqqurJ41PHB8fh6IoaGxsRH19fdayumrTyKnJLqBm4pLaX3qitLLIUxyNRqHX62G329NKLxe6LYvFgoaGBlgsFgwMDMjJXjqdDmazGU1NTXA4HHmHfLhcLrm9HTt2YGRkRAZ8EzNL5OtNFPtbXV0th2OIAFSc15GRETmJLtNkRKvVirGxMRiNRlitVsRisbTsI6LXUlEUOc43V/AYDAbz9paecsopsNvtk6615uZmrFixIm3SWq5JdKtXry74vKq9X/MF116vF6FQCAsXLoTX65V5qA0GA6qrq2G32xEKheDxePLeH8ePH8f8+fPlhMdgMCjTCdpsNuj1erS0tGieN7wUqJ34yMwbNF2mPYmweHx5/PhxHDt2DD09Pejr6yuo1PNzzz2Hu+++G6+88gr6+/vx6KOP4p3vfKd8/aabbsKDDz6Y9p5LL70Ujz/+uPz/6OgoPvaxj+Gxxx6DXq/HNddcg+9///tyfB3RyVIb8BZaylTNJCExYUfNOvPlMlbzy+q0007TZOLSVOQrF51v39QQPYp+vx+NjY3weDwyUK2pqYHBYIDT6cw75EOoq6vDwoUL5RhSs9mM1tZWmcFBTS5f4ETGC9EWEaSnTjwMhUJIJBJ505slk0kZEEYiERnQiQwdkUgE8+fPx7Fjx3IGjzt37pTnOtVUzulUxvmqKSmdjxZfUEWbKysrJ/1uUxQFJpMJoVAIw8PDqu6P008/HT6fD4FAQPbwZ8sJPZtMZeIjM2/QdNA8KFYUBbt27ZLDJ55//nm43e5JyxQiEAjgjDPOwAc+8AFcffXVGZd529veJif+AZj0yO+6665Df38/nnzyScRiMbz//e/Hhz/8YTz88MMFtY0IKDwIU0NN8CAmd8Xj8YyPYi0WC6qqquR40GxDFdT+shK9moVOXJoqg8GAVatWFbyebHQ6HRoaGrB79+5JY3PHxsZkT3K+IR9AesDb0NAg1zM4OIjx8XFVeaz3798Pk8kEn88ng14x4U+UtBblufPlezYYDHJcrdlsTuuZTR3D2tjYiHnz5uVMS5baWzqxh1P0lh4+fBh79+6V49etViuSyST6+/vh8/mwYsWKopaUBgq/X0X57mPHjiGZTKb1kgcCAYRCITkBUc39YbPZ0gJ1sc+pT25mo6lOfCTSWsFBcSwWw44dO2QA/OKLL8r0RcDkAHjJkiU4//zzsXHjRmzcuPGktnnZZZfhsssuy7mMxWJBU1NTxtf27duHxx9/HC+99BLOOeccAMAPf/hDXH755fiv//ovzJs376TaRVNXijOMi9UmkcYq0yNkNam01EwSEhNyLBYLPB6PTKloNBpRW1srH8GK9+cawyp+WSWTSQwPD8tlnE6n/GUleipF2q3x8XHZjurq6kkBTTwex86dO+HxeFBTU5OxCmYsFsMLL7yAsbEx1NbW4rzzzpv0SzORSOTsKRbH+ujRo7Ldra2tk451tvYoioKhoSHY7XbE43EEAgEZfNbW1qYVAdHpdFnbk9rjbrfbcejQIYTDYVRUVGDx4sXw+XzYtWsX/H6/PDfhcDhtwprI4hAOh2E2m5FMJhGJROT4XYvFInugRe+z2+2GyWRCNBqVvcBmsxnBYBC1tbWoqKiA1+tFIBCQTwbE36ljWGtqalBXV5dx30Rasvr6elRVVckqfxaLBfPmzYPBYJDjgUVhCrfbLdtjs9kQjUZx/Phx1NfXY2BgAPX19XKYiNlshs1mmzTOV831odU9ne1eFNdFKBRCdXV12iTD1EC3rq4u7QvIxMmIqfdHTU0N6uvrc+apVnPta7n/WtGipHah2yp15drucjfloNjv9+PFF1+Uk+leeumltG9tE5Pan3baadi4caMMhFNzok6nZ555Bg0NDaitrcWFF16Ir33tazKl1LZt21BTUyMDYgC4+OKLodfrsWPHDlx11VUZ1ykeIwo+n296d2KWK8UZxlq1SU2Z52effRZDQ0NpKadGRkYwNDSECy64AC6XK2cqrWXLluWdJDRv3jwoioK9e/dibGwsLQdtOBxGOBzGqlWr4HA4crZZ/LI6evQoBgYG0tZz6NAhOaa2vr4eTqcT+/fvh9/vRygUksuJrBvLli2Dw+HA008/LT8/xDJbtmzB2rVrceGFFwIA/vKXv2DXrl0yjy4AbN26FWvWrMGVV14JAOjs7JRjikVg+NRTT8kxxW63G0888cSkdg8MDODo0aO49NJL4XK58PTTT8tJacLTTz+N9vZ2nHXWWRgeHpbjalOJnlDxWHf//v1Z27Ns2TIMDw/j+PHjMq8vcOKzJDXoFuW2BwYGJk1Yq6+vl+NNo9GoDIgFMfGusrISer0e7e3t+Otf/4q+vr5J6c2qqqpw7rnnwu12w+fzwe/3T8pTXFNTI8ewZroed+7cifb2djQ2NsJoNOLNN9/E4OBg2jk7fvw4GhsbZZ5un8+HUCiU1h6R+s9oNKKjowPHjh3Dzp07Jw0NEb2lOp1O1fWhdnJovmVy3Yti3xVFwcDAwKTjbLVaZfo9p9OJnp4eOV449dzq9XosWrQo6/145MiRtDblu/bV7lsxaZWZptBtlXJve7m2ezaYUlB8zjnn4LXXXku74VODYJFVQgTB559/viYVsKbqbW97G66++mosXrwYb775Jj73uc/hsssuw7Zt22AwGDAwMICGhoa09xiNRtTV1WFgYCDrer/5zW/irrvumu7mzwmlOMNYqzapKfO8c+dOHD9+fNKEpHA4jOPHj+OVV17B4sWLc6bSAqBqktDrr7+O4eFhmSVBr9dDURREo1EMDw8jFotheHg4b5vD4TCOHTsmew9FT2I0GsWxY8dk75bFYpHrTc0IMT4+jnA4jNWrV2PLli148cUXZXCROmbyxRdfBHCiCMTOnTvlZ4zYXiKRkGNXGxoasGXLlknb8vl82LJlCxRFQV9fn2y32WyWx1q0e+vWrbDb7XjxxRfTCnGItGIvvPACgsFgWraH1HOWmu3hlVdewcsvv5y1PX6/HwcPHkQwGMx47fh8PkSjUTQ2NspH8RMzSwSDQVRWVsrjNfH4pI49FcNixM9TJZNJGWxaLBaZfUIMxRCT97xeLywWC/bv35/zerz44ovh9XrR19c3ab9EtT9FURAOhxEMBmXQLdodi8UQCATkPSQmIab2jMbjcTl5cMeOHXmvj46ODnldWywWWCwWKIqSdk8DuavwdXR0YHR0NOe+r127NmOgL45zKBSS53biMByRR3tkZEQOwxH3oxhiUlFRgWQyib6+Ptmmw4cP57z2AWDx4sUl9TmrdWaaQrdVigFmubZ7tphSUCw+aISKigq0t7fLoRDr169HVVWVpg08Ge9973vlv1evXo3TTz8dS5YswTPPPIOLLrropNd755134lOf+pT8v8/nw4IFCwpq61xUijOMtWqTmvXs2rULhw8fhk6nm1SxqqqqCuPj4zh06BD6+vpyptLq7OzEddddl3OSUF1dHfbs2SMDh4m/sBVFweuvvw6DwZCzzfv27cPAwICs5ibakxqIDQwMIB6Py+wDZrM5LZNBVVUVEokE9u3bh76+PjkWVqxLrDcWi2H79u1pQdvEHMRi7oLImCB62QDIACEYDOKFF16Qy1dWVk7KvhEKhXDw4EHEYjE5ITF1XLDYt927d6OmpgaJRCIth+7ELB6ioES29uzcuTNrQCyEw2FEo1E5DlWsR+Ri9ng8MvuEaKeQ+m+v1wu9Xo/Ozk4kEgn5WD81EI7H49i+fTt0Op0cwiB6ZsVEO/F4XnxJyHY9bt++XRbwyMbtdsviIKk5eMX/I5EI/H4/du3ahXg8jsbGRiSTSdkLKvZ/27Zt8otOruujqqpKDtUYGRmR66msrEQkElFVhW/fvn3o6enJue+7d++W608N9MXfIpg3GAzyiUAikUAoFEIoFIJer0ddXZ18fXBwUE6SHR0dTetNjkaj2Lt3L3bt2pXzWtu2bRtCoVDJfM5qVVJbq8w8pZjFolzbPZtMKSi22Ww477zzZBC8du3askggfsopp8DpdOLgwYO46KKL0NTUhKGhobRl4vE4RkdHs45DBiB7GqgwpTjDWKs2qVmPeCRut9szLiNyxgaDQVRXV2dNpTU6Oore3l60trZmnST0xhtvyIAt04eooigyCJ83b17WNh86dEj2toneOEGMAQ6FQnjhhRcwOjqK6upqWdZY/EI3GAyIRCIypZnoIZ64b5kKSExcJpFIyJ7TioqKjMuYzWbZ85itOpjJZEoLUlOD4tRjFIvFZC7kbEQPqChSkas9+fj9flRWViIUCk2aHCnKLotzMLHCnvh/IpHAnj17ZFnx1GIQ4v8AMDAwAKPRmPOcicnSIiXYxH2zWq3yvOYicjxnK80N/OOaFNf+xO1ZrVb09/fLfc51fezZswdGo3FSj3sgEIBer0dPT498wpHt2j969CiGh4dzprUbHR2VX/5S/6SuK5FI4M0338Tw8DAaGhoyjimORCLyy3AgEMj4pECv16O7uxt+vz/nteb3+/Pe18X8nNWqpLbW2yqlLBbl2u7ZZEpBscfjmXQDloPe3l6MjIzI8czr16+Hx+PBK6+8grPPPhvAibGDyWRSPk6j6TOTM4zVTCQrpE1q1iN64nIRv/BzrScYDKb1FmbLGiHKB0/8Ra0oigxww+Fwzm2JcaupvWAi0Bb/DwaDsldOLDcx+BFBFzA5mBFEUCPanElqG8RYzonBnNFoRCgUmtSTOHFbqevM9IsotdfPYrFkzeIhepuzBXy5AsGJ4vE4WlpaMDo6OimLQ11dHY4fPw4Acr9T9yP12I2NjcmCD+KciNfEY1lxfeQ6Z2Icdb7rWsh0vFOHpognAhPLXIv3iWst27ZS15WJWGcgEIDNZpv0RMZgMCAQCMDj8aC2tjbvtZ8vrV3qMRfXYOp+i22L+zHf9sTv2mztDgQCSCQSqKyszLgeUQo6EomUTCYHrUpqT8e2SkW5tns2mVJQXCoBsRiXJxw+fBi7du1CXV0d6urqcNddd+Gaa65BU1MT3nzzTXzmM5/BqaeeiksvvRQAsGLFCrztbW/DzTffjB//+MeIxWK4/fbb8d73vpeZJ4pgOmYYq6FmIlmhbVKzHlFpLBwOy6BAUBRFTjgSYzpzpdISebWzzYqfOAtdbGNiMJEvbZfFYoFer8/6gS0CmtraWhw9ejRvu1OHK0xs08Q5CxOHfIifA5BfaERAnPo4XfREi+2Jx/ap6xAV3BKJhAyys22rsrISDQ0N8Pl8GYszeDweGfRk6lFODRrzEWWRW1tb5VhUs9kMu90ug3Cx/yIQE8SYcdHm1H1KPUapx14EqZl6isW1D+SuaCfKVot25do3cV1OHM4BQK4n17ZSK/5lIn4ucgRn+rIjhhnodLq8176atHYicBZfVMR+iX1NJpOoqalBIBCAz+eTT4MmVv0Tvcoii0imdotzJu7HiV9Sxf0ovqwV83M2m2J+7s/U75hClWu7Z5NpL94xHV5++WVs2rRJ/l+M873xxhvxox/9CLt378aDDz4Ij8eDefPm4ZJLLsFXv/rVtAvpoYcewu23346LLrpIFu/4wQ9+UPR9mYumo7RqPmomv4k2OZ3OSaVl1bZJzb7NmzcPdrsd+/fvz9jrqCgKli5dKvP+po67BSBnrbtcLrS0tOScFS8eC4tfmqnBQirxqDLbvp9yyikyGJzY0y2CMrvdjvPOO08WeMjW7qamJvT19SEajWYNeEXqNxFcZCJ6P0VZ6tSgVzw+r6ysRF1dHYaGhmRgnNqeZDKJuro6OR40U3vEuk855RQ5FGFie/1+P5YsWSKPUepERPG3qD6XmrIym9WrV+P48eMy/Zs4r1VVVTIDQ19fX8anDmIfjEYjFi9ejD179shjPfGLQyKRgNlslmWFRUCamu0hkUigoaEBinKiQl6281pfX4/+/n75RWbiMsCJa2XhwoU4cuSI/DIjtiUCwba2Nrjd7pzXfnNzs5yImG1b4ktj6rCR1HMmJkzW1dXlrNTX2toq0xBma09DQ4OsZDex80i00W6346yzzsLo6Ci6u7tlcJM6NMLj8WDBggWyCmW2dldVVcl5AOJLjCDOqyicNTg4WLTP2VyK+bk/E79jtFCu7Z5NSqPrd4re8pa3pP2SF38eeOABVFZW4oknnsDQ0BCi0Sh6enrw05/+FI2NjWnrqKurw8MPP4zx8XF4vV7cd999rGZXJDrdidKqVqsVbrcb4XBYzph3u91TmmGsxsTJC6LXU0xeEKVply9fDp1Oh66uLhw8eBA9PT04ePAgurq6ZJvztUntvp1zzjlyrJ8YixoOh6HT6TBv3jysXbsWHR0dMr9w6no8Hg8sFgva29tx4MABbN68GW63W+aRraiokLPi+/r68j62N5lMsrpatn1fuXIlVq9eDQBpKbtSx6aedtppMJlMaG9vz9nudevWYfXq1WnBujhPYr2nn346Fi1alLPdCxcuTJvYOzHwB06MP92wYYOcWCUmNoVCITk+98ILL8w5lwAAmpqasGjRIvh8PoyOjsoxuEajEaOjo/D5fGhsbMT69evTHnGHQiH5b4PBgA0bNuSdnLtgwQLMnz8fo6OjGBgYgN/vlxPQBgYGMDo6itra2ryfVyJwqqmpkUH5xCA9mUyitrYWp556qhxrm0gkZJAq/t/W1oZ169bBYrFgbGxs0h+LxYJzzjlHTgBKHc6S+sXG6XTC5XIhFovJ7YgvEOLJSH19fd5rf/369TjzzDOzbkvch06nUwaPItgXhWxEjul89+uKFStUtWfi/SF67FPvj9QnN8lkEvF4XH4JTQ3ma2trVbUbgDyP4suIGNe9evVqrFy5smifs/kU83O/2L9jtFKu7Z5NyrKnmMqfFqVV1VI7eWH+/Pk5xyiqpXbf3vKWt+Qs3pGai1SMLTUYDHC5XGhvb8fSpUvx0EMP5ZwV/+abb6pqc6ZJf6n7LnpvnU4nPB6PHIsqHnvX1NTIx7jLly/P2e5ly5ZhaGgIdXV18Hg8aUGTCOLsdjsGBwfltjO1SfRaV1dXyx4zwWAwoLKyUva+i0BsYi+oy+VCXV0dFixYgJGRkYxj9SwWCxYsWCCzBojeQZE1oL6+Hnq9HkNDQ1i+fDkaGxtlJg7RdqPRiMbGRixatAiRSAQjIyMZs1BYrVaceuqpOHTokOwdTh03LHoBxWSsXCKRiCzMIYZFiOBRjCkWKQF1Oh0cDoc8t9FoVC7jcDgQiUSwbNkyHDhwYFJeYIPBgOXLl2PNmjXw+/147bXXsp7X0047DT09PTAajaioqEgL1MW45O7ublx33XU5r6Hly5fL60y0J3Vba9aswRVXXIGtW7fKgHPi2Gy9Xo+WlhYsXrwY1dXVOe/XfPeiuKbz3R8ejwehUAgNDQ0YGhqCx+OR+y+G5yQSCZmLWmSoEO0WX3RaWlqgKApqamrksU49H2J7TqezaJ+zahTzc7+Y29JSubZ7ttAp+Wb8UFY+nw8OhwNerxd2u32mm1OWsk1809Lg4CCee+45GbxMJB6NikfbmYYQDA8Po7m5GRs2bFDdPjX7pmaZbBWrjh49ikcffRQVFRUZx5iFw2H5GDbTxLXUgG3VqlUIh8NZ9722thbj4+Py8b0IIC0WC+rr6xGLxRAKhbBp0yY5OSbbOGePx4MtW7bIggb9/f1yXc3NzTL/a29vrwzMJlZsS53U5nQ6AZzIfiHaLSYgeTweLFy4UAYaE6ujjYyMoKamRs7qHxsbk5kEjEYj6uvr4XA4ZO9bTU1N1qwBwWAQNpsNHo9H5jwX+9XU1CR7eMVxVBQFBw8elBXtTj31VNnmkZERuU2xr3q9Xo7n1uv18Pl8GYfDiHOs1+vxjne8A3v27JGB08T0ZmJIBgCZgzl1+IP48lBTU4Pm5mbs2LEj4zAUk8mETZs2yby4InezyHtcUVEBm82G1tZWbNmyJS1Qn5jpIhKJ4KqrrkJra6uqam25KtqJYVMi329qPuyqqqq0nK9q7kW113S2+2P16tXYvn27PNapT3HE/6uqqnDOOefIfNZibLHy/1LiWa1WrFy5Ejt27IDH45HnLHVMsThnl112mXxSUErV0YrZnlLbd7XKtd2lSm28xp5imlGFzDBWS83kBTFeS/S4VlRUpC1zMqlw1OxbvmUyTQ4cHR1FW1sb/H5/3lnxoldQBJKpwVNqkDUyMoJ58+Zl3XcxllYcn4nFb0TPbWrvpV6vR2tr66R2pc6wFr11E9clHtubzeaMwzVSsxeI8zoxR7oYjiLGfBoMhklj8cR5VRRFjtVrbm5OC3gVRZHZHsSkrYnHyGw2Y2RkBOFwGFarFcePH5eTqERp5dTjKL5siHUCJ1KjOZ1OWShESM3QIB7FT5wYmGlMraIocLvdMrjv7++fVGGwoaEBkUhE5sQF0ofHmEwmJBIJOZRDHPuJ15HILX322Wen9XJNnNAqyjrnynQhsqrkuvZTe8tMJhPe8pa3TLrOgH/0uqkpp66G2ms62/2RTCZl1cDUfNdi30X6xMbGRtT//+z9eXgc53klip/e970bjR0gQRAAd1EUSGqxLEXekzjOZntsx9lnbiaz3ll/Nxk/SSZ3ZhLPZHEymcQ/J/FknEnssePYji3bVGhbskiCFHcSAEHsW+97d/Ve94/G+/Hr6qrqpgjRktznefohgS5U19ZV53u/857j87XsP1ULa7UaO2fS9ZDrRjKZZHr7h3GfvR88zO15ve17p3ijbvcbHV1S3EUL3mwj1E6aF5xOJ7LZLGvwisVibP/9fv+rssJRqip1inbNgcPDwx11xdNUNU2LU2WOjP6pm5/kD9IqqNFoZCRpN7qi+UGKwWBoOdblcpkRRZrGl1qO8YEgpNeVbjcdN6PRqDpw4PdNzjWCiBQAts3ZbJb93uFwsO0slUrsPb7imslkUCwWWePU8vJyUxod0Kh0Z7NZ5jxCpJSv7tL55iv/UokJkVZRFFlARyqVYjpo2l8ALEWNGjwBNG03VatLpVJTOh4P+qxsNou5uTkcPHhQ0WNWEISOrtlqtdo2ie5+Krx07ug8SRGNRnH79m2sra2x8zo8PIwDBw40EWelz7pf1wA6hiTtkHOKUfPqJYcXGpxJ10OWbO18o7voootmdElxF014M2auU/OCWnTo/v37cf36daytrbGKGJGHpaUl9Pb2wuVydWyFo+YIQVpINUibA+lBzicbkcdqO4cKjUbDNNXSqXGqfDscDqTTaWQyGVmbKIvFwqQBD9oVTYOUW7duMf0lf6zdbjdGR0cRDofZNch/HjVl6fV6TE9P49vf/jar5PKw2Ww4fvw4VlZWVMkK7Vs4HGYaTj75TKfTYXR0FKIoYmFhgcVV0zabzWY4HA4MDg5ieXmZvS91BKDlADCdoNSnl9wLaB+J7PCOEfQvfy7l3EB0Oh36+vqwtLTEBg5yzhI0GKKKthR8DLdGo5G1lqPtJT9jpSrX4OAgvF6vqjsJ6XLVkugo1SsWi6ner6LRKL797W8jEomw80GRy5FIBE8//TQA4Bvf+EaTm4dGo0EoFMLGxgbe/va3N6WJyX2W3+/vyDXAZDKx7xHNUPDHkK5FIrNKx5EGetQ0Kq3uA/ds/brooovO8YZ0n+jitQFVJre3t2G1WuHz+Vh61IULF1iq1RsRNI3a19cHQRAQj8chCAL6+vpw8uRJ7N27F8ViEevr66xySrG65XIZ6+vrKBaLHZG++fl5VUeI+fn5tuvopDkwHo/j0KFDbZ0eqHOePHT1ej2q1SrS6TRMJhMef/xxWK1WrK2tsWq51WplFdG1tTVYrVYcO3ZsV7qiqSpLFWIiaFRpjcViqNVqsFqtjGxRtZQcBjQaDaxWK/L5vGI1rFwuo1KpsGqbXIUzk8kgEAhgZGSEOUsQOdFoNMxZoqenB2azGbFYjOmPycUkl8shFoux6jQNKqiKSyS1UCiw2QYpkaXtoeuNCKxUC05EmWK06XfSZQA0Jd9RQAuRJo2m4XpCMdy0jBx4yy+lFhSqFrdzOtFqtW3dSQ4ePIjNzU3kcjnk8/mm6zGfzyOXy2FjYwNLS0uq96tIJIJXXnkFm5ubqNfrMJvNsNlsMJvNqNfr2NzcxKVLl/DSSy+xyivpn2lWZm1tDS+99BIikYjqZ8VisY5cA8xmM2ueVDqOFK+tBrPZDKvVyhxV+O8Q76wilfl00UUX6uhWirsA8P2Rua42HVmr1RAKhRgxoQoWVfHq9TpCoRCrwCmhXq9jZmZG1RFiZmYG4+PjqlKKTpONBgYG8Nxzz6l26RPUOudXVlbY/vLgf6aBxa1bt7C0tMSmmffu3YuDBw92PJNA8bu0H3wllJqv7ty5A5/P16QvJlBzmNvtxpUrV5iuUtq0JQgCzp8/j5/8yZ9UnSWYmJjA/Py8qrNEOBzGysoKI6M0FU+OALTN0shoApEgqjA7nU6Uy+UmOQtV9qgJS815g5dGSPXFGo2miViRBAFoSAgqlQoj/kDjWuNjteWg5N8sxcDAQNtl2rmTuFwuXLhwAfV6XTHRLZlMYn5+XvV+dfXqVSwvLzOZDb8em82GbDaLxcVFprMmiQYffFEqlbC4uAiLxdL23vjkk0+2dQ0gGzaynpM2PlLjXLvGbafTCZ1Ox65HGtzQzAXNTnUbwLvo4v7QJcVdAPj+yVxXmo6cm5uDIAjswcj7nVL1SxAEpplUwsbGBhKJBGw2WwvpJTlCIpHAxsYGhoeHd0WjODExgX379ql26U9MTGB8fFyxc14QBIyMjLCULd66yul0QhAEpNNpLC8v49q1a8jlcuxhns1mYbVaOybFc3NzyOVybApY2jlfqVRQKBTgdrsxPDyMdDqNdDrNHvQulwsulwvJZBKFQoFV9Yg4EznW6/XI5XKIx+OqZIV0zT09PYrOEqurq4jH47BYLC0EkogITfeTxIEnklQdpEp3O1DVleQK/KCBBhG8c4RUzkF/T9Vyi8Wi6PbAV9HpHPDbwRNuNWg0GqRSqY6JsdI1y+tl5e5FFN8dj8fR09OjeL8KhUIoFAqydoM0KIjH46zyLghCy+BLp9OhWCxiY2MDQ0NDbe+NagNvoNEBT+4odL+hZkZBEGCxWKDX61nTrxJoPTQgo5kNIvVms7mj9XTRRRfN6JLiLgB0M9czmQyzluL9Zflp4Wq1ikwmo7qeThwh1Lrr71ej6HK5Ou7Sb9c57/P5WMMh30QGNBqyLl++jIsXL7KGNDom2WwWZ8+eBQBMT093fKyVptqJzFFFdnh4WNYmzmQyoV6vs8qntBmPzmEmk1Ft/iLtspqzBFV16drgtcBEPPmIYyJUfFMbH1aRTqdZQxS/HkEQ2LGlMAv+WqQmRGqUpEEEn1xI+0LVURo00Hr564iqosA94i7VuZI3cjvwle12zW9q1ywNltQS3Whb1ZpD5dL+5LaZTzLkP4v//W7dG0ulEvR6PfPF5iVNLpcLPp+PyR86Wc/g4CCrttOAzOFwwOv1olgsvmnv11108VqhS4q7ANDNXKdqEmlcpclT9Pt205F2u/2+u+vlnCVOnjzZtjlwcnISsVis7XraVXDp3Ks12mk0Gly/fh2VSgVWq5URKSJahUKBWXKpyUvoWJONF1XlCfS3FKscj8cRi8XgdDphtVpRLpcRi8VgtVrh9XqxtLTEqqYAmhrSiKQSsVeaJejk2ucrtOQbS+skH2V++/lmRvqZ9stsNiOXyym6OJjN5qYkMzlSSBZ01CApJUV0nTocDhbhLBcpTpV32n6lqjBpoOlfIsD8v/Rq16zbzlVlamqq7TY7nU6YTCZkMhm2/9Jr1mazQRAEFIvFlmZNURTZAIR33pADVZWJpEsJOH9vbLfvdK1ls1kkk8mmps56vQ6j0ajoOy53zZJLhtzsBl0nXXTRRefokuIuAHQz1ycmJqDX61EsFlnFkEBT2GazmekhlSphfHc9ES2a9jcYDE3d9Z1qFJU8Vv1+P1566SW2znK5jEKhwB7E1JnfTgfucrlgsVgwPz/PrNn0ej0776lUCj6fD4VCgVXueB0wTevncrm28hIAmJycxDe+8Q3mtMCTaHJbcDgcmJ6eRiKRUJQ9aLVafOtb32IaTTnQ8mrgr325gA9qtAuHw0wDLCWFNMtAzWBEcghUbbXb7fB6vdBqtUymQtDpdIzQkqctXYv8Z9FgYnBwENFoFENDQ4phM4ODgxgcHGTaY5rJ0Ol0bAA3PDyMfD6PTCbTIp8AGoTearWyz+YrynwjIQ0W1KzUpqenmRZY6Zrd3NzEwMCA6jaPjo4il8vhzp07jAgScc7lckilUpiYmIDT6WRabym5FkURAwMDmJ+fb0uK3W43c7CQEnCtVovR0VGUy2XMzMyo2shR0MzKygpEseFXTdtUKBSwsrKCyclJdp9VCi+R3q/52Y03wv26Uxu9Lrp42OiS4i4AdGZb9mbOXM/lcvB6vWwqXafTMRJCFTiv18uM99XCAKanp/HVr34V29vbLcTIZrPh4MGDWFtb60i/rQbSgRsMBqyvr8tWy3gdeLsHETkUSC3AqJJHZLBUKslqL+v1elt5CR2H3t5epksmYkXkUqPRoLe3F1qtVlWjGQ6H4XK5EI/HmzSx/P9dLpeshZj0mE9OTmJtbQ2XL19usS3r7+/HyMgINjc3EYlEUCgUWgaNFKk7OjrKJCbUGEaOEQaDAUeOHEE8HkcwGMTW1lbTOaPku3w+z2YriAzS59DPdD3m83nFSjoNHCYnJxEOh5nlHK0nn88jGAxiamoKW1tb7HzIna9gMIharYZIJMLs8Hi5BgWEbGxsqFqpXbt2DdlsFkajEWtray2El87n0aNHEQ6Hm6zU6vU68vk8enp6MDExgcuXL7PjwoP/+dFHH0Uul0MkEmkJROnv78fg4CAWFhZUGwnpe7uxsYFSqQSbzcbCcMjnuaenB/Pz821t5B5//HEkEgkmwaEZF3K7qVar7P2LFy/i/PnzTfr9F154AadOncL09PQb9n79ZrT97OLNgy4p7oLh+zlzndwizGYzNjY2Wnw/BwcHYTabEQqFcOPGDZZMRsvE43GEw2G8lUvWkpv6BsA6xdtpFEOhEIt6dbvdjJyGQiFkMhns27cP+Xwe+XyekTCq8JJXrs1mQ6lUUn0QGQwGJJNJps2UakpJ4ws0Grp4dw4ATPuq1Wo76nZPp9Mwm80YGhpCKBRiQRdUce7t7YXZbGZkXkn2QFU2s9nMGs14Qkz2V514tSYSCdZ0xe9btVpl9n1kcUXNcrTNtA0WiwXHjx+H3W5nZIbW53Q6cerUKezfvx9f+9rXWJiG1+tt+qxYLMYGGXa7HdlstomkGwwGOBwOlEolGAyGjr+v0qZROkaiKCKXywEAs7iTnn+yQ+vt7WWJbHwyns1mg91ux8DAAOLxOCNxfGWWquebm5sQRZGl9vFklH5Hsdr03ZGeV41Gw7ZheHiYSX6oOZSq7SSPOHLkCC5cuMDOL4WYHDlypEkHruT0AQDJZBJOp5M1xJE7idfrZc2B0WhUdd83NjZYk6nL5WJOIPy1b7Vakcvl8M1vfhNXr15t0e9nMpkm/f5u3q8fRvW2nXSmE7lXF128luiS4i6a0K57+s0K0ug5HA709fUhmUyyB6jH44Hdbme2dVtbWy1TtqVSCVtbW7h06RIjzP39/S3yiXQ6jVu3bsHtdrfVHa+tralKLMhXmPxneaJCDxsiPbOzs4rTumNjYwiHw8xOjCdONK1L5I+2TSovIT1kJ8EkpHe0Wq0wmUxNjggmkwlWqxXVarXjJiFqOpOS607TA8lGr1qtIhgMytpk3bhxgy0bDAZlzytZaU1PT+PRRx+VnfYmSy5BEJos+wAwyz673c4kLD09PSxUgwg+nQO73d72+0rXrCiKmJyclJVZzM/PI5FIwGQywe12M/9iSkIUBAHJZBLHjh1DuVxucVYhS7yhoSHcvXtX1Uotm82ya0pKQin8o16vY21tDYIgwGazNVWTrVYrBEHA/Pw886B2u90tmlpRFBGPx9nA0mw2Y+/evYz8lkolLCwsYM+ePU3bKZWq0IxIsVhUdSeJRqOIx+NskCC378lkkrmoOBwOWK3WFjcQ2u4bN250pN/frfv1w6je0rX4Zrb97OKNjy4p7qIFSpW5NzN4XS2RY77Sk06nMTIyglAoxOQJ0gdfNpvF3bt3US6XmfZR2nRmtVpZYARZOMnptz0eD7LZrKrEIplMolwuswoZ39hFREqv12NxcVF1WvfOnTus8Uuqp6aGOLK24sMjeOJAiX25XK7ttWMymZDP5xEOh1lVjTS4xWIRy8vLCAaDbZuEqJpIkg9eD0vkjyKY1SC10ZOSaavVilgsBrfbDYvFgmKxyAYXJDmRWmlptVoMDAzA7/ez/QPkLbn4gZXFYoHNZoNer0cqlWKzFwQ+qXBwcFB1v4Bmq0Vq8uNBEhuSBfA2bwSKDLbZbE2VSSl5omQ1NSs1qujyThwEIoj5fB7b29tMWkIVf77qSg2PNLCU7hc15MkNLIHG9ywajWJpaakpSpsf8NH3hE/+U3InoaovT4il+06OEXwjrtSBhWZqSqWS7MCOBoCd6vc7AVVv8/k8zGYzmw3Z2tra1ert94vtZxdvbHRJcRddSKCkUSwWiygUCnA4HLI3dYvFwmQI7SzZAoEAYrGYoh5waGgIN27cUF0PNX2RVZcURCS2trZYl7vctC5NYytVZ/hGqtHR0RZ5idFoxODgIKuatYPD4UAmk2mphBEhLRQKyGQyzDVCCZS4p+SlSzISpWNI6MRGjz6Ht8DivZx5Cyy1qhtZ0bVbz/j4OC5evIhUKgWr1crON1X7p6enodVq21b4OrFaJH2rmgWa0WiE0WhUrUyGQqG2VmpA+yCQWq2GRCLRZCsHNFddc7kc244HGVgmEgmYzWY2+JNKVQwGA9t3tZkdWpZS8aSzDXQMO4m5tlgszNFCDiRnymQyD1zhpeptMplEvV5HIpFo6ksol8u7Vr39frf97OKNgS4p7qILNKoY7TSKRIzUQFWsdtKI/v5+jI2NqQZKzM7Oqq5Ho9GwipvcA0uj0aBcLjNPXCWCQXZzRH6lD2r6G2p86+vrQzweZ6TI5/OhUqmwymc7bG5usocjPcj5pi36/ebmpqyvMoH8lOU8Zqlpr1wuI5vNwuv1KmomO7XRI/9bNQssXqqiZDfWiZXW/v374XK5VJMKO9Fndmo353a7kc/nFS3Q+Iq10kyS2Wxua6VmtVqZi4nUjo+uA/J95mdjCHzVdXBwkGl5X+3AUhRFOBwOCILA9N9EimkA43a74fP5kEqlFAk4EdB4PN7U+EnbTHHvVqsV09PTOHPmjOKAZ3x8HJcuXWJEWgpe9/6g+tx0Os0CfaSDZooz39jY2JXq7fe77WcXbwx0SXEXXaA5wEJJo0gPc0EQFH1PSQ+aTqcVK0E09U0xwnIpc6IoMsslsq7itaCZTAZerxdbW1tsilkurYyIBxEaihDW6/WwWq3Mho6vSkkdM8iftqenB+l0Gj6fj9lv0UNbzgJKiYRSY5fb7WaDD6mmmKqBgLItFVV4gdYkNvp8erirVdT46h0dN/7ck33Y8PAwQqEQPB4Ptre32X4NDg6y/d/c3GxrN+bz+RAKhZg9F7+9/HF0u90YGxvD5cuXmZTi+PHjrJmS9Jk+n69lkBKPxzE3N4cnnniirdVif38/RFHE6uoqa+biY4Kpst2JTRjZv9G1zlfB6d9UKsXsyMjVhFxOKDqbr7pKNdVEFnt6etDX14fZ2Vmsra2x/R8eHsbU1FTTwFLJX9hisSAQCDDXGYpZJjJM+z4xMYGZmRlEIhFWWSa5j81mw9GjR3H58mUWFS91Z6lUKvB4POy8Asox13zSH+9QQd/NcrnMZEEPqs8tFousSkxezDSAIT15KpVCsVhUXEen+H63/ezijYEuKe6iC7RWMeQ0ihaLBcPDw1hZWWH6O6qqkPvB6OgoRkdH8cILL7yqqe/V1VU29UlWWnNzcy1EtaenB4ODg5ibm0O1WpV1DaBqMOmdSULBr8disbCKXDKZhF6vb6qsUWNYIBDAqVOn8M1vflPWtowq3PSgUyOhVJkluQEvxaBtp0aymZkZRVsqAIywU2WP3zeSVITDYSwvL6tW1Kanp/HlL38ZW1tbsu4LJ0+ehNfrxY0bNzA7O9t0baytrcHv9+PEiRO4du0ajEajokUe2Y1FIhHF80rHcX5+nhEnIoXz8/OYnp5GMBhELBaDIAi4dOlSS5MhvZ/JZDqy7gKA9fV1xGKxpvNRLpfR39/PtkntfPA2Yfl8nmmrefI4OTmJzc1NpFKplmnyYrHIiDjFeIdCoRanD6vVCp/PB7PZjHA4jJWVFcRiMXaMqBly//798Pv9WFlZUfUXnpiYwFe+8hWEQqGm61oQBPT29rLv4/j4OGZmZtg2kY7+2LFjsk4f/M9SqMWuA8CpU6dw9uxZNhAn9wmSahw9ehSJROKB9blUlSeNtfR7TYNtkmc9iEMFWR++EW3kuvj+QZcUd/F9BaWbeqdVjImJCVQqFUQikabqCXnvUkc4EYh2U9/kSUuSC765hT6bpAD0sKLlqfGHjzTmt7lWq7GKLt/tT39PTU1E+l588cUm4kCfabPZ8OSTTyKVSiGRSMjaliUSCSQSiY4Syx577DGW/gXcS4EDwBqWAoEAQqEQzp49q2hLNTEx0UKkeULC2+VR5V0p4ISkC3LHsVQqIZ1OY2FhAbFYTPa6isVijJxSNV46FU3EkAgsgBZPaPr9/Pw8zpw5g2KxyBLOyCf4zJkzOHHiBMLhMHM6Ie9iSl9cX19HqVRCqVRCMBiUDYEhshsIBDA/P88sy6RhKvF4HIlEAsvLy+x8kIaWvKmlNmFKn+X3+2G32xGPx2WPY61Wg9PphMPhwObmZtNMAL1fKBQYIT5z5gz7LtOxjsViOHPmDACgp6cH169fV/UXXllZYZVi/jxUq1U2oAKAhYUFpquXuliQraHBYGAzNvy9gd7nSapS7DodRwBsAEIVdLL2GxkZwXe+850H1udSUiPNysh9Fx0OB4xG4644VHw/23528cZAlxR38X2Ddjf1TqoYgUAATz/9NG7fvo21tTX20B8ZGWHhHYB6JYimvsPhMLNUI2JkNpvhcDiYjRYRKZIKUJBAsVjE2toaq/IQKSJQow9Vl6iiCqDp//V6HdlsFkeOHIHNZsOFCxdY1c1oNMLv9+PkyZMYHx/HZz7zGVXbspmZGTb1qzatSwli0oos/ztRFHHu3DlVW6qlpSU2xSsX0EHHkwiRUvU2EolgZWVF0RGhVqvhpZdeagp/kGpPgQaR9fl8LLlOzp2EZArkWJHP59l5JWeL2dlZrKysoFAosBREvvmrUCjgxo0brCmKb2qj66BcLiMejys2a9ExpmugnSXd+fPnkUqlmB81f7ypSY1swtp9ltLAgkAVSzWteCKRwPnz5yEIAnQ6XdMx0uv1EAQBFy5cwOjoqKq/cCgUwtWrV1Gr1ZjmnrdkEwQB586dgyAIqi4WZGun0Wjg8/lajmGhULhvGYKatR/5XD+oPpckLPyMC4GubdLlUxLhg/oLf7/afnbxxkCXFHfxfYFOTeM7rWLwelqlcAilSlA6ncbi4iJisRiL8qUqnyAIrGJpNBqZM4ScLRVZW5HuUNq0RKSYrKZom3gyp9PpUK1WMT8/j4MHDyoS+bW1NWZbJjdda7VamyKZ1aZ1yYPW5XIxQstP/ZvNZuRyuba2VORjKwiC4nmneOJIJMKqoKTJpeotVcyJUEkt6arVKrLZbNN+EGHjCRRN0fNNZDwxAhokOxQKydqNFQoFaLVaLCwsMBcTIjf0GTSNTQM7JS9muh4oVZGufbkQmOHh4baWdPzMCO0Tfx2R08eFCxfY7IjcZ3m9XuaHrQQ6NmSFJr2GdDodqzTTcecJHZG8SCTCJClK/sJLS0vI5XLsOuMHarz92dLSEvr7+1WlCjT4kjuG1BzYzh5QCp1OJ2u7tlv6XIoTp2uMr3Dzsw+3b99GqVTaNX9hpWbNLrr4XqNLirt40+N+TOPbVTF4ci330OcrJkpSDUEQEI1GWQOc1JKsWCwiHo8zwqTkGsGny5GtFoEILxEE0gYSyaDlqbGsXTwz39SWTqeZ6wMRB4vFglqthkwmwxwkaHqZJyJETmq1Gtxud1PnP/n3AkA4HG7ZJx5EMnjSJK2UA2CNfRRwIq26UgMjVdvlSA8RA/56kl5fPHQ6HRvw8Ntms9lYUh/9LHde6fiSvpuXiND1RueVBj/SfSeinclkkEwmVa/9hYWFtpZ0NLjiZQxSqUqtVsPS0hKzbpP7LJJ7tAPNwNCghpcOkQ6WjisA9jP/u2q1imKxqOovTE2eGo16fDmtR+n4dGJrR/Zuu4Hd0ufm83k2SCRJFoGOiyiKSCQSbQcFXX/hLt4M6JLiLt70uF/TeKUqxv2Qa9Kqykk1EokEi2WWq4KSDylpCNVsqYhsVqvVFu9gIpRUySMXDZ5g8PHMco1dXq8X09PTsNvtAMBCQHhiU6lUUCwWYTQamVtBOp1m1nZSuQLpPynsgbabyA7FVVNQiJItFVW27HY7CoVCC6GxWq1MU0kWdkSQiLBLZSVykPu9UiMVTUdXq1VZBwKLxYJqtaoa8sA3RMotQ/9KK9B8MxpBr9cjHA6rXvvRaJRdC0ajscXFhK5Ffn/p+uH3XxRFWYmB9LM6Af8ZcuuiCrG0Eg/ckw7RsVCTGJDmXi2+nAj1btra7QZ2Q5/LpyfKxU7TvYi+O3Lo+gt38WZClxR38bpHpx3PSsvdr2m80np4cg2gKQ7XZDIxcr20tITZ2VnFhCifz9ekoZUSLJ7cqFWeqAGLUtTktKDBYBCJRAK5XK6lEkp6QafTCa1Wq9rY9eyzz7IqHZE3AhFAk8mEiYkJrK+vY35+ntk6ETnIZrNIpVLYv38/isUiIpEIq8bRdpVKJUasCoUCstks+3spUTObzaxCSQMMvmmN/oZIIm2/tLGNqq9USZdKA/jGQ/4cyIGS6EimwS9PDWJEnOkc8RZg1KBH0hequPMkkW/iIymC3LY5nU4MDg5idXVVtXJP124ymWRyET7NrV6vw+PxMLsxOpbSzyPi1O6zeCgNLngPa3qPlqXf8wROqoWlwQ7ZCCrZGu7duxfhcJgRV/6z6PybTCa2nNJ67tfWbrcQCATg8Xhkbft4KNno8XaESvcQj8cDh8PR9Rfu4vsCXVLcxesanXY8qy13P6bx7dLIqHGN14VSFdTr9aJareLOnTuqCVFUtaXKjDS8AgAj47yVm1zlaWJiAufOnVO0fzt58iTS6TReeOEFppvlCbnBYMDJkydx6dIl1cauc+fOtRAYWg9Bq9U2yTCUqpwA4PV6EYlEGMnmt0mn08Hv92NgYADf/OY3WWc8D71ej0OHDuHq1auMxEkb9+jBTsRbEISWZSwWC3MOoVAReo8ne0NDQ0ilUkin04rXqt1uZ5pRqjDyx4t04G63G5ubm01T/nTODAYDBgcHWbR0LpdrWY/BYEAgEEBPTw9eeeWVloQ4IvaHDh1iXtSZTAbpdFq2cm8wGDA2NsYaG/nzQbKB4eFhpFIppt+WS6WjymImk0EqlWKSG7LXc7lcTdcx7Y8UOp2uKQREes5oAJHJZJiHsdz+G41GDA0N4c6dO8yvmLbHYDAgGAyy90OhUNP5IGi1DS/xoaEhdm9QstEDOrO1203IWeSdP3+eWeQpLcPb6LULE3n88ccRiUS6/sJdfF+gS4q7eN2i0+a4dstNT0931JRSLpcxMzOjmkZWrVaxsbEhm/5UKBRY4xc1yMklRGm1WrjdbiQSCdboxpPQWq2Gnp4ejIyMYG1tjXXOUxCCzWZjVZ5HHnkENputrf1bMBhs8mEFGsQyGAzCYrEwradaY5dGo4HH42GWY/w2W61W1Ot11kQ3MjLCSBgf4OB0OpHJZFAqlVi6mdQb1Wq1skhtNVBFVUqK6LwSOSIfabllqLnt0KFDTHvLu2BoNI0mwiNHjuD69etN2moeJNegijytg686UuU/Go3KEjCgQaaTySQmJiZYFVmOFPb29qJQKCiSLJrZcDqdsFgsmJ+fZwM//npMpVKYmJhggTR03PhrRK/Xs1kPORJK+2+z2WC1WrG0tNQisREEAYlEAiMjI+waUFqP0+lEIBBANpttWQ8dx0AgwLS+vC6crkfSuRsMBkbSeccM0q9TgAcFxkg/y2q1suXkquTAPWKfSCTa2trdr+WY2izZzMyMqmUhod0yPHlWuod4vd6H7i/c6QxhF13sJrqkuIvXJTrV7/p8vo4swCYmJlRv6hMTE8xySGk9VN0TBIEFEwBgU/epVAoGg4FpVZUaqTKZDI4fP45Lly4xcshXgS0WCwuLyGazKBQK8Hg8TVpY/kHUif2b3W7HyZMnZZPP7ty5w6rPSo1dFBpgNptht9tZUxLFH1PEMelpfT4fXC6XbDLgxsYGUqkUq9RKm/Y0mkaQCDkn0ECBl5XUajW88sorssSKB+lCCXLNeJTaFQwGWaoZ7RulmuVyOVYlpuYrXoYB3EsLpN/xumD6mSQraiACR8ebzjv9SyR/cXGRkWS57VlcXEQymWz6Tkm/Y0BDBhQKhWA2m+H1elsqqvl8Htvb26yKTzIkXtJAGl5KRBNFkTk60D5Xq1VUq1X4/X5mUyaValgsFvh8PpZeR42oUjkLnZt0Os2uGf4YUcLetWvXWNgGOVTQMSQ7tmw2ywZt5Eai1WrZsc/lclhdXYUoipicnGyRT8RiMdy+fZtJJ9QsC8fHxxUdQ6RQm7Xyer04f/68qmXhd7/7XWaXp7QM2ei1CxN52P7Cu+GJ3EUXrwZdUtzF6xKdNsdtbGx0tNzhw4dVb+oGg6Htera3twEAFouF+aPyD1mLxcKmSyklTroeapDr6+vDc889hwsXLrDqEt34T548iYmJCQBo2mZaRu5BJIoNS6xMJtNU6eSPIzXU0XroZ4qKVnJfoH+NRiOKxSKsVitrggPArOQsFgt6enqwsbGhmgxIx4j3BabKGk07UwWQiBAPImDkGyxt+OJ/xxNT6bqIbJHeu7+/n2lEqXnK6XSiVCphbW2N+UkDaKqmEzEngkeEUkrA2xF4HouLi03VdqnkIR6PM0cNOoYEOv/FYhFzc3MQBAHDw8NIJpMthN/j8bAEOtKW07VBL4vFwmLL6XxKq/t0jGOxGNN684MdIpjJZBJ79uxhXs7kVqLX6+F0OlmFMpvNYmRkpEWG4XA44HK5UK/X4ff7mW5cLq3O5/Ph2rVrqudjdXUVJpOJSWvo/NI1TYOMZDLJBqY86N6wtraGeDyuamuXSCSwsbGhGNjBgw/3ketL8Hq9zEqOrmt+VoKs5Oj/asvMzc3h4MGDihaShIflL9zpDGEXXbwW6JLiLl6X6LQ5LpfLddxEFwwGFW/qlGilth4iaX6/H1tbWyyMgSqe/f39jCx3Ys1ksVgwMjLCSKLRaMTw8DC8Xi/7m0AgAJ/Pp1jBAdQ1gyMjI8yZQk4H7fP52BQ5bZvcNpM+c2lpiXnoEjSaRnf+/v37MTQ0hLW1NVWpitfrZVIOqmQRqLIoR4ZpHVIQMZNrSOOnvOUqpbR9RMKlxyiVSsHr9TY1VWo0zSmC1FhGJF9uO3mHhk5QKpVY3LFctT0SiTRZpMkNCGi/qtUqSqUS03DzWldym6DznM/nm/SwdK3SNU7L0QCQb3QEGr63RqMRhUKhJb7barVCEAT4/X5ks9kmOQ/NNPT29mJoaAg3btxgriO8lSAdbyL6lCAoFylNYShEUvnjQgMiqmrTMZAGt1D1m5xRlL5DVD1Wu38UCgVZfbwUNLuj1peQTqc7spKj74LaMtQH0IlcQaN5bf2FO50hvB9P5Pv57K5co4suKe7idYlOm+Psdvt9JTsp3dQ7+TzyNY3FYqzSRsSgWq0iFovBZrN1ZM2Uz+cxOzuLQqGAnp4eVg2hlDteLy2tFK+urrJKcTtd4alTp1CtVrG+vq6qgyYpBTVW0TLkkhAIBJjWV47wkSWbVqtt6586ODiI27dvN00xE6j6zJMTNdDfSgMciFDzgQxKpJgqrWpacdoekg9ICTgvOSCiyZMQqszxFXY1UCOmUrWdCKMcyeYHAna7HUtLSwiHw02zAVTJXVlZgc/ng8FgaHLN4JcRBAFWq5U1ylH1miQJpBUndxGarZBGBmcyGUbqi8ViSxIhyULIeWJ5ebnpeqtWq4hGo8hms/D7/ejt7WXyqVgsxr7r1NR2+/btpnPEg35H3126TniZDl1P1BCr9h2i757a/YMaDtshnU6zQbBaXwJdC7xkho4jyXg0GnW7OZoter3IFe7XPnO38HrZ/y6+9+hM3NRFF68CoigilUohHA4jlUopPsDllqHEJqqIFIvFpgSyTCYDv9+PwcFBtpwc6aHlqDO6k89TWk9fXx8AMJJA1mVms5lVwQBgdHQUdrsdVqsV2WwW8Xgc2WwWNpuNVXo3NzdRKBRYA8vm5iabFi0UCpibm0MkEsGFCxewvb3NKlJWqxXb29u4cOECQqEQ0xVaLBZWLSVtZqVSwdWrV1EqlZi8gQgPLUPbvH//fvj9fvZ3VOmzWCwIBALYu3cvi55WOtc0VU36w2AwiO3tbdy5cwfb29vo7e3FyZMn0dPTA+BeRZMe4kQi5UiMEkimQpVlmk6n39GUvFzVGbhHpmkKncJDqHpNx0ir1TKyRi4kpJ+mn/V6PcxmM2vcosEFNSJaLJaOSBEA7Nu3T/XaDwaDbY+RVqtFX19fk+807TMARrTIdYCkJPxxpCl3m83GmlEHBgbgcDhYJPnAwAAqlQqCwWCTDR4vvaFzUK1WmdTAbDbD6XTC4XDA6XTCbDYjHo9jfn4e+XyezcQAzZV20tlTQ97p06cxMDAAl8uFgYEBnD59GoFAgBEr+lz+nPFhJPx+8mSYJ8nUS0ADFLo+KGZcr9fD5/OxBlvpNUbf9cHBwbbnvlgsMj9wueuRCC2dP7rW+RdV7w0GA9s3Or/8//V6Pbxer+p9plNv6fuB0n24kxlCmvnYLZBc42HufxevX3QrxV28Juhk5N1umcnJSYRCIVkbJHq/k8okNaR18nm0HjL15xvbiMwSUZJWganbfXBwEHfv3m2xeRIEAb29vRgYGMC1a9dQKBSwtLTUMl3d29uLaDQKQRBUpxFfeukl5HK5Jp9dAlX8crkcI2rttpmifOmBSUTQ5XIxBwI15HI5zM7O4tChQ1heXsbVq1ebJB2ZTAZmsxm9vb1Nf8dXFOk8K5FYKXp7e7G2tsasxPhmK4PBgKNHj+Ly5ctNMc1SUNXVYDAgHo+3XGvkLez1ehEOhxUt4vx+P4xGI5uC5YkcDTAcDgeKxaKsGwbBarVibGwMN27cwNzcXEszWiAQwMDAAK5evaroYkHbvri4yKqxShVqIrLkBkL6WiKzVqsVNpuNXdd3795t0hSvra2ht7cXExMT7DpV+ixRFLG+vt7UMMhf+6IoNrlXyEV4U8BJOp3GwsKCoiXZvn37GGlVgtFoZKRZDUQwE4mErHTIaDS2tUecnp7uqMmOD7HJZDIt9weqSJO3NLld8EReq9XC4/EAAEvPlIvM9nq9uHHjxkOVK+yWfeZu4Hsp1+ji9YkuKe5i19FJowSAjpZRuhHxv++kM7rT5o3x8XHMzMxge3u7KdXt6NGjsNlszISfrIt4uzHSnq6srDCNMl91qlarCIfDWFlZQSQSQTQalZ3S3tjYgMfjgcfjYUEf0n13Op1YXV1t0rZKp0eBe2l27baZ15ryCXK0XaRrVEO9Xkc4HEahUJCVdGSzWZw9exaPPvooWzdvX0YV7E4JMQDYbDb09vZie3ubERuqlvf29jISqoZSqcSmmGm7eNA5pP2QQ7VaZV7VsViM/R2PSqUCj8eDSqWCra0txe1xu91MqiPV5pK7SaVS6eh8KFmf8ajVasxdhKrbfNWU3D+Wl5dbBnpE+EOhENbW1pjFoNy20XEk3T2dJ/7aJ/0rDcyA1oAPaoJ7+eWXcfPmTUXpkCiKsNvtqqTYYrG01fnSd4zOp5QUk+3fwMAAnnvuOVVrs05AGm5yxZAeo2KxCJPJxCrs5IrDf38HBgYA3Itxlhs80cxSLBZTvc/splxht+wzd8sT+Xsl1+ji9YsuKe5iV9HJyHt2dhYA2o7O6QGoZIPEj+DVOqM7rQaIooiFhQUYjUaMjo42Ne4sLCzgwIED7POHhoaQzWaZ1tjhcKBcLqNUKuH69euo1WqwWq0A7k3RA42p0WvXrrFpVmnUMzWIpVIp9tCgarU0HYyIBRFrOv78FCoA1iw1PDzcsh4iWGtraxBFERMTE8jlcmy/7HY781jtBHq9vq1V1PXr19l2yTU38eEOdEz4faP/A43qu81mw/T0NBKJBDv3Xq8XiUQCq6urqtVUoEFoSSJBTVO8PjiXy7GXGra2tuByudjfSUNZaJ3xeByAvLVbrVZDPB7H7Ows4vE4TCYT7HY7W0+lUkE8HsfCwkJHZJc0vO1QqVRgMBjg8/la7MRyuVxTYxwFovCfU61WMTc3x/aRv/5oX0mqQNcn34hKhJ+OPf0tr52mZcn27fbt220tydoNiPL5fNvjyDtRqF0fVC1WszbrBCaTSZaA8z+TfaHH48HAwABisRi79il1L5lMshkSu93ekgpZKpWQSqXYbJHSfeZ+I5yVGtY6uQ93Yp+5m57I95t22sWbH11S3MWuopORN1mbUaOa3DJUSaOucmmzkdwIXqmJrpNt4uUKPT09TcvR+5ubm/D5fFhdXVW0gbJYLCgUCqxqJSU9JGmQNobx20OEgrrMM5mMrC0XVa6llTu+2cxgMKC/vx/pdBqBQKDpOFLlxePxMNeA9fV12SQyInLtEI/HGUGQEgF6kJN2l97nq1w0LUrHhh5GPHkiYmA0Ghlx1+v1TKvMn7e7d+92tN3UvJZOp2XtxihARalaKIqNIJBQKCRrJUbHMRKJNM0gSKOgtVotS0Wkv+OvEZPJhGw2q1pp5tFO8sJDus/8flKYCr3PbxMN5Ehby1vtSa9HPrZZaRv49dK/0oEREVWyelOyG2s3IOik6ZGW02g0snIG6We0szbrBERKNRpNy/dDFBuJmGSnR+mGBPpe22w2JqWQDmToWqMBgVri4f3IFdSkEZ3YXnZin7mbjW8PW67RxesfXVLcxa6ik5E3hRc86DKdjuA72SZyXmg3jTgyMsIS2Ww2G3MJoKqe0+lsirDliS+RBb5aJnVf4G22SK+p0+lgNptZBZW6/IeGhuB0OpukDbRO+r/L5cKePXtw9+5dxcrL0NAQLl26xB6K/EOeT+frBNQMxhMrHnq9HuVymVXDarVaU0AF6SPdbjfcbjcL6KBBBUktdDodDh06xNwKlM5ruyoxgchHrVZjEgKaJSB9Nj/dD7RWriuVCorFYgtppPVTJVQURbZtUrcDOjelUknxWuxkyp9AXrXtyCHNJsg5pphMJqb9VfKyJjJPnyV3vdAx0Gq1bIZCWk2nY0Pfa75BkH6WHn8luzF+n+Uqtfcj06FtpoEmkX8aKFEk+26gXC6zwVC1Wm36flADnc1mw8jIiOr32u/3486dO+zalB5r3lFldXVVNfGwE7lCO2nEvn37dsU+czdBDdbdCOsuCF1S3MWuolNrMwAPvEynI/hOtokeFmo37Ewmg3A4zIivIAjsoej1epk/Mf/w4m+yRByAewSBliXwDgG0LXIkhP4lxwN6YPPTq/SACwaDTdZV0sqLXq9nlU2phpE0muRfrEauNJpGDDTtJ69NJlCVtKenB8VikR1H3t6LIqyffPJJmEwmXLx4ke2fRtNobHrsscdw/Phxpl1WOq9ms5n5sKqB9htAU/MXefPyGm05uzgiWNRIRuePziFZd9EgqVwuN30m/S0Rq3YP/06n43nphRI0Gg1sNhurPCpVuGkb5cA3FaqhXq/D4/GgUCgwD2V+O+x2O2w2G2t45F1JaBki5qSvVbIbk+7jg4LkHmTRxl8f/D3rQWEymWCz2WCz2dgskdT+DkCLJZ30ey0IAhvgkfMGrzsmYq9Uve9EdsMv204asb6+zu6RD2KfuZvQaDQdN2p38f2BLinuYlfR6cgbAEKhkOIy/f39EEVRdRnpCF5Jy9bJNvn9fhZTrHTDpmV7enpYNUuqzyWvV77pS24K2Wq1Ip/PM5s0Xk4hCALsdjsL90in02xaX6/Xw+VysaQ1qrTS9tMydru9qZqoFgKSSCRYhZe68Xm3A14Py1cDCfyA4tFHH8XCwgIymUyT5pkng06nE0899RQuXbrUNsL62WefxRNPPIHnn38eiUQCXq8X73znO9k0Mp1XCoTgNd6ZTAZ79uxhhE4NVNUiok6gSh09KJUa3Gj/zWYzuwaows43q/n9fpZqyDdh8hVWaqKSqzqLosiuD9Ly8l7MdD6IlB89ehTz8/OqVVHy9iXrKbItI7KUy+UwOjrKkhepWivdbl4jreTlXKlU0Nvby2zipARcp9NhZGQEer0e4XAYVquVNd6RfKBarSIQCCAUCrHjSMdG+j3jLeakMzLAvbAYNfCfa7PZZDXFPOr1+gNpivn71eDgoGw0O937NBqNYkW1Xq/D6/UiGo3C7Xa3aMVTqRQ8Hg90Oh2Gh4cVB0Tk9KFGUDuRqGWzWdjtdqRSqY7u6Ur3893Gw46w7uL1jS4p7mJX0cnIe2pqCkBDx6Y2Ou9kGbpJ3o/dmty6jh07hvn5eVXiTDd2qppKdc40JU5WSXLTqfQQ27dvH2ZmZpDP5xlpIBJhMBhw+PBhRhySySQEQWAPtHq9zvyEzWYzisUi4vE4I0bk42m1WmG321Eul1VDQFKpFNsGqQ6TKtpUxctkMi0kgmQiXq8Xoiji1KlTOHPmjOwUv8FgwKlTp5hncbsIa2la3/b2NlZXV3Hq1ClMT09jcnISq6uruHz5sqy1nd/vZ4RXCVT5ldPf1mo15PN52O12BAIBbG1tKVbQenp6WCWMGrNoCrxUKrEBhsvlYvssBTX7BQIBrK6uysoZRFHE2NgYUqkU7t692+JgQgRwz549rPKaSqUU999ms8Hr9WJ2drZFKpPP55saGRcWFmS3W6NpNLvGYrGmGRHpvgFg14nSgGhqagrBYBBf//rXmfwDaB4QHD58mLle8LMv/EwJ9QZsbm4CkJdLBAIBZDIZ5lAh/d4D95r36vW6rGUf/z2bn59n7hO8e839uE/QPXR1dRVXrlxpuq7J/o6/9ylVVLVaLaanp3HmzBlFm7iDBw+yqGslyY8gCG1lap02rFEK4YPaZ+42HlaEdRevf3RJcRe7jk5H3ru1TKd2aydPnsTs7Cy2t7dZRbGvrw9TU1OMCKsR5/379+P69ettZR+kL6SmFQLfvDI6OorV1dWmqFugUbULBoPYs2cP1tfXWRIZnzInCAKWlpaYL24+n2eEmq+W0UOZ/IOVjk9vby+rOvJ/D9yLeaYp9mq1qrpf9DChypqUYNP7dJ2oPYjapfUBYE2AlM5FxIh03rlcDiaTiXXeS0E63nYa3WQyidHR0RZnDIJOp4PFYmGDE17/TJ8jio3gCWqSlBJQrVbL4oknJydRqVQQjUZRLBbZfmm1WvT39+PEiRMAGlIP3o4OaAw8+vr68Nxzz7GKtRpyuRwWFxebBl4Eami7ffs29u7di6WlJVnCq9Pp0Nvbyxoy5a4jGiQ4nU7s27ev5btISXT0vfb5fIxs8YMdn8/HjpPNZmMDOTrWdK1aLBbs378fyWQShUKhZZutViv27duH69evw+VysSopv092u519vpxFHB0jnU6Hzc1NnDt3jvUb0PcsGo3izJkzANAxMU4kEqrXdSKRYMdJraJKn6dkExcMBrG4uMgkP3zvAkl+3G53W5lapw1r7SQf92Ofudt4GHKNLl7/6JLiLl4TdDLy3o1lOtGykXVbJ9usRsL9fj+2trbaSkNWVlag0WjQ19eHQqHAKh1Wq5V1r29sbMBut+PkyZOy06MbGxtIp9MtllNk4VYoFJDP51nzFj04ePJA0/0bGxuqx4eqMSSfoP2hZWm6mEhNf38/04OSppnkHXa7HV/+8peh0WgwMDCAfD7PlrPZbEin05iZmcH4+Dh72Ms9iGq1Wltrt3PnzsHtdqNWq6Gnp6dFqpFOp7G0tMRIi8ViYdpk0lyXy+WOwhvK5TLC4TDsdjtEUWRyE94ZJR6PI5/Ps3VL5QPkh0wpd319fS0SnEKhgFwux3TgaoM4APjBH/xB3Lx5EwsLC+wa2r9/Pw4ePIhAIIDFxcWOLOlWV1cBAA6Ho2W7BUHA4uIiEokES3Ck40aDClEUEQ6H2Tp5XTovsQCgmOrH65Ln5uZgMBhw/PhxWYvA1dVVFlwzMDDQcj1SIl4qlUJvby8qlQpLidPpdPB4PKwKSq4xTqeTRU9T4iPploGGrISq3NLrrFKp4ObNmyiVSswxh75nFKHNX/dqqNfrmJmZUb2uaV3xeLxtRVXNJo6ufUEQmrab7jOpVKpJx6yE+2lYU5N83M/9vFvF7eK1QJcUd/GaoZOR94Mu06n5+vLyMm7fvs0qH0QiQ6EQMpkMqz60I+HtZBiUemcwGJBMJlskDUSgQqEQ3G43dDqdrJUYpbRRrKm0+Y2kGtSkRj6zNM1LDUjlcpl9ltLxIS0puUHwDgM0FU+fbbFYWHiA1WplqWSkjZ6fn0cikWDTpXzjIZHuRCKBjY0NDA8PK1a55ubm2lq7kYbY6XQ22UvRMlarlel7qXJP54N0pnJNc0qgBzU1KPGer9VqlZ1v2l5+u6XkkP7OZrM1LcOj0yldnU7HZiekx+vWrVsd7RtJF4gI8zAYDEyi43K5mJ6ejh/p6XO5HNORS3XO/KCmUqmwSqDcd/HAgQPsO037xoPkSXyohtxxrNfrSCaTrAegv7+/pQeA4qJTqRSriJJDBp1z+j1d67QMf+1XKhVmgyZ3vVqt1qbrXg0bGxtIJBJsXXLXdSKRwM2bN7G2ttZRRVXJJi6TyTRFvsslXlKyntp9+n4b1pTu6d0wjS6+1+iS4i7e0OhEy5bJZDA/P49CocCM7clL2O/3twSBqJHwdtVkaVOPVD6g1WpZ57raNpN2lBpdpJ3jFouFaSFpupICTqjyBYC9387+jmzHpHHR9Hn02UNDQ4jH4y3JeD6fD4IgsEo4NSZK07ho33O5nKpukLTLatZu/NR6Op1uqV6azWZmscZPrxPod/fTBKUGOr90jqUyBHqPzg1NZfNaYHIekOrRNdkstBsbgNEIVKtAuYxUJIK7169DzGYxotNBJ4oQazVUi0Vs6PUwjY6i7/ZtYHMTVx95BKLMfrqSSexfWADQqMZpdDqIGg1EgC1fA1CsVKDV62Gx21GqVlGu11HXarE2NgbB4YDFYmGBNYIgQBQE+DMZ1HU61HQ6lEQRGpMJbrcbizuD00AwKFsJnJ+fZ4M80hpLAyVIT09yHjkbObL/U+sByGazOHjwIC5cuIBwONyi77fZbDh06BBWV1dVr31KsOQdZfjBD9nddWKlx8s4qArNzwBZLBZUq1UW4PIgFVXSurdLvOzE+nI3Gta6YRpdfK/RJcVdvKHRiZaNpu9MJhPW19dlDervp/qgVsFLJpOsKUwpHaxYLMJms6luMz3kgcbUpFwaFU1/klcyP/1MDXtkN9fuswwGA1uPlFzS8TUajTAYDIrJeHq9Hg6Hg0kR+OYdeqDTw4yvFspVuXw+X1trNyIwqVSqichT5ZykCqVSiZF7aZgKnZ9OQP7AdDx5oiKKIqxWKwylEjSxGPS5HPT5PEyCAHOpBGu5DHO5DGu9DqdGA50goJ5KQScIMJTLMFQqqFos+PZv/ibMZjNMJlPToGH0y1/GI3/2Z03b4wZwus02P7bz7/WjR1GTIcU9kQje/dWvdrT/cvjDf/EvkNLpmF+02+1GIBBA7ZVX8KH/9t9U/7au00E0GFDX6xv/Ggyo6fWoarW48Eu/hMxOmAr/fXVpNDj9hS9gSKtFTa8HLBYI9TqKooiKToe60QidzQajy4UygJrBAGs4DJ3NhrrRiGJvL2o7VWXSufr9/ib9Mln/6fV6+Hw++Hw+NvujdO3T94QGsNLrQ6/XM41yO9Ay6XQaAFoGlvSdFgShRaoA3F9Fle6faomX1Wq14/CKB21Y64ZpdPG9RpcUd/GGRidaNnpApFIpdoPnm0mIpN5P9aGd7IMeiHLpYKRpTKfTrHLNR1hnMhkMDw+jXq8jFouxhyqB0vTcbjeL4CWdKt+QQ/vl9XpZ8pXc8eE/y+VyyWoY/X4/hoeHEQ6HFZPx+vr60NfXxyp0cs1WJKEIhUKqukGHwwGbzcaqTdKqa7lchsPhYOdQeqzJOsxisTBNsZLOF7hnycbDUC7DlsvBns/DVSphj8OBzNISSgYDrj7xBJvaJs/h0dFRHPzzP8f+L32po2tIiqLVikgkgomJCZTLZczMzLBBg8XjeVXrJGgUHDMeFJWdqihVuYeGhhCJRDA2Otr2b7W1GlCrQU7AYtBoZAMlKqEQ9nzzm696e2/++q8j9tRTTdfs5uYmjFot/tlv/maDlBuNqJtMgNmMklYLvcOBJ00mFOp1GFwu1E0m1Mzmxr8mE9LlMnxPP43rTifC4XDLd1GbSKCg1cI3OIjBwcG22zgwMMB087yenq7xQqHAGvketKIqvX8qfa/vJ7ziQRrWumEaXXyv0SXFXbxm6MRnshNPT7VleC1bJBJpae6x2WwYHx/H6uoqKpVKU2wuVW+y2SxEUWQVyVqthrm5OUaoJycnW7SnSvtGaVT5fJ41CPFVV5oeHxkZwc2bNzE3N9fiQNDT08Nsqc6cOYNoNNpSKbbb7Th27BjOnTuneg60Wi0mJiYwOzuLcDjc0pBkt9ubPiuZTDI9qEajYfZvJ0+ehNfrRTabxfb2doumlI5TtVqF1+tFLBZjumZ+XXq9Hk6nE/F4XDU9MJFI4NixYzh//nxT6AURa/LgvXr1Klu3NO6arhGSKPABJ85MBr5EAq5cDrZ0Gs5sFqZEAo5sFrZ8HvZcDiaFhLJoIIALO+4PtM00rS0+AHk17BAYvtmIGi9j9xHXLAclgciDNivVJdrhoaEh5HI5JDvwhlaDZqcSWK1Wm75D3p2mt1eLxc1NbM/Nwe12w263Y2BgANeuXYPHYoFxpzL7apA5dAgbo6OIRCJNKYWiKOKXfvu3YS4WIWo0wL/4F4DdDtjtEO12FHQ6lI1GaJ1OOAYGoHW5UDEacXplBfFKBev9/YgPDLBZDQrbcDgcADoPN1K6X3Vy/+S1wJ3c0x9kmfvVJj9sdLJvD3M9Xew+uqS4i9cEnfhMduLp2ckygUAAPT09TX62pIk7deoUfD4fgM4SmqS+uFqtFi+88ALzxW23b0R6E4kEkslky/o9Hg96enrYlDvQSkzo9xMTE3j++edZ9ztwTxpgNpuxd+9eXLx4kVV3pNZVVGH2er0AgLt377ZYTh07dow1GF6/fh2zs7MtOuiRkZEmK6mlpSXF9VAgQLFYRCwWa1kXkRGSdyhpRrPZLCYnJxGJRDA7O9uic967dy8GBwdx5coVJssQRREQRdjyebiTSZj0eoT37WNyB16ne+rsWTx28WLb60EOVgU/442NDfgVKnedQFerQdxp2CK9+NLSUkOHnbh3LdV0OtR0elS1OlS1OtS0OtQ09/6ta7Soa/UQdXrYnU7ojSZkc49iI5GFKDZfa+6aE4kjDR/fdCqFclGABiI0oggNRGjFOswmIyxGPQqZNDT1OrRiDVqxDq1YRyLngQALDAagXtcgnxeRyxVRXF171ccBACo7gSfSa8gs8526HySLRYTDYYTDYYyNjTGbwcjW1gOtV7dDUv1+P8LhcNMAzUAphaII5HKNFwANANvOi4cZ92QvL7ztbdjinHOoMdfhcOAHfu3XoE8kILrdqDqdqNrtqDidqDgcSGm1sAwNwWWxIKnTYSGZRKhWQ0mvb7kXt7t/8taX7e7pu7HM6zVMY7e8kx+2B3MX94cuKe5i19GJz2QikcCZM2dUPT0BsGVMJhPrAJf6fs7Pz+PixYssGIFvuLm4Q3yoeqvUlGOz2XD58mVcunRJ1Rd3z549qvs2PT2NWCwmS4iBht+txWLB5uYmRFHE5ORki3yCGv8+//nPK4YupFIpfOYzn2GuEtVqFRaLpalpi2zQXnrpJVy7dq3FSaJWq+Hq1auwWq0AGgMQXlpAUoP5+Xn8/d//PQDg6tWrqut55plnmsJEpNOf8XgcNpuNJc6l02lks1k24HE4HHA6ndDr9Zibm8PS0lKTblej0UAUBKTPn0fy5k0cunQJrlgMnkQC7lQK7lQKhh1N82Z/P/78l36Jaat5ZHdIzKuBRRBg1OlYIxpVqaPRGDYF4ASAmkYLwWhB3mBDXm9DXmdDTu9AUe9ERrQhLVqRFZ3IiA7kRAfyog3ZugNf++13olK3oFYzoFzWolrVoVrVAzXgw/ifqMAAsaZtdL91AirY3pZ/+38B+Of4F6/6WOBPmn/89V8HgH0Afgy/qP0fMOuKsOgFmHVFWPUCXBYRZm0B2loGFq0Aq16AVSfAohVg0giwaIvw2oBLXzuEDKowGIZgMFRgNFZgMJSRqdhw9vAzcBiBPo8N2eg2NGUB+loVumoV+moV+koFxnoddoMBtXweYrEIfbXa0G1zEpvFxUUmDyqvPRiJT5ZKSCaTSCQS0GgaftxarRYol6HrULMuh4rF0iRpqNfriEaj0Gq1cIbD0MdiwPa26jo8AKZ3/l8zm1F2OnHnuedw4YMfZPfiixcvspk0eyqFssGAfLmMixcvwuVywev1tr2nA9iVZTpxASI8rIrrbnknf688mLvoHF1S3MWuohOfydnZWaysrKh6el64cAGi2Eiw0ul0zE6LdHWCIGBmZgZjY2OYmZlh66LGKbIZSqVSuHnzJlwuF2w2GzKZTEuHtdPpRL1ex40bN5gvLu2LfqeyUigU2FS+movFrVu3EAqFVI9RKBSCy+WCy+Vq8rklOJ1ObG5uNvm+yoEkCMFgEKlUSjaitVar4datW8yFQarNpYY3jUbDiLR0CrVareLChQsAoLqeixcv4oknnkAoFFJsXqvX60gkEvD7/Zifn28J1RAEAfF4HJOTk7h69Sq8q6sY296GNxaDJxKBJxqFI5XqSCPr3tGQy3kQZ+6DFJd1BqRNLqT0biT0XiS0fnzxr9+FRNELQTCjWDTt/GuGvl6BAb+DvGgDShpgF5vka2+o27UGlboJlboJ2Qqn/0w9+Jr/G/5V8ydp6jCZyjCbyzCZyjAayzCZinC5gHo9BZOpBLO5BJNRgDlahDlXgtlchNlcRDIZhdVahsVkwac/+lEYazVGrHXlMgzVKoy1Gvb09aGcTMKu00FbLkNXLEJbLkNbLKKWy2GjWmWzWWRtBwCmNh7R7VC325vkEdRPkEmnoctk7nt9umIRlmIRzh03jNu3b7PkRJpxef8f/zGCW1uoGI3IORwo/cEfoD4wgHGLBdrhYZR6elAKBFDq6YHR60U0kcDs7CwAtL3vt1umUxcg4OFVXHfLO7nrwfzGwBvpLtvFGwCd+Eyurq6yiqGSpyfpaElDypM16uyORqO4fPky88UlOzBeQkBT8X6/H8ViEUNDQ7KVWQrEoKqiVB6g1+uRzWaxtLQEr9er6GIxOzvb1s2Aqj1KgSJGoxHr6+sdHe9oNAqPgo6VfGPJck3uWNP7AFjFWQrSSgNQXU+pVMLzzz/PNMBSuQo96PL5PMLhcKMJqFaDu1xG0eNhTWvVahXhcBj5fB4nZ2dx6lvf6uhYSGErFGAolVDhSEW5rEcm48RCfhx5gxVRox8RfRDbmj5siIPYqA1irTyMtfIwwggihF5kaw6gIHlIxeQ/swwTyuh2xj9MiKIWxWJjUPJqodHUYTYXYbEI7F96Wa0F9BYNGJ1ywOsVYbHkYbMV4PXW4XI1iGQkEkF1a6vlu1GyWPDHv/ZrqOdyMJbLOLZvH+YvX4a5UoGhVIKhWISxVIJxx53EWCrBIAgwVyowFYvI2O3MDYMGqAaDARAEaBQ0752g4nYzP/RIJMKcLfR6PWw78g5DuQxPPA7E48DcHIIy66nrdCj5fMh6vSj4/XC+5S1Ive1tkmPbuO9v71S01TzTO3UBepgV193yTu56ML8x0CXFXewqOvGZJOKjtgwlpOn1etbJDdxraiqXyyjtTFnyvrg0rQ+gyRe3p6cHsVgMsViMWYWVSiXWvGEymViVmey6CETORVFEPp9HpVJRdLGQi5OVA9k2kScxr6ml49MJSN5BlljUkBOPx2E2m+Hz+VS9ePlwACXNtVwIg9J6qFrGSx5okGItFODb2EBPOIyBeBz+UAi+UAh5hwN/8m//bWMZqxWiKLL1pIJyj+IOjotGh7A5iPNfOYW54iQyGScyGScEwUp7hX+D3wYerJD3PYcWNRhQgQ41GFCGQVthL72mCq1GhBY1xLU+lLRmNL4anM5brGNYbEgHaqIOdehQE7WoQ4e6qEFN1KNcN6BcN6Iq6lGuG1GBEXVo0VDFvjkgiloIgpW7PjqD0ViB212BxZKH2ZyBwyHAZsvD6SzC4RBgt+dhtWbgcgmw+PJYGxjA0o4kSnqfoSZQcmjxeDyNcB4Zj3Ihk8Hqpz6FEacTSCSAZLLxbyLRILHxOKqhEKrhMIy5XMPpg0PF7Wb3HiLDBoMBWlGEtQMvZYK2VoMlEoFlp7FyZWhIdjLAaDRi/POfh7ZWg2FyEsXBQQgDA6hySXmdOmY87Irrbnkndz2Y3xjokuIudhWd+Ezy3rdKy/CuBXKjaqqcUOIbVWz5BhedTsd+39fXB4/Hg5mZGWxvbzc17R09erTJ55dPdAPA/HKpUgNA0cVCWiWWamoJLpcLkUiETYfyFWdK6JLqYOVgMBig0+lQqVSaJCYGgwE2m60p3UuO0Hbq0csvr7QejUbTSBYTRTjTafSFQujd2kJwexu929twKUz3upJJ+KxWiGZzUzqcRqNBRKVikjS6sW4cwrJmD+ar+3G7dAB36+NYwSi2xT7UBR1wQ+mvXxtCp0cFXiTgQBZefQJeQ+Pl0qXg1GXh0GZh0+ZgRx42TQ42FGBCERaxCJNYwqeO/SwyLhf0+ir3qqEvu4l/9Tf/Fbp6Dbp6Ddp6vfGCZCBT33lJ8JkPfQhLExMt16OuWMT/7//9f1/Vvla1Onz5HT+MC0dOoV7XoVrVoF7XoVbToVrV4Zf+7r/DUKmgojWgqDOjpDHt/GtGSWdFSWdDQWNDDjbsHBGkazakag6sYRBb4gAqFSPKZQPKZSMqlca/5bIRrxdCXi4bEIkYAFgBqFcmtdo6PJ4KjMZTsNtzcLnycDrzcDqzcDhycDhysFqTsFqzbT3KNUYjNM89B6ik4+VSKZw9exZWiwW2ahWGVAqGVArGVAqZnV4GfkZHo9HAnM9D+wAa6LzC7Fe5XMbE2bOwxZqnWCoOB4SBAQj9/cj29cERCMDq9wMWC6AQLf2wK6675Z3c9WB+Y6BLirvYVXTiMzkyMgJRFJkHr7RaUigU4PF4kEgkUK1Wm1K/pNOIfX19LM6YHhoEIstmsxmVSgULCwswGo0YHR1lFdVisYiFhQXs37+fETK5BjHSF1OMrTS1ivbBbDZDEISmv5XDwYMHcfHiRdZoSMEZ8XgcJpMJ09PT+PrXv972eBuNRqRSKRbiwR+fdDoNs9nMqvP8dtKxpsFBrda+c4uW45vs6F93KIRjc3N49FvfwntmZmC7Dwsxzc7fJzlv23LZjo0NJ2ZXRnHC/h3c1ezDrepBXC8ewZw4ibvYh1zZAbz6GWTl7UEdXiQQQBQ9iGDAtIk+Yxh9liTctRB8mhj+6MA/h9FRh9kswGQqwGIpYWTEicArX8Y/+tud7rPqzktQ+7RmXN3zCMK9vfe2hbSVsRTsxQewZdupQErRech1K/T1GvSGGuz2MttOflA6HlmA+VVWvV586in8/Q/8AAC02Pq9+8tfhj2TR95oR85gR87oQkrnQkrnRkrnQRxeROteRMQgMhUnikUTSiUTikUz+5deorg7aYadoF7XIh43AehTXU6rrcPlKsDpzMDvL8HrFeD15uHz5eDx5KDTbWHvXm9bz2P+XmwMBFC12yHs/I0oishEowgGg4jH4yxBULDb8Yn/8l9gy2ZhS6dhjEbhyucxYjBAHw7DlcnAFIvBFI1CKzObFdtxlpHeP3OJBKzxeMvyhmwWhrk5OHl5xu/+buPf3l5g/35gchL4yZ8Edq6Hh11x3S3v5K4H8xsDXVLcxavCg/hM8r64qVQKVquVLUPuEMePH8f169exvb2NQqHQcgPR6/UIBALQ7lg3kSUX/+Dnq6Z37txh020kTzCZTHA4HIjFYlhcXGT+ulIiTkTQ6XTCYrE0uSsQaOqfomez2azisXO73YjH43A6najVahAEAYIgNHxYvV7odDokk0nZQAkeer2epbmRMwdtK6VRRaNRHDx4ENevX2dSEv746HQ6jIyMYGlpqe05Hx0dxfLysuw29cTjePKFF9quQwkr36jiC4ajiMV6EAr5kMncS/76S3z4Va9XCQcNN/Cjhi9g0LCBPs02+hCBrxqFt5KAo5yFlh/MlHZe3Clde3wCuZ3ZAoPBgP7+fjzyyF5c3HywCqZ+59jSAIQGYNUHjKJ+rcI7qjuyGaPRCKfTyQJyAEDfoQRIDjqvt8mXGrg3wNy7sgKfDMGSQ9loRN5qRd5mQ95mw51D+3F5x2NaFAGdzoVq1YFotIpCwQRBsKBYtKJQMEMQLBAEK6pVJ/J5M7LZxvv5vAX1+oMMJ9RRr2uRTNqRTNqxuiq/jMEg4td+TYPRUWBkRERvbxF9fWWMjWlx6JAdg4Ma6HSdef5Go1HmYU49A4LDgbDVCk1/P3p7ezHy1FO4MTuLXC7XGFjX6zBnMjBHo/Dm85i0WKDd2EBlfBwJmc/y53L3fw2GQo3Xd74DHDjASLG04up+5RWUAgEUBwYg7vRIdOLR3Cl2yzv59e7B3EUDXVLcxX1jN3wmqQmCPIgLhQJ0Oh0CgQCmp6exf/9+RCIRxGIxpvUlkktEuLe3l1kf2Ww25PP5Ji0uyRGAhlODw+FQbJDLZDLweDywWCzY3t5uatgzGo3o7e2FxWJBqVRiumEpKaZQCb/fj3w+L1uZ02q18Hg8yGQy6OnpkdUUl0olpNNp9PT0YHNzU/E8uN1upFIp1rwm3R6SVYyNjSGTyWBxcbGlcj06Ooq9e/dieXlZtqptLJUwuL6O0dVVHPz85/GFj3wEmzK66cKhQ4rbyaOsM2DNPoY542GcLxzBhfxJXMcRRC6+Ou0wQYM6ehHCCFaxR7OMSfMcBg3r+O/j/wwuVxoORwpOZwZOZxpOZxZHF6/i/Z/97Kv+PGe1iuKOM0kgEMCJEyca4R0PWOUx7AzIDAZDc3S1/sFu1a/VY7a+MzNDMxVutxvJZBK1ahX6DmYflGDwemEymZo8ugmW+wjwMJbLMJbL8OzoeJNcU6rDYcfgYKNqm8lk8OTv/jZ80SiyDgeyDgdyLhcwOYhSMIgNjQalnh4k6nVUqjUIghGCYEOx6ES16kY2a8bg4HFsbFSwsJBGOm1ELmdFLmdHoWBt8Yd+UFQqGiwvA8vLQOPsWnZeDRgMIkZHNdi7N4De3h+A1boNhyOCnp40BgbKGBho3Iv9fj+2trZQLBaRSqVYcYEGe263G2NjY9i7dy/i8TiWlpaavYwdDpx629tg3/FwP8o9G/j7/oF9+4Bf+iVgcRHVO3egXVtr0TmrYnKS/bep4urz4fD/8/9AVyqhrtejMDSERF8f6lNTcIkiEgMDuCUIiCWTD+RQsVveya9XD+Yu7qFLiru4L3Ta9duJz+TExATGx8dl0+qIoBkMBkZ8+SlUIpxGoxEajYY9PKWj7FKpBIvFgnK5jHA4rNggZ7VaWWPGo48+ytwRTCYTgsEgkskkgsEgS8bz+XxsO0iWQJ7C8Xhc1ZIsFothYGBAdfpPo9EgkUiongvy95UjsySh0Ol0WFxcxObmZotWWhRFbG5usmhnADAVixhZXW28VlbQt73dVDX1Ly4iNznJKngsClqjQdHrhZnb5rzRiju2CVzTHMN3C6fxcvFxzNcmUEu/utuOBnUMYw0TmMdB4ywOmG5jn2YBI9UVDBQ3YazvVLBFNCQLApD54T0o7gw8eOTs9pb13w/2+XzwTU2x8JGFhQWMjY2hYr3XqFXXaFAymVA2GhuvnXjgsk6Hkl6PisHAXlW9HlWDASm3W1bOIlgalmE1rRZ1nQ46sxn7pqawvLGBmkaDYrWKGgCNXg+D2QxRq8XY/v14+pln8Hu///tQav+sGAz4rY99DEcOH8bS4iK0AOrVKsRaDVoAeo0GqNcxNjKCxfl5FHM5aOp16HZeqZ1BAOnABwYGGtetKOIrP/RDDe/gWq3hHVytwm+zoZ7LoZzJwFguw1CpMOJKL1OlgtxOBZqiudm1BsAk3IceRYK8w8EkROVymQ1iNRoNhvJ52KNR9ESjin9fNhqRdbuR9nqRcbuR8niQ9XgQHerH0Q94sb29jXw+3yQvqlaBatWDwcETKBbd+M53FrC6WkKh4Mb2tgaJhAmplBWplAW12u7IOSoVDRYWgIUFoEGW9+68GhgYELFvnwbj44DHM4F0OgOPx4RAIAudrnHvInlVT08P7ty5o+oF73K5MDExoX7fP34cQIN0iJUKMrduoTY/D9PaGiwbG9AsLAB37jSYvvT+yZFivuJamJ2Fbue7ra1WYV9ehn15GXj5ZeBTn4IXwGmDAfmRERT27EFmeBjhQADX7t7F0fe8B4Geno6PaafeyQ9rPV28NuiS4i46xv12/bbzmQQaldNhmWaRdDoNQRAwPDzMvIX5pCWn0wlBEFgELD/VzIN+XywWUa/XVWOeH3/8cVy+fBkLCwuM1AqCgEwmg0AggMHBQWxtbTW6vwWB+SqTBMJisTBtmBqoIY/CK+Qq16VSqUmbLIdONHO1Wg137txh/stSTXEpk0Hhq1/FM7duYe/SEvq3tpqlAxL0rawgefJk0w28WgXm5034WvA90Hpc+ErkEfx99mkslfcC5Vd/o9fpanin5wX809onsK+2gMH8Moy1HRFxGR3piT2ZDNZkqredkuKSyYS81QrBaoWxtxcFsxk6vx/G/n44dxqByB5wbW0NSZMJH//X/xplkwkVnQ7gXFOAxoCH7K+UYNixHeRR1+mwsmcP+1mj0cAZDCJZqbAZBjNHVKrVKqoOB+a2t5HXqUz1azQQAEQLBVR2BovmnYbHWq2GYrGIWq2GmMWCkMWCukoTULFYZDHhWqMRV6enuY9p7L/b7UaMa7ZSakR12O3Q7sh9aJAoiiKqpRJeeM97YC2VoMtmYRYEWAQB1kKh6V+la7jgdLLvQL1eRzKZxBNPPIFMJgOjChkmGMtl+CIR+CQx1ldPnULoB34AhUIBPT09TftlvXsXsUIIhiE9nnnXW/HYY56dwsJs0xR6KpVBpeJBb++juHhxG4uLJRSLPkQiZkQiJkSjjVe1+uDEeXNTg81N4NvfBoAeAO8BAGi1NXi9KQQCCfT1pTAyUoBenwcw1+IrD4B5wc/MzGB8fJwNktvd9zUGA5zHjgHHjrW+WSoBS0vA/HzjtbAADA01LUIV1/BthVQaDvpKBa67d+G6exd9ACibs2q3Q/w//wead7yj7TrYdnewbw9zPV3sPrqkuIuO8TC7funB7vP54Ha7WyQGlI5GlkK89ReBHrJUEWoX8yz9e+n+VXYIyODgIOLxONLpNGtUc7lc8Pl8WOVEgPQgl/s5l8shEomw/eEr16Sz3i0UCgWYzebGw0wU4YlEMDo7i9G5OfQvLcFwHwEDg6uruFo24O7dAO7cCeLOnSCWlvwolw0APnjf29aLbRzHK7gUOIXevgT6+uIIBCLwercxNiai/9ZVvP1PvnLf6yVYo1HUHY6Wc5Gz27G0Zw9yDgdyNhtydjtydjsKDgcKNlvjZbWiutNYqdFoMDg4iIGBgZbucLr2I5EIqvU6KjZb4zqSXG+8e4l0e/h1dWLHJ4oiQqEQRkZGFFMBBUHA3bt3m9atdD2mUikMDw8jnU7LhsCEw+GO/Lez2SzcbjcqlQqKxSI7dmazGXq9Hul0uunzpftO21PcIWBkq8ikTBYL7r7znUjuTIfL7pcowlQswprPw1kswlEswpzNwprNYrO/n61Lp9Oxat3JQ4dg7NBOUQ55v59FnEv3a/LjH4dzfh51nQ71kREEJibw7OAgtmw2hFwupIJBVIJBJmkwGLTI5e7g0UetMJmaB9j1OhAKiVhaqmF724CtLSPicTtSKRcSCQdiMTtKpVcfNV6v6xCL+RCL+bCTtYE/+zMAOA6PJ4fBwRQGBlIYGEhicDCJ/v40rFYrEokENjY2ZAsc9w2TCZiaarxUEAgE4B8aQr2nB1rJIKUT6HM5ZOx2yHpcpNPAf/yPwOHDwKFDDU2z+dX7YHfxxkGXFHfRMR5m16+0mUKa+lYqlaDX65HL5VCtVpnWWM73k1LYSHvLB4GQnMJqtbIKsVL08traGnQ6HXK5XEuFl7aZJw5ydnL08KZKoJQY0c+duEF0CmpMBBqE4Sc/8QlY7sMdoqrVYcm7FzPmk/hG8gfxl//4J17FNK+IIazjlP4C3mL/Lh7BJRwozsJTbMgtPvWPfhVZrxcAWIVybOwYYpnOGqrYtup0yLjdyPp8yPv9yO9UhHnpiCiK0BgM+Kuf//kmokqOJM2bLbZMt8uBqn10/pTOK/2f1il18aD9J9By/ICNtpEaiuQ+y2AwsDRIgtr1SH8jR1Sl+mY1az9KRSyXy2xdtG8Gg6FjC0DS51sslhZLMumgQW6/ihYLihYLkhwhp/207ixbrVZRKpWQzWYxvH8/xBdeQGFhAfWNDRijURijUWjW11FbXYWuDekq9/czB4cmiCKsGxuN41arNSqgS0uwohGGvY8Ws1qB/fuhmZxEbmgIvdUqtIcOoTg0BJFbp1YL9PaKqFa34HSmMDXV6Ke4d20DmYwJa2t6JJMeBAInEY06cPcusLgIbG11dPhlQc1/N27cc73QaOro6ckiGAxjcdGMt78dOHoUGBxkkySvKTQf/CA0H/xgw5t5dha4eRO4dQvlK1dQv3EDZpVZu7pOB2F4WJ4U37gBfPzj937WaoHx8QZBPnToHlkeGwMeUO/fxesL3bPZRcd4mD6LndrXkNaYpqX5hzeRXyLyVqsVkUiEyRdIruDz+aDVapHJZFTTlnK5HMrlMlZWVthnEpHK5/NYWVmB3+9HMplsu39kJyeNnaYqXzs9sXT76Liw34kiwOmw6RhU63Usj4/jwNWriuur6nS469+H8+ZTeL7wDnwl9oPIxzqPRQYAO7I4rb+A5xx/j9Pa8zhUuAaPkGhYlKVal/dubiK9M7tQqVSg0+lw6NAhhH0+lH/jN2Dk5AYlsxmVPXtgnJzEtUIBYbsdmUAAKa8XWbsdmh0iyAZDO4MXnhhLnQ2kJFV6bGkaX+3aJ727GsjPmUgaLU+VS/qddBvkzjElHxIRpdmQXC4HQRDgdrsxMTGBmzdvykqLeFgsFrYu2haNRoNsNsuaYKX7ICXzdBypGkwkW9yRg6TT6Y7CYoDGvUYQBDgcDnas6G8EQYDdbmcafv49ue8ubZcc2DYYDNA8+yxszz7bskw2lcK3vvENWBIJiGtr0G1swB6LwZlKwZNOw5lIoDo8zK4PvnnWks9D38EAVFMoAFevAlevwg7g9M7vVz/4Qcz+1E+1hPtoNBqmuQbu2U82XHJEjI+XUCpt4X3v24/hYQdzYEgkStjasiAcduDuXQ0uX87h4sUMYjEPslmL0uYpQhS1CIddCIdduH4d+MQnGr/3eBrKiEcfbUiJjx9vcMoHNFFRhs8HPPlk4wWgsOPR7CqX4d3agm15uemlLxSQ6++HSSnu/ebN5p/r9Xtyjs9//t7vTaaG3vnQIeDgwXv/jo6+hjvbxWuJLinuomM8TJ/FTu1rUqkUe2CTrIIejhpNI7VOp9PBarVie3sb1WqVPSC1Wi1KpRK2t7cxOjqKarWKSqWCUCjUovP1+XyoVqtIpVLMyoz0c1TBIkJB26lEkAwGA5xOJ1wul6I0JN9hJZcnS+5EAlNzc5iYm0PObsfn3/9+1qhYKBRYM+Lc3r1NpFjUaLARGMR5+0n8XfHd+GL0fUiH3fd1vqzI48OeL+DHemZwMPEC+mLz0FbrQPvxAQDAtbaGwp49bH96e3thNpuxur6OyrveBcFgQCIQQDIYRMXrRbC3F295y1tw/StfYWEsAACOPOt0OqbvpI55OdjtdlQqFdkZDrqeTCYT9u7di0gkonjt9/T0YGOnKqgGvV7P/LPp72l9xWKR2etVKpWWsBTaB5rdIK9vQRCaXAOIOB44cADf+c53WiwEeXh3nB6SySTq9XpLVDpZBfIWgXIVcYPBALPZjHw+D4vFwraXSLYgCLDZbKzyqwSdToepqSksLi4in8+3aJxFUcT4+DiWlpZamlr57XG5XE3pmdJ7A/3euzNDUa/XZZt+XS4XfH192AbgGx9vSJx2Qojsdjvi8Tj6+vrQJ4pYXV1tCuTxb2+jZLPBdB8zMzxW7XYsLy+z68BisUCn08Hv9+Mt//k/o2CxINbXh1AwiGhvL/JOJwxGI4DGoMloNMq6BfX0+PGWt0ziox+t4Qtf+OJO07Ab29sOhEJOhEJehEJubG66EIs5cb9+zskkcPZs40Ww24FHHgFOnACmpxuvPXtem4oy/6zSHDuG1COPsPfEeh352Vn0m814ROlZdUMx9acZpRJw7VrjxSOVArp+w29IdElxFx3jYfssdmJfo9frYbfbWRWXHuJ8MxM115HdED0sarUayuUyIyC1Wg3r6+vMXorX+RYKBRiNRgiCAJfLxWKa6SFLVfR8Po+RkREsNNq+ZTExMcHS95SkIUS81WQUer0evcUihi9cwIFbtzDAzY2WDQboKxW4/X709PTg9u3bjDAs7tuHtMOJqz3H8HXNO/Cl3IdwKzQC3IcsT6utYXg4irGxLezbF8JTE1F86F/+dMckuGl/jUZod44/0CBXhw8fxpUrV7C1tYXI297GzoeuVkO1VMLW1hbOnz/f5EQiBb03NTWFS5cuKWp4Dxw4gLm5OVXZj8lkwvDwMHK5nOK17/P5FLXCPGjWoVQqsURCuga1Wi2CwSACgQAuX74su39arRZHjhxhmkP9CQABAABJREFUiYiCILD10M9Ukc3lchgdHUVcxde3v78fiUQCpVKphWDSDAY1avKaYCmsVivsdjuLOyfySWRUr9fD4/Ggp6enSessxcTEBE6ePIlisYhIJNJky6bVatHb24vHHnsMZrMZL730kuJ5HR8fRzQaRSgUQi6XaxnIGAwGBAIBWCwWzM/PM3tIPu1yenoaExMTmJycRCgUwvz8fNMx0mq1CAQCmJycRCKRwI0bN5oCeVJDQ/jDX/91OKtVvG3PHoyUy43GsTt37lUeVQjz+o40ghx0EokETCYTDo2OYkSmyaxgtSLS24vwwABKk5Mo79mDG+Uy8qWSrFvQgQMH4PF4dvoztuF2b8LtbhQ/tVotzGYznM4eWCxH8LWvrWFjw4VoNIjtbR+iUcd9Wc3lcsCLLzZeBJ8PeOyxBkE+darx4lzzXjXaPqtGRjAkaRhuwvHjwA//cIMcN3zvOsfAgDIh/qu/An7zN+9ppicnG6/9+wGb7f4+p4vXBF1S3MV9Ybd9FpWqM/znqdnXuN1u7Nu3D7dv30a1WmW6TqrgGgwGDA4OYnt7G2azGRqNhlWPqAosiiJ72PCkl6rMZrMZ6XSaTY9bLBZYLBamZyZiDjQalkwmE3w+H6u8EcijmI5RKBSCz+dDKBRCsViE2WxGb28vI1lUMeS1qgDgzGZxZHYWUzdvon9tTfa4GisVjK+tQRgfRz6fh8FgQCajx/z8PszNTeBXir+G8mLnjSNBfRy/sO8sHCdHoTtsgNN5G1ptY6AwPDyMAwceA/54ovGQV0HJakVhagrJPXtwy2jEqs+HuMfDphqpOrm1tYVQKMQezMVikR1rqkaura0x3SxV/vgKZ71eZ02L/LQ9D61Wy3yy1SAIAsxmM06ePImbN29ibm6OnbPJycmG1CMc7uxYBoMwm83IZDIQBKGpCuh0OjE2NoYnn3wSFosFMzMzTWSd0g4PHDiAL3zhCzCbzQ0XEc5flpoqBUFAPp9XHaABwNLSkqK1H3Av/KCdNKRYLMLr9cJqtbJmPb6pzWq1MrLpcrlkCbbL5UJvby/8fj+efvpp3Lp1CwsLC+xY79+/HwcOHIDP58Pm5ibT8ctVt+PxOILBIKuQSr3O9Xo9ent7EQqF8MILL6BYLMJgMLCqciQSwZkzZwA0qum8FITOGe+MEYlE4HQ6UalUkM1mkc/nodPp4Ha7YTAYsNbbi+Enn2wmYqLYEPrOzwNzc8DsLMTZWZSvXYMpFgMmJyFyAx2Seom3bsmeA2uhgNGlJYwuLTXY5yc/iX6DAfm9e5EYHUV8ZAS5/fvhP3gQsUwGm5ubcLvd2N7ebnLxoQFNpVJBMOjCO94xiaNHtbhw4QLi8XOoVquo1cwoFvfCYHgUoVAvK5i2Md9pQjwOPP9840WYmgJOnwYef7zxmpxUribTtSn3bHigZ9XP/VzjBTTY/K1bDUnFzZsNonzzJqD0fT94UHm916/fW48Ug4PAxESDIE9MNPQm4+MNKYZCL0MXu48uKe7ivrFbPovtqjMENfsajabhKxyPx7G1tdX04NPpdAgGgxgaGsLy8jLT40lBZJgepqFQqOUBarPZ2PupVAqFQqGJZBGR1Wg0KBQK8Pv9LKFPKsOIx+M4evQoZmdnWypPS0tL6OnpwenTp7GxscEqiPpiEVNzczhy7Rr2Li93lA41ubCArx9+F156KYjbt38Ai4v9qNc7mwbVooZ3er+GH7N9AW+vX8DA1iw0cyIK7/hnuPTYj2J7W4ty2chIAYCGno8jxTWtFuFgEJuDg9gYHMT28DAMBw7A4XQiHo8jn883CJ+kOVHcmYYmn+UmeQTAXBFKpRIjQ9IKJ8Val8tlrK2tqVaT19bWWLOmEjGsVqvY2NhAJBLB1atX2fZkMhm2L6Ojo22rxECjMkskn6qofNMnzbYcPnwYWq22iRSOj4/j4MGDEASBSRn440Dnwmw2o1wu486dO8jlcqrbww8IlBwqSqVS2+93tVplkcG8LprOT6lUalifGY0IBoNM/0zbbbfbGYlNp9NYXl7GtWvXmsIiCoUCs0RMJBKsMs1LI4xGI0wmExKJBBs0yG0P/W5mZoaF7fAyFL1ej1qthgsXLmB0dBTpdJq5ajR5dKfTuHbtGrLZLAwGAxtk8dKXnp4eeWcejaZRWRwYAHb0zOkdPaxDFNHv8cAnE+5T/e53215nBH2lAtf8PFzz8yBTvy/9/M+j9uyziEaj0Gq1qFarLUEplUqFyWCAxsBgZGSEFRYaA2I7DhzQgfilKAKrq8CVK43X5cvAK680guk6xexs4/Wnf9r4meTCTz3VeD3ySIMjtguRAnbpWWW3AydPNl48otEGWSbCTP8eOKC+c0rY2Gi8pMmgOl2DGJ8+DfzFX3S+3V28KnRJcRevCmpEtRPMz8/jzJkzbKqRpvWi0SirzvDEuB2MRiOsVmtLdYoa8Or1OiMHvPtEuVxmRJnS6vjudvrbQqEAx461F/kQ89PDtVoN2WwWLpeL6ZRrtRqr2hEpWF9fh9/vx+3bt9n0N496vY5IJIJoNAqTwQD75cs4fPUqpmZnYezAOq1gteLG3iP4qund+N8b/wAL/3qs42M4ZF3DR3x/gXeLX8UjsSuwJgRA0u9Xev55hB5/nFW/SIOdyWTwllOnYFpawhW7HXOBADb7+lCVVDg0oRCyO9IBOu78A4qICZ0DIn7SY51Op5lcQImIqkkrCLzMRo3QiqKI69evY2triy3Hb8/ly5eRTqfbkmIimPF4nD3IeSeUeDzOmiwpJGd4eJgd60gkglwuh7GxMWaBBqCpEY6uaafTyZpKO0U71ww1kOaXP698Q6MgCIxEUjy5xWJh349isci+H6+88gouXbrEHB1omWw2i7Nnz2JqaooRVOlAl77DGo0GoVCIVdFpm4hAF4tFLC0tIZ/Ps9kY/jhSLHooFIIgCEilUswVgyQvgiAwkiyKItsvfpsLhQLbL77qr1TlpB4D7Y4cRyqvMhqN2Ny3D9/90IfgWl2FZ30dge3tpmbUdlj1+yGsr8PtdjMXDgCw5PN48qWX2EA2p9VifX0dS0tLmJ2dZT7MdD2Gw2Fks1kW2qTRNPjb6Cjwvvfd+7zt7QZB/va38zh7Noc7d1zIZDqbqYrHgb/928YLaKgMTpwoY2QkhvHxEo4ft8Hl0suGSNE5f008gQMB4K1vbbwIotjU19ACNVKshFqtYR0yMKC8zB/8AfDSS/cO/shI49+hoQap76JjdElxFw8d9XqdTQvzZvAUhiE1g1eDKDYCRURRxOTkJNMW800wiUQC9Xod1Wr1nl8vwKpBxWKRhXjQg1CKSqWCeDyuaGnFL5dIJFo+i+ziisUiotFoEyGWdvLX63VcvHgRHo0G7//Lv4ShjW9twWLB3NRx/K3pvfhfm+/H0s3OvEI1GhFPBl/EP7D/FZ7Nv4B9oQVo19WJj+vOHfRyIQ58cMu1iQlM/vVf45v/438oEjFRFBmRo32Xs9HjwyuoIkfL0zHaTdu6TkCEWGmbFxcXO1rP3NwcSwqjfeGrjhcuXMDIyIhqSM7a2lpTdVh6LIjsG3earh4WpISY/k/bRJVYte9HIpFAKpViGmtpdHulUsHdu3eZ9EQO9J0msqvX61tSMWu1Grs3ULOs9H5DRJ+2wWKxsP2h8B9BENi9gR8Iy+0XWbapVTk7cfkpDQ7iqsWC+smTsNlsqFersEWj8G9uwr+xAdfyMgKbm3DIOOHkHQ5UAgFUd7aJZiwMBgNGw2E8fu4cWzbjdGJraAil8+dhGRmB4+RJiDLffT60SQ59fcC73y3C6byMEye24fcHEIlYMDfnwOysE7OzDszNOVCpqATN0PbngW9/2whgCsAULJYqjhxJ49ixFI4fT6BeX267Pa8ZNJqGI4USPvWpRkV5RyqD2Vlgba3F01wW+/Ypv/etbzW7YvBwuxvkmH8NDAD9/Y3X4GBjmS4AdElxF98DbGxsIJFIwGaztTyESGbQqRk8BYoYDAZsbGzIpsMlk0nWWCdXnSNyTNPIoii2kB6g8aAlzSI9SAi0Dppmltpr8dZQ1NRHf8cTCPr8UqmEqE6H2UOHcETGPq1kMuH25GF81fEefCb0QcxdGe+oQ1yvr+C5wW/iZwx/jqfj30Yw1Hl3XcVoRPrwYRjSaUTqdUa6yEYuFovh5s2b91WZVJqu50EOBoROJAqvBehz5a5ZNU2uFGT9J9U50zVLBKtnJ4KW11ObTKZ7QSE7uni5401k8n6s/XYLvLcyr08lMkqWe3L2aSR5oeMiPff0faLvuRpoHXJklwgy/z2UW4ZmG3j7M/47Td97sklT269qtcpCVi5cuMCcNUjisbW1hXQ6jenpaeacQDIs3jM9k8nA4/GwqrRGo4HeaERpYACbAwPYeOwxNvCsRyIIhkIYCIcR3NxEz/o6kjuOLLRNJF3TarXol7inODMZOHckAgcA1A0GpMfHEZ+aQvrQIRSOHes4tIkPf9JqNejtLaK3t4i3vrWRJJjNljA7a0K9Po0rV6x4+eWGmqAdBEGPCxd8uHDBB2AMLtcRHDkSwfvfL+C977VicLDtKh4ennii8eIhCMDdu/caL6kJ8+7dRpmcMD6uvN6VFeX3UqnGS8lR4z3vAb6iEJB09mxjG/z+RmXc72/oWd7E3sxv3j3r4nULasJRC0IoFApttZBAQ/KQz+eRz+eZJpN3jSgWi6wRjogvX3nSaBoexLy8Qu6hxms/6YEiJWr0AKUHo1xMszRswZbPIxiJYGVsrGldQOOhfuv0aUaK61otlvfvx9/3vxN/Fv8wLt0+jEqlfSXQbBYwMTGPqak57N27iKcvfQdv/8Y32v4dAER6erC4bx8WxsaQOnwYvSMj2N7ehrCxwY6FxWJBX18fNBpNi3dsO7QjNnQupYSznTPHawWlylMnrhMEIlWkUeUbxMxmM2sYVbMHJKcIteY4AB15Zivty/3sk9w+8tvCDzSJPFJCJD9AJUkM74UsHTRJ198ORH6lJJ1fr3TwSn9H28FLPKTNs/yAV22/NJqGNeDa2hprwuUr1VarFeVyGfPz85iYmEAoFMLc3Jys28XIyAii0Si798kFEomiiLTDgQ2XC+v797NlsGM9Scea943ua8NCtZUKPLdvw3P7NqtMZoeGEJ6aAiIR4Bd+QdGft134k81mwJ49UbzlLVn8u39nZfpkcqx48cVGgbUd0mkTXnxxCC++CPzyLzca99797sbrySeBhzx50h4WSyMM5PDh1veSyQY5vnu3kYqiBC5J9b7R36/83sc/Dnz1q62/d7sBr7dhFcL/63Y3nDeczoa2mpeW8KhWG1rph13J7wBdUtzFQ4fdbmcPD6XpQWqmagej0cgkE6T5Be5NbWazWRYXTY4QmUyGVUecTifcbjdzDqCHnJQA881cNB1L/6fPJLKt24kGpvcJtF6dTofe9XVMX7iAg7duoWI04vf+1b9ClW9a28HG6CgWjhzBneAUPl36CM7ceArJOdkMpiaYzQKmpuZx6NAcRkYWoNffe7DenppSJMUVgwFLY2NY2L8fi+PjyLhcbL+dej3zTJVqJpeXlxEMBtHb29t22zoBP+XeSTV5Nz6vk3W2I6GdgtxMeFJVLpeZ4wkAZg9IU/8AmD0gXWNq20MDtE7Ap8Xx1y5VQgE0SVrUoNbUCIAF6UhtDY1GIxs00u/l9ut+QZ/LH2u+QkwzPzx5JSJN7wNgx4avKNNME/UvmEwm5ncu3S/6THLbkbN+1Gq12NjYwMDAQNN2SCvuBoMBNpsNOp0O4XCY6dmpYZF81amBWGmb+GNRr9exvDNF37+2Bouk8U4JjvV1ONbXUb99G/iH/1BxufsNf+L1yR/5SGOZaBT42tfy+Ku/CuHWrSDW1to/I0il8F//a0Ne+9xz90iymkz3dQGPp+FZ99hjysuIIvCxjzWqxaur9/6NRjv7DDVSrNQhSdVnNXz4w8qk+Id/uBF08lu/1cEGPlx0SXEXDx2Dg4Pwer2IRqOMXBGIZAUCAQzex7yXmnZMp9PB4/EgEok0SRv46g11h1PVhtcfylWMlAgCPRypS57XjGrrdey5dAmnzp9H3/o6+xu9IODQ9eu4euJEk85Yp7Pi4qUx/HH+i1j85h7Zz+NhNJbx9Ni38NPmT+Ot22fxN4//KBLBYAtJSXs82OzvZ77GWbsdd/bvx/zEBJb37m1ujtv5Wzpm5Fcr1UwWCgVkMhk8++yzmJmZaUteqFFH7ryRvpGajuh48O+Losg68duhHeEl4qdG+ois8ZHDBCnpUqtiarVaFqaiRPZJW59MJqHT6VAoFJoIaq1Wg8vlamoekzs+oihi7969HVnFuVwu5j7AW9vp9Xro9XoEAgFsbm42kUnpgKVd4yP9XU9PD+LxONxuN6sK03WUSqXg8XiaZlnaSWd4uYa0ksyH6sgda6PRiL6+PoTDYdRqtSYCSgPrYDCIZDLJJAlSjbMoirBYLPB6vYjFYor7FQgE4PF4WJWYj2emz8rn80gmk5ibm2NhJzSzptPpYLPZIAgCNjc3YTabmTMJv2/UvHf48GGIoqi6TT09PUgmk4yQX3j8cVx4/HGgXoc/kUD/6ipGQyEMrq/Dvbmp6nqjeeYZxfdw5gxcgoCgxYKNdPpVhz8FAsBHPmLFnj1b2N5+BTpdP65d8+DqVQ9eecWDrS31VL5cDvjiFxsvoJG49973NjjakSOvy8Jle2g0jZK4FIUCsL7e+trYaHQ+bm4CsZg6Ke7QZlIWauEl+Txgtb76db+G6JLiLlqg1BW9W9BqtZiensaZM2eYjywZqxcKBebF2q7JDmhUF+x2O5tGlD6sTSYTbDYb3G437t69y9wuqFJF/sQHDhzA2toa0/xJH6AajYZVZniXAf5hq9Fo4HA4mNE+pdIZSiUcuXwZp86fh1thdH3i/Hm8cuwYoNEgmXRhdvYtOHduqm30qlZbx8E9N/Dznk/hB6N/hz1z9+zaDt24gRcVKreXTpzAaiyG21NT2BwYgH9nUKCEwcFB1igkp8um32cyGZhMphZ7Jx5GoxFut5ulkfHVefrZ7XajVqs1kV4psXE4HE1VfjkEg0HUajXVRDePx8McLZTgcDgwODjIIpOlREuj0WBqagrJZBLhcFh2vzQaDXw+HwAgn8+3EEzgHmkm3Tk1mwGN7yXp2knDyhNgKTQaTcfJiMFgECsrKy3OCVQ9PXjwIAsU4WdR+P0fGxvD+vq6rGyIYDabMTY21kiFU/juj46OMltE2m818FVUfnmqmhKplLvOfD4fDh8+zMJUpM14JpMJhw8fxiuvvNJETvkqLpHVw4cP4+WXX2Ze5TQbRvfR6elpVrElz3Tp+dLr9RAEAdvb2ywVk0/0y+fzrJqcz+fZseYlIaLYaGgMh8M4ffq06n321KlTSKfTOHv2LJN90GdFfT6kenvhOHkSN7e3UdjaQs/SEgZXVtC7uIjA0hL03EBSmJ6GIs35T/8Jmr//e5zW6ZDcvx9bhw8j8/jjKB48iPLOfaPT8CeN5l4wR6Gwhccfz+Gtbw2jXC5jYaGGubkhrK1N4KWXTG2Lma+80nj9h//QMGz44R9uuGY89ZS8bPa1fjbuKqzWht+xmotTqaTe5LdvX0PeEYu1rwxL4VSZ0cznX7dhJV1S3EUTOvF+3A2Q3Rr5FNOUcCAQaPEpVrsREemt1WpIJpNN4R1GoxG9vb0siUvNWJ+S6CgEhAdJHvr7+5FMJlmYBE9GNBoNe9DRg8WayeDkzAxOXLyoOhVZ1emw3duH1dlhfPfqU1hY2Id2SVF9vSH8X8f+Du8M/f9xZPYKTIutFdMjN2/i2zvep1JcPX686edAIIBKpaIYqOBwOFh1TxAE9sCmAAOLxYJ8Ps/Oo1J1lir1TqcTdrsdGxsbTZZaRqMRg4ODEEWRPchLpVLTQEWn07HQBo/Hg3K5LKudpfQ0u90OURQVw1T27t2LmzdvqjatlUolnD59GkajEVeuXGmqiGq1WjzyyCN4z3veg5deeqnpWuT3y+PxsLRDIl/Sa4hCN4gMS+PCKcyECJxG0+o8QceoU+kE0JgBcLlcsttNNoPvec97AEBx//fu3Yvt7W1YrVbZMBQ+vOO5555T/O7TfYcCN+TOB+27tOEVQNP33+PxwOFwMA9zfh39/f1wOp0YGBjAY489hnPnzjV5Itvtdjz22GPo7+/H+fPn2WBXKkMwGo2oVCro6+vDY489hpdffpkNwqhn4bHHHmM6YZoloXNN+2uxWFjzZC6XY4En0mUKhQJisRizhpRWyonQb21twe/3qx5r/j57/vx5Fkik1WrhdDpx6tQppl8OTkwg7vdj49ChhqynXsdQJII96+twX78Oww4pbrlfG43Q7Pgqa2o1eGdn4Z2dBT77WZQcDkSOHUPhySfh+/CH4e/wGaMUzHHsmB8f+EAfAgETajXg4kXga19rvC5eVF/n6irwiU80Xn5/gxz/+I8DzzzTuS/yGw5qThlAw9WCUKkAiURDlhGLNfTO9EokGv+m041XJqPultElxV28ERCNRpk3qlwkKO/9uBuYmJjA+Pi4aqJduxsRTbXR1C5fMapUKtja2mLpc+2M9YngUSWJ1xQbjcYmv1C56Vhgx11iaQlPf/3rOH75MvQqzWCC349bT78dn6x/BF948XHErqlrhc1mAU9Ovoh/ZP5jvHXxRfieV9eMeRIJDG5tYXt4uIXo8zAYDCiVSpiamoJer8f6+joLixgaGkKlUkEsFoNGo1GUGFDjDn2OwWCQDUohWQTJEOSqZVR9q9VqMBqNLWlkOp2OXZv5fJ4lCJJrAUlYDAYDCoUCDhw4wJqS+DQyg8EAj8cDj8fT1OQlBVX8EokEenp64HA4kMlk2PY4HA707HT0T05OYmFhQdZ/2mg0or+/H9euXYNOp4PFYmmZ0i6XyygWi4yIS0HyIpPJxEihHKji6/F4GMFUAk3b0/GRntd8Po+NjQ2k02nV/bfb7czCTA50TdntdgwPDyt+99fW1lTlLCSvIWcZqf6YNLdkyZXNZpsGIfSdzmazLH1vdXWVkVD+OltdXWWVe36QwV+3dH1EIhFcvHixaWBJBPHixYvYs2cPzGYzPB4PNjY2WqK3k8kkrFYrvF4v63sghwn+s2iWi6512i5ePkJOO/Pz83j88cfb3menp6fx6KOPYm5uDplMBk6nE5OTk9DpdEilUtDr9TAYDBgeHmYNc3q9HqZDh7BaKmHuve/FM/v3y96v962u4rCCzMmUzWKIuuj+839uBGT84A8CP/RDjcYzlSpsu2AOne5edPSv/VpDCfD1rzcI8vPPqxc+YzHgk59svDwe4B3vKGJycgnj4yH4fM7X/Nn4uoTBAASDjdeD4qtfVZdXfA/RJcVdALjn96vmjfpaeD9qtVpF2zWepJtMJtZRzd+IfD4fwuEwe+hLp/Wr1Sqi0SjMZjPz5CSdpCiKyOfzWN8xsaeKJ4Am7ShFPadSKUZapNWper0OUyiEp86dw8GLF6FTIcMbg4Oo/NPfwMfv/ig+/Rkr8nn1r+HoyBI+NPIZ/ET8/+DgjVuqRBsAiiYTZg8cwPXDh7HV3w/zTvOPEqjaRdPmo6OjTe9TRYys8oiU0nGm0JNgMAifz8c62uUGDjSNXSqVEAqFWhqXyuUy1tfXmZ6cyBe/TKVSQbVaZVXker0Oh8PBrK3onGWzWXaOSarBd77X63XE43H09PSo+h4TIbp79y7m5uZYoxBVlnO5HM6ePcuWJ30qv821Wg3hcBgbO939NHjTc3O0fINbO610qVRS7OLn13f69GlcuXKFHQspaIYjk8nIVndFsZE6t7W11RSoYTabGdmm/X/66afZoEMOpMXv39EwKn33BwYG2HFRGnzq9XoMDw83yZ34Sqler8fAwABWV1eZFpg/1hS2YzabMT8/j62tLej1ejgcDjYgK5VK2NraajrP0vWQzZrdbseLL76oKEGKxWL44he/iJ/7uZ9j3xc5FAoFJh0i6QsvjaDtpnMv9fAmkN0fDVDU7rMEkslI4XK5mEVcIBBoKg7wWuByuYyZmZmWokoskUD80CF45+ehUWvWFEXg/PnG61d+peGn+0M/BPzTf6ooAdBoOg/mCAaBn/qpxqtSafDwL32pEQqi5miWTAJ/9VdmACfhcj2Cp5+O4tlnIzh8OP2aPhvf1NjTvkfme4UuKe4CQLOHpFz1rlMvyt0CkfRkMsk0oUR4LBYLSqUS5ubmMDQ0xCoZNG1ID1GDwcBu2ryuUBoMUalUkEwmWWMcb5um1Wqh1+tRr9eRyWQUyQUA9G5t4cj584r7NL9/P/52/3vx6cWfwty/O4h6XfkGarfXcfDgRfx4/2fx0Rf/JwLfUdb7AoAIYHFsDFcfeQRzExOocYSJbxCUgiqUANp2hfNNQnQuePssr9fLut7JNUGq8aaBSjqdVtSMiqKIRCLBKoBEBqQgckYVNWmDGOHq1auoVqsI7jQdSpuNlpaW2tq71Wo13L17t6UiDtyrFL788stsWXJO4at3hUIBc3Nz7HqSs+5SOk9K20SQa0ar1+vY3t5Gb28vI3TSBkGNRgOXy4WtnaZLJeRyOVy5cqWl0ZJcDAqFAr773e+qDr5omzc2NloGXjwymUwTEZSSWbqeySebwjJ4LTDZp/GDKv4Y0XJ03ZAlmrTxLZvNYnt7mw2EldZDn8X/nkDnY2trC+FwGCGuo1+uYTMajbb4mPPr5L8P0tkx/n2tVsu8rh8EvIY3Go3C6XQybTJpgScmJjA/Py9bVBGfeQYvHDqEAbcbj1er0HzjG41SLRcJL4v1deC///d71hO7CIOhkar97LPA7/xOI535b/8W+Ju/aSTvKSGdNuJLXxrAl740AL+/hGefjeCtbzXAYIg+tGdjF68tuqS4CwDNHpJUqeIDA4xGI7LZbEfd/ruBdDqtaF3EN5vQA4Del1aMKIpV2jzHP0DpAcNXgOnBC9xL6eIfRnIVgbmJCYR7ehCM3AvEqGm1uHbkKD47/JP46+vvx8pX1EfIx46J+KVf0mB09DxefvmbMCRr8Ks0wMW9Xlw9dgzXjh5FVmE6qlQqseloadWNCJrJZEJapSvc4/Egm81iz549CIfDLJlMo9HAarWyh28oFGp6eMs1QFEjkBr4IBU5EIkkSYe0AYoSzWi/KChG2rxptVqbyEy7baJrRo7MUEWSpA3S2Qaj0Yhisci0tbTtvD6VpDudgM6bnLyEXCrW1tZgNpsxPDzMmrekmnu1pkjp/vNpbQSSF+XzeUYcpc1/vNZ1dXVVlRTHYjGIogiXy8V8xfltJvlAOp3GyMjITsPVPUmU3W6H0+lEPB5HuVyGyWRicgKpBIcaYr1er2wxwGKxIJVKMcmGVMNN3x+5PgQ5fO1rX0O5XJZ1KqH7Fw3aea0wv030O5PJ1CQZItC9zuFwYGpqSvE43w+UNLx9fX2YnJyEwWBoW1SJ5PNIP/MM3O9+d+ON1dV7eoYzZxrWEFL09wPT0/IbJQgNeYW5s7hoJWg092yCf+VXgKWlhgXz//k/wMyM8t/FYiZ89rND+OxnhzAyksLP/qwO//Af7o66oIvvHbqkuAsA9zwk0+k0m0rlTeWdTmeTh+RrjWKx2JF1EU3FSgkYQfpwkqtk8VOT9ECRM+jnyYDsQ0+rxXeefho/8bnPoarT4ZXjj+LTwZ/C317+EWxdVTbE1GhEHDy4iGeeuYITJ4o4eXIaGxsN0pjyeHB33z6M3717bx90Otw6eBCXH30Ua8PDbX2ESJtrs9maOu9Jk1qtVjEwMIBwOKxYCRoaGsKNGzfQ09ODnp4eZLPZpkQ7AIjH42xqV6vVyjZKEYlrV5mV/p1c5a1WqzGCUa/XmwgfeftSo5paUMz9+O9S8pfcVDVf+c7n8y26dIPBgHq9DrfbjUwmw5rm6Poj6YHNZut48EnEX0rAeaJMPt28RpWaTP1+P+5y15YapFVbHtLZFamGl6/gtgMdW4vFAofDwRotaV8p3KRWq8HpdLJGQH4QL4oicyXhCTHthxJpVdpvOq7SY0DXRKdBMrlcrkUOJLfvwD2SLJ1tIWK+Z88eLC0tNQ2saN8MBgOeeOKJ+2q2bAc1DS9J2NS+Zy1FlZER4Bd/sfEqlYBvf7uRrPblL9/TM7zvfYphIPjMZ4D/+/9uLPOBDwA/8AONEvADYu9e4F//68ZrbQ34X/9LwJ//uYCFBa/i36yuuvGxjwG//uvAO98J/PRPN5wsXndBIV20RZcUdwGgoRuzWCyYn59nGlq62WezWaRSKUxMTKh6SL4atHQq79xkqctbzbqoVCrB6/Wyiok0zpWfopbrUue3gcii3MONHuSmchmnX3wRnmQSf/u+98mu6/bUFF545ln8pfkf4EsXfxixi8rNFyZTGU+cuIxf9n4S5gCwsO8oYrEqzpw506T/e+XECYzfvYu414tXTpzA1aNHIdxH5y4RFCmZ48lBT08PRkdHVStBs7OzTGIhvQ4oOdDpdDYls1H1nbSrer2edbh3uu38tvKDEzq/NP3NkxWqwtI1UalUYDQaWwgWker7Bb89UlDllR+k0YBLp9NhcnISm5ubLKqZoNPp0NfXB4/Hg5deeqntNhCh54k6T7CNRiNGRkawtbXFgkCcTif7XguCgPX19fvSQRLxkSPhdJ1Jp/T5QadOp8PIyAg7JnKNXT6fDxaLBYIgMK04f9wFQYDFYmEVY6MM8yiXy7DZbIjFYrKDHjpG1PAoCAK0Wm1TpLbZbIYgCOxapoY7uRAMIurt4PV6mSRMOojnpV/8dS51XiEcOnQIe/bskXXNOH36NKa5CqvSffZ+oaThvd9gDpkVAG9/e+P1e78H3L7dEPw+95zyxvzv/91wOfj0pxsvvx94//uBj34UOHFiV0yHh4eBf//vzXjqqUu4ciWDa9cm8cILPVhddcguX6sBf/d3jZff39iUn/u5RqpeF28MdElxFy2QI6GvBdScJajxix56UjJXrVZhNBrh9/sxNjaGubk5FItFGI3GpsqhRqPB0NAQlpaWVLdFrYKlqdXwyJUreObsWdh3ml8uPfYYNiXhIvU6cOvWYfzBjV9GLKZMhu32LN73zAX8lPB7OHnh23Bks0h4vbg8MgLtjt9vOBxm+3FnfByf/uhHsTI62nSjl05TS3WV9Du73Y5CoSCrYRVFEXa7nTVUKlWCRFFsaraRk1gQgb58+TLC4TAja/SwJlkDVf86AU885arFtK9y0hDqzKcGQWk4A73vcrkQ4SQvSqB94SuO/HQ2SRb49+Vw4sQJ7Nu3D7Ozs1hbW2PHenh4GFNTU/B4PLhw4ULbMJH9+/djfn6e+XPzx0an02FsbAxDQ0N48cUXIQgC3G43I1pUSU+lUrKkUg4UllIqlVqqwADYgEiJiGo0Gvj9fgwPD2NmZoZZgNH18cILL+DUqVN47LHHMDo6yvaNH6DTIGtsbAxWqxWrq6vMkYOf2dJqtRgcHMRqm/hbWtetW7eYTILfXrPZjMOHDyMajaqGYPT29mJtbU31szQaDd73vvfhd37nd2RlWDzxJVs7+u7R+3R98YOI48eP4/Lly0ilUnC73Th+/HjTAPFhWIlJm/GU7g8dFVU0GuDgwcZLCdvbANfcCqBhGfGHf9h4HTjQYKQf/rB6OEUHIE11OPxt6PVfxyOP1LG15cXFixO4dGkCqZR8ql4s1kjR+6//FXjiCeDnfx74yZ983WZWdLGD+y+RdPGmRDqdhiAIGBkZgd1uR6VSYUSKLJQEQVANOLgfkLME+Zr6fD5YrVZsb28zxwmPx8MSvYjAVatV5rXpdrthsVjw5JNPYnh4mJHoYrGISqXCLIT27t3b0XQp/5Cn19jiIv7hH/8xfugrX2GEGACefeEF9v8GGT6AP/qj/wuf//yPKxJijyeBn/qBP8fzh9+DT37jB/Hcma/AsaND9SYSmJqbQ7VaRalUQiKRYLIEUafDyp49LZUPt9sNr/felB4RNp7gu91ueDweJkGhMAFKk7PZbPD7/awaR5WgYDAIt9vdREgnJydhtVoRjUZRLBZZg1E0GmXG+zqdDhMTE03d80S6KLCi0+YfqorJ2ZsBYBVLuRhcIhClUonZtVElj9ZLv+vt7VWUBfDbQueDSBEda/o/hbuoQavVYnt7m/1sMBjYAJCg1+tx5MgR1fUcPXoUhw4dYm4pRFLpOrdYLDhw4ACr+JO/bbFYRKlUQrFYZKmL7VwsCH19fWyf+el6+nlsbAwnTpxQHERrNBocP34cly5dwtmzZ5HJZFjFXqfTIZPJ4OzZs7h48SIeffRRDAwMsOptPp9nVnUDAwN49NFHEQwGkclkEI/HWQOuVqtFPB5HJpNR9DnmIYoiC+6Q3iNEUWQDlpMnT8JkMrHGPKoOU1DH0aNH4fF4VD+LAmtIv0zXKM1Q0TH1er3MP5hmEmgwQz8fOnQIOp0O0WgU586dw+bmJtLpNDY3N3Hu3DlEdyJ+291no51GAbdBp/eHXSuw7PgeK+L2beDf/tuGg8W73gV84QsNywkViGLDGz0cDrcMkOh9oLGvAwNJ/MiPnMdv/MZf4Fd/9dv4iZ8oqpLd734X+JmfacRK/8t/CSwsdLSXXXwP0K0UdwHgXqOdz+dT1OjF4/FdabQTxfb2b5ubmxgYGGAPtkKhwAIL7HY7qwRRJfPtb387bt++jbW1NaZ1HRkZwdTUFJaXl+9r+zQaDfzhMN729a9jn4Lecs/yMgLhML6bfhIvvPAswmH55DgACAZD+JFH/gY/G/1THP/WFUVLtVMvvoj5Q4dQ2SHGFoulqVIk3UaDwcDM/ZXCEkg3SnpVQRBYlYuCT+g4tkO7ZptAIMCIhN/vRzabZSRMo2mkizkcjo4fjCR34LWS/LQyH/PMW8TxlXDyWDYajawhiqauyVaNd8JQgiiK8Hg8bKAoBUlG2g0aa7UaNjc3EY/Hmf0WDeZCoRAymQymp6fhcrngcrmYewKBmpZcLhfC4TD8fj/TKJM8gfT/kUgELpcLer0ePp8P29vbTNNKTWQ9PT3M7UFt4KjVNqK8SbIhDe8gD3Dp9kqP4cLCAqskK7l4nD9/Ho8++iiefvppzM7OsgZB8nmenJyE3+/H3NwcnE4nk4KQBMLr9UKn0yEcDrcdDIuiiJWVFSaFkOrAa7Uabt68iaeffhqActiQ2+1GX18fI+VS+Hw+BINB5HI5Zmu2tbXVIo3o7++Hw+GAVquF3+9HKpViEiG6ZumaiUQishZoZFk5PT2t6AjxWliJdXJ/2DX8+I833Ck+9zngr/4KuHBBfrl6veF08fzzQF9fQ8vw8z/f0DNzUKum07UmiiImJydRLpfZMkajET09YbztbRfxqU89iS98QYM//VPgO9+R35xUquF28Tu/01CK/ON/DLznPQ1P5S5eH+iS4i4AtGrCzJKOXnIwIE3Yg2jUePs3AE06PpPJxOzfjhw5gkwmwzR4VP3VahtJZHzlIRAI4NSpU0ilUkgkEnA6nay6Q96w7aDRaGASBDzz93+PR2dmoFV4oN7Zvx//+/CH8Gdf/ShWV0dklwGAvr4QPnDis/jIxp/jyDeuQadCvFZGR/Hyk08y7W+tVlP0MiUUCgXmvOF2u1mQAYU2CIKAfD6PAwcOMNsxqiwCYNPRFDwBNKqgaib/gUAAPp9PcRk6t4ODg9Dr9dje3mbXSF9fH3tot7Me02q1rDGQiDEvVSArLiJCvESD9oOOYyqVYuSQr/S53W5UKhVEo9GOK4qk3ZUSVWrqo5+VBjL1eh1LS0vsHK2urjKN7MjICJLJJK5evYpYLMbOK1XYKU7YYDBgeXkZJpMJPT090Ol0WF9fZ8d5aGgI1WoVsVgMIyMjrKJJ1W5+4EBVVjp2SrZ9QKNJzOPxQKvVskos6chrtRoikQjTU1PjHV/Br9VqWF5ebrLzk2pqgYaLx9zcHA4ePAiPxyMrDUilUojFYmz/V1ZWIAgCTCYTBgcHUa1WmwbDSo1/QOPeRhINqhgTSa7Vasjlcmx7lEIw6LqiGSxpkAwNAOx2O/NQHh4eRigUYuett7eX2RVmMhns2bMHer2eFSMopIauWRoM+3w+5HI5ZDIZGI1G+Hw+xONxXL16Fblcru19lqzEOrmnt1umXaAGf67V7jMdYWAA+Of/vPFaWgL+4i8a2mKlIsj2NvAf/yPwm7/ZsJU4cQJAez/8AwcOdGRXWqul8dGPuvHRjzbc5v70T4E//3NASZn1jW80XsPDwC//MvALvwDwcu3d0oF3gof5Wa93vCFJ8Xe+8x389m//Nl555RVsb2/jb/7mb/AjP/Ij7H1RFPGxj30Mn/zkJ5FKpfDEE0/gj/7ojzA+Ps6WSSQS+Cf/5J/gy1/+MrRaLX7sx34Mv/d7v8f8Rb/fcD+asAfVqFEVulwuIxQKtegBvV4ve4CQjyyPeDyOsbGxps/63Oc+h9nZWUZG1tbWcO3aNUxNTbEpXdWqUb2O4zdu4K3PPw8bJ5PgEe7rw9888QH8/q1fwOznlTsn+vuj+OCJv8ZHVj6Jw1+5oUiu6xoNZqem8PITT2BrYMedYqdyRlIHNZDtmCAITTHH1WqVEQSj0YhYLMaqcIVCgT30DQYDbDYbIpEI9u/fjzt37rBKGD3QvV5vUxys3LlfXV1l557ObTqdxvb2dpN1WzweR19fX5M9mRLI1YJv1uNhsVhYpRcAqwLzVT4iXiTloCopIZ/Pw263d9T0J4oNRwmq2ElJMcleaFmldQCAIAhIJBKYnZ1ten9zcxNer5el5+Xz+aaZGXLboIYvt9uNjY0NbG9vNzWIbm5uoq+vj2l8q9UqizWXejkXi0W4XK6mqrsUtCxNh1NgBoEa4sgajwYj0mNExJiOBS/3oGWAxrlMp9OyuuPz58+z6OFqtYqVlZWWivDW1haCwWBLUAt/HqTniEgsf6z5FDs+UlkuBMPpdLIgEz5Ygz6PyB8FitB9dpDrSxBFkQ3oeRcXqdyIvkvFYhEajQY3b95s+p7RDABZ2xkMBtX7bKlU6uie3ul9X6kZjzA/P9/2PnPf2LsX+NjHgF/9VeCllxrk+LOflbd5GxkBdmLuadZSzQ9/fn6eNVjKHUfyZue/PxMTwH/5L8Bv/EbDUONP/qThPieHtTXg3/ybRurez/wM8M/+GeByPbxI6TdlfPUD4A1JivP5PI4ePYqf/dmfxY/+6I+2vP9bv/Vb+P3f/318+tOfxp49e/Crv/qreMc73oHbt2+zCuiHPvQhbG9v45vf/CYqlQp+5md+Br/4i7+Iv/zLv3zYu/O6AGnC1AzaJycnEYvFOo6CVhp9kq3SxsZGiwdxLpdj08pnzpzB4uKi7PYuLi7ic5/7HH7iJ34Cn/vc53D79u2WZURRxO3bt1lwgRJ6t7bw7q9+FUMKFeWs3Y6vPfku/H7q3+PcF46iXpevaAQCEXz4LV/Bz6z/CQ5+WbnSXNXpcPWRR/Dy6dNI+nyyy5DeUAnUPU/yBDlQctbq6iqTCPAyAyIfi4uLsNvtePnll9m5IpuvaDSKM2fOAGh0zrc79yaTCfl8XjbVLZ/PY3l5GT6fr62GV6/XI5FIKMoReGsxarKTWuZRgEi9XmcewtJjmM1mO7atouNMAwoCTbl3Ki0iQiOHRCIBQRDYlLnSdpCWmZcr8DrVjY0NBAIBRlT5mRZqCCRSRdZwSt7R9XodZrMZxWIR6XS6qcEQaBDIdDrdNECRQkpEqUosHXzTMhsbG1heXmaNtqThJd3xyZMnsb293TQY5NcTCoXgcDg6irim4yMHkto4neoR7CRfIYmSwWBgseE0m0FOPp0EYVy7dk3VyUGj0SCXy7HvARFokprxKZ3t7rO5XA6zs7Oq32sAHd/31TA/P48zZ86gVCqxWQ+qfNN95lUTY6Bh3/aWtzRev//7DcPhP/5jYCdYB0DDAo6b2eL98M0GA7Q7gUDkh0/XZDweR61Wa0pEzWaz7DjKnSujEfjRH228FheB//E/GhXkRKJ10/N54A/+APjDPxTx2GM1vPOdVZw+bYXR+NpFSvNV8gc5r28mvCFJ8bve9S68613vkn1PFEX87u/+Ln7lV34F733vewEA//N//k8Eg0F88YtfxAc+8AHMzs7i+eefx8WLF3FiZwrlE5/4BN797nfj4x//OPO+/X5DO02Y3+/HSy+91JFGLRaLKY4+aWSt1hFvsViaOsflurRnZ2fZDV1tOcWu8Hod7/7a13Di4kXITRRV9Hq8dOoJ/K7xn+PrZ9+JUkneJN7lSuHZZ8/i8OEbePzKJRyekde3VfR6XH70UZx76imkd2lGol3wgrSJSJqCRtPely5dgiAIrLGRryYKgoALFy5gdHS07bk/ffo0MpmMbOMSAFZNyytU4/nt5iF3XrPZLJxOJ5Mt8HpQIoid6nw7gbQKLd2vTkM32p2zdsEmQCPNj9IVeZ01cO84JBIJpgWmBzZVvKiiCIA1XqpVuKXhF3LT6p3uPw8lR5H19XXV9LzLly83XSNK10e7JkIiq2qgJkI1UOMiRY2T/zc5WGi1WgiCgGKxiN7e3rb32c3NTdVZO5/Ph62tLVSr1aZAFbo2aQDj9XpV77N2ux0bGxuq32u6vz6oNrler2NmZgalUqlpe0wmEwwGA1KpFGZmZjA+Pv6qbBJbYLPdy3W+caNBjv/6rxvlWO688X74z/7BH6Cu1+P6e96DxNAQm2EyGo1sFoCvytPPFBijhrEx4Ld/u+Fl/Nd/3Qjru3ixdTlR1GBmphczM72YnMzgH/yDNTzxRGzXdeCd9PZ8P8ZXvyFJsRqWl5cRCoXwHOdv6HK5cPLkSZw7dw4f+MAHcO7cObjdbkaIAeC5556DVqvFhQsX8D4FD1qyIyJ0moT1RoKaJox0fO20VcvLy7h9+7bi6PPAgQOsI56m+amCQQ1mqVSqad3Sz6Kq0l/8xV80PczbNdY0QauFvlKRJcRzk1P4o/3/CJ/57ocQj8tXcy2WAt761pcwPX0ZBkMNoqjFzNGjOPmd78DNEbGy0YhLjz2Gc6dPI/eQ5TmiKDIvXjmfYpIXJHZKF3ywBwBGliKRCLRaLasaKOkTqbFHjWDxzV70O4Lc7+R+JhARo8ojr43lqzy7BX79vDZX2jT2MCCVBEhBTWKVSoW5TJBHtF6vh91uZ4luJBWQVvcpnIIf5MjJD5S2QQ70OVIiTX9PAzGyYpQOdoigdPK9p+tCTePdCc6fP4+3vvWtilpY3lddzg+bnh00gGunvW1XTe7t7cWVK1davtO0XxSeA0D1PktVdd5phl+P0+lkbilqy/DaZCVsbGwgkUiwdEkeJEVIJBLY2NiQlag8EA4fbpRhf+d3mgI++PPmDIcxfOUKNKKIPTMzWD96FJfe/nas7DRQtpsFyGQyHcU8WyyNcI+f/mng/PnGJn3+8w2PYynm5pz4D//hEIaGCvjAB9bw1FPljo51J+B7ex7kvL7Z8KYjxZQrH5RkLQaDQfZeKBRq0Wnp9Xp4vd6mXHop/tN/+v/Ye+/wuM4ybfye3mc0Tb3almTHNXYkO4lJMU4ChFCWJIQQCB+9fUtdWMq2LL+FhQU+6rILC7tACCQsLRASMDYhjuMS9yLJclEv0zS9a+b3x/h5/Z4z58wcRbItJ3quy1cizeiU97znnOe9n/u578/jn/7pnxb4iBdfyHHCeCtoqdDr9YhGo1U7nskgpKWlhXXh88oSbrcb/f39io5Vqiw+l/jj7bej6/RpWC40tYXcbjxy/b34at9HcfY3KyT/RqfL4cYbD+BlL3sOBgOVoEuat8nZWTx9yy147a9/jZxOh/2bN2PPDTcgdeFFoIFyZHIhg08eKfhmN0qKxFxmctUibi/xwIlXSs1bxE8Mh8NVTQz485dKfueCSvCmHHyyRsmTUrc6+hu55In+S4mUWDVBqgHvcoSUbB1v+kAv8VgsxpRHKCKRCEwmkyAZFieqtJjiJcMqjVG181epSrbgRN8Q74vMekijl5JL/nxpTvLblPuZ3BwJ5eaTa2osVhIzMzMVubC0+CcVDN7ggyoDer1eoAldiXtbrWrn9/tZCV9Kf5ySNgAVn7MzMzPIZrMVn+l0P8/JrU4i4vE4o3rIbSeZTFalu80rRPvm9fBX7dgBFTePWo4eRcvRoxhdsQLP33YbMl1dKFwYX7kqwFxjy5YSajwyAnzjG8B//mcB0Wg5Sj46asaXvrQSP/hBO+68sx8bNmQw3zxVyftcyXV9scWLLim+lPGpT30KH/3oR9nP0WgULS0tV/CILm8ocS2i8h497KUQRSpnk46wWP6NusGrldgBwGazKSo3y0XKbMZTr3gF7vrNb7Drxlvwhdzf4uknbkGhIM0zXb/uGD6x7Otoy0xgX812FItG9pKlsvTRdetQE43i6JYtSFzo9tepLjqbXamQ0/sFLpbIxaVxvmGK1APE1AjSr/Z6vaykrySqNaQpCT5ZE3OKc7ncnMqwUu55/FgYDAaWyPGcaKJO0OeXO/hEUcXNM5VKBafTicnJSQF6z3PKE4kE7HY7O2dyqOMTYEJq+b8Xh3jbckGqIsRTprEjR0Iq7afTaaZLzF9D4kbzIUfnoM/IoVPswkdUEiUxOztbkQt7ww03wGw2IxaLMe4+cbdTqRRLgMXufC9UyYEWO/Q8lnLZowVjpecsJemVnulKvlPRre5CWK1WNu5y29FoNJe12d1oNMLpdCIaDKJNissAoOXMGbScOYOpZctw+O67Md7ZKZhH4irAC4nW1hK14kMfiuIf/3EYv/1tJ6any4WPAwEj/ud/NuD3vy/gE58A3vveEkvkhcS8XQhfpPGiM++ory/pxZLvPcX09DT7rL6+vszBKp/PIxQKse9IBSV1/L8XYxSL0iLmpFBBzTbivyG7VpWqZNM8MjKC8+fPY3h4GOfPn8fIyAhLVPjk2Gg0wmq1shdGNBrFNddcU7WUrlKp8OY3v7nq+Xh8PnRWcLY6vnYtPvrab+GNRx/Drj0vl0yIm5rG8Pm7PoUnIq/B/b/6L1z/1FNw+/0MJSSags1mg95sxp9vvhlxq5Ula3wTlFIHsWp8yGrNakqDR0CJO0r/KJEg/jE1pGi1WvZSLhQKrHGHl3yb6/6lSnjVvkMNZxqNhiVVWq2WIWVKy+M01nwSyGvxkqYzJW+UJBaLRbY/qfLypQxqhuQXBfw8MxgM2LJlC1uo8Akm//+EyvIUFB79Fkun8X/PJ6z89eGvA/0//V1TUxPTBKZkgpoH9Xo9urq62Lzirzs/T6mEDZSb7tA1Iy1uQvVJV5aOhfi4fMjNM1ICoYYq2nZNTQ0ymQyOHz8uSMBpUUa8dhoLemf4/X7s3r0bu3btwl/+8hfs2rULu3fvVmym0dzcDJfLhUwmA7vdDqfTyYx6iGfvdrvR2tpa8Tnb2NiIhoaGis/0hoaGqt/xeDxVtc7pmBOJhOQCPZlMwuVyCRQ5LnU4HA40NzfD7HDg15//PPbddRdSMllm/blzeOUXv4hXffWraBwbE8wjMuGZbzQ1OfDgg1F89au/w2c+cxLLlkmj5j6fGh//ONDRUUqmXwi4ruR9ruS6vtjiRYcUd3R0oL6+Hn/605+wYcMGAKWbf9++fXjf+94HALj++usRDodx8OBBbNq0CQCwc+dOFAoF1mn7Uo1q8izVuG5dXV3Yv39/1Y7nrq4u9PX1yW5n7dq1CAaDTFVCCn1atWoV01+VQmBVs7O44bnncMuuXcibzfjme9+LhOiBFw478OSTr0B//0rJ8bDZorjnxkfx1+PfwPrHj7HfqwsF3PCb3+Dxd7yDycvpdDrceOONiMfj2LNnD6Mk8NJgGo0G69atw+DgYMUGMIfDgZaWFpw8eVK2XN3d3Y2zZ89WRCfJ9a1ScihOJqSalggRkeMwEnpVTVuZgqduSJ0fmWEQPUbqO2azuczcgz9uWqxU00TWarWw2WwIh8MCTjXPTbZarbBYLKzsLy7pG41GlqhVUzsAKlcMdDodOjo6MDg4KHvtN27cCLPZXHGe9fT04OzZs6ycTn/LjxEtHnQ6Hftb+h5fPaDPiYYgrjIQHUGtVjNzD37BSPQMnU6HmpoaDA8PI5/Pw2azCSycSSLO7XZjenqaHTt/PGSa4XK52P1Bx8nPYXL0m56eRjqdZteH0GYy+ojFYqw/RGq8rVZrVS5sMBiE3W5nKDhvvEPnrtVqEY1GkcvlFHX8U5Mbb17S0NCAVatWMdOQHTt2IBwOw2w2s2coNVZu3ryZnZ/f74fBYGDHlMlkmKIQUHpHyj2LV61aVfU7vGa8HAKuVqurHnNvb+/CNNkpDJXqoupSQq/H1DvegeBb3oKWJ5/E8l/9CmYJmYjGU6fQeOoUhtevx3OvehXSLS1lVYCFOJ51607ixhtHceRIA37ykxacOOEq+77fX5Jz++IXgb/9W+D97y9xlue6LyXX9aUSV2VSHI/HcYZzGjt//jyOHDkCl8uF1tZWfPjDH8bnPvc5dHZ2Mkm2xsZGpmW8atUqvOIVr8C73vUufOc730Eul8MHP/hB3HfffS9Z5QlAuTzL5s2bZd3j3G439uzZU7XjuaOjA3a7vaL7Ecmt8frDQOlmXrVqFe655x6cPHmSvdj573h8Prz2179G8/h4af+xGF73xz/ikde/HoViEYWCCvv2bcbOnbcilytf4avVs7hp89P4pOGL2PanndBLlFk7T52Crb8fUy0tsNlsuOGGG9Db28s+p05rSjToob969Wokk0nodDoEAoGy7Xo8HtTW1jItUZJdoiBU0uv1MmtXueTJbrcz2apK3Eu+bC7medJDMZfLMRQqm82yhJG4kmTwoiSoLCdumFKpSs53s7OzcDgcsFgskjx/smaenp5mSTmPmkqdi5wxhUajgU6nY/NdfP6EAhkMBnR0dMDv9zNdU41GA6fTCa/Xi6mpKbZvqaSXkjuTycSsyMVBSeOtt94Km82GI0eOlF37DRs24NWvfjX73YEDB9g8I55jT08Ptm3bhueee65E39HpyrR46drRdaPz50vxNC5U9jaZTMxMhD8mi8UiQMzoePiEmUyBqKJkNpsZAkv8XLqmDocDJpMJY2NjZdSA5uZmGAwGbN26FQaDgY0Rv4DbsGED7rzzTuzevZtJodGY0zWw2WxobGxELBaDyWSCz+crm4u1tbXMrU+n07Ekly+fE/cSEPJ3KRkm/i7xTgcHB6t2/BeLRTz99NPw+/0COk8wGMT09DRuueUWJl0m57JHn3d2dmL//v1Mz5rGev369axxVokT3ebNm9HX14eRkRGW8La2trIkHagOqig95ssZYv52AsCZV78akfvvx/pjx2D9xjegkjAEaTt6FK3HjuHsy16GwEc+smCIqvh4Vqw4jYceOofJyWX4+c9XYdeu8vdVIAB8/OPAV74C/P3fA29/exl9WtG+LqkL4VUSV2VS/Pzzz+PWW29lPxPP98EHH8R///d/4xOf+AQSiQTe/e53IxwOY+vWrXjyyScFK7mHH34YH/zgB/Hyl7+cmXd8/etfv+znsliiWFQuzxIKhTA8PIxgMMgefMVikQnmV1OWIMREifvRPffcg2w2i507dyIUCsHlcmHbtm2CUlWxWITBYCghWek0rt+zB7fs2lVmp7ziyBHcsHUrnjRuws9+djtGR6UXQO3tQ/iba/4Vb9z7KNxSgpIAwh4PdmzfjsmmJqglyq1AORrIJ8darRYrVqxAd3c3c+MymUxob28XuFp1dnZCo9FIOl9NTU1Bp9PBbrezJhYK4uZRAw5fNufHjW8i4ykEFOImM55mQS9rSiJpP9WQWUocLRYL7HY7kskkm0dmsxn5fJ4hR5Sw8gmkTqdjn1ETFZ8U8YgiIeX8diih4bcrdc580OexWIzNV9pOJBJhjmjFYpE5mIn3RQglXRdqyOK/YzKZ4HQ6YTQasXnzZpjNZvT397Nrv3LlSqxdu5Yd17Zt23DTTTdJur4BYHQmXmOZPydC/+12O0tk6X6m66nX6+FwOFiznlSlYHZ2FmazGVarldlB06KL/kvXPBaLwWazlVVKKIEk1Nbr9aKhoUHS0Y2eLZs3b4bFYkF/fz/S6TSMRiNWrlyJNWvWCJAwshfnVUl4TeCOjg4sX74cY2NjbF/Nzc1Mq5uk4Mg6nF80ED2kGn9Xq9Uim81W7fj3+/0IhUKYmJhgf88/QycmJnDw4EHccccd6O7ulnXZA0pJ6uDgIPR6Pdrb29m9Scm5y+WC1+tV9CwOhUIYGhq64N42y8CIuro69o5QAqpUO+YrEbLn//KXAx/4AGJf+xp0X/gCjKL3gapYxIq//AXuz3xmQRFVueN5//tV2Lu3ZAryxBPlfzcxUeIZf+lLJTOQ++6rbiGt1IXwpRJXZVJ8yy23VGzmUKlUeOihh/DQQw/Jfsflcr1kjTqkQqk8y6FDh7B37172AjKZTAKTh56eHmi1WrS0tCAQCJTZwXo8HqRSqTl1tFKZU61WC9BnoHQdqbTvnpnB637+czRJmHAUVSoc2XYbvnXmbvzmj1sxO1v+pLBYErh/68P46NBXsPKJAcljyVks+Mutt2Lfpk1QG40wXHjhx2Ix7Nq1CwAYfUJcis7n89izZw+KxSJzD3Q6ncLj5LjZpLMqlWBSmYsMGQjN45MZsbOW2KSAkC7aHnCxI1mM8JEzGml68pFMJpFOp2G329Hc3MyMHuSQWaPRiJqaGsRiMYYKE8pJ3EKPxwO1Wo3R0VGWUPHjODo6iuXLl7NGMjnDCI/Hg0wmg1QqxZA7HlmmcyfXPLmmLeJLj4yMsMSXN0sYGhpCa2srU7wQv+DpuHU6HdxuN4aHh9l58Wh8Pp+H0+lENpvF/v37mRYzJXPT09NIJpMCUX2VSsWoHRaLRXD83d3dTJ6LL2/z/69Wq9Hc3Iz+/v6yprpCoYBcLofa2lpmqCLmGFOzXFNTE3NsIyUSuvedTic0Gg3TMA+Hwwy1pWtLaK7FYoHb7UYkEoHb7WZlf5qjxHOlMaL5QudFyRlf2ZJDL3lNYI/Hg4aGBvYdjUaDmZkZtLa2IpvNYnp6WsCjLhaLbJ7X1dWhtbUV09PTcLvdjCtNiTIdMy3iCHUWJ896vR7BYJBpTJvNZgFPW6PRIBaLYWhoCOFwmNluS0mY8UCHx+NBPB5HOp2GXq+Hx+NBMBgU6NCqVPJqGHKmG4FAADt27ECxWITf71eseUvvFDIKWgwJmOz56/Ww/c3fwP/GN2L8X/8VzT/6EQyc6lH6nnvgvP32y3Y8W7YAv/tdSeP4oYdKjnniOHsWeOCBkqvel74E3HHHC9vXpYhqDaZXOq7KpHgpFj6Uyq0dOXKElf7FlsHJZBInTpxgqFI4HGYyUJRAUAnVYDAospfcuXMnKw/Tvnbt2sXKw0ajEQa9HquffRa3P/mkJM0h5PXiJ7f9NT7/5/diYsIjeX63bD2KvzX/A27d+YTkNooAjvf0YO9rXoNpShouqG3QDZ3NZvHcc8+VlZf5Bdzs7Cyef/55PPjggzh06JCk1S9paB89ehRnz55l7nAUQ0NDqKurg81mYxxFg8FQRmkgnrPJZJJUhaAEyGazwWq1MuSfR1wpmaIGGd4wgj8/ar4j1GlMxh1QpVLB6/Vi7dq1+OMf/8g0UCmi0SgMBgOuu+46PPXUU2VoND+e09PTaGlpwcTEhOQiuVgsoqamBoVCgSkwiKkRZrOZoXOUXPLlakJZqcwrTmRpYUGceUqyxMopRBHwer0CFzVeg5dPuPr7+zE2NsYk7nj6QE1NDWuSOXDgQJkV8p/+9Cds2bIFvb29iMVibG6IOdcURqMR2WyWcePFqDkhq2RaIP57+jmZTDKeOxlLUCSTSTQ2NqKzsxPDw8NML1m8ACOUesuWLdi7dy8OHTpU9p2GhgZ0d3djYGAA09PTLJmm7xiNRthsNpaEKdEEnpqaYosCfn54vV6sWrUKoVAIU1NTkuNDdIRVq1ZhbGxM8pgbGxuxcuVKhixHo1FEIpEyy2Cyi85mswzlF98/JpMJ8XgcgUCgbFHNBwEdhUKhohV0NR1aJaYbe/bsYfOyEqgSiUSQy+WuTlthkwnjb3wjjvT0YPnjj2P1E09AXSwi8ZnPYP5s4rlHTw/w+OPA/v3AZz4DXDAEFMTx48ArXgHcfnspOV637vIfJx9Xg6X0UlK8FACUybNks1nMzMygWCwyuRZC70iOJhwOQ6fTYWxsTBZRW7lypQDlkSu1HT9+nCGulDAQOrPngm3nxuZmvOa//gvLTp4sO+YigGevvxFfMH0OTzxyE4rF8vKc1zuDv7nl3/G25/4dXplEbrS5GU+96lVIXHMNotGogC7AI260Aq5UxQBKMnW/+tWvBAYlfFATaCKRwMTEBPs937gzMTGBxsZGlqxQokYvLOKPEsWA/3t+ewAYrYjQWjHFgpqgCNkTN7XRtviGv0q2uQAwMTFR0Z76+eefZ017Ui9ZoKQIMDIyIkvVKBQKCIVCDLmT6njPZDLM+ppCfP70XZqrYt4t3TuUmFU699nZWcYR53nwlPiTRTOhcOLFQCaTEfBOn3vuOaZTS8dNVsgA4HQ6y5rQxGOZy+UYT1Qq2c1kMjh79mwZ/1v8vUAggCNHjmBqaqrMBGR2dhZTU1MYGxtDOp1mCRqPklPlg5LGUCjEEmseSQ+FQhgfH8fZs2fZGPFNdMTd1Wg0WLt2LVMFqZT4ySFVKlXJTjkSiUiOIc0BsgumhSV/7vl8nqG/XV1dMJlMGBgYKKNGkG1zXV0dO55CoSB7L1dD1zKZDGZmZhjdQcoKmioplUKJ6QY1PMuNMfGup6amcObMGcTjcbatXC6H8fHxRW0rLKCGNDQg9IEPYPfdd0N3+DDCo6PY3NjIjpshoek0bD/8IUzvex9UNptgewuJlvb2An/8I7BzZyk53ru3/Dt/+EPpO//n/5SoF1eidepqsZReSoqXAsBFeZZK1qImk4klw3wiQUhxLpdDOp1mMm5yiFooFEJfX1/FUtupU6ewf/9+wQudXkhU+g79z//A9rvfoSYYLDufoMuFH9z8Nnxl78cwOVn+BFCrC7j55gO45Za/4LU/e1gyIY5bLNhx++3o27QJeqMRs6LESg6dVBJiyUBxnDp1StC0Ri8QohgApYeM2VzSssxms2XXjMablADkmr9IEouSag1HQqO/TyQSDHmmBI5HOCkpnp6ermiAA5QS4tHR0YrfOX/+PHvx0zjwCDXxiHnzFjGHFQACgUDVRJXsW4nzKzZCoLEnVQEyn+CbrYrFkq1yNevh6elpRkWRWlzk83kEAgEBIsknIiQzNzk5iVgsxhajPJqsUpUkEffu3YvbbruNJT107fjvkSlLNZtnKdqMONLpNI4dO4bZ2VmmNctfM7Jn5hco4utCi95Dhw4hm83CaDSW8a6z2SwOHjyIYDCI2dlZpvQAXKQYpFIp+P1+1vArF0QxKBQKbLFOCJZer2d29SThabmgXkPHQ2Pv9/tx8OBB5PN51NXVsetE9xRZGK9YsUKwb/GxACUHOpPJhEgkIoumU/NepaAGwUpW0NRAWCmUmG5QpaKaBvHIyAimp6cRj8fLkOtEIrEobYV5Gorg3djQgFx9PZIcNYTmSyAQQNOOHej99reR/vKXkfnSl+B461sBXDq0dNs2YM+eEp3iM58pocTC8wC+/33gpz8F/uZvSqoV5nIp5EsScmO4GC2ll5LipQCgTJ7F7XZjYGCAfV/89wBYE0clRC0ajWJkZAS1tbWypbbTp0+zl7m4XK/JZnH7H/6AHhmx9ec3XYd/rvksnnj8TuTz5VO8oWEab3jDE2hp8UOv1+Mvb3gD2s+cgZ4TXz+1dSv2vOY1yNtsqLswDqTicLmCT8j4FyiPsFDjk9Q4UnJEL1NxEkal33Q6zZC0TCZTds2IOkPat7wGML1gKaHs6+urijwpNUwgJFEqpB6cUqX9YrEoi8hTxONxmEwmVongm+gIRSepNTJEEAeheeIkmoJ+J24KFCe8YgRZ6rrSdeSRWx5xpf1Go1EMDQ0J7h+p//KLBvFcon0pXeylUinmSieea+RYVs3AJpvNInhhoUu0HNoezc1gMCi4FvwijeZ7LpdDKBRCQ0OD7L74Xgr+elOQzTFx96XUVajiEA6HYbfby/SbATAL4/7+fqRSKbS2tiIajQpc5mw2G+x2O+OG04JOrIWey+XQ1NRUlQMai8XYfKTFND9GxDWPxWJwuVyy6KUS0w1K7MjERwpUcTqdGBsbE6D7PHItRvcXSyjttzl//jxOnTpV4nCrVNjw4x8DAIw+H4wPPojMI48g/i//gn3j45cMLVWpgLvuAl71KuCHPwQ++9lS8x0fyWSpCe8HPwC+/GXgDW8o/d2ljKvJUnopKV4KFtXkWYhzTC8I8YOP10OthKgFg8Gq1qJi7V3+Bds8NiaZEMctFvx0+5vwL8c+jfMHO8o+V6tncdtt+3DzzXugUuUBlF40MacT+++8E1t/+UsEGxqw921vg7+rC1qUbhA6N0KpLmfw9Azx7wCwpiez2VyGAlLCTH/LS9fRS5F+phc+8U/5ci3foJbL5SS5sHSNF9rRTawqwSd+cpQAcRAvmhILCp7609TUhImJCUaBoMjlckzRwO/3w+fzsQSZR+/IlIVc2OQML/iEl09kpT6nc66E4FbaDlEJ+IReHPz1o5/Fx600Iea3SQsLfo7w1sOVgq4JNamJK1KE5gIXF+FSMoJKECclvRSUxPP3F3+s9DtK9OS2k0wmWeOx2+1mi1C+0Y5oKGSoIr7/Kdnm+znkIpFIsLkppR9OqHoikaiIXpLpht/vZ4ksBSW0JKl24MABWVClqamJyefJIdeBQKAqun+5Q2m/zcDAABuL7i9/GfoLKioUhiefhOYvf0HdAw8g/sY3QsVxsxcaLdVoSlSJe+8tybT9678CYoPYkRHgnnuAW28Fvv51YM2aee2yYlxNltJLSfFSCKJSU0o4HIbX660ohu90OpFMJhmqIEZWSJqIuvQrIQ9yMdTRgT3XX48bnnuO/W6guxtfXvkx/OipB5BOl6uX19WF8MDrHoO7LXThwa5nL1SNRoO+226D2mbD8euuQ16thuFCgk8ySBqNhpX4LmcQfUScCPMvSbVaLeCVEqJGXf1UfiZkmN82IVEGg4Gdm1hyqlgsyVdls1nWREjbpu8DJTRsoVz2AAiaBwEhdYRKrkrNQoDyigPPFyaEmEdoKeHh5dAmJydZB79Wq0U+n0cikWBSXISo0zb4fUlRBSr9rDTkqjbARQtoOXSerr/YSEVMQ5lLkKEKn6wTij6XqFQBoSoCLU74eU2LIIPBAJuIyykOJb0U1BgsR68BINByrkQfsNvtgv2JkWlSrSCTI2q64xtotVot4vE4xsbGJFUnKKxWKxsjoHxhzY9hNa6nEtONurq6iqCKz+cr479TqNVqJllXDd2/3KFkjhAaTvz10Te+EabJSTgPHRJ8V5tMouc//xOhw4cx8Dd/gwynIHMp0FKLBfi7vwPe9S7gH/4B+N73APG6dNcuYMOGkvHHQw8Bl2I9cjVZSr/obJ6XYv5BpfS6ujqBda3D4cDy5cvh8XhgMpmQy+VYAmwymVinttvtZslTOp1GIpFgLmAkD0T2o5SYklxQoVBANBqtavX5p5e/HBMNDSgYjXj8rjfgzZYf4bu/fpdkQvzyLX/Gk8teh8/+72dhu4CK0YvGZDKVOJ4A4m9+M8w1NcxUYGZmBolEgumv1tbWKho/XkZJamzNL4DIRcmAGBEk21aeE0v8P6PRyBod+QSQd7ijhIKk8ngEqlgssrJmQ0MDWxzxCSOPTNtstoo26XMNl8vFjp+Olc5br9dX7LwXhxh9Ff//5OQkWwRQuZq0jVUqFY4fP45UKgWPxwOr1cq0lPP5PKxWKzNcoWqIVMLLj1WlcZwrSsTLqBWLQt3otrY29j3xvnkElk/0aHs80ssnnZWC5iGdM7+Ao8WUkiB0W6o5Mp/PMykvmr/8vuhng8GApqYmdiwv1Lq+tbWVXVt6sRPNiNDW+vp6eL1e9tyjZJboMmRhTDJwlfZnMpnYQtThcMDlcrF/DoeDVeDiVbx9m5qa2MKNKnf8f6myRyYaXq9XYGHt9XqRTCbR39+Prq4ubN++HR6PB8lkkhmUeDwebN++nZlueL1ebN26Fbfeeituuukm3Hrrrdi6datAPrDa/bHYQskcIaUQQkJTLS04+m//hlOf+QyyEs8p14EDuO7//B/U/OpXSF/gVpNc36VAS+vrgf/4D+DIEeCWW8o/n50FvvENYOVK4JFHSvzjhYyryVJ6CSleCsWhUpV4x4QU04uIGmAcDgdWrVqFuro6PPHEE0wqi3/hW61W9Pb2wuVywefzycogUQlJDqkqaLX433vvxbLmW/Cer2zF5GS51JrDEcaHb/o6/nrvN+Hy+wEAN/72t/jDBTcw/uGsUqmwfPly+P1+BAIBAVqazWbR2NiI5uZmDAwMVOREajQadHV1ob+/X6DWQP/V6XTo6urCkSNHqo63zWZjvFGpfZIEUiKRYAk+zxGl5JHQNCm0kBp3SOs4nU4L5O9UqpLEFRlrOBwOJrPHc4rpZSvFJ5Ubp0rjSHQOh8MhaErjOaNKkUdx8gmUo2aEBmu12rJzy+fziMfjOHfuHMxms6C5j8JsNjMnttAFgX8pqoDD4RA0tvFJIo8GAiV+rlyYTCbGZZWjWBDSznNcxaVvGksqAcuF2WyuqD4BXNRLzuVykteGPq9kb05hs9kY35bnnlIFhBZExLHlaQZ0n5HWN3Hd5eySq/VS0DPtySefFCii0PibzWZs3rwZAPDkk0/C5/OV0ZPMZjN6e3uh0Wiq7q+1tZUpkMhV28icp1KQxjWpcYgRbp1OB4vFgunpaQH4wV8vHr10uVzMAIR3tHO5XGV/J4V02mw2GAwG1msihbgrQfcvd9B7r9I16+rqwrFjx4RIqEoF3/btCG3ejPZvfhPNf/iDYLu6RAIbvvY1DP3pT9j3zndC39p6ydHStWtLKhX/+7/Axz5WolDwMT0N3H9/iW/87W8DXF/ovELJGC4WS+klpHgp5hyUnOj1eoZGihOhSpJTFJXQVBSL2Lx/P9YeOyZzDMCfhm7HGz57l2RCvG7NMTx63QP4uyceYgkxAFy7ezfahoaY6xglKCSaz0sq8UlRMBhUhJhptVr09vYyExNCioin19PTg97e3qposdFohNvtlu0w93g8DJ2yWq2wWCyM3pDNZmGxWGC1WtHQ0FAxgSR6RjKZFLyk+CRUq9Uy9YG6ujqG0NE/g8GAuro6ZtpS7aVmsVjgdDpl+WU6nQ42mw06nQ7Nzc2w2+0sSaZkp7m5uaxELw5KoOWa9SgISacFEJWw6b+UAEUiEYyOjiKVSkGv17MyciqVwujoKGZmZmA2m2WvLdl2ezwexpflEU6ySHa73ZLNfHyQXrHcuanVang8HlgsFpZESu2PTDX4qoJ4O3q9njlRVtofUWrk7hFC3qtdM41Gg9bWVkFFitz/TCYTPB4PmpqaGFoMXFTloIUIJZNTU1N4+umnceLECfj9fvZSPnHiBLNRpl6KhoYGpFIpBINBpFIpNDQ0sMYnl8sFt9vN5izth8xYCMml71CiR+NM3wEu9m7U19czm/ZIJML2t2bNGqYLLoWUE+pcrZpGRhuNjY2Ms0uVH7VajcbGRrZwqsT1JPfMffv2YWpqCl6vFx0dHczafN++ffBzz1i5aG5uZjrdUpUt0vGudl5XIuSuWX19PTZv3oxly5bJIqE5qxV73vEOHP/Xf0Va4nnefuIE7vrsZ6F66imYTKZLjpaqVMDddwN9fSVKhVFCZPmPfyxxjP/5n4GFAq6V3GeLIZaQ4qVQHMVikemjyskX9fX14fTp04yLJ+ZVZrNZPPPMM+jq6pKVQYqMjKDt4x9H43PPIavTYbK+HgGOupDJ6PD443fhxIm1Zceo1+fwjjt+ik/1/zNa/jRY9nlOr4f1gtMWoaClbWZw4sSJijJQJ0+erIqAFotFJBIJhEIhWK1W9lKhcwuFQkilUoybLYeCkp0tyYWJIx6Pw2KxYOPGjQiFQpicnBQ0f6XTaTQ1NaGzsxMnT55kySGfAFJylM1mEQ6HGXVCrNNL6FhNTQ2i0ShLsniUJxgMoqamBkajEfX19UyiSYyUq9Vq1NbWskYsHuGj/yfFAb1eD71eL2ubq4SGopSOQEmDmFNLiwYAjN4j1yQUjUZhsViYHTEZVJCEVjweRyKRQE9PD3OFJKoNIflGoxHr1q3Dk08+WfF4Y7EYamtrmcOcOMhQgpQDdDod6urqmJUz8ch557VKqDyvpysXGo2GNYjZbLaye4ioVOR4KL42NPZWqxVdXV0CO2d+geZwONDV1YWzZ88im82WOaLRnJ6ZmUF/fz/Gx8dZ4k/nkE6nMT4+zuySK/VS0HNPr9dj48aNTApPr9fDZrOx5x6Ait+p1kTF04OUcHirLfYMBgNzFqRrIJaJczgcDL2tJqU2Xzkt/rzo/uX7Nkwmk6LzWoyhBAmte9vbsLujA41f+hKuETWKm+NxvO4//gPn/X7g1luBy8CtNZuBf/xH4G1vA/76r0tGIHxkMsDf/z3w8MMlLvLWrfPf59VgKb2UFC+F4lAiqzI0NIRAICDoNherT/j9fhgMBklJNtvgIDb/0z/BcsHpTJ/L4Z7HHsP33vUu5PR6+P1uPProvfD7y/m9y5fH8PVtX8H2n3wJeomGuKnWVjzznvfA53DAcCFZMRqNSCQSyOVyjA8oRrh5GahqJftcLoeDBw9iamqKJR70sikWixgfH4fVasWyZcuYzq7Y1cpms2H58uU4evQoQ8d4qopKVVKWiEajyGQybMUtPo5gMMjc8AjF48+N52LyjmjiEjvxZ00mE1KpFOx2O+PTEq0iGo3CarWiWCzCaDSipaWFOYBRGAwG1NfXM3kqAKw7nuYQzZlsNov6+npmm0vnSglnNBpFXV0dxsbGZBVBisUi44BWitnZWcFxiOXNCO3jFww835b+hqoCNM588D8vW7YMVqsVzz33HPx+PxvH2tpabNmyBeFwuKpKQ6FQYMg0XTs6HppH6XQaNpuNKQdQAkJzmLiuDocDVqsVXq8XgUAAoVCIzRlCtlOplGwCTsfDq27w6hM8glsoFJjlsNj5UaPRwGKxoK6uDnq9XkBt4v9L26R9GI3GMsoLGYSMjY0xHn8qlRLM2Xg8LrBLLhQKGB8fZxxRm80GjUaj6LlHzoxEG8hkMozaQlJrvKPbvn372ALBbDaDtKej0Sg2b97MOLr79+9nnF9CUnt7e9nnlYLu01gsxpJiCpJiM5vNaGtrw/T0tKyUWk1NDeLxuGI5rUKhgLGxMcTjcVitVjQ3N7P7RnxevNOj+LyKxeoGF5X2NdeotD8ynqh0zQgJFVN1eDfDmFaL05/+NKb+/Gds+cEPYBZRlmqffRaRqSnUcL0Alzra24Ff/7r07//+X0As2T8wANx0E/DBDwL/8i9AFdbOVR9LSfFSKA5C63K5HKampsqSObfbzV48hBqJuZtUNqMGPbad2Vms2bMHGx97DBpR4lnr92PFmTP4efEN+PWvX4tstnwV/erbT+KhzF/j2u/uLPusqFLhxF134c8334xYOo3ZCwkZcPFFTAL0PL+ND+KaKkGKx8fHUSgU2FjwKJdWq8XQ0BC2b9+O0dFRpkVKf5vJZOD1epkTGY2jmHdNlIjdu3fL6ifPzMzgxIkTLFHgk0fiHROSzTfekSoF/wIijvLs7CzGx8fL9kPKE2QWQOgWbZvK8JSMEA+UT1gp2aEE1el04uzZszhz5kzZONbX12Pt2rU4fvz4gsjkidFxMR2IdJ4Baa4vNVyRtFCIm2P8GLlcLmSzWUQiEfYCpjEPh8OIRCJVdZUpyBVMzJWmhdzMzAyy2Sx6e3vx+OOPl9lhU7K4YcMGjIyMYGpqqsxSnOYw6e9WCpov4oUlfUYLY6fTyRZa4u8YjUY0Nzez5JTMRfgFYTQaxYkTJwTjIN4OXa9UKgWtVouJiQnJBDydTiMYDGJwcFDWLrutrQ35fB6RSASTk5NlphMNDQ1sDvp8PoyPjwt6Es6dO4empiaGkA8ODjI6Ei006BmazWYZ6trd3Y3Ozs4XnPRFIhE2V8XqH4TSp1IpNDU1IRaLVeQ4Hz9+XJGc1sDAAEt4+YUVn/AqOS8lBhdK9qU0Ku3P4/Ggv79f0TWTCpqb9P50u91Qvfa1eO7667H6K19B/f79AICCRoO9f/3XWCPFZ7jEoVIBr3sd8PKXlygVX/uaUKWiWCw14j3+OPDd7wLbt7+w/SzZPC/FiyqoHDc6OopCoVBmUUqlUzF3mILKmvT/tB2zSoWtP/0pOp99tuxvkiYT/ve1b8C/D78fzz13fdnnVmseP3hoALd+56/gPn26/O/dboS/8Q0czGSQmJqSRPDoxcmrMohjLnJS1IgGgCG0lKhQSXl0dBTBYJAlgfzxBINB9tCgZJAPPnGXavriY3p6mqEa4kSPrhVPqeA/F/8/USykIplMIhQKMfoI0TkI/aXfnzlzhpXp5caUOveHhoYYxYSSKjr36elpjIyMVJXIU2oUApSQNUIveTTdYrEwi2apsaFxI6vnSmMUjUbR39+PvXv3Mi47LXBisRh27drFFBOqBfEx6Rh49QhKOCkBr2ThPDs7i0gkUtFSPJ/PV2z8Ay5KsfHqF3xQ4mKxWHDmzJmyZwglnrOzs6ziRNq/hEKnUilG+ZBSp+D3RfQXvjmOP69oNAqj0YiBgQGcOHGi7HqQXfbmzZuRSCQwPT3NjoeOOZlM4ty5c/B4PKw6UygUBPc9zeX6+npks1mWDEo9Q9VqNcbGxhjqqlarK8quVYpgMMiMQXgaEAU1zAGoKKWm0+nQ19dXVU5rbGwMe/fuZVxmknbz+/3YsWMHgItIcaXzUmIHHAqFGA2j2r6qRbX9rVq1StE1O3fuHHNqrampYduZmppCNBrFNddcI5Al09TVof8LX0Dsl7/E8u98B4MPPIDoqlVXVJbMZivpGr/lLcB73gOI7QCGhoDbbgPe+U7g3/4NmAv9ecnmeSledGG329nLkW/yoQYccnQSJwwU/O81Gg1isRhacjls+/a34Ra3wQIYa27G/7zqrfjPJ9+NkZHyclJ9/RT+/KlnsOzv3wWdREf79C23YM9b3gJXYyMiR44wBJOOhY6Nutz5F6zccSsJSlQIWeERzlwux5CFSpawg4ODTP9SvB0AbDtKgrbDq1PQf4mzySfG4n0R+lhNEzgUCsFut2NmZobpVot1kSn5o2RVCvWi0vjg4CBz95I67iNHjsz52siFSlVSRqmpqSmjhpD6BCFrcnQWqjZQiGkoNEaHDh1CLpeD2Wxm36FkLJlMVrXJppByoeOvGSU8zz77LEP6xcc0OzuL3bt3C0xX6Dt8gksJarXjof3zSSGfiNJiWK1Ws+ZQ+juLxYJ8Po/BwUGEw+GKJg9kgUwJKJ0zj1bzC0q+4VLMpz916hSjKfELHLKLPnz4MNMC568ZPfeIokALDLHBBVVEQqEQ1Go1QxxpXtO2yEgjHA4viAkOLcSpIiDmivPuldU41R6PB5OTk7IUi/r6epw8eRKZTEbwbjAYDNDpdMzmurOzsyLSTfztSvzlvr4+DA0NzXtfSvc3MDCg6Jrx5h1S2xkfH4fb7WbNiiqVClCpMP5Xf4Xgpk0YMRjQsEhkya69FnjuuRJi/JnPAOLp+L3vAb//fUml4rbbqm9PyTgvFpvnq4/RvhRXLKLRKLRaLeOW0kuHEmWTySRpUMCXdykKhQK6z57FXQ89JJkQn9i+HV+88zP44k8/IZkQX7vuIB7pegBdH35jWUKc12rx5/vvx5MPPgg4nRgZGWEufIRO0sNSzqlO7riVBL14iGrC/5fOPRaLwWKxMCoEJUVUkovFYoKSuHj7cwmirfAmAMTb1Wq1jDvJf1+sEKCkZFsoFHDw4EHWRCV3LJSk82PFo3gUiUSCqYRQgk3/lXI9nE9QsgWU1DEcDgcsFgsAsISXjBeogz+bzTJkmKgxUsYd/M/EI6+k9FANkRUHz9vlaQuFQgGHDh1iCT29xOkfqY3QIoVfxPBIOc0XpeNIyCQ/9ynxVavViEQirMGQT+aJjjAzM8NMfqTGiFdToecPr/LCU23E1Q7xPc1XinK5HNLpNPtHsmGks87TgWjM8/k8oxuQXBy/H/pHustnzpyRdASlMSADi4WgBJGCCZ0vfw9JfU+lktanpyYys9kMv9/P6CzpdBp+vx9msxk1NTWYmZlhzzTxNaM+gjExYVUUSvjbIyMjCAQC896X0v0R4l7pmhENpxrvuqmpSXIcR0wmmK1WaVmyYhH4wAcAiUrqpQyNBvjoR4Fjx0qcYnGMjwO3315q0qvmoTQXm+crHUtJ8VIoDnpRNTc3w2q1Csw7iBdGzUiVkiI1gE2PP45X/fu/wyi6m3JGI57/5CfxrRV/i+98/x2IRoWrZo0mj7vuehyvf82vsXz0HFSiBDHq9eKJz3wGZ269FfFEAj6fD4lEAsViEQ6Hg73AKKmhrnv+xSEVc23eoJcmH3xZmcqwUqHX6xkCRg1c9NKlsvFcj6ejo4Ohnul0mqHmy5Ytg8ViYSgZoYf0j2gXcscqDr/fX1ZipH/UeEjBN63xzVj8uRE3lI6LEpKFdM4DSlUQajgMBoPw+/0IBoOMr9rQ0ACj0QiTySTg8dJ85xeEdN3E3+ETTrnjJ+46Ja5SUekzPlQqFTPI4ceapwnxY80vOuifGO1XEnJzk7ZDi2jSUKbkl+5LosvQ2ImvPb+QUjIGdDzipJieU3yCy3+HEmDaNz0/eCkxen7QeNK85/+O5j2h91Q2lqNFkTQf/U7KdERJGAwGVhkj2hadK+9CqaRcX01OixaE1eyyqxmOKLED5hH5+exL6f5oUVPpmtFiqJq0ndVqnbss2Re/WBINvvXW0n8laG0vZH4ojc7Okuvdt74l3WT3jW8AGzeWUy34UDLOl8q4ZK6xRJ9YCsVB2p+VZLKoFE9okbi5xZzN4q5HH0XnwEDZ9kN1dfjz//0Qfnr09XjssZVlnzscYdx776NoapqESqPHL+6/H+/7wQ+gv8CFHL72Wjz7znciazZDi4sUDdp3JpMRGCfwL1VCn4gDKy79ziUoIQKkUV1KBKrJIFHJVgqlo30oQfDoxe31ehGNRtliwG63I5PJIBKJwGg0yvKTKYlT8sDiqR783/NlfTp+Xp2EvsOX+KnsTKV3irkmaUqis7MTJ06cKGuQA0qKAuvWrcOOHTugUqlYYxUl+kSb4JsVpRI2vpRPCKM46AVL40i8WNomJav0+2pBBg90L8pRm+g7fDIqhd5XC7p2VqtVUhGCFl6k/8xzvmkBCIDJh0lRdmh8aD7y9xudFz+n6N6WalalcZHjntMY0yLG4XCwZJfmMIEF4sQduJiIE33F6XTC6XQyfj6/eCQlBpI2nG9TktFoZIoitNjgx8hiscDj8ZRZTctFJYpFKpVSZHNdzXBEiR0wjdl89zWX/dXU1CCRSMheM7vdXlXajt6TNTU1ymXJ/vhH4NOfLv1/LldCjJ9/HvjOd+CPRC5b05paXbKBvvPOEp/4Am2bxcAAcP31JUvpT38aEOe+SzbPS/GiDN6qESg9dMlmGCjRK5YvX84E92nlTP9UuRwe+M53JBPi89ddh8c+/o/4p0fvlUyI29qG8e53fw/NzSW+5ezsLFJWK/zf/S4yJhOeee1rsfODH0RWQrtWp9PBYDAgEomwByY1y1CXtc1mg81mY6gAX9InFEDJQ5b2J5dI0JjQQ1YKTSb7VEKMLRYLQ3Pp/+n3SqK7u5tdM0qOibdGfEBC7cgkg8rrYn5ktejq6mJoDiX09I/scUm7leS0ePtZkteyWq0wm81sO5RY0UKBDEoWIlQqFUKhkKzqQzgcZg6ENCeMRiMsFotAi5vstgkl5OcQJUx07kRl4YOSRavVCpfLxZIYMZ1ldnYWDoej6nVRq9VYv369oKTPB49i805+tE86JmoGrYbMEi+brhHNJ/5nGi+iO/DXlegPGo2mTDNZjODStaf7kzd3ofsXAEtUAAieRQAEPOJq40hmGrRAJLpTsVji2tfW1rL5SudA/6jSYzKZsHHjRlZpI/c/qraR4U5zczOy2Sz27duHyclJpuxjNpsxOTmp2CzD4XCgubmZJWGECpvNZng8HtTU1KC5uXlOHFY5ikVzc/OCGI4otd32eDzz3pfS/TU0NKC9vb3iNevo6EBDQ4NiG2O5cSyL739fKAMBAD/4AbLbtuHQjh3zmh8vJNragKeeAr7+9XLTj9nZku7xy14GnD8v/OxqsnleSoqXoiwKhQJGRkZw6tQpjIyMCF6U1bhlK1euRENDg6AsSf9mNRoc2bRJuC+1GnvvuQe/eOPH8bmv3YNjx5aXHc/GjQfx1rf+CFarEDUqFosIt7XhV1/9Kk698pVIXrAzJUSYVvUWi6UM+eKRJHogXX/99ayMwyc0hOpt2LCh6kqW58ACELwcgYu80bVr18JgMCAcDjPOIjVsGAwGrF27lnXoUmJIiBYhUzabTdELfcWKFRWvGcm/0YveYDDAaDQKKgOk5Vvt3O12O2tEk0LMaHFx/fXXQ6fTMW46jXMqlYJOp8MNN9wgmEc8DYOuW2NjI7P7lQs6nmrH3d/fLxgzcVNaf38/c30jTrF4ntntdgFCw5erKRoaGnDjjTdCp9Ox605c1kQiAZ1Oh+uvv57JOxHCSf8oUbbb7YquPR1ztfNvbGwEAMlrBgBNTU2or6+vuB2PxwOn0wmbzSZYvFBCbLPZYLVa2TyS2xctHOg+0uv1MBgMjIfNyygSYsdvh6fqUMIhtS+VSlXRWZFCq9Vi9erV7H7l7yG6X7ds2VL23BM/Z+rr66HRlGyenU4nzGYzGhsb0dLSgsbGRnYvdnd3C5q2qPpGTUnJZJKZKFUKel47nU5YLBa0tLSgo6MDLS0tzFWS57DOpxSvVpeMOSqNkRJjDiXvmFWrVmHz5s3z3tdc9rdq1aqK12zlypVYtWpV1XfjnJvIfvxj4G//tuzX+mefxfUf+xhaLiDZL2R+vNBQq0t6xocPAz095Z/v2wds2AD87GcXf6c0d7jSTXbAEn1iKURRTfuRuGWV5HvI1UysearRaDD8+tdjKB5H++7dyNjt2PX+9+Mvqo349udeiUhEiMSq1QW89pVP4EOxf8Oe3PXIakpLUyqJFoslmS99bS3s6TR8Ph9rUKOmHULcaFVPygL8MZlMJmQyGTQ0NGD16tU4cuSIoNFFo9Fg9erVrMSuUqkkm7yMRiN74ZNZgPj8CZlqaGhgzmY879NqtaKnpwfNzc04d+4campqMD09XVYeJoMDq9UqiZiUxk8Nu90Oi8VS8ZoRquBwOJidLo0hWfySWxslg+KgBIRfVEg9lCn57erqQiKRwIEDB5hcmEqlgsFgQE9PD7q7uzExMSE7j+rq6gT8VykqAX1WLBZhNpslS/HEs6bxE1MzeF40qa7IzTNK4ACwY6YxoGMmN7Z4PF7x3Pv6+iry8qkbvlLMzs5icHBQ0YtGp9OhsbFR9rhNJhPjTfv9/rL5SFbIQCmBjkQiiMVi7BlCBhbxeJwhwWIdb3p2UGLb3t4On88n0AW2WCyora1lC1Wj0VhxOyaTCa2trZicnCyb1/X19WyxQU244vOi54zNZsP27dtlzTTq6uoEpjVS+zIajYhEImXPUCp9889QpU1JZBYiF9X2RYu4hdCPXQjDEaljFj+vvF4vO6b57kvp/gAoGkcl25lTaDTA5z8PXHcd8Na3Cjra7JOTuO4DH8Dxz30O0bUld9e5zo/5xMqVpd6/f/mXkh00/wiORoH77iuxP772NcBiUT7OVzqWkuKXWBQK8g5AAwMDirQfK3HLpqenWZJmt9vZPlmjT7GIP99/P7aqVJh+3/tweOgafPWh1UinhVPRYknjwdf9EB9/7l/Rce4cGqan8Oj99wMXOuFpm1R6HxkZgUqlYhQIKln7fD54vV6WCJNKgHhMcrkcTp8+jeHhYUYH4Y97eHgYXq+XlWc9Hg+i0Sh76dvtdqZPTFwzatLgpbtICzVxoQmwtrYWLpeLbUer1cLn88HtdiMcDrOElUc9isUi+w4lAWLuMV+61uv1zBDk0KFDCIfDqKmpwcaNG6HVahkfEJDnTOp0OjQ1NWF0dBQAyniuer0e7e3trFmK0Dd+AULjnk6ncfbsWSSTSbS3t7NSOp0/yZJVnEeFAiKRCFOooGvIJ0bEY6WSuc1mKzOcobI9gIqJPCVqPp8PAJj2M/FZfT4fWlpakM/nsXz5crS3t2NsbIzdH83NzdBoNAgGg8ywpq2tDfF4nHG8rVYrkskkJiYm2HW32WwCAxTqdJcqQ4qDypKUQNI58NeNFinpdBrLly/HsmXLMDo6ytRkWlpaoFKpmGELGS+cOXOGfWfFihVQq9UIBoOwWq2IxWJoampijmUGgwEulwuhUAhutxuxWAyFQgG1tbVl3Gy6PsViEXV1dairq0MgEGDbIQQ9EAjAbrcjEonA4/GU9TdEo1HWGOf1etHc3MxUBMgVUaUqGWvQWBDti8aaV2yhc1+xYgX6+/uZ693KlSuh0WiYnnZraytaWlok90W/Ayrzc2lbSswy6DpX4qdWs9ZdSP3Y+RqOKD3mhdyX0v0t1HdeULzhDUBHB3DXXQCnJ66LRrHhYx9D/yc+Ad8FRw3x/LiUodOVzD5e9Srg/vuBM2eEn//Xf5US55/+FFi/vjQ+brd7wVwIL0UsJcUvoaiEAnd2dmL//v2KtR+JEyUOajqaTSRgc7kED4NisYhYLIa8RoPn3/9+PPvsOnz726tQKAgfGC0tcXz6rY/gr77396idngYAdA0M4OYdO7Drwo3PI6uAfCMRJVp8oidGHam8e/bsWZaIiR3UEokETp48iZqaGkQiEWahS0hiOp1miBjZ9PIJIe2Txm5kZIShfeJELZfLMXMPKd1TSgCj0ShD76R4WsRrNRgM2L9/f5lj1969e7FlyxZcd911zAqYuJn8vqiMu3btWkxOTrLmEr4srdVq0dHRgWQyyagWxFflaSq0MDh79ixUKlWZ1XexWLIBHxkZYVJhYpoIzSMpVQIaB97ww2q1Mntd+py60wlV5M0txHOIfqZyLW+aQXOIFktAiadNc4RKhBMTE7Db7dBoNBgZGcH09DRisRjS6TQbn3g8DpvNxigVxHmnffFzWKkpCSHlxLcVN9FREqjRlOyMo9EoW9yRTTK5nAElBJxHbzOZDE6ePIna2loYjUZ0dXXhueeew+HDhwX30PDwMEOEyLWPNLINBgND4vmmJToe/v4gm3GdTodrr70Wu3fvht/vF1CjqKqxceNGDA0Nseae2lqhNXw6nWa0DKImEXe6WCyyMTYYDLDZbJJoaigUwsqVK8saiaT2JW4kknuGzqUpSSnCK7evYnHh9WPV6hduOMKH3DFfin0p3d9CfecFxcaNwL59mH3lK6HhHB3VuRyu+f/+PxinpzFy//1XpGmtpwc4dKjUB/ijHwk/6+8HNm8uIcavf70fAwPC+To8PLyokOLFk54vxSUNQoH9fj+MRqOgw3nHjh3Ys2cPQqHQgmg/Np4+jQcfegi1g4OSn6tUGvz855vxzW9eU5YQr18/g//3zu/hwf/4NEuIKTbv3Qsr5xVPydvMzIxAwohPjoi3CoBpmPKcUd5ZjWxxec1WnhsZCAQYL1Ku4aKhoYElR3wiyHOXC4UCpqamEI/HWWJmNpuh0+nY7wYGBgRSP+J/fAOPXBmdEvNjx45h165dTGeaLJnJsev5559XxAf0+/1wOp1oaGhgDZZ0zk6nEz6fj+nPkmwSP46EoBOCW6k8TAuGSi9ilUrFzpHXwaUqASVl5CQotXDI5XKCZjmp7wBC/V2p5p7Z2VnMzMxArVZjeHhY8rqOjIxArVZjYmICgUCA6eMS7SaVSsHv9zO6DOn8ys1XJdHQ0CBJDaBzI0SS9F9jsZjguGOxGEZGRhiCODQ0hEQiIahEJBIJDA0NAQAzqaDj5mUFQ6EQcrkcazSTknW0Wq1ob2+Hw+HAyMgIotEoW5iqVCWL55GREZhMJjQ3N8PtdrMFGC0OtVot3G43mpqaFDVt1dbWsoUNyULRuFBJ3mAwVGx8y2azC9ZIpLQpaSGa8a4m/dilANDcDPWzzyJ4fbm767LvfQ/L/v3fEQ2Hr0jTms0G/PCHpX/invRMBnjve4H77svg/HnfZW0OnGssIcUvgSgUCgIUmBIJkv8Jh8M4ceJE1ZJdMplk2o/ZbBY7d+5EKBSCy+XCtm3bSo0v3/seXv31r0M9O4tbv/lNPPKRjyB8ASEr6ZGa8MMf3oZ9+9rL9nHzzaP4zA3fwy1f/DJ0IvveuNWKR978ZsQvOOYRLSAej2NmZgYA4Ha7Jcux4XCYIZuEKlLwqBnZ1EoJ3FNCR6XQZDLJVCAIDTWbzWhpaUF/fz9L0MTIHL28I5EISN+WUEydTse4ltTpbjQaWdLHl70pieKNMGj7fIKXTqdx8OBB1mlPL33adyqVwt69e/GBD3wAALB37172EiTUacuWLairq8OpU6dQW1sLrVZbVh7O5XIIBAJoaWmRlMCieQhclMMi5FJc+iYtaTp3ogDwFAtKZKPcIokfa/66EZdYSsqtUCiwJKPSQ5nK/4VCgY0jT2nIZDLw+/2scsEn63yzHVEwyK2NUH9qlEmn00wbmeY5HzSHaRwr8YoJJfd6vZicnJSVN/N6vYKx4Y+bH1s6fwACLjTN82AwiH379iGfz6O2thaJRIJdV4vFgkgkgv379+P2229nnGOS5aME2mazYeXKlTh06BC753grbxpvoNT8qNPpsHHjxjIaSjAYxMDAAFNeoQoH34Rnt9txzTXXoL6+Hk899RR7ttH1Il3Z3t5enD59mqnCZLNZZtji8XgQCAQE+/L5fMyJjxaXFoulrJEon89L0pmoKSkSicDv9zOknpRyzGazoBlP7ph4hFeOYqFEP/ZSlOKrUT6u1n1djlDZ7Sj87//i/LvfjY7f/lbwWetjj0EVDML44x9fsXN8y1uALVtKnOJDh4Sf7drVjKGhGvzjP55Ea2tqUTraLSXFL4EYGxtDKBRiXDsx95I4rgAUaT8+9thj6OvrE7w0n3/uOdy3bx9WPPUU+505FsOd//Ef+P473oGcXo9s1oBf/OK16O9vKdv+bbftxUfqv41tX/wJNKKmqYDbjYcfeABhp5MJl5O7EKFMGo1G8twoQaMkmsrVfND5UhIihZTz0lRENRHTUNavX8+UFyhpFZfiTSaTQKIsGAyyz9PpNGKxGNPBJL6nWO+Z355UyZ9PkgklpfK8ODQaDeLxOPr7+yVlt+hnenlSgsE3P01OTrLOe7LCpcWJOGkj7qZWq5Usj5vNZpYE6PV61gkvDqfTCavVWkarkBoLSszkGqlozjudTrbAEu/LbDYjHA5DpVKxBYt4O9lsFrFYDLW1tfD5fKyDn657bW0tm6NqtZpRTfixIVSVTxb5ZJ/mppgGJBV0Perr65mpipRWL3Ha6bgpKeePOxAIsPPnqRuUQOp0OoRCITZvJycnBcdHyRzxjGtra3Hu3DkBncdqtWL58uXQ6/UMdSeqipi/7vP5WHMnLSguLrzVDOFce6EB6dy5c2VjvWHDBlaytVqtiMfjZRx4UssIBALQ6XQYHR2VnK+0L3o2TE1NCZ4N/L4AYOfOnWWNlrt27UJPTw+2bdumqKE5EAhAr9dXPCZacPf19WFycpItHBoaGrBq1aoroh+7EE19i3FflzO8DQ3A97+Psw89hOXf/Kbgs+bdu6GamgIaGq7Q0ZUMP/bsAT71KeCrXxV+dv68Fe973yZ84hMDuPlm/2VtDlQSS0nxSyDi8TijAFDCRgkV0QWAUlMPyUKJOazEOdu7dy/6+voE2zemUrjn0UexTCxOCCDicEBVLCKRMOHhh9+MiYkmwecaTQHvf/9RvCP/Q6z7zo/LHOpGWlrw0ze9CSmR/jChneRFT6iT+NxSqRSMRiOTvZIK4hbySLI42aJSPnX0U2MZjwYNDg5i+fLlyOfzDJUTbyeZTMJkMgm4ouKgxjadTseOmb8elCSTYYpc8DQSuaDE9cyZM6wxzGq1smabQCCAHTt24IYbbkAikcD09DRLgujck8kkzp8/j7q6OgDVdZqJpz4yMgKNRgOj0ci42bFYDOFwGN3d3Yx3LRUzMzNl16nSONAc5xF7+r1KpWJzwOVysUSMSuqkuyxOKsXbV6vVyGQyLJHg5cBmZ2cRjUYF+5VCtWmeEbeYXuS0HUL1TCaTrK4yf1y0fVJq4DneTCpxdpYZE1D1iN9fNBplc5xvShSfP9FleH1l/vxpwXf69GlGD3I4HAIjhAMHDqBQKMDv97OFl7jJlJzAqDJEjYt8UkiqM8888wyOHj3Kjo0/niNHjrAFXCwWY1Jy/PjEYjEcPXqUjU8+nxeYN8TjcYYET01N4cyZMzAYDGhvb2f7ymQyGBwchMvlgtfrxc6dO7Fnzx42x/hnyJ49ewCAJcbVGpoJja90TMePH2eKIXRuwWAQ09PTuPnmm+HxeDA5OSngFNNYk07vQpXiF7KpbzHt60qE1+uF5+tfR2LtWpjf/36oZmdRVKuh+tnPgGuvvdKHB4MB+MpXgK1bgQcfLCAev3gfJ5Na/OM/rsbdd4/iPe85d1mbA6vFEqf4JRAWi4UhjpTMEOqk0+lYkrVmzZqKvNKNGzcK9FwBwBkM4h3f+55kQvzM1q342ZveBH+6Fj/4wdvLEmKDIYfPf/4Y/jr/Xaz/938vS4j7Vq3Cj9761rKEmCKTybAXfaWgMmGlIFUIQmd5nVFq2iIOdjKZhNvtRiaTQTgcZrSKZDKJoaEhlsjKoa6VEmL+eHh0RsyVBiBb8pxrFItFlhDX1NQIdC9ramqQyWRw/Phx1mRG6BIhjWSQEI1GUVNTg1gsxuYWr9NMcy8ej7OxkBsjXulBLsLhcNVx5MeM5xzTf+k7RCuxWq2w2+1wOByw2+2wWq3IZDIsKa4UhUKBfZe0kSlBJNk/2g5/TDzfnH5fU1PD9GRpDhYKBaY3S7bUlYKS7FQqhba2NtjtdsH52+12tLa2srI8HTc1js7OzrLj5hNi2gb94xVBxAmx+P+z2SwGBwcrzjVKQnmHSd7JL5fLMerQ2NgYYrGYgHcci8XYfD558iRr/OTnLDXf7t+/H+fOnWMLbKLvkL65SqXCxMQEGx/i49P+yLAjHo9jeHiY0RkAsGeOx+Nh2rG5XA4HDhxgz2L+mOhZfODAAcE4Spk8EHWMTEEAsIUfXbN4PI6+vj5MTEywxSidY7FYxMTEBA4dOoTu7u7Loh8rbuq7lPq6l3NfVzJUKhUs7343VL/+NWAyQfW97wGve92VPixB/NVfAX/+cxxtbeW89J//vAUf/vAGTE2pFo2j3RJS/BIIm83GyrtyKKher8c111wDr9crq/147tw5wUOkdWgIb/zZz2C+0MhGkddo8JvXvQ4n1q3D9LQbP/rRWxCL2QXfsVpT+P8+dxh3HfkuOv77v8uO+cS2bfjF1q0oVkh4C4UChoeHGccUQJleKTmMKUloCCkXm0SQw5vH42Ev5Oeff76MqlFfX19S3uASNXGZHUDVRI4ikUgwGTEpveOFXFVHIhG43W7ZJku/389e5HLoZT6fx7lz51j5n16+Yt52LpdDPB5HW1sbIpEIkskkQ/4pKR0eHlY0TnN9qUl9n78ulPjzslxzCUJefT5fmYIJJT40bjTWPDWCkGKHw4FMJoM1a9ZI8mWVWvOGw2Hk83m43W62TZ6/TckRIZqkmU2hVqsZks+fY7WQq1IQ+mixWGSpXJFIhI0dv3ih46Fkn+YRNdPy2yGNcHJqpHnKz0VC9kleTe54kslkVWdHarQsFos4fvy44Hh4Csqzzz7L1Fuk7jWSQDx06BB6e3urjjMh+dRwSzQxQsMnJiZY/wDPXzeZTIjH4xgaGsLmzZsvi37sXJr65ltCv5z7WhRx553A2bNXlDJRKTZutOG7392Dhx6qx+7dQoMun0+NaNSHlpbGReFot5QUvwQil8vB5XIxvU++9E0yRFQ2rqT9uG/fPrbN9UeO4K7f/AYa0QsyZrXip/fdh6nWVoyNNuDHP34zUimho5jDEcYHP/A4Xvfs42h97LGy4z334IPYtXEjijKlcz4ikQjjlhLaSy+jYrEooCBUC+JUkmMcn/QZDAasXr0ahw8fZvxMXpaMUCvePU1qATKXKBQKqKmpQU1NDTMo0Gq1bB8TnF7lfIPGSiooUQHAjkXK4CORSLAGPRoT8fkTVzabzTJEVipRIzWD+QYhjZQkiM+ZRyFJCo2PbDbLbMKVBKFsvDY1bYfOkVeDENOUiDNL+rzBYBB2u51ZQweDQWbXqySIykGNnETvIM42JY0kicYj2LRgJj1insM+nyDnQjkqF49I89rUNEb0M4+EU1WCflar1YImVD4Zpu1QEOUAQNnxkIkP9QqQeyFP+aDKSTgcZosKOh5q9BwZGWHJpfi680HXoho1hq4hLeL4+4ye8Xq9HqlUCmazWTbhT6VSCAQC6OzsvDT6ulxczqa+F7Kvq74hr1pCXCiU7OiuQKhUKrS2evDGNz6JhoYu/PKXtyKf10KrzeOBB36F2dkoams3LIrxXkqKXwJBTUQmk6nMIcpsNjONUXrRymk/Wq1WoFDAtp078bLdu8s+n6qrwyP334+ow4Hh8014+OE3I5sVvry9Xh8eeODHeMPhHWj9/e/LtnHmfe/Dmde8BoaREUXnRqt8rVaL6enpMoTG7XYrfpE3NjZi3bp1DCknxJOQco/Hgx07drCGO/7FRrQLfv9idQB6aSs9Hmo0orInH+l0WlGzldLg9yUOSqzouOUMPoiPSmVg6van4Jvs9Ho9258Y9STjk4UKqiQQJ5RPDCjZoWRM6qFMGrZKgpIoMT+dtkvnRsofUk5sKlXJwnr58uWy6N309LQi9Yna2lro9XqcPn0a8Xi87P6wWq1oampiixCeB0wIKwBFC0v6u0rJM8/pJR4//Z6SduLaSiWwPFWD5PTo/6mhlihVdM2kEGd+u3TvUuLPHw8l3Ha7nTnSSVU2MpkMRkdHGeWEtkNVplQqhZmZGXR0dLC5IZUYU6WgGnrJG53IKZRQE1+lhJ8fZyX7nU9czqY+fl/UE8AvvMX7erE25LF44gng7/++9F+RhvbliGKxZHDkcNhx550TWL78l/jud2/HK15xGOvXF6BW2+Hz+dDV1XXFE+OlpPglEKR7OTk5KVuOVaJruHXTJnT/3d9h9alTZZ8NdHXhf9/wBuQMBpw7145HHnkTcjlhYtPcPIr77/8JzOY0Enfdhcxf/gLDBdWLokqFwQ9/GON33YWo34+6ujpMTk5WPbfW1lZkMhnWtOV0OtlnuVwOPp8PdXV18Pl8sggNvYgaGxvR0dEhi5SfOHGCJU5SJTn+ZUf7IpSSR95ICaFa1NXVIRqNyjY+ulwuTIu0nF9oOJ3Oqk2WxWJJdkuMvhCC5vV6sXHjRhw6dIjJm8kZgbS2tmJ6elq2uaejowOBQKDqcfMJmBQqT1QE2q9Y2o2cz0KhEACwpJS/ZuLkvlIQVYeuvfj3s7OzcDqdiMfj8Hq9ZU19ZANMc04OvZNK8qTGprGxkaGBlCDQ/CPzEI/Hw+Y1XS++ykGJO2ljywUtnIgLLN4Oj8xXamilxQHRt/j5RmNIixm6v8TnTcdK11CuaqNSlXoFKEnk6S1ENTAajXC5XAiHw2hpaRGg/nq9HoFAAGazmTXzSQUl6a2trUx6T6x0Q+dmNBqxcePGite2WCyyhQpVjvhzpCZNABUTflLHuBzBv4cudVMf7WtoaIhVQei+NJlM0Gg0TA/7xd6QhyeeAF7/eiCbBbZtA3buvOyJMdFZaJFeV5fBpk17YLGoYDSW3uGLhc6y1Gh3lUSxWEQ4HGYSVXJ8PanvqFQl3Uuz2YxgMMj4Z3w5tmozRTIJ7xvfKJkQP3f99fjZffddSIg78ZOf3F+WEC9ffgZvfeuPYDanSwjuLbdg/0MPIWcyoahW4/CHPoS+m29mzR11dXVV+ZxiagS9kOkfnb9er4f5QrMevYzpH6FFFouFvVyIc+Z2u2G329m4UEMPjwLy26HPyD6Y1+qlJiS1Wg232y1I3qWitrYWW7duhcFgwMzMDKLRKGKxGKLRKGZmZmAwGNDZ2SmpvcuHlMScOLRaLTZs2MD2lUgkkE6nkUgk2L42b96MLVu2QKvVYmpqCn6/H8FgEH6/H1NTU9Bqtejt7RXwZHnEnE9OALD5KNfc09HRURUt5l3kKn2Hzo00jek6R6NRGAwGLF++nDU78aV7AAJ3PiWhhG/b0dHBHNsoISbtajJKqXbNiPZQKYgzOzAwAI1GwxrHKFm0WCzMYQ8QaiDzKC3N62pjzVc0+GvN/7/VakVNTQ3TdibKRDabZbQlj8eDlpYWhuLRgoKOjdQdtFotK4HT9aNzpmZPsggndJoST77q4XA4mPIEHQslxDabDU6nE62trTCbzWyhRs8TSojJAITQSb5RlyhqVFHp6elhTpq0KKL/12g06OnpYYuTQqGAkZERnDp1CiMjI2wMaBFHVBy63gAEtAEaE3rm0zHR/OHR+ksd/HtISVOfkndepX2RBGIoFGKVEZVKhVAohGg0ylwHX9QNeTt2oEgJMQCcPInirbcCCwSmKA2ezkILUY/HBJPJyCh41Ox8pWMJKb4KQklpp9p3vF4vamtry6x+rVYrtmzZUn0lbDIhvnIlbByvuKBS4Xd33olD110HABgY6Majj96D2Vnhy7OrawD33vsYtNpZRtOwWCxQ33kndoZCyE1M4HRLCzRDQwK9X6PRKKl1C1xsAAKAVCqFmpoaTE1NCZoJiZuZy+VQW1uLqampMu3g0qmZ0NjYyNQl5DQ9qXtfiqNKCQMhgYSIiLm39fX1cDgcWL9+PX7729/K6uLefffd8Hq9mJiYwIEDB5g2rkpVsm1etWoVVqxYgRMnTiCRSEiW94kLS1QGuXGk81erS9bPxIuk+dHT04Pu7m74/X7YbDYm8Ueh1Wphs9ngcrlY1z+ZkPD0AJIFIxWGSs09yWRSUMoXB1+epmSG/x6hnnq9Ho2NjXA6nbINpBqNBocPH2ZKAuJrRvxDuvZyesc0HyhR4ceImvaKxSIaG0sNJZXGGqh8T4uTIvHx0Hw8ffo0QqEQbDYbszMW015osUfHJzWviUpEzahiSgMliZRQSL3cqKRNbppTU1MCnV6dTofa2lp2fxQKBUxPT5c1LNbV1WHdunWsQVDK5Y/GoLa2FhaLBdPT04JkWKPRoK6ujiXNbrebGYrQQsVms7HP6+vr4Xa7ZedrKpViKDzvoEhziOaH1WrFtm3bkEwmceTIEcHzjbSTt23bBqDkQiqlh06LJmpmpSRePGdTqRRTmyA9d/E1czgcjPJzOaKa/rLS91m1oHI9qbQkk0nGNaeGYp/PxxogX6wNeUGXC2a3Gyau6qo6dQr5m2+Gdvdu4IJSyqWOK6GH/UJjKSle5KGktAOg6ndCoRAOHDiAXC4n0AZNp9M4cOAAHA4HexlLhkqF0Y99DIYDB7D81CmkDQY8eu+9OL+81Ena378Ojz76GhQKwoR4zZp+3HPPr6DXa6FS6RitIJFI4OzZs0isXQtjTw861UK93+uuu66iagR95nK5MDMzw5rfaKVPiND09DQ8Hg+cTid7kfClW0JSnU4nstksnn76aVlNz5e97GWwWq3MiAAQliyTySTsdjuWLVsGn8+H6667jpkVkAZuKBSCx+NBR0cH7rjjDuzduxcTExPspdfY2MgWKQMDA+jr62PcV77xr6+vD42NjbBarYz2wB8zHZPFYmHlf0ou+O9Q41cikYDP50N9fX0ZfcDn88Hn8+HQoUOsU1/8nWg0ioMHD6KlpQWzs7OoqamB3W5nPF6SryL0Jx6Po7W1VZYeMHjBIpwQL3GTEF8FoIUCJf6UmFEnvl6vR2trqywtZmZmhmlHS/GlY7GYAGW1Wq1ljnbpdBp6vZ6hcOIXLPE46TrSC7m+vl4wp30+H6OeVLqnyVmREiPxMZOCCl17Qmh4OguNHy0w0+m07Lym8yc9Z/F36GVH1uN0b9F3aFzy+TyMRiOmp6dhNpsF9CJCy+vr69HR0QGbzVa2QG1sbMTKlSsF5yG3aKL7Wq1Wo6OjgyXhBoMB9fX1CIVCaGhoQLFYxNTUlCw1gkr6KpVKdr7Ss8jv98PhcDBElqokPC2Grm9nZydr7iTKCFB65odCIezYsQOZTAYWi4Vdf7/fjx07duD666+HyWRCLpdjiR/tj2QPjUYjHA4H40LLJfyXOxGppL9M5z9fOoO4XC/mFFO5PhgMXhFHv8sRfr8f+yYmgM9+Ftv++Z9hnppin2kHBpDbvh26v/wFsNsrbGVh4nJSZ+YbS0nxIo5iUai1SBOJt0YkI41q3xkaGmLaoDy3lR6Y+/fvR2dnZ8WSrNXhwK8eeAB3PPwwnr39doQaG2EBcPRoN372sztRLAr/9tprT+Keu3+HpokxTF1o3KNy7MjICDtmehEZDAbYbDYEAgEcPXpUgP6IuXfAxS72mZmZsgYXGr9UKoVwOAyz2cxKopRIUYJJMmsHDx7ExMQEe3DyHeYTExM4cuQItmzZgl27diGZTAr4mcRH3LJlCzo6OhCPxxEKhQQWraFQiJUIA4EABgcHWfmeP7fBwUHU1NSUWXPzL71wOIwDBw6gpqaG6flSgkMlW6DUiEglX0oU+X0RKkiuWG63W5JzfuTIEQwNDTE9V/E4x2IxDA0Nobm5GRqNhiXDvFQUX0YmO+RKzT2EZBJ3lILK/zqdDjabDalUir20+CTNbDbD6XSyZIOQH4PBICgb19TUoL29HQMDA0gkEjAajaxZkBD6FStWIJlMYmBggHX3a7Va1tCkUqnQ1taG8fFxgeoBP0Z0TmNjY0gmk6itrZVMwqhcW+mepgUgcaTFain0fafTyUr1lRCalStX4siRI8wqmOY+JQzXXnstTpw4wc5FzL3lt0fnKW5EpUU4HR8l9Px9xt/zlZKnqakpwaJEPK9p4dva2oqzZ88ytNx+wSaevxeBEpXG7/ezJj2Sp5OyZ5YKtVqN3t5e7Nixg9FgaNzp2Ht7e6FSqdgzvba2tuw+knpe07mR6U04HMbJkyfR2tqKwcFBpFIp9hmvIrJs2TJm4FEt4b/cIXffK3nnKbEDlirX80HJbrFYvCIIZrF4aZUuBOO4ahWO/r//hw0f/ShMnGKR7uhRFF/zGqh+/3vAZKqwtfkHUWcqWZcvlB72fGMpKV7EwWstAhebJ+gmtdvtrBmNF3anoCRgZGQEgUCA8SrFiJper0coFMLY2BhaW1tlb9impibAYsFj993Hur6PHevEI4+UJ8Q9Pcfw6lc/juv/uAO3/PnP+P0rXoGDN97IEtKZmRkYjUaMjIwwbV9KlhwOB8bGxjA7Oyso+RKiRM06s7OzOHfuHEt2eY4vjQXx6Xw+n0Dknr5D6CWVYqmsyJfnCS0kTU8AjIZC3Dy73Y4tW7YwbdFKJUKPx4Pdu3djZmaGlfboelDyTmXTStbcgUCAoc5i5Q3iOdI8kDp3kq8jtLRQKODEiROSGquTk5NIJBICjjU/z0j3lBLpycnJsuYmSh4bGhrQ3Nxcce4TEgpc5IPy26N54HK5cPbsWYHhCqGE6XQaTqeTNdNUKsdu2rQJ8XicOYXx5fqmpiZs2rQJQGnxSbQYCrq2mzZtwsjISEXKRy6XY9dVzp6XpPYq3dOJRAI1NTWs8VF8XXO5HGt8HBgYgN/vr9hEedttt0Gn05VZDxsMBvT09GD9+vXo7+9niwl+sUMyegCYqoQUDYOoJ9FotKJGdSqVqlqupoWHzWarSFewWCzMepmsp3lbdkIcOzs7sW/fPkxMTLD54Xa7BfbM1eZQd3c3IpEInnvuOYTDYUlaTDgcrlqup+e1xWIpAylonoRCIaxbtw6JRILxc2neqdVqNDY24roLtLZoNIpAIAC73c4c/IgLLebwXmlJsoXSF1Zarvd4PJcdwbwcShficczU1eHIV76Caz/0IRg5PrHq6aeBe+8FfvELYIHMoORCKXXmSsdSUryIg1a7laxMCZmpVP4hniR1WPMvbEIENRoN4vE4/FNTSH3iE+i//npEPB7BDUvSRLFYDIlEAv393RcoE8IH98tedhwvf/mvsfnZ3bjlz38GALzyySehmZ3Fvpe9DBaLBYlEAsFgEMlkUnA8qVQKCVKkKBYZ+ikuDxPVgvihhAqLuZW8PJjT6WQvS35b+Xye6YLKJSKU9AUCAfT29mLTpk3o7+9ndIKVK1cK0MxKKFc4HGZlfEL8eItWtVrN0M9K1txUkm5qakJtbS1isRi7njabDQAwPj4Oo9HIzFuIekAlX0ogqJmPdz2kpGl0dBQWi6VqswlRMmihIcdh5hcdlbZFDW6U5FJQ8svzN6UaxKgC4Pf7sX///qrl2LVr1yKZTMLv97OXldPpxNq1a9kD+4477mBNTzTWra2tuOaaa5hRBgCB1BXNZULmSfNZzp6XkDy6VuLSL6Fca9aswYEDBxjtgadEmc1m9Pb2sgbIHTt2sIoJITSkudvb28vuxdbW1rL7I5lMYnp6GlarlaHnfANpNptlCVwqlWL3HZ03jQMtXAqFQkWN6mAwiEwmUzF5oPGhbYkrKWS4QTQtOVt2Ul44fvy4wIlRpSo54x0/fpx9RwmNjcyE6B6geTw8PIyOjg7WcFvteU33odx36PxuueUW2R4ImrOXg8O7ULFQWsZKy/U1NTWXFcG8XEoXUuOYqavD0S99Cdd+6EPQ870sv/0t8La3AT/60SXXMa5GnVkMsZQUL+Kg8iihpuSKReVq4vqRza6cHiN1dvLWoRT00tXpdMjHYsi/851ofe45uP/0Jxz6xjeQNJvZDbtixQqGMp8+3YlHH72njEN8003H8KpXPYnuA0dxxx/+IPjs9j/+EUOdnYgYjcjlcgJ0g+e5kioAlR/FKgRUsqVmmTNnzrDkUYwUFwqFsgSFl+XiE1mlSR99N5FIIBaLScpC0fel0Ix0Os2QWbPZzBI4anoj9IzUKgj5o5e+Tqdj50ufSb1EeJMG4k3yTZYmk4nxCsfGxliSRpQS2ncmk0EikYDZbEYqlWIJOj9uqVSK0Q6CwSBLPsShVqsRDAYRDocrKnAQekgLIB4ppsSnWCwKZPvECyKgtCg4fPgwo4ZQwmUwGNjPRFegxIiqA+LEiBpWb7jhBhSLRczMzMDpdOKGG26ATqfD+Pg4isWSnS5PTQHApMVyuRxbyFmt1jJTlng8jnw+zxzfiH8trqRotVp0dXXB4XBg3759CAQC7DuEyFCPAP137969DGXTarXse11dXdi9ezeSySTjlPNj6vf7meQhnZN4vhN9iRJ5mrv0XZoLZKFcyUxEq9Uyi2Kis1BlamJiApFIBKtWrYLT6UQ4HEYikSjjL1NDH6HxYqqC3W5nVIVkMonx8XGm0MEvLsbHx3Hw4EGYzWZm4UwLCkocifISj8cZ/cpms5XRrw4ePIjNmzcL9HPJjU6v18NutyObzZY9+8SLFNIXtlqtipIMr9cLt9styacHhIkaUYvo3nohidp8EOeFasiaS7n+ciGYC0UNURJyOs1prxdHvvhFXPvhD0N3AXwCAPzkJ0BNDfDNbwKXOEGtRJlbDLGUFC/isNvtyOfzFa1MLRYLGhoamC2ulB6j1+vF+fPnAVxsQKFgqFs0iuZ3vAOukycBAJaJCaz/zGdw5Ctfgf7CDTs0NIRgMIjTpzvws5/dW5YQb9r0PLZvfxKt/Wdx1y9/WXY+v73zTvgaGqC5kJTyCB8flPg5nU4EAoEydJvOoaGhARs3bsS+ffsQj8cF36H/LxRK9s3Enebl2gjFIWQHQNWkz+12Y+fOnWVl5l27dqGnp4d1jlcKQno1Go0kNYK4qsSpFaMitJgwm83wer3sZSdlzNDZ2YlEIoG+vj6WqFByn81mMTk5iaamJtaYRUL/4uuhUqkYjYLmI88pLRaLaG9vRzabZWg3vdB52kuxWGSIe6WkmFcREdtm8zJmvNSUOFErFAqIxWKYmppCsVhkVBt+rOvr61ljU7XE6I477sCuXbvKrv2+ffvQ09ODlpYWlsTTGPOLPb7xKp1OS1oqEy3KYDDg3LlzAsUEmp+hUAjXXHMNHA4HcrkcQ0ApCWltbZXUnpV70SopWcdiMaRSKaTTaUHTJn0/nU6jpqaGqbxQRYO/z1QqFerq6tDa2oozZ87Iztmuri6Mj4+zhWMoFBJUyLLZLMbHx9HU1IRIJMLUV/jrWlNTA4/Hg1gsVvG8JiYmEAwGoVKpBFx5rVYLi8WCWCyGs2fPwu12V6W8BAIB9twVL3TJUplMgE6fPs10oum4jUYjbDYbOjs7WdMlr3ZC4zg7O4u6ujpGQaqWZEihwMPDw4zK1d/fz/oygsGg4P2RyWTmlKjNF3FeyIasuSS7lwPBvJzW07xOs5iiN202I/SRj+C2L30JGv7d8u1vAy4X8M//PK99X+2xlBQv4qBydqEgb2VKSR9xhc1mM+ukJ+4iPVwoceBfxMViEfZwGA88/DBcF7qiKaxnzsDe34/wtdeyB//AQDN++tM3YnZWOHWuvfYQ7rzzd6gfHccbfvKTMvvnHdu342BPD8AlSZWUJXK5HDweD1OCACA4h2KxiI6ODgHVQip4nnAgEGAoEo0jUUtItuv06dMMneITI0r6Dh8+jD179rDEjC/H7tmzBwCqJsbEqyaUWUyNoARcjpvKnxdxi+WMGdauXcvQUZ6OQmVvWkjJSd/R9SgUCmhtbWVUHlqE8Mnlpk2bMD4+LjBvEBtYACWkPsGjFDJjlEqlZOWiKBmWM5Og5JmSKir5S1lzO51OlsjKJUZDQ0P4/e9/j0OHDjGTBkIn6dpv3LgRRqNR0MBD3yFFBtLxpTkFCC2VifpA9Bmpa0YNpjwtxOv1MiR6amoK0WiUIXwDAwNMycBqtbLvBQIB7NixAz09PazUKkfXCAaDSKfTbNz5cSSt3Uwmg+7ubkxNTTEkmO4hmp+EWleas52dnRgfH69IL+KTYnGZOJ/PIxKJsL+pRkNIpVKyiYrJZEIkEqlKeVGpVIoslYPBIAwGg+T5x+NxZDIZrF27FitXrsTk5CRTNaHvkNJMd3d3xaZoimrl+lWrVslSuQiBHxsbU5SoLQQ1YC4Ir5KYS7J7qRHMy2lzTSDGsWPHmIIJVWiCwSDi9fVY/c1vouX97wd4Oc/PfQ5obQXe9a55H8PVGktJ8SIO4sxWsjKlxp9KeowzMzPs4SzWc/VOT+MtP/4xbLGYYN85sxnPf+YziKxaBcOFF3NfXw0eeeTVyOeFN/X69Udw112PwzMTxP0PPwy9KJHZu2ULnr3xRvazXPIl2P8FNzqSmyK0hLrNNRoNxsfH0d3dLYlu8pFIJFiCQkkKJW4k7ZRKpfDyl78ciURCttlq/fr1+OEPfyjg3QIXDTJyuRwOHDiAm266qUz6ig+xCoRUEJpYKWKxGM6fPw+NRiOgyFDyNTs7ixMnTiCbzcJoNJahd5R4U2JRKfL5PCt9UwWCkAf6PXDR1ECKtqJSqdj8pe/JBaHk1Y6pWhAyzSep4uOZmZmBXq+H0+msmBgdPXqUodbiOTw7O4tjx47B7XazhJ//Di0OLBYLAoEAm8t0jPT/hUKBJWDUMc9fV2qYnJqaYmoRlUqxLpdLoGIip2Rgt9sRjUYrSneJ9Yz5pK9QKDCqByG01BisUqlgs9lgs9mQTqcxNDTE6CTUM0FzokTNOs0WBOJFikajQSKRYAsdqkDwaCrNu+HhYdjt9oqlePEclQpKeNXqkpmH+HhoEURzjT7jF1+0r2KxiIGBAdaAR890lUrFfu7v70dbWxs8Hg9D06lJ1WazwWq1CioVcqGkXH/69GmGyMuN9czMTNVn0UJSAxaazrBYyvWXU6u3WLyo00zAB81hl8sFjUaDofZ2NP/4x1C96U0A/zz785+Bd77zktMoFmssJcWLOKjMTjcSH/Twz2QyCAaDFfUY/X4/1Gq1wPYUAFqGh/GmRx6BSfTAS9bU4PH3vx8BhwPq8+cvdDs341vfelWZU93atcfw2tf+BvZEDA/86EewJJOCz4+vWYOnbr99zjcY8dJcLhfj0NKLmpc4O378ODMWoJcOX7ImlCoWizEOJ78wIFk6HqVJJpNMv1Kr1cJut2Pt2rUYHR1FJpMpk5sCwPh+mUwGhw4dQm9vb0VuHe0XgOCFrtPpWHMgjyRKjQ8ABINBOBwOWWOGUCjEeK4k4M+/TIkrqST6+vrYy5OnMVgsFqTTafT39zMKATVV8cdOP5MUV6Ug+a+FCJ62wAdPa6i2UKNG1UpBVQdSUBBziimhJaSZR1v5+5IQQZfLJdsYGo1GMTk5yXSOpZRpiOsaCoUqKhlEo1FYLBZGweLHgtDN2tpathiU0sSm8ZmenkZzc7MkXzaTyWB4eBjBYJBp7IqPR6/Xs0WB1WqVvGZarRaJRIItXCnBpiA6zczMDDPlkCvF19fXM1oILfT4hj2q2kjRc/igZ081S2V6bhECKnXPEp2jubkZOp2urIGW1COqobdKyvV+v59VGOXGmnjflWKhqQFXQ0PWXONyavUq1WmO3H47ar79beC97y394d/8DfCFL7xkE2JgKSle1EFl9mg0WrHMXixe1A2V0mPknZaA0kOqa2AAb3j0UehEaFuwvh6Pv+99yDc2wsxkz9T4f/9vC1Ip4bZXrz6B173uVzDm0rj/4YfhvKDgQHF22TL86nWve8Edrfx58UivSqUSlD754F/8/EuMkmMebaPfU1JKvECj0Yhly5axsc5kMhgcHBSg1VJBKhnhcLiiM16hUGAvfP4lSommVqsVnJcYEeLPi9filDJmoIYvQnrEZe9IJKL4RRMIBNg2eXoJX2atr6+HxWJh6CzPKVapVAwhq5YUh0Vzab5B10bMpydaAhlwyPHJeRpIpSC+58TEhIDHR+6K5ETHN4bR/mhu8QmY1HXlj7+SMg0lz0ooBIlEQkDX4Dnb1HjJJ+7i+4x+z++LSvF0/LSYpW0Ses8/06jPgBpI6RnI74uqDbRApfnPf4dso71eL7MjlyrFX3vttSgWizh16hRD8Clo7Jubm5FIJNg4iTWhCXWnhSCpvPD3GfHFk8lkVTMVSoKpGiVOkpSW2ZWU62lRUWms6R2idF9yFJy5UgMWC8K7ULHQ1JBKoVSnOZPJAO95DzA6CjQ2Au9//7z3fbXHUlK8iIMvs0txgQEw5LSS+oT45bPu0CG85je/gVqEfARWrcLP3/IW5G02aC80w83MmPHNb74W0ahF8N3OztP4q7/6JbSqWfzV//4vGji3HACYaGjAo298IwoVaATVgpJDsQ4pNaNpNBpmTkDjI056aIyAi3xA/qHDG0T4fD6k02nJVbzf7xeUzqUSY0JCtVotnn76aUxPTwv0XAOBAHw+HzZu3AiLxQKr1cq0WilhI61Wv98vSFjFL2v6nZJyHB0D/6ImxJZe2EqCmgPlyqyUyHq9XhQKBYF0F718zWYzPB4Pe0jLoemVmvDmGpSM08KIghB/lUqF+vp6JksmNpQoFouoqakpW4DJBdmN074BsOSVFhPUTClGk/myc7WmTzICkeLdJpNJ5irIJz0k90VoPXGdY7EYo9NQ0koJdrFYUruhCgZRASjoHAwGA2tojUajkjQMWlRR9YLuW7qvabxJiUEqCaVnHm8FLr7e9H273Y4VK1ZULMV3dHQwUxaaK4QYGwwGdHR0YGhoCDqdDtPT0wI+vclkgtvtFjybqOrEI842m43xbJWYqdAzfT5ldiXleoPBgJqaGpb0i+e+RqNhttxK9kUUHKlmRP6YK1XRXswxF2rIfMZozlSNz31uQc7vxRBLSfEiD3pAiv3t6cVAXEifz1fWZWo2m1miRUlJ79NP47Y//rFsP2dWrcLej3wEDqsVPp8P8XgciYQR//mff4VQSGgD2do6jHvueQwaTQHbn/ojuk+fFnwecjrx8JvfjGyFhzaPOkmFTqeD1WpFOBxmChE8opRMJlFXV4cbb7wRx44dQzQaLZMBo0TIarWyF71UUMKYTCZleaVkmEClJ3rZ8dsg4wLiTVIzFY8IplIpWK1WuN3uik5TnZ2drBlHHDRu1OAWCARkjRmIf0icdHGCRUk8qU/wCbc4+dZqtWWoHI0PlVlpPpI8mZgekM/nFRlq3Hjjjdi9e7cgaRQH7VdqjCioyUmshw2Ala5tNhu2b9+OZ555RtYIobW1VSD/VikIneWD6AUWi4U17/FzmsaU6BednZ0YHByUbfrs6OhAIBBAKpUScIWpohIOh2G1WtHd3Y1Dhw4x4wqxGohGo4HD4UA8HmcNuuKgOU0W59QQyM8ftVqN2tpauN1upnTCB1GSOjo6WPKbTqfL7ldKRJubmzE2NoZYLCZIQo1GI0wmExoaGhCJRBi9TDz3CeEkKT25Ujwthl0uFxsHXv6O9NvJaIgW4vx19fl8aG9vZ30esViszEyErntbWxuzg5a7Zz0eD1pbWzE9PT2vMruScn1jYyOKxSKGh4fZ/nkzFbVajebmZkX7MplMGBgYYMkWv0gLh8Po7u5WZKTzYg8l1JDFpOLxUotLq9S8FPMKKrvTi4ySJtIqJse3mpoaRKNRpg9rMpmYHmw0GkVNTQ0y6TRu/f3vJRPiI9dei0fvuw+JQoFRNYxGL370o/vh8wlvwKYmH+6//xHo9Xlce+gQbnjuOcHnKYsFj7797UhesPGVCoPBwLrw5cJsNjMjDWpGIaoDJXfEudyyZQtDsWixwHeer1u3Dh6PBxqNhnEvKUEjLiE5Y1UqNRYKBaxevZohPVQupWPSaDRYu3YtBgcHGfpLqBglzWQV3NjYyBQx6HwBMKep1atXV334eb1e9Pb2wmAwIBwOsyQjnU4jHA4zC2medkJJOr2w6TN60YvL4/Qzr24gTi5pLPkue75kbDKZWNWDN9TYt28fJicnYTab4Xa7Yb6gib1v3z72Eq0UHR0drAlMLhwOB7P2pRC/IJxOJ+rq6nDLLbdgzZo18Hq9sNvt8Hq9WLNmDW655Ra4XC5FzZE8l5gWQrQ/otZ0dnYyRJanTBBqu3btWvT09KCpqQlqdcmZL5FIIJ1OQ61Wo6mpCd3d3dDpdDCZTEzrmK5DKpWCyWRier9NTU2MtgBcrJzQ79xuNwAwh0ZKaqjKQElpS0uL4FqTLjXte+XKlUin0wKNbUpY8/k8MpkMWxQSrYC/HjS3bDYbnE4nm8/0s81mY/O7oaEBXq+XVXr4e5EQTo/Hw6hSVIqvq6sTGPTw3Mu2tjasWLECy5cvx4oVK9DW1saaxPiyP/+MoSDEbWJigtGLzGYza5KmBZXT6ax6z27evBnXXHMNzGYzW6TRd/x+v+IyO5Xrq22HNJ+NRiNbADY2NsJoNMLpdM65pC/1fKCodt/7RQpIL9aQm4/AwoyR0muv6LoGgyX94pdILCHFizgIIabERaxXqVaXLIzD4TDTNKaXJyEaWq0WkUgEm3bvxg3PPlu2j2dvvBE7tm+HWnWxw9pksuM737kNw8O1gu/W1s7ggx/87YX9amCPRgWfz2o0+P273gXT2rUw+3ySDVxkP+zz+cqQXQo6L0LpSJqIR16owSgSiTBrZbJephcyWS93dXUhEonAZDLB5/OxpE2lumiHTAlPJRqKVqvFyy448pFWLaGrRqMRPT09aG5uxqFDhyS5l5QgE9pWqYxG6K3RaGQlZQoaA+Kvbt++ndlCkzEEJcxGoxEHDhwQNGnxc4gSZJvNBr1ej+npaUGTn0ZTMkihRqlqZVZqtqJyK1E3eC739PQ0M9SQ61Tv6+tDXV0dxsfHWeMVHw6HA7W1tcxURAp1pEQlm80yFFR8bnq9niUklRAcchCrpK1NCSz9zF8zmuvJZBLZbBYejwfhcFigPkClbJ1OB4/Hg5tvvhl9fX0YGRkRaBATL12r1aKlpYXRPniEz+12s47z8fFxRjkS7496FiihJLST5hlxren/pZQlrFYrbDYbwuEwo4jQuItVM0KhELtfSFWD5ge/4J+ZmREo6hC9iBR14vE4li1bxpBIscW51WrF8uXLqyJhSriX1PjW2tqKaDQqGGuihSQSCcZJFvd/EIBBTa+02JO7Z+nzhVBgUFqu579Dz7rGxkbF+4pEIkilUhXHKJlMKlJMWQjziqs1isVFpuJx/Djw2tcC588DWu3FhrwXcSwlxYs8eCc6/oFNv89kMpiZmYHNZitLHugFGQ6H0b9xI1YfP47m8XH2+R/uuAN7b7gBuPDyLr3EVfjv/96KkyebBNuqqYnhAx/4NWy2FAqFEo/u2Otfj1RjI27/2c+gmZ3Fznvvha+7Gx319Yz7J6ZzOBwOOJ1OTE5OCpQW+A5senFTwwk1KvEcPeIaEoJTyXq5WCyyUtLatWvLurkDgQBLsvkyopiG0t7eDofDgW3btuGmm27CoUOHEA6HUVNTg40bN0Kr1eLZZ59lSZNY8YDnKvr9fnR1dckmYWfOnEEqlWLyOZTsa7Vagd1uMBhEd3c3Ojs7JR2rQqEQ636npJyuNaG59AJfvnw5li1bhtHRUYY2trS0QKVSIRgMsoc0SfzQS4/MLpqbm1kDKM9X5ekjer0eiUQCU1NTZe5pwEWqCiFrdF14Jz6r1Yq6ujpmOEDudOIxop9zuRysVitDMWk7xIFNp9MIBoOMOiPV3GMwGGA2m5lRhDiIW807udE40znS9ff5fIxGEAgE2LUntzTq0qeg5iW+ikFIrk6nQ2trq2R3uVarRSgUYuoTvOsjXQtSe6AFDm2Dp7vQd8PhcEVlCWr4owWI1LUnnjRRG8SqMkRfmJmZqdo5v27dOqacIV58Wq1WRUiYEu4lnYfD4ShV3SSsqUdGRpBIJBg4wdMnaB/xeBxjY2NobW2teM9SLJQCg1LXu/nsi8bE7XbLjhGBG263W/a+Xyjziqs1FpWKx69+BTzwAECa8v/3/wKrVwMve9ncT+wqiqWkeBEHvcCBi0gUz3WkJCeRSDCtWZ5/SMLys7OzyBmNeOQtb8Fbv/99eAMB/Oa1r8WxDRvYtoHSC+K3v92CPXtWCI7Dak3hwx9+Ak1NswBKSQS5TB1btw4BhwPt587h9I03wmG1wul04syZM6zRhY6ZrJ0tFouAAiLVSEPNP4RCUmc0fScajaJYLAq6ojUaDVavXl02jlRKogeO3W4XSBuZzWasWrWKSbzRw4PGkQT3eatYrVbLEGo+lGjn8t+TS8LEyDBpuPKJNiU4dA1bW1vLtkMve9JP5ZuQaPxpzlCDFCXQqVQKY2NjrEmmq6uLUUAogaROcyrHhcNhlrCLGzyJFw8IVQrEQRWSRCLB+Ln89U+lUhgdHYXdbhcktTQWtFg0m81s4UTnT+gozaN4PM4WTpXCaDQytEuMAtOYUnMcIZ88dYK/VpTgEg9XfO7kwnfmzBnWMCc25iBnNOIM8gtmnjNIc4ASYvH504LU4XAwdQR+DtOL2Gg0MkUEGkexsgRtr9K1LxaLsF6gVpFVMj0LqAJBSWo1kwOr1SpAwi4V95L0guleEqPJVMkpFApM2ky80C8Wi0zHmULunuVD7vkw11CynfnsS7y4kBojmguXw7ziao1LYfDxgq9rOn0xIQaAfB54wxuA558vGXy8SGMpKV7EQS8y4ruKmzfohU8i9ryuJy8sT0YKebsdP3v72+EdH8fZri6oIXQc27dvA37/+42CY9DpcvjIR3Zi3To9stlS0xbRImhfk+3tmOrogPHCSyAcDsNoNCKXy7EGJypNGo1GVoqmh6jcedHv+UYaKuMSH7haMkNRrZREdqd03FRSJo620WiEz+dDV1dXxVU2vwiQ49ZRolEpiA9JL1Ex7QEATCYTPB5Pxe1QUxNdZ0KqqdEKKM0zs9mM4eHhC3zyiwurWCzG+L3Lli2D3W4vS0L4chxtM5fLyZbiiQtbrTOaGpaIV05BP0ejUdTV1ck241GTJb9glDoeKstXClJxoPHhVUV4pQB+sSpOsGi/FoulqqHEyMhIxRLqwMAAuru7q8o78Ukur7yiUgnVHiwWC6NAiJvNHA4H4yPTwklKXYASQrr2NN/E197hcLAGNyklB7pGlfZFCCTZOb9QhJNfMMuN44YNGzAwMFA1cSYnO0oQ+aB70Mr1WhSLLx4FhheyuBDHQppXXK1xOQ0+qsZ99wFHj5Z0iyn8fuB1rwN27waqGDBdrbGUFC/i0Ov1zC2K+HU8hYCSSzluLoVWW7KrTaVSSNXUYNztBq3jiWN5/vwa/PjH1wv+Tq0u4tOfPoabbjIhEEigvr4ew8PDyOVycLlcDB0h9DISiSCdTgt4adREQMhUNptFLBZjL+Campqy8wqHw6xDn7jU4vIocQBDoRBcLhc7Fyn6BEWlUlI4HMbY2BgSiQSjbBDSR6ilErvTtrY2GI1GxnHkg342Go1oa2ureO2pCaO/v59VBlQqlUBFor29vSoCQIkllazFY028T0IepEp2fFQrx9HihygwUqV4k8kEl8tV0VTBbDYz5FFslkJNiyqVinFbXS4Xsxsm7dpIJILZ2VmYTCYkEgnZ4yEpskoRjUYF1BXehpuk/kwmEyv303GKx9FoNKK2thaRSITRJXjlkWg0CqfTiVgsxviwcsYca9eurcoZDIVCrGFO3GRJx6jX6+H1ehGNRpmVt1gNpaGhgTWJyi2c2tvb2WJHSr6Orr3RaGQLMCklh+7ubhSLRZw+fRpqtZotoGlu8EoGtN35oKlKuJf0fJNLnHt6epg+uZyqhNfrRXNzM4D5qwsstlioxcVLXRFh0alGfO5zJV7x73538XeHDwPveAfwk5+8KE0+lpLiRRzU/RsOhxlPkzi4ZChAndwkU+ZMpXDtE09g7z33IHlB3shsNsNisWBoaIjJMlGo1WqMjzfhf/7nlSgUhBP8r/96AFu2+BEIRNE6MIBGlwsTF1A+auZTqVQseSETCmpMoZI/IdUkjRUOh7Fp0yY8//zzrPGGolgswmQyYeXKlTh8+DDjJfO2pjqdDmazWdA0tX//ftZoR0nfn/70J2zZskVAc6AHC/H4CNmlrtxEIsHOiz8uQuOr2Z06nU50dnair69PcHw01hqNBp2dnQK1B7kEk+yUxYg4JXK8CYncdvjzoZcv775FernJZBJtbW1MY5Rv2iKHNloQVEpCstks+4xUEfjjttlsqKmpQVtbG86cOSP7AnW73Th58mTFsearC0Tn4ceakGGSlpKjBvBIqFwQR7e5uZk1R1Hzl81mg8vlQjgchsPhwMzMDEu4KXEGwBKftrY2nDhxAv39/WXHXFtbi5aWFhw/fpzRJcRIqdvtZguZurq6iosUWsDS3JZq2HS5XGhvb8eZM2cYvchsNgvoRStXrsShQ4fY3/FBP8/OzsJsNjM0UHxfU4WAP2dC38Ua0rQ94qjz+1JqpMJHNVS22mJPSeLc29uLHTt2IBwOw2w2szlNtJDe3l6o1WqmLpBMJpl2cS6Xw+TkJCKRCDZv3nxVJsYLsbhYKPOKqzWULC4u6xhpNMDDDwObNwMDAxd//9OfAhs2AJ/85OU5jssYS0nxIg6Hw4Hm5maWdEo1N9XV1SEej5d4bOfO4bYvfhEOvx8mvx/PfPjDsF5AUdetW4fZ2Vn4fD6BVunMjBM/+MFfIZMRvmjuvrsfN9xwHKmUFh35PDZ96UsAgNb3vhfanh5MTEwgFosJSp+NjY2sEclgMLByIp/MUmmooaEBtbW16OvrK3tRt7W1Yf369Thx4gTjlPJJai6XQzweh91uh8fjwf79+7Fr1y6mHEH0img0il27dgEoNeINDAywjm9CFF0uF1NpoOSDqAp8kxA191XjcqlUKmzduhWJRAKTk5Nl59/Q0ICtW7dCpVJVRIt0Oh2mpqbYAkYsqTY7O4upqSmm1Sq3HavVKnA0lKKqUDMRJYhSTTLBYFARj43k9iwWi6yBA1BqoHO73bIvUJ/Px7ZH50vBJ1K8trL4RUHcX4PBwBaXUtQA2k+18yLkVK6xjRrXHA4HpqenGb+YLJ7r6uqYjBlPp+CDePL5fB6jo6MVjTnomCstUgjB5tFiCqI1mEymqteDmjUrLZxIco04pWKKSbFYRDqdRjabrahSQIkpNeaJj1mn02FmZkZxs5FSVLYa4lwtcVaiKrGQ6gKLMRZicfFSj0U3Rg4H8OtflxJjvpn/U58Crr0WuP32y3s8lziWkuJFHPyqkaSnKKEhHiCVpKKHD2PbF78I0wUNw/YTJ2D64Q/xl/e+F/XNzYwPeurUKYyMjFwokVrwgx/chWhU2BTx4INFfPWr9chmnTDk83C84hVQxWIAgBu/9CUcuuMOTL/qVWXUCLJIJgF7Pomj0j812h09ehQDAwOCxJO+OzAwALfbzWTJiD5AQeVzKmfv3bsXuVyOqUQAYAlfMpnE3r17YbPZsHPnTsZrJCqBz+fDjh07cM0117CEGBAqR/A8XCWJodfrxR133CEYa0qmrrnmGvby27dvHzNnID3TiYkJRCIRLFu2DH6/nzUmiWkPhGxPTEzg3Llzstvp6elhSKHD4ZCkGNTU1DDeulZbcqWiF5rb7Wa/V+JGxZf/WlpaJJU+qPynUqlkX6DUbMJzNHmqDiG3vGY1TzMwGo1sEdPY2IhIJIKWlhamxavX62G1WhEMBgXlSLlz48/L6XQKVCPq6uoEjW1TU1NYu3YtW0jQOAaDQXg8HmZs0t3dLfmdsbExRkGoZMxBC4xCoSCrYkDNgZRk0vfpc+oRsNvtjFstta3p6WmmLiC3cJqYmGA9AKR2IVaWoGdFbW0tHA5HmfoGAIyPjyMcDrPjkaKNkcZvtfO/3Khsd3c3c9CTonEttLoAsPi4yfNdXCzFIhyj7m7gkUeAO+9kalUoFoE3v7lEp7hAC3oxxFJSvMjD6/Wis7NTEuHcsGEDamtroR0chPEf/gGmCza7FLq+PiAUwsrt2wVoWknjVoWvf/1mDA8LTTRuuw347ndV0OlqSpP+gQeAEycE3zH5fDBbLFBzZcxCoYBwOMxE7QndFgeV7k+ePMkUCMQJby6Xw/79+1mCTVJRFITc5vN5HDp0CPF4HHq9vsxcgRCqWCyGXbt2IZFIMMSdknFC4AYGBgSKEGJ0SoxWVguv14ubbrpJ1kWrv78fMzMzKBQKrPRP5fFsNotTp04xQxBKLvgxJCOMU6dOMURSajunT59Gb28vnnrqKfh8vrIFiMViwY033gifz4eTJ08y7Vwe3a6pqcHq1asVuVHRQm56elqWHsCX/+ReoCaTCV6vF1NTU5L8VK1WyyS9UqkU4wzzzYiE7C5fvhyHDx/GwMBA2fF4vV52PNXObeXKlTh16lTZds6fP4/a2lrceuutAEo6zOLvBAIBeL1eNDU14ejRo5idncWJEycEc3FychK1tbVMjo6MOcSa0IT8RqNRTE9Py1Y/qBGPxo8qAsDFXgKNRsOoMfl8vuz8h4eHsXLlSkXqAlTBIvc68VibzWa2cJ2enmaa4eLzp0URSa2J72tqxM1msxWrP11dXQuKyipBnKW+EwqF2HcWWl3gauUmz5cH/lKIRTdGr3wl8PnPA3/7txd/FwgAb3wj8Oc/AzJz+mqLpaR4kYff78fg4CAMBgPa29tZQpPJZDA4OAjvxATsd98NrSgh9tfV4ZG3vx3FfB6hUAgABMjkD3/Yi2PHGgR/s2YN8POfc3P7m98skem5CLe0YPdb34psOi35sqaO9kqKANTMJm6gAi7ybkmOjrq4+Y5+0tbNZDKYnp4WfE8c9D2SCgPAOLaEWuXzeczMzAgks+SiGveUD7mHWiQSYciWVHmc0LBi8aLrF8+j5JN3Sj5oDGg8aTtjY2NobGyEy+ViL2Se4+pyueByuTA+Po5AIMASC41Gg0KhwDRhc7kcAoGAYtStEj1ASTgcDtTX18Pv97PKAAUdn9vtFiRW/HGTBJjNZmP8XrlrBChDFI8fP87s1PmgisPx48exdu3aivvKZrOYmZlh56XT6di1TyaTGBkZQU1NDcxms4C/zFMVCBU/ffo0M5GxWCzsmP1+P3bs2AGgdD/xclhSzX+ZTAbnzp3D5OSk7PmLJeCkGoA8Hg+CwaBA/k88TqTQcf78eUYVofNPJBIYGhpCW1sbDAYDo0OJ90VJ5eTkJJ5//nnZ808mkwuGyiqZHwCqfmch1QUWGgVfbIjzUizC+MQngL17SxrGFHv2lKgU//ZvV+ywFjKWkuJFHHL8M/osv28fbP/yL9BeoDZQBFpa8ORHPgLLBX7evn370NbWxpDJX/yiEU880SH4G6czi8cf18Fuv7CPPXuAj35U8J2CzYbnPv5x1Hd0yL6sQ6GQoBlNjAIDFxNLcULM/w3PF+X/AWBUjFwuxyyt8/m8QLOYghIiSiRJtYK2o1KpGNeWfi+VuFEyvhAviXQ6za6FxWJh26QmOCr703mKx4l+r1KVXAjp50Qiwb5PCHw4HMbAwAD0ej02btwoSR84efIkjh8/zsaHp7yQ+snx48dZ02Ml1I14qcViyfZXSslgLuicXq9niwY6Jp5SQ8k/b4xC51EoFBCLxZghS6XjIZ1cuXM7ceIE9u/fL1A+4alMVN2g45Db18jICEM1qTGVv/apVIqV3Svxl7PZLE6cOIFMJiOgWFAzbjgcxv79+9Hb28sWqfxikK9+ZDIZjIyMIJfLzUsCbv369fjDH/5QUZ2G57Xzizha6JJpj9PpZNxlKfdEh8OBkydPVjz/Q4cOCXjjUnNLCSqrlAdcbQ719/fjxhtvXBB1gYXmJl+tiPNSXOZQqYAf/KAk1Xb+/MXff/nLwNatJbm2qzyWkuJFHJX4Z/aBAaz73Oeg48W1AfiWL8eOj34Us2YzNCjZKgeDQSbgf+JEEx577EbB32i1eXzoQ39GTU0vgBoUg0EU770XapERRfI730HaZIJZr0dzc3MZH5L2QV35lKxRUGJDv6PEDhA6f/F/Q3JsPFJK3F+dTofly5ejr6+PSWaJk3BKAEmtg/bF74+ScN6UQfyyou/xOqPVQg55IRRTSgqMSv+EpBMCyiPldB6URBBVhU/miXqRy+UQDAZRW1vLkgk+7HY7zp07xygocg6D8Xgc586dQ2NjIwB5mbCxsTE2Z0kBQrw/JegcbxsbiUSYvBrZSdvtdiY3R5xVGnMaUxpnn8/HrLyljmdiYgIAGEdefD3sdjsGBwdZQsZrHdN/qboxODiI1tZW2X1NT08zJ0GpoLloNpuZZJ2UMYfRaEQsFitzc6NtmM1mhEIhtvjiqywU9HuSVaurq6uIqFaTgKNGWlKn4dVy0uk0TCYTS3qJ3y5u/CTL7oaGBrYwlmowttls8Pv9Fc8/Go0yDelK1u3VUFklPGAlcygQCCAajS6IusBCcpNfrGoYS3GJoqYGeOwx4IYbAL5y+pWvlCyhr/LqwlJSvIhDjn9mO3UK6z/xCWhFCfFUdzd2fOhDyHNSXaR9Go1GEQjU4gc/eAWKReFL5M1v/hNqa88hnV4Hv88H1d13w8PZQQNA4iMfgeVNb4Jn926cPn0a8Xi8jA9otVoZ+kWJAo/wARBQGCj5EgfJN5GOrhi55ZNUk8mELVu2YNeuXUgmkwL1CXLg6urqwvHjx8tsjsUJOTX28Q1+dB6ERNtsNkXXrhLyQslnpfKwVqtliREdE6GQ9LnD4UA4HGaosjgIHSd0Uyrohcw3EkpRFahJMpvNSsqEuVwu5hA3F86k3MKBp3oQYsij5mQlTIk7jQktbOhnkvWqdv4AKn6HjrdaMkuNnJX2xS82xLrJpMdbV1eHQCAgmzh5PB6cOXOm4r6SySQSiQQbE34RClxclBI/Xck1qyQBNz09Da1Wi5aWFgSDwbJKktvtZg17DoeDySpKOb/RIkbOPdHj8WBwcLDq+ZvNZkZ5qWTdXimU8ICVzCF+DOerLrBQ3OQXuxrGUlyi2LQJ+NrXgPe9r/Tz294GfOtbV31CDCwlxYs6pPhn9pMnse4Tn4D2gqscxdjKldj14Q9jVoR6EOIYj+vxn//5aqRSQorBa15zBFu2nEcmky01Yn3nO1j7zDOC70yvXo0DN9+MzYEADAYD45jyCWgsFkM6nWad1uLSKXARAdZqtWhtbWW8QkDY3KZSlYwppqamAKAseSZUiRJL0iEmnWJKPOx2O7Zs2YL6+noMDAwwnjKfDPM0AYfDwSTEeFMUevk4nU7G8a3Ev6uGvFxzzTVMIkyuPGy329l2iTdLdBKLxYLa2lrk83kEg0F2PFJUFULAK3EYKTFPp9MsSaJxyefzjFpCHGVK0imBi8ViTCbMarUq5kxWWjgYDAYkEgnGGRdzb8+dOwen0wmdTsf4p3Jyc/R5pfMHUPE79HspOgs/3mRcUmk71Y55dnYWjY2NWL58uWziRJWPas54JpMJBoNBUFGgoIUg2TUr5bnKceXpeaXT6SrK1vH7knN+E5+/2D1R6fnX1dXh6NGjjHdM4y5l3S4XSnjASuYQP4bzVReYKzdZ7nl1KdQwluIlEu95T8ny+YYbgLe//UofzYLFUlK8iEPsbuM4cQLrPvlJaEXd+BNr1uAXDzwAq04H/nVN6IjNVoPvfe82BAJCRKS39zxe+9rDSCZLL5zI7t244XvfE3wn63DgzD/8A5KZDPr6+jA0NMTK1fSipURtdnYWkUgEFouFaSfzpVtKfK1WK1paWhCJRFgDHCXEVB6vqalBOBxmKGUulyvjy5IubOlcerFp0yZJKSTib1L3vbgrHiglM/X19XA6nbJJqNForJrMkV10JeRlfHwcTU1NFfWnyfGO5L2kpM0MBgNL8sWoNyW2pDBRyT2uo6MDPp+PHQOPktM8IsUBv9/PuK88wp5Op2G1WtHU1ITh4eGqnMlsNov9+/fLLhyuu+46pnPNS+0RGpxMJpFOpxmPnayDxRxWj8eD1tZWTE1NyR5PY2MjisVixe90dnYiFAqxMZKSCDQYDOjs7ITP55PdTmtrKwqFAktEpI6ZnM/UarVs4lQoFJjUXiUHte7ubhw7doypWEhpB5NOcaU5ooTnKn5eSdE+WltbUSwWEQgEqjq/zff8PR4PZmdnYbfb2X2WSqWgVqvhcrmg0WgUWbcrcRnj55CcU6F4DOUWF0piLs5nlZ5X/KJfKuaqhrEUL6FQqQBRvvBiiKWkeBGHSnVRp7j4zDNY9/nPQytyVMtu24b4V78KzTPPyDopPfvsnejvrxf8XXv7NN785h1IJi8gk1ot1v3TP0EjcpXq/+QnkfN6YU+nMTw8jGAwCJvNdkHWTVj6zGQymJmZYW50YocqoFRe3LBhA0KhEDo7O6HRaDA1NcVeevX19cjn84hEIrBarUxGjV7glFhT8sy/eDUaDVavXl22z1gsxlzZxFa/ZK5AKGc+n8eaNWtkNWYpmZPTBV61apUi5GXdunXMvMBisbBxLBaLMJvNWLVqFYCSvbDf7xfsi7iUtA+e48qPEYXH42HbkSrFt7a2oq+vD4FAgC0Y+MUDLQxI45h4vLSfdDrNkulYLFaVM9nd3Y2BgYGKC4f9+/czyoqUPTPNvxUrVuDo0aOIRCKSc3/z5s1wuVwVz3/lypWCsZb6zpo1a1AsFrFnzx52/lRJIK5zb28vVq9ejXg8LrudVatWoa6uDjt27JA9ZnI+o7GXSpzUarXAQU1cbaDtkFvdwMAAq57wzYGFQgHt7e249tprsX//fkU8VznUkX9eyW3nmmuuQX19PXbs2IGZmRmBXXQ6nYbRaHxB5y81jmvWrMHw8DBqa2slOcWkrFINBVVyXjSH5KQIeem/hQilx1RNMeaaa65ZMDWMpViKF0MsJcWLPMjdZiQUwqxeL0iKM9u3w/D44+gyGlE0GCSdlAKBl+OHPxQmxDZbHPfd9yiSyQSzC37Zz38Oh4hHPHr33Qhdfz2Ai7w5QhUIIeSDeHw1NTVwuVxl8lWE0NTV1cHn8zGEp1kk/E2omdfrZU1ePDJpMplgMpnQ3NysyAOeSqeNjY0YHx8v0+FtamqC0WhkTV1yGrOUzFXSFz59+rQifqbVapXVn16/fj3jFdJ3yN2O16imjn06BnFTI/2+oaEBq1atQl9fHyYnJxniTL+nkrrZbGaax2LeNqlb6HQ6ZLNZxvWmeUCOZ+l0GvX19VUbsqotHCYnJ1EoFOBwOJBKpcpoBiaTCYlEAi6XC9u3b6/oIgZAEYez2ne2bdsGAEwGjSoJRqMRPT097PNq26H9VTvmakFqEHv37kUkEmHX22q1oqenh21n06ZNiMfj8Pl8Ar1vjUaDhoYGbNq0SbGLVjWVAiXb8Xq9io5byflXGseamhqcPXuWPa/EjY9K+e2AMpcxv98vm/ReCj5utWPyeDzYvXt31aqV2+2uWCVRUiVYiqUoi9nZEpos04exWGMpKb4Kwuv1wvOWtyC2fDl0r3kN1KEQinfdBcNjjwEXVvDd3d3o7OwUODsFg83YulU4ITWaWbzrXU+hrU2H2VkbMpkMPEePovXJJwXfi3V24ty73sV+pkSqGqqg0WgwMjKCdDotcAmjh206ncbAwEBVPqBOp0N9fT3OnTvHSuiEcGWzWaTTaUV8QACMUxmPx1mjHH9M8XiclTkrvdRisZhAX1hKF7hYLAo0VuU63uPxOAYHB6HX69He3s6S2nQ6jcHBQbgu2HNX0qhetWoVrFYrcw/kJekoYbNarfB4PIJkSGq8SdPX5XIJEHWinRBiT+PGJxiEHtO2gMqcSWq2qrRw4BFwh8MhWZUgq+bW1tayuc+7mlU7nrl8Z9u2bbjppptw6NAhhMNh1NTUYOPGjYIFopLtSN2v4mOuFn6/nylr1NdfXPiSbrLf72dJ6M0331y2KGpsbBQkvNWOW6lKgZLt+Hw+1NfXl1U3+ONWEpXGMRwOLwi/Xcn4UMNaNem/hW5Yq3RM4XB4TlWr+ahhLMVSCGJ0FHjLW4BXvxr4+Mev9NHMKZaS4qsoCqtXY+axx2D9r/+C/vvfZwkxhVqtRmtrKwAgGARuuQUQ9ePhzW/eh7a2ccYjdrlciLndOP+ud6H9+9+HanYWeaMRp/7u71DkZK6i0Sja2toEfECxjSuhxIFAgCVkYovWeDyOyclJdHR0MM6nFP+uvr4esViMNS6RmQUlZEajUREfEChJYeXz+TLbXOCiE5/FYsHo6GjFlxqhxFR25o+JVz7weDzw+XzMjIPGyGq1QqPRoL29HePj40gmk2WJvd1uh9/vR19fHwDIalSTxTNJ0uXz+bJmRIPBgBUrVjANXbo+lMxMTU0hGo1i+fLl7Hdi9J83SyAONK+vC4BxjInvzR9DpYasSsmKzWZj14akvvhrxnNPAeHclwslHE4l39Fqtay5cz6h5JjlglcNEEup0fzgkzCljV1y58/vj+7ZZDLJkkdx0qdkO3Lzeq7Jo9w4KuXdVuO385Jkcud1qRrWKqHX/PaltqlUocJqtc5bDeNShJJzX4pFGI89Brz73UA4XPI7ePnLgWuvvdJHpTiWkuKrIMpQjLvvhmf/ftkHVj4P3HefUFsbAG699QyuvXY/EomUoOReV1eHI698JfS33w7nBz6A43ffjRmvF/oLOr9iPuQTTzyBiYmJMmqExWLBsmXLcPjwYRgMBtYoxVMV9Ho90uk0PB4PYrGYrBVwU1MT9u/fz1BjEyczR3JrY2Njil4ypGFcyTYXKDW1UdIspTHr9/uRTCYZCsvzXOk8qbHnzJkzSCQSggZD0pVds2YNhoaGqtIHgOq6p+vWrWMqDbzNsU6nQ21tLTZu3FiVvzs6Ogqn04mJiQlGDeGvh9lshtPpZCiwlJQYSbdJ8cjFoTRZWbNmTUXOKM89XUxxOYwQXkgSNp/GLtqfXq/H6OhombyZeH+LQe1ACe9WCb9dSZJOCWg1ycK5NKzNdx7NRaGipqZmXmoYCx1LZiJXafT3l2yfqacllwPuvx84eBAwm6/ssSmMpaR4kccLEVb/7GeBCy6vLJYvn8bLX/4rpFI5gbxVKpXCyMgIvF4vtHfeicS+fciOjiIlgxiEQqEy8wvgorwZcNHKmVyreNqDlHOc+MFL35VyfQNKCEcikUA4HBa458lFJpOBVqutaJsbDoer6tlS0itGSykJJXc5SlB5wxH6bj6fx/nz5xdM99RqtVYsjSvh75KMHb3I+SBU1u12M/MF6ljnE3CxGkilUNoktFDc28sZl8sIYaF0aueyv0QigUQigXw+X2ZNnk6nYbFYkMlkFpXaQTXerZL7Q0mSThStsbExSet2qtIobVhbiHk0F4UKOt/FILu2ZCZyFcfKlcAnPwl84QsXf9ffD3zsY8C///uVO645xFJSvIjjhQir/+Y3wL/+q3A7dXUF3H//L6FSZWE0SlvLzszMQKfTwVVXB09bm6wM0v79+wEADQ0NrJxOOqfRaBRnzpwBAObYxneRk3SXXq+H3+9HsShvBTw4OFjV9Y3sbqsFISaVbHOV6IyqVBfd5OTQUrVajfHxcWi1WtTU1MjSR8gBcCF0TyuhPEr4u5ScktYxn8wTjzgYDKKurg6xWAyFQoEtCmihoFary9RA5tu4BCwM9/ZyxeU0QpirTu1czkHqmun1esTjceRyOVit1rJnSCwWQ7FYRDweR19f36JSO5gvv11Jki5H0SJaVTgchtVqhd1ur3q8CzWPlC4+FxMlYclM5EUQ//RPwB//WEKHKb7zHeAVryg53i3yWEqKF3HMtdR4/jzw4IPCbeh0wLe/7cPp02EA8m5cuVwOsVgMLpdLFjEYGxtDKBSCxWJh5g18kLUqyXVJSWkRshgOh+F0OmWpCqFQiB2XnOsb0TGqhRL9VCVatW63m1kLy6GlZC1NNsfi5M1kMiEej8NgMFTVhQUw765wJclTIpFgyQIluRSULPCfE3pMybDVamUqInQ8xIuWUrtQ2thFMR/u7eWMy0kNmCsKqCQqIbx0r/NSf+IoFos4e/bsolQ7mA+/XUmSroSiRcBBtWu/kPNI6eJzscSSmciLIPR64Cc/KfGI+aamd78buPFGwOO5csemIJaS4kUccymRptPAPfeUuO18fOUrwMqVIZw9W0pUc7kc1h88CF9rK/wX0F5yJkuIbKPFQU1j1Y7HZrMxOgGveqBSqWCz2WAymarKlhWLRdhsNqRSKSQSCUlUVikyqRQxAS5q1RoMBrY/spalbYTDYVm0VKfTIRKJVBxHAGhtbcXk5GRFPVslx6NSqaqaiVDyJNfUSMkuSVfx9Bj6mcq/mUwG8XhcwPEuFAqwWq2C43n66afLJPmCwSB8Ph9uvvnmqo1LVyrm09xzOSkNC40CVitZr1ixgumGS7kwGgwGVuVxu91VefCLRe2AX1woNd2QCqJoVbK4JpOeajHXeVRtzs7XPe9yxuWmBS3FJYqurpINNKdgBZ8P+OAHgZ/+9Modl4JYSooXcfAoRiV5L4PBgI9+VFitAIB77wU+8AFgdNTK5NRqzp3D9p//HFCp8Oxtt+Hw9u3QGAyYnZ2F1WqteDyknlBNks1qtcJisSAajTLbZI1GA5vNBrvdLmjYktuOyWSC1+vF6OgoYrEY4vG4QH1CrFO8EPqpwEVd4MnJyTLt4I6ODoyPjzNerRRaWldXh3PnziGdTrNEnqJYLCKVSsFkMmHZsmVobW2d1/EQ+laNf7dy5UpMTU3JmgosW7YMw8PDzBRD/LLM5XJQq9VobGyEVquV1Fbu7OyE1+tFsVjEwYMHMT4+Do1GU2bOMD4+joMHD+KOO+5YdC/ly9nYtBCxUCigkpL16OgozGYzu6/FSR+Z49DiSioWo9oBLS4q3R9KknQlFtdKr/1c5pHSObvYFp9ycbnvoaW4hPGOd5T4nI8/fvF3P/tZCb17wxuu3HFViaWkeBEHoRhDQ0OsKY74qSaTicl7/e53jjIOe3d3yYFRpQKam5tLdrgTE3jVT38KzYUH/01PPomus2fxyLveBU99PZO3kkMeaDvVrFXJVrelpUWSL6yEqtDQ0IDa2loMDg6iUCjAZrMJkClep3gh9VOraQcTOpdIJBh3kL5jsViwYcMGFAoF1tEuRtSKxSLa29uZqsR8jsfpdCrqnO/u7pZ9qatUKnR0dODAgQOsBCy+rtlsFna7HW63G88//7ysbrLL5YJWq8XQ0BBUKpWgQVKr1cJisSAWi2FoaIjRZxZLXInGpoWIhUABlZSsKZkNh8Oy97XH42G846tN7aDS/aEklFC0lF57pej1XKTklMRikEC7EvfQUlyiUKmA//gPYPduYGbm4u/f9z7gppuARUbdoVhKihdxqFQq1NbW4tixY6xkTmYKoVAIBoMBsVgz3vMe4YPLZAJ+/nPggk8Fs0RNfPCDcE5MCL471NYGvdnM5K2qIQ/VrFV5W91AIAC73c7c3gKBgGJbXZJKstvtZais2+2GWq2Gz+dDZ2fnnBoz5BATHi2T0w7u7+/H1q1bBSgXveh5I4RNmzYhFovB7/cjnU6z5JHQ1k2bNgmUK17o8Rw9ehSxWIy9INLptACdou/RYqpSU+OWLVuwa9cuJJNJVlUgiSmdToctW7ZgcHCwqr5sfX09UqmUoBmLn8/kRBcMBhdNUny1NzbNFwVUWrJubW1l97HUfb1hwwYMDAxcVWoHC2W6sZDXnrYlZxldW1u7YFJyFItFAu1qbA5cigrR0AB84xvAAw9c/J3fX6JR/OxnV+64KsRSUryIgxye+MSQTBJK6gV6fOADtRBTgf/u78Zht8+iULjYpd8diaC4c6fge76mJpy9/35sv+EGdHd3M7QskUgwg4xCoYCJiQmGPJAM1r59+1jpU6PRwOPxCD7fvHkz+vr6MDIywpCH1tZWQaOVEqmk2tpaaLVaTE5Osu00NDQgl8shEAhgbGxsTo0ZSvRT6QVODWJE+6DtVEPnvF4vbrnllqqNZpWCPx5APuGlcrWcNipZL9NCQqqpMRAI4NZbbwUA7N27l0m0qdVq2O12bNmyBV1dXdi1a1fF4wkEAgIKDnGteSc6+n2lhq3LHXNt7lkIVQ2loQS9my/Cp7RkXV9fD7fbXfG+pntpoRKahUIvldz3le6PuTS1zee+Fx8zIC1ZGYvFFqwhbbFJoF1tzYFLUSXuv79k6PHrX1/83aOPAnffXaJSLLJYSooXcdADu7a2VpJT/IUvdGJoyCL4my1bTsBg+AN++csS17O3txfdy5YB73wnVBziUNDpMPv97+NN27czJ7b+/n6mDRwKhQQJVjabZciDy+VCW1sb44kajUa0tbUxa2IACIVCGBoaQiAQYNxTMgpRoj5AUkk+nw/j4+MCE5CxsTE0NTXBaDQiHo8rbsxQop8aiUQwOTnJ+JGEbjY0NEClUrEGj2oo13zL2krMAMg0pJI2qslkgk6nUzQ+vb292LRpE/r7+xGNRmG327Fy5UpoNBp2PaqZE1itVqawAUCg0EEKBiaTCZ5F1IE8l+ae+doBzyWU7GshEL65lKxPnz5d8b5eyIRmodDLxaSbzIdcok7P4kqSladPn67arKzkuBerBNrV1By4FFVCpSpJsj3zDBAKXfz9+98P3HwzUFt75Y5NIpaS4kUc/MuaGswodu6sxR/+0Cz4fmOjD/ffvxcWSw1yuRz8fj927NgB15kz8B4/Lviu+h/+AQ23385+jkQiTAt2dnaWSa4RKqHRaDA2Nobz58/j0KFDAmWBRCKBkydPwu/34+abb0YoFMKOHTuQyWRgsVgY8hAIBLDjgqsIIcqVpJLC4TCmp6dRKBSYzBsZewwNDaG+vh5Wq1URyqVEP5Wc4QqFgkBiLZlM4vz586irq5tTg8d8ysNKzAAcDgcKhUJFbVSDwcDUPpQ0rmg0GqxevfoFHQ/xROvq6thLXa/Xs8SJzE2IU71YQilSWm0OKbEDVhpK0DsAC4LwKS1Znz59WtF9vRAJzUKhl9W2s2rVqgVr7OL3JWWnzh9zpUSdNxSRQ69J4Wa+x72YJdAWA71mscdi4IErivp64JvfLKHGFIEA8OUvlxsrXOFYSooXcci9rCcnjfjKV7pE383igx98Gjablv2tTqeD6vRpuL71LeGG160DPvEJwa/S6TRmZmaYMgSPlOp0OuTzeczMzODw4cMVlQWef/55+P1+ZDIZQaJGxxMOh7F//350dnZWNGCwWq1M4UDc1EfScqFQCA0NDYpQrvHx8YpoCFlG53I5mM1mtj/SGk4mk4hGo7ARUVtBzOeBpcQMwGg0sqRXThvVaDSyBqn5NK7MxZzAZDLBcEHRhMxLADAnRV7ObTGEUqS02hxaKERNKXpHUnkLcTzVEF63240nn3xS8X09n4RmodBLJdtZKN3kuRxzIBCoKn9XDb1WqUryltW0zpVIyS1JoF2dsVh44IrjvvtKzU6/+AWg1QJ/93fApz51pY+qLJaS4kUcUi/rfF6Ff/7na5BICC/d/fc/g4YGIblYDeD2X/wCmlyO+6W6JEsheghms1nGEwVQZs8MlFCJ8fHxisoCg4ODyOfzsFgsZUkvldpDoRDGxsbQ2toqmzgODAwwPWIxB7VYLEKj0SCfz+P06dNVUa6mpiYcPXq0IhoyMjLCypFSpiP0+/HxcUVGEvN9YCkxA6BzqaaNSg1S8+F5KjUnGB8fRyqVwrJlyxAOh1nlgaT6HA4HUqnUohLfV4KUKplDC4WoKUHvJi40zJKKyUIcTyWEd2RkhBn3KLmv5xMLhV4q2U4wGMT69evnrZus9JjD4bAi+btq0pc6nQ7d3d04derUvI57SQLt6ozFxgNXFCpVyeo5GgX+7d+A9euv9BFJxlJSvIhD6mX9wx+uRF+f0Cr0uutOYuvWYRSLKkFj06pnnkHj4KBwox/+MNDTU7YvnU6H2dlZ5PN5WXtmUm+Qe/CbTCbMXJBeqYQ8JJNJxOPxioljNBpFsVhkiCPvsqbRaKDRaJDJZBCNRrF69eqKKJcS3iDJpdXU1CCVSgk4zHq9nqkmEFe2UizEA0uJGUAkEmFIfiVtVGqQmg/PU6k5AXG83W43HA5H2TGRZfRiQ56qIaWXk3uqBL2jherlQviUGPfQfa005BbEC4VeKt2OxWKZNw9a6b4CgcCc5O8qocAdHR2w2WzzOu4lCbSrLxYrD1xR1NaWLKAXcSwlxYs8+Jf1zp0q/PSnbYLP29tzuPvup5FKlZquKJmzRaO47tFHIfoy8NBDkvvJ5XKM+ymFlJJyQLWgxLmawUcul2OJo8FgYAkTJY4ul4s1ANJnvMsaGUrY7XY2TnIoVzgcroqGEPIJlF4UYtWETCbD0M5KsVAPLCVmACaTSfDyrKSNqlJV1kSuFkrNCcQcbzEfci4mBpc75juHFuq8lKB3ZG+uxNhHaVRapM7FuGe++1oo9HIu25mvbrLSfZWqfcrl76qhwPPlby9JoF19sZh54C+GWEqKr4IoOYV5cO+9RRSLF28CnQ549FENjh0zYHp6mjXHqQDc9qtfwZBOCzf0H/8BWIRqFRR6vV6AEIuRUuAiv7aSWxtZPEciEVmDD6/Xi3A4jJmZGczOziIYDApMSTKZDHPFI/RDzlCCNI8B+cYMJWhIa2srCoUCAoEAdDodU0oQHzcZnMjFQj2wlJoBdHd3Y//+/YpeaPPheSo9nubmZgwPD1+1yNN85tBCnZeSfZEBzvDwMJufvBqIWq1Ge3u74uOpVt3o6empatyj5P5Qsq/e3t4FGeu5XrOFvD/k9uV2u+ckf6cEBZ5vQ9qSBNrVFUs88EsbS0nxVRDFIvD2t6swNSVMsj7/eeC661QYG3PB5/Mhn89DrVaj+8QJrDh5UriNt74VKk5tQhxGoxFOpxPhcBiFQgFGo5EhxWSa4XA4YDabMTw8XNGtraOjo6LBx5o1a9Df3494PF6mZJBIJKBWqzE5OYlrr70Wzz33XEVDCSUIthI0ZNWqVairq6t43GRwUikW6oGlFMG5XC80pcejVquvCPJ0qbuwLyeipnRfoVAIx48fZ2oQBoMBuVwOwWAQBoOhzPRFLpRUN06fPo2enh786U9/wszMTFmTrdFoVHR/KNnXwMAAuru75z3Wi/GaESKtJFGfb3VnLrEkgXb1KDks8cAvbSwlxVdBfOMbwO9+J/zdK15RxEc+omLSPO3t7f9/e3cfHVV55wH8OzPJTDIZ8jrJZCAEEGGgCMgCSSO4VoVaSz2ustYX6mLdnt12YQV1Vba7lnq6LdZ228VW0bauFJVycFe30D22irVpRUggFSEWw4sgBCbJJDCZTDKZvMyzf7D3NpOXyR1yM3Nfvp9zcsSZm8kzzzz35pfn/p7fg5aWFkQiEdgvXkRvZiYy/3+BXTQ3F90bNyLRvEpeXh7KysrQ19eHvr4+dHZ2ygukcnJy5HxSn88nl3sbabc2KRCrqalBW1ubHKhJG3zk5eVh3759iMViQxbs2Ww2dHZ24uLFi7j++uuRlZWFffv2IRwOyzmsEyZMQFVVFSoqKhT3oZLgUWp3bW0tLly4gK6uLthsNnknP6mMXCJqXrCUbgaQql9oSgPwVM88qbkKW8nGHIM/j4G7GapltM/e7Xbjo48+Qm5urrwFvLSxT2FhIWw2G1paWjBz5ky5/Uo2sEh0d2Pu3LlYvHgx9u/fj/b2dnlm2uVyYfHixYrOj2R+lhpjKJVjUenPSiZQH+sscDKU/Cy9BI7J0lMlB+aBjy9DBsXf/OY38cQTT8Q95vP58NFHHwG4VH7s4Ycfxo4dOxCNRnHTTTfh2WefhcfjSUdzE4rFgF/8ogeAXX4sP78bX/3qIbS1TZdzgD0eD0pLSxEKhRCaPh3vrFiBBdu2oXjvXrx/332YlpOTMCiWZjqampoQCAQQi8UghJDryxYXF8sXiM8o2K1N2uDDYrHIx5SXl8u7rPX29sqz0YPbkZGRgWg0ip6eHkybNg2RSAQff/yxPCN1xRVXYNq0aUn3pZLg0efzYcaMGXLNZpfLhbKyslFnwCTpumCl6pen0gA8VYG6mquwL/cXYzp25xttY59oNBqXpqPGBhZNTU1oaWlBaWmp/Mew9N+WlhYEAgFFC0iV3knxeDyqjKFUzoIq+Vl6TVfQU+CYDL1VcmAe+PgyZFAMAHPmzJELygOIyxF98MEH8b//+7949dVXkZeXh7Vr1+L222/H3r1709HUhNraAnj00Vps3Todu3Zdyp995JF6RKNnUFPTOqT4vBxsFRfjw3/7N2S9/z78U6ZglsJbKdKJJOUPD3780ksnvvAPvMiUlJTIF5nm5mZ0dHRg+vTp8mNSzU2JtLDPbrejs7MThw8fRldXFyZOnDjkdS7nYqUkeLRarZddVkrNC1YymwGkktIAfLwDdTVXYSe7WcZ4fx6jffYDa9laLJYhCxoH78I31g0sbDYbzpw5M6SvgUufQ7ILSJXeSVFrDGltxlVv6Qp6CxyV0mslB73+YaUHhg2KpcUKg7W3t+OFF17A9u3bccMNNwAAXnzxRcyePRv79+/Hpz/96VQ3dUTSCdvb24n16/1YujSKY8cm4JprwhBCWfH5M5MmwVtcrLj4fCwWG3Fr0YEXh5Eu/EouMo2NjcjPz0d7e/uwuck2mw15eXk4e/as7i5WgDoXrIH96Ha75dxmaXZm8OehV2O5HavWosZ0bJaRiJL2KKllK5279fX1CcfRwGuIdMzAcz8UCqGgoAAdHR2qLyA1863fVAbqY6HXwFEJPVdy0NsfVnph2KD4+PHjmDhxIrKyslBVVYVNmzahvLwcdXV16O3txbJly+RjZ82ahfLycuzbty9hUByNRuMWSIVCoXF9D4NP2MWLL2Lx4kt1gKUTdjyKz4+0tahaBfM7OjrgdrvlsmeDa95arVa43W6Ew2FdXqyAsV+wpH7MzMyU/zgYWF1A6+9fibHejlVrUWO6NssYS3uU1rIFgNbWVtjt9hHHkXQNaWlpkf8wllitVpSUlGDy5Mk4cuSIqgtIW1pa5Io3sVgM3d3dyMnJ4a1fjdFz4DgavVdy0MsfVnpiyKC4srISW7duhc/ng9/vxxNPPIFrr70W9fX1aGpqgt1uHzKQPB4PmpqaEr7upk2bhuQqjyctFp9Xq2C+VIezs7NT3jZ24C/G8vJyVX4Jp9NYLljRaBSdnZ3o7OxEX19f3Gx6OByW+0nL7z+RZG7HjjSbrNaiRq1tlpHsOZToj2HpHBttHPX09Mi50YMDHyGEXKZQrQWkM2bMQG1tLZqamuQFvYWFhbj66qt561dj9B44JsJKDjSYIYPim2++Wf73vHnzUFlZiSlTpmDnzp3Izs6+7Nf953/+Zzz00EPy/4dCIUyePHlMbU1E6Qmb953vIMtuh/vxx9EeiyWcmRzvAEPp6wyuwyk9Lq3kz8zMxNGjR017sbLb7QiHw+jp6cGECROGVOjo6OiAEEKuIa0nydyOldJEhptNdrvdqtyKT3azDC1s3qG0lu3FixcRDofR29sLl8s14jj65JNPIIQYMXVKSYqF0rSHQCCA48ePw+FwyPWWpQV7x48fR2FhoeqBsVGrJqSCkQNHpvPQYIYMigfLz8/HzJkzceLECSxfvhw9PT0IBoNxs3jNzc3D5iAPJO28lipKTtjpXV1wPPMM0N8Py/btyP/BD4AvfvHSPuODJLpdrVaAkcxFJlEdTiEEL1YYOmtnBEpvx3788cc4evRowtlkNRY1JrNZxki5+6nevCPZWraJKmT09/fj4sWLKCgoGDF1SkqxaG5uHjbFQqpOM1pfS38QSRv3RCKRIRv3qJ2fatSqCali5MCRlRxoMGV1pnQuHA7j5MmT8Hq9WLhwITIzM/H222/Lzzc0NODMmTOoqqpKYyuHkk5Yp9Mp1wWWUgwCgQCc2dmY99xzsPT3X/qG8+eB1auBxsYhryXdrvb7/XA6nSgqKoLT6YTf70dNTQ1aW1sT/6wkC+YrfR0pxcDj8cTlayb7OkbT09MDl8sFu92Orq4u9PX1yZU5pMWJLpdLvq2vJ0pux/b19eHYsWPybLLD4YDVapVnk7u6uuTgqbKyEl6vF5FIBG1tbYhEIvB6vYpXxCsda7Nnz5aPaW9vRygUkn+ZjsdGEGM9h4A/jyOHwzHiOMrKykJvb++on0dPT8+I7y+ZXHmp3GFnZycyMzPhdDqRmZmJzs5OhMNhNDY2yvXXx2q0614gEFDl5xiZ0a/F0sLosVxDyDgMOVP8T//0T7jlllswZcoUnD9/Hhs3boTNZsPdd9+NvLw8/O3f/i0eeughFBYWIjc3F//4j/+IqqoqTVWekCSqZDC/vh6ZNTXx3/DYY8CglA6lt6uXLl2qODdZySYHeiq8rzUOhwM5OTlwuVxylY6BixFzc3Pl4/RGye3YWCyGUCikaGGbGquwlY41KRfW7/fH5cLOnz8/LRtBjEYaRzk5OQiFQsOOI+kPKyUl2ZRWpxlJd3c3Ll68OOrGPd2Dt6i/DEaumpBqRr8Ws5IDSQwZFDc2NuLuu+9GW1sbiouLsXTpUuzfv18+cX/4wx/CarVi5cqVcZt3aNWwJ2xGBix33x1/4LRpwIYNQ74/mdXDSi4OSm5HqnWRMevFauAty8mTJw8bhOj1lqWS27FShQWli3vUWIWtpP728ePHYbfbMXXq1LjFoeORC6vG2FcyjpSkhuTn58vVYMZSnaanp0fxxj1jZeSqCelg9GsxKzkQYNCgeMeOHQmfz8rKwjPPPINnnnkmRS0auyEn7BNPAOfOxR0jfvhDtEejiIZCcResgberhRBDdr9KJsAYWDVAyrEWQgxbNUDJRUbJAhgjX6xGev8Dc91aW1uRm5sLp9OJnp4etLa26vqWpZI8Pp/Phw8++EDx4h61FlIpqb9dUlIS99q5ublDZh21srBL6TgCkLCso1rVYOx2u6KNe9RYQGrkqgnpYuRrMRFg0KDY8M6dA556Ku6hnmuvRU1BAVrfeWfI7K10u1rKgxyuVqmS1cODF8m0tbWNaZGM2RfAjPb+jXzLcrT35na7ce7cOUWLe1IxjpKZdezt7VWlPWq9L6XjKNExalWDycrKQkFBAYLB4Igb9+Tn5w+Zib4cRq6aQETjg0GxHn3960BXl/y/wmrFvjvuQHNT07Cr9CsqKpCdnY2GhgbYbDZkZWXJv4g6OjoQDAbh8/lGvRU/cJFMLBaL+4XW2dkJq9UqL5IZbTbBqNuGKqX0/Rv5luVo703JqvDW1taUjCOls45NTU04ceLEmNuj9vmhZBwlOkatajB5eXkoKytDX1/fiBv3lJWVpbyKBxERwKBYfw4eBLZti3uoacUKNHs8o25RCwxdJZ5McKXWIhmzL4BJ9v0b+ZZlovemZDb53XffTck4UjLrKC1GG2t7xuv8UDKORjpGrdJVA19npI171K7iwXJbRKQUg2KdEEKgPRiEc+1aDMy2ExMm4P3bbkt4W9fv9wMApkyZMmIlg0gkkrJFMmZfAGP295+MRLOXwWAwZf2oZNZx4GK0sbRHq+NjvKrKDN64R4tVPIjIHBgU64A0M2TftQuVg0qwhR94AJ0uF4oSLKKTgtTi4mLk5eUNOUYIgba2tpQtkjH7Ahizv/9kjTR7mcp+VDLrmOxitJEW42l5fOixqoyRU5CISF0MijVOyi3sDgbx+Zdeinuu0+NB4J57kNHQIG8kMNwiusFb1A5exBKNRlO6SMbsC2DM/v7Vkup+HG3WMZnFaIkW0Wl9fKiVzpPKtCAjpyARkXoYFGvYwNzChb//PZzNzXHPf3DPPehrbUVWVhaOHTsm/6KUAtVwOIxgMIiZM2ciJydnzFvUJrtIZqSZMLMvgBn4/t1u95DasUZ//2pJxzhSYzFaT08PamtrR1xEV1FRYerzI120UkaP1KXFz1WLbaJLGBRr2MDcQufZs3HPBefNQ2j5cnS1tsJmswGAvJhOMnBx3axZsxLWIVV7kcxo5aTMvABG6sempiZ89NFHiMVi8nNWq1XuH6O+f7WkayHVWBaj+Xw+NDQ0JFxE19DQAJ/PZ9rzIx3MXh7SqLT4uWqxTfRnFjE4kiLFQqEQ8vLy0N7eLm+7q6bm5mb8/ve/R1FREaxWK/IOHcKVzz4L14kTqNuyBaEZM+D3+2GxWJCdnT1iDWIAuP7661NWP3WkclLt7e1wOp1yOSkzXxwCgQCqq6vR0tIyJCguKSnBddddZ/g+UIvWxlGi9mRmZuKdd96B0+kcNv2hu7sbkUhE1fOVElN6vSJ90eLnqsU2mYXSeI0zxRo2OLew/eqrUbdlC/Lq6xH2+dDT3S3fts3Ly0N+fn7CRXQej2fcF8kkU07KrAtgpD6KxWKYNWvWsFvvGrkkndqUjqNU3bJM1J7m5mbFi+jUOl9pZGYvD2lUWvxctdgmGopBsYYNmzNps6F9/nw5t9DtdiMcDiteRDfei2SSLSel5gIYveRpDewjq9U65DNjSbbkjTaOUj2bPFJ7kl1ExwVi40ur5e9obLT4uWqxTTQUg2INU5KjePXVV6OhoUEzi3LSVU5Ka7fQE9FyyS0j0tLuiWZfZKo1PBeNSYufqxbbRENZ090ASkwqA+X1ehGJRNDW1oZIJAKv14vKykqUlJRg1qxZcDqdCAQC6O7ulhe+BQKBlC/KGTgTNpzxKCclBT1+vx9OpxNFRUVwOp3w+/2oqalBIBBQ7WepIR19ZFaDb1k6HA5YrVb5lmVXV1fcjo/jTfpDVyvnq9nxXDQmLX6uWmwTDcWZYh0YLWdSS7s2pbrcmB7ztDhbmDrjcctyrGk60vl69OhR+P1+9PT0wG63w+v1Yvbs2Zq7s2FkPBeNSYufqxbbREMxKNaJ0XILtbJoTZoJa25uHrbcmDSzrVa79Jinla5SYmak9i1LPaXp0Oh4LhqTFj9XLbaJhmJQbCBaWpQzsEbycI+rRa95Wlqa3TcyNXeHUys3eeDr5Ofny6/T1NSEUCjEskwpxnPRmLT4uWqxTRSPQTFdllgshsbGRoTDYbhcLpSVlcFqtcrpDEII+Hw+hMNh+fawy+VCW1ubqukM47ElrhZKdxmBFqqBqHXLUq00HT2m+5iBVs9FLZxDeqbFz1WLbaI/Y1BMSWtoaEBtbS0uXLiA/v5+2Gw2FBYWoqKiAh6PB62trcjMzERjY+Owm4momc6gdp6WVkp36Z1W0gzUumWpVpqOHtN9zEJr56JWziG909rnCmizTXQJg2JKSkNDA/bs2YNoNIqcnBz51m8gEMCePXuwePFidHZ2orOzE319fXA4HLDZbOjv70c4HJa3g1YrnUHNPC0tle7SM631oxq3LNVK09Frug+lltbOISKzYFBMisViMdTW1iIajSI/Px9W66WKfg6HA5mZmQgGg6ivr0c0GkVvby8mTJggB6MZGRmw2Wzo6OiAEAJ2u121dqkR9PC2tjq02o9jvWWpVprOeKT7kLFo9RwiMgMGxaRYY2MjLly4gJycHDkglkjpEcFgEBkZGSm/WI816OFtbXVouR/HcstSrTQdlmWi0Wj5HCIyOgbFpFg4HEZ/fz8yMzMhhEB/f7+cL2yz2eRbv06nExaLBV1dXXHpE1KwmpOTg56eHtXbN5agh7e11aH3fhxpYZNaaTosy2R8Iy1CVkrv5xCRnjEoNpDxXqnscrlgs9kQiUTQ29uL3t5eCCFgsViQmZmJjIwMZGRkICcnBxMmTEB7ezu6uroQjUZhtVrhcrmQm5sLAJq7Pczb2urQcz+OtrBJrXJKLMtkXIkWIft8PkWvoedziEjvGBQbRCAQGPcdssrKyuByudDc3AybzYbMzExYLBYIIRCNRtHV1QWPx4Py8nI0Nzdj8uTJQ3a0a21t1eTtYd7WVode+1Hpwia1yimxLJPxjLYIGYCiwFiv5xCRETAoNoBAIIDq6mq0tLTE7SDX1taGlpYWXHfddaoExhaLBYWFhWhpaZFnQaxWK2KxGPr7++XnZ8+ejY6ODrS2tiI3NxdOpxM9PT1obW3V7O1h3tZWhx77MdmFTWqVU2JZJuNQsgi5trYWM2bMGDWVQo/nEJFRKE90Ik0SQqCurg7nzp1DLBZDVlYWcnJykJWVhVgshnPnzqGurk6VneTa29sBAFOnTkVOTg76+vrk/LecnBxMnToVwKWct8rKSni9XkQiEbS1tSESicDr9Wq6lJB0W1tv7dYavfVjMgubiIajZBHyhQsX0NjYqOj19HYOERkFZ4p1LhgM4vTp07BYLMjJyYkrgZaTk4OOjg6cPn0awWAQBQUFil5zpNxkKQD2eDzweDzo6OiQUzUmTJgA4NLsdDQahcfj0eXtYd7WVoee+pELm2isBi5CHo7dbkdXVxfC4bDi19TTOURkFAyKdU6aQXC5XMPOcmVnZ6OzsxNtbW2KguJEi40GLwAZnNPW3d0dtwBEr7eH9dpurdFLP3JhE42VtAg50Riy2WxwuVxJva5eziEio2D6hM4pSYsQQig6Tlps5Pf74XQ6UVRUBKfTCb/fj5qaGvT09MgzF4NfT1oA4na7uQCEdEVa2MRxTZerrKwMhYWF6OzsjFvXAVzKN+7q6kJhYSHKysrS1EIiUoJBsc653W5kZ2eju7t72F/okUgE2dnZcLvdCV9n8GIjh8MBq9UqLzbq6upCQ0MDfD4fnE4nAoEAuru7EYvF0N3djUAgwAUgpEvSwiaOa7pcVqsVFRUVcDgcCAaDcWMoGAzC4XCgoqIiqXrFRJR6TJ/Qufz8fEydOhUNDQ3o7OyUd5MTQqCvrw9CCEydOnXUW3BKFxvNnTtXcY3V8a6bTCQZ61jTc+1gnmfaIJVbk+oUd3V1wWazobi4OKk6xUSUPgyKdc5isWDhwoVoa2vD+fPn5UDYYrEgIyMDEydOxMKFC0f9JZnMYiMli+hG2wiBSC1qjTU9LmzieaYtPp8PM2bMGNOOdkSUPgyKDcJut8PpdKK/v18OiqWtl5VIdrFRogUgSjdCIBortceanhY28TzTJqvVivLy8nQ3g4guA/981TkpF1gIgdmzZ2PmzJmYPn06Zs6cidmzZ8c9n4hai42U5CYraQ/RaMw81sz83omIxguDYp0bmAtstVqRlZUFl8uFrKwsWK1WxRsPqLXYiBshUKqYeayZ+b1T8oQQCAaDaG5uRjAY5B9LRCNg+oTOqbnxgBqLjbgRAqWKmceamd87JYd550TKMSjWObU3HhjrYiNuhEDJGEvlBDOPtct576xSYT7MOydKDoNinZNygf1+P4qLi+N+yUm5wF6vN6mNB8ay2Gg82kPGNNYZLDOPtWTfO2cLzWdw3rk0RqS8c2lMuN1u/nFE9P8YFOuclAvc3t6OQCCA3Nxc2O129PT0IBQKpXzjAa21ZzDOlmmDGjNYWh9r4ymZ967V2UKei+MrmbxzvVRcIRpvDIoNQGsbD2itPRLOlmmDmjNYWh1rqaDkvWt1tpDn4vhj3jlR8hgUG4TWNh7QWnu0OltmRmrPYGltrKXSaO9di7OFPBdTw8w590SXi0GxgWht4wGttEers2VmNR4zWFoZa+mQ6L1rbbaQ52LqmDnnnuhysU4xGZ4ZarrqqQ7pwBms4XAGSz1a62sznItaoVbteSIz4UwxGZ7WZsvUprf8TM5gpY7W+tro56LWmDnnnuhyMCgmwzNybp0e8zP1XjVCT1UTtNbXRj4XtcrMOfdEyWJQTIantdkyteg5P1OvM1h6m5UHtNXXRj0Xtc7MOfdEyWBQTIantdkytWixskAy9DaDpcdZeYlW+tqo5yIRGQODYjIFLc2WqcUI+Zl6mcHS86y8RCt9bcRzkYiMgUExmYZWZsvUwvzM1NH7rLzWGO1cJCJjYFBMpqKV2TI1MD8zdYwwK681RjoXicgYWKeYSKdYhzR1tFbvl4iI1MegmEjHpPxMr9eLSCSCtrY2RCIReL1eTS/80htpVr69vX3IxijSrLzb7easPBGRjjF9gkjnmJ85/lg1gYjI+BgUExkA8zPHH6smEBEZG4NiIiKFOCtPRGRcDIqJiJLAWXkiImPiQjsiIiIiMj0GxURERERkegyKiYiIiMj0GBQTERERkekxKCYiIiIi02NQTERERESmx6CYiIiIiEyPQTERERERmR6DYiIiIiIyPQbFRERERGR6DIqJiIiIyPQYFBMRERGR6TEoJiIiIiLTY1BMRERERKbHoJiIiIiITI9BMRERERGZHoNiIiIiIjI9BsVEREREZHoMiomIiIjI9BgUExEREZHpZaS7AXomhAAAhEKhNLeEiIiIiIYjxWlS3DYSBsVj0NHRAQCYPHlymltCRERERIl0dHQgLy9vxOctYrSwmUYUi8Vw/vx5TJgwARaLJd3NUSwUCmHy5Mk4e/YscnNz090cQ2Nfpw77OnXY16nDvk4d9nVqpKOfhRDo6OjAxIkTYbWOnDnMmeIxsFqtKCsrS3czLltubi5P/BRhX6cO+zp12Nepw4tHHdcAAA/8SURBVL5OHfZ1aqS6nxPNEEu40I6IiIiITI9BMRERERGZHoNiE3I4HNi4cSMcDke6m2J47OvUYV+nDvs6ddjXqcO+Tg0t9zMX2hERERGR6XGmmIiIiIhMj0ExEREREZkeg2IiIiIiMj0GxURERERkegyKDWrTpk1YvHgxJkyYgJKSEvzVX/0VGhoa4o7p7u7GmjVrUFRUBJfLhZUrV6K5uTlNLdavLVu2YN68eXIh8qqqKrzxxhvy8+zn8fPkk0/CYrFg/fr18mPsb3V885vfhMViifuaNWuW/Dz7WV3nzp3Dl770JRQVFSE7Oxtz587FwYMH5eeFEPjGN74Br9eL7OxsLFu2DMePH09ji/Vp6tSpQ8a1xWLBmjVrAHBcq6m/vx+PP/44pk2bhuzsbEyfPh3f+ta3MLC+g9bGNYNig6qursaaNWuwf/9+vPXWW+jt7cVnP/tZdHZ2ysc8+OCD2L17N1599VVUV1fj/PnzuP3229PYan0qKyvDk08+ibq6Ohw8eBA33HADbr31Vnz44YcA2M/j5cCBA3j++ecxb968uMfZ3+qZM2cO/H6//PXuu+/Kz7Gf1XPx4kUsWbIEmZmZeOONN/CnP/0J//7v/46CggL5mKeeegpPP/00nnvuOdTU1CAnJwc33XQTuru709hy/Tlw4EDcmH7rrbcAAHfccQcAjms1ffe738WWLVvw4x//GEePHsV3v/tdPPXUU/jRj34kH6O5cS3IFFpaWgQAUV1dLYQQIhgMiszMTPHqq6/Kxxw9elQAEPv27UtXMw2joKBA/OxnP2M/j5OOjg4xY8YM8dZbb4nrrrtOrFu3TgjBca2mjRs3ivnz5w/7HPtZXY899phYunTpiM/HYjFRWloqvve978mPBYNB4XA4xC9+8YtUNNGw1q1bJ6ZPny5isRjHtcpWrFgh7r///rjHbr/9drFq1SohhDbHNWeKTaK9vR0AUFhYCACoq6tDb28vli1bJh8za9YslJeXY9++fWlpoxH09/djx44d6OzsRFVVFft5nKxZswYrVqyI61eA41ptx48fx8SJE3HFFVdg1apVOHPmDAD2s9p27dqFRYsW4Y477kBJSQkWLFiAn/70p/Lzp06dQlNTU1x/5+XlobKykv09Bj09PXj55Zdx//33w2KxcFyr7JprrsHbb7+NY8eOAQA++OADvPvuu7j55psBaHNcZ6Tlp1JKxWIxrF+/HkuWLMFVV10FAGhqaoLdbkd+fn7csR6PB01NTWlopb4dOXIEVVVV6O7uhsvlwuuvv45PfepTOHToEPtZZTt27MAf//hHHDhwYMhzHNfqqaysxNatW+Hz+eD3+/HEE0/g2muvRX19PftZZR9//DG2bNmChx56CF//+tdx4MABPPDAA7Db7Vi9erXcpx6PJ+772N9j8z//8z8IBoO47777APD6obYNGzYgFAph1qxZsNls6O/vx7e//W2sWrUKADQ5rhkUm8CaNWtQX18flw9I6vL5fDh06BDa29vxX//1X1i9ejWqq6vT3SzDOXv2LNatW4e33noLWVlZ6W6OoUmzOQAwb948VFZWYsqUKdi5cyeys7PT2DLjicViWLRoEb7zne8AABYsWID6+no899xzWL16dZpbZ1wvvPACbr75ZkycODHdTTGknTt34pVXXsH27dsxZ84cHDp0COvXr8fEiRM1O66ZPmFwa9euxa9+9Su88847KCsrkx8vLS1FT08PgsFg3PHNzc0oLS1NcSv1z26348orr8TChQuxadMmzJ8/H5s3b2Y/q6yurg4tLS34i7/4C2RkZCAjIwPV1dV4+umnkZGRAY/Hw/4eJ/n5+Zg5cyZOnDjBca0yr9eLT33qU3GPzZ49W05Xkfp0cBUE9vfl++STT7Bnzx585StfkR/juFbXI488gg0bNuCuu+7C3Llzce+99+LBBx/Epk2bAGhzXDMoNighBNauXYvXX38dv/3tbzFt2rS45xcuXIjMzEy8/fbb8mMNDQ04c+YMqqqqUt1cw4nFYohGo+xnld144404cuQIDh06JH8tWrQIq1atkv/N/h4f4XAYJ0+ehNfr5bhW2ZIlS4aUzDx27BimTJkCAJg2bRpKS0vj+jsUCqGmpob9fZlefPFFlJSUYMWKFfJjHNfq6urqgtUaH2babDbEYjEAGh3XaVneR+Pua1/7msjLyxO/+93vhN/vl7+6urrkY7761a+K8vJy8dvf/lYcPHhQVFVViaqqqjS2Wp82bNggqqurxalTp8Thw4fFhg0bhMViEW+++aYQgv083gZWnxCC/a2Whx9+WPzud78Tp06dEnv37hXLli0TbrdbtLS0CCHYz2qqra0VGRkZ4tvf/rY4fvy4eOWVV4TT6RQvv/yyfMyTTz4p8vPzxS9/+Utx+PBhceutt4pp06aJSCSSxpbrU39/vygvLxePPfbYkOc4rtWzevVqMWnSJPGrX/1KnDp1Srz22mvC7XaLRx99VD5Ga+OaQbFBARj268UXX5SPiUQi4h/+4R9EQUGBcDqd4rbbbhN+vz99jdap+++/X0yZMkXY7XZRXFwsbrzxRjkgFoL9PN4GB8Xsb3Xceeedwuv1CrvdLiZNmiTuvPNOceLECfl59rO6du/eLa666irhcDjErFmzxE9+8pO452OxmHj88ceFx+MRDodD3HjjjaKhoSFNrdW33/zmNwLAsP3Hca2eUCgk1q1bJ8rLy0VWVpa44oorxL/8y7+IaDQqH6O1cW0RYsDWIkREREREJsScYiIiIiIyPQbFRERERGR6DIqJiIiIyPQYFBMRERGR6TEoJiIiIiLTY1BMRERERKbHoJiIiIiITI9BMRERERGZHoNiIiIiIjI9BsVERDpXXV0Ni8Uif7333nvpbhIRke4wKCYi0rmf//zncf+/bdu2NLWEiEi/LEIIke5GEBHR5YlEIvB4POjo6IDL5UI4HEZBQQH8fj8cDke6m0dEpBucKSYi0rHXX38dHR0dAICnn34aAHDx4kXs3r07nc0iItIdBsVERDompUrMmzcPX/7yl+Hz+eIeJyIiZRgUExHplN/vx549ewAAX/rSl+L+++tf/xqBQGDU12hra8Ojjz4Kn8+H7OxseDweLF++HK+//joAYOvWrfICvtOnT4/4Ot3d3fjxj3+MG2+8EaWlpbDb7SgpKcGyZcvwwgsvoK+vb4zvlohofDGnmIhIp77//e/jkUcegdVqxZkzZzBp0iScOnUK06dPhxACmzdvxgMPPDDi9x85cgTLly9Hc3PzsM//3d/9HaqqqvDlL38ZAHDq1ClMnTp1yHEffPABbr31VnzyyScj/qzFixdj9+7d8Hg8yb1JIqIUYVBMRKRT8+fPx+HDh3HDDTfg7bfflh9funQp9u7di4ULF+LgwYPDfm8wGMScOXNw/vx5AMC9996Le+65B8XFxThx4gQ2b96Mffv2obKyEjU1NQCGD4pPnDiBRYsWob29Hbm5uVizZg0qKiowefJktLW1YdeuXXj++efR19eHyspK/OEPf0BmZub4dAgR0VgIIiLSnffff18AEADEf/7nf8Y9t2XLFvm5Dz/8cNjvX79+vXzMf/zHfwx5vq+vT9x6663yMQDEqVOnhhx3zTXXCABiwYIFIhAIDPuz3njjDWG1WgUA8ZOf/CT5N0tElALMKSYi0iFpIV12djZWrlwZ99wXv/hF2O32uOMGikaj2Lp1K4BLaQ3r1q0bcozNZsPzzz+PrKysEdvwhz/8Qd4o5Oc//zncbvewx33uc5/DX//1XwOA/HOJiLSGQTERkc709fVh+/btAIBbbrkFubm5cc8XFhbi85//PADglVdeQSwWi3v+4MGDCAaDAP68MG84Ho8HN91004jP79q1CwDg8/kwd+7chG3+y7/8SwDAgQMHuOiOiDSJQTERkc785je/kRfHjRTUSo83NjbinXfeiXuuvr5e/vfChQsT/qxFixaN+JyUr9zQ0BC3zfRwX2vXrgUA9Pb24sKFC6O8QyKi1GNQTESkM1JKRFFRET73uc8Ne8wXvvAF5Ofnxx0vuXjxovzv4uLihD8r0fMtLS1KmjtEV1fXZX0fEdF4ykh3A4iISLn29nY5baGtrU3OHU7ktddew7PPPoucnBxV29Lf3w/gUhWMl19+WfH3TZo0SdV2EBGpgUExEZGO7Ny5E93d3Ul9TzgcxmuvvYZ7770XAFBQUCA/FwgEMHPmzBG/N9EGIEVFRfLrX3XVVUm1iYhIaxgUExHpiJQK4fV68YMf/GDU4x955BE0NjZi27ZtclA8Z84c+fm6ujosWbJkxO8fqc4xACxYsADvvfcePv74YzQ1NaG0tFTp2yAi0hxu3kFEpBMDd6tbu3YtfvSjH436PevXr8fmzZvjdr3r7u5GaWkp2tvbsXjxYtTW1g77vc3NzZg6dao8Mz14844333xTrk6xYcMGbNq0aexvkogoTbjQjohIJ7Zt2wZpHkOq+zsa6bhYLCbn/WZlZeFv/uZvAFwqkbZ58+Yh3xeLxfD3f//3CVM1PvvZz6KiogIA8L3vfQ87d+5M2JYjR45g9+7ditpNRJRqnCkmItKJK6+8EidPnkRJSQn8fj+s1tHnNWKxGMrKyuD3+zFnzhy5HNuFCxcwZ84cNDU1Abi0zfOqVavitnl+7733UFFRIc8knz59GlOmTIl7/ZMnT6KiokIus3bLLbfgzjvvxIwZM2Cz2dDS0oL3338fu3fvxv79+/Hwww/j+9//vprdQkSkCuYUExHpwN69e3Hy5EkAwG233aYoIAYAq9WK2267Dc8++yw+/PBD1NXVYeHChSgsLMSvf/1rLF++HIFAAC+99BJeeumluO+97777cO2118pB8XC7202fPh379u3DypUrUV9fj927dyecDR680QgRkVYwfYKISAcG1hoevK3zaAYeP/B15s+fjz/96U94+OGHMWPGDDgcDrjdblx//fXYvn07XnzxRYRCIfn4vLy8YV9/5syZOHToELZv346VK1eivLwc2dnZsNvt8Hq9+MxnPoN//dd/RV1dHb7xjW8k1XYiolRh+gQREY3oK1/5Cl544QWUlZXh7Nmz6W4OEdG44UwxERENKxKJ4Je//CUA4NOf/nSaW0NENL4YFBMRmdTJkycx0s3C/v5+fO1rX0NraysAYPXq1alsGhFRyjF9gojIpO677z7U1tbirrvuQmVlJUpKShCJRHD48GH89Kc/xR//+EcAwLJly/Dmm2/CYrGkucVEROOH1SeIiEzs6NGj2Lhx44jPL1myBDt27GBATESGx5liIiKTamhowH//939jz549OH36NAKBAHp7e1FUVIRFixbhzjvvxF133aW4/BsRkZ4xKCYiIiIi0+Of/0RERERkegyKiYiIiMj0GBQTERERkekxKCYiIiIi02NQTERERESmx6CYiIiIiEyPQTERERERmR6DYiIiIiIyvf8Dc2In8caRmC8AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "plot_wage_fit(age_df, \n", " poly_age,\n", @@ -281,10 +419,110 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "8105e672", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:47.055964Z", + "iopub.status.busy": "2023-07-25T23:59:47.055628Z", + "iopub.status.idle": "2023-07-25T23:59:47.105479Z", + "shell.execute_reply": "2023-07-25T23:59:47.100477Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
df_residssrdf_diffss_diffFPr(>F)
02998.05.022216e+060.0NaNNaNNaN
12997.04.793430e+061.0228786.010128143.5931072.363850e-32
22996.04.777674e+061.015755.6936649.8887561.679202e-03
32995.04.771604e+061.06070.1521243.8098135.104620e-02
42994.04.770322e+061.01282.5630170.8049763.696820e-01
\n", + "
" + ], + "text/plain": [ + " df_resid ssr df_diff ss_diff F Pr(>F)\n", + "0 2998.0 5.022216e+06 0.0 NaN NaN NaN\n", + "1 2997.0 4.793430e+06 1.0 228786.010128 143.593107 2.363850e-32\n", + "2 2996.0 4.777674e+06 1.0 15755.693664 9.888756 1.679202e-03\n", + "3 2995.0 4.771604e+06 1.0 6070.152124 3.809813 5.104620e-02\n", + "4 2994.0 4.770322e+06 1.0 1282.563017 0.804976 3.696820e-01" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "models = [MS([poly('age', degree=d)]) \n", " for d in range(1, 6)]\n", @@ -321,12 +559,99 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "095fca7f", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:47.112932Z", + "iopub.status.busy": "2023-07-25T23:59:47.111881Z", + "iopub.status.idle": "2023-07-25T23:59:47.132845Z", + "shell.execute_reply": "2023-07-25T23:59:47.131767Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errtP>|t|
intercept111.70360.729153.2830.000
poly(age, degree=4)[0]447.067939.91511.2010.000
poly(age, degree=4)[1]-478.315839.915-11.9830.000
poly(age, degree=4)[2]125.521739.9153.1450.002
poly(age, degree=4)[3]-77.911239.915-1.9520.051
\n", + "
" + ], + "text/plain": [ + " coef std err t P>|t|\n", + "intercept 111.7036 0.729 153.283 0.000\n", + "poly(age, degree=4)[0] 447.0679 39.915 11.201 0.000\n", + "poly(age, degree=4)[1] -478.3158 39.915 -11.983 0.000\n", + "poly(age, degree=4)[2] 125.5217 39.915 3.145 0.002\n", + "poly(age, degree=4)[3] -77.9112 39.915 -1.952 0.051" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "summarize(M)\n" ] @@ -343,12 +668,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "0b576607", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:47.136679Z", + "iopub.status.busy": "2023-07-25T23:59:47.136366Z", + "iopub.status.idle": "2023-07-25T23:59:47.143007Z", + "shell.execute_reply": "2023-07-25T23:59:47.141901Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "143.59228900000002" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "(-11.983)**2\n" ] @@ -367,12 +709,91 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "7242df77", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:47.147738Z", + "iopub.status.busy": "2023-07-25T23:59:47.147429Z", + "iopub.status.idle": "2023-07-25T23:59:47.178407Z", + "shell.execute_reply": "2023-07-25T23:59:47.177311Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
df_residssrdf_diffss_diffFPr(>F)
02997.03.902335e+060.0NaNNaNNaN
12996.03.759472e+061.0142862.701185113.9918833.838075e-26
22995.03.753546e+061.05926.2070704.7285932.974318e-02
\n", + "
" + ], + "text/plain": [ + " df_resid ssr df_diff ss_diff F Pr(>F)\n", + "0 2997.0 3.902335e+06 0.0 NaN NaN NaN\n", + "1 2996.0 3.759472e+06 1.0 142862.701185 113.991883 3.838075e-26\n", + "2 2995.0 3.753546e+06 1.0 5926.207070 4.728593 2.974318e-02" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "models = [MS(['education', poly('age', degree=d)])\n", " for d in range(1, 4)]\n", @@ -398,12 +819,99 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "c7972aea", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:47.183486Z", + "iopub.status.busy": "2023-07-25T23:59:47.182683Z", + "iopub.status.idle": "2023-07-25T23:59:47.209638Z", + "shell.execute_reply": "2023-07-25T23:59:47.208567Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errzP>|z|
intercept-4.30120.345-12.4570.000
poly(age, degree=4)[0]71.964226.1332.7540.006
poly(age, degree=4)[1]-85.772935.929-2.3870.017
poly(age, degree=4)[2]34.162619.6971.7340.083
poly(age, degree=4)[3]-47.400824.105-1.9660.049
\n", + "
" + ], + "text/plain": [ + " coef std err z P>|z|\n", + "intercept -4.3012 0.345 -12.457 0.000\n", + "poly(age, degree=4)[0] 71.9642 26.133 2.754 0.006\n", + "poly(age, degree=4)[1] -85.7729 35.929 -2.387 0.017\n", + "poly(age, degree=4)[2] 34.1626 19.697 1.734 0.083\n", + "poly(age, degree=4)[3] -47.4008 24.105 -1.966 0.049" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X = poly_age.transform(Wage)\n", "high_earn = Wage['high_earn'] = y > 250 # shorthand\n", @@ -424,9 +932,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "84f172f2", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:47.217196Z", + "iopub.status.busy": "2023-07-25T23:59:47.216538Z", + "iopub.status.idle": "2023-07-25T23:59:47.224306Z", + "shell.execute_reply": "2023-07-25T23:59:47.223577Z" + } + }, "outputs": [], "source": [ "newX = poly_age.transform(age_df)\n", @@ -444,12 +959,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "fcf376bd", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:47.229023Z", + "iopub.status.busy": "2023-07-25T23:59:47.228288Z", + "iopub.status.idle": "2023-07-25T23:59:47.431859Z", + "shell.execute_reply": "2023-07-25T23:59:47.430536Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "rng = np.random.default_rng(0)\n", @@ -492,12 +1024,91 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "c4d00900", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:47.436357Z", + "iopub.status.busy": "2023-07-25T23:59:47.435953Z", + "iopub.status.idle": "2023-07-25T23:59:47.457953Z", + "shell.execute_reply": "2023-07-25T23:59:47.456731Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errtP>|t|
(17.999, 33.75]94.15841.47863.6920.0
(33.75, 42.0]116.66081.47079.3850.0
(42.0, 51.0]119.18871.41684.1470.0
(51.0, 80.0]116.57171.55974.7510.0
\n", + "
" + ], + "text/plain": [ + " coef std err t P>|t|\n", + "(17.999, 33.75] 94.1584 1.478 63.692 0.0\n", + "(33.75, 42.0] 116.6608 1.470 79.385 0.0\n", + "(42.0, 51.0] 119.1887 1.416 84.147 0.0\n", + "(51.0, 80.0] 116.5717 1.559 74.751 0.0" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "cut_age = pd.qcut(age, 4)\n", "summarize(sm.OLS(y, pd.get_dummies(cut_age)).fit())\n" @@ -542,12 +1153,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "d3817102", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:47.462938Z", + "iopub.status.busy": "2023-07-25T23:59:47.462123Z", + "iopub.status.idle": "2023-07-25T23:59:47.472495Z", + "shell.execute_reply": "2023-07-25T23:59:47.471619Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(3000, 7)" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "bs_ = BSpline(internal_knots=[25,40,60], intercept=True).fit(age)\n", "bs_age = bs_.transform(age)\n", @@ -568,12 +1196,115 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "c06c0f27", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:47.478643Z", + "iopub.status.busy": "2023-07-25T23:59:47.478133Z", + "iopub.status.idle": "2023-07-25T23:59:47.545629Z", + "shell.execute_reply": "2023-07-25T23:59:47.543199Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errtP>|t|
intercept60.49379.4606.3940.000
bs(age, internal_knots=[25, 40, 60])[0]3.980512.5380.3170.751
bs(age, internal_knots=[25, 40, 60])[1]44.63109.6264.6360.000
bs(age, internal_knots=[25, 40, 60])[2]62.838810.7555.8430.000
bs(age, internal_knots=[25, 40, 60])[3]55.990810.7065.2300.000
bs(age, internal_knots=[25, 40, 60])[4]50.688114.4023.5200.000
bs(age, internal_knots=[25, 40, 60])[5]16.606119.1260.8680.385
\n", + "
" + ], + "text/plain": [ + " coef std err t P>|t|\n", + "intercept 60.4937 9.460 6.394 0.000\n", + "bs(age, internal_knots=[25, 40, 60])[0] 3.9805 12.538 0.317 0.751\n", + "bs(age, internal_knots=[25, 40, 60])[1] 44.6310 9.626 4.636 0.000\n", + "bs(age, internal_knots=[25, 40, 60])[2] 62.8388 10.755 5.843 0.000\n", + "bs(age, internal_knots=[25, 40, 60])[3] 55.9908 10.706 5.230 0.000\n", + "bs(age, internal_knots=[25, 40, 60])[4] 50.6881 14.402 3.520 0.000\n", + "bs(age, internal_knots=[25, 40, 60])[5] 16.6061 19.126 0.868 0.385" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "bs_age = MS([bs('age', internal_knots=[25,40,60])])\n", "Xbs = bs_age.fit_transform(Wage)\n", @@ -591,10 +1322,114 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "8cb32db0", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:47.550992Z", + "iopub.status.busy": "2023-07-25T23:59:47.550477Z", + "iopub.status.idle": "2023-07-25T23:59:47.578217Z", + "shell.execute_reply": "2023-07-25T23:59:47.577450Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errtP>|t|
intercept60.49379.4606.3940.000
bs(age)[0]3.980512.5380.3170.751
bs(age)[1]44.63109.6264.6360.000
bs(age)[2]62.838810.7555.8430.000
bs(age)[3]55.990810.7065.2300.000
bs(age)[4]50.688114.4023.5200.000
bs(age)[5]16.606119.1260.8680.385
\n", + "
" + ], + "text/plain": [ + " coef std err t P>|t|\n", + "intercept 60.4937 9.460 6.394 0.000\n", + "bs(age)[0] 3.9805 12.538 0.317 0.751\n", + "bs(age)[1] 44.6310 9.626 4.636 0.000\n", + "bs(age)[2] 62.8388 10.755 5.843 0.000\n", + "bs(age)[3] 55.9908 10.706 5.230 0.000\n", + "bs(age)[4] 50.6881 14.402 3.520 0.000\n", + "bs(age)[5] 16.6061 19.126 0.868 0.385" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "bs_age = MS([bs('age',\n", " internal_knots=[25,40,60],\n", @@ -623,12 +1458,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "f26b715f", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:47.583782Z", + "iopub.status.busy": "2023-07-25T23:59:47.583349Z", + "iopub.status.idle": "2023-07-25T23:59:47.596998Z", + "shell.execute_reply": "2023-07-25T23:59:47.595684Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([33.75, 42. , 51. ])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "BSpline(df=6).fit(age).internal_knots_\n" ] @@ -651,12 +1503,91 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "d6109816", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:47.608918Z", + "iopub.status.busy": "2023-07-25T23:59:47.608409Z", + "iopub.status.idle": "2023-07-25T23:59:47.641795Z", + "shell.execute_reply": "2023-07-25T23:59:47.640942Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errtP>|t|
intercept94.15841.47863.6870.0
bs(age, df=3, degree=0)[0]22.34902.15210.3880.0
bs(age, df=3, degree=0)[1]24.80762.04412.1370.0
bs(age, df=3, degree=0)[2]22.78142.08710.9170.0
\n", + "
" + ], + "text/plain": [ + " coef std err t P>|t|\n", + "intercept 94.1584 1.478 63.687 0.0\n", + "bs(age, df=3, degree=0)[0] 22.3490 2.152 10.388 0.0\n", + "bs(age, df=3, degree=0)[1] 24.8076 2.044 12.137 0.0\n", + "bs(age, df=3, degree=0)[2] 22.7814 2.087 10.917 0.0" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "bs_age0 = MS([bs('age',\n", " df=3, \n", @@ -706,12 +1637,107 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "7c73a3da", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:47.647140Z", + "iopub.status.busy": "2023-07-25T23:59:47.646766Z", + "iopub.status.idle": "2023-07-25T23:59:47.682939Z", + "shell.execute_reply": "2023-07-25T23:59:47.682146Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
coefstd errtP>|t|
intercept60.47524.70812.8440.000
ns(age, df=5)[0]61.52674.70913.0650.000
ns(age, df=5)[1]55.69125.7179.7410.000
ns(age, df=5)[2]46.81844.9489.4630.000
ns(age, df=5)[3]83.203611.9186.9820.000
ns(age, df=5)[4]6.87709.4840.7250.468
\n", + "
" + ], + "text/plain": [ + " coef std err t P>|t|\n", + "intercept 60.4752 4.708 12.844 0.000\n", + "ns(age, df=5)[0] 61.5267 4.709 13.065 0.000\n", + "ns(age, df=5)[1] 55.6912 5.717 9.741 0.000\n", + "ns(age, df=5)[2] 46.8184 4.948 9.463 0.000\n", + "ns(age, df=5)[3] 83.2036 11.918 6.982 0.000\n", + "ns(age, df=5)[4] 6.8770 9.484 0.725 0.468" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ns_age = MS([ns('age', df=5)]).fit(Wage)\n", "M_ns = sm.OLS(y, ns_age.transform(Wage)).fit()\n", @@ -728,10 +1754,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "d73789b4", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:47.692145Z", + "iopub.status.busy": "2023-07-25T23:59:47.691762Z", + "iopub.status.idle": "2023-07-25T23:59:47.897115Z", + "shell.execute_reply": "2023-07-25T23:59:47.891816Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsUAAALTCAYAAAD+RH+eAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXhb1Z0//rd2W5Ylx5a8JI6zAImzQVjiJCUNBCiUwpQWusyUDtB2WkqhnbZT2qEPLaV0Sn9lhk47pdtMW5hSptsMbeEpWyAsgcQOCSFAYmchiePEi2RHkrVv9/dHvudUsrVcR9eyZL1fz5MHEl3fe+4mf+6553w+OkVRFBARERERVTH9TDeAiIiIiGimMSgmIiIioqrHoJiIiIiIqh6DYiIiIiKqegyKiYiIiKjqMSgmIiIioqrHoJiIiIiIqh6DYiIiIiKqegyKiYiIiKjqMSgmIiqBm266CTqdDgsXLpzpppy2hQsXQqfT4aabbpr02ZEjR6DT6aDT6fDggw+WvG3lTByXb3zjGzmX6e/vx80334wzzjgDNTU18mf++Mc/lqydRNWOQTFRFXn++eflL1udTocPf/jDBX9GBHM6na4ELSSqPv39/Tj//PPxs5/9DG+//Tai0WjJ2yAeeAr9qeSHOqJCGBQTVbHf//73eOONN2a6GbOiF5XodH3rW9+Cx+OB0WjE//f//X/Ytm0b3njjDbzxxhu49NJLZ7p5RFXDONMNIKKZoygK7rrrLvzf//3fTDeFKtzChQuhKMpMN6Mibd68GQDwvve9D1/+8pdntC3XXHMNvvWtb+X83Gw2l7A1RKXFoJioSjmdTng8Hjz66KN47bXXcO655850k4iq0vHjxwEAS5YsmeGWAA0NDVi5cuVMN4NoRnD4BFGV+tznPgeLxQIA+PrXvz7DrSGqXrFYDABgMplmuCVE1Y1BMVGVmj9/Pj71qU8BAB5//HH09PSc1npSqRSee+45fOlLX8KFF14Ip9MJk8mEhoYGrF69Gl/60pfQ39+f9We/8Y1vQKfT4aGHHgIAHD16NOvknnRqZvIDwMUXXwydToeLL7540mfpEw6ff/55pFIp/OIXv8CmTZvQ0tICvV6fkWGhmH3UUjKZxIMPPogrrrgCra2tMJvNcDgcOOuss3DppZfi29/+Nvbu3Tvp5yaO2T5+/Di++MUvYsmSJbBarXC5XLjqqqvw5JNPnnbbCmWfEOdanM9IJIL77rsP5513Hurr61FfX4+uri788Ic/RCKRKLi9SCSCH/7wh7j00kvlsWhubsZll12Gn//856rWoZVHHnkEF198MebMmQObzYaVK1firrvugtfrzfkzDz744KTr++6778647rNl+SCi6cPhE0RV7I477sB//dd/IRwO42tf+xqeeuqpKa/jm9/8Ju6+++5J/+7z+fD666/j9ddfx49//GM8/PDDeP/7369FszUViURwxRVXyHGd2ZTDPgYCAbznPe/BSy+9lPHv8Xgcfr8fBw8exHPPPYddu3bhD3/4Q871vPrqq7jqqqswMjIi/y0cDuMvf/kL/vKXv+CLX/wi/u3f/m1a9kEYHh7Gu9/9buzevTvj33fs2IEdO3bg6aefxh//+Efo9dn7bV5//XVcc801OHr0aMa/u91uPPvss3j22Wfx05/+FI899hhaWlqmazeQSCTwkY98BL///e8z/v2tt97CW2+9hYcffjjvdUVE5YVBMVEVa2trwy233IL7778fTz/9NLZu3YoNGzZMaR2JRAJtbW14//vfj/Xr12Px4sWoqanBsWPH8Morr+BHP/oRAoEAPvKRj2DXrl1YtmyZ/NnPfOYz+MAHPoA777wTf/rTnzB37tzTCsyL8ZWvfAV79uzBe9/7Xtx0001YsGABhoeH4ff7NdlHrXzjG9+QAfHVV1+N66+/Hh0dHaipqcHIyAhee+01PP7443lT54VCIXzwgx+Ez+fDP//zP+M973kPLBYLuru7ce+992JwcBD3338/Ojo68I//+I+a74Nw7bXXYu/evfjc5z6Hv/mbv0FjYyP6+vpwzz33YN++fXjsscfwn//5n7j55psn/ezBgwdx0UUXwefzwW6349Zbb0VXVxfmz5+P0dFR/PnPf8ZPf/pT7NixA9dccw1eeumlaRuW8KUvfUkGxEuXLsWXv/xlnH322fD5fPj973+P//zP/8yZ9vB973sfLrjgAgDAqlWrAAC33HILPvOZz8hl5syZMy3tzufFF1/E6tWrcejQISSTSbS0tKCrqwt/93d/h2uuuYapGWl2U4ioamzZskUBoABQfvnLXyqKoijDw8NKXV2dAkDZtGnTpJ+58cYb5c9kc/jwYSUWi+Xc5rFjx5R58+YpAJSPfvSjWZcR21iwYEHBfRBtueuuu/Iud9FFFykAlIsuumjSZ+nHAYBy55135l1Xqfcxm/nz5ysAlA984AN5lxsdHc25bQCKyWRSXnjhhUnLHD9+XGlvb1cAKHV1dcrIyMikZRYsWKAAUG688cZJnx0+fHjStZXurrvuymjDli1bsra9paVFAaCcffbZWffvHe94hwJAOffccxW32511mSeeeELR6/UKAOVnP/tZ1mWKtWfPHrmN8847TxkfH5+0zEMPPZRxneW6ZtVc0xOv2dP9c/jw4azrF+c2358LL7xQGRgYOI2jRVQZOKaYqMo1NzfjtttuAwBs2bIFW7ZsmdLPL1y4MG9PXHt7O26//XYAwJ///OeyS9u1ZMmSguOTy2Efh4aGAADvfOc78y7X2NiY9/Obb74ZGzdunPTvc+fOlcMmgsGgHOc9HT772c9mHevd2NiIj33sYwCAN954Az6fL+Pzl156Ca+88goA4KGHHoLT6cy6/ne/+934wAc+AADTVl3vJz/5CVKpFADgZz/7GWw226RlbrjhBlx55ZXTsn2tmc1mvPe978UPf/hDPP/883jttdewZcsWfPvb38b8+fMBAC+//DLe9a53TTovRLMFh08QEW6//Xb86Ec/wvj4OL72ta9h69atp70uv9+P0dFRhEIhGRxarVb52eHDh7F48WJN2q2FD3/4wzAYDFP6mZnYx7a2NvT39+O3v/0t/uEf/kFub6pE0JnN+9//fjQ0NMDr9WLz5s340pe+dLrNzev666/P+dn5558P4FQO7cOHD2P16tXysz//+c8ATg1VEEMOctm4cSN+97vfYceOHUgkEjAatf11J8YKr1q1SrY5m49//ON44oknit7emjVrNCm0M2/evKz/3tPTg4aGhkn/fvHFF+O2227DBz7wATz99NPYt28f7r77btx///1Ft4Wo3DAoJiI0NTXh85//PO655x68/PLLeOqpp3DFFVeo/vmjR4/iX//1X/HYY49Nmvw0kcfjKaug+Oyzz1a13Ezv44033oh77rkHr7zyChYtWoQPfvCDuPTSS7Fhwwa4XC5V6zCbzTjnnHNyfm4ymXDuuediy5Yt01rpsLOzM+dn6T3d4+PjGZ+9+uqrAIC+vj7VY1vj8TjGxsbQ3Nx8Gi3NLhqN4sCBAwBOBav5dHV1abLNurq6ac0fnC0gFurr6/G73/0OixcvxtjYGH72s5/hO9/5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9RgUExEREVHVY1BMRERERFWPQTERERERVT0GxURERERU9RgUExEREVHVY1BMRERERFWPQTERERERVT0GxURERERU9RgUExEREVHVY1BMRERERFWPQTERERERVT0GxURERERU9RgUExEREVHVY1BMRERERFWPQTERERERVT3jTDeAiIgqh6Io8Pl8iEajsFgscDgc0Ol0M90sIqKiMSgmIiJV3G43ent74fF4kEgkYDQa4XQ60dnZCZfLNdPNIyIqCoNiIiIqyO12o7u7G6FQCA6HAyaTCfF4HIODg/D5fFi7di0DYyKqaBxTTEREeSmKgt7eXoRCIbhcLlgsFuj1elgsFrhcLoRCIfT29kJRlJluKhHRaWNQTEREefl8Png8nqzjh3U6Hex2OzweD3w+3wy1kIioeAyKiYgor2g0ikQiAZPJlPVzs9mMRCKBaDRa4pYREWmHQTEREeVlsVhgNBoRj8ezfh6LxWA0GmGxWErcMiIi7TAoJiKivBwOB5xOJ3w+36Rxw4qiwO/3w+l0wuFwzFALiYiKx6CYiIjy0ul06OzshNVqhdvtRiQSQSqVQiQSgdvthtVqRWdnJ/MVE1FFY1BMREQFuVwurF27Fm1tbQiHwxgdHUU4HEZbWxvTsRHRrMA8xUREpIrL5ZLDKFjRjohmGwbFRESkmk6nQ0NDw0w3g4hIcxw+QURERERVj0ExEREREVU9BsVEREREVPUYFBMRERFR1WNQTERERERVj0ExEREREVU9BsVEREREVPUYFBMRERFR1WNQTERERERVj0ExEREREVU9BsVEREREVPWMM90AolJSFAU+nw/RaBQWiwUOhwM6na7it6UVNW1Wu19qlkulUhgYGEAgEIDNZkN7ezv0+vJ+VteqzclkEr29vfD7/bDb7ejs7ITBYJiGFp9SidejGpV6T5fbtT9brw+iqWBQTFXD7Xajt7cXHo8HiUQCRqMRTqcTnZ2dcLlcFbstrahps9r9UrNcX18fenp6MDY2hmQyCYPBgMbGRnR1dWHp0qUzcgwK0arNPT092L59OwKBAFKpFPR6PZ599lmsW7cOXV1dmre7Eq9HNSr1ni63a3+2Xh9EU1XeXTI53HvvvVizZg3q6+vR3NyM973vfejr68tYJhKJ4NZbb0VTUxNsNhuuu+46DA8PZyzT39+Pq666ClarFc3Nzbj99tuR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B23Lvn37sHnzZlntJiKKNc4UExFpxNlnn43Dhw8jJycHbrcbZvPQ8xqBQAC5ublwu92YPHmyVI7t1KlTmDx5MmprawF8s83zokWLQrZ5/uSTT1BSUiLNJB89ehTjxo0Lef3Dhw+jpKREKrN25ZVXYuHChZg4cSIsFgvq6+vx2WefYfPmzdixYwfuvPNOPPbYY0p2CxGRIphTTESkAR9//DEOHz4MALjqqqtkBcQAYDabcdVVV+Hpp5/GF198gcrKShQXFyMrKwtvv/025s2bB4/Hg5deegkvvfRSyPfeeOONuPDCC6WgeKDd7SZMmIDt27djwYIFqKqqwubNmwedDe670QgRkVowfYKISAN61xruu63zUHqf3/t1pk2bhi+//BJ33nknJk6cCJvNBofDge9+97tYv3491q5di+bmZun89PT0AV9/0qRJ2LNnD9avX48FCxYgLy8PycnJsFqtcLlc+M53voPf//73qKysxH333RdR24mIYoXpE0REFNYtt9yCNWvWIDc3F8ePH493c4iIooYzxURENCC/34/XX38dAHD++efHuTVERNHFoJiIyKAOHz6McA8Le3p6cOutt6KhoQEAsHjx4lg2jYgo5pg+QURkUDfeeCMqKipw7bXXorS0FDk5OfD7/di7dy+ef/55fPrppwCAuXPn4t1334XJZIpzi4mIoofVJ4iIDGz//v24//77wx6fNWsWNmzYwICYiHSPM8VERAZVXV2Nf//739i6dSuOHj0Kj8eDrq4uZGdnY8aMGVi4cCGuvfZa2eXfiIi0jEExERERERke//wnIiIiIsNjUExEREREhsegmIiIiIgMj0ExERERERkeg2IiIiIiMjwGxURERERkeAyKiYiIiMjwGBQTERERkeH9P/gpV4sDWJKJAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "plot_wage_fit(age_df,\n", " ns_age,\n", @@ -758,10 +1802,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "3e70b87d", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:47.906535Z", + "iopub.status.busy": "2023-07-25T23:59:47.906039Z", + "iopub.status.idle": "2023-07-25T23:59:47.942756Z", + "shell.execute_reply": "2023-07-25T23:59:47.941983Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "LinearGAM(callbacks=[Deviance(), Diffs()], fit_intercept=True, \n", + " max_iter=100, scale=None, terms=s(0) + intercept, tol=0.0001, \n", + " verbose=False)" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X_age = np.asarray(age).reshape((-1,1))\n", "gam = LinearGAM(s_gam(0, lam=0.6))\n", @@ -784,10 +1848,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "efe03b12", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:47.948147Z", + "iopub.status.busy": "2023-07-25T23:59:47.947788Z", + "iopub.status.idle": "2023-07-25T23:59:48.314582Z", + "shell.execute_reply": "2023-07-25T23:59:48.314258Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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GgwGRCIRACo9rrOyvY+m3Ve+8hWhuLhY+N3vfid4PB7p39DQkHSfv/7rvxZqa2uF3/72t8Lhw4eF5uZmobm5OYuj1qYtW7YIe/fuFc6fPy8cO3ZM2LJli6DT6YQ333xTEATO83SLrj4hCJxvpTzyyCPC7373O+H8+fPCu+++K6xZs0ZwOp1Cd3e3IAicZyUdPHhQKCgoEL7zne8IbW1twksvvSQUFhYKL774onSfJ554QigpKRF+9atfCceOHRPuuusuoa6uTgiFQlkcuTaNj48LtbW1wte//vVJt/G4Vs769euFmTNnCr/+9a+F8+fPC6+88orgdDqFr33ta9J91HZcMyjOUQCm/Pfcc89J9wmFQsLf/M3fCKWlpUJhYaFw9913Cx6PJ3uD1qgHH3xQmD17tmAymYSKigrhlltukQJiQeA8T7eJQTHnWxn33nuvUF1dLZhMJmHmzJnCvffeK5w5c0a6nfOsrF27dgnXXXedYDabhfr6euGnP/1pzO2RSET4xje+IbhcLsFsNgu33HKL0NramqXRattvfvMbAcCU88fjWjmDg4PCpk2bhNraWsFisQhz584V/vEf/1EIh8PSfdR2XOsEIaq1CBERERFRHmJOMRERERHlPQbFRERERJT3GBQTERERUd5jUExEREREeY9BMRERERHlPQbFRERERJT3GBQTERERUd5jUExEREREeY9BMRGRxu3duxc6nU76995772V7SEREmsOgmIhI437xi1/E/P8XXnghSyMhItIutnkmItKwUCgEl8sFv98Pu92OQCCA0tJSeDwemM3mbA+PiEgzuFJMRKRhr776Kvx+PwDgySefBAD09/dj165d2RwWEZHmMCgmItIwMVViyZIl+MIXvgC32x3zcyIikodBMRGRRnk8HuzevRsA8PnPfz7mf9944w14vd6kj9Hb24uvfe1rcLvdsFqtcLlcuPXWW/Hqq68CAJ5//nlpA9+FCxfiPs7w8DB+9KMf4ZZbbkFVVRVMJhMqKyuxZs0aPPvssxgbG0vz2RIRTS/mFBMRadQPfvADPProo9Dr9bh06RJmzpyJ8+fPY968eRAEAdu2bcNXv/rVuL9//Phx3Hrrrejq6pry9i9/+ctobm7GF77wBQDA+fPnMWfOnEn3O3r0KO666y5cvHgx7t9asWIFdu3aBZfLldqTJCLKEAbFREQatXTpUhw7dgw333wz9uzZI/189erVePfdd9HQ0IDDhw9P+bs+nw+LFi3ClStXAAD3338//uIv/gIVFRU4c+YMtm3bhn379qGpqQkHDhwAMHVQfObMGSxfvhwDAwNwOBzYsGEDGhsbMWvWLPT29uK1117DM888g7GxMTQ1NeH3v/89jEbj9EwIEVE6BCIi0pwPPvhAACAAEP7jP/4j5rann35auu3DDz+c8vc3b94s3eff//3fJ90+NjYm3HXXXdJ9AAjnz5+fdL9PfOITAgBh2bJlgtfrnfJvvf7664JerxcACD/96U9Tf7JERBnAnGIiIg0SN9JZrVasXbs25rY///M/h8lkirlftHA4jOeffx7Ax2kNmzZtmnQfg8GAZ555BhaLJe4Yfv/730uNQn7xi1/A6XROeb9Pf/rT+MxnPgMA0t8lIlIbBsVERBozNjaG7du3AwDuvPNOOByOmNvLysrwJ3/yJwCAl156CZFIJOb2w4cPw+fzAfjDxrypuFwu3HbbbXFvf+211wAAbrcbixcvTjjmP/7jPwYAHDp0iJvuiEiVGBQTEWnMb37zG2lzXLygVvx5e3s73n777ZjbTpw4If13Q0NDwr+1fPnyuLeJ+cqtra0xbaan+rdx40YAwOjoKPr6+pI8QyKizGNQTESkMWJKRHl5OT796U9PeZ8//dM/RUlJScz9Rf39/dJ/V1RUJPxbiW7v7u6WM9xJhoaGrur3iIimU0G2B0BERPINDAxIaQu9vb1S7nAir7zyCp566inYbDZFxzI+Pg7g4yoYL774ouzfmzlzpqLjICJSAoNiIiIN2blzJ4aHh1P6nUAggFdeeQX3338/AKC0tFS6zev1YsGCBXF/N1EDkPLycunxr7vuupTGRESkNgyKiYg0REyFqK6uxr/+678mvf+jjz6K9vZ2vPDCC1JQvGjRIun2lpYWrFq1Ku7vx6tzDADLli3De++9h3PnzqGzsxNVVVVynwYRkeqweQcRkUZEd6vbuHEjfvjDHyb9nc2bN2Pbtm0xXe+Gh4dRVVWFgYEBrFixAgcPHpzyd7u6ujBnzhxpZXpi844333xTqk6xZcsWbN26Nf0nSUSUJdxoR0SkES+88ALEdQyx7m8y4v0ikYiU92uxWPCXf/mXAD4ukbZt27ZJvxeJRPBXf/VXCVM1PvWpT6GxsREA8P3vfx87d+5MOJbjx49j165dssZNRJRpXCkmItKIa665BmfPnkVlZSU8Hg/0+uTrGpFIBDU1NfB4PFi0aJFUjq2vrw+LFi1CZ2cngI/bPK9bty6mzfN7772HxsZGaSX5woULmD17dszjnz17Fo2NjVKZtTvvvBP33nsv5s+fD4PBgO7ubnzwwQfYtWsX9u/fj0ceeQQ/+MEPlJwWIiJFMKeYiEgD3n33XZw9exYAcPfdd8sKiAFAr9fj7rvvxlNPPYUPP/wQLS0taGhoQFlZGd544w3ceuut8Hq9+OUvf4lf/vKXMb/7wAMP4IYbbpCC4qm6282bNw/79u3D2rVrceLECezatSvhavDERiNERGrB9AkiIg2IrjU8sa1zMtH3j36cpUuX4qOPPsIjjzyC+fPnw2w2w+l04qabbsL27dvx3HPPYXBwULp/cXHxlI+/YMECHDlyBNu3b8fatWtRW1sLq9UKk8mE6upqfPKTn8Q//dM/oaWlBd/85jdTGjsRUaYwfYKIiOL60pe+hGeffRY1NTW4fPlytodDRDRtuFJMRERTCoVC+NWvfgUAWLlyZZZHQ0Q0vRgUExHlqbNnzyLexcLx8XF85StfQU9PDwBg/fr1mRwaEVHGMX2CiChPPfDAAzh48CDuu+8+NDU1obKyEqFQCMeOHcPPfvYzvP/++wCANWvW4M0334ROp8vyiImIpg+rTxAR5bGTJ0/isccei3v7qlWrsGPHDgbERJTzuFJMRJSnWltb8d///d/YvXs3Lly4AK/Xi9HRUZSXl2P58uW49957cd9998ku/0ZEpGUMiomIiIgo7/HrPxERERHlPQbFRERERJT3GBQTERERUd5jUExEREREeY9BMRERERHlPQbFRERERJT3GBQTERERUd5jUExEREREeY9BMRERERHlvf8D5tz7XzYcOV8AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "ax.scatter(age, y, facecolor='gray', alpha=0.5)\n", @@ -812,10 +1894,36 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "acff2af2", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:48.316489Z", + "iopub.status.busy": "2023-07-25T23:59:48.316348Z", + "iopub.status.idle": "2023-07-25T23:59:48.751690Z", + "shell.execute_reply": "2023-07-25T23:59:48.750894Z" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100% (11 of 11) |########################| Elapsed Time: 0:00:00 Time: 0:00:00\n" + ] + }, + { + "data": { + "image/png": "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pxq1iW5K83g8OH78OPu6vb0dLS0tKCkpQU1NDdavX4+zZ8/ixRdfBADccccdePrpp/HAAw/gtttuw1tvvYU//vGP2Lp1KwCguLgY9913H9atWwdBELBs2TK4XC7s2bMHRqMRa9euTbuPd999N6688ko8+eSTWL16NV555RW89957eP755wGcD4hvuukmHDhwAH//+98RjUbZAGNJSUlepaTmbVCs0+nYp5pLLrkE7777LjZu3IgvfvGLCIVCcDqdcX8IY4f6Kyoq0NzcHLc/6dHA4McBsXiej3v8QAgZO8FgEJFIBFqtdtjXdTodBgYG4lKeCCEkl7z33ntYsWIF+1oaeFu7di02b96Mrq4udHR0sNdra2uxdetWrFu3Dhs3bkR1dTV++9vfYtWqVWybRx99FFarFRs2bMDJkydhNpuxaNEiPPTQQyPq42WXXYaXX34ZDz/8MB566CHMnDkTW7ZswYUXXggAOHv2LP76178CABYuXBj3s42NjbjqqqtG1O5YGDd1iq+++mrU1NRg48aNsFqt+H//7//hxhtvBAC0tbWhrq6O5RT/4x//wKc//Wl0dXWhrKwMAPD888/j/vvvR09Pj+zAl+oUEzL6ElWWcDqdaGxshF6vH/Y9GwgE4Pf7sWLFChopJmQcS1aflkwcE7ZO8fr163HdddehpqYGAwMDePnll7Fz5068+eabMJlMuP3223HvvfeipKQERqMR3/nOd7B06VIsWbIEAHDttddi7ty5+NrXvoYnnngCNpsNDz/8MO666y4aCSYkhySrLGGxWGCxWNDV1RWXUwycD6TdbjcqKythMpnG8AgIIYTki7wMint6enDLLbegq6sLJpMJF110Ed58801WguSpp56CSqXCjTfeGLd4h0StVuPvf/877rzzTixduhRFRUVYu3Yt/uM//mOsDokQMoicyhJ1dXVwuVyw2+0wGo3Q6XQIhUJwu93Q6/Woq6ujSXaEEEJkGTfpE2OB0icIGR2iKGL37t0JR4HtdjsqKyuxbNkyOBwOqlNMyARG6RMEmMDpE4SQ8S2dyhJWqxUWi4VWtCOEEJIRCooJITkn3coSHMfRZDpCCCEZUY11BwghZDCe56HRaBAOh4d9PRQKQaPR0MRYQgghiqGgmBCSc0wmE0uJGDztQaosYbFYqLIEIYQQxVBQTAjJORzHoa6uDnq9Hna7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RERU9BgUExEREVHRY1BMREREREWPQTERERERFT0GxURERERU9BgUExEREVHRY1BMREREREWPQTERERERFT0GxURERERU9EryPQA9kyQJADAyMpLnkRARERHRTEScJuK2ZBgUZyEQCAAA5s2bl+eREBEREVEqgUAAFRUVSW83SOnCZkoqFovhzJkzKCsrg8FgyPdwFBsZGcG8efNw+vRplJeX53s4BY3HOnd4rHOHxzp3eKxzh8c6N/JxnCVJQiAQwJw5c2A0Js8c5kxxFoxGIxobG/M9jHNWXl7OCz9HeKxzh8c6d3isc4fHOnd4rHMj18c51QyxwI12RERERFT0GBQTERERUdFjUFyErFYr7r//flit1nwPpeDxWOcOj3Xu8FjnDo917vBY54aWjzM32hERERFR0eNMMREREREVPQbFRERERFT0GBQTERERUdFjUExERERERY9BcYHaunUr1q5di7KyMtTV1eFzn/scOjs7E+4TiUSwZcsW1NTUwOl0YvPmzejr68vTiPXr0UcfxcqVK+VC5Bs2bMArr7wi387jPHsefPBBGAwG3HnnnfLfeLzV8Z3vfAcGgyHhv6VLl8q38zirq6enB1/60pdQU1MDu92OFStWYO/evfLtkiTh29/+NhoaGmC327Fp0yZ0dXXlccT61NzcPO28NhgM2LJlCwCe12qanJzEt771LSxYsAB2ux2LFi3CP/7jPyK+voPWzmsGxQVqx44d2LJlC3bt2oXXX38d4+Pj+MxnPoNQKCTf56677sK2bdvwwgsvYMeOHThz5gyuv/76PI5anxobG/Hggw+io6MDe/fuxWWXXYZrr70WH374IQAe59myZ88ePPbYY1i5cmXC33m81bNs2TJ4PB75v7feeku+jcdZPUNDQ7joootgNpvxyiuv4KOPPsI///M/o6qqSr7P97//fTz88MP46U9/it27d8PhcODKK69EJBLJ48j1Z8+ePQnn9Ouvvw4A+MIXvgCA57Wavve97+HRRx/Fj3/8Yxw8eBDf+9738P3vfx8/+tGP5Pto7ryWqCj09/dLAKQdO3ZIkiRJfr9fMpvN0gsvvCDf5+DBgxIAaefOnfkaZsGoqqqS/v3f/53HeZYEAgFp8eLF0uuvvy5dcskl0h133CFJEs9rNd1///3SqlWrZryNx1ld3/zmN6WNGzcmvT0Wi0n19fXSD37wA/lvfr9fslqt0n/+53/mYogF64477pAWLVokxWIxntcqu/rqq6Xbbrst4W/XX3+9dNNNN0mSpM3zmjPFRWJ4eBgAUF1dDQDo6OjA+Pg4Nm3aJN9n6dKlaGpqws6dO/MyxkIwOTmJ5557DqFQCBs2bOBxniVbtmzB1VdfnXBcAZ7Xauvq6sKcOXOwcOFC3HTTTTh16hQAHme1vfzyy1izZg2+8IUvoK6uDqtXr8bPf/5z+fbjx4+jt7c34XhXVFRg/fr1PN5ZGBsbw9NPP43bbrsNBoOB57XKPvnJT+KNN97A4cOHAQAffPAB3nrrLVx11VUAtHlel+TlWSmnYrEY7rzzTlx00UVYvnw5AKC3txcWiwWVlZUJ93W73ejt7c3DKPVt//792LBhAyKRCJxOJ1566SV84hOfwPvvv8/jrLLnnnsO7777Lvbs2TPtNp7X6lm/fj2efPJJtLS0wOPx4IEHHsDFF1+MAwcO8Dir7NixY3j00Udx99134+/+7u+wZ88efP3rX4fFYsEtt9wiH1O3253w73i8s/Pf//3f8Pv9uPXWWwHw80Nt9913H0ZGRrB06VKYTCZMTk7iu9/9Lm666SYA0OR5zaC4CGzZsgUHDhxIyAckdbW0tOD999/H8PAwfvWrX+GWW27Bjh078j2sgnP69GnccccdeP3112Gz2fI9nIImZnMAYOXKlVi/fj3mz5+P559/Hna7PY8jKzyxWAxr1qzBP/3TPwEAVq9ejQMHDuCnP/0pbrnlljyPrnA9/vjjuOqqqzBnzpx8D6UgPf/883jmmWfw7LPPYtmyZXj//fdx5513Ys6cOZo9r5k+UeBuv/12/OY3v8Gbb76JxsZG+e/19fUYGxuD3+9PuH9fXx/q6+tzPEr9s1gsOO+889DW1oatW7di1apVeOihh3icVdbR0YH+/n5ccMEFKCkpQUlJCXbs2IGHH34YJSUlcLvdPN6zpLKyEkuWLMGRI0d4XqusoaEBn/jEJxL+1traKqeriGM6tQoCj/e5O3nyJLZv346vfvWr8t94Xqvr3nvvxX333Ycbb7wRK1aswM0334y77roLW7duBaDN85pBcYGSJAm33347XnrpJfzud7/DggULEm5va2uD2WzGG2+8If+ts7MTp06dwoYNG3I93IITi8UQjUZ5nFV2+eWXY//+/Xj//ffl/9asWYObbrpJ/t883rMjGAzi6NGjaGho4HmtsosuumhayczDhw9j/vz5AIAFCxagvr4+4XiPjIxg9+7dPN7n6IknnkBdXR2uvvpq+W88r9U1OjoKozExzDSZTIjFYgA0el7nZXsfzbqvfe1rUkVFhfT73/9e8ng88n+jo6Pyff7yL/9Sampqkn73u99Je/fulTZs2CBt2LAhj6PWp/vuu0/asWOHdPz4cWnfvn3SfffdJxkMBum1116TJInHebbFV5+QJB5vtdxzzz3S73//e+n48ePS22+/LW3atElyuVxSf3+/JEk8zmpqb2+XSkpKpO9+97tSV1eX9Mwzz0ilpaXS008/Ld/nwQcflCorK6Vf//rX0r59+6Rrr71WWrBggRQOh/M4cn2anJyUmpqapG9+85vTbuN5rZ5bbrlFmjt3rvSb3/xGOn78uPTiiy9KLpdL+sY3viHfR2vnNYPiAgVgxv+eeOIJ+T7hcFj6q7/6K6mqqkoqLS2VrrvuOsnj8eRv0Dp12223SfPnz5csFotUW1srXX755XJALEk8zrNtalDM462OG264QWpoaJAsFos0d+5c6YYbbpCOHDki387jrK5t27ZJy5cvl6xWq7R06VLpZz/7WcLtsVhM+ta3viW53W7JarVKl19+udTZ2Zmn0erbb3/7WwnAjMeP57V6RkZGpDvuuENqamqSbDabtHDhQunv//7vpWg0Kt9Ha+e1QZLiWosQERERERUh5hQTERERUdFjUExERERERY9BMREREREVPQbFRERERFT0GBQTERERUdFjUExERERERY9BMREREREVPQbFRERERFT0GBQTEencjh07YDAY5P/eeeedfA+JiEh3GBQTEencL37xi4T//6mnnsrTSIiI9IttnomIdCwcDsPtdiMQCMDpdCIYDKKqqgoejwdWqzXfwyMi0g3OFBMR6dhLL72EQCAAAHj44YcBAENDQ9i2bVs+h0VEpDsMiomIdEykSqxcuRJf/vKX0dLSkvB3IiJShkExEZFOeTwebN++HQDwpS99KeH/vvrqq/B6vWkfw+fz4Rvf+AZaWlpgt9vhdrtxxRVX4KWXXgIAPPnkk/IGvhMnTiR9nEgkgh//+Me4/PLLUV9fD4vFgrq6OmzatAmPP/44JiYmsny1RESziznFREQ69cMf/hD33nsvjEYjTp06hblz5+L48eNYtGgR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", + "text/plain": [ + "
" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "gam_opt = gam.gridsearch(X_age, y)\n", "ax.plot(age_grid,\n", @@ -841,12 +1949,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "a2d25550", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:48.756958Z", + "iopub.status.busy": "2023-07-25T23:59:48.756585Z", + "iopub.status.idle": "2023-07-25T23:59:48.783496Z", + "shell.execute_reply": "2023-07-25T23:59:48.782677Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "4.000000100001664" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "age_term = gam.terms[0]\n", "lam_4 = approx_lam(X_age, age_term, 4)\n", @@ -866,10 +1991,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "bc6322de", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:48.795407Z", + "iopub.status.busy": "2023-07-25T23:59:48.792243Z", + "iopub.status.idle": "2023-07-25T23:59:49.191938Z", + "shell.execute_reply": "2023-07-25T23:59:49.177094Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "ax.scatter(X_age,\n", @@ -910,9 +2053,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "703d2570", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:49.194776Z", + "iopub.status.busy": "2023-07-25T23:59:49.194595Z", + "iopub.status.idle": "2023-07-25T23:59:49.246216Z", + "shell.execute_reply": "2023-07-25T23:59:49.244766Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -943,12 +2092,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "766a7b1f", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:49.261161Z", + "iopub.status.busy": "2023-07-25T23:59:49.260747Z", + "iopub.status.idle": "2023-07-25T23:59:49.446433Z", + "shell.execute_reply": "2023-07-25T23:59:49.445528Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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q5MnT6rTp0+r06dPq8ePH5vOtdcwYs+ePaZjWbJkUaNGjVJbt25Vu3fvVt9++60qUaKEAqDq1q1rt0GFK1oAt2nTxvQaNWvWVEuWLFH79+9Xa9euVR06dDAVGzeeY6sFsHkL0kqVKqmpU6eq7du3q3/++Uf9+eef6ptvvlFt27ZV6dOnV1WrVtU9h3kL4EKFCqmgoCA1ZMgQ9ddff6k9e/aoqVOnalqhTpo0yerXs2vXLlPhc39/f9W5c2e1fPlytW/fPrVnzx71yy+/qOHDh5taPltrcuHoz4S9739MTIyqXLmy6bmee+45tWrVKrV//361atUq1bx5c9331lpntDt37qiiRYuaznn22WfVDz/8oHbt2qUOHDigNmzYoCZOnKiaNm2q/Pz8VPv27Z2ap7nEmpyYtwAODg5W7733nlq7dq36559/1F9//aWmT5+unn/+eVW0aFHdY8+cOaPp4tSmTRu1YMECtXv3brVv3z61Zs0aNWrUKFPTioEDB9qdqy3mLWhz5cqlvvrqK7V79261Y8cONWLECFM3KlstaJVyTcOI+Ph4TaOVV199Va1evVrt27dPrVq1Sr388su633FrP2937txRuXPnNp3TpUsX9ccff6j9+/erpUuXmjqeGRugALDaYttbvv/mDSOsvdeYM7ZQ7tq1a5LmamTeZQ2A6tevn915AdJgyFbXO1e9vy9atMh0PFu2bGr8+PFq165dateuXWrcuHEqLCxMZcmSxfR8DRs2tDqfr776yvQ8oaGh6qOPPlJr165VBw4cUDt37lSLFi1S7777rqlzpbOtromd0ciO5AS6SinVvXt3zZuP+c3f3199/fXXif7xdvb1jR2orN3MA5XEXteyta7lbeDAgYl2YnNFoBsZGal5w7W8Va5cWe3fvz/RPz6RkZHqpZdesvs1GW+NGjXSPd48uNi7d6/Knj27zcdba1FrbteuXapAgQIOzWXu3Lm6x7si0FVKWhaXKlXK5ms3b95crVu3zm6gq5RS169fV/Xr13fo6+nevbvT8zRypJvfnDlzVHBwsN052AoQT548qQn+7N1GjBhhd672jBo1ytTK1totMDDQ6r+7kas6o/3zzz8qa9asNudRoUIFde3atUR/3g4ePKjpoGd569atm5o1a5bpfnh4uNXn8YbvvzsC3QULFmjmt3z5cruvB0A988wzdp/T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tVJhYaEFVTrb9u3blZ6erjNnzqhx48b68MMPde211yovL495DrNFixbpb3/7mzZv3lzpHPd1+PTo0UNvv/22UlJSdOjQIT3zzDPKyMjQjh07mOcw27t3r+bNm6fHH39cv/zlL7V582Y99thjioqK0pgxYwJz2qpVK9PnmO/QfPTRRzp+/LjGjh0rif//CLesrCz5fD6lpqYqIiJC5eXlmjVrlkaPHi1JtryvCboONXHiRO3YscPUX4fwSklJUV5enoqKivT+++9rzJgxysnJsbos1zlw4IAmTZqk7OxsxcTEWF2Oq51bdZGktLQ09ejRQ23bttWSJUvUoEEDCytzn4qKCnXr1k2//e1vJUk33HCDduzYoddee01jxoyxuDr3mj9/vgYOHKjExESrS3GlJUuWaOHChfrzn/+sTp06KS8vT5MnT1ZiYqJt72taFxzo0Ucf1aeffqq1a9eqTZs2gfH4+HiVlpbq+PHjpvcfPnxY8fHxdVyl80VFRemqq65S165dNXv2bF133XV66aWXmOcw27p1q44cOaIbb7xRkZGRioyMVE5Ojl5++WVFRkaqVatWzHctadq0qa6++mp999133NdhlpCQoGuvvdY0ds011wRaRc7NafC3/5nvmtu3b59WrVqlCRMmBMa4r8PriSeeUFZWlkaOHKkuXbro/vvv15QpUzR79mxJ9ryvCboOYhiGHn30UX344Ydas2aN2rVrZzrftWtX1a9fX6tXrw6M5efna//+/UpPT6/rcl2noqJCJSUlzHOYZWZmavv27crLywu8unXrptGjRwf+zHzXjhMnTmjPnj1KSEjgvg6zXr16Vdr+cdeuXWrbtq0kqV27doqPjzfNt8/n08aNG5nvGlqwYIFatmypQYMGBca4r8Pr1KlTqlfPHB0jIiJUUVEhyab3tSVfgUONPPLII4bX6zXWrVtnHDp0KPA6depU4D0PP/ywkZycbKxZs8bYsmWLkZ6ebqSnp1tYtTNlZWUZOTk5RkFBgbFt2zYjKyvL8Hg8xsqVKw3DYJ5r24W7LhgG8x0uU6dONdatW2cUFBQY69evN/r27Ws0b97cOHLkiGEYzHM4bdq0yYiMjDRmzZpl7N6921i4cKHRsGFD49133w2857nnnjOaNm1qfPzxx8a2bduMwYMHG+3atTNOnz5tYeXOVF5ebiQnJxvTpk2rdI77OnzGjBljtG7d2vj000+NgoICY9myZUbz5s2NJ598MvAeu93XBF0HkXTR14IFCwLvOX36tPGLX/zCiIuLMxo2bGjcddddxqFDh6wr2qHGjRtntG3b1oiKijJatGhhZGZmBkKuYTDPtS046DLf4TFixAgjISHBiIqKMlq3bm2MGDHC+O677wLnmefw+uSTT4zOnTsb0dHRRmpqqvHGG2+YzldUVBi//vWvjVatWhnR0dFGZmamkZ+fb1G1zvb5558bki46f9zX4ePz+YxJkyYZycnJRkxMjNG+fXtjxowZRklJSeA9druvPYZxweMsAAAAAJegRxcAAACuRNAFAACAKxF0AQAA4EoEXQAAALgSQRcAAACuRNAFAACAKxF0AQAA4EoEXQAAALgSQRcAAACuRNAFAIfasGGDIiIiNGjQIKtLAQBb4hHAAOBQEyZMUOPGjTV//nzl5+crMTHR6pIAwFZY0QUABzpx4oQWL16sRx55RIMGDdLbb79tOr98+XJ17NhRMTExuv322/XOO+/I4/Ho+PHjgffk5uYqIyNDDRo0UFJSkh577DGdPHmybn8RAKhFBF0AcKAlS5YoNTVVKSkpuu+++/TWW2/p3D/QFRQUaNiwYRoyZIi++uorPfTQQ5oxY4bp83v27NEdd9yhoUOHatu2bVq8eLFyc3P16KOPWvHrAECtoHUBAByoV69euueeezRp0iSdPXtWCQkJWrp0qW677TZlZWXpL3/5i7Zv3x54/69+9SvNmjVLx44dU9OmTTVhwgRFRETo9ddfD7wnNzdXt956q06ePKmYmBgrfi0ACCtWdAHAYfLz87Vp0yaNGjVKkhQZGakRI0Zo/vz5gfPdu3c3feamm24yHX/11Vd6++231bhx48BrwIABqqioUEFBQd38IgBQyyKtLgAAUD3z58/X2bNnTV8+MwxD0dHRevXVV6t0jRMnTuihhx7SY489VulccnJy2GoFACsRdAHAQc6ePas//vGPeuGFF9S/f3/TuSFDhui9995TSkqKPvvsM9O5zZs3m45vvPFG7dy5U1dddVWt1wwAVqFHFwAc5KOPPtKIESN05MgReb1e07lp06ZpzZo1WrJkiVJSUjRlyhSNHz9eeXl5mjp1qv75z3/q+PHj8nq92rZtm26++WaNGzdOEyZMUKNGjbRz505lZ2dXeVUYAOyOHl0AcJD58+erb9++lUKuJA0dOlRbtmxRcXGx3n//fS1btkxpaWmaN29eYNeF6OhoSVJaWppycnK0a9cuZWRk6IYbbtDMmTPZixeAq7CiCwCXgVmzZum1117TgQMHrC4FAOoMPboA4EK///3v1b17dzVr1kzr16/X3Llz2SMXwGWHoAsALrR79249++yzOnr0qJKTkzV16lRNnz7d6rIAoE7RugAAAABX4stoAAAAcCWCLgAAAFyJoAsAAABXIugCAADAlQi6AAAAcCWCLgAAAFyJoAsAAABXIugCAADAlf4/FmQzLru/+QoAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "age_grid = np.linspace(age.min(),\n", " age.max(),\n", @@ -989,10 +2155,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "2a9ed841", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:49.451802Z", + "iopub.status.busy": "2023-07-25T23:59:49.451326Z", + "iopub.status.idle": "2023-07-25T23:59:49.615361Z", + "shell.execute_reply": "2023-07-25T23:59:49.614953Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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pk3KsWPHlD/++ENp2LCh4ev07t3b4tfImTOnUrlyZWXEiBHKunXrlCNHjih///23smjRIqVBgwavTESNk9hSpUopAJTq1asrixcvVo4ePaps27ZN+fXXX5P82iiKopw4ccLwHuft7a307t1b2blzp3L48GFl5syZSr58+Qxfs1+/fhafQ5/ElitXTvHz81Py5cunTJkyRTl48KBy4MABZdiwYYqfn5/hd+7BgwfJilFRFOX+/fuGOKZPn252e7t27VQJXq9evczuM3r0aMPfVnh4uOq22bNnKxkyZFDatWunzJkzR9m7d69y/PhxZd26dcr3339vOODU6XTK9u3bLcZ49epVw++1l5eX0qNHD2X79u3KkSNHlLlz5yrFixc3/F0l9pmUGu+dJJjEuomkJLExMTFKlSpVDPdbsGCB4bZLly4l+vxbt241JBvW3mSN34Deeecd5eXLl1afz/io+fr164l+7VclsVeuXFHi4+OtPv706dOGI+vvvvvO4n1eN4ldt26d6uja0kzO8OHDVa+RpSRWP4OdPn165ejRoxa/1o0bNwxJ6GeffWZ2u/HMtLe3t8UZzjt37ig5c+ZUAChp06Y1+1CKjo5W8ubNqwAyYx8REWExllmzZhm+1pYtW8xuN511sJSkGh/QrFq1yuz2KVOmGG7v3LmzxTg+//xz1deylMR+9tlnCiCzm9euXbP4PMePHzd8iA0cONDsduMzFnny5LE4M7h3715DstSzZ0+z2+/evWtIlkNCQhJN6G7evGk29tZbbymAzPg9fPjQ4uM2btxo+HudNWuW1ee35sGDB4YYs2fPbjEO49cqR44cFpNl47MCr0N/hqNw4cJW77Nq1SrDz8Z0Fu/hw4eGxP/zzz+3OtOq//vz8PBQLly4YHb7q94n58yZY4hh27ZtZrcbJ7EAlDZt2iT63pUU+oM3T09PZfPmzWa3P3nyxJB8eXh4WDywMp5hLl++vBIWFmZ2n0WLFhnuM378+BTFqj+b8vHHH5vdpk+2mzRpogBQSpcubXafd999VwFkksDU7du3rb5PKYqiPH361HDgUK1aNYv3adasmdXfIUVRlIiICKVSpUqqn6Gp1HrvJMEk1k0klsQ+f/5c2bVrl1KrVi3VB3BiSaYl+j/wxo0bW7xd/9weHh6vTExTM4lNiq+++koBoJQsWdLi7a+bxOpncXx9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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "year_grid = np.linspace(2003, 2009, 100)\n", "year_grid = np.linspace(Wage['year'].min(),\n", @@ -1032,9 +2216,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "ccf068b1", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:49.617403Z", + "iopub.status.busy": "2023-07-25T23:59:49.617260Z", + "iopub.status.idle": "2023-07-25T23:59:49.637989Z", + "shell.execute_reply": "2023-07-25T23:59:49.637017Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -1063,10 +2253,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "38b719f1", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:49.642419Z", + "iopub.status.busy": "2023-07-25T23:59:49.642108Z", + "iopub.status.idle": "2023-07-25T23:59:49.817915Z", + "shell.execute_reply": "2023-07-25T23:59:49.816775Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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ig7Wqi5t2kg//+xd++EH88HZypWd78dudR6PR7r5Zp9PZRjSggXWev365vO/fvnPf+zr3N0HgJKtTBlpxAhp+HDrsWeekdq3d74nIMj8CvyGYWjAgAF54fjkyZO65557VL58eUnymu8vrOrVq6t69er+tGORmJioMWPGaN++farxxwLvycnJiomJKdaHiYskMVH64ANrfdUqqXt3Z3vZskVavdpav+oqc8MtH23fLu3YYa136eLXs7/m7rl240b16km9evlxQgCAq9x9tzR2rPXZuK+/llaulK64Ijh9AUHi10hP//79VaNGjbxZ9379+ql27dp5X9eoUUO33357oHvNs2PHDqWkpGjHjh3KyclRSkqKUlJSdPSPDaK6du2qiy66SLfddpvWr1+vr776So899piGDBkSvDv451LQUjXBGOv56CP7up/jPHbZXJI6dfLrdAXf3f/HP8xVGgAAJVv58tJDD9kfGzPG2V6AEOAxQu2J20IYMGCAJk+ebKkvWrRIHTp0kCT9+uuvuvfee7V48WKVL19e/fv317hx43zaeCsjI0OxsbFKT09XTExMoNq3l51tju7k39W2c2fzjoRTDEO68EIp/ypLpUubD/L6se/CLbfY/x0iLc18fMEn+/ZJ8fHW5ULLl5d++02qVMnn/gAALpSRYf7k12ZzTq1bZy5CAVdwNK+FqZB5aNcX7777rgzDsLxOh31JqlevnubNm6fjx49r//79euGFF0J7l93ISOnyy631VauknBzn+khJsYZ9yVxOx4+wbxj2d/gvvtiPsC+ZW6bb7Q1wxx2EfQDAn2JipPvvtz/GXi0oYcIy8LuW3VjP0aPmLoFOKWg3Qj/HeX74wbwpn59f4zyZmdLrr1vrHk/Bf6gDAEqu++83d3jMb/Zs84YaUEIQ+ENJKKzH//jj5vcbOlQ6/RB1uXLmTsB+COj8/vTp0h+rLXm59lrpggv8OCEAwNWqVjWf77Lz+OPO9gIEEYE/lBS0aoCTO+56POZfPF59Vdq9W/ryS+nFF80ZeT/YBX6Px89V0d5/377OUpwAgII8/LA53pNfcjLr8qPEIPCHkipVzAdm8wvWBlyRkebs/j33+PXLc3KkxYut9Usv9XNrgSFDpBtuMNdYPu2SS6SOHf3qDwBQAlSpYr8mvyQ99hi776JEIPCHGruxnm3b7EdZQlxKiv3i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AQAAABcj8AMAAAAuRuAHAAAAXIzADwAAALgYgR8AAABwMQI/AAAA4GIEfgAAAMDFCPwAAACAixH4AQAAABcj8AOAS6xYsUIRERHq0aNHsFsBAIQQj2EYRrCbAAAU3eDBg1WhQgVNmjRJqampql27drBbAgCEAO7wA4ALHD16VNOmTdO9996rHj166N133/U6/vnnn+uCCy5QmTJl1LFjR02ePFkej0eHDx/Oe8+yZcvUrl07lS1bVvHx8br//vt17NgxZ38jAICAI/ADgAtMnz5dTZo0UePGjdWvXz+9/fbbOv0D3O3bt+uGG25Qr169tH79et19990aNWqU16/ftm2bunfvrt69e2vDhg2aNm2ali1bpqFDhwbjtwMACCBGegDABdq2baubbrpJw4YNU3Z2tmrVqqUZM2aoQ4cOSkpK0ty5c7Vx48a89z/22GMaM2aMDh06pEqVKmnw4MGKiIjQG2+8kfeeZcuWqX379jp27JjKlCkTjN8WACAAuMMPAGEuNTVV3333nW655RZJUmRkpPr06aNJkyblHW/VqpXXr7n88su9vl6/fr3effddVahQIe/VrVs35ebmavv27c78RgAAxSIy2A0AAIpm0qRJys7O9npI1zAMRUdH67XXXivUOY4ePaq7775b999/v+VYQkJCwHoFADiPwA8AYSw7O1vvvfeeXnzxRXXt2tXrWK9evTR16lQ1btxY8+bN8zq2evVqr68vvfRS/fDDDzr//POLvWcAgLOY4QeAMDZr1iz16dNH+/btU2xsrNexRx55RAsXLtT06dPVuHFjPfjggxo0aJBSUlI0fPhw/fbbbzp8+LBiY2O1YcMGXXHFFRo4cKAGDx6s8uXL64cfflBycnKhf0oAAAhNzPADQBibNGmSunTpYgn7ktS7d2+tWbNGR44c0ccff6yZM2eqWbNmmjBhQt4qPdHR0ZKkZs2aacmSJfrpp5/Url07tWjRQk888QRr+QOAC3CHHwBKoDFjxmjixInauXNnsFsBABQzZvgBoAR4/fXX1apVK1WtWlXLly/X+PHjWWMfAEoIAj8AlABbtmzRM888o4MHDyohIUHDhw/XyJEjg90WAMABjPQAAAAALsZDuwAAAICLEfgBAAAAFyPwAwAAAC5G4AcAAABcjMAPAAAAuBiBHwAAAHAxAj8AAADgYgR+AAAAwMX+H8yDWKVnhkgGAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "plot_gam(gam_full, 0, ax=ax)\n", @@ -1088,9 +2296,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "id": "02142f6e", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:49.823446Z", + "iopub.status.busy": "2023-07-25T23:59:49.822838Z", + "iopub.status.idle": "2023-07-25T23:59:49.864597Z", + "shell.execute_reply": "2023-07-25T23:59:49.863709Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -1115,12 +2329,39 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "id": "94587b05", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:49.871560Z", + "iopub.status.busy": "2023-07-25T23:59:49.871033Z", + "iopub.status.idle": "2023-07-25T23:59:50.059620Z", + "shell.execute_reply": "2023-07-25T23:59:50.058456Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Partial dependence of year on wage')" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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mYHBg7WPh4iIKAk4L2hh1arJ/TDOztaOhCiO58+BESOUx8aM4TstIiKyG5x5TQFMXMnmDB0KBAUZHi9RQl4yICIishNMXokc3cWLwJw5ymO//sp3W0REZFeYvBI5MiGAPn2US2M1by7XuRAREdkRJq9EjmzTJmDfPsPj7u7ApEnax0NERJRMTF6JHFVEBNC3r/LY99+zNBYREdklJq9EjsrVFRg1CsiWLf7xrFmBgQOtExMREVEyMXklclQ6HdCmDXDtGvDDD+87ZowbB3h5WTc2IiKiJGLySuTovLzk+tYLF4BevYD27a0dERERUZKxSQFRalGkCDBtmrWjICIiShbOvBIRERGR3WDySkRERER2g8krEREREdkNJq9EjuL8eWtHQERElOKYvBI5goMHgVKlgCZNgDt3rB0NERFRimHySmTvIiOBHj3k/zdulFUFRowAwsKsGxcREVEKYPJKZO8mTwb++uv9x+/eAcOHA5UqATExVguLiIgoJTB5JbJnt24BI0cqj3XoADjxT5yIiBwLX9mI7JUQQLducqY1oeLF3y8lICIiciBMXons1Z9/Anv2GB7X6YC5cwFXV+1jIiIiSmFMXons0YsXQJ8+ymM9egDly2sbDxERkUaYvBLZo379gH//NTzu7w+MGaN9PERERBph8kpkbw4cABYsUB777TfA21vTcIiIiLTE5JXInrx7B3Ttqjz22WdA06baxkNERKQxJq9E9mTMGOD6dcPj6dIB06fLzVpEREQOjMkrkb04cwYYN055bPRoIGdObeMhIiKyAiavRPYgPBzo2BGIjjYcK1MG6NlT85CIiIisgckrkT0YORK4fNnwuIuLrOnq7Kx9TERERFbA5JXI1p0+DYwfrzz2009AqVLaxkNERGRFNp+8Pnz4EF9++SUyZswIT09PFCtWDIGBgdYOi0gb794BHToAMTGGYyVKAIMGaR8TERGRFblYOwBjXr16hcqVK6NGjRrYvn07MmfOjBs3bsDX19faoRFp4+efgStXDI+7uACLFgFubtrHREREZEU2nbxOmDABOXPmxII4Bdnz5MljxYiINNa7N/DgATB7dvzjQ4fKmVciIqJUxqaXDWzatAlly5ZFy5Yt4efnh1KlSmHu3LlG7xMeHo7g4OB4NyK75eUFzJoF7Nr1vhRW6dLAgAHWjYuIiMhKbDp5vX37NmbN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uSclJWnJkiUaMWKEmjVrpjZt2ig8PFwvvviizV35PzvnnpKSogULFmjbtm0yxignJ0cLFixQRUWFDh8+bEs//M99AampqcrLy1N2drZt+9iwYYPKy8v1l7/8RY888oiuvPJKjRw50rb9uYFdc6+srNSoUaM0c+ZMde3atV5fuyGw8/3erVs3devWrfr3/fv3V35+vubOnavFixfX+/7cws6ZV1VVyePxaMmSJQoPD5ckPfvss7rzzjuVlpYmr9db7/t0Cyc+2yXp1VdfVUREhIYNG2brftzCzrl//vnnmjhxoh5//HGlpKTo0KFDmjZtmsaPH6+FCxfW+/7cxM65/+53v1NxcbGuu+46GWMUFRWlu+++W7Nnz1ZAgD3HSDnyWocJEybovffe09q1axUTE1P9fJs2bXT69GkdO3asxvqSkhK1adOmes0Pv7F39vdn15zVqVMn9ejRQ7/5zW80efJk/f73v6//ZlzEzrmXlZUpJydHEyZMUGBgoAIDA/XEE0/os88+U2BgoLKysuxtzo859X7/vn79+mnv3r311IH72D3z6OhotWvXrjq4SlJcXJyMMTpw4IAdLbmCU+91Y4wWLVqksWPHqlmzZjZ04i52z33WrFlKSkrStGnT1LNnT6WkpCgtLU2LFi3SoUOHbOzMv9k9d6/Xq0WLFunbb79VYWGh9u/fr44dOyo0NFStWrWypynbzqZ1saqqKpOammratm1rdu/efc72syc5L1++vPq5L7/8staTnEtKSqrXpKenm7CwMHPy5Mnz7nvmzJmmQ4cO9deMizgx98rKSpObm1vjcf/995tu3bqZ3NzcGt/CbCx8+X5PTk5ulN8Edmrm6enpxuv1mrKysuo1K1asMAEBAebbb7+1qz2/5fR7/eyXFHNzc23qyB2cmvsdd9xh7rrrrhqvvWnTJiPJfPXVV3a05td8+dk+YMAAM3LkyHrspibCay3uv/9+Ex4ebtatW1fjciff/7AfP368ad++vcnKyjI5OTkmMTHRJCYmVm8/e3mJQYMGmR07dpgPP/zQtGrVqsblJV544QWzcuVKs3v3brN7926zYMECExoaaqZPn+5ov/7Cqbn/UGO/2oBTc587d65ZsWKF2bNnj8nNzTUTJ040AQEB5uOPP3a0X3/g1MzLyspMTEyMufPOO83OnTvN+vXrTZcuXcy4ceMc7ddfOP0ZM2bMGHPttdc60ps/c2ruGRkZJjAw0KSlpZn8/HyTnZ1t+vTpY/r16+dov/7Cqbnv2rXLLF682Ozevdts2bLFjBgxwrRs2dIUFBTY1hvhtRaSan1kZGRUrzlx4oR54IEHTIsWLUxISIgZPny4OXToUI3XKSwsNIMHDzZer9dcfvnl5sEHHzQVFRXV2+fNm2fi4+NNSEiICQsLM7179zZpaWmN8rqXxjg39x9q7OHVqbk//fTT5oorrjDBwcGmZcuWZuDAgSYrK8upNv2Kk+/1L774wiQnJxuv12tiYmLMlClTGuVRV2OcnfuxY8eM1+s1r7zyihOt+TUn5z5v3jxz1VVXGa/Xa6Kjo83o0aPNgQMHnGjT7zg1988//9z06tXLeL1eExYWZm6//Xbz5Zdf2tqb558NAgAAAH6PL2wBAADANQivAAAAcA3CKwAAAFyD8AoAAADXILwCAADANQivAAAAcA3CKwAAAFyD8AoAAADXILwCAADANQivAOAjxhglJycrJSXlnG1paWmKiIjQgQMHfFAZAPgvwisA+IjH41FGRoa2bNmi9PT06ucLCgr00EMP6Y9//KNiYmLqdZ8VFRX1+noA4DTCKwD4UGxsrJ5//nlNnTpVBQUFMsbo3nvv1aBBg9S7d28NHjxYzZs3V1RUlMaOHavDhw9X/9kPP/xQ119/vSIiIhQZGalbb71V+fn51dsLCwvl8Xj0xhtv6MYbb1RwcLCWLFniizYBoN54jDHG10UAQGM3bNgwHT9+XHfccYeefPJJ7dy5U/Hx8Ro3bpx++ctf6sSJE3r44Yd15swZZWVlSZIyMzPl8XjUs2dPlZeX6/HHH1dhYaF27NihgIAAFRYWqlOnTurYsaOeeeYZ9e7dW8HBwYqOjvZxtwBw6QivAOAHvv76a8XHx+vo0aPKzMxUXl6eNmzYoNWrV1evOXDggGJjY7Vr1y517dr1nNc4fPiwWrVqpdzcXCUkJFSH1+eee04TJ050sh0AsA2nDQCAH2jdurV++9vfKi4uTsOGDdNnn32mtWvXqnnz5tWP7t27S1L1qQF79uzRyJEj1blzZ4WFhaljx46SpP3799d47T59+jjaCwDYKdDXBQAALIGBgQoMtD6Wy8vLNXToUD399NPnrDv7Y/+hQ4eqQ4cOmj9/vtq2bauqqiolJCTo9OnTNdZfdtll9hcPAA4hvAKAH7rmmmuUmZmpjh07Vgfa7zty5Ih27dql+fPn64YbbpAkZWdnO10mADiO0wYAwA+lpqbq6NGjGjlypLZu3ar8/HytXr1a99xzjyorK9WiRQtFRkbqlVde0d69e5WVlaUpU6b4umwAsB3hFQD8UNu2bbVx40ZVVlZq0KBB6tGjhyZNmqSIiAgFBAQoICBAy5Yt07Zt25SQkKDJkydrzpw5vi4bAGzH1QYAAADgGhx5BQAAgGsQXgEAAOAahFcAAAC4BuEVAAAArkF4BQAAgGsQXgEAAOAahFcAAAC4BuEVAAAArkF4BQAAgGsQXgEAAOAahFcAAAC4xv8D4WuGJnocPZoAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "plot_gam(gam_full,\n", @@ -1141,10 +2382,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "id": "bba4c757", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:50.065747Z", + "iopub.status.busy": "2023-07-25T23:59:50.064570Z", + "iopub.status.idle": "2023-07-25T23:59:50.193175Z", + "shell.execute_reply": "2023-07-25T23:59:50.192814Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAroAAALBCAYAAAC3GAIbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABqeUlEQVR4nO3dd3gU5f7+8TshlUASAgFCDUWk9xYIRYxUKYLlcMBDERUPNrCBIkVF7AUBRaWIClZEEQEB6VKDCBYQEQ4oCSAloaVAnt8f/DLfhOxusmGTJeP7dV17EaZ+ZnZ25t5np/gYY4wAAAAAm/H1dgEAAABAQSDoAgAAwJYIugAAALAlgi4AAABsiaALAAAAWyLoAgAAwJYIugAAALAlgi4AAABsiaALAAAAWyLowmMmTJggHx8f+fj4FNg8OnbsKB8fH3Xs2LHA5iFJBw4csJZlzpw5BTqvf5rVq1db63b16tXeLgf/38WLF/X666+rZcuWCg0Ntd6jPn36eLs0IJvCOg4UFXPmzLE+rwcOHPB2OVcdgm4hy3qQv/xVvHhxVa1aVX369NG8efN04cIFb5cL4B+if//+evDBB7V161adPn3a2+UAgEcQdK8i58+f18GDB/Xll19qwIABatOmjRITE71aE98UAfv7/vvv9emnn0qSevTooeXLl2vnzp3atWuXpkyZ4uXqgH8efvnyHIKuF91zzz3atWuX9dq4caPeeOMNRUdHS5K2bt2q3r17yxjj3ULzaMKECTLGFJl6AVyyYsUKSVKxYsU0b948xcXFqUGDBqpfv76qVKni5eoAuDJ48GDr2JuZH/B//LxdwD9Z2bJlVb9+/WzdWrdurQEDBqhly5b6/ffftWXLFn399dfq2bOnl6oEYHd//fWXJKlcuXIKDQ31cjUA4Dm06F6FSpUqpTFjxlj/X7p0qRerAWB3qampkiR/f38vVwIAnkXQvUq1bNnS+vt///uf9ffZs2f18ccfa9iwYWrcuLHCwsLk7++vyMhIdejQQS+99JLOnDnjctqZ5/1MmDBBkvTdd9/plltuUeXKleXv76/o6Gjr/KAhQ4ZY41WrVi3HBXRZzx3K7a4LaWlpWrRoke699161aNFCpUqVkr+/v0qXLq1WrVppwoQJ+vvvv/Oxttx38eJFTZ8+Xa1atVJoaKjCwsLUtGlTvfTSS9ZBP68WLlyoW265RVWqVFFQUJDCw8PVvHlzTZw4USdPnnQ63uDBg+Xj42P91PTXX39p1KhRqlWrlooXL67IyEj16NEjz190kpKSNHnyZLVt21aRkZEKCAhQVFSUevbsqc8++8zlKSWXbxNbt25V//79ValSJQUGBqpixYq6/fbb9euvv+Zax/nz5/Xss8+qUaNGCgkJUenSpdW2bVu98847ysjIyNOySJfeo/fee0833nijKlSooMDAQJUuXVqxsbF65ZVXdP78eafjXn5Vdua6rVmzpoKDg1W6dGl16dJFS5YsyVMtx44d01NPPaW2bduqbNmy8vf3V6lSpdSqVSs9+uij2rlzp9NxU1JSNHXqVF1//fUqX768AgICVLZsWcXFxWnmzJkeu+h0165duuuuu3TNNdeoePHiKlmypOrVq6eRI0c6Pb8+831/7733JF3a11z+Gc+rG2+8UT4+PmrdurXD/lnPOYyIiHC4LSQmJlrDvPXWW9n6ZWRk6LvvvtPDDz+stm3bqkyZMvL391d4eLgaN26shx9+WAcPHsxTrT/99JP+85//qFKlSgoKClKVKlU0cOBAbd++XVLOz6YziYmJeuKJJ9S8eXNFREQoMDBQlStX1q233mqdDuIJixYt0s0332x9HkuXLq2YmBg999xzLvf3l19jkZGRobfffltt2rRRqVKlFBISooYNG2rSpEk6d+6cR2r1xPa+adMm3XLLLSpfvryCgoJUrVo13XXXXdqzZ0+u4+b1uhJ37qzzzTffaODAgapevbpCQkKsmvr166c5c+Y4XHd//PGHXn75ZfXs2VPR0dEKDg5WcHCwqlatqttuu83pfj2zruuuu87qdt111+X4XGatOa/LfOzYMY0dO1ZNmjRReHi4goKCFB0drdtvv13r1693uQ6io6Pl4+OjwYMHS5L27NmjO++8U9HR0QoMDFS5cuV00003adOmTS6n4xUGhWrVqlVGkpFkxo8f73S43bt3W8N17drV6t6hQweru7NXtWrVzK+//up02lnn//jjj+cYv2rVqtnqdPVatWqVNd3x48db3R0ZNGhQrtMrXbq0Wb9+vdPaM5e/Q4cOTofJzenTp027du2c1tC0aVOzfft26/+zZ892OJ0TJ06YTp06uVyesmXLmo0bN7pcH1WrVjVbt241ZcuWdTqdUaNGuVymFStWmNKlS7uspXv37ub0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AaePTTTGmMTERPPOO+/k6H75AyPWrVuXY5iEhARTpUoVI116ktPl97hNSUmxniJWokQJl4/nNebSQxJWr16do3tetwlX63/KlCnWdO655x6H4995553Z1q2j+0NmfRrUyy+/7LKeP/74w8ybN8+tOrNytc0mJCRYD1rI7YERhw4dytEt877FxYoVMx9//LHLOnbu3Onyfr/OZH1gRKVKlRw+GGPHjh3Wg1gK8oERWd1www3WfXMz/738s5a5LyxZsqT14I7XX3/d4fRefvll632aP39+jv4XLlww/fv3z3XbatiwoZGcPzDi6NGjuT4wIjEx0VqfUVFRTp+ql+nrr7/O171psz4wonPnzg7ft5kzZ1rD5PbAiCt9HG5urnR7T01NtR6wU6pUKYcP2fj555+tbcrZ5zs9Pd1EREQY6dL92B3d6zjrvcmdLfOoUaOs/vfee6/TB0akpaVl2y///fff1vbctWtXh+N99dVX1j10pUuP1b3c//73P6t/bveVzu19bt68udH/v9fyihUrcvQ/deqU9RQ4X19fh/u6rI8AdsXT+xJPIOgWsisJulkfC1yhQgUzZcoUs2HDBrNhwwbz4osvmqioKOPj45PtkY6OuDP/5ORk64lGTZs2Nd9++63Zs2eP2bt3r9m7d685d+6cNayr0JD18aDh4eFm0qRJZs2aNWbz5s1m+vTp1iMd27ZtW6BB15j/+8IgXbqx/UcffWTi4+PNkiVLzG233WYkWTsGZzvBlJQU06pVK2uYRo0amalTp5r169ebH374wXz33XfmjTfeML179zYBAQGmWbNmOaaR9RHAVatWNUFBQWbMmDFm3bp1ZsuWLWbq1KnWzbddhb6NGzeawMBA6yAzYMAA8+mnn5pt27aZLVu2mC+//NKMGzfO2pE5esiFJ4Juenq69ejUzJ38woULrce0du7cOce6dRRGjh8/ni1stG/f3rz77rtm48aNZvv27Wb58uXmpZdeMnFxccbX19f069fPrTqzyu0hJ1kfARwcHGzuv/9+s2TJEvPDDz+YdevWmTfffNN069bNVK9ePce4v//+u3XAzfxi9cEHH5jNmzebbdu2mW+++cZMmjTJemjFQw895LJWZ7I+ArhcuXLm1VdfNZs3bzYbNmwwEydOtEKZo0cAZ/L0wenyL4s9evTIMcz58+et7Tbz5SwQHjp0yBo2KCjIPPbYY2bFihVm69atZs6cOdajp7PuPxxtW+vWrbOezJX5CODMz9v06dNN5cqVjb+/v/UEtejoaIf1fP7551aYCQoKMsOHDzdffvmliY+PN5s2bTKfffaZefTRR63tOLeHnziT+UjyzP3vBx98YLZt22aWL19u7rjjDrceAVzQQdcT2/tnn32W7TgxefJks3HjRvP999+bZ5991oSFhZmwsDBTs2ZNl5/vrA97adOmjVm4cKHZvn27WbJkiRk6dKjx9fW1nuTmbJkdPQL47bffNhs3bjTx8fHmyy+/NA8//LCpWLFijvF79OhhjRcXF2c+//xzax3ccccdplixYuaaa66xHp7jLDxmPhWzWrVq5ssvvzS7d++2jr3JycnWcO48AjggIMA89NBDZvXq1Wbr1q3m7bffzra/ze0RwARd5OpKgq4xxgwZMiTbgSHrq1ixYua1117L9eDt7vyztl5e/sp6MMltvpc/Wvfy10MPPZTrB9YTQTc5OTnbAfHyV5MmTUx8fHyuO/7k5GTTt29fl8uU+bruuutyjJ91h7B161ZTpkwZp+M7ekRtVhs3brRadnN7vffeeznGz+s2kdv6/+uvv8y1117rdN6dO3c2y5YtcxlGjLnUmtquXbs8Lc+QIUPcrjNTXp7mN2fOHBMcHOyyBmc79T179mR7yp6r18SJE13W6sqkSZOsAOfoFRgY6PB9z+Tpg1PWpyxJOZ/olynrE+wiIiJcPiJ81qxZLpfxtttuMytWrMh125ozZ47x9/d3OA0/Pz/zzjvvmNtvv91IMrVr13Zaz1dffZUt2Dl7+fr6mu+++86t9Zfp/Pnz5qabbnI5/QoVKpgffvjB4fiFGXSN8cz2/uKLL1oB/vJX8eLFzddff53r5/vs2bNWoHb06tixo/npp59yXeZjx46Z9u3b57osl49/8OBB65c4R68qVaqYn3/+OdfwmPlkzdzmmZf3edmyZdken+zoNWLECKe/ThJ0kWdXGnSNMeb999837dq1MyVLljSBgYGmatWq5vbbbzebN282xuR+8HZ3/hkZGeadd94x7dq1MxEREdl+cnEn6BpjzOLFi03nzp1NqVKlTEBAgKlUqZLp27ev+fbbb40xuX9gPRF0jbnU+vjGG2+YFi1amBIlSpiSJUuaxo0bm8mTJ5vz58+7teNft26dGTZsmLn22mtNyZIljZ+fn4mIiDAtWrQwI0aMMN98843DUyQu3yEcPHjQ3H///aZGjRomKCjIlC5d2nTt2tV88803eVqmlJQU89Zbb5kePXqYChUqmICAABMUFGQqV65sOnfubCZNmuTw50BjPBd0jTHm3Llz5plnnjH169c3wcHBJjw83LRu3dpMnz7dXLx40a1HW3799ddmwIABpnr16qZ48eLG39/fREZGmjZt2piHHnrI6akangy6xhhz+PBh88QTT5hmzZqZ8PBwU6xYMVOqVCnTunVr8/jjj5tff/3V6bgXLlww8+bNM/369TNVqlQxwcHBJiAgwERFRZmOHTuasWPHmvj4eJfzz4sff/zR3HnnnaZGjRomODjYhISEmDp16pgHHngg18d3e/rglJqaap1SIcls3brV4XBZ13+fPn1yne6GDRtMnz59TGRkpPH39zdRUVGma9eu1k/led22fvzxRzNgwADrc1KxYkVz6623Wqcz9O7d20g5H2V8uaSkJPPSSy+ZTp06mXLlyhl/f38THBxsqlWrZm688UbzyiuvuHx8b1599dVXpm/fvla9pUqVMq1atTKTJ082p0+fdjpeYQddYzyzvW/YsMH07dvXlC1b1jrGDR061Pzyyy/GmLzvhyZNmmQaNGhggoODTWhoqGnRooWZOnWquXDhglvLvGDBAnPzzTebSpUqmcDAQBMUFGSqV69ubrnlFvPhhx86PD3i77//No888oipVauWCQwMNGFhYaZRo0Zm/Pjx5sSJE8aYvIXHzz//3HTu3NmULVvW+Pn55TvoGnPp1JzHH3/cNG7c2ISGhprAwEBTpUoVM2DAAIenzmVVlIOujzGFcAM3ADkMHjxY7733nqpWreryKmIAhatmzZrat2+fBg4c6PLCNQBXP+66AADA/7d161bt27dPkqxboAEougi6AIB/jN9//91pv+PHj+vOO++UdOlev67ugwqgaODJaACAf4wbbrhB1apV00033aSGDRsqLCxMJ0+e1IYNGzR9+nTr/tpjx47N9oQsAEUTQRcA8I9hjNGqVau0atUqp8P897//1eOPP16IVQEoKARdAMA/xnvvvadFixZp7dq1SkhI0LFjx+Tn56fy5csrNjZWd911l9q0aePtMgF4CHddAAAAgC3RonuZjIwMHT58WCVLlnT4zHUAAAB4lzFGp0+fVoUKFeTr6/zeCgTdyxw+fFiVK1f2dhkAAADIxaFDh1SpUiWn/Qm6lylZsqSkSysuNDTUy9UAAADgcsnJyapcubKV25wh6F4m83SF0NBQgi4AAMBVLLfTTHlgBAAAAGyJoAsAAABbIugCAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsCU/bxcAAABgJwkJCUpISCi0+UVFRSkqKqrQ5leUEHQBAAA8aMaMGZo4cWKhzW/8+PGaMGFCoc2vKCHoAgAAeNDdd9+tXr165Xn48+fPKzY2VpK0fv16BQcHuzU/WnOdI+gCAAB4kLunEpw9e9b6u3HjxgoJCSmIsv6RuBgNAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtuTn7QIAAAA8JXr0Ym+X4LaMtBTr7zpPLpVvQJAXq8mfA8/18HYJDhWZFt0JEybIx8cn26t27dpW/5SUFI0YMUKlS5dWiRIl1K9fPx05csSLFQMAAMCbikzQlaR69eopISHBeq1fv97qN3LkSC1atEiffvqp1qxZo8OHD6tv375erBYAAADeVKROXfDz81P58uVzdE9KStLMmTM1b948derUSZI0e/Zs1alTR5s2bVLr1q0Lu1QAAAB4WZFq0d27d68qVKig6tWra8CAATp48KAkKT4+Xunp6YqLi7OGrV27tqpUqaKNGze6nGZqaqqSk5OzvQAAAFD0FZmg26pVK82ZM0dLly7Vm2++qf3796tdu3Y6ffq0EhMTFRAQoPDw8GzjlCtXTomJiS6nO3nyZIWFhVmvypUrF+BSAAAAoLAUmVMXunXrZv3dsGFDtWrVSlWrVtUnn3yi4ODgfE93zJgxGjVqlPX/5ORkwi4AAIANFJkW3cuFh4erVq1a+v3331W+fHmlpaXp1KlT2YY5cuSIw3N6swoMDFRoaGi2FwAAAIq+Iht0z5w5o3379ikqKkrNmjWTv7+/Vq5cafXfs2ePDh48qJiYGC9WCQAAAG8pMqcuPPzww+rZs6eqVq2qw4cPa/z48SpWrJj69++vsLAw3XHHHRo1apQiIiIUGhqq++67TzExMdxxAQAA4B+qyATdP//8U/3799fx48cVGRmp2NhYbdq0SZGRkZKkV199Vb6+vurXr59SU1PVpUsXTZ8+3ctVAwAAwFuKTND96KOPXPYPCgrStGnTNG3atEKqCAAAAFezInuOLgAAAOAKQRcAAAC2RNAFAACALRF0AQAAYEsEXQAAANgSQRcAAAC2RNAFAACALRF0AQAAYEsEXQAAANgSQRcAAAC2RNAFAACALRF0AQAAYEt+3i4AAADATi6cOaGLZ07keXiTnmb9nXbkD/n4B7g1v2IlIuRXIsKtcf4pCLoAAAAedGbHEiVtmJ+vcY/Me9TtccLa9ld47IB8zc/uCLoAAAAeVKJxNwXXbFVo8ytGa65TBF0AAAAP8uNUgqsGF6MBAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsKUiG3Sfe+45+fj46MEHH7S6paSkaMSIESpdurRKlCihfv366ciRI94rEgAAAF5TJIPu1q1bNWPGDDVs2DBb95EjR2rRokX69NNPtWbNGh0+fFh9+/b1UpUAAADwpiIXdM+cOaMBAwbonXfeUalSpazuSUlJmjlzpl555RV16tRJzZo10+zZs/X9999r06ZNXqwYAAAA3lDkgu6IESPUo0cPxcXFZeseHx+v9PT0bN1r166tKlWqaOPGjU6nl5qaquTk5GwvAAAAFH1+3i7AHR999JG2b9+urVu35uiXmJiogIAAhYeHZ+terlw5JSYmOp3m5MmTNXHiRE+XCgAAAC8rMi26hw4d0gMPPKAPP/xQQUFBHpvumDFjlJSUZL0OHTrksWkDAADAe4pM0I2Pj9fRo0fVtGlT+fn5yc/PT2vWrNGUKVPk5+encuXKKS0tTadOnco23pEjR1S+fHmn0w0MDFRoaGi2FwAAAIq+InPqwvXXX69du3Zl6zZkyBDVrl1bjz32mCpXrix/f3+tXLlS/fr1kyTt2bNHBw8eVExMjDdKBgAAgBcVmaBbsmRJ1a9fP1u3kJAQlS5d2up+xx13aNSoUYqIiFBoaKjuu+8+xcTEqHXr1t4oGQAAAF5UZIJuXrz66qvy9fVVv379lJqaqi5dumj69OneLgsAAABe4GOMMd4u4mqSnJyssLAwJSUlcb4uAABFTPToxd4u4R/pwHM9CnV+ec1rReZiNAAAAMAdBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYUpEJum+++aYaNmyo0NBQhYaGKiYmRkuWLLH6p6SkaMSIESpdurRKlCihfv366ciRI16sGAAAAN5UZIJupUqV9Nxzzyk+Pl7btm1Tp06d1Lt3b/3888+SpJEjR2rRokX69NNPtWbNGh0+fFh9+/b1ctUAAADwFh9jjPF2EfkVERGhF198UTfffLMiIyM1b9483XzzzZKk3bt3q06dOtq4caNat26d52kmJycrLCxMSUlJCg0NLajSAQBAAYgevdjbJfwjHXiuR6HOL695rci06GZ18eJFffTRRzp79qxiYmIUHx+v9PR0xcXFWcPUrl1bVapU0caNG11OKzU1VcnJydleAAAAKPqKVNDdtWuXSpQoocDAQA0fPlxffPGF6tatq8TERAUEBCg8PDzb8OXKlVNiYqLLaU6ePFlhYWHWq3LlygW4BAAAACgsRSroXnvttdqxY4c2b96se+65R4MGDdIvv/xyRdMcM2aMkpKSrNehQ4c8VC0AAAC8yc/bBbgjICBANWvWlCQ1a9ZMW7du1euvv67bbrtNaWlpOnXqVLZW3SNHjqh8+fIupxkYGKjAwMCCLBsAAABeUKRadC+XkZGh1NRUNWvWTP7+/lq5cqXVb8+ePTp48KBiYmK8WCEAAAC8pci06I4ZM0bdunVTlSpVdPr0ac2bN0+rV6/WsmXLFBYWpjvuuEOjRo1SRESEQkNDdd999ykmJsatOy4AAADAPopM0D169Kj+85//KCEhQWFhYWrYsKGWLVumG264QZL06quvytfXV/369VNqaqq6dOmi6dOne7lqAAAAeEuRvo9uQeA+ugAAFF3cR9c7uI8uAAAAUIgIugAAALClInOOLgAAdpSQkKCEhIRCm19UVJSioqIKbX6ANxF0AQDwohkzZmjixImFNr/x48drwoQJhTY/wJsIugAAeNHdd9+tXr165Xn48+fPKzY2VpK0fv16BQcHuzU/WnPxT0LQBQDAi9w9leDs2bPW340bN1ZISEhBlAXYAhejAQAAwJYIugAAALAlgi4AAABsiaALAAAAWyLoAgAAwJYIugAAALAlgi4AAABsiaALAAAAWyLoAgAAwJYIugAAALAlgi4AAABsiaALAAAAWyLoAgAAwJYIugAAALAlgi4AAABsiaALAAAAWyLoAgAAwJb8vF0AAADeEj16sbdLcFtGWor1d50nl8o3IMiL1eTPged6eLsE/EPQogsAAABbIugCAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsKUrCropKSm5DwQAAAB4gdtBNyMjQ08//bQqVqyoEiVK6I8//pAkPfnkk5o5c6bHCwQAAADyw+2g+8wzz2jOnDl64YUXFBAQYHWvX7++3n33XY8WBwAAAOSX20F37ty5evvttzVgwAAVK1bM6t6oUSPt3r3bo8UBAAAA+eV20P3rr79Us2bNHN0zMjKUnp7ukaIAAACAK+V20K1bt67WrVuXo/tnn32mJk2aeKQoAAAA4Er5uTvCuHHjNGjQIP3111/KyMjQggULtGfPHs2dO1dff/11QdQIAAAAuM3tFt3evXtr0aJFWrFihUJCQjRu3Dj9+uuvWrRokW644YaCqBEAAABwm9stupLUrl07LV++3NO1AAAAAB7Dk9EAAABgS2636JYqVUo+Pj45uvv4+CgoKEg1a9bU4MGDNWTIEI8UCAAAAORHvi5GmzRpkrp166aWLVtKkrZs2aKlS5dqxIgR2r9/v+655x5duHBBd955p8cLBgAAAPLC7aC7fv16PfPMMxo+fHi27jNmzNC3336rzz//XA0bNtSUKVMIugAA5OLCmRO6eOZEnoc36WnW32lH/pCPf4CLoXMqViJCfiUi3BoHKKrcDrrLli3T888/n6P79ddfr4ceekiS1L17d40ePfrKqwMAwObO7FiipA3z8zXukXmPuj1OWNv+Co8dkK/5AUWN20E3IiJCixYt0siRI7N1X7RokSIiLn1DPHv2rEqWLOmZCgEAsLESjbspuGarQptfMVpz8Q/idtB98skndc8992jVqlXWObpbt27VN998o7feekuStHz5cnXo0MGzlQIAYEN+nEoAFBi3g+6dd96punXraurUqVqwYIEk6dprr9WaNWvUpk0bSbJOYQAAAAC8JV8PjGjbtq3atm3r6VoAAAAAj8lX0M2UkpKitLS0bN1CQ0OvqCAAAADAE9x+Mtq5c+d07733qmzZsgoJCVGpUqWyvQAAAICrgdtB95FHHtF3332nN998U4GBgXr33Xc1ceJEVahQQXPnzi2IGgEAAAC3uX3qwqJFizR37lx17NhRQ4YMUbt27VSzZk1VrVpVH374oQYM4N58AAAA8D63W3RPnDih6tWrS7p0Pu6JE5ee5hIbG6u1a9d6tjoAAAAgn9wOutWrV9f+/fslSbVr19Ynn3wi6VJLb3h4uEeLAwAAAPLL7aA7ZMgQ/fjjj5Kk0aNHa9q0aQoKCtLIkSP1yCOPeLxAAAAAID/cPkc366N/4+LitHv3bsXHx6tmzZpq2LChR4sDAAAA8svtoJuSkqKgoCDr/1WrVlXVqlU9WhQAAABwpdwOuuHh4WrZsqU6dOigjh07qk2bNgoODi6I2gAAAIB8c/sc3RUrVqhr167avHmzevfurVKlSik2NlZPPPGEli9fXhA1AgAAAG5zO+jGxsbq8ccf17fffqtTp05p1apVqlmzpl544QV17dq1IGoEAAAA3Ob2qQuS9Ntvv2n16tXWKzU1VTfeeKM6duzo4fIAAACA/HE76FasWFHnz59Xx44d1bFjRz322GNq2LChfHx8CqI+AAAAIF/cPnUhMjJS586dU2JiohITE3XkyBGdP3++IGoDAAAA8s3toLtjxw4lJiZq9OjRSk1N1eOPP64yZcqoTZs2euKJJwqiRgAAAMBt+TpHNzw8XL169VLbtm3Vpk0bffnll5o/f742b96sSZMmebpGAAAAwG1uB90FCxZYF6H98ssvioiIUGxsrF5++WV16NChIGoEAAAA3OZ20B0+fLjat2+vu+66Sx06dFCDBg0Koi4AAADgirgddI8ePVoQdQAAAAAe5fbFaAAAAEBRUGSC7uTJk9WiRQuVLFlSZcuWVZ8+fbRnz55sw6SkpGjEiBEqXbq0SpQooX79+unIkSNeqhgAAADeVGSC7po1azRixAht2rRJy5cvV3p6ujp37qyzZ89aw4wcOVKLFi3Sp59+qjVr1ujw4cPq27evF6sGAACAt+Tr9mLesHTp0mz/nzNnjsqWLav4+Hi1b99eSUlJmjlzpubNm6dOnTpJkmbPnq06depo06ZNat26tTfKBgAAgJcUmRbdyyUlJUmSIiIiJEnx8fFKT09XXFycNUzt2rVVpUoVbdy40el0UlNTlZycnO0FAACAos/tFt2zZ8/queee08qVK3X06FFlZGRk6//HH394rDhnMjIy9OCDD6pt27aqX7++JCkxMVEBAQEKDw/PNmy5cuWUmJjodFqTJ0/WxIkTC7JcAAAAeIHbQXfYsGFas2aNbr/9dkVFRcnHx6cg6nJpxIgR+umnn7R+/forntaYMWM0atQo6//JycmqXLnyFU8XAAAA3uV20F2yZIkWL16stm3bFkQ9ubr33nv19ddfa+3atapUqZLVvXz58kpLS9OpU6eyteoeOXJE5cuXdzq9wMBABQYGFmTJAAAA8AK3z9EtVaqUdV5sYTLG6N5779UXX3yh7777TtWqVcvWv1mzZvL399fKlSutbnv27NHBgwcVExNT2OUCAADAy9wOuk8//bTGjRunc+fOFUQ9To0YMUIffPCB5s2bp5IlSyoxMVGJiYk6f/68JCksLEx33HGHRo0apVWrVik+Pl5DhgxRTEwMd1wAAAD4B3L71IWXX35Z+/btU7ly5RQdHS1/f/9s/bdv3+6x4rJ68803JUkdO3bM1n327NkaPHiwJOnVV1+Vr6+v+vXrp9TUVHXp0kXTp08vkHoAAABwdXM76Pbp06cAysidMSbXYYKCgjRt2jRNmzatECoCAADA1cztoDt+/PiCqAMAAADwqHw/GS0+Pl6//vqrJKlevXpq0qSJx4oCAAAArpTbQffo0aP617/+pdWrV1u38Tp16pSuu+46ffTRR4qMjPR0jQAAAIDb3L7rwn333afTp0/r559/1okTJ3TixAn99NNPSk5O1v33318QNQIAAABuc7tFd+nSpVqxYoXq1Kljdatbt66mTZumzp07e7Q4AAAAIL/cbtHNyMjIcUsxSfL391dGRoZHigIAAACulNtBt1OnTnrggQd0+PBhq9tff/2lkSNH6vrrr/docQAAAEB+uR10p06dquTkZEVHR6tGjRqqUaOGqlWrpuTkZL3xxhsFUSMAAADgNrfP0a1cubK2b9+uFStWaPfu3ZKkOnXqKC4uzuPFAQAAAPmVr/vo+vj46IYbbtANN9zg6XoAAAAAj3D71AUAAACgKCDoAgAAwJYIugAAALAlgi4AAABsye2gW6xYMR09ejRH9+PHj6tYsWIeKQoAAAC4Um4HXWOMw+6pqakKCAi44oIAAAAAT8jz7cWmTJki6dKtxd59912VKFHC6nfx4kWtXbtWtWvX9nyFAAAAQD7kOei++uqrki616L711lvZTlMICAhQdHS03nrrLc9XCAAAAORDnoPu/v37JUnXXXedFixYoFKlShVYUQAAAMCVcvvJaKtWrSqIOgAAAACPcvtitH79+un555/P0f2FF17QLbfc4pGiAAAAgCvldtBdu3atunfvnqN7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+B8mIyNDhw8fVsmSJeXj4+Ptcq5qycnJqly5sg4dOqTQ0FBvlwMP4D21J95X++E9tR/eU/cYY3T69GlVqFBBvr7Oz8SlRfcyvr6+qlSpkrfLKFJCQ0P5UNoM76k98b7aD++p/fCe5p2rltxMXIwGAAAAWyLoAgAAwJYIusi3wMBAjR8/XoGBgd4uBR7Ce2pPvK/2w3tqP7ynBYOL0QAAAGBLtOgCAADAlgi6AAAAsCWCLgAAAGyJoFvE3H///YqOjpaPj4927NhRoPPy8fHRqVOnsnWLjo625rtr1y516tRJjRo1Uv369dWiRQv99NNPDqd15swZPfjgg6pZs6YaNGigRo0aaeDAgdq/f79Hai1TpowOHDjgkWldLVJSUtSnTx/VqlVLjRo10g033KDff/89T+MOHjxYr732WrZuEyZM0IMPPihJSk9P1/3336969eqpUaNGqlu3rl555RWn0/voo4/UokULXXPNNWrevLnatWunzz//PL+Lls3DDz+sCRMmeGRahaVz585q2LChGjdurHbt2umHH37I03hr1qxRTEyMGjdurLp166pt27Y6cuRIAVfr3Mcff6zmzZvr2muvVbNmzdSzZ0/t2rXL5TirV69W48aNJUkHDhxQeHh4wRfqJbNnz5aPj48WLlyY53GK4jpdvny52rdvr+rVq6t58+Zq2bKl3n77bY9Me+rUqRo8eLBHppUpOjpa1157rRo3bqzGjRvr448/zvO4xhhVq1ZN119/vcvhCqJuT7v55ps1Z84ch/18fHzUoEEDNWzYULVq1VL//v31yy+/FG6BVwkeGFHE3HzzzXr00UcVGxvrkemdO3dOPj4+Cg4Odnvc/v376+mnn9ZNN90kSTp06JDDq0WNMerevbvq1KmjXbt2KTg4WBkZGfrss8+0b98+VatWLdvwGRkZkuTySSf/FHfddZe6desmHx8fTZ06VcOGDdPq1auveLqvv/66Dh8+rB9//FF+fn5KSUnRvn37HA777rvv6qWXXtKCBQtUt25dSdKePXv01VdfORz+woUL8vOz967lk08+scLIF198ocGDB+vHH390Oc6FCxd00003acWKFWratKmkS+sxJCSkoMt1aPbs2Zo8ebIWLlxova/x8fE6fPiwGjRo4JWariYHDhzQO++8o9atW+d5nKK4Tr/99lsNHjxYn332mdq0aSNJ+vPPP/XOO+84HP5q+Xx//PHH1pcDd6xcuVLh4eHauXOn9u/fn+P4Yyfr1q1TeHi4MjIy9Pbbb6tt27bavn27x5b5atkWckOSKGLat29/xU9uu3Dhgr755hsNHDhQtWvX1l9//ZWv6fz555+qWLGi9f/KlSurbNmyOYZbuXKlDhw4oKlTp1qB2tfXV7feeqvi4uIkXWpt7Nevn7p06aL69esrISFBDz/8sFq0aKHGjRurffv22rNnjzXNr776SnXq1FHDhg316KOP5qv+q11QUJC6d+9uPYq6devWHmu1/vPPP1W2bFlrJxUUFKR69eo5HHbChAl67bXXrAO3JF177bV65JFHJP1fC9Rjjz2mpk2baurUqVq5cqViYmLUpEkT1atXTzNnzrTGTUhIUJcuXVS3bl3FxcXpzz//9MgyFaasLW5JSUl5elz46dOnlZycrPLly1vdrr32WpUoUUKS9PvvvysuLs5qKc7aiujj46NJkyapVatWio6O1sKFCzV58mQ1b95c11xzTbYvP8uWLVNsbKyaNWumli1batWqVQ7rGT9+fI73tVmzZurSpYs1naZNm6phw4bq0KFDnlqDtm7dqk6dOql58+Zq0qSJPv30U6vfjBkzVKtWLTVt2lRPP/10tnXmajxvyMjI0LBhw/TGG2+4daunorhOn3rqKY0bN84KuZJUqVIlTZw40fq/j4+Pxo8frxYtWmjMmDHatWuXYmNj1bRpU9WtW1fPPPOMNezp06d122236dprr1VsbGyurdmFbebMmbrzzjv173//W7NmzbK6u6q7Vq1a2rZtm/X/OXPmWA08r7zyinWcatGihTZu3GgNFx0drXHjxikmJkbVqlXLtp7++usv3XzzzVar65NPPmnVceedd6ply5Zq2LCh7rrrLqWlpUmSdu/erTZt2qhevXrq06ePkpOT87TMvr6+Gj58uLp06aLp06fnaT4xMTGqV6+e+vbtq86dO1stx4MHD9bQoUPVvn171a9fX5L0/vvvq1WrVmratKnat2+f7Uv/Sy+9pJYtW6pp06bq2rWr/ve//+WpZo8yKJKqVq1qfvjhhzwPn5GRYdatW2fuueceEx0dbf7973+br776yqSmpjodR5KpX7++adSokfXy9/e35vvSSy+Z4sWLm06dOpnHH3/cbN++3eF0nn/+edOrVy+X9Y0fP95ERUWZxMREq9vRo0etv+fPn2+6dOlijDHmyJEjJiIiwvz888/GGGNmzJhhJJn9+/fnZVUUWQMHDjT3339/noYdNGiQqVChQrb3rly5cuaBBx4wxhjz008/mUqVKpnatWubYcOGmfnz55sLFy7kmM6RI0eMJHPixAmn89q/f7+RZN577z2r24kTJ6zpHT9+3FSpUsUcOnTIGGPMzTffbMaOHWuMMebPP/80ZcqUMePHj8/Tcl1Nbr/9dlOpUiVTqVIls3PnzjyN88ADD5gSJUqYbt26maeeesrs2bPH6teyZUvz1ltvGWOM+e2330xERIQ5cOCAMebSZ/G1114zxhizYsUKExISYmbPnm2MMeaTTz4xzZs3N8YYs2/fPtO6dWuTlJRkjDFm7969pnz58iYlJSVbHbm9r5mfsczl+uCDD0ydOnVMRkaGWbVqlWnUqJEx5tJ7HxYWZowx5uTJk6Zx48bm8OHDxhhjjh07ZipXrmz+/PNPs2vXLlO+fHmTkJBgjDFm3LhxJvPw42o8b3nxxRfNuHHjjDHGdOjQwXzxxRe5jlNU12lwcLDTfXcmSWbixInW/5OTk61t6ty5c6Zx48Zm48aNxhhjHn74YXP77bebjIwMc+rUKVO7dm0zaNCg3FafW6pWrWoaNGhg6tevb4YOHZrtWOHK8ePHTXh4uDl58qT58ccfTaVKlczFixdzrXvSpElmxIgR1nTat29vvvrqK2NM9uPUxo0bzbXXXputzvvuu88Yc+k9CA0Ntd6Djh07mmeffdYaNnM6d955p7UvzcjIMHfccYd54YUXjDHGNG/e3Lz77rvGGGN27txpAgICrP3A5SSZkydPZuv2yiuvmG7duuVpPrNmzTLGGPPLL7+YwMBAaz6DBg0yDRs2NMnJycYYY9avX2+6detmbQ9r1641devWNcYY8+GHH5phw4ZZx4K5c+ea7t27O6y3IBF0iyh3g27v3r1NyZIlzZtvvmnOnTuXp3EcfVAun29iYqKZN2+eGT58uAkJCTEfffRRjulcHnTXrl1rGjVqZGrUqGGefPJJY8yloHvHHXdkG+/DDz80rVu3NvXq1TN16tQx5cqVM8YY8+WXX5qOHTtaw124cMEEBATYOuhOmjTJtG7d2pw9ezZPww8aNMi8+uqr2bqNHz/eCrrGGJOammpWrlxpnn76aVOrVi2HOyBHB++OHTua+vXrm1q1ahljLh2Y/f39rQOGMZcC1k033WTq1atnGjVqZEJCQsySJUuMMcaUKlXKCnDGGDN06NAiGXQzzZkzxzp45MWBAwfM7NmzzcCBA03x4sXNunXrTHJysvHz8zPp6enWcL169TLvv/++MebSZzEz0Jw6dcpIMufPn7emlxmMpk2bZsqUKZPtC06FChXMb7/9lq2G3ELZV199ZTp06JCtW1hYmDl06JDTULZ48WITGhqabd6VK1c2K1euNK+//roZPHiwNa1Dhw5ZoczVeN6wa9cu07p1a5OWlmaM8VzQvVrX6eVB99///rf1xTjzC5Mk64tq5rIOHDjQ1K9f3zRs2NCUKlXKvPnmm8YYY5o0aWJWr15tDfvUU095POj+73//M8YYk5aWZh599NE8f/6mTJli+vfvb/2/WbNm5ptvvjHGuK770KFDpkyZMiYlJcXs27fPlC9f3vqsLlu2zLRv397a10myjrFVq1a1vgAYY0zjxo3NunXrzOnTp42fn5/DhqbIyMhsDUy1atUyd911l0lKSjJ+fn7ZGiQ6derkVtB9+eWXrXXlznyuv/76bEH36aeftvo98sgjORpVypcvb86dO2duueUWEx0dbXWvX7++qV+/vsN6C9LVf3IFPOK5557T+++/r9dee02LFi1S//791bt3b5UsWfKKpluuXDn1799f/fv3V9WqVfXhhx/qtttuyzZMkyZNNHXqVKWnp8vf31/t2rXTjh07NGHChGwXu2X+hCtJBw8e1L333qutW7eqRo0a2rlzp9q3b++whrz8bFyUZZ4fu2LFChUvXtxj0w0ICFCnTp3UqVMnDRs2TFFRUTpx4oQiIiKsYcqWLauKFStqy5Yt1s+vq1at0oEDB7KdH1e8ePFs51QPHz5c3bt31+effy4fHx81bdpUKSkpDuso6u/foEGDNHz4cB0/flylS5fOdfiqVatq8ODBGjx4sEJCQvTJJ5+oUaNGOYa7fL0EBQVJkooVK5bj/xcuXJB06Xz4G264QfPmzXNZQ9myZVWpUiVt3LhR3bt3z30h88AYo3r16un777/P0e/yi1SzLpur8bxh3bp1OnDggK655hpJUmJiou666y4lJCTonnvucTpeUV2nTZo00ZYtW9SkSRNJ0ocffmhNL/N6CSn7/vnxxx9XmTJl9MMPP8jPz099+/Yt1M93lSpVJEn+/v568MEHVatWrTyNN3PmTCUmJio6OlrSpZ/vZ86cqW7duuUYNmvdlSpVUvPmzfXll1/q559/1sCBA+Xn56e0tDT17dtXq1atUosWLZScnKywsDClpqZap+llfk6l7J9VZ4wx+vzzz3Msk6PTFNxdt1u3brVON7iS+WTdFowxGjRokJ599tkc4xljNGbMGN11111u1elpnKP7D1G7dm1NmjRJu3fv1tixY7V582Y1aNBAN998s44ePZqvaX7xxRdKT0+XdOm83507d6pGjRo5houLi1PlypX1wAMP6Pz581b3s2fPOp12UlKS/P39FRUVJWOMpk6davWLiYnRzp07tXv3bknSrFmzrHOL7OaVV17R/PnztXz5co9eib127VolJCRY/4+Pj1dERITDeYwbN04jR4601rfk+r2TpJMnT6pq1ary8fHR2rVrs52zFRcXZ50bl5CQ4PSitqvVqVOndPjwYev/CxcuVOnSpbN9QXDkzJkzWrJkicz/fxjl+fPn9euvv6pGjRoqWbKkmjZtqtmzZ0u6dL7u+vXrnX65c6ZLly5asWKFdu7caXXbsmWLw2EnTJigUaNGZXtff/jhB3377bdq3bq1du3aZYWpjz76SBUrVsx2Tv7l2rRpo/3792vFihVWtx07digtLU3XXXedli1bZu1rsp6z7Wo8b7jnnnuUkJCgAwcO6MCBA2rdurXefvttlyE3U1Fcp08++aSeeuopbdq0yeqWl893pUqV5Ofnpz179mj58uVWv7i4OM2ePVvGGCUnJ2v+/Pkup+Wus2fPZmsgmT9/vhXSXYmPj9exY8d0+PBh673dt2+fli1bpmPHjuVa95AhQzRr1izNnTtXQ4cOlXTpzjhpaWlW8H7jjTfytAwlSpRQ+/bt9fLLL1vdjh07Jknq06ePnn/+eSsQnzx5Ur///rtCQ0PVpEkTzZ07V5L0888/a/369XmaX0ZGht555x0tXbrU2o5dzadRo0b64IMPJF26YNbVfHr16qUPPvhABw8etOaVeT5znz599NZbb+nEiROSLt3tJ693qPEkWnSLmLvvvluLFy9WYmKiunTpopIlS1q3nBo2bJh69eqlXr16uZxGTEyMYmJi9Nprr2nFihXWgdddCxYs0OjRoxUYGKiLFy+qZcuW2S5gyOTj46MlS5Zo7Nixql+/vkJCQlSyZElVr15dY8aMcTjtBg0a6F//+pfq1aun0qVLq0+fPla/yMhIzZo1SzfddJMCAgLUtWvXPLWkFTV//vmnHnroIVWvXl3XXXedpEvPQt+8ebOkSwG0QoUKGj58uNvTPnjwoB588EGlpKQoICBAJUqU0JdffunwThd33XWXQkJCNHDgQCUlJSkyMlJBQUGaNm2a0+k/99xz+u9//6unn35ajRs3VqtWrax+r7/+ugYPHqy6deuqYsWK6tSpk9v1e1NSUpJuueUWnT9/Xr6+voqMjNTXX39ttXo4+xwaY/TWW2/pgQceUHBwsNLT09W1a1eNGDFC0qWWtOHDh2vq1Kny8fHRu+++ax1A86pmzZqaN2+e7r77bp07d05paWlq0qSJwxbeO+64Q8HBwRowYIDOnDkjPz8/1ahRQ5MnT1ZkZKQ+/PBD/ec//9GFCxdUqlQpffrppy5bkEqVKqXFixfr4Ycf1kMPPaT09HRVqVJFCxcuVIMGDTR27Fi1bdtWJUuWVNeuXRUWFpbreFcjV5+7orhOu3btqpkzZ+qRRx7R4cOHFRkZqYCAAL3xxhtOf/EbO3asbr/9dr333nuqUaNGts/wk08+qWHDhql27dqKjIxUbGysUlNT3VzLzh05ckT9+vXTxYsXZYxR9erVrfAnOf/8zZw5U//617+y7ePCw8N1ww036P3338+17t69e+uee+7RNddcozp16kiSQkND9cwzz6hly5YqU6aM/vWvf+V5Od5//33dd999qlevnvz9/dW7d29NnDhRr776qkaPHq3GjRvL19dXfn5+euGFF1SzZk3NnTtXQ4YM0csvv6xrrrkm1y/C7dq1k4+Pj1JSUtS0aVNt2LDBuuNCbvMZOnSoXnzxRdWsWVMtWrRw2tDSrl07vfDCC7rpppt04cIFpaWlqUePHmrevLkGDBig48ePW8evCxcuaOjQoXn6YuJJPia/KQcAgDw6ffq0FZxef/11LV26VEuWLPFyVUUb6xQF4cyZMwoJCZGPj4/279+vmJgYbd26VZUrV/Z2aflCiy4AoMCNHj1aGzZsUHp6uipUqKAZM2Z4u6Qij3WKgvD9999bt4+8ePGiXn311SIbciVadAEAAGBTXIwGAAAAWyLoAgAAwJYIugAAALAlgi4AAABsiaALAAAAWyLoAsBVxsfH56p4YMLgwYOzPawFAIoagi4AFKDBgwfLx8cnx6tr167eLs1y4MAB+fj4aMeOHdm6v/7665ozZ45XagIAT+CBEQBQwLp27arZs2dn6xYYGOilavIu85GyAFBU0aILAAUsMDBQ5cuXz/YqVaqUJGnv3r1q3769goKCVLduXS1fvjzbuKtXr5aPj49OnTpldduxY4d8fHx04MABq9uGDRvUsWNHFS9eXKVKlVKXLl108uRJSdLSpUsVGxur8PBwlS5dWjfeeKP27dtnjVutWjVJUpMmTeTj46OOHTtKynnqQmpqqu6//36VLVtWQUFBio2N1datW3PUunLlSjVv3lzFixdXmzZttGfPHk+sRgBwG0EXALwkIyNDffv2VUBAgDZv3qy33npLjz32mNvT2bFjh66//nrVrVtXGzdu1Pr169WzZ09dvHhRknT27FmNGjVK27Zt08qVK+Xr66ubbrpJGRkZkqQtW7ZIklasWKGEhAQtWLDA4XweffRRff7553rvvfe0fft21axZU126dNGJEyeyDffEE0/o5Zdf1rZt2+Tn56ehQ4e6vUwA4AmcugAABezrr79WiRIlsnV7/PHH1bx5c+3evVvLli1ThQoVJEnPPvusunXr5tb0X3jhBTVv3lzTp0+3utWrV8/6u1+/ftmGnzVrliIjI/XLL7+ofv36ioyMlCSVLl1a5cuXdziPs2fP6s0339ScOXOs+t555x0tX75cM2fO1COPPGINO2nSJHXo0EGSNHr0aPXo0UMpKSkKCgpya7kA4ErRogsABey6667Tjh07sr2GDx+uX3/9VZUrV7ZCriTFxMS4Pf3MFl1n9u7dq/79+6t69eoKDQ1VdHS0JOngwYN5nse+ffuUnp6utm3bWt38/f3VsmVL/frrr9mGbdiwofV3VFSUJOno0aN5nhcAeAotugBQwEJCQlSzZs18jevre6k9whhjdUtPT882THBwsMtp9OzZU1WrVtU777yjChUqKCMjQ/Xr11daWlq+asqNv7+/9bePj48kWadJAEBhokUXALykTp06OnTokBISEqxumzZtyjZM5mkFWYe5/DZgDRs21MqVKx3O4/jx49qzZ4/Gjh2r66+/XnXq1LEuUssUEBAgSdY5vY7UqFFDAQEB2rBhg9UtPT1dW7duVd26dV0sJQB4Dy26AFDAUlNTlZiYmK2bn5+f4uLiVKtWLQ0aNEgvvviikpOT9cQTT2QbrmbNmqpcubImTJigSZMm6bffftPLL7+cbZgxY8aoQYMG+u9//6vhw4crICBAq1at0i233KKIiAiVLl1ab7/9tqKionTw4EGNHj062/hly5ZVcHCwli5dqkqVKikoKCjHrcVCQkJ0zz336JFHHlFERISqVKmiF154QefOndMdd9zhwbUFAJ5Diy4AFLClS5cqKioq2ys2Nla+vr764osvdP78ebVs2VLDhg3TpEmTso3r7++v+fPna/fu3WrYsKGef/55PfPMM9mGqVWrlr799lv9+OOPatmypWJiYvTll1/Kz89Pvr6++uijjxQfH6/69etr5MiRevHFF7ON7+fnpylTpmjGjBmqUKGCevfu7XA5nnvuOfXr10+33367mjZtqt9//13Lli2zbpUGAFcbH5P1xC8AAADAJmjRBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADY0v8DaaNSfzeUZowAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax = plot_gam(gam_full, 2)\n", @@ -1170,10 +2429,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "id": "32368085", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:50.195157Z", + "iopub.status.busy": "2023-07-25T23:59:50.195021Z", + "iopub.status.idle": "2023-07-25T23:59:50.248546Z", + "shell.execute_reply": "2023-07-25T23:59:50.247091Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "LinearGAM(callbacks=[Deviance(), Diffs()], fit_intercept=True, \n", + " max_iter=100, scale=None, terms=s(0) + l(1) + f(2) + intercept, \n", + " tol=0.0001, verbose=False)" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "gam_0 = LinearGAM(age_term + f_gam(2, lam=0))\n", "gam_0.fit(Xgam, y)\n", @@ -1197,12 +2476,91 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 37, "id": "e7ba9957", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:50.254777Z", + "iopub.status.busy": "2023-07-25T23:59:50.254341Z", + "iopub.status.idle": "2023-07-25T23:59:50.273076Z", + "shell.execute_reply": "2023-07-25T23:59:50.272340Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
deviancedfdeviance_diffdf_diffFpvalue
03.714362e+062991.004005NaNNaNNaNNaN
13.696746e+062990.00519017616.5428400.99881514.2651310.002314
23.693143e+062987.0072543602.8936552.9979360.9720070.435579
\n", + "
" + ], + "text/plain": [ + " deviance df deviance_diff df_diff F pvalue\n", + "0 3.714362e+06 2991.004005 NaN NaN NaN NaN\n", + "1 3.696746e+06 2990.005190 17616.542840 0.998815 14.265131 0.002314\n", + "2 3.693143e+06 2987.007254 3602.893655 2.997936 0.972007 0.435579" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "anova_gam(gam_0, gam_linear, gam_full)\n" ] @@ -1226,10 +2584,95 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 38, "id": "ffc0099a", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:50.279669Z", + "iopub.status.busy": "2023-07-25T23:59:50.279267Z", + "iopub.status.idle": "2023-07-25T23:59:50.327162Z", + "shell.execute_reply": "2023-07-25T23:59:50.326222Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
deviancedfdeviance_diffdf_diffFpvalue
03.975443e+062991.000589NaNNaNNaNNaN
13.850247e+062990.000704125196.1373170.999884101.2701061.681120e-07
23.693143e+062987.007254157103.9783022.99345042.4478125.669414e-07
\n", + "
" + ], + "text/plain": [ + " deviance df deviance_diff df_diff F \\\n", + "0 3.975443e+06 2991.000589 NaN NaN NaN \n", + "1 3.850247e+06 2990.000704 125196.137317 0.999884 101.270106 \n", + "2 3.693143e+06 2987.007254 157103.978302 2.993450 42.447812 \n", + "\n", + " pvalue \n", + "0 NaN \n", + "1 1.681120e-07 \n", + "2 5.669414e-07 " + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "gam_0 = LinearGAM(year_term +\n", " f_gam(2, lam=0))\n", @@ -1251,10 +2694,63 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 39, "id": "08026a6b", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:50.332475Z", + "iopub.status.busy": "2023-07-25T23:59:50.332022Z", + "iopub.status.idle": "2023-07-25T23:59:50.342074Z", + "shell.execute_reply": "2023-07-25T23:59:50.339526Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "LinearGAM \n", + "=============================================== ==========================================================\n", + "Distribution: NormalDist Effective DoF: 12.9927\n", + "Link Function: IdentityLink Log Likelihood: -24117.907\n", + "Number of Samples: 3000 AIC: 48263.7995\n", + " AICc: 48263.94\n", + " GCV: 1246.1129\n", + " Scale: 1236.4024\n", + " Pseudo R-Squared: 0.2928\n", + "==========================================================================================================\n", + "Feature Function Lambda Rank EDoF P > x Sig. Code \n", + "================================= ==================== ============ ============ ============ ============\n", + "s(0) [465.0491] 20 5.1 1.11e-16 *** \n", + "s(1) [2.1564] 7 4.0 8.10e-03 ** \n", + "f(2) [0] 5 4.0 1.11e-16 *** \n", + "intercept 1 0.0 1.11e-16 *** \n", + "==========================================================================================================\n", + "Significance codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n", + "\n", + "WARNING: Fitting splines and a linear function to a feature introduces a model identifiability problem\n", + " which can cause p-values to appear significant when they are not.\n", + "\n", + "WARNING: p-values calculated in this manner behave correctly for un-penalized models or models with\n", + " known smoothing parameters, but when smoothing parameters have been estimated, the p-values\n", + " are typically lower than they should be, meaning that the tests reject the null too readily.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/16/8y65_zv174qgdp4ktlmpv12h0000gq/T/ipykernel_33473/2135516388.py:1: UserWarning: KNOWN BUG: p-values computed in this summary are likely much smaller than they should be. \n", + " \n", + "Please do not make inferences based on these values! \n", + "\n", + "Collaborate on a solution, and stay up to date at: \n", + "github.com/dswah/pyGAM/issues/163 \n", + "\n", + " gam_full.summary()\n" + ] + } + ], "source": [ "gam_full.summary()\n" ] @@ -1271,9 +2767,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 40, "id": "9191d615", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:50.348263Z", + "iopub.status.busy": "2023-07-25T23:59:50.347814Z", + "iopub.status.idle": "2023-07-25T23:59:50.369772Z", + "shell.execute_reply": "2023-07-25T23:59:50.368479Z" + } + }, "outputs": [], "source": [ "Yhat = gam_full.predict(Xgam)\n" @@ -1290,12 +2793,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 41, "id": "92007a5f", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:50.375102Z", + "iopub.status.busy": "2023-07-25T23:59:50.374536Z", + "iopub.status.idle": "2023-07-25T23:59:50.481702Z", + "shell.execute_reply": "2023-07-25T23:59:50.479739Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "LogisticGAM(callbacks=[Deviance(), Diffs(), Accuracy()], \n", + " fit_intercept=True, max_iter=100, \n", + " terms=s(0) + l(1) + f(2) + intercept, tol=0.0001, verbose=False)" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "gam_logit = LogisticGAM(age_term + \n", " l_gam(1, lam=0) +\n", @@ -1305,12 +2827,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 42, "id": "4dd6aa2f", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:50.491174Z", + "iopub.status.busy": "2023-07-25T23:59:50.490770Z", + "iopub.status.idle": "2023-07-25T23:59:50.634371Z", + "shell.execute_reply": "2023-07-25T23:59:50.633430Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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O+8YDw8Pl+MoUKCAWbFiRYZ1HD161FSqVCnDGqKjo83ChQtdbj+p/fXXX6ZGjRq281OuXDmzZ88el8On3k5Wr15tihYtmuF4JkyYYLtsP/vsM+Pn52dbS8mSJV0Ou3XrVlOyZEnbYevVq2diY2Nta7ial19+2eTLly/DaXh7e5sZM2akGy4z7/HMGj9+vJFkPDw8XG5no0ePTjPeLVu2pGvz1VdfWf2v3Iel3r9k9CpQoICZNWuWbZ2ffvqp8fT0dDm8p6enmT59epr3ZkYys1306NHDJCcnZ2r5uXL+/Hlz77332k4jPDzc5bI0xpiPP/7Yardz505z2223ZTie+vXrm7Nnz15zrcZkzfb+xhtvZLgt+/n5mXnz5tl+DqSe5/3792c4nf3791vtMtrH//PPP7bLLKPh//zzz0y9tx599NF020fqujI7zczM88KFC42/v7/tOPv27WsuXbrkcnjneu3SpYuZNWuWKVCggMtx5M+f33z11VcZLvecQGDOozIbmL/55hurXffu3a3ujRs3NtWqVTPPPfec+f777826devM2rVrzcyZM81DDz1k7WgqVKhgzp8/73LczvFWq1bN+nfatGlm/fr1ZsWKFWbixInm7NmzZvv27eall16y2i9cuNBs3749zSv1DvZqgblTp06mTJkyZtCgQWbmzJkmJibGbNiwwXz77bemd+/exsvLy0gywcHB5tixYy7HkRWB+Z577knzIfHll1+ajRs3mnnz5pn777/f2qnb7UwvXLhgateube0gOnfubL788kuzdu1as2rVKjN27FgrwBYuXNgcOHAg3TicH8rBwcGmVKlSxtvb2wwdOtSsXLnSrFu3zkyaNMmEhYVZdbz11lsu52f16tVWAAgNDTUvvfSSmTNnjtm0aZOZM2eOefTRR61xdOjQweU4nP0bNmxo8uXLZ2rUqGGmTZtmNmzYYFauXGkGDBhgbVslSpQwiYmJ6caRnJxs6tSpY42rdevW5vvvvzcbN240s2bNMlFRUemWravA/M8//5iIiAgjXQ56/fr1M998843ZsGGDWbZsmRk2bJi1sy5Tpow5ffp0unE4t5Py5cubokWLmpCQEPPKK6+Y1atXm/Xr15s33njDBAYGGulywNuxY4fL5fLJJ59Ytfr4+Jgnn3zS/PTTT2bz5s1m5cqVZvLkyaZ169amdOnS6Ybdu3evCQgIMJKMv7+/GTZsmLU8Fi5caPr27Wt9MWnQoIFJSkpyWcPVvPPOO1aNwcHB5rXXXjMxMTFm9erVZvTo0VaoczgcZt68eWmGdb6Pne+J8PDwdO/xzFq/fr1Vx/z589P1b9GiRZoP1jfffDNdm969e1vb8ZWee+45ExYWZv73v/+ZTz/91KxZs8Zs2rTJzJ492wwZMsQULFjQWk+//fabyxrXrFlj8ufPb6TL4XrEiBHW++2dd94xxYsXN15eXqZWrVpGyjgwz5w50zgcDmsbfOONN8yCBQvMpk2bzHfffWfatm1rzeeAAQMyvQyv9MADD1jjqVGjhvnkk0/Mhg0bzMKFC023bt2sGoKCgszff/+dbvjUQapRo0YmX758pkuXLmbevHlm06ZN5vvvvzeRkZFWm6FDh15zrVmxvc+aNcuqJSAgwLz88svml19+Mb/88ot56aWXjL+/vwkMDDS33nprtgfmhIQE6zNSkqlTp455//33zZo1a8zGjRvN999/bwYMGGDCw8PTDb93717j5eVl7rrrLjNp0iSzePFis3nzZrN48WLz7rvvmipVqljjHTlyZJphk5KSzPbt2820adOsNtOmTUv3vjx16lSm53nLli3W56unp6cZMGCAWbZsmVm/fr15//33TenSpa3hhwwZ4nJ5OQNz7dq1jY+PjyldurSZPHmyWbt2rYmJiTGjR482Pj4+1vo/fvx4hsv+eiMw51GZCczJycmmYcOGVrtPPvnE6vf777/bjn/RokVWsPnwww9dtkn9oXXbbbeZCxcuZDi+zO58jLl6YP7jjz9MSkpKhsNv27bN+tAbMWKEyzb/NTDPnTvXqrFt27Yuj/6MGTMmw2/yTs4j84GBgWbjxo0up3XgwAEr8D7yyCPp+qc+4u7p6enyyO3hw4dN8eLFjXT56MqVO6GkpCRTqlQpI13+JSIhIcFlLVOnTrWm9fPPP6frn3p+27Zt6zIQp/7y5Ooo3uTJk63+vXr1cllH9+7d00zLVWB+5JFHrLDy559/uhzP5s2brSA4fPjwdP1T/xJTsmRJl2Fi1apVVuB46qmn0vU/cuSIFcxDQkJsw+PBgwfTdWvUqJGRZGrVqmVOnDjhcrj58+db79epU6dmOP6MHD9+3KoxPDzcZR2pl9Utt9ziMqhk5ojq1Vy8eNEUKlTISDLPPvtsmn4XLlywPkzvuusuI8ncc8896cbh/HXigQceSNdv//79tl8qDh06ZG655RYjXT5y50rNmjWtL2Jr165N1//YsWOmTJkyabadK504ccIKht27d8/wCLJzH5EvXz6ze/fuDOvOSOp91W233ebyPZn6fe1qmaXef0syn376abo2Fy5cMFWrVjXS5V/4rvWI+H/d3hMTE014eLgVll196dm+fXuao6TZGZgHDBhg9e/bt2+Gn12JiYnpjpifPXvWHDlyJMNpp6SkmK5du1r7dVdf+lNnhYx+iXO62jw7D1Lkz5/fLFy4MF3/kydPmsqVK1vbq6sDCKl/OahTp46Ji4tL1+azzz6z2rzxxhu2NV9PBOY8yi4wnz171ixfvjzNkZiSJUvaBlpX2rdvbySZO++802V/57jz5ct31RCclYE5M/r3728kmapVq7rs/18Ds/PIj7e3tzl8+LDLNpcuXbI+QFztTM+cOWN9YL799tu203v33XetQHzlz52pA3O/fv0yHMfMmTOtdleePuA8Aurj43PVb/T169fPMLw7x+/j45Ph0f34+HjrKIWro2bOHW5oaGiGwf3MmTMmODg4ww+C/fv3W0cA58yZYzs/Q4YMsYLilVIH5h9//DHDcTi/mNaqVStdv2HDhlnjmD17tm0tV1q5cqU17LZt22zbOo8iNmrUyK1pGGPMq6++ak3H7mfQ1F92vv7663T9syIwG2PMHXfcYaTLRxBTW7FihRWEli5daqTLv7yk/vn32LFjVo3vvPPONU3/rbfeMtLlI1xXBpy1a9da4x88eHCG4/jhhx9sA/MLL7xgffmw2zcnJydbAd7Vl7qrcS5LT09Pl1+EnJy/3Hh4eKQLaan33xn9umSMMVOmTLHa/frrr27XmhXb+9dff22N47XXXstw+NTbfHYF5lOnTllfROvUqWMuXrxoO0/X4t9//7X2dd9++226/lkVmNetW2f16927d4bjWL16tdXuf//7X7r+qQNzRttISkqK9aXn3nvvta35euKivxvAmDFj0pzEX7BgQbVo0cK6kC4kJESzZ8+Wt7d3huM4ceKE9u7dqx07dliv4OBgSdKvv/5qO/3GjRvn6D0bT506pX379mnnzp1W7YGBgZKk3377TcnJyVk6vUuXLlnLtnXr1goPD3fZLl++fOrSpUuG41mxYoXi4uIkSR07drSdZrNmzSRJycnJ2rRpU4btUl9ceaV7773XWi5XXkj0448/SpKaN29urfer1RITE5Nhm9tvv10hISEu+xUqVEi33nqrpMsXtKR29OhR/fbbb5KkBx54QAUKFHA5joIFC+qBBx7IcPrz5s3TpUuXVKBAAd1xxx0Zz4z+b36OHDmS4cVegYGBateuXYbjqFOnjqT08yNJc+fOlSSVKVNGd999t20tV3KulwoVKqhatWq2bZ3zsWHDBrcvAHRuD4GBgerQoUOG7Xr27JlumOzQvHlzSdKmTZvSXIy2YsUKSVKTJk3UqFEj+fr66tSpU2kulnS2kZSpRx7Hx8dr//79afYfzu3O2S+11PPduXPnDMfbrl07FSlSJMP+znV755132u6bPTw8FBkZKcn+PefKxYsXreXRunVrRUREZNj28ccft4axe8BFp06dMuznfB9Irt8LV5MV27tz/TgcDtv9b7du3dy6GPVaLF261LqQ76mnnlL+/Pn/0/iSk5P1999/a9euXda2euTIEWs7u9pn9X+Rervv0aNHhu0aN26sSpUqpRvmStWqVVP16tVd9nM4HKpVq5aka9uOsgv3Yb6BlS5dWh07dtTgwYNdhpc1a9Zo0qRJWrx4sU6ePJnheK52x4mMNvrstH37dr355puaP3++7VMMU1JSdOrUqQzD27XYt2+ftROsV6+ebdvUdym50saNG63/h4WFZXr6Gc2vl5eXatSokeFwnp6eqlWrlpYtW6bt27e7rGXhwoWZ/hCxW+4VK1a0HTYoKEiS0j06OXVdmVm277zzjst+zvk5d+6cPDwyv5uLjY11+YCNW2+9VfnyZXx8IaP5SU5O1o4dOyRdDnnufkA752PPnj2ZHjY5OVknT550a5t31li7dm3bW8KFhoaqVKlSOnDggDVMdnAG3YsXL2r16tVq06aNJFlBrkWLFvL29lbDhg21bNkyLV++XDVr1kzTJjg4WJUrV3Y5/r/++kuvvfaa5syZk+buQa78888/KlOmjPW3c769vb1VpUqVDIfLnz+/atasqSVLlqTrd+nSJW3dulWS9P777+v999+3rcHJ3Se2/vnnn9a+qkGDBrZtU/e3W7d2723n+0BK/17IjKzY3p37kNKlS6to0aIZDhccHKxSpUql+0KUlbZs2WL9v2nTptc0juTkZE2dOlWffvqptmzZoqSkpAzbZufdoZzbhJeXl/Ve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YIPADAAAANggMAMAAAA2CMwAAACADQIzAAAAYIPADAAAANggMAMAAAA2CMwAAACADQIzAAAAYMMjpwsAAAD/zdGjR3X06NHrNr2wsDCFhYVdt+ndrFivuQeBGYAtdtg3Htbpjef999/XmDFjrtv0Ro0apdGjR1+36d2sWK+5B4EZgC122Dce1umN54knntDdd9+d6fbnz59XkyZNJEmrV6+Wr6+vW9PjC9D1wXrNPRzGGJPTRdxo4uPjFRAQoLi4OPn7++d0OblWQkKCChYsKEk6e/as/Pz8crgiuOLu0cis2GGz085erFOw/70xsV7d405e4wgzAFvuhp2EhATr/zVr1mSHnQuxTgHAPdwlAwAAALBBYAYAAABsEJgBAAAAGwRmAAAAwMZ/CswXLlzIqjoAAACAXMntwJySkqIXX3xRt9xyiwoWLKg///xTkvT888/ro48+yvICAQAAgJzkdmB+6aWXNH36dI0fP15eXl5W96pVq+rDDz/M0uIAAACAnOZ2YP7kk080depUderUSfnz57e616hRQ7t3787S4gAAAICc5nZgPnz4sMqVK5eue0pKipKTk7OkKAAAACC3cDswV65cWatWrUrX/dtvv1WtWrWypCgAAAAgt3D70dgjR45Uly5ddPjwYaWkpGjWrFnas2ePPvnkE82dOzc7agQAAAByjNtHmO+55x7NmTNHixcvlp+fn0aOHKldu3Zpzpw5uv3227OjRgAAACDHuH2EWZKaNm2qRYsWZXUtAAAAQK7Dk/4AAAAAG24fYS5cuLAcDke67g6HQz4+PipXrpy6du2qbt26ZUmBAAAAQE66pov+xo4dqzvuuEP169eXJK1fv14LFixQ3759tX//fvXp00cXL17U448/nuUFAwAAANeT24F59erVeumll9S7d+803d9//339/PPP+u6771S9enVNmjSJwAwAAIA8z+1zmBcuXKioqKh03W+77TYtXLhQktS2bVv9+eef/706AAAAIIe5HZiDgoI0Z86cdN3nzJmjoKAgSVJCQoIKFSr036sDAAAAcpjbp2Q8//zz6tOnj5YtW2adw7xhwwb99NNPmjJliiRp0aJFat68edZWCgAAAOQAtwPz448/rsqVK2vy5MmaNWuWJKlChQpasWKFGjVqJEkaNGhQ1lYJAAAA5JBrenBJ48aN1bhx46yuBQAAAMh1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WbNmLmvIzM/heZXz/OHFixerQIECWTZeLy8vtWrVSq1atVLPnj0VFhamkydPKigoyGoTEhKiW265RevXr7d+Vl62bJkOHDiQ5vzBAgUKpDnfvHfv3mrbtq2+++47ORwO1a5dWxcuXHBZx42w7rp06aLevXvr33//VZEiRa7avmTJkuratau6du0qPz8/ff3116pRo0a6dlcuGx8fH0lS/vz50/198eJFSZevF7j99tv1xRdf2NYQEhKi4sWLKyYmRm3btr36TGaCMUZVqlTRL7/8kq7flRcDp543u+Gut1WrVunAgQO69dZbJUmxsbHq1auXjh49qj59+mQ4XF5dnrVq1dL69etVq1YtSdLnn39ujc95LYmUdt88fPhwFS1aVFu2bJGHh4c6dOhwXd/fJUqUkCR5enqqf//+Kl++fKaG++ijjxQbG6tSpUpJunxawkcffaQ77rgjXdvUdRcvXlx169bVDz/8oJ07d+rRRx+Vh4eHkpKS1KFDBy1btkz16tVTfHy8AgIClJiYaJ166HyPSmnfpxkxxui7775LN0+uTr9wd9lu2LDBOo3iv0wn9bZgjFGXLl308ssvpxvOGKNhw4apV69ebtWZHTiHGW6pWLGixo4dq927d2vEiBFat26dqlWrpo4dO+r48ePXNM7vv/9eycnJki6fF71t2zaVLVs2XbuoqChFRETo6aef1vnz563uCQkJGY47Li5Onp6eCgsLkzFGkydPtvpFRkZq27Zt2r17tyRp2rRp1vlXN5I33nhDX375pRYtWpSlV86vXLlSR48etf7etGmTgoKCXE5j5MiRGjBggLWsJfv1JkmnTp1SyZIl5XA4tHLlyjTntEVFRVnnDh49ejTDiwdzs9OnT+vIkSPW37Nnz1aRIkXSfNlw5ezZs5o/f77M/39I6/nz57Vr1y6VLVtWhQoVUu3atfXxxx9Lunw+8+rVqzP8kpiR6OhoLV68WNu2bbO6rV+/3mXb0aNHa+DAgWnW7ZYtW/Tzzz+rYcOG2r59uxXMvvrqK91yyy1prlm4UqNGjbR//34tXrzY6rZ161YlJSWpZcuWWrhwobWvSX1eu91w11ufPn109OhRHThwQAcOHFDDhg01depU27DslBeX5/PPP68XXnhBa9eutbpl5v1dvHhxeXh4aM+ePVq0aJHVLyoqSh9//LGMMYqPj9eXX35pOy53JSQkpDnI8uWXX1ph386mTZt04sQJHTlyxFq3+/bt08KFC3XixImr1t2tWzdNmzZNn3zyibp37y7p8p2MkpKSrAD/9ttvZ2oeChYsqGbNmun111+3up04cUKS1L59e7366qtWsD516pT++OMP+fv7q1atWvrkk08kSTt37tTq1aszNb2UlBR98MEHWrBggbUd202nRo0a+uyzzyRdvijZbjp33323PvvsMx08eNCalvN87/bt22vKlCk6efKkpMt3Z8rs3YSyGkeYb1JPPPGE5s2bp9jYWEVHR6tQoULW7cZ69uypu+++W3fffbftOCIjIxUZGam33npLixcvtj7A3TVr1iwNHTpU3t7eunTpkurXr5/mYhEnh8Oh+fPna8SIEapatar8/PxUqFAhlSlTRsOGDXM57mrVqumhhx5SlSpVVKRIEbVv397qFxwcrGnTpunee++Vl5eX2rRpk6kje3nJ33//rUGDBqlMmTJq2bKlJMnb21vr1q2TdDnIhoeHq3fv3m6P++DBg+rfv78uXLggLy8vFSxYUD/88IPLu5L06tVLfn5+evTRRxUXF6fg4GD5+PjonXfeyXD8r7zyiv73v//pxRdfVM2aNdWgQQOr38SJE9W1a1dVrlxZt9xyi1q1auV2/TktLi5O999/v86fP698+fIpODhYc+fOtY7EZPQ+NMZoypQpevrpp+Xr66vk5GS1adNGffv2lXT56F7v3r01efJkORwOffjhh9aHcWaVK1dOX3zxhZ544gmdO3dOSUlJqlWrlssjzj169JCvr686deqks2fPysPDQ2XLltW4ceMUHByszz//XI899pguXryowoUL65tvvrE9qlW4cGHNmzdPgwcP1qBBg5ScnKwSJUpo9uzZqlatmkaMGKHGjRurUKFCatOmjQICAq46XG5j977Li8uzTZs2+uijj/TMM8/oyJEjCg4OlpeXl95+++0Mf30cMWKEOnfurBkzZqhs2bJp3sPPP/+8evbsqYoVKyo4OFhNmjRRYmKim0s5Y8eOHdN9992nS5cuyRijMmXKWCFSyvi999FHH+mhhx5Ks48LDAzU7bffrk8//fSqdd9zzz3q06ePbr31VlWqVEmS5O/vr5deekn169dX0aJF9dBDD2V6Pj799FM9+eSTqlKlijw9PXXPPfdozJgxevPNNzV06FDVrFlT+fLl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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax = plot_gam(gam_logit, 2)\n", @@ -1332,12 +2871,92 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 43, "id": "5a6e8754", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:50.639993Z", + "iopub.status.busy": "2023-07-25T23:59:50.639680Z", + "iopub.status.idle": "2023-07-25T23:59:50.659950Z", + "shell.execute_reply": "2023-07-25T23:59:50.659078Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
education1. < HS Grad2. HS Grad3. Some College4. College Grad5. Advanced Degree
high_earn
False268966643663381
True0572245
\n", + "
" + ], + "text/plain": [ + "education 1. < HS Grad 2. HS Grad 3. Some College 4. College Grad \\\n", + "high_earn \n", + "False 268 966 643 663 \n", + "True 0 5 7 22 \n", + "\n", + "education 5. Advanced Degree \n", + "high_earn \n", + "False 381 \n", + "True 45 " + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pd.crosstab(Wage['high_earn'], Wage['education'])\n" ] @@ -1361,9 +2980,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 44, "id": "c92b60be", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:50.664968Z", + "iopub.status.busy": "2023-07-25T23:59:50.664462Z", + "iopub.status.idle": "2023-07-25T23:59:50.672960Z", + "shell.execute_reply": "2023-07-25T23:59:50.672194Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -1389,12 +3014,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 45, "id": "e525e8d0", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:50.678086Z", + "iopub.status.busy": "2023-07-25T23:59:50.677710Z", + "iopub.status.idle": "2023-07-25T23:59:50.738388Z", + "shell.execute_reply": "2023-07-25T23:59:50.737375Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "LogisticGAM(callbacks=[Deviance(), Diffs(), Accuracy()], \n", + " fit_intercept=True, max_iter=100, \n", + " terms=s(0) + s(1) + f(2) + intercept, tol=0.0001, verbose=False)" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "gam_logit_ = LogisticGAM(age_term +\n", " year_term +\n", @@ -1413,10 +3057,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 46, "id": "c3e66cf9", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:50.744284Z", + "iopub.status.busy": "2023-07-25T23:59:50.743537Z", + "iopub.status.idle": "2023-07-25T23:59:50.893111Z", + "shell.execute_reply": "2023-07-25T23:59:50.892009Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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5s+fLz8/v3SHceLECe3du1c7d+60r9DQUEnS9u3b3Y6/efPmGV7MkpP++usv7d+/X7/88outPTg4WJL066+/6uLFix4d3+XLl+28bd++vUqWLJlmd15eXurdu3e6w1m5cqXOnDkjSbr77rvdjrNly5aSpIsXL2rz5s3pdpf84rer3XnnnXa+JN2vPsm3334rSWrVqpX93jOqZd26del2c/vtt6tYsWJpflawYEFVqVJFkvT777+n+CwmJsZeuPbPf/5T+fPnT3MYBQoU0D//+c90x//999/r8uXLyp8/vzp16pT+xOj/T8+RI0d08ODBNLsJDg7WHXfcke4wGjRoICn19EjSd999J0mqWLGiunbt6raWqyV9L9WqVVOtWrXcdps0HVFRUVm+GDZpeQgODlaPHj3S7a5fv36p+slpvXr1SvezpPlujNGBAweyNNyk+uvVq6eaNWum290DDzyQ6WHmVK2S53+jSXKr7b/WNiE2Nta2txm1k9WrV1fRokUluZ92d99TZoWFhUm6cnFjbt0UQ7pykXl0dHSK9V3yu4Zl9J3lhqR589lnn137hZnpSN7uPPTQQ+l217x5c1WvXj1VP1erVauWateuneZnLpdL9erVk5R2254RTyy7nlonekp21mdpye3ttySXLl2yFzu3b99eZcqUSbfb/v37237cPVsnM+2/lPVlKVvPQUhPhQoVdPfdd+upp55Ks2Fes2aN3nnnHS1btkynTp1KdzgZNX7p/bhy0o4dO/Tmm29q4cKFbp8SnZiYqL/++ivdFdO12L9/v230GjVq5Lbb5HeRutqmTZvs/5Ma1MxIb3p9fX1Vp06ddPvz8fFRvXr1tGLFCu3YsSPNWhYvXpzpO864m++33HKL235DQkIkSWfPnk3xfvK6MjNvJ0+enOZnSdPz999/y9s78z+vo0ePqmzZsqner1Kliry80s/x6U3PxYsXtXPnTklSRERElu/mkzQdu3fvznS/Fy9e1KlTp7K0zCfVWL9+fbe3KC1evLjKly+v6Oho209Oc7csJc13KfW8dycuLk779u2TlLLhTkvDhg0zPdycqDWJJ3+jTrT919ombN261d6h5Z577tE999yTqfG5a588sc7q3bu3Vq1apX379qly5crq0aOHbr/9drVo0UKlS5fO9vCT+/PPPzVx4kR99dVX2rt3r9u7VOVmWElP79699dJLL2nt2rWqUKGCevbsqbZt2yoiIiLDcJuRpHbH19dXdevWddtt48aN9dtvv2nv3r1KSEiQr69vqm6udbnMDE8su55aJ3pCdtdnSZzcfkvy+++/2+24xo0bu+02+efu1ns51f577EnKLpdL/v7+Klq0qIKCgtLtZ/To0SlufeaOu9tASleet5Cbpk2bpkGDBmV6L2lG9WdV8hVqRgtu8eLF0/3s+PHj1zT+9PbIhISEKF++fJmq5+qNgmupxd18TW8vR5Kkje3Lly+neP96nbeZnZ6rbzV36tQpuzLPSghM4unpSE/SfM9MQ1yiRAlFR0e73bD0JHfzPnlou3pZcuf06dP2/xltsGRlgyYnak3iqd+oU23/tbYJOfEb8MQ668EHH9T+/fs1YcIEnTlzRjNmzNCMGTMkSZUqVVK3bt30yCOPqGLFitkaz+bNm9WhQwedPHkyU917en13LV544QUdPnxYM2bM0PHjxzV58mS74VqzZk3dddddevjhh9224elJandCQkIy3PlTokQJSVeO2v31119pju9al8vM8MSy66l1oidkd30mOb/9liQr8zVpObq6v6vlVPvv8Scpu7N8+XK7gqhYsaKeeuopRUREqGzZsgoMDLQ/upEjR+qll17KcHgZbZR60q5du+zCVaxYMT399NO67bbbVL58eRUsWNDu/Zw+fbo9/Ohub0t2Zef+7skXki1btmT64VLp7Z3yRC2dOnXShAkTrnk4nuSJ6SlatKhWrFiR6f4qVKhwzePMCUnTUadOHc2ZMyfT/ZUqVeqaxpfd5xUg53jiN3ojtv3J28kpU6aoWbNmmerPXQjwVN1jx47VgAED9PHHH2v58uVav369/v77b+3fv18TJ07Uu+++q3feeUeDBg26puEnJCTon//8p06ePCkfHx/95z//Ubdu3VS1alUVLlzYnjb8+++/q1KlSpJydn2XWT4+Ppo2bZqGDh2quXPn6scff9SmTZuUkJCgX375Rb/88osmTpyoOXPmqFu3btc0jhuhrfL0snsjTLM719v2W5Lrfb7myClG6Zk6daqkKwvh+vXr091Dllt7CLNi5syZunTpkvLly6eVK1eme0gnJ2tP/uM9duyY227dfV6kSBH7/9DQ0Gwflj558qQuX77sduWXVE/yw11JtRw5ckQJCQlZCpue5ul5e/bsWVWvXj1X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c/ny5TT7z82AkN1l1xjPrROz890md63rM09sv509ezZFCHQ3zoy+5wsXLpg777zTbU0lS5Y0W7duTbP/3AgIuXqKkXTlsMlHH32kFi1aqGDBgvLz81O5cuV0//33a+3atXr88cc9Ps5XXnlFU6dOVYsWLTJ1z/70jBw5Ut9//73at2+vwoULy9fXV6VLl1aPHj20ZMkSvf766x6uPG0FCxbUTz/9pHfffVeNGjVSgQIFVLBgQdWtW1fjx4/X2rVrM3XFe8GCBfXVV19p9erV6tevn6pVq6aCBQvK29tbISEhatSokR555BH98MMPWrp0qdthNWzYUFu2bNFjjz2mSpUqyd/fX0WKFFHHjh31ww8/ZHgee5MmTbR37169//77uuOOO1SyZEn5+vrK399fZcqUUfv27TV27Fjt2rUrS0+YzaqSJUtq69atevnll3XrrbcqICBAwcHBatKkid577z0tXLgwUxedlShRQqtWrdJ3332nXr162QuTfHx8FBoaqmbNmmno0KFauXKl2/NZPaF3797av3+/nnvuOTVo0EDBwcHKly+fChcurCZNmmjEiBFatGhRmv1WrVpV27Zt0yeffKK77rpLZcuWVUBAgHx9fRUWFqbWrVvr+eef1+bNmzVy5MhrrnHEiBHaunWr+vfvby/GDwwMVPXq1fX444/n+Pee23x9ffXtt99qxowZioiIUFBQkPLnz6/q1atrxIgR2rx5c4o7kbh7tkxuye5v1Im23xNcLpdGjhypPXv26JlnnlHDhg3teqRgwYKqUaOGevXqpVmzZikmJsbeSCKn7Ny5U6+++qq6dOmiGjVqqEiRIsqXL59tp0aNGqXdu3erY8eOafaf2fVhhw4dtGnTJt13330qWbKkbbtatWqlDz74QMuXL7enfLgzZ84cTZgwQeHh4QoKCnL74MeePXtq7dq1uvPOOxUaGipfX1+VKVNGvXv3VlRUlNunApcrV04bN27U6NGj1b59e1WrVk3BwcHy9vZW0aJF1bJlS7322mvatWtXhg8pdKd9+/bat2+fRowYobp166pQoULy8/NT2bJl1atXL61evVqTJk1yO525xRPLrqfWidn5bpO71vWZJ7bfChQoYNuq6tWrZ/gsC3f8/f01b948ffvtt+rRo4dtTwsXLqzGjRtr/Pjx2r17d4YP5ctJLmOug5sX44bUp08f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FiaXy+VkOQAAAECe52hAWLhwob7//ns1b97cyTIAAAAA/B9Hn4NQuHBhhYRwji8AAABwvXA0ILz00ksaOXKk/v77byfLAAAAAPB/HD3F6I033tD+/ftVvHhxlS9fXj4+Pik+37Jli0OVAQAAAHmTowGhe/fuTo4eAAAAwFUcDQijRo1ycvQAAAAArnJdPCht8+bN+u233yRJNWvWVL169RyuCAAAAMibHA0Ix48f17///W/99NNPCg4OliSdPn1abdq00aeffqrQ0FAnywMAAADyHEfvYvSf//xHZ8+e1S+//KJTp07p1KlT2rlzp2JjY/XYY485WRoAAACQJzl6BGHRokVatmyZqlevbt+rUaOGJk+erPbt2ztYGQAAAJA3OXoEITExMdWtTSXJx8dHiYmJDlQEAAAA5G2OBoTbbrtNjz/+uI4cOWLfO3z4sIYMGaK2bds6WBkAAACQNzkaECZNmqTY2FiVL19elSpVUqVKlVShQgXFxsbq3XffdbI0AAAAIE9y9BqEMmXKaMuWLVq2bJl27dolSapevbratWvnZFkAAABAnuX4cxBcLpduv/123X777U6XAgAAAOR5jp5iBAAAAOD6QkAAAAAAYBEQAAAAAFgEBAAAAACWowEhX758On78eKr3T548qXz58jlQEQAAAJC3ORoQjDFpvh8fHy9fX99crgYAAACAI7c5feeddyRducXphx9+qAIFCtjPLl++rFWrVumWW25xojQAAAAgT3MkILz55puSrhxBeP/991OcTuTr66vy5cvr/fffd6I0AAAAIE9zJCAcOHBAktSmTRvNmzdPhQsXdqIMAAAAAFdx9EnKK1ascHL0AAAAAK7i6EXKd911l1599dVU70+YMEE9e/Z0oCIAAAAgb3M0IKxatUqdO3dO9X6nTp20atUqByoCAAAA8jZHA8K5c+fSvJ2pj4+PYmNjHagIAAAAyNscDQi1atXSZ599lur9Tz/9VDVq1HCgIgAAACBvc/Qi5RdeeEE9evTQ/v37ddttt0mSli9frrlz5+qLL75wsjQAAAAgT3I0IHTp0kXz58/XuHHj9OWXXyogIEC1a9fWsmXL1KpVKydLAwAAAPIkRwOCJN1xxx264447nC4DAAAAgBy+BkGSTp8+rQ8//FAjRozQqVOnJElbtmzR4cOHHa4MAAAAyHscPYLw888/q127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c2fPnlVQUJDTZdxQbppTjDJrx44devzxx7V9+3adP39eYWFh6tixo55//nmVKlUqU8NITEzUkSNHVLBgQblcrhyuOO+JjY1VmTJl9Mcff3BIENnG8gRPY5mCJ7E85RxjjM6ePauSJUvKy+umuew2V+S5gIDrH+cMwpNYnuBpLFPwJJYnXI+IUwAAAAAsAgIAAAAAi4CA646fn59GjRolPz8/p0vBTYDlCZ7GMgVPYnnC9YhrEAAAAABYHEEAAAAAYBEQAAAAAFgEBAAAAAAWAQFuxcXFqXv37qpatarq1Kmj22+/Xfv27ctUv3369NFbb72V4r3Ro0friSeekCRdvHhRjz32mGrWrKk6deqoRo0amjhxYrrD+/TTT9WoUSNVqVJFDRs2VIsWLfTVV19d66Sl8NRTT2n06NEeGVZe0L59e9WuXVt169ZVixYttHXr1kz1t3LlSjVt2lR169ZVjRo11Lx5cx07diyHq03fZ599poYNG6patWpq0KCBunTpoh07drjt56efflLdunUlSdHR0QoODs75QvOYGTNmyOVyaf78+Znu50b8LpcuXaqWLVuqYsWKatiwocLDw/XBBx94ZNiTJk1Snz59PDKs60H58uVVrVo11a1bV3Xr1tVnn32W6X6NMapQoYLatm3rtrsbYZ7dfffdmjlzZpqfuVwu1apVS7Vr11bVqlV1zz336Ndff83dAnHT8Ha6AFz/BgwYoE6dOsnlcmnSpEnq16+ffvrpp2wP9+2339aRI0e0fft2eXt7Ky4uTvv370+z2w8//FCvv/665s2bpxo1akiSdu/erW+//TbN7i9duiRvbxbvnPL555/bjamvv/5affr00fbt2932c+nSJd15551atmyZ6tevL+nKdxgYGJjT5aZpxowZGj9+vObPn2+Xqc2bN+vIkSOqVauWIzXhyob61KlT1aRJk0z3cyN+l0uWLFGfPn305ZdfqlmzZpKkQ4cOaerUqWl2T5t2JQQmBbqsWL58uYKDg/Xzzz/rwIEDqlChgueLu06sXr1awcHBSkxM1AcffKDmzZtry5YtHptmlsO8gyMIcMvf31+dO3eWy+WSJDVp0kTR0dEeGfahQ4dUrFgx29j4+/urZs2aaXY7evRovfXWW3blL0nVqlXT008/Len/7/179tlnVb9+fU2aNEnLly9X06ZNVa9ePdWsWVPTpk2z/cbExKhDhw6qUaOG2rVrp0OHDnlkmvKK5Htaz5w5Y5cPd86ePavY2FiVKFHCvletWjUVKFBAkrRv3z61a9fOHplIvvfY5XJp7Nixaty4scqXL6/58+dr/PjxatiwoapUqZIisC5evFgRERFq0KCBwsPDtWLFijTrGTVqVKplqkGDBurQoYMdTv369VW7dm21atUqU3vioqKidNttt6lhw4aqV6+evvjiC/vZlClTVLVqVdWvX18vvfRSinnmrr+8JDExUf369dO7776bpVs+3ojf5YsvvqiRI0facCBJpUuX1pgxY+zfLpdLo0aNUqNGjTR8+HDt2LFDERERql+/vmrUqKGXX37Zdnv27Fn961//UrVq1RQREZHh0ZO8ZNq0aerfv7/uvfdeTZ8+3b7vbp5VrVpVmzZtsn/PnDlTd955pyRp4sSJatSokerWratGjRpp3bp1trvy5ctr5MiRatq0qSpUqJDiOzp8+LDuvvtuu5f/hRdesHX0799f4eHhql27tgYMGKCEhARJ0q5du9SsWTPVrFlT3bt3V2xsbKam2cvLS4MGDVKHDh303nvvZWo8TZs2Vc2aNdWjRw+1b9/eHqno06ePHnzwQbVs2VK33nqrJOmjjz5S48aNVb9+fbVs2TLFDqLXX39d4eHhql+/vjp27Kj//e9/maoZ1xkDZMF9991nHnvssUx127t3b1OyZElTp04d+ypevLh5/PHHjTHG7Ny505QuXdrccsstpl+/fmbu3Lnm0qVLqYZz7NgxI8mcOnUq3XEdOHDASDKzZs2y7506dcoO7+TJk6Zs2bLmjz/+MMYYc/fdd5vnn3/eGGPMoUOHTNGiRc2oUaMyNV244v777zelS5c2pUuXNj///HOm+nn88cdNgQIFTKdOncyLL75odu/ebT8LDw8377//vjHGmD179piQkBATHR1tjDFGknnrrbeMMcYsW7bMBAYGmhkzZhhjjPn8889Nw4YNjTHG7N+/3zRp0sScOXPGGGPM3r17TYkSJUxcXFyKOjJapo4dO2ZCQkLsdM2ZM8dUr17dJCYmmhUrVpg6deoYY64sd0FBQcYYY/766y9Tt25dc+TIEWOMMSdOnDBlypQxhw4dMjt27DAlSpQwMTExxhhjRo4caZKaX3f95TWvvfaaGTlypDHGmFatWpmvv/46w35u1O8yICDAbNmyxe20STJjxoyxf8fGxtpl+e+//zZ169Y169atM8YY89RTT5n777/fJCYmmtOnT5tbbrnF9O7dO6PZd8MoV66cqVWrlrn11lvNgw8+aI4fP56p/k6ePGmCg4PNX3/9ZbZv325Kly5tLl++bIxxP8/Gjh1rHnnkETucli1bmm+//dYYY1KMe926daZatWop6vzPf/5jjLny/RcqVMh+/61btzbjxo2z3SYNp3///nbdlZiYaB566CEzYcIEY4wxDRs2NB9++KExxpiff/7Z+Pr62rbvapLMX3/9leK9iRMnmk6dOmVqPNOnTzfGGPPrr78aPz8/O57evXub2rVrm9jYWGOMMZGRkaZTp052WVy1apWpUaOGMcaYjz/+2PTr18+ue2fPnm06d+6cZr24vnGcCJk2btw47du3T8uXL890P08//bS95kC6ciTg9OnTkqSaNWtq//79ioyM1Nq1azVq1Ch99NFH+v777zMcbps2bfTnn38qISFBu3fvliT5+Pjovvvus92cPHlSDz30kPbs2SNvb2+dPHlSO3fuVOnSpbV8+XK9/vrrkqRSpUqpa9eumZ4mXDF79mxJ0qxZs/Tss8/qhx9+yLCft956S0OGDNGKFSu0fPly1atXT4sXL1adOnW0ZcsWrVmzRpJUpUoVRUREaPXq1SpXrpwk6V//+pckqWHDhjp//rz+/e9/S5LCw8O1d+9eSdKiRYu0b98+tWzZ0o7Ty8tLBw8eVJUqVTI9bRs2bFCtWrXs6Sm9evXSI488osOHD6fbz9q1a/X777+rU6dOKd7fvXu3du7cqY4dO9qjJ/3799eLL76YYX+lSpXKdM03up07d+qrr77SqlWrPDrcG+W77NWrl3755RcdPXpUe/bsUaFChSRJDz74oO3mwoULevjhh7Vt2zZ5eXnpjz/+0LZt29SkSRMtX75cb775plwul4KCgnTvvfeme8rmjWjVqlUqW7asLl68qOeff169e/fOVJvz8ccfq1OnTgoODlZwcLCKFy+uxYsXq1OnTm7n2QMPPKB69erpjTfe0OHDh7Vnzx77vW7dulVjx47VyZMn5e3trd27d+vChQsKCAiQJN17772SpKJFi6pixYo6cOCAgoKCFBkZqcWLF9vaQkNDJUnz58/XunXr7DV4Fy5cUL58+RQbG6tt27bZ6yJq1aqliIiILM03k+xRVxmN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+fLlaY7j5MmT2r17t55//nm1bdtW1atXtxcvJ/H19ZUke81CWipVqiRfX1+tWbPGvnfx4kVFRUWpRo0abqYSAHC94AgCAFwn4uPjdfTo0RTveXt7q127dqpatap69+6t1157TbGxsXruuedSdFe5cmWVKVNGo0eP1tixY7Vnzx698cYbKboZPny4atWqpYcffliDBg2Sr6+vVqxYoZ49eyokJERFihTRBx98oLCwMB08eFDDhg1L0X+xYsUUEBCgRYsWqXTp0vL39091i9PAwEANHjxYTz/9tEJCQlS2bFlNmDBBf//9tx566CEPzi0AQE7hCAIAXCcWLVqksLCwFK+IiAh5eXnp66+/1oULFxQeHq5+/fpp7NixKfr18fHR3LlztWvXLtWuXVuvvvqqXn755RTdVK1aVUuWLNH27dsVHh6upk2b6ptvvpG3t7e8vLz06aefavPmzbr11ls1ZMgQvfbaayn69/b21jvvvKMpU6aoZMmS6tatW5rT8corr+iuu+7S/fffr/r162vfvn1avHixvWUrAOD65jLJT1gFAAAAkKdxBAEAAACARUAAAAAAYBEQAAAAAFgEBAAAAAAWAQEAAACARUAAAAAAYBEQAAAAAFgEBAAAAAAWAQEAAACARUAAAAAAYBEQAAAAAFj/D5/1g4LUksHRAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax = plot_gam(gam_logit_, 2)\n", @@ -1429,10 +3091,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 47, "id": "fd924348", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:50.897946Z", + "iopub.status.busy": "2023-07-25T23:59:50.897534Z", + "iopub.status.idle": "2023-07-25T23:59:51.054702Z", + "shell.execute_reply": "2023-07-25T23:59:51.054277Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAt0AAALFCAYAAAAfsl8EAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACbOUlEQVR4nOzdd3xT1f/H8XdKB6uDvTfKlr1BUBAQRVDciLgn6ldxgBP33uAegLgHKooge++99xIoKKNlt7T398f5JW1pViE3o309H4/7SJt7b/JJ2ty8c3LuOQ7LsiwBAAAAsE1UqAsAAAAA8jtCNwAAAGAzQjcAAABgM0I3AAAAYDNCNwAAAGAzQjcAAABgM0I3AAAAYDNCNwAAAGAzQjcAAABgM0J3GBk6dKgcDoccDodt99G5c2c5HA517tzZtvuQpG3btrkey4gRI2y9r4Jm2rRprud22rRpoS4H/y8jI0PvvvuuWrVqpYSEBNffqE+fPn7fRqCOAcF4nQfjeAUA+UnEhe7sgeP0pWjRoqpWrZr69Omjb775RqdOnQp1uQAKiOuuu07/+9//tHDhQh0+fDjU5QAAwkzEhW5vjh8/rh07dui3335Tv3791K5dOyUnJ4e0phEjRrg+FGzbti2ktQCwx5w5c/Tjjz9Kki655BJNnDhRK1as0MqVK/Xee++FuDogPAT7/ZBvYxBuokNdwNm4++67dc8997h+P3LkiBYtWqQ333xT27Zt08KFC9W7d2/NmzcvIl50Q4cO1dChQ0NdBoA8mjRpkiSpUKFC+uabb5SQkBDSeuh2BADhJ6JDd9myZdWwYcMc17Vp00b9+vVTq1attGnTJi1YsEB//PGHevXqFaIqAeR3u3btkiSVK1cu5IEbABCe8lX3EqcSJUpoyJAhrt/Hjx8fwmoA5HcnT56UJMXExIS4EgBAuMqXoVuSWrVq5fp5+/btrp+PHj2q77//XrfddpuaNGmixMRExcTEqEyZMurUqZPeeOMNHTlyxOttO/uIObuCTJkyRVdddZWqVKmimJgYVa9e3XXC58033+zar0aNGrlO/sz+NbCv/mdpaWkaO3asBg4cqJYtW6pEiRKKiYlRqVKl1Lp1aw0dOlT//fffGTxbeZeRkaEPPvhArVu3VkJCghITE9WsWTO98cYbrgDir19//VVXXXWVqlatqsKFCyspKUktWrTQs88+q4MHD3rc76abbpLD4VD16tUlmdbGhx56SOeee66KFi2qMmXK6JJLLvH7Q1dKSopefvlltW/fXmXKlFFsbKwqVKigXr166aeffpJlWR73Pf1/YuHChbruuutUuXJlxcXFqVKlSurfv7/Wrl3rs47jx4/rpZdeUuPGjVWsWDGVKlVK7du316effqrMzEy/Hotk/kYjR47UpZdeqooVKyouLk6lSpVShw4d9NZbb+n48eMe9z199Avnc1u7dm0VKVJEpUqVUvfu3fXXX3/5Vcu///6r5557Tu3bt1fZsmUVExOjEiVKqHXr1nr00Ue1YsUKj/ueOHFCw4YNU5cuXVS+fHnFxsaqbNmy6tq1qz7//POAnTC9cuVK3XHHHTrnnHNUtGhRxcfHq0GDBnrwwQc99j91/t1HjhwpyRxrTn+Nn40TJ07o9ddfV7NmzRQfH6/4+Hi1atVKw4YN8/q4/R29ZNSoUerUqZNKlCih4sWLq1GjRnruueeUmpqa4/H50+3tTGvNi7N5jQbr2O9p27M5JkjSkiVLdNddd6lOnToqXry4ihUrpjp16ujuu+/Whg0bPO53ej/qkydP6p133lGbNm1UunRpv/++pxszZoz69Onjejzx8fGqWbOmOnbsqKeeekoLFixwbXsm74eSNG/ePD355JPq3Lmz67WfkJCg+vXr6+6779aaNWu8PuZnn33WdZ27wReyv66rV68uh8Ohm266yevjPv1953QZGRkaMWKEunfv7qo5MTFR55xzjrp06aKXXnrJY93++vfff/Xkk0+qadOmSkpKUuHChVW9enX1799fs2bN8rrv6Y9z/fr1uv3221W9enXFxcWpXLlyuvzyyzVv3rwzrq9Zs2ZyOByqV6+ez23379+vuLg4ORyOHN2Fs4uk171PVoSZOnWqJcmSZD3zzDMet1u3bp1rux49eriu79Spk+t6T0uNGjWstWvXerzt7Pf/+OOP59q/WrVqOer0tkydOtV1u88884zrencGDBjg8/ZKlSplzZo1y2PtzsffqVMnj9v4cvjwYatjx44ea2jWrJm1ZMkS1+9ffvml29s5cOCAdeGFF3p9PGXLlrXmzp3r9fmoVq2atXDhQqts2bIeb+ehhx7y+pgmTZpklSpVymstPXv2tA4fPux2/+z/E8OHD7eio6Pd3kbRokWt6dOne6xjz549Vr169TzW0L17d2vChAlu/3+y2759u9W4cWOvj6d27drW+vXr3e6f/f9k1qxZVunSpT3ezuuvv+71uR09erRVrFgxr7VUq1bN7b7Lli2zqlWr5nXfli1bWsnJyV5r8OWll16yoqKiPN5HXFycNXLkyFz7+fMaz4vsx4Dk5GSrSZMmHm+3V69eVkZGhtvb8fU6T0tLs3r37u3xts855xxr27ZtOf6v7arVX2f7Gg3Wsd/dtmdzTMjIyLAefPBBy+FweKw7Ojra+vjjj93u/+WXX7q2W7hwodu/k7f30tOdOnXKuuqqq3w+l82bN3ftcybvh9nr9rQUKlTIGj58uNfH7G3ZunWrax/ncWbAgAFeH3/2953T+XpvdC59+/b1+/k+3YQJE6yEhASvt3/vvfd6fL1lf5y//PKLVbRoUY/P7XfffXdGNQ4fPtx1O57ev53efffdHP+fp4u0170v+TZ0//jjj67tbrnlFtf17du3txo1amQ98cQT1pgxY6z58+db8+bNs77//nvr2muvdb3x1qlTxzp+/Ljb23bebqNGjVyXX3zxhbVgwQJr+vTp1rvvvmsdOXLEWrlypfXCCy+4tp8wYYK1cuXKHMuRI0dct+srdPfr18+qWbOmNWjQIOv777+35s6day1cuND66aefrLvuusuKjY21JFllypSx9u7d6/Y2AhG6s79Zt2rVyvr222+tRYsWWX/++afrYNyyZUvXNu5C94kTJ6xmzZq5Xtz9+/e3vv32W2vevHnWzJkzrRdffNH1QitRooS1bdu2XLfhPPiVKVPGql69uhUXF2cNHjzYmjFjhjV//nzrvffesypUqOCq45133nH7eGbNmmXFxMRYkqxy5cpZL7zwgjV27Fhr8eLF1tixY60bbrjBdRtXXHGF29twrm/Tpo0VFRVlNW7c2Priiy+shQsXWjNmzLAefPBB1/9W1apVrZMnT+a6jfT0dKt58+au2+rWrZs1ZswYa9GiRdYvv/xide3aNddz6y50//fff1aVKlUsyYTFgQMHWj/++KO1cOFCa+rUqdaQIUNcB9qaNWtahw4dynUbzv+Tc8891ypdurRVtmxZ65VXXrFmzZplLViwwHrrrbespKQk1xv+qlWr3D4vo0aNctVauHBh67777rPGjRtnLVmyxJoxY4Y1bNgwq1u3blaNGjVy7btx40YrMTHRkmQlJCRYQ4YMcT0fEyZMsO69915XkGndurWVlpbmtgZfsr9BlClTxnrjjTesuXPnWrNmzbKGDh3q+sDgcDisP//8M8e+ztex8zVRsWLFXK/xvMh+DGjXrp0VGxtr3X///dbEiROtxYsXW998802OD2UfffSR29vx9Tq/++67XbfRoEED68svv7QWLlxoTZ482Ro4cKBVqFAhq3Xr1l6PtYGq1R+BeI0G69h/+rZnc0ywLMu65557XLd1/vnnW1988YU1bdo0a8GCBdann35qNWjQwLX+t99+y7V/9gB63nnnWQ6Hw7rxxhutP//801q8eLE1ZswYa9y4cX7/Ld5//33X7XXo0MEaMWKENXPmTGvJkiXWxIkTrTfffNO66KKLrFatWrn2OZP3w08//dQqUaKEddNNN1lffPGF6z7++OMP67nnnnM1BDgcDmvy5Mk5ajx48KC1cuXKHP/np9/XypUrcxwzAhG6Bw0a5Lq/Sy+91Pr222+t2bNnW4sXL7b++usv66WXXrLatWtnXXnllX4/39ktXbrU9T4fExNjPfjgg9bUqVOtBQsWWB9//LFVo0YN1/0/+uijbm/D+TibNWtmFS5c2KpRo4Y1bNgwa968edbcuXOtoUOHWoULF3Ydd/ft25fnOg8dOmQVKVLEkmTdcccdXrd1fgg877zzcq2LxNe9L/kydKenp1tt2rRxbTdq1CjXug0bNni9/YkTJ7r+CJ999pnbbbJ/wunSpYt14sQJj7eX/YCX/VO1O75C96ZNm6zMzEyP+69YscIqXry4Jcl68skn3W5ztqH7jz/+cNXYs2dPKz09Pdc2zz77bI7nyF3odn5aTEpKshYtWuT2vrZt2+YKzddff32u9dlb/mNiYty2Fu3atcuqXLmyJckqVqxYrgNIWlqaVb16dUsy34gcPXrUbS2ffPKJ677+/vvvXOuzP96ePXu6fQPN/obzyy+/5Fo/bNgw13pPB6pbbrklx325C93XX3+9601hy5Ytbm9nyZIlrjD5+OOP51qfvXWgWrVq1j///JNrm5kzZ7pa3+6///5c63fv3u0K92XLlvUaQHfs2JHrunbt2lmSrKZNm1r//vuv2/3++usv1+v1k08+8Xj7nuzbt89VY8WKFd3Wkf25qlSpkttw7+2NOC+yHwNiYmLc/n33799vlStXzuMblWV5f50vWbLE9Xdr27atdezYsVzbZG+08Cd0n02tvgTqNRrsY38gjgl///23a72nmo4fP+76xrBatWq5jsmnt/p6uh1/OVtyW7du7fb477R///5c1+Xl/fCff/7x+Le2LBPszjvvPFf4d8fXe2p2gQjdzsYOX6Ha3XPjD2eDS6FChawJEybkWn/gwAGrfv36liQrKirKbWNI9m8OmzdvbqWkpOTaZvTo0a5t3nrrrTOqtX///pYkKzEx0e0xxrKsHN+Iv/322znWRerr3pd8FbqPHDliTZs2zercuXOOwJDXJ6hPnz6uT6ruOG87KirK54EjkKHbH//73/8sSVbDhg3drj/b0N2zZ09LMi2ou3btcrtNRkaG1bBhQ4+h+/Dhw64WzPfff9/r/X3wwQeuN/XsrSCWlTN0Dxw40ONtfP/9967tTu8K4WyJLVy4sM9P9K1atfL4AcB5+4ULF/b4LUNqaqqrleLBBx/Mtd55sCxXrpzHA8zhw4etMmXKeAzdW7dutQoVKmRJssaOHev18Tz66KOusHm67KH7999/93gbzg+3TZs2zbVuyJAhrtv49ddfvdZyuhkzZrj2XbFihddtr776aksyra159eqrr7rux9tXqdnD0Q8//JBrvR2h21uXqMGDB1uSaeXz9k2Fu9f5XXfd5boPT99QWJZlXX755X6H7rOp1ZdAvUb9EchjfyCOCc4w7as7wpo1azwGj+zvQRdeeKHX2/HHOeec47FeX/LyfuiPX3/91XV7//33X671wQ7dzlbZvLR8+mv+/Pmux3LXXXd53G7WrFmu7e65555c67OH7uXLl7u9jczMTKtixYqWJOvyyy8/o3qnT5/uup/Ro0e73ea+++6zJFmxsbG5GlYi9XXvS0SfSPnss8/mOCmiePHi6ty5s+tkjLJly+rXX39VXFycx9v4999/tXHjRq1atcq1lClTRpK0fPlyr/ffvn37vHWgD7CDBw9q8+bNWr16tav2pKQkSdKaNWuUnp4e0PvLyMhwPbfdunVTxYoV3W4XFRWlAQMGeLyd6dOnKyUlRZJ05ZVXer3P888/X5KUnp6uxYsXe9wu+wk6p7v88stdz4tzPGWn33//XZLUqVMn19/dVy1z5871uM1FF12ksmXLul0XHx+vc845R5K0ZcuWHOv27NnjOrnm6quvVtGiRd3eRvHixXX11Vd7vP8///xTGRkZKlq0qC6++GLPD0ZZj2f37t3asWOH222SkpJ0ySWXeLyN5s2bS8r9eCTpjz/+kCTVrFlTl112mddaTuf8u9SpU0eNGjXyuq3zcSxcuDDPJ+w5/x+SkpJ0xRVXeNzutttuy7WP3fr16+dxnfN5tyxLW7duzdPtOutv2rSpGjRo4HG7G2+80e/btKtWKfCvUadgHfvP9JiQmprqOt76Ok7Wq1dPpUuXluT9sXv7O/mrQoUKkqSxY8cG7cR9yZwQt23bthzvd9lHC/L1NwsG53Pz/fff69ixYwG97ezHnVtvvdXjdu3bt3edwOjtWNWoUSOdd955btc5HA41bdpUkvtjuz/OP/98nXvuuZKkL7/8Mtf6tLQ0ffPNN5KkXr16uf5/nSL9de9JRI/T7UmNGjV05ZVX6uGHH3Z7sJs9e7bee+89TZo0SQcOHPB4O74OKJ7+Ye20cuVKvf322/rrr7+8zraZmZmpgwcPejzYn4nNmze7DiQtW7b0um320WNOt2jRItfPzoOUPzw93tjYWDVu3NjjfjExMWratKmmTp2qlStXuq1lwoQJfo804e15r1u3rtd9S5YsKUm5pgnPXpc/z+3w4cPdrnM+nmPHjik62v+Xd3JysqpWrZrr+nPOOUdRUZ4/m3t6POnp6Vq1apUkqUOHDnkexcP5ONavX+/3vunp6Tpw4ECe/uedNTZr1szrcH/lypVT9erVtW3bNtc+dvP2v+R83qXcz703J06c0KZNmyRlhWFPWrRo4fft2lGrUyBfo6E49p/pMWHp0qWu0Yquu+46XXfddX7dn7fjUyDeswYMGKAZM2Zo06ZNql27tq644gpddNFF6tixoypXrnzWt5/df//9p7feeks///yzNm7c6HWUimB+APBkwIABev755zVnzhzVqFFDV111lbp06aIOHTr4DI6+OI87sbGxatKkiddtW7durbVr12rjxo1KS0tTbGxsrm3O9P8yL2699VY99thjmjJlirZv365q1aq51v3+++/av3+/JOmWW27JtW+kv+49iejQnX1GSofDocKFC6t06dJKTEz0uM/QoUNzDCPkjbch1SQzHngwff7557rrrrv8bs3zVX9eZf9n9RVsypUr53Hdvn37zuj+PbUclCxZUoUKFfKrntNfcGdSi7fn1VMLtZMzwGZkZOS4PlyfW38fz+lDGR44cMD1BpmXD1ZOgX4cnjif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xo2TXnvNTEENIHI1b24CuC+HD5vhB5lMp+CYPVt67LHc1y9YYBplIElyWFbkvCpat26tli1batiwYZKkzMxMValSRffdd58GDx6ca/trrrlGR48e1R9//OG6rk2bNmrSpIk++ugjv+4zNTVViYmJSklJUQLTUQPmjfTTT81Xh55OlpSkzp3N7JIVKwatNAAhZlnS9debczcuv1z68ktzLgfyr3//Nefz7NqVe13Zsua8AG+zngZIJOS1iGnpTktL0+LFi9W1a1fXdVFRUeratavmehj3d+7cuTm2l6Tu3bt73F6STp48qdTU1BwLgP937Jh0883SnXd6DtwOh/kqetIkAjdQ0Hz0kQnckjmpukUL08cX+VNmptS/v/vA7XBI334blMAdKSImdP/333/KyMhQuXLlclxfrlw5JScnu90nOTk5T9tL0ssvv6zExETXUqVKlbMvHsgPNm+W2rUzQ4V5Urq09Ndf5qQrf76GBpB/LF6cuyvBpk1mzP4vvwxJSbDZyy9LEya4X/fsszlHvkHkhO5gGTJkiFJSUlzLzp07Q10SEHqnTkk9enhvsWrf3vTz7t49eHUBCA/p6dK117ofreLECemWW6Rbb5WOHw9+bbDHpEnS00+7X3fRRdLjjwe3nggQMaG7dOnSKlSokPbu3Zvj+r1796p8+fJu9ylfvnyetpekuLg4JSQk5FiAAi862swy6XC4X//II9LUqVLlysGtC0B4iImRPvjAfNvlyRdfSG3bmtZvRLaNG6WrrnI/EU7FitLo0Xzb6UbEhO7Y2Fg1b95ckydPdl2XmZmpyZMnq23btm73adu2bY7tJWnixIketwfgRbdu5uvC7BISpF9/ZXQSAKZ1c+lSE6w9Wb7c96hHCH8JCVK9ermvL1TI9Ol3N5MpIid0S9JDDz2kTz/9VCNHjtTatWt199136+jRo7r55pslSTfeeKOGDBni2v6BBx7Q+PHj9eabb2rdunUaOnSoFi1apIEDB4bqIQCR7YknpEsuMT83amT6cPbuHdqaAISPypWl6dOlBx/0vE1qqtS3rzRokPfx/RG+ypUz327edFPO6196yYzNDbciKnRfc801euONN/T000+rSZMmWrZsmcaPH+86WXLHjh3as2ePa/t27drpm2++0SeffKLGjRvrp59+0q+//qqGDRuG6iEAkS0qSvrqK/NmOW+e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0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANgsYkL3gQMH1K9fPyUkJCgpKUm33nqrjhw54nX7++67T3Xq1FGRIkVUtWpV3X///UpJSQli1QAAAEAEhe5+/fpp9erVmjhxov744w/NmDFDd9xxh8ftd+/erd27d+uNN97QqlWrNGLECI0fP1633nprEKsGAAAAJIdlWVaoi/Bl7dq1ql+/vhYuXKgWLVpIksaPH6+ePXvqn3/+UcWKFf26nR9//FE33HCDjh49qujoaL/2SU1NVWJiolJSUpSQkHDGjwEAAAD2iIS8FhEt3XPnzlVSUpIrcEtS165dFRUVpfnz5/t9O84/hLfAffLkSaWmpuZYAAAAgLMREaE7OTlZZcuWzXFddHS0SpYsqeTkZL9u47///tPzzz/vtUuKJL388stKTEx0LVWqVDnjugEAAAApxKF78ODBcjgcXpd169ad9f2kpqbqkksuUf369TV06FCv2w4ZMkQpKSmuZefOnWd9/wAAACjY/OvYbJNBgwbppptu8rpNzZo1Vb58ee3bty/H9adOndKBAwdUvnx5r/sfPnxYPXr0UHx8vMaMGaOYmBiv28fFxSkuLs6v+gEAAAB/hDR0lylTRmXKlPG5Xdu2bXXo0CEtXrxYzZs3lyRNmTJFmZmZat26tcf9UlNT1b17d8XFxen3339X4cKFA1Y7AAAA4K+I6NNdr1499ejRQ7fffrsWLFig2bNna+DAgbr22mtdI5fs2rVLdevW1YIFCySZwN2tWzcdPXpUn3/+uVJTU5WcnKzk5GRlZGSE8uEAAACggAlpS3defP311xo4cKC6dOmiqKgo9e3bV++9955rfXp6utavX69jx45JkpYsWeIa2aR27do5bmvr1q2qXr160GoHAABAwRYR43SHUiSM+wgAAFCQRUJei4juJQAAAEAkI3QDAAAANiN0AwAAADYjdAMAAAA2I3QDAAAANiN0AwAAADYjdAMAAAA2I3QDAAAANiN0AwAA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6TIyd6504EDgbj8uTmrdOmsymrZtpaJFA3f7AACEqzyH7r59+6pVq1Z67LHHclz/2muvaeHChfrxxx8DVhwA+1iWmdhg7tysZelSM252oBQtalqvzz/fLK1bS4ULB+72AQCIFHkO3TNmzNDQoUNzXX/xxRfrzTffDERNAGxw9KgZO3X+fDO6yNy50p49gb2PxETTD/v8801LdrNmEoMaAQBwBqH7yJEjbocGjImJUWqgppEDcFYyMqS1a01XkfnzzbJypbk+kMqXlzp2NMv550sNG0rZzrEGAAD/L8+hu1GjRvr+++/19NNP57j+u+++U/369QNWGAD/WJa0ZYsJ2M5lyZLATUCTXd26UocOWUvNmpLDEfj7AQAgv8lz6H7qqad0xRVXaPPmzbrwwgslSZMnT9a3335Lf27AZpmZ0ubNppuIc1myREpJCfx9xcaaiWjatzf9stu3N1P+AgCAvMtz6O7Vq5d+/fVXvfTSS/rpp59UpEgRnXfeeZo0aZI6depkR41AgXTypLR6tTm5cdkyc7l8uXTkiD33V66cGU3EGbCbNzejjQAAgLPnsDzN6w5JUmpqqhITE5WSkqKEhIRQl4N8yLKk5GQzyczy5WZZsUJaty6wI4lkFx0tNW5sQrZzqV6driIAgMgUCXktzy3dknTo0CH99NNP2rJlix5++GGVLFlSS5YsUbly5VSpUqVA1wjkG4cPS6tWmWXlSrOsWiX995+991utmhmuz7k0ayYVKWLvfQIAgCx5Dt0rVqxQ165dlZiYqG3btum2225TyZIl9csvv2jHjh0aNWqUHXUCEeXIEWnNGtM9xHm5erUZF9tupUubWR6zL+XK2X+/AADAszyH7oceekg33XSTXnvtNcXHx7uu79mzp66//vqAFgeEM8syLdRr1+Zedu4MTg0lS5q+182bm9brFi3oJgIAQDjKc+heuHChPv7441zXV6pUScnJyQEpCggn6elmSL71600/a+flunWBnSLdl4oVpaZNzdKkiQna1aoRsAEAiAR5Dt1xcXFuJ8HZsGGDytg4ntiBAwd03333aezYsYqKilLfvn317rvvqnjx4j73tSxLPXv21Pjx4zVmzBj16dPHtjoRmTIzpV27pI0bzbJhgwnXGzaYwB3oSWW8iY4242Gfd55ZnCG7bNng1QAAAAIrz6H7sssu03PPPacffvhBkuRwOLRjxw499thj6tu3b8ALdOrXr5/27NmjiRMnKj09XTfffLPuuOMOffPNNz73feedd+SgObDAy8yUdu+WNm3KWpwBe/Nm6fjx4NdUsaKZxbFhQzOayHnnSfXqMVQfAAD5TZ6HDExJSdGVV16pRYsW6fDhw6pYsaKSk5PVtm1bjRs3TsWKFQt4kWvXrlX9+vW1cOFCtWjRQpI0fvx49ezZU//8848qVqzocd9ly5bp0ksv1aJFi1ShQoU8t3RHwhA0yJKebk5W3LzZLJs2Zf0cqmAtmb7XDRpkLY0amaBdqlRo6gEAID+JhLyW55buxMRETZw4UbNnz9by5ct15MgRNWvWTF27drWjPknS3LlzlZSU5ArcktS1a1dFRUVp/vz5uvzyy93ud+zYMV1//fUaPny4ypcv79d9nTx5UidPnnT97q4rDUIrNdV0+di8OevS+fP27cHtCnK6cuVMS7VzcYbssmXpew0AQEHmV+guWbKkNmzYoNKlS+uWW27Ru+++q/bt26t9+/Z21ydJSk5OVtnTOrRGR0erZMmSXk/efPDBB9WuXTv17t3b7/t6+eWX9eyzz55xrTh7p05J//xjQvTWreYye8jevz+09UVFSTVrmn7XdetKdepkheySJUNbGwAACE9+he60tDSlpqaqdOnSGjlypF599dUcwwWeqcGDB+vVV1/1us3atWvP6LZ///13TZkyRUuXLs3TfkOGDNFDDz3k+j01NVVVqlQ5oxrgnmWZ4OwM1Fu35vx5+3b7ZmLMi9KlTaA+99yspW5dqVYt+lwDAIC88St0t23bVn369FHz5s1lWZbuv/9+FfEwnd0XX3zh950PGjRIN910k9dtatasqfLly2vfvn05rj916pQOHDjgsdvIlClTtHnzZiUlJeW4vm/fvurYsaOmTZvmdr+4uDjFkajO2rFj0rZt7kP11q1mZsZwkJBgwvQ55+ReaLUGAACB4lfoHj16tN5++21t3rxZkjmZ8sSJE2d952XKlPFrmMG2bdvq0KFDWrx4sZo3by7JhOrMzEy1bt3a7T6DBw/WbbfdluO6Ro0a6e2331avXr3OuvaCLiPDdAHJHqazX+7dG+oKs5QqZVqna9c2yznnZP1cqhR9rQEAgP3yPHpJjRo1tGjRIpUK8rALF198sfbu3auPPvrINWRgixYtXEMG7tq1S126dNGoUaPUqlUrt7fhcDgYvSQPDh3K6k99+rJjhxkpJBw4HFLlyiZY16xpLp0hu1Yt6bQvOwAAQD4TCXktzydSXnDBBYqNjbW7rly+/vprDRw4UF26dHFNjvPee++51qenp2v9+vU6duxY0GuLVM7W6uyjgGQ/afHgwVBXmKVYsaxAXbOmWWrUML9Xr04fawAAEN78aukuXry4VqxYoZo1a6pQoUJKTk62dfbJcBIJn5y8SUszXT6yTwjjHGJv2zazPhxERUlVqmQF6Ro1cobrMmXoBgIAANyLhLwW0hMpERhpaaZ12jmF+caNWQF7xw4zE2M4KF06K0Q7Q7XzskoVKSYm1BUCAADYI88nUjocjoCdSAn/ZWRIO3eaKctPX7ZvD49gXaSI51BdvboUgFEmAQAAIlLEnEgZKsH+uiIlRVq/PmtZt85cbtwoZZsoMyQcDvddQJwhu1w5uoAAAIDgyzfdS7LbunWrHXUUaGlpUrduJlx7mWAzKIoXzxr9I/uJizVqSNWqSSE4hxYAACDi+R26e/bsqW+//VaJiYmSpFdeeUV33XWXa/KZ/fv3q2PHjlqzZo0theZnsbGmRTtYY1uXL581nN7pC+NWAwAABJ7foXvChAk6ma1/w0svvaSrr77aFbpPnTql9evXB7zAgqJOncCG7ipVck4C41xq1jTD7wEAACB4/A7dp3f9zmNXcPhQp440Y0be9qlQwQTr06cxr1XLnNQIAACA8JDnPt2wR9267q8vVswE8rp1TbiuUycrZDMaCAAAQGTwO3Q7HA45Tuvse/rvOHPNmpmTKevWNcHaGbQrVqSPNQAAQKTLU/eSm266SXH/P9/2iRMndNddd6nY/3cQPhnq8ewiXOfOZgEAAED+43foHjBgQI7fb7jhhlzb3HjjjWdfEQAAAJDP+B26v/zySzvrAAAAAPKtqFAXAAAAAOR3hG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmhG4AAADAZoRuAAAAwGaEbgAAAMBmERO6Dxw4oH79+ikhIUFJSUm69dZbdeTIEZ/7zZ07VxdeeKGKFSumhIQEnX/++Tp+/HgQKgYAAACMiAnd/fr10+rVqzVx4kT98ccfmjFjhu644w6v+8ydO1c9evRQt27dtGDBAi1cuFADBw5UVFTEPGwAAADkAw7LsqxQF+HL2rVrVb9+fS1cuFAtWrSQJI0fP149e/bUP//8o4oVK7rdr02bNrrooov0/PPPn/F9p6amKjExUSkpKUpISDjj2wEAAIA9IiGvRUST79y5c5WUlOQK3JLUtWtXRUVFaf78+W732bdvn+bPn6+yZcuqXbt2KleunDp16qRZs2Z5va+TJ08qNTU1xwIAAACcjYgI3cnJySpbtmyO66Kjo1WyZEklJye73WfLli2SpKFDh+r222/X+PHj1axZM3Xp0kUbN270eF8vv/yyEhMTXUuVKlUC90AAAABQIIU0dA8ePFgOh8Prsm7dujO67czMTEnSnXfeqZtvvllNmzbV22+/rTp16uiLL77wuN+QIUOUkpLiWnbu3HlG9w8AAAA4RYfyzgcNGqSbbrrJ6zY1a9ZU+fLltW/fvhzXnzp1SgcOHFD58uXd7lehQgVJUv369XNcX69ePe3YscPj/cXFxSkuLs6P6gEAAAD/hDR0lylTRmXKlPG5Xdu2bXXo0CEtXrxYzZs3lyRNmTJFmZmZat26tdt9qlevrooVK2r9+vU5rt+wYYMuvvjisy8eAAAA8FNE9OmuV6+eevToodtvv10LFizQ7NmzNXDgQF177bWukUt27dqlunXrasGCBZIkh8OhRx55RO+9955++uknbdq0SU899ZTWrVunW2+9NZQPBwAAAAVMSFu68+Lrr7/WwIED1aVLF0VFRalv37567733XOvT09O1fv16HTt2zHXd//73P504cUIPPvigDhw4oMaNG2vixImqVatWKB4CAAAACqiIGKc7lCJh3EcAAICCLBLyWkR0LwEAAAAiGaEbAAAAsBmhGwAAALAZoRsAAACwGaEbAAAAsBmhGwAAALAZoRsAAACwWcRMjgMAABA0x45J//4rpaRIqanmMiVFOnxYiouTEhOlpKSsyxIlzKXDEeLCEa4I3QAAoGDbulWaOlVasyZr2b4977dTpozUpIlZOnSQLrss0JUighG6AQBAwTZ1qnTrrWd/O//+K02caJYVKwjdyIE+3QAAoGCrXz/wt9mkSeBvExGN0A0AAPKfnTult94yiy/16gX+/ps29b3N0aPSunWBv2+EJUI3AADIH44ckT79VGrfXqpaVRo0SHrlFenUKe/7JSZKlSoFthZ/Qvdnn5lW9r59pUWLAnv/CDsOy7KsUBcRzlJTU5WYmKiUlBQlJCSEuhwAAHC6FSukjz+WvvrKjC5yukmTpC5dvN9Gt26mL3apUlKDBiYM16qVNUKJcyleXDp50oxkcuhQ1qgm27dLy5aZJS3NjHgS5aVtMy3N3P4//2Rd16WL9Pjj0oUX5v05KOAiIa9xIiUAAIg8J09KP/wgffihNHeu922//9536P7wQykhwYxAcjYsS9q3z3vglqSvv84ZuCVp8mSz9O4tvf++VKXK2dWCsEJLtw+R8MkJAIACIyXFtGq/8460Z49/+5QsKSUnSzExtpbmt4wM05q+fr3nbYoVk55/XrrvPimaNlJfIiGv0acbAACEv927pcceM321H3vM/8DtcEjnnWdan8PFypW+xwE/elR66CGpZUtpwYLg1AVbEboBAED42rJFuu02qUYN6bXXTF9pf7Rsabpo7N5txuEO9ImSZ6NJE2nbNmnwYNOlxZtly6Q2bUyL9/HjQSgOdqF7iQ+R8HUFAAD5zvbt0gsvSCNG+B59xKlYMalfP+nOO6VmzWwtL2BSUkx/8jfekPbv975t48bSzz+bEzCRQyTkNVq6AQBAeBk+XDrnHDOknj+Bu2FDs8+uXaa/d6QEbsmMiDJ4sBmv++abvW+7fLnUvLn0++/BqQ0BRegGAADhpUkTKT3d93ZdukgTJpghA++5xwTYSFW6tPTFF9L06d4n60lJMaObPP64/98AICwQugEAQHhp317q3t39uqgo6eqrpYULzfjb3bqZkyXzi/PPN/24X3hBiovzvN3LL5vnKJxOEIVXhG4AABB+nn025+/R0dLtt5th9r7/XmrRIjR1BUNsrPTEE6Y7ScOGnrebMsU8D0wlHxEI3QAAIHgsy8zk6Evr1lLPnlKhQtKtt0obNkiffCLVrm17iWGjTh1p3jzphhs8b7Nzp+n7jrDHaOsAACA4Fi40Y0/HxJiZF311C3n7bdOdpCAF7dMVKyaNGiW1ayc98EDuvu5XXim9+mpoakOe0NINAADstXOn1L+/1KqVNGuWGTfbnxE4zj23YAduJ4dDuvtu89xlnxr+oouk0aPNtwEIe4RuAABgjyNHpKefNt0kRo/Oue6RR6S0tNDUFalatZKWLJE6dDDdb375xfvJlggrhG4AABBYmZkmZNepIz3/vPuZFDduNJPCIG9KlzbDJI4bJxUvHupqkAeEbgAAEDgLFpgh//r3N1Owe/PFFyagI2+KFpVKlgx1FcgjQjcAADh7e/aYGRVbtzYjbnhTtKj03HPS3LnmREnYIzNTWro01FXg//GfDgAAztzJk9Jrr5mTHkeM8L6tw2GC+caN0lNPmfANe5w6ZYZabN1a+vvvUFcDEboBAMCZGjdOatRIeuwxc9KkN+efLy1ebLqUVKwYnPoKqhMnpKuuMh+C0tOlyy833yogpAjdAAAgbzZskC65xCwbN3rftlo16ccfpWnTpKZNg1JegXb4sPm7/Ppr1nXHjpmJhlasCFlZIHQDAAB/HT5sWrUbNjSt3N4ULWpGLlm71kzg4msiHATGl1+a6eFPd+iQ1L27tHlz0EuCQegGAAD+WbTI9N8+fVbE011/vbR+vfTkk1KRIsGpDcZ995l+8+4kJ0uXXiqlpAS3JkgidAMAAH9dcIHUt6/n9c2amVkTv/5aqlw5eHUhi8MhffKJ6cftzrp15kNRRkZw6wKhGwAA5MEbb0iFC+e8rnRpE/ScY3QjtKKjpW++kS680P36ceOkJ54Ibk0gdAMAgDyoXl169FHzc6FC0gMPmBMrb7/d/I7wULiwOZmyWTP361991XwjgaAhdAMAAMmypKlT/Zsh8rHHpBtukJYvl955RypRwvbycAbi403wLlfO/fpbb5UWLgxqSQUZoRsAgIJu3TozpNyFF0ojR/revmhR6auvpAYN7K8NZ6dKFWnMGCk2Nve6kyelPn2k3buDXlZBROgGAKCgOnBA+t//zAQ348eb64YMkVJTQ1oWAqxtW+mjj9yv273bnHR54kRwayqACN0AABQ06enS++9L55wjvfuumTLcae9e6cUXQ1cb7HHzzdKDD7pft2CBNGhQcOspgAjdAAAUJH/9JZ13nnT//aal25233/Y90yQiz2uvmQly3PngA+nnn4NbTwFD6AYAoCBYtUrq0cP03V63zvu2JUpI27YFpSwEUXS09N130rnnul9/66383W1E6AYAID/bu1e6806pcWNpwgTv20ZHSw89ZIYAvOii4NSH4EpKkn77TSpWLPe6lBTpuut8zziKM0LoBgAgPzp+3PTNrl3bTFzjayjAyy6TVq+W3nxTSkwMTo0Ijbp1peHD3a+bN0/6/PPg1lNAELoBAMhPMjPNcH516khPPikdOeJ9+4YNpYkTTeunp24HyH9uvNGMtZ5dVJQ0dKiZ6AgBR+gGACC/mDhRat7cBKqdO71vW7q0GUZu6VKpa9fg1Ifw4XCYkyfPOcf8XrGiNGWK9MwzzCxqE0I3AACRzrLMWMvduknLlnnfNjbWTOO+aZPp6x0dHZQSEYbi46Xvv5euuMLMLtqpU6grytd4pQEAEOkcDtOdxJdrrpFeflmqUcP+mhAZmjZlqMAgIXQj/Pz3n/Tvv9LBg2YM2SNHpCJFpOLFzdnWzssSJcxZ2AAAafBg6dNP3Y+93aaN9NZbZmZCACFB6Eb4uewyae5c/7YtUcL0R8u+NGhgTgyiTxqAgiQpSXrqqZyzDtaqJb30knTVVaY1HEDIELoRHJZlZjfz58z4kiX9v92DB830tQsW5Lw+Pt606HToILVvb34uUiRvNQNAuEhLk06ckBISvG93993Se+9JqanmhLg77zR9uAGEHCdSwj6ZmdKcOdLDD0s1a0r16pluI76UKHH29334sPT339LTT0tdukhLlpz9bQJAsGVkSKNGmXGVn3zS9/ZxcdIvv0ibN0v33UfgRmBs3mxmM92wIdSVRDRCNwIvJUV69VWpWjXTyvzmm2Za2cxM6ddffe+fl5Zuf8TFSS1aBPY2AcBOmZnSTz9JjRpJAwZIW7dKH38sbd/ue98mTZjcBoGRmWkm0TnvPDOb6U03mQ+COCOEbgTO7t1mGKoqVcwJPf/8k3sbf86QDkRLd3YtWpjg7cuWLYG9XwDIK8uSxo2TWrY0/bDXrs1al5YmPfdc6GpDwbJtmxm/feBA6dgxc93cudI774SyqohGn26cvfXrpddfNzOgpaV533byZNMP21uwvuQSqVw5s03Jkma0khMnpKNHzXLkiFn++ceMM7txo/nq6+RJ97fXoYPvx7B5s5kquWlTM6nE9ddLZcv63g8AAsGyTJe4Z56R5s/3vN3IkdJjjzFzJOz3/vvS1Km5r3/iCfM+Xbdu8GuKcA7LsqxQFxHOUlNTlZiYqJSUFCX4OoGloElJMX2mhw0zX0H5a+RIE2wDKSPDhPBVq0w/8tmzzRvXiRPS779LvXp53//ZZ83Ut06FCkl9+kj33CNdcAFn/QOwh2VJkyaZsO3vqE2PPSa98oq9dQFHj0qNG5tGqdO1aWPeZ6PCp8NEJOQ1QrcPkfBHDDrLkr77TnroISk52b994uNN8O3b15yMUbSovTVKptV96VKpfn1z/55Ylmnl9tS9pG5dE75vvJF+kgACw7LMN3/PPivNmuXfPnXqSM8/b46jYRR2kI/NnGlmqXQXFT/6yIyOEyYiIa8Run2IhD9iUK1dK917r/uvnNzp0kW6/36pe3f/+lWHwqxZUseOvrcrVky64Qbpf//jazUAZ8bZjeS558y3cv6oVs18E3fDDUzZjuB76CHp7bdzX5+UJK1bZ7qDhoFIyGt8VIZ/0tPNpAuNG/sO3FFR0tVXSwsXmq9NL7ssfAO3JI0e7d92R4+a0QPq1TOt9tOnu//0DwCnsyzpzz/N1/I9evgXuCtWNP1q1683o0YQuBEKL7xgJlk63aFDJpDDb4Ru+LZzp/l66YUXTPj2JDZWuusu8wbx/feRM0zfa69Jn39uHqO//vhD6tzZjDDw3XfSqVO2lQcggmVmmlGbWrSQLr0090Re7pQrZ0aI2LTJjBwRzo0WyP+KFpU++MD9um++kSZODG49EYzuJT5EwtcVtjpxwvR33rXL+3bdupkTKs85Jzh12WXbNumzz6RPP5X27fN/v2rVpEcekW65hZkvAWTJzDRjHK9e7XvbMmXMcKt33RWc816AvLjuOtPIdLrataWVK6XChYNfUzaRkNdo6YZ3hQubbiWeVKok/fijNH585AduSape3bTo79wpffutf8MNSmbCioEDzf6vvmq6ogBAVJQ0ZIj3bcqWNd+4bd1qvq4ncCMcvfWW5C7Mbtokvfxy8OuJQLR0+xAJn5xsZ1lSv34mhDoVKmROKHzmGe8jg+QHK1aYGblGjTIt/74kJpoQzkgnACTT/ezcc02ozq58eTP83x13ELQRGT74wAymcLrYWPNeWadO8Gv6f5GQ12jphm8OhzmB0Pliql3b9Et84438H7gl89Xwxx9LO3aYEQTKlPG+/b33EriBguKff3yfUB0dbcK1U6VK5gTJLVtM4wWBG5HizjulVq1yX5+WZrpF0Y7rFaEb/omPN91I+veXFi+WmjULdUXBV6aMadnfvt2EcHczwhUpIj3wQPBrAxBcS5aYbwCrV5emTfO9/YABprvaxx+byUYGDuT8D0SeQoXM/7C7ceKnTfN/NLACiu4lPkTC1xUIkcxMM9vlyy9njUhw333Se+/53vfw4YLxLQGQn2RmmmH/3norZ9Du0UP666+QlQUEnaexu8uXlzZsCMn7WyTkNVq6IX3xhfmKFHkTFWWmip83z4xH3q2b9PDDvvf791+pShXpttvcT68LILwcOyZ9+KGZFOuyy3K3bI8fb/qzAgXFc89JlSvnvj45WXrppeDXEyEI3QWZZUlPPindeqt08cXSwYOhrigyORxm5s0JE6SqVX1v/9ZbUkqKGRu8Th3ztfOGDfbXCSBvtm83fbErV5buuUfauNHztq+9Fry6gFArXlx691336956iwYlDwjdBZVlmRP+XnzR/L5qldS7t3T8eGjryu/27zfjmTtlZJhRUerVM/1D16wJXW0AzLFx+nSpb1+pZk0Tpv1pkPj5ZxouULBcfrlpcDpdWpr0ySfBrycCELoLIssy3SA+/DDn9TNnmuCXkRGaugqCd96RjhzJfX1mppnZq2FD6corpWXLgl0ZULAdPWomxmra1Mw2+8sv5nXpS3y89OCDZibeEiVsLxMIGw6HeU/LflJl+fLSyJGM2+0BobsgeuYZ8/WPO2PGSJMnB7eeguLkydwfdE5nWabFrGlTqVcv/6aMBnDm1q83w/ZVqiTdfru0fLl/+1WtKr35pplI6623/OtaBuQ3DRtKd99txukePNh0lbzxRvejm4DRS3yJhLNh8+TVV80Lw53oaHNSZf/+wa2pINm6VXrlFenLL6X0dP/26drV/M0uvNC0LAA4e3/9ZcLypEl5269VK2nQIOmKK8wxEyjoDhwwXatq1QppGZGQ1/goUpAMG+Y9cP/yC4HbbjVqmDFON20yJ2bFxvreZ9IkE7zbtDHfRPjzlTcA7yZM8D9wR0dL114rzZ5tRiu6+moCN+BUsmTIA3ekIHQXFF98YcaQdicqyvQn7tUruDUVZFWrmqnlt2yR7r9fKlzY9z4LFpjWtQYNpBEjzMkqAM7M7bf73qZMGTPC07Zt0rffSu3a8W0TgDNG6C4IfvnFjAntyZdfSlddFbx6kKVSJTPs0rZt0qOPmmGYfFm3Trr5ZtNq/tVXtpcI5EsNGkjt27tf17y5OS7u2CE9/7x5nQLAWSJ053eLFkk33GBO0HPnww/NSQ8IrXLlTH/7bdukp5+WEhN977N7N11NgOxSUsxQZe3amRMcfbnjjqyf4+Kkm24y3ygtWmR+9ucbKADwEydS+hAJHfM92rXLnPSze7f79W++aaZyRfhJSTEfiN5+W9q3z/02FSqYkO5Pv3Agvzp1yoy4NGqUOefBOdfA88+briHeHD8udexo+mvffLNUqpT99QKwRSTkNUK3D5HwR3Tr6FHzZrJ0qfv1zz0nPfVUcGtC3h0/bvpvv/aaCdjZvfSSNGRIKKoCQm/5ctO96uuvzdTTp6tZ08wgydBlQIEQCXmNo1F+lJlpupR4Ctz33OO7BQjhoUgRMwbqxo3S6NFmTFRJKlZMuvNO3/tPmmT6im/dam+dQDBs22aG3DzvPKlJE/NtnbvALZmTlGfODGZ1AOAVLd0+RMInp1wGDzb9g93p1k3680+Gu4pUliX9/bcJ0Xfd5Xv7iy+Wxo83P190kRmxoXdvuqQgcuzdK/3wgxk9ZO7cvO17441mdjwA+V4k5DWSV37z5ZeeA3e9eubNi8AduRwOqXt3/7bdsCErcEvSxIlmKVPGnCR2223SuefaUiZwVvbtM/2zf/xRmjr1zE4YbtVKuuCCwNcGAGeIlm4fIuGTk8vy5VLLlu5nOixVypyVX7Nm8OtCaPzvf2Y4Qm/atzetgVdfLSUlBaMqwL1Dh8x8AT/9JE2ffmZBu0IFqV8/acCArK5YAAqESMhrhG4fIuGP6HLqlPTMM+YEu+xiY83Z/R06hKYuBN+RI2Zs4dRU/7aPizPdTm680XRBiomxtz7gdNu3S9Wr532/okXNpFH9+0tdukiFCgW8NADhLxLyGidS5ifR0dKLL0rjxplpWZ0+/ZTAXdCkpko9e/rflejkSdP16NJLTVi/+27ztX5Ghr11Ak7Vqplv6vxRqJD5cDhihOnz/dVX5ncCN4AwRku3D5HwycmtnTula66ROnWSXn451NUgVPbtMyeSffKJtGlT3vcvV0668krT/aRDB4ZfQ96lpppzCWrXlho39r7t66+b0XY8ad9euu46M4Nu2bKBrRNARIuEvEbo9iES/ogepaebkETrDyzL9JP95BPp55+ltLS838all0pjxwa+NuQvliWtXGlG2Rk3zgzbd+qUdO+90rBh3vfdujX3eSctW5oPftdcY1rDAcCNSMhrDGORn9EvF04Oh9S5s1n275e++860gC9c6P9tnH++XdUh0iUnm9bsv/82l3v35t7mzz+l9983/4ue1KghtWhhukVdeaXUt++Z9fMGgDBES7cPkfDJCThja9ea/rBffSX984/3bdev9z3E4Pr1pqWSD3z523//mW9Opk6Vpk2TVq/2b7/Vq6X69b1vc/y4mRQKAPIgEvIaoduHSPgjAmctM9OEp++/N91P9u/Pub5uXRPQfd1G+fLSiROmRf2CC8xl48b0BY90//wjzZ5tlmnTTPeRM/Haa9IjjwS0NACQIiOv0b0kEs2da4YG/OwzqWrVUFeD/CAqSrrwQrMMG2ZaML//XvrlFzN+cu/evm9j2TLp33/Nz2PHZvX/LlHCdE3p3NmcjNm4MS3hkWDRIumtt0zQ3rEjMLeZl+5MAJDP0NLtQ9h9cjp6VGrSxIxEkZBg+kj27++9nyRwptLSzBjvtWtL55zjfduXXpKeeML3bRYpYvrttm2btZQrF5h6EThTp5oPYWejUCGpXTvpkkvM0qABxyoAtgi7vOYGoduHsPsj3nOP9OGHOa+74grpo4/M9N5AqHTqJM2YcWb7VqokNWuWc6lUiYAWSMeOmW4hy5dLK1ZI77zjfRz3o0elxMS8j9V+zjlmzOxu3cy3G+Fw3ASQ74VdXnOD0O1DWP0Rx4+XLr7Y/bo33pAGDQpuPYBTSopUurQZGi5QypWTdu1iyMu8OnTInNC6Zo3ph79mjVm2bTPD+TmtWSPVq+f9tlq2NN1MvKlQIasP/0UXMdoIgJAIq7zmAX26I8WBA9Itt7hf17at9MADwa0HyK5YMWnSJGnCBNMdZfHis5/NskQJ34F7xw7Tul6rljm/oUKF/H/SZnq6tHu3eezbtkmbN5vuZs7l9JNgPVm2zHfobt8+d+guX958q+E8Ufbcc/lGAgD8QOiOFPfcI+3Zk/v6okWlUaP8n+4bsEN0tAlinTqZ31NTpVmzzEgX06aZEJ6ZmbfbbNDA9zbTpkkDBmT9HhMjVa5sAnjVqlLFiiYkli9vWs6dl0lJkRXOd+6Urr3WBO3du/P+XLqzfLmZ3dGbjh3Nh6kOHUwAb9/ejKVNyAaAPCOpRYLvvjMjSbjz5pvmJDcgnCQkSD17mkUyIXz+fDPyzty50rx5phuEN/6E7tOntk9PN7Mabt3qfT+HwwTvEiXMUrKk+b1UqdznTJxu//6cfdctK6vbRkaGdPKkOQE1++XRo9KRI2Y5fNhcpqZKBw+ab7EWLjSt9J7Ex0tz5nivK6+WLfO9Td++ZgEAnDVCd7jbtcu0crvTo4d0553BrQc4EwkJpr/vRReZ3zMzTb/jefOkJUvMsmyZOdnP6UxCt78sywTegwdzXl+6tO/QvXatOXk5kPbv9x66ExNN8D58OLD3CQAIGkJ3OLMs6Y47cgcDybTOff45X/MiMkVFmf7E9epJN99srsvIkDZsyArgLVv6vp2NGwNbV/HivrdJTw/sfUqmtdsbh8N0l/F35sfskpLMB5h69cxskE2amLHSS5Y8k0oBAGeI0B3Ovv9eGjfO/boPPzT9VYH8olChrCDer5/v7S0r8KG7WDHf26SlBfY+Jd+hW/IeuuPizMmktWubpVatrOeyXDk+nANAGCB0h6sDBzyPSHLdddI11wS3HiAcrVplgvf27eYkw9OX48fzdnv+hO5QtHRLZpIZZ4t39qV6dTOmeSSdGAoABRChO1w9/LC0b1/u68uVM9N0AwWdw2FGKqlc2f16yzJ9oPfulZKTsy737cs6gdHZr/vAAXNiY9myvu/3bEJ3kSKmC0t8vLl0nsRZqZLvfZ988szvFwAQcoTucDRlivTll+7XvfcefTEBfzgc5gTOhATfU9jnRceOZqhChyOr24bzZ4fDdPWIi5NiY7MunWGboT0BoMDiHSDcHD9uTp5059JLpauuCm49AHIqXTprPHIAAPxEJ8Bw8/zzZoa50xUvLn3wASdEAQAARCBCdzhZsUJ6/XX36158UapSJbj1AAAAICAI3eEiI0O67Tbp1Knc61q3lu69N/g1AQAAICAI3eEiNdVMQX266Gjp00/NGMYAAACISITucFGihJkI5+uvpTJlsq5/9FGpUaPQ1QUAAICzRugOJw6HdP310tq10oAB0rnnSk89FeqqAAAAcJYYMjAclSoljRhhJvYoXDjU1QAAAOAs0dIdzuLjQ10BAAAAAoDQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYLGJC94EDB9SvXz8lJCQoKSlJt956q44cOeJ1n+TkZPXv31/ly5dXsWLF1KxZM/38889BqhgAAAAwIiZ09+vXT6tXr9bEiRP1xx9/aMaMGbrjjju87nPjjTdq/fr1+v3337Vy5UpdccUVuvrqq7V06dIgVQ0AAABIDsuyrFAX4cvatWtVv359LVy4UC1atJAkjR8/Xj179tQ///yjihUrut2vePHi+vDDD9W/f3/XdaVKldKrr76q2267za/7Tk1NVWJiolJSUpSQkHD2DwYAAAABFQl5LSJauufOnaukpCRX4Jakrl27KioqSvPnz/e4X7t27fT999/rwIEDyszM1HfffacTJ06oc+fOHvc5efKkUlNTcywAAADA2YiI0J2cnKyyZcvmuC46OlolS5ZUcnKyx/1++OEHpaenq1SpUoqLi9Odd96pMWPGqHbt2h73efnll5WYmOhaqlSpErDHAQAAgIIppKF78ODBcjgcXpd169ad8e0/9dRTOnTokCZNmqRFixbpoYce0tVXX62VK1d63GfIkCFKSUlxLTt37jzj+wcAAAAkKTqUdz5o0CDddNNNXrepWbOmypcvr3379uW4/tSpUzpw4IDKly/vdr/Nmzdr2LBhWrVqlRo0aCBJaty4sWbO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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax = plot_gam(gam_logit_, 1)\n", @@ -1444,12 +3124,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 48, "id": "2d3ec90a", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:51.056652Z", + "iopub.status.busy": "2023-07-25T23:59:51.056495Z", + "iopub.status.idle": "2023-07-25T23:59:51.177538Z", + "shell.execute_reply": "2023-07-25T23:59:51.177183Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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mzdvhoeHh4pRvcMEm4iIAEjVncWLF2Pbtm04d+4cHj9+jBcvXsDHxwf58uVDw4YN0a9fP4PbihMRWdvnn38OX19f7NixAzdu3MDjx4/x+vVrpE+fHiVLlkSLFi3w2Wef2WRL+DisIkJEREREZEEcwTYiNjYW9+/fh7e3t3aLTyIiIiKyH4qi4OXLl8iaNavN630DTLCNun//PnLkyGHrMIiIiIjIiLt37yJ79uy2DoMJtjHe3t4A5Afm4+Nj42iIiIiI6H1hYWHIkSOHNm+zNSbYRsRNC/Hx8WGCTURERGTH7GU6r+0nqRAREREROREm2EREREREFsQEm4iIiIjIgphgExERERFZEBNsIiIiIiILYoJNRERERGRBTLCJiIiIiCyICTYRERERkQUxwSYiIiIisiAm2EREREREFsQEm4iIiIjIgphgExERERFZEBNsIiIiIiILYoJNRERERGRBTLCJiIiIiCyICTYRERERkQUxwSYiIiIisiAm2EREREREFsQEm4iIiIjIgphgExERERFZEBNsIiIiIiILYoJNRERERGRBTLCJiIiIiCyICTYRERERJU9MDHDhgq2jsBtMsImIiIgo6a5dAz74AKhWDbh719bR2AUm2ERERERkvthYYNo0oFQp4OhRICwM6NYNUBRbR2ZzTLCJiIiIyDy3bgF16gBffAG8efPu/h07gLlzbReXnWCCTURERESmURRg9mygeHFg3z7dfYYMkQQ8BWOCTURERETG3b0LNGgA9O4NvHqlv19AAPD8uXpx2SEm2ERERESkn6IACxcCxYoBO3ca7tuvH3DuHFCmjDqx2alUtg6AiIiIiOzU/ftA9+7Ali2G++XMCSxaBNSurU5cdo4j2ERERESUkKIAv/8OFC1qPLnu3l1qYDO51uIINhERERG9ExIC9OwJ/P234X7ZsgHz5wMNG6oTlwPhCDYRERERyaj1ypUyam0sue7cGbh4kcm1HhzBJiIiIkrpHj4E+vQB1q413M/fX+pcf/SROnE5KI5gExEREaV0R48aT67btQMuXWJybQIm2EREREQpXfPmwKef6m7LlAn46y/gjz+ADBlUDctRMcEmIiIiImD6dJkCEt8nn8iodcuWtonJQTHBJiIiIiIZnZ4zR/6fMSOwejWwapWMYJNZuMiRiIiIiESzZjKS/cknQObMto7GYXEEm4iI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oLKyMtcxKSkp2rp1qzZs2KCsrCydPXtWw4cP92Jq39O6dWstWrRIOTk5OnDggB5//HENHTpUn3/+uSTmuKZkZ2drxYoV6ty5s9t+5ts6DzzwgM6dO+fadu/e7Rpjnq1z8eJF9e7dW/Xq1dNHH32kI0eO6JVXXlHTpk1dx7z00ktaunSpli9frn379qlhw4YaOHCgrl275sXkvic7O9vtms7MzJQkjRw5UhLXtZUWL16s9PR0LVu2TF988YUWL16sl156Sa+//rrrmIC9rg38yoULF4wkk5WVZYwxpri42NSrV89s2LDBdcwXX3xhJJm9e/d6K6ZfaNq0qXnrrbeY4xpy6dIlc++995rMzEzz6KOPmunTpxtjuKatNH/+fNOlSxePY8yztebMmWN++tOf3nTc6XSayMhIs2TJEte+4uJiExISYt577z07Ivqt6dOnm/bt2xun08l1bbEhQ4aYCRMmuO0bPny4GTNmjDEmsK9r7mD7mZKSEklSs2bNJEk5OTm6fv26+vfv7zomPj5esbGx2rt3r1cy+rrKykq9//77KisrU0JCAnNcQ5KTkzVkyBC3eZW4pq12/PhxRUdHq127dhozZoxOnToliXm22pYtW9S9e3eNHDlSLVu2VNeuXfXmm2+6xgsLC1VUVOQ232FhYerZsyfzfRcqKir09ttva8KECXI4HFzXFuvVq5e2b9+uY8eOSZIOHjyo3bt3a/DgwZIC+7oO8nYAWMfpdGrGjBnq3bu3HnzwQUlSUVGRgoODFR4e7nZsq1atVFRU5IWUvuvQoUNKSEjQtWvX1KhRI23evFn333+/cnNzmWOLvf/++/r73/+u7OzsamNc09bp2bOn1qxZo7i4OJ07d04LFixQnz59dPjwYebZYl9++aXS09M1c+ZMPf3008rOzta0adMUHByscePGuea0VatWbucx33fnww8/VHFxscaPHy+Jvz+slpqaqtLSUsXHx6tu3bqqrKxUWlqaxowZI0kBfV1TsP1IcnKyDh8+7PYMJawTFxen3NxclZSUaOPGjRo3bpyysrK8HcvvnD59WtOnT1dmZqbq16/v7Th+7bu7TJLUuXNn9ezZU23atNH69esVGhrqxWT+x+l0qnv37vrDH/4gSeratasOHz6s5cuXa9y4cV5O578yMjI0ePBgRUdHezuKX1q/fr3eeecdvfvuu3rg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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax = plot_gam(gam_logit_, 0)\n", @@ -1475,10 +3172,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 49, "id": "4f2bc0eb", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:51.179519Z", + "iopub.status.busy": "2023-07-25T23:59:51.179374Z", + "iopub.status.idle": "2023-07-25T23:59:51.330925Z", + "shell.execute_reply": "2023-07-25T23:59:51.330552Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "lowess = sm.nonparametric.lowess\n", "fig, ax = subplots(figsize=(8,8))\n", @@ -1503,6 +3218,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,Rmd", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch8-baggboost-lab.ipynb b/docs/source/labs/Ch8-baggboost-lab.ipynb index 6054a2c..2fb8cfa 100644 --- a/docs/source/labs/Ch8-baggboost-lab.ipynb +++ b/docs/source/labs/Ch8-baggboost-lab.ipynb @@ -21,9 +21,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "4cc7120f", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:52.562040Z", + "iopub.status.busy": "2023-07-25T23:59:52.561717Z", + "iopub.status.idle": "2023-07-25T23:59:53.673192Z", + "shell.execute_reply": "2023-07-25T23:59:53.672771Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -48,9 +54,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "864fa15e", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:53.675446Z", + "iopub.status.busy": "2023-07-25T23:59:53.675242Z", + "iopub.status.idle": "2023-07-25T23:59:53.720701Z", + "shell.execute_reply": "2023-07-25T23:59:53.720361Z" + }, "lines_to_next_cell": 2 }, "outputs": [], @@ -90,9 +102,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "bfb4c83b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:53.722793Z", + "iopub.status.busy": "2023-07-25T23:59:53.722661Z", + "iopub.status.idle": "2023-07-25T23:59:53.727612Z", + "shell.execute_reply": "2023-07-25T23:59:53.727266Z" + } + }, "outputs": [], "source": [ "Carseats = load_data('Carseats')\n", @@ -114,9 +133,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "5d9e7a14", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:53.729444Z", + "iopub.status.busy": "2023-07-25T23:59:53.729340Z", + "iopub.status.idle": "2023-07-25T23:59:53.738990Z", + "shell.execute_reply": "2023-07-25T23:59:53.738679Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -143,12 +168,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "970c4515", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:53.740700Z", + "iopub.status.busy": "2023-07-25T23:59:53.740605Z", + "iopub.status.idle": "2023-07-25T23:59:53.745991Z", + "shell.execute_reply": "2023-07-25T23:59:53.745690Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
DecisionTreeClassifier(criterion='entropy', max_depth=3, random_state=0)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "DecisionTreeClassifier(criterion='entropy', max_depth=3, random_state=0)" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "clf = DTC(criterion='entropy',\n", " max_depth=3,\n", @@ -175,12 +220,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "2d9a51dc", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:53.747622Z", + "iopub.status.busy": "2023-07-25T23:59:53.747497Z", + "iopub.status.idle": "2023-07-25T23:59:53.750600Z", + "shell.execute_reply": "2023-07-25T23:59:53.750316Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0.79" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "accuracy_score(High, clf.predict(X))\n" ] @@ -205,10 +267,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "cbc04b67", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:53.752228Z", + "iopub.status.busy": "2023-07-25T23:59:53.752135Z", + "iopub.status.idle": "2023-07-25T23:59:53.755654Z", + "shell.execute_reply": "2023-07-25T23:59:53.755371Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0.4710647062649358" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "resid_dev = np.sum(log_loss(High, clf.predict_proba(X)))\n", "resid_dev\n" @@ -230,12 +310,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "809830c7", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:53.757328Z", + "iopub.status.busy": "2023-07-25T23:59:53.757207Z", + "iopub.status.idle": "2023-07-25T23:59:54.066251Z", + "shell.execute_reply": "2023-07-25T23:59:54.065834Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7YAAAOwCAYAAAAKo+iFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAADm/klEQVR4nOzdd3jN9///8cc5IYhNOlSrw6itqBWJnISQWLF3q1a1KEqtqtWhVD+0SlWpWTP2SIiRY6vae1NKldSoLXLO7w+/nG9TVJDkfcb9dl2uq858nFMnzzxer3Pex2S32+0CAAAAAMBFmY0OAAAAAADA06DYAgAAAABcGsUWAAAAAODSKLYAAAAAAJdGsQUAAAAAuDSKLQAAAADApVFsAQAAAAAujWILAAAAAHBpFFsAAAAAgEuj2AIAAAAAXBrFFgAAAADg0ii2AAAAAACXRrEFAAAAALg0ii0AAAAAwKVRbAEAAAAALo1iCwAAAABwaRRbAAAAAIBLo9gCAAAAAFwaxRYAAAAA4NIotgAAAAAAl0axBQAAAAC4NIotAAAAAMClUWwBAAAAAC6NYgsAAAAAcGkUWwAAAACAS6PYAgAAAABcGsUWAAAAAODSKLYAAAAAAJdGsQUAAAAAuDSKLQAAAADApVFsAQAAAAAujWILAAAAAHBpFFsAAAAAgEuj2AIAAAAAXBrFFgAAAADg0ii2AAAAAACXRrEFAAAAALg0ii0AAAAAwKVRbAEAAAAALo1iCwAAAABwaRRbAAAAAIBLo9gCAAAAAFwaxRYAAAAA4NIotgAAAAAAl0axBQAAAAC4NIotAAAAAMClUWwBAAAAAC6NYgsAAAAAcGkUWwAAAACAS6PYAgAAAABcGsUWAAAAAODSKLYAAAAAAJdGsQUAAAAAuDSKLQAAAADApVFsAQAAAAAujWILAAAAAHBpFFsAAAAAgEuj2AIAAAAAXBrFFgAAAADg0ii2AAAAAACXRrEFAAAAALg0ii0AAAAAwKVRbAEAAAAALo1iCwAAAABwaRRbAAAAAIBLo9gCAAAAAFwaxRYAAAAA4NIotgAAAAAAl0axBQAAAAC4NIotAAAAAMClUWwBAAAAAC6NYgsAAAAAcGkUWwAAAACAS6PYAgAAAABcGsUWAAAAAODSKLYAAAAAAJdGsQUAAAAAuDSKLQAAAADApVFsAQAAAAAujWILAAAAAHBpFFsAAAAAgEuj2AIAAAAAXBrFFgAAAADg0ii2AAAAAACXRrEFAAAAALg0ii0AAAAAwKVRbAEAAAAALo1iCwAAAABwaRRbAAAAAIBLo9gCAAAAAFwaxRYAAAAA4NIotgAAAAAAl0axBQAAAAC4NIotAAAAAMClUWwBAAAAAC6NYgsAAAAAcGkUWwAAAACAS6PYAgAAAABcGsUWAAAAAODSKLYAAAAAAJeWxugAAADPderUKcXGxhodA8nE19dXefLkMToGAMADUWwBAIY4deqUChUqpBs3bhgdBcnEx8dHBw4coNwCAFIdxRYAYIjY2FjduHFDP//8swoVKmR0HDylAwcOqEWLFoqNjaXYAgBSHcUWAGCoQoUKqVSpUkbHAAAALoyDRwEAAAAAXBrFFgDgNOLj49WmTRv5+/vL399fvXr1kiS988472rp1a5Ju43Eu+zTXSWCxWFSxYkVduHBBkrRt2zZVrVpVFotF/v7+6tu37xPdboKBAwdqzpw5io+Pl8ViUdGiRZ/q9h7GZrPp/fffV0BAgBo3bqybN2/ed5mMGTPKYrHIYrFo2bJlKZIDAIAnwVuRAQBOY/ny5UqfPr3Wr18vSbp48aLBiZJm4cKF8vX11eXLl9WqVSstXrxYL7/8siRp9erVyXIfXl5eslqtSS62165dU6ZMmZJ8+1FRUTKbzVq3bp2GDRumiRMnqkOHDoku8+qrr8pqtT5ObAAAUgU7tgAAp+Hj46ODBw/qyJEjkqQcOXI4zhs3bpzCwsJksVh069YtSdKIESMUEBCgChUqaMmSJYluq1u3blqxYoUk6cyZMwoJCXnkdf7p+++/V/ny5VWuXDktWrRIknTy5EnHbmzDhg3vu87SpUsVHh7uKLWSFBwcLEk6d+6cqlWrpsDAQDVo0MBxNOi+ffuqYsWK8vPz06ZNmyRJa9euVcmSJVWrVq3H2km+ceOGpk2bppo1a2rgwIFJvp4krVu3TjVr1pQk1axZU2vXrr3vMqdPn1alSpXUvHlz/fXXX491+wAApCR2bAEATsNisejIkSNq3bq1zp07py+++EKNGjWSJJUuXVpjx45V586dtWLFCuXNm1cbNmzQunXrdOvWLfn7+zuKmSS1aNFCI0eOVEhIiGbMmKGmTZtq//79/3mdBOfPn9ekSZO0ceNG3bx5U+XKlVPNmjX10Ucf6ZNPPlGlSpUUHx9/3/V+//13vfjii5Kko0ePqm3btjp37pw2bdqkL7/8Uu+++67q16+vr776SuPGjVOlSpW0Z88ebdiwQadPn1aDBg30yy+/qEePHlqyZIleeOEFVa5c+ZHP2+bNmzVu3DidPn1atWvX1qRJk+Tr6ytJmjVrlsaMGXPfdaKjo+Xt7e34+8WLF5U9e3ZJUrZs2R64W37s2DH5+vpqwoQJ6tu3r3744YdHZgMAIDVQbAEATqVdu3Zq166dzp8/Lz8/P9WrV0+SVLJkSUlSnjx5dPHiRd26dUs7duyQxWKRdO+tt1evXnXcTqlSpXTw4EHdvHlT8+fPV1RUlJYvX/6f10lw4sQJlShRQmnSpFHmzJn1wgsvKDY2VocPH1alSpUk3Xtr8L+9+OKLOnDggCQpX758slqtslgsio+P1+HDh9WzZ09Jkp+fn6ZPn67nn39e5cqVkyS99NJLjl3cGzduKHfu3JKksmXLPvI5W7RokXbu3KnOnTurXr16ypw5s+O8xo0bq3Hjxo+8jezZs+vy5cuSpCtXriTaLU+QUJabNGmisWPHPvI2AQBILbwVGQDgNP744w9H0cyWLVuiHUWTyeT4b7vdroIFC6p8+fKyWq2yWq3avXt3okInSbVr19bQoUP14osvKkuWLEm6jnTvs6S7du3S3bt3dfXqVZ05c0a+vr56/fXXHZ//tdls912vRo0aWrRokU6ePOk47e7du5Kk/Pnza/PmzZKkjRs3qkCBAolOO336tHx8fCRJGTJk0B9//CG73Z6ktyIPHjxYq1ev1p07d1S/fn01a9bM8VnYWbNmOQ749M8/d+7cSXQblSpVUmRkpCQpMjJSAQEBic6/fv26Y5d6zZo1yp8//yNzAQCQWtixBQA4jdOnT6tr165KkyaN4uLi1KtXL6VJ8+BRVaxYMZUtW1aVKlWSl5eX8uTJo8mTJye6TPPmzZU/f37NmTPnkdfp2LGjo+R++umnevvtt1WxYkXZ7XYNHjxYZrNZw4YNU7t27RQXF6dnn31Ws2fPTnR/2bJl08SJEx2X8fb2VsWKFZU1a1b17t1bLVu21MiRI5UzZ05NnTpVGTNmVNGiReXn5ye73a7hw4dLkr766itVr15dL7zwgrJkyZKk5y5r1qyO3e5jx445CnFSd2zDwsK0aNEiBQQEKFeuXJo0aZIkqWvXrho0aJDjrdVZsmRRunTpNH78+CTlAgAgNZjsdrvd6BAAAM+zfft2lS5dWtu2bVOpUqWMjvPEmjRporNnz2ru3Ll65plnUux+4uPjVblyZaVLl07Lly9Psft5Uu7y/xMA4JrYsQUA4CnMnDkzVe4n4et+AADA/fiMLQAAAADApbFjCwDwaDt37tSNGzfk5+dndBRJUmxsrN566y1dvXpVVapUue/7aM+dO6eWLVvqzp07KlasmL799luZTCZVrVrVcUCoTZs26dy5c9qxY4c+/fRTx+0WKFBA8+bNS+2HBABAimPHFgDg0Xbu3KmNGzfed/qDvqc2NQwdOlStW7fW+vXr9euvv2r//v2Jzh88eLA6duyomJgYpUmTxvF52+joaFmtVo0ePVqBgYHKnj27goODHUeADgsLU/369Y14SAAApDiKLQDALfXo0UMWi0X+/v7asmWLJKlIkSLq1q2b/Pz81LVrV0nSt99+qzFjxshisejKlSvKly+f2rVrp7feeksHDx5UYGCgAgIC1K5dO9ntdlmtVlWpUkXh4eEqWbKkYmJidPHiRcd340pS27ZttWHDhifKvX79etWsWVOSVLNmTa1duzbR+UeOHFHp0qUl3fuu3jVr1iQ6f/r06WratGmi0+x2uxYvXqw6deo8USYAAJwdb0UGALidqKgoxcfHy2q16sKFC2rUqJFiYmJ048YNvffeexo+fLhKlCihv//+W126dFFsbKw++ugjSdKZM2f06aefKleuXAoPD9fw4cNVunRpdejQQYsWLVLWrFl16dIlLV++XOfPn1d4eLi2bNmi559/XgcPHtTLL7+s3bt3q2LFioky9enTR5s2bUp0WuHChfX9998nOu369evKkCGDpHtfH3TixIlE5xcrVkzR0dFq1aqVVqxY4bhsgvnz5993P2vXrtUbb7yhjBkzPvmTCgCAE6PYAgDczt69e7V8+XLHLurVq1clST4+PipQoIAk6aWXXtKlS5fuu+4rr7yiXLlySZJOnDjh2B318/PToUOHVLZsWZUqVUpeXl7KlSuXbt68KUlq06aNJk2apGLFij3wLb9ffvllkrL7+Pjo1q1bSp8+va5cuaIcOXIkOr9Pnz7q2LGjpk2bpgIFCui5555znLd582a9/vrrypo1a6LrzJgx475dXAAA3AlvRQYAuJ3ChQurdu3ajs+XJuxg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Tz/9pHbt2ql9+/YaPXo0pdaNmM1mjRkzRiaTSW3atJHdblfr1q2NjgUA8BAUWwBAqhg3bpzeffdddejQQaNGjZLJZDI6EpKZ2Wx27MK3adNGNptNbdu2NToWAMADUGwBACnuxx9/VPv27dWxY0d99913lFo3ZjabNXr0aJlMJrVr1052u13t2rUzOhYAwM1RbAEAKWrs2LF677339MEHH+jbb7+l1HoAk8mkUaNGyWw2691335Xdbte7775rdCwAgBuj2AIAUsyYMWPUoUMHdenSRSNGjKDUehCTyaSRI0fKbDarffv2stlseu+994yOBQBwUxRbAECKGD16tDp16qSuXbtq+PDhlFoPZDKZ9M0338hkMun999+XzWZThw4djI4FAHBDFFsAQLIbNWqUPvjgA3344Yf63//+R6n1YCaTybFb37FjR9ntdnXs2NHoWAAAN0OxBQAkq5EjR6pLly7q3r27hg0bRqmFTCaThg8fLrPZrE6dOslms+mDDz4wOhYAwI1QbAEAyebbb79V165d9dFHH+mrr76i1MLBZDLp66+/lslkUufOnWW329W5c2ejYwEA3ATFFgCQLEaMGKFu3bqpZ8+eGjJkCKUW9zGZTBo2bJjMZrO6dOkim82mrl27Gh0LAOAGKLYAgKc2fPhwde/eXb1799bgwYMptXgok8mkoUOHymw268MPP5TdbteHH35odCwAgIuj2AIAnsrXX3+tHj16qE+fPvriiy8otXgkk8mkL7/8UiaTSd26dZPNZlP37t2NjgUAcGEUWwDAExs2bJh69uypvn376rPPPqPUIslMJpMGDx4ss9msjz76SHa7XR999JHRsQAALopiCwB4IkOHDlXv3r3Vr18/DRo0iFKLx2YymfT555/LbDarR48estls6tmzp9GxAAAuiGILAHhsX375pT7++GP1799fAwcOpNTiiZlMJn366acymUzq1auXbDabevfubXQsAICLodgCAB7L4MGD1bdvXw0cOFADBgwwOg7cQEK5NZvN6tOnj+x2u/r06WN0LACAC6HYAgCS7PPPP3e89bh///5Gx4GbSdj9//jjj2Wz2dS3b1+jIwEAXATFFgCQJJ9++qkGDBigTz/9VP369TM6DtzUgAEDZDKZ9Mknn8hms/FvDQCQJBRbAMAjDRo0SAMHDtTnn3/OLhpSXP/+/WU2m9Wv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AHg2d/w9V5JOnDihdOnSJZqRn3/+uUJCQmSxWLRnz55El7fZbHr//fcVEBCgxo0b6+bNm6kd2aNRbCFJunPnjuLi4h7rOhkyZJDVapXVatU777wjSWrWrJnjtJIlS6p+/fqJrnPx4kWNHz9ea9eu1bBhw9S7d+/kegjAf/r77791+fJlnT17VtevX0/224+Pj09UbJ9//nl9+eWXD738xIkTkz3DtWvXHuvyOXLkUHR0tBo0aJDo9BEjRmjNmjXatGmTRo8erdu3b9933ffff9/xWgdSk9VqVadOnRx/37p1q2MGzZ07V+XKlVNgYKD8/f11+fJlWa1W5c6dW8OGDdPWrVtVvXp1x3XHjRunvn37Jul+ly5dqoIFC+rrr79O1seT4NixY7JYLPLz89O4cePuO58FJeDJPcnvuZL0xRdfKCAgwPH3JUuWyGw2a8WKFbJarSpWrFiiy0dFRclsNmvdunV68803U2TW4+EotgawWCzq1q2bgoODExW/7t27q2LFigoKCtL27dt1/fp11a9fX4GBgQoNDdWff/4pScqXL59at26t4sWLa8yYMXr77bf1xhtvOAbhb7/9purVqys4OFgNGzbUrVu3Hprll19+UYcOHVS5cmVduXLlsR7HnTt3ZLFYFB4erhMnTiQ67+rVq9q7d6/8/PwSnb5lyxZZLBalSZNGZcqU0aFDhx7rPoEnNX/+fNWvX1/169fXwoULJd0rgjVr1lRISIiGDBkiSfrrr78UFBTkuF779u21du3aB76urFaratSoofr16+vzzz/XsmXL1L59e7Vq1SrR6vWAAQNUvnx5BQcHa+7cuZKkokWLSpLeeecdtW/fXmFhYbJYLI7Xa9euXeXn56f3339fBQsWfOjjiouL08KFC9WwYUO1b9/+sZ6T9OnTK2fOnPed7u3tLUm6deuWXnvtNcff/2n8+PHy9/fXN99881j3CaSk/v37KyYmRmvWrFFUVJQyZswoSapbt6569OihN998U6+++qoiIiL0119/6ccff9Qnn3ySpNuuUaPGYy3GPu4CWu/evTVs2DCtW7dO48eP18WLF++7DAtKcAXu8nvunj17lCVLFr344ouO0+bOnau//vpLwcHBeu+99+5b+F23bp1j9tesWVNr1659rPvE06HYGiQ0NFSrV69WXFyc9uzZoyVLlujSpUvasGGDYmJiVKJECf3444/y8/PTmjVr1Lp1a8cv3n/++ae+/vprrV27Vt26ddNXX32ljRs3atSoUZKknj17asiQIVq9erUqVaqkyZMnJ7rvCxcuaPDgwbJYLJo1a5batm2rdevWydfXV1euXHGsBv/zz6JFi+57DBs3bpTValXnzp3VoUOHROfNmzdP4eHhMplMiU6/ePGismfP7vi7zWZLlucTeJS5c+eqUaNGatasmebMmSPp3m5NUFCQVqxYoQoVKkiScubMqSxZsujEiROKi4vTr7/+qoCAgIe+rs6dO6fZs2drwIABCg0N1dixY+9boV20aJHWrl2r1atXq27duvdlK126tKKiolS8eHGtWLFC27Zt08mTJ7Vx40b16NFD586du+86+/btU+fOnVW1alUdPHhQI0aM0LRp0yRJa9aseeDr+NSpU0l+vt5++23ly5dP5cqVu+91XKdOHe3bt0+rVq1SZGSkNm/enOTbBVLaunXrdOfOHWXOnFlp06a97/wvvvhCQ4cOVZcuXTRw4EDdunVLDRo0UHBwsKpXr64LFy7o0qVLCgoKcvxJakk9ceKEPv30U1WsWFFbtmx5rNyHDx9WmTJl5OXlJYvF8sDrs6AEV+EOv+d+/vnn6tWrV6LTzp49q0yZMmn16tXy9fXVhAkTEp3/z99zs2XL9sAFKqQcDh5lkJIlS0qS8uTJo4sXL2r//v2Jdom8vLx0+PBhtWjRQpLk5+fn+Bxrnjx5lCNHDknSa6+9pueff17SvbdCStL+/fvVuXNnSfd2XGrUqJHovg8dOqTJkyerQYMGatmypQoUKOA4L2vWrEleCfb19ZUkVa5cWV26dEl03owZMzR06ND7rpM9e3bt3r070eMEUtqFCxe0detWNW/eXJK0d+9eXbx4MdFrrFy5coqIiJAkNW/eXNOmTVPx4sUVGhoqk8n0wNfV66+/rrJlyz7y3/FXX32ldu3ayWQyqVevXvcdRfLfPw+uX7+uMmXKSLr3Gk94rf1TTEyMVq1apQ4dOqhx48aJLhMYGPjUOzpTpkzRrVu3VLlyZTVq1EiFCxd2nJctWzZJ916/derU0Y4dO1S+fPmnuj8gOUybNk1DhgxRu3btVLVqVY0ZM+a+y2TLlk3vv/++5syZoxo1aqhXr156++23Vbt2bS1evFjDhw9XSEiIihUrppEjR8put//nfcbFxWnq1KmaM2eOcuTIoebNm6tv376OnwutWrW6711NwcHB6t+/f6LT/nk/D/qFuE6dOnrrrbd09+5d1apVS+XLl+d1B6fl6r/nrl+/Xq+99pqee+65RKdnz55dVatWlXSvvE+fPv2+8y9fvixJunLliuNxIHVQbA3yzx0Qu92uIkWKaP78+Xrrrbck3dvJzJ8/vzZv3qyKFStq48aNjhfmP6/7750USSpYsKA+//xzvf7665LuvWX4n/z9/XXw4EHFxMRo8ODBOn36tOrUqaN3331Xt27dUnh4+H232a1bN9WuXdvx99u3b8tutyt9+vTau3dvorcznj9/Xn/88YdKlChx3+2UK1dOn376qeLj47Vr1y7lz58/Sc8X8DQiIiL02WefqU2bNpLu7XrMnTtX+fPn15YtW+7bXaldu7bjoBADBgyQ9ODX1caNGxOVWm9vb929e/e++69YsaJCQkK0fv16ffbZZ/cNwn//PMiXL59mz54t6d4BOWJjY++7zU6dOqlNmzZasGCBWrduLS8vL7Vs2VJ16tTRmjVrHLn/acqUKUn6eoHbt28rXbp0SpcunTJkyKAMGTIkOv/KlSvKmjWr7Ha71q5dq7Zt2z7yNoHkkiFDhkRvPbx165bj3+gbb7yhmTNnymaz6b333lNERIReeOGF+24jb968yps3r6R7C13r16/X8OHDdffuXRUpUkSBgYHauHGjWrRooTx58mjQoEEP3P2V7n30ZsyYMSpQoIDat28vf3//RK/ppH7G7p/XedAvxCwowZW4+u+527dv16ZNmxQaGqo9e/bo8OHDWrRokQIDA7Vt2zZVrFhRW7dudfwcSVCpUiVFRkYqNDRUkZGRiT6fi5RHsXUSNWrU0KpVq+Tn56f06dNr2LBhevfdd9WiRQstXLhQ6dOn15QpU5J0W19//bU6derkeOvU/2vvzuOiKvc/gH/YF1cURcSl3GVxQ0BZ5AxqQpZWhHulWXZzqS7dLLtZtpnduvprz1v36q2fmllU5pJLzlFETMGVFHdzQ5EQRZR1zu+P+c0ICjoMM3OW+bxfL1+vYpl5OA8Pn/k+33POvPLKK0hISKjxNS4uLkhISEBCQgJKSkqQlpaGkpIStGjRwqKdrD///BPDhw9HkyZNAMB8eghgLCJSUlJqfP1zzz2H119/HS1atMBjjz2GuLg4eHh44N///rdFPxNRQyxbtsx8mi4ADB06FJMmTcJPP/2E0aNHY/Xq1TU6kt7e3ggODkZOTo7547WtK1fXmldz3HvvvXjxxRcRHh5u3k0GjNf3lZWVoaysDK+//vodx9u/f38EBQUhOjoaYWFhCAwMrPXrfHx8MHbsWIwdOxZ5eXn45ZdfAFjesa2oqEBSUhIOHDiAgwcPYvTo0UhNTUVKSgquXLmC8vJyJCcn4+6778b58+fxwQcf4J133sE///lPrF+/Hi4uLhg0aBCGDBlyx+cispVu3bphz549KC8vh6enJ/R6Pfr06QPA2Knp3r07XF1d0bp1a4sudwkODsaQIUMwbNgwAMYXyeXl5eZrb5944gno9Xpzl+ZmLVq0wM6dO3HgwAH897//xcsvv4z4+HhMmzYNgYGBFndsu3Xrhl27dqF3797YvHkzZs6cWePz3FAiNVPb69xnnnnGnOMTJ07E9OnT4e/vj4kTJ2Ly5MlIS0tDs2bNzK8tJk2ahEWLFiEpKQkrV65EXFwcAgMDzV1ocgwX6U7n2JBVdu3ahfDwcGRnZ/M9vuqJx44aSgu/QxUVFfDw8MDx48cxYcIEbNu2Te4hWUwLx5/kdaffoa+//hqfffYZPD090aFDB3z55Zfw9PTEAw88gAsXLsDT0xPt2rXDf/7zH2RmZuK7776rsQEriqL5Y5cuXcJTTz2FP//8EwaDAU8++STatWuHl19+Ge7u7vDx8cE333yDZs2aYfHixSgoKMDf/va3OsduMBiwceNG+Pv71+v3/+jRo5g8eTIqKirw2GOP4amnnqqxofTqq6/W2FCq7XIfS44dUUPxd8x6PHb2xY4tEZECzZgxAwcPHkRJSQnmz58v93CIFOWRRx4xn9JY3Y8//njLx7y9vc1vMffCCy8AQI23zPHz8zOf+l/d1q1ba/z/6tWr8fHHH9/x7uOurq51dndvp0uXLti8eXONj1V/27A33ngDb7zxRr0fl4jIWbCwJSJSoM8//1zuIRBpwoABA2rctNBaw4cPv+UmNUREpBx8ux8iIiIiIiJSNRa2CrRnzx5FXU9XUFCApKQkxMbGYs6cObd8vqioCPfccw8EQUBCQgLOnTsHAPjll18QERGB6Oho800wDhw4YD4FrH///ry+gFRJK2v02LFjEAQB0dHR5je+N9m6dStcXFxqvSMzkdKpbY2KooigoCBzPpreu3r48OGIiYnBgAEDsH79egDA3r17ER0dfct6JlILta3P8+fPY9iwYdDpdHjmmWfMb82VnJyM+Ph4REREmN8ucNOmTeZ1HBoaioceesiRP4rTY2GrQHUteNP7dznau+++i8cffxxbt2413/mxuhUrViAuLg6iKGLSpEnmUyjffPNNpKWlYdu2bcjOzsbx48cRHBwMURTNX5ucnCzHj0TUIFpZoy+99BLee+89pKen48svv6zxvpkLFixA//79HfpzENmK2tYoYLx7uikfTe/b+T//8z/IyMjA6tWrzdcHBwcHY9u2bRBFEY8++ig+/fRTh/4sRA2ltvU5d+5cTJs2DXq9Hu7u7li3bh0A4zsubN68GZs2bTLf5TwhIcG8jpOSkvg618FY2DrQCy+8AEEQEBsba37PzJCQEKSmpiI6OhrPPfccAOCDDz7AZ599BkEQcPnyZXTp0gVPPvkkHnnkEeTm5iI+Ph5xcXF48sknIUkSRFHEkCFDMHLkSPTt2xd6vR6FhYXmG2MAxrcryMjIsGrcW7duxX333QcAuO+++7Bly5Yan+/ZsyeKi4sBGDtDrVq1Mv9sRUVFqKysREVFBZo2bVrj+5YtW4axY8daNSYie3C2NXr48GFERETAzc0NgiCYf+ZVq1YhNjYWjRo1smo8RPai1TUK3Fh3f//7380dIdN7vXt7e5vfXqz6++levnwZvXr1smpMRLam1fV55MgRhIeHAwD69etnvsmbp6cnAODq1asICQmp8T2SJOHnn3/GAw88YNWYyDq8eZSDrF27FlVVVRBFERcvXsSoUaOg1+tx7do1/OUvf8H8+fPRu3dvXLlyBc8++2yNtxM4e/Ys3njjDQQGBmLkyJGYP38+wsPDMXXqVKxcuRLNmjXDpUuXsG7dOuTn52PkyJHYsWMH2rRpg9zcXHTs2BH79u1DTExMjTHNmjULmZmZNT4WHBx8y+5vSUkJfHx8ABjfIP7m9+MLDQ3FzJkzERYWhvLycmzfvh0AMHr0aCQmJsLb2xsjR46Ev7+/+XtOnjyJqqoqdOrUyTYHmKiBnHGNVn+3t+bNm6OwsBAGgwGffvop0tLS8NNPP9nm4BLZgJbXaP/+/XHo0CF4eHhg8uTJWL58OcaMGWP+/IsvvmguCgDj6Y4vvfQSLl++jNWrVzf42BI1lJbXZ1hYGNavX49JkyZhw4YN5q8FgKFDh2Lv3r2YO3duje/ZsmUL+vTpww1iB2Nh6yA5OTlYt26deXfJ1D3x9fVFt27dAADt27fHpUuXbvneu+66C4GBgQCAEydOmHeNoqOjcejQIURGRqJfv35wc3NDYGAgrl+/DgCYPHkyFi9ejLCwsFpPhTC9hcCd+Pr6orS0FN7e3rh8+TJatGhR4/P/+Mc/MGHCBEydOhVr1qzBzJkz8cUXX2D69OnIyspCQEAAxo0bh4yMDPMfnW+++aZGaBPJzRnXqIuLi/lrTN+3dOlSjBgxAt7e3hY9N5GjaHmNNm7c2PzfKSkp2Lx5szkj58+fDzc3Nzz22GPmr0lISMCOHTuwcuVKvPzyy7W+XRGRI2l5fc6aNQvTpk3DkiVL0K1bNwQEBJg/t2HDBhQVFSEqKgopKSlo1qwZAJ6VKBeeiuwgwcHBGDFihPm8e9MOUvUXloCxg+Lp6YnKykrzx9zc3Mz/fddddyE7OxsAsG3bNvMfi927d8NgMODChQvmF6SDBw/Gli1b8NVXX+HRRx+9ZUyzZs0yX+Bu+jd16tRbvi4uLg5r1qwBYNyRi4uLq/F5g8Fg7sa2bNnS/EfLzc0NzZo1g6urK/z8/Gr8MVu+fDlGjx5tyaEjcghnXKPdunXDrl27UFVVhc2bNyMyMhL79+/Hd999h8TEROzbtw/jxo2rx1Eksh8tr9HLly+b/3vz5s3mU5CXLFmC7du3Y8GCBebPl5WVmf+7efPmNbpHRHLR8vr08/PD0qVLsXHjRlRVVeHBBx+EwWBARUUFAGNh7O3tbR5XRUUFfv31VyQlJdXjCJItsGPrIMOHD0d6ejoEQYCLiwsiIyPx7rvv1vq10dHR+OSTT5CVlYVFixbV+Ny8efPMbw7frVs3jBgxAlu2bEHr1q3xwAMP4PTp03j//fcBGN8kftiwYdi5c6d5J6w6S3eyZs6ciUcffRTz589HQkKC+TqCSZMmYdGiRZgxY4b5Bhbl5eXmUzxmz54NnU4HDw8PdOjQAYmJiQCA33//HS1btjTfHINICZxxjb7zzjuYPHkyKioqMHHiRLRo0aLGzywIApYuXWrRGIjsTctr9JtvvsEXX3wBHx8fdO7cGW+99Raqqqrw+OOPo2/fvkhISICbmxt+/fVXrF69Gh988AFcXV3h4eGBf/3rXxYfQyJ70fL63LBhA+bOnQsXFxeMHj0avXr1wrVr13DvvfcCAMrLyzFz5kx4eXkBANavX4/4+HjzNbjkQBLZRXZ2tgRAys7Otvtz6fV6adq0abV+7o033pDS0tLsPgZbcuSxI21S2u+Q1tbonSjt+JP6OPp3SEtrlOuP7I3r03pcn/bFU5E17K9//SsyMzMxYsQIuYdCRLXgGiVSNq5RIuXi+qSb8VRkDTBdN3Cz6tfkEJF8uEaJlI1rlEi5uD7JUuzYapwoipg+fbpDnuvy5cvw9/fHd999Z/7Yl19+iSFDhkAQBGzYsMEh4yBSOkesy6KiIgwePBhxcXGIjY3Frl27zJ+rbV1+8sknGDhwIOLj42t8LZEzc1SG5ufnIyUlBQkJCeYbthUVFeGee+6BIAhISEjAuXPn7D4OIrVx1BqdPn06AgMDazzX0qVLzUV3ly5dkJqaavdx0O2xY0s28/777yMqKsr8//v378fOnTuxceNGGUdF5Jy8vLzw1VdfISgoCLm5uZgxYwY2bNhQ67q8cOEClixZgq1bt6KgoABjxoyBXq+XcfREzuX555/HvHnz0LlzZ/PHVqxYgbi4OMyePRtff/01Pv/8c7zxxhsyjpLIeb388stITk7G999/b/7YuHHjzBtRKSkptb7lEDkWO7YyO378OAYOHAidTof7778fgHEHSKfTITIyEq+++ioA447U0KFDkZycjODgYKxYsQL3338/QkNDzd2VkJAQTJ8+HbGxsfjrX/96y3Nt2rQJgwYNQlxcHF5//XUAwM8//4yIiAjodDrMnj3b6p/jwoULOH78OCIiIswfS0tLg5ubG4YMGYJx48bV+t5lREqkhXXp4+ODoKAgAICnpyfc3Y37mLWty5MnTyIkJARubm4ICAjAmTNnarylCJFSaWGtVlVVITc3F3PmzEF8fDyWL18OAOjZs6f5vUCLiorQqlUrqx6fSE5aWKMA0LZt21veusikuLgYOTk5iI6OtvrxyUbkvnuVVll617N///vf0j//+U9JkiSpqqpKkiRJunr1qiRJkmQwGKTo6GgpLy9P0uv1UkxMjGQwGKQff/xR6tu3r1RVVSVt3LhRmjJliiRJktSxY0dp165dkiRJ0siRI6Xs7GzzneQMBoPUv39/82MnJydLubm50iOPPGIeo+n5q0tMTJTi4+Nr/Fu4cOEtXzdjxgxp79690muvvSatWLFCkiRJmjJlivToo49KkiRJX3zxhTRz5kybHjuiujT0d0gr69I03pEjR0qbNm2SJKn2dVlQUCD17dtXKikpkQ4dOiR5eHhIeXl5Vh07SeIapoZzpgw9d+6c5OHhIeXm5kpXr16V+vTpI/3555/SpUuXpIEDB0qhoaFSt27dpMLCQpseOyJr1ed3TAtr1KSuuzMvXrxYevHFF+94LCSJ69PeeCqyzEaNGoW33noL48ePR58+ffDCCy9g06ZNmD9/PgwGA44dO4azZ88CAHr37g0XFxcEBQUhLCwMrq6uCAoKQmFhIQDAw8MDffv2BQBERETgyJEjCAgIAAAUFBTg+PHjGD58OADj7u+pU6fw6quv4r333sPVq1cxduxY3HfffTXGt3bt2jv+DCdOnEBRURF69eqFtLQ088f9/PwQFhYGAEhMTKzxOSIl08K6NHn22WchCAJ0Oh2A2tdly5Yt8dJLLyEpKQkdO3ZEr1694O/v34AjSOQYWlirfn5+6NixI7p37w4ACA8Px9GjR/Hjjz9iwoQJmDp1KtasWYOZM2fiiy++sM2BI3IQLazRO1m2bFmd79lLjsXCVmaurq6YN28eAGDIkCEYOXIkZs+ejU2bNsHPzw8xMTGQJAkAapwCUf2/TZ+vqKjA3r170bt3b2RlZSExMdF8GpO/vz+6deuGtWvXwsfHBwaDAZIkoaysDAsXLkRZWRlCQ0NvWfBJSUm4fv16jY+NGzcOU6ZMMf//7t27cezYMSQmJuLo0aNo0qQJevbsifj4eGzYsAHjx49HVlZWjWuHiJRMC+sSAObOnQt3d3c899xz5o/VtS5HjRqFUaNG4dixY3jttdfMpy4TKZkW1qq3tzeCgoJw4cIF+Pv7IycnBx07doTBYDBvMLVs2ZKX85AqaWGN3k5+fj7y8vLQu3fveh4Zsge+cpHZqlWr8OGHH8LNzQ2BgYHo1KkTxowZA51Oh+DgYPj6+lr8WI0aNcLixYuxY8cOhIeHIzw8HKIoAjD+gXj77beRlJQEFxcXuLu7Y8mSJZg/fz62bduGiooKPPHEE7c8piU7WQ899BAeeughAMCcOXMQGhqKkJAQ9OzZE6tXr4YgCHB3d8dXX31l8c9CJCctrMvTp09j9uzZiI2NhSAICAoKwpIlSzBs2LBa1+X48eORl5cHPz8/fPLJJxb/fERy0sJaBYw3X0xJSUF5eTnGjx+PgIAAzJgxA48++ig+/fRTlJeX49NPP7X4ZyFSCq2s0bfffhtpaWnIz8/HkSNHsG7dOgDGm7ylpKRY/DOQfblIpm0Qsqldu3YhPDwc2dnZ6Nevn0OeMzQ0FDk5OQ55LnuS49iRtijpd0gr67I+lHT8SZ2Yodbj+iN7k+t3TAtrlOvTvnhXZCIiIiIiIlI1FrYaovZdLCIt4rokUgeuVSJl4xqlO2FhS0RERERERKrGwlahJk6ciKysLLs/z5w5cxASEoINGzYAAKZPn47AwEBMnz79lq99++23ERoaetvH+89//oO4uDjExsZi4sSJqKqqQlFREQYPHmz+uOmNtlevXo0ePXrg/ffft/0PRmRjcqzJutaOwWDA008/jbi4OIwePdp8R8dp06YhPj4eERER+PDDD2/7PFevXsWkSZMwePBgJCQkmD++evVqDB48GIIg4OuvvwYAzJgxA82bN0dBQYGdfmoi+5ArS//73/8iIiICUVFR+OCDD277vfn5+UhJSUFCQgLGjRsHoO41zrVIWqOk17u7d+9Gr1694O3tbdEae+uttzB06FAIgoD9+/ejqqoKgiDc8bUy2Q/vikx4/fXXMXToUADAyy+/jOTkZHz//fc1vqawsBAHDhy442NNmDABjz/+OADjHyu9Xo+YmBh89dVXCAoKQm5uLmbMmIENGzZg+PDhuHjxIgOa6CamNXn9+vVa187atWvh6uqK9PR0vPfee1i0aBGmTp2KBQsWwNPTE5WVlQgJCcFTTz0FLy+vOp/jiSeeQExMjPljFy9exKJFi7B+/Xq4ubmZP/7RRx9h//79dv+5idSsepa+8847yM7Oho+PD0JDQ/H000/D09Oz1u97/vnnMW/evBpviVfXGudaJLLenV7vdunSBRkZGbj//vvv+FirVq2Cq6uruVA2EUWRha2M2LF1oNTUVPMCOHv2rHlx3XPPPRAEAdHR0Thy5EiN7xFF0bybVFBQAEEQAAB79+41d1Weeuop2Orm1m3btq3x3mEm8+bNw/PPP3/H7zcFtyRJMBgM6Ny5M3x8fBAUFGT+PN8fk5RC6WuyrrWTnp5ufi++++67D1u2bDF/DQCUlpaiU6dOdb6QBoCMjAwsW7YM8fHx5u7umjVr0LhxYyQlJWHEiBE4depUg38GIltT+roFgB49euDq1au4fv06fHx8amwUVVdVVYXc3FzMmTMH8fHxWL58OYC61ziRGqhhjdb2erdJkyZo0qSJRd///fff488//0RCQgL+8pe/oKyszCbjooZhYetAEyZMwJIlSwAAy5Ytw9ixYwEAP/zwA0RRxGuvvYb58+db9FjPPfcclixZAlEU0bhxY6xfv77G55cvXw5BEG75V15eXu9xnzlzBnl5eRbflnz+/Pno0aMHCgsLERAQYP64JElITU3FzJkz6z0GIntQy5q8ee0UFhbCz88PANC8eXMUFhaav/bRRx9Fly5dEBUVVesmlUl2djaSk5Px66+/4scff8SBAwdw7tw5nD59GmvWrMEzzzyDF154waKfnciR1LBuH374YfTt2xc9evTAY489Vmdhm5+fj7179+KVV17BmjVrMG/ePBQWFt52jRMpnRrWaEOdO3cOjRs3xqZNm+Dv74///Oc/dn0+sgxbZw7Ur18/5Obm4vr16/jhhx+wdu1aXLt2DdOmTcOxY8dQUVGBVq1a1fie6i9Mq+9S5eTkYMyYMQCM18rdfNrD6NGjMXr0aJuM+80338SsWbMs/vrU1FSkpqbi+eefx+LFizF16lQAwLPPPgtBEKDT6WwyLqKGUsuavHnt+Pn5oaioCABw+fJltGjRwvy1X331FUpLSzF48GCMGjUKwcHBtT5m69atzY+XkJCAnJwc+Pn5ISEhAe7u7hgyZAhSU1OtGi+RPSl93RYXF2Pu3Lk4dOgQvLy8MHToUDzwwAPo0KHDLV/r5+eHjh07onv37gCA8PBwHD169LZrnEjplL5GbcHPzw/33HMPACAxMRFLly51+BjoVixsHWzEiBF499130a5dOzRt2hRpaWlo3rw50tPT8csvv+Djjz+u8fV+fn44c+YMAONF7SZhYWH49ttv4e/vDwCoqKio8X3Lly/HZ599dsvzr1+//ranJ9bm+PHj5he4f/zxB2bNmoV33nkHZ8+eRWBgIFxdbzT+y8rKzNf0NWvWDD4+PgCAuXPnwt3dHc8991y9npvI3pS+JmtbO4MGDcKaNWuQmJiINWvWIC4uDsCN9efl5QUfHx/z+jt9+jTat29f43Gjo6Oxb98+9OrVC1lZWUhKSkJYWBheeeUVAMCePXvQsWPH2x47Irkoed26urrC09MTjRo1gqurK3x9fXHlyhVUVlbi4sWLCAwMNH+tt7c3goKCcOHCBfj7+yMnJwcdO3asc40TqYWS12h91fZ6Nz4+HtnZ2YiJiUFWVlaNa+RJPixsHWz8+PHo2rUrvvvuOwDAgAEDMHfuXAwbNgwhISG3fH1YWBhcXV2RkJCAAQMGmD++YMECjB07FpWVlXB1dcWHH35Y4/ut3cF6++23kZaWhvz8fBw5cgTr1q2rcWF8aGgo3nnnHQDAuHHjsGrVqhrXI7z11ltIT0+HwWDA3XffjZdeegmnT5/G7NmzERsbC0EQEBQUZD5FhUhuSl6Tda2dpKQkrFy5EnFxcQgMDMTixYsBACkpKbhy5QrKy8uRnJyMu+++G5WVlUhOTsaOHTtqPPa8efPw5JNP4vr164iNjUV4eDgAoG/fvoiPj4fBYMDChQvrNV4iR1Hyum3UqBEmTpyIgQMHwsXFBQMHDkRoaCiOHj2Kl19+Gd9++22Nr3///feRkpKC8vJyjB8/HgEBAXWucSK1UPIaBWp/vXv69GlMmjQJe/fuRXJyMqZMmYLx48fX+np34sSJmDx5MtLS0tCsWTO+rlUKiewiOztbAiBlZ2fLPZTbWrBggRQRESGtX7++Xt9XUVEhTZo0qUHPvWrVKik8PFz617/+VePjajl2pFxq/h2ydk3WJTMzU/rkk08a9BjTp0+XunfvLhUWFlr09Wo+/qQMavsdsmTdLlu2TFq9enWDnseStai2Y0fqo8bfMUe83q2srJTi4+Ole+65p86vUeOxUxMXSbLR7cWohl27diE8PBzZ2dkW33SJjHjsqKH4OyQvHn9qKP4OWY/HjuyNv2PW47GzL94VmYiIiIiIiFSNhS0RERERERGpGm8eZWcHDx6Uewiqw2NGtsLfJXnwuJOt8Hep/njMyFH4u1Z/PGb2xcLWTvz9/eHr64sJEybIPRRV8vX1Nd/anai+uP7kxzVMDcE13DBcf2RPXJ8Nw/VpP7x5lB2dOnUKBQUFsj3/E088gebNm+P999+36OuPHDmCMWPG4PPPP0dERISdR3d7/v7+tb6ZPZGl5F5/d7Jjxw48/fTT+Oabb9C1a1eLvudvf/sbioqK8OWXX9p5dA3HNUwNJfcaZoYS1U3u9anmDOX6tB8Wthp17do1NG/eHPPnz8f06dMt+h6DwYDWrVtj6tSpeOONN+w8QiLnNnv2bHz++ee4cOFCjTd9v52PPvrIHMw+Pj52HiGR82KGEikbM5Rqw5tHaVRmZiYqKiogCILF3+Pq6or4+HiIomi3cRGRkSiKiI+PtziQAUAQBJSXlyMzM9OOIyMiZiiRsjFDqTYsbDVKr9fD398fwcHB9fo+nU6H7du349q1a3YaGRFdu3YNv/32G3Q6Xb2+LyQkBP7+/tDr9XYaGREBNzI0JCSkXt/HDCWyP2Yo1YWFrUaJoghBEOq1kwUYd7MqKiq4m0VkR9u2bat3NwhgR4jIUUwZ6uLiUq/vY4YS2R8zlOrCwlaDSkpKsGPHjnoveODGbhYXPZH9iKKIVq1a1fuMCsDYEfrtt9/YESKyE1OG1rcbBDBDiRyBGUp1YWGrQaadLGtC2cXFBYIg8DQNIjvS6/VWdYOAGx2hbdu22WFkRGRtNwhghhI5AjOU6sLCVoNEUUTr1q3Rs2dPq75fEATs2LEDJSUlNh4ZETXkjAoACA4ORqtWrdgRIrITZiiRcjFD6XZY2GpQQ3ayAONpGtzNIrKPjIwMVFZWWnVGBcCOEJG9MUOJlIsZSrfDwlZjrl69ip07d1q9kwUAPXv2ROvWrbmbRWQHoigiICAAPXr0sPox2BEisg9mKJGyMUPpdljYaoxpJ6shoczdLCL7aWg3CDB2hCorK5GRkWHDkRFRQ7tBADOUyJ6YoXQ7LGw1xhY7WYBxN2vnzp24evWqjUZGRLboBgFAjx492BEisgNThnbv3r1Bj8MMJbI9ZijdCQtbjbH2vfduJggCKisreY0QkQ1lZGSgqqqqwaFs6ggxlIlsixlKpFzMULoTFrYaUlxcjJ07dzboFCqTHj16ICAggKdSEdmQXq9HmzZtGtwNAoynUrEjRGQ7zFAiZWOG0p2wsNUQW+1kAdzNIrIHW3WDgBsdIV4jRGQbzFAiZWOG0p2wsNUQ005Wt27dbPJ4pt2s4uJimzwekTMrLi5GVlaWTbpBANC9e3e0adOGHSEiG9Hr9QgMDGSGEikQM5QswcJWQ0RRhE6ns8lOFmDczaqqquJuFpENbN261WbdIIAdISJbs2U3CGCGEtkSM5QswcJWI65cuYLs7GybLXgA6NatGwIDA7noiWxAFEW0bdsWXbt2tdlj6nQ6ZGVlsSNE1ECmDLVVNwhghhLZEjOULMHCViNMO1m2DGW+Fx+R7djivfduZuoIbd261WaPSeSMbN0NApihRLbEDCVLsLDVCNNOVpcuXWz6uIIgIDs7G1euXLHp4xI5E3ucUQEAXbt2ZUeIyAaYoUTKxQwlS7Gw1Qh77GQBxtM0uJtF1DDp6ekwGAw2PaMCMHaEdDodO0JEDaTX6216jwoTZihRwzFDyVIsbDXg8uXL2LVrl80XPAB06dIFbdu25W4WUQOIooigoCB07tzZ5o/NjhBRw5gy1NbdIIAZSmQLzFCyFAtbDTDtZNkjlE27WQxlIuvZ+o7l1el0OhgMBnaEiKy0detWu3SDAGYokS0wQ8lSLGw1QBRFtGvXzi47WcCN3azLly/b5fGJtMye3SAA6Ny5M4KCgngqFZGV9Ho92rVrh06dOtnl8ZmhRNZjhlJ9sLDVAFu/997NuJtFZD17XRtkwo4QUcPYsxsEMEOJGoIZSvXBwlblioqKsHv3brsteADo1KkT2rVrx90sIivo9Xq0b98ed999t92eQxAE7Nq1ix0honoyZai9ukEAM5SoIZihVB8sbFXOntfXmpjei4+7WUT1Z+8zKgBjKBsMBqSnp9vtOYi0iBlKpGzMUKoPFrYq54idLMB4KtXu3btRVFRk1+ch0pJLly7Z/YwKwNgRat++PTtCRPWk1+vRoUMHZiiRAjFDqb5Y2Kqcva8NMuFuFlH9paenQ5Iku3aDAHaEiKzliG4QwAwlsgYzlOqLha2KXbp0CXv27LH7ggeAu+++Gx06dOCiJ6oHURTRsWNHu3eDAHaEiOrLlKH27gYBzFAiazBDqb5Y2KrYli1bIEmSQ0LZtJvF0zSILKfX6x2y8QQYO0KSJGHLli0OeT4itTNlqCPWKDOUqP6YoVRfLGxVzLSTdddddznk+QRBwJ49e3Dp0iWHPB+RmhUWFmLv3r0OC+W77rqLHSGiemCGEikXM5SswcJWxRy5kwUYT9PgbhaRZRzZDQJuvBcfO0JEltHr9Q4548mEGUpkOWYoWYOFrUoVFhZi3759Dg3lu+66Cx07duRuFpEFRFHEXXfd5bBuEGDsCO3duxeFhYUOe04iNTJlqCM3h5mhRJZjhpI1WNiq1ObNmx26k2Wi0+kYykQWMN2x3JFM1wjxzqtEt+fobpAJM5TIMsxQsgYLW5USRRF33303Onbs6NDn5W4W0Z39+eefDr02yMS0u81TqYhuT6/XM0OJFIoZStZiYatSpvfeczTeNY7ozkzrQ441yo4Q0Z3J0Q0CmKFElmCGkrVY2KpQQUGBw6+vNTG9nxh3s4jqptfr0alTJ3To0MHhz23qCP35558Of24iNTBlqBwvmpmhRHfGDCVrsbBVIdNOVnx8vCzPLwgCd7OIbkOuMyqAGzvc7AgR1U7ObpDpeZmhRHVjhpK1WNiqkJw7WYDxNI19+/ZxN4uoFgUFBdi/f78sZ1QAQIcOHdCpUye+cCaqgyiK6Ny5M9q3by/L8zNDierGDKWGYGGrQnJdG2Ri2s3avHmzbGMgUirTupBrt9n03DzVkah2jn4P+JsxQ4nqxgylhmBhqzIXL15ETk6OrAu+ffv26Ny5M3eziGohiiK6dOmCdu3ayTYGnU6H/fv3o6CgQLYxECmRKUPl3BxmhhLVjRlKDcHCVmWUsJNlen7uZhHdSu5uEMCOEFFdmKFEysYMpYZgYasyStjJAoy7WTk5Obh48aKs4yBSkvz8fPz++++ydoMAoF27dujSpQs7QkQ3EUURXbt2RVBQkKzjYIYS3YoZSg3FwlZllLCTBdy4IzPvGkd0g9x3LK+Od14lupWcd1utjhlKdCtmKDUUC1sVyc/Px4EDB2TfyQJu7GbxVCqiG/R6vSK6QYAxlNkRIrrB1A1SQmHLDCW6FTOUGoqFrYoo5dogE51Ox90somrkvmN5dbxGiKgmZiiRsjFDqaFY2KqIXq9Ht27d0LZtW7mHAsC46H///Xfk5+fLPRQi2V24cAEHDhxQzIvmoKAgdO3alR0hov/HDCVSLmYo2QILWxVRyrVBJtzNIrpBad0ggB0houqU1A0CmKFE1TFDyRZY2KrE+fPncfDgQUWFctu2bdGtWzfuZhHB2A3q3r07AgMD5R6KmSAIOHDgAC5cuCD3UIhkZcpQJb1oZoYS3cAMJVtgYasSpp0sJdwprjruZhEZKa0bBLAjRGSixG4QwAwlMmGGki2wsFUJJe5kAcZFf/DgQe5mkVM7f/48cnNzFfeiOTAwEN27d+cLZ3J6oiiiR48eaNOmjdxDqYEZSsQMJdthYasSStzJAm50kLnoyZmZfv+VdkYFYHzhzFMdydkp5T3gb8YMJWKGku2wsFWBvLw8HDp0SJGhHBgYiB49ejCUyamJooiePXsqrhsEGE91zM3Nxfnz5+UeCpEsTBmqxM1hZigRM5Rsh4WtCpgCT4mFLcDdLCKldoMAdoSIlNwNApihRMxQshUWtipg2skKCAiQeyi10ul0OHToEPLy8uQeCpHDnTt3DocPH1ZkNwgA2rRpg549ezKUyWmJoojg4GBmKJECMUPJlljYqoCSd7KAG7tZvGscOSOl3rG8OkEQGMrktJT2HvA3Y4aSM2OGki2xsFW4s2fP4siRI4rdyQKAgIAA9OzZk6dSkVPS6/UIDg5G69at5R5KnQRBwKFDh3Du3Dm5h0LkUKZukJILW2YoOTNmKNkSC1uFU8NOFsD34iPnpdQ7llfH9+IjZ6X062tNmKHkrJihZEssbBVOr9cjJCRE0TtZgHHRHz58mLtZ5FRMZ1QouRsEAK1bt0ZwcDA7QuR0mKFEysUMJVtjYatwSr82yIR3jSNnpJZuEMCOEDknNXSDAGYoOSdmKNkaC1sFO3PmDI4ePaqKwrZ169YICQnhoienIooiQkND0apVK7mHckeCIODIkSM4e/as3EMhcghmKJGyMUPJ1ljYKpiadrIA424WT9MgZ6LX61XRDQLYESLnwwwlUjZmKNkaC1sF0+v1qtnJAoy7WUePHsWZM2fkHgqR3Z0+fRrHjh1TRTcIAFq1aoXQ0FCGMjkNURQRFhYGf39/uYdiEWYoORNmKNkDC1sFU8u1QSbczSJnYvo9HzRokLwDqQdBENgRIqeh9PeAvxkzlJwJM5TsgYWtQp06dQrHjx9XVSj7+/sjLCyMoUxOQRRF9OrVSzXdIMB4quOxY8dw+vRpuYdCZFemDFXT5jAzlJwJM5TsgYWtQqnt2iAT7maRs1BbNwi4sTPOF86kdaIowsXFRVXdIIAZSs6DGUr2wMJWoUw7WS1btpR7KPWi0+lw/PhxnDp1Su6hENnNH3/8gRMnTqiqGwQYO0K9evViKJPmMUOJlIsZSvbCwlah1LiTBRh3s1xcXLB582a5h0JkN5s3b1ZlNwgwdoQYyqR1ankP+JsxQ8kZMEPJXljYKtDJkydx8uRJ1e1kAUDLli3Rq1cvnkpFmqbX69G7d2+0aNFC7qHUGztCpHVq7QYBzFByDsxQshcWtgqk5p0sgLtZpH1q7QYBNzpCXKOkVabra+Pi4uQeilWYoaR1zFCyFxa2CqTmnSzAGMonTpzAH3/8IfdQiGzOdEaFWkO5RYsW7AiRpjFDiZSLGUr2xMJWgdS8kwVwN4u0Ta13W61Op9NxfZJmqe094G/GDCUtY4aSPbGwVRjTLq2aC9sWLVqgd+/eXPSkSaIook+fPvDz85N7KFYTBMG8a06kJSdPnmSGEikYM5TsiYWtwmhhJwsw7mbxNA3SGkmSoNfrVd0NAtgRIu3S6/XMUCKFYoaSvbGwVRgt7GQBxt2sP/74g7tZpCknT57EqVOnVN0NAgA/Pz/06dOHoUyaI4oi+vbti+bNm8s9lAZhhpIWMUPJ3ljYKohWdrKAG7tZ3HEmLdHr9XB1dVXt3VarM3WEJEmSeyhENsEMJVI2ZijZGwtbBTlx4gROnz6t+p0sAGjevDn69u3L3SzSFK10gwBjR+jUqVPsCJFmMEOJlI0ZSvbGwlZBtLSTBdx4Lz7uZpEWSJKk+juWVxcXFwdXV1e+cCbNEEWRGUqkUMxQcgQWtgqipZ0swHiaxqlTp3DixAm5h0LUYMePH8fp06c1cZojcKMjxFMdSSv0ej369euHZs2ayT0Um2CGkpYwQ8kRWNgqhOnaIK3sZAE3drO46EkLTN2g2NhYuYdiM4Ig8Boh0gStdYMAZihpCzOUHIGFrUIcO3YMZ8+e1cxOFgA0a9YM/fr142kapAla6wYBxo7QmTNncPz4cbmHQtQgx44dw5kzZzRV2DJDSUuYoeQILGwVQos7WQCvESJtMHWDtLTxBACxsbG8Rog0QWvX15owQ0kLmKHkKCxsFUKv1yM8PFxTO1mAMZTPnDmDY8eOyT0UIqsdPXoUZ8+e1VQ3CLjREeKpjqR2pgxt2rSp3EOxKWYoaQEzlByFha0CaPHaIBPeNY60QBRFuLm5ae6MCsB4KhU7QqRmWu0GAcxQ0gZmKDkKC1sFOHLkCM6dO6fJwrZp06YIDw9nKJOqiaKoyW4QYOwInT17lh0hUq2jR48yQ4kUjBlKjsLCVgG0vJMFGHezeNc4UivTHcu12A0CjNcIubm58VQqUi29Xs8MJVIoZig5EgtbBdDyThZg3M06d+4cjh49KvdQiOrtyJEjyMvL02Q3CGBHiNRPFEX0798fTZo0kXsodsEMJTVjhpIjsbCVmdZ3sgDuZpG6mbpBMTExcg/FbvhefKRWWnwP+JsxQ0nNmKHkSCxsZXb48GGcP39e06HcpEkT9O/fn7tZpEqiKCIiIkKz3SDAeKpjXl4ejhw5IvdQiOrFlKFa3hxmhpKaMUPJkVjYyswZdrIAvhcfqZOW71heXUxMDNzc3PjCmVRHFEW4u7szQ4kUiBlKjsbCVmbOsJMF3NjNOnz4sNxDIbLYoUOHNN8NAowdoYiICJ7qSKqj1+sRERGBxo0byz0Uu2KGkhoxQ8nRWNjKyFl2sgDuZpE6mbpB0dHRcg/F7tgRIrVhhhIpGzOUHI2FrYxyc3Nx4cIFze9kAUDjxo25m0Wq4yzdIMAYyufPn8ehQ4fkHgqRRUwZ6gyFLTOU1IgZSo7GwlZGzrSTBRhPpeJuFqmFqRvkDBtPgLEj5O7uzo4QqYazXF9rwgwlNWGGkhxY2MpIr9cjMjLSKXayAONu1oULF7ibRaqQm5uL/Px8p+gGATc6QgxlUgtRFBEZGYlGjRrJPRSHYIaSmjBDSQ4sbGXiTNcGmZh2s3gqFamBXq+Hh4eH05xRAbAjROrhbN0ggBlK6sIMJTmwsJXJgQMHcPHiRacqbBs1aoTIyEjuZpEqOFs3CLjREcrNzZV7KES3dfDgQafqBgHMUFIXZijJgYWtTERRdLqdLIC7WaQOztgNAoDo6Gh4eHiwI0SK54zdIIAZSurADGWGyoWFrUyccScLMO5m5efn4+DBg3IPhahOznhGBcCOEKmHKIqIioqCr6+v3ENxKGYoqQEzVJR7KE6Lha0MDAaDU+5kAdzNInUwdYMGDhwo91Acju/FR0pnylBne9EMMENJHZihzFC5sLCVwYEDB1BQUOCUoezr64uoqCjuZpGiiaKIAQMGOF03CDCe6njx4kUcOHBA7qEQ1cqUoc64OcwMJTVghjJD5cLCVgbOvJMFcDeLlM1gMGDz5s1OufEEAAMHDoSHhwdfOJNiiaIIT09PZigzlBSIGcoMlRMLWxk4804WYNzNKigowO+//y73UIhu8fvvvzttNwgwdoQGDBjAUx1JsfR6PQYMGAAfHx+5hyILZigpGTOUGSonFrYO5uw7WQAwYMAAeHp6cjeLFMnUDRowYIDcQ5GNIAjYvHkzDAaD3EMhqoEZygwlZWOGMkPlxMLWwXJycvDnn3867U4WcOMaIe5mkRI5ezcIMIYyO0KkRKYMdebClhlKSsYMZYbKiYWtg3Eny0in03E3ixTH1A1y5o0nwHiNEDtCpESiKMLLy8tpr681YYaSEjFDjZih8mFh62B6vR4DBw506p0swLib9eeff3I3ixQlJycHhYWFTt0NAgAfHx8MGDCAoUyKY7pHhbe3t9xDkRUzlJSIGWrEDJUPC1sH4rVBNwwcOBBeXl48lYoURa/Xw8vLy+nPqACMHSFRFNkRIsVgN+gGZigpETP0BmaoPFjYOtC+fftw6dIlFrYAvL29uZtFiiOKIgYOHOj03SDA2BEqLCxETk6O3EMhAgDs37+f3aD/xwwlJWKG3sAMlQcLWwcyXRvEnSwj3jWOlIRnVNQ0YMAAdoRIUUzdoKioKLmHogjMUFISZmhNzFB5sLB1IO5k1aTT6VBYWIj9+/fLPRQi8xkVPM3RyNvbGwMHDmRHiBRDFEVER0czQ/8fM5SUhBlaEzNUHixsHaSqqorXBt0kKiqKu1mkGHq9Ht7e3uwGVcOOECmFKUPZDbqBGUpKwgy9FTPU8VjYOsi+fftQVFTEUK7G29sb0dHR3M0iRTB1g7y8vOQeimLodDpcunQJ+/btk3so5ORMGcrN4RuYoaQkzNBbMUMdj4Wtg3Anq3aCIGDLli3czSJZVVVVYcuWLdx4uklkZCS8vb35wplkJ4oivL29ERkZKfdQFIUZSkrADK0dM9TxWNg6CHeyaicIAi5duoS9e/fKPRRyYnv37uUZFbUwXSPEUx1Jbnq9nhlaC2YoKQEztHbMUMdjYesA3MmqW1RUFHezSHaiKMLHx4fdoFrodDps2bIFVVVVcg+FnJQpQ3ka8q2YoaQEzNC6MUMdi4WtA+zZsweXL19mKNfCy8sL0dHR3M0iWbEbVDdBEFBUVMSOEMnGlKHcHL4VM5SUgBlaN2aoY7GwdQDTTlZERITcQ1Ek7maRnNgNur3IyEj4+PiwI0SyYTfo9pihJCdm6O0xQx2Lha0D6PV6xMTEcCerDoIg4PLly9zNIlns2bMHV65cYTeoDqaOEEOZ5CKKImJiYuDp6Sn3UBSJGUpyYobeHjPUsVjY2lllZSXS09O54G8jIiICPj4+PJWKZKHX6+Hr68szKm7DdOdVdoTI0SorK3mPijtghpKcmKF3xgx1HBa2dsadrDvz8vJCTEwMd7NIFuwG3ZlOp8Ply5exZ88euYdCTsaUoTzNsW7MUJITM/TOmKGOw8LWzriTZRnTblZlZaXcQyEnwm6QZSIiIuDr68uOEDmcKUP79+8v91AUjRlKcmCGWoYZ6jgsbO2MO1mW0el0uHLlCnezyKF2796N4uJidoPuwNPTkx0hkoUoioiNjWWG3gEzlOTADLUMM9RxWNjaken6Wi74O+vfvz93s8jh2A2yHDtC5Gi8R4XlmKEkB2ao5ZihjsHC1o527dqF4uJihrIFuJtFcjB1gzw8POQeiuIJgoDi4mLs3r1b7qGQk2CGWo4ZSnJghlqOGeoYLGztSK/Xo1GjRtzJspBOp0N6ejp3s8gheEZF/ZiuEeILZ3IUURSZofXADCVHYobWDzPUMVjY2hF3surHtJu1a9cuuYdCTiA7OxtXr15lN8hCHh4eiI2N5amO5DB6vZ4ZWg/MUHIkZmj9MEMdg4WtnVRUVGDr1q1c8PXQv39/NGrUiLtZ5BCiKKJx48YIDw+XeyiqwY4QOYopQ9kNshwzlByJGVp/zFD7Y2FrJ6adLIay5bibRY7EblD9CYKAq1evIjs7W+6hkMaxG1R/zFByJGZo/TFD7Y+FrZ2YdrL69esn91BURafTYevWraioqJB7KKRh7AZZJzw8HI0bN2ZHiOyO3SDrMEPJEZih1mGG2h8LWzvhTpZ1TLtZvEaI7Ck7OxslJSXsBtWTqSPEUCZ7E0URcXFxcHd3l3soqsIMJUdghlqHGWp/LGztgDtZ1uvXrx8aN27MU6nIrvR6PZo0acIzKqwgCALS09PZESK74T0qrMcMJUdghlqPGWpfLGztICsrC9euXWMoW8HDwwNxcXHczSK7YjfIejqdDiUlJbxGiOwmKysLJSUl3By2AjOUHIEZaj1mqH2xsLUD7mQ1jCAIvEaI7Ka8vJzdoAbo168fmjRpwo4Q2Y0pQ/v27Sv3UFSJGUr2xAxtGGaofbGwtQPuZDWMaTcrKytL7qGQBpnOqGA3yDru7u7sCJFdiaKIQYMGMUOtxAwle2KGNgwz1L5Y2NpYeXk5MjIyuOAboG/fvtzNIrvR6/Vo2rQp+vTpI/dQVMvUESovL5d7KKQxpgxlN8h6zFCyJ2ZowzFD7YeFrY3t3LmT19c2EHezyJ54RkXDCYKAa9eusSNENscMbThmKNkTM7ThmKH2w8LWxkRR5E6WDeh0OmRkZHA3i2yKZ1TYRt++fdG0aVO+cCabM2Uor69tGGYo2QMz1DaYofbDwtbG9Ho9rw2yAdNu1s6dO+UeCmnIjh07cP36dXaDGsjUEeKpjmRrpgx1c3OTeyiqxgwle2CG2gYz1H5Y2NpQWVkZtm3bxgVvA9zNInsQRRHNmjXjGRU2wI4Q2ZopQ9kNajhmKNkDM9R2mKH2wcLWhkw7WQzlhnNzc8OgQYO4m0U2xW6Q7QiCgOvXr2PHjh1yD4U0gt0g22GGkj0wQ22HGWofLGxtyLST1bt3b7mHogmCIGDbtm0oKyuTeyikATyjwrb69OmDZs2asSNENiOKIpo3b84MtRFmKNkSM9S2mKH2wcLWhriTZVs6nQ7Xr1/nNUJkEzt27EBpaSnPqLARU0eIoUy2Ynr/WmaobTBDyZaYobbFDLUPFrY2UlpaiszMTC54G+rduzeaN2/OU6nIJvR6PZo3b45evXrJPRTNEAQBGRkZ7AhRg7EbZHvMULIlZqjtMUNtj4WtjZh2shjKtsPdLLIlURQRHx/PbpAN6XQ6lJaW8hoharDffvuN3SAbY4aSLTFDbY8ZanssbG1Er9fDz8+P1wbZGK8RIlsoLS1lN8gOevXqxY4Q2YQpQ9kNsi1mKNkCM9Q+mKG2x8LWRkzXBrm68pDakiAIKC0txW+//Sb3UEjFfvvtN5SVlTGUbYwdIbIVZqh9MEPJFpih9sEMtT0miA3w+lr76d27N/z8/LibRQ3CbpD96HQ6bNu2DaWlpXIPhVSKGWo/zFCyBWao/TBDbYuFrQ1s376dO1l24urqyt0sajDTtUHsBtmeIAgoKytjR4isxgy1H2Yo2QIz1H6YobbF31AbEEURLVq0QFhYmNxD0SSdTofMzEzuZpFVSktLsX37dnaD7KRXr17w8/PjC2eyGjPUvpih1BDMUPtihtoWC1sb0Ov13MmyI9Nu1vbt2+UeCqlQZmYmu0F25Orqivj4eJ7qSFZjhtoXM5QaghlqX8xQ22KKNND169exfft2Lng7CgsLQ4sWLbibRVYRRREtW7ZEaGio3EPRLEEQsH37dnaEqN6YofbHDKWGYIbaHzPUdljYNlBmZibKy8t5ioYdcTeLGoLdIPvT6XQoKytDZmam3EMhlWGG2h8zlBqCGWp/zFDb4W9pA5l2skJCQuQeiqaZdrOuX78u91BIRa5du4bffvuN3SA7Cw0NRcuWLdkRonpjhjoGM5SswQx1DGao7bCwbSDuZDmGTqdDeXk5rxGietm+fTu7QQ5g6ggxlKm+RFGEIAjMUDtjhpI1mKGOwQy1HSZJA5h2srjg7S8kJAQtW7bkqVRUL3q9Hv7+/ggODpZ7KJrHjhDV17Vr13h9rYMwQ8kazFDHYYbaBgvbBsjMzERFRQVD2QG4m0XW4HvvOY4gCCgvL+c1QmQxZqjjMEPJGsxQx2GG2gZ/UxvAtJPFa4McQ6fTYfv27bh27ZrcQyEV4BkVjhUSEgJ/f392hMhizFDHYoZSfTBDHYsZahssbBvAdG2Qi4uL3ENxCoIgoKKigrtZZJFt27axG+RA7AhRfTFDHYsZSvXBDHUsZqhtsLC1UklJCXbs2MEF70DczaL60Ov1aNWqFa8NciCdTofffvuNHSG6I1OGshvkOMxQqg9mqOMxQxuOha2VTDtZDGXHcXFxgSAI3M0ii7Ab5HimjtC2bdvkHgopHLtBjscMpfpghjoeM7ThWNhaSRRFtG7dGj179pR7KE5Fp9Nhx44dKCkpkXsopGDsBskjODgYrVq14gtnuiNmqDyYoWQJZqg8mKENx8LWSnq9njtZMuBuFlkiIyMDlZWV7AY5mKkjxFMd6U6YofJghpIlmKHyYIY2HAtbK1y9ehU7d+7kgpdBz5490bp1a+5m0W2JooiAgAD06NFD7qE4HUEQ2BGi22KGyocZSpZghsqHGdowLGytYNrJ4ikajsfdLLIEu0Hy0el0qKysREZGhtxDIYVihsqHGUqWYIbKhxnaMCxsrWDayerevbvcQ3FKgiBg586duHr1qtxDIQViN0hePXr0QEBAADtCVCdRFNGmTRtmqEyYoXQ7zFB5MUMbhoWtFXinOHmZdrN4jRDVJiMjA1VVVewGyYR3XqU7YYbKixlKt8MMlRcztGFY2NZTcXExdu7cyQUvo+7duyMgIICnUlGt9Ho92rRpg27dusk9FKfFjhDVxZSh7AbJhxlKt8MMlR8z1HosbOvJtJPFUJYPd7PodtgNkp8gCLxGiGrFDJUfM5RuhxkqP2ao9VjY1pNer0dgYCB3smSm0+mwc+dOFBcXyz0UUpDi4mJkZWXxjAqZde/eHW3atGFHiG7BDFUGZijVhhmqDMxQ67GwrSfuZCmDIAioqqribhbVsHXrVnaDFIAdIaoLM1QZmKFUG2aoMjBDrcfCth6uXLmC7OxsLngF6NatGwIDA7mbRTXo9Xq0bdsWXbt2lXsoTk+n0yErK4sdITIzZSi7QfJjhlJtmKHKwQy1DgvbejDtZDGU5cfdLKoNu0HKYeoIbd26Ve6hkEKwG6QczFCqDTNUOZih1mFhWw+iKKJt27bo0qWL3EMhGBd9dnY2rly5IvdQSAF4RoWydO3aFYGBgXzhTGbMUGVhhlJ1zFBlYYZah4VtPej1euh0Ou5kKYROp+NuFpmlp6fDYDDwjAqFcHFxgU6n46mOZMYMVRZmKFXHDFUWZqh1WNha6PLly9i1axd3shSkS5cuaNu2LXezCICxGxQUFITOnTvLPRT6f+wIkQkzVHmYoVQdM1R5mKH1x8LWQtzJUh7uZlF17AYpj06ng8FgQHp6utxDIZkxQ5WHGUrVMUOVhxlafyxs76CiogJXr16FKIpo164dOnXqJPeQqBpBELBr1y5cvnwZRUVFcg+HZFBUVISioiLs3r2b3SCF6dy5M4KCgiCKIoqLi1FRUSH3kMjBmKHKxgwlZqhyMUPrj4XtHbz11lu49957IYoi4uPjsW/fPkiSJPewCEBeXh5CQ0NhMBjw8ccfo3Xr1igrK5N7WORAZWVlaN26NT755BMYDAaEhoYiLy9P7mERAEmSsG/fPsTHx0MURdx7771466235B4WORgzVLmYocQMVS5mqHVY2N5BUFAQtm3bhl27duHKlSvo06cP8vPz5R4WAXjzzTfx0EMPoU2bNli5ciVatWoFT09PuYdFDuTp6Ql/f3+sXLkSgYGBePDBB/Hmm2/KPSwCcOHCBfTp0wfFxcXIzs5GZmYm2rVrJ/ewyMGYocrFDCVmqHIxQ63DwvYOBgwYgKqqKkiShJ9//hnz5s1DQECA3MMiAK+++io8PDxQWlqKnJwcDBgwgNeGOBkXFxcMGDAAOTk5uH79Ojw9PfHqq6/KPSwC0KZNG7zzzjv4+eefIUkSqqqqMGDAALmHRQ7GDFUuZigxQ5WLGWodFrZ3EBISAg8PDwDA5MmTMXPmTJlHRCZt2rTB6tWrUVZWhmvXrqFPnz5yD4lk0Lt3b1y7dg1lZWVYvXo12rRpI/eQ6P+9+OKLePzxxwEYOwPBwcEyj4gcjRmqXMxQApihSsYMrT8Wtnfg5uaGDh06oFOnTvjss8+4m6kwoaGh+PLLL+Hi4oL+/fvLPRySQUREBFxcXPDvf/8bISEhcg+HqnFxccHnn3+OTp06oX379nBzc5N7SORgzFBlY4YSM1S5mKH15yLxLg53ZDpEDGTlMhgMcHXlPo2z4vwrG/+GOjfOv/Lxb6hz4/wrG/+GWo6FLREREREREakat2eIiIiIiIhI1dzleNJTp06hoKBAjqdWNX9/f3To0EHuYdyC82k9Jc0p59G2OLfqp6Q5rI7zaR3Op/YodU5rw3m+QU3zBnDurCXLPEsO9scff0i+vr4SAP6r5z9fX1/pjz/+cPSU3RbnUxtzynnk3PKfcuewOs4n55P/lD2nteE8q3PeJIlzp7Z5dnjHtqCgANeuXcP//u//omfPno5+etU6ePAgJkyYgIKCAkXtcnE+raekOeU82hbnVv2UNIfVcT6tw/nUHqXOaW04zzeoad4Azp215JpnWU5FBoCePXuiX79+cj092RjnUxs4j9rFudUWzqe2cD6dA+dZvTh36sCbRxEREREREZGqqaqw3bNnD7Zt2yb3MMwKCgqQlJSE2NhYzJkz55bPFxUV4Z577oEgCEhISMC5c+cAAL/88gsiIiIQHR2NmTNnAgAqKioQExOD5s2b47vvvnPkjyErtc3p0qVLIQgCBEFAly5dkJqaCgCYO3cuOnbsiPvuu8/8tefOnUN4eDgaN26MrKwsR/0IslLbfALAl19+iSFDhkAQBGzYsAEA8N///hcRERGIiorCBx98AADYtGmTee5DQ0Px0EMPOerHkI3a5vP8+fMYNmwYdDodnnnmGfN7/33yyScYOHAg4uPjsWvXLgDA7t270atXL3h7ezvNTUG0Mp/JycmIj49HREQEVqxYAcA51yegvjlduHAhoqKiEBMTg+eee8788drmtKSkBA899BB0Oh0mTJiA0tJSB/0UyqK2OTYYDHj66acRFxeH0aNH4/r1644fpEKobe7qk6Emb7/9NkJDQx0xfItoorCtqqqSYTTAu+++i8cffxxbt27Fzp07ceDAgRqfX7FiBeLi4iCKIiZNmoTPP/8cAPDmm28iLS0N27ZtQ3Z2No4fPw53d3d89913Nf7QOwO1zem4ceMgiiJEUUTfvn2RnJwMAHj88cexadOmGl/bokULrF+/Hg8//LDDxi83tc3n/v37sXPnTmzcuBGiKGLo0KEAgHfeeQeiKCIzMxMLFy5EeXk5EhISzHOflJRknnstU9t8zp07F9OmTYNer4e7uzvWrVuHCxcuYMmSJdi6dSu+/fZbPP/88wCALl26ICMjAwMGDJDjR5GFFuYTAJYtW4bNmzdj06ZNePXVVwHAKdcnoL45HTJkCLZv346MjAycP38eGRkZAGqf04ULF0IQBOj1ekRGRmLx4sWO/nEUQW1zvHbtWri6uiI9PR39+/fHokWLZBmnEqht7uqToQBQWFh4y2PITRGF7QsvvABBEBAbG4sdO3YAAEJCQpCamoro6GhzsffBBx/gs88+gyAIuHz5Mrp06YInn3wSjzzyCHJzcxEfH4+4uDg8+eSTkCQJoihiyJAhGDlyJPr27Qu9Xo/CwkIIgmB+7ieeeML8h7W+tm7dau7Q3XfffdiyZUuNz/fs2RPFxcUAjN3bVq1amX+2oqIiVFZWoqKiAk2bNoWLiwsCAwOtGocSaXVOTYqLi5GTk4Po6GgAQJs2beDm5lbja7y9vdGyZUurxqE0Wp3PtLQ0uLm5YciQIRg3bhwuXboEAOjRoweuXr2K69evw8fHp8bcSpKEn3/+GQ888IBVY1ICrc7nkSNHEB4eDgDo168fNm/ejJMnTyIkJARubm4ICAjAmTNnUFZWhiZNmqBJkyZWjUNpnGk+AcDT0xMAcPXqVYSEhNT4Hi2sT0C7c9q5c2e4uLgAMM6ju7u7+b+BmnNa1/xrhVbnOD093aLXUWqm1bmrT4YCwLx582oUukog282jTNauXYuqqiqIooiLFy9i1KhR0Ov1uHbtGv7yl79g/vz56N27N65cuYJnn30WBQUF+Nvf/gYAOHv2LN544w0EBgZi5MiRmD9/PsLDwzF16lSsXLkSzZo1w6VLl7Bu3Trk5+dj5MiR2LFjB9q0aYPc3Fx07NgR+/btQ0xMTI0xzZo1C5mZmTU+FhwcjE8//bTGx0pKSuDj4wMAaN68OU6cOFHj86GhoZg5cybCwsJQXl6O7du3AwBGjx6NxMREeHt7Y+TIkfD397fpMZWblufUJC0tDSNHjjQHtJZpeT7PnTuH0tJSbNy4EV9++SXmzZuHd999Fw8//DD69u0LNzc3vPDCCzUK2y1btqBPnz5o1KiRzY6xI2l5PsPCwrB+/XpMmjQJGzZsgI+PD7p06YLs7Gxcu3YNZ86cwR9//IFLly6hTZs2tj60snC2+TQZOnQo9u7di7lz59b4HrWvT0Dbc2qSmZmJCxcuICoqyvyxm+fUNP8xMTHYsGGDeeNRC7Q8x4WFhfDz8zN/vrCw0KbHTm5anrv6ZGhlZSXy8vIUd0Mt2QvbnJwcrFu3zrwbYepw+vr6olu3bgCA9u3b1/oH7a677jJ3OU+cOGHeZYiOjsahQ4cQGRmJfv36wc3NDYGBgebz/CdPnozFixcjLCys1tOV3nnnHYvG7uvri9LSUnh7e+Py5cto0aJFjc//4x//wIQJEzB16lSsWbMGM2fOxBdffIHp06cjKysLAQEBGDduHDIyMm75JVUzLc+pybJly/Duu+9a9Jhqp+X59PPzQ1hYGAAgMTERaWlpKC4uxty5c3Ho0CF4eXlh6NCheOCBB8y3q1+2bBnGjh1r0fMrkZbnc9asWZg2bRqWLFmCbt26ISAgAC1btsRLL72EpKQkdOzYEb169dLUZqKzzafJhg0bUFRUhKioKKSkpKBZs2YA1L8+AW3PKQAcPnwYqampWLlyZY2P3zynkydPxnPPPYeEhAT069dPU2e1aXmO/fz8UFRUBAC3fR2lVlqeu/pk6LRp0zBr1iyLnteRZD8VOTg4GCNGjDBfG2Pacbi5EyZJEjw9PVFZWWn+WPUuyl133YXs7GwAwLZt28y/XLt374bBYMCFCxfg7e0NABg8eDC2bNmCr776Co8++ugtY5o1a5b5JhSmf1OnTr3l6+Li4rBmzRoAxh2cuLi4Gp83GAzmF1AtW7Y0/5K7ubmhWbNmcHV1hZ+fn6Z2IQFtzykA5OfnIy8vD717967XcVErLc9nfHy8eUxZWVno3LkzXF1d4enpiUaNGsHT0xO+vr64cuUKAONN3n799VckJSXV4wgqi5bn08/PD0uXLsXGjRtRVVWFBx98EAAwatQobN68Ga+99hp69OhhPv1RC5xtPg0GAyoqKgAYX6R5e3ubx6WF9Qloe07z8vIwYcIEfP311+bLs+qaUy8vL3z22WfYtGkT/Pz8NHVDMC3P8aBBg8yfX7NmTa2vo9RMy3NXnww9fvw4UlNTkZiYiD/++EM5Ra7kYNnZ2RIAKTs72/yxF198UYqPj5cEQZBmzpwpSZIkhYSEmD8/fPhw6cSJE9KJEyek6OhoKTk5Wbpy5UqNr/n999+l2NhYKTY2Vnr88celqqoqSa/XS0lJSdL9998v9enTR9q4caP56+fMmSMNHz68QT9Lfn6+lJiYKMXExEizZ882f3zixImSJEnSmTNnpISEBCk+Pl4aOHCgtHv3bkmSJOmbb76RIiMjpZiYGGns2LFSRUWFJEmSlJKSIt19991SWFiY9MILL9zxuClBXePS6pxKkiR9/PHH0ptvvlnj+7788kspJiZG8vf3lwYPHixdvHhRKi8vlwYPHiwFBgZKkZGR0j//+c8a36OkOb3TWLQ6n1VVVdK0adOk+Ph4afDgwdLZs2clSZKkBQsWSJGRkVJUVJT03HPPmb9v1apV0uTJk+/4vEqfW63O5/r16yVBECSdTid9/vnn5s+PGzdO0ul00kMPPSTl5eVJkiRJp06dkgYPHiw1b95cGjRokPS///u/dzxuSuDs81lSUiLFx8ebc7X6vN1ufappPiVJu3P6+OOPSx07djTP4fr16+uc03379pn/Ns+ZM8fiY6dEzrRuq6qqpClTpkixsbFSSkqKVFJScsdjoWTONHf1ydDqqv9cJnLNsyIKW3vR6/XStGnTav3cG2+8IaWlpdl9DLai1D8Ejh4X51RbY9HSfFbnrHOrpflU0hxWx/m0DufTiHMqD67bG9Q0b5LEubOWXPMs+6nIcvjrX/+KzMxMjBgxQu6hkI1wTrWF86ktnE9t4XxqD+dU+zjH6sW5s5x2LjSqhek885stWLDA8YMhm+CcagvnU1s4n9rC+dQezqn2cY7Vi3PXcE7ZsQUAURQxffp0uz/P9OnTERgYWOO5DAYDnn76acTFxWH06NHmu56R9Rw1n8nJyYiPj0dERARWrFhh/vjq1asxePBgCIKAr7/+2u7j0CpHzGNRUREGDx6MuLg4xMbGYteuXQCAhQsXIioqCjExMeb3oDO5fPky/P398d1339l1bFrmqDUK3DpfoigiKCjI/KLh/PnzDhmHlsmZoUuXLjXPZZcuXZCammr3cWido+ZTEATExMRAEATMmzcPgPFt18LDw9G4cWNkZWXZfQzOxlFzm5+fj5SUFCQkJGDcuHF2fz5nI+ff3N27d6NXr17w9vZGQUGB3cfQEJru2CrByy+/jOTkZHz//ffmj61duxaurq5IT0/He++9h0WLFtV69zJSnmXLlsHT0xPFxcWIjIxESkoKLl68iEWLFmH9+vU17nhHyuTl5YWvvvoKQUFByM3NxYwZM7BhwwYMGTIEU6ZMgYuLC8aMGVPjbbjef//9Gu+3SMpW23w9+OCD+Pjjj2UaEVmrtgwdN26c+YVzSkpKrW9/Qcr1008/1XjLrRYtWmD9+vV4/vnnZRwVNdTzzz+PefPmoXPnznIPhRqgtr+5Xbp0QUZGBu6//34ZR2YZxXZsjx8/joEDB0Kn05kP5NKlS6HT6RAZGYlXX30VgHEHY+jQoUhOTkZwcDBWrFiB+++/H6GhoeZOTEhICKZPn47Y2Fj89a9/veW5Nm3ahEGDBiEuLg6vv/46AODnn39GREQEdDodZs+ebfXP0bZt21tuAZ6eno777rsPAHDfffdhy5YtVj++WmhlPj09PQEAV69eRUhICADj7ewbN26MpKQkjBgxAqdOnbL68ZVOC/Po4+ODoKAgAMb5NL31S+fOnc1rtfrHL1y4gOPHjyMiIsKq51MLLcwtUPd8rVq1CrGxsfj73/8OSZKsfny10Mp81pahJsXFxcjJyUF0dLTVj68WWplPFxcXPPjggxg2bBj27NkDAPD29kbLli2tfky108LcVlVVITc3F3PmzEF8fDyWL19u1eOomRbmEaj9b26TJk3QpEkTqx/ToRx6qyrJ8rtk/fvf/za/PUpVVZUkSZJ09epVSZIkyWAwSNHR0VJeXp6k1+ulmJgYyWAwSD/++KPUt29fqaqqStq4caM0ZcoUSZIkqWPHjtKuXbskSZKkkSNHStnZ2eY7jxkMBql///7mx05OTpZyc3OlRx55xDxG0/NXl5iYaL49venfwoULa/1Zbr7L2ZNPPillZmZKkiRJ586dk4YOHWqz4+ZozjifQ4YMkVq1aiV98cUXkiRJ0ty5c6WEhASpoqJC2rBhgzRq1CibHjtHcMZ5NBgM0siRI6VNmzbV+Pi2bduke+65x/z/M2bMkPbu3Su99tpr0ooVK25/IP8f51a+ua1tvoqLi6XS0lKpqqpKmjhxorRs2TKbHTdHc7b5lKS67xS6ePFi6cUXX7zjMZMkzqdS5vPixYuSJElSTk6O1KdPnxqfe+yxx6SdO3daduAk5c5pbW43Vi3M7blz5yQPDw8pNzdXunr1qtSnTx/pzz//rPexUCJnW6OSVPff3Pj4ePMavhO55lmxpyKPGjUKb731FsaPH48+ffrghRdewKZNmzB//nwYDAYcO3YMZ8+eBQD07t0bLi4uCAoKQlhYGFxdXREUFITCwkIAgIeHB/r27QsAiIiIwJEjRxAQEAAAKCgowPHjxzF8+HAAxuvvTp06hVdffRXvvfcerl69irFjx5o7rCZr1661+mfz8/NDUVERAOO1YC1atLD6sdRCS/O5YcMGFBUVISoqCikpKfDz80NCQgLc3d0xZMgQTV/vpaV5fPbZZyEIAnQ6nfljhw8fRmpqKlauXAkAOHHiBIqKitCrVy+kpaVZedTUQQtzW9d8NW7c2PzfKSkp2Lx5M8aMGdOAo6V8WpjPO1m2bBnefffdBj+OGmhlPk2nIIeEhMDDwwPXr1+Hj49Pww+Qimlhbv38/NCxY0d0794dABAeHo6jR48iMjLSNgdJBbQwj1qg2MLW1dXVfGOBIUOGYOTIkZg9ezY2bdoEPz8/xMTEmE8nq94yr/7fps9XVFRg79696N27N7KyspCYmIji4mIAxj+y3bp1w9q1a+Hj4wODwQBJklBWVoaFCxeirKwMoaGht/yCJCUl3XLTp3HjxmHKlCl3/NkGDRqENWvWIDExEWvWrEFcXJwVR0hdtDCfBoMBVVVV8PDwgK+vL7y9veHt7Y34+Hi88sorAIA9e/agY8eOtjpsiqOFeQSAuXPnwt3dvcZNovLy8jBhwgQsXboUrVq1AmC8YcKxY8eQmJiIo0ePokmTJujZs6f5NHQt0cLc1jVf7dq1Q7NmzQAAmzdvRteuXW112BRLC/N5O/n5+cjLy0Pv3r3reWTUSSvzeeXKFTRt2hTnz59HSUmJ0xe1gDbm1tvbG0FBQbhw4QL8/f2Rk5Oj6ddCtdHCPGqBYgvbVatW4cMPP4SbmxsCAwPRqVMnjBkzBjqdDsHBwfD19bX4sRo1aoTFixdjx44dCA8PR3h4OERRBGD8hXr77beRlJQEFxcXuLu7Y8mSJZg/fz62bduGiooKPPHEE7c8pqU7H2+//TbS0tKQn5+PI0eOYN26dUhKSsLKlSsRFxeHwMBALF682OKfRa20MJ+lpaW49957AQDl5eWYOXMmvLy80LNnT/Tt2xfx8fEwGAxYuHChxT+L2mhhHk+fPo3Zs2cjNjYWgiAgKCgIS5YswSuvvIL8/Hzz4/7973/HQw89hIceeggAMGfOHISGhmqyqAW0Mbd1zdfChQvxxRdfwMfHB507d8Zbb71l8c+iVlqYT6D2DAWAFStWICUlxeKfQe20MJ8GgwE6nQ6+vr6orKzERx99BMD4Ij4pKQkHDhzAwYMHMXr0aE2f+XQzLcwtYLxpX0pKCsrLyzF+/Hhzh9FZaGUea/ube/r0aUyaNAl79+5FcnIypkyZgvHjx1v88ziU4856NpLjnOuQkBCHPZe9KPWaBM6n9ZQ0p5xH2+Lcqn9ulTSH1XE+rcP5vEEL8ylJyp3T2jhqrGqYWzXNmyRxjVpLrnlW7F2RiYiIiIiIiCzhFIVtTk6O3EMgG+J8agPnUbs4t9rC+dQWzqd2cW61gfNoPU0UthMnTkRWVpbdn2fOnDkICQnBhg0bAAD33HMPBEGAIAjw8vLCpUuX6vze5ORkxMfHIyIiAitWrAAAZGdno0+fPpg+fbrdx64GSp/HoqIiDB48GHFxcYiNjTW/39j58+cxbNgw6HQ6PPPMM+aL/1NSUmq8Cb1WyTVv06dPR2BgYI31U1RUZJ7PhIQEnDt3DgAwbdo08/r78MMP7/hcVVVV6NmzJ95//30AwLlz5xAeHo7GjRvX+FlnzJiB5s2bo6CgwJY/qmLIMbd1rTODwYCnn34acXFxGD169C03wahu4cKFiIqKQkxMTI0bhAmCgJiYGAiCYL7Jh7P+HZZr3ebn5yMlJQUJCQkYN27cbb/3wQcfhL+/v3kdAsAvv/yC4OBgNG/e3PyxqqoqCIKA0NBQu/wMaqGk9Xo7J06cgJeXl3msubm5iI+PR3x8PObOnQuAc3ozNazXVatWYeDAgYiOjsbOnTsBAKtXr0aPHj1qrGGSbz5ry8C61Db3aphPxd48Sqlef/11DB06FACwfv16AMDvv/+Ov/71r/Dz86vz+5YtWwZPT08UFxcjMjISKSkpCA8Px//8z//gu+++c8jY6QZr5tHLywtfffUVgoKCkJubixkzZmDDhg2YO3cupk2bhhEjRiA1NRXr1q1DYmIiVqxYwVC2serz9vLLLyM5ORnff/+9+fMrVqxAXFwcZs+eja+//hqff/453njjDSxYsACenp6orKxESEgInnrqKXh5edX5PIsWLUKnTp3M/9+iRQusX78ezz//fI2v++ijj7B//34b/5TOyTS3169fr3WdrV27Fq6urkhPT8d7772HRYsWYerUqbU+1pAhQzBlyhS4uLhgzJgxyMjIQExMDADgp59+qrHhxL/D9ld93T7//POYN28eOnfufMfv+/jjj7Fhw4YaG0eRkZHIzs5GRESE+WNubm4QRZF/bx3oTuv1dt5+++0a7wYxc+ZMfPTRR+jVqxeSk5ORm5uLHj16cE5lYs16raqqwuzZs7FlyxZcuXIFo0ePxtatWzF8+HBcvHhRs5u/alB9PoFbM7Autc29GuZTsR3b1NRU8x/Hs2fPmifF1I2Jjo7GkSNHanyPKIrmXfeCggIIggAA2Lt3LwYPHgxBEPDUU0+ZO2q2snTpUowdO/a2X+Pp6QkAuHr1qmbvqlobLc2jj48PgoKCABjn093duC905MgRhIeHAwD69euHzZs323RcclDDvLVt27bGbfIBoGfPnuZb4hcVFZnftse0/kpLS9GpUyfz/9emtLQUP/30Ex5++GHzx7y9vdGyZUubjFtuSp/butZZenq6+e0L7rvvPmzZsqXOx+jcubP5d6P6Y7i4uODBBx/EsGHDsGfPngaPVWmUPrdVVVXIzc3FnDlzEB8fj+XLl9/2602/B9W1aNHCqd4iRulzWtd6rcv+/fvRtGlTtGvXzvyxkydPolevXgCAvn37aiJDLaH0ua3Pej1y5Ai6deuGJk2aICgoCBUVFSgtLW3wGNRE6fMJWJ6B9f1brSSKLWwnTJiAJUuWADB2O00Fxw8//ABRFPHaa69h/vz5Fj3Wc889hyVLlkAURTRu3NjcoTNZvny5+VTU6v/Ky8stevwffvjB/BYTtzN06FD07t0biYmJFj2uFmhxHiVJQmpqKmbOnAkACAsLM49lw4YNtz0lXS3UNG/VhYaGYuvWrQgLC8PHH3+MCRMmmD/36KOPokuXLoiKirqlIK7u448/xlNPPXXbr1EztcztzeussLDQfDZF8+bNzW9kfzuZmZm4cOECoqKiABg7+unp6Zg/fz4mTZpk0c+oJkqf2/z8fOzduxevvPIK1qxZg3nz5lk0j85M6XNqcvN6rctbb72FF198scbHevToAb1ej8rKSuj1ek1kqCWUPrf1Wa/V/z4Dlv+N1hKlzydgeQaq+W+1Yk9F7tevH3Jzc3H9+nX88MMPWLt2La5du4Zp06bh2LFjqKioMHdjTGp7k2PAeBH2mDFjABg7pjef2jJ69GiMHj3aqnFu374d3bt3R7Nmze74tabrUaKiopCSkmLR96idFufx2WefhSAI0Ol0AIBZs2Zh2rRpWLJkCbp166aJ925Ty7zd7B//+AcmTJiAqVOnYs2aNZg5cya++OILAMBXX32F0tJSDB48GKNGjUJwcPAt33/58mWIooi//e1vmn1/abXM7c3rzM/PD0VFRQCM89SiRYvbfv/hw4eRmpqKlStXmj9mOv0qJCQEHh4euH79uqa6f0qfWz8/P3Ts2BHdu3cHYDwN/OjRo4iMjKzX4zgTpc+pyc3rtTZbt25Fp06dbsnI999/H9OnT8c777yD9u3bIzAw0KoxqI3S57Y+67X632fAsr/RWqP0+QQsz0A1/61WbGELACNGjMC7776Ldu3aoWnTpkhLS0Pz5s2Rnp6OX375BR9//HGNr/fz88OZM2cAALt37zZ/PCwsDN9++615QisqKmp83/Lly/HZZ5/d8vzr16+/7SmLgPH01eoX1FdWVuLixYs1/jAbDAZUVVXBw8MDvr6+8Pb2hre3t4VHQf20Mo8AMHfuXLi7u9e4IY2fnx+WLl0KAHjqqafw4IMP3va51EIN83Yzg8Fgfp6WLVuad/7Lysrg5eUFLy8v+Pj4mP+Qnz59Gu3btzd/f25uLi5evIjExEScPXsWFRUV6NevHxISEuo1DqVT+tzWts4GDRqENWvWIDExEWvWrDFfo5efn49mzZrVuGY6Ly8PEyZMwNKlS2u8kLhy5QqaNm2K8+fPo6SkRFNFrYmS59bb2xtBQUG4cOEC/P39kZOTg44dO+L69esoKSlxipvtWUPJcwrUvl5rm9Ndu3YhMzMTiYmJ2L9/Pw4fPoyVK1eiQ4cOWLlyJaqqqjBq1CgkJSVZfnBUTslzW5/12rVrVxw+fBglJSUoLi6Gu7u7U73ONVHyfAK1Z2Btr3frmns1UHRhO378eHTt2tV8U48BAwZg7ty5GDZsWK3XqYaFhcHV1RUJCQkYMGCA+eMLFizA2LFjUVlZCVdXV3z44Yc1vt/anY+qqiqsXbsW7777rvljJ0+exMsvv4xvv/3W/LHS0lLce++9AIDy8nLMnDnztjeu0RqtzOPp06cxe/ZsxMbGQhAEBAUFYcmSJeYbSLm4uGD06NHma4XUTunz9vbbbyMtLQ35+fk4cuQI1q1bhxkzZuDRRx/Fp59+ivLycnz66acAjHeovnLlCsrLy5GcnIy7774blZWVSE5Oxo4dO8yPGRUVhd9++w0AsHjxYhQUFCAhIQEVFRVISkrCgQMHcPDgQYwePRqpqan1HrNSKHlu61pnSUlJWLlyJeLi4hAYGGjuqKempuLll1+u0YF/5ZVXkJ+fjyeeeAIA8Pe//x2DBw+GTqeDr68vKisr8dFHH9VrXGqh5LkFjN25lJQUlJeXY/z48QgICMDGjRuxfv16/OMf/6jxtc888wx+/fVXVFRUYP/+/fjvf/+LrKwsvPTSSzh58iSGDBmCWbNmYfDgwfUeh5ooeU7rWq8ZGRm3zOkzzzyDZ555BoDxrrDTp0+Hv78/vv76a/znP/+Bi4sLnn32WbRu3bpeY1AzJc8tYPl6dXd3x5w5czBkyBC4uLhgwYIF9X4uLVDyfBoMhlozsLbXu0Dtc68KkoNlZ2dLAKTs7GxHP3WDLViwQIqIiJDWr19f59csW7ZMWr16tUWPl5WVJUVFRUmvvvrqHb9WqcdNqeO6HVvPY10efvhhqVevXnV+XknHTkljqYsl81YfmZmZ0ieffNKgx5g+fbrUvXt3qbCwsMbHlXQ8lTSWujRkbh955JEGPXddf4eVetyUOq66WDK38+bNk3Jycqx+jsrKSik+Pl6655576vwapR43pY7rdjin9aeWsdp6bletWiWFh4dL//rXv8wfU8uxMFHbeKuz9evd2uazLnIdNxa2KqHU46bUcamBko6dksaiBUo6nkoai5oo9bgpdVxKp9TjptRxqYGajp2axmpvajsWahuvUsh13BR7V2QiIiIiIiIiS7CwJSIiIiIiIlVjYUtERERERESqJttdkQ8ePCjXU6uS0o+X0senREo8Zkockxop8TgqcUxKpvTjpfTxKY3Sj5fSx6dEajxmahyzran1GKh13HKR63g5vLD19/eHr68vJkyY4OinVj1fX1/Fvc8f57NhlDKnnEfb49yqn1LmsDrOp/U4n9qjxDmtDee5JrXMG8C5awg55tlFkiTJoc8I4NSpUygoKHD006qev78/OnToIPcwbsH5tJ6S5pTzaFucW/VT0hxWx/m0DudTe5Q6p7XhPN+gpnkDOHfWkmOeZSlsiYiIiIiIiGyFN48iIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGq/R+2OWkJl9t4ugAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "ax = subplots(figsize=(12,12))[1]\n", "plot_tree(clf,\n", @@ -261,10 +358,47 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "abe8c7fc", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:54.068192Z", + "iopub.status.busy": "2023-07-25T23:59:54.068071Z", + "iopub.status.idle": "2023-07-25T23:59:54.071170Z", + "shell.execute_reply": "2023-07-25T23:59:54.070769Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "|--- ShelveLoc[Good] <= 0.50\n", + "| |--- Price <= 92.50\n", + "| | |--- Income <= 57.00\n", + "| | | |--- weights: [7.00, 3.00] class: No\n", + "| | |--- Income > 57.00\n", + "| | | |--- weights: [7.00, 29.00] class: Yes\n", + "| |--- Price > 92.50\n", + "| | |--- Advertising <= 13.50\n", + "| | | |--- weights: [183.00, 41.00] class: No\n", + "| | |--- Advertising > 13.50\n", + "| | | |--- weights: [20.00, 25.00] class: Yes\n", + "|--- ShelveLoc[Good] > 0.50\n", + "| |--- Price <= 135.00\n", + "| | |--- US[Yes] <= 0.50\n", + "| | | |--- weights: [6.00, 11.00] class: Yes\n", + "| | |--- US[Yes] > 0.50\n", + "| | | |--- weights: [2.00, 49.00] class: Yes\n", + "| |--- Price > 135.00\n", + "| | |--- Income <= 46.00\n", + "| | | |--- weights: [6.00, 0.00] class: No\n", + "| | |--- Income > 46.00\n", + "| | | |--- weights: [5.00, 6.00] class: Yes\n", + "\n" + ] + } + ], "source": [ "print(export_text(clf,\n", " feature_names=feature_names,\n", @@ -289,12 +423,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "f7a1f736", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:54.072938Z", + "iopub.status.busy": "2023-07-25T23:59:54.072835Z", + "iopub.status.idle": "2023-07-25T23:59:54.079362Z", + "shell.execute_reply": "2023-07-25T23:59:54.079048Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.685])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "validation = skm.ShuffleSplit(n_splits=1,\n", " test_size=200,\n", @@ -328,9 +479,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "c663a623", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:54.081283Z", + "iopub.status.busy": "2023-07-25T23:59:54.081145Z", + "iopub.status.idle": "2023-07-25T23:59:54.083681Z", + "shell.execute_reply": "2023-07-25T23:59:54.083365Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -355,12 +512,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "c2f2a403", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:54.085505Z", + "iopub.status.busy": "2023-07-25T23:59:54.085354Z", + "iopub.status.idle": "2023-07-25T23:59:54.089710Z", + "shell.execute_reply": "2023-07-25T23:59:54.089437Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0.735" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "clf = DTC(criterion='entropy', random_state=0)\n", "clf.fit(X_train, High_train)\n", @@ -378,9 +552,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "b2505658", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:54.091391Z", + "iopub.status.busy": "2023-07-25T23:59:54.091299Z", + "iopub.status.idle": "2023-07-25T23:59:54.094646Z", + "shell.execute_reply": "2023-07-25T23:59:54.094353Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -402,12 +582,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "09a7bd33", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:54.096582Z", + "iopub.status.busy": "2023-07-25T23:59:54.096441Z", + "iopub.status.idle": "2023-07-25T23:59:54.355162Z", + "shell.execute_reply": "2023-07-25T23:59:54.354839Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0.685" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "grid = skm.GridSearchCV(clf,\n", " {'ccp_alpha': ccp_path.ccp_alphas},\n", @@ -428,12 +625,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "a75dea32", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:54.357064Z", + "iopub.status.busy": "2023-07-25T23:59:54.356931Z", + "iopub.status.idle": "2023-07-25T23:59:55.201547Z", + "shell.execute_reply": "2023-07-25T23:59:55.201208Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7YAAAOwCAYAAAAKo+iFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeViN+f8/8OdJaS+RpLRRKioqhAajMNY6WWdhhkHHGAazLww+ZjGLGWZsJ4OM3eAcyb5vWSJSCaFUQysl7cv5/eHnfBlb0Tn3OfV8XNdc10zn3Pf9vM89577P634vt0ihUChAREREREREpKV0hA5ARERERERE9CpY2BIREREREZFWY2FLREREREREWo2FLREREREREWk1FrZERERERESk1VjYEhERERERkVZjYUtERERERERajYUtERERERERaTUWtkRERERERKTVWNgSERERERGRVmNhS0RERERERFqNhS0RERERERFpNRa2REREREREpNVY2BIREREREZFWY2FLREREREREWo2FLREREREREWk1FrZERERERESk1VjYEhERERERkVZjYUtERERERERajYUtERERERERaTUWtkRERERERKTVWNgSERERERGRVmNhS0RERERERFqNhS0RERERERFpNRa2REREREREpNVY2BIREREREZFWY2FLREREREREWo2FLREREREREWk1FrZERERERESk1VjYEhERERERkVZjYUtERERERERajYUtERERERERaTUWtkRERERERKTVWNgSERERERGRVmNhS0RERERERFqNhS0RERERERFpNRa2REREREREpNVY2BIREREREZFWY2FLREREREREWo2FLREREREREWk1FrZERERERESk1VjYEhERERERkVZjYUtERERERERajYUtERERERERaTVdoQMQEZHmSk1NRU5OjtAxXsjS0hL29vZCxyAiIiKBsLAlIqKnSk1Nhbu7O4qKioSO8kJGRkZITExkcUtERFRPsbAlIqKnysnJQVFREdasWQN3d/fHXgsLC4O1tTUsLCzQrVs3pKSkoEWLFtDVffFlpaqqCjo6j4+EKSoqwoYNG2BiYoLhw4fjyJEjyMjIwIgRIwAAP//8MwYMGIC2bds+sb7ExESMHDkSOTk5LGyJiIjqKRa2RET0XO7u7vDx8Xnsb7a2tmjdujV8fX2x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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "ax = subplots(figsize=(12, 12))[1]\n", "best_ = grid.best_estimator_\n", @@ -453,12 +667,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "3f1e3d19", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:55.203613Z", + "iopub.status.busy": "2023-07-25T23:59:55.203475Z", + "iopub.status.idle": "2023-07-25T23:59:55.206296Z", + "shell.execute_reply": "2023-07-25T23:59:55.205961Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "30" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "best_.tree_.n_leaves\n" ] @@ -476,12 +707,82 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "30f5c2f9", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:55.208077Z", + "iopub.status.busy": "2023-07-25T23:59:55.207947Z", + "iopub.status.idle": "2023-07-25T23:59:55.214493Z", + "shell.execute_reply": "2023-07-25T23:59:55.214148Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.72\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TruthNoYes
Predicted
No9432
Yes2450
\n", + "
" + ], + "text/plain": [ + "Truth No Yes\n", + "Predicted \n", + "No 94 32\n", + "Yes 24 50" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "print(accuracy_score(High_test,\n", " best_.predict(X_test)))\n", @@ -512,9 +813,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "1ca6bc7a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:55.216363Z", + "iopub.status.busy": "2023-07-25T23:59:55.216227Z", + "iopub.status.idle": "2023-07-25T23:59:55.224376Z", + "shell.execute_reply": "2023-07-25T23:59:55.224038Z" + } + }, "outputs": [], "source": [ "Boston = load_data(\"Boston\")\n", @@ -535,9 +843,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "15cfb553", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:55.226102Z", + "iopub.status.busy": "2023-07-25T23:59:55.226001Z", + "iopub.status.idle": "2023-07-25T23:59:55.228520Z", + "shell.execute_reply": "2023-07-25T23:59:55.228200Z" + } + }, "outputs": [], "source": [ "(X_train,\n", @@ -559,10 +874,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "d18820a3", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:55.230261Z", + "iopub.status.busy": "2023-07-25T23:59:55.230165Z", + "iopub.status.idle": "2023-07-25T23:59:55.529885Z", + "shell.execute_reply": "2023-07-25T23:59:55.529499Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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T82aNUtQBgAAHAnFFgDgVP79e7Vxu63//vhpvL29dfz4cf3888+aPHmyjh49qipVqqhjx47KmjVrgnds/fz8rC/8dObMGWXOnPmpj7du3TpVrFhRadKksV4W9yJRt2/fVoMGDVSyZEnrdUFBQVqyZMlzPwcAABwRxRYAgBdgMpnk7e0tb29vxcTEaP369fr777+VNWvWBO/Y+vn5aePGjTKbzYqOjra+4vGGDRt05coV66nHc+fOVceOHeMd27dvX+3du1cpUqTQqFGjlDJlSknS4cOH5eHhobx58ybiZwsAgH0wWSwWi9EhAADO58CBAypevLj279/P+9g6AL6fAAAj8arIAAAAAAC7RrEFAAAAANg1ii0AAAAAwK5RbAEA+JfAwEAFBQUZHSNBIiMjVaVKFVWqVEnlypXTr7/+Gu/6oUOHytPT84njoqOjra+wbDab5e7ursOHD0uSfvvtN1WtWlW+vr768MMPJT16/99MmTJZb79q1aqk/+QAAEggXhUZAOA0Hj58+MTb/ST148S9RuN/vZXQy2abN2+eypcvr2HDhmnHjh0aMWKEli5dKkm6cOGCTp48+dTjUqVKpbCwMEnS+fPnVbVqVb333nuKjo5W7969tWTJknjv9ys9es/fzZs3v3BGAACSGju2AACbEBERofLly8vHx0dms1mRkZH6+++/5efnpypVqqhz587y9/eXJLVt21Y7duyQJIWFhal9+/aSpO+++06+vr4qUaKEBg8ebL3vnDlzqkuXLqpSpYpu3rypxo0by9fXVz4+Pjpx4oQkafny5SpatKhq166t/fv3PzNnTEyMOnToIF9fX3l7e2vXrl3WTJ06dVKtWrUUHBwsT09PDRo0SH5+fjp//ryaNm2qSpUqqXz58tb7//cxL6NgwYK6deuWJOn69et67bXXrNcFBgbG+zo8S1BQkFq0aCFJ2r17t9KlS6fWrVvLbDbHew/e3377TRUqVFDLli115cqVl8oLAEBSYMcWAGATQkJCVLlyZQUGBkp6tNPZs2dPtWvXTi1atNCMGTOsJfRZ2rdvr08//VQWi0XlypVThw4dlDNnTl28eFF9+vRRrly51L9/f9WvX19NmzbVkSNH1LdvXy1btkz9+/fXnj17lC5dOvn6+j7zMaZPn668efPqxx9/1JUrV1S7dm1ruc2ePbsmT54sSercubOq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V65cypIli1KnTq1y5cpp7969kh6V2H/z8PBQpkyZXiojACBpMUNfboYWLFhQt27dkiRdv35dr732mvW6581Q6f/m7+3bt1W4cGFJUt68eXX//n1ZLBZFRkZa769w4cK6cePGUx8HcAa8jy2cSkhIiCpXrqzAwEBJj1Zpe/bsqXbt2qlFixaaMWOGdYA+S/v27fXpp5/KYrGoXLly6tChg3LmzKmLFy+qT58+ypUrl/r376/69euradOmOnLkiPr27atly5apf//+2rNnj9KlSydfX99nPsb06dOVN29e/fjjj7py5Ypq165tHczZs2fX5MmTJT16D93q1avriy++0HfffacCBQpo4cKFCg8PV5s2bbR79+4njnnci7xR/fLly/XFF1/o5s2bWr9+vSSpW7duGjZsmO7fv686deqoaNGi8vHxsR5z7dq1eEU1U6ZMunbt2nO/vgAA28QMjS+hM9TLy0tDhgxRkSJFdOPGDW3btk3Sf89QSbp3754CAgJ05MgRjRo1SpKUJ08e3b17VwUKFNCNGze0cuVKSZKfn58CAgI0ffp0RUVFac+ePc/9XgCOhmILp9K4cWONHDlSLVq0UM6cORUYGKjw8HB169ZN0qPfZZk/f74kxXtD9sdPUVq6dKmmTZsmk8mks2fP6vz588qZM6eyZ8+uXLlySZIOHz6srVu36ocffrDe15UrV/Taa68pQ4YMkqQyZco8M+fhw4e1c+dObdiwQZKsK7CS5O3tbf3Y1dVV5cqVkyQdP35cDRo0kCTlz58/XoF8/JjHvcgb1derV0/16tXTwoULNXDgQC1atEhZsmSRJLm7u6tBgwbat29fvKGcJUsWRUZGWv9848YN6zEAAPvCDI0voTN0zJgxql+/vnr37q3du3erS5cuWr9+/X/OUElKnTq1tm3bpqtXr6pkyZJq3LixFi5cqOzZs2vFihWKiIhQvXr19Ouvv6pfv3763//+p4YNG2rhwoUaMGDAUws54KgotnAqLi4uGjlypCSpXbt2Cg4OVr58+fTLL78ob9681tVZScqcObPOnTsnSdbTZyVpyJAhOn78uNzc3FS+fHnrwHZ1dbXepnDhwipbtqzq1asn6dELPbi6uurvv//WrVu3lC5dOu3Zs0dFihR5as7ChQvL09NTPXv2tB4f5/HHMZlM1h8eChQooO3bt8vf31/h4eHx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lcfCloiIiIiIiAyNhS0REREREREZGgtbIiIiIiIiMjSbXu4nJSXFli9HFVTWODBezsEcR8bTOTCezufkyZMAGFNnYS2OjK3x3B4zxtA5MIc6n/LE0iZnRT516hQ6dOiAzMzMyr4U2YinpydSUlLQqlWrYvcxXs7H1dUVBQUFWg+DbITxdD5ubm7qtZLJ+Mw5FgDzqYF5enpi8+bNiImJYQydCHOo8ymtrinKJoUtUFgsXb582RYvRTbQsGHDUoPPeDmXc+fOAYB6QW8yNsbT+WRnZ8Pd3V3rYZCNFM2xzKfGZY4jY+hcmEOdz53qGjObFbZEREREREREWuDJo4iIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGj/BxWf2d82Buy4AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "reg = DTR(max_depth=3)\n", "reg.fit(X_train, y_train)\n", @@ -595,9 +928,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "619f8d94", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:55.531947Z", + "iopub.status.busy": "2023-07-25T23:59:55.531809Z", + "iopub.status.idle": "2023-07-25T23:59:55.575222Z", + "shell.execute_reply": "2023-07-25T23:59:55.574850Z" + } + }, "outputs": [], "source": [ "ccp_path = reg.cost_complexity_pruning_path(X_train, y_train)\n", @@ -623,12 +963,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "779a14b6", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:55.577111Z", + "iopub.status.busy": "2023-07-25T23:59:55.576968Z", + "iopub.status.idle": "2023-07-25T23:59:55.580045Z", + "shell.execute_reply": "2023-07-25T23:59:55.579754Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "28.06985754975404" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "best_ = grid.best_estimator_\n", "np.mean((y_test - best_.predict(X_test))**2)\n" @@ -652,12 +1009,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "2b04030b", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:55.581772Z", + "iopub.status.busy": "2023-07-25T23:59:55.581667Z", + "iopub.status.idle": "2023-07-25T23:59:55.879963Z", + "shell.execute_reply": "2023-07-25T23:59:55.879563Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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T82aNUtQBgAAHAnFFgDgVP79e7Vxu63//vhpvL29dfz4cf3888+aPHmyjh49qipVqqhjx47KmjVrgnds/fz8rC/8dObMGWXOnPmpj7du3TpVrFhRadKksV4W9yJRt2/fVoMGDVSyZEnrdUFBQVqyZMlzPwcAABwRxRYAgBdgMpnk7e0tb29vxcTEaP369fr777+VNWvWBO/Y+vn5aePGjTKbzYqOjra+4vGGDRt05coV66nHc+fOVceOHeMd27dvX+3du1cpUqTQqFGjlDJlSknS4cOH5eHhobx58ybiZwsAgH0wWSwWi9EhAADO58CBAypevLj279/P+9g6AL6fAAAj8arIAAAAAAC7RrEFAAAAANg1ii0AAAAAwK5RbAEA+JfAwEAFBQUZHSNBIiMjVaVKFVWqVEnlypXTr7/+Gu/6oUOHytPT84njoqOjra+wbDab5e7ursOHD0uSfvvtN1WtWlW+vr768MMPJT16/99MmTJZb79q1aqk/+QAAEggXhUZAOA0Hj58+MTb/ST148S9RuN/vZXQy2abN2+eypcvr2HDhmnHjh0aMWKEli5dKkm6cOGCTp48+dTjUqVKpbCwMEnS+fPnVbVqVb333nuKjo5W7969tWTJknjv9ys9es/fzZs3v3BGAACSGju2AACbEBERofLly8vHx0dms1mRkZH6+++/5efnpypVqqhz587y9/eXJLVt21Y7duyQJIWFhal9+/aSpO+++06+vr4qUaKEBg8ebL3vnDlzqkuXLqpSpYpu3rypxo0by9fXVz4+Pjpx4oQkafny5SpatKhq166t/fv3PzNnTEyMOnToIF9fX3l7e2vXrl3WTJ06dVKtWrUUHBwsT09PDRo0SH5+fjp//ryaNm2qSpUqqXz58tb7//cxL6NgwYK6deuWJOn69et67bXXrNcFBgbG+zo8S1BQkFq0aCFJ2r17t9KlS6fWrVvLbDbHew/e3377TRUqVFDLli115cqVl8oLAEBSYMcWAGATQkJCVLlyZQUGBkp6tNPZs2dPtWvXTi1atNCMGTOsJfRZ2rdvr08//VQWi0XlypVThw4dlDNnTl28eFF9+vRRrly51L9/f9WvX19NmzbVkSNH1LdvXy1btkz9+/fXnj17lC5dOvn6+j7zMaZPn668efPqxx9/1JUrV1S7dm1ruc2ePbsmT54sSercubOq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V65cypIli1KnTq1y5cpp7969kh6V2H/z8PBQpkyZXiojACBpMUNfboYWLFhQt27dkiRdv35dr732mvW6581Q6f/m7+3bt1W4cGFJUt68eXX//n1ZLBZFRkZa769w4cK6cePGUx8HcAa8jy2cSkhIiCpXrqzAwEBJj1Zpe/bsqXbt2qlFixaaMWOGdYA+S/v27fXpp5/KYrGoXLly6tChg3LmzKmLFy+qT58+ypUrl/r376/69euradOmOnLkiPr27atly5apf//+2rNnj9KlSydfX99nPsb06dOVN29e/fjjj7py5Ypq165tHczZs2fX5MmTJT16D93q1avriy++0HfffacCBQpo4cKFCg8PV5s2bbR79+4njnnci7xR/fLly/XFF1/o5s2bWr9+vSSpW7duGjZsmO7fv686deqoaNGi8vHxsR5z7dq1eEU1U6ZMunbt2nO/vgAA28QMjS+hM9TLy0tDhgxRkSJFdOPGDW3btk3Sf89QSbp3754CAgJ05MgRjRo1SpKUJ08e3b17VwUKFNCNGze0cuVKSZKfn58CAgI0ffp0RUVFac+ePc/9XgCOhmILp9K4cWONHDlSLVq0UM6cORUYGKjw8HB169ZN0qPfZZk/f74kxXtD9sdPUVq6dKmmTZsmk8mks2fP6vz588qZM6eyZ8+uXLlySZIOHz6srVu36ocffrDe15UrV/Taa68pQ4YMkqQyZco8M+fhw4e1c+dObdiwQZKsK7CS5O3tbf3Y1dVV5cqVkyQdP35cDRo0kCTlz58/XoF8/JjHvcgb1derV0/16tXTwoULNXDgQC1atEhZsmSRJLm7u6tBgwbat29fvKGcJUsWRUZGWv9848YN6zEAAPvCDI0voTN0zJgxql+/vnr37q3du3erS5cuWr9+/X/OUElKnTq1tm3bpqtXr6pkyZJq3LixFi5cqOzZs2vFihWKiIhQvXr19Ouvv6pfv3763//+p4YNG2rhwoUaMGDAUws54KgotnAqLi4uGjlypCSpXbt2Cg4OVr58+fTLL78ob9681tVZScqcObPOnTsnSdbTZyVpyJAhOn78uNzc3FS+fHnrwHZ1dbXepnDhwipbtqzq1asn6dELPbi6uurvv//WrVu3lC5dOu3Zs0dFihR5as7ChQvL09NTPXv2tB4f5/HHMZlM1h8eChQooO3bt8vf31/h4eHx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lcfCloiIiIiIiAyNhS0REREREREZGgtbIiIiIiIiMjSbXu4nJSXFli9HFVTWODBezsEcR8bTOTCezufkyZMAGFNnYS2OjK3x3B4zxtA5MIc6n/LE0iZnRT516hQ6dOiAzMzMyr4U2YinpydSUlLQqlWrYvcxXs7H1dUVBQUFWg+DbITxdD5ubm7qtZLJ+Mw5FgDzqYF5enpi8+bNiImJYQydCHOo8ymtrinKJoUtUFgsXb582RYvRTbQsGHDUoPPeDmXc+fOAYB6QW8yNsbT+WRnZ8Pd3V3rYZCNFM2xzKfGZY4jY+hcmEOdz53qGjObFbZEREREREREWuDJo4iIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGj/BxWf2d82Buy4AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "ax = subplots(figsize=(12,12))[1]\n", "plot_tree(G.best_estimator_,\n", @@ -696,12 +1070,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "7dedce31", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:55.882069Z", + "iopub.status.busy": "2023-07-25T23:59:55.881917Z", + "iopub.status.idle": "2023-07-25T23:59:56.036284Z", + "shell.execute_reply": "2023-07-25T23:59:56.035918Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
RandomForestRegressor(max_features=12, random_state=0)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "RandomForestRegressor(max_features=12, random_state=0)" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "bag_boston = RF(max_features=X_train.shape[1], random_state=0)\n", "bag_boston.fit(X_train, y_train)\n" @@ -720,10 +1114,38 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "1f2c7336", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:56.038138Z", + "iopub.status.busy": "2023-07-25T23:59:56.037994Z", + "iopub.status.idle": "2023-07-25T23:59:56.137043Z", + "shell.execute_reply": "2023-07-25T23:59:56.136608Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "14.634700151315787" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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Nv54NBrVsWPHdPTo0Yzrq+mzk+veZHPRRRdJUlV8dmbMmKEzzzxTS5Ys0datW3X++efrBz/4AZ8Z5b432VTTZ2b37t06fPiwFi9erOnTp2v69OnauXOn7rnnHk2fPl1z586t2s9OoXszOjo65Xeq6bNTDMJmmTU3NysajerZZ58dfyyZTOrVV1/N2EeEMf/5n/+pI0eOKBaLeT0U1xmGoRtvvFFPPPGEnnvuOTU3N2f8fMmSJaqtrc347Ozdu1f79++v+M9OoXuTzZ49eySpKj47k6XTaY2MjFT1ZyYX895kU02fmcsuu0yvv/669uzZM/71+7//+7r22mvH/7laPzuF7k22LV3V9NkpBsvoLnjvvfcy/nbT39+vPXv2qLGxUQsWLNAtt9yi73znOzrrrLPU3Nys22+/XfPmzdOVV17p3aDLJN+9aWxsVEdHh9atW6doNKp9+/bpG9/4hs4880ytWrXKw1GXx8aNG7Vjxw499dRTamhoGN8XFYlEdMIJJygSiej666/Xpk2b1NjYqHA4rJtuukltbW1atmyZx6N3V6F7s2/fPu3YsUOf+9zn1NTUpF//+te69dZbdemll2ZtWVJJNm/erMsvv1wLFizQ0NCQduzYoRdeeEE/+9nPqvozI+W/N9X8mZGkhoaGjD3PkjRz5kw1NTWNP16tn51C96baPztF8bocvhI9//zzhqQpX9ddd51hGGPtj26//XZj7ty5Rl1dnXHZZZcZe/fu9XbQZZLv3rz//vvGZz/7WeOUU04xamtrjdNPP9244YYbjHg87vWwyyLbfZFkPPzww+PXfPDBB8af/dmfGbNnzzZOPPFE46qrrjIGBga8G3SZFLo3+/fvNy699FKjsbHRqKurM84880zjv/7X/2okEglvB14GX/7yl43TTz/dmDFjhnHKKacYl112mfHP//zP4z+v1s+MYeS/N9X8mcllcjufav7sTDbx3vDZsS9kGIZRznALAACA6sGeTQAAALiGsAkAAADXEDYBAADgGsImAAAAXEPYBAAAgGsImwAAAHANYRMAAACuIWwCAADANYRNAAAAuIawCQAAANcQNgEAAOCa/x9BJ6QzTrxS2AAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "ax = subplots(figsize=(8,8))[1]\n", "y_hat_bag = bag_boston.predict(X_test)\n", @@ -745,12 +1167,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "0bba2439", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:56.139013Z", + "iopub.status.busy": "2023-07-25T23:59:56.138880Z", + "iopub.status.idle": "2023-07-25T23:59:56.900124Z", + "shell.execute_reply": "2023-07-25T23:59:56.899813Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "14.605662565263161" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "bag_boston = RF(max_features=X_train.shape[1],\n", " n_estimators=500,\n", @@ -777,12 +1216,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "90457fbe", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:56.901939Z", + "iopub.status.busy": "2023-07-25T23:59:56.901808Z", + "iopub.status.idle": "2023-07-25T23:59:57.011478Z", + "shell.execute_reply": "2023-07-25T23:59:57.011100Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "20.04276446710527" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "RF_boston = RF(max_features=6,\n", " random_state=0).fit(X_train, y_train)\n", @@ -803,12 +1259,116 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "8aae1857", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:57.013904Z", + "iopub.status.busy": "2023-07-25T23:59:57.013556Z", + "iopub.status.idle": "2023-07-25T23:59:57.022162Z", + "shell.execute_reply": "2023-07-25T23:59:57.021838Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
importance
lstat0.356203
rm0.332163
ptratio0.067270
crim0.055404
indus0.053851
dis0.041582
nox0.035225
tax0.025355
age0.021506
rad0.004784
chas0.004203
zn0.002454
\n", + "
" + ], + "text/plain": [ + " importance\n", + "lstat 0.356203\n", + "rm 0.332163\n", + "ptratio 0.067270\n", + "crim 0.055404\n", + "indus 0.053851\n", + "dis 0.041582\n", + "nox 0.035225\n", + "tax 0.025355\n", + "age 0.021506\n", + "rad 0.004784\n", + "chas 0.004203\n", + "zn 0.002454" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "feature_imp = pd.DataFrame(\n", " {'importance':RF_boston.feature_importances_},\n", @@ -857,10 +1417,34 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "887b4fa9", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-25T23:59:57.024067Z", + "iopub.status.busy": "2023-07-25T23:59:57.023921Z", + "iopub.status.idle": "2023-07-26T00:00:00.413857Z", + "shell.execute_reply": "2023-07-26T00:00:00.413519Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
GradientBoostingRegressor(learning_rate=0.001, n_estimators=5000,\n",
+       "                          random_state=0)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "GradientBoostingRegressor(learning_rate=0.001, n_estimators=5000,\n", + " random_state=0)" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "boost_boston = GBR(n_estimators=5000,\n", " learning_rate=0.001,\n", @@ -881,10 +1465,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "6c56696c", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:00.415790Z", + "iopub.status.busy": "2023-07-26T00:00:00.415651Z", + "iopub.status.idle": "2023-07-26T00:00:00.945897Z", + "shell.execute_reply": "2023-07-26T00:00:00.945457Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAApsAAAKTCAYAAABWwcMJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABfSUlEQVR4nO3deXhU5d3G8Xuy7wtLEpYAESL7DiIgaDUKat0AUUstLtVqwbVutBWXtqK+ahVFsbaKtgpiFUQLCqKiyL6vIiirkLAmgUAWkvP+8TDZSEImmZkzk/l+rutc58zMmZlfnNe+t8/qsCzLEgAAAOABQXYXAAAAgIaLsAkAAACPIWwCAADAYwibAAAA8BjCJgAAADyGsAkAAACPIWwCAADAY0LsLqCykpIS7d27V7GxsXI4HHaXAwAAgEosy9LRo0fVvHlzBQXV3Hbpc2Fz7969Sk1NtbsMAAAAnMHu3bvVsmXLGu/xubAZGxsryRQfFxdnczUAAACoLDc3V6mpqaW5rSY+FzadXedxcXGETQAAAB9WmyGPTBACAACAxxA2AQAA4DGETQAAAHiMz43ZBAAAgaW4uFhFRUV2l4FKwsLCzrisUW0QNgEAgC0sy1JmZqays7PtLgVVCAoKUlpamsLCwur1OYRNAABgC2fQTEpKUlRUFJu5+BDnJjv79u1Tq1at6vXbEDYBAIDXFRcXlwbNxo0b210OqtC0aVPt3btXJ0+eVGhoaJ0/hwlCAADA65xjNKOiomyuBNVxdp8XFxfX63MImwAAwDZ0nfsud/02hE0AAAB4DGETAADAZm3atNGLL75Y6/u//vprORwOv5jJT9gEAACoJYfDUePx+OOP1+lzly9frttvv73W9w8YMED79u1TfHx8nb7Pm5iNDgAAUEv79u0rvX7//fc1fvx4bdmypfS5mJiY0mvLslRcXKyQkDPHraZNm7pUR1hYmFJSUlx6j11o2QQAAKillJSU0iM+Pl4Oh6P08ffff6/Y2FjNmTNHvXv3Vnh4uBYuXKgff/xRV111lZKTkxUTE6O+ffvqiy++qPC5lbvRHQ6H/vnPf+qaa65RVFSU0tPTNWvWrNLXK3ejT5kyRQkJCfr888/VsWNHxcTEaOjQoRXC8cmTJ3X33XcrISFBjRs31sMPP6zRo0fr6quv9uQ/MsImAADwDZYl5eXZc1iW+/6ORx55RE8//bQ2b96sbt266dixY7rssss0f/58rV69WkOHDtUVV1yhXbt21fg5TzzxhEaOHKl169bpsssu06hRo3T48OFq7z9+/Liee+45/fvf/9Y333yjXbt26YEHHih9/ZlnntG7776rt956S999951yc3M1c+ZMd/3Z1aIbHQAA+ITjx6VyvdBedeyYFB3tns968skndfHFF5c+btSokbp37176+C9/+YtmzJihWbNmaezYsdV+zk033aQbbrhBkvTUU09p4sSJWrZsmYYOHVrl/UVFRZo8ebLatm0rSRo7dqyefPLJ0tdffvlljRs3Ttdcc40k6ZVXXtHs2bPr/ofWEi2bAAAAbtSnT58Kj48dO6YHHnhAHTt2VEJCgmJiYrR58+Yztmx269at9Do6OlpxcXHav39/tfdHRUWVBk1JatasWen9OTk5ysrK0jnnnFP6enBwsHr37u3S31YXtGwCAACfEBVlWhjt+m53ia7URPrAAw9o3rx5eu6559SuXTtFRkZqxIgRKiwsrPFzKm8R6XA4VFJS4tL9ljvHB9QRYRMAAPgEh8N9Xdm+5LvvvtNNN91U2n197Ngx7dixw6s1xMfHKzk5WcuXL9fgwYMlmW0oV61apR49enj0uwmbAAAAHpSenq6PPvpIV1xxhRwOhx599NEaWyg95a677tKECRPUrl07dejQQS+//LKOHDni8S1DGbMJAADgQS+88IISExM1YMAAXXHFFRoyZIh69erl9Toefvhh3XDDDfrNb36j/v37KyYmRkOGDFFERIRHv9dh+UJnfjm5ubmKj49XTk6O4uLi7C4HAAB4QH5+vrZv3660tDSPhx1UraSkRB07dtTIkSP1l7/85bTXa/qNXMlrdKMDAAAEgJ07d2ru3Lk6//zzVVBQoFdeeUXbt2/Xr371K49+L93oAAAAASAoKEhTpkxR3759NXDgQK1fv15ffPGFOnbs6NHvDfiWzddfl955R7rhBqmGdVUBAAD8Wmpqqr777juvf2/Ah83MTGnRIqlzZ7srAQAAaHgCvhu9VStz3rnT3joAAAAaIsLmqbB5hh2jAAAAUAcBHzZbtzbnXbsk31oECgAAwP8FfNhs2dKcjx+XDh2ytxYAAICGJuDDZkSE1CbpuGKVS1c6AACAmwV82NSDD2r7/mg9qP8jbAIAALgZYbNpU0lSmrYzIx0AANTI4XDUeDz++OP1+uyZM2e6rVZfEfDrbKpNG0kmbK6mZRMAANRg3759pdfvv/++xo8fry1btpQ+FxMTY0dZPo2WzbQ0c9J2utEBAECNUlJSSo/4+Hg5HI4Kz02bNk0dO3ZURESEOnTooFdffbX0vYWFhRo7dqyaNWumiIgItW7dWhMmTJAktTnV+HXNNdfI4XCUPm4IaNk8FTaba58yd+RLirC3HgAAApVlmeVh7BAVJTkc9fqId999V+PHj9crr7yinj17avXq1brtttsUHR2t0aNHa+LEiZo1a5amT5+uVq1aaffu3dq9e7ckafny5UpKStJbb72loUOHKjg42B1/lU8gbDZurOKoGAUfP6aS7Tsltbe7IgAAAtPx45Jd3dDHjknR0fX6iMcee0zPP/+8hg0bJklKS0vTpk2b9Prrr2v06NHatWuX0tPTdd5558nhcKi1c7FvSU1PzSFJSEhQSkpKverwNXSjOxyyWreRJMUe2q78fHvLAQAA/icvL08//vijbr31VsXExJQef/3rX/Xjjz9Kkm666SatWbNG7du319133625c+faXLV30LIpKbhdmrR5g9K0XXv2SO3a2V0RAAABKCrKtDDa9d31cOxU3W+88Yb69etX4TVnl3ivXr20fft2zZkzR1988YVGjhypjIwM/fe//63Xd/s6wqYkR7lJQjt3EjYBALCFw1Hvrmy7JCcnq3nz5vrpp580atSoau+Li4vTddddp+uuu04jRozQ0KFDdfjwYTVq1EihoaEqLi72YtXeQdiUSicJtdEOZqQDAIA6eeKJJ3T33XcrPj5eQ4cOVUFBgVasWKEjR47o/vvv1wsvvKBmzZqpZ8+eCgoK0gcffKCUlBQlJCRIMjPS58+fr4EDByo8PFyJiYn2/kFuwphNieWPAABAvf32t7/VP//5T7311lvq2rWrzj//fE2ZMkVpp3JGbGysnn32WfXp00d9+/bVjh07NHv2bAUFmTj2/PPPa968eUpNTVXPnj3t/FPcymFZlmV3EeXl5uYqPj5eOTk5iouL886Xrl0r9eihg2qsh24+qDff9M7XAgAQqPLz87V9+3alpaUpIoJlB31RTb+RK3mNlk2ptGWziQ7pwE9HbS4GAACg4SBsSlJcnIriGpnr7dvtrQUAAKABIWyeUtLKtG6G7d0h3xpYAAAA4L8Im6eEpreRJLU8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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "test_error = np.zeros_like(boost_boston.train_score_)\n", "for idx, y_ in enumerate(boost_boston.staged_predict(X_test)):\n", @@ -913,10 +1515,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "8a636f63", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:00.947856Z", + "iopub.status.busy": "2023-07-26T00:00:00.947708Z", + "iopub.status.idle": "2023-07-26T00:00:00.959031Z", + "shell.execute_reply": "2023-07-26T00:00:00.958695Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "14.481405918831591" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "y_hat_boost = boost_boston.predict(X_test);\n", "np.mean((y_test - y_hat_boost)**2)\n" @@ -936,12 +1556,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "4e2ab3c7", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:00.960939Z", + "iopub.status.busy": "2023-07-26T00:00:00.960794Z", + "iopub.status.idle": "2023-07-26T00:00:03.124886Z", + "shell.execute_reply": "2023-07-26T00:00:03.124529Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "14.501514553719565" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "boost_boston = GBR(n_estimators=5000,\n", " learning_rate=0.2,\n", @@ -986,12 +1623,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "id": "b0b41c04", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:03.126938Z", + "iopub.status.busy": "2023-07-26T00:00:03.126803Z", + "iopub.status.idle": "2023-07-26T00:00:04.882575Z", + "shell.execute_reply": "2023-07-26T00:00:04.882239Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
BART(burnin=5, ndraw=15, random_state=0)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "BART(burnin=5, ndraw=15, random_state=0)" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "bart_boston = BART(random_state=0, burnin=5, ndraw=15)\n", "bart_boston.fit(X_train, y_train)\n" @@ -1007,12 +1664,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "id": "fda8fffc", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:04.884481Z", + "iopub.status.busy": "2023-07-26T00:00:04.884344Z", + "iopub.status.idle": "2023-07-26T00:00:05.801195Z", + "shell.execute_reply": "2023-07-26T00:00:05.800892Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "20.739185417498764" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "yhat_test = bart_boston.predict(X_test.astype(np.float32))\n", "np.mean((y_test - yhat_test)**2)\n" @@ -1029,10 +1703,40 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "id": "be77f0e4", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:05.803030Z", + "iopub.status.busy": "2023-07-26T00:00:05.802900Z", + "iopub.status.idle": "2023-07-26T00:00:05.806091Z", + "shell.execute_reply": "2023-07-26T00:00:05.805780Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "crim 25.466667\n", + "zn 30.600000\n", + "indus 24.933333\n", + "chas 21.133333\n", + "nox 27.333333\n", + "rm 28.800000\n", + "age 23.466667\n", + "dis 26.000000\n", + "rad 25.000000\n", + "tax 21.733333\n", + "ptratio 26.800000\n", + "lstat 31.866667\n", + "dtype: float64" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "var_inclusion = pd.Series(bart_boston.variable_inclusion_.mean(0),\n", " index=D.columns)\n", @@ -1045,6 +1749,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,Rmd", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch9-svm-lab.ipynb b/docs/source/labs/Ch9-svm-lab.ipynb index 9c07d86..94aa676 100644 --- a/docs/source/labs/Ch9-svm-lab.ipynb +++ b/docs/source/labs/Ch9-svm-lab.ipynb @@ -23,9 +23,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "eeaa5be0", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:07.016487Z", + "iopub.status.busy": "2023-07-26T00:00:07.016196Z", + "iopub.status.idle": "2023-07-26T00:00:07.822651Z", + "shell.execute_reply": "2023-07-26T00:00:07.822165Z" + }, "lines_to_next_cell": 0 }, "outputs": [], @@ -47,9 +53,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "41a59634", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:07.824899Z", + "iopub.status.busy": "2023-07-26T00:00:07.824653Z", + "iopub.status.idle": "2023-07-26T00:00:07.850806Z", + "shell.execute_reply": "2023-07-26T00:00:07.850496Z" + } + }, "outputs": [], "source": [ "from sklearn.svm import SVC\n", @@ -68,9 +81,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "c9a175d7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:07.852684Z", + "iopub.status.busy": "2023-07-26T00:00:07.852555Z", + "iopub.status.idle": "2023-07-26T00:00:07.854324Z", + "shell.execute_reply": "2023-07-26T00:00:07.854058Z" + } + }, "outputs": [], "source": [ "roc_curve = RocCurveDisplay.from_estimator # shorthand\n" @@ -101,12 +121,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "a7216b47", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:07.855974Z", + "iopub.status.busy": "2023-07-26T00:00:07.855853Z", + "iopub.status.idle": "2023-07-26T00:00:07.959154Z", + "shell.execute_reply": "2023-07-26T00:00:07.958758Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "rng = np.random.default_rng(1)\n", "X = rng.standard_normal((50, 2))\n", @@ -129,12 +166,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "ed329198", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:07.961084Z", + "iopub.status.busy": "2023-07-26T00:00:07.960943Z", + "iopub.status.idle": "2023-07-26T00:00:07.965329Z", + "shell.execute_reply": "2023-07-26T00:00:07.964984Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
SVC(C=10, kernel='linear')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "SVC(C=10, kernel='linear')" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "svm_linear = SVC(C=10, kernel='linear')\n", "svm_linear.fit(X, y)\n" @@ -153,10 +210,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "95494b8b", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:07.967158Z", + "iopub.status.busy": "2023-07-26T00:00:07.967019Z", + "iopub.status.idle": "2023-07-26T00:00:08.140288Z", + "shell.execute_reply": "2023-07-26T00:00:08.139902Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "plot_svm(X,\n", @@ -180,12 +255,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "98c2236f", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:08.142381Z", + "iopub.status.busy": "2023-07-26T00:00:08.142228Z", + "iopub.status.idle": "2023-07-26T00:00:08.288040Z", + "shell.execute_reply": "2023-07-26T00:00:08.287728Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "svm_linear_small = SVC(C=0.1, kernel='linear')\n", "svm_linear_small.fit(X, y)\n", @@ -209,12 +301,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "b498f594", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:08.290027Z", + "iopub.status.busy": "2023-07-26T00:00:08.289879Z", + "iopub.status.idle": "2023-07-26T00:00:08.292670Z", + "shell.execute_reply": "2023-07-26T00:00:08.292365Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1.17303943, 0.77348227]])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "svm_linear.coef_\n" ] @@ -230,12 +339,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "b65e80d6", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:08.294425Z", + "iopub.status.busy": "2023-07-26T00:00:08.294292Z", + "iopub.status.idle": "2023-07-26T00:00:08.321864Z", + "shell.execute_reply": "2023-07-26T00:00:08.321564Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "{'C': 1}" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "kfold = skm.KFold(5, \n", " random_state=0,\n", @@ -261,12 +387,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "bba8fad7", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:08.323686Z", + "iopub.status.busy": "2023-07-26T00:00:08.323561Z", + "iopub.status.idle": "2023-07-26T00:00:08.326172Z", + "shell.execute_reply": "2023-07-26T00:00:08.325868Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.46, 0.46, 0.72, 0.74, 0.74, 0.74, 0.74])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "grid.cv_results_[('mean_test_score')]\n" ] @@ -285,9 +428,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "ad64269d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:08.327966Z", + "iopub.status.busy": "2023-07-26T00:00:08.327837Z", + "iopub.status.idle": "2023-07-26T00:00:08.329944Z", + "shell.execute_reply": "2023-07-26T00:00:08.329652Z" + } + }, "outputs": [], "source": [ "X_test = rng.standard_normal((20, 2))\n", @@ -307,10 +457,74 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "5107fca1", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:08.331702Z", + "iopub.status.busy": "2023-07-26T00:00:08.331566Z", + "iopub.status.idle": "2023-07-26T00:00:08.336742Z", + "shell.execute_reply": "2023-07-26T00:00:08.336418Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Truth-11
Predicted
-184
126
\n", + "
" + ], + "text/plain": [ + "Truth -1 1\n", + "Predicted \n", + "-1 8 4\n", + " 1 2 6" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "best_ = grid.best_estimator_\n", "y_test_hat = best_.predict(X_test)\n", @@ -330,10 +544,74 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "0320d9e0", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:08.338628Z", + "iopub.status.busy": "2023-07-26T00:00:08.338505Z", + "iopub.status.idle": "2023-07-26T00:00:08.343289Z", + "shell.execute_reply": "2023-07-26T00:00:08.342971Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Truth-11
Predicted
-120
1810
\n", + "
" + ], + "text/plain": [ + "Truth -1 1\n", + "Predicted \n", + "-1 2 0\n", + " 1 8 10" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "svm_ = SVC(C=0.001,\n", " kernel='linear').fit(X, y)\n", @@ -357,10 +635,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "84d7e778", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:08.345118Z", + "iopub.status.busy": "2023-07-26T00:00:08.344986Z", + "iopub.status.idle": "2023-07-26T00:00:08.440282Z", + "shell.execute_reply": "2023-07-26T00:00:08.439921Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "X[y==1] += 1.9;\n", "fig, ax = subplots(figsize=(8,8))\n", @@ -377,10 +673,74 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "abb1f8be", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:08.442154Z", + "iopub.status.busy": "2023-07-26T00:00:08.442019Z", + "iopub.status.idle": "2023-07-26T00:00:08.447154Z", + "shell.execute_reply": "2023-07-26T00:00:08.446831Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Truth-11
Predicted
-1250
1025
\n", + "
" + ], + "text/plain": [ + "Truth -1 1\n", + "Predicted \n", + "-1 25 0\n", + " 1 0 25" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "svm_ = SVC(C=1e5, kernel='linear').fit(X, y)\n", "y_hat = svm_.predict(X)\n", @@ -400,12 +760,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "2e4ed2f5", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:08.448970Z", + "iopub.status.busy": "2023-07-26T00:00:08.448846Z", + "iopub.status.idle": "2023-07-26T00:00:08.571150Z", + "shell.execute_reply": "2023-07-26T00:00:08.570802Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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666Tx+PRggULdP/99+vQoUN2l+Uo3/ve97R8+fLR03hWrlypF154we6yHOvrX/+6DMPQo48+ancpCYngOYdWr16tn/3sZzp06JB++ctf6ujRo/rQhz5kd1mOcfDgQUUiET355JPav3+/vv3tb+v73/++vvCFL9hdmmMMDw/rwQcf1Kc+9Sm7S3GEZ599Vo899pi+9KUv6c0339SVV16pNWvWqK2tze7SHKO/v19XXnmlnnjiCbtLcaStW7fqkUce0euvv66XXnpJIyMjet/73qf+/n67S3OMsrIyff3rX9euXbv0pz/9Sbfeeqvuu+8+7d+/3+7SHGfnzp168skntXz5crtLSVwm4mbTpk2mYRjm8PCw3aU41je+8Q1z8eLFdpfhOD/+8Y/N/Px8u8uw3fXXX28+8sgjo/fD4bBZWlpqrl+/3saqnEuSuXHjRrvLcLS2tjZTkrl161a7S3E0n89n/vCHP7S7DEcJBALmRRddZL700kvmLbfcYn7mM5+xu6SExIhnnHR1demnP/2pbrrpJqWnp9tdjmP19vaqsLDQ7jLgQMPDw9q1a5duv/320cdcLpduv/12bd++3cbKkMh6e3sliZ87kwiHw9qwYYP6+/u1cuVKu8txlEceeUR33333uJ9JmD2C5xz73Oc+p9zcXM2bN08NDQ3atGmT3SU5Vn19vb773e/qL/7iL+wuBQ7U0dGhcDis4uLicY8XFxerpaXFpqqQyCKRiB599FHV1tZq2bJldpfjKHv37lVeXp4yMzP1yU9+Uhs3btRll11md1mOsWHDBr355ptav3693aUkPILnND7/+c/LMIwpPw4ePDh6/Wc/+1m99dZbevHFF+V2u7Vu3TqZSX4q6WzfI0lqamrSnXfeqQcffFCf+MQnbKrcGufz/gCYe4888oj27dunDRs22F2K41xyySXavXu33njjDX3qU5/SQw89pHfeecfushyhsbFRn/nMZ/TTn/5UWVlZdpeT8DirfRrt7e3q7Oyc8prq6mplZGSc8/ipU6dUXl6uP/7xj0k9ZTHb96i5uVmrVq3SjTfeqKeeekouV3L//XM+30NPPfWUHn30UfX09MS5OucaHh5WTk6OfvGLX+j+++8fffyhhx5ST08PswkTMAxDGzduHPd+IerTn/60Nm3apFdeeUWLFy+2uxzHu/3227VkyRI9+eSTdpdiu+eee04PPPCA3G736GPhcFiGYcjlcikYDI57DlNLs7sApysqKlJRUdF5fW4kEpEkBYPBuSzJcWbzHjU1NWn16tVasWKFfvzjHyd96JQu7HsolWVkZGjFihXavHnzaJCKRCLavHmzPv3pT9tbHBKGaZr6y7/8S23cuFFbtmwhdM5QJBJJ+t9dM3Xbbbdp79694x57+OGHdemll+pzn/scoXOWCJ5z5I033tDOnTv1nve8Rz6fT0ePHtXf//3fa8mSJUk92jkbTU1NWrVqlSorK/Wtb31L7e3to8+VlJTYWJlzNDQ0qKurSw0NDQqHw9q9e7ckaenSpcrLy7O3OBs89thjeuihh3Tttdfq+uuv13e+8x319/fr4Ycftrs0x+jr61N9ff3o/ePHj2v37t0qLCxURUWFjZU5wyOPPKJnnnlGmzZtksfjGe0Pzs/PV3Z2ts3VOcPjjz+u97///aqoqFAgENAzzzyjLVu2qK6uzu7SHMHj8ZzTExxby0Gv8Hmwd1F98nj77bfN1atXm4WFhWZmZqZZVVVlfvKTnzRPnTpld2mO8eMf/9iUNOEHoh566KEJ35+XX37Z7tJs893vftesqKgwMzIyzOuvv958/fXX7S7JUV5++eUJv2ceeughu0tzhMl+5vz4xz+2uzTH+PM//3OzsrLSzMjIMIuKiszbbrvNfPHFF+0uy9HYTun80eMJAAAASyR/gx0AAAAcgeAJAAAASxA8AQAAYAmCJwAAACxB8AQAAIAlCJ4AAACwBMETAAAAliB4AgAAwBIETwAAAFiC4AkAAABLEDwBAABgif8fhxsgoomPxScAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "plot_svm(X,\n", @@ -428,10 +805,74 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "164a611c", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:08.573074Z", + "iopub.status.busy": "2023-07-26T00:00:08.572945Z", + "iopub.status.idle": "2023-07-26T00:00:08.578056Z", + "shell.execute_reply": "2023-07-26T00:00:08.577758Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Truth-11
Predicted
-1250
1025
\n", + "
" + ], + "text/plain": [ + "Truth -1 1\n", + "Predicted \n", + "-1 25 0\n", + " 1 0 25" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "svm_ = SVC(C=0.1, kernel='linear').fit(X, y)\n", "y_hat = svm_.predict(X)\n", @@ -451,12 +892,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "c67591a1", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:08.579932Z", + "iopub.status.busy": "2023-07-26T00:00:08.579791Z", + "iopub.status.idle": "2023-07-26T00:00:08.710958Z", + "shell.execute_reply": "2023-07-26T00:00:08.710610Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "plot_svm(X,\n", @@ -487,9 +945,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "322be574", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:08.712863Z", + "iopub.status.busy": "2023-07-26T00:00:08.712722Z", + "iopub.status.idle": "2023-07-26T00:00:08.714989Z", + "shell.execute_reply": "2023-07-26T00:00:08.714695Z" + } + }, "outputs": [], "source": [ "X = rng.standard_normal((200, 2))\n", @@ -508,12 +973,39 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "04fda182", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:08.716729Z", + "iopub.status.busy": "2023-07-26T00:00:08.716589Z", + "iopub.status.idle": "2023-07-26T00:00:08.810747Z", + "shell.execute_reply": "2023-07-26T00:00:08.810365Z" + }, "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp4AAAKTCAYAAACw6AhNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAADO3UlEQVR4nOzddXwT9xsH8M/dJfU2dRfc3Rk2bDBkwBjz7Tfm/mPM3X9zH3OBbTAfsAGD4cPd3Vrq7m2a5O5+f4QWSps0bdNI+3m/XoyRu949TSVPvvI8gqqqKoiIiIiImpjo7ACIiIiIqGVg4klEREREDsHEk4iIiIgcgoknERERETkEE08iIiIicggmnkRERETkEEw8iYiIiMghNM4OwBpFUZCWlgZ/f38IguDscIiIiIjoIqqqori4GNHR0RBF62OaLp14pqWlIS4uztlhEBEREVEdkpOTERsba/Ucl048/f39AZg/kYCAACdHQ0REREQXKyoqQlxcXFXeZo1LJ56V0+sBAQFMPImIiIhcmC3LIrm5iIiIiIgcgoknERERETkEE08iIiIicggmnkRERETkEEw8iYiIiMghmHgSERERkUMw8SQiIiIih2DiSUREREQOwcSTiIiIiByCiScREREROQQTTyIiIiJyCCaeREREROQQTDyJiIiIyCGYeBIRERGRQzDxJCIiIiKHYOJJRERERA7BxJOIiIiIHIKJJxERERE5BBNPIiIiInIIJp5ERERE5BAaZwdAROSKzpwtxZoN2SguMSE6ygvjLo2ALkDr7LCIiNwaE08iogsYjAr+9/5RrPo3G5IICIIAWVHxyben8cDtbTF9YoyzQyQiclucaiciusCbHx/H6g3ZAABZAUyyClUFTCYV7312Eqs3ZDk5QiIi98XEk4jonPRMPZavyYSq1n5cEIBvFiRCtXQCERFZxcSTiOicf7fkQBAsH1dVICmlHMmp5Y4LioioGWHiSUR0TrlehihayTzPKSuXHRANEVHzw8STiOichDgfyLL1aXRJEhAd6eWgiIiImhcmnkRE5wwdEAKdv8bidLskChg1NAwB/iyrRETUEEw8iYjO0WpFPDO7E0RBgHjRb0dJBIKDtLhvZhvnBEdE1Aww8SQiusDgfiGY80ZP9OsZhMqBTw8PERPHRuHLd/sgNMTTqfEREbkzQXXhuiBFRUXQ6XQoLCxEQECAs8MhohamqMSIsjIZQTotPD0lZ4dDROSS6pOvsXMREZEFAX5aBPhxPScRkb1wqp2IiIiIHIKJJxERERE5BBNPIiJyS6qqwmhU2MKUyI1wjScREbmV/AIDflyYjD9XZKCk1AQfbwkTxkTi+ivjEB7KqgNErowjnkRE5DYys/W4ddYu/LQoBSWlJgDmFqYLl6Zi5oM7cTa1zMkREpE1TDyJiMhtvDnnBPLyDVCU6o/LClBSasIr7x51TmBEZBMmnkRE5BbSM/XYtisPslL7cVkBDh8vxokzJY4NjIhsxsSTiIjcwqlE2xLKE6eYeBK5KiaeRETkFrRa216yPDz40kbkqvjTSUREbqFHFx28vay/bGkkAf17BTkoIiKqLyaeRETkFry9JFw9JRaCheOCAEweFwVdANucErkqJp5EROQ2br2uFSaMiQQASJIAQTD/DQAjBofigdvbOjM8IqqDoLpwy4eioiLodDoUFhYiICDA2eEQEZGLOH6qGMtWZyIntwJBgR4YPyoCXTr4QxAsjYcSUVOpT77GzkVEROR2OrT1R4e2/s4Og4jqiVPtREREROQQTDyJiIiIyCGYeBIRERGRQzDxJCIiIiKHYOJJRERERA7BxJOIiIiIHIKJJxERERE5BBNPIiIiInIIJp5ERERE5BBMPImIiIjIIZh4EhEREZFDMPEkIiIiIodg4klEREREDsHEk4iIiIgcgoknERERETkEE08iIiIicggmnkRERETkEEw8iYiIiMghmHgSERERkUMw8SQiIiIih2DiSUREREQOwcSTiIiIiByCiScREREROQQTTyIiIiJyCCaeREREROQQTDyJiIiIyCGYeBIRERGRQzDxJCIiIiKHYOJJRERERA7BxJOIiIiIHIKJJxERERE5BBNPIiIiInIIJp5ERERE5BBMPImIiIjIIZh4EhEREZFDMPEkIiIiIodg4klEREREDsHEk4iIiIgcgoknERERETkEE08iIiIicggmnkRERETkEEw8iYiIiMghmHgSERERkUNonB0AEREREVmWlVOBxcvTsHVnHmRFRc+uOkybEI1Wcb7ODq3emHgSERERuagde/Lw+CuHYDIpUBTzY2eSSvHH0jQ8dl8HTB4X5dwA64lT7UREREQuKCevAk+8cghG4/mkEwBkBVBV4I2Pj+Pw8SLnBdgADks8X3/9dQiC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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "ax.scatter(X[:,0],\n", @@ -534,10 +1026,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "0c2690d1", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:08.812539Z", + "iopub.status.busy": "2023-07-26T00:00:08.812440Z", + "iopub.status.idle": "2023-07-26T00:00:08.816647Z", + "shell.execute_reply": "2023-07-26T00:00:08.816383Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
SVC(C=1, gamma=1)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "SVC(C=1, gamma=1)" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "(X_train, \n", " X_test,\n", @@ -561,10 +1074,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "3eb171e8", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:08.818364Z", + "iopub.status.busy": "2023-07-26T00:00:08.818238Z", + "iopub.status.idle": "2023-07-26T00:00:09.069609Z", + "shell.execute_reply": "2023-07-26T00:00:09.069226Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp4AAAKTCAYAAACw6AhNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACWF0lEQVR4nOzdd3hb5d0+8PscyRqWl7z3SBzHznTiGAKEEVbYBAolXVDoevuWvu3bDZ100f12/rppCy0NLXuHQIGQhICz7cRJvPe2bNmyJFvS+f0hSx6SZTmRjtb9uS5f2EdH1oMTx7e/z/N8H0GSJAlEREREREEmhnoARERERBQbGDyJiIiISBYMnkREREQkCwZPIiIiIpIFgycRERERyYLBk4iIiIhkweBJRERERLJQhnoAvjgcDnR3dyMxMRGCIIR6OEREREQ0jyRJGBsbQ25uLkTRd00zrINnd3c3CgoKQj0MIiIiIlpER0cH8vPzfd4T1sEzMTERAPDai0eRoEsM8WiIiIiIaL5x0xiuuK7Sndt8Cevg6ZpeT9AlIiGBwZOIiIgoXPmzLJKbi4iIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSERERkSwYPImIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSERERkSwYPImIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSERERkSwYPImIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSERERkSwYPImIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSERERkSwYPImIiIhIFgyeREQUlibMJqyuysTqqkxMmE2hHg4RBQCDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSEVFYkRwSDrYO40cvnXJfe+1kH6xT9hCOiogCQRnqARAREbnY7A78eNdp7G8aAmxW9/XfvdmMF04O48Fb1kKfoA7hCInoXLDiSUREYeOxmg683TQEAHBI0pzHekat+MHLp7w9jYgiBCueREQUEvN7c9psDjxzsBn26Sl1yWZxPybZLLABqGs340R7P0oydB6fL17reY2IwguDJxERhUT1lhK/72177B73++/9h/d7ThzqP9chEVGQcaqdiIiIiGTBiicREYVEzd6WOR9PTjnwkb/VwDLlAOCcXndVOovueAiCUgMA+N6ta1CWlSjvYIkoIBg8iYgoJOavyYzXAtdvKMYzR7vhkADHrMcEpQZKlRYl6fGoLMoCBEHewRJRQHCqnYiIwsYHNxdhTW4yAECclS0FAdDHx+Er11QwdBJFMFY8iYgobKiUCjxw82q81TCA5w+3oHn6+gfOL8KNG4uRoIkL6fiI6Nyw4klERGFFqRCxtTwL37llrfvazRtyGTqJogCDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZcFc7ERGFpXitjsdgEkUZVjyJiIiISBYMnkREREQkCwZPIiIiIpIFgycRERERyYLBk4iIiIhkweBJRERERLJg8CQiIiIiWTB4EhEREZEsGDyJiIiISBYMnkREREQkCwZPIiIiIpIFgycRERERyYLBk4iIiIhkweBJRERERLJg8CQiIiIiWTB4EhEREZEsGDyJiIiISBYMnkREREQkCwZPIiIiIpIFgycRERERyYLBk4iIiIhkweBJRERERLJg8CQiIiIiWTB4EhEREZEsGDyJiIiISBYMnkREREQkCwZPIiIiIpIFgycRERERyYLBk4iIiIhkweBJRERERLJg8CQiIiIiWTB4EhEREZEsGDyJiIiISBYMnkREREQkCwZPIiIiIpIFgycRERERyYLBk4iIiIhkIVvw/MEPfgBBEPDZz35WrpckIiIiojAiS/CsqanB73//e6xbt06OlyMiIiKiMBT04Dk+Po4PfOAD+OMf/wi9Xh/slyMiIiKiMBX04PmpT30K119/Pa688spF77VarTAajXPeiIiIiCg6KIP5yXfu3InDhw+jpqbGr/sffPBBPPDAA8EcEhERERGFSNAqnh0dHfjMZz6Df/zjH9BoNH4957777sPo6Kj7raOjI1jDIyIiIiKZBa3ieejQIfT392Pjxo3ua3a7HXv27MGvf/1rWK1WKBSKOc9Rq9VQq9XBGhIRERERhVDQgucVV1yB2traOdfuvvtulJeX48tf/rJH6CQiIiKi6Ba04JmYmIg1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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "plot_svm(X_train,\n", @@ -587,10 +1118,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "9a6b905b", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:09.071637Z", + "iopub.status.busy": "2023-07-26T00:00:09.071503Z", + "iopub.status.idle": "2023-07-26T00:00:09.226780Z", + "shell.execute_reply": "2023-07-26T00:00:09.226403Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp4AAAKTCAYAAACw6AhNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACRNElEQVR4nOzddXhc55k28PucYc0IRsxgybZk5tghQ8AOQ5M2pZS70BR3u23KnBS2Xynbbbe06bZN2jA7DjmxHcdsS7Zky2JmaUDD53x/jNCaGcmW5gzdv+vyZWnmzMxji2698LyCLMsyiIiIiIjCTIx0AURERESUGBg8iYiIiEgRDJ5EREREpAgGTyIiIiJSBIMnERERESmCwZOIiIiIFMHgSURERESKUEe6gFAkSUJnZyeSk5MhCEKkyyEiIiKiC8iyDKvVivz8fIhi6DHNqA6enZ2dKCoqinQZRERERDSLtrY2FBYWhrwmqoNncnIyAODVF07AZEyOcDVEREREdCGb3YprblwzkdtCiergOT69bjImw2Ri8CQiIiKKVnNZFsnNRURERESkCAZPIiIiIlIEgycRERERKYLBk4iIiIgUweBJRERERIpg8CQiIiIiRTB4EhEREZEiGDyJiIiISBEMnkRERESkCAZPIiIiIlIEgycRERERKYLBk4iIiIgUweBJRERERIpg8CQiIiIiRTB4EhEREZEiGDyJiIiISBEMnkRERESkCAZPIiIiIlIEgycRERERKYLBk4iIiIgUweBJRERERIpg8CQiIiIiRTB4EhEREZEiGDyJiIiISBEMnkRERESkCAZPIiIiIlIEgycRERERKYLBk4iIiIgUweBJRERERIpg8CQiIiIiRTB4EhEREZEiGDyJiIiISBEMnkRERESkCAZPIiIiIlIEgycRERERKYLBk4iIiIgUweBJRERERIpg8CQiIiIiRTB4EhEREZEiGDyJiIiISBEMnkRERESkCAZPIiIiIlIEgycRERERKYLBk4iIiIgUweBJRERERIpg8CQiIiIiRagjXQAREdFUsiTjaOsQXqrpRtewAykGDbYvzcbWpVnQaVSRLo+I5oHBk4iIoobXJ+HHu8/iQMMAREGAJMsQhh2o6bTgiePteOCOlTCbdJEuk4guEafaiYgoajx6uA1vNwwAACRZBgCM/YWuERcefKkuUqUR0QJg8CQioqjg8frw7MlOyEHul2QZZ7qsaOi1KVoXES0cBk8iIooKLQOjsLt9Ia8RBaC6fUShiohooTF4EhFRVJCDDXVeQJrrhUQUdRg8iYgoKhRnJEGvCf1jSZKBZQUpClVERAuNwZOIiKKCTqPCDStyIQqB7xcFAeVZRlTmJCtbGBEtGAZPIiKKGh/YXIIV+akAMC2ACgJgTtLgy7uq/O8QUUxiH08iIooaWrUK375tOd6q7xtrIO9Esl6NHVU52Lk8Bya9JtIlEtE8MHgSEVFUUatEbK/MwfbKnEiXQkQLjFPtRERERKQIBk8iIiIiUgSDJxEREREpgsGTiIiIiBTB4ElEREREimDwJCIiIiJFMHgSERERkSIYPImIiIhIEQyeRERERKQIBk8iIiIiUgSDJxEREREpgsGTiIiIiBTB4ElEREREimDwJCIiIiJFMHgSERERkSIYPImIiIhIEQyeRERERKQIBk8iIiIiUgSDJxEREREpgsGTiIiIiBTB4ElEREREimDwJCIiIiJFMHgSERERkSIYPImIiIhIEQyeRERERKQIBk8iIiIiUgSDJxEREREpgsGTiIiIiBTB4ElEREREimDwJCIiIiJFMHgSERERkSIYPImIiIhIEQyeRERERKQIBk8iIiIiUgSDJxEREREpgsGTiIiIiBTB4ElEREREimDwJCIiIiJFMHgSERERkSIYPImIiIhIEQyeRERERKQIBk8iIiIiUoRiwfPBBx+EIAj43Oc+p9RLEhEREVEUUSR4Hj58GL/5zW+watUqJV6OiIiIiKJQ2IOnzWbD+9//fvzP//wPzGZzuF+OiIiIiKJU2IPnpz71Kdx000249tprZ73W5XLBYrFM+0NERERE8UEdzid/5JFHcOzYMRw+fHhO1z/wwAP49re/Hc6SiIiIiChCwjbi2dbWhs9+9rP4y1/+Ar1eP6fH3H///RgZGZn409bWFq7yiIiIiEhhYRvxPHr0KHp7e7Fu3bqJ23w+H95880386le/gsvlgkqlmvYYnU4HnU4XrpKIiIiIKILCFjyvueYaVFdXT7vtIx/5CCorK/GlL31pRugkIiIiovgWtuCZnJyMFStWTLvNaDQiIyNjxu1EREREFP94chERERERKSKsu9ov9MYbbyj5ckREREQURTjiSURERESKYPAkIiIiIkUweBIRERGRIhg8iYiIiEgR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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "svm_rbf = SVC(kernel=\"rbf\", gamma=1, C=1e5)\n", "svm_rbf.fit(X_train, y_train)\n", @@ -613,10 +1162,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "5ab01d6c", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:09.228682Z", + "iopub.status.busy": "2023-07-26T00:00:09.228544Z", + "iopub.status.idle": "2023-07-26T00:00:09.323984Z", + "shell.execute_reply": "2023-07-26T00:00:09.323680Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'C': 1, 'gamma': 0.5}" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "kfold = skm.KFold(5, \n", " random_state=0,\n", @@ -643,10 +1210,84 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "166a6acb", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:09.325768Z", + "iopub.status.busy": "2023-07-26T00:00:09.325629Z", + "iopub.status.idle": "2023-07-26T00:00:09.556381Z", + "shell.execute_reply": "2023-07-26T00:00:09.555990Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Truth12
Predicted
1696
2619
\n", + "
" + ], + "text/plain": [ + "Truth 1 2\n", + "Predicted \n", + "1 69 6\n", + "2 6 19" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp4AAAKTCAYAAACw6AhNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACWlUlEQVR4nOzdd1xb590+/uscCSQhMcReZtjYBhtsbEzilTjOcrYzm3QlTcczfm2f9ulO906a9unT+e1O23Q8TtsMZxNnOfEM8QSDbbDZewiE0ABJ5/eHkEAgCWyjo3W9Xy+/AkdH0h0PuPjc9/25BUmSJBARERERBZkY6gEQERERUWxg8CQiIiIiWTB4EhEREZEsGDyJiIiISBYMnkREREQkCwZPIiIiIpIFgycRERERyUIZ6gEE4nQ60d3djcTERAiCEOrhEBEREdEskiRhbGwMubm5EMXANc2wDp7d3d1YsmRJqIdBRERERPPo6OhAfn5+wHvCOngmJiYCAF578Th02sQQj4aIiIiIZjONj+Gamyo9uS2QsA6e7ul1nTYROh2DJxEREVG4WsiySG4uIiIiIiJZMHgSERERkSwYPImIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSERERkSwYPImIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSERERkSwYPImIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSERERkSwYPImIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSERERkSwYPImIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSEVFYMlvGsboqE6urMmG2jId6OES0CBg8iYiIiEgWDJ5EREREJAsGTyIiIiKSBYMnEREREcmCwZOIiMKK5JTwbuswHn3ptOfaaw19sE06QjgqIloMylAPgIiIyM3ucOKHNWdw4NwQYLd5rv9673m80DCMh++ogF6nCuEIiehSsOJJRERh44naDhw8NwQAcEqS12M9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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "best_svm = grid.best_estimator_\n", "fig, ax = subplots(figsize=(8,8))\n", @@ -703,12 +1344,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "0607fc41", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:09.558386Z", + "iopub.status.busy": "2023-07-26T00:00:09.558248Z", + "iopub.status.idle": "2023-07-26T00:00:09.656670Z", + "shell.execute_reply": "2023-07-26T00:00:09.656343Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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X/tISUlRenq6ypcvX1hlAgAAoIQqVZwHj4uLU0ZGhipVqpSlvVKlSjp48GC+9vH888+rSpUqWQLxX6Wmpio1NdX5OjEx0f2CAQAAUKIU+5zZgnj99de1aNEiffnll/L398+xz8SJE2W3252PsLCwIq4SAAAAhaVYw2xISIi8vb0VGxubpT02NlahoaF5bvv222/r9ddf16pVq3TTTTfl2m/06NFKSEhwPn777TeP1A4AAIDiV6xh1tfXVy1bttTatWudbQ6HQ2vXrlXbtm1z3e7NN9/UK6+8ohUrVqhVq1Z5HsPPz0/BwcFZHgAAALg2FOucWUmKiopS//791apVK7Vu3VpTpkxRcnKyBg4cKEnq16+fqlatqokTJ0qS3njjDY0dO1affPKJwsPDFRMTI0kKCgpSUObKAQAAALguFHuY7dmzp/744w+NHTtWMTExatasmVasWOG8KOzUqVPy8vq/AeQPPvhAaWlpevjhh7PsJzo6WuPGjSvK0gEAAFDMin2d2aLGOrMAAAAlm2XWmQUAAAAKgjALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLM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ztJHurKawl//AVIYCLMAABSVzCUbrzGbNm3SgAEDnH/eT0pK0okTJ4q0BrvdrkqVKmnbtm26/fbbJUkZGRnauXOnmjVrlut2me/t37/f+fx///ufvv76ay1atEiNGjVy9s3IyNCtt96qVatWqVOnTqpXr54uX76s3bt3q0WLFs5+O3fulHQlxEpXgt97772n999/X8OHD89Ww/nz53OdN1uQaQZt27bV+fPntWPHDucI9XfffSeHw5Hl+qTchISEOLc5d+6cHnjggWx9Mu/KOnv2bPn7+2eZfiJJe/fu1cMPP3zVYxUEYRYAABRInTp1tGTJEnXp0kU2m01jxozJc4S1sAwbNkwTJ05U7dq1Vb9+fU2dOlV//vlnnst7VahQQS1atNDGjRudYXbBggW64YYb1KNHj2zbdu7cWbNmzVKnTp3UqFEjdezYUY8//rgmTZqkmjVr6tChQ/rnP/+pnj17OqcAtGnTRs8995z+9a9/6fTp0+revbuqVKmiI0eOaMaMGbr11ltzDLnSlWkG7mrQoIE6deqkQYMGacaMGUpPT9fQoUP16KOPqkqVKpKk06dP6+6779b8+fOdUzTmzJmjBg0aqEKFCtqyZYuGDx+uESNGqF69es59T5s2Te3atVNQUJBWr16tf//733r99dezhPITJ07o9OnTioiIcPsz5AdhFgAAFMjkyZP1+OOPq127dgoJCdHzzz+vxMTEIq/j+eefV0xMjPr16ydvb2899dRTioyMlLe3d57bPfnkk5o/f77zYrXZs2ere/fuOYbghx56SH379lVcXJxCQkK0ePFiRUdH6x//+IfOnDmjatWqqXv37hozZkyW7d544w21bNlS06dP14wZM+RwOFSrVi09/PDD6t+/v+d+CH+zcOFCDR06VHfffbe8vLz00EMP6b333nO+n56erkOHDmWZ13ro0CGNHj1a8fHxCg8P14svvqgRI0Zk2e9PP/2k6OhoJSUlqX79+vrwww/Vt2/fLH0+/fRTdezYsUCBPD9spqCTTSwmMTFRdrtdCQkJRXs3MADAdeXSpUvOK9/9/f2Lu5zrksPhUIMGDdSjRw+98sorufa7ePGi6tWrp8WLF+d6R1G4Ji0tTXXq1NEnn3yi9u3b59gnr++IK3mNkVkAAHBNOHnypFatWqUOHTooNTVV06ZN0/Hjx9W7d+88twsICND8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0OOPP66EhAQtXry4SI7/dx9//LHatWun6tWrZ2nP/F1JTU3V8uXLNWTIEPn4+Gj06NEFOp6vr2++zkdJ+b0sCQ4ePCiHw6EPP/xQtWvX1t69ezVo0CAlJyfr7bffdvYbMGCA3nvvPfXt27cYqwVKDkZmgWuQn5+fQkNDszy8vb01efJkNWnSRIGBgQoLC9MzzzyjpKSkXPezZ88e3XnnnSpTpoyCg4PVsmVLbd++3fn+xo0bddtttykgIEBhYWF69tlnlZycnGdtNptNoaGhqlKliu699149++yzWrNmjS5evCiHw6Hx48erWrVq8vPzU7NmzbRixQrntmlpaRo6dKgqV64sf39/Va9eXRMnTsyy78w/69aoUUOS1Lx5c9lsNt1xxx2Sso52fvTRR6pSpUq2P9l27dpVjz/+uPP1119/rRYtWsjf3181a9bUyy+/fNXRy1KlSik0NFRVq1ZVRESEHnnkEa1evdr5fkZGRpZRuHr16undd991vj9u3DjNmzdPX3/9tXP0dP369ZKk3377TT169FDZsmVVvnx5de3aVSdOnMiznkWLFqlLly7Z2jN/V6pXr67BgwcrIiJCS5culST9+eef6tevn8qVK6fSpUvr3nvv1a+//urc9uTJk+rSpYvKlSunwMBANWrUSMuXL5eUdZrB+vXrNXDgQCUkJDg/y7hx4yRlnQLQu3dv9ezZM0t96enpCgkJ0fz58yVJDodDEydOdP7cmjZtqi+++CLPz/53+f0efPXVV6pTp478/f0VGRmp3377Lcv77vxe5CXzHxYdO3ZUzZo19cADD2jkyJFasmRJln5dunTR9u3bdfToUbePBVxLCLPAdcTLy0vvvfee9u3bp3nz5um7777Tc889l2v/Pn36qFq1atq2bZt27NihUaNGycfHR5J09OhRderUSQ899JB+/vlnLV68WBs3btTQoUNdqikgIEAOh0OXL1/Wu+++q0mTJuntt9/Wzz//rMjISD3wwAPOAPXee+9p6dKl+uyzz3To0CEtXLhQ4eHhOe73p59+kiStWbNGZ8+ezRYIJOmRRx7R//73P61bt87ZFh8frxUrVqhPnz6SpA0bNqhfv34aPny49u/frw8//FBz587Va6+9lu/PeOLECa1cuVK+vr7ONofDoWrVqunzzz/X/v37NXbsWL3wwgv67LPPJEkjR45Ujx49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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "roc_curve(best_svm,\n", @@ -731,10 +1389,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "5211a882", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:09.658742Z", + "iopub.status.busy": "2023-07-26T00:00:09.658594Z", + "iopub.status.idle": "2023-07-26T00:00:09.805114Z", + "shell.execute_reply": "2023-07-26T00:00:09.804797Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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j8LsDz/8oMaNG2v9+vVasGCB0tLSJElbtmxRbGysVwsEAAAA8uNRmB02bJhee+01rVixQv7+/o7222+/XT///LPXigMAAAAK4lGY/e2333T//ffnaa9UqZKSk5OvuCgAAADAFR6F2XLlyunYsWN52jdv3qxq1apdcVEAAACAKzwKs4888ohefPFFJSUlyWazyW63a+3atRo6dKh69+7t7RoBAAAApzwKs+PGjVP9+vUVERGhtLQ0NWzYULfeeqvatm2rESNGeLtGAAAAwCmbMcZ4unFiYqK2bt2qtLQ0NWvWTHXq1PFmbYUiNTVVoaGhSklJUUhISOEeLD1dKlv20s9paVKZMoV7PAAAgKuAO3mtlCcHWLNmjW6++WZde+21uvbaaz0qEgAAALhSHk0zuP3221WzZk299NJL2r59u7drAgAAAFziUZg9evSo/vWvf+mHH35Qo0aN1LRpU7311ls6fPiwt+sDAAAA8uVRmA0LC9PAgQO1du1a7d27Vw899JBmz56tyMhI3X777d6uEQAAAHDKozD7ZzVr1tSwYcP0+uuvq3Hjxvrhhx+8URcAAABwWVcUZteuXatnn31WVatWVY8ePdSoUSMtXrzY7f1MmTJFkZGRCgwMVOvWrbVhwwaXtps7d65sNpu6du3q9jEBAABgfR6F2eHDh6tmzZq6/fbblZiYqHfffVdJSUn65JNP1KlTJ7f2NW/ePMXExCg2Nlbx8fFq0qSJoqOjdeLEiQK3O3DggIYOHapbbrnFk7cAAACAq4BH68y2a9dOPXv21MMPP6ywsLArKqB169a68cYbNXnyZEmS3W5XRESEBg0apGHDhjndJjs7W7feeqsef/xxrV69WmfOnNHChQtdOh7rzAIAAJRshb7O7Nq1az0q7K8yMzO1adMmDR8+3NHm4+OjqKgorVu3Lt/txowZo0qVKumJJ57Q6tWrvVILAAAArMflMLto0SLddddd8vPz06JFiwrse99997m0z+TkZGVnZ6ty5cq52itXrqydO3c63WbNmjWaOXOmEhISXDrGhQsXdOHCBcfz1NRUl7YDAABAyedymO3atauSkpJUqVKlAi+4stlsys7O9kZteZw9e1a9evXSjBkzXJ7eMH78eL3yyiuFUg8AAACKl8th1m63O/35SoSFhcnX11fHjx/P1X78+HFVqVIlT/+9e/fqwIED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1atXT++++67j9dGjR2v27Nn6+uuvHaOnq1atkiQdOnRIDz/8sMqVK6cKFSqoS5cuOnDgQIH1zJ07V507d87TnvO7UqNGDfXv319RUVFatGiRJOn06dPq3bu3ypcvr9KlS+uuu+7S77//7tj24MGD6ty5s8qXL68yZcro+uuv15IlSyTlnmawatUq9e3bVykpKY73Mnr0aEm5pwD06NFD3bp1y1VfVlaWwsLCNGfOHEmS3W7X+PHjHZ9bkyZN9OWXXxb43v/K1e/BwoULVadOHQUGBio6OlqHDh3K9bonvxcFyfmHRceOHVWrVi3dd999Gjp0qBYsWJCrX+fOnbVx40bt3bvX42MBVxPCLPA34uPjo/fee0/btm3T7Nmz9f333+uFF17It3/Pnj1VvXp1/fLLL9q0aZOGDRsmPz8/SdLevXvVqVMnPfjgg/r11181b948rVmzRgMHDnSrpqCgINntdl28eFHvvvuuJkyYoLffflu//vqroqOjdd999zkC1HvvvadFixZp/vz52rVrlz799FNFRkY63e+GDRskSd99952OHTuWJxBI0kMPPaQ//vhDK1eudLSdOnVKS5cuVc+ePSVJq1evVu/evTV48GBt375d//73vzVr1iyNHTvW5fd44MABLVu2TP7+/o42u92u6tWr64svvtD27ds1atQovfTSS5o/f74kaejQoXr44YfVqVMnHTt2TMeOHVPbtm2VlZWl6OhoBQcHa/Xq1Vq7dq3Kli2rTp065fpz9J+dOnVK27dvV8uWLS9ba1BQkGM/jz32mDZu3KhFixZp3bp1Msbo7rvvVlZWliRpwIABunDhgn788Uf99ttveuONN1S2bNk8+2zbtq0mTZqkkJAQx3sZOnRonn49e/bUf//731zBctmyZcrIyND9998vSRo/frzmzJmjadOmadu2bRoyZIgeffRR/fDDD5d9bzlc+R5kZGRo7NixmjNnjtauXaszZ87okUcecbzuye/Fbbfdpscee8zlOiUpJSVFFSpUyNV27bXXqnLlylq9erVb+wKuWgbAVaVPnz7G19fXlClTxvH4xz/+4bTvF198Ya655hrH848//tiEhoY6ngcHB5tZs2Y53faJJ54wTz31VK621atXGx8fH3Pu3Dmn2/x1/7t37zZ169Y1LVu2NMYYEx4ebsaOHZtrmxtvvNE8++yzxhhjBg0aZG6//XZjt9ud7l+S+eqrr4wxxuzfv99IMps3b87Vp0+fPqZLly6O5126dDGPP/644/m///1vEx4ebrKzs40xxtxxxx1m3LhxufbxySefmKpVqzqtwRhjYmNjjY+PjylTpowJDAw0kowkM3HixHy3McaYAQMGmAcffDDfWnOOXa9evVyfwYULF0xQUJBZtmyZ0/1u3rzZSDKJiYm52v+8f7vdblasWGECAgLM0KFDze7du40ks3btWkf/5ORkExQUZObPn2+MMaZx48Zm9OjRTo+5cuVKI8mcPn3aGJP33OeoUaOGeeedd4wxxmRlZZmwsDAzZ84cx+vdu3c33bp1M8YYc/78eVO6dGnz008/5drHE088Ybp37+60jr8ewxln3wNJ5ueff3a07dixw0gy69evN8a49nvx599HY4zp1auXGTZsWL51/NXvv/9uQkJCzPTp0/O81qxZs3w/e+DvhjmzwFWoQ4cOmjp1quN5mTJlJF0apRw/frx27typ1NRUXbx4UefPn1dGRoZKly6dZz8xMTF68skn9cknnzj+VF67dm1Jl6Yg/Prrr7kuRDHGyG63a//+/WrQoIHT2lJSUlS2bFnZ7XadP39eN998sz788EOlpqbq6NGjateuXa7+7dq105YtWyRdGim88847Va9ePXXq1En33nuvOnbseEWfVc+ePdWvXz998MEHCggI0KeffqpHHnlEPj4+jve5du3aXCNu2dnZBX5uklSvXj0tWrRI58+f1//93/8pISFBgwYNytVnypQp+uijj5SYmKhz584pMzNTTZs2LbDeLVu2aM+ePQoODs7Vfv78+Xz/7Hzu3DlJUmBgYJ7XvvnmG5UtW1ZZWVmy2+3q0aOHRo8erbi4OJUqVUqtW7d29L3mmmtUr1497dixQ5L03HPPqX///lq+fLmioqL04IMP6oYbbiiw/oKUKlVKDz/8sD799FP16tVL6enp+vrrrzV37lxJ0p49e5SRkaE777wz13aZmZlq1qyZy8dx5XtQqlQp3XjjjY5t6tevr3LlymnHjh1q1aqVR78XOVMlXHHkyBF16tRJDz30kPr165fn9aCgIGVkZLi8P+BqRpgFrkJlypTRddddl6vtwIEDuvfee9W/f3+NHTtWFSpU0Jo1a/TEE08oMzPT6f98R48erR49emjx4sX69ttvFRsbq7lz5+r+++9XWlqann76aT333HN5trv22mvzrS04OFjx8fHy8fFR1apVFRQUJElKTU297Ptq3ry59u/fr2+//VbfffedHn74YUVFRbk9Z/LPOnfuLGOMFi9erBtvvFGrV6/WO++843g9LS1Nr7zyih544IE82zoLhzlyVgeQpNdff1333HOPXnnlFb366quSLs1hHTp0qCZMmKA2bdooODhYb731ltavX19gvWlpaWrRooXTq9nzu5gqLCxM0qU5sH/tk/MPH39/f4WHh6tUKdf/t/Dkk08qOjpaixcv1vLlyzV+/HhNmDAhT2h3R8+ePdW+fXudOHFCK1asUFBQkDp16iRJjukHixcvVrVq1XJtFxAQ4NL+PfkeOOPp74Urjh49qg4dOqht27aaPn260z6nTp3i4jng/yPMAn8TmzZtkt1u14QJExyjjjnzMwtSt25d1a1bV0OGDFH37t318ccf6/7771fz5s21ffv2PKH5cnx8fJxuExISovDwcK1du1bt27d3tK9du1atWrXK1a9bt27q1q2b/vGPf6hTp046depUnnmFOfNTs7OzC6wnMDBQDzzwgD799FPt2bNH9erVU/PmzR2vN2/eXLt27XL7ff7ViBEjdPvtt6t///6O99m2bVs9++yzjj5/HVn19/fPU3/z5s01b948VapUSSEhIS4du3bt2goJCdH27dtVt27dXK85+4ePJDVo0EAXL17U+vXr1bZtW0nSH3/8oV27dqlhw4aOfhEREXrmmWf0zDPPaPjw4ZoxY4bTMOvsvTjTtm1bRUREaN68efr222/10EMPOeZpN2zYUAEBAUpMTMz1O+IOV78HFy9e1MaNGx2/e7t27dKZM2ccf3Hw1u/FXx05ckQdOnRQixYt9PHHHztq/LOcUXh3RqOBqxkXgAF/E9ddd52ysrL0/vvva9++ffrkk080bdq0fPufO3dOAwcO1KpVq3Tw4EGtXbtWv/zyi+N/5i+++KJ++uknDRw4UAkJCfr999/19ddfu30B2J89//zzeuONNzRv3jzt2rVLw4YNU0JCggYPHizp0lXon3/+uXbu3Kndu3friy++UJUqVZyuX1qpUiUFBQVp6dKlOn78uFJSUvI9bs+ePbV48WJ99NFHjgu/cowaNUpz5szRK6+8om3btmnHjh2aO3euRowY4dZ7a9OmjW644QaNGzdOklSnTh1t3LhRy5Yt0+7duzVy5Ej98ssvubaJjIzUr7/+ql27dik5OVlZWVnq2bOnwsLC1KVLF61evVr79+/XqlWr9Nxzz+nw4cNOj+3j46OoqCitWbPG5Xrr1KmjLl26qF+/flqzZo22bNmiRx99VNWqVVOXLl0kSf/85z+1bNky7d+/X/Hx8Vq5cmW+00siIyOVlpamuLg4JScnF/gn8h49emjatGlasWJFrvMRHBysoUOHasiQIZo9e7b27t2r+Ph4vf/++5o9e7ZL78vV74Gfn58GDRqk9evXa9OmTXrsscd00003OcKtJ78XvXv3LnDJsyNHjui2227Ttddeq7ffflsnT55UUlKSkpKScvX7+eefFRAQoDZt2rj0noGrXnFP2gXgXc4uGsoxceJEU7VqVRMUFGSio6PNnDlz8r1I58KFC+aRRx4xERERxt/f34SHh5uBAwfmurhrw4YN5s477zRly5Y1ZcqUMTfccEOeC7j+LL+LgHJkZ2eb0aNHm2rVqhk/Pz/TpEkT8+233zpenz59umnatKkpU6aMCQkJMXfccYeJj493vK6/XHAzY8YMExERYXx8fEz79u3z/Xyys7NN1apVjSSzd+/ePHUtXbrUtG3b1gQFBZmQkBDTqlUrpxfl5IiNjTVNmjTJ0/7555+bgIAAk5iYaM6fP28ee+wxExoaasqVK2f69+9vhg0blmu7EydOOD5fSWblypXGGGOOHTtmevfubcLCwkxAQICpVauW6devn0lJScm3piVLlphq1ao5LmzL77P4s1OnTplevXqZ0NBQx+/M7t27Ha8PHDjQ1K5d2wQEBJiKFSuaXr16meTkZGNM3gvAjDHmmWeeMddcc42RZGJjY40xzi/O2r59u5FkatSokediP7vdbiZNmmTq1atn/Pz8TMWKFU10dLT54Ycf8n0ffz2Gq9+D//znP6ZWrVomICDAREVFmYMHD+ba7+V+L/76+9i+fXvTp0+ffOvMufDM2ePPnnrqKfP000/nux/g78ZmjDHFkKEBAEXIGKPWrVs7povAmpKTk1WvXj1t3LjRsZYy8HfHNAMA+Buw2WyaPn26V25Vi+Jz4MABffDBBwRZ4E8YmQUAAIBlMTILAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAy/p/uAQWoOwHLOAAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "svm_flex = SVC(kernel=\"rbf\", \n", " gamma=50,\n", @@ -762,9 +1438,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "12acc4ff", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:09.807019Z", + "iopub.status.busy": "2023-07-26T00:00:09.806879Z", + "iopub.status.idle": "2023-07-26T00:00:09.811100Z", + "shell.execute_reply": "2023-07-26T00:00:09.810783Z" + } + }, "outputs": [], "source": [ "roc_curve(svm_flex,\n", @@ -786,10 +1469,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "21c81913", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:09.812971Z", + "iopub.status.busy": "2023-07-26T00:00:09.812862Z", + "iopub.status.idle": "2023-07-26T00:00:09.916772Z", + "shell.execute_reply": "2023-07-26T00:00:09.916366Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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Npuef/55lSpVSo899pjmzZunu+++O0eKBAAAADLiUpj19fXV+fPnndq6du0qLy8vderUSRMnTvRkbQAAAECWXAqztWvX1urVq1WvXj2n9s6dO8sYo169enm0OAAAACArLoXZAQMG6Oeff85wWZcuXWSM0fTp0z1SGAAAAHAj3DQhJ3HTBAAAAJdx0wQAAADcFgizAAAAsCzCLAAAACyLMAsAAADLIswCAADAstwOsz///LO2bNni1LZly5ZMp+4CAAAAPM2leWb/7v7771eVKlW0d+9eR1uPHj108OBBpaWleaQ4AAAAICtuh9mjR4+qYMGCTm2rVq1SamrqTRcFAAAAZIfbYbZ06dLp2kqUKHFTxQAAAACu4AIwAAAAWFa2z8wWKVJENpstW+vGxcW5XRAAAACQXdkOs5MnT87BMgAAAADXZTvM9urVKyfrAAAAAFzm9pjZw4cP6+WXX1aXLl10+vRpSdIPP/ygPXv2eKw4AAAAICtuhdmffvpJNWvW1KZNm7Ro0SIlJiZKknbu3KkxY8Z4tEAAAAAgM26F2REjRuj111/XihUr5OPj42h/4IEH9Msvv3isOAAAACArboXZXbt2qUOHDunaw8LCdPbs2ZsuCgAAAMgOt8Js4cKFFR0dna59+/btKlmy5E0XBQAAAGSHW2G2c+fOeuGFFxQTEyObzSa73a7169dr+PDh6tmzp6drBAAAADLkVpgdP368qlSposjISCUmJqpatWq677771LhxY7388suerhEAAADIkM0YY9zd+MSJE9q9e7cSExNVp04dVaxY0ZO15YiEhASFhIQoPj5ewcHBObuzpCQpKOjq14mJUmCgFboGAADIU67ktWzfNCEjd955pyIjIyUp27e6BQAAADzF7ZsmfPbZZ6pRo4b8/Pzk5+enGjVq6NNPP/VkbQAAAECW3DozO3r0aE2aNEmDBw9Wo0aNJEkbN27U0KFDdeLECb366qseLRIAAADIiFtjZosVK6b3339fXbp0cWr/8ssvNXjw4Hw91yxjZgEAAPI3V/KaW8MMUlNTVb9+/XTt9erV05UrV9zpEgAAAHCZW2G2R48emjp1arr2Tz75RN26dbvpogAAAIDsyPaY2WHDhjm+ttls+vTTT7V8+XL94x//kCRt2rRJJ06c4KYJAAAAyDXZDrPbt293el6vXj1J0uHDhyVJoaGh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GNlstnTtf/75p0JCQlzqq1OnTjpz5oxGjx6tmJgY1a5dW0uXLnVcFHbixAl5ed30jcoAAABwC7IZY0x2V65Tp45sNpt27typ6tWrq0CB/2XhtLQ0HT16VK1atdKCBQtypFhPSEhIUEhIiOLj43N8yEHS6SQFhQdKkhJjkxQYFpij+wMAALgVuJLXXDoze20Wgx07digqKkpBQUGOZT4+PipTpoweffRR1ysGAAAA3OBSmB0zZowkqUyZMurUqZP8/PxypCgAAAAgO9waM9urVy9P1wEAAAC4LNthtmjRojp48KBCQ0NVpEiRDC8AuyYuLs4jxQEAAABZyXaYfffdd1WoUCHH11mFWQAAACA3uDSbwa2A2QwAAADyN1fymlsTuG7btk27du1yPP/222/Vvn17vfjii0pJSXGnSwAAAMBlboXZf/3rXzp48KAk6ciRI+rUqZMCAgL01Vdf6fnnn/dogQAAAEBm3AqzBw8eVO3atSVJX331lZo2baovvvhCs2bN0n/+8x9P1gcAAABkyq0wa4yR3W6XJK1cuVKtW7eWJEVGRurs2bOeqw4AAADIglthtn79+nr99df1+eef66efftLDDz8sSTp69KjCw8M9WiAAAACQGbfC7OTJk7Vt2zYNGjRIL730kipUqCBJWrhwoRo3buzRAgEAAIDMeHRqrkuXLsnb21sFCxb0VJcex9RcAAAA+Zsrec2t29les3XrVu3bt0+SVK1aNdWtW/dmugMAAABc4laYPX36tDp16qSffvpJhQsXliSdP39ezZo107x581SsWDFP1ggAAABkyK0xs4MHD1ZiYqL27NmjuLg4xcXFaffu3UpISNAzzzzj6RoBAACADLl1Znbp0qVauXKlqlat6mirVq2apkyZopYtW3qsOAAAACArbp2ZtdvtGV7kVbBgQcf8swAAAEBOcyvMPvDAAxoyZIhOnTrlaDt58qSGDh2qBx980GPFAQAAAFlxK8x++OGHSkhIUJkyZVS+fHmVL19eZcuWVUJCgj744ANP1wgAAABkyK0xs5GRkdq2bZtWrVrlmJqratWqat68uUeLAwAAALLicpidP3++vvvuO6WkpOjBBx/U4MGDc6IuAAAA4IZcCrNTp07VwIEDVbFiRfn7+2vRokU6fPiw3n777ZyqDwAAAMiUS2NmP/zwQ40ZM0YHDhzQjh07NHv2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Dz8Ym81mTp48meE2y5YtM15eXk456fz588ZmszmO6ccff2zCwsJMWlqaY51rP3O///67o+3y5cvG19fXrFy5MsN9Zfh76P9zJa9xZhYAcFVyshQUlDeP5ORslRgXF6elS5dq4MCBCgwMTLf82ke+NWvW1N13360ZM2Y4LZ85c6YaN26sKlWqZNj/5s2bJUkrV65UdHS0Fi1a5MIbKE2cOFH169fX9u3b9fTTT2vAgAE6cOCApKvToUVFRalQoUJau3at1q9fr6CgILVq1UopKSmO7WfNmqUZM2Zo3bp1iouL09dff53lPrdu3aqOHTuqc+fO2rVrl8aOHatRo0Zp1qxZ2a7teu+9954aNWqk/v37Kzo6WtHR0YqMjHQsHzFihN544w3t27dPd911lxITE9W6dWutWrVK27dvV6tWrdSmTRudOHEiy9pfeeUVdezYUb/99ptat26tbt26ZfmRe3Jyst555x19/vnn+vnnn3XixAkNHz7csfzNN9/U3LlzNXPmTK1fv14JCQnpPuq/3m+//ab4+HjVr18/3bKZM2fq4YcfVkhIiLp3767PPvssy74yM3fuXAUFBenpp5/OcHlmQxUkqXr16goKCsr08dBDD2W67caNG1W4cGGn19a8eXN5eXlp06ZNGW5z+fJl2Ww2+fr6Otr8/Pzk5eWldevWOda5/la0/v7+kuRYR7p6dr127dpau3ZtpjV6xA3j7i2GM7MAkMkZkcRE4/illduPDM6yZuTaGa5FixbdcN1p06aZoKAgc+HCBWOMMQkJCSYgIMB8+umnmW5z9OhRI8ls377dqT27Z2a7d+/ueG63201YWJiZOnWqMcaYzz//3FSuXNnY/3YW+vLly8bf398sW7bMGGNM8eLFzVtvveVYnpqaakqVKpXlmcWuXbuaFi1aOLU999xzplq1atmuLSMZveZrZ0u/+eabTLe7pnr16uaDDz5wquH6M7Mvv/yy43liYqKRZH744Qenff39zKwkc+jQIcc2U6ZMMeHh4Y7n4eHh5u2333Y8v3LlirnzzjuzfP++/vpr4+3t7XRcjDEmLS3NREZGOl7rmTNnjI+Pjzly5IhjneyemX3ooYfMXXfdlWkNWTl27Jj5/fffM338+eefmW47btw4U6lSpXTtxYoVMx999FGG25w+fdoEBwebIUOGmKSkJJOYmGgGDRpkJJkn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mHvuuedmXoLHZPR76BpX8lqen5kFAOQPyclSUFDePJKTs1djXFycli5dqoEDByowMDDd8msfI9esWVN33313ujN3M2fOVOPGjVWlSpUM+792O/WVK1cqOjpaixYtyv4bKGnixImqX7++tm/frqeffloDBgzQgQMHJEmpqamKiopSoUKFtHbtWq1fv15BQUFq1aqVUlJSHNvPmjVLM2bM0Lp16xQXF6evv/46y31u3bpVHTt2VOfOnbVr1y6NHTtWo0aNSvcRc1a1Xe+9995To0aN1L9/f0VHRys6OlqRkZE6f/68HnjgAdWpU0dbtmzR0qVLFRsbq44dO0qSoqOj1aVLF/Xt21f79u3TmjVr9Mgjj8gYo+HDh6tjx45q1aqVo8/GjRtnuP+1a9eqXr166dqNMZo5c6a6d++uKlWqqEKFClq4cGGW709G7Ha75s2bp27duqlEiRLplgcFBalAgYxnL127dq2CgoKyfMydOzfTfbszX/7ly5fl5+fn1Obv768///xTx48fd6nfBg0aaPPmzU7Tllpdns4zCwCAKw4dOiRjTKZh9O/69eun4cOH6/3331dQUJAuXLighQsX6v333890m2LFikmS7rjjjkxnyclK69at9fTTT0uSXnjhBb377rtavXq1KleurPnz58tut+vTTz+VzXb1ouCZM2eqcOHCWrNmjVq2bKnJkydr5MiReuSRRyRJ06ZNy/LjZ+nqnTQffPBBjRo1SpJUqVIl7d27V2+//bZ69+6drdquFxISIh8fHwUEBDi9Dx9++KHq1Kmj8ePHO9pmzJihyMhIHTx4UImJibpy5YoeeeQRlS5dWtLVfyyu8ff31+XLl2/43h4/fjzDkLly5UolJycrKipKktS9e3d99tln6tGjR5b9Xe/s2bM6d+5ctr6Prle/fv0bjqm+fj78v8tsvvyEhARdvHhR/v7+6baJiorS0KFD1bt3bzVr1kyHDh1yXMgVHR2tMmXKZLvfEiVKKCUlRTExMY5jZHWEWQCAJCkgQEpMzLt9Z4dx4aKcLl26aOjQoVqwYIH69u2r+fPny8vLS506dXKzyhu76667HF/bbDZFRETo9OnTkqSdO3fq0KFDKlSokNM2ly5d0uHDhxUfH6/o6Gg1bNjQsaxAgQKqX79+lq973759ateunVNbkyZNNHnyZKWlpcnb2/uGtWXXzp07tXr1agUFBaVbdvjwYbVs2VIPPvigatasqaioKLVs2VKPPfaYihQp4tJ+Ll68mO5MpHQ1OHfq1Mlx1rRLly567rnndPjwYZUvXz7b/bvyfXQ9f39/VahQwe3t3dG/f38dPnxY//znP5Wamqrg4GANGTJEY8eOlZeXax+yXwu1ydn9OMQCCLMAAEmSzSZl8Ml9vlKxYkXZbLZM7xL5d8HBwXrsscc0c+ZM9e3bVzNnzlTHjh0zDGI34uXllS4AZTQbwvUXldlsNtntdklSYmKi6tWrl+FH0NfOCOekrGrLrsTERLVp00ZvvvlmumXFixeXt7e3VqxYoQ0bNmj58uX64IMP9NJLL2nTpk0qW7ZstvcTGhqqc+fOObVdG3KRmpqqqVOnOtrT0tI0Y8YMjRs3TtLV457RxVvnz59XSEiIpKvvd+HChbP1fXS9tWvX6qGHHspynY8//ljdunXLcFlm8+UHBwdneFZWunqs3nzzTY0fP14xMTEqVqyYY5rScuXKudRvXFycpNz5nsstjJkFAFhG0aJFFRUVpSlTpigpKSnd8vPnzzs979evn9atW6fvv/9eGzZsyPDq+L/z8fGRdDUg/V2xYsWcZtZJS0vT7t27Xaq9bt26+v333xUWFqYKFSo4Pa7dpbJ48eLatGmTY5srV65o69atWfZbtWpVrV+/3qlt/fr1qlSpkuOsrDt8fHzSvQ9169bVnj17VKZMmXSv4doYZpvNpiZNmuiVV17R9u3b5ePj4xj3m1GfGalTp4727t3r1DZ37lyVKlVKO3fu1I4dOxyPa+OMr/VbuXJlbdu2LV2f27ZtU6VKlSRd/eekc+fOmjt3rk6dOpVu3WvDJTJybZhBVo+2bdtm+tpcnS//77y9vVWyZEn5+Pjoyy+/VKNGjRyhNLv97t69W6VKlVJoaOgN92cZHr0szQKYzQAAsr6KOL87fPiwiYiIMNWqVTMLFy40Bw8eNHv37jXvvfeeqVKlitO6drvdVKhQwRQpUiTdsoykpqYaf39/8/rrr5uYmBhz/vx5Y4wx06ZNMwEBAeb77783+/btM/379zfBwcHpZjN49913nfqrVauWGTNmjDHGmKSkJFOxYkVz//33m59//tkcOXLErF692gwePNj88ccfxhhj3njjDVO0aFHz9ddfO/ZTqFChLGcz2Lp1q/Hy8jKvvvqqOXDggJk1a5bx9/c3M2fOzHZtGenfv7+5++67zdGjR82ZM2dMWlqaOXnypClWrJh57LHHzObNm82hQ4fM0qVLTe/evc2VK1fML7/8YsaNG2d+/fVXc/z4cbNgwQLj4+NjlixZYowxZty4cebOO+80+/fvN2fOnDEpKSkZ7vu3334zBQoUMHFxcU71vvDCC+nWPX/+vPHx8THff/+9Mebq94efn58ZPHiw2blzp9m/f7+ZOHGiKVCggPnhhx8c2/3111+mSpUqplSpUmb27Nlmz5495uDBg+azzz4zFSpUcMyM4WlHjhwxAQEB5rnnnjP79u0zU6ZMMd7e3mbp0qWOdT744APzwAMPOJ6fOXPGTJ061ezbt89s377dPPPMM8bPz89s2rTJpX6NuTpTRd++fXPktbnKU7MZEGYB4DZk5TBrjDGnTp0yAwcONKVLlzY+Pj6mZMmSpm3bthlO9TR+/Hgjybz11lvZ6nv69OkmMjLSeHl5OabmSklJMQMGDDBFixY1YWFhZsKECRlOzXWjwBgdHW169uxpQkNDja+vrylXrpzp37+/429SamqqGTJkiAkODjaFCxc2w4YNc2lqroIFC5o777zTvP32207L3QmzBw4cMP/4xz+Mv7+/09RcBw8eNB06dDCFCxc2/v7+pkqVKubZZ581drvd7N2710RFRZlixYoZX19fU6lSJfPBBx84+jx9+rRp0aKFCQoKynJqLmOMadCggZk2bZoxxpgtW7YYSWbz5s0ZrvvQQw+ZDh06OJ5v3rzZtGjRwhQrVsyEhISYhg0bmq+//jrddufPnzcjRowwFStWND4+PiY8PNw0b97cfP31144pr3LC6tWrTe3atY2Pj48pV66c0z8exhgzZswYU7p0acfzM2fOmH/84x8mMDDQBAQEmAcffND88ssvLvd78eJFExISYjZu3JgDr8p1ngqzNmNy8BYX+VBCQoJCQkIUHx+fq7e2BYD85NKlSzp69KjKli2b4YU2QF5bvHixnnvuOe3evdvli5yQsalTp+rrr7/W8uXL87oUSVn/HnIlr3EBGAAAyHcefvhh/f777zp58qQiIyPzupxbQsGCBfXBBx/kdRkeR5gFAAD50rPPPpvXJdxSnnjiibwuIUdw3h4AAACWRZgFAACAZRFmAeA2dptdAwwgH/HU7x/CLADchq7dDepWuqUlAGtJSUmRpJu6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atasqcDAQEVGRurpp59WYmJipv3s3LlTzZo1U6FChRQcHKx69eppy5YtjuXr1q3TvffeK39/f0VGRuqZZ55RUlJSlrXZbDZFRESoRIkSeuihh/TMM89o5cqVunjxoux2u1599VWVKlVKvr6+ql27tpYuXerYNiUlRYMGDVLx4sXl5+en0qVLa8KECU59X/tYt2zZspKkOnXqyGaz6f7775fkfLbzk08+UYkSJdJ9ZNuuXTv17dvX8fzbb79V3bp15efnp3LlyumVV1654dnLAgUKKCIiQiVLllTz5s31+OOPa8WKFY7laWlpTmfhKleurPfee8+xfOzYsZo9e7a+/fZbx9nTNWvWSJL++OMPdezYUYULF1bRokXVrl07HTt2LMt65s2bpzZt2qRrv/a9Urp0aQ0YMEDNmzfXd999J0k6d+6cevbsqSJFiiggIEAPPfSQfv/9d8e2x48fV5s2bVSkSBEFBgaqevXqWrJkiSTnYQZr1qxRnz59FB8f73gtY8eOleQ8BKBr167q1KmTU32pqakKDQ3VnDlzJEl2u10TJkxwvG+1atXSwoULs3zt18vuz8E333yjihUrys/PT1FRUfrjjz+clrvzfZGVa/9YtGzZUuXKlVPbtm01fPhwLVq0yGm9Nm3aaMuWLTp8+LDb+wJuJYRZ4Dbi5eWl999/X3v27NHs2bP1448/6vnnn890/W7duqlUqVL69ddftXXrVo0YMUIFCxaUJB0+fFitWrXSo48+qt9++03z58/XunXrNGjQIJdq8vf3l91u15UrV/Tee+9p4sSJeuedd/Tbb78pKipKbdu2dQSo999/X999950WLFigAwcOaO7cuSpTpkyG/W7evFmStHLlSkVHR6cLBJL0+OOP66+//tLq1asdbXFxcVq6dKm6desmSVq7dq169uypIUOGaO/evfr44481a9YsjRs3Ltuv8dixY1q2bJl8fHwcbXa7XaVKldJXX32lvXv3avTo0XrxxRe1YMECSdLw4cPVsWNHtWrVStHR0YqOjlbjxo2VmpqqqKgoFSpUSGvXrtX69esVFBSkVq1aOX0c/XdxcXHau3ev6tevf8Na/f39Hf307t1bW7Zs0XfffaeNGzfKGKPWrVsrNTVVkjRw4EBdvnxZP//8s3bt2qU333xTQUFB6fps3LixJk+erODgYMdrGT58eLr1unXrpv/+979OwXLZsmVKTk5Whw4dJEkTJkzQnDlzNG3aNO3Zs0dDhw5V9+7d9dNPP93wtV2TnZ+D5ORkjRs3TnPmzNH69et1/vx5de7c2bHcne+L+++/X7179852nZIUHx+vokWLOrXdeeedCg8P19q1a13qC7hlGQC3lF69ehlvb28TGBjoeDz22GMZrvvVV1+ZO+64w/F85syZJiQkxPG8UKFCZtasWRlu269fP/Pkk086ta1du9Z4eXmZixcvZrjN9f0fPHjQVKpUydSvX98YY0yJEiXMuHHjnLa5++67zdNPP22MMWbw4MHmgQceMHa7PcP+JZmvv/7aGGPM0aNHjSSzfft2p3V69epl2rVr53jerl0707dvX8fzjz/+2JQoUcKkpaUZY4x58MEHzfjx4536+Pzzz03x4sUzrMEYY8aMGWO8vLxMYGCg8fPzM5KMJDNp0qRMtzHGmIEDB5pHH30001qv7bty5cpO78Hly5eNv7+/WbZsWYb9bt++3UgyJ06ccGr/e/92u92sWLHC+Pr6muHDh5uDBw8aSWb9+vWO9c+ePWv8/f3NggULjDHG1KxZ04wdOzbDfa5evdpIMufOnTPGpD/215QuXdq8++67xhhjUlNTTWhoqJkzZ45jeZcuXUynTp2MMcZcunTJBAQEmA0bNjj10a9fP9OlS5cM67h+HxnJ6OdAkvnll18cbfv27TOSzKZNm4wx2fu++Pv3ozHG9OjRw4wYMSLTOq73+++/m+DgYPPJJ5+kW1anTp1M33vgdsOYWeAW1KxZM02dOtXxPDAwUNLVs5QTJkzQ/v37lZCQoCtXrujSpUtKTk5WQEBAun6GDRumJ554Qp9//rnjo/Ly5ctLujoE4bfffnO6EMUYI7vdrqNHj6pq1aoZ1hYfH6+goCDZ7XZdunRJ99xzjz799FMlJCTo1KlTatKkidP6TZo00c6dOyVdPVPYokULVa5cWa1atdI///lPtWzZ8qbeq27duql///766KOP5Ovrq7lz56pz587y8vJyvM7169c7nXFLS0vL8n2TpMqVK+u7777TpUuX9H//93/asWOHBg8e7LTOlClTNGPGDJ04cUIXL15USkqKateunWW9O3fu1KFDh1SoUCGn9kuXLmX6sfPFixclSX5+fumWff/99woKClJqaqrsdru6du2qsWPHatWqVSpQoIAaNmzoWPeOO+5Q5cqVtW/fPknSM888owEDBmj58uVq3ry5Hn30Ud11111Z1p+VAgUKqGPHjpo7d6569OihpKQkffvtt5o3b54k6dChQ0pOTlaLFi2ctktJSVGdOnWyvZ/s/BwUKFBAd999t2ObKlWqqHDhwtq3b58aNGjg1vfFtaES2XHy5Em1atVKjz/+uPr3759uub+/v5KTk7PdH3ArI8wCt6DAwEBVqFDBqe3YsWP65z//qQEDBmjcuHEqWrSo1q1bp379+iklJSXDP75jx45V165dtXjxYv3www8aM2aM5s2bpw4dOigxMVH/+te/9Mwzz6Tb7s4778y0tkKFCmnbtm3y8vJS8eLF5e/vL0lKSEi44euqW7eujh49qh9++EErV65Ux44d1bx5c5fHTP5dmzZtZIzR4sWLdffdd2vt2rV69913HcsTExP1yiuv6JFHHkm3bUbh8JprswNI0htvvKGHH35Yr7zyil577TVJV8ewDh8+XBMnTlSjRo1UqFAhvf3229q0aVOW9SYmJqpevXoZXs2e2cVUoaGhkq6Ogb1+nWv/+Pj4+KhEiRIqUCD7fxaeeOIJRUVFafHixVq+fLkmTJigiRMnpgvtrujWrZuaNm2q06dPa8WKFfL391erVq0kyTH8YPHixSpZsqTTdr6+vtnq352fg4y4+32RHadOnVKzZs3UuHFjffLJJxmuExcXx8VzwP9HmAVuE1u3bpXdbtfEiRMdZx2vjc/MSqVKlVSpUiUNHTpUXbp00cyZM9WhQwfVrVtXe/fuTReab8TLyyvDbYKDg1WiRAmtX79eTZs2dbSvX79eDRo0cFqvU6dO6tSpkx577DG1atVKcXFx6cYVXhufmpaWlmU9fn5+euSRRzR37lwdOnRIlStXVt26dR3L69atqwMHDrj8Oq/38ssv64EHHtCAAQMcr7Nx48Z6+umnHetcf2bVx8cnXf1169bV/PnzFRYWpuDg4Gztu3z58goODtbevXtVqVIlp2UZ/eMjSVWrVtWVK1e0adMmNW7cWJL0119/6cCBA6pWrZpjvcjISD311FN66qmnNHLkSE2fPj3DMJvRa8lI48aNFRkZqfnz5+uHH37Q448/7hinXa1aNfn6+urEiRNO3yOuyO7PwZUrV7RlyxbH996BAwd0/vx5xycOnvq+uN7JkyfVrFkz1atXTzNnznTU+HfXzsK7cjYauJVxARhwm6hQoYJSU1P1wQcf6MiRI/r88881bdq0TNe/ePGiBg0apDVr1uj48eNav369fv31V8cf8xdeeEEbNmzQoEGDtGPHDv3+++/69ttvXb4A7O+ee+45vfnmm5o/f74OHDigESNGaMeOHRoyZIikq1ehf/nll9q/f78OHjyor776ShERERnOXxoWFiZ/f38tXbpUsbGxio+Pz3S/3bp10+LFizVjxgzHhV/XjB49WnPmzNErr7yiPXv2aN++fZo3b55efvlll15bo0aNdNddd2n8+PGSpIoVK2rLli1atmyZDh48qFGjRunXX3912qZMmTL67bffdODAAZ09e1apqanq1q2bQkND1a5dO61du1ZHjx7VmjVr9Mwzz+jPP//McN9eXl5q3ry51q1bl+16K1asqHbt2ql///5at26ddu7cqe7du6tkyZJq166dJOnZZ5/VsmXLdPToUW3btk2rV6/OdHhJmTJllJiYqFWrVuns2bNZfkTetWtXTZs2TStWrHA6HoUKFdLw4cM1dOhQzZ49W4cPH9a2bdv0wQcfaPbs2dl6Xdn9OShYsKAGDx6sTZs2aevWrerdu7f+8Y9/OMKtO98XPXv2zHLKs5MnT+r+++/XnXfeqXfeeUdnzpxRTEyMYmJinNb75Zdf5Ovrq0aNGmXrNQO3vLwetAvAszK6aOiaSZMmmeLFixt/f38TFRVl5syZk+lFOpcvXzadO3c2kZGRxsfHx5QoUcIMGjTI6eKuzZs3mxYtWpigoCATGBho7rrrrnQXcP1dZhcBXZOWlmbGjh1rSpYsaQoWLGhq1aplfvjhB8fyTz75xNSuXdsEBgaa4OBg8+CDD5pt27Y5luu6C26mT59uIiMjjZeXl2natGmm709aWpopXry4kWQOHz6crq6lS5eaxo0bG39/fxMcHGwaNGiQ4UU514wZM8bUqlUrXfuXX35pfH19zYkTJ8ylS5dM7969TUhIiClcuLAZMGCAGTFihNN2p0+fdry/kszq1auNMcZER0ebnj17mtDQUOPr62vKlStn+vfvb+Lj4zOtacmSJaZkyZKOC9syey/+Li4uzvTo0cOEhIQ4vmcOHjzoWD5o0CBTvnx54+vra4oVK2Z69Ohhzp49a4xJfwGYMcY89dRT5o477jCSzJgxY4wxGV+ctXfvXiPJlC5dOt3Ffna73UyePNlUrlzZFCxY0BQrVsxERUWZn376KdPXcf0+svtz8J///MeUK1fO+Pr6mubNm5vjx4879Xuj74vrvx+bNm1qevXqlWmd1y48y+jxd08++aT517/+lWk/wO3GZowxeZChAQC5yBijhg0bOoaLwJrOnj2rypUra8uWLY65lIHbHcMMAOA2YLPZ9Mknn3jkVrXIO8eOHdNHH31EkAX+hjOzAAAAsCzOzAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCy/h+qqwIe4pXQBwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "for (X_, y_, c, name) in zip(\n", @@ -823,10 +1524,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "2fff4fa8", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:09.918766Z", + "iopub.status.busy": "2023-07-26T00:00:09.918630Z", + "iopub.status.idle": "2023-07-26T00:00:10.011719Z", + "shell.execute_reply": "2023-07-26T00:00:10.011390Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "rng = np.random.default_rng(123)\n", "X = np.vstack([X, rng.standard_normal((50, 2))])\n", @@ -846,12 +1565,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "5396f2df", "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:10.013499Z", + "iopub.status.busy": "2023-07-26T00:00:10.013374Z", + "iopub.status.idle": "2023-07-26T00:00:10.566891Z", + "shell.execute_reply": "2023-07-26T00:00:10.566514Z" + }, "lines_to_next_cell": 0 }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "svm_rbf_3 = SVC(kernel=\"rbf\",\n", " C=10,\n", @@ -893,10 +1629,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "f63c575e", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:10.568858Z", + "iopub.status.busy": "2023-07-26T00:00:10.568713Z", + "iopub.status.idle": "2023-07-26T00:00:10.643719Z", + "shell.execute_reply": "2023-07-26T00:00:10.643399Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "((63, 2308), (20, 2308))" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Khan = load_data('Khan')\n", "Khan['xtrain'].shape, Khan['xtest'].shape\n" @@ -921,10 +1675,98 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "id": "32091338", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:10.645715Z", + "iopub.status.busy": "2023-07-26T00:00:10.645573Z", + "iopub.status.idle": "2023-07-26T00:00:10.679454Z", + "shell.execute_reply": "2023-07-26T00:00:10.679131Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Truth1234
Predicted
18000
202300
300120
400020
\n", + "
" + ], + "text/plain": [ + "Truth 1 2 3 4\n", + "Predicted \n", + "1 8 0 0 0\n", + "2 0 23 0 0\n", + "3 0 0 12 0\n", + "4 0 0 0 20" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "khan_linear = SVC(kernel='linear', C=10)\n", "khan_linear.fit(Khan['xtrain'], Khan['ytrain'])\n", @@ -947,10 +1789,98 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "id": "d9058023", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T00:00:10.681354Z", + "iopub.status.busy": "2023-07-26T00:00:10.681208Z", + "iopub.status.idle": "2023-07-26T00:00:10.694453Z", + "shell.execute_reply": "2023-07-26T00:00:10.694155Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Truth1234
Predicted
13000
20620
30040
40005
\n", + "
" + ], + "text/plain": [ + "Truth 1 2 3 4\n", + "Predicted \n", + "1 3 0 0 0\n", + "2 0 6 2 0\n", + "3 0 0 4 0\n", + "4 0 0 0 5" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "confusion_table(khan_linear.predict(Khan['xtest']),\n", " Khan['ytest'])\n" @@ -970,6 +1900,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,Rmd", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, From b399ab273b17485272e474abcc3da97e58ce978a Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Jul 2023 21:42:22 -0700 Subject: [PATCH 047/195] fix_labs script to modify lab 2,6 --- docs/fix_labs.py | 44 +- docs/source/labs.rst | 1 + docs/source/labs/Ch10-deeplearning-lab.ipynb | 7210 +------------- docs/source/labs/Ch11-surv-lab.ipynb | 2082 +--- docs/source/labs/Ch12-unsup-lab.ipynb | 2329 +---- docs/source/labs/Ch13-multiple-lab.ipynb | 932 +- docs/source/labs/Ch2-statlearn-lab.ipynb | 6559 +------------ docs/source/labs/Ch3-linreg-lab.ipynb | 2205 +---- docs/source/labs/Ch4-classification-lab.ipynb | 3642 +------ docs/source/labs/Ch5-resample-lab.ipynb | 621 +- docs/source/labs/Ch6-varselect-lab.ipynb | 8730 +---------------- docs/source/labs/Ch7-nonlin-lab.ipynb | 2211 +---- docs/source/labs/Ch8-baggboost-lab.ipynb | 1078 +- docs/source/labs/Ch9-svm-lab.ipynb | 1253 +-- 14 files changed, 2562 insertions(+), 36335 deletions(-) diff --git a/docs/fix_labs.py b/docs/fix_labs.py index cb616c1..7e69d15 100644 --- a/docs/fix_labs.py +++ b/docs/fix_labs.py @@ -8,17 +8,17 @@ for nbfile in glob('source/labs/*nb'): base = os.path.splitext(nbfile)[0] - fname = os.path.split(base)[1] + labname = os.path.split(base)[1] colab_code = f''' - + Open In Colab ''' # allow errors for lab2 - if fname[:3] == 'Ch6': + if labname[:3] == 'Ch6': colab_code = (''' ```{code-cell} :tags: [hide-cell] @@ -27,47 +27,39 @@ warnings.simplefilter('ignore') ``` +```{attention} +Using `skl.ElasticNet` to fit ridge regression +throws up many warnings. We have suppressed them below. +``` + ''' + colab_code) - if fname[:3] == 'Ch2': + if labname[:3] == 'Ch2': nb = nbformat.read(open(nbfile), 4) nb.metadata.setdefault('execution', {})['allow_errors'] = True nbformat.write(nb, open(nbfile, 'w')) - if fname[:4] != 'Ch10': + if labname[:4] != 'Ch10': + + os.system(f'jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace {nbfile}') - os.system(f'jupytext --set-formats ipynb,md:myst {base}.ipynb; jupytext --sync {base}.ipynb') + os.system(f'jupytext --set-formats ipynb,md:myst {nbfile}; jupytext --sync {nbfile}') myst = open(f'{base}.md').read().strip() new_myst = [] for l in myst.split('\n'): if l.strip()[:9] != '# Chapter': + if 'Lab:' in l: + l = '# ' + l[6:] + '\n' + colab_code new_myst.append(l) - new_myst.append(colab_code) - + myst = '\n'.join(new_myst) # remove the "Chapter %d - myst = myst.replace('# Lab:', colab_code + '\n# ') open(f'{base}.md', 'w').write(myst) - os.system(f'jupytext --sync {base}.ipynb') + os.system(f'jupytext --sync {base}.ipynb; rm {base}.md') + # add a warning for ridge # at ## Ridge Regression and the Lasso -code_to_insert = ''' - - -```{attention} -Using `skl.ElasticNet` to fit ridge regression -throws up many warnings. We have inserted the code below to filter them. -``` - - -```{code-cell} -import warnings -warnings.simplefilter('ignore') -``` - -''' - diff --git a/docs/source/labs.rst b/docs/source/labs.rst index 38dba3d..a70370e 100644 --- a/docs/source/labs.rst +++ b/docs/source/labs.rst @@ -28,6 +28,7 @@ To ensure you have the same package versions as those built here, run: labs/Ch7-nonlin-lab labs/Ch8-baggboost-lab labs/Ch9-svm-lab + labs/Ch10-deeplearning-lab labs/Ch11-surv-lab labs/Ch12-unsup-lab labs/Ch13-multiple-lab diff --git a/docs/source/labs/Ch10-deeplearning-lab.ipynb b/docs/source/labs/Ch10-deeplearning-lab.ipynb index 3f0f930..61de0ed 100644 --- a/docs/source/labs/Ch10-deeplearning-lab.ipynb +++ b/docs/source/labs/Ch10-deeplearning-lab.ipynb @@ -2,16 +2,13 @@ "cells": [ { "cell_type": "markdown", - "id": "8140eb0d", - "metadata": {}, - "source": [] - }, - { - "cell_type": "markdown", - "id": "1334dfc7", + "id": "fd22c2e6", "metadata": {}, "source": [ - "# Deep Learning\n", + "\n", + "# Chapter 10\n", + "\n", + "# Lab: Deep Learning\n", "In this section we demonstrate how to fit the examples discussed\n", "in the text. We use the `Python` `torch` package, along with the\n", "`pytorch_lightning` package which provides utilities to simplify\n", @@ -26,7 +23,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "aeb913e2", "metadata": { "lines_to_next_cell": 2 @@ -63,7 +60,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "3a3e91e7", "metadata": {}, "outputs": [], @@ -89,7 +86,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "3f4fdb8c", "metadata": {}, "outputs": [], @@ -114,7 +111,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "71cc6f03", "metadata": {}, "outputs": [], @@ -134,18 +131,10 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "fd1290f1", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Global seed set to 0\n" - ] - } - ], + "outputs": [], "source": [ "from pytorch_lightning.utilities.seed import seed_everything\n", "seed_everything(0, workers=True)\n", @@ -164,7 +153,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "c85308d1", "metadata": { "lines_to_next_cell": 0 @@ -199,7 +188,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "4de9f03c", "metadata": {}, "outputs": [], @@ -228,7 +217,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "4ef95fe3", "metadata": {}, "outputs": [], @@ -257,7 +246,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "493821a9", "metadata": { "lines_to_next_cell": 2 @@ -279,7 +268,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "a427e224", "metadata": { "lines_to_next_cell": 0 @@ -307,7 +296,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "feac4b15", "metadata": { "lines_to_next_cell": 0 @@ -343,7 +332,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "6a75a640", "metadata": {}, "outputs": [], @@ -368,21 +357,10 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "32d8de64", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "259.71528833146243" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "hit_lm = LinearRegression().fit(X_train, Y_train)\n", "Yhat_test = hit_lm.predict(X_test)\n", @@ -404,7 +382,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "46786db6", "metadata": {}, "outputs": [], @@ -427,7 +405,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "2b55b38b", "metadata": { "lines_to_next_cell": 0 @@ -452,7 +430,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "cc44c559", "metadata": {}, "outputs": [], @@ -479,23 +457,12 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "1bd1fd13", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "data": { - "text/plain": [ - "257.2382010799497" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "trained_lasso = grid.best_estimator_\n", "Yhat_test = trained_lasso.predict(X_test)\n", @@ -521,7 +488,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "4b2ccc5a", "metadata": {}, "outputs": [], @@ -579,7 +546,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "108ad1f1", "metadata": {}, "outputs": [], @@ -614,53 +581,12 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "2f20059e", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " action_fn=lambda data: sys.getsizeof(data.storage()),\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " return super().__sizeof__() + self.nbytes()\n" - ] - }, - { - "data": { - "text/plain": [ - "===================================================================================================================\n", - "Layer (type:depth-idx) Input Shape Output Shape Param #\n", - "===================================================================================================================\n", - "HittersModel [175, 19] [175] --\n", - "├─Flatten: 1-1 [175, 19] [175, 19] --\n", - "├─Sequential: 1-2 [175, 19] [175, 1] --\n", - "│ └─Linear: 2-1 [175, 19] [175, 50] 1,000\n", - "│ └─ReLU: 2-2 [175, 50] [175, 50] --\n", - "│ └─Dropout: 2-3 [175, 50] [175, 50] --\n", - "│ └─Linear: 2-4 [175, 50] [175, 1] 51\n", - "===================================================================================================================\n", - "Total params: 1,051\n", - "Trainable params: 1,051\n", - "Non-trainable params: 0\n", - "Total mult-adds (M): 0.18\n", - "===================================================================================================================\n", - "Input size (MB): 0.01\n", - "Forward/backward pass size (MB): 0.07\n", - "Params size (MB): 0.00\n", - "Estimated Total Size (MB): 0.09\n", - "===================================================================================================================" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "summary(hit_model, \n", " input_size=X_train.shape,\n", @@ -692,7 +618,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "6ca3030d", "metadata": { "lines_to_next_cell": 0 @@ -714,7 +640,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "86723b3e", "metadata": {}, "outputs": [], @@ -749,7 +675,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "999279fd", "metadata": {}, "outputs": [], @@ -781,7 +707,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "7bd9cc5c", "metadata": {}, "outputs": [], @@ -809,7 +735,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "5be2f822", "metadata": {}, "outputs": [], @@ -836,7 +762,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "87334d33", "metadata": {}, "outputs": [], @@ -867,709 +793,12 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "id": "1a474999", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (mps), used: False\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", - " rank_zero_warn(\n", - "\n", - " | Name | Type | Params\n", - "---------------------------------------\n", - "0 | model | HittersModel | 1.1 K \n", - "1 | loss | MSELoss | 0 \n", - "---------------------------------------\n", - "1.1 K Trainable params\n", - "0 Non-trainable params\n", - "1.1 K Total params\n", - "0.004 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e5fe2eab339740c99a234f68dff24548", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "hit_trainer = Trainer(deterministic=True,\n", " max_epochs=50,\n", @@ -1596,49 +825,12 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "id": "e3b24643", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ee861e12d14b4d349e535c091f331ca4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Testing: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " Test metric DataLoader 0\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " test_loss 103304.8515625\n", - " test_mae 224.26962280273438\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" - ] - }, - { - "data": { - "text/plain": [ - "[{'test_loss': 103304.8515625, 'test_mae': 224.26962280273438}]" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "hit_trainer.test(hit_module, datamodule=hit_dm)\n" ] @@ -1660,7 +852,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "f9b266e7", "metadata": {}, "outputs": [], @@ -1679,7 +871,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "c5752a0b", "metadata": { "lines_to_next_cell": 0 @@ -1722,23 +914,12 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "ff0c9fa0", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhwAAAISCAYAAACH9BYMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABWZklEQVR4nO3de3wU5aH/8e8mQCRggrmQCwnEC3JRQEXF1KIglHApPzRwVOQoKgcqBguiaDn1hu0Raz0K3sDzaxX7q4ACQatVOIgJIEZFFEGLVGk0gEkQKQkJEmDz/P4Iu2WT7O4s2dlL+Lxfr3nBzkxmnp1sZr77zPM84zDGGAEAANgoJtwFAAAArR+BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYLmICx6OPPiqHw6EZM2a45x0+fFgFBQVKTk5Wx44dNXbsWFVWVnr8XFlZmUaNGqX4+Hh17txZs2bN0rFjx0JcegAA4EtEBI5Nmzbp+eefV9++fT3m33nnnXrjjTe0bNkyrVu3Tt99953y8/Pdy51Op0aNGqUjR47o/fff10svvaRFixbpgQceCPVbAAAAPjjC/fC2mpoaXXTRRXruuef029/+VhdccIHmzZunqqoqpaamavHixRo3bpwk6csvv1SvXr1UUlKiyy67TG+//bZ+/vOf67vvvlNaWpokaeHChbr33nv1/fffq127duF8awAA4Lg24S5AQUGBRo0apaFDh+q3v/2te/7mzZt19OhRDR061D2vZ8+e6tq1qztwlJSUqE+fPu6wIUl5eXmaOnWqvvjiC1144YXN7rOurk51dXXu1/X19dq/f7+Sk5PlcDhseJcAALROxhgdPHhQmZmZionxfuMkrIFj6dKl+uSTT7Rp06YmyyoqKtSuXTt16tTJY35aWpoqKirc65wYNlzLXcu8mTt3rubMmdPC0gMAAJddu3YpKyvL6/KwBY5du3Zp+vTpWrNmjU477bSQ7nv27NmaOXOm+3VVVZW6du2qXbt2KSEhIaRlAQAgmlVXVys7O1unn366z/XCFjg2b96svXv36qKLLnLPczqdWr9+vZ555hmtXr1aR44c0YEDBzxqOSorK5Weni5JSk9P10cffeSxXVcvFtc6zYmLi1NcXFyT+QkJCQQOAABOgr8mCWHrpTJkyBBt27ZNW7ZscU8XX3yxJkyY4P5/27ZttXbtWvfP7NixQ2VlZcrNzZUk5ebmatu2bdq7d697nTVr1ighIUG9e/cO+XsCAADNC1sNx+mnn67zzz/fY16HDh2UnJzsnj9p0iTNnDlTSUlJSkhI0B133KHc3FxddtllkqRhw4apd+/euvHGG/XYY4+poqJC9913nwoKCpqtwQAAAOER9l4qvjz55JOKiYnR2LFjVVdXp7y8PD333HPu5bGxsXrzzTc1depU5ebmqkOHDpo4caIefvjhMJYaAAA0FvZxOCJBdXW1EhMTVVVVRRsOACHjdDp19OjRcBcD8Ck2NlZt2rTx2kbD6jU0oms4AKC1qqmp0e7du8V3PkSD+Ph4ZWRktGhATQIHAISY0+nU7t27FR8fr9TUVAYcRMQyxujIkSP6/vvvVVpaqu7du/sc3MsXAgcAhNjRo0dljFFqaqrat28f7uIAPrVv315t27bVt99+qyNHjpz02FkR8fA2ADgVUbOBaHGytRoe2whCOQAAAHwicAAAANsROAAgSjmdThUXF2vJkiUqLi6W0+kMd5EClpOTo3nz5llev7i4WA6HQwcOHLCtTLAHgQMAolBhYaFycnI0ePBg3XDDDRo8eLBycnJUWFhoy/4cDofP6aGHHjqp7W7atElTpkyxvP5PfvITlZeXKzEx8aT2h/ChlwoARJnCwkKNGzeuyRgee/bs0bhx47R8+XLl5+cHdZ/l5eXu/7/yyit64IEHtGPHDve8jh07uv9vjJHT6VSbNv4vMampqQGVo127dj4fzonIRQ0HAISZMUa1tbWWpurqav3yl79sdsAw17zp06erurra0vasDjyWnp7unhITE+VwONyvv/zyS51++ul6++231b9/f8XFxem9997Tzp07NWbMGKWlpaljx4665JJL9M4773hst/EtFYfDoT/84Q+65pprFB8fr+7du+svf/mLe3njWyqLFi1Sp06dtHr1avXq1UsdO3bU8OHDPQLSsWPH9Mtf/lKdOnVScnKy7r33Xk2cOFFXX321xd8QgoHAAQBhdujQIXXs2NHSlJiYqD179njdljFGu3fvVmJioqXtHTp0KGjv41e/+pUeffRRbd++XX379lVNTY1GjhyptWvX6tNPP9Xw4cM1evRolZWV+dzOnDlzdO2112rr1q0aOXKkJkyYoP3793td/9ChQ3r88cf1//7f/9P69etVVlamu+++2738d7/7nV5++WW9+OKL2rhxo6qrq/Xaa68F623DIgIHACAoHn74Yf3sZz/T2WefraSkJPXr10+/+MUvdP7556t79+76zW9+o7PPPtujxqI5N998s8aPH69zzjlHjzzyiGpqavTRRx95Xf/o0aNauHChLr74Yl100UWaNm2a1q5d617+9NNPa/bs2brmmmvUs2dPPfPMM+rUqVOw3jYsog0HAIRZfHy8ampqLK27fv16jRw50u96b731lq644gpL+w6Wiy++2ON1TU2NHnroIf31r39VeXm5jh07ph9//NFvDUffvn3d/+/QoYMSEhK0d+9er+vHx8fr7LPPdr/OyMhwr19VVaXKykpdeuml7uWxsbHq37+/6uvrA3p/aBkCBwCEmcPhUIcOHSytO2zYMGVlZWnPnj3Ntr9wOBzKysrSsGHDFBsbG+yi+tT4Pdx9991as2aNHn/8cZ1zzjlq3769xo0bpyNHjvjcTtu2bT1eOxwOn+GgufV5KF7k4ZYKAESR2NhYzZ8/X1LTodFdr+fNmxfysNGcjRs36uabb9Y111yjPn36KD09Xd98801Iy5CYmKi0tDRt2rTJPc/pdOqTTz4JaTlA4ACAqJOfn6/ly5erS5cuHvOzsrJs6RJ7srp3767CwkJt2bJFn332mW644Yaw3Ma44447NHfuXL3++uvasWOHpk+frn/+8588yybEuKUCAFEoPz9fY8aM0YYNG1ReXq6MjAwNHDgwImo2XJ544gndeuut+slPfqKUlBTde++9qq6uDnk57r33XlVUVOimm25SbGyspkyZory8vIg6VqcCh+FGl6qrq5WYmKiqqiolJCSEuzgAWrnDhw+rtLRUZ5555kk/6hsnr76+Xr169dK1116r3/zmN+EuTlTw9Zm1eg2lhgMA0Kp9++23+t///V9deeWVqqur0zPPPKPS0lLdcMMN4S7aKYU2HACAVi0mJkaLFi3SJZdcossvv1zbtm3TO++8o169eoW7aKcUajgAAK1adna2Nm7cGO5inPKo4QAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwCildMpFRdLS5Y0/Ot0hrtEfg0aNEgzZsxwv87JydG8efN8/ozD4dBrr73W4n0HaztWXHHFFVq8eHFI9tUS+/btU+fOnbV7927b90XgAIBoVFgo5eRIgwdLN9zQ8G9OTsN8G4wePVrDhw9vdtmGDRvkcDi0devWgLe7adMmTZkypaXF8/DQQw/pggsuaDK/vLxcI0aMCOq+mvOXv/xFlZWVuv766wP+2ZtvvlkOh8PrlJOTc9Lluvnmm3X11Vd7zEtJSdFNN92kBx988KS3axWBAwCiTWGhNG6c1Phb6Z49DfNtCB2TJk3SmjVrmv0m/OKLL+riiy9W3759A95uamqq4uPjg1FEv9LT0xUXF2f7fp566indcsstiokJ/BI7f/58lZeXuyep4fi6Xm/atCnYxdUtt9yil19+Wfv37w/6tk9E4ACAcDNGqq21NlVXS7/8ZcPPNLcdSZo+vWE9K9uz+PzOn//850pNTdWiRYs85tfU1GjZsmWaNGmSfvjhB40fP15dunRRfHy8+vTpoyVLlvjcbuNbKl999ZWuuOIKnXbaaerdu7fWrFnT5GfuvfdenXvuuYqPj9dZZ52l+++/X0ePHpUkLVq0SHPmzNFnn33mrhVwlbnxLZVt27bpqquuUvv27ZWcnKwpU6aopqbGvdxVI/D4448rIyNDycnJKigocO+rOd9//73effddjR492uf79iYxMVHp6enuSZI6derkfl1ZWakRI0aoY8eOSktL04033qh9+/a5f3758uXq06eP+z0NHTpUtbW1euihh/TSSy/p9ddfdx+X4uJiSdJ5552nzMxMrVy58qTKbBWBAwDC7dAhqWNHa1NiYkNNhjfGNNR8JCZa296hQ5aK2KZNG910001atGiRTnzI+LJly+R0OjV+/HgdPnxY/fv311//+ld9/vnnmjJlim688UZ99NFHlvZRX1+v/Px8tWvXTh9++KEWLlyoe++9t8l6p59+uhYtWqS//e1vmj9/vv7v//2/evLJJyVJ1113ne666y6dd9557lqB6667rsk2amtrlZeXpzPOOEObNm3SsmXL9M4772jatGke6xUVFWnnzp0qKirSSy+9pEWLFjUJXSd67733FB8f3+Q5La6Q4G0677zz/B6fAwcO6KqrrtKFF16ojz/+WKtWrVJlZaWuvfZaSQ23jMaPH69bb71V27dvV3FxsfLz82WM0d13361rr71Ww4cPdx+Xn/zkJ+5tX3rppdqwYYPfMrQEz1IBAFhy66236ve//73WrVunQYMGSWqo7h87dqwSExOVmJiou+++273+HXfcodWrV+vVV1/VpZde6nf777zzjr788kutXr1amZmZkqRHHnmkSbuL++67z/3/nJwc3X333Vq6dKnuuecetW/fXh07dlSbNm3cNQTNWbx4sQ4fPqw//elP6tChgyTpmWee0ejRo/W73/1OaWlpkqQzzjhDzzzzjGJjY9WzZ0+NGjVKa9eu1eTJk5vd7rfffqu0tLQmt1P+8Ic/6Mcff/RanrZt2/o4MnKX78ILL9QjjzzinvfCCy8oOztbf//731VTU6Njx44pPz9f3bp1kyT16dPHvW779u1VV1fX7HHJzMzUp59+6rcMLUHgAIBwi4+XTqjK92n9emnkSP/rvfWWdMUV1vZtUc+ePfWTn/xEL7zwggYNGqSvv/5aGzZs0MMPPyxJcjqdeuSRR/Tqq69qz549OnLkiOrq6iy30di+fbuys7PdYUOScnNzm6z3yiuv6KmnntLOnTvdF9mEhATL78O1r379+rnDhiRdfvnlqq+v144dO9yB47zzzlNsbKx7nYyMDG3bts3rdn/88UeddtppTeZ36dIloPI157PPPlNRUZE6duzYZNnOnTs1bNgwDRkyRH369FFeXp6GDRumcePG6YwzzvC77fbt2+uQxdquk8UtFQAIN4dD6tDB2jRsmJSV1fAz3raVnd2wnpXteduOF5MmTdKKFSt08OBBvfjiizr77LN15ZVXSpJ+//vfa/78+br33ntVVFSkLVu2KC8vT0eOHGnpEXIrKSnRhAkTNHLkSL355pv69NNP9etf/zqo+zhR45oHh8Oh+vp6r+unpKTon//8Z5P5wbilUlNTo9GjR2vLli0ek6vdS2xsrNasWaO3335bvXv31tNPP60ePXqotLTU77b379+v1NRUv+u1BDUcABBNYmOl+fMbeqM4HJ6NPl3hYd68hvVscO2112r69OlavHix/vSnP2nq1KlyHN/vxo0bNWbMGP37v/+7pIY2GX//+9/Vu3dvS9vu1auXdu3apfLycmVkZEiSPvjgA4913n//fXXr1k2//vWv3fO+/fZbj3XatWsnp58xSXr16qVFixaptrbWXcuxceNGxcTEqEePHpbK25wLL7xQFRUV+uc//+lRsxCMWyoXXXSRVqxYoZycHLVp0/zl2+Fw6PLLL9fll1+uBx54QN26ddPKlSs1c+ZMn8fl888/d98msws1HAAQbfLzpeXLpcbV9FlZDfPz823bdceOHXXddddp9uzZKi8v18033+xe1r17d61Zs0bvv/++tm/frl/84heqrKy0vO2hQ4fq3HPP1cSJE/XZZ59pw4YNHsHCtY+ysjItXbpUO3fu1FNPPdWkd0VOTo5KS0u1ZcsW7du3T3V1dU32NWHCBJ122mmaOHGiPv/8cxUVFemOO+7QjTfe6L6dcjIuvPBCpaSkaOPGjR7zu3TponPOOcfr5Gpz4UtBQYH279+v8ePHa9OmTdq5c6dWr16tW265RU6nUx9++KEeeeQRffzxxyorK1NhYaG+//57dwPWnJwcbd26VTt27NC+ffvcvW0OHTqkzZs3a9iwYSf9vq0gcABANMrPl775RioqkhYvbvi3tNTWsOEyadIk/fOf/1ReXp5He4v77rtPF110kfLy8jRo0CClp6c3GWjKl5iYGK1cuVI//vijLr30Uv3Hf/yH/uu//stjnf/zf/6P7rzzTk2bNk0XXHCB3n//fd1///0e64wdO1bDhw/X4MGDlZqa2mzX3Pj4eK1evVr79+/XJZdconHjxmnIkCF65plnAjsYjcTGxrrHtQi2zMxMbdy4UU6nU8OGDVOfPn00Y8YMderUSTExMUpISND69es1cuRInXvuubrvvvv03//93+5Gt5MnT1aPHj108cUXKzU11R2KXn/9dXXt2lUDBw4MeplP5DDGYifsVqy6ulqJiYmqqqoKuOERAATq8OHDKi0t1ZlnntlsA0NEt4qKCp133nn65JNPLNVchNtll12mX/7yl7rhhhu8ruPrM2v1GkoNBwAAQZSenq4//vGPKisrC3dR/Nq3b5/y8/M1fvx42/dFo1EAAIIskFtJ4ZSSkqJ77rknJPuihgMAANiOwAEAAGxH4ACAMKHNPqJFMD6rBA4ACDHXUNl2jY4JBJtr2HMrA5R5Q6NRAAixNm3aKD4+Xt9//73atm3b5EFfQKQwxujQoUPau3evOnXq5PFcmUAROAAgxBwOhzIyMlRaWtpkWG4gEnXq1Mnn03etCGvgWLBggRYsWKBvvvlGUsNT+R544AH3qGiDBg3SunXrPH7mF7/4hRYuXOh+XVZWpqlTp7qfoDdx4kTNnTvX6zjzABAJ2rVrp+7du3NbBRGvbdu2LarZcAnrVTkrK0uPPvqounfvLmOMXnrpJY0ZM0affvqp+8l5kydPdj/6WJLHY46dTqdGjRql9PR0vf/++yovL9dNN92ktm3b6pFHHgn5+wGAQMTExDDSKE4ZETe0eVJSkn7/+99r0qRJGjRokC644ALNmzev2XXffvtt/fznP9d3333nftjOwoULde+99+r7779Xu3btmv25uro6j4f5VFdXKzs7m6HNAQAIUNQNbe50OrV06VLV1tYqNzfXPf/ll19WSkqKzj//fM2ePdvdUlaSSkpK1KdPH48n++Xl5am6ulpffPGF133NnTtXiYmJ7ik7O9ueNwUAACRFQKPRbdu2KTc3V4cPH1bHjh21cuVK9e7dW5J0ww03qFu3bsrMzNTWrVt17733aseOHSosLJTU8ICcxo8Rdr2uqKjwus/Zs2dr5syZ7teuGg4AAGCPsAeOHj16aMuWLaqqqtLy5cs1ceJErVu3Tr1799aUKVPc6/Xp00cZGRkaMmSIdu7cqbPPPvuk9xkXF6e4uLhgFB8AAFgQ9lsq7dq10znnnKP+/ftr7ty56tevn+bPn9/sugMGDJAkff3115IanshXWVnpsY7rdUu77wAAgOAJe+BorL6+3qNB54m2bNkiScrIyJAk5ebmatu2bdq7d697nTVr1ighIcF9WwYAAIRfWG+pzJ49WyNGjFDXrl118OBBLV68WMXFxVq9erV27typxYsXa+TIkUpOTtbWrVt155136oorrlDfvn0lScOGDVPv3r1144036rHHHlNFRYXuu+8+FRQUcMsEAIAIEtbAsXfvXt10000qLy9XYmKi+vbtq9WrV+tnP/uZdu3apXfeeUfz5s1TbW2tsrOzNXbsWN13333un4+NjdWbb76pqVOnKjc3Vx06dNDEiRM9xu0AAADhF3HjcISD1T7EAADAU9SNwwEAAFovAgcAALAdgQMAANiOwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYjsABAABsR+AAAAC2I3AAAADbETgAAIDtCBwAAMB2BA4AAGA7AgcAALAdgQMAANiOwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdm3CXQAAcHM6pQ0bpPJyKSNDGjhQio0Nd6kABAGBA0BkKCyUpk+Xdu/+17ysLGn+fCk/P3zlAhAU3FIBEH6FhdK4cZ5hQ5L27GmYX1gYnnIBCBoCB4DwcjobajaMabrMNW/GjIb1AEQtAgeA8NqwoWnNxomMkXbtalgPiDZOp1RcLC1Z0vDvKRycacMBILzKy4O7HhApaJfkIaw1HAsWLFDfvn2VkJCghIQE5ebm6u2333YvP3z4sAoKCpScnKyOHTtq7Nixqqys9NhGWVmZRo0apfj4eHXu3FmzZs3SsWPHQv1WAJysjIzgrgdEAtolNRHWwJGVlaVHH31Umzdv1scff6yrrrpKY8aM0RdffCFJuvPOO/XGG29o2bJlWrdunb777jvln5AKnU6nRo0apSNHjuj999/XSy+9pEWLFumBBx4I11sCEKiBAxu+9TkczS93OKTs7Ib1gGhAu6TmmQhzxhlnmD/84Q/mwIEDpm3btmbZsmXuZdu3bzeSTElJiTHGmLfeesvExMSYiooK9zoLFiwwCQkJpq6uzvI+q6qqjCRTVVUVvDcCwLoVK4xxOBqmhlNyw+Sat2JFuEsIWFdU5Pk59jYVFYW7pEFh9RoaMY1GnU6nli5dqtraWuXm5mrz5s06evSohg4d6l6nZ8+e6tq1q0pKSiRJJSUl6tOnj9LS0tzr5OXlqbq62l1L0py6ujpVV1d7TADCKD9fWr5c6tLFc35WVsP8U/B+N6IY7ZKaFfZGo9u2bVNubq4OHz6sjh07auXKlerdu7e2bNmidu3aqVOnTh7rp6WlqaKiQpJUUVHhETZcy13LvJk7d67mzJkT3DcCoGXy86UxYxhpFNGPdknNCnvg6NGjh7Zs2aKqqiotX75cEydO1Lp162zd5+zZszVz5kz36+rqamVnZ9u6TwAWxMZKgwaFuxRAy7jaJe3Z03w7DoejYfkp1i4p7LdU2rVrp3POOUf9+/fX3Llz1a9fP82fP1/p6ek6cuSIDhw44LF+ZWWl0tPTJUnp6elNeq24XrvWaU5cXJy7Z4xrAgAgKGJjG7q+Sk0bQ7tez5t3ytXehT1wNFZfX6+6ujr1799fbdu21dq1a93LduzYobKyMuXm5kqScnNztW3bNu3du9e9zpo1a5SQkKDevXuHvOwAAEiiXVIzwnpLZfbs2RoxYoS6du2qgwcPavHixSouLtbq1auVmJioSZMmaebMmUpKSlJCQoLuuOMO5ebm6rLLLpMkDRs2TL1799aNN96oxx57TBUVFbrvvvtUUFCguLi4cL41AMCpjnZJHsIaOPbu3aubbrpJ5eXlSkxMVN++fbV69Wr97Gc/kyQ9+eSTiomJ0dixY1VXV6e8vDw999xz7p+PjY3Vm2++qalTpyo3N1cdOnTQxIkT9fDDD4frLQEA8C+0S3JzGNNci5ZTS3V1tRITE1VVVUV7DgAAAmD1GhpxbTgAAEDrQ+AAAAC2I3AAAADbETgAAIDtCBwAAMB2BA4AAGC7sD9LBacIp5PBbwDgFEbggP0KC6Xp06Xdu/81Lyur4VkDp+DwvgBwKuKWCuxVWCiNG+cZNqSGpyiOG9ewHADQ6hE4YB+ns6Fmo7nBbF3zZsxoWA8A0KoROGCfDRua1mycyBhp166G9QAArRqBA/YpLw/uegCAqEXggH0yMoK7HgAgahE4YJ+BAxt6ozgczS93OKTs7Ib1AACtGoED9omNbej6KjUNHa7X8+YxHgcAnAIIHLBXfr60fLnUpYvn/KyshvmMwwEApwQG/oL98vOlMWMYaRQATmEEDoRGbKw0aFC4SwEACBNuqQAAANsROAAAgO0IHAAAwHa04QgDp9OpDRs2qLy8XBkZGRo4cKBiaUAJAGjFCBwhVlhYqOnTp2v3Cc8YycrK0vz585VPF1EAQCvFLZUQKiws1Lhx4zzChiTt2bNH48aNUyGPagcAtFIOY5p7dvippbq6WomJiaqqqlJCQoIt+3A6ncrJyWkSNlwcDoeysrJUWlrK7RW0Tk4nY7EArZDVayg1HCGyYcMGr2FDkowx2rVrlzbwqHa0RoWFUk6ONHiwdMMNDf/m5DTMB3BKIHCESLnFR7BbXQ+IGoWF0rhxUuPAvWdPw3xCB3BKIHCESIbFR7BbXQ+ICk6nNH261NydW9e8GTMa1gPQqhE4QmTgwIHKysqSw8uj2h0Oh7KzszWQR7WjNdmwoWnNxomMkXbtalgPQKtG4AiR2NhYzT/+qPbGocP1et68eTQYReti9RYhtxKBVo/AEUL5+flavny5ujR6VHtWVpaWL1/OOBxofazeIuRWItDq0S1WoekWeyJGGsUpw+ls6I2yZ0/z7TgcDikrSyotpYssEKWsXkMZaTQMYmNjNSiaHtUeReMnEOYiTGysNH9+Q28Uh8MzdLhuLc6bF7GfJwDBwy0V+BZF4ycUFhYqJydHgwcP1g033KDBgwcrJyeHEVzDLT9fWr5canQrUVlZDfO5lQicErilotDfUgkW27/Nu8ZPaPwRcX0zjaCLhWvY+MYfZ1eDXNrIRIAoqikDYJ3VayiBQ9EZOGx/CJzr3ru3Lo0RdO+dYeMjA7ezgFMTQ5u3YiF5CFwUjZ/AsPHhx+0sAP4QOKKM0+nU9OnTm9w6kOSeN2PGDDlbOnJjFI2fwLDx4cVTkAFYQeCIMiH7Nh+J4yc4nVJxsbRkScO/x0MVw8bbz+l0qri4WEuWLFFxcbE70IYsAPspB4DIR7fYKBOyb/MDBza00fA3fkKohmIvLGx4JseJYSsrS5o/XwPHjFFWVpb27NnT7IXP1YaDYeNPjq/2QklJSZYDsJWu4L7agdjebgmArQgcUSaQb/MtasQXSeMneOstc/xpo7HLl2v+/PkaN26cHA6HR+gI27DxraRHhrfeP67bJdOnT7e0HSsB2FegkOSzHPRCAqKAgamqqjKSTFVVVbiL4texY8dMVlaWcTgcRlKTyeFwmOzsbLNs2TKTlZXlsSwrK8usWLEisB2uWGFMVpYxDZf7hik7u2H+vwplTFGRMYsXN/x77NhJva+ioiKzePFiU1RUZI65tnHsWNP9nzg5HA3lOXbMrFixosl7zs7ODvw9t1Rzxywry/OYRQHXZ625z5nrs5aamup1+YlTUVGRz32tWLGi2c+0a15ycrLPcmRnZ//rMwMgpKxeQwkcJroChzH/Ojk3PkG75s2aNcvrydvhcAR+AfYVKIJwcW0uKLjDUVGR97Bx4nT8guY1uITKihUNIai5YORwRFXoKCoqshQmUlNT/QZgX78Hf8HG6uQv1ACwB4EjANEWOIxp/iKdnZ1tXn31Vb/fSoP2bTAIF1df32wdDof5cMYMa4Fj8eKWv5+WCqA2JhosXrzY0oV+xowZPgOwv4BrNdj4mxZHwmcAkSEIta6wzuo1lF4qUSo/P1/ffPONioqKtHjxYhUVFam0tFSpqamh6cXidDY04myuQalr3owZ7p4kzW/iXz0cYiRdKen64/86jm/j8ZdftlaeSOiBEkVjl1hhtb3QmDFjWvQU5GB1V6YXEiRF1eMYTjU0Go1izT0ELmS9WAK5uHrpneDq4nuNpPmSsk9YtkvSdGO04vvvdTg1Vaft29d8uAl1bxlfAhy7JNJH5hw4cKDl3j+xsbEaM2bMSb2flgYFeiHBzU8D80h6HMOpiBqOViZkY1IEYWCw8vJyXSNpuaRGj/VSl+Pzx0jaNGFCw0xX7xiXSHvaaABjl0TDyJyxsbHuHiKORse+ud4/rgA8fvx4DRo0yHJ4cgWbxvs4cV/JyclyOByWyoFTVBBqXWGvsAaOuXPn6pJLLtHpp5+uzp076+qrr9aOHTs81hk0aJD7ROOabrvtNo91ysrKNGrUKMXHx6tz586aNWuWjh07Fsq3EjGsnLyzs7Nb/m0wCAODZXTurPnH/9/4g+h6PU+S8+c/j7ynjTY3CJlr7BIvx14Oh5SdrcLvv4+akTnz8/NbdLvECivB5n/+539sLweiXCu7pdkqhaA9iVd5eXnmxRdfNJ9//rnZsmWLGTlypOnataupqalxr3PllVeayZMnm/Lycvd0YsOUY8eOmfPPP98MHTrUfPrpp+att94yKSkpZvbs2ZbLEY2NRn3x14slKN1Ejx0ztcnJxumlgaRTMrXJyT4bax175x1LDUKPvfOOe59+G4KForGYr545roa0jRvTHp93rJnuyo1/R5HYxTMUvX+sdGsOey8kRK7Fi6OngXkrE5W9VPbu3WskmXXr1rnnXXnllWb69Olef+att94yMTExpqKiwj1vwYIFJiEhwdTV1Vnab2sLHMZYO3m3xLFjx8x/HA8cjUOHa97k5GTfF4RgnyAsdNFt8QXLSs8cH2OXWO2REdIunhHUoj9iAkUEHRNYFGAXegRPVAaOr776ykgy27Ztc8+78sorTUpKiklOTjbnnXee+dWvfmVqa2vdy++//37Tr18/j+384x//MJLMJ5980ux+Dh8+bKqqqtzTrl27Wl3gMMbek7frwnmNZMoa/UF/e3y+3wtnME8QFoKAz/E+TuTtYhNIt1cv27Da1TSYXTx9fg5COEhZxIQJf1rJwG3BFvG/P9ffZ3PngcZ/nwiqqAscTqfTjBo1ylx++eUe859//nmzatUqs3XrVvPnP//ZdOnSxVxzzTXu5ZMnTzbDhg3z+Jna2lojybz11lvN7uvBBx9s9iTf2gKHnU68cMZI5krJXH/83xirF85gnSAsBIHa5GQT28zvvMltphUrTH2jbdW7LjZBCEgn1nD4Om5Wazj8XQR8hqwQDlJmOeyF2/FjUt/omNRH4cBtwRRtvz9vtzRP1d+f3aIucNx2222mW7duZteuXT7XW7t2rZFkvv76a2PMyQWOaKjhCNm3iZOsOg7arYFgnCAsBgHXRb3xRd7dbmLZMlOv5m8R1UvGBGEQMteomvlqWjNUJpl8yXIbDn8XAV+DqsXqeBsbHyEtWN8G/Q3uFjEXrePBtXHYcIcOKfjfkKPg1k3U/P5crDyOIUgivtYnRKIqcBQUFJisrCzzj3/8w++6NTU1RpJZtWqVMebkbqk0FmltOEL2baIFVcdWn+li6Q+wpScIi21B/tvLRf6a48HjQEKCz0awPyYktLiGwxhjSmbN8tn2pWTWLNdB9noxcl0EGgeo2OPH3t+Is4OsvA8L78UfK89jCaiRrJ0X6FC3AYiCWzdB//2FSgiCXNTU+oRAVASO+vp6U1BQYDIzM83f//53Sz/z3nvvGUnms88+M8b8q9FoZWWle53nn3/eJCQkmMOHD1vaZiQFjpB9mwjisORB6Q3TkhOExQuFt9oLp2Tus3gBrk9JadktIKvfopct83oxcl0Emms/46ol8fdQteutBo4WtiUJaiNZmy/Qzj//2dIxcf75zy3fWZQ8cyciGzlHgKir9bFZVASOqVOnmsTERFNcXOzR7fXQoUPGGGO+/vpr8/DDD5uPP/7YlJaWmtdff92cddZZ5oorrnBvw9UtdtiwYWbLli1m1apVJjU1NSq7xYbs20QQn/kREU9o9dMWpF4yR5sJGyeGju8tXoDLxo1r2S0gq9+ivf1eHA6zbc4cc43ks5bE1WjXW1uRK63u03UhOclAGLRGsiG4QH/65JOWjsmnTz7Zsh1F0TN3wtHIOVRO9nZIoOfpU+G2S1QEDm+/sBdffNEYY0xZWZm54oorTFJSkomLizPnnHOOmTVrVpM39c0335gRI0aY9u3bm5SUFHPXXXeZo0ePWi5HpASOkH2bCHLVcUT8QfloC+KtNuFkpnfuu8/SLSCvx8RqV2AfF6OapCRTJt8B6ls1BAtvtSBjj//r9diceNFrQc1CUD7TgV6gT3K8liV//rOl47qkpTUcUdR9s7XWcLTkdkggx6TFPeOiRFQEjkgRKYEjZN8mWusAOd6CgMXGnvssXGyKLAxC5vMk05IajgCnufHxPmtBnuvY0dQ7HA09ME5Y7tEjI5CahWaOSVDa+gRygbYSjrysY7XmyH1xPdmLRBT9/QW1rVaEaOntkECfoux3P1HQlscfAkcAIiVwRGsNR0Rp7iJg8f0+dvrpLRvIzFg4mb36qu+uwEGcDnfs6Hck2JK77jJ7YmM9lu2OjW1ouBpIzYKPk2aL2/pYvUDPmGFtUDYv69Q7HOY/kpOb7UH0rRr1IGrJRSLK/v5CMnJxiATjtrXV87SvdlQn9oyLhrY8/hA4AhApgSPgbxP+vmH5GMCqpcOSRxWL432sePVVnxcbfydWyycz10mmuXYgVi5EQZwGqWkbD1dPl3Vz5ljbzpw5JzXomuW2PlYv0KmpvsNRVpbl8VpivRyToIxfEoUDVEVEW60gCMaXOivnaX+NtnX87+5Hf5/ZCPsceEPgCEDQA0cL7sdZ/jbh7xuWj+VBGZY84EMS5nYeFsf7WLFihenapYvHxaabDfd2vd7+8VcDcsKF02dPl6QkSxfp672U0eFwmAKL2/C5rxNOmif9GbBygfZ14g5wWjdnjveLa7Dak0ThAFVWfn+RPn5QsG5b+ztPz5gxw+8+rrT6mYyQmi5fCBwBCGrgCML9OL/fJvx9w5o1y+fybXPmGKmFw5IHdEgipL+6xfE+TvakGfDJrCUXI9eImN7aX1isnbgyGCfEUJw0/R0Tq4OyWZkWL/b+GQhme5JWNkBVNIwfFGgNh6/j5us8bWU/oeqaHgoEjgAELXAEseue1w+6v29YkjGN7sk3LktNcrJ7GO2THpbc8iGJsP7qQWoN3tzvJ6htcKxcjHytY6Gr8LeNft/NVfnWJCX5rlmwWgsSjJOmr/cbzMa4vn4/wWxPYkyrGaAqWsYPCuS2tZXj5u08bWU//2a1Vo4ajtYlKIEj2H3rvZ2IgnRivdLHhSagC6PPtxCloxT64e1E5BrdM2gt+k+ye+cJBfXZVfgaC5+Bba72Gd5qFqy28wjWSdNHuySrt6Ja1HYiWO1Jgnlv3k+PKbuDQCSOH+SvZsLfbetgHDd/+3l16VKzJzbWZ1u63bGx5pjFp56HE4EjAEEJHIFUtfq7kPiqMmzpOA7Hp4KkpOBdGL0ekiK/F7RgBJtQ8ncimjVrlrU2OKErcLO1AseWLbMejlpQkxLShm8B3Io66bYTwWxPEozPvZ+2WqEIAiH7O7d4jm2uDU7jmglft0OCedz83XYJqBu2H+FsJ0fgCEBQAkcgVa3+7uv6qjK0+o3Swh+l3RfG1jZKodUT0bLjF/PmTjJhKnizATeg7o4nWZMS8gaQLb0VZXUfwWhP0tLPvZ9zhautlt1BINLGDxrv5W+z8Wfa2wU62AHK235cx81fWzorxy3c7eQIHAEIaQ1Hc5PrROXqoeBrPX/VwlJDGw4L3zjt7urW2mo4Ank/Ye+VY1HQPgMhbADpV0tvRVkRjPYkLfncW7i9cGJbLTuDQKTVcFzpZf9WayZCFaBOPG6+2tL5O26R0E6OwBGAoLbh8BcEfIUJq1Wx/u6ru3qpWPjGaWdXt9Y2SmFrq7FxCVo4CkEDyIjSkvYkLb3NFODF18oFLRh/583tJ+htOFrQENrKBTygANWCz3wwzo+R0k6OwBGAoPdSae5CbyVIWJ0WL/b/jTJI3zhbWlXXmkYpbG01NrCR3beZLN5eKEhKanYwO9dThQPpkeGvcaqv/QS9l0oLGkL7+0JgOQj4eKKz9bfTsvNjpJyTCBwBsH0cjgCe52Fpcn14/KXrFn7jDFZVXbCq7cN9m6K11djAZnbeZrJYw/H5ddf5bJRYMmuWtb9zC2OK1HvZT73k95k7wTiuwWyz4i8IlPgZ6yjQ0HGy58dIqXUlcAQgJCONBtKdLgJa/Ae7qq6lYSHcjaJOLEdrqbFBCATjNlNz2wigG7CvEWnrs7JM1y5djNT8bReHw2EmJyc3GWDO4+Jqpe1ZEJ487O+YBPsLgdcgEMj7tfx2Tu78SA1HFArJs1Ss3tf19ZyNELb4j5QPsjGR0SiqcXkiqhcKAhbu2jLLfF2g/dUqBDDabHM9JcokM/b4v95Cy0m1PfMWXILw9xPsLwTNfk5C0Sg4gPKFpP2MHwSOAITs4W1W7+tGQIv/SKmqi5RGUc2VKyouWGgiUmrLjPHzOfLT7bVk1iyfDxv80OJt3P+W77EgLF1crUwWn7nTUpa/EJxs7ZPVIRBC1Hg8ZO1nfCBwBCCkT4u1GibC3OI/Umo4IqUcaB1CXVsW6LM43MHHT7fXeofD7I6NNTHyfivE6tDZlT6CRVADh5UpSH/Hfr8QtOTWTgTVcBhjAms/YxMCRwBC/nj6KOg+GCkNJCOlpiUcqEUJrlC3S/IVKPwFn3VBePie+/HnPm7j1qekBCco+Gt7Fspn7vjjb3DFYIw2G6rRdS2MxxKKshA4AhDywBElIqGB5KlawxFJ1f6tRTA/S/5+P74ChSSTnJzsM/gUWLxAX+/nvax3PUTO223clvaes9r2LJBn7tj5hSxYF+hIGV03QmpbCBwBIHB4F+4GkpFS0xJKkdZItrUIVm2Zv9+P6yF+VvblbbrS4gX/Sj/bKSoqCt5TdlvS9iyQRvPB6MXiTTAv0BHQ1i7g9iQ2hTkCRwAIHL6Fu2o/EmpaQiVSG8m2BsGo4bDy+0lNTW1R2JAabofsdjh8tq34VjKxVj8nLR0VtbkgEGjbM3+1AkEc28KrYDf4DPft8UACVLC6JDeDwBEAAkfkC3dNS6icqreQQiEYtWVWfz/BmKw8SdRV7hYFcau3B4JxcfVWK2DD2BbNipBbEEET6HALNoU5AkcACBzRIdw1LaFwKjeSDYWW1pZZ/f20ZHI4HCYpKckdOnw9SXTGjBnR9/C9lgyM2NIgEEkNPoPFX2AMQZgjcASAwIFIQQ1Hy51M7xGrF2mrv5/U1FSfNSnJyck+g8+cE4bp9vfgtVbx8L1Qjm0RKQ0+A+HvdxOMdjotOKcQOAJA4ECkOBUbyQaT1d49dj8BedmyZX5rUnwFn1PucxDqWx2R0ODTKqttL7yFkhCEOQJHAAgciCSnUiPZYApV7x6rvx8rNSn+BgY7ZT4HAd7qCEqtTrgbfFrR0jFDjKGGI9IQOBBpTpVGssES6t49Vn8/djy0sNV+Dize6jhlxqgJ1pghIWi3YvUa6jDGGJ3iqqurlZiYqKqqKiUkJIS7OIAkyel0asOGDSovL1dGRoYGDhyo2NjYcBcrIhUXF2vw4MF+1ysqKtKgQYOCss9Q/X5Oqc9BYaE0fbq0e/e/5mVnS/PmSfn5Kiws1Lhx49T4suVwOCRJy5cvV35+fggLbKPiYsnCZ1pFRZK/z3RhoTRuXMP/Tzx2x4+bli+XWnDcrF5D25z0HgDYKjY2NmgXx9auvLw8qOtZEarfzyn1OcjPl8aMkTZskMrLpYwMaeBAKTZWTqdT06dPbxI2JMkYI4fDoRkzZmjMmDGtI5BZ/axaWS8/vyFUNA5zWVnuMBcKBA4AUS8jIyOo6yGMYmOb/ca+YcMG7T7xYtmIMUa7du3Shg0bWkdAs/pZtbqejzAXKgQOAFFv4MCBysrK0p49e5r9BuxwOJSVlaWBAweGoXQIhnDUYoXVwIENNRB79njeBnFxOBqWB/KZ9hLmQiUmbHsGgCCJjY3V/PnzJf3rfr6L6/W8efNaR1X7KeqUq8WKjZWOf6bV6DPtfj1vXkhrKFqKwAGgVcjPz9fy5cvVpUsXj/lZWVmtqzHhKcpVi9U4ULo4HA5lZ2e3rlosV9uLRp9pZWW1uKFnONBLRfRSAVqTU6pXxynG1UtFksets1bZS+VETmdY2174Y/UaSuAQgQMAokVhYaGmT5/u0YA0Oztb8+bNa51hIwoQOAJA4ACA6EEtVmRhHA4AQKt0So1N0ooQOAAAaE6Et52INgQOAEDIRM3tkOaGWc/KauiqGqVtRcJ97OkWCwAIicLCQuXk5Gjw4MG64YYbNHjwYOXk5KiwsDDcRfPkevZI45FN9+xpmB9p5bUgEo49jUZFo1EAsFvUPHjN6ZRycpqGDRfXCJ+lpVFze8XuY2/1GhpQDcdHH30kp9PpdXldXZ1effXVQDYJAGjl/D14TZJmzJjh8/oSMhs2eA8bUsMw47t2NawXBSLp2AcUOHJzc/XDDz+4XyckJOgf//iH+/WBAwc0fvz44JUOABD1AnnwWtgF8ymtESCSjn1AgaNxQvKVmAAAkKLswWvBfkprmEXSsQ96LxVv49wDAE5NUfXgNTue0tpCLeldEknHnl4qAABbRdWD1yLsKa0t7V0SScc+4MDxt7/9TVu3btXWrVtljNGXX37pfv3FF1/YUUYAQBSLjY3V/OMX8cYXPtfrefPmRc54HBHylFZX75LGbTD27NmjcePGWQodkXTsA+oWGxMTI4fD0Ww7Ddd8h8MRGS2NA0C3WACwX9Q9eC2MI406nU7l5OR4bfDpcDiUlZWl0tJSS2HBzmNvy8Pbvv32W0vrdevWzdJ6c+fOVWFhob788ku1b99eP/nJT/S73/1OPXr0cK9z+PBh3XXXXVq6dKnq6uqUl5en5557Tmlpae51ysrKNHXqVBUVFaljx46aOHGi5s6dqzZtrDVRIXAAQGiEe7TLaFFcXKzBgwf7Xa+oqMjyc2XsOva2PLzNSpD4/PPPLW9v3bp1Kigo0CWXXKJjx47pP//zPzVs2DD97W9/U4cOHSRJd955p/76179q2bJlSkxM1LRp05Sfn6+NGzdKajiAo0aNUnp6ut5//32Vl5frpptuUtu2bfXII48E8vYAADbz9+A1AkkDO3qXhP2hdyYIqqurzfPPP28uueQSExMTc9Lb2bt3r5Fk1q1bZ4wx5sCBA6Zt27Zm2bJl7nW2b99uJJmSkhJjjDFvvfWWiYmJMRUVFe51FixYYBISEkxdXZ2l/VZVVRlJpqqq6qTLDgBomRUrVpisrCwjyT1lZWWZFStWhLtoIVdUVORxHLxNRUVF4S6q5Wtoi3qprF+/XhMnTlRGRoYef/xxXXXVVfrggw9OentVVVWSpKSkJEnS5s2bdfToUQ0dOtS9Ts+ePdW1a1eVlJRIkkpKStSnTx+PWyx5eXmqrq722oi1rq5O1dXVHhMAIHyC0UCyNYmk3iXBEnDgqKio0KOPPqru3bvr3/7t35SQkKC6ujq99tprevTRR3XJJZecVEHq6+s1Y8YMXX755Tr//PPd+2rXrp06derksW5aWpoqKirc65wYNlzLXcuaM3fuXCUmJrqn7OzskyozAKDlImn47UgRSb1LgiWgwDF69Gj16NFDW7du1bx58/Tdd9/p6aefDkpBCgoK9Pnnn2vp0qVB2Z4vs2fPVlVVlXvatWuX7fsEADQvkobfjiT5+flavny5ujTqnpuVlRU5D7sLQECNRt9++2398pe/1NSpU9W9e/egFWLatGl68803tX79emVlZbnnp6en68iRIzpw4IBHLUdlZaXS09Pd63z00Uce26usrHQva05cXJzi4uKCVn4AwMmLpOG3I01+fr7GjBnTKhrSBlTD8d577+ngwYPq37+/BgwYoGeeeUb79u076Z0bYzRt2jStXLlS7777rs4880yP5f3791fbtm21du1a97wdO3aorKxMubm5khoeKLdt2zbt3bvXvc6aNWuUkJCg3r17n3TZAAChEUnDb0ciV++S8ePHa9CgQVEZNqQAx+Fwqa2t1SuvvKIXXnjB/cj6J554QrfeeqtOP/10y9u5/fbbtXjxYr3++useY28kJiaqffv2kqSpU6fqrbfe0qJFi5SQkKA77rhDkvT+++9Larj3d8EFFygzM1OPPfaYKioqdOONN+o//uM/LHeLZRwOAAgf1yBXe/bs8TqwZCCDXCG0LF9DW9od5ssvvzSzZs0y6enp5rTTTjOjR4+2/LPy0s3nxRdfdK/z448/mttvv92cccYZJj4+3lxzzTWmvLzcYzvffPONGTFihGnfvr1JSUkxd911lzl69KjlctAtFgDCa8WKFcbhcBiHw+FxPXDNOxW7xkYLq9fQk6rhaI7T6dSbb76pF154Qa+//nowNhky1HAAQPhF3dDnkGTTSKO33nqr33WSk5MD2SQAAJJaVwNJNBVQ4Fi0aJG6deumCy+8sNn7bFLT/sIAAFgV9uG3YZuAAsfUqVO1ZMkSlZaW6pZbbtG///u/u0cFBQAA8CagbrHPPvusysvLdc899+iNN95Qdna2rr32Wq1evdprjQcAAECLGo1+++23WrRokf70pz/p2LFj+uKLL9SxY8dgli8kaDQKAMDJsXoNbdHD22JiYuRwOGSMOaXGuAcAAIEJOHDU1dVpyZIl+tnPfqZzzz1X27Zt0zPPPKOysrKorN0AAAD2C6jR6O23366lS5cqOztbt956q5YsWaKUlBS7ygYAAFqJgNpwxMTEqGvXrrrwwgt9dn8tLCwMSuFChTYcAACcHFsG/rrpppsYZwMAAAQs4IG/AAAAAtWiXioAAABWEDgAAIDtCBwAAMB2BA4AAGA7AgcAALAdgQMAANiOwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYjsABAABsR+AAAAC2I3AAAADbETgAAIDtCBwAAMB2BA4AAGA7AgcAALAdgQMAANiOwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYLuwBo7169dr9OjRyszMlMPh0Guvveax/Oabb5bD4fCYhg8f7rHO/v37NWHCBCUkJKhTp06aNGmSampqQvguAACAP2ENHLW1terXr5+effZZr+sMHz5c5eXl7mnJkiUeyydMmKAvvvhCa9as0Ztvvqn169drypQpdhcdAAAEoE04dz5ixAiNGDHC5zpxcXFKT09vdtn27du1atUqbdq0SRdffLEk6emnn9bIkSP1+OOPKzMzs9mfq6urU11dnft1dXX1Sb4DAABgRcS34SguLlbnzp3Vo0cPTZ06VT/88IN7WUlJiTp16uQOG5I0dOhQxcTE6MMPP/S6zblz5yoxMdE9ZWdn2/oeAAA41UV04Bg+fLj+9Kc/ae3atfrd736ndevWacSIEXI6nZKkiooKde7c2eNn2rRpo6SkJFVUVHjd7uzZs1VVVeWedu3aZev7AADgVBfWWyr+XH/99e7/9+nTR3379tXZZ5+t4uJiDRky5KS3GxcXp7i4uGAUEQAAWBDRNRyNnXXWWUpJSdHXX38tSUpPT9fevXs91jl27Jj279/vtd0HAAAIvagKHLt379YPP/ygjIwMSVJubq4OHDigzZs3u9d59913VV9frwEDBoSrmAAAoJGw3lKpqalx11ZIUmlpqbZs2aKkpCQlJSVpzpw5Gjt2rNLT07Vz507dc889Ouecc5SXlydJ6tWrl4YPH67Jkydr4cKFOnr0qKZNm6brr7/eaw8VAAAQeg5jjAnXzouLizV48OAm8ydOnKgFCxbo6quv1qeffqoDBw4oMzNTw4YN029+8xulpaW5192/f7+mTZumN954QzExMRo7dqyeeuopdezY0XI5qqurlZiYqKqqKiUkJATlvQEAcCqweg0Na+CIFAQOAABOjtVraFS14QAAANGJwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYjsABAABsR+AAAAC2I3AAAADbETgAAIDtCBwAAMB2BA4AAGA7AgcAALAdgQMAANiOwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYjsABAABsR+AAAAC2I3AAAADbETgAAIDtCBwAAMB2BA4AAGC7sAaO9evXa/To0crMzJTD4dBrr73msdwYowceeEAZGRlq3769hg4dqq+++spjnf3792vChAlKSEhQp06dNGnSJNXU1ITwXQAAAH/CGjhqa2vVr18/Pfvss80uf+yxx/TUU09p4cKF+vDDD9WhQwfl5eXp8OHD7nUmTJigL774QmvWrNGbb76p9evXa8qUKaF6CwAAwAKHMcaEuxCS5HA4tHLlSl199dWSGmo3MjMzddddd+nuu++WJFVVVSktLU2LFi3S9ddfr+3bt6t3797atGmTLr74YknSqlWrNHLkSO3evVuZmZnN7quurk51dXXu19XV1crOzlZVVZUSEhLsfaMAALQi1dXVSkxM9HsNjdg2HKWlpaqoqNDQoUPd8xITEzVgwACVlJRIkkpKStSp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XC/qA0dKSopiY2NVWVnpMb+yslLp6enN/kxcXJzi4uI85nXq1MmW8iUkJET8B8yFstqDstojmsoqRVd5Kas9WnNZfdVsuER9o9F27dqpf//+Wrt2rXtefX291q5dq9zc3DCWDAAAuER9DYckzZw5UxMnTtTFF1+sSy+9VPPmzVNtba1uueWWcBcNAAColQSO6667Tt9//70eeOABVVRU6IILLtCqVauaNCQNpbi4OD344INNbt1EIspqD8pqj2gqqxRd5aWs9qCsDRzGXz8WAACAFor6NhwAACDyETgAAIDtCBwAAMB2BA4AAGA7AocNnn32WeXk5Oi0007TgAED9NFHH4W7SM166KGH5HA4PKaePXuGu1iSpPXr12v06NHKzMyUw+HQa6+95rHcGKMHHnhAGRkZat++vYYOHaqvvvoqIst68803NznOw4cPD0tZ586dq0suuUSnn366OnfurKuvvlo7duzwWOfw4cMqKChQcnKyOnbsqLFjxzYZWC9Syjpo0KAmx/a2224LeVkXLFigvn37ugdLys3N1dtvv+1eHinH1EpZI+WYNufRRx+Vw+HQjBkz3PMi6dieqLmyRsqx9Xfut+uYEjiC7JVXXtHMmTP14IMP6pNPPlG/fv2Ul5envXv3hrtozTrvvPNUXl7unt57771wF0mSVFtbq379+unZZ59tdvljjz2mp556SgsXLtSHH36oDh06KC8vT4cPHw5xSf2XVZKGDx/ucZyXLFkSwhL+y7p161RQUKAPPvhAa9as0dGjRzVs2DDV1ta617nzzjv1xhtvaNmyZVq3bp2+++475efnR2RZJWny5Mkex/axxx4LeVmzsrL06KOPavPmzfr444911VVXacyYMfriiy8kRc4xtVJWKTKOaWObNm3S888/r759+3rMj6Rj6+KtrFLkHFtf537bjqlBUF166aWmoKDA/drpdJrMzEwzd+7cMJaqeQ8++KDp169fuIvhlySzcuVK9+v6+nqTnp5ufv/737vnHThwwMTFxZklS5aEoYT/0risxhgzceJEM2bMmLCUx5+9e/caSWbdunXGmIbj2LZtW7Ns2TL3Otu3bzeSTElJSbiKaYxpWlZjjLnyyivN9OnTw1coH8444wzzhz/8IaKPqYurrMZE5jE9ePCg6d69u1mzZo1H+SLx2HorqzGRc2x9nfvtPKbUcATR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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "fig, ax = subplots(1, 1, figsize=(6, 6))\n", "ax = summary_plot(hit_results,\n", @@ -1769,23 +950,12 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "1ee2b61b", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "data": { - "text/plain": [ - "tensor(224.2696, grad_fn=)" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "hit_model.eval() \n", "preds = hit_module(X_test_t)\n", @@ -1794,7 +964,7 @@ }, { "cell_type": "markdown", - "id": "fd356e46", + "id": "8140eb0d", "metadata": {}, "source": [ " " @@ -1814,7 +984,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "0ca069a3", "metadata": { "lines_to_next_cell": 2 @@ -1847,26 +1017,10 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "id": "af6a0a33", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Dataset MNIST\n", - " Number of datapoints: 60000\n", - " Root location: data\n", - " Split: Train\n", - " StandardTransform\n", - "Transform: ToTensor()" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "(mnist_train, \n", " mnist_test) = [MNIST(root='data',\n", @@ -1902,7 +1056,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": null, "id": "0df8a0c8", "metadata": {}, "outputs": [], @@ -1925,23 +1079,12 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": null, "id": "0c7dd6ee", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "X: torch.Size([256, 1, 28, 28])\n", - "Y: torch.Size([256])\n", - "X: torch.Size([256, 1, 28, 28])\n", - "Y: torch.Size([256])\n" - ] - } - ], + "outputs": [], "source": [ "for idx, (X_ ,Y_) in enumerate(mnist_dm.train_dataloader()):\n", " print('X: ', X_.shape)\n", @@ -1964,7 +1107,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": null, "id": "63e48c70", "metadata": {}, "outputs": [], @@ -2004,7 +1147,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": null, "id": "92405826", "metadata": {}, "outputs": [], @@ -2023,21 +1166,10 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": null, "id": "2c8f7a48", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "torch.Size([256, 10])" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "mnist_model(X_).size()" ] @@ -2054,56 +1186,10 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": null, "id": "9f502df8", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " action_fn=lambda data: sys.getsizeof(data.storage()),\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " return super().__sizeof__() + self.nbytes()\n" - ] - }, - { - "data": { - "text/plain": [ - "===================================================================================================================\n", - "Layer (type:depth-idx) Input Shape Output Shape Param #\n", - "===================================================================================================================\n", - "MNISTModel [256, 1, 28, 28] [256, 10] --\n", - "├─Sequential: 1-1 [256, 1, 28, 28] [256, 10] --\n", - "│ └─Sequential: 2-1 [256, 1, 28, 28] [256, 256] --\n", - "│ │ └─Flatten: 3-1 [256, 1, 28, 28] [256, 784] --\n", - "│ │ └─Linear: 3-2 [256, 784] [256, 256] 200,960\n", - "│ │ └─ReLU: 3-3 [256, 256] [256, 256] --\n", - "│ │ └─Dropout: 3-4 [256, 256] [256, 256] --\n", - "│ └─Sequential: 2-2 [256, 256] [256, 128] --\n", - "│ │ └─Linear: 3-5 [256, 256] [256, 128] 32,896\n", - "│ │ └─ReLU: 3-6 [256, 128] [256, 128] --\n", - "│ │ └─Dropout: 3-7 [256, 128] [256, 128] --\n", - "│ └─Linear: 2-3 [256, 128] [256, 10] 1,290\n", - "===================================================================================================================\n", - "Total params: 235,146\n", - "Trainable params: 235,146\n", - "Non-trainable params: 0\n", - "Total mult-adds (M): 60.20\n", - "===================================================================================================================\n", - "Input size (MB): 0.80\n", - "Forward/backward pass size (MB): 0.81\n", - "Params size (MB): 0.94\n", - "Estimated Total Size (MB): 2.55\n", - "===================================================================================================================" - ] - }, - "execution_count": 40, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "summary(mnist_model,\n", " input_data=X_,\n", @@ -2125,7 +1211,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": null, "id": "d1a7590f", "metadata": {}, "outputs": [], @@ -2144,490 +1230,12 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": null, "id": "e2fe6de3", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (mps), used: False\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", - " rank_zero_warn(\n", - "\n", - " | Name | Type | Params\n", - "-------------------------------------------\n", - "0 | model | MNISTModel | 235 K \n", - "1 | loss | CrossEntropyLoss | 0 \n", - "-------------------------------------------\n", - "235 K Trainable params\n", - "0 Non-trainable params\n", - "235 K Total params\n", - "0.941 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "19132f797f854efbaa5bc297129f7288", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "`Trainer.fit` stopped: `max_epochs=30` reached.\n" - ] - } - ], + "outputs": [], "source": [ "mnist_trainer = Trainer(deterministic=True,\n", " max_epochs=30,\n", @@ -2669,23 +1277,12 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": null, "id": "73755987", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "data": { - "image/png": "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euutt3yxOtMwRgMAAM9YOkbjRz/6kbKysny1OgAA0AD4JGj88MMPeu655xQbG+uL1QEAgAbC7TEaVW+eZhiGTp8+rfDwcP3tb3/zaXEAACCwuR00nn32WaegERQUpHbt2ikpKUmtW7f2aXEAACCwuR007r33XhPKAAAADZHbYzRWrFihtWvXVpu+du1avfrqqz4pCgAANAxuB43Fixerbdu21aa3b99eixYt8klRAACgYXA7aOTl5alTp07Vpnfs2FF5eXk+KQoAADQMbgeN9u3ba8+ePdWm7969W23atPFJUQAAoGFwO2iMHj1aDz30kLKzs2W322W32/Xhhx9q2rRpuuuuu8yoEQAABCi3zzp54okn9M033+iWW25RkyYVi5eXl2vs2LGM0QAAAE48vtfJV199pV27diksLEw9e/ZUx44dfV2bKbjXCQAAnvGkD3V7j0alrl27qmvXrp4uDgAAGgG3x2jccccd+v3vf19t+pNPPqmf//znPikKAAA0DG4HjU2bNmno0KHVpt9+++3atGmTT4oCAAANg9tBo6SkRCEhIdWmN23aVMXFxT4pCgAANAxuB42ePXtqzZo11aavXr1aPXr08ElRAACgYXB7MOjcuXOVmpqqw4cP6+abb5YkZWVlKT09XRkZGT4vEAAABC63g8awYcO0fv16LVq0SBkZGQoLC1NiYqI+/PBDXXbZZWbUCAAAApTH19GoVFxcrFWrVmn58uXavn277Ha7r2ozBdfRAADAM570oW6P0ai0adMmjRs3Th06dNAf/vAH3Xzzzfr00089XR0AAGiA3Dp0UlBQoJUrV2r58uUqLi7WnXfeqbKyMq1fv56BoAAAoBqX92gMGzZM3bp10549e7RkyRJ99913ev75582sDQAABDiX92i89957euihhzRp0iQuPQ4AAFzi8h6Njz/+WKdPn1afPn2UlJSkZcuW6cSJE2bWBgAAApzLQeNHP/qRXn75ZeXn5+uXv/ylVq9erQ4dOqi8vFwbN27U6dOnzawTAAAEIK9Obz148KCWL1+u1157TadOndKtt96qt99+25f1+RyntwIA4Bm/nt4qSd26ddOTTz6po0ePatWqVd6sCgAANEBeX7Ar0LBHAwAAz/h9jwYAAEBtCBoAAMA0BA0AAGAaggYAADANQQMAAJiGoAEAAExD0AAAAKYhaAAAANPU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eL+7n/70p2rXrp1WrlzpNL2kpERr167ViBEjNHr0aMXGxio8PFw9e/bUqlWral1n1UMnX331lW688UY1a9ZMPXr00MaNG6stM3PmTF155ZUKDw9X586dNXfuXJ0/f16StHLlSi1YsEC7d++WzWaTzWZz1Fv10MnevXt18803KywsTG3atNHEiRNVUlLieP3ee+/ViBEj9PTTTysmJkZt2rTR5MmTHW0BAOoPLkFelzNnpBYtfLMuw6jY0xEZ6dr8JSVS8+Z1ztakSRONHTtWK1eu1OzZs2Wz2SRJa9euld1u1y9+8QutXbtWM2fOVEREhN555x3dc8896tKli/r371/n+svLy5WamqqoqCh99tlnKioqchrPUally5ZauXKlOnTooL1792rChAlq2bKlfvOb32jUqFHat2+fNmzYoA8++ECSFFnDdigtLVVKSoqSk5P1+eef6/jx43rggQc0ZcoUpyCVnZ2tmJgYZWdn69ChQxo1apR69+6tCRMm1Pl+AAD+wx6NBuK+++7T4cOH9dFHHzmmrVixQnfccYc6duyoRx55RL1791bnzp01depUDRkyRG+88YZL6/7ggw904MAB/fWvf1ViYqJuvPFGLVq0qNp8c+bM0fXXX6+EhAQNGzZMjzzyiKONsLAwtWjRQk2aNFF0dLSio6MVFhZWbR3p6ek6e/as/vrXv+qaa67RzTffrGXLlum1115TYWGhY77WrVtr2bJluuqqq/TTn/5UP/nJT5SVleXuZgMAmIw9GnUJD6/Ys+CKTZukoUPrnu/dd6Ubb3StbRddddVVuv766/XKK69o4MCBOnTokDZv3qyFCxfKbrdr0aJFeuONN3Ts2DGdO3dOZWVlLo/B2L9/v+Lj49WhQwfHtOTk5GrzrVmzRs8995wOHz6skpISXbhwQRERES6/h8q2EhMT1fyiPTk33HCDysvLdfDgQUVFRUmSrr76agUHBzvmiYmJ0d69e91qCwBgPvZo1MVmqzh84crjttukuLiKZS61rvj4ivlcWd+l1nMJ999/v958802dPn1aK1asUJcuXXTTTTfpqaee0tKlSzVz5kxlZ2dr165dSklJ0blz53ywgSps3bpVd999t4YOHaq///3v2rlzp2bPnu3TNi7WtGlTp+c2m03l5eWmtAUA8BxBw5eCg6WlSyv+XTUkVD5fsqRiPhPceeedCgoKUnp6uv7617/qvvvuk81m05YtWzR8+HD94he/UGJiojp37qx//etfLq+3e/fuOnLkiPLz8x3TPv30U6d5PvnkE3Xs2FGzZ89W37591bVrV3377bdO84SEhMhex/VEunfvrt27d6u0tNQxbcuWLQoKClK3bt1crhkAUD8QNHwtNVXKyJBiY52nx8VVTE9NNa3pFi1aaNSoUZo1a5by8/N17733SpK6du2qjRs36pNPPtH+/fv1y1/+0mm8Q10GDx6sK6+8UuPGjdPu3bu1efNmzZ4922merl27Ki8vT6tXr9bhw4f13HPPad26dU7zJCQkKDc3V7t27dKJEydUVlZWra27775bzZo107hx47Rv3z5lZ2dr6tSpuueeexyHTQAAgYOgYYbUVOmbb6TsbCk9veJnbq6pIaPS/fffr//85z9KSUlxjKmYM2eOrrvuOqWkpGjgwIGKjo7WiBEjXF5nUFCQ1q1bpx9++EH9+/fXAw88oN/+9rdO8/zsZz/Tww8/rClTpqh379765JNPNHfuXKd57rjjDg0ZMkSDBg1Su3btajzFNjw8XO+//75Onjypfv36KS0tTbfccouWLVvm/sYAAFjOZhguXqyhgSguLlZkZKSKioqqDVQ8e/ascnNz1alTJzVr1syiCmEGPlsA8F5tfeilsEcDAACYhqABAABMQ9AAAACmIWgAAADTEDRq0MjGxzYKfKYAYA2CxkUqrzZ55swZiyuBr1V+plWvKAoAMBf3OrlIcHCwWrVqpePHj0uquKaDzc3LgKN+MQxDZ86c0fHjx9WqVSun+6MAAMxH0KgiOjpakhxhAw1Dq1atHJ8tAMB/CBpV2Gw2xcTEqH379jp//rzV5cAHmjZtyp4MALAIQeMSgoOD6ZwAAPBSvRgM+sILLyghIUHNmjVTUlKStm3bdsl5V65cKZvN5vTgktIAANRPlgeNNWvWaMaMGZo/f7527NihxMREpaSk1DpGIiIiQvn5+Y5H1duRAwCA+sHyoPHMM89owoQJGj9+vHr06KGXXnpJ4eHheuWVVy65jM1mU3R0tOPB7cMBAKifLB2jce7cOW3fvl2zZs1yTAsKCtLgwYO1devWSy5XUlKijh07qry8XNddd50WLVqkq6++usZ5y8rKVFZW5nheVFQkqeIOdAAAwHWVfac7F0G0NGicOHFCdru92h6JqKgoHThwoMZlunXrpldeeUW9evVSUVGRnn76aV1//fX65z//qbi4uGrzL168WAsWLKg2PT4+3jdvAgCARub06dOKjIx0ad6AO+skOTlZycnJjufXX3+9unfvrj/96U964oknqs0/a9YszZgxw/G8vLxcJ0+eVJs2bXx2Ma7i4mLFx8fryJEjioiI8Mk6Gxq2Ud3YRnVjG9WNbVQ3tlHdLrWNDMPQ6dOn1aFDB5fXZWnQaNu2rYKDg1VYWOg0vbCw0OWLKzVt2lTXXnutDh06VOProaGhCg0NdZrWqlUrj+qtS0REBF/aOrCN6sY2qhvbqG5so7qxjepW0zZydU9GJUsHg4aEhKhPnz7KyspyTCsvL1dWVpbTXova2O127d27VzExMWaVCQAAPGT5oZMZM2Zo3Lhx6tu3r/r3768lS5aotLRU48ePlySNHTtWsbGxWrx4sSRp4cKF+tGPfqQrrrhCp06d0lNPPaVvv/1WDzzwgJVvAwAA1MDyoDFq1Ch9//33mjdvngoKCtS7d29t2LDBMUA0Ly9PQUH/3fHyn//8RxMmTFBBQYFat26tPn366JNPPlGPHj2segsKDQ3V/Pnzqx2iwX+xjerGNqob26hubKO6sY3q5sttZDPcOUcFAADADZZfsAsAADRcBA0AAGAaggYAADANQQMAAJiGoOED7tzmvrF5/PHHZbPZnB5XXXWV1WVZatOmTRo2bJg6dOggm82m9evXO71uGIbmzZunmJgYhYWFafDgwfrqq6+sKdYidW2je++9t9r3asiQIdYUa4HFixerX79+atmypdq3b68RI0bo4MGDTvOcPXtWkydPVps2bdSiRQvdcccd1S6O2JC5so0GDhxY7Xv04IMPWlSx/7344ovq1auX46JcycnJeu+99xyv++o7RNDwkie3uW9srr76auXn5zseH3/8sdUlWaq0tFSJiYl64YUXanz9ySef1HPPPaeXXnpJn332mZo3b66UlBSdPXvWz5Vap65tJElDhgxx+l6tWrXKjxVa66OPPtLkyZP16aefauPGjTp//rxuu+02lZaWOuZ5+OGH9b//+79au3atPvroI3333XdKTU21sGr/cmUbSdKECROcvkdPPvmkRRX7X1xcnH73u99p+/bt+uKLL3TzzTdr+PDh+uc//ynJh98hA17p37+/MXnyZMdzu91udOjQwVi8eLGFVdUf8+fPNxITE60uo96SZKxbt87xvLy83IiOjjaeeuopx7RTp04ZoaGhxqpVqyyo0HpVt5FhGMa4ceOM4cOHW1JPfXT8+HFDkvHRRx8ZhlHxnWnatKmxdu1axzz79+83JBlbt261qkxLVd1GhmEYN910kzFt2jTriqqHWrdubfzlL3/x6XeIPRpeqLzN/eDBgx3TXLnNfWPz1VdfqUOHDurcubPuvvtu5eXlWV1SvZWbm6uCggKn71RkZKSSkpL4TlWRk5Oj9u3bq1u3bpo0aZL+/e9/W12SZYqKiiRJl112mSRp+/btOn/+vNP36KqrrtLll1/eaL9HVbdRpddff11t27bVNddco1mzZunMmTNWlGc5u92u1atXq7S0VMnJyT79Dll+ZdBA5slt7hubpKQkrVy5Ut26dVN+fr4WLFigAQMGaN++fWrZsqXV5dU7BQUFklTjd6ryNVQcNklNTVWnTp10+PBhPfbYY7r99tu1detWBQcHW12eX5WXl2v69Om64YYbdM0110iq+B6FhIRUu4FkY/0e1bSNJGnMmDHq2LGjOnTooD179mjmzJk6ePCgMjMzLazWv/bu3avk5GSdPXtWLVq00Lp169SjRw/t2rXLZ98hggZMdfvttzv+3atXLyUlJaljx4564403dP/991tYGQLZXXfd5fh3z5491atXL3Xp0kU5OTm65ZZbLKzM/yZPnqx9+/Y1+rFPtbnUNpo4caLj3z179lRMTIxuueUWHT58WF26dPF3mZbo1q2bdu3apaKiImVkZGjcuHH66KOPfNoGh0684Ivb3Dc2rVq10pVXXqlDhw5ZXUq9VPm94Tvlns6dO6tt27aN7ns1ZcoU/f3vf1d2drbi4uIc06Ojo3Xu3DmdOnXKaf7G+D261DaqSVJSkiQ1qu9RSEiIrrjiCvXp00eLFy9WYmKili5d6tPvEEHDC764zX1jU1JSosOHDysmJsbqUuqlTp06KTo62uk7VVxcrM8++4zvVC2OHj2qf//7343me2UYhqZMmaJ169bpww8/VKdOnZxe79Onj5o2ber0PTp48KDy8vIazfeorm1Uk127dklSo/ke1aS8vFxlZWW+/Q75drxq47N69WojNDTUWLlypfHll18aEydONFq1amUUFBRYXVq98P/+3/8zcnJyjNzcXGPLli3G4MGDjbZt2xrHjx+3ujTLnD592ti5c6exc+dOQ5LxzDPPGDt37jS+/fZbwzAM43e/+53RqlUr46233jL27NljDB8+3OjUqZPxww8/WFy5/9S2jU6fPm088sgjxtatW43c3Fzjgw8+MK677jqja9euxtmzZ60u3S8mTZpkREZGGjk5OUZ+fr7jcebMGcc8Dz74oHH55ZcbH374ofHFF18YycnJRnJysoVV+1dd2+jQoUPGwoULjS+++MLIzc013nrrLaNz587GjTfeaHHl/vPoo48aH330kZGbm2vs2bPHePTRRw2bzWb84x//MAzDd98hgoYPPP/888bll19uhISEGP379zc+/fRTq0uqN0aNGmXExMQYISEhRmxsrDFq1Cjj0KFDVpdlqezsbENStce4ceMMw6g4xXXu3LlGVFSUERoaatxyyy3GwYMHrS3az2rbRmfOnDFuu+02o127dkbTpk2Njh07GhMmTGhU4b6mbSPJWLFihWOeH374wfjVr35ltG7d2ggPDzdGjhxp5OfnW1e0n9W1jfLy8owbb7zRuOyyy4zQ0FDjiiuuMH79618bRUVF1hbuR/fdd5/RsWNHIyQkxGjXrp1xyy23OEKGYfjuO8Rt4gEAgGkYowEAAExD0AAAAKYhaAAAANMQNAAAgGkIGgAAwDQEDQAAYBqCBgAAMA1BAwAAmIagAaBBsNlsWr9+vdVlAKiCoAHAa/fee69sNlu1x5AhQ6wuDYDFmlhdAICGYciQIVqxYoXTtNDQUIuqAVBfsEcDgE+EhoYqOjra6dG6dWtJFYc1XnzxRd1+++0KCwtT586dlZGR4bT83r17dfPNNyssLExt2rTRxIkTVVJS4jTPK6+8oquvvlqhoaGKiYnRlClTnF4/ceKERo4cqfDwcHXt2lVvv/22uW8aQJ0IGgD8Yu7cubrjjju0e/du3X333brrrru0f/9+SVJpaalSUlLUunVrff7551q7dq0++OADpyDx4osvavLkyZo4caL27t2rt99+W1dccYVTGwsWLNCdd96pPXv2aOjQobr77rt18uRJv75PAFX47oazABqrcePGGcHBwUbz5s2dHr/97W8Nw6i4ZfeDDz7otExSUpIxadIkwzAM489//rPRunVro6SkxPH6O++8YwQFBTlu/96hQwdj9uzZl6xBkjFnzhzH85KSEkOS8d577/nsfQJwH2M0APjEoEGD9OKLLzpNu+yyyxz/Tk5OdnotOTlZu3btkiTt379fiYmJat68ueP1G264QeXl5Tp48KBsNpu+++473XLLLbXW0KtXL8e/mzdvroiICB0/ftzTtwTABwgaAHyiefPm1Q5l+EpYWJhL8zVt2tTpuc1mU3l5uRklAXARYzQA+MWnn35a7Xn37t0lSd27d9fu3btVWlrqeH3Lli0KCgpSt27d1LJlSyUkJCgrK8uvNQPwHns0APhEWVmZCgoKnKY1adJEbdu2lSStXbtWffv21Y9//GO9/vrr2rZtm5YvXy5JuvvuuzV//nyNGzdOjz/+uL7//ntNnTpV99xzj6KioiRJjz/+uB588EG1b99et99+u06fPq0tW7Zo6tSp/n2jANxC0ADgExs2bFBMTIzTtG7duunAgQOSKs4IWb16tX71q18pJiZGq1atUo8ePSRJ4eHhev/99zVt2jT169dP4eHhuuOOO/TMM8841jVu3DidPXtWzz77rB555BG1bdtWaWlp/nuDADxiMwzDsLoIAA2bzWbTunXrNGLECKtLAeBnjNEAAACmIWgAAADTMEYDgOk4Qgs0XuzRAAAApiFoAAAA0xA0AACAaQgaAADANAQNAABgGoIGAAAwDUEDAACYhqABAABM8/8BLDxhn6oHWGsAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "mnist_results = pd.read_csv(mnist_logger.experiment.metrics_file_path)\n", "fig, ax = subplots(1, 1, figsize=(6, 6))\n", @@ -2709,47 +1306,10 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": null, "id": "f5269c40", "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1a7f965ce4ad4bfa92fbaa1305bbbbe5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Testing: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " Test metric DataLoader 0\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " test_accuracy 0.9681000113487244\n", - " test_loss 0.14706705510616302\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" - ] - }, - { - "data": { - "text/plain": [ - "[{'test_loss': 0.14706705510616302, 'test_accuracy': 0.9681000113487244}]" - ] - }, - "execution_count": 44, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "mnist_trainer.test(mnist_module,\n", " datamodule=mnist_dm)" @@ -2770,7 +1330,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": null, "id": "97a0b304", "metadata": {}, "outputs": [], @@ -2790,430 +1350,12 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": null, "id": "ea685183", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (mps), used: False\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", - " rank_zero_warn(\n", - "\n", - " | Name | Type | Params\n", - "-------------------------------------------\n", - "0 | model | MNIST_MLR | 7.9 K \n", - "1 | loss | CrossEntropyLoss | 0 \n", - "-------------------------------------------\n", - "7.9 K Trainable params\n", - "0 Non-trainable params\n", - "7.9 K Total params\n", - "0.031 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "417a4d9bf4ce47c38cf544d9f63db3a0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "42056226aefe470d919ec951608b4d79", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a3a42f9e5c7a4dfcb73dd9f4b7d24317", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "`Trainer.fit` stopped: `max_epochs=30` reached.\n" - ] - } - ], + "outputs": [], "source": [ "mlr_trainer = Trainer(deterministic=True,\n", " max_epochs=30,\n", @@ -3231,49 +1373,12 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": null, "id": "c0bd63e3", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "92b7e09cc3df40619350090e37d39bc0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Testing: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " Test metric DataLoader 0\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " test_accuracy 0.9240999817848206\n", - " test_loss 0.3186827003955841\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" - ] - }, - { - "data": { - "text/plain": [ - "[{'test_loss': 0.3186827003955841, 'test_accuracy': 0.9240999817848206}]" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "mlr_trainer.test(mlr_module,\n", " datamodule=mnist_dm)" @@ -3292,7 +1397,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": null, "id": "6b0d3daa", "metadata": { "lines_to_next_cell": 2 @@ -3323,19 +1428,10 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": null, "id": "67517b11", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Files already downloaded and verified\n", - "Files already downloaded and verified\n" - ] - } - ], + "outputs": [], "source": [ "(cifar_train, \n", " cifar_test) = [CIFAR100(root=\"data\",\n", @@ -3346,7 +1442,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": null, "id": "ee7b040e", "metadata": {}, "outputs": [], @@ -3377,7 +1473,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": null, "id": "bd9e74ad", "metadata": { "lines_to_next_cell": 0 @@ -3401,23 +1497,12 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": null, "id": "a553b926", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "X: torch.Size([128, 3, 32, 32])\n", - "Y: torch.Size([128])\n", - "X: torch.Size([128, 3, 32, 32])\n", - "Y: torch.Size([128])\n" - ] - } - ], + "outputs": [], "source": [ "for idx, (X_ ,Y_) in enumerate(cifar_dm.train_dataloader()):\n", " print('X: ', X_.shape)\n", @@ -3440,23 +1525,12 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": null, "id": "94885e68", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "fig, axes = subplots(5, 5, figsize=(10,10))\n", "rng = np.random.default_rng(4)\n", @@ -3490,7 +1564,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": null, "id": "cdc2528a", "metadata": {}, "outputs": [], @@ -3535,7 +1609,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": null, "id": "845be1ae", "metadata": {}, "outputs": [], @@ -3571,69 +1645,12 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": null, "id": "be768cbb", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " action_fn=lambda data: sys.getsizeof(data.storage()),\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " return super().__sizeof__() + self.nbytes()\n" - ] - }, - { - "data": { - "text/plain": [ - "===================================================================================================================\n", - "Layer (type:depth-idx) Input Shape Output Shape Param #\n", - "===================================================================================================================\n", - "CIFARModel [128, 3, 32, 32] [128, 100] --\n", - "├─Sequential: 1-1 [128, 3, 32, 32] [128, 256, 2, 2] --\n", - "│ └─BuildingBlock: 2-1 [128, 3, 32, 32] [128, 32, 16, 16] --\n", - "│ │ └─Conv2d: 3-1 [128, 3, 32, 32] [128, 32, 32, 32] 896\n", - "│ │ └─ReLU: 3-2 [128, 32, 32, 32] [128, 32, 32, 32] --\n", - "│ │ └─MaxPool2d: 3-3 [128, 32, 32, 32] [128, 32, 16, 16] --\n", - "│ └─BuildingBlock: 2-2 [128, 32, 16, 16] [128, 64, 8, 8] --\n", - "│ │ └─Conv2d: 3-4 [128, 32, 16, 16] [128, 64, 16, 16] 18,496\n", - "│ │ └─ReLU: 3-5 [128, 64, 16, 16] [128, 64, 16, 16] --\n", - "│ │ └─MaxPool2d: 3-6 [128, 64, 16, 16] [128, 64, 8, 8] --\n", - "│ └─BuildingBlock: 2-3 [128, 64, 8, 8] [128, 128, 4, 4] --\n", - "│ │ └─Conv2d: 3-7 [128, 64, 8, 8] [128, 128, 8, 8] 73,856\n", - "│ │ └─ReLU: 3-8 [128, 128, 8, 8] [128, 128, 8, 8] --\n", - "│ │ └─MaxPool2d: 3-9 [128, 128, 8, 8] [128, 128, 4, 4] --\n", - "│ └─BuildingBlock: 2-4 [128, 128, 4, 4] [128, 256, 2, 2] --\n", - "│ │ └─Conv2d: 3-10 [128, 128, 4, 4] [128, 256, 4, 4] 295,168\n", - "│ │ └─ReLU: 3-11 [128, 256, 4, 4] [128, 256, 4, 4] --\n", - "│ │ └─MaxPool2d: 3-12 [128, 256, 4, 4] [128, 256, 2, 2] --\n", - "├─Sequential: 1-2 [128, 1024] [128, 100] --\n", - "│ └─Dropout: 2-5 [128, 1024] [128, 1024] --\n", - "│ └─Linear: 2-6 [128, 1024] [128, 512] 524,800\n", - "│ └─ReLU: 2-7 [128, 512] [128, 512] --\n", - "│ └─Linear: 2-8 [128, 512] [128, 100] 51,300\n", - "===================================================================================================================\n", - "Total params: 964,516\n", - "Trainable params: 964,516\n", - "Non-trainable params: 0\n", - "Total mult-adds (G): 2.01\n", - "===================================================================================================================\n", - "Input size (MB): 1.57\n", - "Forward/backward pass size (MB): 63.54\n", - "Params size (MB): 3.86\n", - "Estimated Total Size (MB): 68.97\n", - "===================================================================================================================" - ] - }, - "execution_count": 56, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "cifar_model = CIFARModel()\n", "summary(cifar_model,\n", @@ -3679,7 +1696,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": null, "id": "67e3e2d9", "metadata": {}, "outputs": [], @@ -3692,486 +1709,10 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": null, "id": "1ea339ff", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (mps), used: False\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "\n", - " | Name | Type | Params\n", - "-------------------------------------------\n", - "0 | model | CIFARModel | 964 K \n", - "1 | loss | CrossEntropyLoss | 0 \n", - "-------------------------------------------\n", - "964 K Trainable params\n", - "0 Non-trainable params\n", - "964 K Total params\n", - "3.858 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6c3b80e13cd441bdb5fc5d2f4e2868ca", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "`Trainer.fit` stopped: `max_epochs=30` reached.\n" - ] - } - ], + "outputs": [], "source": [ "cifar_trainer = Trainer(deterministic=True,\n", " max_epochs=30,\n", @@ -4198,23 +1739,12 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": null, "id": "0a9068d9", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhgAAAISCAYAAACOH7Z2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABIy0lEQVR4nO3de3xU5b3v8e9kgBAQInJJAjMwYKnihYty2WCjRFG8lIJjKgIVvJXqQUxkuzcgIl4qqFV3orjlaBXaHrlIGKyn3g7SRKKgogjqS8CNhhLShEupCaAEWFnnj2FSJpkkc1kzk0k+79drXmHWrDXrmSS6vnnW8/wem2mapgAAACyUFO8GAACAloeAAQAALEfAAAAAliNgAAAAyxEwAACA5QgYAADAcgQMAABgOQIGAACwHAEDAABYjoABAAAsF9eAsWHDBo0bN049e/aUzWbT66+/3uQxRUVFuuiii5ScnKyf/OQnWrZsWdTbCQAAQhPXgHH06FENGjRIzz//fFD7l5SU6LrrrlNWVpa2bt2q3Nxc3XHHHXr33Xej3FIAABAKW3NZ7Mxms2nt2rWaMGFCg/vMnj1bb775pr766qvabTfddJO+//57vfPOOzFoJQAACEabeDcgFJs2bdKYMWP8to0dO1a5ubkNHlNdXa3q6ura5zU1NTp06JC6du0qm80WraYCANDimKapw4cPq2fPnkpKavwmSEIFjIqKCqWlpfltS0tLU1VVlX788UelpKTUO2bRokV6+OGHY9VEAABavNLSUjkcjkb3SaiAEY65c+dq1qxZtc8rKyvVu3dvlZaWqnPnznFsGQAAiaWqqkpOp1OdOnVqct+EChjp6enat2+f37Z9+/apc+fOAXsvJCk5OVnJycn1tnfu3JmAAQBAGIIZYpBQdTBGjhyp9evX+21bt26dRo4cGacWAQCAQOIaMI4cOaKtW7dq69atkrzTULdu3ao9e/ZI8t7emDp1au3+d955p7777jv953/+p3bs2KH//u//1muvvaZ77703Hs0HAAANiGvA+PTTTzVkyBANGTJEkjRr1iwNGTJEDz74oCSpvLy8NmxIUt++ffXmm29q3bp1GjRokJ5++mn9/ve/19ixY+PSfgAAEFizqYMRK1VVVUpNTVVlZSVjMAAgQqZp6uTJkzIMI95NgUXatm0ru90e8LVQrqEJNcgTANB8HD9+XOXl5frhhx/i3RRYyGazyeFw6IwzzojofQgYAICQ1dTUqKSkRHa7XT179lS7du0oXtgCmKapAwcOaO/everfv3+DPRnBIGAAAEJ2/Phx1dTUyOl0qkOHDvFuDizUvXt37d69WydOnIgoYCTUNFUAQPPSVLloJB6reqL4zQAAAJYjYAAAAMsRMAAAcWUYhoqKirRixQoVFRUl5JRXl8ulvLy8oPcvKiqSzWbT999/H7U2xRsBAwAQNx6PRy6XS1lZWZo8ebKysrLkcrnk8Xiicj6bzdbo46GHHgrrfTdv3qzp06cHvf+oUaNUXl6u1NTUsM6XCJhFAgCIC4/Ho+zsbNWt91hWVqbs7GwVFBTI7XZbes7y8vLaf69atUoPPvigdu7cWbvt9NoPpmnKMAy1adP0pbJ79+4htaNdu3ZKT08P6ZhEQw8GAMASpmnq6NGjQT2qqqp0zz331AsXvveRpJycHFVVVQX1fsEWpU5PT699pKamymaz1T7fsWOHOnXqpLffflsXX3yxkpOT9cEHH+jbb7/V+PHjlZaWpjPOOEPDhg3Te++95/e+dW+R2Gw2/f73v9f111+vDh06qH///nrjjTdqX697i2TZsmU688wz9e6772rAgAE644wzdPXVV/sFopMnT+qee+7RmWeeqa5du2r27NmaNm2aJkyYEORPKLYIGAAAS/zwww8644wzgnqkpqaqrKyswfcyTVN79+5VampqUO9nZTXROXPm6PHHH9f27ds1cOBAHTlyRNdee63Wr1+vzz//XFdffbXGjRvnt1ZWIA8//LBuvPFGffHFF7r22ms1ZcoUHTp0qMH9f/jhBz311FP605/+pA0bNmjPnj267777al9/4okn9Oqrr2rp0qX68MMPVVVVpddff92qj205AgYAAKd55JFHdOWVV+rss8/WWWedpUGDBuk3v/mNLrjgAvXv31+PPvqozj77bL8eiUBuueUWTZo0ST/5yU+0cOFCHTlyRJ988kmD+584cUJLlizR0KFDddFFF+nuu+/W+vXra19/7rnnNHfuXF1//fU699xztXjxYp155plWfWzLMQYDAGCJDh066MiRI0Htu2HDBl177bVN7vfWW2/p0ksvDercVhk6dKjf8yNHjuihhx7Sm2++qfLycp08eVI//vhjkz0YAwcOrP13x44d1blzZ+3fv7/B/Tt06KCzzz679nlGRkbt/pWVldq3b5+GDx9e+7rdbtfFF1+smpqakD5frBAwAACWsNls6tixY1D7XnXVVXI4HCorKws4fsK34NZVV10VUbnqcNT9DPfdd5/WrVunp556Sj/5yU+UkpKi7OxsHT9+vNH3adu2rd9zm83WaBgItH8iL3jOLRIAQMzZ7Xbl5+dLql+a2vc8Ly8v5uEikA8//FC33HKLrr/+el144YVKT0/X7t27Y9qG1NRUpaWlafPmzbXbDMPQli1bYtqOUBAwAABx4Xa7VVBQoF69evltdzgcUZmiGq7+/fvL4/Fo69at2rZtmyZPnhyX2xIzZ87UokWL9Oc//1k7d+5UTk6O/vnPfzbbVWy5RQIAiBu3263x48eruLhY5eXlysjIUGZmZrPoufB55plndNttt2nUqFHq1q2bZs+eraqqqpi3Y/bs2aqoqNDUqVNlt9s1ffp0jR07tll9r05nMxP5Bk8YqqqqlJqaqsrKSnXu3DnezQGAhHTs2DGVlJSob9++at++fbyb0yrV1NRowIABuvHGG/Xoo49a9r6N/WxDuYbSgwEAQAL429/+pv/3//6fLrvsMlVXV2vx4sUqKSnR5MmT4920gBiDAQBAAkhKStKyZcs0bNgwXXLJJfryyy/13nvvacCAAfFuWkD0YAAAkACcTqc+/PDDeDcjaPRgAAAAyxEwAACA5QgYAADAcgQMAABgOQIGAACwHAEDAABYjoABAIgvw5CKiqQVK7xfDSPeLWrU6NGjlZubW/vc5XIpLy+v0WNsNptef/31iM9t1fvEAgEDABA/Ho/kcklZWdLkyd6vLpd3exSMGzdOV199dcDXiouLZbPZ9MUXX4T0nps3b9b06dOtaF6thx56SIMHD663vby8XNdcc42l54oWAgYAID48Hik7W9q71397WZl3exRCxu23365169Zpb91zSlq6dKmGDh2qgQMHhvSe3bt3V4cOHaxqYqPS09OVnJwck3NFioABALCGaUpHjwb3qKqS7rnHe0yg95GknBzvfsG8X5Drdv785z9X9+7dtWzZMr/tR44c0erVqzVhwgRNmjRJvXr1UocOHXThhRdqxYoVjb5n3Vsk//M//6NLL71U7du313nnnad169bVO2b27Nn66U9/qg4dOqhfv36aP3++Tpw4IUlatmyZHn74YW3btk02m002m622vXVvkXz55Ze6/PLLlZKSoq5du2r69Ok6cuRI7eu33HKLJkyYoKeeekoZGRnq2rWrZsyYUXuuaKJUOADAGj/8IJ1xhjXvZZreno3U1OD2P3JE6tixyd3atGmjqVOnatmyZZo3b55sNpskafXq1TIMQ7/61a+0evVqzZ49W507d9abb76pm2++WWeffbaGDx/e5PvX1NTI7XYrLS1NH3/8sSorK/3Ga/h06tRJy5YtU8+ePfXll1/q17/+tTp16qT//M//1MSJE/XVV1/pnXfe0XvvvSdJSg3wfTh69KjGjh2rkSNHavPmzdq/f7/uuOMO3X333X4BqrCwUBkZGSosLNSuXbs0ceJEDR48WL/+9a+b/DyRoAcDANCq3Hbbbfr222/1/vvv125bunSpbrjhBvXp00f33XefBg8erH79+mnmzJm6+uqr9dprrwX13u+995527NihP/7xjxo0aJAuvfRSLVy4sN5+DzzwgEaNGiWXy6Vx48bpvvvuqz1HSkqKzjjjDLVp00bp6elKT09XSkpKvfdYvny5jh07pj/+8Y+64IILdPnll2vx4sX605/+pH379tXu16VLFy1evFjnnnuufv7zn+u6667T+vXrQ/22hYweDACANTp08PYkBGPDBunaa5ve7623pEsvDe7cQTr33HM1atQovfLKKxo9erR27dql4uJiPfLIIzIMQwsXLtRrr72msrIyHT9+XNXV1UGPsdi+fbucTqd69uxZu23kyJH19lu1apWeffZZffvttzpy5IhOnjypzp07B/0ZfOcaNGiQOp7Wc3PJJZeopqZGO3fuVFpamiTp/PPPl91ur90nIyNDX375ZUjnCgc9GAAAa9hs3tsUwTyuukpyOLzHNPReTqd3v2Der6H3acDtt9+uNWvW6PDhw1q6dKnOPvtsXXbZZfrd736n/Px8zZ49W4WFhdq6davGjh2r48ePW/AN8tq0aZOmTJmia6+9Vn/5y1/0+eefa968eZae43Rt27b1e26z2VRTUxOVc52OgAEAiD27XcrP9/67bjjwPc/L8+4XBTfeeKOSkpK0fPly/fGPf9Rtt90mm82mDz/8UOPHj9evfvUrDRo0SP369dM333wT9PsOGDBApaWlKi8vr9320Ucf+e2zceNG9enTR/PmzdPQoUPVv39//e1vf/Pbp127djKaqAcyYMAAbdu2TUePHq3d9uGHHyopKUnnnHNO0G2OFgIGACA+3G6poEDq1ct/u8Ph3e52R+3UZ5xxhiZOnKi5c+eqvLxct9xyiySpf//+WrdunTZu3Kjt27frN7/5jd94hqaMGTNGP/3pTzVt2jRt27ZNxcXFmjdvnt8+/fv31549e7Ry5Up9++23evbZZ7V27Vq/fVwul0pKSrR161YdPHhQ1dXV9c41ZcoUtW/fXtOmTdNXX32lwsJCzZw5UzfffHPt7ZF4ImAAAOLH7ZZ275YKC6Xly71fS0qiGi58br/9dv3zn//U2LFja8dMPPDAA7rooos0duxYjR49Wunp6ZowYULQ75mUlKS1a9fqxx9/1PDhw3XHHXfoscce89vnF7/4he69917dfffdGjx4sDZu3Kj58+f77XPDDTfo6quvVlZWlrp37x5wqmyHDh307rvv6tChQxo2bJiys7N1xRVXaPHixaF/M6LAZppBTh5uIaqqqpSamqrKysqQB9QAALyOHTumkpIS9e3bV+3bt493c2Chxn62oVxD6cEAAACWI2AAAADLETAAAIDlCBgAAMByBAwAQNha2TyBVsGqnykBAwAQMl91yB9++CHOLYHVfBVF7REWOWMtEgBAyOx2u84880zt379fkrcmgy3Ect1ofmpqanTgwAF16NBBbdpEFhEIGACAsKSnp0tSbchAy5CUlKTevXtHHBgJGACAsNhsNmVkZKhHjx46ceJEvJsDi7Rr105JSZGPoCBgAAAiYrfbI75fj5aHQZ4AAMByBAwAAGA5AgYAALAcAQMAAFiOgAEAACxHwAAAAJYjYAAAAMsRMAAAgOUIGAAAwHIEDAAAYDkCBgAAsBwBAwAAWI6AAQAALEfAAAAAliNgAAAAyxEwAACA5QgYAADAcgQMAABgOQIGAACwHAEDAABYjoABAAAsR8AAAACWI2AAAADLETAAAIDlCBgAAMByBAwAAGA5AgYAALAcAQMAAFiOgAEAACxHwAAAAJYjYAAAAMsRMAAAgOXiHjCef/55uVwutW/fXiNGjNAnn3zS6P55eXk655xzlJKSIqfTqXvvvVfHjh2LUWsBAEAw4howVq1apVmzZmnBggXasmWLBg0apLFjx2r//v0B91++fLnmzJmjBQsWaPv27Xr55Ze1atUq3X///TFuOQAAaExcA8YzzzyjX//617r11lt13nnnacmS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V+qFF17QhAkT1LZt23r79O3bVzfddFOobw0AiCErVihldVI0JOSA8d1336lPnz6N7tOxY0ctXbo07EYBAEIXam8CK5QimkIeg7F//359/PHH9bZ//PHH+vTTTy1pFAAgNOGsC5KZmSmHw1FvoKaPzWaT0+lUZmZmtJqNFizkgDFjxgyVlpbW215WVqYZM2ZY0igAQPDCmQkiMRsE0RVywPj6668D1roYMmSIvv76a0saBQAITiQzQSRmgyB6Qh6DkZycrH379qlfv35+28vLy9WmDYuzAkAshbIuSEODMVmhFNEQciK46qqrNHfuXP35z39WamqqJOn777/X/fffryuvvNLyBgJAaxLqQE0rZoJIzAaB9UIOGE899ZQuvfRS9enTR0OGDJEkbd26VWlpafrTn/5keQMBoLUItWS3xEwQNF9hrUVy9OhRvfrqq9q2bZtSUlI0cOBATZo0KWBNjOaGQlsAmiPfQM26/0v2DbZsaDwE64IglkK5hoa92FmiImAAaG58IaGhsRRNhQRfOJHkFzKaCidAqKJaydPn66+/1p49e3T8+HG/7b/4xS/CfUsAaJUiHajpmwkS6PZKXl4e4QJxEVYlz+uvv15ffvmlbDZbbVr2JeWGpkIBAAKzYqAmM0HQ3IQcMHJyctS3b1+tX79effv21SeffKJ//OMf+vd//3c99dRT0WgjALRoVg3UZCYImpOQC21t2rRJjzzyiLp166akpCQlJSXpZz/7mRYtWqR77rknGm0EgBaNkt1oiUIOGIZhqFOnTpKkbt266e9//7skqU+fPtq5c6e1rQOABGUYhoqKirRixQoVFRU1evuYkt1oiUIOGBdccIG2bdsmSRoxYoSefPJJffjhh3rkkUfqVfcEgNYonIXHKNmNlibkaarvvvuujh49KrfbrV27dunnP/+5vvnmG3Xt2lWrVq3S5ZdfHq22WoJpqgCiKdx6Fj6hVvIEYinmdTAOHTqkLl26NHj/sDkhYACIlkjrWQDNXSjX0JBukZw4cUJt2rTRV1995bf9rLPOSohwAQDRFEo9C6ClCylgtG3bVr1796bWBQAEYNXCY0BLEPIgz3nz5un+++/XoUOHotEeAEhYLDwG/EvIYzCGDBmiXbt26cSJE+rTp486duzo9/qWLVssbaDVGIMBIFihDrhk4TG0dFFdi2TChAnhtgsAEkY4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s3T//fdr8+bNuueee9SuXTtNmzYtauedM2eOqqqqdO6558put8swDD322GOaMmVK1M55uoqKCkkK+Dvlew0AEgEBI4HNmDFDX331lT744IOonqe0tFQ5OTlat26d2rdvH9Vz+dTU1Gjo0KFauHChJGnIkCH66quvtGTJkqgGjNdee02vvvqqli9frvPPP19bt25Vbm6uevbsGdXzAkBLwy2SCISz3LxV7r77bv3lL39RYWGhHA5HVM/12Wefaf/+/brooovUpk0btWnTRu+//76effZZtWnTRoZhWH7OjIwMnXfeeX7bBgwYoD179lh+rtP9x3/8h+bMmaObbrpJF154oW6++Wbde++9tYvtRZvv9yYev1MAYCUCRgTCWW4+UqZp6u6779batWv117/+VX379o3KeU53xRVX6Msvv9TWrVtrH0OHDtWUKVO0detW2e12y895ySWX1Jt++80336hPnz6Wn+t0P/zwg9/iepJkt9tVU1MT1fP69O3bV+np6X6/U1VVVfr444+j9jsFANHALZIINbXcvNVmzJih5cuX689//rM6depUe18+NTVVKSkpUTlnp06d6o3x6Nixo7p27Rq1sR/33nuvRo0apYULF+rGG2/UJ598ohdffFEvvvhiVM7nM27cOD322GPq3bu3zj//fH3++ed65plndNttt1l2jiNHjmjXrl21z0tKSrR161adddZZ6t27t3Jzc/Xb3/5W/fv3V9++fTV//nz17NlTEyZMsKwNABB18Z7G0hI899xzZu/evc127dqZw4cPNz/66KOonUtSwMfSpUujds5Aoj1N1TRN8//+3/9rXnDBBWZycrJ57rnnmi+++GJUz2eapllVVWXm5OSYvXv3Ntu3b2/269fPnDdvnlldXW3ZOQoLCwP+DKdNm2aapneq6vz58820tDQzOTnZvOKKK8ydO3dadn4AiAWWawcAAJZjDAYAALAcAQMAAFiOgAEAACxHwAAAAJYjYAAAAMsRMAAAgOUIGAAAwHIEDAAAYDkCBoAWwWaz6fXXX493MwCcQsAAELFbbrlFNput3uPqq6+Od9MAxAmLnQGwxNVXX62lS5f6bUtOTo5TawDEGz0YACyRnJys9PR0v0eXLl0keW9fvPDCC7rmmmuUkpKifv36qaCgwO/4L7/8UpdffrlSUlLUtWtXTZ8+XUeOHPHb55VXXtH555+v5ORkZWRk6O677/Z7/eDBg7r++uvVoUMH9e/fX2+88UZ0PzSABhEwAMTE/PnzdcMNN2jbtm2aMmWKbrrpJm3fvl2SdPToUY0dO1ZdunTR5s2btXr1ar333nt+AeKFF17QjBkzNH36dH355Zd644039JOf/MTvHA8//LBuvPFGffHFF7r22ms1ZcoUHTp0KKafE8Ap8V7OFUDimzZtmmm3282OHTv6PR577DHTNE1TknnnnXf6HTNixAjzrrvuMk3TNF988UWzS5cu5pEjR2pff/PNN82kpCSzoqLCNE3T7Nmzpzlv3rwG2yDJfOCBB2qfHzlyxJRkvv3225Z9TgDBYwwGAEtkZWXphRde8Nt21lln1f575MiRfq+NHDlSW7dulSRt375dgwYNUseOHWtfv+SSS1RTU6OdO3fKZrPp73//u6644opG2zBw4MDaf3fs2FGdO3fW/v37w/1IACJAwABgiY4dO9a7ZWGVlJSUoPZr27at33ObzaaamppoNAlAExiDASAmPvroo3rPBwwYIEkaMGCAtm3bpqNHj9a+/uGHHyopKUnnnHOOOnXqJJfLpfXr18e0zQDCRw8GAEtUV1eroqLCb1ubNm3UrVs3SdLq1as1dOhQ/exnP9Orr76qTz75RC+//LIkacqUKVqwYIGmTZumhx56SAcOHNDMmTN18803Ky0tTZL00EMP6c4771SPHj10zTXX6PDhw/rwww81c+bM2H5QAEEhYACwxDvvvKOMjAy/beecc4527NghyTvDY+XKlfpf/+t/KSMjQytWrNB5550nSerQoYPeffdd5eTkaNiwYerQoYNuuOEGPfPMM7XvNW3aNB07dkz/9V//pfvuu0/dunVTdnZ27D4ggJDYTNM0490IAC2bzWbT2rVrNWHChHg3BUCMMAYDAABYjoABAAAsxxgMAFHHnVig9aEHAwAAWI6AAQAALEfAAAAAliNgAAAAyxEwAACA5QgYAADAcgQMAABgOQIGAACw3P8HolEDqe22hVEAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "log_path = cifar_logger.experiment.metrics_file_path\n", "cifar_results = pd.read_csv(log_path)\n", @@ -4238,49 +1768,12 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": null, "id": "e71eff9b", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "44687f1d6df745d2ae89b0d3b8371ddd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Testing: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " Test metric DataLoader 0\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " test_accuracy 0.40880000591278076\n", - " test_loss 2.4764862060546875\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" - ] - }, - { - "data": { - "text/plain": [ - "[{'test_loss': 2.4764862060546875, 'test_accuracy': 0.40880000591278076}]" - ] - }, - "execution_count": 60, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "cifar_trainer.test(cifar_module,\n", " datamodule=cifar_dm)\n" @@ -4308,510 +1801,12 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": null, "id": "58eae430", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (mps), used: True\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "\n", - " | Name | Type | Params\n", - "-------------------------------------------\n", - "0 | model | CIFARModel | 964 K \n", - "1 | loss | CrossEntropyLoss | 0 \n", - "-------------------------------------------\n", - "964 K Trainable params\n", - "0 Non-trainable params\n", - "964 K Total params\n", - "3.858 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bf9f95a0186f49cda30773788fcf96cb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchmetrics/utilities/checks.py:49: UserWarning: MPS: no support for int64 min/max ops, casting it to int32 (Triggered internally at /Users/runner/work/pytorch/pytorch/pytorch/aten/src/ATen/native/mps/operations/ReduceOps.mm:1271.)\n", - " if ignore_index is None and target.min() < 0:\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "`Trainer.fit` stopped: `max_epochs=30` reached.\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b0b092424de344d5805fc7b57eae4a88", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Testing: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "try:\n", " for name, metric in cifar_module.metrics.items():\n", @@ -4860,31 +1855,12 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": null, "id": "638a1c8c", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchvision/transforms/functional.py:1603: UserWarning: The default value of the antialias parameter of all the resizing transforms (Resize(), RandomResizedCrop(), etc.) will change from None to True in v0.17, in order to be consistent across the PIL and Tensor backends. To suppress this warning, directly pass antialias=True (recommended, future default), antialias=None (current default, which means False for Tensors and True for PIL), or antialias=False (only works on Tensors - PIL will still use antialiasing). This also applies if you are using the inference transforms from the models weights: update the call to weights.transforms(antialias=True).\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "torch.Size([6, 3, 224, 224])" - ] - }, - "execution_count": 62, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "resize = Resize((232,232))\n", "crop = CenterCrop(224)\n", @@ -4907,221 +1883,12 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": null, "id": "7776ed1e", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " action_fn=lambda data: sys.getsizeof(data.storage()),\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " return super().__sizeof__() + self.nbytes()\n" - ] - }, - { - "data": { - "text/plain": [ - "===================================================================================================================\n", - "Layer (type:depth-idx) Input Shape Output Shape Param #\n", - "===================================================================================================================\n", - "ResNet [6, 3, 224, 224] [6, 1000] --\n", - "├─Conv2d: 1-1 [6, 3, 224, 224] [6, 64, 112, 112] 9,408\n", - "├─BatchNorm2d: 1-2 [6, 64, 112, 112] [6, 64, 112, 112] 128\n", - "├─ReLU: 1-3 [6, 64, 112, 112] [6, 64, 112, 112] --\n", - "├─MaxPool2d: 1-4 [6, 64, 112, 112] [6, 64, 56, 56] --\n", - "├─Sequential: 1-5 [6, 64, 56, 56] [6, 256, 56, 56] --\n", - "│ └─Bottleneck: 2-1 [6, 64, 56, 56] [6, 256, 56, 56] --\n", - "│ │ └─Conv2d: 3-1 [6, 64, 56, 56] [6, 64, 56, 56] 4,096\n", - "│ │ └─BatchNorm2d: 3-2 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", - "│ │ └─ReLU: 3-3 [6, 64, 56, 56] [6, 64, 56, 56] --\n", - "│ │ └─Conv2d: 3-4 [6, 64, 56, 56] [6, 64, 56, 56] 36,864\n", - "│ │ └─BatchNorm2d: 3-5 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", - "│ │ └─ReLU: 3-6 [6, 64, 56, 56] [6, 64, 56, 56] --\n", - "│ │ └─Conv2d: 3-7 [6, 64, 56, 56] [6, 256, 56, 56] 16,384\n", - "│ │ └─BatchNorm2d: 3-8 [6, 256, 56, 56] [6, 256, 56, 56] 512\n", - "│ │ └─Sequential: 3-9 [6, 64, 56, 56] [6, 256, 56, 56] 16,896\n", - "│ │ └─ReLU: 3-10 [6, 256, 56, 56] [6, 256, 56, 56] --\n", - "│ └─Bottleneck: 2-2 [6, 256, 56, 56] [6, 256, 56, 56] --\n", - "│ │ └─Conv2d: 3-11 [6, 256, 56, 56] [6, 64, 56, 56] 16,384\n", - "│ │ └─BatchNorm2d: 3-12 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", - "│ │ └─ReLU: 3-13 [6, 64, 56, 56] [6, 64, 56, 56] --\n", - "│ │ └─Conv2d: 3-14 [6, 64, 56, 56] [6, 64, 56, 56] 36,864\n", - "│ │ └─BatchNorm2d: 3-15 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", - "│ │ └─ReLU: 3-16 [6, 64, 56, 56] [6, 64, 56, 56] --\n", - "│ │ └─Conv2d: 3-17 [6, 64, 56, 56] [6, 256, 56, 56] 16,384\n", - "│ │ └─BatchNorm2d: 3-18 [6, 256, 56, 56] [6, 256, 56, 56] 512\n", - "│ │ └─ReLU: 3-19 [6, 256, 56, 56] [6, 256, 56, 56] --\n", - "│ └─Bottleneck: 2-3 [6, 256, 56, 56] [6, 256, 56, 56] --\n", - "│ │ └─Conv2d: 3-20 [6, 256, 56, 56] [6, 64, 56, 56] 16,384\n", - "│ │ └─BatchNorm2d: 3-21 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", - "│ │ └─ReLU: 3-22 [6, 64, 56, 56] [6, 64, 56, 56] --\n", - "│ │ └─Conv2d: 3-23 [6, 64, 56, 56] [6, 64, 56, 56] 36,864\n", - "│ │ └─BatchNorm2d: 3-24 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", - "│ │ └─ReLU: 3-25 [6, 64, 56, 56] [6, 64, 56, 56] --\n", - "│ │ └─Conv2d: 3-26 [6, 64, 56, 56] [6, 256, 56, 56] 16,384\n", - "│ │ └─BatchNorm2d: 3-27 [6, 256, 56, 56] [6, 256, 56, 56] 512\n", - "│ │ └─ReLU: 3-28 [6, 256, 56, 56] [6, 256, 56, 56] --\n", - "├─Sequential: 1-6 [6, 256, 56, 56] [6, 512, 28, 28] --\n", - "│ └─Bottleneck: 2-4 [6, 256, 56, 56] [6, 512, 28, 28] --\n", - "│ │ └─Conv2d: 3-29 [6, 256, 56, 56] [6, 128, 56, 56] 32,768\n", - "│ │ └─BatchNorm2d: 3-30 [6, 128, 56, 56] [6, 128, 56, 56] 256\n", - "│ │ └─ReLU: 3-31 [6, 128, 56, 56] [6, 128, 56, 56] --\n", - "│ │ └─Conv2d: 3-32 [6, 128, 56, 56] [6, 128, 28, 28] 147,456\n", - "│ │ └─BatchNorm2d: 3-33 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", - "│ │ └─ReLU: 3-34 [6, 128, 28, 28] [6, 128, 28, 28] --\n", - "│ │ └─Conv2d: 3-35 [6, 128, 28, 28] [6, 512, 28, 28] 65,536\n", - "│ │ └─BatchNorm2d: 3-36 [6, 512, 28, 28] [6, 512, 28, 28] 1,024\n", - "│ │ └─Sequential: 3-37 [6, 256, 56, 56] [6, 512, 28, 28] 132,096\n", - "│ │ └─ReLU: 3-38 [6, 512, 28, 28] [6, 512, 28, 28] --\n", - "│ └─Bottleneck: 2-5 [6, 512, 28, 28] [6, 512, 28, 28] --\n", - "│ │ └─Conv2d: 3-39 [6, 512, 28, 28] [6, 128, 28, 28] 65,536\n", - "│ │ └─BatchNorm2d: 3-40 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", - "│ │ └─ReLU: 3-41 [6, 128, 28, 28] [6, 128, 28, 28] --\n", - "│ │ └─Conv2d: 3-42 [6, 128, 28, 28] [6, 128, 28, 28] 147,456\n", - "│ │ └─BatchNorm2d: 3-43 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", - "│ │ └─ReLU: 3-44 [6, 128, 28, 28] [6, 128, 28, 28] --\n", - "│ │ └─Conv2d: 3-45 [6, 128, 28, 28] [6, 512, 28, 28] 65,536\n", - "│ │ └─BatchNorm2d: 3-46 [6, 512, 28, 28] [6, 512, 28, 28] 1,024\n", - "│ │ └─ReLU: 3-47 [6, 512, 28, 28] [6, 512, 28, 28] --\n", - "│ └─Bottleneck: 2-6 [6, 512, 28, 28] [6, 512, 28, 28] --\n", - "│ │ └─Conv2d: 3-48 [6, 512, 28, 28] [6, 128, 28, 28] 65,536\n", - "│ │ └─BatchNorm2d: 3-49 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", - "│ │ └─ReLU: 3-50 [6, 128, 28, 28] [6, 128, 28, 28] --\n", - "│ │ └─Conv2d: 3-51 [6, 128, 28, 28] [6, 128, 28, 28] 147,456\n", - "│ │ └─BatchNorm2d: 3-52 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", - "│ │ └─ReLU: 3-53 [6, 128, 28, 28] [6, 128, 28, 28] --\n", - "│ │ └─Conv2d: 3-54 [6, 128, 28, 28] [6, 512, 28, 28] 65,536\n", - "│ │ └─BatchNorm2d: 3-55 [6, 512, 28, 28] [6, 512, 28, 28] 1,024\n", - "│ │ └─ReLU: 3-56 [6, 512, 28, 28] [6, 512, 28, 28] --\n", - "│ └─Bottleneck: 2-7 [6, 512, 28, 28] [6, 512, 28, 28] --\n", - "│ │ └─Conv2d: 3-57 [6, 512, 28, 28] [6, 128, 28, 28] 65,536\n", - "│ │ └─BatchNorm2d: 3-58 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", - "│ │ └─ReLU: 3-59 [6, 128, 28, 28] [6, 128, 28, 28] --\n", - "│ │ └─Conv2d: 3-60 [6, 128, 28, 28] [6, 128, 28, 28] 147,456\n", - "│ │ └─BatchNorm2d: 3-61 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", - "│ │ └─ReLU: 3-62 [6, 128, 28, 28] [6, 128, 28, 28] --\n", - "│ │ └─Conv2d: 3-63 [6, 128, 28, 28] [6, 512, 28, 28] 65,536\n", - "│ │ └─BatchNorm2d: 3-64 [6, 512, 28, 28] [6, 512, 28, 28] 1,024\n", - "│ │ └─ReLU: 3-65 [6, 512, 28, 28] [6, 512, 28, 28] --\n", - "├─Sequential: 1-7 [6, 512, 28, 28] [6, 1024, 14, 14] --\n", - "│ └─Bottleneck: 2-8 [6, 512, 28, 28] [6, 1024, 14, 14] --\n", - "│ │ └─Conv2d: 3-66 [6, 512, 28, 28] [6, 256, 28, 28] 131,072\n", - "│ │ └─BatchNorm2d: 3-67 [6, 256, 28, 28] [6, 256, 28, 28] 512\n", - "│ │ └─ReLU: 3-68 [6, 256, 28, 28] [6, 256, 28, 28] --\n", - "│ │ └─Conv2d: 3-69 [6, 256, 28, 28] [6, 256, 14, 14] 589,824\n", - "│ │ └─BatchNorm2d: 3-70 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-71 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-72 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-73 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", - "│ │ └─Sequential: 3-74 [6, 512, 28, 28] [6, 1024, 14, 14] 526,336\n", - "│ │ └─ReLU: 3-75 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ └─Bottleneck: 2-9 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ │ └─Conv2d: 3-76 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-77 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-78 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-79 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", - "│ │ └─BatchNorm2d: 3-80 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-81 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-82 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-83 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", - "│ │ └─ReLU: 3-84 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ └─Bottleneck: 2-10 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ │ └─Conv2d: 3-85 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-86 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-87 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-88 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", - "│ │ └─BatchNorm2d: 3-89 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-90 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-91 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-92 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", - "│ │ └─ReLU: 3-93 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ └─Bottleneck: 2-11 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ │ └─Conv2d: 3-94 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-95 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-96 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-97 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", - "│ │ └─BatchNorm2d: 3-98 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-99 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-100 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-101 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", - "│ │ └─ReLU: 3-102 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ └─Bottleneck: 2-12 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ │ └─Conv2d: 3-103 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-104 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-105 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-106 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", - "│ │ └─BatchNorm2d: 3-107 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-108 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-109 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-110 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", - "│ │ └─ReLU: 3-111 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ └─Bottleneck: 2-13 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ │ └─Conv2d: 3-112 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-113 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-114 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-115 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", - "│ │ └─BatchNorm2d: 3-116 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-117 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-118 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-119 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", - "│ │ └─ReLU: 3-120 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "├─Sequential: 1-8 [6, 1024, 14, 14] [6, 2048, 7, 7] --\n", - "│ └─Bottleneck: 2-14 [6, 1024, 14, 14] [6, 2048, 7, 7] --\n", - "│ │ └─Conv2d: 3-121 [6, 1024, 14, 14] [6, 512, 14, 14] 524,288\n", - "│ │ └─BatchNorm2d: 3-122 [6, 512, 14, 14] [6, 512, 14, 14] 1,024\n", - "│ │ └─ReLU: 3-123 [6, 512, 14, 14] [6, 512, 14, 14] --\n", - "│ │ └─Conv2d: 3-124 [6, 512, 14, 14] [6, 512, 7, 7] 2,359,296\n", - "│ │ └─BatchNorm2d: 3-125 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", - "│ │ └─ReLU: 3-126 [6, 512, 7, 7] [6, 512, 7, 7] --\n", - "│ │ └─Conv2d: 3-127 [6, 512, 7, 7] [6, 2048, 7, 7] 1,048,576\n", - "│ │ └─BatchNorm2d: 3-128 [6, 2048, 7, 7] [6, 2048, 7, 7] 4,096\n", - "│ │ └─Sequential: 3-129 [6, 1024, 14, 14] [6, 2048, 7, 7] 2,101,248\n", - "│ │ └─ReLU: 3-130 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", - "│ └─Bottleneck: 2-15 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", - "│ │ └─Conv2d: 3-131 [6, 2048, 7, 7] [6, 512, 7, 7] 1,048,576\n", - "│ │ └─BatchNorm2d: 3-132 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", - "│ │ └─ReLU: 3-133 [6, 512, 7, 7] [6, 512, 7, 7] --\n", - "│ │ └─Conv2d: 3-134 [6, 512, 7, 7] [6, 512, 7, 7] 2,359,296\n", - "│ │ └─BatchNorm2d: 3-135 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", - "│ │ └─ReLU: 3-136 [6, 512, 7, 7] [6, 512, 7, 7] --\n", - "│ │ └─Conv2d: 3-137 [6, 512, 7, 7] [6, 2048, 7, 7] 1,048,576\n", - "│ │ └─BatchNorm2d: 3-138 [6, 2048, 7, 7] [6, 2048, 7, 7] 4,096\n", - "│ │ └─ReLU: 3-139 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", - "│ └─Bottleneck: 2-16 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", - "│ │ └─Conv2d: 3-140 [6, 2048, 7, 7] [6, 512, 7, 7] 1,048,576\n", - "│ │ └─BatchNorm2d: 3-141 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", - "│ │ └─ReLU: 3-142 [6, 512, 7, 7] [6, 512, 7, 7] --\n", - "│ │ └─Conv2d: 3-143 [6, 512, 7, 7] [6, 512, 7, 7] 2,359,296\n", - "│ │ └─BatchNorm2d: 3-144 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", - "│ │ └─ReLU: 3-145 [6, 512, 7, 7] [6, 512, 7, 7] --\n", - "│ │ └─Conv2d: 3-146 [6, 512, 7, 7] [6, 2048, 7, 7] 1,048,576\n", - "│ │ └─BatchNorm2d: 3-147 [6, 2048, 7, 7] [6, 2048, 7, 7] 4,096\n", - "│ │ └─ReLU: 3-148 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", - "├─AdaptiveAvgPool2d: 1-9 [6, 2048, 7, 7] [6, 2048, 1, 1] --\n", - "├─Linear: 1-10 [6, 2048] [6, 1000] 2,049,000\n", - "===================================================================================================================\n", - "Total params: 25,557,032\n", - "Trainable params: 25,557,032\n", - "Non-trainable params: 0\n", - "Total mult-adds (G): 24.54\n", - "===================================================================================================================\n", - "Input size (MB): 3.61\n", - "Forward/backward pass size (MB): 1066.99\n", - "Params size (MB): 102.23\n", - "Estimated Total Size (MB): 1172.83\n", - "===================================================================================================================" - ] - }, - "execution_count": 63, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "resnet_model = resnet50(weights=ResNet50_Weights.DEFAULT)\n", "summary(resnet_model,\n", @@ -5141,198 +1908,12 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": null, "id": "5c8e359d", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "data": { - "text/plain": [ - "ResNet(\n", - " (conv1): Conv2d(3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False)\n", - " (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " (maxpool): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)\n", - " (layer1): Sequential(\n", - " (0): Bottleneck(\n", - " (conv1): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " (downsample): Sequential(\n", - " (0): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " )\n", - " )\n", - " (1): Bottleneck(\n", - " (conv1): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " (2): Bottleneck(\n", - " (conv1): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " )\n", - " (layer2): Sequential(\n", - " (0): Bottleneck(\n", - " (conv1): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " (downsample): Sequential(\n", - " (0): Conv2d(256, 512, kernel_size=(1, 1), stride=(2, 2), bias=False)\n", - " (1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " )\n", - " )\n", - " (1): Bottleneck(\n", - " (conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " (2): Bottleneck(\n", - " (conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " (3): Bottleneck(\n", - " (conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " )\n", - " (layer3): Sequential(\n", - " (0): Bottleneck(\n", - " (conv1): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " (downsample): Sequential(\n", - " (0): Conv2d(512, 1024, kernel_size=(1, 1), stride=(2, 2), bias=False)\n", - " (1): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " )\n", - " )\n", - " (1): Bottleneck(\n", - " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " (2): Bottleneck(\n", - " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " (3): Bottleneck(\n", - " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " (4): Bottleneck(\n", - " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " (5): Bottleneck(\n", - " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " )\n", - " (layer4): Sequential(\n", - " (0): Bottleneck(\n", - " (conv1): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " (downsample): Sequential(\n", - " (0): Conv2d(1024, 2048, kernel_size=(1, 1), stride=(2, 2), bias=False)\n", - " (1): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " )\n", - " )\n", - " (1): Bottleneck(\n", - " (conv1): Conv2d(2048, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " (2): Bottleneck(\n", - " (conv1): Conv2d(2048, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " )\n", - " (avgpool): AdaptiveAvgPool2d(output_size=(1, 1))\n", - " (fc): Linear(in_features=2048, out_features=1000, bias=True)\n", - ")" - ] - }, - "execution_count": 64, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "resnet_model.eval()" ] @@ -5351,7 +1932,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": null, "id": "80f19869", "metadata": {}, "outputs": [], @@ -5372,7 +1953,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": null, "id": "6892597d", "metadata": {}, "outputs": [], @@ -5391,7 +1972,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": null, "id": "3eb1e1b0", "metadata": {}, "outputs": [], @@ -5416,49 +1997,12 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": null, "id": "0e89d251", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Image: book_images/flamingo.jpg\n", - " label prob\n", - "0 flamingo 0.591760\n", - "1 spoonbill 0.012386\n", - "2 American_egret 0.002105\n", - "Image: book_images/hawk.jpg\n", - " label prob\n", - "0 great_grey_owl 0.287958\n", - "1 kite 0.039478\n", - "2 fountain 0.029384\n", - "Image: book_images/hawk_cropped.jpeg\n", - " label prob\n", - "0 kite 0.301841\n", - "1 jay 0.121659\n", - "2 magpie 0.015511\n", - "Image: book_images/huey.jpg\n", - " label prob\n", - "0 Lhasa 0.151153\n", - "1 Shih-Tzu 0.129804\n", - "2 Tibetan_terrier 0.102400\n", - "Image: book_images/kitty.jpg\n", - " label prob\n", - "0 tabby 0.173628\n", - "1 tiger_cat 0.110415\n", - "2 doormat 0.093447\n", - "Image: book_images/weaver.jpg\n", - " label prob\n", - "0 jacamar 0.287284\n", - "1 bee_eater 0.046768\n", - "2 bulbul 0.037507\n" - ] - } - ], + "outputs": [], "source": [ "for i, imgfile in enumerate(imgfiles):\n", " img_df = class_labels.copy()\n", @@ -5482,7 +2026,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": null, "id": "69456669", "metadata": { "lines_to_next_cell": 2 @@ -5526,24 +2070,12 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": null, "id": "70b3ece2", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 1, 14, 22, 16, 43, 530, 973, 1622, 1385, 65, 458,\n", - " 4468], dtype=int32)" - ] - }, - "execution_count": 70, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "(imdb_seq_train,\n", " imdb_seq_test) = load_sequential(root='data/IMDB')\n", @@ -5571,21 +2103,10 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": null, "id": "349b2af7", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "\" this film was just brilliant casting location scenery story direction everyone's\"" - ] - }, - "execution_count": 71, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "lookup = load_lookup(root='data/IMDB')\n", "' '.join(lookup[i] for i in sample_review)" @@ -5605,7 +2126,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": null, "id": "ffa8da37", "metadata": { "lines_to_next_cell": 0 @@ -5632,7 +2153,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": null, "id": "11eeeabb", "metadata": { "lines_to_next_cell": 0 @@ -5669,50 +2190,10 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": null, "id": "5fe55a29", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " action_fn=lambda data: sys.getsizeof(data.storage()),\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " return super().__sizeof__() + self.nbytes()\n" - ] - }, - { - "data": { - "text/plain": [ - "===================================================================================================================\n", - "Layer (type:depth-idx) Input Shape Output Shape Param #\n", - "===================================================================================================================\n", - "IMDBModel [25000, 10003] [25000] --\n", - "├─Linear: 1-1 [25000, 10003] [25000, 16] 160,064\n", - "├─ReLU: 1-2 [25000, 16] [25000, 16] --\n", - "├─Linear: 1-3 [25000, 16] [25000, 16] 272\n", - "├─ReLU: 1-4 [25000, 16] [25000, 16] --\n", - "├─Linear: 1-5 [25000, 16] [25000, 1] 17\n", - "===================================================================================================================\n", - "Total params: 160,353\n", - "Trainable params: 160,353\n", - "Non-trainable params: 0\n", - "Total mult-adds (G): 4.01\n", - "===================================================================================================================\n", - "Input size (MB): 1000.30\n", - "Forward/backward pass size (MB): 6.60\n", - "Params size (MB): 0.64\n", - "Estimated Total Size (MB): 1007.54\n", - "===================================================================================================================" - ] - }, - "execution_count": 74, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "imdb_model = IMDBModel(imdb_test.tensors[0].size()[1])\n", "summary(imdb_model,\n", @@ -5741,7 +2222,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": null, "id": "e1ebbc70", "metadata": {}, "outputs": [], @@ -5764,496 +2245,10 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": null, "id": "9feddeb2", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (mps), used: False\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", - " rank_zero_warn(\n", - "\n", - " | Name | Type | Params\n", - "--------------------------------------------\n", - "0 | model | IMDBModel | 160 K \n", - "1 | loss | BCEWithLogitsLoss | 0 \n", - "--------------------------------------------\n", - "160 K Trainable params\n", - "0 Non-trainable params\n", - "160 K Total params\n", - "0.641 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1892: PossibleUserWarning: The number of training batches (45) is smaller than the logging interval Trainer(log_every_n_steps=50). Set a lower value for log_every_n_steps if you want to see logs for the training epoch.\n", - " rank_zero_warn(\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3c8345a0fa7d41768ff584eca2ae7e32", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "`Trainer.fit` stopped: `max_epochs=30` reached.\n" - ] - } - ], + "outputs": [], "source": [ "imdb_logger = CSVLogger('logs', name='IMDB')\n", "imdb_trainer = Trainer(deterministic=True,\n", @@ -6274,49 +2269,12 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": null, "id": "887d7dad", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "15800f2fa0774b2d8832acab92ea61df", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Testing: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " Test metric DataLoader 0\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " test_accuracy 0.8543599843978882\n", - " test_loss 1.1992340087890625\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" - ] - }, - { - "data": { - "text/plain": [ - "[{'test_loss': 1.1992340087890625, 'test_accuracy': 0.8543599843978882}]" - ] - }, - "execution_count": 77, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "test_results = imdb_trainer.test(imdb_module, datamodule=imdb_dm)\n", "test_results" @@ -6336,7 +2294,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": null, "id": "055a9aeb", "metadata": {}, "outputs": [], @@ -6360,7 +2318,7 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": null, "id": "e3e1e181", "metadata": { "lines_to_next_cell": 0 @@ -6385,7 +2343,7 @@ }, { "cell_type": "code", - "execution_count": 80, + "execution_count": null, "id": "dd64350c", "metadata": { "lines_to_next_cell": 0 @@ -6409,7 +2367,7 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": null, "id": "0bf8b868", "metadata": {}, "outputs": [], @@ -6435,7 +2393,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": null, "id": "28256828", "metadata": { "lines_to_next_cell": 0 @@ -6457,7 +2415,7 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": null, "id": "a5945618", "metadata": { "lines_to_next_cell": 0 @@ -6500,24 +2458,12 @@ }, { "cell_type": "code", - "execution_count": 84, + "execution_count": null, "id": "74704884", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABS4AAAK+CAYAAACsF4AfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAADU1klEQVR4nOzde3yT5f3/8ffd3EVAoFQhUCmKx+nmAc8zmAY25wEt0drJd0qtSnX7biroz3nYWffdnMcV5+a+GwjYTnfAatk8fT00aaCeNhWHOo8IiJWo1FY5Nsn9++MmgUKb3CVpmtDX8/HI426TK9f9uZM0vfPJdV0fw7IsSwAAAAAAAACQQwr6OwAAAAAAAAAA2BGJSwAAAAAAAAA5h8QlAAAAAAAAgJxD4hIAAAAAAABAziFxCQAAAAAAACDnkLgEAAAAAAAAkHNIXAIAAAAAAADIOSQuAQAAAAAAAOQcEpcAAAAAAAAAcg6JSwAAAAAAAAA5Jy8Tl83NzSovL9c+++wjwzD08MMPp7xPIBDQMcccoz322EMHHXSQFixY0OdxAgAAAAAAANg1eZm4XL9+vY466ij99re/ddR+xYoVOvPMMzVlyhS98sormj17tmpqavTEE0/0caQAAAAAAAAAdoVhWZbV30GkwzAMPfTQQzr77LN7bHPdddfpkUce0fLlyxPX/dd//Zc+++wzPf7441mIEgAAAAAAAEBvmP0dQDY8++yzOuWUU7pcd9ppp2n27Nk93mfz5s3avHlz4vdYLKZ169Zp7733lmEYfRUqAABAn7EsS59//rn22WcfFRTk5cSbAYdzUgAAsDvp7fnogEhcfvTRRxozZkyX68aMGaOOjg5t3LhRQ4YM2ek+N998s2688cZshQgAAJA1q1evVmlpaX+HAQc4JwUAALsjp+ejAyJxuStuuOEGXX311Ynf29vbte+++2r16tUaMWJEP0YGAMDuw7IsnXHGGXr++ecVi8V2ur2goEAnnniiDjzwQD3wwAOKRqMZ2e+gQYM0ePBgdXR0JG3ncrk0YcIErVixotv44gzDkNfrlWEYWrJkSdI4CwoKVFJSotbW1qR9ulwunX/++br77rtTH5BDHR0dGj9+vIYPH56xPtG3OCcFsm/x4sW67rrr9OGHHyau22effXTLLbdo2rRpSe8bjUZ1+OGHd7nvjsaNG6d///vfcrlcPbYJhUI666yzUsb6j3/8Q16vt8fb//a3v6mmpiZlP3PnztU3v/nNPo0ll/rJpVgy1U8uxZKpfnIplkz1k0uxZLKf3uj1+aiV5yRZDz30UNI2Xq/XmjVrVpfr7r33XmvEiBGO99Pe3m5Jstrb23chSgAABp5YLGY1NTVZM2fOtMrLy62ZM2daTU1NViwWS7RpamqyJKW8eDweR+0KCgpStjFNMxGLkz5//etfO2oXCAT6pM9M4nwm//EcAn3rwQcftAzD2On92DAMyzAM68EHH0x6f6f/B5qampL2c//99zvq5/777+/zeCKRiFVaWtrt4xJ/bMaPH29FIpGkseRSP7kUC8fEMeX7MfVWb89lBkTi8tprr7UOP/zwLtd961vfsk477TTH++EkEQAA59atW2d5vV5LshOF22+9Xq8VDoetZ5991jr22GN7PFGKX0zTtA455JDE/ZO1mzp1qqMPaIFAwIrFYpbX67VcLle3bVwul+X1eq1oNOqoXSwW65M+M4nzmfzHcwgkF4lErKamJuv++++3mpqaevVhO/4Bvqf/HU4+wOdSwnH7Y0o3KRFP6O7Yj9OEbi72k0uxcEz5EQvHlBkDInH5+eefWy+//LL18ssvW5KsO++803r55ZetlStXWpZlWddff71VVVWVaP/ee+9ZQ4cOtb7//e9bb7zxhvXb3/7Wcrlc1uOPP+54n5wkAgDgjJPk3ZFHHunoA1n8ctJJJzn+ANebhGCqBOu6det61a6v+swUzmfyH88h0LMHH3xwp8RjaWmp4w/dmUgW5lrCMf64ZCq5sePjO378+F4nNXKpn1yKhWPKj1g4pvT19lzGsCzLUp4JBAKaMmXKTtdXV1drwYIFuuiii/T+++8rEAh0uc9VV12l119/XaWlpfrxj3+siy66yPE+Ozo6VFRUpPb2dtYTAgAMaJZlKRgMqr6+XuFwWG63WzNmzJDP55NhGD3+n97RoEGDtGXLlpTtTNPUhRdeqLffflstLS3drh/pcrnk8XgUDAb12Wefye/3KxQKyTRNRSKRxNbr9aqxsVHFxcVdjqe5uVl1dXWJ46mqqlJZWVmXqs1O2/VVn5nA+Uz+4zkEutfQ0KDKykrt+PE2/l66aNEiVVRUJO3jgQce0Pnnn59yX/fff7++9a1vdXtbNBrVhAkTtGbNmp1iicdTWlqqFStWJF3jUtp2TJK69NWbY9q+r1mzZumDDz5IXDd+/HjV1tY67kOyjy8UCqm1tVUlJSXyer0pjyPX+8mlWDLVTy7Fkql+cimWTPWTS7Fksp9Uensuk5eJy/7g5IG1LEuRSCRjhQPQv1wul0zT7JMPjgCQr9ra2pImBR9++GFdcsklWrx4cbcf2OJM09TEiRPl8/l0xx13pNxvIBDQkUce6Tghme2EYL4g6ZX/eA6BncWThdsn5bbnNFno9Iu3pqYmTZ48ucfbczHhKGUvKQH0FrmU3U9hYWGP7y8kLvtIqgd2y5Ytam1t1YYNG/ohOvSVoUOHqqSkRIMGDervUACg31mWJZ/P1+OoR8MwNHjwYG3cuNFRf+Xl5WpsbEza5/YjKQ3DICGZJpJe+Y/nENhZphKOmR4tScIRSI1cyu4p/n45bNiwnW7r7bmM2RcBDjSxWCzxz2ufffbRoEGD+PCU5yzL0pYtW/Txxx9rxYoVOvjgg1VQUNDfYQFAvwoGgwqFQj3eblmW46SlaZpyu90yDEONjY09jqT0eDxqbGxM/F81DEM+n08+ny8jxwQAyH+tra0ZaedyuTRnzhxVVlYmviyLi/8fqq2tdZQ0rKioSPxvSzfh6HK5kiZcgXxFLmX3ZFmWPv74Y33wwQc6+OCD0/6ihcRlBmzZskWxWEzjx4/X0KFD+zscZMiQIUNUWFiolStXasuWLRo8eHB/hwQA/aq+vj6RUEymuLhYbW1tSdtEIhFVVVUl2geDQUZSAgB2SUlJScbaVVRUaNGiRTuNliwtLe31aEkSjkBy5FJ2X6NHj9b777+vzs5OEpe5hBF5ux+eUwADRaqCO5L09ttvp0xaStKkSZPU3t6ecvp3WVlZ4jpGUgLAwJbOdGiv16vS0tKUU7y9Xq+j/jI5WhJAanzu3v1kcuABiUsAAAa4ngruzJs3T16vV9dff73uvvtuNTc3p+zLNE2NGTNG9913n+Pp3wCAga279SBLS0s1Z84cRyMcMznFe/s+GS0JAP2PxCUAAAOYZVny+/1qaWmRpMSIyvg2FAolXddyR/Ep4Ez/BgA4Ea/AveNIyTVr1qiystJxBe5MTvEGAOQOEpc5xMk0vXwwYcIEzZ49W7Nnz3bUPl4FsK2tTSNHjuzT2AAAXaUquLO9fffdV4WFhXr//fcdTQFn+jcADAy7Os07Go1q1qxZ3U7vtixLhmFo9uzZ8vv9WS+IAyC/pLPcRK4gl9I9Epc5ItU0vcbGRhUXF2d0n6mSoT/96U/1s5/9rNf9vvjii9pzzz0dt/d4PGptbVVRUVGv9wUASI/Tgjs+n09PPvmkvvjiC6aAAwAS0pnmHQqFutxvR5ZlafXq1QqFQo6nbTPFGxh40l1uorfIpWQXicsckGqaXktLi/x+v4LBYEY/DLa2tiZ+/stf/qKf/OQnevPNNxPXDRs2rEuM0WhUppn6JTN69OhexTFo0CCNHTu2V/cBAGRGOBx2VHBnxIgRKiwsZAo4ACAh3Wne238eScZpOwADT6aWm+gNcinZRemmHBCfptfdtDtp25BnJ0URemPs2LGJS1FRkQzDSPz+n//8R8OHD9djjz2mY489VnvssYeWLFmid999V36/X2PGjNGwYcN0/PHH66mnnurS74QJE1RbW5v43TAMzZ07V+ecc46GDh2qgw8+WIsXL07cHggEZBiGPvvsM0nSggULNHLkSD3xxBM67LDDNGzYMJ1++uld3hwikYiuvPJKjRw5Unvvvbeuu+46VVdX6+yzz87oYwQAuzu3253yRMo0Tbnd7sTv8Sngc+fO1eLFizV37ty8W9YEAJCeVNO8JWn27Nk9fsaRpJKSEkf7ctoOQP6zLEvr1693dOno6NCVV16Z9H1o1qxZ6ujocNRfd/10h1xKdpG47GN33nmnSktLk17OPPNMRx/2pk6d2u3977zzzj6L//rrr9evfvUrvfHGGzryyCP1xRdfaOrUqXr66af18ssv6/TTT1d5eblWrVqVtJ8bb7xR5513nl599VVNnTpVF1xwgdatW9dj+w0bNuj2229XXV2dmpubtWrVKl1zzTWJ22+55Rb96U9/0vz587V06VJ1dHTo4YcfztRhA8Buw7IsBQIB1dTUaNq0aaqpqVEgEND69ev19ttva8aMGSlHXMYL7gAAENebad498Xq9Ki0t7fGzkGEYGj9+vLxeb9rxAsgPGzZs0LBhwxxdioqKtGbNmh77sixLH3zwgYqKihz1t2HDhowdB7mUzGGqeB/r6OhI+ofUGxs2bOj2D6mjoyMj/Xfnpptu0je+8Y3E73vttZeOOuqoxO8///nP9dBDD2nx4sW6/PLLe+znoosu0re+9S1J0i9/+UvdddddeuGFF3T66ad3276zs1O///3vdeCBB0qSLr/8ct10002J23/zm9/ohhtu0DnnnCNJuvvuu/Xoo4/u+oECwG4o2frJgwcP1rhx4/Tqq6/K6/WqpaXFUcEdAACkzEzzdrlcmjNnjiorK2UYRpfRTvFkZm1tbd4V2AAAcimZQ+Kyj40YMULjxo1L2qatrU0bN25MOSx56NCh3RboGTFiRFoxJnPcccd1+f2LL77Qz372Mz3yyCNqbW1VJBLRxo0bU35LcOSRRyZ+3nPPPTVixAiFw+Ee2w8dOjTxhybZ00Pi7dvb27V27VqdcMIJidtdLpeOPfZYxWKxXh0fAOyuUq2fvGnTJr377rv62c9+psbGRgruAAB6JVPTvCsqKrRo0aJuC2vU1tb2SWENALlr6NCh+uKLLxy1bW5u1tSpU1O2e/TRRx19CT906FBH+3WCXErmkLjsY1dffbWuvvrqpG3iJexTefTRR+Xz+TIVmiM7VrS65ppr9OSTT+r222/XQQcdpCFDhqiyslJbtmxJ2k9hYWGX3w3DSPqH0V17p+tNAAC2rZ+cyhFHHEHBHQBAr8Wnea9Zs6bb83TDMFRaWupomndFRUXiC7TW1laVlJTI6/Uy0hIYgAzDcFxZ+9RTT3X0PnTqqadm/f2EXErmkLjMAT6fL2+m6S1dulQXXXRRYljxF198offffz+rMRQVFWnMmDF68cUXE49JNBrVSy+9pIkTJ2Y1FgDIVfX19YlRkz0xTVPBYFBVVVWJgjvZ/oIMAJCfMj3N2+VyafLkyX0RKoDdVD4tN0EuZddRnCcHGIahxsZGeTweSUpUd41vc2ma3sEHH6yGhga98sorWrZsmc4///x+GVJ8xRVX6Oabb1ZjY6PefPNNzZo1S21tbTnxGAFALgiHw46K7iSbagIA2L1Fo1EFAgE98MADCgQCSSuAdyc+zXvHpbFKS0u1aNEipnkD6HP58j5ELmXXMeIyR+TLNL0777xTl1xyiTwej0aNGqXrrruuT4sD9eS6667TRx99pAsvvFAul0uXXXaZTjvttJz4JgUAcoGT9Y9N05Tb7c5CNACAXNPQ0NDtupJz5szp1Qd9pnkD6G/58D5ELmXXGVa+T3bPko6ODhUVFam9vX2nD4ObNm3SihUrtP/++2vw4MH9FOHAFovFdNhhh+m8887Tz3/+84z1y3MLIF85XT85EAgwPXwASXY+g/zAc4hMaGhoUGVl5U7rnsUHS+TSKCUAuy8+b/e//sil9PZchhGXyEsrV67U//3f/8nn82nz5s26++67tWLFCp1//vn9HRoA9DnLshQMBlVfX58YoX/BBRfI6/Umlhnx+Xw6+eST1dLS0u00lFxaPxkAkD3RaFSzZs3qtliDZVkyDEOzZ8+W3+/P6RE4AIDey8dcColL5KWCggItWLBA11xzjSzL0uGHH66nnnpKhx12WH+HBgB9qq2tLTEVJl58x+Vyad68edp33331yiuvqLi4WIZhaPHixTu1jW9zaf1kAED2hEKhLtPDd2RZllavXq1QKESxHADYzeRjLoXEJfLS+PHjtXTp0v4OAwCyyrIs+f1+tbS0SFKi+E68mMKqVas0ZcoUvfzyyzIMI2/WTwYAZE9ra2tG2wEA8kc+5lJIXAIAkCeCwaBCoVDSNsuWLVNzc3Ni3UrDMOTz+VjHEgAgSSopKcloOwAA+lJBfwcAAACcqa+vT6xh2RPTNFVXV5eliAAA/SEajSoQCOiBBx5QIBBIjLx3wuv1qrS0tMdR94ZhaPz48fJ6vZkKFwCAXUbiEgCAPBEOhxPTw3sSiUQUDoezFBEAINsaGho0YcIETZkyReeff76mTJmiCRMmqKGhwdH9XS6X5syZI0k7JS/jv9fW1lKYBwCQE0hcAgCQByzL0scff5yynWmacrvdWYgIAJBtDQ0Nqqys3Km4zpo1a1RZWek4eVlRUaFFixZp3LhxXa4vLS3VokWLVFFRkbGYAQBIB2tcAgCQBzZu3Kg1a9akbBeJRFRVVZWFiAAA2RSNRjVr1ixZlrXTbZZlyTAMzZ49W36/39FoyYqKCvn9foVCIbW2tqqkpERer5eRlgCAnELiEgCAHGFZloLBoOrr6xMVwGfMmCGfz6ehQ4fqiSee0BFHHKFYLNbtB1eXyyWPx6OysrJ+iB4A0JdCodBOIy23Z1mWVq9erVAopMmTJzvq0+VyOW4LAEB/YKp4LrEsKRCQamqkadPsbSBgX5+jJk+erNmzZyd+nzBhgmpra5PexzAMPfzww2nvO1P9AEAuaGtrk8/n05QpU7Rw4UL9/e9/18KFCzVlyhT5fD61tbXpsMMO0/Lly3XyySdLUqJQT3zr8XjU2NjYY8EFAED+am1tzWg7ANitRKN2/uSBB+xtL4qW9QdyKc4x4jJXtLVJfr8UCkmmKUUi9nbePMnrlRobpeLijO6yvLxcnZ2devzxx3e6LRQKqaysTMuWLdORRx7puM8XX3xRe+65ZybD1M9+9jM9/PDDeuWVV7pc39raquIMPyYA0B8sy5Lf71dLS4skJQrwxLctLS3y+/0KBoM69NBDFQwG1dzcrLq6usTIzKqqKpWVlZG0BIDdVElJSUbbAcBuo6FBmjVL2n5UemmpNGeO1Adr9pJLyS4Sl7nAsuyk5dYPrIpXjI1vW1rs24NBKYMfSGfOnKlzzz1XH3zwgUpLS7vcNn/+fB133HG9+kOTpNGjR2csvlTGjh2btX0BQF8KBoMKhUI93h6NRhUKhdTc3CyfzyfDMOTz+eTz+bIYJQCgP3m9XpWWlmrNmjXdLhdiGIZKS0vl9Xr7IToA6CcNDVJl5c4zVdessa9ftCjjyUtyKdnFVPFcEAzaIy17Gsocjdq3NzdndLdnnXWWRo8erQULFnS5/osvvtDf/vY3nX322frWt76lcePGaejQoTriiCP0wAMPJO1zx+HNb7/9tsrKyjR48GB9+ctf1pNPPrnTfa677jodcsghGjp0qA444AD9+Mc/VmdnpyRpwYIFuvHGG7Vs2TIZhiHDMBLx7ji8+d///re+9rWvaciQIdp777112WWX6YsvvkjcftFFF+nss8/W7bffrpKSEu2999763ve+l9gXAPSX+vr6xHTvnpimqbq6uixFBADINS6XS3PmzJGknUbXx3+vra2luA6A/GZZ0vr1zi4dHdKVV3a/vF78ulmz7HZO+nO4TB+5lOzmUhhx2dfuvNO+JNPWZo+kTPVHMnVq99PFr77avvSSaZq68MILtWDBAv3whz9MnPD87W9/UzQa1YwZM/S3v/1N1113nUaMGKFHHnlEVVVVOvDAA3XCCSek7D8Wi6miokJjxozR888/r/b29i5rOMQNHz5cCxYs0D777KN///vfuvTSSzV8+HBde+21mj59upYvX67HH39cTz31lCSpqKhopz7Wr1+v0047TSeddJJefPFFhcNh1dTU6PLLL+/yZtLU1KSSkhI1NTXpnXfe0fTp0zVx4kRdeumlvX78ACBT1q5dm5gW3pNIJKJwOJyliAAAuaiiokKLFi3SrFmzuhTqKS0tVW1trSr6YEokAGTVhg3SsGGZ6cuy7Onj3eQQuvXFF5KD6drkUrKbSyFx2dc6OuwhypmwYYN96W4fu+iSSy7RbbfdpmAwmKgoOH/+fJ177rnab7/9dM011yTaXnHFFXriiSf017/+1dEf21NPPaX//Oc/euKJJ7TPPvtIkn75y1/qjDPO6NLuRz/6UeLnCRMm6JprrtGf//xnXXvttRoyZIiGDRsm0zSTDme+//77tWnTJt13332JdSHuvvtulZeX65ZbbtGYMWMkScXFxbr77rvlcrl06KGH6swzz9TTTz9N4hJAv/nss8+0fPnylO1M05Tb7c5CRACAXFZRUSG/369QKKTW1laVlJTI6/Uy0hIAsohcSvZyKSQu+9qIEdK4ccnbtLVJGzemHnE5dGj3Iy5HjNjl8A499FB5PB7de++9mjx5st555x2FQiHddNNNikaj+uUvf6m//vWvWrNmjbZs2aLNmzdr6NChjvp+4403NH78+MQfmiSddNJJO7X7y1/+orvuukvvvvuuvvjiC0UiEY3o5TG98cYbOuqoo7osZjtp0iTFYjG9+eabiT+2r3zlK11O6kpKSvTvf/+7V/sCgEx54YUXNH36dL3//vsp20YiEVVVVfV9UACAnOdyuRIflAFgtzJ0qD3y0YnmZntmaiqPPiqVlTnbt0PkUrKXSyFx2decTOMOBKQpU1L39eijUh8UYpg5c6auuOIK/fa3v9X8+fN14IEHyufz6ZZbbtGcOXNUW1urI444Qnvuuadmz56tLVu2ZGzfzz77rC644ALdeOONOu2001RUVKQ///nPuuOOOzK2j+0VFhZ2+d0wDMVisT7ZFwBIdsXwYDCo+vr6RAXwGTNmyOfz6ZFHHkkkLU3TVCwW6/Y9yeVyyePxqMzJCRcAIKfFC64xWhIAumEYjqZrS5JOPdWuHr5mTfcDwQzDvv3UU6U+eJ8ll5KdXArFeXKBzyd5vT3/Iblc9u199IH1vPPOU0FBge6//37dd999uuSSS2QYhpYuXSq/368ZM2boqKOO0gEHHKC33nrLcb+HHXaYVq9erdbW1sR1zz33XJc2LS0t2m+//fTDH/5Qxx13nA4++GCtXLmyS5tBgwYp2lPhou32tWzZMq1fvz5x3dKlS1VQUKAvfelLjmMGgExqa2uTz+fTlClTtHDhQv3973/XwoULNWXKFPl8Pl1++eUqKyvTSSedpJdeekmTJk2SpEShnvjW4/GosbFxp2IMAID80tDQoAkTJmjKlCk6//zzNWXKFE2YMEENDQ39HRoA5B+XS9patEw7nifHf6+t7ZOkpUQuJVtIXOYCw5AaGyWPx/49Xlk2vvV47Nv76APrsGHDNH36dN1www1qbW3VRRddJEk6+OCD9eSTT6qlpUVvvPGGvv3tb2vt2rWO+z3llFN0yCGHqLq6WsuWLVMoFNIPf/jDLm0OPvhgrVq1Sn/+85/17rvv6q677tJDDz3Upc2ECRO0YsUKvfLKK/rkk0+0efPmnfZ1wQUXaPDgwaqurtby5cvV1NSkK664QlVVVYmhzQCQTZZlye/3q6WlRZISxXfi25aWFp177rl68MEHFQwGdcQRRygYDCoQCKi6ulrl5eWqrq5WIBBQMBhUcXdLhQAA8kZDQ4MqKyu7FNWRpDVr1qiyspLkJQDsiooKadGinZfoKy21r+/DomXkUrKDxGWuKC6WgkF72nh1tVRebm8DAfv6Pv7AOnPmTLW1tem0005LrKPwox/9SMccc4xOO+00TZ48WWPHjtXZZ5/tuM+CggI99NBD2rhxo0444QTV1NToF7/4RZc206ZN01VXXaXLL79cEydOVEtLi3784x93aXPuuefq9NNP15QpUzR69Gg98MADO+1r6NCheuKJJ7Ru3Todf/zxqqys1Ne//nXdfffdvX8wACADgsGgQqFQj99yxqcKvvbaa4mpF4ZhyOfzae7cuVq8eLHmzp0rn8/HSEsAyHPRaFSzZs2S1c1Uxvh1s2fPTjkyBgDQjYoK6f33paYm6f777e2KFX2atIwjl9L3DKu7/57YSUdHh4qKitTe3r7TYqebNm3SihUrtP/++2vw4MH9FCH6As8tgF1VU1OjhQsXJkZYdsc0TVVXV2vu3LlZjAwDWbLzGeQHnsP8FAgENMXBmvZNTU0U3QEwYPB5e/eV7Lnt7bkMIy4BAOgD4XA4adJSsqeNh8PhLEUEAOgv269Tlol2AAAMFCQuAQDoA/HCOqnauN3uLEQDAOhPJSUlGW0HAMBAQeISAIAMa2xs1GOPPZayXSQSUVVVVRYiAgD0J6/Xq9LS0h7XLDYMQ+PHj5fX681yZAAA5LbUw0EAAMBOLMtSMBhUfX29wuGw3G63LrjgAj3//PP6wQ9+0G0Bhu25XC55PB6VlZVlKWIAQH9xuVyaM2eOKisrZRhGl/8R8WRmbW2tXC5Xf4UIAEBOInEJAEAvtbW1ye/3KxQKyTRNRSIRmaapefPmdWlXUVGhjz76SC0tLV3aRSIReTweNTY2UjEcAAaIiooKLVq0SLNmzdIHH3yQuL60tFS1tbWqyEL1WwDIRdSM3v1k8jklcQkAQC9YliW/36+WlhZJShTgiW8LCgoUi8V000036Uc/+pEkqbm5WXV1dYmRmVVVVSorKyNpCQADTEVFReKLr9bWVpWUlMjr9TLSEsCAVFhYKEnasGGDhgwZ0s/RIJO2bNkiSRn5/0biEgCAXggGgwqFQj3eHovFJKlLYtLn88nn82UlPgBA34hGoxlJOLpcLk2ePDnzAQJAnnG5XBo5cqTC4bAkaejQoXyxvxuIxWL6+OOPNXToUEcFS1MhcQkAQC/U19cnpnv3xDRN1dXVkawEgN1EQ0NDt1O858yZwxRvAEjD2LFjJSmRvMTuoaCgQPvuu29GEtEkLgEA6IVwOJw0aSnZ08Y5+QKA3UNDQ4MqKyt3Wq9rzZo1qqys1KJFi0heAsAuMgxDJSUlcrvd6uzs7O9wkCGDBg1SQUFBRvoicZlDLEsKBqX6eikcltxuacYMyeeTGC0NALnB7XYn1rHsiWmacrvdWYwKANAXotGoZs2a1W2RAcuyZBiGZs+eLb/fzzqVAJAGl8vF+yi6lZn0J9LW1mYnKKdMkRYulP7+d3s7ZYp9fVtb5vdpGEbSy89+9rO0+n744YczFisA5IpUSUvJHnFZVVWVpYgAAH0lFAp1mR6+I8uytHr16qRrHwMAgF3HiMscYFmS3y9tLVCr+AzE+Lalxb49GMzsyMvW1tbEz3/5y1/0k5/8RG+++WbiumHDhmVuZwCQ5yzL0vXXX68//vGPSdu5XC55PB6VlZVlKTIAQF/Z/nw5E+0AAEDvMOIyBwSDUigkRaPd3x6N2rc3N2d2v2PHjk1cioqKZBhGl+v+/Oc/67DDDtPgwYN16KGH6ne/+13ivlu2bNHll1+ukpISDR48WPvtt59uvvlmSdKECRMkSeecc44Mw0j8DgD5KhqN6rLLLtOtt96auC7+3havlBffejweNTY2UhERAHYDJSUlGW0HAAB6hxGXfezOO+1LMm1t9kjKbpbO6WLqVKm4eOfrr77avmTSn/70J/3kJz/R3XffraOPPlovv/yyLr30Uu25556qrq7WXXfdpcWLF+uvf/2r9t13X61evVqrV6+WJL344otyu92aP3++Tj/9dNapAJA3LMtSMBhUfX29wuGw3G63zjvvPP3hD3/Qgw8+KMleCuOee+7RZZddpubmZtXV1SXaVlVVqaysjKQlAOwmvF6vSktLtWbNmm7XuTQMQ6WlpfJ6vf0QHQAAuz8Sl32so0NasyYzfW3YYF+620em/fSnP9Udd9yRqJC4//776/XXX9f//u//qrq6WqtWrdLBBx+sk08+WYZhaL/99kvcd/To0ZKkkSNHauzYsZkPDgD6QFtbm/x+v0KhkEzTVCQSkWmamjdvXmI0ZWFhoerq6jR9+nRJks/nk8/n68+wAQB9yOVyac6cOaqsrJRhGF2Sl/EvqWpra/miHgCAPkLiso+NGCGNG5e8TVubtHFj6hGXQ4d2P+JyxIhdj68769ev17vvvquZM2fq0ksvTVwfiURUVFQkSbrooov0jW98Q1/60pd0+umn66yzztKpp56a2UAAIEssy5Lf71fL1sWGI1sXGY5vY7GYCgsLtXjxYp1++un9FicAIPsqKiq0aNEizZo1q0uhntLSUtXW1ia+6AcAAJlH4rKPOZnGHQjY1cNTefRRu8J4X/viiy8kSX/84x914okndrkt/m3yMcccoxUrVuixxx7TU089pfPOO0+nnHKKFi1a1PcBAkCGBYPBpBVhY7GYYrGYhgwZksWoAACZEI1GFQqF1NraqpKSEnm93l6PkKyoqEiMyk+nHwAA0DskLnOAzyd5vXb18O4K9LhckscjZatA7ZgxY7TPPvvovffe0wUXXNBjuxEjRmj69OmaPn26Kisrdfrpp2vdunXaa6+9VFhYqGhP1YYAIMfU19cnpof3xDRN1dXVMTUcAPJIQ0NDtyMl58yZ0+uRki6XS5MnT85whAAAIBkSlznAMKTGRsnvt6uHm6YUiWzbejz27dms9XDjjTfqyiuvVFFRkU4//XRt3rxZ//znP9XW1qarr75ad955p0pKSnT00UeroKBAf/vb3zR27FiNHDlSkl1t9+mnn9akSZO0xx57qLi7Oe4AkCPC4XDSpKVkTxsPh8NZiggAkK6GhgZVVlbuVFRnzZo1qqys1KJFi5jmDQBAjivo7wBgKy6WgkF72nh1tVRebm8DAfv6bOf9ampqNHfuXM2fP19HHHGEfD6fFixYoP3331+SNHz4cN1666067rjjdPzxx+v999/Xo48+qoIC+yV1xx136Mknn9T48eN19NFHZzd4AOglt9udcrqfaZpyu91ZiggAkI5oNKpZs2Z1Wwk8ft3s2bOZIQQAQI4zrO7+m2MnHR0dKioqUnt7u0bsUA1n06ZNWrFihfbff38NHjy4nyJEX+C5BQaGxx57TFOnTk3ZLhAIMFUceS3Z+QzyA8+hM4FAQFMcLCLf1NTE9G8AALKot+cyTBUHAAxomzZt0m233Za0jcvlksfjUVm2FhsGAKSltbU1o+0AAED/YKo4AGDA6uzs1De/+U01NTVJUmK6uGmaXbYej0eNjY0ysrnYMABgl5WUlGS0HQAA6B+MuAQADEjRaFQzZszQP/7xD0nSnnvuqSeffFJbtmxRXV2dwuGw3G63qqqqVFZWRtISAPKI1+tVaWmp1qxZ0+06l4ZhqLS0VF6vtx+iAwAATpG4BADs9izLUjAYVH19fSIhuWHDBv31r3+VJA0ePFj/+Mc/dNJJJ0kS61gCQJ5zuVyaM2eOKisrZRhGl+Rl/Iuo2tralIXZAABA/yJxmUHUOdr98JwC+a+trU1+v1+hUEimaSoSiSS2gwcPViQS0YMPPkhxBgDYzVRUVGjRokWaNWuWPvjgg8T1paWlqq2tVUVFRT9GBwAAnCBxmQGFhYWSpA0bNmjIkCH9HA0yacOGDZK2PccA8otlWfL7/WppaZEkRSKRLtvOzk4deuihOuOMM/otRgBA36moqEh8edXa2qqSkhJ5vV5GWgIAkCdIXGaAy+XSyJEjFQ6HJUlDhw5lLbQ8Z1mWNmzYoHA4rJEjR3JyC+SpYDCoUCjU4+3RaFSvvfaampubmR4OALspl8vFqHoAAPIUicsMGTt2rCQlkpfYPYwcOTLx3ALIP/X19Ylp4T0xTVN1dXUkLgEAAAAgx5C4zBDDMFRSUiK3263Ozs7+DgcZUFhYyEhLIM+Fw+GkSUvJnjbOl04AAAAAkHtIXGaYy+Ui2QUAecQ0Tbnd7v4OAwAAAACwg4L+DgAAgL4wd+5cPfbYYynbRSIRVVVVZSEiAAAAAEBvMOISAJC3LMtSMBhUfX29wuGw3G63zjvvPC1atEh//OMfU97f5XLJ4/GorKwsC9ECAAAAAHqDxCUAIC+1tbXJ7/crFAolCvC4XC7NmzevS7vLLrtMr7/+upYsWZJoF996PB41NjbKMIx+OgoAQDLRaFShUEitra0qKSmR1+tlWSYAAAYQEpcAgLxjWZb8fr9aWlokKVGAJxqNJtoYhqEFCxbowgsvlGVZam5uVl1dXWJkZlVVlcrKykhaAkCOamho0KxZs/TBBx8kristLdWcOXNUUVHRj5EBAIBsIXEJAMg7wWBQoVAoaRvLsrTffvtJspOYPp9PPp8vG+EBANLU0NCgyspKWZbV5fo1a9aosrJSixYtInkJAMAAQHEeAEDeqa+vl2km/+7NNE3V1dVlKSIAQKZEo1HNmjVrp6SlpMR1s2fP7jLKHgAA7J5IXAIA8k44HE5MD+9JJBJROBzOUkQAgEwJhUJdpofvyLIsrV69OuXIewAAkP9IXAIA8s6oUaNSrk1pmqbcbneWIgIAZEpra2tG2wEAgPxF4hIAkFc2b96st956q9sphNuLRCKqqqrKUlQAgEwpKSnJaDsAAJC/SFwCAPLGxo0bdc4552jp0qVJ27lcLnm9XpWVlWUpMgBApni9XpWWlvY4st4wDI0fP15erzfLkQEAgGwjcQkAyAvr169XeXm5HnvsMUnSkCFDdMQRR0hSolBPfOvxeNTY2JhyOjkAIPe4XC7NmTNHknZ6H4//XltbK5fLlfXYAABAdiUvyQoAQJZZlqVgMKj6+nqFw2G53W6dc845+tWvfqUlS5ZIkoYNG6ZHH31UJ598spqbm1VXV5doW1VVpbKyMpKWAJDHKioqtGjRIs2aNatLoZ7S0lLV1taqoqKiH6MDAADZYlipFgmDJKmjo0NFRUVqb2/XiBEj+jscANgttbW1ye/3KxQKyTRNRSIRuVwuRaPRRJuioiI9/vjj+upXv9qPkQL5ifOZ/DfQnsNoNKpQKKTW1laVlJTI6/Uy0hIAgDzW23MZRlwCAHKCZVny+/1qaWmRZBfXkdQlaWmapp5++mkde+yx/RIjACC7XC6XJk+e3N9hAACAfkLiEgCQE4LBoEKhUNI2kUhEX3zxRZYiAgAAAAD0J4rzAAByQn19faK4Tk9M01RdXV2WIgIAAAAA9CcSlwCAnBAOhxPTw3sSiUQUDoezFBEAAAAAoD+RuAQA5AS3262CguT/lkzTlNvtzlJEAAAAAID+ROISANDvLMtSQUGBYrFY0naRSERVVVVZigoAAAAA0J8ozgMA6FednZ367//+b82bNy9pO5fLJY/Ho7KysixFBgAAAADoTyQuAQBZYVmWgsGg6uvrFQ6H5Xa7dfbZZ+vXv/61nnnmmUS7/fbbTytXrpRpmopEIomtx+NRY2OjDMPox6MAAAAAAGQLiUsAQJ9ra2uT3+9XKBRKJCJdLleXUZZ77LGHFixYoOnTp6u5uVl1dXWJBGdVVZXKyspIWgIAAADAAELiEgDQpyzLkt/vV0tLiyQlKodHo9FEG9M09fTTT2vSpEmSJJ/PJ5/Pl/1gAQAAAAA5g8QlAKBPBYNBhUKhpG0ikUgioQkAAAAAgERVcQBAH6uvr5dpJv+ezDRN1dXVZSkiAAAAAEA+IHEJAOhTa9euTTmaMhKJKBwOZykiAAAAAEA+IHEJAOgzL774op5//vmU7UzTlNvtzkJEAAAAAIB8wRqXAIBdZlmWgsGg6uvrExXAZ8yYocMOO0w//OEPde+998qyrJT9RCIRVVVVZSFiAAAAAEC+IHEJANglbW1t8vv9CoVCMk1TkUhEpmlq3rx5crlcXaqGDx06VJs2bVIsFtupH5fLJY/Ho7KysmyGDwDoQ9FoVKFQSK2trSopKZHX65XL5ervsAAAQJ5hqjgAoNcsy5Lf71dLS4skJdawjG/jScvhw4fr17/+tVasWKFJkyZJUqJQT3zr8XjU2NgowzCyegwAgL7R0NCgCRMmaMqUKTr//PM1ZcoUTZgwQQ0NDf0dGgAAyDOMuAQA9FowGFQoFErZbuHChTrnnHMS92lublZdXV1iWnlVVZXKyspIWgLAbqKhoUGVlZU7LROyZs0aVVZWatGiRaqoqOin6AAAQL4hcQkA6LX6+vrE9PCemKapRx55JJG4NAxDPp9PPp8vW2ECALIoGo1q1qxZ3a5tbFmWDMPQ7Nmz5ff7mTYOAAAcYao4AKDX1q5dmzRpKdnTxsPhcJYiAgD0t1AopA8++KDH2y3L0urVqx2N2AcAAJAYcQkA6EZP1cKPO+443XjjjXrrrbccjbh0u91ZjBoA0J9aW1sz2g4AAIDEJQCgi2TVwvfYYw9t3rzZUT+RSERVVVV9HC0AIFeUlJRktB0AAABTxQEACamqhceTloWFhTrooIN6XKPM5XLJ6/WqrKwsC1EDAHKB1+tVaWlpjwXXDMPQ+PHj5fV6sxwZAADIVyQuAQAJ8Wrh0Wg0abv58+frhRdekMfjkWRPC99+6/F41NjYSLVwABhAXC6X5syZI0k7vf/Hf6+traUwDwAAcIzEJQAgIV4tPBnTNNXU1KTi4mIFg0EFAgFVV1ervLxc1dXVCgQCCgaDKi4uzlLUAIBcUVFRoUWLFmncuHFdri8tLdWiRYtUUVHRT5EBAIB8xBqXAICEcDjcq2rhhmHI5/PJ5/NlIzwAQB6oqKhIrJXc2tqqkpISeb1eRloCAIBeI3EJAEhwu91UCwcApM3lcmny5Mn9HQYAAMhzTBUHgAHCsiwFAgHV1NRo2rRpqqmpUSAQ0Pr16xNtZsyY4WjEJdXCAQAAAAB9jRGXADAAtLW1JabtxUdUmqapefPmqbCwUH/5y190zjnnyOfzyev1qqWlpdsCPS6XSx6Ph2rhAAAAAIA+l7cjLn/7299qwoQJGjx4sE488US98MILPbbt7OzUTTfdpAMPPFCDBw/WUUcdpccffzyL0QJA/7EsS36/Xy0tLZKUGFEZ33Z2dur888/X+vXrZRiGGhsbqRYOAAAAAOh3eZm4/Mtf/qKrr75aP/3pT/XSSy/pqKOO0mmnnZYoFrGjH/3oR/rf//1f/eY3v9Hrr7+u73znOzrnnHP08ssvZzlyAMi+YDCoUCjU7QjKuE2bNumpp56SJKqFAwAAAABygmFZltXfQfTWiSeeqOOPP1533323JCkWi2n8+PG64oordP311+/Ufp999tEPf/hDfe9730tcd+6552rIkCGqr693tM+Ojg4VFRWpvb1dI0aMyMyBAEAW1NTUaOHChSkL7lRXV2vu3LlZjAxAtnE+k/94DgEAQD7r7blM3q1xuWXLFv3rX//SDTfckLiuoKBAp5xyip599tlu77N582YNHjy4y3VDhgzRkiVLetzP5s2btXnz5sTvHR0daUYOAP0jHA47KrjT06h1AED/4ZwUAAAMZHk3VfyTTz5RNBrVmDFjulw/ZswYffTRR93e57TTTtOdd96pt99+W7FYTE8++aQaGhrU2tra435uvvlmFRUVJS7jx4/P6HEAQLZ8+OGHKduYpim3252FaAAAvZG356TRqBQISA88YG+TLFcCAADQk7xLXO6KOXPm6OCDD9ahhx6qQYMG6fLLL9fFF1+sgoKeD/+GG25Qe3t74rJ69eosRgwAzlmWpUAgoJqaGk2bNk01NTUKBAKKrwRy5ZVXpuwjEomoqqqqr0MFAPRSXp6TNjRIEyZIU6ZI559vbydMsK8HAADohbybKj5q1Ci5XC6tXbu2y/Vr167V2LFju73P6NGj9fDDD2vTpk369NNPtc8+++j666/XAQcc0ON+9thjD+2xxx4ZjR0AMq2trU1+v1+hUEimaSoSicg0Tc2bN09er1eNjY2qqqrS//zP/+jdd99VLBbbqQ+XyyWPx6OysrJ+OAIAQDJ5d07a0CBVVko7LqO/Zo19/aJFUkVF/8QGAADyTt6NuBw0aJCOPfZYPf3004nrYrGYnn76aZ100klJ7zt48GCNGzdOkUhEDz74oPx+f1+HCwB9xrIs+f1+tbS0SFJiHcv4tqWlJfE+9/zzz2vSpEmS7Gnh2289Ho8aGxtlGEZW4wcA7GaiUWnWrJ2TltK262bPzv60caatAwCQt/JuxKUkXX311aqurtZxxx2nE044QbW1tVq/fr0uvvhiSdKFF16ocePG6eabb5Zkf2Bfs2aNJk6cqDVr1uhnP/uZYrGYrr322v48DABISzAYVCgU6vH2aDSqUCik5uZm+Xw+BYNBNTc3q66uTuFwWG63W1VVVSorKyNpCQBIXygkffBBz7dblrR6td1u8uTsxNTQYCdTt4+rtFSaM4eRnwAA5IG8TFxOnz5dH3/8sX7yk5/oo48+0sSJE/X4448nCvasWrWqy/qVmzZt0o9+9CO99957GjZsmKZOnaq6ujqNHDmyn44AANJXX1+fmB7eE9M0VVdXJ5/PJ8Mw5PP55PP5shglAGDASFL4cpfapYtp6wAA5L28TFxK0uWXX67LL7+829sCgUCX330+n15//fUsRAUA2RMOh5MmLSV72ng4HM5SRACAAa2kJLPt0pFq2rph2NPW/X7J5er7eAAAwC7JuzUuAQBSe3u73njjjZTtTNOU2+3OQkQAgAHP67WnYfe0/IhhSOPH2+36Wm+mrQMAgJxF4hIAcpBlWQoEAqqpqdG0adNUU1OjQCAgy7IUDAZ15JFH6p133knZTyQSUVVVVRYiBgAMeC6XvXaktHPyMv57bW12Rjjm2rR1AACwS/J2qjgA7K7a2trk9/sVCoUSa1iapql58+bJ6/WqrKxMq1atkiS5XC5ZlqVYLLZTPy6XSx6PR2VlZdk+BABAvopG7VGIra32lG6vt3eJxooKe+3I7gri1NZmb03JXJq2DgAAdhmJSwDIIZZlye/3q6WlRZISa1jGty0tLbIsS1/96lc1ePBg3XXXXfre9763U5IzEonI4/GosbGRiuEAAGcyVYG7osJeOzKdBGi64tPW16zpfp1Lw7Bvz8a0dQAAsMtIXAJADgkGgwolWW8rGo1qyZIlamxs1FlnnaWCggIFg0E1Nzerrq5O4XBYbrdbVVVVKisrI2kJAHAm0xW4XS5p8uSMhtgr8WnrlZV2knL748r2tHUAALDLSFwCQA6pr69PjJjsiWmaWrx4saZNmyZJMgxDPp9PPp8vW2ECAHYnuVyBO52p67kybR0AAOwyEpcAkEPWrl2bNGkp2dPGw+FwliICAOz2elOBO5ujKDMxdT0Xpq0DAIBdRuISALIoXhW8vr4+Ma17xowZ8nq9amxsTKxtmYxpmnK73VmIFgAwIORiBe5MTl3v72nrAABgl5G4BIAsSVYtfOjQodqwYYOjfiKRiKqqqvo4WgDAgJFrFbhzeeo6AADIqoL+DgAABoJU1cK3T1oOGzZMBQXdvz27XC55vV6VlZX1ccQAgAEjXoG7p4JuhiGNH5+9Cty9mboOAAB2ayQuASAL4tXCo9Fo0na33HKLVq5cqUmTJkmyp4Vvv/V4PGpsbKRaOAAgc+IVuKWdk5f9UYE7F6euS/ZI0EBAeuABe5vifzoAAEgfU8UBIAvq6+vlcrmSJi5N09Rbb72lvfbaS8FgUM3Nzaqrq0ushVlVVaWysrK8TVpalhQMSvX1Ujgsud3SjBmSz9fzIB8AQJbkUgXuXJu6LmWmUFBcOpXSAQAYYAzL6m7xGOyoo6NDRUVFam9v14gRI/o7HAB5ZOPGjZo4caLeeuutlG3Ly8u1ePHiLESVGU6TkW1t24q6mqYUiWzber1SY6NUXNy7PgH0Hucz+a/Pn8NcSKpFo9KECXYhnu4+qhiGnTRcsSI7sfVUKCj+T6k3hYIymQAFACAP9fZchsSlQ5zoA+hJT5XCfT6fHnnkEV155ZVasWJFyn5M01R1dbXmzp2bhaiTc5I8dJqMtCz7fi0t3c+qc7kkj8fe32efOU9wSpIVsxS8a5nq7/lc4fZBchdt0Yz/Hi7flUfJKNguy0k2FJDE+czuYMA8h/FkodQ1YbgrycJ0xJOoPa252ZskaiYToAAA5CkSl31kwJwkAuiVniqFRyIR7bXXXlq3bl2v+gsEAvL5fH0UrTNOEpIjRzpPRgaD0pQpqffb1CT95CfO+jQMqW3FZ/JPXKlQx1Ey1amITJmKKKJCeUcsU+Mr+6l4/5G9G+4J7OY4n8l/A+o57G504vjx2Z26Hgg4/yc2eXLPt2cyAQoAQB7r7bkMa1wCwC5KVSl8+6Slz+fTF198oVdeeaXbdS5dLpc8Hk+fVgt3MujQsuwc39ZD0tZDSWxbWqQzzpAuuSR5Mdf4TMPDDrP3lYppShdfLL3/fuo+m5ulMq8l/8SVaun4ih2fCrtsWzq+Iv/E1xRcN0KG3y9raYuC8qk+MkNhueWOhDVD9fItXSLD709kQxmYCQA5pKJi2xdP/TV1PVOFgnpTKT1ZAhQAgAGGxCUA7KJ4pfBUfvzjH+vGG2/UZ5991uPozL6uFt7ToMN587oOOgwGUyckn3/evjjx5pvO2kUi0sqVztr+z/9IPzxzmUIdE3tsE5WpUMdRap52q44M/Vt+PaOQyrqMzJynGnljzWoM+VXc3Ky2I33y+y2FQoZMI6qIVSDTiGnePJe8XkuNjQYDMwEg21yu/k3kZapQUC5XSu/vNU0BAEiCxCUA7KL6+vpE4rEnpmnqww8/lGEYKi4u7pNq4alGCToZRRkfdFhfLxUUSLHYLoXSLZer+6nf24snU53o6JDq7/l8axKysOf9qlMLnx6nd7RYLTpJUjcjM+WRX40K3Dtf/rc8anmuQJJLEcv+0BbftoRi8k+NKdhS2GV0qqPRmb0ZxsmQTwDILV6vPYU7VaEgrzd5P7t7pfRMIIkKAOgGiUsA2EXhcDhp0lKyp42Ht5srbRiGfD5fxtaxdDKSctkyZ9O6m5vtXJmTpOWee0obNyZva5pSdbWdd0u1PFh8ucme1rfc3rhxlsLLNiZNWkpSVIWq2/xNRTQoSRtTIZXpW/e1KpSkv6hcCj3nUnPQkm+ysfVxdzA60+lQV/WyLQAgO1wuO5FXWbnt28C4+BdKtbWpE2yZSoBmSk+Fgtassa/PdqGgXEuiAgByRkF/BwAA+ciyLH366adypfigYpqm3G53H8WQeiTlpEnS5Zen7ss0pbo6e4Bfqs9epmkPAEyV4IxEpKoqu22yQRMul337jTemTlpK0pVXGnIP2yBTnSnbJktabu+vmp6yjalO1d32kf24T+1US8h+AOxRmcYOozM7ZcUcDnW1LOfDYuMfMC3LLhhRUyNNm2ZvA4HuPwwDANJTUWEn8saN63p9aanzBF88ASrtPIK+NwnQTIhG7SRhd/8z4tfNnu3sn3ImxJOoO64BGk+iNjT0rr9o1P6f+MAD9nZXjyNT/QAA0kJVcYcGVAVHAJLs5GQwGFR9fX1iWveMGTP05S9/WTU1Nfr73//uqJ++qhTutNCpU+Xl0tVX96IC+A861fJsgaLa+UOWS1F5ToopuNSeWt3TCMWItW2E4siRkm+Ssz6Dt7+oKdcenzJOlxFV1MrUh0BL5e7ndfU9h2jKuXulbB349cvyXXWMLMkuDKSthYG0tTCQgjIk6be/tYewXnRR6hACAenII6mSjl3G+Uz+4znsR5mYyrw7VUrPhExXW8/UyE1GgAJAn6GqOABkQFtbW7eFdObNm6fCwkJ1dm4b7VdQUKBYN8MP06kU7mSpw/r63q0NmYxp2vuIj47sacq2yyV5PJKvzFKj5ZdfNygkb5eiNxEVyqOlarR+JUOPSDJUrDYFLb+aZahO1QprlNz6RFVaqDLLkqFGSSMd9+n7f8fJ+z/L1NLxFUW7+VfmUkSeEa/p4HOP1ML50W4ToXEFimn0oM/08ZYRiiX5t2gqInd4uerPXa4CXZSibafq7gjrSNco+aMPdl8YSM1qlF/F3/uefacdpyDuFGiBdOut0scfSy+9ZF+XbMFS1sQEgMzKRKGg3alS+vZ2NambyWrrmZr+nslp9JlatzPX+gGAbLLgSHt7uyXJam9v7+9QAPSxWCxmeb1ey+VyWZJ6vIwaNcr685//bHm9XkuSZZpml63X67XWrVvX6/2vW2dZXq89f9g0u269Xvv2l16yrP32i88xTn459FBn7QIB5/u3mposS7JikhVQmTVTf7TK1WjN1B+tgMqsWLzTRx+1rFjMvqPL1f2OXS7LmjTJsurqnPW5NdB177VZ3hGv2PFpiyXFtm4tyzviFWvde23xMFNefn3i/c4eI5VZ5Wp00DZmjdQ6az+tsFzq7P6w1Wl5Fdx2XJm8xJ9M+wVtP18zZ1pWebm9bWqyr8eAw/lM/uM5RNqc/nNsanLW34MPWlZpadf7lpba16dy//3OYrn//uT9RCI7x7D9xTAsa/x4u102+kn3ccnlfiIR+7Vx//321slj0ZdyLR70HZ7r3UZvz2XUx/HsNjhJBAaOpqYmK1nCMn55cOuJXiwWswKBgDVz5kyrvLzcmjlzphUIBKzYLiSGUuX4Cgosa9gw5/kr07SsSy5JnTf0ervmsWIxO/e1fa4rENiuzcyZ27KZqS69CdjJAc2cuS3OaMwK1L5szTyk2Sof85w185BmK1D7shWLxnZ4PGM9HHvM8notK/p0k+VVMHWSseJca+YedYkEaSYugf0utKyDDrKf3Ew9RpdcYh+8oyw0BhLOZ/IfzyHSFk/OGUZmknPd9WMY9iVVUixTSdRc6yfdxyWX+8lE8jNTci0e9CzdpGMuPtckUncZics+wkkiMHDMnDkzMWqyp4tpmtbM7RJomeL0fLlXibHALuSvko3S6+y0rLPOynygTi/l5b16TB0deyxmrfvqGZZXzfbtO47gVNBa99UzLCsWs5qm3uo41AJFkt5uaos1c+qHzp/4khJn7U46ybLGjbOssWN7TojumLFmZOaAwPlM/uM5REbEE1k7JrN6k8jKxOjETCVRMzVyMxP95Nroz0z1k6nkZ6ZkMp5MJaByKZGVS8eUbtIx11578ZhyaQRzLr32HCBx2Uc4SQQGjvLycsvJiMvyXibQLCt1bsjpQMa997ase+6x81NOR1KmHEUZlyzTd9hh9ujAU09NHahh2ImzIUOcfQgYOrTnDy7xyw4jLnvzuKc89nXrrNjJXnuaujHPnqZuzLOnqZ+8Lbsbe8bZ6MxTjv3UwWHHrBNPjNkjRL1eK1bgsprk6zJNvkk+K1aw9cm85JLUj7tpWtZXvuLsMZd2MbONfMX5TP7jOYRlWX2XTBg/3vkH70yPTkwniZpLIy5zKZZM9ZPJKfSZsDtP6Y8fXy6MTsxEP+kmHfvitZeJxzeXRjDn0mvPIRKXfYSTRGDg6KsRl6lyQ6++allHHOHs3DKeM814vinVXPX45YADnAUazxY6SbZNneq8z77iJMPpcHTmzEtiltnDFPUdLxMnWtYfaz+3Tk6xZqfjDx/Tpjmbel5QsGtrCSBvcT6T/3gOkTMfUjM1yrGnY+pNEjVTIzcz0U8ujf7MVD+ZXhfVstJ77e2uU/rjfeXC6MRM9JOJpGMurcmbqWOKx5Erz9P2fWVpOj6Jyz7CSSKwe4jFYlZTU1OX9SibmpqsjRs3Wr/61a+sjz/+2PEal4FeJNCc5gOl1G12HHToeCSlk6nATk8ODj/csr76VWfJrt6ccORLAs3B6Mxdm/affC3O+MhMR4/RGWc42+lJJzlr15cJY2QN5zP5j+dwgMulKZOZTihkahRUOiM3M9FPLo2UzFQ/mUxSW1b6CZLdcUp//HHJhdGJmeon1157mXj/zKURzLn02uslEpd9hJNEIP+tW7euxwrggwcPtiRZNTU1KauKu1wuy+v19qr4TqbXrux1Dsnp0MxLLkmdOXW57HZO+0yVtd0+2ZZPU5ZTZIydHPZhh1nWccf18nl3+hg5GenqclnWIYc4GxHbB2u6Ivs4n8l/PIcDWK5O181EkZ9MSXfkZib6yaXRn5nqJ5NJ6lxJHuVSYtiycmt0Yqb6yaXRvpl6/8ylY8q1x6YXensuUyAAGAAsy5Lf71dLS4skKRKJdNlu2rRJkjR//nx98MEHamxslMfjkSSZptll6/F41NjYKMMwtvYtBQJSTY00bZq9DQTs6+Pq6yWXK3WcxxwjHXdcz21dLsnrlcrKenXwkt8vbT12bT3mxLalxb7dsqS1a6VoNHl/0aj08cdScbEUDNoHW10tlZfb20DAvr642G5vGFJjo7T18dTWxzGx9Xjs2w3DeZ+5wDAkn0+aO1davNje+nz29XJ22EuXSi+8IJ1xRuJuPTJNqa5OUnGxrEBQgV+/rJoDntG0Mc+p5oBnFPj1y7IC2z1GM2Zse457Eo1Ko0albheJSOFw8jYAgL4VCkkffNDz7ZYlrV5tt8sGl0uaM8f+ecd/YvHfa2udnQBlSkWF9P77UlOTdP/99nbFCvv6bPWTqccll/rxeqXS0p5PVgxDGj/ebpdMNCrNmtX1JDkuft3s2anPRTMRT2tr8n04bZepfjLx951rx1RS4qyfZO0y9drL1PtnJo4p156nXPvf0g2z3/YMAFkUDAYVcvBm+4c//EHjx49P3Ke5uVl1dXUKh8Nyu92qqqpSWVlZImnZ1mbn/EIhO7EUidjbefPs/5+NjXYeKRxOfQ4mSePGSQsXdt9nJNI1x9eLg0/+jyYatW9vbpbGjrU77+6EMs40Jbfb/jmevPP5kscQT0g2N9vZt3DY7qOqys7Cbn9ATvvMA04P2zSTP+SS/fw/8oh0333SH/5gaOnSidteH59K866SvA3bXnPy+ewXYUtL9y8+l8t+QR18sJ09TZW83J5l2QdWX7/toGbM6JK47VU7AEBqmfqQmkkVFdKiRXYyavsPvqWldjKstwnDTHC5pMmT+7efTD0uudJPPPlZWbnzeWJvkqi9SZAke+wzEU8mElCZ7CcTf9+5dkzxpOOaNd2f6BqGfXuypGOmXnuZev/MxDHl2vOUi/9bdpSxsZ67OablAPmtLwru9GYG9MyZvVu70vG6lc4O3vlUYKdTDljvMKOcVpNPddlpGdCta3E2yddlLc4m+bZVSu/NOgbV1Zb1xhvOpqr3dtq/kzVYkTbOZ/Ifz+EA1hcFUjIlS5Vo806mHpdc6SfdqfjZWCszX6f0Z3LtxFw5JsvK7Nqz6bz2+mK5g109plx7nvrhfwtrXPYRThKB/FZeXm4lS1rGL+Xxct0O9CbH16/5wPJyZzsvL+9dNhYZ01droNq5Q7vgj2lELCm2dWtfv26d1bvKUfHXQE8Vy+Ovj2i0d6+j3iQ5nSY4SYR2i/OZ/MdzOIDl4pqSGHhyoRp4puLJlYJO8ePIxN93Lh3T9n1lYu3ZdJ7rTL9/pntMufQ89cP/FhKXfYSTRCC39VQtPF5AZ+bMmVZBQYGVyRGXvRnI2G/5wI0bLevYY1OfIG4/3DOfCuTsJpy8Pk4+2bJOO63nc4q0XnPJnvOTT7asW26xrJEjnX3YkOziTU7axYcRZ7p4E6/hHnE+k/94Dge4TCYTgGzLxeR7LhR02r6PXBidmOl+LCs3RmVn+v2zv0cwZ7KfLP9v6e25jGFZltXHs9F3Cx0dHSoqKlJ7e7tGjBjR3+EA2E5bW5v8fr9CoZBM01QkEklsvV6vGhsbtWzZMk2ZMiVlX4FAQL6taytaVvLl+aZNk/7+99TxlZfbtVt6Wg8zEum6Hmav9RTo+vXSlVdK773nrJ9AYNu6kpblbD1KZIyT10d1tfPX3NVXSw5e8tue9lTP+ccf24G8/bYUi6V7uPbBHX+8vUbQqlWp2zc1ST/5Seo1OwMBe12sVO2CwW2v5VR/7LsRzmfyH88h1NCw81qF48f335qSQG80NNjrFUr2/9+4+P/bRYuy/zqOr/fe2mqvB+j17lpRqUz0k6m/71w6plySa++fufQ8ZfGx6e25DIlLhzhJBHKTZVny+XxqaWlRtJskhcvlksfjUSAQ0OTJk1O2CwaDMgwjZRLp+uulyy6zcy7JmKadbJo7Nx5vhvOByQLdd9+uCaGeiu50l8hBv0j1+qipsYs3JaujE3/NSdK993b/lO/Ydu5ch7k7p9l6p/bf367Smoph2KXXH300ddtzz5UefDB1u3jGts++UchNnM/kP55DSNr9kgkYWHIteZRr+PvuWzy+PcvSY0Piso9wkgjkpkAg4Hgk5ZFHHplyZGZxcbEsy85nJBuw5aRC+LZ991GBbCeBmqZ04onSL38p3XDDgEnO7K4CAeejKO+4w1mOceJEe3DDxRc7eHk4yZwWFEh77SWtW5d8ZKZpSgcdJL31lrMRnPvuK334Ye+qn/fEMKTDD7e/fbjnHunNN52NzuyLkZlZHu3J+Uz+4zkEsFsgeQQMWCQu+wgniUBuqqmp0cKFCxVJkswwTVPV1dWaO3euLMtSc3Oz6urqFA6H5Xa7VVVVpbKyMhlbkwROk0OStMceUmdn93mXtAYyOklmOA20qcmeOsv077znJFcdf81demnqHGNcaan9uSFl7i4YcPaa+/WvpauuSt0uEJDuu88ONNm3AQUF0rhx0urVqfvsC4GAdOSRmR+Z2Q+jPTmfyX88hwAAIJ/19lzGzEJMANBn1q5dmzRpKUmRSEThcFiSZBiGfD5fYh3L7tTXb8sd9MTlkiZNkv72N3uZnu7yDh6PnXfokhN0kpDsKZkxb962ZMb69dK116Z+gEzT3tfkyXb/Pl8fDf9ENhiG/fT3lOva/jU3Y4b9knFi+5laO4oPiGhulv134/XKWtqiYOxk1WuGwnLLrbBmqF6+giUyJnnstVUbGlJnWMvK7L+Je+9NHmAsJh1xhJ1dTfWHOXq0/beViXU4JfvBve8+e23Plhb7ungM8W1Li/2k9OZbCsuy75PJPgEAAIDdDIlLAHnrnXfe0YsvvpiynWmacrvdjvtduzb1KLVoVCoqsvOOwaDDgYxOEpIjRyZPZixdKk2YIHV0ODuYSMQOCruN4mJnr7mtOcakucPDD7fbL1+eevb3H/8o+XyG2hYuln/iSoU6jpKpTkVkylRE81Qj77Blaly4n4oLCpxnWJ0E6vFI11yTeo3LaFS67jpnoz1vv91+AJctS94uEpHeeEN69tnk+92W3bWvS/UlRTBo36c3fQIAAAADDIlLADnNsiwFg0HV19cnpnbPmDFDxcXF8ng82rBhQ8o+IpGIqqqqtvbXcy7Bsuy1/pYsSR2Xadr3lRwOZHQ6uurGG5MnM2Ix50nLHQPFbsPJa87p6MzqaumVV5LvLxaT7r9f+uwz6Z13Ruqd9UWSpIgKu2xb1h8pf7VhDxJ0mmF1GujIkc4SnE5He159tZ2QfO211NWOPv3U2TDshQuTF/zZ/kuKuXPtjHCqdUDr6khcAgAAYMBijUuHWE8IyL62trakxXSi0ahaWlo0ePBgbdmyRbFuEgDbVwv/7DOjx9zIoYfaucU333QeX6+K7jhdj3LQIGnLltTtRoywqy4uWOBs3yQ+BqxMVCrvrV16yTlZg9XpmpBO2zn9u/R4tn3pkIzLZVdef+89exhrd4lTw5CGDZM+/9zZ41JeLi1e7KytA5zP5D+eQwAAkM8oztNHOEkEssuyLPl8PrW0tCjazYd/l8ulo48+Wh6PR9dcc40uuOCCpNXCR44sTlrUZEfDh9vLSGas6E6ms0Pl5XbyxWmlFtbIQw+c5u5Gj5Y+/jh1O9O0R3HOndtHBbOdFply0s5ptaODD7bXucxkdteJ7R/MDOF8Jv/xHAIAgHxGcR4Au4VgMKhQkinT0WhU//znP3X77bdr/PjxCgaDSauFBwLJZ2DHfeUrUm2tdMwx0tln96LoTirhsLOkh8uVOrMan/7dm0otQA+cLjHZ1GTn/FINPIxEpH/9yx50eNFFyWdL71LBbKdFpjI5n37ZstQFhCR74dvPP7engKf6e99zT/vbkWQiETvZCgAAAAxQJC4B5KT6+vrEqMmemKapuro6+Xy+lNXCnVYKP/FE6ZRT7N8dF91xMqzM7U4dgGlKp56augDJ9skMp+sIAj1wmrtzuaTDDpNeeCF1Tu6VV6QDD9z2u5OC2X0yOtMJJ39DTrO7zzwjfeMb9jDWVKZMkdrbnVVeBwAAAAYoEpcAclI4HE6atJTsojthhxWzP/zQWaXw7afCOhrYlawIx5e/bFf6KS62MzDz5iUPIBKRvv99e8RWb5IZTkegAT1wmv928jJ2YseC2U5q2ezS6EynUv0NOc3umqadsV2yJPWXFGPG2NPPGTENAAAA9IjEJYCcs2XLFr399tsp25mmKffWitk9jdYqK5P++lf7ttT97VCAO9UQsFSVwl9/XZo82R5+5nTEls/H9G/0Cyf5bycv48MPt29bvjz5/uIFs8vKkv8ZdTc6s19kMrsbHzXNiGmk4ZNPpM2be3+/YcOkIUN67nNXV78fOtReAaE769Y5W1+6O4MH2+tOd+ezz6TOzl3rd9Age3WH7rS3O6uT153CQmnkyO5v+/xzadOmXevX5ZL22qv729avlzZs2LV+DUMaNar72zZulL74Ytf6ley1kbuzebPU0bHr/e69t70ix462bLGfu11VXGz/b9pRJGJ/wbariors19uOYjHp0093vd8RI6Q99uj+NidrUveE9wgb7xE23iO24T3Clon3CKc1KhMsONLe3m5Jstrb2/s7FGC3tnbtWsvr9VqSHF0CgYC1bp1leb2WJVmWaXbdFhXZW6eXQGBrIMk69Xrt25uanHXa1OS8z7hYzA5m5kzLKi+3t4GAfT3Qj5y8jMvLnf1plJc7/zNK/G3muljMfiBcru4PxOWyb++nv2XOZ/Jf/DmU2nv1/y1+ufvunvseNar3/cUvP/1pz/1++cu73u93v9tzvz7frvdbWdlzv5WVu96vz9dzv9/97q73++Uv99zvT3+66/2OGtVzv3ffvev9Sj33+9e/ptdvONx9v07/n/R0Wb68+36XL0+v3/hp4I7C4fT6/etfe36M0+mX9wj7wnuEfeE9YtuF9wj7kpn3iN6djzLiEkDWWZalYDCo+vr6RCGdGTNmqKioSGeffbZWrVolSTIMQ4ZhKNZNaW+XyyWPxyOvt0yTJ/c8Wmv7b9X22ktqb7cUje48isnlsuTxGPYMbMtKPQTszDPtr5viIy974nLZIzYnT+7d6CqmfyNHOXkZO13S1e22/zwKCuxvlZO1rauz/xwsq5/WwnSKolkAAABAxpC4BJBVbW1t8vv9CoVCieI7pmlq3rx5crlcim6dJ1JSUqL77rtPN910005tI5GIPB6PGhsb1dxsOKoW/stfSt/5r8/kn7hSoY6jZKpTEZkyFVFEhfLs+aoaF+4nwxgpBYLJS5BHo9Kzzzo74GjUzq7EkZDEbiDVy7g3s6XvuCN50jLe9u237alkZ5/dj2thOsUUcAAAACAjSFwCyBrLsuT3+9WydSRjvPhOfGttHbl4wgkn6KGHHtI+++yjr3/962publZdXV1idGZVVZXKyspkGMbWauGWIpGeEwGmy9K770jF1dMU/KJFzZqkOlUpLLfcCqtKdSr7YqmMiiOkH/9Yuu02ZyMpnSzGs9PCmcDuz+mSrmVldl7PyZ9Tc7N06KF28lJKvRZmv4/M5EsKAAAAIG2GZSX7ZI64jo4OFRUVqb29XSNGjOjvcIC8FAgENGXKlJTt/u///k/f+MY3JCVPPkiSf5qlv/8jVRbCUvnRa7T45fFpHsEOSkulDz5I3S4QIHmBAaenSuGRSNfRkYGA5OBtwbFAQDrySGf7juv3JGcWcT6T/+LP4bvvtmv48N4/hxTesFF4w0bhjW0ovGHjPcLGe4SN94hteI+wZaY4T4cOPND5+SiJS4c40QfSV1NTo4ULFyZGWHbHNE1VV1dr7ty5SRMf++9vn/wcO65Vf3pilCIq7LlPdapaCzVXl2buYExTuvBCe/5qqmFl/V4OGegflpV6trRl2QnCZH9GEybYJ7Gtrak/2EyYYPe9cmX3U9B3/LN0mmCNx5rvCU7OZ/IfzyEAAMhnvT2XYao4gKwJh8NJk5aSPW08HA6nrI+zYoW9nRx9TRGdkrxPFapKdc6CPPRQ6ZxzpJtvTt4uErETl8mGdlGEAwOck9nSTmvZVFc7G+D8/vvJb49G7f00NNgjPc8+O3kdrvj0888+6z7GnFtfEwAAANiNkLgEkDWjR49WQUFBt1XC40zTlNvtVjBFfZy4NeuGyqtmtcijaDdvaS5F5FGLyob8U9qUYt1K05QmTZJ+8QtpyRJnC/QZBkU4gDRlqlK5U6Ypffe7XetmdSee5AwGpZ/8xFmCkz95AAAAIHNIXALIis2bN6u1tTVp0lKyR1xWVVWpri510R2Xy9JeRVHN++Rc+aMPKqSynauFq0WNrnNlTJksPfpo8iDjZY6dDgGLZygowgGkLROVyiXpqKOkZcuSt4lEnK/JVFBg1+tK9kVKPMHZ3LwtfqfTyneH6ecAAABAXyFxCaDPrV27VhUVFYlq4j1xuVzyeDwqKyvTbbclT1pKdrIgvPdhKn7rEwXlU7PKdq4WrmYZUUnf/7694rWTUZSSsyFgALLGaaXygw+WXnst+chM05T23ddeQPyTT5LvNxaTli9PPdrT5bLfKny+ntfN3HFaudN2AAAAwEBF4hJAxliWpWAwqPr6eoXDYbndbp1wwgm66aabtGbNGknSHnvsoQkTJujNN9+UaZqKRCKJrcfjUWNjowzD0B4dH0saJannBKGpiNzFnZLXK6OlRb5os3xq7toons3w+Xo3ilJiJCWQQ5wOhF62TLr33uR9RSLS739vJxoXLkydkLSs1FPUo1HpT3+yK6O+/LK0atW2fW2/jU8rDwSSr+PL9HMAAACAxCWADGlra5Pf71coFEokIl0ul+ZtN7dz3Lhxevjhh3XMMcfqrruW6Z57Pld7+yAVFW3Rf//3cF155VEqKLA/oV8xfIEa9P2k+0wU3XGakGQUJZDXnPwJOx2ZWVZmJyRTTT+PRqUjjrArmqdKXm7aJD30UOr+QiF7/0uXpm63/fRzAAAAYKAxLCtZpQrE9bZcOzCQWJYln8+nlpYWRbvLFEgaPny4/vOf/2jIkH16zDGefLK0eLGdnLDOmCrf49enLLoTPOt2GX9fbGcgSEgCUM9TsCORrlOwLctOCqZKct54o/S1r6Xe7+DBdvIyU0zTrqY+d27m+uR8Jv/xHAIAgHzW23OZgizEBGA3FwwGFQqFekxaStLnn3+ut956e+vUSPv7kh2nRi5daslfHpM15y4ZgSY1yi+P7HmUpjolWVu32lZ0Z4zbvnN8qNXcuXb2c+5cqlsAA1R8ZGYgYCf+ysvtbSBgXx9fNzI+/dzjsX83za7b+IDtyZPthKfL1f3+XC779s8/t9tmSiSSuvI5AAAAsDtjqjiAtNXX1yemh/fENE3ddtsLCoV86mndSssyFFpqqHnpg/Jpk4q1KXXRnaqqvjkoAHnN6RK1TleQcLIihWlKBx4oLVmSet3MceOkNWu6H+kZZ5p2LAAAAMBAReISQNrC4XDSpKUkRSIRLf/3UTKNiCJWz289LkVUN/y78n3eLI0eLWPduuRFd+JVwAFgFzlJcjpNcM6Y4WzdzKuusi/JRCJ8NwMAAICBjcQlgLQNGjQoZRvTNLXn5qKkSUtJisql8L7HSXUvSRMm9K4KOAD0IScJTqfFga68UmpocFZECAAAABioWOMSQFpeeOEFPfnkkynbRSIRjZclKXk9MFMRuTs/lI4+2vlCdQCQI5yum1lQ4Kwd380AAABgIGPEJYBd9tRTT+nss8/W+vXrt7vWJ2mGJLeksKR6FRQs0Ve+crme/Pfx6ml9y7iIClW196OSvPYVTheqA4Ac4XRaudN2AAAAwEBF4hLALlm0aJHOP/98dXbaVb5POOE0vfHGr/T55xMldcp+e4lIqtGwYcv04IP76byvfqBX1u0ne9Tlzp/IXYrIo2dVdtjHWTsOAOgLTr9z4bsZAAAAoGckLgEkZVmWgsGg6uvrFQ6H5Xa7VVRUpDvvvDPRxu8/W598skgbNsRXnyjssl2//kjNnGlo7v+8pcXfna9n9HUtkVemOhWRKVMRRVQoj1rUKL+MCx/O6jECAAAAAIDcQ+ISQI/a2trk9/sVCoVkmqYikYgKCgoUi8USbS6++GJdcMEfdcoprh77iUYNhULSF/sv1426UT/TjWpWmepUpbDcciusKtWprGCpjElUowAAAAAAACQuAfTAsiz5/X61tLRIsovrSOqStBw3bpzmzp2ryy4rSBT77olZEFPdfTH5ZE8S96lZPrOla6XwSV6qUQAAAAAAAEkkLgH0IBgMKhQKJW2zZs0ahUIhhcO+pElLSYrEDIXltn/51a+kr36VahQAAAAAAKBHJC4BdKu+vj4xPbwnpmmqrq5OQ4akriphKiK3wtK3viVde+22ihQAAAAAAADdIHEJoFvhcDhp0lKyp4+/+WaRli9P3V9Ehao68W1p7lxGVQIAAAAAgJRIXALo1t577y3DMGRZVo9tCgoq9Oyzv1Q0Gr/Gkr2CZVculyWPx1BZ8JbubgYAAAAAANhJQX8HACD3bNq0Sf/5z3+2S1r6JP1RUuPWrU/SBMVif1Y0uock6aQTOvXV4a9Jkkx1SrK2biXPnq+qceFnDLQEAAAAAACOMeISQBcbN27U2Wefreeee07SSNnJyjJJnbLfMiKSaiQ1a7/95mvlyst0/vmW7l15ugatD6pZk1SnKoXlllthValOZV8slVHtkYJBpokDAAAAAABHSFwCSFi/fr2mTZumZ555RpJUUPAPxWInbr21cIftJJWUnKTf/EY6a1hQxtfs+/jULJ+au3YckxQKSc3NFOQBAAAAAACOkLgEBijLshQMBlVfX69wOKzi4mK98sorevXVVyVJQ4acoY0bJyXpwaXnnnNpxAjJqKuXTFNKVszHNKW6OhKXAAAAAADAERKXwADU1tYmv9+vUCgk0zR3qh4+YsQI+XwL9NhjDnOR4XDyhpJ9ezicgegBAAAAAMBAQHEeYICxLEt+v18tLS2StFPSUpIOOOAAWdZo57lIt1sqSPF2Ypp2OwAAAAAAAAdIXAIDTDAYVCgUUjQa7bHNK6+8oljsI+e5yH32kWKx5I0jEamqqvcBAwAAAACAAYnEJTDA1NfXyzSTrxLhcpl65523neUij3lNuuWW5A1dLsnrlcrKehktAAAAAAAYqEhcAgNMOBzudnr4Nqai0d/prbeSJxntXKSlst+fL23ZYl85ZszWLsyuW49HamyUDCO94AEAAAAAwIBBcR5ggHG73SooKFAsFpPkkzRDkltSWNKDkmZJOj3RfsIE6f33txUNj2/tXKQh4/O/S2edJY0aJT32mPTcc3bFnnDYnkdeVWWPtCRpCQAAAAAAeoHEJTDAHHTQQYrFRkhqlFQmqVP2W0FEUs3WrVRYGNN99xVo+nSpuTlJLrJ4X2nJEikalfbYQ/L57AsAAAAAAEAaSFwCA8hrr72m//mfX0h6RJJn67WFO2wNGUan/u//TE2eLMmy5LOC8qleUliyRkvRCyRNkbR1FOWIEdk6BAAAAAAAMECQuAQGiI8//ljl5eVav/5Y2SMte+KSZbns0ZRtbZLfL4VC2+aIFxRI995rzxX/xz+k4uIsHQEAAAAAABhIKM4DDABbtmzRueeeqxUrVshe0zJZcR47R1l3n2UnLVta7CvjBX3ipcZbWqTycsmy+ixuAAAAAAAwcJG4BHZzlmXpO9/5jkKhkCRpjz32VarB1pGIFP7Pp/ZIy2i054ZLl9oLYAIAAAAAAGQYU8WB3YhlWQoGg6qvr1c4HJbb7VZhYaHmz58vSRo8eLBOPfVo/eMf2wZOdsc0Jfcnb2ybHp6sYV0dxXgAAAAAAEDGkbgEdhNtbW3y+/0KhUIyTVORSCSxjVuwYIFeemm0Fi9O3lckIlXt/aj0VvIp5fbQzHAGogcAAAAAAOiKxCWwG7AsS36/Xy1b16OMJyvj24KCAo0fP16ff36ebr01eV8ul113p2z026l3bJqS251W7AAAAAAAAN1hjUtgNxAMBhUKhRTtYT3KWCymlStP1aWXGonr9tnH3ppm163HIzX+bo2Mf/w99Y4jEamqKp3QAQAAAAAAukXiEtgN1NfXyzSTDaD+jqQ/JH77f/9PWr3KUuDXL6v6gJDKxzyv6gNCCvz6ZQUDlooPHyfNnJl8py6X5PVKZWUZOQYAAAAAAIDtMVUc2A2Ew+Ht1rL0SZohyS0pLGmRpOsSbb//femW69tkTPHLFwrJFy/A86kpXRWRGrxSY6N0++3SyJFSMCi1tGwr1BPfejx2O8PYMRwAAAAAAIC0kbgEdgNut1su1yhFow9KKpPUKfvPOyKpRtILklw68sh/65ZfnSFjst9ORkrbqobHty0tkt9vJyx/+UvJsqTmZrt6eDhsr2lZVWWPtCRpCQAAAAAA+ohhWZbV30Hkg46ODhUVFam9vV0jRozo73CALpqaAvra1wokedT99xERSS/qmWe2aIphSVOmpO40EJB8vozGCQDoX5zP5D+eQwAAkM96ey7DGpfAbiAW88oeadnTIGpT0kkyjDKpvn5bJZ6emKY9whIAAAAAAKCfkLgEdgM33PCa7OnhPTNNS/X1hj3dO7EeZg8iEbsdAAAAAABAPyFxCeS5559/Xi++uFJSYdJ2kYhh5yIHDUrdqWnaa1kCAAAAAAD0ExKXQB777LPP9F//9V+S1ir1iEvJPegz6ZlnUnccidgFeAAAAAAAAPoJiUsgj33nO9/R+++/L6leqUdcSlXPXCy1tSXv1OWSvF67ajgAAAAAAEA/IXEJ5LHq6mqNHj1aQ4cOk2T12M7lkrxf+VRlHf+wrzjySOmrX7V/jhfqiW89HqmxUTKMvgscAAAAAAAghRSlhQHksjPOOEPPPPNvTZ48Uhs2bEs0mkZUEatAphFTxHLJ47HU2Li3jOZF0q9+JT36qDRypNTcbFcPD4ftNS2rquyRliQtAQAAAABAPyNxCeQBy7IUDAZVX1+vcDgst9utGTNmyOv16fvfH6NPP7Xbfb3oRf2g/VrdryqFNUpufaIqLVSZZclQo+T3S+XlUsHWwdY+n30BAAAAAADIMSQugRzX1tYmv9+vUCgk0zQViURkmqbmzZunAw+8U+++e5UkaUzhp6r//GyN1Yf6mhWw7xyfPf6sy05aBoPbkpYAAAAAAAA5jAwGkMMsy5Lf71dLS4skKRKJdNmuWPFzjRr1jAzDUn3ndI2Nfdh9R9GoFArZU8MBAAAAAADyAIlLIIcFg0GFQiFFo9Fub4/F2vTJJ1/XIyddpVPMYPLOTNNezxIAAAAAACAPMFUcyGH19fWJ6eGST9IMSW5JYUn1koIyTVMlqxukraMwexSJ2EV4AAAAAAAA8gCJSyCHhcNhRSLDJDVKKpPUKfvPNiqpRlKzIhG/PpbsSuCW1WNfMk27cjgAAAAAAEAeYKo4kMNGj3ZLWizJs/WaQkmGtn3n4JGpxTpww8bkSUvJHnFZVdVXoQIAAAAAAGQUiUsghx166LcledXz4GhTEXm1+tMvJ+/I5ZK8XqmsLMMRAgAAAAAA9I28TVz+9re/1YQJEzR48GCdeOKJeuGFF5K2r62t1Ze+9CUNGTJE48eP11VXXaVNmzZlKVpg19TXS/b08J6Z6lSdqqS99pKOPHLrlWbXrccjNTba08kBAAAAAADyQF6ucfmXv/xFV199tX7/+9/rxBNPVG1trU477TS9+eabcnezht/999+v66+/Xvfee688Ho/eeustXXTRRTIMQ3feeWc/HAGQWktLi1599VPZ08N7FpGp8MgvSf/8pzRhgtTcbFcPD4ftNS2rquyRliQtAQAAAABAHsnLxOWdd96pSy+9VBdffLEk6fe//70eeeQR3Xvvvbr++ut3at/S0qJJkybp/PPPlyRNmDBB3/rWt/T8889nNW6gNw455BBNmPCKVr0fUSzJn6ppROWuOFnaf2ti0uezLwAAAAAAAHks76aKb9myRf/61790yimnJK4rKCjQKaecomeffbbb+3g8Hv3rX/9KTCd/77339Oijj2rq1Kk97mfz5s3q6OjocgGyadSoUbq1ekzSpKUkRSxTVUcuy1JUAAAgmzgnBQAAA1neJS4/+eQTRaNRjRkzpsv1Y8aM0UcffdTtfc4//3zddNNNOvnkk1VYWKgDDzxQkydP1g9+8IMe93PzzTerqKgocRk/fnxGjwNIpbNTqr1ncNI2LkXkVUhlr96dpagAAEA2cU4KAAAGsrxLXO6KQCCgX/7yl/rd736nl156SQ0NDXrkkUf085//vMf73HDDDWpvb09cVq9encWIMVCtW7dOa9eulSQ9/rjUEj5YkjRIdiEpU52SrK1byaMWNWqajI/D/RIvAADoW5yTAgCAgSytNS4PP/xwzZw5UzNmzNDo0aMzFVNSo0aNksvlSiR34tauXauxY8d2e58f//jHqqqqUk1NjSTpiCOO0Pr163XZZZfphz/8oQoKds7f7rHHHtpjjz0yfwBADyzL0ne+8x0FAgH94Q9/0Nlnn60Hv/47ffvpb+ofOlObNER1qlJYbrkVVpXqVKZmGaZpF+EBAAC7Hc5JAQDAQJZW4vL111/XNddco+uvv15nnXWWLr74Yk2dOrXbRGCmDBo0SMcee6yefvppnX322ZKkWCymp59+Wpdffnm399mwYcNOMblcLkl2sgjoD5ZlKRgMqr6+XuFwWJ9//rkCgYAkaebMmZoyZYoqfniYTnt6gvbUBkmST807dxSJ2JXDAQAAAAAAdiNpJS6PPvpovfzyy+rs7NTDDz+shx9+WGPHjtWFF16oiy++WIccckim4uzi6quvVnV1tY477jidcMIJqq2t1fr16xNVxi+88EKNGzdON998sySpvLxcd955p44++mideOKJeuedd/TjH/9Y5eXliQQmkE1tbW3y+/0KhUIy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9DepQgAAAAAAALibxTAMozQnWLx4sbp37y673S5JqlKlitq0aaPIyEhJ0sGDB7V27VqdPXtWhmHIarXq22+/1e2331766svRyZMnVa1aNZ04cUJBQUFml3NVMQxDHTt21PLlyyV1lNRfVRWm3spUf81UdSXryVtuUVJysiwWi9nlAgBQYfF9xvPxHgIAAE92ud9lil6quQS6dOmihQsXqn///jpw4IBOnz6t5OTkfH1ystHatWtr5syZ6tSpU2kfFlcRi8WiJ598UsuXL1e8ktVfybpNUoOL+8c1bKjE+fMJLQEAAAAAALxIqYNLSbr11lu1c+dOzZgxQ9988402bNigw4cPS5JCQ0PVunVr9ezZU/369VNAQIA7HhJXkcOHpWGPN9NTGq4XNVvBliPyzTNQ+JnwcBFZAgAAAAAAeBe3BJeSFBAQoMGDB2vw4MHF9t2wYYNmzJihf//73+56eHixyZOP6fDxJnpP4xWoOnrLeD7ffsvq1VKvXlJSksSoSwAAAAAAAK9QqsV5LsfBgwf1z3/+U82bN1fbtm313nvvlddDw8NN/U/uauH9NfPSDna7lJIi/eESBQAAAAAAAPBcbhtxWZBz585p3rx5mjFjhv73v//J4XBIcl7zkusRoiS2brXr98MNJUmttF7NtLXgjlarNHOmFB9fjtUBAAAAAACgrJRJcLl06VLNmDFD8+bN0+nTpyXlLtATGRmpe+65R/fdd19ZPDS8zN///ruk6yQVMtoyh80mZWaWT1EAAAAAAAAoc24LLn/++WfNmDFDn3zyifbt2ycpN6ysU6eO7rvvPt1///2Ki4tjtCVKxOGQvv46SJLkK5se0meFd7ZapbCwcqoMAAAAAAAAZa1UweWRI0f02WefacaMGVq3bp2k3LCyevXqOn78uCwWi9555x317t279NXiqvLVV0d07pwzjOyqHxShjMI722xS//7lVBkAAAAAAADK2mUHl9nZ2fr66681Y8YMff/998rOznaFlf7+/urevbv69eunHj16qFKlSm4vGFePb76p4Wp3D10gHS6ko6+vFBcndexYPoUBAAAAAACgzJU4uFy5cqVmzJihOXPm6Ngx5yrPOYvstG/fXv369VPv3r0VHBxcZsXi6nHunPTFF85LClStKj36XmfpzxOcOy0WyTCc08NtNmdomZjo3A4AAAAAAACvUOLgMufalDmjKxs1aqR+/fqpb9++ioqKKqv6cJVavdoZXkrS/fdLleZMz915221S5crOa1r27+8caUloCQAAAAAA4FUue6p41apV9d577ykhIaEs6gEkSfHx0oED0uzZ0s0NMqRe8507atWSvv/eOdoSAAAAAAAAXsvncjobhqHTp0/rkUceUevWrTVu3DgdPHiwrGrDVerAgQO6+eab9dVXH2jgwNO6adUE5xLjkvT444SWAAAAAAAAV4ESB5fLli3Tww8/rGuuuUaGYSgtLU3PPvus6tWrp9tvv10zZszQ6dOny7JWXCU++ugjrVq1So899pj+/dZb0gcfOHf4+kqDBplbHAAAAAAAAMpFiYPLjh07aurUqcrIyNAnn3yibt26ycfHR3a7Xf/73/80cOBARURE6KGHHtJ3330nu91elnVLkiZOnKioqCgFBgYqJiZGq1evLrRvp06dZLFYLrn16NGjzOtEydntdn3wwceSJIvFoiEREVJGhnPnPfc4p4oDAAAAAADA613WVHFJCgwM1EMPPaQFCxZo7969evvttxUdHS3DMHT27FnNmTNHPXv2VGRkZFnU6/L5559r5MiRGjNmjNavX68WLVqoW7duyszMLLD/vHnzdPDgQddty5Yt8vX11QMPPFCmdeLyfPhhqvbuXSVpvNq3H6LQOXNydw4dalpdAAAAAAAAKF8WI2eZ8FLauHGjpk+frs8++0wZF0fIWS6u9BwZGan77rtP999/vzp06OCOh1NMTIxuuukmTZgwQZLkcDhUt25dPfnkk3r++eeLPf7dd9/Vyy+/rIMHD6pKlSqX7L9w4YIuXLjgun/y5EnVrVtXJ06cUFBQkFueAy51ww1faMeO+yVJgx7dpA9uXCRNmiT5+Uk//cTq4QAAlMLJkydVrVo1vs94EL6TAgAAb3K530cve8RlYVq0aKFx48Zp3759+uabb9S7d28FBATIMAwdOHBAEyZMUKdOnRQZGamhQ4dqyZIlV/xYWVlZWrdunbp06eLa5uPjoy5dumjFihUlOsdHH32kBx98sMDQUpLGjh2ratWquW5169a94npRNMMwtGzZMj344J+1Y0fMxa02vfLqjdJf/iL98ou0aBGhJQAAuOrwnRQAAFzN3DbisiAnT57U559/rpkzZ+rHH39UzkPlXF/SZrNd0XkPHDig2rVrKzU1VbGxsa7t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Vdzre7nfRz1yxGVoaKh8fX2VkZGRb3tGRoYiIiJKdA4/Pz+1atVKv/76a4H7AwICFBAQkG9b9erVr6heXL6goCB+gXgo3jvPxvvnuXjvPFd5v3eMtPQsZn4n5fdK2eM1Llu8vmWL17fs8RqXLV7fslXU63s530c98l/t/v7+atOmjZYsWeLa5nA4tGTJknwjMItit9u1efNmRUZGllWZAAAAAAAAAK6QR464lKSRI0cqISFBbdu2Vbt27fTuu+/qzJkzGjhwoCRpwIABql27tsaOHStJ+vvf/66bb75Z1113nY4fP65//vOf2r17twYNGmTm0wAAAAAAAABQAI8NLvv06aNDhw7p5ZdfVnp6ulq2bKnvv//etWDPnj178s2VP3bsmAYPHqz09HQFBwerTZs2Sk1NVZMmTcx6CihAQECAxowZc8mUKFR8vHeejffPc/HeeS7eO1RUfDbLHq9x2eL1LVu8vmWP17hs8fqWLXe/vh65OA8AAAAAAAAA7+aR17gEAAAAAAAA4N0ILgEAAAAAAABUOASXAAAAAAAAACocgksAAAAAAAAAFQ7BJSqcN998UxaLRU8//bTZpaCE9u/fr379+ikkJESVKlVSdHS01q5da3ZZKIbdbtdLL72kBg0aqFKlSrr22mv12muviTXbKqbk5GT17NlTtWrVksVi0VdffZVvv2EYevnllxUZGalKlSqpS5cu2rFjhznFIp+i3rvs7GyNGjVK0dHRqlKlimrVqqUBAwbowIED5hWMq97EiRMVFRWlwMBAxcTEaPXq1WaX5BVeeeUVWSyWfLfGjRubXZZH429j2Sru9X344Ycv+Uzfcccd5hTrgcaOHaubbrpJVatWVVhYmO6++25t3749X5/z589r2LBhCgkJ0TXXXKP77rtPGRkZJlXsWUry+nbq1OmSz/ATTzxhUsWeZ9KkSWrevLmCgoIUFBSk2NhYLViwwLXfXZ9fgktUKGvWrNH777+v5s2bm10KSujYsWNq3769/Pz8tGDBAv3000/617/+peDgYLNLQzHeeustTZo0SRMmTNC2bdv01ltv6e2339b48ePNLg0FOHPmjFq0aKGJEycWuP/tt9/We++9p8mTJ2vVqlWqUqWKunXrpvPnz5dzpfijot67s2fPav369XrppZe0fv16zZs3T9u3b9ddd91lQqWA9Pnnn2vkyJEaM2aM1q9frxYtWqhbt27KzMw0uzSv0LRpUx08eNB1W758udkleTT+Npat4l5fSbrjjjvyfaY/++yzcqzQsyUlJWnYsGFauXKlFi1apOzsbHXt2lVnzpxx9XnmmWf09ddfa+7cuUpKStKBAwd07733mli15yjJ6ytJgwcPzvcZfvvtt02q2PPUqVNHb775ptatW6e1a9fqtttuU69evbR161ZJbvz8GkAFcerUKeP66683Fi1aZMTHxxsjRowwuySUwKhRo4xbbrnF7DJwBXr06GE88sgj+bbde++9Rt++fU2qCCUlyfjyyy9d9x0OhxEREWH885//dG07fvy4ERAQYHz22WcmVIjC/PG9K8jq1asNScbu3bvLpyggj3bt2hnDhg1z3bfb7UatWrWMsWPHmliVdxgzZozRokULs8vwWvxtLFsF/f1KSEgwevXqZUo93igzM9OQZCQlJRmG4fy8+vn5GXPnznX12bZtmyHJWLFihVlleqw/vr6GYZA7lIHg4GDjww8/dOvnlxGXqDCGDRumHj16qEuXLmaXgsswf/58tW3bVg888IDCwsLUqlUrffDBB2aXhRKIi4vTkiVL9Msvv0iSNm7cqOXLl+vOO+80uTJcrt9//13p6en5fn9Wq1ZNMTExWrFihYmV4UqcOHFCFotF1atXN7sUXGWysrK0bt26fL9LfHx81KVLF36XuMmOHTtUq1YtNWzYUH379tWePXvMLslr8bexfCxbtkxhYWFq1KiRhgwZoiNHjphdksc6ceKEJKlGjRqSpHXr1ik7OzvfZ7hx48aqV68en+Er8MfXN8cnn3yi0NBQNWvWTKNHj9bZs2fNKM/j2e12zZ49W2fOnFFsbKxbP79WdxcLXInZs2dr/fr1WrNmjdml4DL99ttvmjRpkkaOHKkXXnhBa9as0VNPPSV/f38lJCSYXR6K8Pzzz+vkyZNq3LixfH19Zbfb9frrr6tv375ml4bLlJ6eLkkKDw/Ptz08PNy1D57h/PnzGjVqlB566CEFBQWZXQ6uMocPH5bdbi/wd8nPP/9sUlXeIyYmRtOmTVOjRo108OBBvfrqq+rQoYO2bNmiqlWrml2e1+FvY9m74447dO+996pBgwbauXOnXnjhBd15551asWKFfH19zS7PozgcDj399NNq3769mjVrJsn5Gfb397/kH5l8hi9fQa+vJP35z39W/fr1VatWLW3atEmjRo3S9u3bNW/ePBOr9SybN29WbGyszp8/r2uuuUZffvmlmjRporS0NLd9fgkuYbq9e/dqxIgRWrRokQIDA80uB5fJ4XCobdu2euONNyRJrVq10pYtWzR58mSCywpuzpw5+uSTT/Tpp5+qadOmSktL09NPP61atWrx3gEmyM7OVu/evWUYhiZNmmR2OQDcLO+MhubNmysmJkb169fXnDlz9Oijj5pYGXBlHnzwQVc7OjpazZs317XXXqtly5apc+fOJlbmeYYNG6YtW7Zw3dsyUtjr+9hjj7na0dHRioyMVOfOnbVz505de+215V2mR2rUqJHS0tJ04sQJffHFF0pISFBSUpJbH4Op4jDdunXrlJmZqdatW8tqtcpqtSopKUnvvfeerFar7Ha72SWiCJGRkWrSpEm+bTfeeCNTnzzAs88+q+eff14PPvigoqOj1b9/fz3zzDMaO3as2aXhMkVEREjSJav0ZWRkuPahYssJLXfv3q1FixYx2hKmCA0Nla+vL79Lykn16tV1ww036NdffzW7FK/E38by17BhQ4WGhvKZvkzDhw/XN998o6VLl6pOnTqu7REREcrKytLx48fz9eczfHkKe30LEhMTI0l8hi+Dv7+/rrvuOrVp00Zjx45VixYt9J///Metn1+CS5iuc+fO2rx5s9LS0ly3tm3bqm/fvkpLS2OaQQXXvn17bd++Pd+2X375RfXr1zepIpTU2bNn5eOT/8+Ar6+vHA6HSRXhSjVo0EARERFasmSJa9vJkye1atUqxcbGmlgZSiIntNyxY4cWL16skJAQs0vCVcrf319t2rTJ97vE4XBoyZIl/C4pA6dPn9bOnTsVGRlpdileib+N5W/fvn06cuQIn+kSMgxDw4cP15dffqn//e9/atCgQb79bdq0kZ+fX77P8Pbt27Vnzx4+wyVQ3OtbkLS0NEniM1wKDodDFy5ccOvnl6niMF3VqlXzXWdCkqpUqaKQkJBLtqPieeaZZxQXF6c33nhDvXv31urVqzVlyhRNmTLF7NJQjJ49e+r1119XvXr11LRpU23YsEHjxo3TI488YnZpKMDp06fz/ff3999/V1pammrUqKF69erp6aef1j/+8Q9df/31atCggV566SXVqlVLd999t3lFQ1LR711kZKTuv/9+rV+/Xt98843sdrvruj81atSQv7+/WWXjKjVy5EglJCSobdu2ateund59912dOXNGAwcONLs0j/fXv/5VPXv2VP369XXgwAGNGTNGvr6+euihh8wuzWPxt7FsFfX61qhRQ6+++qruu+8+RUREaOfOnXruued03XXXqVu3biZW7TmGDRumTz/9VImJiapatarr73+1atVUqVIlVatWTY8++qhGjhypGjVqKCgoSE8++aRiY2N18803m1x9xVfc67tz5059+umn6t69u0JCQrRp0yY988wz6tixo5o3b25y9Z5h9OjRuvPOO1WvXj2dOnVKn376qZYtW6aFCxe69/Pr1nXPATeJj483RowYYXYZKKGvv/7aaNasmREQEGA0btzYmDJlitkloQROnjxpjBgxwqhXr54RGBhoNGzY0Pjb3/5mXLhwwezSUIClS5caki65JSQkGIZhGA6Hw3jppZeM8PBwIyAgwOjcubOxfft2c4uGYRhFv3e///57gfskGUuXLjW7dFylxo8fb9SrV8/w9/c32rVrZ6xcudLskrxCnz59jMjISMPf39+oXbu20adPH+PXX381uyyPxt/GslXU63v27Fmja9euRs2aNQ0/Pz+jfv36xuDBg4309HSzy/YYhf39//jjj119zp07ZwwdOtQIDg42KleubNxzzz3GwYMHzSvagxT3+u7Zs8fo2LGjUaNGDSMgIMC47rrrjGeffdY4ceKEuYV7kEceecSoX7++4e/vb9SsWdPo3Lmz8cMPP7j2u+vzazEMw7jcVBUAAAAAAAAAyhLXuAQAAAAAAABQ4RBcAgAAAAAAAKhwCC4BAAAAAAAAVDgElwAAAAAAAAAqHIJLAAAAAAAAABUOwSUAAAAAAACACofgEgAAAAAAAECFQ3AJAAAAAAAAoMIhuAQAAAAAAOVu165dslgsslgsmjZtmtnlAKiACC4BAAAAAChHy5YtcwV2Jb09/fTTZpcNAOWO4BIASmjatGmuL467du0yu5wSycrK0vXXXy+LxaIvvvii0H6GYSgoKEg+Pj4KDw9Xnz59tGfPnmLPP2zYMFksFiUkJLizbAAAAAAAZDW7AABA2fnPf/6jX3/9Vc2aNdN9991XaL+dO3fq1KlTkqTMzEzNmTNHP//8szZu3Fjk+UeNGqUPP/xQM2fO1FNPPaU2bdq4tX4AAABvN2TIEA0dOrTYfqGhoeVQDQBULASXAOClTp06pbfeekuS9OKLL8pisRTaNzIyUps3b9b+/fs1dOhQ/fbbb9q0aZM2btyoFi1aFHpcvXr1lJCQoA8++EAvvfSSvvvuO7c/DwAAAG8WFhamZs2amV0GAFRITBUHAC81adIkHTlyRPXq1dMDDzxQZN8qVaqoWbNm6tatm1577TXX9rS0tGIf5y9/+YskacGCBVq3bl2pagYAAAAAIAfBJQB4IbvdrgkTJkiSHnroIfn4lPzXfWxsrKu9ZcuWYvs3atRIrVu3liSNHz/+MisFAADAlYiKipLFYtHDDz8sSVqzZo0eeugh1a1bV4GBgapbt64GDhyon3/+uUTn+/rrr3X//ferTp06CggIUEhIiGJjY/Xmm2/q9OnTJTrHli1b9OSTTyo6OlrBwcHy8/NTRESEunTporffflsHDx4s9hyLFi1Sz549FRERoYCAADVo0EBDhgzRvn37SlQDAO9CcAkAXmjRokXau3evJKlv376XdWxUVJSqVKkiqWTBZd7HmDt3rutamQAAACgfU6dOVVxcnGbPnq19+/bpwoUL2rdvn6ZNm6aWLVtq7ty5hR57/vx53Xvvvbrrrrv03//+V/v371dWVpaOHj2qlStXavTo0WrUqFGRM3HsdrtGjhyp5s2ba8KECdqyZYuOHz8um82mjIwMLVmyRKNGjdLo0aOLfB6jR49W165d9c033ygjI0NZWVnatWuXJk+erNatW2vbtm1X+hIB8FAElwDgRllZWfq///s/3XrrrapZs6b8/f0VERGh7t27a9asWXI4HMWe48iRI3ruuefUqFEjVapUSeHh4br99tv15ZdfSirZ6uZz5syRJF1//fWKjo6+rOdgsVh07bXXSip5cJmz8M/Zs2eVmJh4WY8HAACAK5eWlqYnnnhCYWFhGj9+vFatWqWkpCSNGjVKAQEBunDhgvr27au1a9cWeHxCQoLre2aLFi00Y8YMrVmzRgsXLtTAgQNlsVh04MABde7cWfv37y/wHI899pj+/e9/yzAMRUZG6vXXX9fSpUu1fv16LVy4UK+99lqR102XpA8++EBvvvmm4uPj9emnn2rt2rVavHixBgwYIEk6dOiQHnnkkVK8UgA8EYvzAICb7Nq1S3feeecl03EyMjK0YMECLViwQO+//74SExNVo0aNAs+xefNm3X777crIyHBtO3/+vBYvXqzFixfrscceyzeVuzBLly6VJN18882X/TxWrFihzZs3S5L27dunEydOqFq1akUeU79+fUVERCg9PV0LFixQv379LvtxAQAArkaZmZklvjyPn5/fJds3btyo+vXra+XKlYqIiHBt79ixo7p166auXbsqOztbQ4cO1erVq/Md++2337r+4d25c2d999138vf3d+3v2rWrYmNj9dhjj+no0aMaOXKkPv/883znmD9/vqZOnSrJecmh7777TtWrV8/Xp2vXrnrxxRddM4IKkpqaqsGDB+v999/Pt6hk586d5e/vrw8//FArV67Uhg0b1KpVq2JeLQDeghGXAOAGp0+fVufOnV2h5d1336358+dr7dq1mjt3ruLj4yVJy5cvV8+ePWW32y85x/Hjx3XHHXe4Qsv+/ftrwYIFWrt2rWbPnq3Y2FhNmTJFkydPLrKWffv2uUZi3nTTTZf1PGw2m5544gkZhuHatnXr1hId265dO0lSUlLSZT0mAADA1WzSpEmKjo4u9lbYaEdJ+te//pUvtMxx6623avDgwZKc18D846jLiRMnSpL8/Pz08ccf5wstcwwePFhdunSRJM2bN++S61S++eabkqTKlSvriy++uCS0zKtu3bqF7ouMjNT48ePzhZY5/vrXv7raKSkphZ4DgPchuAQAN3j11Vf122+/SZJefPFFffnll+rZs6fatGmj+++/X0uXLnVdBzI1NVVTpkwp8BwHDhyQJL377ruaMWOG7rjjDrVp00Z9+vRRSkqKevXqpVWrVhVZS2pqqqt9uf+N/ve//61Nmzbl21bS6eJt2rSRJO3fvz/fiFEAAACUneDgYPXq1avQ/XmnVy9evNjVttlsrn84d+3atchQMSf8tNlsWrZsmWv7kSNHtHLlSklSnz59VKtWrSt6DpJ0//33KyAgoMB9jRo10jXXXCNJru/cAK4OBJcAUEoXLlzQhx9+KElq2rSpXnnllUv6WCwW/d///Z9CQkIkybXid95zTJs2TZJzlOSIESMuOYevr6/ef/99BQYGFllP3hUXw8LCSvw8du/e7ao9Li7Otb2kwWXex+ILJQAAQMmMGTNGhmEUe4uKiirw+FatWslqLfwqcC1btnSNpMy5HJDk/L529uxZSVJMTEyRNebdn/e7YVpammumTocOHYp+osVo3LhxkfuDg4MliYUggasMwSUAlNK6det0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", - "text/plain": [ - "
" - ] - }, - "execution_count": 84, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "imdb_results = pd.read_csv(imdb_logger.experiment.metrics_file_path)\n", "summary_plot(imdb_results,\n", @@ -6547,7 +2493,7 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": null, "id": "b1ecfca8", "metadata": { "lines_to_next_cell": 2 @@ -6593,7 +2539,7 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": null, "id": "5503cb3f", "metadata": {}, "outputs": [], @@ -6636,7 +2582,7 @@ }, { "cell_type": "code", - "execution_count": 87, + "execution_count": null, "id": "8b683641", "metadata": { "lines_to_next_cell": 0 @@ -6667,48 +2613,10 @@ }, { "cell_type": "code", - "execution_count": 88, + "execution_count": null, "id": "702aa8de", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " action_fn=lambda data: sys.getsizeof(data.storage()),\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " return super().__sizeof__() + self.nbytes()\n" - ] - }, - { - "data": { - "text/plain": [ - "===================================================================================================================\n", - "Layer (type:depth-idx) Input Shape Output Shape Param #\n", - "===================================================================================================================\n", - "LSTMModel [10, 500] [10] --\n", - "├─Embedding: 1-1 [10, 500] [10, 500, 32] 320,096\n", - "├─LSTM: 1-2 [10, 500, 32] [10, 500, 32] 8,448\n", - "├─Linear: 1-3 [10, 32] [10, 1] 33\n", - "===================================================================================================================\n", - "Total params: 328,577\n", - "Trainable params: 328,577\n", - "Non-trainable params: 0\n", - "Total mult-adds (M): 45.44\n", - "===================================================================================================================\n", - "Input size (MB): 50.00\n", - "Forward/backward pass size (MB): 2.56\n", - "Params size (MB): 1.31\n", - "Estimated Total Size (MB): 53.87\n", - "===================================================================================================================" - ] - }, - "execution_count": 88, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "lstm_model = LSTMModel(X_test.shape[-1])\n", "summary(lstm_model,\n", @@ -6729,7 +2637,7 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": null, "id": "e48aa272", "metadata": {}, "outputs": [], @@ -6740,350 +2648,12 @@ }, { "cell_type": "code", - "execution_count": 90, + "execution_count": null, "id": "143be7e8", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (mps), used: False\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", - " rank_zero_warn(\n", - "\n", - " | Name | Type | Params\n", - "--------------------------------------------\n", - "0 | model | LSTMModel | 328 K \n", - "1 | loss | BCEWithLogitsLoss | 0 \n", - "--------------------------------------------\n", - "328 K Trainable params\n", - "0 Non-trainable params\n", - "328 K Total params\n", - "1.314 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d750346c2da241e5aa9290715ef3ab2f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "`Trainer.fit` stopped: `max_epochs=20` reached.\n" - ] - } - ], + "outputs": [], "source": [ "lstm_trainer = Trainer(deterministic=True,\n", " max_epochs=20,\n", @@ -7104,47 +2674,10 @@ }, { "cell_type": "code", - "execution_count": 91, + "execution_count": null, "id": "9272e2ba", "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1db51a56913246c59f746a80a10ad431", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Testing: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " Test metric DataLoader 0\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " test_accuracy 0.8452399969100952\n", - " test_loss 0.7559056878089905\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" - ] - }, - { - "data": { - "text/plain": [ - "[{'test_loss': 0.7559056878089905, 'test_accuracy': 0.8452399969100952}]" - ] - }, - "execution_count": 91, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "lstm_trainer.test(lstm_module, datamodule=imdb_seq_dm)" ] @@ -7159,33 +2692,12 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": null, "id": "5d9d387e", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [ - { - "data": { - "text/plain": [ - "(0.5, 1.0)" - ] - }, - "execution_count": 92, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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HTp06ITb6dixY8B9h8NxwsDQUP+GfjZAYxxvVdO68RWhNmaB8/84nnCaVhxMDEy1UTiNLH/jjTd03XXX6fLLL9fQoUMVHx+vzz77rFVriI2NVVxcnN555x1/m9fr1datW1u1DoSHk62vIElZWVnyer2tXdpxBXvWDcJb3VG3qVOnauzYsSGxb2hthBCbhcvI8kGDBsnj8Wjbtm3avn27pk2bZuQUyOzZs7Vo0SL985//1K5du5SZmalvvvmGab6oJxxXNQ2nLyaACYSQILB7KeVgeOSRR9SjRw+df/75mjhxotLS0nTuuee2eh1z5szR1KlTNX36dKWkpKhr165KS0vjInOoJ1zHV4TLFxPABK6iexSutGpebW2thgwZoiuvvFL333+/bdvldxv+6i4LcDIFBQUhudJkOKyYCpyM3VfRZWAqjPr888/173//Wz/5yU9UU1OjJ554QkVFRZo2bZrp0hBiwnlJcSl8lhUHWhOnY2BURESEli1bptGjR+uCCy7Qjh079PLLL2vIkCGmS0OIYXwF0PZwJARGJSYm6o033jBdBsIE6ysAbQshBEBYYX0FoO0ghAAImmANxmR8BdA2EEIABEWwl1cHEP4YmArAduF2+XoAZhBCANgqHJdXB2AGIQSArcJxeXUAZhBCgsXrlTZulFas8P0Z4t/6xo4dq6ysLP/9pKQk5eTknPA5DodDa9eubfFr27UdhIZwXV4dQOsjhASDxyMlJUnjxknTpvn+TErytQfBxIkTNWHChAYfKywslMPh0Hvvvdekbb7zzju66aab7CjP75577tGIESPqtZeWlurSSy+19bVgDpevB9BYhBC7eTxSRoZ07OHokhJfexCCyPXXX68NGzY0eAh86dKlGjVqlIYNG9akbfbp00fR0dF2lXhC8fHxioqKapXXQvBx+XoAjUUIORnLkqqrG3errJRuu833nIa2I0mZmb5+jdleI68t+LOf/Ux9+vTRsmXLAtqrqqq0atUqTZ48WVOnTlVCQoKio6M1dOhQrVix4oTbPPZ0zMcff6wf//jH6tSpk84880xt2LCh3nPmzJmj008/XdHR0Ro4cKAWLFigw4cPS5KWLVume++9V9u3b5fD4ZDD4fDXe+zpmB07dujCCy9U586d1atXL910002qqqryP37ddddp8uTJevjhh+VyudSrVy/NmjXL/1owi+XVATQW64SczHffSV272rMty/IdIYmNbVz/qiqpS5eTduvQoYOmT5+uZcuWad68ef7/6FetWiWv16trrrlGq1at0pw5cxQTE6N169bp2muv1amnnqoxY8acdPu1tbVKT09XXFyc3n77bVVUVASMH6nTrVs3LVu2TP369dOOHTt04403qlu3brrzzjs1ZcoUvf/++1q/fr1efvllSVJsAz+H6upqpaWlKSUlRe+884727dunG264QbfeemtAyCooKJDL5VJBQYF2796tKVOmaMSIEbrxxhtP+n4QfCyvDqBRrHamoqLCkmRVVFTUe+zgwYPWBx98YB08ePCHxqoqy/LFh9a/VVU1+n3t3LnTkmQVFBT421JTU61rrrmmwf4//elPrf/93//13//JT35iZWZm+u/379/fevTRRy3LsqyXXnrJ6tChg1VSUuJ//MUXX7QkWWvWrDluTQ899JA1cuRI//2FCxdaw4cPr9fv6O08/fTTVo8ePayqo977unXrrIiICKusrMyyLMuaMWOG1b9/f+vIkSP+Pr/4xS+sKVOmHLeWBn+3CLojR45YBQUF1vLly62CgoKA3xmA8HOifWhzcCTkZKKjfUckGuO116TLLjt5vxdekH7848a9diOdccYZOv/88/XMM89o7Nix2r17twoLC3XffffJ6/XqgQce0D/+8Q+VlJTo0KFDqqmpafSYj507dyoxMVH9+vXzt6WkpNTrt3LlSj322GP65JNPVFVVpSNHjigmJqbR76HutYYPH64uRx0BuuCCC1RbW6tdu3YpLi5OknTWWWcFHM53uVzasWNHk14Lwcfy6gBOhDEhJ+Nw+E6JNOZ2ySWS2+17zvG2lZjo69eY7R1vO8dx/fXXa/Xq1fr222+1dOlSnXrqqfrJT36ihx56SLm5uZozZ44KCgq0bds2paWl6dChQzb8gHw2bdqkq6++Wpdddpn+9a9/6d1339W8efNsfY2jdezYMeC+w+FQbW1tUF4LABAchBA7OZ3Sfwfk1QsQdfdzcnz9guDKK69URESEli9frr/85S/6n//5HzkcDr3xxhuaNGmSrrnmGg0fPlwDBw7URx991OjtDhkyRMXFxQHrOrz11lsBfd588031799f8+bN06hRozRo0CB9/vnnAX0iIyNPukrmkCFDtH37dlVXV/vb3njjDUVERGjw4MGNrhkA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k0PImjVrAu4fPnxY7777rp599lnde++9thUGAADaNtvGhCxfvlwrV67UP//5Tzs2FzSMCQEAoHlCdkzIeeedp/z8fLs2BwAA2jhbQsjBgwf12GOPKSEhwY7NAQCAdqDJY0KOvVCdZVn69ttvFR0drb/97W+2FgcAANquJoeQRx99NCCEREREqE+fPkpOTlaPHj1sLQ4AALRdTQ4h1113XRDKAAAA7U2Tx4QsXbpUq1atqte+atUqPfvss7YUBQAA2r4mh5BFixapd+/e9dr79u2rBx54wJaiAABA29fkELJnzx4NGDCgXnv//v21Z88eW4oCAABtX5NDSN++ffXee+/Va9++fbt69eplS1EAAKDta3IImTp1qm677TYVFBTI6/XK6/XqlVdeUWZmpq666qpg1AgAANqgJs+Ouf/++/XZZ5/poosuUocOvqfX1tZq+vTpjAkBAACN1uxrx3z88cfatm2bOnfurKFDh6p///521xYUXDsGAIDmsXsf2uQjIXUGDRqkQYMGtbgAAADQPjV5TMgVV1yh3/3ud/XaH3zwQf3iF7+wpSgAAND2NTmEvPbaa7rsssvqtV966aV67bXXbCkKAAC0fU0OIVVVVYqMjKzX3rFjR1VWVtpSFAAAaPuaHEKGDh2qlStX1mt/7rnndOaZZ9pSFAAAaPuaPDB1wYIFSk9P1yeffKILL7xQkpSfn6/ly5crLy/P9gIBAEDb1OQQMnHiRK1du1YPPPCA8vLy1LlzZw0fPlyvvPKKevbsGYwaAQBAG9TsdULqVFZWasWKFVqyZIm2bNkir9drV21BwTohAAA0j9370CaPCanz2muvacaMGerXr59+//vf68ILL9Rbb73V4oIAAED70KTTMWVlZVq2bJmWLFmiyspKXXnllaqpqdHatWsZlAoAAJqk0UdCJk6cqMGDB+u9995TTk6OvvjiCz3++OPBrA0AALRhjT4S8uKLL+q2227TLbfcwnLtAACgxRp9JOT111/Xt99+q5EjRyo5OVlPPPGE9u/fH8zaAABAG9boEHLeeefpT3/6k0pLS/XLX/5Szz33nPr166fa2lpt2LBB3377bTDrBAAAbUyLpuju2rVLS5Ys0V//+lcdOHBAF198sZ5//nk767MdU3QBAGiekJmiK0mDBw/Wgw8+qL1792rFihUtLgYAALQfLV6sLNxwJAQA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4yHkkUce0Y033qiZM2fqzDPP1FNPPaXo6Gg988wzx32Ow+FQfHy8/xYXF9eKFQMAADt0MPnihw4d0pYtWzR37lx/W0REhMaPH69NmzYd93lVVVXq37+/amtrde655+qBBx7QWWed1WDfmpoa1dTU+O9XVFRIkiorK216FwAAtA91+07LsmzZntEQsn//fnm93npHMuLi4vThhx82+JzBgwfrmWee0bBhw1RRUaGHH35Y559/vv7f//t/crvd9fovWrRI9957b732xMREe94EAADtzFdffaXY2NgWb8doCGmOlJQUpaSk+O+ff/75GjJkiP74xz/q/vvvr9d/7ty5ys7O9t+vra3V119/rV69esnhcNhSU2VlpRITE1VcXKyYmBhbtonWwe8ufPG7C1/87sJXRUWFTjnlFPXs2dOW7RkNIb1795bT6VR5eXlAe3l5ueLj4xu1jY4dO+qcc87R7t27G3w8KipKUVFRAW3du3dvVr0nExMTwwcqTPG7C1/87sIXv7vwFRFhz5BSowNTIyMjNXLkSOXn5/vbamtrlZ+fH3C040S8Xq927Nghl8sVrDIBAEAQGD8dk52drRkzZmjUqFEaM2aMcnJyVF1drZkzZ0qSpk+froSEBC1atEiSdN999+m8887TaaedpgMHDuihhx7S559/rhtuuMHk2wAAAE1kPIRMmTJFX375pe6++26VlZVpxIgRWr9+vX+w6p49ewIO+3zzzTe68cYbVVZWph49emjkyJF68803deaZZ5p6C4qKitLChQvrnfZB6ON3F7743YUvfnfhy+7fncOya54NAABAExhfrAwAALRPhBAAAGAEIQQAABhBCAEAAEYQQmywePFiJSUlqVOnTkpOTtbmzZtNl4STuOeee+RwOAJuZ5xxhumy0IDXXntNEydOVL9+/eRwOLR27dqAxy3L0t133y2Xy6XOnTtr/Pjx+vjjj80UiwAn+91dd9119T6HEyZMMFMsAixatEijR49Wt27d1LdvX02ePFm7du0K6PP9999r1qxZ6tWrl7p27aorrrii3uKjJ0MIaaGVK1cqOztbCxcu1NatWzV8+HClpaVp3759pkvDSZx11lkqLS31315//XXTJaEB1dXVGj58uBYvXtzg4w8++KAee+wxPfXUU3r77bfVpUsXpaWl6fvvv2/lSnGsk/3uJGnChAkBn8MVK1a0YoU4nldffVWzZs3SW2+9pQ0bNujw4cO65JJLVF1d7e9z++236//+7/+0atUqvfrqq/riiy+Unp7etBey0CJjxoyxZs2a5b/v9Xqtfv36WYsWLTJYFU5m4cKF1vDhw02XgSaSZK1Zs8Z/v7a21oqPj7ceeughf9uBAwesqKgoa8WKFQYqxPEc+7uzLMuaMWOGNWnSJCP1oGn27dtnSbJeffVVy7J8n7OOHTtaq1at8vfZuXOnJcnatGlTo7fLkZAWOHTokLZs2aLx48f72yIiIjR+/Hht2rTJYGVojI8//lj9+vXTwIEDdfXVV2vPnj2mS0ITFRUVqaysLOAzGBsbq+TkZD6DYWLjxo3q27evBg8erFtuuUVfffWV6ZLQgIqKCknyX7huy5YtOnz4cMBn74wzztApp5zSpM8eIaQF9u/fL6/X61/dtU5cXJzKysoMVYXGSE5O1rJly7R+/Xo9+eSTKioqUmpqqr799lvTpaEJ6j5nfAbD04QJE/SXv/xF+fn5+t3vfqdXX31Vl156qbxer+nScJTa2lplZWXpggsu0Nlnny3J99mLjIysd0HYpn72jC/bDphw6aWX+v8+bNgwJScnq3///vrHP/6h66+/3mBlQPtx1VVX+f8+dOhQDRs2TKeeeqo2btyoiy66yGBlONqsWbP0/vvvB2XcHEdCWqB3795yOp31RgOXl5crPj7eUFVoju7du+v000/X7t27TZeCJqj7nPEZbBsGDhyo3r178zkMIbfeeqv+9a9/qaCgQG63298eHx+vQ4cO6cCBAwH9m/rZI4S0QGRkpEaOHKn8/Hx/W21trfLz85WSkmKwMjRVVVWVPvnkE7lcLtOloAkGDBig+Pj4gM9gZWWl3n77bT6DYWjv3r366quv+ByGAMuydOutt2rNmjV65ZVXNGDAgIDHR44cqY4dOwZ89nbt2qU9e/Y06bPH6ZgWys7O1owZMzRq1CiNGTNGOTk5qq6u1syZM02XhhO44447NHHiRPXv319ffPGFFi5cKKfTqalTp5ouDceoqqoK+GZcVFSkbdu2qWfPnjrllFOUlZWl3/zmNxo0aJAGDBigBQsWqF+/fpo8ebK5oiHpxL+7nj176t5779UVV1yh+Ph4ffLJJ7rzzjt12mmnKS0tzWDVkHynYJYvX65//vOf6tatm3+cR2xsrDp37qzY2Fhdf/31ys7OVs+ePRUTE6PZs2crJSVF5513XuNfyO5pPO3R448/bp1yyilWZGSkNWbMGOutt94yXRJOYsqUKZbL5bIiIyOthIQEa8qUKdbu3btNl4UGFBQUWJLq3WbMmGFZlm+a7oIFC6y4uDgrKirKuuiii6xdu3aZLRqWZZ34d/fdd99Zl1xyidWnTx+rY8eOVv/+/a0bb7zRKisrM102LKvB35ska+nSpf4+Bw8etH71q19ZPXr0sKKjo63LL7/cKi0tbdLrOP77YgAAAK2KMSEAAMAIQggAADCCEAIAAIwghAAAACMIIQAAwAhCCAAAMIIQAgAAjCCEAAAAIwghANoEh8OhtWvXmi4DQBMQQgC02HXXXSeHw1HvNmHCBNOlAQhhXMAOgC0mTJigpUuXBrRFRUUZqgZAOOBICABbREVFKT4+PuDWo0cPSb5TJU8++aQuvfRSde7cWQMHDlReXl7A83fs2KELL7xQnTt3Vq9evXTTTTepqqoqoM8zzzyjs846S1FRUXK5XLr11lsDHt+/f78uv/xyRUdHa9CgQXr++eeD+6YBtAghBECrWLBgga644gpt375dV199ta666irt3LlTklRdXa20tDT16NFD77zzjlatWqWXX345IGQ8+eSTmjVrlm666Sbt2LFDzz//vE477bSA17j33nt15ZVX6r333tNll12mq6++Wl9//XWrvk8ATWDrtX8BtEszZsywnE6n1aVLl4Dbb3/7W8uyfJcFv/nmmwOek5ycbN1yyy2WZVnW008/bfXo0cOqqqryP75u3TorIiLCf2n3fv36WfPmzTtuDZKs+fPn++9XVVVZkqwXX3zRtvcJwF6MCQFgi3HjxunJJ58MaOvZs6f/7ykpKQGPpaSkaNu2bZKknTt3avjw4erSpYv/8QsuuEC1tbXatWuXHA6HvvjiC1100UUnrGHYsGH+v3fp0kUxMTHat29fc98SgCAjhACwRZcuXeqdHrFL586dG9WvY8eOAfcdDodqa2uDURIAGzAmBECreOutt+rdHzJkiCRpyJAh2r59u6qrq/2Pv/HGG4qIiNDgwYPVrVs3JSUlKT8/v1VrBhBcHAkBYIuamhqVlZUFtHXo0EG9e/eWJK1atUqjRo3Sj370I/3973/X5s2btWTJEknS1VdfrYULF2rGjBm655579OWXX2r27Nm69tprFRcXJ0m65557dPPNN6tv37669NJL9e233+qNN97Q7NmzW/eNArANIQSALdavXy+XyxXQNnjwYH344YeSfDNXnnvuOf3qV7+Sy+XSihUrdOaZZ0qSoqOj9dJLLykzM1OjR49WdHS0rrjiCj3yyCP+bc2YMUPff/+9Hn30Ud1xxx3q3bu3MjIyWu8NArCdw7Isy3QRANo2h8OhNWvWaPLkyaZLARBCGBMCAACMIIQAAAAjGBMCIOg46wugIRwJAQAARhBCAACAEYQQAABgBCEEAAAYQQgBAABGEEIAAIARhBAAAGAEIQQAABjx/wG5wSkEXrsU0AAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "lstm_results = pd.read_csv(lstm_logger.experiment.metrics_file_path)\n", "fig, ax = subplots(1, 1, figsize=(6, 6))\n", @@ -7200,7 +2712,7 @@ }, { "cell_type": "code", - "execution_count": 93, + "execution_count": null, "id": "7c6d1072", "metadata": { "lines_to_next_cell": 2 @@ -7228,7 +2740,7 @@ }, { "cell_type": "code", - "execution_count": 94, + "execution_count": null, "id": "8e2d1d5c", "metadata": {}, "outputs": [], @@ -7253,7 +2765,7 @@ }, { "cell_type": "code", - "execution_count": 95, + "execution_count": null, "id": "6f6d0e12", "metadata": {}, "outputs": [], @@ -7278,27 +2790,12 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": null, "id": "d3c961ec", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['DJ_return_1', 'log_volume_1', 'log_volatility_1', 'DJ_return_2',\n", - " 'log_volume_2', 'log_volatility_2', 'DJ_return_3', 'log_volume_3',\n", - " 'log_volatility_3', 'DJ_return_4', 'log_volume_4', 'log_volatility_4',\n", - " 'DJ_return_5', 'log_volume_5', 'log_volatility_5'],\n", - " dtype='object')" - ] - }, - "execution_count": 96, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "Y, train = X['log_volume'], X['train']\n", "X = X.drop(columns=['train'] + cols)\n", @@ -7316,21 +2813,10 @@ }, { "cell_type": "code", - "execution_count": 97, + "execution_count": null, "id": "cb89da88", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0.4128912938562521" - ] - }, - "execution_count": 97, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "M = LinearRegression()\n", "M.fit(X[train], Y[train])\n", @@ -7349,7 +2835,7 @@ }, { "cell_type": "code", - "execution_count": 98, + "execution_count": null, "id": "55d921d7", "metadata": { "lines_to_next_cell": 0 @@ -7373,23 +2859,12 @@ }, { "cell_type": "code", - "execution_count": 99, + "execution_count": null, "id": "4e87eeb9", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "data": { - "text/plain": [ - "0.45633025715446285" - ] - }, - "execution_count": 99, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "M.fit(X_day[train], Y[train])\n", "M.score(X_day[~train], Y[~train])" @@ -7425,27 +2900,12 @@ }, { "cell_type": "code", - "execution_count": 100, + "execution_count": null, "id": "3689b318", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['DJ_return_5', 'log_volume_5', 'log_volatility_5', 'DJ_return_4',\n", - " 'log_volume_4', 'log_volatility_4', 'DJ_return_3', 'log_volume_3',\n", - " 'log_volatility_3', 'DJ_return_2', 'log_volume_2', 'log_volatility_2',\n", - " 'DJ_return_1', 'log_volume_1', 'log_volatility_1'],\n", - " dtype='object')" - ] - }, - "execution_count": 100, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "ordered_cols = []\n", "for lag in range(5,0,-1):\n", @@ -7465,23 +2925,12 @@ }, { "cell_type": "code", - "execution_count": 101, + "execution_count": null, "id": "5633e521", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "data": { - "text/plain": [ - "(6046, 5, 3)" - ] - }, - "execution_count": 101, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "X_rnn = X.to_numpy().reshape((-1,5,3))\n", "X_rnn.shape" @@ -7503,7 +2952,7 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": null, "id": "979a6066", "metadata": {}, "outputs": [], @@ -7540,7 +2989,7 @@ }, { "cell_type": "code", - "execution_count": 103, + "execution_count": null, "id": "3528f4e7", "metadata": {}, "outputs": [], @@ -7563,50 +3012,12 @@ }, { "cell_type": "code", - "execution_count": 104, + "execution_count": null, "id": "795c283e", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " action_fn=lambda data: sys.getsizeof(data.storage()),\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " return super().__sizeof__() + self.nbytes()\n" - ] - }, - { - "data": { - "text/plain": [ - "===================================================================================================================\n", - "Layer (type:depth-idx) Input Shape Output Shape Param #\n", - "===================================================================================================================\n", - "NYSEModel [1770, 5, 3] [1770] --\n", - "├─RNN: 1-1 [1770, 5, 3] [1770, 5, 12] 204\n", - "├─Dropout: 1-2 [1770, 12] [1770, 12] --\n", - "├─Linear: 1-3 [1770, 12] [1770, 1] 13\n", - "===================================================================================================================\n", - "Total params: 217\n", - "Trainable params: 217\n", - "Non-trainable params: 0\n", - "Total mult-adds (M): 1.83\n", - "===================================================================================================================\n", - "Input size (MB): 0.11\n", - "Forward/backward pass size (MB): 0.86\n", - "Params size (MB): 0.00\n", - "Estimated Total Size (MB): 0.97\n", - "===================================================================================================================" - ] - }, - "execution_count": 104, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "summary(nyse_model,\n", " input_data=X_rnn_t,\n", @@ -7627,7 +3038,7 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": null, "id": "31640121", "metadata": { "lines_to_next_cell": 0 @@ -7651,20 +3062,10 @@ }, { "cell_type": "code", - "execution_count": 106, + "execution_count": null, "id": "af6795f5", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "torch.Size([64]) torch.Size([64])\n", - "torch.Size([64]) torch.Size([64])\n", - "torch.Size([64]) torch.Size([64])\n" - ] - } - ], + "outputs": [], "source": [ "for idx, (x, y) in enumerate(nyse_dm.train_dataloader()):\n", " out = nyse_model(x)\n", @@ -7685,7 +3086,7 @@ }, { "cell_type": "code", - "execution_count": 107, + "execution_count": null, "id": "0d04344c", "metadata": {}, "outputs": [], @@ -7708,1981 +3109,12 @@ }, { "cell_type": "code", - "execution_count": 108, + "execution_count": null, "id": "485d7bb1", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (mps), used: False\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", - " rank_zero_warn(\n", - "\n", - " | Name | Type | Params\n", - "------------------------------------\n", - "0 | model | NYSEModel | 217 \n", - "1 | loss | MSELoss | 0 \n", - "------------------------------------\n", - "217 Trainable params\n", - "0 Non-trainable params\n", - "217 Total params\n", - "0.001 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b52ec6ddbbe14c79b0c9b9c1a26b0ab0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "dc3055fa7c164047b3efcd3d34a5a251", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c6d3e7a06a4249bdad468de4b9f46b51", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "02cdcd46d84c4fb19a592bc7945e6f46", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1e99a95040754ab7b295f27310a33188", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a2c66c3fd4d04a079b3be6bbf0996247", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "387a78c0b75a40c8a06b79cf26084a94", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1919f48170824b5c90c968e29fb60188", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "857595e782ce41be850d8f58dd25fb85", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b26221118f354afdbf32b7fa44bfef78", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "971e4975a7d94f55b6d01ebdd6b5c24b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "48e94297864440e19ca7facebcdb8a9e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "21794309d18d4d689f3fc72683bd684b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b8e6718d29d94a26bfb5a7dce2411558", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7b982547ecd74b06a5e7636544285344", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ba48daa2d31b4283b943285ccc6d5030", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "118d72cdb99748dbaaa4888b1505c6fe", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0d7741797e6f425688a18283429512fd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "32c68ca902f2491e89dc320449960df4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f0c1f182104b43fe807e2f14181ed2e8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e6009826c6884cf298c61f6cf95e0b59", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5d5322756ac5407fa682f80e6eba7670", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d849e9fbafe541189ea8f40670455224", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6d93075d2ec64396bd4e735f638ff2b3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5e5538f040304fb89202f9c19cf609cd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5d18512f7653421e9adcf40f22a27ab0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8f94ccd2bf7c4b70a46a434ab03cf9f0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c5f83e194d5b44d0874c47dd54e6a90f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "77c73ad3cd3841f093c31f3346106757", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d1e85ec22c484f9ea392a9ab35796720", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "21975abf024c45169666c186ff42f158", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d058c21ee8f64484880bff1c3414a138", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "193771e270a94c00954aeaad5f190526", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a54669be5a374f6081d69fed069df0c7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3632a1f82318478fa83d7362434b7057", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a43ceb0224ab4ef0aab56063cf88dc7f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "49a5dea252e34e15bbaab66b61e83e98", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "48a7c426e9134099842a908851cbd99a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e6837a62815340e5818adb41b5a4a8e7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "89711374ae8b429e982d3fba389e432f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4fa77417ed9a4860ac39db3bc8267b5e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fe29fb68e32f457783386c0eebe6841f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "654e21c15f5e49cc89e3ee8483efe4b3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5fa461c01d524146a1b11ab0c3e7037b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "72465c8954c94a59987dd1fface65a64", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "14345bb3d3cc488788249b02d12a8c30", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b208de56059149c0b142a9fa70878bca", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "502a42cbe8544093911d23fc21ac6e0d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b036afffe9254f06bd5e11f129132662", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d55c7e1cc5e747c08572061b43bb15bb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "14a4c97eb4e641758b5b8a678481db12", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "97bc8d1cbf704296a8cedd0598bc3951", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0da98d6f4fd840c48fc572614fc4eb97", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "03c30d73a142441080917835a138bf79", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "aca66fd6d0194b2787a7450abbe8378a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fa45fb1275fa494293f4f43e66b6e1ac", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a7dee7ad56b8446cb0791ac09042e6c3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ea270026d12c47eb8e3739ffbf057b9a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "33a2996806e24b838c12f07ae95d4ecd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "960fdb9f03644de9a242056f01da68b3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9c76b3b6a56441f7aee113f504fc7920", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b5f3096e1ca54276981128e117f8f8d5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4cd269135bfa46fc90362442680d92dd", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "be50daf7a50d482a8846113d6a222fdf", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a23c3571935747c999cf569c40a06b00", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b9221b69df044149a5d8ce0417c11096", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "dc45ac5a02954e44a414719716c4aa37", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3fc7c185647a4e7f8333ddfce3d8172a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "707a4ccebba94a6bbd103b9a5f40321d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fafc0ed205274ffdb9539050a041a290", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "61ad762e9e654c558b09afbc828484e4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "793897c2fc8d425d998615bb829d8c43", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2b12ad2c52494483a4d1c6e7ed5ede31", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "de68e3e4b3124d3ead25d0e0a7d3ba42", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6c9a0d13daba4d72a1bb2dc20efcf412", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8a45b474bcb7441fafde536166c3b5ef", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "befa8447901e4948aff679cd4b829437", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7080d064216a4d6da052593011bfeccb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a1865848fe7e4983945449f3865ddcc4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Testing: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " Test metric DataLoader 0\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " test_loss 0.6207807064056396\n", - " test_r2 0.41084879636764526\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" - ] - }, - { - "data": { - "text/plain": [ - "[{'test_loss': 0.6207807064056396, 'test_r2': 0.41084879636764526}]" - ] - }, - "execution_count": 108, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "nyse_trainer = Trainer(deterministic=True,\n", " max_epochs=200,\n", @@ -9711,7 +3143,7 @@ }, { "cell_type": "code", - "execution_count": 109, + "execution_count": null, "id": "91d6633a", "metadata": {}, "outputs": [], @@ -9735,7 +3167,7 @@ }, { "cell_type": "code", - "execution_count": 110, + "execution_count": null, "id": "87137503", "metadata": {}, "outputs": [], @@ -9757,7 +3189,7 @@ }, { "cell_type": "code", - "execution_count": 111, + "execution_count": null, "id": "3cf09a55", "metadata": {}, "outputs": [], @@ -9776,7 +3208,7 @@ }, { "cell_type": "code", - "execution_count": 112, + "execution_count": null, "id": "930576f3", "metadata": {}, "outputs": [], @@ -9800,281 +3232,12 @@ }, { "cell_type": "code", - "execution_count": 113, + "execution_count": null, "id": "b9ae8d0e", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (mps), used: False\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "\n", - " | Name | Type | Params\n", - "-------------------------------------------\n", - "0 | model | NonLinearARModel | 705 \n", - "1 | loss | MSELoss | 0 \n", - "-------------------------------------------\n", - "705 Trainable params\n", - "0 Non-trainable params\n", - "705 Total params\n", - "0.003 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bda98978787f41bc81b9ed227089d304", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " Test metric DataLoader 0\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " test_loss 0.5648325681686401\n", - " test_r2 0.4639463424682617\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" - ] - }, - { - "data": { - "text/plain": [ - "[{'test_loss': 0.5648325681686401, 'test_r2': 0.4639463424682617}]" - ] - }, - "execution_count": 113, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], "source": [ "nl_trainer = Trainer(deterministic=True,\n", " max_epochs=20,\n", @@ -10084,36 +3247,21 @@ ] }, { - "cell_type": "code", - "execution_count": null, - "id": "1a42ae9c-f34e-41a1-8513-fb0752375547", + "cell_type": "markdown", + "id": "fd356e46", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + " \n", + "\n", + " \n" + ] } ], "metadata": { "jupytext": { "cell_metadata_filter": "-all", - "formats": "ipynb,Rmd", - "main_language": "python" - }, - "kernelspec": { - "display_name": "Python (islp_freeze_39)", - "language": "python", - "name": "islp_freeze_39" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" + "main_language": "python", + "notebook_metadata_filter": "-all" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch11-surv-lab.ipynb b/docs/source/labs/Ch11-surv-lab.ipynb index b0131e2..f85f01f 100644 --- a/docs/source/labs/Ch11-surv-lab.ipynb +++ b/docs/source/labs/Ch11-surv-lab.ipynb @@ -1,20 +1,17 @@ { "cells": [ - { - "cell_type": "markdown", - "id": "709be2a4", - "metadata": {}, - "source": [ - "\n", - "\n" - ] - }, { "cell_type": "markdown", "id": "c7f4eb5a", "metadata": {}, "source": [ "# Survival Analysis\n", + "\n", + "\n", + " \"Open\n", + "\n", + "\n", + "\n", " In this lab, we perform survival analyses on three separate data\n", "sets. In Section 11.8.1 we analyze the `BrainCancer` \n", "data that was first described in Section 11.3. In Section 11.8.2, we examine the `Publication` \n", @@ -29,23 +26,16 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "91ac40fd", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:11.792778Z", - "iopub.status.busy": "2023-07-26T00:00:11.792414Z", - "iopub.status.idle": "2023-07-26T00:00:12.793105Z", - "shell.execute_reply": "2023-07-26T00:00:12.792749Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from matplotlib.pyplot import subplots\n", "import numpy as np\n", "import pandas as pd\n", "from ISLP.models import ModelSpec as MS\n", - "from ISLP import load_data\n" + "from ISLP import load_data" ] }, { @@ -59,16 +49,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "99782418", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:12.795280Z", - "iopub.status.busy": "2023-07-26T00:00:12.795071Z", - "iopub.status.idle": "2023-07-26T00:00:12.854734Z", - "shell.execute_reply": "2023-07-26T00:00:12.854428Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from lifelines import \\\n", @@ -77,7 +60,7 @@ "from lifelines.statistics import \\\n", " (logrank_test,\n", " multivariate_logrank_test)\n", - "from ISLP.survival import sim_time\n" + "from ISLP.survival import sim_time" ] }, { @@ -92,31 +75,13 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "3137149a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:12.856788Z", - "iopub.status.busy": "2023-07-26T00:00:12.856526Z", - "iopub.status.idle": "2023-07-26T00:00:12.862649Z", - "shell.execute_reply": "2023-07-26T00:00:12.862372Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['sex', 'diagnosis', 'loc', 'ki', 'gtv', 'stereo', 'status', 'time'], dtype='object')" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "BrainCancer = load_data('BrainCancer')\n", - "BrainCancer.columns\n" + "BrainCancer.columns" ] }, { @@ -130,97 +95,32 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "45963c92", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:12.864323Z", - "iopub.status.busy": "2023-07-26T00:00:12.864209Z", - "iopub.status.idle": "2023-07-26T00:00:12.867297Z", - "shell.execute_reply": "2023-07-26T00:00:12.867008Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Female 45\n", - "Male 43\n", - "Name: sex, dtype: int64" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "BrainCancer['sex'].value_counts()\n" + "metadata": {}, + "outputs": [], + "source": [ + "BrainCancer['sex'].value_counts()" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "73be61f6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:12.868922Z", - "iopub.status.busy": "2023-07-26T00:00:12.868804Z", - "iopub.status.idle": "2023-07-26T00:00:12.871822Z", - "shell.execute_reply": "2023-07-26T00:00:12.871554Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Meningioma 42\n", - "HG glioma 22\n", - "Other 14\n", - "LG glioma 9\n", - "Name: diagnosis, dtype: int64" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "BrainCancer['diagnosis'].value_counts()\n" + "metadata": {}, + "outputs": [], + "source": [ + "BrainCancer['diagnosis'].value_counts()" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "572f0b9e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:12.873332Z", - "iopub.status.busy": "2023-07-26T00:00:12.873229Z", - "iopub.status.idle": "2023-07-26T00:00:12.875929Z", - "shell.execute_reply": "2023-07-26T00:00:12.875665Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0 53\n", - "1 35\n", - "Name: status, dtype: int64" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "BrainCancer['status'].value_counts()\n" + "metadata": {}, + "outputs": [], + "source": [ + "BrainCancer['status'].value_counts()" ] }, { @@ -250,43 +150,15 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "92c39707", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:12.877558Z", - "iopub.status.busy": "2023-07-26T00:00:12.877447Z", - "iopub.status.idle": "2023-07-26T00:00:12.996625Z", - "shell.execute_reply": "2023-07-26T00:00:12.996279Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp8AAAKnCAYAAADAwSbIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABKkElEQVR4nO3de3RU5dn+8WvPTGaG4ZCgkQnBICgIRhEUhEZxFdvUqEhFraUVCcRKXyyoGP2ptEhAq6m1Iqgo1oq00haspa1Vi/pGsS8aRUNpUTEqoqFIEmKFQAIzmcPvD5uRkEkyk0z2HPL9rDVrmZ19eAIbuXj2fu7bCAaDQQEAAAAmsMR7AAAAAOg5CJ8AAAAwDeETAAAApiF8AgAAwDSETwAAAJiG8AkAAADTED4BAABgGsInAAAATGOL9wAiEQgE9Nlnn6lv374yDCPewwEAAMBRgsGgDhw4oOzsbFksbc9vJkX4/Oyzz5STkxPvYQAAAKADu3bt0vHHH9/m95MifPbt21fSlz9Mv3794jwaAAAAHK2+vl45OTmh3NaWpAifzY/a+/XrR/gEAABIYB29IsmCIwAAAJiG8AkAAADTED4BAABgmqR45xMAgO4SDAbl8/nk9/vjPRQgoVmtVtlsti6XvSR8AgB6LK/Xqz179qixsTHeQwGSgsvl0sCBA2W32zt9DsInAKBHCgQC2rlzp6xWq7Kzs2W322lkArQhGAzK6/Vq79692rlzp4YPH95uIfn2ED4BAD2S1+tVIBBQTk6OXC5XvIcDJLxevXopLS1Nn376qbxer5xOZ6fOw4IjAECP1tnZG6AnisWfF/7EAQAAwDSETwAA0MrixYs1ZsyYeA8jaqtXr1ZGRka8hxGxSZMmaf78+fEehqkInwAAJJFZs2Zp6tSpLbY9/fTTcjqduu++++IzqC6YNGmSDMPQz372s1bfmzx5sgzD0OLFiyM+37Rp0/TBBx/EcISxsXHjRhmGoX379rXYvn79et15553dfv1ECrmETwAAktivfvUrTZ8+XY888ohuuummeA+nU3JycrR69eoW23bv3q2ysjINHDgwqnP16tVLAwYM6NJ4mpqaunR8NI455hj17dvXtOslAsInAABJ6uc//7muu+46rV27VkVFRaHtS5cu1ahRo9S7d2/l5OToRz/6kQ4ePBj6fvOj6T//+c8aPny4nE6nCgoKtGvXrjav9dZbb+lb3/qWMjMzlZ6erq9//evasmVLi30Mw9CvfvUrXXrppXK5XBo+fLieeeaZDn+Oiy++WHV1dXrttddC237961/r/PPPbxUkPR6Pbr75Zg0aNEi9e/fWhAkTtHHjxlY/25H+8pe/6Mwzz5TT6dSJJ56oJUuWyOfztRj3I488om9/+9vq3bu37rrrrrDj7Ojan376qaZMmaL+/furd+/eOvXUU/X888/rk08+0XnnnSdJ6t+/vwzD0KxZsyS1npEcMmSIfvrTn6qwsFB9+vTRCSecoGeeeUZ79+7VJZdcoj59+uj000/X22+/HTrm888/1/e//30NGjRILpdLo0aN0u9///vQ92fNmqVXX31Vy5cvl2EYMgxDn3zyiSTpnXfe0YUXXqg+ffrI7XZrxowZqqura/P3KhYInwAA6Ms6ho1eX1w+wWAw6vHeeuutuvPOO/Xss8/q0ksvbfE9i8WiBx54QO+++65+/etf6+WXX9Ytt9zSYp/Gxkbddddd+s1vfqPXXntN+/bt0/e+9702r3fgwAHNnDlTmzZt0htvvKHhw4froosu0oEDB1rst2TJEn33u9/Vv/71L1100UWaPn26/vOf/7T7s9jtdk2fPl1PPPFEaNvq1at19dVXt9p33rx5Ki8v19q1a/Wvf/1LV1xxhS644AJ9+OGHYc/9f//3fyosLNQNN9yg9957T48++qhWr17dKmAuXrxYl156qbZt2xb2upFce+7cufJ4PPr73/+ubdu26Z577lGfPn2Uk5OjP/7xj5KkyspK7dmzR8uXL2/z1+P+++/XOeeco3/84x+aPHmyZsyYocLCQl111VXasmWLTjrpJBUWFobum8OHD2vs2LF67rnn9M477+iHP/yhZsyYoc2bN0uSli9frry8PM2ePVt79uzRnj17lJOTo3379ukb3/iGzjjjDL399tvasGGDampq9N3vfrfNscWCEezMHW+y+vp6paena//+/erXr1+8hwMASAGHDx/Wzp07NXToUDmdTjV6fcpd9EJcxvLeHQVy2SMrvT1r1iz9/ve/l9frVVlZmb7xjW90eMzTTz+tOXPmhGa0Vq9eraKiIr3xxhuaMGGCJOn999/XKaecojfffFPjx4/X4sWL9ec//1lbt24Ne85AIKCMjAz97ne/08UXXyzpyxnEhQsXht5hbGhoUJ8+ffS3v/1NF1xwQdjzTJo0SWPGjFFRUZHOPfdc7dmzRxUVFbriiiu0e/dujRs3TlOnTtXixYtVVVWlE088UVVVVcrOzg6dIz8/X+PHj9fdd9+t1atXa/78+aF3K/Pz8/XNb35TCxYsCO2/Zs0a3XLLLfrss89C454/f77uv//+Nn8NI7n26aefrssvv1wlJSWtjt+4caPOO+88ffHFFy1mZpt//mXLlkn6cubz3HPP1ZNPPilJqq6u1sCBA3X77bfrjjvukCS98cYbysvL0549e5SVlRV2vBdffLFGjhypX/ziF2GvI0k//elP9X//93964YWv7vt///vfysnJUWVlpU4++eRW5z36z82RIs1rFJkHACDJnH766aqrq1NJSYnGjx+vPn36tPj+//7v/6q0tFTvv/++6uvr5fP5dPjwYTU2NoYK6ttsNp111lmhY0aOHKmMjAxt375d48ePb3XNmpoaLVy4UBs3blRtba38fr8aGxtVVVXVamzNevfurX79+qm2trbDn2n06NEaPny4nn76ab3yyiuaMWOGbLaWMWXbtm3y+/2tQpHH49Gxxx4b9rz//Oc/9dprr7WY6fT7/a1+PcaNG9fu+CK59vXXX69rr71WL774ovLz83X55Ze3+PWI1JHHuN1uSdKoUaNabautrVVWVpb8fr/uvvtuPfXUU9q9e7e8Xq88Hk+HzRP++c9/6pVXXml1/0jSjh07wobPWCB8AgAgqVeaVe/dURC3a0dj0KBBevrpp3Xeeefpggsu0N/+9rfQopVPPvlEF198sa699lrdddddOuaYY7Rp0yb94Ac/kNfr7XQ3p5kzZ+rzzz/X8uXLdcIJJ8jhcCgvL09er7fFfmlpaS2+NgxDgUAgomtcffXVWrFihd57773QI+MjHTx4UFarVRUVFbJaW/6ahQtQzccsWbJEl112WavvHTlz17t373bHFsm1r7nmGhUUFOi5557Tiy++qNLSUt1333267rrr2j330Y78NWxu+RpuW/Ov67333qvly5dr2bJloXd958+f3+r3JtzPNGXKFN1zzz2tvhftQq9oED4BANCXf6FH+ug7EZxwwgl69dVXQwF0w4YN6tu3ryoqKhQIBHTfffeFutE89dRTrY73+Xx6++23Q7OclZWV2rdvn0455ZSw13vttdf08MMP66KLLpIk7dq1K+YLU6688krdfPPNGj16tHJzc1t9/4wzzpDf71dtba3OPffciM555plnqrKyUsOGDevS2CK9dk5OjubMmaM5c+ZowYIFeuyxx3TdddfJbrdL+nLWNdZee+01XXLJJbrqqqskfRlKP/jggxa/hna7vdW1zzzzTP3xj3/UkCFDWs0ydycWHAEAkKRycnJCj8ELCgpUX1+vYcOGqampSQ8++KA+/vhjPfnkk1q5cmWrY9PS0nTdddfpzTffVEVFhWbNmqWvfe1rYR+5S9Lw4cP15JNPavv27XrzzTc1ffp09erVK6Y/T//+/bVnzx6VlZWF/f7JJ5+s6dOnq7CwUOvXr9fOnTu1efNmlZaW6rnnngt7zKJFi/Sb3/xGS5Ys0bvvvqvt27dr7dq1WrhwYVRji+Ta8+fP1wsvvKCdO3dqy5YteuWVV0Jh/oQTTpBhGHr22We1d+/eFtUHumr48OF66aWX9Prrr2v79u36n//5H9XU1LTYZ8iQIXrzzTf1ySefqK6uToFAQHPnztV//vMfff/739dbb72lHTt26IUXXlBRUVG3hORmhE8AAJLY8ccfr40bN6qurk4FBQUaOnSoli5dqnvuuUennXaafvvb36q0tLTVcS6XS7feequuvPJKnXPOOerTp4/WrVvX5nUef/xxffHFFzrzzDM1Y8YMXX/99V2upxlORkZGu4/An3jiCRUWFuqmm27SiBEjNHXqVL311lsaPHhw2P0LCgr07LPP6sUXX9RZZ52lr33ta7r//vt1wgknRD22jq7t9/s1d+5cnXLKKbrgggt08skn6+GHH5b05asSS5Ys0W233Sa326158+ZFff22LFy4UGeeeaYKCgo0adIkZWVltWpEcPPNN8tqtSo3N1fHHXdcaOHUa6+9Jr/fr/PPP1+jRo3S/PnzlZGREZMe7m2JerX73//+d917772qqKjQnj179Kc//anVD3i0jRs3qri4WO+++65ycnK0cOHCUH2rSLDaHQAQa+2t2k11R68IByIVi9XuUcfahoYGjR49WitWrIho/507d2ry5Mk677zztHXrVs2fP1/XXHNNi2X9AAAA6Bmifrv0wgsv1IUXXhjx/itXrtTQoUND/WZPOeUUbdq0Sffff78KCuKzqhAAAADx0e3vfJaXlys/P7/FtoKCApWXl3f3pTvlyA4XSVB/HwCAqM2aNYtH7oibbl9X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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "km = KaplanMeierFitter()\n", "km_brain = km.fit(BrainCancer['time'], BrainCancer['status'])\n", - "km_brain.plot(label='Kaplan Meier estimate', ax=ax)\n" + "km_brain.plot(label='Kaplan Meier estimate', ax=ax)" ] }, { @@ -316,35 +188,17 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "3fc7848c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:12.998859Z", - "iopub.status.busy": "2023-07-26T00:00:12.998718Z", - "iopub.status.idle": "2023-07-26T00:00:13.123101Z", - "shell.execute_reply": "2023-07-26T00:00:13.122758Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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yc9vcxwn/n7OnDn6+OOPdc899+ioo45SMBjU1KlTFYlEWq334MGDmjRpkh577LEWnw0aNKjd77Ures8VBQAAkISxY8fqqaee0sSJE1VTUyOfz6cRI0a02jYSiejiiy/WzJkzddxxx2n+/Pl66623NHjwYEmdu+3eVpuhQ4fqvffeS+j50GT86U9/0k9/+lOdc845kpoGE+3du7fN9hMnTtTq1as1ePBg5efnd2st7SF8AgCAXu3jjz/WRRddpHnz5unEE09Uv3799Nprr2np0qU6//zzVVZWpqlTp2rGjBlaunSpRo8erQ8//FDPPPOMLrjgApWWluq6667T/v37de+99yovL0/PPvus5s2bp6efflpS5267t+XHP/6xrrjiChUUFOiss85SOBzWa6+9pk8++UQVFRWdPu6xxx6rRx99VKWlpaqrq9N//ud/Kjs7u832s2bN0u23367zzz9fN910k4488ki9//77evLJJ/XDH/5QRx55ZKdraQ9TLQEAgF4tLy9PU6ZM0d13360vfelLOuGEE3TDDTdowYIFuv/++2UYhp599ll96Utf0ty5czV69Gh961vf0vvvv6+ioiKtXbtWy5Yt06OPPqr8/HyZpqlHH31UL730UnwkeXeaP3++Hn74YT3yyCMaN26cTjvtNK1atUojR47s0nF//vOf65NPPtHEiRN1ySWX6Iorroj33LYmJydHL774ooYPH66vf/3rOv744/W9731PjY2NPdoTarjJTKQl6cUXX9Ttt9+uTZs26aOPPtJvf/tbzZgxo9191q5dq4qKCr399tsaNmyYrr/+en33u99N+Jx1dXUqKCjQ/v37Pe0WBgCgL2lsbNT27ds1cuRIZWVlpbocpKH2rpFE81rSPZ+hUEjjx4/X8uXLE2q/fft2nXvuufryl7+sN954Q1dddZXmz5+v3/8+NfOGAQAAIHWSfubz7LPP7nC01+FWrFihkSNH6s4775QkHX/88Vq/fr3uvvvu+NxV6cR1HDXUH2h648+RPh1d1p2y/VZ81BoAAEBf0uMDjjZs2KCysrJm28rLy3XVVVe1uU84HFY4HI6/r6ur66nyWmioP6CcO4ZLko5vXKkGdf9thwnDCvXby04mgAIAgD6nxwcc1dTUtJh6oKioSHV1dWpoaGh1n6qqKhUUFMRfw4YN6+kyPfXGB/v00b7GVJcBAADgubScamnx4sXNphqoq6vzLIAevqLC/3x3hOz89qcZcA1L8rc9jcHhGqK2zrrnJUlSXWNU+WF/q+18pqGsJFd2AAAA6A16PHwWFxfHZ/P/TG1trfLz89uceyoYDDZb0spLh98KL2l4R4pub3+HQK40anpCAbQ+Eot//daufdpae6DVdjlBn045ZiABFAAAZJweD59Tp07Vs88+22zb888/r6lTp/b0qbvO9EvBfm1/HgtLkZDkxNpu0wafZSov2LLnMxyzVR+OKeYkNQMWAABAr5B0+Dx48KDefffd+Pvt27frjTfe0BFHHKHhw4dr8eLF2rVrl/7P//k/kqRLL71U999/v374wx9q3rx5+uMf/6gnnnhCzzzzTPd9Fz3FH2wa8d4eu/X1UjuSZVnKDrTesxm1nVa3AwAA9HZJDzh67bXXdNJJJ+mkk06SJFVUVOikk07SkiVLJEkfffSRdu7cGW8/cuRIPfPMM3r++ec1fvx43XnnnXr44YfTcpolAACAdLR27VoZhqF9+/alupQuSzp8Tp8+Xa7rtnitWrVKkrRq1SqtXbu2xT5/+ctfFA6HtW3btqRWNwIAAOjInj17tHDhQg0fPlzBYFDFxcUqLy/Xn/70p5TUM336dBmGoVtvvbXFZ+eee64Mw9CNN97ofWFpIC1Hu/c60danjGohYse/tGIhmdHDbtkbPjm+Q3OKNhzWtj2MjAcAQLrwwgsViUT0i1/8QqNGjVJtba2qq6v18ccfp6ymYcOGadWqVbrmmmvi23bt2qXq6moNGTIkZXWlGuGzKwyracDR9hcTax+TpKZR8Ud89KLyg4c6nm1/juqKp8kyAwpFYtqwbW9Ch2RkPACgr9u3b59eeuklrV27Vqeddpok6aijjtLkyZObtbn66qv1u9/9TuFwWKWlpbr77rs1fvx47dmzR+PGjdMVV1yha6+9VpL05z//WdOnT9dzzz2n008/vVN1ffWrX9UTTzyhP/3pT5o2bZok6Re/+IXOPPPMZo8oStKjjz6qe+65R1u2bFFubq6+8pWvaNmyZRo8eHCbx1+/fr0WL16s1157TQMHDtQFF1ygqqoq5ebmdqper/T4JPMZzReU8kuaRsQn8grkxXeN+fNkf/pyzICsaL3kxhTwmRpakKO8oL/Dl98yGRkPAOg5rtvUyZKKl5v477a8vDzl5eXpqaeearZC4uEuuugi7d69W88995w2bdqkiRMn6vTTT9e//vUvDRo0SCtXrtSNN96o1157TQcOHNAll1yiRYsWxYPnSy+9FD9PW6/HHnus2TkDgYBmzZqlRx55JL5t1apVmjdvXov6otGobr75Zr355pt66qmntGPHjnYfU9y2bZvOOussXXjhhfrrX/+q1atXa/369Vq0aFHCf26pQs9nV/mSmY/UldQ0t6djZcvxNWV/U5KcQ7fgA77E/03AyHgAQI+J1ku3DE3Nua/9sGku7QT4fD6tWrVKCxYs0IoVKzRx4kSddtpp+ta3vqUTTzxR69ev18aNG7V79+74POJ33HGHnnrqKf3mN7/R97//fZ1zzjlasGCBZs2apdLSUuXm5qqqqip+jtLSUr3xxhvt1vH5FR0lad68eTr11FN1zz33aNOmTdq/f7+++tWvtnje8/BAOmrUKN177736whe+oIMHDyovL0+fV1VVpVmzZsWXKz/22GN177336rTTTtMDDzygrKzuXx68uxA+AQBAr3fhhRfq3HPP1UsvvaSXX35Zzz33nJYuXaqHH35YoVBIBw8e1IABA5rt09DQoG3btsXf33HHHTrhhBP061//Wps2bWq24E12draOOeaYpOsaP368jj32WP3mN7/RCy+8oEsuuUQ+X8v4tWnTJt14441688039cknn8hxmjqXdu7cqbFjx7Zo/+abb+qvf/1rs95W13XlOI62b9+u448/PulavUL4BAAArfPnNPVApurcScrKytIZZ5yhM844QzfccIPmz5+vyspKXXbZZRoyZEiL2XgkqbCwMP71tm3b9OGHH8pxHO3YsUPjxo2Lf/bSSy/p7LPPbvf8Dz74oGbNmtVi+7x587R8+XJt3rxZGzdubPF5KBRSeXm5ysvL9dhjj2nQoEHauXOnysvLFYm0Pp/4wYMH9e///u+64oorWnw2fPjwdutMNcInAABonWEkfOs7HY0dO1ZPPfWUJk6cqJqaGvl8Po0YMaLVtpFIRBdffLFmzpyp4447TvPnz9dbb70VH/DT2dvukvSd73xHV199tcaPH99qL+Y777yjjz/+WLfeequGDRsmqWle9fZMnDhRmzdv7lRvbKoRPgEAQK/28ccf66KLLtK8efN04oknql+/fnrttde0dOlSnX/++SorK9PUqVM1Y8YMLV26VKNHj9aHH36o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oFdJep7PVGCeTwAAgPTWI/N8AgAAAF2R9G33VPisc5bJ5gEAANLTZzmto5vqvSJ8HjhwQJKYbB4AACDNHThwQAUFBW1+3iue+XQcRx9++KH69esnwzB6/Hx1dXUaNmyYPvjgA54xRQtcH+gI1wg6wjWC9vTW68N1XR04cEBDhw5tNvj883pFz6dpmjryyCM9P29+fn6v+kuHt7g+0BGuEXSEawTt6Y3XR3s9np9hwBEAAAA8Q/gEAACAZwifrQgGg6qsrGR9ebSK6wMd4RpBR7hG0J5Mvz56xYAjAAAAZAZ6PgEAAOAZwicAAAA8Q/gEAACAZwifAAAA8Azh83OWL1+uESNGKCsrS1OmTNHGjRtTXRJSpKqqSl/4whfUr18/DR48WDNmzNCWLVuatWlsbNTll1+uAQMGKC8vTxdeeKFqa2tTVDFS6dZbb5VhGLrqqqvi27g+sGvXLl188cUaMGCAsrOzNW7cOL322mvxz13X1ZIlSzRkyBBlZ2errKxM//jHP1JYMbxi27ZuuOEGjRw5UtnZ2Tr66KN18803N1sXPVOvD8LnYVavXq2KigpVVlbq9ddf1/jx41VeXq7du3enujSkwLp163T55Zfr5Zdf1vPPP69oNKozzzxToVAo3uYHP/iB/vu//1u//vWvtW7dOn344Yf6+te/nsKqkQqvvvqqHnzwQZ144onNtnN99G2ffPKJpk2bJr/fr+eee06bN2/WnXfeqf79+8fbLF26VPfee69WrFihV155Rbm5uSovL1djY2MKK4cXbrvtNj3wwAO6//779fe//1233Xabli5dqvvuuy/eJmOvDxdxkydPdi+//PL4e9u23aFDh7pVVVUprArpYvfu3a4kd926da7ruu6+fftcv9/v/vrXv463+fvf/+5Kcjds2JCqMuGxAwcOuMcee6z7/PPPu6eddpp75ZVXuq7L9QHX/dGPfuSecsopbX7uOI5bXFzs3n777fFt+/btc4PBoPt//+//9aJEpNC5557rzps3r9m2r3/96+6sWbNc183s64Oez09FIhFt2rRJZWVl8W2maaqsrEwbNmxIYWVIF/v375ckHXHEEZKkTZs2KRqNNrtmxowZo+HDh3PN9CGXX365zj333GbXgcT1Aem//uu/VFpaqosuukiDBw/WSSedpIceeij++fbt21VTU9PsGikoKNCUKVO4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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "by_sex = {}\n", "for sex, df in BrainCancer.groupby('sex'):\n", " by_sex[sex] = df\n", " km_sex = km.fit(df['time'], df['status'])\n", - " km_sex.plot(label='Sex=%s' % sex, ax=ax)\n" + " km_sex.plot(label='Sex=%s' % sex, ax=ax)" ] }, { @@ -361,102 +215,15 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "bf30d26f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.125066Z", - "iopub.status.busy": "2023-07-26T00:00:13.124928Z", - "iopub.status.idle": "2023-07-26T00:00:13.177803Z", - "shell.execute_reply": "2023-07-26T00:00:13.177493Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
t_0-1
null_distributionchi squared
degrees_of_freedom1
test_namelogrank_test
\n", - "
\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
test_statisticp-log2(p)
01.440.232.12
" - ], - "text/latex": [ - "\\begin{tabular}{lrrr}\n", - " & test_statistic & p & -log2(p) \\\\\n", - "0 & 1.44 & 0.23 & 2.12 \\\\\n", - "\\end{tabular}\n" - ], - "text/plain": [ - "\n", - " t_0 = -1\n", - " null_distribution = chi squared\n", - "degrees_of_freedom = 1\n", - " test_name = logrank_test\n", - "\n", - "---\n", - " test_statistic p -log2(p)\n", - " 1.44 0.23 2.12" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "logrank_test(by_sex['Male']['time'],\n", " by_sex['Female']['time'],\n", " by_sex['Male']['status'],\n", - " by_sex['Female']['status'])\n" + " by_sex['Female']['status'])" ] }, { @@ -474,71 +241,10 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "2ab78e07", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.179791Z", - "iopub.status.busy": "2023-07-26T00:00:13.179581Z", - "iopub.status.idle": "2023-07-26T00:00:13.204157Z", - "shell.execute_reply": "2023-07-26T00:00:13.203825Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefse(coef)p
covariate
sex[Male]0.4076680.3420040.233262
\n", - "
" - ], - "text/plain": [ - " coef se(coef) p\n", - "covariate \n", - "sex[Male] 0.407668 0.342004 0.233262" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "coxph = CoxPHFitter # shorthand\n", "sex_df = BrainCancer[['time', 'status', 'sex']]\n", @@ -547,7 +253,7 @@ "cox_fit = coxph().fit(model_df,\n", " 'time',\n", " 'status')\n", - "cox_fit.summary[['coef', 'se(coef)', 'p']]\n" + "cox_fit.summary[['coef', 'se(coef)', 'p']]" ] }, { @@ -567,93 +273,12 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "4716b7b0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.205975Z", - "iopub.status.busy": "2023-07-26T00:00:13.205843Z", - "iopub.status.idle": "2023-07-26T00:00:13.211669Z", - "shell.execute_reply": "2023-07-26T00:00:13.211344Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
null_distributionchi squared
degrees_freedom1
test_namelog-likelihood ratio test
\n", - "
\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
test_statisticp-log2(p)
01.440.232.12
" - ], - "text/latex": [ - "\\begin{tabular}{lrrr}\n", - " & test_statistic & p & -log2(p) \\\\\n", - "0 & 1.44 & 0.23 & 2.12 \\\\\n", - "\\end{tabular}\n" - ], - "text/plain": [ - "\n", - "null_distribution = chi squared\n", - " degrees_freedom = 1\n", - " test_name = log-likelihood ratio test\n", - "\n", - "---\n", - " test_statistic p -log2(p)\n", - " 1.44 0.23 2.12" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cox_fit.log_likelihood_ratio_test()\n" + "metadata": {}, + "outputs": [], + "source": [ + "cox_fit.log_likelihood_ratio_test()" ] }, { @@ -673,120 +298,10 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "c2767d88", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.213603Z", - "iopub.status.busy": "2023-07-26T00:00:13.213471Z", - "iopub.status.idle": "2023-07-26T00:00:13.246417Z", - "shell.execute_reply": "2023-07-26T00:00:13.246077Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefse(coef)p
covariate
sex[Male]0.1837480.3603580.610119
diagnosis[LG glioma]-1.2395300.5795550.032455
diagnosis[Meningioma]-2.1545660.4505240.000002
diagnosis[Other]-1.2688700.6176720.039949
loc[Supratentorial]0.4411950.7036690.530665
ki-0.0549550.0183140.002693
gtv0.0342930.0223330.124661
stereo[SRT]0.1777780.6015780.767597
\n", - "
" - ], - "text/plain": [ - " coef se(coef) p\n", - "covariate \n", - "sex[Male] 0.183748 0.360358 0.610119\n", - "diagnosis[LG glioma] -1.239530 0.579555 0.032455\n", - "diagnosis[Meningioma] -2.154566 0.450524 0.000002\n", - "diagnosis[Other] -1.268870 0.617672 0.039949\n", - "loc[Supratentorial] 0.441195 0.703669 0.530665\n", - "ki -0.054955 0.018314 0.002693\n", - "gtv 0.034293 0.022333 0.124661\n", - "stereo[SRT] 0.177778 0.601578 0.767597" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "cleaned = BrainCancer.dropna()\n", "all_MS = MS(cleaned.columns, intercept=False)\n", @@ -794,7 +309,7 @@ "fit_all = coxph().fit(all_df,\n", " 'time',\n", " 'status')\n", - "fit_all.summary[['coef', 'se(coef)', 'p']]\n" + "fit_all.summary[['coef', 'se(coef)', 'p']]" ] }, { @@ -821,16 +336,9 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "ede1d219", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.248407Z", - "iopub.status.busy": "2023-07-26T00:00:13.248257Z", - "iopub.status.idle": "2023-07-26T00:00:13.252004Z", - "shell.execute_reply": "2023-07-26T00:00:13.251659Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "levels = cleaned['diagnosis'].unique()\n", @@ -839,7 +347,7 @@ " return pd.Series.mode(series)\n", " else:\n", " return series.mean()\n", - "modal_data = cleaned.apply(representative, axis=0)\n" + "modal_data = cleaned.apply(representative, axis=0)" ] }, { @@ -854,121 +362,15 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "dc032a71", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.253777Z", - "iopub.status.busy": "2023-07-26T00:00:13.253667Z", - "iopub.status.idle": "2023-07-26T00:00:13.260023Z", - "shell.execute_reply": "2023-07-26T00:00:13.259719Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
sexdiagnosislockigtvstereostatustime
0FemaleMeningiomaSupratentorial80.919548.687011SRT0.40229927.188621
0FemaleHG gliomaSupratentorial80.919548.687011SRT0.40229927.188621
0FemaleLG gliomaSupratentorial80.919548.687011SRT0.40229927.188621
0FemaleOtherSupratentorial80.919548.687011SRT0.40229927.188621
\n", - "
" - ], - "text/plain": [ - " sex diagnosis loc ki gtv stereo status \\\n", - "0 Female Meningioma Supratentorial 80.91954 8.687011 SRT 0.402299 \n", - "0 Female HG glioma Supratentorial 80.91954 8.687011 SRT 0.402299 \n", - "0 Female LG glioma Supratentorial 80.91954 8.687011 SRT 0.402299 \n", - "0 Female Other Supratentorial 80.91954 8.687011 SRT 0.402299 \n", - "\n", - " time \n", - "0 27.188621 \n", - "0 27.188621 \n", - "0 27.188621 \n", - "0 27.188621 " - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "modal_df = pd.DataFrame(\n", " [modal_data.iloc[0] for _ in range(len(levels))])\n", "modal_df['diagnosis'] = levels\n", - "modal_df\n" + "modal_df" ] }, { @@ -982,136 +384,14 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "e7c1fe43", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.261832Z", - "iopub.status.busy": "2023-07-26T00:00:13.261701Z", - "iopub.status.idle": "2023-07-26T00:00:13.270198Z", - "shell.execute_reply": "2023-07-26T00:00:13.269836Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
sex[Male]diagnosis[LG glioma]diagnosis[Meningioma]diagnosis[Other]loc[Supratentorial]kigtvstereo[SRT]statustime
Meningioma0.00.01.00.01.080.919548.6870111.00.40229927.188621
HG glioma0.00.00.00.01.080.919548.6870111.00.40229927.188621
LG glioma0.01.00.00.01.080.919548.6870111.00.40229927.188621
Other0.00.00.01.01.080.919548.6870111.00.40229927.188621
\n", - "
" - ], - "text/plain": [ - " sex[Male] diagnosis[LG glioma] diagnosis[Meningioma] \\\n", - "Meningioma 0.0 0.0 1.0 \n", - "HG glioma 0.0 0.0 0.0 \n", - "LG glioma 0.0 1.0 0.0 \n", - "Other 0.0 0.0 0.0 \n", - "\n", - " diagnosis[Other] loc[Supratentorial] ki gtv \\\n", - "Meningioma 0.0 1.0 80.91954 8.687011 \n", - "HG glioma 0.0 1.0 80.91954 8.687011 \n", - "LG glioma 0.0 1.0 80.91954 8.687011 \n", - "Other 1.0 1.0 80.91954 8.687011 \n", - "\n", - " stereo[SRT] status time \n", - "Meningioma 1.0 0.402299 27.188621 \n", - "HG glioma 1.0 0.402299 27.188621 \n", - "LG glioma 1.0 0.402299 27.188621 \n", - "Other 1.0 0.402299 27.188621 " - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "modal_X = all_MS.transform(modal_df)\n", "modal_X.index = levels\n", - "modal_X\n" + "modal_X" ] }, { @@ -1124,153 +404,13 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "f89fbed7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.272136Z", - "iopub.status.busy": "2023-07-26T00:00:13.271995Z", - "iopub.status.idle": "2023-07-26T00:00:13.279105Z", - "shell.execute_reply": "2023-07-26T00:00:13.278699Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
MeningiomaHG gliomaLG gliomaOther
0.070.9979470.9824300.9948810.995029
1.180.9979470.9824300.9948810.995029
1.410.9956790.9633420.9892450.989555
1.540.9956790.9633420.9892450.989555
2.030.9956790.9633420.9892450.989555
...............
65.020.6887720.0401360.3941810.404936
67.380.6887720.0401360.3941810.404936
73.740.6887720.0401360.3941810.404936
78.750.6887720.0401360.3941810.404936
82.560.6887720.0401360.3941810.404936
\n", - "

85 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " Meningioma HG glioma LG glioma Other\n", - "0.07 0.997947 0.982430 0.994881 0.995029\n", - "1.18 0.997947 0.982430 0.994881 0.995029\n", - "1.41 0.995679 0.963342 0.989245 0.989555\n", - "1.54 0.995679 0.963342 0.989245 0.989555\n", - "2.03 0.995679 0.963342 0.989245 0.989555\n", - "... ... ... ... ...\n", - "65.02 0.688772 0.040136 0.394181 0.404936\n", - "67.38 0.688772 0.040136 0.394181 0.404936\n", - "73.74 0.688772 0.040136 0.394181 0.404936\n", - "78.75 0.688772 0.040136 0.394181 0.404936\n", - "82.56 0.688772 0.040136 0.394181 0.404936\n", - "\n", - "[85 rows x 4 columns]" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "predicted_survival = fit_all.predict_survival_function(modal_X)\n", - "predicted_survival\n" + "predicted_survival" ] }, { @@ -1285,32 +425,13 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "8f0329b4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.281050Z", - "iopub.status.busy": "2023-07-26T00:00:13.280921Z", - "iopub.status.idle": "2023-07-26T00:00:13.391548Z", - "shell.execute_reply": "2023-07-26T00:00:13.391175Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp8AAAKTCAYAAABfKmNzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACKg0lEQVR4nOzdd3hTZePG8W+S7j3potCyN8gUcKEoDlD0pyKooChOXLjAAW7cooLi3gpOHCAoKMoG2XvP0gGU7t3k90eg2pfVkeYk6f25rlxJk3NO7r7y6s1zzvMck81msyEiIiIi4gRmowOIiIiISP2h8ikiIiIiTqPyKSIiIiJOo/IpIiIiIk6j8ikiIiIiTqPyKSIiIiJOo/IpIiIiIk7jZXSAqrBarezfv5/g4GBMJpPRcURERETkf9hsNnJzc4mPj8dsPvH4pluUz/3795OYmGh0DBERERE5hb1799KwYcMTfu4W5TM4OBiw/zIhISEGpxERERGR/5WTk0NiYmJFbzsRtyifR0+1h4SEqHyKiIiIuLBTXSKpCUciIiIi4jQqnyIiIiLiNCqfIiIiIuI0bnHNp4iIiDif1WqlpKTE6BjiIry9vbFYLLU+jsqniIiIHKOkpISdO3ditVqNjiIuJCwsjNjY2Fqtu67yKSIiIpXYbDZSU1OxWCwkJiaedMFwqR9sNhsFBQVkZGQAEBcXV+NjqXyKiIhIJWVlZRQUFBAfH09AQIDRccRF+Pv7A5CRkUGDBg1qfApef5URERGRSsrLywHw8fExOIm4mqN/GSktLa3xMVQ+RURE5Lhqc12feCZH/JlQ+RQRERERp1H5FBEREamBJ554gk6dOjn8uCaTiWnTpjn8uK5C5VNEREQ8wg033IDJZOK222475rM777wTk8nEDTfc4LDve+CBB5gzZ47DjndUamoqF110kcOP6ypUPkVERMRjJCYmMmXKFAoLCyveKyoq4ssvv6RRo0YO/a6goCAiIyMdekyA2NhYfH19HX5cV6HyKSIiIh6jc+fOJCYm8v3331e89/3339OoUSNOO+20ivesVivjx48nOTkZf39/OnbsyLffflvx+dy5czGZTMyZM4euXbsSEBBAr1692Lx5c8U2/3va/YYbbmDgwIG8/PLLxMXFERkZyZ133llpZnhqaiqXXHIJ/v7+JCcn8+WXX5KUlMSECRMqtvnf0+5r167l3HPPxd/fn8jISG655Rby8vKO+d7nnnuOmJgYwsLCeOqppygrK+PBBx8kIiKChg0b8tFHH1X63+rhhx+mRYsWBAQE0KRJEx5//PFazWKvKq3zKSIiIidls9koLC035Lv9vS3VnmE9fPhwPvroI6699loAPvzwQ2688Ubmzp1bsc348eP5/PPPmTx5Ms2bN+fvv//muuuuIzo6mrPPPrtiu0cffZRXXnmF6OhobrvtNoYPH86CBQtO+N1//vkncXFx/Pnnn2zbto1BgwbRqVMnRowYAcDQoUM5ePAgc+fOxdvbm1GjRlUs3H48+fn59OvXj549e7Js2TIyMjK4+eabGTlyJB9//HHFdn/88QcNGzbk77//ZsGCBdx0000sXLiQs846iyVLljB16lRuvfVWzj//fBo2bAhAcHAwH3/8MfHx8axdu5YRI0YQHBzMQw89VK3/vatL5VNEREROqrC0nDZjZxny3Rue6keAT/XqynXXXceYMWPYvXs3AAsWLGDKlCkV5bO4uJjnnnuO2bNn07NnTwCaNGnC/PnzeeeddyqVz2effbbi59GjR3PJJZdQVFSEn5/fcb87PDyciRMnYrFYaNWqFZdccglz5sxhxIgRbNq0idmzZ7Ns2TK6du0KwPvvv0/z5s1P+Lt8+eWXFBUV8emnnxIYGAjAxIkTGTBgAC+88AIxMTEARERE8MYbb2A2m2nZsiUvvvgiBQUFPPLIIwCMGTOG559/nvnz53PNNdcA8Nhjj1V8T1JSEg888ABTpkxR+RQRERGpjujoaC655BI+/vhjbDYbl1xyCVFRURWfb9u2jYKCAs4///xK+5WUlFQ6NQ/QoUOHitdHbymZkZFxwutH27ZtW+nOP3FxcaxduxaAzZs34+XlRefOnSs+b9asGeHh4Sf8XTZu3EjHjh0riidA7969sVqtbN68uaJ8tm3bttJtUGNiYmjXrl3FzxaLhcjIyEqjrFOnTuWNN95g+/bt5OXlUVZWRkhIyAmzOIrKp4iIiJyUv7eFDU/1M+y7a2L48OGMHDkSgEmTJlX67Oj1ktOnTychIaHSZ/870cfb27vi9dHT/1ar9YTf+9/tj+5zsu0d5Xjfe7IsixYt4tprr+XJJ5+kX79+hIaGMmXKFF555ZU6z6ryKSIiIidlMpmqferbaBdeeCElJSWYTCb69atcnNu0aYOvry979uypdIq9rrVs2ZKysjJWrlxJly5dAPso7OHDh0+4T+vWrfn444/Jz8+vGP1csGBBxen1mlq4cCGNGzfm0UcfrXjv6GUKdc29/iSJiIiIVIHFYmHjxo0Vr/8rODiYBx54gPvuuw+r1coZZ5xBdnY2CxYsICQkhGHDhtVJplatWtG3b19uueUW3n77bby9vbn//vvx9/c/4aSqa6+9lnHjxjFs2DCeeOIJDhw4wF133cX1119fccq9Jpo3b86ePXuYMmUK3bp1Y/r06fzwww81Pl51VHuppb///psBAwYQHx9f5RX4586dS+fOnfH19aVZs2aVZmeJiIiI1IWQkJATXsP49NNP8/jjjzN+/Hhat27NhRdeyPTp00lOTq7TTJ9++ikxMTGcddZZXH755RUzzE80gSkgIIBZs2aRmZlJt27duPLKKznvvPOYOHFirXJceuml3HfffYwcOZJOnTqxcOFCHn/88Vods6pMNpvNVp0dfv31VxYsWECXLl244oor+OGHHxg4cOAJt9+5cyft2rXjtttu4+abb2bOnDnce++9TJ8+/Zhh8BPJyckhNDSU7Oxsp1wIKyIiUp8VFRWxc+dOkpOTT1iKxDH27dtHYmIis2fP5rzzzjM6zimd7M9GVftatU+7X3TRRdW65dPkyZNJTk6uuIC1devWzJ8/n9dee63K5VNERETEE/zxxx/k5eXRvn17UlNTeeihh0hKSuKss84yOprT1PkdjhYtWkTfvn0rvdevXz8WLVp0wn2Ki4vJycmp9BARERFxd6WlpTzyyCO0bduWyy+/nOjo6IoF5+uLOp9wlJaWdswFsTExMeTk5FBYWIi/v/8x+4wfP54nn3yyrqMdV1p2ESO/XHHSbQJ8vbj97Kb0bOr4+7mKiIiI5+rXr1+9P/PrkrPdx4wZw6hRoyp+zsnJITEx0SnfXVRcwoZt+0+6TZnZi4XbDnLd6Y1JjAioeN/Hy0yjiACSIwNJCPfHYq7e7cBEREREPF2dl8/Y2FjS09MrvZeenk5ISMhxRz3BvsDr/y7y6ixFqev4bvrJZ3tZTfBqr7P5eOGAE27jbTGReKSIJkXZH8mRgTSJDiQ+7Pi/t4iIiIinq/Py2bNnT2bMmFHpvd9//73iXqquxt/bQsEptjHb4MZ18wm+60ZsXj4V7xeUlLP7UD67DhVQUmZlx4F8dhzIP2b/VrHBDDwtgUs7xquIioiISL1S7fKZl5fHtm3bKn7euXMnq1atIiIigkaNGjFmzBhSUlL49NNPAbjtttuYOHEiDz30EMOHD+ePP/7g66+/Zvr06Y77LRwovmVnDi6adcLPiwvzSL30SiKzy7kqbya9bxt3zDZWq43UnCJ2Hcxn58F8dh3MZ9ch++vdhwrYlJbL879u4oWZm+iRHMHlpyVwcfs4gv3qz8XGIiIiUj9Ve53PuXPn0qdPn2PeHzZsGB9//DE33HADu3btYu7cuZX2ue+++9iwYQMNGzbk8ccf54Ybbqjyd7raOp8/PnszLT5bAEB29L/XfJb7eeN9Vi/aXHMrQc2Pf8ur7IJSZqxL5YeVKSzdmVnxfoNgX16+qiNntYiu2/AiIiKnoHU+5UQcsc5ntcunEVytfGYeTmVDv/OIzDnx/3SHG4UReFE/Wl19M74JDY+7zb7DBfy0ej9Tlu5lT6b9ZP8NvZLo06rBcbdvGO5P0+ig2v8CIiIiJ6HyKSei8mmgjbuWsX3VX5Xey925Fa8/ltBqezFe1n/fP9wilsgBA2l6xXV4RR67PFNhSTnjf93Ip4t2n/J7L2kfx6gLWqiEiohInVH5rJ2PP/6Ye++9l6ysLACeeOIJpk2bxqpVqwzN5Qgqny6o3FrO8i1/svG7jwj5ezUtdpdXrORfbobcDsm0fuw5wtp1OmbfPzdn8Pbc7eQXlx3nuDY2p+dis4HFbOLKzg25p29zTVgSERGHc9fyecMNN5CVlcW0adMqvX/0ksHDhw8TFhYGgM1m4/333+fDDz9k/fr1WK1WGjduTN++fbnrrrto1qxZjXP8b/nMy8ujuLiYyOMMQLkbQ26v6fFy0+CX+06+jU8g9HkUIpKP+chittC9VV+6P9qXooeLmL/qR3b98AWxC7fRNNVG2Kqd7BpyLdEvPkfChZdV2rdPywb0aXn8U+4Am9JyeHnWFmZvTGfqP3v5bUMav913NtHBxixLJSIi4o5sNhtDhgxh2rRpPPLII7z22mvEx8ezf/9+fvjhB5555hk+/vhjh31fUFAQQUE6Y3lUnd9e0+2UFsDmGSd/rP0Glr53ykP5efnRt+sgbn72J874dSGbJ9/Nxibe+JZYybpvNFvfe71a0VrFhvD+sK58d3svmkQFcriglK+W7qnpbyoiIlIvTZ06lSlTpjB16lQef/xxTj/9dBo1asTpp5/OCy+8wEcffXTS/X/66SeaN2+On58fffr04ZNPPsFkMlWMdP6vJ554gk6dOlX8bLVaeeqpp2jYsCG+vr506tSJmTNnVny+a9cuTCYTX3/9NWeeeSb+/v5069aNLVu2sGzZMrp27UpQUBAXXXQRBw4cqNhv2bJlnH/++URFRREaGsrZZ5/NihUnv2ujETTy+b8ComDAGyf+fO8SWPUFZG6v1mHD/MIYeM7t7Ol4IX/cNYge/+RS9spk1u7ZRbsnXsZksVT5WF0ah3P3ec25d+oqvlyyh5F9mmHW3ZRERKSu2Gz2wRkjeAeAybH/jfvqq69o2bIll1566XE/N53k+3bu3MmVV17JPffcw80338zKlSt54IEHqvX9r7/+Oq+88grvvPMOp512Gh9++CGXXnop69evp3nz5hXbjRs3jgkTJtCoUSOGDx/OkCFDCA4O5vXXXycgIICrr76asWPH8vbbbwOQm5vLsGHDePPNN7HZbLzyyitcfPHFbN26leDg4GplrEsqn//LLwS6DDvx52GNjpTPHTU6fKPwZC59byZfPXY1505Pweubmazcu49Ob32COSDg1Ac44qL2sYz53kJaThHbD+TRPMZ1/lCJiIiHKS2A5+KN+e5H9tsvd6uiX3755ZhT3OXl5ZV+3rJlCy1bVl4S8d577+X9998HICwsjH379h33+O+88w4tW7bkpZdeAqBly5asW7eOZ599tsoZX375ZR5++GGuueYaAF544QX+/PNPJkyYwKRJkyq2e+CBByruA3/PPfcwePBg5syZQ+/evQG46aabKl0ecO6551b6nnfffZewsDD++usv+vfvX+V8dU2n3asrsqn9+fAusJafdNMTifCPYPgLP/PbzR0osYD/4nUsH/p/2KzWU+98hK+XhQ4NQwFYsedwjXKIiIh4mj59+rBq1apKj6Ol8mQeffRRVq1axdixY8nLyzvhdps3b6Zbt26V3uvevXuV8+Xk5LB///6KAnlU79692bhxY6X3OnToUPE6JiYGgPbt21d6LyMjo+Ln9PR0RowYQfPmzQkNDSUkJIS8vDz27HGtS/Q08lldIQlg8YHyEshJsY+E1oC/lz8jR33JO7GjOP3F3what4vtX75Ps+tuqfIxujQOZ8nOTJbsyGRQt5rlEBEROSXvAPsIpFHfXQ2BgYHHzFT/31HM5s2bs3nz5krvRUdHEx0dTYMGJ57462ze3v/e+fDopQD/+571PwNXw4YN49ChQ7z++us0btwYX19fevbsSUlJifNCV4FGPqvLbIHwJPvrGp56P8pitnD7tRNYfrF9NDV7wkTKs7OrvP8ZzaMA+HvrQUrLqz5qKiIiUi0mk/3UtxEPB1/vCTB48GA2b97Mjz/+WO19W7ZsyT///FPpvWXLllV5/5CQEOLj41mwYEGl9xcsWECbNm2qned/j3H33Xdz8cUX07ZtW3x9fTl48GCtjlkXVD5rIqKJ/bmW5RPsf2vp++AE9kWZCMgrZfVzo6u8b9fGEQT7eXEwr5hr31vCgdziWucRERHxdNdccw1XXnkl11xzDU899RRLlixh165d/PXXX0ydOhXLSSYB33rrrWzatImHH36YLVu28PXXX1dcd3myiUr/9eCDD/LCCy8wdepUNm/ezOjRo1m1ahX33HNPrX6v5s2b89lnn7Fx40aWLFnCtddei7+/660HrvJZEw4snwDJkc1IGXERAL4/zSX1pZc48Mabxzxy//yz0n4+XmbeHHwawb5eLN2VyaUT57N6b5ZDMomIiHgqk8nE1KlTmTBhAjNmzOC8886jZcuWDB8+nMTERObPn3/CfZOTk/n222/5/vvv6dChA2+//TaPPvooAL6+VVt3++6772bUqFHcf//9tG/fnpkzZ1Ys31QbH3zwAYcPH6Zz585cf/313H333S51GcFRusNRTSx9D2Y8AK36wzVfOOSQeSV5/DD4DLquP/noZegTjxJ/zXWV3tt+II8Rn/7DjgP5hPh5sXDMeQT56nJeERGpGXe9w5FRnn32WSZPnszevXuNjlLndIcjoxy9s5GDRj4BgnyCiH78UX6cMA7f41wXHJkL3bbaOPTMc4S2aU9gh44VnzWNDuLHO3tz4YR5pGQVsmj7Ic5vE+OwbCIiIvKvt956i27duhEZGcmCBQt46aWXGDlypNGx3IbKZ00cPe2esQF+exxMR65eCG0Ip10P3jX7W+KFna6ix+S+FJYVHvNZSs5elt92E122lLPltptp/9OveEVFVXwe7OfNea0b8Omi3czdnKHyKSIiUke2bt3KM888Q2ZmJo0aNeL+++9nzJgxRsdyGzrtXhPlZfB84vHv9tD+KrjivTqZnffz6qn43/4ECZlQ2qEF7b/4FtN/llz4c1MGN368jKggXxaPORcviy7pFRGR6tNpdzkRR5x2VzupCYsXXP0p9Bz576P7LWD2st/3fd7LdfK1AzoOYs0DF1PgA95rtrDjmbGVPj+jeRQRgT4czCvmoe/WUFhSs0XwRUREROqKymdNNT8f+j377+Pil+wPgD+egQ3VXzusKu687Dl+GpIEQMnUaRTt2V3xmbfFzKUd7bc/+35FCh8u2FknGURERERqSuXTkboOhx63219/fyvsX+nwr/C1+HLryA/YGWf/R7d96exKn99xTtOK1yt1200RERFxMSqfjnbBM9CsL5QVwleDISfV4V8RHxRPXmIkAIfXVy64DUL8mHrL6QD8s/swnyzcxfr92ZRbXf7SXhEREakHNNvd0SxecOWH8P75cHAzTBkMN8wAn+rdm/ZUbE0bwdIDlG7bfsxnbeJD8PM2k1VQyrif1gMQ7OvFaY3D6dY4nK5JEXRKDMPf58R3cBARERGpCyqfdcEvFIZMgffOs596n3Y7XPkRmB030BzUqi2wHN9d6cd8FuznzQ939Ob3Deks25XJit2HyS0u4+8tB/h7ywEAvMwm2iWE0i3JXka7Ng4nMqhqd2YQERERqSmVz7oS0QQGfQ6fXgYbpsFfraCP49YAi+/YE/iU0IOFWIuLMf/PLb1ax4XQOs6+zEFZuZVNabn8syuTZbsPs2xnJhm5xazam8WqvVm8N88+MemMZlE82K8lHRPDHJZTRESkvjCZTPzwww8MHDiQXbt2kZyczMqVK+nUqZPR0VyKrvmsS0m9of9r9td/PQ9rv3XYoZOTOlFqAbMN8tL2nXRbL4uZdgmh3NA7mUlDOrPkkfOY91AfXr26I4O7N6J5gyAA5m87yGWTFnDHF8vZcSDPYVlFRESc4YYbbmDgwIEn3WblypUMGjSIuLg4fH19ady4Mf379+fnn3/GkUufJyYmkpqaSrt27Rx2TE+hkc+61vl6+7WfC9+EaXdAeBI07Frrw4b6hpIdaCIqx0bm/u2ENG566p2OMJlMJEYEkBgRwBWdGwKwN7OA12Zv4YeVKcxYm8as9elc3TWREWcmE+RX+Y9JeIAP3lrAXkRE3MyPP/7I1VdfTd++ffnkk09o1qwZxcXFLFy4kMcee4wzzzyTsLAwh3yXxWIhNjbWIcfyNGoQztD3SWhxIZQXw5QhkJ1S60OaTCbyQ+x3N8pJ3VPr4yVGBPDq1Z349Z4z6du6AeVWG18t3cO5r/xF92fnVHqc89Jc9hw6zt2dREREXFR+fj433XQTl1xyCdOnT+eCCy6gSZMmtG7dmptuuonVq1cTGhp6wv1TU1O55JJL8Pf3Jzk5mS+//JKkpCQmTJhw3O137dqFyWRi1apVFe/99ddfdO/eHV9fX+Li4hg9ejRlZWUVn59zzjncdddd3HvvvYSHhxMTE8N7771Hfn4+N954I8HBwTRr1oxff/21Yp/y8nJuuukmkpOT8ff3p2XLlrz++uu1/t+rLql8OoPZAv/3PjRoA3np9lPwDlAU6g9Afnrty+xRrWJDeH9YN765rSfdkyOwmE2YTVQ8AFKyCrnjy+UUleoOSiIi9YHNZqOgtMCQh6NOhf/2228cOnSIhx566ITbmE5ya+yhQ4eyf/9+5s6dy3fffce7775LRkZGlb8/JSWFiy++mG7durF69WrefvttPvjgA5555plK233yySdERUWxdOlS7rrrLm6//XauuuoqevXqxYoVK7jgggu4/vrrKSiwDwJZrVYaNmzIN998w4YNGxg7diyPPPIIX3/9dZWzOZtOuzuLbzBc9AJ8MgA2/AQXvwJePrU6ZFl4EJBNcUaaYzL+R7ekCL6+tecx7+/PKuSSN+axLiWHZ6dv5OmBupZFRMTTFZYV0uPLHoZ895IhSwjwrv1yhVu2bAGgZcuWFe8tW7aMPn36VPw8ZcoU+vfvf8y+mzZtYvbs2SxbtoyuXe2Xzr3//vs0b968yt//1ltvkZiYyMSJEzGZTLRq1Yr9+/fz8MMPM3bsWMxHVsTp2LEjjz32GABjxozh+eefJyoqihEjRgAwduxY3n77bdasWcPpp5+Ot7c3Tz75ZMX3JCcns2jRIr7++muuvvrqKudzJo18OlPj3hAUC0VZsP2PWh/OFh0BQHla1f/mVVvxYf68NqgTAJ8t3s2fm5333SIiIo7UoUMHVq1axapVq8jPz690Cvy/Nm/ejJeXF507d654r1mzZoSHh1f5uzZu3EjPnj0rja727t2bvLw89u37d+Jwhw4dKl5bLBYiIyNp3759xXsxMTEAlUZdJ02aRJcuXYiOjiYoKIh3332XPXtqf0leXdHIpzOZLdD2cljyNqz7DlpeWKvDecXFAmsxZxxyTL4qOqdlA27sncRHC3bx9p/b6dOygVO/X0REnMvfy58lQ5YY9t2OcHSUcvPmzZx+uv1OgL6+vjRr1swhx3cUb2/vSj+bTKZK7x0tr1arFbCP1j7wwAO88sor9OzZk+DgYF566SWWLDHmn1dVqHw6W7v/s5fPzTOgpKBWdz4KaJgEgM+BHAeFq7rbzm7K54t3s3RXJvO2HqBlTDAA4YGaCS8i4mlMJpNDTn0b6YILLiAiIoIXXniBH374oVr7tmzZkrKyMlauXEmXLl0A2LZtG4cPH67yMVq3bs13332HzWarKJALFiwgODiYhg0bVivPfy1YsIBevXpxxx13VLy3ffuxdz90JSqfztawK4Q2guw9sPU3aDuwxocKb2z/W1xwZlGlP8zOEBPix6UdE/huxT6u/2BpxfsJYf7Muf9s/Lx1604REXG+7OzsSjPMASIjI0lMTOT9999n0KBBXHLJJdx99900b96cvLw8Zs6cCdhPcx9Pq1at6Nu3L7fccgtvv/023t7e3H///fj7+1f5v7133HEHEyZM4K677mLkyJFs3ryZcePGMWrUqIrrPWuiefPmfPrpp8yaNYvk5GQ+++wzli1bRnJyco2PWdc0ROVsJhO0u8L+el3tFp1vkNQaK+BdZqN0//7aZ6umO/s0pUGwLxazCcuRqfApWYVsy9AC9SIiYoy5c+dy2mmnVXocnZBz+eWXs3DhQgICAhg6dCgtW7bk3HPP5Y8//jjhZKOjPv30U2JiYjjrrLO4/PLLGTFiBMHBwfj5+VUpV0JCAjNmzGDp0qV07NiR2267jZtuuqliclFN3XrrrVxxxRUMGjSIHj16cOjQoUqjoK7IZHPkcv51JCcnh9DQULKzswkJCTE6Tu2lroF3zgSLLzy4Dfxq9jsVlRUxs99ptEwBv0FXkPzksw4OWj0DJy1g1d4sJl/XmQvbxRmaRUREaq6oqIidO3eSnJxc5XJV3+zbt4/ExERmz57NeeedZ3QcpznZn42q9jWddjdCbHuIbA6Httqv/ex4TY0O4+flx7xLGtHy3T0UfDuNkptuxadRIweHrbrEiABW7c3iwW/WMPbH9TU6Roi/N5OGdKZlbLCD04mIiNTcH3/8QV5eHu3btyc1NZWHHnqIpKQkzjrrLKOjuR2ddjeCyQTtr7S/XvddrQ51wRWjWJVswlxuJeXVlx0Qrua6J9mXnMgtLiMjt7hGj20ZeUxb5bhF80VERByhtLSURx55hLZt23L55ZcTHR3N3Llzj5mdLqemkU+jtL0C5o63r/dZkAkBETU6zPmNz+fey5rSacI2imb+TuH69fi3bevgsFVz3emNObN5NAUlNbvz0cz1abwxZysbU50/e19ERORk+vXrR79+/YyO4RFUPo0S3cJ++j1tLWz8CbrcUKPDmE1mrur/EPN+v5Uz19vY99ILNP/4U8dmrSKTyURSVGCN9y8sLeONOVtZl5LD2n3ZFe83axCEv49mz4uIiHgCnXY3Urv/sz+vrd2s9zMSzmDt5e2xAmWLl1GWmVn7bAZoGWu/OPlgXjEDJs6veFzx9kKDk4mIiIijqHwaqe2RJZd2zYfcmt+f3WQyMazvg2QF2X/O3e3ai8ueSJCvF8N7JxMf6kd8qB+xIfZZdBtTcygpsxqcTkRERBxB5dNI4Y2hYTfABuun1epQXWO7khlmv4oiY/u62mczyNgBbVg45jz7Y/S5eB1ZP/RQfrHByURERMQRVD6N1u7IrPf139f6UAVHrrfM2eOeI5//y2w2ERXkC8CBXJVPERERT6DyabSWF9qfU1ZAWUmtDlXWwL7UUdG+vbVN5TKig+3l87JJC/h+xT4KaziTXkRERFyDyqfRwhqDbwhYS+2LzteCKS4GAGtqza8fdTWtjiw2b7PBqK9X0/252Tw+bR3rUrJPsaeIiEj1fPzxx4SFhRkdw+OpfBrNZIKYI+typtfsrkBH+TVqDIDP/kO1TeUynrqsHR/f2I37+ragYbg/uUVlfLZ4N/3fnM8lb8zj00W7yC4oNTqmiIi4kL179zJ8+HDi4+Px8fGhcePG3HPPPRw69O9/H5OSkpgwYYJxIesxlU9XUFE+azdRKKRFawCCD+RjK/WMQubvY+Gclg24p29z/n6wD5/f1IMBHePxsZhZvz+HsT+up/tzs7l3ykoWbT+EzWYzOrKIiBhox44ddO3ala1bt/LVV1+xbds2Jk+ezJw5c+jZsyeZBixHWOoh/012FJVPVxDTzv6cVrvy2bBJJ4q8wWKF4t27HRDMtZjNJs5oHsWbg09jySPnMbZ/G1rGBFNcZmXaqv0Mfm8x57w8l0l/biOnSP9HFxGpj+688058fHz47bffOPvss2nUqBEXXXQRs2fPJiUlhUcffZRzzjmH3bt3c99992EymTCZTJWOMWvWLFq3bk1QUBAXXnghqamplT5///33ad26NX5+frRq1Yq33nqr4rNdu3ZhMpmYOnUqZ599Nn5+fnzxxRdO+d3dhe5w5AqOls9annZvHNqYOZEmmqbZyNy8hvhmzRwQzjWFB/ow/IxkbuydxOp92UxdtpefV+9n96ECXpq1mVnr0/j2tl74eOnvVyIitWWz2bAVFhry3SZ//2PK4YlkZmYya9Ysnn32Wfz9/St9Fhsby7XXXsvUqVPZunUrnTp14pZbbmHEiBGVtisoKODll1/ms88+w2w2c9111/HAAw9UFMgvvviCsWPHMnHiRE477TRWrlzJiBEjCAwMZNiwYRXHGT16NK+88gqnnXYafn5+tfxfwbOofLqCBq0BE+SlQf5BCIyq0WH8vfw5HBsAafkcfuk1Ys7uhyWo5re7dAcmk4lOiWF0Sgzj8f6tmb4mlWdnbGTNvmxe+W0zYy5ubXREERG3ZyssZHPnLoZ8d8sVyzEFBFRp261bt2Kz2Wjd+vj/7m/dujWHDx+mvLwci8VCcHAwsbGxlbYpLS1l8uTJNG3aFICRI0fy1FNPVXw+btw4XnnlFa64wn6jmOTkZDZs2MA777xTqXzee++9FdtIZRoWcgW+QRCRbH9dy+s+ixo1AMCcdpDDX35Z22RuJcDHi6u6JvLC/3UA4J2/d/D3lgMGpxIREWerzfX/AQEBFcUTIC4ujoyMDADy8/PZvn07N910E0FBQRWPZ555hu3bK6+x3bVr1xpn8HQa+XQVMW0hc4f91HuTc2p8mNx+PeCnnQCkb11NzcZQ3Vu/trFcf3pjPlu8m1Ffr+bXe86sWC9URESqz+TvT8sVyw377qpq1qwZJpOJjRs3cvnllx/z+caNGwkPDyc6OvqEx/D29q78/SZTRZnNy8sD4L333qNHjx6VtrNYLJV+Dgz07DOPtaHy6Spi2sHGn2t93WfH5mfwXr+vGTHLSnrqVto6KJ67efSS1izdmcnm9FwGvbOIRpFVO2VzKhGBPjx5aVuC/bxPvbGIiIcwmUxVPvVtpMjISM4//3zeeust7rvvvkrXfaalpfHFF18wdOhQTCYTPj4+lJdX78YlMTExxMfHs2PHDq699lpHx683VD5dhYOWWzqv0XnsbtoTWIA5O7/2udyUn7eFN4ecxqUT57PjYD47Djruf4vOjcK57vTGDjueiIg4zsSJE+nVqxf9+vXjmWeeITk5mfXr1/Pggw+SkJDAs88+C9jX+fz777+55ppr8PX1JSqqaucKn3zySe6++25CQ0O58MILKS4u5p9//uHw4cOMGjWqLn81j6Hy6SqOznjP2ATlZWCp+T+ahIRWwAK8c4yZmegqWsQEM+3O3qxLyXHI8eZsTOfXdWms2pul8iki4qKaN2/OP//8w7hx47j66qvJzMwkNjaWgQMHMm7cOCIiIgB46qmnuPXWW2natCnFxcVVvk705ptvJiAggJdeeokHH3yQwMBA2rdvz7333luHv5VnMdncYFXunJwcQkNDyc7OJiQkxOg4dcNqhecToSQP7lgCDVrV+FDz/vqCqFufoSDAQufla6u8RIWc3OwN6dz86T80axDE7FFnGx1HRKTOFBUVsXPnTpKTk7VMkFRysj8bVe1rmu3uKsxmaNDG/rqWp96D4xIBCCgoZ88NN1K4enVt0wnQMTEMgO0H8rSIvYiISA2pfLqS2COn3n+6G15qduzj8/+D8lOXnrCYRnzb20SpBQqWLGHXoGvYd9ddFG/bVse/gGeLDvYlIcwfmw0e/GY13y3fZ3QkERERt6Py6Uqanmt/Ls2H/APHPrbNhn3LTnmY6IBovj/bl3tutbCgkw82s4nc32ez49LL2D/mEUpTUur4F/Fc3ZPt1wrNWp/O/d+sZt5WrSMqIiJSHbrm09Vk7YXi40yQmf0EbP0N+jwGZz94ysMsTl3MC0tfYFvWNhIO2rhhgQ8dN9gnIJm8vQkfMpjIW2/F68iF11I1GTlF/LAyhWW7Mpm9MYO4UD9m3XcWIVp6SUQ8iK75lBPRNZ+eKCzRvuzS/z6aX2D/fPf8Kh3m9LjT+XbAtzzV6ynKGsXy7GWlPDLUwo6mgdhKS8n85FO29z2fA29OpPzIorlyag1C/Lj17Ka8Mfg0kiIDSM0u4umfNxgdS0SkTrjB+JQ4mSP+TKh8uovGve3Pe5dW6bpPAIvZwuXNL+eXy3/h3s73kp4Uwuirinj6GjNpiUFYCwo4OGkS28+/gEMff4y1uLgOfwHPEuDjxctXdcRkgm+W72POxnSjI4mIOMzRu/WUlJQYnERcTUFBAXDsnaCqQ6fd3YXVCi81hcJMuOl3SOxe7UNkFWXx3tr3+GrTV5SWl9Bjs42bF/oTmm5fgN2/UycaffwRZp1iqbLnZmzk3b93EB3sy2/3nkV4oI/RkUREas1ms7Fnzx5KS0uJj4/HbNZYVX1ns9koKCggIyODsLAw4uLijtmmqn1N5dOdTLkWNv0C542DM2t+F4WUvBTeXPkm03dMx2y1cd5aM8PmmvApKCGkf3/iX3pRa4NWUVFpOf3fnM+2jDx6N4vktUGdaBCs8i4i7q+kpISdO3ditVqNjiIuJCwsjNjY2OP2BJVPT7T4bZg5Gpr1heu+q/XhNhzawGvLX2Nx6mLa7rLy2FQrFitE33sPUbfd5oDA9cPqvVlc9c4iSsqshAV48+Slbbm0Y7wKvIi4PavVqlPvUsHb27vikozjUfn0RKlr4J0zwScIHt5dq1tw/tfClIU8vuBxOixM45aZ9r/hJrzxOiEXXOCQ49cHG1NzeOCb1azfb1+poF/bGJ4Z2J7oYF+Dk4mIiDiHZrt7opi24BdqvwVnmuPuWtQroRdvnPsG87r682sX+2jd/odHU7RBs7irqnVcCNPu7M19fVvgZTYxa306F7z2Fz+v3q/ZoiIiIv+h8ulOzBZo1Mv+etcChx66bVRbxvUcxyd9zaxKNmErLGTvHXdSdkCLqFeVt8XMPX2b89PIM2gTF8LhglLu+mold3yxgoN5WklAREQEdNrd/Sx8E357DFpcCEOmOvzwr/zzCl8v/4jnPrURf8iKT1ISvi1bVtrGt3lzou68Q9c0nkRJmZVJf25j0p/bKLPaiAj04enL2nFJh2NnB4qIiHgCXfPpqVJWwHt9wDcUHt5pHw11oHJrOXfMuYMd6xYw/lMbgYXHn+XY6NNPCOxe/eWe6pt1Kdk88M1qNqXlAtAkOhAfS81POLSICealqzrg6+XYf+4iIiK1VdW+5pgZK+I8sR3AJxiKsyF9HcR1dOjhLWYLL571IkNyh/DAjbu5KDWOhIB/R+sarthHzMYMcmb8qvJZBe0SQvlp5BlM/GMrk+ZuZ8eB/Fodb1NaLkmRAYy6oOWpNxYREXFBGvl0R59fCdt+h37joecddfIV27O2M2T6EArKCiq933G7lUe/tmILC6H1/AWYvPT3l6ram1nA7kMFp97wBDal5fDM9I1YzCZ+vLM37RJCHZhORESkdjTy6cmSetvL5+4FdVY+m4Y15av+X/HHnj8qzdaeFzGXnJ9XEJKVQ8GyZQT27Fkn3++JEiMCSIwIqPH+ZzSPYuWeLKavTeXBb9fw45298fHSnEEREXEvKp/uqPEZ9ufdC+y33ayj2541CW1Ck/ZNjnlvacuV9F1lI3vGryqfTvbkZW1ZtOMQG1NzeGvuNu7t28LoSCIiItWiYRN3FN8JvPyg8DBk7XLqV/dO6M3ydvbbR2bN+hVbaalTv7++iwry5clL2wIw8Y9tbDiyqL2IiIi70MinO7J4Q0Ak5KRAYZZTv9rPy48GvfqQ9f0MwnLyyF+8hKAzz3Bqhvquf4c4pq9JZeb6NB74ZjV3n9esWvs3iQ6iRUxwHaUTERE5OZVPd+UbAqRAca7Tv/r8pheystmv9Fljo+CfZSqfTmYymXh6YDsW7zzEhtQcbvt8RbWP0bxBEAM6xtO/QxxNooPqIKWIiMjxqXy6K98jI1cGlM8zEs5gdkMfWFPMwZVLaOD0BBId7Mvr15zG23O3UW6t+oIVZVYb61Ny2JqRx6u/b+HV37fQNj6EAR3juaR9XK0mRImIiFSFyqe7qiifzr/mz9/Ln5AOnWHGIso2bMZms+luRwY4u0U0Z7eIrvZ+2YWl/LY+jV/WpDJ/20HW789h/f4cnv91E6c1CqN/B3sRjQ31q4PUIiJS36l8uisDRz4B4jueTqllEd55RZTu24dPYqIhOaT6Qv29uaprIld1TSQzv4SZ69L4efV+Fu88xMo9Wazck8Uz0zfQPSmC/h3juahdLFFBvkbHFhERD6Hy6a78jizeasDIJ0Cb2I7sjoZmaVC0bp3Kp5uKCPRhSI9GDOnRiIycImasTeWXNan8s/swS3ZmsmRnJk/8tJ5eTSMZ0CGefm1jCQ3wNjq2iIi4MZVPd+V7tHwaM/LZOrI1i+JMNEuzcfDnH7GV2+8B79u8OX4ttfakO2oQ4scNvZO5oXcyKVmFTF+zn1/WpLJmXzbzth5k3taDPDptLWc1j2ZAx3j6tokhyFf/ChERkerRfznc1dHT7kXGjHyG+IRwuEkkrDxI8R9/sf+PvwAw+frSfP48LMFaysedJYT5c8tZTbnlrKbsOpjP9LWp/Lx6P5vScpmzKYM5mzLw9TLTs2kkgUcKaJCPFyPOSqZZA/2zFxGRE1P5dFcGj3wClJzVhXmbfqO9OZH4oHgKFi3GVlxMWUaGyqcHSYoK5M4+zbizTzO2pufy85pUflm9nx0H85m7+UClbX/fmM5XI06nZaz++YuIyPGpfLorgyccATRP6MBrl87By5SBjyWLlzaaiM6yUZqTjaaneKbmMcGMOj+Y+/o2Z0NqDit2H+boSk/fLt/H2pRshry3mK9uOV0L2YuIyHHp9pruysCllo46M+FMvMxelNnKKCgrIN/H3kIOZOw2LJM4h8lkom18KNf3TGJYL/vj85t60C4hhEP5JQx5bzFb0437i5GIiLgulU935Qojn+HN+WvQX8y4YgYzrphBwZHhzqLsQ4ZlEuOEBnjz+U09aBsfwsG8Ega/t4RtGSqgIiJSmcqnu/ILtT8bOPIJ9olHicGJJAYnQlAgAEU5mYZmEuOEBfjw+U09aB0XwsG8Yq55dwnbMvKMjiUiIi5E13y6KxcY+fxf5QG+QD7W1RvImfVbjY5hCQ0hoFs3TBaLY8OJ04QH+vDFzT0Y8t5iNqXlMuS9xUy55XTdQ15ERACVT/f136WWbDZwgdtblgXZb8cY8PsSUn5fUuPjxL/8MqH9L3FULDFARKAPX444vaKADn5vMTPvOYvwQB+jo4mIiMFUPt2Vz5FRJFs5lBWBt7+xeYDtZzWBvak090skOqD69xwv3buPsvR0irdvq4N04mwRR0ZAL524gJSsQuZtO8ilHeONjiUiIgZT+XRX/y2bLlI+y5LjGT/IQkKQidjA6v/R6j3TizNmQm5GCg3qIJ84X2SQL6c1CiMlq5CMnCKj44iIiAtQ+XRXZi8wmcFmhbJio9MA0Ci4EQApeSmk5KVUe/8Im5UzgLS9m2jq4GxinJgQ++UYGbmu8edURESMpfLprkwmsPhCWaHLlM+hbYbSMqIlBaUFNdp/w8EPgDWQZewMfnGsBsH2Nbg08ikiIqDy6d68XKt8elu8OSPhjBrvn5W4CFiDV5aW5vEkDUKOlE+NfIqICFrn07152U9nUuYZI0qBUbEA+OZ6xu8jdjHBOu0uIiL/0sinO/M6ckshFxn5rK3gmEQAfAvLyZ07t2KtT7927fAKDzcymtTC0ZHPbRl5dHyyauu/mk0wrFcS9/ZtUZfRRETEACqf7uxo+Sz3jPIZFhVPmRm8rLDvttsr3vdp0oSmM6YbmExqo2F4ALEhfqTlFJFdWFrl/d6au50beycT6u9dh+lERMTZVD7dWcXIp2ecpg4PiOTdM8302gwtI1pCaRnFW7dSsmsXNpsNkwsspC/V5+dt4c8HzmF/dmGVtrfZ4KrJCzlcUMova/ZzbY/GdZxQREScSeXTnVVc8+kZI5+RfpFM62VmWi+4qd1Z+BSW0ufmrWC1YispweTra3REqSF/HwtNq3F7zTv7NOOZ6Rv5dvk+lU8REQ+jCUfuzOJZ13z6e/kT7GO/begH6z7gna2fVHxmLajZ8k3ini7rlIDFbGLlniy2ZWj1AxERT6Ly6c48bMKRyWTipbNe4trW13Jt62u5vOWVlNrnHKl81jPRwb70aWm/Ret3K/YZnEZERBxJp93dmYcttQTQO6E3vRN6A5Bfms8G76l4l0NhXhY+JBicTpzpyi4Nmb0xg+9X7OOBC1piMeuaXxERT6Dy6c4qZruXGJujjvhZ/CjyhqAiKM7LNjqOONm5rWIID/AmPaeYmevS6JZ84uW2Qvy88fO2ODGdiIjUlMqnO/Ow2e7/y2K2UOJjAmwUqXzWOz5eZi7rlMDHC3dx55crTrptsK8Xrw/uxLmtYpyUTkREakrXfLozD7vm83hKfex/RIvzVT7ro6E9GxMV5IvZxAkfJhPkFpdx2+cr+HvLAaMji4jIKWjk050dveaztGrrJ7qjUh8LUE7pA09R2uksvOPjjY4kTtQkOoh/Hut70m1Ky62M/HIFs9anc8tn//DRDd3p2TTSSQlFRKS6NPLpzrz97c8eetod4HC0vWCbrDZ2XnU1BStWGpxIXI23xcybgztzbqsGFJVauemTZfyzK9PoWCIicgI1Kp+TJk0iKSkJPz8/evTowdKlS0+6/YQJE2jZsiX+/v4kJiZy3333UVTkuYXJabwD7M+lnrsM0W9XNOLVgWbKkhMoP3SIPcOGkfXDNKNjiYvx8TLz1rWdObN5FAUl5dzw0TJW7c0yOpaIiBxHtcvn1KlTGTVqFOPGjWPFihV07NiRfv36kZGRcdztv/zyS0aPHs24cePYuHEjH3zwAVOnTuWRRx6pdfh6r6J8eu5pd6+AQBa3NnPjFWl49TkTW2kpqWPGkP7SS9jKy42OJy7Ez9vCu9d35fQmEeQVlzH0gyWsS9G1wiIirqba5fPVV19lxIgR3HjjjbRp04bJkycTEBDAhx9+eNztFy5cSO/evRkyZAhJSUlccMEFDB48+JSjpVIFR0+7e/DIZ+MQ+60Vi31M3HLWZsqH/R8AmR98yL477qQ8T3e/kX/5+1j4YFg3ujYOJ6eojOs/WMKmtByjY4mIyH9Uq3yWlJSwfPly+vb9dwKA2Wymb9++LFq06Lj79OrVi+XLl1eUzR07djBjxgwuvvjiE35PcXExOTk5lR5yHPVg5HNM9zG8ds5rNA9vzsGSTG5InMmBMUMx+fqS99df7LrmGkr27DE6priQQF8vPrqxGx0TwzhcUMp17y/RLTpFRFxItWa7Hzx4kPLycmJiKq+lFxMTw6ZNm467z5AhQzh48CBnnHEGNpuNsrIybrvttpOedh8/fjxPPvlkdaLVT0dHPks8d+TTz8uPvo370jO+Jw///TB/7fuLO/mSh8ddSY8Jf1CybTu7rrqahNdfJ/D0HkbHFRcR7OfNpzd2Z8j7i1m/P4ch7y3mrWs7Exbg7fDv8raYaRQRgMmkOzCJiFSFyWaz2aq68f79+0lISGDhwoX07Nmz4v2HHnqIv/76iyVLlhyzz9y5c7nmmmt45pln6NGjB9u2beOee+5hxIgRPP7448f9nuLiYoqL/127Micnh8TERLKzswkJCanO7+fZtvwGX14FcZ3g1r+MTlPnyq3lvLL8FT7b8BkAV0Wcx3Wf7KN43Xrw8iL2sccIv2aQwSnFlWTmlzDkvcVsSsut0++5+7zmjDq/RZ1+h4iIq8vJySE0NPSUfa1aI59RUVFYLBbS09MrvZ+enk5sbOxx93n88ce5/vrrufnmmwFo3749+fn53HLLLTz66KOYzcee+ff19cXX17c60eqnims+Pfe0+39ZzBYe6vYQSSFJPLfkOb7JnMOu6zvy+NzzKfr1d9KeeILirVuJGTMak5eWsBWICPTh85t7cO+UVazf7/jJR2XlNnKLy/hzU4bKp4hIFVXrv9A+Pj506dKFOXPmMHDgQACsVitz5sxh5MiRx92noKDgmIJpsdjvwVyNQVc5nnpwzefxXN3yahKDE7l/7v0sy1rN7b3jeSNpKOVvf8rhL76geMd2Gr72GpawMKOjiguICvLl85vr5pKMvZkFnPnin2xKy6G4rBxfL91fXkTkVKo9233UqFG89957fPLJJ2zcuJHbb7+d/Px8brzxRgCGDh3KmDFjKrYfMGAAb7/9NlOmTGHnzp38/vvvPP744wwYMKCihEoN1YPZ7ifSM74nn1/8OQ2DGpKSv58bon8m7+mRmAICKFi0mNSx44yOKPVAw3B/wgK8KS23sSVNk5pERKqi2ucmBw0axIEDBxg7dixpaWl06tSJmTNnVkxC2rNnT6WRzsceewyTycRjjz1GSkoK0dHRDBgwgGeffdZxv0V9Vc9Ou/+vJmFN+PKSL7n3z3tZkbGCEWXv8fQT19PsoffJ/fNPyrOyNPopdcpkMtE+IZR5Ww+yNiWb9g1DjY4kIuLyqjXhyChVvYC13slNh1daACYYdxjq6WzbkvISnlj4BD/v+BmA974IJnTPYWKfforwq64yOJ14uhdnbuKtudsZ3D2R8Vd0MDqOiIhhqtrXdG93d+Zz5JpPbFBWfNJNPZmPxYdnz3iWu0+7G4BfmtgnluRMn2FkLKkn2ifYRzvX6m5KIiJVovLpzrz8/31dD6/7/C+TycSIDiN4pvczLGxtHwEuWLKE0hPc9lXEUY6eat+clktxmW75KiJyKiqf7sziBRYf++uSfGOzuIgBTQdgio9hSzxgs5E7c5bRkcTDJYT5E35k0tHmOl5PVETEE2gxRHcXHAtZe+DwLghLNDqN4cwmMxc0voAFbT6lxX4rOTNmEDH0eqNjiQczmUy0bxjG31sO8MPKFA7kuv4lMK3jQogP8z/1hiIidUDl093FtLeXz/T1kHym0WlcwoXJFzKy9WcMmw2Fq1ZRsi8Fn4YJRscSD9Y+IYS/txzgowW7+GjBLqPjnFJ0sC+LRp+Ll0Unv0TE+VQ+3V1MW9g8HdLXGp3EZXSI6oB/TDwbGu+j3W4bOb/OIGrECKNjiQe7plsj1uzLJqeozOgop7QxNYcDucVsSsulXYKWhhIR51P5dHex7ezPaeuMzeFCTCYT/ZL6saDNh7TbbePwF19SumevQ45tiYok6rbbMOv2r/IfiREBfHZT3dxFydGGfriUv7ccYMWewyqfImIIlU93F3OkfGZshPIy+yQk4cKkC7m5xUfc+BuQlkbWN9847Nh+LVoQctFFDjueiDN1aRRuL5+7DzO0Z5LRcUSkHlJTcXfhyeAdCKX5kLkdolsancgltIlsQ1iDRJ4btId7vfrRPLx5rY+Z+/tsijZsoDQlxQEJRYzRuXEYAMv3HDY2iIjUWyqf7s5shpg2sG8ZpK1V+Tzi6Kn3D/I+4NOEQu7tfG6tj2k9uBc2bNDaoeLWOiWGYTLB3sxCDuQWEx2sS0hExLlUPj1BTDt7+UxfB+2vNDqNy7gw+UI+WPcB81PmMz9lfq2Pd1G6lRuBzD1bia19PBFDBPt50zImmE1puazYc5h+bfWnWUScS+XTExyddJS+3tgcLqZleEv6N+nPov2LHHK8nJDDQAkFaTrtLu7ttEbh9vK5W+VTRJxP5dMTxGjG+/GYTCbGnzneYcd7u/Re+H4W5kNZDjumiBG6NA7nq6V7WKHrPkXEAFph2BPEtLU/5+6Hgkxjs3iwwDj7HaR8Dudjs9kMTiNSc50bhQGwel82JWVWY8OISL2j8ukJfIMhPMn+Ol2jn3UlJL4xAJYyK+VZWcaGEamF5KhAwgO8KSmzsiE1x+g4IlLPqHx6Cp16r3PRIXFkB9hfl6WnGxtGpBZMJhOdG4UDsHy3Tr2LiHPpmk9PEdMONv2ikc86FB0QzbZgCC2AsowMaNXK6EgiNda5cThzNmXw/Yp9ZBeWHvN5RIA3157eGG/d/11EHEzl01NU3GZT93ivKw38G7AsyERyuo29t9xKQM/TafThh5hMJqOjiVRbt6QIANbvz2H9/uOfeg/x9+aKzg2dGUtE6gGVT09xdNLRgU26zWYdCfUNZV1TLzpvt48SFSxaTNGaNfh37GhwMpHq65YUzmOXtGZPZsExn63fn8Py3YdZsO2QyqeIOJwaiqcIS7I/l5dA4WEIijY0jicymUysPDueP9ru44NVXbH8uYScmbNUPsUtmUwmbj6zyXE/+2vLAYZ9uJQlOw85OZWI1Ae6mMdTmM3gfWQ2TGm+sVk8WLR/NAV+JlZ2CAIgd9YsLbskHqdL43AsZhP7DheSklVodBwR8TAqn57E29/+XHLsaTRxjJjAGABe855LkQ+U7t9P0VpdZyueJcjXi3bxIQAs1einiDiYyqcn8Q60P5eqfNaVoW2GckbCGfgFhLC8qX2iUc7MWQanEnG8Hk0iAViyQzeuEBHHUvn0JD5HTruX6LR7XekQ3YG3+77NFc2vYFFre/nMnTlTp97F4/RIts+GX7JT5VNEHEvl05NUXPOpkc+6dn7S+axqYqLY+8ip93XrjY4k4lBdkyIwmWDnwXwycoqMjiMiHkTl05P4HDntrpHPOtc+qj1hoTEsb3Zk9HPWTIMTiThWqL83rWPt131q9FNEHEnl05No5NNpzCYzfRv1ZVGrf6/71Kl38TQ9mhw99a5JRyLiOCqfnuToNZ+lWhrFGfo27svKpkdOve/bR9H6DUZHEnGoHsmadCQijqfy6Um8NeHImTo36ExQcCQrmurUu3im7kcmHW3NyONQXrHBaUTEU6h8ehKddncqi9nCuY3OrTj1nvX1N5SmpRmcSsRxIgJ9aBFjv6HCUl33KSIOovLpSSqWWlL5dJbzG53PshYmdsd5UZ6dTcoDD2ArKzM6lojDVJx6V/kUEQdR+fQkFYvM67S7s3SL60agfygvX2rDFuBH4T/LOTBpktGxRBzm30lHKp8i4hgqn55EI59O5232pk9iH9IjTPwzrBsAhya/Q/7ChQYnE3GMo9d9bkrLIbug1OA0IuIJVD49ia75NMQFSRcAMDFqFZaBF4HNRspDD1N24IDByURqr0GwH02iArHZYOkujX6KSO2pfHoSLTJviN7xvekW243CskKe6L4Hn+bNKD94kJSHHsJWXm50PJFaqzj1vkPrfYpI7al8ehKVT0NYzBbGnzGeMN8w1uZu5rebOmDy96dg0WIOvfuu0fFEau3opKO/tx5g3kkei7YfoqTManBaEXF1XkYHEAfyDbY/F+cam6MeigmM4eneT3PXH3fxVvZPdLnreoJf/IgDb04koGtXArp1MzqiSI0dve5zS3oe13+w9KTb/l/nhrxydUdnxBIRN6WRT0/ia78PM8U5xuaop85JPIchrYYA8GDgdHwHXAhWKyn3P0BZpq6VE/cVH+bPrWc1oXVcyEkfJhN8t2If87bqemcROTGTzQ1uSJ2Tk0NoaCjZ2dmEhIQYHcd1HdoOb3YGn2B4ZJ/Raeql4vJirp1+LZsPb+bMiG7c/3Y6JTt2EHjWmSROnozJrL/vied64qf1fLxwF40iAph171n4+1iMjiQiTlTVvqb/EnqSo6fdS3LBquuujOBr8eXFs1/E38ufeZnLWHrHmZh8fcn/ex6ZH31kdDyROvVAv5bEhfqxJ7OA1+dsNTqOiLgojXx6ktIieDbG/nr0HvALNTZPPfbD1h8Yu3AsXiYvPi29Hq+X3gMvLxLfmoRPkyY1Pq5XZCRmf38HJhVxrNkb0rn503+wmE38PPIM2sTr39ki9UVV+5rKpyex2eDpaLCWwn3rIbSh0YnqLZvNxkN/P8TMXTNJCIxn8vxWFM78rdbHtURG0vTXGVj0/wNxYXd8sZwZa9Po2DCU7+/ojcVsMjqSiDiBTrvXRyYT+B35h12kSUdGMplMjO05loSgBFLy9/PehWYCe/fGFBBQ4wcWC+WHDpE75w+jfz2Rk3piQFuC/bxYvS+bTxftMjqOiLgYLbXkaXxDoOCQlltyAcE+wbxw1gsM+3UYP6XPpuvop7i8+fs1Pt6BSZM4+OZEcmb+StjlAx0XVMTBGoT4MfqiVjz6wzpemrWZC9rGkhCmy0VExE4jn56mYq1PjXy6go7RHRl52kgAxi8dz87snTU+VsiFFwKQv2Ah5dnZDsknUlcGd2tE18bhFJSUM3baOtzgCi8RcRKNfHqao5OMilROXMXwdsNZnLqYJalLuHTapZhNNf8734RYP2LTisidPYew/7vCgSlFHMtsNjH+ivZc/MY85mzK4Nd1aVzcPs7oWCLiAjTy6WkqFprXaXdXYTaZGX/GeBoENADAarPW+DG3RQkAOTNnGvkriVRJ85hgbj+nGQDjflpPdmGpwYlExBVo5NPT6LS7S4oOiGbmFTPJLqn5iPS7a95l7qEvueZvyF+0iLLDh/EKD3dgShHHu+OcpvyyZj87DuTzwsxNPHd5e6MjiYjBNPLpafw08umqvC3eRPlH1fjRv0l/UiNN7IkxQ1kZeXPmGP0riZySn7elonB+uWQPy3bpVrMi9Z3Kp6c5OvK54ScoLzM2izhU+6j2xAbGsqCV/eecX3XqXdzD6U0iuaZbIgBjvl9LcVm5wYlExEgqn57G/8hp2IOb4Z8Pjc0iDmUymTi/8fksamVfsDt/8WLKDh82OJVI1Yy5qDVRQb5sy8hj8twdRscREQOpfHqatpf/+zprt3E5pE5c0PgC0iJM7I61QHk5ub//bnQkkSoJDfBm3IA2AEz6cxvbMvIMTiQiRlH59DShDeGsh+yvy4qNzSIO1yG6Aw38G7CgpX3NxFzNehc30r9DHH1aRlNSbuWR79ditWrtT5H6SLPdPZGXr/25rMjYHOJwZpOZvo37MqfVFwz5C/KXLCVn5ixMPj5VPoZf2zZ4x8TUYUqR4zOZTDw9sB3nv/o3S3dl8vU/e7mmeyOjY4mIk6l8eqKj5bO8xNgcUicuSLqALzd9ya44C0mp5aTce2+19jf5+dHgvnsJv+46TBZL3YQUOYGG4QHcf0ELnpm+kedmbOTc1g1oEOxndCwRcSKVT0/kdeRf5Br59EidojsR5R/FZ2dnMHpdM4LNAVXe15qbS8nOnaSPf56cWb8R9+wz+CYn12FakWPd0CuJH1ftZ21KNk/9vIGJQzobHUlEnEjl0xNZjpyCLdPIpyeymC2c1+g8phZO5dvzT+Op3k9VeV+bzUbW1K/JePFFClesYOfAy4m+5x4ihg3VKKg4jZfFzPgr2nPZpAX8siaVKzqnc24rXQoiUl+YbDaby1/xnZOTQ2hoKNnZ2YSEhBgdx/WtngI/3ApN+sDQaUankTqwLG0Zw2cNJ9Q3lD+v/hNvs3e19i9NSSH18bHkL1wIgH/HjsSNfw7fJk3qIq7IcT03YyPv/q1ll0Tq0vWnN+bpge2c8l1V7Wsa+fREuubT43Vu0JkIvwgyizLp83UfLKaqj1qe1uA0RncfTeIH75P17bdkPP8ChatXHxkFvZuIG27QKKg4xb19m/Pnpgy2atklkXpFI5+eaNMMmDIYErrAiD+MTiN15LXlr/HhuprdSCDYO5jRPUYzoMkAytLSSB07jvx58wDw69CB+OeexbdZM0fGFTmucquNrAL9RVmkrvh6Wwjydc5YY1X7msqnJ9o2Bz6/AmLaw+3zjU4jdcRms7Endw+l5aVV3ienJIeXlr3EukPrADin4TmM6zWOSL9Isr//gfTnn8eam4vJ25uou+4icviNmLx0gkRERE5N5bM+2zUfPr4EolrAyGVGpxEXU2Yt46N1H/HW6rcos5YR6hvKoz0e5cKkCylLTyd13Djy//obAL927Yh77ln8WrQwOLWIiLi6qvY13eHIE2mpJTkJL7MXIzqMYGr/qbSOaE12cTYP/f0Q9/91P7lhPiROnkzc8+Mxh4RQtG4du/7vSg5OnoyttOojrCIiIiei8umJtNSSVEGL8BZ8cckX3N7xdrxMXvy++3cu//Fy5uyZQ9jAgTT5+WeC+vTBVlrKgQmvs2vQNRRt3mx0bBERcXMqn55II59SRd5mb+7odAdfXPIFzcKakVmUyX1z7+Phvx+mIMyXhm9NIv6lFzGHhlK0YQM7r7yKA5MmaRRURERqTOXTE3kdGfnUUktSRW0i2zC1/1Rubn8zZpOZGTtncPmPlzMvZR6hAwbQ9JefCep7HpSWcvDNiey8ehBFGzcaHVtERNyQJhx5opxUeLUVmMzwWAZYqrcAudRvaw6s4dH5j7IrZxcAA5sN5KFuDxHkHUTOjBmkP/0M5VlZ4OVFxLChFbfnNPn6Ety3L2Z/f+PCi4iIYTTbvT4rK4FXWkJhJpx5P5w31uhE4maKyop4c+WbfLbhM2zYiAmI4aleT9EroRdlBw+S9uRT5P7++zH7hV0ziLgnnnB+YBERMZzKZ323fhp8MwwwwQ2/QNIZRicSN7QifQWPLXiMvbl7AbiqxVXc3/V+ArwCyJ31GznTp2MrK8NWVmZfpN7Li6bTf8GncWODk4uIiLOpfAr8eCes/BxCEuD2BeAfbnQicUMFpQVMWDGBrzZ9BUBCUAJP936abrHdKm2355ZbyP97HiEDBpDw0otGRBUREQNpnU+BC1+AiKaQkwI/3wOu//cMcUEB3gE80uMR3r/gfeID40nJS2H4rOGMXzKewrLCiu2i77kHgJxffqFoyxaj4oqIiIvTyKenS1kOH1wA1jK4dCJ0vt7oROLG8kryePmfl/lu63cAxATEEBcYB4CvxZdR08ox/bmYoL7nkThxopFRRUTEyTTyKXYJXaDPo/bXvz4Mh7Ybm0fcWpBPEE/0eoLJfSfTIKAB6QXprDqwilUHVrEkbQlvd80Cs5m82XMoXLvW6LgiIuKCNPJZH1jL4dPLYNc8iD8Nhv/271qgIjWUV5LH8vTllFnLKLWVMnbBWArLCvnkn674/76YwF69aPThB0bHFBERJ9HIp/zLbIHL3wG/MNi/EuY+Z3Qi8QBBPkGcnXg25zU+jwuTLmRwq8EAvNXlEHh7kb9wIflLlhqcUkREXI3KZ30RmgCXvml/PX8C7Pzb0DjieW5seyOB3oEsMe0kt9/pAByYMAE3OLkiIiJOpPJZn7S5FDoPBWzw/a1QkGl0IvEgYX5hXN/GPqHtzQ6pmHx9KVy5kry//jI4mYiIuBKVz/rmwuchshnk7oef79byS+JQ17e5nmCfYFbZdpPZ/8jo5+tvYLNaDU4mIiKuQuWzvvEJhP97H8zesPFnWPGp0YnEg4T4hHBj2xsBmNB6N+bAQIo3biR31iyDk4mIiKtQ+ayP4k+D8x63v545Gg5uNTaPeJRrW19LuG84G8v3kX7ZkdHPN97EVlZmcDIREXEFKp/1Vc+7IPlsKC2A726CshKjE4mHCPAOYHi74QC83GQz5tBQSnbuJH/JEoOTiYiIK1D5rK/MZrh8sv1+76mr4Y+njU4kHmRQq0FE+UexszyNnMaRAJRnaoKbiIiofNZvIfH2W24CLHwDdsw1NI54Dn8vf25ufzMA20r3A2DNyzMykoiIuAiVz/qudX/ocoP99a+jDY0inuXKFlcSExBDllcxANb8fIMTiYiIK1D5FOj7pH32+4GNcGCz0WnEQ/hafLmlwy0UHrmTa1F2lqF5RETENah8CviHQdM+9tcbfjI0iniWy5tdjjkoCIC0AzsMTiMiIq5A5VPs2lxmf97wo7E5xKN4W7wJDLFPOCrLyzU4jYiIuAKVT7FreTGYLJC+Fg5tNzqNeJLAAEATjkRExE7lU+wCIiD5LPvrjTr1Lo5jCgwEwFZQaHASERFxBSqf8q82l9qfdd2nOJAlyF4+TSqfIiKCyqf8V6v+gAn2r4CsPUanEQ/hFRQCgLmg2OAkIiLiClQ+5V9BDaBxb/vrjT8bm0U8hnewvXxaCnULVxERAS+jA4iLaXMp7J5vn/Xe806j04gH8A0Osz/nFpP+4ktV2sdkNhF80UX4t21bh8lERMQIKp9SWesB8OtDsHcJ5Oy334JTpBZ8IqOwmsCrzErmhx9Web+8v+fR5Cct/SUi4mlUPqWykHho2B32LYWNv0CPW4xOJG7OPyKa1waa6Xk4iv5N+59y+/KDh8j+8UeKt26lPC+/YsKSiIh4BpVPOVaby46Uz59UPqXWgryDWNLKzMHQcG4a+GCV9slfupSy1FSKNqwnsHv3Ok4oIiLOpAlHcqzWA+zPuxdA3gFjs4jbC/S2j1zml+VXeR//dvZrPYvWrquTTCIiYhyNfMqxwhtD/GmwfyVs+gW63mh0InFjAd72OxwdLjrM26vfrtI+jSMLSAaK1qt8ioh4GpVPOb7Wl9rL54YfVT6lVsJ9wzFhori8mLdWvVWlfdpj5XGgUCOfIiIeR+VTjq/NZTDnSdj5F7zRufJnse3gyo/AbDEmm7iVML8wnur9FGsPrK3S9hmFGSwr/BOA0r17Kc/KwhIWVocJRUTEmVQ+5fgim0JiD/uSS5nbK3+WuR3S1kJ8J0OiifsZ2GwgA5sNrPL25x48l9TwVOIOQ+G69QSd0bvuwomIiFOpfMqJXfc9pK8Dm+3f92Y8YH/v8E6VT6kzbSPbsiM2jbjDNorWrVX5FBHxICqfcmK+QdDo9MrvxbS1l8/MncZkknqhTVQbtsX/Qe+NNgrX6bpPERFPoqWWpHrCk+3Ph1U+pe7YRz5NgJZbEhHxNCqfUj0RR8qnRj6lDrWJbMOOWLCaoCw9ndKMDKMjiYiIg6h8SvVUjHzuMjSGeLYo/yjCwmLZF2n/uWjdemMDiYiIw9SofE6aNImkpCT8/Pzo0aMHS5cuPen2WVlZ3HnnncTFxeHr60uLFi2YMWNGjQKLwY6OfGbvg7JiY7OIR2sb2ZYdcfZT77lzZpO/ZOkJH8XbthmcVkREqqraE46mTp3KqFGjmDx5Mj169GDChAn069ePzZs306BBg2O2Lykp4fzzz6dBgwZ8++23JCQksHv3bsK0bp97CowGnyAoyYPDuyG6hdGJxEO1jWrLlrjZnLPWRvZ335P93fcn3T7xg/cJ6q1Z8SIirq7a5fPVV19lxIgR3Hij/a43kydPZvr06Xz44YeMHj36mO0//PBDMjMzWbhwId7e3gAkJSXVLrUYx2Syn3pPX2ufdKTyKXWkbWRbPm5t4uxt/rQxx59wO2tePmVpaWS8+BKB35+OyaKbH4iIuLJqlc+SkhKWL1/OmDFjKt4zm8307duXRYsWHXefn376iZ49e3LnnXfy448/Eh0dzZAhQ3j44YexnOA/EsXFxRQX/3tKNycnpzoxpa5FJNnLpyYdSR1qE9mG3AATjwwqZeHgrwj2CT7uduVZWWy7oB/FmzeT/dPPhF0+0LlBRUSkWqp1zefBgwcpLy8nJiam0vsxMTGkpaUdd58dO3bw7bffUl5ezowZM3j88cd55ZVXeOaZZ074PePHjyc0NLTikZiYWJ2YUte03JI4QbhfOPGB9hHPjYc2nnA7S1gYUbfeAsCB11/HWlTklHwiIlIzdT7b3Wq10qBBA9599126dOnCoEGDePTRR5k8efIJ9xkzZgzZ2dkVj71799Z1TKkOLbckTtI2qi0A6w+dfLZ7+HXX4RUXR1laGpmffeaMaCIiUkPVOu0eFRWFxWIhPT290vvp6enExsYed5+4uDi8vb0rnWJv3bo1aWlplJSU4OPjc8w+vr6++Pr6VieaOFNEE/tz5g5jc4jHaxPZht93/86ry19lwooJJ9wuyi+Kd2+5Fp58mUPvvkfYlVfiFR7uvKAiIlJl1Rr59PHxoUuXLsyZM6fiPavVypw5c+jZs+dx9+nduzfbtm3DarVWvLdlyxbi4uKOWzzFDRw97Z61G6zlxmYRj3Z2w7Pxtdj/Imq1WU/4yCjM4K2Ydfi2aoU1N5dDk98xOLmIiJyIyWaz2aqzw9SpUxk2bBjvvPMO3bt3Z8KECXz99dds2rSJmJgYhg4dSkJCAuPHjwdg7969tG3blmHDhnHXXXexdetWhg8fzt13382jjz5ape/MyckhNDSU7OxsQkJCqv9bimNZy+GZGLCWwr3rIEzX5ErdKSgtIL80/4Sfp+SlMGzmMKw2K19EPYj3/ePB25umv87Ap2FDJyYVEanfqtrXqr3U0qBBgzhw4ABjx44lLS2NTp06MXPmzIpJSHv27MFs/ndANTExkVmzZnHffffRoUMHEhISuOeee3j44Ydr8GuJSzBbIKwRZG63TzpS+ZQ6FOAdQIB3wAk/jw6I5tKmlzJt2zRetfzBk716UbBwIQdem0DCKy87MamIiFRFtUc+jaCRTxf0+f/Bttlw6ZvQeajRaaSeS8tP45LvL6HEWsI7jR4m/PZnAUj65hv827czOJ2ISP1Q1b6me7tLzQQdmWCWl2FsDhEgNjCWa1tfC8DLud8TPKA/ABkvvYQb/P1aRKReUfmUmgmMsj/nHzQ2h8gRN7W/iWCfYLYe3sqaK9ph8vamYOlS8v/+2+hoIiLyHyqfUjOB0fbn/APG5hA5ItQ3lJvb3wzAhJQvCLluMAAZL7+CrVyrMoiIuAqVT6kZlU9xQUNaDaFBQANS81P585wIzKGhFG/dSva0H42OJiIiR6h8Ss3otLu4ID8vP0Z2GgnA2zs/I/imYQAceOMNrIWFRkYTEZEjqr3Ukgjw78hngcqnuJYBTQfwyfpP2J69ne87FNIvPo6y/ansHXELoVf+n8O/z+zjQ+BZZ2EJCnL4sUVEPJGWWpKayUmFV1uByQKPHwSzBtHFdfy550/u/vNu/Cx+fO97D3mPP1un3xc+ZDCxY8fW6XeIiLi6OltkXgSAgEj7s60cirIgIMLQOCL/dU7iOZzW4DRWZqzkw/ht3DZ8OMVbtjj8e8oyD1G8YSNFdXBsERFPpfIpNePlA35h9uKZf0DlU1yKyWTivi73MfTXofywfRrX3/o9TUKbOPx7ClasZPeQIZTtT3X4sUVEPJXOlUrNaca7uLDTGpxGn8Q+lNvKeXPFm3XyHd5x9pstlGZkaDknEZEqUvmUmlP5FBd3T+d7MJvMzN4zm9UHVjv8+F7R0WCxQFkZZQc1+U5EpCp02l1qTsstiYtrGtaUy5pexg/bfuC6GdcRGxjr8O94MthEeBaU7t+Pd0yMw48vIuJpVD6l5jTyKW7gjk538Pvu38krzSMtP83hx08LKiM8C8pSU+G00xx+fBERT6PyKTVXMfKp8imuKzYwll8u/4W0AscXzzUH1nDox6cBG6Wpjj++iIgnUvmUmjs68rlnMfz1kv11XEdocYFxmUSOI9I/kkj/SIcf18fsw7dHlrIrTdWMdxGRqlD5lJoLibc/Z2ywP8C+6PyD27T0ktQLcYFxHAwxATaKUvYaHUdExC2ofErNNTsfzhkDuUdGfJZ/rEXnpV4J8gkiP8IfyKcoZZ/RcURE3ILKp9Sclw+cM/rfnzf8BIWZUF5qXCYRJzPFRgP5lKenGx1FRMQtaJ1PcRyLj/25rNjYHCJO5BufAIA5Ow9rYaHBaUREXJ/KpziO15HyqZFPqUfCoxpSeOSPvma8i4icmsqnOM7Rkc9yjXxK/REXFM/Bihnv+40NIyLiBlQ+xXEsvvbn8hJjc4g4UWxg7JEZ70cWmhcRkZPShCNxHIu3/blM5VPqj7jAOBYfGfnMX7QYc0iIsYGqwL9tW7wTEoyOISL1lMqnOI6XRj6l/okNiOXAkbU+c6ZPJ2f6dKMjnZIlOormf/2FyayTXyLifCqf4ji65lPqoZjAGP5uZ6L5fhM9gzvgZXbtf60WrlxJ+YGDlGVk4B0ba3QcEamHXPvfkuJeLJrtLvWPj8UHYqJ48apDfN1/HM0iWxsd6aS29etH6e49lOzZo/IpIobQORdxHK3zKfVUbKC9xKXmu/6EI5+GiQCU7tUdmUTEGCqf4jgV63zqmk+pX46Wz7R811/n0zuxIQAle/cYnERE6iuddhfH0Wl3qafiAuMA+G7rd6w/tN7gNCfXunwLXdDIp4gYR+VTHEcTjqSeSg5NBmDL4S1sObzF4DQnl1ZupQtQvGe30VFEpJ5S+RTHOVo+MzbB1t9rdgz/cEjoAiaT43KJ1LHLml2Gl9mLnOIco6Oc0s8H3wQKKNZpdxExiMqnOI63v/15zRT7o6au+hjaXu6QSCLO4Gvx5YrmVxgdo0p+2zAN2AxZOZTn5WEJCjI6kojUMyqf4jgdr4HUNVCSV7P9s/ZAYSZk7nRsLhGpEB3VmBz/zYQUQunevVhau/bSUCLieVQ+xXHiOsKNtbi7y/QHYNl7UFrouEwiUknD4IakhUNIIZTs3YufyqeIOJmWWhLXcfS0fWmBsTlEPFjD4IZkhNmvqS7du9fgNCJSH6l8iuvwDrA/a+RTpM40DGpIepj9dYnKp4gYQOVTXMfRkc+yImNziHiwhsENSQ+3j3yW7FH5FBHnU/kU16HT7iJ1Lj4ovuK0e/FerfUpIs6n8imuo6J86rS7SF3xtfhSHhcNQNn+NGxlZQYnEpH6RuVTXEfFNZ8a+RSpS0HxjSixgKm8nNI0178fvYh4FpVPcR0a+RRxioYhiWSE2V+X7tGdjkTEuVQ+xXVUlE9NOBKpS/9dbqlk7z6D04hIfaPyKa7DSxOORJyhYfC/yy2V6h7vIuJkKp/iOnTaXcQpEoMTSdfIp4gYRLfXFNehCUciTtEwqCHp4fbXubNmsbFtu2O28YqIoNGnn+CbnOzkdCLi6TTyKa5DI58iThHhF8HeRv7k+R15o7z8mEfZgQPk/fWXoTlFxDNp5FNcx9GRz/JisJaD2WJsHhEPZTKZCI1txK0jt/Bmt+fpHtu90ueZH35A5iefUrJzlzEBRcSjaeRTXIe337+vdYtNkTrVMKghpd4m9vrm4R3ToNLDr21bAEp27DA4pYh4Io18ius4OtsdYOFE8DkyEpp8NsR1MCaTiIdqGNwQgH25x0448jlynWfxrp1OzSQi9YPKp7gOsxl8Q6E4G+Y+9+/7IQkwaoNxuUQ8UMMge/nclbOL7OLsSp9Z4yMBKD9wkPKcHCwhIU7PJyKeS+VTXMulb8DmX+2vS/Nh48+Qf8DYTCIe6OjI51/7/uKMKWcc8/k7wSbCc22U7NyJf8eOzo4nIh5M5VNcS9uB9gdAbrq9fJaXGplIxCN1jO5IQlACKXkpx/08JQLCc6FY5VNEHEzlU1yXxfvIC5tmv4s4WKhvKL9e8SvltvJjPpu8ejIpM9+i3W4o2aHrPkXEsTTbXVyX+T9/N9Lop4jDmUwmvMxexzyahDZhf+SROyDtVPkUEcdS+RTXVTHyCZSXGJdDpJ5JCk1iv33OEcU7tdySiDiWyqe4LovPv6+tZcblEKlnkkKSSDk68rlrN7Yy/f9PRBxH5VNcl9kC2P8DqNPuIs4T4B2AJaYBxV5AWRmlKceflCQiUhMqn+Lajp56t6p8ijhTUngTUiPsr4t1pyMRcSCVT3Ft5iPlU9d8ijhVpVPvmvEuIg6k8imu7ejIZ7muORNxpuTQZPYfGfks0W02RcSBVD7Ftem0u4ghkkOSK5ZbKtbIp4g4kMqnuLaK0+4qnyLOZF9uSWt9iojjqXyKa7McWWheSy2JOFVsYCyZ0X4AlGdmUnb4sMGJRMRTqHyKazu61qcmHIk4ldlkJjYqiYMh9p9Ldu4yNI+IeA6VT3FtOu0uYpik0CT2R+jUu4g4lsqnuLaK0+4qnyLOZl9uyf66RLfZFBEHUfkU12bWUksiRvnvyKdmvIuIo6h8imuzaJF5EaMkhyazv2LkU+VTRBxD5VNc29EJR7vmGZtDpB6qdJejvXuwleryFxGpPZVPcW1e9qVeWPoubP7V2Cwi9UygdyBeDRpQ5A2UlVOyd5/RkUTEA6h8imvrdRf4htpf//oQlBYam0eknkkOa/KfU++adCQitafyKa6tydlw/0YIaQhZe2D+a0YnEqlXkkKTSKmYdKTyKSK1p/Iprs8nEC58zv56/gQ4tN3QOCL1SVLIf2+zucvYMCLiEVQ+xT20vhSangvlxfDrw2CzGZ1IpF6oNONdI58i4gBeRgcQqRKTCS56Cd46Hbb9DptnQKtLjE4l4vH+u9Zn0ZYtZLw24YTbmry9CbvqSrxjYpyUTkTckcqnuI+oZtD7bpj3Cvw6Gpr0AZ8Ao1OJeLS4wDgORftSainAu6CAQ++8c9Lti9avJ/Htt5yUTkTckcqnuJcz74c1X0P2Hpj/Kpz7mNGJRDya2WQmPjKJ1wZuYqT1HBKCEo6/YXkZh7/8iry5cynZuxefxETnBhURt6HyKe7FJxAuHA9Tr4MFr0PHwRDZ1OhUIh4tKSSJ31psYV3X7nRpO+yE25Xs3Uf+vHkc/uJLYkY/7MSEIuJONOFI3E+r/tCsr/2WmzMe1OQjkTqWFJoEwK6cXSfdLuK6awHI+u47rPn5dZxKRNyVyqe4H5MJLnrRfuvN7XNg0y9GJxLxaEkhSQDsyt510u0CzzwT78aNsObmkv3zz3UfTETckk67i3uKbAq97oZ5L8PMMfZlmHwCjU4l4pGahDYBYGvWVn7a/tMJt/M2e9PpmqvIeuEVMj//nLBBgzCZTM6KKSJuQuVT3NeZ98OaqZC91z4D/ryxRicS8UhJoUmYMJFdnM2j8x896bZXNbyEQQEBlGzbTsHixQT27OmklCLiLkw2m+tfMJeTk0NoaCjZ2dmEhIQYHUdcycZfYOq1YPaGOxbbl2MSEYf7bMNnLNi/4ISfl1vLWZy6GG+zN99vu4jCqd8TdO65JL41yYkpRcRIVe1rKp/i3mw2+OIq+8LzTc+F6763XxMqIk537fRrWXNwDQ9GD6HbqE/BZKLp77/h07Ch0dFExAmq2tc04Ujcm8kEF71wZPLRH7DxxNejiUjdGtx6MACf5M3Gv3cvsNk4/MWXBqcSEVej8inuL7Ip9L7X/nrmI1CiJV5EjNCvcT8i/SLJKMxg9wVtgCPLLhUUGJxMRFyJyqd4hjPug7BGkLMP/n7Z6DQi9ZK3xZurWl4FwIdBq/Fu1AhrTg7ZP2nZJRH5l8qneAafALjwBfvrhW/Cwa3G5hGpp65qcRVeJi9WHFxJ6eV9ATj8xee4wfQCEXESlU/xHC0vgub9wFoKc8cbnUakXmoQ0IDzG58PwLfNMjEFBFC8dRsFS5YYnExEXIXKp3gOkwl63WV/vXeZsVlE6rEhrYcA8GP67/j3vxCAzM8/NzKSiLgQlU/xLLHt7M/Ze6Awy9AoIvVVx+iOtI5oTXF5MQt6hgKQ98eflOxLMTiZiLgClU/xLP7hEJpof52xwdgsIvWUyWSqGP38OH82Ab16gtXK4a+07JKIqHyKJ4ppa39OX29sDpF67KLkiwj3DSc1P5W9/ToAkPXtd1gLCw1OJiJGU/kUz3O0fKatNTaHSD3ma/Hl/1r8HwAfh6zBOzERa3Y22T9r2SWR+k7lUzxPzJHrPjXyKWKoQS0HYTFZWJKxjPLL7TPgD3+mZZdE6juVT/E8R8tnxgawlhubRaQeiw2M5dxG5wLwfctsTP7+FG/dSsFSrUYhUp+pfIrniWwKXn5QWgCHdxmdRqReG9zKfr/3H9J+q1h26fDnnxkZSUQMpvIpnsdsgQat7a/T1xmbRaSe6xrTlebhzSksK2Rx70gAcuf8QWmKll0Sqa9UPsUzVUw6UvkUMZLJZGJIq/8su3T66UeWXfrK4GQiYhSVT/FMMe3tz5p0JGK4S5pcQohPCPvy9rH/otMAyPrmWy27JFJPqXyKZ6pY61PLLYkYzd/LnyuaXwHAJ2Hr8E5IoDw7m+xffjE4mYgYQeVTPNPR8pm1B4qyjc0iIgxqOQgTJhakLcL2fxcBcPjzL7Tskkg9pPIpnikgAkIS7K8zNhqbRURoGNyQsxPPBmBaqxz7skubN1OwTMsuidQ3Kp/iuXSnIxGXcnTi0bepMwnof2T087PPjYwkIgZQ+RTPpTsdibiU0+NOp0loEwrKCljWOwqA3DlzKN2/3+BkIuJMXkYHEKkzFZOOtNySiCswmUwMbjWYZ5c8y8eFfzDx9B4ULF5C5mefE3XnnUbHE/FIJm8vzL6+RseoxGSrwdXekyZN4qWXXiItLY2OHTvy5ptv0r1791PuN2XKFAYPHsxll13GtGnTqvx9OTk5hIaGkp2dTUhISHXjSn2VsQne6gFmb4jr4JhjBsXAZZPs15SKSLUVlBZw3jfnkVeaxwd+txI8bpLRkUQ8WviQwcSOHeuU76pqX6v2yOfUqVMZNWoUkydPpkePHkyYMIF+/fqxefNmGjRocML9du3axQMPPMCZZ55Z3a8UqZnIZhDYAPIzIGW54467bTZ0uNpxxxOpRwK8AxjYbCCfb/ycTyM28ECnThSuWmV0LBFxomqPfPbo0YNu3boxceJEAKxWK4mJidx1112MHj36uPuUl5dz1llnMXz4cObNm0dWVpZGPsU5svc5bsLR/AmwdzFc/DJ0H+GYY4rUQ7tzdtP/h/6YMPHLwF9o6HvigQsRqR2T2YzJx8cp31UnI58lJSUsX76cMWPGVLxnNpvp27cvixYtOuF+Tz31FA0aNOCmm25i3rx5p/ye4uJiiouLK37OycmpTkyRf4U2tD8cYdMv9vKpdUNFaqVxSGPOSDiD+SnzmbJlCg91e8joSCLiRNWa7X7w4EHKy8uJiYmp9H5MTAxpaWnH3Wf+/Pl88MEHvPfee1X+nvHjxxMaGlrxSExMrE5Mkbrhe+RvccW5xuYQ8QBHl12atnUaBaUFBqcREWeq06WWcnNzuf7663nvvfeIioqq8n5jxowhOzu74rF37946TClSRRXlUyPxIrXVO6E3jUMak1uayy87dJtNkfqkWqfdo6KisFgspKenV3o/PT2d2NjYY7bfvn07u3btYsCAARXvWa1W+xd7ebF582aaNm16zH6+vr74utiyACL4HSmfRSqfIrVlNpm5puU1vLDsBd5c+SbTd0w3OpKIRzq30bkMazvM6BiVVKt8+vj40KVLF+bMmcPAgQMBe5mcM2cOI0eOPGb7Vq1asXZt5ckejz32GLm5ubz++us6nS7uRafdRRzqsmaX8fbqt8kqzmJFxgqj44h4pObhzY2OcIxqL7U0atQohg0bRteuXenevTsTJkwgPz+fG2+8EYChQ4eSkJDA+PHj8fPzo127dpX2DwsLAzjmfRGX5xtsf9ZpdxGHCPYJZkr/KWzO3Gx0FBGP1TDYQZNuHaja5XPQoEEcOHCAsWPHkpaWRqdOnZg5c2bFJKQ9e/ZgNuuuneKBdNpdxOESgxNJDNZZMJH6pEZ3OHI2rfMpLmHfcnj/XAhtBPc5aO1QERERD1HVvqYhSpGqqjjtrnU+RUREakrlU6Sq/P4z4cj1TxiIiIi4JJVPkao6OtvdZoWSPGOziIiIuCmVT5Gq8vYHk8X+WsstiYiI1IjKp0hVmUya8S4iIlJLKp8i1aFbbIqIiNSKyqdIdah8ioiI1IrKp0h16LS7iIhIrah8ilTH0ZHP+a/CkneNzSIiIuKGVD5FqiO8sf05bS38+hAUHjY2j4iIiJtR+RSpjj6PwOXvQFAsYLOXUBEREakylU+R6vALhY7XQGJ3+8/7VxkaR0RExN2ofIrURFxH+3PqamNziIiIuBmVT5GaiOtkf1b5FBERqRaVT5GaODryeWibbrUpIiJSDSqfIjURFA0hCdgnHa0zOo2IiIjbUPkUqamK6z5XGRpDRETEnah8itSUJh2JiIhUm8qnSE2pfIqIiFSbyqdITR2d8X5gE5QUGBpFRETEXah8itRUcCwENgCbFTI2GJ1GRETELah8itSUyfTvqff9K43NIiIi4iZUPkVqQ9d9ioiIVIvKp0htqHyKiIhUi8qnSG3Ed7I/Z2yEsmJDo4iIiLgDlU+R2ghNBP9wsJZq0pGIiEgVqHyK1MZ/Jx3p1LuIiMgpqXyK1JbKp4iISJWpfIrU1tHF5vcsAZvN0CgiIiKuTuVTpLaSzwIvP8hYD7vmGZ1GRETEpal8itRWYBScdp399fzXjM0iIiLi4lQ+RRyh191gssD2P3S3IxERkZNQ+RRxhPDG0P5K+2uNfoqIiJyQyqeIo5xxn/15w09wcKuxWURERFyUyqeIozRoDS0vBmywYILRaURERFySyqeII50xyv68eipkpxibRURExAWpfIo4UmI3SDrTfrvNRRONTiMiIuJyVD5FHO2Me+3Pyz+G/ENGJhEREXE5Kp8ijtb0PIjtAKUFsPQdo9OIiIi4FJVPEUczmeDMI9d+LnkHinONzSMiIuJCVD5F6kLrSyGyGRRl2U+/i4iICKDyKVI3zBbofY/99aJJUFZsbB4REREXofIpUlc6XAPB8ZCbCqunGJ1GRETEJah8itQVLx/oNdL+esHrYC03No+IiIgLUPkUqUudh4F/OGRuhw0/Gp1GRETEcCqfInXJNwi632p/Pf9VsNmMzSMiImIwlU+RutbjVvAOhLS1sG2O0WlEREQM5WV0ABGPFxABXW6AxZPgh1shtGHNjxXXAfq/Dmb9vVFERNyTyqeIM/QaCcs/goKD9kdNpa6yF9mELo5KJiIi4lQqnyLOEBIPty+Ag9tqfox5r8DexbBnicqniIi4LZVPEWeJaGJ/1FTaGnv53LsYet7huFwiIiJOpAvHRNxFo9Ptz3uXata8iIi4LZVPEXcR3xnMXvY7JmXtMTqNiIhIjah8irgLnwCI62h/vXeJsVlERERqSOVTxJ0kHjn1vmexsTlERERqSOVTxJ006mF/1siniIi4KZVPEXdydOQzfT0UZRubRUREpAZUPkXcSXAMhCcBNti3zOg0IiIi1abyKeJuKq771Kl3ERFxPyqfIu6m4rpPTToSERH3o/Ip4m6OjnzuWw7lZcZmERERqSaVTxF3E90K/EKhNB/S1xqdRkREpFpUPkXcjdkMDbvbX+u6TxERcTMqnyLuKFHrfYqIiHtS+RRxR1psXkRE3JSX0QFEpAYSuoDJAjkpsH8VBMdWfd+gGDCZ6iyaiIjIyah8irgjn0CI6wD7V8K7Z1dv35h2MHgKhCXWTTYREZGT0Gl3EXfV5Ubw8rePgFb1AZC+Dj44H9LWGZtfRETqJZPNZrMZHeJUcnJyCA0NJTs7m5CQEKPjiLiv7H3w+ZVwYCP4hsCgz6FJNUdORUREjqOqfU0jnyL1SWhDGD4TGp8BxTnw+f/B2m+NTiUiIvWIyqdIfeMfBtd9B20GgrUUvrsJFk40OpWIiNQTKp8i9ZG3H1z5EfS43f7zb4/CzEfAajU2l4iIeDyVT5H6ymyGC8fDBc/Yf148Cb4bDmXFxuYSERGPpvIpUp+ZTNDrLvi/D8DsDet/sF8HWphldDIREfFQKp8iAu2vtF8H6hMMu+bBRxdBdorRqURExAOpfIqIXZOzYfivEBQLGRvsa4FmbDQ6lYiIeBiVTxH5V2x7uPl3iGphv3Xnh/1g1wKjU4mIiAdR+RSRysIawfBZkHg6FGXDZwNh/TSjU4mIiIdQ+RSRYwVEwNBp0Ko/lJfANzfAkneMTiUiIh5A5VNEjs/bH67+FLrdDNjg14fgt8e1FqiIiNSKyqeInJjZAhe/DOeNs/+88A344VYoKzE2l4iIuC2VTxE5OZMJzhwFAyeD2QvWfg1fXAlFOUYnExERN6TyKSJV02kwDPkafIJg51/w0cWQm2Z0KhERcTMmm81mMzrEqeTk5BAaGkp2djYhISFGxxGp3/avgi+ugvwMCIqxL8sE9mtEzxsHse0MjSciIsaoal/zcmImEfEE8Z3gpt/st+HM3A556f9+ZrPa75QkIiJyAiqfIlJ9Eclw61+wY659KaaSAvjpLtg2Gw5th8imRicUEREXpWs+RaRmfIOh9QBo93/Q+Xpo0c/+/rL3jc0lIiIuTeVTRByj+wj788ovoDjP2CwiIuKyVD5FxDGanAsRTaE4274ck4iIyHGofIqIY5jN/45+LnkXXH8hDRERMYDKp4g4TsfB4B0IBzbCrvlGpxERERek8ikijuMfBh0H2V8vfdfQKCIi4ppUPkXEsbodOfW+aTpk7zM2i4iIuByVTxFxrJg2kHQm2Mrhn4+MTiMiIi5G5VNEHO/oxKPlH0NZsaFRRETEtah8iojjtbwEQhKg4CCsn2Z0GhERcSEqnyLieBYv6Hqj/bUmHomIyH+ofIpI3eh8A1h8IOUfSFludBoREXERKp8iUjeCoqHt5fbXS98zNouIiLgMlU8RqTvdb7U/r/sO8g8am0VERFyCyqeI1J2GXSC6NZSXwJ7FRqcREREXoPIpInUrJM7+XJJnbA4REXEJKp8iUrd8Au3PKp8iIoLKp4jUNZ8g+3NJvrE5RETEJah8ikjdqhj5VPkUERGVTxGpayqfIiLyHzUqn5MmTSIpKQk/Pz969OjB0qVLT7jte++9x5lnnkl4eDjh4eH07dv3pNuLiIepOO2uaz5FRKQG5XPq1KmMGjWKcePGsWLFCjp27Ei/fv3IyMg47vZz585l8ODB/PnnnyxatIjExEQuuOACUlJSah1eRNyARj5FROQ/TDabzVadHXr06EG3bt2YOHEiAFarlcTERO666y5Gjx59yv3Ly8sJDw9n4sSJDB06tErfmZOTQ2hoKNnZ2YSEhFQnrogYbfnH8PM90PJiGPyV0WlERKSOVLWvVWvks6SkhOXLl9O3b99/D2A207dvXxYtWlSlYxQUFFBaWkpERMQJtykuLiYnJ6fSQ0TclE67i4jIf1SrfB48eJDy8nJiYmIqvR8TE0NaWlqVjvHwww8THx9fqcD+r/HjxxMaGlrxSExMrE5MEXElOu0uIiL/4dTZ7s8//zxTpkzhhx9+wM/P74TbjRkzhuzs7IrH3r17nZhSRBxK5VNERP7DqzobR0VFYbFYSE9Pr/R+eno6sbGxJ9335Zdf5vnnn2f27Nl06NDhpNv6+vri6+tbnWgi4qpUPkVE5D+qVT59fHzo0qULc+bMYeDAgYB9wtGcOXMYOXLkCfd78cUXefbZZ5k1axZdu3atVWARcTNHr/ksyoHMHVXbx2SG0EZg1lLEIiKeplrlE2DUqFEMGzaMrl270r17dyZMmEB+fj433ngjAEOHDiUhIYHx48cD8MILLzB27Fi+/PJLkpKSKq4NDQoKIigoyIG/ioi4pKMjn8XZ8MZpVd+v/VXwf+/XTSYRETFMtcvnoEGDOHDgAGPHjiUtLY1OnToxc+bMiklIe/bswfyf0Yq3336bkpISrrzyykrHGTduHE888UTt0ouI6wuOh6bnwd4q3lyiJNf+vHkmWK0a/RQR8TDVXufTCFrnU6QeKS+D8Q2hrBBG/gNRzY1OJCIiVVAn63yKiNQ5ixfEtrO/3r/K0CgiIuJ4Kp8i4nriOtmfU1cZmUJEROqAyqeIuJ74TvZnjXyKiHgclU8RcT0VI5+r7ZOORETEY6h8iojriW4FXn72me9VXRtURETcgsqniLgeixfEtre/1nWfIiIeReVTRFzT0VPv+1caGkNERBxL5VNEXNPRSUepqw2NISIijqXyKSKuSZOOREQ8ksqniLimo5OOinPg8E6j04iIiIOofIqIa7J4QczROx3puk8REU/hZXQAEZETiu8EKf/AmqlQlHXi7YJioFV/MJmclUxERGpI5VNEXFd8Z/vz1t/sj5O59E3oPLTuM4mISK2ofIqI62p7OexfAXkZJ96m4BDsXgCzn4TWl4J/mNPiiYhI9al8iojr8gmAS145+TblpfB2bzi4GeaOh4tecE42ERGpEU04EhH3ZvH+t3AufQ/S1xubR0RETkrlU0TcX9M+0HoA2MphxkNgsxmdSERETkDlU0Q8Q7/n7OuC7p4P6783Oo2IiJyAyqeIeIawRnDGKPvrWY9BcZ6xeURE5LhUPkXEc/S+G8IaQ+5+mHeKiUoiImIIlU8R8Rze/nDhePvrRRPh0HZj84iIyDFUPkXEs7S8GJqeB+UlMHO00WlEROR/qHyKiGcxmexLL5m97XdF2jzT6EQiIvIfKp8i4nmimkPPO+yvZ46G0iJj84iISAWVTxHxTGc9CMFxcHgnLHrT6DQiInKEyqeIeCbfYDj/afvrea9C9j5j84iICKB7u4uIJ2t/JfzzIexZCK+1heSzHP8dFh846yFo1MPxxxYR8UAqnyLiuUwmuPglePdssJbBzr/r5nssvtDoy7o5toiIh1H5FBHPFtsORvwBB7c6/tgHNsPfL8KhbY4/toiIh1L5FBHPF9fR/nC0zJ328nl4J1jLwWxx/HeIiHgYTTgSEamp0ET7eqLlJZCTYnQaERG3oPIpIlJTFi8IT7K/ztxhaBQREXeh8ikiUhsRTezPuo+8iEiVqHyKiNRGZFP7s0Y+RUSqROVTRKQ2jo58Zu40NoeIiJtQ+RQRqY2K8qnT7iIiVaHyKSJSG/8d+bRajc0iIuIGVD5FRGqjYrmlYi23JCJSBSqfIiK1YfGC8Mb215p0JCJySiqfIiK1FXF0xruu+xQRORXdXlNEpLaOXvc552lY9JaxWaqi+flw4XijU4hIPaXyKSJSW416wJK3oTDT/nB1h7bCmQ9AYKTRSUSkHlL5FBGprTYD4faFUJRtdJJT++FWyNoDaauh6blGpxGRekjlU0SktkwmiGlrdIqqie9sL5+pa1Q+RcQQmnAkIlKfxHWwP6etMTaHiNRbKp8iIvVJXEf7c6rKp4gYQ+VTRKQ+iT1SPg9tg+I8Y7OISL2k8ikiUp8ERUNwHGCD9HVGpxGRekjlU0Skvok9ct2nTr2LiAFUPkVE6puj132mrTY2h4jUSyqfIiL1zdEZ76kqnyLifCqfIiL1zdHT7hmboKzE2CwiUu+ofIqI1DdhjcAvDKylcGCj0WlEpJ5R+RQRqW9Mpv+cetekIxFxLpVPEZH6KFbXfYqIMXRvdxGR+ujojPflH8O6b4/9PCASrv0WIpKdGktEPJ9GPkVE6qOkM8A7wH7dZ+HhYx+HtsHqr4xOKSIeSCOfIiL1UUg8jNoIeRnHfrZ5BsweB9vmQJ9HnJ9NRDyayqeISH3lH2Z//C+fQHv53L8CCjIhIMLZyUTEg+m0u4iIVBaaANGtwWaFnX8ZnUZEPIzKp4iIHKvZefbnbXOMzSEiHkflU0REjtW0j/15+x9gsxmbRUQ8isqniIgcq3Fv8PKDnBQ4sNnoNCLiQVQ+RUTkWN7+0LiX/fX2P4zNIiIeReVTRESOr+mR6z6367pPEXEclU8RETm+pufan3ctgNIiY7OIiMdQ+RQRkeNr0BqC46GsEPYsNDqNiHgIlU8RETk+k+nf0U8tuSQiDqLyKSIiJ1ax5NKfxuYQEY+h8ikiIifW9FzABBnrISfV6DQi4gFUPkVE5MQCIiD+NPtrLbkkIg6g8ikiIifXTEsuiYjjeBkdQEREXFzTc+Hvl2DDT/Ba+xNv5+0HZ94PHa9xXjYRcTsqnyIicnINu0FoImTvhew9J9/2h1uhOBe6j3BONhFxOyqfIiJychZvuH0BHNp28u3WfANL3oYZD0B5KfS8wzn5RMStqHyKiMip+YVCQpeTbxPf2X5P+PmvwqwxUF4MZ9znnHwi4jY04UhERBzDZILzxsI5Y+w/z34C/nrR0Egi4npUPkVExHFMJjhntL2EAvz5LMx5Gmw2Y3OJiMtQ+RQREcc783644Bn763kvw++Pq4CKCKDyKSIidaXXXXDRkdPuC9+EmaNVQEVE5VNEROpQj1uh/wT76yWTYfoosFoNjSQixlL5FBGRutX1RrhsEmCCfz6En+8Ca7nRqUTEICqfIiJS9067Dq54F0xmWPk5TLsdysuMTiUiBlD5FBER5+hwNVz5IZi9YM1U+P5m+2L0IlKvqHyKiIjztL0crv4UzN6w/gf45gYoKzE6lYg4kclmc/2phzk5OYSGhpKdnU1ISIjRcUREpLa2/AZTr7PfBSmyGQREGZ1IxDO17m9fecIJqtrXdHtNERFxvhYXwOCvYMoQ+z3jT3XfeBGpmdh2Ric4hsqniIgYo9l5MPIf2L/S6CQinis8yegEx1D5FBER44Ql2h8iUm9owpGIiIiIOI3Kp4iIiIg4jcqniIiIiDiNyqeIiIiIOI3Kp4iIiIg4jcqniIiIiDiNyqeIiIiIOI3Kp4iIiIg4jcqniIiIiDiNyqeIiIiIOI3Kp4iIiIg4jcqniIiIiDiNyqeIiIiIOI3Kp4iIiIg4jcqniIiIiDiNyqeIiIiIOI3Kp4iIiIg4TY3K56RJk0hKSsLPz48ePXqwdOnSk27/zTff0KpVK/z8/Gjfvj0zZsyoUVgRERERcW/VLp9Tp05l1KhRjBs3jhUrVtCxY0f69etHRkbGcbdfuHAhgwcP5qabbmLlypUMHDiQgQMHsm7dulqHFxERERH3YrLZbLbq7NCjRw+6devGxIkTAbBarSQmJnLXXXcxevToY7YfNGgQ+fn5/PLLLxXvnX766XTq1InJkydX6TtzcnIIDQ0lOzubkJCQ6sQVERERESeoal+r1shnSUkJy5cvp2/fvv8ewGymb9++LFq06Lj7LFq0qNL2AP369Tvh9gD/3869hETZtnEA/6tz0A6oJc005fROEVhpZZoxGbRQinCRGUFgIrSIaiQPUJmlLqK00yYLrRa56GAJnaFAxhIKy0PYAU2DAodqNCGbqLSYub7F2/t8Tflmwvc9j43/H9yg93MNcy3+4MU49z04OAiPx+O3iIiIiOjPN6Lhs6+vD16vFyaTyW/fZDLB7XYP+Rq32z2iegAoKytDeHi4sqKjo0fSJhERERGNUqPytPuuXbvw/v17ZblcLq1bIiIiIqL/Ad1IiqOiohASEoKenh6//Z6eHpjN5iFfYzabR1QPAEajEUajcSStEREREdEfYETDp8FgQEJCApxOJ9LT0wH8feDI6XQiJydnyNfY7XY4nU7k5eUpe3V1dbDb7b/9vv+cieJ3P4mIiIhGp3/mtGHPsssI1dTUiNFolOrqamlvb5dNmzZJRESEuN1uERHJysqSwsJCpf7evXui0+nk8OHD0tHRIaWlpaLX6+XJkye//Z4ul0sAcHFxcXFxcXFxjfLlcrl+OdeN6JNP4O+rk96+fYuSkhK43W4sXLgQt27dUg4VdXd3Izj4v18lXbp0Kc6dO4c9e/agqKgIs2fPxpUrVxAbG/vb72mxWOByuTBx4kQEBQWNtOUR8Xg8iI6Ohsvl4rVONCRmhIbDjNCvMB80nD81IyKCDx8+wGKx/LJuxPd8BjreKUrDYUZoOMwI/QrzQcMJ9IyMytPuRERERBSYOHwSERERkWo4fP7AaDSitLSUVz3Rv2JGaDjMCP0K80HDCfSM8DufRERERKQafvJJRERERKrh8ElEREREquHwSURERESq4fBJRERERKrh8ElEREREquHw+YPjx4/jr7/+QmhoKJYsWYKmpiatWyINlJWVYfHixZg4cSKmTJmC9PR0dHZ2+tUMDAzA4XBg8uTJmDBhAtauXYuenh6NOiatlZeXIygoCHl5ecoeM0KvXr3Chg0bMHnyZISFhSEuLg4tLS3KcxFBSUkJpk6dirCwMKSmpuL58+cadkxq8Xq9KC4uhs1mQ1hYGGbNmoW9e/fi+0uIAjUfHD6/c+HCBRQUFKC0tBQPHz7EggULsHLlSvT29mrdGqmsoaEBDocD9+/fR11dHb5+/YoVK1bg48ePSk1+fj6uX7+O2tpaNDQ04PXr18jIyNCwa9JKc3MzTpw4gfnz5/vtMyNj27t375CcnAy9Xo+bN2+ivb0dR44cQWRkpFJz8OBBHD16FFVVVXjw4AHGjx+PlStXYmBgQMPOSQ0HDhxAZWUljh07ho6ODhw4cAAHDx5ERUWFUhOw+RBSJCUlicPhUH73er1isVikrKxMw65oNOjt7RUA0tDQICIi/f39otfrpba2Vqnp6OgQANLY2KhVm6SBDx8+yOzZs6Wurk6WL18uubm5IsKMkMjOnTtl2bJl//rc5/OJ2WyWQ4cOKXv9/f1iNBrl/PnzarRIGkpLS5ONGzf67WVkZEhmZqaIBHY++MnnN1++fEFraytSU1OVveDgYKSmpqKxsVHDzmg0eP/+PQBg0qRJAIDW1lZ8/frVLy8xMTGwWq3MyxjjcDiQlpbmlwWAGSHg2rVrSExMxLp16zBlyhTEx8fj1KlTyvOXL1/C7Xb7ZSQ8PBxLlixhRsaApUuXwul0oqurCwDw6NEj3L17F6tWrQIQ2PnQad3AaNHX1wev1wuTyeS3bzKZ8OzZM426otHA5/MhLy8PycnJiI2NBQC43W4YDAZERET41ZpMJrjdbg26JC3U1NTg4cOHaG5u/ukZM0IvXrxAZWUlCgoKUFRUhObmZmzbtg0GgwHZ2dlKDob6u8OMBL7CwkJ4PB7ExMQgJCQEXq8X+/btQ2ZmJgAEdD44fBINw+Fw4OnTp7h7967WrdAo4nK5kJubi7q6OoSGhmrdDo1CPp8PiYmJ2L9/PwAgPj4eT58+RVVVFbKzszXujrR28eJFnD17FufOncO8efPQ1taGvLw8WCyWgM8H/+3+TVRUFEJCQn46idrT0wOz2axRV6S1nJwc3LhxA7dv38b06dOVfbPZjC9fvqC/v9+vnnkZO1pbW9Hb24tFixZBp9NBp9OhoaEBR48ehU6ng8lkYkbGuKlTp2Lu3Ll+e3PmzEF3dzcAKDng352xafv27SgsLMT69esRFxeHrKws5Ofno6ysDEBg54PD5zcGgwEJCQlwOp3Kns/ng9PphN1u17Az0oKIICcnB5cvX0Z9fT1sNpvf84SEBOj1er+8dHZ2oru7m3kZI1JSUvDkyRO0tbUpKzExEZmZmcrPzMjYlpyc/NMVbV1dXZgxYwYAwGazwWw2+2XE4/HgwYMHzMgY8OnTJwQH+49hISEh8Pl8AAI8H1qfeBpNampqxGg0SnV1tbS3t8umTZskIiJC3G631q2RyrZs2SLh4eFy584defPmjbI+ffqk1GzevFmsVqvU19dLS0uL2O12sdvtGnZNWvv+tLsIMzLWNTU1iU6nk3379snz58/l7NmzMm7cODlz5oxSU15eLhEREXL16lV5/PixrF69Wmw2m3z+/FnDzkkN2dnZMm3aNLlx44a8fPlSLl26JFFRUbJjxw6lJlDzweHzBxUVFWK1WsVgMEhSUpLcv39f65ZIAwCGXKdPn1ZqPn/+LFu3bpXIyEgZN26crFmzRt68eaNd06S5H4dPZoSuX78usbGxYjQaJSYmRk6ePOn33OfzSXFxsZhMJjEajZKSkiKdnZ0adUtq8ng8kpubK1arVUJDQ2XmzJmye/duGRwcVGoCNR9BIt9dpU9ERERE9H/E73wSERERkWo4fBIRERGRajh8EhEREZFqOHwSERERkWo4fBIRERGRajh8EhEREZFqOHwSERERkWo4fBIRERGRajh8EhEREZFqOHwSERERkWo4fBIRERGRav4Dp9ppAYTxmgoAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", - "predicted_survival.plot(ax=ax);\n" + "predicted_survival.plot(ax=ax);" ] }, { @@ -1328,28 +449,10 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "3045bfc0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.393498Z", - "iopub.status.busy": "2023-07-26T00:00:13.393362Z", - "iopub.status.idle": "2023-07-26T00:00:13.556483Z", - "shell.execute_reply": "2023-07-26T00:00:13.556104Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp8AAAKnCAYAAADAwSbIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABxNUlEQVR4nO3de3ycdZ33//d1mFPSJik90lJoK62lgBRbqKWwwFpB1p+77CI3i3Up6OLDLtwqvRGFFSq6UmER0ZWlri6w9+0BdW/c2wVEsNKyYBFoxYUWKNCWcuoJ2iRN5nQdfn9MZjKTzCQzkzkmr+fjcWlyzXVd882Vknzyvb6fz8fwfd8XAAAAUANmvQcAAACAsYPgEwAAADVD8AkAAICaIfgEAABAzRB8AgAAoGYIPgEAAFAzBJ8AAACoGYJPAAAA1Ixd7wEUw/M8vfXWWxo/frwMw6j3cAAAADCA7/vq7u7W9OnTZZqF5zebIvh86623NHPmzHoPAwAAAMN4/fXXddRRRxV8vSmCz/Hjx0tKfTFtbW11Hg0AAAAG6urq0syZMzNxWyFNEXymH7W3tbURfAIAADSw4ZZIknAEAACAmiH4BAAAQM0QfAIAAKBmmmLNJwAAGD1c11Uymaz3MFAiy7Jk2/aIy14SfAIAgJo5fPiw3njjDfm+X++hoAwtLS068sgjFQwGy74GwScAAKgJ13X1xhtvqKWlRZMnT6ZxTBPxfV+JREL79+/Xzp07NXfu3CELyQ+F4BMAANREMpmU7/uaPHmyIpFIvYeDEkUiEQUCAb322mtKJBIKh8NlXYeEIwAAUFPMeDavcmc7c65RgXEAAAAARSH4BAAAaGD33HOPOjo66j2MiiH4BAAAGMKll14qwzBkGIYCgYBmz56ta665RrFYrC7j+cpXvqKFCxeO+Dr//d//rTPOOEPhcFgzZ87ULbfcMvLBFYGEIwAAgGF8+MMf1t13361kMqnNmzdr5cqVMgxDN998c72HVpauri6dc845Wr58udatW6fnnntOn/zkJ9XR0aFPf/rTVX1vZj4BAACGEQqFNG3aNM2cOVPnn3++li9frkceeUSS5Hme1q5dq9mzZysSieikk07Sv//7v2fOPXjwoFasWJHJ8p87d67uvvtuSdKGDRtkGIYOHTqUOf7ZZ5+VYRjatWvXoHHcc889uvHGG/XHP/4xMxt7zz33lPz1/OhHP1IikdBdd92l448/Xn/913+tz372s7rttttKvlapmPkEAAB14fu+okm3Lu8dCVhlZ90///zz+t3vfqdjjjlGkrR27Vr98Ic/1Lp16zR37lw99thj+sQnPqHJkyfrzDPP1PXXX69t27bpV7/6lSZNmqRXXnlF0Wi0rPe+6KKL9Pzzz+uhhx7Sb37zG0lSe3u7JOm8887Tf/3XfxU895hjjtHWrVslSZs2bdKf/Mmf5BSLP/fcc3XzzTfr4MGDmjBhQlnjKwbBJwAAqIto0tWCG35dl/fe9tVz1RIsPgy6//77NW7cODmOo3g8LtM09d3vflfxeFw33XSTfvOb32jp0qWSpDlz5ujxxx/X9773PZ155pnavXu3Tj75ZC1evFiSNGvWrLLHHYlENG7cONm2rWnTpuW89oMf/GDIoDYQCGQ+3rNnj2bPnp3z+tSpUzOvEXwCAADU0dlnn60777xTPT09+ta3viXbtnXBBRdo69at6u3t1Yc+9KGc4xOJhE4++WRJ0qpVq3TBBRdoy5YtOuecc3T++efrtNNOq/gYZ8yYUfFrVgPBJwAAqItIwNK2r55bt/cuRWtrq4499lhJ0l133aWTTjpJ//qv/6oTTjhBkvTAAw8MCv5CoZCk1OPw1157TQ8++KAeeeQRffCDH9QVV1yhW2+9NVO0PbvXfTKZLOtrKuWx+7Rp07R3796c19OfD5xRrTSCTwAAUBeGYZT06LtRmKap6667TqtXr9b27dsVCoW0e/dunXnmmQXPmTx5slauXKmVK1fqjDPO0Be+8AXdeuutmjx5siTp7bffzjzqfvbZZ4d8/2AwKNcdvFa2lMfuS5cu1d///d8rmUxm9j/yyCN673vfW9VH7hLBJwAAQMkuvPBCfeELX9D3vvc9XX311brqqqvkeZ5OP/10dXZ26oknnlBbW5tWrlypG264QYsWLdLxxx+veDyu+++/X8cdd5wk6dhjj9XMmTP1la98RV//+te1fft2ffOb3xzyvWfNmqWdO3fq2Wef1VFHHaXx48crFAqV9Nj94x//uG688UZ96lOf0he/+EU9//zz+va3v61vfetbI7ovxSD4BAAAKJFt27ryyit1yy23aOfOnZo8ebLWrl2rHTt2qKOjQ+9///t13XXXSUrNVF577bXatWuXIpGIzjjjDN17772SUrORP/nJT7Rq1Sq9733v0ymnnKJ/+Id/0IUXXljwvS+44ALdd999Ovvss3Xo0CHdfffduvTSS0saf3t7ux5++GFdccUVWrRokSZNmqQbbrih6jU+JcnwsxcZFOGxxx7TP/7jP2rz5s16++239Ytf/ELnn3/+kOds2LBBq1ev1tatWzVz5kx9+ctfLukmdXV1qb29XZ2dnWpraytluAAAoEHEYjHt3LlTs2fPVjgcrvdwUIahvofFxmslF5nv6enRSSedpDvuuKOo43fu3KmPfOQjOvvss/Xss8/q85//vP72b/9Wv/51fUorAAAAoH5Kfux+3nnn6bzzziv6+HXr1mn27NmZ9QvHHXecHn/8cX3rW9/SuefWJ8MNAAAA9VH19pqbNm3S8uXLc/ade+652rRpU7Xfuiy+56n3cOfgLZ5Ub8JRiasUAAAAkKXqCUd79uzJVMxPmzp1qrq6uhSNRhWJRAadE4/HFY/HM593dXVVe5gZ0d5utdx69KD9T3vzdGFijU46qkP3fvoDijRhaQgAAIB6q/rMZznWrl2r9vb2zDZz5sx6D0mnmNsVUVx/fKNTG5/fqdjhQ1K8u39LltejFQAAYCyp+vRdoQr6bW1teWc9Jenaa6/V6tWrM593dXXVLACNtIxX79W71XXwHTnxmAwnqhn3/mnOMeN2b1TcaZVvp7ojWKYUjIyX5pwlBfJ/TQAAAKhB8Ll06VI9+OCDOfseeeQRLV26tOA5oVAo05Kq1gzTVMu4drWMa0/tSPQMOuawEdIL7/iSHElSxHZ13GQpGO+WvNQ+mTaBKAAAwAAlP3Y/fPiwnn322Uzrp3SF/d27d0tKzVpecsklmeM/85nPaMeOHbrmmmv04osv6p//+Z/1s5/9TFdddVVlvoIaalFcEcV0+3MRhYIBhUMBWbalWMKXF+uWdj4mbf91atuxgUfxAAAAA5Q88/nMM8/o7LPPznyefjy+cuVK3XPPPXr77bczgagkzZ49Ww888ICuuuoqffvb39ZRRx2lH/zgB01ZZmlzeFXqA0fSf+W+5k56r/Shr0qGITnx1IwpM6EAAAA5Sg4+zzrrrCHLDd1zzz15z/nDH/5Q6ls1hkCLdNQp0htPD3mYdeAlRV1JdkiWaSgYPZiaCU0LtrImFAAAlOyee+7R5z//eR06dKjeQ6mIhsx2byiGIX3iPukv/lnv/H936bhY7rYodmfm0Gd3H9KW1w7qub0xJVqPlELjU5sVTM2EpmdBAQBA07j00ktlGIYMw1AgENDs2bN1zTXXKBaL1WU8X/nKV7Rw4cIRXSMWi+nSSy/ViSeeKNu2h22VXkkUqyyGYUh2SJFAWDPbPW3vzB+zR4KW4jIUS7jq9WzJthS0+o51EzUcMAAAqKQPf/jDuvvuu5VMJrV582atXLlShmHo5ptvrvfQyuK6riKRiD772c/q//7f/1vT92bmswSGYeiGRY5+/CFP//c86Ufn5L4etE2FbEsxx9XWNzv13JudSrhefQYLAAAqJhQKadq0aZo5c6bOP/98LV++XI888ogkyfM8rV27VrNnz1YkEtFJJ52kf//3f8+ce/DgQa1YsUKTJ09WJBLR3Llzdffdd0uSNmzYIMMwch6pP/vsszIMQ7t27Ro0jnvuuUc33nij/vjHP2ZmY/MteRxOa2ur7rzzTl1++eWaNm1ayeePBDOfJTIMKWxLoTx3znTjClrS5LCvqCfFEq5cj3acAADk5ftSsrc+7x1oSf1SL8Pzzz+v3/3udzrmmGMkpZrj/PCHP9S6des0d+5cPfbYY/rEJz6hyZMn68wzz9T111+vbdu26Ve/+pUmTZqkV155RdFoeRVxLrroIj3//PN66KGH9Jvf/EaS1N6eKg953nnn6b/+678KnnvMMcdo69atZb1vJRF8VtD8jasyHx9un6c/Hn9tHUcDAECDS/ZKN02vz3tf91YqGbhI999/v8aNGyfHcRSPx2Wapr773e8qHo/rpptu0m9+85tMDfM5c+bo8ccf1/e+9z2deeaZ2r17t04++WQtXrxYkjRr1qyyhx2JRDRu3DjZtj1oxvIHP/jBkEFtIBAo+30rieBzhKIK6Wlvnk4xt+fsH9e5XaY3YJ1nMkrJJQAAmtDZZ5+tO++8Uz09PfrWt74l27Z1wQUXaOvWrert7dWHPvShnOMTiYROPvlkSdKqVat0wQUXaMuWLTrnnHN0/vnn67TTTqv4GGfMmFHxa1YDweeIGbowsUa/OCeukJ169J49A5o6xEplu+98jJJLAACkBVpSM5D1eu8StLa26thjj5Uk3XXXXTrppJP0r//6rzrhhBMkSQ888MCg4C/drfG8887Ta6+9pgcffFCPPPKIPvjBD+qKK67QrbfeKtNMpd9kl7FMJpNlfUk8dh9TDPUqLM+XzHxLPO2Q1DYj9XiBkksAAKQYRkmPvhuFaZq67rrrtHr1am3fvl2hUEi7d+/WmWeeWfCcyZMna+XKlVq5cqXOOOMMfeELX9Ctt96qyZMnS5LefvttTZgwQZIyXSQLCQaDcl130H4eu48xKx5O/X9E0gvh/v1J11ckoFQA6ruUXAIAYBS48MIL9YUvfEHf+973dPXVV+uqq66S53k6/fTT1dnZqSeeeEJtbW1auXKlbrjhBi1atEjHH3+84vG47r//fh133HGSpGOPPVYzZ87UV77yFX3961/X9u3b9c1vfnPI9541a1amvflRRx2l8ePHKxQKlfzYfdu2bUokEnr33XfV3d2dCXpHWkN0OASfIxCypAUTpG0H87+eTPTq1bf36/jp7QoGsx6zp3u+s/4TAICmZNu2rrzySt1yyy3auXOnJk+erLVr12rHjh3q6OjQ+9//fl133XWSUjOV1157rXbt2qVIJKIzzjhD9957r6TUbORPfvITrVq1Su973/t0yimn6B/+4R904YUXFnzvCy64QPfdd5/OPvtsHTp0SHfffbcuvfTSkr+GP/uzP9Nrr72W+Ty9RnWoTpaVYPjVfocK6OrqUnt7uzo7O9XW1lb7AcS7pe2/VtRs0Za34ooEbYXs9BoNKd438x1zpb99OKYXwp8cfI0pC6TlX5W6s7LrWP8JABhDYrGYdu7cqdmzZyscDg9/AhrOUN/DYuM1isyPULruZ9iWwlZ/9vsg+7al/r9tBi03AQDAmMVj94pLZb9HFNe8Dl/XndCjJc98tv9lO9T/sZuQnIQUGnwVAACA0YiZzwpKrwGVDEUV1h8PRdRrFIgs0+WX3niqfw0oAADAKEfwWUGGId2ybHDP97zskNQykUfvAABgTCH4rDDDSK39TEs4g+twZViNUW8LAACgVljzWWWtoSICTEovAQDGkCYotIMCKvG9I/isMts0Cr+Y3XZTovQSAGBUs6zUo8FEIqFIhN91zai3t1fSyLolEXxWWXbsmfA8BbNfTLfd9F3JibP+EwAwqtm2rZaWFu3fv1+BQCDT1xyNz/d99fb2at++fero6Mj8IVEOgs8yOJ6nUJHLZQNW/3Gul2eqemDpJQAARinDMHTkkUdq586dOZ110Dw6Ojo0bdq0EV2D4LMElmkoHLR0qDehoGXmBJbFSMR6ZQXCCtrl/7UAAEAzCwaDmjt3rhIJJlyaTSAQGNGMZxrBZwmClqm5U8bruTcOKd8k5nDaf3mZDrfPk/6/fyQABQCMWaZp0l5zDGOxRYkC1hAJRHl4Zkg9Hf3tNsd1bpebjFV6WAAAAE2B4LNMSddV3PEUdzwlXa/gcb5haNfiNXrxzDsz++KOp8QQ5wAAAIxWBJ8lSq/7dFxf0YSjaMLROz3xggHoNU9Ivgx5Vn9i0Qtvdem5NzsJQAEAwJjDms8SBS1TJ85oz2Suxx1PW9/szFkDGrKkOW3Sjq7UFnelSNbTetsyFEu4qWsMXPrpJKQC7eABAACaHTOfZQhapiIBS5GApZA9+Bame7wXElJSphuXsrsEpAvOv/FUf8cjAACAUYaZzyoZKi3pfU9cIUlyXz1OOu+WVLRqh6SWiRSaBwAAoxoznzXiD8h6lyRr/wupzkaZHeW3qgIAAGgGzHzWSl/Wu+HF5cSjmdnPQS03pdzH7qZNr3cAADBqEHzWQGZlp2HIt8KS3Z/lvvWtTh1/dFhBy+xf97nzsf6Tg63SnLMIQAEAwKjAY/cauOaJ3NwiO6stZyzh9fd8t0NS2wwpND61WUHWgAIAgFGFmc9SZK/PTEu6spyoDCsk2f2twvKVWwrnvdu+kq6vSHq5pz2gzpJL71sAADB6MPNZDNNOPf52E1K8e8B2WLbTI/vwm0rEY5mOR8OVW0o74b+/rpf3dlFwHgAAjAnMfBYjEEmtu8zz+NtIuuo13pTe+J2ceFyubSrmuJrYGpKRFdtnPXWXb4YUHX+MIt2vaXzv60rEonK99sEF59OSURKPAADAqMDMZ7ECkf61mFlbeFyHTp07Q8fPaNdJR3fo+BntCttWTscjacC6z77M92x5+71nJyDt2EDxeQAA0PQIPisgHLAUCZiDOh6l131K/es+0/ysKvQxx9XWNzsH93tPJyCReAQAAEYJgs9KcuJSsjeVgOQmil73ObE1mNvvPZsdGpyEBAAA0KQIPishJyGpPwHJScRy2mzG3NySS2lBJRVSMv+L2ZLRVJITj98BAECTIuGoErISkrITkA739CrcElQ6xl/xsLRgQmo2NDsonb9xlSSpa/xcxWfcnHNpyzQUHFh8nsLzAACgSRF8VkpfIBgOSafOleLJcXrhHV8BMxVwbjuYOmzbwb6an1aq13vroe2ZS7R1v6xNr++XZ/U/Zg8HLZ04o13BthmS76Ye7bP+EwAANCmCzyoIByz5tiXJyaz77EykZj4zsnq9m248M/sZCVryrNS3Jem6/etAA1nrPik8DwAAmhTBZw0YhhTOquEZc1OZ8EZfr/fsAktB25Sf1X7TcZ3cDkgAAABNjISjOljx8OB+7/mYRqoM08v7ugfXAHWY/QQAAM2H4LOKTC8h04nKdKIKK6EFE/pfS6/9HErAMjU+HMgtwZROPnrjKbLeAQBA0yH4rIa+0kuml5SdPCwreVih6Fv6xw8k9KNzSruUbaa+RUm3L/i0Q1LLRJKOAABAU2LNZzUEInJn/Yn2Rt/WuJCtVjOhtj1PypSbs/azGNmP3k+c0a6gZUpWQHJi1Rk7AABAFRF8VksgIjfQKjcQkGuU/3h80KP3EoNXAACARsJj9yaQfvQOAADQ7IhqAAAAUDMEn3WUr9e7MUz5JQAAgGZG8FlH+ep9znrmxuELgAIAADQpgs8aC1kaVO8z5ocUHX+MJCnS/ZoML5733Ey5pTQKzQMAgCZD8FllSS+3M1G613tOvc++Pu+FDOp0RKF5AADQpAg+q8Q2DbWEbL3bE1fSGRyAZtf79CX5RuFrDSq3RKF5AADQpAg+qyQcsPT+oyeoNWj3t8YsoJg+74PKLVmBEY4QAACg9gg+qyhoF769IUua05b6eEeXlMjq8266cRluTIYbI/kIAACMKnQ4qpP02s+P/Wrwa/M3rsp83NMxb8j1oHISUqgKAwQAAKgCZj7rKHuZp2eG1NMxb9AxrYe2589+J+kIAAA0IWY+a8hwEzIMS74VHPRazDO0c9EamX4q0DTdeM4MaFo8k7xkywodoSBJRwAAoIkQfNaAb9hyAy2ykr2yew8q0TJ9UAC64mFpwQRDtywLyzAkb8A10uWWtr7ZmdnXYiZ0/ERDg0NZAACAxsRj9xrw7LC6pi1T17QPyLNbZfip7KJ8Befjbv5rBCxTE1tDigRtRYK2bMtQPOHKHRilAgAANDBmPmvEs8OSn/t4PJ101JlIzXwWYrpxuWZIASv3b4VMf6P0mk/TlgKRyg0aAACgwgg+ayDpeYrIyvvawILzsb6ZTzNrBnT+xlX9We9Gf5qSb1hKRruk7RtkmVIwMl6acxYBKAAAaFgEn1WU7nK0vzumsG0pXMQ5/TOgIf08OE+nmNsl9We9+1bqKqYh9fqWtnaPl9HlKGK7Om6yFCT5CAAANDDWfFZRsV2OBq79TDF0YWKNFsXuzHtOeg1oKNIiI9SiqGOx/hMAADQ8Zj6rbKguR2nptZ/ZyUYxV1rxsKHeISrIZ68BTRQ8CgAAoHEQfNZI0vOUXvZpuAmZSq3ZTJdcMgwpPMLvhut5qeQjEo8AAECD4rF7laXXfb7bE1fCNeUGWmR6CVnJwwr2viXDLX7OMt3zfWC/d9OQop60e88+JV7ZIO3YQNcjAADQkJj5rLL0us/HX96vpBlQ17Rlku/IcqJq2/OkDN9VvtWgIUua0ya93dW/L93xaGDme8Ay1drSqs64JdcIptpukngEAAAaEDOfNZC97tOzw/IC4+TaQz8WT68DjSqkp73cnu/5+r3bpinPCko2/Y4AAEDjYuazgRl9/3thYo3uOyeuFiN/v3cAAIBmwcxnDcUdVwmnnHpIhq5+MizXLJz5PkgyKsW7WfsJAAAaCsFnDaSTjpKup7c6e4sOQNPrPiVpR5eUKND3PYdhpdZ87nxM2v5rko8AAEBDIfisgXDA0unHTtLS90waVHDe8JIFz0uv+8z7WoGa9XEFFI1MU8JulSySjwAAQGMh+KyRcMBSJJjVxN2w5QZaZMffHbLcklFg/6xnbswpuWQaUsxxtfXNTm15s1fP7UsqYQQqNHoAAIDKIPisE88O6/Ckk+XZrTL8Yp6nS54ZUnT8MZKkSPdrORnv6XabkaAt2zIUS7hDtvQEAACoB4LPOkgnHnlWiWWRDCNV37OAgGUqZJsKWFbuC+nko6E21oUCAIAaoNRSDaUTj3rjjt7q7NXMltIz3/1Cz+HzyU4+Gk6wVZpzFm05AQBAVRF81lA68ag75mjTqwfkDigUX3F2SGqbIQ33WN+Jk5gEAABqguCzxsIBS06ZazHLOssusjZoCT3mAQAAysWazwZguAmZTnTIrHdJuuaJnAT3YcUdT9Gkq4RbTmF7AACAymPms478vnJLVrJX8hIynR4lWqbLz0pEShea39FVfKH57LJLkhQOWjpxRruCFn9rAACA+iIaqSPPDqtr2jIdPOpsdU37QN6yS0MVmi+EsksAAKBRMfNZZ54dHvaYUhLc0wJZs5yOSyIRAABoDMx8jhFJl5lPAABQfwSfTaxQf/ds6fWfL+/rJvEIAADUHcFnHaU7HZVrYH/3fAKWqfHhAOs+AQBAQyD4rIN0p6Ok6+mtzt6SAtBeP6Tecfn7uxd+vyK/zek2nLTaBAAAVULCUR0M7nTkF51VtOIRQy1ao23hT0oqre5nQQPbcNJqEwAAVAkzn3USDliKBK2ijg1Z0oIJ/Z9nx5vF1P0cVroNZ2i8ZAVptQkAAKqGmc8mkK71Ge8LNBMJSU/0vVipZZzZbThptQkAAKqEmc8GkPSGX/NpGFLY7tuyJkznbrlRsaRfmcfvAAAAVUbwWUfpxKN3e+JKlpB05JkhbfVSSUfjel7TJx6KF9X3nV7vAACg3gg+6ygcsPT+oyeoNWiXVAYpZBu6vmVNzr5tB/sfyw+U3et9y2sH9dybnQSgAACgLgg+6yxol/4tMAzpa0uLP55e7wAAoFGQcNQg4o4rx/VkWklJw5c4Mkps+E6vdwAA0AiY+ayz9LrPhG9qf8KS0fuOjBKzzVsUV0Qx+SVkHdHrHQAA1APBZ52lC84vmXeUolMWKWm1yPBLK965ObxKL4Q/qdDGG+UP8zidXu8AAKCeCD4bQLrgvGsGiz7HN0Pq6ZiXs+9Ef7uSyaHbbRbd6z3dajN7o+0mAAAYIdZ8NivD0K7Fa2R4cSXicS18YlXRp9qmqaQKzHoObLWZjbabAABghMqa+bzjjjs0a9YshcNhLVmyRE899dSQx99+++1673vfq0gkopkzZ+qqq65SLBYra8CjneO6ijteZksO9WjcMORbYflWqPAxpcputZm90XYTAABUQMkznz/96U+1evVqrVu3TkuWLNHtt9+uc889Vy+99JKmTJky6Pgf//jH+tKXvqS77rpLp512mrZv365LL71UhmHotttuq8gXMRqkEo8sOZ7kJBy5fUFezHE1sTWUk61e/cEUCGZpuwkAAEao5Ijmtttu0+WXX67LLrtMCxYs0Lp169TS0qK77ror7/G/+93vtGzZMn384x/XrFmzdM455+jiiy8edrZ0rAkHLC2dM1HHz2jXSdNb9P7pIR0/JagWwxUlOQEAwGhRUvCZSCS0efNmLV++vP8Cpqnly5dr06ZNec857bTTtHnz5kywuWPHDj344IP6sz/7sxEMe3QKh0KKtI5XxHQU8XoVcnsUib5dUukl040P32dzJJJREo8AAEDZSnrsfuDAAbmuq6lTp+bsnzp1ql588cW853z84x/XgQMHdPrpp8v3fTmOo8985jO67rrrCr5PPB5XPN6ftd3V1VXKMJtXIJJK6Ol75O71dMt58wHZJZReOumJVerpmKddi9eUXol+KNmJSCQeAQCAMlV9IeGGDRt000036Z//+Z+1ZcsW3XfffXrggQf0ta99reA5a9euVXt7e2abOXNmtYfZOAKRTJKPb6eCO8cbuh6nZ4b0tNdfdqn10HbJHbrkUsnSiUgkHgEAgBEoKficNGmSLMvS3r17c/bv3btX06ZNy3vO9ddfr7/5m7/R3/7t3+rEE0/UX/7lX+qmm27S2rVr5RUIqq699lp1dnZmttdff72UYY4atmkoFDB1OJ4cNuv9wsQaLYrdmdn15U1VePpuhwonIwEAABShpOAzGAxq0aJFWr9+fWaf53lav369li5dmvec3t5emWbu21iWJUkF20GGQiG1tbXlbGNROGBp9qRWhS1ryKSjkCUtmGCoV/2B4YuHpHhpjZIAAACqruRSS6tXr9bKlSu1ePFinXrqqbr99tvV09Ojyy67TJJ0ySWXaMaMGVq7dq0k6aMf/ahuu+02nXzyyVqyZIleeeUVXX/99froRz+aCUJRmGWaUqGC8H0MQ7plmZRMSMpTG76QuJN7Xcs0FKxlSScAADDmlBx8XnTRRdq/f79uuOEG7dmzRwsXLtRDDz2USULavXt3zkznl7/8ZRmGoS9/+ct68803NXnyZH30ox/V17/+9cp9FaOc6SVSGe92uOAxhiGFsr6bLYrLdCVZoUGJR+n+7lvf7MzZHw5aOnFGOwEoAACoGsMv9Oy7gXR1dam9vV2dnZ1j6xF8MqroS7/V1p1vKayozPaZ8q3C/d8NN6YFv/1kzr5Cme9J18t5lJ90XTmur/cfM0GRwBAz0sneVJ/3eeemEqMAAABUfLzGFFcjC0RkzDlTvUedpk4nKMdJDnm4b4Z0uH1ezr7WQ9tleIMz3wOWqZDdvwVYAgEAAGqA4LPBhVvG6YRZRypkD510JEkyDL108hodF7srJ/O9FHHHUzTpKjFUdj0AAECZSl7zidoLWiUUizcMRZW7NrSYhRUD14Gy/hMAAFQDkcUYUEzNz4BlamJrSJGgLdsyFEu4cmkqDwAAKoyZz1EmVfNT2nmwf9/uQ3ElE7nZ8AP5ZkiBrFlOx6WDEQAAqDyCzyZiegmZjinfsApmveer+bk5vGrY+p9V6QcPAAAwAI/dm4Fpy7EjMt2ErORhBXvfStX9LMAwpGBwcOb7UAplxQMAAFQSM5/NIBDRgSlLFQ8YajUTatvzpAzf1ZArMvsy3z/xUCqg/NE5UjjPd9t045q/cVVVhg0AADAQM59NwrPCcgPj5NqR4k/qy3yPKqyrnwzLM8PyrdzNs0LDXwcAAKBCCD6bSNIrrfZmyJLm9DUY2NElxd0S388l2x0AAFQWwWcTsE1DLSFb7/bElXSKD0DTyUelStf8fHlfN8XmAQBARRF8NoFwwNL7j56g1qBdcu3NcnLXA5ap8eEAtT4BAEDFEXw2iaCd+60yvKH7vI+UbfJPAwAAVB4RRpPxDVtuoEV2/N0hyy0BAAA0IoLPJuPZYR2edLI8u1WGX2IGURnijqdo0s3ZWAcKAADKRZ3PJuQV6G5USemko61vdubst5yoWo2o5h5zWGHTlgIllH4CAABjHsHnGBLrmygNWcN30QxYpia2hjQw38iRLfdwt/yd/yW1jpfmnEUACgAAikbwOYaseDj1/wsmpEowDQxATTcuT5JvhiTDUMDKtyojomjkSMkKSokeyXOqPWwAADCKEHyOciErFWxuO9i/b9vBVMH5ge020202ezrmadfiNQWnRz0rqKQRVEQEngAAoDQEn00m7riyfFcJx5NnerKG+Q6mC83H3dRj9/TsZ5pvhtTTMU+th7Zn9rUe2i7Di8u3woOul14L+ur+bh0/0VD1V58CAIDRhOCzSaS7HPXGHR1OOmpNujrsxNVhRwo8Hu9nGINnObNf3LV4jQwvLtONZ2Y/C0kXoI/HEnI9/vkAAIDSED00iXDA0unHTpLj+VK8W64/Ti+84w9KCCpWzmmGId8Kq9gCSrZpigqjAACgHNT5bCLhgKVxIVvjQraCtjWia13zhOSPsHOm61HvEwAAlIbgs8klXVdxx1OyiMLvIUua05b6eEdXah1oOUxDirmudh7oUSxZ/UL3AABg9CD4bFKWKYWClhzXVzTh6J2e+LABaDr5aKQClqlxoYDiSS+1DAAAAKBIrPlsUkHL1PHTW+VaEcUdT1vf7Cxq/ecwteWLZpsmhZYAAEDJCD6bWFCuFBjZ2k8AAIBaIvhsRqYtBVulw/skO6x6fhtjvYclpUpBhUMhWm0CAIAhEXw2o0BEOupUacejku8q/W10PE+hGi3jNUxLbrxbu55+SJIUCph679FHKjj3bAJQAABQEMFns7L7ewtZpqFw0NKh3oSCljls0fnKvH1Y4YnHyPdcJV1X0WRcbuwwvd4BAMCQyHYfBYKWqblTxitsW2UXnR/IdOMy3FjONrAwqB0MKxBulRUaJ8+k0SYAABgeM5+jRMCqVB57Sr42mz0d87Rr8ZpUzaY8Eo4rI+kqHKroUAAAwCjCzGezc5MVu5RvhtTTMa/g662Htsvw4oP2p4vOv7z3sDbteIfC8wAAoCBmPptVNTLeDUO7Fq8ZFGCabjzvTGhawDJ1REtIXjSmRO9hOfFeKTB+5OMBAACjDjOfzSqd8R5s7ct4L13MlWJO/+b7kgxDvhXO2Txr+Ofoth1QyI9p4v6nZO16TEpGyxoTAAAY3Zj5bGb2yJJ8Vjyc+/mCCan2mwWWdA7Jt4KKt0yXF+2WEj1kvQMAgLyY+RxjQlYqyMxn20EpPswkqunGB2W9p/lWUJ4ZVMJxdTju5GysAwUAABIzn2OOYaRmN7ODzJg7eBa0kPkbVxXMeu9PPIppr7FfbqA381pLyNbpx05SmHagAACMaQSfo0zSTUWVpqGCxeYNQwqX8J1PZ8G3HtouqT/r3bfCOcelE4/MRFLjQrbcQECSFHdc9cYdOZUqQgoAAJoWj91HAycuy40qYrlyXF/RhKN3euJKul7Jl0onIeU8We/Lgn/xzDuHPT9gmQraplrNhFqNqFrNpEI2s50AACCFmc9mli63lOhRUAmdMK5b7rjpiiugrW92ltXtKP34fVDykWEUlfXuG5ZMp0dte56UJLmBFkWP+IAkS9FE/7N+2zR4BA8AwBhE8NnMAhFpzlmpzPJkVMGdj/V9R0ub0E4nIW072L8vnXxUyuN5KZV0lGiZLsN3ZbgJWcle2YarnoSvTa8eyBzHGlAAAMYmgs9mF4iM+BLZSUilJB8V4ltB+eoLgb2EArap6e0tcvumYlkDCgDA2EXwCUmlJyGVKmjnzsaWsx4VAAA0PxKOAAAAUDPMfKJushOQ8iEpCQCA0Yfgc7Rx4vUewbAs01BPwslJQMqHpCQAAEYfgs/RIqvsktF7QKbbqkb99gYHJCDlQ1ISAACjU2NGJyhduuxSvFv+9g0yfKeobkdDqWbYNzABKR+SkgAAGH1IOBpNAhEpEJFlSqGgNeJuR9c8MaDTEQAAwAgx8zkKBS1Tx09vlWtFFHe8krodhSxpTpu0oyu1lVNoHgAAoBBmPkepoGUqErAUKuLxdrZ0wflKMt1EZS8IAACaFsEnBjGGP6Qo6T7v4w78QaYTq9BVAQBAM+OB6miVLrnk9P2f5ylUxt8asaxSnObQZTkH8a2gnNARspK9ku+U/N4AAGD0IfgcbbJKLslNyIp2K2KN18GYq6Bllpz1nt3nPSLphXDq42ITkXwzILmNX3sUAADUBo/dR5t0yaV550qz/0TByHgdO6lFYdsqKelowYShjxmmOREAAEBezHyORoFI7qclNghKJx3FBwSYiYSkJ0Y2NAAAMLYRfCIvwxhcYqnUNZ8AAAAD8dgdZSm19jzllgAAgETwiTJ9eVNxSUeUWwIAANl47D4WOAlZTlSmacss8PeGb1jyreCQlwlmrR3d2V1c9yPKLQEAgGwEn6NZuuxST7dsp0e2Ycny8wefptOjRMv0IQNQo8zq85RbAgAAaQSfo1lf2SU3GtNed7/GhWyFg4NT3y0nqrY9T8rw3ZLXcgIAAJSC4HO0C0QkLyA30Ktew5TrW7JMQ8ESe74P1KK4fD+kyjXjBAAAYwEJR2OAbRpqCdlKup4Ox5N6q7NXCccb0TU3h1cptPFG+cVWrld5Ge8jHScAAGgsBJ9jQDhg6fRjJ+lPj5uqpe+ZpNagLbeEoDHNN0PqaZ+X+fxEf7uSyeHXcpaT8W6ZhnoSjrbsPqhYkgKjAACMFjx2HyPCpbY5yscwtOuUNUpGu7TwiVVFn1ZOxnvQNnVEa0i9cUdOGYEyAABoTMx8ojSGId8KZT6NuVLMGb7mp28GSn6rgMk/TwAARhtmPseopOcpopHPhn5yvRSVtGBCqh98ueWYAADA2MDU0hiTTj56tydedjJPnmpN2nYwVXS+Gkg6AgBg9CD4HGPCAUvvP3pC2UlHUu7s5l0fLO1cy4nKTB7u34ZIQCLpCACA0YfH7mPQSGt8ZgsX+eQ+nfHetufJnP1uoEVd05bJs8ODziHpCACA0YfgExUTc6WQlX/dp28FlWiZLsPvn8E03MSwGfAB01RczHoCADBa8NgdFbPiYemaJwpnvvtWUJ4dyWxD9ZEHAACjE8EnMgw3IdOJyiihE1HQSmW6p1Ur8YikIwAARgeCT0iGLTfQItNLyEoeVrD3raIDUMNIlVj60TnVGRpJRwAAjC6s+YQ8O6yuacsk35HlRNW250kZvqtiUnxMN9Ves0WSFJJU2UKfJB0BADC6EHxCkvJmmxdj/sb+Nps/D87ThYk1irmDA9BCiUhSqvySJMmw846DpCMAAEYPgk+UzDdD6umYp9ZD23P2n2JuV0RxrXh4cACZrwPSwPJLQ5VdkvrWfYbyvgQAAJoEwSdKZxjatXiNDC/1yN104zkzoPmkE5HCWf/isssvDVV2KXvd5+nHTlI4MPK2oAAAoD4IPlEew5BvpWYos/PQf3yO5GXFhjE3VYKpEN8Kyldf5puXP8mJdZ8AAIweBJ+oqJAt+VWYmGTdJwAAowPBJyrKdONyzVDe7KJYVuw4VAISAAAYvQg+x7C4kzuTaJmGyst57zd/4yr1dMzTrsVrBkWX2Y/f8yUgFSOacGWbBus+AQBoUhSZH4Ns01BLyFbS9XQ4nsxsb3X2KllGJ6F09nta66HtmWSk0IAOSGmldkJKJx1tevWAHn/lAAXnAQBoUsx8jkHhgKXTj52Uk7wTTbja9OoBuX1BY0n6st+tZNegrPd0B6R0oDlcAlIhQdvU9PYW9SYcEo8AAGhiBJ9jVMUfWxuGPCt/EU7DyC2xVK6gbcr1LCVd+rwDANCsCD5RN9kJSKYjma4US3ry+rLaQ7Ypg6wkAABGFYJP5Ig7bqqTkGIaODfqG5Z8K1ix98p9/B7p27Zl9rx36nit+egCAlAAAEYREo4gqT8JKeGbOuwH1dl9WH6sS1bycGYL9r4lw81fCH4g043LcGOSn7s2s1ACUj4v7e1WvIwEKAAA0LiY+YSk7CSkiYr2TNRTr+6TE7IVDqbmPy0nqrY9T8rwXRWT6pNOPBpYdmlgAlKa6URlOofVNXWpeux2feaHmyv55QEAgAZB8ImM/iSkcXIDPXIDAXklJCalSy61Htqe2Zcuu5RuxSnlT0AyDEvBZI+CnX+UN/EDI/kyAABAAyP4ROX0lVwyvLhMNz6o7NJQfCsoJ3SErGSv5FPDEwCA0Yo1n6gsw5BvhQuWXRqKbwaKPjaacCk0DwBAEyL4RFOh0xEAAM2N4BMlMdxE0Rnv1ZDudBSwTDodAQDQhAg+URzDlhtokeklSiq5VA1B21TIrnCHJgAAUBMEnygo6fXX2PTssLqmLVPXtA/Is1tlkBQEAADKQPCJQdIF59/tifd1O0rx7LBcO1LHkQ2WoAg9AABNheATg4QDlt5/9AS1Bm25DbqmMp14tGX3QZKOAABoIgSfyCtoN/Y/jaBt6ojWEElHAAA0mbIijDvuuEOzZs1SOBzWkiVL9NRTTw15/KFDh3TFFVfoyCOPVCgU0rx58/Tggw+WNWAgLWA2doAMAAAGK7nD0U9/+lOtXr1a69at05IlS3T77bfr3HPP1UsvvaQpU6YMOj6RSOhDH/qQpkyZon//93/XjBkz9Nprr6mjo6MS40eVxZ3cR9pW0pXjejKKrwcPAACQUXLwedttt+nyyy/XZZddJklat26dHnjgAd1111360pe+NOj4u+66S++++65+97vfKRBIRSyzZs0a2ahRdemko964o6Tbn9RjJR3ZvQmND3iyivzXY/gSD8YBAIBU4mP3RCKhzZs3a/ny5f0XME0tX75cmzZtynvOL3/5Sy1dulRXXHGFpk6dqhNOOEE33XSTXJckkUYWDlg6/dhJ+tPjpuZsS+ZMVMi2VMoyy1nP3Cj5xZ9gudHMx2ayR6YTG/J4Wm0CANA8Spr5PHDggFzX1dSpU3P2T506VS+++GLec3bs2KHf/va3WrFihR588EG98sor+ru/+zslk0mtWbMm7znxeFzxeDzzeVdXVynDRIWEA3kKuceL+3vFN0OKjj9Gke7XFOl+TYYXl2+Fhz7HsGQ6PRq/9ylJkyVJHW9tVDDcoq5py+TZuednt9psCdk6/dhJ+ccMAAAaRtUzNjzP05QpU/Qv//IvWrRokS666CL9/d//vdatW1fwnLVr16q9vT2zzZw5s9rDRKUZhnYtzv/HRSG+FVSiZbo8e1z/PiMoK9kr+c6g42m1CQBA8ykp+Jw0aZIsy9LevXtz9u/du1fTpk3Le86RRx6pefPmybL6Z6SOO+447dmzR4lE/haN1157rTo7OzPb66+/Xsow0SB8o4xzrKC8rEL2vhUc8nhabQIA0FxKCj6DwaAWLVqk9evXZ/Z5nqf169dr6dKlec9ZtmyZXnnlFXlZrRq3b9+uI488UsFg/sAiFAqpra0tZ0NjcbzadBZiLhMAgNGl5Mfuq1ev1ve//33927/9m1544QWtWrVKPT09mez3Sy65RNdee23m+FWrVundd9/V5z73OW3fvl0PPPCAbrrpJl1xxRWV+ypQM7ZpKBQwdTiezMmCH45RZhR59ZOhUnKVAABAgyu51NJFF12k/fv364YbbtCePXu0cOFCPfTQQ5kkpN27d8vMKv49c+ZM/frXv9ZVV12l973vfZoxY4Y+97nP6Ytf/GLlvgrUTDhgafakVvXs90rOeN+x5CbJGP5ZfMiS5rRJO7qkHd2mYrRvBwBg1DB8v/Hnlbq6utTe3q7Ozk4ewddbvFvRrb/SH/c6CraMV2ioNpy+rzm/v06R7tckSdv+9K5hM97Too70sV+lPv5/Z+9XcsYH5KbXghp2TuZ7NOHqcDypPz1uqsaFSv57CgAAVECx8Rr9CVE9ZWS8Z07N+th0etW250lNeONRTXjjUbXteWLY2p8AAKAxMU2Esjmep9Awf7+Uk/E+UCJypGwrVUTecBMFSy8BAIDGx8wnSmaZUihoqTtWWtJRub7wZFCuFZFnR4YsvZRwWBwKAECjI/hEyYKWqfdMHq9wiW02S5FOOpJSiUfxIbpnpjsdbdl9kDabAAA0OIJPlKWcLpallFsyDOmWZcUdG7RNHdEaossRAABNgOATNTPrmRtVStHOUpaLBkz+KQMA0Az4jY0RSbqu4o5XcO2nb4YUHX+MJCnS/ZoML16R97WcqMzk4dRG5jsAAE2DbHeUxTINhYOWYglXjuso5ria2BpSwBrw90xfuaXjHv3kiN4vPV/qG5ZMp0dte57MvOYGWhQ94gOSLEUTqTWftmkoXM7aAAAAUFUEnyhL0DJ14ox2uZ6vuONp65udBZOPKlFu6ZonpO/8iSQrqETLdBl+bukl23DVk/C16dUDkqSWkK3Tj51EAAoAQIMh+ETZgpYpVTG2y2mz2ZfxHrYl3wpmZkJNSfISCtimpre39AXDLslHAAA0KNZ8omGVkvEupbLeI0FLIZvZTgAAGhUznyiPE5cMS7JDmV1J15VpaPC6zyymG1d2apJvhlJRZgEVeGIPAAAaCMEnSmPaUrBVSvRI0YNS2wxZZiCTfHQ4Hs+feNRn/sZVOZ/3dMxL9X8fIgBNK/Uhejr5KI0kJAAA6o/gE6UJRKQ5Z0nxbmnnY5LvKmiHdOKMdvUm3LyJR74ZUk/HPLUe2j7ocq2Htsvw4vKt8LBvnU46Gi5OTXc8SicfpZGEBABA/RF8onSBiOQ5ObuClinXLjA32VduKbvGp+nGB82C5lMo6Wggy4lmPg4bdib5KI0kJAAAGgPBJ2rDMHJmN/OXpM97mm5ZJn3sV/lfL1T3U9OWyQvmzqYWKoQPAABqh+ATDW+op+x+gbqf8p0hzgIAAPVC8ImKS7ruoH3DZcEXK+amHsVnr/vMV/cTAAA0Jup8omLSLTcd11c04eRs7/TECz72Nt24DDcm+cOvx1zxcCrxqIhD80o4PHoHAKCemPlExWS33Mw2XPvNdOJRobJLIUtaMEHadjD1+baDhROPCklnwG/ZfZCMdwAA6oiZT1RU0DIVCVg5W8ge/M8sXX4pW7rs0kDppKMfnTOCcdmmjmgNkfEOAECdMfOJ+sgqv1RM2SXDkMIlTFZml15KXcBWwAworsHrUQEAQO0QfKJmshOR0glIvhUuuuxSMfKVXpJS5ZeiR3xAEo/bAQCoJ4JPVF06ESmWcOW4qRJIMccdsg1nuQaWXpL6yy8ZviPJGtR2M432mwAAVB/BJ6puYCLScAlII5VdeknqL79kmYZ6YoPbbqbRfhMAgOoj+MTIOFkJQoYl2aG8hwUts+5PvAO2OajtZhrtNwEAqA2CT5THtKVgq5Tokdy+ou6JHqltRsEAtBEE82Tep9F+EwCA6iP4RHkCEWnOWZLX18YyGZV2Pib5xWeTpxOQzKygL+F48vzU55XqigQAABoHwSfKF4iUddrABCQzKws+mnDlWcMnJeVrswkAABofwSdqblAnJCcm9VVGWnh0h2SHh01KWvFwquvRLcuKD0AH1f7Mfi3pyko6ih3ulOLm0Jnvpl124A0AwFhH8Im6yE1A6g/yIrYlFQj6ym2zWaj2ZzbH9WT3JrRrT+q9QwFT7502PjXOQYNvTS05IAAFAKBkBJ9oGuk2m52J1MxnsfLV/hx07YA0PuDJ81NrUXtcX25g3OBA2ImnEqvSa10BAEBJCD5RWU58yJJLwxu61FGpbTYzVx1Q+zMfy07NwXqOp0TCkQIt+Wdh09n9AACgZKQSozLSpZfchNT1Zm79z1I89EXJL77WJlU5AQBoLgSfqIx06aXZf5IKQksouSQ7JB0xJ/XxuztKClyveaKkWBUAANQZwScqJxApLwnHMKQP31z04SFLmtOW+nhHVyrpqBqSLlEtAACVRvCJBlF8wc504lG1mEaqxujL+7qVoOsRAAAVRcIRmlI1a8sHLFPjwwHFEm6qFmm+BKdk4ZqhQ6JGKABgjCP4BPKwTVNJ5Zn1NKxUqaWdj5V3YWqEAgDGOIJPVEc6aWhEZZeKU9NWm3ZIaptRWkJVGjVCAQAg+ESFpUsuJXpSZZcSPalgrYoBaDmtNkdkJF8LNUIBAGMcwScqK11yyXNS6yJ3PlbeLOEwym21CQAA6otf1ai8GqxnLLfVJgAAqC9KLaFpldtqEwAA1A/BJwAAAGqG4BMAAAA1Q/AJ1JpDxjsAYOwi+ETjcWKSE5PpxmW6MckfJT3W0wXq33iq/A5JAAA0ObLd0Xh+9glFJC3t+7SnY552LV5ToyKeVWSHpJaJFJoHAIxpzHyiMdghacqCvC+1Htouw4sPe4mmmB+1AvUeAQAAdcXMJxqDYUgfvjnTljPheXrh9X066Ykri77ENU9I3/mT5p8gBQBgNGPmE43DMKRAWAqEFQy1aPa0ScOeErKkOW2pj3d0pbocAQCAxkXwiYYVsIafwkx3OqqWuOMpmnSVcL3qvQkAAGMIj91RfW5SquJSx2o8ZTcNKea42vpmpyQpHLR04ox2BS3+XgMAYCQIPlE9pi0FW6XD+yQ7nEoqKvdSblzpuUffDFV9YWfAMjWxNSTPl5Kuq1jClev5Eu08AQAYEYJPVE8gIh11qrTjUckvfTGmZfYHmPM3rsp8PFTppVjf24SskcengaxZTselNBIAAJVA8InqsoNlnxoMRuRMOk72gRdy9qdLL/lWeNA5Kx5O/f+CCam1oGS+AwDQWAg+0bgMQ8kPrdXTO/cqErQUNpI5M6BpISsVbG472L9v28FU5nuYf+EAADQUfjWjsRmGPCskz7LlGfmTfdIZ73E39dg9PftZaUnXV4Qa8QAAjAipuxgVDCM1yxmuQkJQOvP95X3dlFwCAGCEmPlEbYyw3JLjeSVnmscG5DiVm4QUsEyNDwfIeAcAoAIIPlFdIyy3ZJmGwkFLh3oTCodL694+8PH7SJKQbNNUUsx6AgAwUjx2R3Wlyy0FW8sqtxS0TM2dMl5h25KXFXuablyGG5PhxiS//4V08lE+6SQkAABQP8x8ovpGUG5Jyt9ms1Ddz+zko7RqJiGVLRkt7XjTTgXyAAA0OYJPNA3PDKmnY55aD23P2T+w7mc6+aga4k5pj94t08htyWlYUqJH2vlYaW8cbJXmnEUACgBoegSfaBqO72vX4jUyvLik1KP3fHU/q2Fgr/diDeoJb4ekthmlLUFw4qmA1aPLEgCg+RF8ouFlJx0FLVOBvhnOctJ/SktZ6pfd671YBXvCl9Pj3k2Ufg4AAA2IhCPUjpss67RCSUfluOaJnPykkgQsUyG7+C1gUZMJAICBCD5RfelyS73vpB4hlyFf0lGxQpY0py318Y4uMt4BAKgngk9U3wjLLY1UOgMeAADUH2s+URsjLLeUlnRdmUbqEXg2041n1oD6ZmhQJfny501HLjtDflD2OwAAYwzBJ5pCOukolnB1OB7XxNaQssPZQnU/6ylfhvyg7HcAAMYYfgOiKQQtUyfOaNfxM9oziUd+X93PgdJ1PwuJuVLMGbyVm4hUSDpDPhK0FQnasi2jP/sdAIAxiplP1NbAhCPDKrr0UNAy5dpZgZthlFX3s1C3o5H0fi9k4PIAxx1Brc6BXZHoegQAaEIEn6iNdMZ7oie3ZmWiJ1V0vZzal5JkGJnORkPV/Uz3fN92sPAx6d7v1eqOVLZCXZHoegQAaEKN9msWo1UgkgqUsrv0JKOpgKoGGfD5er6nNWTv92z5uiLR9QgA0KQIPlE7dZ6hq2bP91Kks99LynzPNzNM1yMAQBNqgF/FwNgwMPudzHcAwFhE8IlRKbvup5S/9mc+sb4n2yGr8pWasvvDF+z7DgDAKEfwiVFpYNZ7sbU/02s/q5H5LuVmv48o8x0AgCbF8z7UnxOXkr1l931PK1T3Uxq69mc6Ez5bOvMdAABUFjOfqJ+B5ZdKKLuUt83mgLqfUnG1P7Mz4Rs+8x0AgCZH8In6yS6/VGTZpXxtNgcGoOm6n9LQtT+zNUomfMmSUYrNAwCaSjP+usVoUmLQlG6z2ZtIZY03e6fKuOOVVnIpLbvwPMXmAQBNhDWfaDpBy1TIrv4/3WrGtdlll557s1MJt9g52j7pwvNWkGLzAICmQvAJFHDNE5JfpQg0XXbJtoz+kkulskPltyUFAKBOeOyOpuZ4nkJF/g01sPZnPmFJC8ZLO7ult7ukZEIKDfivpNiaocMJWKY8n5JLAICxheATTSmdeHSoN6GgZeYmHRUwXNZ72oNSKgqVpMcGv15szVAAADAYj93RlIKWqblTxitsW0MmHQ1V+7NcQ9UMBQAAQ2PmE00rYBUx85in9udw4o708b5anz8+p/+xezE1Q8sVd/oXBJSV/Q4AQJMg+MToN6D253A8X4qmP7Ykv6/3eon56EXJznpPCwctnTijnQAUADAqEXwCdZTOek8vHUi6bn/2u1XfsQEAUA0En2h6eVttNpGB4y4r+91JSFRdAgA0geb8bQ2oP+PdcX290xNXstRC7aNButPRG0+lWm0CANDgCD7RtNKtNo+f0T5s1vuoZYeklol0OQIANA0eu6OxuEkpUPzhQcuUa9c+6iymYH0+lSpQn8MKSE6sstcEAKBKCD7RGExbCrZKh/dJdrjh20aWW3Kp2AL12aWX8qEcEwCgWRF8ojEEItJRp0o7HpV8t96jyStdsL710Payr5EuUF+o9FO+0kv5UI4JANCsCD7ROOxgvUcwtDIK1qcVW6B+YOmlfCjHBABoZgSfQClKLFifVsr60GJKRpVVjgkAgAbAMzsAAADUTFnB5x133KFZs2YpHA5ryZIleuqpp4o6795775VhGDr//PPLeVug5mKuFHMkfyyWcQIAoApKDj5/+tOfavXq1VqzZo22bNmik046Seeee6727ds35Hm7du3S1VdfrTPOOKPswQK1tuJh6YJfSdc80XgBaNzxFE26iiZdJVwvVWQ+3p3aKDgPAGhQJQeft912my6//HJddtllWrBggdatW6eWlhbdddddBc9xXVcrVqzQjTfeqDlz5oxowEAhjleZDkchS1owIXfftoNSvEGS8LMz4re8dlDPvt6tV97Yo8QrG6Ttv05tOzYQgAIAGlJJwWcikdDmzZu1fPny/guYppYvX65NmzYVPO+rX/2qpkyZok996lPljxQoIN1mszuWrEiLTcOQblkm/d/zpB+dU4EBDrz+CGdQ0xnxkaCtSNCWGQyp054qNzBOCo2XrCAdjwAADauk4PPAgQNyXVdTp07N2T916lTt2bMn7zmPP/64/vVf/1Xf//73i36feDyurq6unA0oJGiZmjtlfEVbbBqGFLalcBVKGc165sYRP8MPWKZCdmoLWJY8KygFWlJbgxfoBwCMbVXNdu/u7tbf/M3f6Pvf/74mTZpU9Hlr165Ve3t7Zps5c2YVR4nRIGBVuGVlhflmSNHxx0iSIt2vlVUrFACA0aCk4HPSpEmyLEt79+7N2b93715NmzZt0PGvvvqqdu3apY9+9KOybVu2bet//+//rV/+8peybVuvvvpq3ve59tpr1dnZmdlef/31UoYJVMWI5ir7CtQDADDWlRR8BoNBLVq0SOvXr8/s8zxP69ev19KlSwcdP3/+fD333HN69tlnM9uf//mf6+yzz9azzz5bcEYzFAqpra0tZwOKkXRdxR2vIms/Bxppxrvf2JOzAADURMkdjlav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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "Publication = load_data('Publication')\n", @@ -1357,7 +460,7 @@ "for result, df in Publication.groupby('posres'):\n", " by_result[result] = df\n", " km_result = km.fit(df['time'], df['status'])\n", - " km_result.plot(label='Result=%d' % result, ax=ax)\n" + " km_result.plot(label='Result=%d' % result, ax=ax)" ] }, { @@ -1373,72 +476,10 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "d070f716", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.558502Z", - "iopub.status.busy": "2023-07-26T00:00:13.558359Z", - "iopub.status.idle": "2023-07-26T00:00:13.588666Z", - "shell.execute_reply": "2023-07-26T00:00:13.588344Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefse(coef)p
covariate
posres0.1480760.1616250.359579
\n", - "
" - ], - "text/plain": [ - " coef se(coef) p\n", - "covariate \n", - "posres 0.148076 0.161625 0.359579" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "posres_df = MS(['posres',\n", " 'time',\n", @@ -1447,7 +488,7 @@ "posres_fit = coxph().fit(posres_df,\n", " 'time',\n", " 'status')\n", - "posres_fit.summary[['coef', 'se(coef)', 'p']]\n" + "posres_fit.summary[['coef', 'se(coef)', 'p']]" ] }, { @@ -1462,112 +503,16 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "2bbcdd0c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.590620Z", - "iopub.status.busy": "2023-07-26T00:00:13.590481Z", - "iopub.status.idle": "2023-07-26T00:00:13.629005Z", - "shell.execute_reply": "2023-07-26T00:00:13.628695Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefse(coef)p
covariate
posres0.5707730.1759601.179610e-03
multi-0.0408600.2511948.707842e-01
clinend0.5461830.2620003.709944e-02
sampsize0.0000050.0000157.507005e-01
budget0.0043860.0024657.515984e-02
impact0.0583180.0066762.426306e-18
\n", - "
" - ], - "text/plain": [ - " coef se(coef) p\n", - "covariate \n", - "posres 0.570773 0.175960 1.179610e-03\n", - "multi -0.040860 0.251194 8.707842e-01\n", - "clinend 0.546183 0.262000 3.709944e-02\n", - "sampsize 0.000005 0.000015 7.507005e-01\n", - "budget 0.004386 0.002465 7.515984e-02\n", - "impact 0.058318 0.006676 2.426306e-18" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "model = MS(Publication.columns.drop('mech'),\n", " intercept=False)\n", "coxph().fit(model.fit_transform(Publication),\n", " 'time',\n", - " 'status').summary[['coef', 'se(coef)', 'p']]\n" + " 'status').summary[['coef', 'se(coef)', 'p']]" ] }, { @@ -1601,21 +546,14 @@ "`Time` of day (Morning, Afternoon, or Evening). We generate data\n", "for these covariates so that all possibilities are equally likely: for\n", "instance, morning, afternoon and evening calls are equally likely, and\n", - "any number of operators from $5$ to $15$ is equally likely. " + "any number of operators from $5$ to $15$ is equally likely." ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "b8ece43a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.630972Z", - "iopub.status.busy": "2023-07-26T00:00:13.630836Z", - "iopub.status.idle": "2023-07-26T00:00:13.634830Z", - "shell.execute_reply": "2023-07-26T00:00:13.634534Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "rng = np.random.default_rng(10)\n", @@ -1644,16 +582,9 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "3e4f766f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.636547Z", - "iopub.status.busy": "2023-07-26T00:00:13.636436Z", - "iopub.status.idle": "2023-07-26T00:00:13.644633Z", - "shell.execute_reply": "2023-07-26T00:00:13.644339Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "model = MS(['Operators',\n", @@ -1676,106 +607,12 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "72f42d14", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.646387Z", - "iopub.status.busy": "2023-07-26T00:00:13.646291Z", - "iopub.status.idle": "2023-07-26T00:00:13.650688Z", - "shell.execute_reply": "2023-07-26T00:00:13.650359Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
OperatorsCenter[B]Center[C]Time[Even.]Time[Morn.]
0130.01.00.00.0
1150.00.01.00.0
271.00.00.01.0
370.01.00.01.0
4130.01.01.00.0
\n", - "
" - ], - "text/plain": [ - " Operators Center[B] Center[C] Time[Even.] Time[Morn.]\n", - "0 13 0.0 1.0 0.0 0.0\n", - "1 15 0.0 0.0 1.0 0.0\n", - "2 7 1.0 0.0 0.0 1.0\n", - "3 7 0.0 1.0 0.0 1.0\n", - "4 13 0.0 1.0 1.0 0.0" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "X[:5]\n" + "metadata": {}, + "outputs": [], + "source": [ + "X[:5]" ] }, { @@ -1788,21 +625,14 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "8b921536", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.652408Z", - "iopub.status.busy": "2023-07-26T00:00:13.652285Z", - "iopub.status.idle": "2023-07-26T00:00:13.657898Z", - "shell.execute_reply": "2023-07-26T00:00:13.657031Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "true_beta = np.array([0.04, -0.3, 0, 0.2, -0.2])\n", "true_linpred = X.dot(true_beta)\n", - "hazard = lambda t: 1e-5 * t\n" + "hazard = lambda t: 1e-5 * t" ] }, { @@ -1835,20 +665,12 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "96ce0f99", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.663033Z", - "iopub.status.busy": "2023-07-26T00:00:13.662557Z", - "iopub.status.idle": "2023-07-26T00:00:13.668531Z", - "shell.execute_reply": "2023-07-26T00:00:13.667390Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ - "cum_hazard = lambda t: 1e-5 * t**2 / 2\n" + "cum_hazard = lambda t: 1e-5 * t**2 / 2" ] }, { @@ -1866,21 +688,14 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "63d78ff9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.673409Z", - "iopub.status.busy": "2023-07-26T00:00:13.672984Z", - "iopub.status.idle": "2023-07-26T00:00:13.812236Z", - "shell.execute_reply": "2023-07-26T00:00:13.811425Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "W = np.array([sim_time(l, cum_hazard, rng)\n", " for l in true_linpred])\n", - "D['Wait time'] = np.clip(W, 0, 1000)\n" + "D['Wait time'] = np.clip(W, 0, 1000)" ] }, { @@ -1895,138 +710,25 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "id": "fe008dbf", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.817688Z", - "iopub.status.busy": "2023-07-26T00:00:13.817054Z", - "iopub.status.idle": "2023-07-26T00:00:13.831441Z", - "shell.execute_reply": "2023-07-26T00:00:13.830684Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
OperatorsCenterTimeWait timeFailed
013CAfter.525.0649791
115AEven.254.6778351
27BMorn.487.7392241
37CMorn.308.5802921
413CEven.154.1746081
\n", - "
" - ], - "text/plain": [ - " Operators Center Time Wait time Failed\n", - "0 13 C After. 525.064979 1\n", - "1 15 A Even. 254.677835 1\n", - "2 7 B Morn. 487.739224 1\n", - "3 7 C Morn. 308.580292 1\n", - "4 13 C Even. 154.174608 1" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "D['Failed'] = rng.choice([1, 0],\n", " N,\n", " p=[0.9, 0.1])\n", - "D[:5]\n" + "D[:5]" ] }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "id": "c3a2bec7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.836672Z", - "iopub.status.busy": "2023-07-26T00:00:13.836024Z", - "iopub.status.idle": "2023-07-26T00:00:13.843990Z", - "shell.execute_reply": "2023-07-26T00:00:13.843283Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0.9075" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "D['Failed'].mean()\n" + "metadata": {}, + "outputs": [], + "source": [ + "D['Failed'].mean()" ] }, { @@ -2039,38 +741,10 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "2b27af56", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:13.849508Z", - "iopub.status.busy": "2023-07-26T00:00:13.849066Z", - "iopub.status.idle": "2023-07-26T00:00:14.045745Z", - "shell.execute_reply": "2023-07-26T00:00:14.045295Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Probability of Still Being on Hold')" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp8AAAK9CAYAAABijAc1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd5gdZdn48e/MnDm9bK/Z7KZsGgkJCQZCCQktBqQpYkCqAv7oAVTkVQRRQBEVXomIUkSK4AsSFCLFJCAtBAgE0uumbLbX0+v8/pjNOTk5u+k99+e6zrVTnpl5Zgvcecr9KIZhGAghhBBCCLEPqPu7AkIIIYQQ4vAhwacQQgghhNhnJPgUQgghhBD7jASfQgghhBBin5HgUwghhBBC7DMSfAohhBBCiH1Ggk8hhBBCCLHPSPAphBBCCCH2GQk+hRBCCCHEPiPBpxCHIEVRuP766/fY/f7yl7+gKAqffPLJdstOmjSJSZMmpffr6upQFIW//OUv6WN33XUXiqLssfrtCU1NTZx//vkUFhaiKAoPPvjgXn2eoijcdddd6f3N3+O6urr0sa2/l/vS22+/jaIovP322/vl+Qe7mpoaLr/88u2W6+3nLsShToJPIfaRzf+T2fyx2+0MGTKE66+/nqampv1dvf3u3nvvZebMmfvt+TfffDNvvPEGt99+O08//TRf/epX+ywbCAS48847GTlyJC6Xi8LCQsaMGcNNN93Epk2b0uVmzZqVFWDuLTU1NTm/W7W1tfzgBz+gvb19rz//YLX5H0Gtra29nq+pqeFrX/vaPq6VEIc+y/6ugBCHm7vvvpsBAwYQiUR47733eOSRR5g1axaLFi3C6XTu7+rttjfffHO7ZX7yk5/wox/9KOvYvffey/nnn8+55567l2q2bXPmzOGcc87h+9///jbLxeNxJk6cyLJly7jsssu44YYbCAQCLF68mOeee47zzjuPiooKwAw+Z8yY0WsAGg6HsVj23H+Cx4wZw6233gpAJBLh008/5cEHH+Sdd95h/vz5O32/iRMnEg6HsVqte6yOQggBEnwKsc9NnTqVo48+GoArr7ySwsJCfvvb3/LKK69w4YUX9npNMBjE5XLty2rush0JViwWyx4NvPaE5uZm8vLytltu5syZfPbZZzz77LNcdNFFWecikQixWGyHnme323elmn2qrKzk4osvTu9feeWVuN1uHnjgAVauXEltbe1O3U9V1T1eRyGEAOl2F2K/O/nkkwFYu3YtAJdffjlut5vVq1dzxhln4PF4+Pa3vw2YQeitt95KVVUVNpuNoUOH8sADD2AYRq/3fvbZZxk6dCh2u51x48bx3//+N+v8unXruPbaaxk6dCgOh4PCwkK++c1v9jn+LBQK8b3vfY/CwkK8Xi+XXnopHR0dWWV2ZJzi1mM+FUUhGAzy1FNPpbuOL7/8cubOnYuiKLz88ss593juuedQFIUPP/xwm89as2YN3/zmNykoKMDpdHLsscfy2muvpc9vHg5hGAYzZsxIP78vq1evBuD444/POWe32/F6vYD5c5wxY0b6/ba+79ZjPveGsrIygJxAf9myZZx//vkUFBRgt9s5+uij+ec//5lVprcxn5MmTWLkyJEsWbKEyZMn43Q6qays5P7778959rp16zj77LNxuVyUlJSkhzXs6DjSzz77jKlTp+L1enG73ZxyyinMmzcvq8zmn93777/PLbfcQnFxMS6Xi/POO4+WlpYd/C7tnJ39G9zS4sWLOfnkk3E4HPTr149f/OIXpFKpvVJPIQ5kB1bTgxCHoc3BTGFhYfpYIpFgypQpnHDCCTzwwAM4nU4Mw+Dss89m7ty5fPe732XMmDG88cYb/OAHP6C+vp7f/e53Wfd95513eOGFF7jxxhux2Wz84Q9/4Ktf/Srz589n5MiRAHz88cd88MEHTJs2jX79+lFXV8cjjzzCpEmTWLJkSc4wgOuvv568vDzuuusuli9fziOPPMK6devSgcquevrpp7nyyisZP348V199NQCDBg3i2GOPpaqqimeffZbzzjsv65pnn32WQYMGMWHChD7v29TUxHHHHUcoFOLGG2+ksLCQp556irPPPpsXX3yR8847j4kTJ/L0009zySWXcNppp3HppZdus67V1dUA/PWvf+UnP/lJn+/9ve99j02bNvHWW2/x9NNP78y3Y5fE4/H02MVIJMJnn33Gb3/7WyZOnMiAAQPS5RYvXszxxx9PZWUlP/rRj3C5XPz973/n3HPP5aWXXsr5Pm+to6ODr371q3z961/nggsu4MUXX+S2225j1KhRTJ06FTADtJNPPpmGhgZuuukmysrKeO6555g7d+4OvcvixYs58cQT8Xq9/PCHP0TXdR599FEmTZrEO++8wzHHHJNV/oYb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RRddxCWXXMITTzyxy/fZGZLnUwghhBB7XTieZMRP39gvz15y9xSc1h0Ledrb23n99de55557cLlcOefz8vIA+OY3v4nD4eDf//43Pp+PRx99lFNOOYUVK1ZQUFAAwOrVq5k5cyavvvoqHR0dXHDBBfzyl7/knnvu4aGHHmLFihWMHDmSu+++G4Di4mI6Ozs5+eSTufLKK/nd735HOBzmtttu44ILLmDOnDnpejz11FNcc801vP/+++ljU6dO5d133+3z3aqrq1m8eHF63+/383//93989NFHDBs2jK6uLt59911OPPHEHfpe7SoJPoUQQggheqxatQrDMBg2bFifZd577z3mz59Pc3MzNpsNgAceeICZM2fy4osvcvXVVwOQSqX4y1/+gsfjAeCSSy5h9uzZ3HPPPfh8PqxWK06nk7KysvS9H374YY466ijuvffe9LEnnniCqqoqVqxYwZAhQwCora3l/vvvz6rXY489Rjgc7rPeuq5n7T///PPU1tZyxBFHADBt2jQef/xxCT6FEEIIcfBz6BpL7t717uHdffaO2pEu+oULFxIIBCgsLMw6Hg6HWb16dXq/pqYmHXgClJeX09zcvN17z507F7fbnXNu9erV6eBz3LhxOecrKyu3W/ctPfHEE1x88cXp/YsvvpiTTjqJ3//+91n13tMk+BRCCCHEXqcoyg53fe9PtbW1KIrCsmXL+iwTCAQoLy/n7bffzjm3uVseclsaFUUhlUpt8/mBQICzzjqLX/3qVznnysvL09u9DQnYmW73JUuWMG/ePObPn89tt92WLpNMJnn++ee56qqrtlnP3XHg/xYIIYQQQuwjBQUFTJkyhRkzZnDjjTfmBHmdnZ2MHTuWxsZGLBYLNTU1u/wsq9VKMpnMOjZ27FheeuklampqsFh2LkzbmW73xx9/nIkTJzJjxoysMk8++SSPP/74Xg0+Zba7EEIIIcQWZsyYQTKZZPz48bz00kusXLmSpUuX8r//+79MmDCBU089lQkTJnDuuefy5ptvUldXxwcffMCPf/xjPvnkkx1+Tk1NDR999BF1dXW0traSSqW47rrraG9v58ILL+Tjjz9m9erVvPHGG1xxxRU5gerWKisrGTx4cJ+f6upqAOLxOE8//TQXXnghI0eOzPpceeWVfPTRR1kTk/Y0CT6FEEIIIbYwcOBAFixYwOTJk7n1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2rUrU+eBBx5QJSUl6tlnn1WbNm1SV155pZo+fbqKxWKZOh//+MfVGWecod566y31+uuvq5NOOkldd911x+Ijfejcf//9qqKiQj3//PNq79696qmnnlJ+v189/PDDmTrSh8eXF154QX37299WTz/9tALUM888k3V9PPqrt7dX1dTUqGXLlqktW7ao3//+98rr9ap//dd/nZDPJMHnIOecc4669dZbM68ty1J1dXVq+fLlx7BVYijt7e0KUK+++qpSSqlgMKicTqd66qmnMnXee+89BajVq1crpdJ/iXVdV62trZk6jzzyiAoEAiqRSBT2A3xIhcNhNWvWLPXSSy+piy66KBN8Sv8d/77xjW+o888/f8jrtm2r2tpa9cMf/jBTFgwGldvtVr///e+VUkpt27ZNAertt9/O1PnLX/6iNE1TBw8enLjGC6WUUldccYX6/Oc/n1V29dVXq2XLlimlpA+Pd4cHn+PVX//yL/+iysrKsv4d/cY3vqFmz549IZ9Dpt37JZNJ1q1bx9KlSzNluq6zdOlSVq9efQxbJobS29sLQHl5OQDr1q3DNM2sPpwzZw4NDQ2ZPly9ejWnnXYaNTU1mTqXXnopoVCIrVu3FrD1H1633norV1xxRVY/gfTfieBPf/oTCxcu5DOf+QzV1dUsWLCAX/3qV5nre/fupbW1NasPS0pKWLRoUVYflpaWsnDhwkydpUuXous6a9asKdyH+ZBasmQJK1euZOfOnQBs2rSJN954g8suuwyQPjzRjFd/rV69mgsvvBCXy5Wpc+mll7Jjxw56enrGvd2Ocb/jCaqzsxPLsrK+1ABqamrYvn37MWqVGIpt29xxxx2cd955zJs3D4DW1lZcLhelpaVZdWtqamhtbc3UydfHh66JibVixQrWr1/P22+/nXNN+u/4t2fPHh555BHuvPNOvvWtb/H222/z1a9+FZfLxY033pjpg3x9NLgPq6urs647HA7Ky8ulDwvgnnvuIRQKMWfOHAzDwLIs7r//fpYtWwYgfXiCGa/+am1tZfr06Tn3OHStrKxsXNstwac4Id16661s2bKFN95441g3RYzQ/v37uf3223nppZfweDzHujliDGzbZuHChfzgBz8AYMGCBWzZsoVHH32UG2+88Ri3TozEH/7wB373u9/x5JNPcuqpp7Jx40buuOMO6urqpA9Fwci0e7/K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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "by_center = {}\n", @@ -2078,7 +752,7 @@ " by_center[center] = df\n", " km_center = km.fit(df['Wait time'], df['Failed'])\n", " km_center.plot(label='Center=%s' % center, ax=ax)\n", - "ax.set_title(\"Probability of Still Being on Hold\")\n" + "ax.set_title(\"Probability of Still Being on Hold\")" ] }, { @@ -2091,38 +765,10 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "9625598d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:14.047564Z", - "iopub.status.busy": "2023-07-26T00:00:14.047461Z", - "iopub.status.idle": "2023-07-26T00:00:14.210828Z", - "shell.execute_reply": "2023-07-26T00:00:14.210459Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Probability of Still Being on Hold')" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp8AAAK9CAYAAABijAc1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd5wdVfn48c/M3N6395ZKGgkthB6KhICUKFKkSxGFYCgiKAIqoiiK/gQRkaa0+AXBAkoNPSGhJaSSbNpms73dvb3N748h9+7N3rtJID3P+/XaV87MnJl75majD6c8R9F1XUcIIYQQQoidQN3VDRBCCCGEEPsOCT6FEEIIIcROI8GnEEIIIYTYaST4FEIIIYQQO40En0IIIYQQYqeR4FMIIYQQQuw0EnwKIYQQQoidRoJPIYQQQgix00jwKYQQQgghdhoJPoXYCymKwtVXX73dnvfoo4+iKAoffPDBFutOnTqVqVOnpo/Xrl2Loig8+uij6XO33347iqJst/ZtD21tbZx55pkUFRWhKAq/+93vdujnKYrC7bffnj7e9B2vXbs2fW7z73JneuONN1AUhTfeeGOXfP6err6+nosvvniL9XL9vQuxt5PgU4idZNP/yWz6sdlsjBo1iquvvpq2trZd3bxd7s477+T555/fZZ9/7bXX8tJLL3HzzTfzt7/9jZNOOilv3UAgwG233cb48eNxOp0UFRUxadIkvve977Fx48Z0vRdffDErwNxR6uvrB/1ujRw5ku9///t0d3fv8M/fU236j6DOzs6c1+vr6/nqV7+6k1slxN7PtKsbIMS+5qc//SkNDQ1EIhHeeecd7r//fl588UUWL16Mw+HY1c370l5++eUt1rnlllu46aabss7deeednHnmmZxxxhk7qGVDe/311zn99NO54YYbhqwXj8c5+uijWb58ORdddBEzZ84kEAiwZMkSnnzySWbMmEFlZSVgBJ/33XdfzgA0HA5jMm2//wmeNGkS119/PQCRSIQPP/yQ3/3ud7z55pvMnz9/m5939NFHEw6HsVgs262NQggBEnwKsdNNnz6dgw8+GIDLLruMoqIifvvb3/LPf/6Tc889N+c9wWAQp9O5M5v5hW1NsGIymbZr4LU9tLe34/P5tljv+eef5+OPP+aJJ57gm9/8Zta1SCRCLBbbqs+z2WxfpJl5VVVVcf7556eP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MOqm3Kz53mtH+/e//w3AxIkTASgtLWXq1Kk88MADtLS0DKq/vdITTZs2jebm5qz0TZFIhAcffHCL92qaxoknnsg///nPrOkcbW1tPPnkkxx55JHpdFY727b+G9z83nnz5mUl/O/o6OCJJ57YYe0VYnclPZ9C7CFOPfVUjj32WH70ox+xdu1aJk6cyMsvv8w///lPZs2axfDhw7Pqjx8/nmnTpmWlWgL4yU9+kq7z1a9+lb/97W94vV7Gjh3L3LlzefXVV7PSPg0Ui8U4/vjjOeuss1ixYgV//OMfOfLII7MWlnxRBx10EK+++iq//e1vqayspKGhIWuO3IUXXsiZZ54JwM9+9rOteuZNN93EU089xfTp07nmmmsoLCzkscceY82aNTz77LNfaGrDK6+8wm233cZpp53GlClTcLlcrF69mocffphoNJqVu3PTgq9rrrmGadOmoWka55xzzjZ/5tZobm7m8ccfB4y/p4ULF/LAAw9QXFzMzJkz0/Xuu+8+jjzySCZMmMDll1/OsGHDaGtrY+7cuWzYsIGFCxd+6bZ8+9vf5t577+Xcc8/le9/7HhUVFTzxxBPpOZRb6hG+4447eOWVVzjyyCP57ne/i8lk4oEHHiAajebMKbqzbOu/wYFuvPHG9Lat3/ve99Kplurq6rLmywqxT9h1C+2F2LdsSguzYMGCIetddNFFutPpzHmtv79fv/baa/XKykrdbDbrI0eO1H/9619npZnR9UzaoMcff1wfOXKkbrVa9QMOOGBQipuenh79kksu0YuLi3WXy6VPmzZNX758+aA0MZva/uabb+pXXHGFXlBQoLtcLv28887Tu7q6sp75RVMtLV++XD/66KN1u92uA4PSLkWjUb2goED3er16OBwe8jscqLGxUT/zzDN1n8+n22w2ffLkyfp//vOfQfU2fWdbsnr1av3WW2/Vp0yZopeWluomk0kvKSnRTznlFP3111/PqptIJPSZM2fqJSUluqIoWe/MDky1pKqqXlpaqp977rlZ6X8GficXXnihXl5erpvNZr2qqkr/6le/qj/zzDPpOvlSLY0bN27Q8y666CK9rq5u0Pd0yimn6Ha7XS8pKdGvv/56/dlnn9UBfd68eVt8p48++kifNm2a7nK5dIfDoR977LH6e++9l1Un37+pXG3PZdPvYUdHR87rdXV1WamWdH3r/w1u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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "by_time = {}\n", @@ -2130,7 +776,7 @@ " by_time[time] = df\n", " km_time = km.fit(df['Wait time'], df['Failed'])\n", " km_time.plot(label='Time=%s' % time, ax=ax)\n", - "ax.set_title(\"Probability of Still Being on Hold\")\n" + "ax.set_title(\"Probability of Still Being on Hold\")" ] }, { @@ -2147,101 +793,14 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "75a744ef", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:14.212758Z", - "iopub.status.busy": "2023-07-26T00:00:14.212613Z", - "iopub.status.idle": "2023-07-26T00:00:14.230790Z", - "shell.execute_reply": "2023-07-26T00:00:14.230474Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
t_0-1
null_distributionchi squared
degrees_of_freedom2
test_namemultivariate_logrank_test
\n", - "
\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
test_statisticp-log2(p)
020.30<0.00514.65
" - ], - "text/latex": [ - "\\begin{tabular}{lrrr}\n", - " & test_statistic & p & -log2(p) \\\\\n", - "0 & 20.30 & 0.00 & 14.65 \\\\\n", - "\\end{tabular}\n" - ], - "text/plain": [ - "\n", - " t_0 = -1\n", - " null_distribution = chi squared\n", - "degrees_of_freedom = 2\n", - " test_name = multivariate_logrank_test\n", - "\n", - "---\n", - " test_statistic p -log2(p)\n", - " 20.30 <0.005 14.65" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "multivariate_logrank_test(D['Wait time'],\n", " D['Center'],\n", - " D['Failed'])\n" + " D['Failed'])" ] }, { @@ -2254,101 +813,14 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "9badb3e3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:14.232618Z", - "iopub.status.busy": "2023-07-26T00:00:14.232483Z", - "iopub.status.idle": "2023-07-26T00:00:14.250173Z", - "shell.execute_reply": "2023-07-26T00:00:14.249841Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
t_0-1
null_distributionchi squared
degrees_of_freedom2
test_namemultivariate_logrank_test
\n", - "
\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
test_statisticp-log2(p)
049.90<0.00535.99
" - ], - "text/latex": [ - "\\begin{tabular}{lrrr}\n", - " & test_statistic & p & -log2(p) \\\\\n", - "0 & 49.90 & 0.00 & 35.99 \\\\\n", - "\\end{tabular}\n" - ], - "text/plain": [ - "\n", - " t_0 = -1\n", - " null_distribution = chi squared\n", - "degrees_of_freedom = 2\n", - " test_name = multivariate_logrank_test\n", - "\n", - "---\n", - " test_statistic p -log2(p)\n", - " 49.90 <0.005 35.99" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "multivariate_logrank_test(D['Wait time'],\n", " D['Time'],\n", - " D['Failed'])\n" + " D['Failed'])" ] }, { @@ -2364,99 +836,17 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "026e9ff8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:14.252196Z", - "iopub.status.busy": "2023-07-26T00:00:14.252059Z", - "iopub.status.idle": "2023-07-26T00:00:14.373431Z", - "shell.execute_reply": "2023-07-26T00:00:14.373108Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
null_distributionchi squared
degrees_freedom2
test_namelog-likelihood ratio test
\n", - "
\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
test_statisticp-log2(p)
020.58<0.00514.85
" - ], - "text/latex": [ - "\\begin{tabular}{lrrr}\n", - " & test_statistic & p & -log2(p) \\\\\n", - "0 & 20.58 & 0.00 & 14.85 \\\\\n", - "\\end{tabular}\n" - ], - "text/plain": [ - "\n", - "null_distribution = chi squared\n", - " degrees_freedom = 2\n", - " test_name = log-likelihood ratio test\n", - "\n", - "---\n", - " test_statistic p -log2(p)\n", - " 20.58 <0.005 14.85" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "X = MS(['Wait time',\n", " 'Failed',\n", " 'Center'],\n", " intercept=False).fit_transform(D)\n", "F = coxph().fit(X, 'Wait time', 'Failed')\n", - "F.log_likelihood_ratio_test()\n" + "F.log_likelihood_ratio_test()" ] }, { @@ -2469,99 +859,17 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "id": "7cab3789", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:14.375196Z", - "iopub.status.busy": "2023-07-26T00:00:14.375061Z", - "iopub.status.idle": "2023-07-26T00:00:14.495928Z", - "shell.execute_reply": "2023-07-26T00:00:14.495606Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
null_distributionchi squared
degrees_freedom2
test_namelog-likelihood ratio test
\n", - "
\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
test_statisticp-log2(p)
048.12<0.00534.71
" - ], - "text/latex": [ - "\\begin{tabular}{lrrr}\n", - " & test_statistic & p & -log2(p) \\\\\n", - "0 & 48.12 & 0.00 & 34.71 \\\\\n", - "\\end{tabular}\n" - ], - "text/plain": [ - "\n", - "null_distribution = chi squared\n", - " degrees_freedom = 2\n", - " test_name = log-likelihood ratio test\n", - "\n", - "---\n", - " test_statistic p -log2(p)\n", - " 48.12 <0.005 34.71" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "X = MS(['Wait time',\n", " 'Failed',\n", " 'Time'],\n", " intercept=False).fit_transform(D)\n", "F = coxph().fit(X, 'Wait time', 'Failed')\n", - "F.log_likelihood_ratio_test()\n" + "F.log_likelihood_ratio_test()" ] }, { @@ -2577,100 +885,10 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": null, "id": "5cc4b898", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:14.497695Z", - "iopub.status.busy": "2023-07-26T00:00:14.497564Z", - "iopub.status.idle": "2023-07-26T00:00:14.651662Z", - "shell.execute_reply": "2023-07-26T00:00:14.650786Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefse(coef)p
covariate
Operators0.0439340.0075205.143589e-09
Center[B]-0.2360600.0581134.864162e-05
Center[C]0.0122310.0575188.316096e-01
Time[Even.]0.2688450.0577973.294956e-06
Time[Morn.]-0.1482170.0573349.733557e-03
\n", - "
" - ], - "text/plain": [ - " coef se(coef) p\n", - "covariate \n", - "Operators 0.043934 0.007520 5.143589e-09\n", - "Center[B] -0.236060 0.058113 4.864162e-05\n", - "Center[C] 0.012231 0.057518 8.316096e-01\n", - "Time[Even.] 0.268845 0.057797 3.294956e-06\n", - "Time[Morn.] -0.148217 0.057334 9.733557e-03" - ] - }, - "execution_count": 35, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "X = MS(D.columns,\n", " intercept=False).fit_transform(D)\n", @@ -2678,7 +896,7 @@ " X,\n", " 'Wait time',\n", " 'Failed')\n", - "fit_queuing.summary[['coef', 'se(coef)', 'p']]\n" + "fit_queuing.summary[['coef', 'se(coef)', 'p']]" ] }, { @@ -2701,20 +919,8 @@ "metadata": { "jupytext": { "cell_metadata_filter": "-all", - "formats": "ipynb,Rmd", + "formats": "ipynb,md:myst", "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch12-unsup-lab.ipynb b/docs/source/labs/Ch12-unsup-lab.ipynb index cd39839..7c7f483 100644 --- a/docs/source/labs/Ch12-unsup-lab.ipynb +++ b/docs/source/labs/Ch12-unsup-lab.ipynb @@ -2,16 +2,16 @@ "cells": [ { "cell_type": "markdown", - "id": "5e1733b5", - "metadata": {}, - "source": [] - }, - { - "cell_type": "markdown", - "id": "7dc7070a", + "id": "80f16ff6", "metadata": {}, "source": [ - " # Unsupervised Learning\n", + "# : Unsupervised Learning\n", + "\n", + "\n", + " \"Open\n", + "\n", + "\n", + "\n", "In this lab we demonstrate PCA and clustering on several datasets.\n", "As in other labs, we import some of our libraries at this top\n", "level. This makes the code more readable, as scanning the first few\n", @@ -21,17 +21,9 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "24559be0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:15.997833Z", - "iopub.status.busy": "2023-07-26T00:00:15.997474Z", - "iopub.status.idle": "2023-07-26T00:00:16.813358Z", - "shell.execute_reply": "2023-07-26T00:00:16.812944Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -40,7 +32,7 @@ "from statsmodels.datasets import get_rdataset\n", "from sklearn.decomposition import PCA\n", "from sklearn.preprocessing import StandardScaler\n", - "from ISLP import load_data\n" + "from ISLP import load_data" ] }, { @@ -54,16 +46,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "06fff57d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:16.815664Z", - "iopub.status.busy": "2023-07-26T00:00:16.815421Z", - "iopub.status.idle": "2023-07-26T00:00:16.939927Z", - "shell.execute_reply": "2023-07-26T00:00:16.939556Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from sklearn.cluster import \\\n", @@ -72,7 +57,7 @@ "from scipy.cluster.hierarchy import \\\n", " (dendrogram,\n", " cut_tree)\n", - "from ISLP.cluster import compute_linkage\n" + "from ISLP.cluster import compute_linkage" ] }, { @@ -91,461 +76,13 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "f425e07e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:16.942437Z", - "iopub.status.busy": "2023-07-26T00:00:16.942261Z", - "iopub.status.idle": "2023-07-26T00:00:18.130019Z", - "shell.execute_reply": "2023-07-26T00:00:18.129379Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
MurderAssaultUrbanPopRape
Alabama13.22365821.2
Alaska10.02634844.5
Arizona8.12948031.0
Arkansas8.81905019.5
California9.02769140.6
Colorado7.92047838.7
Connecticut3.31107711.1
Delaware5.92387215.8
Florida15.43358031.9
Georgia17.42116025.8
Hawaii5.3468320.2
Idaho2.61205414.2
Illinois10.42498324.0
Indiana7.21136521.0
Iowa2.2565711.3
Kansas6.01156618.0
Kentucky9.71095216.3
Louisiana15.42496622.2
Maine2.183517.8
Maryland11.33006727.8
Massachusetts4.41498516.3
Michigan12.12557435.1
Minnesota2.7726614.9
Mississippi16.12594417.1
Missouri9.01787028.2
Montana6.01095316.4
Nebraska4.31026216.5
Nevada12.22528146.0
New Hampshire2.157569.5
New Jersey7.41598918.8
New Mexico11.42857032.1
New York11.12548626.1
North Carolina13.03374516.1
North Dakota0.845447.3
Ohio7.31207521.4
Oklahoma6.61516820.0
Oregon4.91596729.3
Pennsylvania6.31067214.9
Rhode Island3.4174878.3
South Carolina14.42794822.5
South Dakota3.8864512.8
Tennessee13.21885926.9
Texas12.72018025.5
Utah3.21208022.9
Vermont2.2483211.2
Virginia8.51566320.7
Washington4.01457326.2
West Virginia5.781399.3
Wisconsin2.6536610.8
Wyoming6.81616015.6
\n", - "
" - ], - "text/plain": [ - " Murder Assault UrbanPop Rape\n", - "Alabama 13.2 236 58 21.2\n", - "Alaska 10.0 263 48 44.5\n", - "Arizona 8.1 294 80 31.0\n", - "Arkansas 8.8 190 50 19.5\n", - "California 9.0 276 91 40.6\n", - "Colorado 7.9 204 78 38.7\n", - "Connecticut 3.3 110 77 11.1\n", - "Delaware 5.9 238 72 15.8\n", - "Florida 15.4 335 80 31.9\n", - "Georgia 17.4 211 60 25.8\n", - "Hawaii 5.3 46 83 20.2\n", - "Idaho 2.6 120 54 14.2\n", - "Illinois 10.4 249 83 24.0\n", - "Indiana 7.2 113 65 21.0\n", - "Iowa 2.2 56 57 11.3\n", - "Kansas 6.0 115 66 18.0\n", - "Kentucky 9.7 109 52 16.3\n", - "Louisiana 15.4 249 66 22.2\n", - "Maine 2.1 83 51 7.8\n", - "Maryland 11.3 300 67 27.8\n", - "Massachusetts 4.4 149 85 16.3\n", - "Michigan 12.1 255 74 35.1\n", - "Minnesota 2.7 72 66 14.9\n", - "Mississippi 16.1 259 44 17.1\n", - "Missouri 9.0 178 70 28.2\n", - "Montana 6.0 109 53 16.4\n", - "Nebraska 4.3 102 62 16.5\n", - "Nevada 12.2 252 81 46.0\n", - "New Hampshire 2.1 57 56 9.5\n", - "New Jersey 7.4 159 89 18.8\n", - "New Mexico 11.4 285 70 32.1\n", - "New York 11.1 254 86 26.1\n", - "North Carolina 13.0 337 45 16.1\n", - "North Dakota 0.8 45 44 7.3\n", - "Ohio 7.3 120 75 21.4\n", - "Oklahoma 6.6 151 68 20.0\n", - "Oregon 4.9 159 67 29.3\n", - "Pennsylvania 6.3 106 72 14.9\n", - "Rhode Island 3.4 174 87 8.3\n", - "South Carolina 14.4 279 48 22.5\n", - "South Dakota 3.8 86 45 12.8\n", - "Tennessee 13.2 188 59 26.9\n", - "Texas 12.7 201 80 25.5\n", - "Utah 3.2 120 80 22.9\n", - "Vermont 2.2 48 32 11.2\n", - "Virginia 8.5 156 63 20.7\n", - "Washington 4.0 145 73 26.2\n", - "West Virginia 5.7 81 39 9.3\n", - "Wisconsin 2.6 53 66 10.8\n", - "Wyoming 6.8 161 60 15.6" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "USArrests = get_rdataset('USArrests').data\n", - "USArrests\n" + "USArrests" ] }, { @@ -558,30 +95,12 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "b127d014", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.133058Z", - "iopub.status.busy": "2023-07-26T00:00:18.132868Z", - "iopub.status.idle": "2023-07-26T00:00:18.136222Z", - "shell.execute_reply": "2023-07-26T00:00:18.135816Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['Murder', 'Assault', 'UrbanPop', 'Rape'], dtype='object')" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "USArrests.columns\n" + "metadata": {}, + "outputs": [], + "source": [ + "USArrests.columns" ] }, { @@ -594,35 +113,12 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "c7343f72", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.138449Z", - "iopub.status.busy": "2023-07-26T00:00:18.138330Z", - "iopub.status.idle": "2023-07-26T00:00:18.142002Z", - "shell.execute_reply": "2023-07-26T00:00:18.141676Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Murder 7.788\n", - "Assault 170.760\n", - "UrbanPop 65.540\n", - "Rape 21.232\n", - "dtype: float64" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "USArrests.mean()\n" + "metadata": {}, + "outputs": [], + "source": [ + "USArrests.mean()" ] }, { @@ -637,34 +133,12 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "34501140", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.144029Z", - "iopub.status.busy": "2023-07-26T00:00:18.143885Z", - "iopub.status.idle": "2023-07-26T00:00:18.147113Z", - "shell.execute_reply": "2023-07-26T00:00:18.146759Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Murder 18.970465\n", - "Assault 6945.165714\n", - "UrbanPop 209.518776\n", - "Rape 87.729159\n", - "dtype: float64" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "USArrests.var()\n" + "metadata": {}, + "outputs": [], + "source": [ + "USArrests.var()" ] }, { @@ -686,27 +160,19 @@ "This scaling can be done via the `StandardScaler()` transform imported above. We first `fit` the\n", "scaler, which computes the necessary means and standard\n", "deviations and then apply it to our data using the\n", - "`transform` method. As before, we combine these steps using the `fit_transform()` method.\n" + "`transform` method. As before, we combine these steps using the `fit_transform()` method." ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "daf119e8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.148889Z", - "iopub.status.busy": "2023-07-26T00:00:18.148784Z", - "iopub.status.idle": "2023-07-26T00:00:18.152181Z", - "shell.execute_reply": "2023-07-26T00:00:18.151873Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "scaler = StandardScaler(with_std=True,\n", " with_mean=True)\n", - "USArrests_scaled = scaler.fit_transform(USArrests)\n" + "USArrests_scaled = scaler.fit_transform(USArrests)" ] }, { @@ -721,20 +187,12 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "a0eda7c9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.153991Z", - "iopub.status.busy": "2023-07-26T00:00:18.153858Z", - "iopub.status.idle": "2023-07-26T00:00:18.155563Z", - "shell.execute_reply": "2023-07-26T00:00:18.155300Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ - "pcaUS = PCA()\n" + "pcaUS = PCA()" ] }, { @@ -750,33 +208,12 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "1430fb3c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.157118Z", - "iopub.status.busy": "2023-07-26T00:00:18.157011Z", - "iopub.status.idle": "2023-07-26T00:00:18.160394Z", - "shell.execute_reply": "2023-07-26T00:00:18.160108Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
PCA()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "PCA()" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pcaUS.fit(USArrests_scaled)\n" + "metadata": {}, + "outputs": [], + "source": [ + "pcaUS.fit(USArrests_scaled)" ] }, { @@ -791,30 +228,12 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "6131d8d1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.162053Z", - "iopub.status.busy": "2023-07-26T00:00:18.161958Z", - "iopub.status.idle": "2023-07-26T00:00:18.164351Z", - "shell.execute_reply": "2023-07-26T00:00:18.164070Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([-7.10542736e-17, 1.38777878e-16, -4.39648318e-16, 8.59312621e-16])" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pcaUS.mean_\n" + "metadata": {}, + "outputs": [], + "source": [ + "pcaUS.mean_" ] }, { @@ -828,20 +247,12 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "08246aad", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.165967Z", - "iopub.status.busy": "2023-07-26T00:00:18.165875Z", - "iopub.status.idle": "2023-07-26T00:00:18.167798Z", - "shell.execute_reply": "2023-07-26T00:00:18.167542Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ - "scores = pcaUS.transform(USArrests_scaled)\n" + "scores = pcaUS.transform(USArrests_scaled)" ] }, { @@ -852,38 +263,17 @@ "We will plot these scores a bit further down.\n", "The `components_` attribute provides the principal component loadings:\n", "each row of `pcaUS.components_` contains the corresponding\n", - "principal component loading vector.\n" + "principal component loading vector." ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "b682b632", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.169396Z", - "iopub.status.busy": "2023-07-26T00:00:18.169312Z", - "iopub.status.idle": "2023-07-26T00:00:18.171738Z", - "shell.execute_reply": "2023-07-26T00:00:18.171462Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[ 0.53589947, 0.58318363, 0.27819087, 0.54343209],\n", - " [ 0.41818087, 0.1879856 , -0.87280619, -0.16731864],\n", - " [-0.34123273, -0.26814843, -0.37801579, 0.81777791],\n", - " [ 0.6492278 , -0.74340748, 0.13387773, 0.08902432]])" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pcaUS.components_ \n" + "metadata": {}, + "outputs": [], + "source": [ + "pcaUS.components_ " ] }, { @@ -900,29 +290,10 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "c165e990", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.173597Z", - "iopub.status.busy": "2023-07-26T00:00:18.173475Z", - "iopub.status.idle": "2023-07-26T00:00:18.290430Z", - "shell.execute_reply": "2023-07-26T00:00:18.290051Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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4Ycf6rvvvlNeXp4mTZqkH374Qddff32L1QgACLyhQ4cqISFBb731lnfbW2+9pR49emjIkCHebT179tRjjz3mc+zgwYM1b948732LxaKsrCxdfPHFat++ve6//35J0t/+9jd16dJF0dHRmjZtmsrLay7Y8vzzz6t///6yWq3q16+fnn76ae9j33//vSwWi1577TWdc845slqtevnll/30CQBoiEYF37vuuku///3v9csvv2jPnj0aO3aszjnnHH355ZctVZ+PiRMn6uGHH9Y999yjwYMHKz8/X9nZ2d4Jb8XFxXI4HN79f/nlF02fPl39+/fX7373O5WVlWnTpk1KSkoKSL0AgMC57rrrtHjxYu/9F1980XtipLHmzZun3//+9/rqq6903XXX6fXXX9e8efP017/+VV988YXi4+N9Qq0kvfzyy7rnnnt0//33a+vWrfrrX/+qu+++W0uXLvXZ784779TNN9+srVu3aty4cU2qL1y43B7l7NinFfm7lLNjn1xuj9ElIcw1qqvD5s2btXDhQkVERCg6OlpPP/20evToofPOO08ffPBBsy8nNcTMmTM1c+bMWh9bv369z/1HH31Ujz76aIvXBAAw3qRJkzR37lzvQkUbN27U8uXLa/xtaIirrrrKJzRfccUVmjZtmqZNmyZJ+stf/qI1a9b4nPXNyMjQggUL9L//+7+SpMTERBUWFuqZZ57RlClTvPvNnj3bu4+ZZRc4lLmqUA7nfz/DeJtVGWlJtEdEi2l0O7NjL+3ceeedatWqlc4///zjLiQBAEBL6ty5sy688EItWbJEHo9HF154oU488cQmPdfpp5/uc3/r1q01Js+lpKToo48+klQ1x2XHjh2aNm2apk+f7t3nyJEjstlsx31uM8oucCh9WZ6OPb9b4ixX+rI8eoOjxTQq+CYnJ2vTpk0aOHCgz/Zbb71VbrdbV155pV+LAwCgMa677jrvVcGFCxfWeDwiIkIej2/cqm2CWfv27Rv1ugcPHpQkPffccxo+fLjPY5GRkc167nDjcnuUuaqwRuiVJI+qVoPMXFWosUl22iXC7xo1xnfy5Mn65JNPan3s9ttvV2ZmZkCGOwAAUJvU1FRVVlbq8OHDtY6f7dy5s89ckLKyMhUVFdX7vP3799dnn33ms+3TTz/1/neXLl3UtWtXfffdd+rTp4/PLTExsRnvKPzk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l19+0bRp02Sz2Xz2ueSSS/TCCy9o9+7dOu2003TqqaeqoqJC7777rvr37y+pqmtDfHy8hgwZooiICL3xxhuy2+3q2LGj+vTpo8OHD+vJJ59UWlqaNm7cqEWLFvm8xqhRo/TTTz/pwQcf1KWXXqrs7Gy9//77iomJqbP2nj176rPPPtP333+vDh06KDY2VhERnJcCWgL/sgCDREZYlJGWJKkq5B6t+n5GWhIT21CnYLlq4PF4vEMarr32Wl1//fUt+npH++WXXzR48GDFxMTo+eef19y5czVmzJgaoVeqCr5ffPGFWrVqpblz52rgwIE6++yzFRkZqeXLl0uSoqOj9eCDD+r000/XGWecoe+//17//Oc/FRERoUGDBumRRx7RAw88oOTkZL388ss+rc4kqX///nr66ae1cOFCDRo0SLm5ud5hFHW59dZbFRkZqaSkJHXu3FnFxcX++4AA+LB4jh2MBB9lZWWy2WxyOp3H/cYONFUwzshHaHC5PRr5wLp6rxp8csfoFv0ClZKSok8//VTdunXTjz/+2GKvc7Q9e/ZoxIgRPj1vX3rpJV1zzTUBeX0AwaWheY2hDoDBUpPjNTbJrtyiUu09UK646KrhDZzpRX2qrxqkL8uTRfIJv4G6anDXXXfp008/laSAnKncuXOnBg4cqP3793u3vf3225owYUKLvzZCg8vt4fcp6sQZ33pwxhdAsDPqqsHbb7+t//3f/5UkHTp0SO3atWux1/r222/Vt29fn0ljH374ocaOHdtir4nQwxU082poXiP41oPgCyAUBPosV2FhoU499VRJUlFRUZ1L8jbXV199pYEDB/ps27hxo84888wWeT2Eruqe1seGmup/BVmThhJ+wxhDHQDARCIjLErp3Skgr7V//35v6F2zZk2LhN7c3FwNHz7cZ1teXp6GDBni99dC6GMlTDQUXR0AAA125MgRnXDCCZKkBQsW6LzzzvPr83/00UeyWCw+oXfr1q3yeDyEXtQp2HpaI3gRfAEADWa1VrVGmzBhgubMmeO353333XdlsVg0evRoSVL79u1VVFQkj8ejfv36+e11EJ6Cqac1ghvBFwDQIBdddJFcLpeioqL09ttv++U5ly9fLovForS0NElSt27dtHv3bh08eLDFxg0j/ARLT2sEP4IvAKBeDz74oN577z1JVR0cmsPj8ei5556TxWLRlVdeKUlKSkrSzz//rB9//NGQpY4R2qpXwqxr9K5FVd0dWAkTBF8AwHGtXr1ad9xxh6SqiW2RkZFNeh6Px6MFCxYoIiJCN9xwg6SqxS+cTqe2bNmiTp0CMzkP4YeVMNFQBF8AQJ2+++47nX/++ZKqJpnVthRwfdxut+bNm6eIiAjv8r0XXHCBDh06pE2bNtEqEn6RmhyvrElDZbf5Dmew26y0MoMX7cwAALU6dOiQevfuLUlasWJFoyeZHTlyRLfddpsee+wx77YrrrhCS5YsUVRUlD9LBSSxEibqR/AFANTgdrvVoUMHSdI999yjiy++uMHHHj58WDfeeKMWL17s3XbDDTfoqaeeUuvWrf1eK3C0QPa0Rugh+AIAaujWrZsk6X/+53+UmZnZoGPKy8t19dVX66233vJuu+222zR//vwmjwsGAH8i+AIAfEyZMkUlJSWSpI8//rje/Q8dOqTx48dr7dq13m333Xef7rrrLkVEMJUEQPAg+AIAvJ555hm99NJLkqTKykpZLHWPjdy/f7/Gjh2rL774wrvt8ccf16xZs457HIDw5nJ7gnacNcEXACBJ2rRpk2666SZJ0k8//VTneNyffvpJZ555prZv3+7dtnjxYk2ZMoXAC5hcdoFDmasKfZaQjrdZlZGWFBSdNbgGBQDQ7t27ddZZZ0mS8vLydOKJJ9bYZ9euXerSpYvi4uK8ofeNN96Qx+PR1KlTCb2AyWUXOJS+LM8n9EpSibNc6cvylF3gMKiy/yL4AoDJlZeXeyezLVu2TEOGDPF5/LvvvlNUVJS6d++uvXv3SpLef/99eTweXXrppQGvF0Dwcbk9ylxVKE8tj1Vvy1xVKJe7tj0Ch+ALACbm8XjUtm1bSdKsWbN09dVXex8rLCyUxWJR7969VVlZKUnasGGDPB6PUlNTDakXQHDKLSqtcab3aB5JDme5cotKA1dULRjjCwAmNmDAAElSUlKSnnjiCUnS5s2bdfrpp/vs9/nnn9fYBgDV9h6oO/Q2Zb+WQvAFAJOaPXu2tmzZIkkqKCjQv/71L5199tk++xQUFOjUU081ojwAISQu2lr/To3Yr6WE3FCHhQsXqmfPnrJarRo+fLhyc3OPu/8bb7yhfv36yWq1asCAAfrnP/8ZoEoBIHi98sorevzxxyVVLUccERHhDb1RUVHasWOHPB4PoRdAgwxLjFW8zaq6prhaVNXdYVhibCDLqiGkgu9rr72mOXPmKCMjQ3l5eRo0aJDGjRvnnWxxrE2bNunKK6/UtGnT9OWXX2rChAmaMGGCCgoKAlw5qrncHuXs2KcV+buUs2Of4YPcATPKz8/3Gcs7fvx4SVJcXJx+/PFHlZeXq1evXkaVByAERUZYlJGWJEk1wm/1/Yy0JMP7+Vo8Hk/IJI/hw4frjDPO0FNPPSWpai35hIQEzZo1S3feeWeN/SdOnKhDhw7p3Xff9W4bMWKEBg8erEWLFjXoNcvKymSz2eR0OhUTE+OfN2JSwd7bDzCDn376SXFxcT7bTj75ZG3cuFGdO3c2qCoA4cKov/UNzWshM8a3srJSmzdv1ty5c73bIiIiNGbMGOXk5NR6TE5OjubMmeOzbdy4cXrnnXfqfJ2KigpVVFR475eVlTWvcEj6b2+/Y79lVff2y5o0lPALBEAX+3//nZ1xxhn68MMP1bFjR+MKAhBWUpPjNTbJHrQrt4XMUIeff/5ZLpdLXbp08dnepUsX75ryxyopKWnU/pI0f/582Ww27y0hIaH5xZtcqPT2A8zA43Z5//vzzz9XVlaW3G63gRUBCDeRERal9O6k8YO7KaV3p6AJvVIIBd9AmTt3rpxOp/e2c+dOo0sKeaHS2w8wg+ov89UT2e666y5FRkZq2rRpPle7ACAchUzwPfHEExUZGak9e/b4bN+zZ4/sdnutx9jt9kbtL1XNZo6JifG5oXlCpbcfYAazZs2SJE2dOlUVFRW68cYbJUkvvviirFar/ud//kdOp9PIEgGgxYRM8G3Tpo1OO+00rV271rvN7XZr7dq1SklJqfWYlJQUn/0lafXq1XXuj5YRKr39ADOYMmWKJOnJJ59UmzZttGjRIrlcLj344IOSpE8++UQdO3aU3W5XcXGxkaUCgN+FTPCVpDlz5ui5557T0qVLtXXrVqWnp+vQoUO69tprJUmTJ0/2mfx28803Kzs7WwsWLNDXX3+tefPm6YsvvtDMmTONegumFCq9/QAzqO7o8OWXX3q3RURE6LbbbpPH49Hrr78uqerq2EknnSSLxaLNmzcbUisA+FtIBd+JEyfq4Ycf1j333KPBgwcrPz9f2dnZ3glsxcXFcjgc3v3PPPNMvfLKK3r22Wc1aNAg/eMf/9A777yj5ORko96CKYVKbz8A0mWXXSaPx6NNmzZ5t51++umyWCxauXKlgZUBQPOFVB9fI9DH13/o4wsEh5EjR2rjxo3auXOnunfvftx9v/vuO5122mnav3+/d9vjjz+uWbNmyWLhyyqA4NDQvEbwrQfB179cbk/Q9vYDzOK1117TFVdcoYyMDM2bN69Bx5SWlio1NVWff/65d9usWbO0YMECtW7duoUqBYCGIfj6CcEXQLgpLy9X27Zt1alTJ/3888+NPvb666/Xyy+/7N2WmpqqN954Qx06dPB3qQDQIA3NayE1xhcA0HxWa1UHlX379jXp2GXLlunIkSO65557JEnZ2dmKjo5Wnz59fOZZAECwIfgiqLncHuXs2KcV+buUs2Mfq7sBftbUi36RkZHKzMyU2+3WkiVLJEk7duxQ165dZbFYVFBQ4McqAcA/CL4IWtkFDo18YJ2ufO5T3bw8X1c+96lGPrBO2QWcUQKa66qrrpKkZrcqs1gsmjJlijwej9atW+fdPmDAAFksFq1evbpZzw8A/kTwRVDKLnAofVlejaWOS5zlSl+WR/gFmukPf/iDJOnpp5/223Oee+658ng8KiwsVKtWrSRJ559/viwWi1544YUmn10GAH8h+CLouNweZa4qVG1/Iqu3Za4qZNgD0AzVK1guXrzY78/dv39/HT58WCUlJerfv78k6frrr1dERITuuusuuVwuv78mADQEwRdBJ7eotMaZ3qN5JDmc5cotKg1cUUCYiYho+V//Xbp0UWFhoQ4ePKiLL75YkjR//ny1atVKl19+uX777Te/vM7UqVNlsVhksVjUunVrJSYm6vbbb1d5ed2/RwCYE8EXQWfvgYb9sWrofgBq1759e0lSZWVli7/OihUrdPjwYd1yyy2SpDfeeEPt2rXT4MGDG91SrTapqalyOBz67rvv9Oijj+qZZ55RRkZGs58XQHgh+CLoxEVb/bof4C/h1mVk1qxZkqT3338/IK/XqlUrPfzww3K73d6xxf/+97/VuXNntW/fXt9++22TnzsqKkp2u10JCQmaMGGCxowZ451Yt2/fPl155ZXq1q2b2rVrpwEDBujVV1/1OX7UqFGaOXOmZs6cKZvNphNPPFF33323z7jkiooK3XrrrerWrZvat2+v4cOHa/369U2uGUDgEXwRdIYlxireZlVd67lZVLXU8bDE2ECWBZMLxy4j06dPlyQ9+eSTAX1di8Wi9PR0eTwe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m/XKK69o9OjROnTokLKysvTQQw/pggsuUFJSkp577jm1bdtWL7zwgs9xGRkZGjt2rAYMGKClS5dqz549evvttxv1OYSLcG6HhdBG8AUA+I3F0rTLoAMGDKh1XG9KSkqN+1u3bvXeX7Nmjc477zx169ZN0dHRuuaaa7Rv3z79+uuv3n3atWun3r17e+/Hx8dr7969Ps/71VdfqUOHDmrbtq2GDRumlJQUPfXUU9qxY4cOHz6ss846y7tv69atNWzYMJ86jq01NjZWffv2rbGPWbAsMYIVwRcA4FddunSRVDXEICYmRk6ns8Y++/fv9y5zLFWd8W2s77//XhdddJEGDhyoN998U5s3b/aOAT66s0R1t4lqFoulxupyffv2VX5+vrZu3arffvtNK1eu9L4PNB7LEiNYEXwBAH41a9YsSdKbb76pvn37Ki8vr8Y+eXl5OuWUU+p9rk8//bTG/f79+0uqGpLgdru1YMECjRgxQqeccop2797dpJrbtGmjPn36qGfPnj5nnnv37q02bdpo48aN3m2HDx/W559/rqSkpDpr/eWXX/TNN994azWjcG2HhdBGOzMAgF9dd911+vOf/6ynnnpKr776qp566in98Y9/1PXXX6+oqCi99957evXVV7Vq1ap6n2vjxo168MEHNWHCBK1evVpvvPGG3nvvPUlSnz59dPjwYT355JNKS0vTxo0btWjRIr++l/bt2ys9PV233XabYmNj1aNHDz344IP69ddfNW3aNJ997733XnXq1EldunTR//3f/+nEE0/UhAkT/FpPqAnHdlgIbQRfAIBfxcdXncnLzc1Vr169tGHDBv3f//2fxowZo8rKSvXr109vvPGGUlNT632uW265RV988YUyMzMVExOjRx55ROPGjZNUNZHukUce0QMPPKC5c+fq7LPP1vz58zV58mS/vp+//e1vcrvduuaaa3TgwAGdfvrp+uCDD3TCCSfU2O/mm2/Wt99+q8GDB2vVqlUB70ccjFiWGMGEJYvrwZLFANB41ZPczPAnZv369Tr33HP1yy+/BM1qdIDZsGQxAMAwhw8fNkXoBRBaCL4AAL9r1YqRdACCD7+ZAABohlGjRnF2GwgRnPEFAACAKRB8AQAAYAoEXwAAAJgCwRcAAACmQPAFAACAKdDVAQCClMvtYalXAPAjgi8ABKHsAocyVxXK4Sz3bou3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pkDwBQAAgCkQfAEAAGAKBF8AAACYAsEXAAAApkDwBQAAgCkQfAEAAGAKBF8AAACYAsEXAAAApkDwBQAAgCkQfAEAAGAKBF8AAACYAsEXAAAAptDK6AKCncfjkSSVlZUZXAkAAABqU53TqnNbXQi+9Thw4IAkKSEhweBKAAAAcDwHDhyQzWar83GLp75obHJut1u7d+9WdHS0LBZLi75WWVmZEhIStHPnTsXExLToa+G/+NyNweduDD53Y/C5G4PPPfCM+sw9Ho8OHDigrl27KiKi7pG8nPGtR0REhLp37x7Q14yJieEfqAH43I3B524MPndj8Lkbg8898Iz4zI93prcak9sAAABgCgRfAAAAmALBN4hERUUpIyNDUVFRRpdiKnzuxuBzNwafuzH43I3B5x54wf6ZM7kNAAAApsAZXwAAAJgCwRcAAACmQPAFAACAKRB8AQAAYAoE3yB28cUXq0ePHrJarYqPj9c111yj3bt3G11W2Pr+++81bdo0JSYmqm3bturdu7cyMjJUWVlpdGlh7/7779eZZ56pdu3aqWPHjkaXE7YWLlyonj17ymq1avjw4crNzTW6pLC3YcMGpaWlqWvXrrJYLHrnnXeMLinszZ8/X2eccYaio6MVFxenCRMmaNu2bUaXFfaysrI0cOBA78IVKSkpev/9940uqwaCbxA799xz9frrr2vbtm168803tWPHDl166aVGlxW2vv76a7ndbj3zzDPasmWLHn30US1atEh33XWX0aWFvcrKSl122WVKT083upSw9dprr2nOnDnKyMhQXl6eBg0apHHjxmnv3r1GlxbWDh06pEGDBmnhwoVGl2IaH3/8sWbMmKFPP/1Uq1ev1uHDh3X++efr0KFDRpcW1rp3766//e1v2rx5s7744guNHj1a48eP15YtW4wuzQftzELIypUrNWHCBFVUVKh169ZGl2MKDz30kLKysvTdd98ZXYopLFmyRLNnz9b+/fuNLiXsDB8+XGeccYaeeuopSZLb7VZCQoJmzZqlO++80+DqzMFisejtt9/WhAkTjC7FVH766SfFxcXp448/1tlnn210OaYSGxurhx56SNOmTTO6FC/O+IaI0tJSvfzyyzrzzDMJvQHkdDoVGxtrdBlAs1RWVmrz5s0aM2aMd1tERITGjBmjnJwcAysDWp7T6ZQkfpcHkMvl0vLly3Xo0CGlpKQYXY4Pgm+Qu+OOO9S+fXt16tRJxcXFWrFihdElmcb27dv15JNP6sYbbzS6FKBZfv75Z7lcLnXp0sVne5cuXVRSUmJQVUDLc7vdmj17ts466ywlJycbXU7Y++qrr9ShQwdFRUXppptu0ttvv62kpCSjy/JB8A2wO++8UxaL5bi3r7/+2rv/bbfdpi+//FIffvihIiMjNXnyZDE6pXEa+5lL0q5du5SamqrLLrtM06dPN6jy0NaUzx0A/GnGjBkqKCjQ8uXLjS7FFPr27av8/Hx99tlnSk9P15QpU1RYWGh0WT4Y4xtgP/30k/bt23fcfXr16qU2bdrU2P7jjz8qISFBmzZtCrpLB8GssZ/57t27NWrUKI0YMUJLlixRRATfD5uiKT/rjPFtGZWVlWrXrp3+8Y9/+IwvnTJlivbv38+VpABhjG9gzZw5UytWrNCGDRuUmJhodDmmNGbMGPXu3VvPPPOM0aV4tTK6ALPp3LmzOnfu3KRj3W63JKmiosKfJYW9xnzmu3bt0rnnnqvTTjtNixcvJvQ2Q3N+1uFfbdq00Wmnnaa1a9d6Q5fb7dbatWs1c+ZMY4sD/Mzj8WjWrFl6++23tX79ekKvgdxud9BlFoJvkPrss8/0+eefa+TIkTrhhBO0Y8cO3X333erduzdne1vIrl27NGrUKJ100kl6+OGH9dNPP3kfs9vtBlYW/oqLi1VaWqri4mK5XC7l5+dLkvr06aMOHToYW1yYmDNnjqZMmaLTTz9dw4YN02OPPaZDhw7p2muvNbq0sHbw4EFt377de7+oqEj5+fmKjY1Vjx49DKwsfM2YMUOvvPKKVqxYoejoaO84dpvNprZt2xpcXfiaO3euLrjgAvXo0UMHDhzQK6+8ovXr1+uDDz4wujRfHgSl//znP55zzz3XExsb64mKivL07NnTc9NNN3l+/PFHo0sLW4sXL/ZIqvWGljVlypRaP/ePPvrI6NLCypNPPunp0aOHp02bNp5hw4Z5Pv30U6NLCnsfffRRrT/bU6ZMMbq0sFXX7/HFixcbXVpYu+666zwnnXSSp02bNp7OnTt7zjvvPM+HH35odFk1MMYXAAAApsAARgAAAJgCwRcAAACmQPAFAACAKRB8AQAAYAoEXwAAAJgCwRcAAACmQPAFAACAKRB8AQAAYAoEXwAIA1OnTpXFYpHFYlGbNm3Up08f3XvvvTpy5IgkyePx6Nlnn9Xw4cPVoUMHdezYUaeffroee+wx/frrr5KkLVu26JJLLlHPnj1lsVj02GOPGfiOAMD/CL4AECZSU1PlcDj07bff6pZbbtG8efP00EMPSZKuueYazZ49W+PHj9dHH32k/Px83X333VqxYoU+/PBDSdKvv/6qXr166W9/+5vsdruRbwUAWgRLFgNAGJg6dar279+vd955x7vt/PPP14EDB/SnP/1JEydO1DvvvKPx48f7HOfxeFRWViabzeazvWfPnpo9e7Zmz54dgOoBIDA44wsAYapt27aqrKzUyy+/rL59+9YIvZJksVhqhF4ACFcEXwAIMx6PR2vWrNEHH3yg0aNH69tvv1Xfvn2NLgsADEfwBYAw8e6776pDhw6yWq264IILNHHiRM2bN0+MaAOAKq2MLgAA4B/nnnuusrKy1KZNG3Xt2lWtWlX9ij/llFP09ddfG1wdABiPM74AECbat2+vPn36qEePHt7QK0lXXXWVvvnmG61YsaLGMR6PR06nM5BlAoBhCL4AEOYuv/xyTZw4UVdeeaX++te/6osvvtAPP/ygd999V2PGjNFHH30kSaqsrFR+fr7y8/NVWVmpXbt2KT8/X9u3bzf4HQCAf9DODADCQG3tzI7mdrv17LPP6sUXX9SWLVvUqlUrnXzyyZo8ebKmT5+utm3b6vvvv1diYmKNY8855xytX7++Zd8AAAQAwRcAAACmwFAHAAAAmALBFwAAAKZA8AUAAIApEHwBAABgCgRfAAAAmALBFwAAAKZA8AUAAIApEHwBAABgCgRfAAAAmALBFwAAAKZA8AUAAIApEHwBAABgCv8Pm6T47ohRhEgAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "i, j = 0, 1 # which components\n", "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", @@ -933,7 +304,7 @@ " ax.arrow(0, 0, pcaUS.components_[i,k], pcaUS.components_[j,k])\n", " ax.text(pcaUS.components_[i,k],\n", " pcaUS.components_[j,k],\n", - " USArrests.columns[k])\n" + " USArrests.columns[k])" ] }, { @@ -950,28 +321,10 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "848c9f35", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.292401Z", - "iopub.status.busy": "2023-07-26T00:00:18.292266Z", - "iopub.status.idle": "2023-07-26T00:00:18.393479Z", - "shell.execute_reply": "2023-07-26T00:00:18.393134Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAArEAAAKnCAYAAACRVRWrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABid0lEQVR4nO3deXhTZf7+8fukQAulDZbFFmRHwYqyyiLMiAhal7qhok5VBLcqCjJuOKOl44I7uGBFReQrqOCgYHWsIm4johU6VRFksywDZZFCWpa2NMnvj/6SIbaFLklOTvJ+XVeva3JyknyawebOc57n8xhut9stAAAAwEJsZhcAAAAA1BUhFgAAAJZDiAUAAIDlEGIBAABgOYRYAAAAWA4hFgAAAJZDiAUAAIDlEGIBAABgOY3MLiCYXC6Xtm/frri4OBmGYXY5AAAA+AO3262SkhK1bdtWNlvN460RFWK3b9+u9u3bm10GAAAAjmHr1q064YQTarw/okJsXFycpMo3JT4+3uRqAAAA8EfFxcVq3769N7fVJKJCrGcKQXx8PCEWAAAghB1r6icLuwAAAGA5hFgAAABYDiEWAAAAlkOIBQAAgOUQYgEAAGA5hFgAAABYDiEWAAAAlkOIBQAAgOUQYgEAAGA5hFgAAABYDiEWAAAAlkOIBQAAgOUQYgEAAGA5hFgAAABYDiEWAAAAlkOIBQCEjU6dOmn69OlmlwEgCAixAICQMmzYME2cOLHK8TfeeEMtWrQIej3VmTJligzDkGEYatSokTp16qS77rpL+/fvN7s0IGI0MrsAAAAaqry8XE2aNAnqa55yyin67LPPVFFRoWXLlmns2LE6ePCgZs6cGdQ6gEjFSCwAwHLGjBmjSy65RI8++qjatm2r7t27e+8rKSnR1VdfrdjYWLVr104zZszweeyzzz6rU089VbGxsWrfvr1uu+02nxFUz4jvJ598opNPPlnNmzdXSkqKCgsLfZ6nUaNGSkxM1AknnKDRo0frL3/5iz744ANJUllZme688061adNGMTExGjp0qH744QfvY7/88ksZhqGPPvpIp512mmJiYjRo0CCtWrUqEG8XEJYIsQAAS1q6dKnWrl2rJUuW6MMPP/Qef+qpp9SrVy/95z//0f33368JEyZoyZIl3vttNpuef/55/fLLL5ozZ44+//xz3XvvvT7PffDgQT399NN688039fXXX2vLli26++67j1pP06ZNVV5eLkm69957tXDhQs2ZM0d5eXnq1q2bzj33XBUVFfk85p577tEzzzyjH374Qa1bt1ZqaqoOHz7c0LcGiAiEWACAJcXGxuq1117TKaecolNOOcV7fMiQIbr//vt10kkn6Y477tDll1+uadOmee+fOHGizjrrLHXq1EnDhw/XI488ogULFvg89+HDh/Xyyy+rf//+6tu3r8aPH6+lS5fWWMvKlSv11ltvafjw4Tpw4ICysrL01FNP6bzzzlNycrJeffVVNW3aVLNmzfJ5XEZGhkaOHKlTTz1Vc+bM0c6dO/X+++/76R0CwhshFgBgSaeeemq182AHDx5c5faaNWu8tz/77DOdffbZateuneLi4nTttddqz549OnjwoPecZs2aqWvXrt7bSUlJ2rVrl8/z/vzzz2revLmaNm2qAQMGaPDgwXrxxRe1ceNGHT58WEOGDPGe27hxYw0YMMCnjj/WmpCQoO7du1c5B0D1CLEAgJASHx8vh8NR5fi+fftkt9u9t2NjY+v83Js2bdKFF16o0047TQsXLtTKlSu9c2Y9UwGkytB5JMMw5Ha7fY51795d+fn5WrNmjQ4dOqQPPvhAxx9/fJ1rAlA/hFgAQEjp3r278vLyqhzPy8vTSSeddMzHf/fdd1Vun3zyyZIqL/u7XC4988wzGjRokE466SRt3769XnU2adJE3bp1U6dOnXxGhLt27aomTZpo2bJl3mOHDx/WDz/8oOTk5Bpr3bt3r9atW+etFcDR0WILABASpk6dqt2/79H422/Tiy++qDvvvFM33nijoqOj9dFHH+ntt99Wdnb2MZ9n2bJlevLJJ3XJJZdoyZIlevfdd/XRRx9Jkrp166bDhw/rhRdeUGpqqpYtW6aXX37Zr79HbGys0tPTdc899yghIUEdOnTQk08+qYMHD2rcuHE+5/7jH/9Qy5Ytdfzxx+tvf/ubWrVqpUsuucSv9QDhihALAAgJDzzwgCTp2Wee1tdff62//e1vGjFihMrLy9WjRw+9++67SklJOebz/PWvf9WKFSuUmZmp+Ph4Pfvsszr33HMlSb169dKzzz6rJ554QpMnT9af//xnTZ06Vdddd51ff5fHH39cLpdL1157rUpKStS/f3998sknOu6446qcN2HCBK1fv169e/dWdnZ20PvdAlZl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VlYmm82mBQsWaNSoUdU+5sILL1SPHj309NNPS6ocid21a5d++eUX7/+H9953n95duEjT//m5XCW/64qz+mnLli1q27at93lGjBihAQMG6LHHHgv8Lwr4GTt2AQAkSU6n0+wSItZZZ52lrKwsHThwQNOmTVOjRo28AdbpdOqxxx7TggULtG3bNpWXl6usrEzNmjXzeY5BgwZ5A6wkDTnjDE179lldeGqicnLy5XQ6q3ScKCsrU8uWLQP/CwImIsQCQBhwutzKLSjSrpJStYmrXOATZasMPp75kenp6SZWGJliY2PVrVs3SdLrr7+uXr16adasWRo3bpyeeuopPffcc5o+fbpOPfVUxcbGauLEiSovL6/18+/fv19RUVFauXKloqKifO5r3ry5X38XINQQYgHA4nJWFSoze7VPM/wke4wyUpOV0jPJOx+WnbrMZbPZ9MADD2jSpEm65pprtGzZMl188cVKS0uTJLlcLq1bt07Jyck+j/v+++99bn/33Xc68cQTFRUVpT59+sjpdGrXrl3605/+FLTfBQgFLOwCAAvLWVWo9Ll5VXZz2uEoVfrcPOWsKtRHH30kSerRo4cZJeIIV1xxhaKiojRjxgydeOKJWrJkib799lutWbNGt9xyi3bu3FnlMVu2bNGkSZO0du1avf3223rhhRc0YcIESZUbV/zlL3/Rddddp/fee08FBQXKzc3V1KlTvf+/A+GKkVgAsCiny63M7NXV9g11q7J3aGb2au+xI+dVwv/cbrdeffVV3XLLLbrnvvuqPadRo0YaP368nnzySf3nP//Rb7/9pnPPPVfNmjXTzTffrEsuuUQOh8PnMdddd50OHTqkAQMGKCoqShMmTNDNN9/svX/27Nl65JFH9Ne//lXbtm1Tq1atNGjQIF144YUB/X0Bs9GdAAAsavnGPbr61e+Oeo7zwD7998U09erVS/n5+cEpLMKUlZXptttu0+uvv+49NmrUKP3zn/9s8HMPGzZMvXv31vTp0xv8XIBV0J0AAILkaIuqAmlXybG3L93/06eS2OQgELZv366zzz5bv/76q/fYVVddpVmzZlXpMADA/wixANAAx1pUFUht4mKOeU7xisWSKudiwj+WLVumoUOH+hybPn267rjjDtlsLDUBgoUQCwD15FlU9cc5WZ5FVVlpfQMaZAd0TlCSPUY7HKXVzos1JLkO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jgaAxdS5xVZpqW+z9vvvv18PPPCAzjnnHJ++fQCA8Hbaaafpo48+klQ53/T33383uaLaOfXUU+V2u7Vt2zZ17txZknTttdfKZrPp4YcfDokWYgCOrU4htmfPntUG1bvvvluTJ0/W1Vdf7bfCAKCunC63lm/co8X527R84x45XYysBdr555+v559/XpLUunXrKgMdoaxt27b67bffVFxcrJEjR0qSHnroIUVFRen66683fWMHAEdXp4Vdr732mr788kvNnTu32vufeOIJvfzyyyooKPBbgf7Ewi4gfNHezFzp6el6+eWXJVV2BvC04rKSw4cPa+LEiXrppZe8x8444wx99NFHatGihXmFmWDMmDHat2+fFi1aZHYpiEABWdh144031hhgJem+++4L2QALIHx5Npo4MsBK0g5HqdLn5ilnVaFJlUWOrKwsDRw4UJIsO0jQuHFjzZgxQy6XS08//bQk6dtvv9Vxxx2nNm3aaPPmzX5/zeXLlysqKkoXXHCB35/bn4YNG6aJEyeaXQbgo04htrS0VB988IFKSkqq3FdcXKwPPviAyy8Agsrpcisze7Wqu6TkOZaZvZqpBUGwfPly2Ww2HThwQMOHDze7nHozDEN//etf5Xa79c9//lOStHv3bnXq1EmGYWjFihV+e61Zs2bpjjvu0Ndff+3t+ACgduoUYmfOnKnnnnvOu0/1keLj4/X888/r1Vdf9VtxAHAsuQVFVUZgj+SWVOgoVW5BaG2TGo4Mw1B5ebkk6YsvvtCkSZNMrqjhRo0aJbfbreXLl3uPnX766TIMQx988EGDnnv//v2aP3++0tPTdcEFF+iNN97w3rd371795S9/UevWrdW0aVOdeOKJmj17tiSpvLxc48ePV1JSkmJiYtSxY0dNnTrV+9hnn31Wp556qmJjY9W+fXvddttt2r9/v/f+KVOmqHfv3j61TJ8+XZ06daq2zjFjxuirr77Sc889J8MwZBiGNm3a1KDfHfCHOoXYefPmHfVywsSJE/V///d/Da0JAGptV0ntFhLV9jw0TFRUlA4cOCBJmjZtml555RWTK/KPQYMGye12a+PGjbLb7ZKkiy++WIZh6Pnnn69Xe64FCxaoR48e6t69u9LS0vT66697n+fBBx/U6tWr9fHHH2vNmjXKyspSq1atJEnPP/+8PvjgAy1YsEBr167VvHnzfAKozWbT888/r19++UVz5szR559/rnvvvbfev/tzzz2nwYMH66abblJhYaEKCwvVvn37ej8f4C91CrHr169Xr169arz/tNNO0/r16xtcFADUVpu4GL+eh4Zr1qyZduzYIUm65ZZb9Nlnn5lckf906dJF+/bt0549e9S/f39J0oQJE2Sz2TRx4kRVVFTU+rlmzZqltLQ0SVJKSoocDod384UtW7aoT58+6t+/vzp16qQRI0YoNTXVe9+JJ56ooUOHqmPHjho6dKhPd6CJEyfqrLPOUqdOnTR8+HA98sgjWrBgQb1/Z7vdriZNmqhZs2ZKTExUYmKioqKi6v18gL/UKcRWVFRo9+7dNd6/e/fuOv0HDOuilRFCxYDOCUqyx8io4X5DlV0KBnROCGZZEe/444/Xzz//LEkaOXKk1qxZY3JF/pWQkKAffvhBhw4d0lVXXSWpcsSycePGuuCCC7yj0TVZu3atcnNzveGzUaNGGj16tGbNmiWpstvDO++8o969e+vee+/1aW85ZswY5efnq3v37rrzzjv16aef+jz3Z599prPPPlvt2rVTXFycrr32Wu3Zs0cHDx7051sAmK5OIfaUU0456jfqTz/9VKecckqDi0Joy1lVqKFPfK6rX/1OE97J19WvfqehT3zOCnCYIspmKCM1WZKqBFnP7YzUZEXZaoq5CJSePXsqJydHkpScnHzUQRCriomJ0dtvv62Kigr9/e9/lyT961//UvPmzdW9e3ft3Lmz2sfNmjVLFRUVatu2rRo1aqRGjRopKytLCxculMPh0HnnnafNmzfrrrvu0vbt23X22Wfr7rvvliT17dtXBQUFevjhh3Xo0CFdeeWVuvzyyyVJmzZt0oUXXqjTTjtNCxcu1MqVKzVjxgxJ8s5XttlsVaY/HD58OCDvDxBIdQqxY8eO1cMPP6wPP/ywyn3Z2dl69NFHNXbsWL8Vh9BDKyOEopSeScpK66tEu++UgUR7jLLS+tIn1kTnnnuut+9qmzZtdOjQIZMrCoyoqCjvbl+e0dR169YpMTFRNpvNZyS6oqJC//d//6dnnnlG+fn53p8ff/xRbdu21dtvvy2pcvOI66+/XnPnztX06dN95hfHx8dr9OjRevXVVzV//nwtXLhQRUVFWrlypVwul5555hkNGjRIJ510UpWuB61bt9aOHTt8gmx+fv5Rf78mTZrI6XQ29G0C/KpRXU6++eab9fXXX+uiiy7yTkaXpF9//VXr1q3TlVdeqZtvvjkghcJ8x2plZKiyldHI5ERGvRB0KT2TNDI5UbkFRdpVUqo2cZVTCPi3aL709HStWbNGL7zwgpo1a2bZzRBqwzAMjR07VmPHjtVnn32mkSNHyu12Kzm58mrB559/LofDob1792rcuHHeRWIeo0aN0qxZs7R9+3b169dPp5xyisrKyvThhx/q5JNPllTZfSApKUl9+vSRzWbTu+++q8TERLVo0ULdunXT4cOH9cILLyg1NVXLli3zbkLhMWzYMO3evVtPPvmkLr/8cuXk5Ojjjz8+an/fTp066fvvv9emTZvUvHlzJSQkhO3/h7COOv8LnDt3rubPn6+TTjpJ69at09q1a9W9e3e9/fbb3m+PCE+0MkKoi7IZGty1pS7u3U6Du7YkwIaQ559/XkOGDJFUufCrPqv5rWbEiBFyu93eucGSNHz4cF166aUaNmxYlQArVYbYFStWqFGjRpo8ebJOO+00/fnPf1ZUVJTeeecdSVJcXJyefPJJ9e/fX6effro2bdqkf/3rX7LZbOrVq5eeffZZPfHEE+rZs6fmzZvn035Lkk4++WS99NJLmjFjhnr16qXc3FzvVIWa3H333YqKilJycrJat26tLVu2+OEdAhqmTtvOOp1OPf300/rggw9UXl6u4cOHa8qUKWratGkga/Qbtp1tmMX52zThnfxjnvfcVb11ce92gS8IgKW43W7FxMSovLxcQ4cO1b///W+zSwqqwsJCDRw4UFu3bg3r0WigoQKy7exjjz2mBx54QM2bN1e7du30/PPP6/bbb29wsbAGWhkBaAjDMLxzYr/55hvdcccdJlcUXElJSdqyZYvcbjcBFvCDOv1X9H//93966aWX9Mknn2jRokXKzs7WvHnz5HK5AlUfQgitjAA0lM1m87Z6evHFF5WVlWVyRfAXWi8i2Oo0nSA6OlobNmzw2akjJiZGGzZs0AknnBCQAv2J6QQN5+lOIMlngZcn2LISHEBt7N69W23atJEk5eTk6NxzzzW5IjREzqpCZWav9lk3kWSPUUZqMp8JqLOATCeoqKhQTIzvpeLGjRvTXy6C0MoIgD+0bt1aq1evllS5W9Uvv/xickWoL1ovwix1Gom12Ww677zzFB0d7T2WnZ2t4cOHKzY21nvsvffe82+VfsJIrP84XW5aGQFosCVLluicc86RJO3YsUPHH3+8yRWhLpwut4Y+8XmNnWsMVQ5yfHPfcD4jUGu1zWt16hN7/fXXVznm2fcZkcXTyggAGmLkyJF6+eWXdeuttyoxMVEHDx60TMcb1K31Ip8Z8Lc6hdjZs2cHqg4AQIS65ZZb9Ouvv2r69Olq1qyZKioqFBUVZXZZqIVdJTUH2PqcB9QFPT4AAKabNm2ahg0bJqlyrUUkbIYQDmi9CDMRYgEAIeGLL75QbGys3G63Bg8ebHY5qAVaL8JMhFgAQMgoLi6WJH3//fdKT083uRocS5TNUEZqsiRVCbKe2xmpySzqQkAQYgEAIcNms3l39Xr55Zf1wgsvmFwRjoXWizBLnVpsWR0ttgDAGn7//Xe1bt1akvTRRx/p/PPPN7kiHAutF+Evtc1rhFgAQEhau3atevToIUn68ccfddppp5lcEYBgCMiOXQAABEv37t21dOlSSVKvXr1UWMjOTwD+hxALAAhZw4cP16xZsyRJbdu21cGDB02uCECoIMQCAELa2LFjdffdd0uSYmNj5XQ6Ta4IQCggxAIRzOlya/nGPVqcv03LN+6R0xUxU+RhMU899ZRGjBghSWrUqBGbIQCo27azAMJHzqpCZWav9tn3PMkeo4zUZFriICQtWbJELVq0kMPh0Omnn64VK1aYXRIAEzESC0SgnFWFSp+b5xNgJWmHo1Tpc/OUs4oFNAhNRUVFkqSVK1fqpptuMrkaAGYixAIRxulyKzN7taq7GOs5lpm9mqkFCEk2m02lpZVfvl577TVNmzbN5IoAmIUQC0SY3IKiKiOwR3JLKnSUKregKHhFAXUQHR2t33//XZI0adIkZWdnm1wRADMQYoEIs6uk5gBbn/MAM7Rs2VLr1q2TJF100UXKz883tyAAQUeIBSJMm7iYY59Uh/MAs5x44on68ssvJUl9+vTR9u3bzS0IQFARYoEIM6BzgpLsMappR3NDlV0KBnROCGZZQL2ceeaZmj17tiSpXbt2OnDggMkVAQgWQmyA0H8ToSrKZigjNVmSqgRZz+2M1GRF2WqKuUBoGTNmjO6//35JUvPmzVVRUWFyRQCCwXBHUMfo4uJi2e12ORwOxcfHB+x16L8JK+DfKcLN+eefr48//liS5HK5ZBh8EQOsqLZ5jRDrZ57+m398Uz1/SrPS+hIQEDKcLrdyC4q0q6RUbeIqpxAwAgsra9OmjXbv3q3TTjtNP/74o9nlAKiH2uY1phP4Ef03YTVRNkODu7bUxb3baXDXlgRYWN6OHTskST/99JNuuOEGk6sBEEiEWD+i/yYAmMtms6msrEyS9MYbb+jpp582uSIAgUKI9SP6bwKA+Zo0aaI9e/ZIku655x4tWrTI3IIABAQh1o/ovwkAoSEhIUHr16+XJF166aXKy8szuSIA/kaI9SP6bwJA6OjWrZv+/e9/S5L69eun//73vyZXBMCfCLF+RP9NAAgtQ4cO1ZtvvilJat++vUpKSkyuCIC/EGL9LKVnkrLS+irR7jtlINEeQ3stADBBWlqa/v73v0uS4uPj2QwBCBP0iQ0Q+m8CQGi56KKLlJ2dLYnNEIBQxmYH1QhmiAUAhJ62bduqsLBQJ598slavXm12OQCqwWYHAAD8wbZt2yRJa9asUVpamsnVAGgIQiwAIGIYhuHdDGHevHl6/PHHTa4IQH0RYgEAEaVJkybau3evJGny5MlauHChyRUBqA9CLAAg4rRo0UIbN26UJF1++eX64YcfTK4IQF0RYgEAEalLly5atmyZJGnAgAHasmWLyRUBqAtCLAAgYp1xxhmaN2+eJKljx44qLi42uSIAtUWIBQBEtGuuuUYZGRmSJLvdrsOHD5tcEYDaIMQCACLelClTdNlll0mqXPgVQS3UAcsixAIAIGnhwoXq2LGjJOmkk04yuRoAx0KIBQDg/ysoKJAkbdiwQVdddZXJ1QA4GkIsAAD/n2EYKi8vlyTNnz9fjz76qMkVAagJIRYAgCM0btxY+/btkyT9/e9/14IFC8wtCEC1CLEAAPyB3W73Ti0YPXq0vv/+e5MrAvBHhFgAAKrRqVMnfffdd5KkQYMGafPmzSZXBOBIhFgAAGowcOBAzZ8/X1JlqHU4HCZXBMCDEAsAwFFceeWVevjhhyVJLVq0COnNEKZMmaLevXubXQYQFIRYAACO4e9//7uuvPJKSbXbDGHMmDEyDEO33nprlftuv/12GYahMWPGBKJUIGIQYgEAqIX58+erS5cukqTOnTsf8/z27dvrnXfe0aFDh7zHSktL9dZbb6lDhw4NqiWQo8GhPNIMHIkQi7DidLm1fOMeLc7fpuUb98jpYutIAP6zYcMGSdLmzZs1atSoo57bt29ftW/fXu+995732HvvvacOHTqoT58+3mOdOnXS9OnTfR7bu3dvTZkyxXvbMAxlZWXpoosuUmxsrLd/7eOPP67jjz9ecXFxGjdunEpLS6vU8dprr+nkk09WTEyMevTooZdeesl736ZNm2QYhubPn68zzzxTMTExmjdvXq3fD8BMhFiEjZxVhRr6xOe6+tXvNOGdfF396nca+sTnyllVaHZpAMLEkZshvPfeez5Bszpjx47V7Nmzvbdff/113XDDDfV67SlTpujSSy/Vzz//rLFjx2rBggWaMmWKHnvsMa1YsUJJSUk+AVWS5s2bp4ceekiPPvqo1qxZo8cee0wPPvig5syZ43Pe/fffrwkTJmjNmjU699xz61UfEGyEWISFnFWFSp+bp0KH7yjEDkep0ufmEWQB+E3jxo29XQoyMzP19ttv13huWlqavvnmG23evFmbN2/WsmXLlJaWVq/Xveaaa3TDDTeoS5cu6tChg6ZPn65x48Zp3Lhx6t69ux555BElJyf7PCYjI0PPPPOMLrvsMnXu3FmXXXaZ7rrrLs2cOdPnvIkTJ3rPSUpKqld9QLARYmF5TpdbmdmrVd3EAc+xzOzVTC0A4Dfx8fHevrHXXHONvv3222rPa926tS644AK98cYbmj17ti644AK1atWqXq/Zv39/n9tr1qzRwIEDfY4NHjzY+78PHDigjRs3aty4cWrevLn355FHHtHGjRuP+tyAFTQyuwCgoXILiqqMwB7JLanQUarcgiIN7toyeIUBCGsdOnRQbm6uBgwYoCFDhui3336rdsHX2LFjNX78eEnSjBkzqtxvs9mqdDuobnFVbGxsnerbv3+/JOnVV1+tEnajoqIa9NxAKGAkFpa3q6TmAFuf8wCgJn9cPNq3X3+9++67kqQuXbpo3759VR6TkpKi8vJyHT58uNr5pq1bt1Zh4f+mPBUXF3u3vD2ak08+ucp2uJ4dxiTp+OOPV9u2bfXbb7+pW7duPj+16a4AhDpGYmF5beJi/HoeAFQnZ1WhMrNX+1z5SbLHKCN1iKZOnarJkyfruOOO08GDB30eFxUVpTVr1nj/9x8NHz5cb7zxhlJTU9WiRQs99NBD1Z73RxMmTNCYMWPUv39/DRkyRPPmzdMvv/zibQMmVc7ZvfPOO2W325WSkqKysjKtWLFCe/fu1aRJk+r7VgAhgRALyxvQOUFJ9hjtcJRWOy/WkJRoj9GAzgnBLg1AmPAsHv3j3xjP4tGstOt1RV6e3n33Xf3nP/+p8vj4+Pgan3vy5MkqKCjQhRdeKLvdrocffrhWI7GjR4/Wxo0bde+996q0tFSjRo1Senq6PvnkE+85N954o5o1a6annnpK99xzj2JjY3Xqqadq4sSJPs/149Z92qxtahNX+bcyymYc8/UBsxnuY207EkaKi4tlt9vlcDiO+gcF1uP5gJHk8yHj+TOcldZXKT1ZcQug7pwut4Y+8XmNc+89X5T/fe9Z2lu0R61btw5ugQ1Q8+hyMn8zYZra5jXmxCIspPRMUlZaXyXafacMJNpjCLAAGqS2i0d/2LTXcgGW1oSwMqYTIGyk9EzSyORE5RYUaVdJKZfFAPhFOC4ePVZrQkOVrQlHJifyNxQhixCLsBJlM2ijBcCvwnHxKK0JEQ6YTgAAwFF4Fo/WNB5pqHIeqZUWj4bj6DIiDyEWAICjiLIZykit3M71j0HWczsjNdlSl93DcXQZkYcQCwDAMYTb4tFwHF1G5GFOLAAAtRBOi0c9o8vpc/NkqPrWhFYbXUbkoU8sAAARij6xCEW1zWuMxAIAEKHCaXQZkYcQCwBABKM1IayKEAsgZDldbkaIAADVIsQCCEnM1QMAHA0ttgCEHPZ0BwAcCyEWQEg51p7uUuWe7k5XxDRWAQBUgxALIKTUZU93AEDkIsQCCCns6Q4AqA3LhNhHH31UZ5xxhpo1a6YWLVqYXQ6AAGFPdwBAbVgmxJaXl+uKK65Qenq62aUACCD2dAcA1IZlQmxmZqbuuusunXrqqWaXAiCAPHu6S6oSZNnTHQDgYZkQWx9lZWUqLi72+QEQ+lJ6Jikrra8S7b5TBhLtMcpK60ufWABAeG92MHXqVGVmZppdBoB6YE93AMDRmDoSe//998swjKP+/Prrr/V+/smTJ8vhcHh/tm7d6sfqAQSaZ0/3i3u30+CuLQmwAAAvU0di//rXv2rMmDFHPadLly71fv7o6GhFR0fX+/EAAAAITaaG2NatW6t169ZmlgAAAAALssyc2C1btqioqEhbtmyR0+lUfn6+JKlbt25q3ry5ucUBAAAgqCwTYh966CHNmTPHe7tPnz6SpC+++ELDhg0zqSoAAOBPTpebBZ2oFcPtdrvNLiJYiouLZbfb5XA4FB8fb3Y5AADgCDmrCpWZvVqFjv9tK51kj1FGajKt9SJIbfNaWPeJBQAA1pCzqlDpc/N8Aqwk7XCUKn1unnJWFZpUGUIVIRYAAJjK6XIrM3u1qrs07DmWmb1aTlfEXDxGLRBiAQCAqXILiqqMwB7JLanQUarcgqLgFYWQR4gFAACm2lVSc4Ctz3mIDIRYAABgqjZxMX49D5HBMi22ACBc0VIIkW5A5wQl2WO0w1Fa7bxYQ1KivfK/DcCDEAsAJqKlkDXwRSOwomyGMlKTlT43T4bkE2Q973JGajLvOXzQJxYATOJpKfTHP8Kej+mstL4E2RDAF43g4b2GVPu8RogFABM4XW4NfeLzGldkey6ffnPfcEafTMQXjeBj1Bu1zWtMJwAAE9SlpdDgri2DVxi8jtW71FBl79KRyYmELD+Kshn8m0et0J0AAExAS6HQR+9SILQRYgHABLQUCn180QBCGyEWAEzgaSlU00VoQ5ULWmgpZB6+aAChjRALACbwtBSSVCXI0lIoNPBFAwhthFgAMElKzyRlpfVVot13JC/RHsOq9xDAFw0gtNFiCwBMRkuh0EbvUiC46BNbDUIsAKA++KIBBA99YgEA8BN6lwKhhzmxAAAAsBxCLAAAACyHEAsAAADLIcQCAADAcgixAAAAsBxCLAAAACyHEAsAAADLIcQCAADActjsAAAAVIudyhDKCLEAAKCKnFWFysxerUJHqfdYkj1GGanJSumZZGJlQCWmEwAAAB85qwqVPjfPJ8BK0g5HqdLn5ilnVaFJlQH/Q4gFAABeTpdbmdmr5a7mPs+xzOzVcrqqOwMIHkIsAADwyi0oqjICeyS3pEJHqXILioJXFFANQiwAAPDaVVJzgK3PeUCgEGIBAIBXm7gYv54HBAohFgAAeA3onKAke4xqaqRlqLJLwYDOCcEsC6iCEAsAALyibIYyUpMlqUqQ9dzOSE2mXyxMR4gFAAA+UnomKSutrxLtvlMGEu0xykrrS59YhAQ2OwAAAFWk9EzSyOREduxCyCLEAgCAakXZDA3u2tLsMoBqMZ0AAAAAlkOIBQAAgOUQYgEAAGA5hFgAAABYDiEWAAAAlkN3ghDndLlpbwIAAPAHhNgQlrOqUJnZq1XoKPUeS7LHKCM1mUbTAAAgojGdIETlrCpU+tw8nwArSTscpUqfm6ecVYUmVQYAAGA+QmwIcrrcysxeLXc193mOZWavltNV3Rnhx+lya/nGPVqcv03LN+6JmN8bAADUjOkEISi3oKjKCOyR3JIKHaXKLSgK+51UmFIBAACqw0hsCNpVUnOArc95VsWUCgAAUBNCbAhqExfj1/OsiCkVAADgaAixIWhA5wQl2WNUUyMtQ5WX1Ad0TghmWUFVlykVAAAg8hBiQ1CUzVBGarIkVQmyntsZqclh3S+WKRUAAOBoCLEhKqVnkrLS+irR7jtlINEeo6y0vmG/qIkpFQAA4GjoThDCUnomaWRyYkTu2OWZUrHDUVrtvFhDlYE+nKdUAACAmhFiQ1yUzQj7NlrV8UypSJ+bJ0PyCbKRMqUCAADUjOkECFmRPqUCAADUjJFYhLRInlIBAABqRohFyIvUKRUAAKBmTCcAAACA5RBiAQAAYDmEWAAAAFgOIRYAAACWQ4gFAACA5RBiAQAAYDmEWAAAAFgOIRYAAACWQ4gFAACA5RBiAQAAYDmEWAAAAFgOIRYAAACWQ4gFAACA5RBiAQAAYDmEWAAAAFgOIRYAAACWQ4gFAACA5RBiAQAAYDmEWAAAAFgOIRYAAACWQ4gFAACA5RBiAQAAYDmEWAAAAFgOIRYAAACWQ4gFAACA5RBiAQAAYDmEWAAAAFgOIRYAAACWQ4gFAACA5RBiAQAAYDmEWAAAAFgOIRYAAACWQ4gFAACA5RBiAQAAYDmEWAAAAFgOIRYAAACWQ4gFAACA5RBiAQAAYDmEWAAAAFgOIRYAAACWQ4gFAACA5RBiAQAAYDmEWAAAAFgOIRYAAACWQ4gFAACA5RBiAQAAYDmEWAAAAFgOIRYAAACWQ4gFAACA5RBiAQAAYDmEWAAAAFgOIRYAAACWQ4gFAACA5RBiAQAAYDmEWAAAAFgOIRYAAACWQ4gFAACA5TQyuwAAAHB0TpdbuQVF2lVSqjZxMRrQOUFRNsPssgBTEWIBAAhhOasKlZm9WoWOUu+xJHuMMlKTldIzycTKAHMxnQAAgBCVs6pQ6XPzfAKsJO1wlCp9bp5yVhWaVBlgPkIsAAAhyOlyKzN7tdzV3Oc5lpm9Wk5XdWcA4Y8QCwBACMotKKoyAnskt6RCR6lyC4qCVxQQQgixAACEoF0lNQfY+pwHhBtCLAAAIahNXIxfzwPCDSEWAIAQNKBzgpLsMaqpkZahyi4FAzonBLMsIGQQYgEACEFRNkMZqcmSVCXIem5npCbTLxYRyxIhdtOmTRo3bpw6d+6spk2bqmvXrsrIyFB5ebnZpQEAEDApPZOUldZXiXbfKQOJ9hhlpfWlTywimiU2O/j111/lcrk0c+ZMdevWTatWrdJNN92kAwcO6Omnnza7PAAAAialZ5JGJieyYxfwB4bb7bZkg7mnnnpKWVlZ+u2332r9mOLiYtntdjkcDsXHxwewOgAAANRHbfOaJaYTVMfhcCghgcnsAAAAkcgS0wn+aMOGDXrhhReOOZWgrKxMZWVl3tvFxcWBLg0AAABBYOpI7P333y/DMI768+uvv/o8Ztu2bUpJSdEVV1yhm2666ajPP3XqVNntdu9P+/btA/nrAAAAIEhMnRO7e/du7dmz56jndOnSRU2aNJEkbd++XcOGDdOgQYP0xhtvyGY7egavbiS2ffv2zIkFAAAIUbWdE2vqdILWrVurdevWtTp327ZtOuuss9SvXz/Nnj37mAFWkqKjoxUdHd3QMgEAABBiLDEndtu2bRo2bJg6duyop59+Wrt37/bel5iYaGJlAAAAMIMlQuySJUu0YcMGbdiwQSeccILPfRbtEAYAAIAGsESLrTFjxsjtdlf7AwAAgMhjiRALAAAAHIkQCwAAAMshxAIAAMByCLEAAACwHEIsAAAALIcQCwAAAMshxAIAAMByCLEAAACwHEIsAAAALIcQCwAAAMshxAIAAMByCLEAAACwHEIsAAAALIcQCwAAAMshxAIAAMByCLEAAACwHEIsAAAALIcQCwAAAMshxAIAAMByGpldAAAA4cjpciu3oEi7SkrVJi5GAzonKMpmmF0WEDYIsQAA+FnOqkJlZq9WoaPUeyzJHqOM1GSl9EwysTIgfDCdAAAAP8pZVaj0uXk+AVaSdjhKlT43TzmrCk2qDAgvhFgAAPzE6XIrM3u13NXc5zmWmb1aTld1ZwCoC0IsAAB+kltQVGUE9khuSYWOUuUWFAWvKCBMEWIBAPCTXSU1B9j6nAegZoRYAAD8pE1cjF/PA1AzQiwAAH4yoHOCkuwxqqmRlqHKLgUDOicEsywgLBFiAQDwkyiboYzUZEmqEmQ9tzNSk+kXC/gBIRYAAD9K6ZmkrLS+SrT7ThlItMcoK60vfWIBP2GzAwAA/CylZ5JGJieyYxcQQIRYAAACIMpmaHDXlmaXAYQtphMAAADAcgixAAAAsBxCLAAAACyHEAsAAADLIcQCAADAcgixAAAAsBxCLAAAACyHEAsAAADLIcQCAADAcgixAAAAsBxCLAAAACynkdkFAABgBU6XW7kFRdpVUqo2cTEa0DlBUTbD7LKAiEWIBQDgGHJWFSoze7UKHaXeY0n2GGWkJiulZ5KJlQGRi+kEAAAcRc6qQqXPzfMJsJK0w1Gq9Ll5yllVaFJlQGQjxAIAUAOny63M7NVyV3Of51hm9mo5XdWdASCQCLEAANQgt6CoygjskdySCh2lyi0oCl5RACQRYgEAqNGukpoDbH3OA+A/hFgAAGrQJi7Gr+cB8B9CLAAANRjQOUFJ9hjV1EjLUGWXggGdE4JZFgARYgEAqFGUzVBGarIkVQmyntsZqcn0iwVMQIgFAOAoUnomKSutrxLtvlMGEu0xykrrS59YwCRsdgAAwDGk9EzSyOREduwCQgghFgCAWoiyGRrctaXZZQD4/5hOAAAAAMshxAIAAMByCLEAAACwHEIsAAAALIcQCwAAAMshxAIAAMByCLEAAACwHEIsAAAALIcQCwAAAMshxAIAAMByCLEAAACwHEIsAAAALIcQCwAAAMshxAIAAMByCLEAAACwHEIsAAAALIcQCwAAAMshxAIAAMByCLEAAACwHEIsAAAALKeR2QUEk9vtliQVFxebXAkAAACq48lpntxWk4gKsSUlJZKk9u3bm1wJAAAAjqakpER2u73G+w33sWJuGHG5XNq+fbvi4uJkGEZAX6u4uFjt27fX1q1bFR8fH9DXwv/wvpuD990cvO/m4H03B+978Jn1nrvdbpWUlKht27ay2Wqe+RpRI7E2m00nnHBCUF8zPj6e/9hMwPtuDt53c/C+m4P33Ry878Fnxnt+tBFYDxZ2AQAAwHIIsQAAALAcQmyAREdHKyMjQ9HR0WaXElF4383B+24O3ndz8L6bg/c9+EL9PY+ohV0AAAAID4zEAgAAwHIIsQAAALAcQiwAAAAshxALAAAAyyHEBslFF12kDh06KCYmRklJSbr22mu1fft2s8sKW5s2bdK4cePUuXNnNW3aVF27dlVGRobKy8vNLi3sPfroozrjjDPUrFkztWjRwuxywtaMGTPUqVMnxcTEaODAgcrNzTW7pLD39ddfKzU1VW3btpVhGFq0aJHZJYW9qVOn6vTTT1dcXJzatGmjSy65RGvXrjW7rLCXlZWl0047zbvJweDBg/Xxxx+bXVYVhNggOeuss7RgwQKtXbtWCxcu1MaNG3X55ZebXVbY+vXXX+VyuTRz5kz98ssvmjZtml5++WU98MADZpcW9srLy3XFFVcoPT3d7FLC1vz58zVp0iRlZGQoLy9PvXr10rnnnqtdu3aZXVpYO3DggHr16qUZM2aYXUrE+Oqrr3T77bfru+++05IlS3T48GGdc845OnDggNmlhbUTTjhBjz/+uFauXKkVK1Zo+PDhuvjii/XLL7+YXZoPWmyZ5IMPPtAll1yisrIyNW7c2OxyIsJTTz2lrKws/fbbb2aXEhHeeOMNTZw4Ufv27TO7lLAzcOBAnX766XrxxRclSS6XS+3bt9cdd9yh+++/3+TqIoNhGHr//fd1ySWXmF1KRNm9e7fatGmjr776Sn/+85/NLieiJCQk6KmnntK4cePMLsWLkVgTFBUVad68eTrjjDMIsEHkcDiUkJBgdhlAg5SXl2vlypUaMWKE95jNZtOIESO0fPlyEysDAs/hcEgSf8uDyOl06p133tGBAwc0ePBgs8vxQYgNovvuu0+xsbFq2bKltmzZosWLF5tdUsTYsGGDXnjhBd1yyy1mlwI0yO+//y6n06njjz/e5/jxxx+vHTt2mFQVEHgul0sTJ07UkCFD1LNnT7PLCXs///yzmjdvrujoaN166616//33lZycbHZZPgixDXD//ffLMIyj/vz666/e8++55x795z//0aeffqqoqChdd911YjZH3dT1PZekbdu2KSUlRVdccYVuuukmkyq3tvq87wDgT7fffrtWrVqld955x+xSIkL37t2Vn5+v77//Xunp6br++uu1evVqs8vywZzYBti9e7f27Nlz1HO6dOmiJk2aVDn+3//+V+3bt9e3334bcsPzoayu7/n27ds1bNgwDRo0SG+88YZsNr631Ud9/q0zJzYwysvL1axZM/3zn//0mY95/fXXa9++fVzhCRLmxAbX+PHjtXjxYn399dfq3Lmz2eVEpBEjRqhr166aOXOm2aV4NTK7ACtr3bq1WrduXa/HulwuSVJZWZk/Swp7dXnPt23bprPOOkv9+vXT7NmzCbAN0JB/6/CvJk2aqF+/flq6dKk3QLlcLi1dulTjx483tzjAz9xut+644w69//77+vLLLwmwJnK5XCGXWQixQfD999/rhx9+0NChQ3Xcccdp48aNevDBB9W1a1dGYQNk27ZtGjZsmDp27Kinn35au3fv9t6XmJhoYmXhb8uWLSoqKtKWLVvkdDqVn58vSerWrZuaN29ubnFhYtKkSbr++uvVv39/DRgwQNOnT9eBAwd0ww03mF1aWNu/f782bNjgvV1QUKD8/HwlJCSoQ4cOJlYWvm6//Xa99dZbWrx4seLi4rzzvu12u5o2bWpydeFr8uTJOu+889ShQweVlJTorbfe0pdffqlPPvnE7NJ8uRFwP/30k/uss85yJyQkuKOjo92dOnVy33rrre7//ve/ZpcWtmbPnu2WVO0PAuv666+v9n3/4osvzC4trLzwwgvuDh06uJs0aeIeMGCA+7vvvjO7pLD3xRdfVPtv+/rrrze7tLBV09/x2bNnm11aWBs7dqy7Y8eO7iZNmrhbt27tPvvss92ffvqp2WVVwZxYAAAAWA6TBAEAAGA5hFgAAABYDiEWAAAAlkOIBQAAgOUQYgEAAGA5hFgAAABYDiEWAAAAlkOIBQAAgOUQYgEgxIwZM0aGYcgwDDVp0kTdunXTP/7xD1VUVEiq3E/+lVde0cCBA9W8eXO1aNFC/fv31/Tp03Xw4EFJ0i+//KJRo0apU6dOMgxD06dPN/E3AgD/I8QCQAhKSUlRYWGh1q9fr7/+9a+aMmWKnnrqKUnStddeq4kTJ+riiy/WF198ofz8fD344INavHixPv30U0nSwYMH1aVLFz3++ONKTEw081cBgIBg21kACDFjxozRvn37tGjRIu+xc845RyUlJbrrrrs0evRoLVq0SBdffLHP49xut4qLi2W3232Od+rUSRMnTtTEiRODUD0ABAcjsQBgAU2bNlV5ebnmzZun7t27VwmwkmQYRpUACwDhihALACHM7Xbrs88+0yeffKLhw4dr/fr16t69u9llAYDpCLEAEII+/PBDNW/eXDExMTrvvPM0evRoTZkyRcwAA4BKjcwuAABQ1VlnnaWsrCw1adJEbdu2VaNGlX+uTzrpJP36668mVwcA5mMkFgBCUGxsrLp166YOHTp4A6wkXXPNNVq3bp0WL15c5TFut1sOhyOYZQKAaQixAGAhV155pUaPHq2rr75ajz32mFasWKHNmzfrww8/1IgRI/TFF19IksrLy5Wfn6/8/HyVl5dr27Ztys/P14YNG0z+DQDAP2ixBQAhproWW0dyuVx65ZVX9Prrr+uXX35Ro0aNdOKJJ+q6667TTTfdpKZNm2rTpk3q3LlzlceeeeaZ+vLLLwP7CwBAEBBiAQAAYDlMJwAAAIDlEGIBAABgOYRYAAAAWA4hFgAAAJZDiAUAAIDlEGIBAABgOYRYAAAAWA4hFgAAAJZDiAUAAIDlEGIBAABgOYRYAAAAWA4hFgAAAJbz/wCDbtSgPAl2YgAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "scale_arrow = s_ = 2\n", "scores[:,1] *= -1\n", @@ -984,7 +337,7 @@ " ax.arrow(0, 0, s_*pcaUS.components_[i,k], s_*pcaUS.components_[j,k])\n", " ax.text(s_*pcaUS.components_[i,k],\n", " s_*pcaUS.components_[j,k],\n", - " USArrests.columns[k])\n" + " USArrests.columns[k])" ] }, { @@ -997,29 +350,10 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "34fdfe21", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.395487Z", - "iopub.status.busy": "2023-07-26T00:00:18.395355Z", - "iopub.status.idle": "2023-07-26T00:00:18.398200Z", - "shell.execute_reply": "2023-07-26T00:00:18.397868Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([1.5908673 , 1.00496987, 0.6031915 , 0.4206774 ])" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "scores.std(0, ddof=1)" ] @@ -1035,31 +369,12 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "31b43c57", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.399986Z", - "iopub.status.busy": "2023-07-26T00:00:18.399859Z", - "iopub.status.idle": "2023-07-26T00:00:18.402377Z", - "shell.execute_reply": "2023-07-26T00:00:18.402074Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([2.53085875, 1.00996444, 0.36383998, 0.17696948])" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pcaUS.explained_variance_\n" + "metadata": {}, + "outputs": [], + "source": [ + "pcaUS.explained_variance_" ] }, { @@ -1073,31 +388,12 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "68e47d3a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.404041Z", - "iopub.status.busy": "2023-07-26T00:00:18.403900Z", - "iopub.status.idle": "2023-07-26T00:00:18.406482Z", - "shell.execute_reply": "2023-07-26T00:00:18.406162Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0.62006039, 0.24744129, 0.0891408 , 0.04335752])" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pcaUS.explained_variance_ratio_\n" + "metadata": {}, + "outputs": [], + "source": [ + "pcaUS.explained_variance_ratio_" ] }, { @@ -1114,17 +410,9 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "e87fe198", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.408230Z", - "iopub.status.busy": "2023-07-26T00:00:18.408090Z", - "iopub.status.idle": "2023-07-26T00:00:18.552316Z", - "shell.execute_reply": "2023-07-26T00:00:18.551935Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "%%capture\n", @@ -1137,7 +425,7 @@ "ax.set_xlabel('Principal Component');\n", "ax.set_ylabel('Proportion of Variance Explained')\n", "ax.set_ylim([0,1])\n", - "ax.set_xticks(ticks)\n" + "ax.set_xticks(ticks)" ] }, { @@ -1150,30 +438,10 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "409fb0c6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.554504Z", - "iopub.status.busy": "2023-07-26T00:00:18.554354Z", - "iopub.status.idle": "2023-07-26T00:00:18.664965Z", - "shell.execute_reply": "2023-07-26T00:00:18.664571Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "ax = axes[1]\n", "ax.plot(ticks,\n", @@ -1183,7 +451,7 @@ "ax.set_ylabel('Cumulative Proportion of Variance Explained')\n", "ax.set_ylim([0, 1])\n", "ax.set_xticks(ticks)\n", - "fig\n" + "fig" ] }, { @@ -1198,32 +466,13 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "e563e41b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.666854Z", - "iopub.status.busy": "2023-07-26T00:00:18.666716Z", - "iopub.status.idle": "2023-07-26T00:00:18.669407Z", - "shell.execute_reply": "2023-07-26T00:00:18.669069Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 1, 3, 11, 8])" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "a = np.array([1,2,8,-3])\n", - "np.cumsum(a)\n" + "np.cumsum(a)" ] }, { @@ -1242,38 +491,19 @@ "components of the data. We use our scaled\n", "and centered `USArrests` data as $\\bf X$ below. The *singular value decomposition* \n", "(SVD) is a general algorithm for solving\n", - "(12.6). " + "(12.6)." ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "f83ad0bc", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.671214Z", - "iopub.status.busy": "2023-07-26T00:00:18.671075Z", - "iopub.status.idle": "2023-07-26T00:00:18.673946Z", - "shell.execute_reply": "2023-07-26T00:00:18.673625Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "((50, 4), (4,), (4, 4))" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "X = USArrests_scaled\n", "U, D, V = np.linalg.svd(X, full_matrices=False)\n", - "U.shape, D.shape, V.shape\n" + "U.shape, D.shape, V.shape" ] }, { @@ -1288,65 +518,22 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "cb9bdc46", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.675721Z", - "iopub.status.busy": "2023-07-26T00:00:18.675577Z", - "iopub.status.idle": "2023-07-26T00:00:18.678172Z", - "shell.execute_reply": "2023-07-26T00:00:18.677846Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[-0.53589947, -0.58318363, -0.27819087, -0.54343209],\n", - " [ 0.41818087, 0.1879856 , -0.87280619, -0.16731864],\n", - " [-0.34123273, -0.26814843, -0.37801579, 0.81777791],\n", - " [ 0.6492278 , -0.74340748, 0.13387773, 0.08902432]])" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "V\n" + "metadata": {}, + "outputs": [], + "source": [ + "V" ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "f23c101e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.679869Z", - "iopub.status.busy": "2023-07-26T00:00:18.679734Z", - "iopub.status.idle": "2023-07-26T00:00:18.682331Z", - "shell.execute_reply": "2023-07-26T00:00:18.681967Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[ 0.53589947, 0.58318363, 0.27819087, 0.54343209],\n", - " [-0.41818087, -0.1879856 , 0.87280619, 0.16731864],\n", - " [-0.34123273, -0.26814843, -0.37801579, 0.81777791],\n", - " [ 0.6492278 , -0.74340748, 0.13387773, 0.08902432]])" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pcaUS.components_\n" + "metadata": {}, + "outputs": [], + "source": [ + "pcaUS.components_" ] }, { @@ -1359,63 +546,22 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "4cc49622", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.684217Z", - "iopub.status.busy": "2023-07-26T00:00:18.684084Z", - "iopub.status.idle": "2023-07-26T00:00:18.686744Z", - "shell.execute_reply": "2023-07-26T00:00:18.686436Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[-0.98556588, 1.13339238, -0.44426879, 0.15626714],\n", - " [-1.95013775, 1.07321326, 2.04000333, -0.43858344],\n", - " [-1.76316354, -0.74595678, 0.05478082, -0.83465292]])" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(U * D[None,:])[:3]\n" + "metadata": {}, + "outputs": [], + "source": [ + "(U * D[None,:])[:3]" ] }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "c96c9fe1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.688393Z", - "iopub.status.busy": "2023-07-26T00:00:18.688266Z", - "iopub.status.idle": "2023-07-26T00:00:18.690823Z", - "shell.execute_reply": "2023-07-26T00:00:18.690511Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[ 0.98556588, -1.13339238, -0.44426879, 0.15626714],\n", - " [ 1.95013775, -1.07321326, 2.04000333, -0.43858344],\n", - " [ 1.76316354, 0.74595678, 0.05478082, -0.83465292]])" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "scores[:3]\n" + "metadata": {}, + "outputs": [], + "source": [ + "scores[:3]" ] }, { @@ -1434,16 +580,9 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "574409d6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.692558Z", - "iopub.status.busy": "2023-07-26T00:00:18.692426Z", - "iopub.status.idle": "2023-07-26T00:00:18.695066Z", - "shell.execute_reply": "2023-07-26T00:00:18.694787Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "n_omit = 20\n", @@ -1455,7 +594,7 @@ " n_omit,\n", " replace=True)\n", "Xna = X.copy()\n", - "Xna[r_idx, c_idx] = np.nan\n" + "Xna[r_idx, c_idx] = np.nan" ] }, { @@ -1474,23 +613,15 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "id": "89f190ae", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.696744Z", - "iopub.status.busy": "2023-07-26T00:00:18.696608Z", - "iopub.status.idle": "2023-07-26T00:00:18.698816Z", - "shell.execute_reply": "2023-07-26T00:00:18.698495Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "def low_rank(X, M=1):\n", " U, D, V = np.linalg.svd(X)\n", " L = U[:,:M] * D[None,:M]\n", - " return L.dot(V[:M])\n" + " return L.dot(V[:M])" ] }, { @@ -1507,21 +638,14 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "id": "322f339c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.700416Z", - "iopub.status.busy": "2023-07-26T00:00:18.700304Z", - "iopub.status.idle": "2023-07-26T00:00:18.702308Z", - "shell.execute_reply": "2023-07-26T00:00:18.702041Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "Xhat = Xna.copy()\n", "Xbar = np.nanmean(Xhat, axis=0)\n", - "Xhat[r_idx, c_idx] = Xbar[c_idx]\n" + "Xhat[r_idx, c_idx] = Xbar[c_idx]" ] }, { @@ -1535,17 +659,9 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "7e106d1a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.703954Z", - "iopub.status.busy": "2023-07-26T00:00:18.703834Z", - "iopub.status.idle": "2023-07-26T00:00:18.705823Z", - "shell.execute_reply": "2023-07-26T00:00:18.705529Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "thresh = 1e-7\n", @@ -1553,7 +669,7 @@ "count = 0\n", "ismiss = np.isnan(Xna)\n", "mssold = np.mean(Xhat[~ismiss]**2)\n", - "mss0 = np.mean(Xna[~ismiss]**2)\n" + "mss0 = np.mean(Xna[~ismiss]**2)" ] }, { @@ -1575,33 +691,10 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "7cb05ce4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.707449Z", - "iopub.status.busy": "2023-07-26T00:00:18.707325Z", - "iopub.status.idle": "2023-07-26T00:00:18.710562Z", - "shell.execute_reply": "2023-07-26T00:00:18.710239Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Iteration: 1, MSS:0.395, Rel.Err 5.99e-01\n", - "Iteration: 2, MSS:0.382, Rel.Err 1.33e-02\n", - "Iteration: 3, MSS:0.381, Rel.Err 1.44e-03\n", - "Iteration: 4, MSS:0.381, Rel.Err 1.79e-04\n", - "Iteration: 5, MSS:0.381, Rel.Err 2.58e-05\n", - "Iteration: 6, MSS:0.381, Rel.Err 4.22e-06\n", - "Iteration: 7, MSS:0.381, Rel.Err 7.65e-07\n", - "Iteration: 8, MSS:0.381, Rel.Err 1.48e-07\n", - "Iteration: 9, MSS:0.381, Rel.Err 2.95e-08\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ "while rel_err > thresh:\n", " count += 1\n", @@ -1614,7 +707,7 @@ " rel_err = (mssold - mss) / mss0\n", " mssold = mss\n", " print(\"Iteration: {0}, MSS:{1:.3f}, Rel.Err {2:.2e}\"\n", - " .format(count, mss, rel_err))\n" + " .format(count, mss, rel_err))" ] }, { @@ -1630,31 +723,12 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "6f245188", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.712332Z", - "iopub.status.busy": "2023-07-26T00:00:18.712229Z", - "iopub.status.idle": "2023-07-26T00:00:18.714918Z", - "shell.execute_reply": "2023-07-26T00:00:18.714660Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0.711356743429736" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.corrcoef(Xapp[ismiss], X[ismiss])[0,1]\n" + "metadata": {}, + "outputs": [], + "source": [ + "np.corrcoef(Xapp[ismiss], X[ismiss])[0,1]" ] }, { @@ -1688,23 +762,15 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "345fb41e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.716565Z", - "iopub.status.busy": "2023-07-26T00:00:18.716476Z", - "iopub.status.idle": "2023-07-26T00:00:18.718601Z", - "shell.execute_reply": "2023-07-26T00:00:18.718325Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "np.random.seed(0);\n", "X = np.random.standard_normal((50,2));\n", "X[:25,0] += 3;\n", - "X[:25,1] -= 4;\n" + "X[:25,1] -= 4;" ] }, { @@ -1717,22 +783,14 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "3a8c21a2", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.720161Z", - "iopub.status.busy": "2023-07-26T00:00:18.720052Z", - "iopub.status.idle": "2023-07-26T00:00:18.750146Z", - "shell.execute_reply": "2023-07-26T00:00:18.749757Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "kmeans = KMeans(n_clusters=2,\n", " random_state=2,\n", - " n_init=20).fit(X)\n" + " n_init=20).fit(X)" ] }, { @@ -1745,33 +803,12 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "id": "e3e35b5d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.752342Z", - "iopub.status.busy": "2023-07-26T00:00:18.752172Z", - "iopub.status.idle": "2023-07-26T00:00:18.754770Z", - "shell.execute_reply": "2023-07-26T00:00:18.754396Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,\n", - " 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", - " 0, 0, 0, 0, 0, 0], dtype=int32)" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "kmeans.labels_\n" + "metadata": {}, + "outputs": [], + "source": [ + "kmeans.labels_" ] }, { @@ -1787,32 +824,14 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": null, "id": "d928650a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.756939Z", - "iopub.status.busy": "2023-07-26T00:00:18.756801Z", - "iopub.status.idle": "2023-07-26T00:00:18.874421Z", - "shell.execute_reply": "2023-07-26T00:00:18.874069Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp4AAAKqCAYAAACTnV4oAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABn00lEQVR4nO3dd3xUVcLG8efMpFcSCE1CVxBFRUREqYqAIruggn3BgsiLoosN3F0Vy6KCyq4iq+4qNsSKKKKICIgdReyoKAjSa0LaJJk57x8hkZAOmXtnkt/385ld587JzJOZQB7OvfdcY621AgAAAILM43YAAAAA1A8UTwAAADiC4gkAAABHUDwBAADgCIonAAAAHEHxBAAAgCMongAAAHAExRMAAACOoHgCAADAERRPAI4ZNWqUWrdu7XaMg7Ju3ToZYzRr1iy3o4Sk1q1ba9SoUW7HKKMmn1vx2GnTpgU/GFBPUTyBcsyaNUvGGH3++eeltmdkZOjEE09UTEyM3n777Uq/1hijDz74oMzj1lqlp6fLGKOzzjorKPmdlpmZqcmTJ+vYY49VQkKCYmNjdfTRR+vmm2/Wpk2bHMvxyCOP1MliuHTp0pKfKWOMvF6vGjdurHPPPVc//PCD2/HK9f333+v222/XunXr3I5SxoIFC3T77bfX+vMWf04vv/xyqe35+fk666yz5PF49MQTTxzSayxevFiXXXaZjjjiCMXFxalt27a64oortHnz5kN6XsApEW4HAMJFZmamBgwYoK+//lpz587VoEGDKh0fExOj2bNnq2fPnqW2L1u2TL///ruio6ODGdcxv/76q/r376/169dr+PDhuvLKKxUVFaWvv/5a//vf/zR37lz99NNPjmR55JFH1KhRo6DMvLVq1Uq5ubmKjIys9eeurvHjx6tbt24qKCjQ119/rf/85z9aunSpvv32WzVt2tS1XOX5/vvvNXnyZPXt29fVWe7yPrcFCxZoxowZQSmfByooKNC5556rBQsW6PHHH9dll112SM938803a9euXRo+fLgOP/xw/frrr3r44Yc1f/58rVq1KuR+DoADUTyBati7d68GDhyoVatW6dVXX9UZZ5xR5deceeaZeumll/Tvf/9bERF//FGbPXu2unbtqh07dgQzsiMKCwt19tlna+vWrVq6dGmZkn333Xfr3nvvdSld7SgsLFQgEFBUVJRiYmJczdKrVy+de+65Jfc7dOigsWPH6umnn9ZNN93kYrLQZYxx7XMrKCjQiBEjNH/+fD366KO6/PLLD/k5H3jgAfXs2VMezx87LAcNGqQ+ffro4Ycf1l133XXIrwEEE7vagSpkZWVp0KBBWrlypV555RUNHjy4Wl93wQUXaOfOnVq0aFHJtvz8fL388su68MILy/2aQCCg6dOn66ijjlJMTIyaNGmiMWPGaPfu3aXGzZs3T4MHD1bz5s0VHR2tdu3a6c4775Tf7y81rm/fvjr66KP1/fffq1+/foqLi9Nhhx2m++67r8xrP/TQQzrqqKMUFxenlJQUnXDCCZo9e3al3+Mrr7yir776Sn/729/KlE5JSkpK0t13313h1xfvmly6dGmp7eUdl7dlyxZdeumlatGihaKjo9WsWTP9+c9/LtmV27p1a3333XdatmxZyS7pvn37lnz9nj17dN111yk9PV3R0dFq37697r33XgUCgTKvO23aNE2fPl3t2rVTdHS0vv/++3IzjRo1SgkJCdq4caOGDh2qhIQEpaWl6YYbbijzWezcuVOXXHKJkpKS1KBBA40cOVJfffXVIR032qtXL0nSL7/8Umr7xo0bddlll6lJkyaKjo7WUUcdVe4u3qo+84qOyb399ttljKkw16xZszR8+HBJUr9+/Uo+j+LP+fPPP9fAgQPVqFEjxcbGqk2bNlXOBE6YMEENGzaUtbZk2zXXXCNjjP7973+XbNu6dauMMZo5c6aksj9Lo0aN0owZMySp1OELB3rsscdKPv9u3bppxYoVleY7UGFhoc4//3zNmzdPM2fO1OjRo2v09RXp3bt3qdJZvC01NTVkD7sA9seMJ1CJ7OxsnXHGGVqxYoVefvnlGh2T2bp1a/Xo0UPPP/98yQzpW2+9pYyMDJ1//vmlflkWGzNmjGbNmqVLL71U48eP19q1a/Xwww/ryy+/1Icffliyu3DWrFlKSEjQhAkTlJCQoPfee0+33nqrMjMzNXXq1FLPuXv3bg0aNEhnn322RowYoZdfflk333yzOnfuXJLr8ccf1/jx43Xuuefq2muvVV5enr7++mt9+umnFZZkSXr99dclSZdcckm135eDdc455+i7777TNddco9atW2vbtm1atGiR1q9fr9atW2v69Om65pprlJCQoL/97W+SpCZNmkiScnJy1KdPH23cuFFjxoxRy5Yt9dFHH2nSpEnavHmzpk+fXuq1nnzySeXl5enKK69UdHS0UlNTSxXU/fn9fg0cOFDdu3fXtGnT9O677+r+++9Xu3btNHbsWElF/6AYMmSIPvvsM40dO1YdO3bUvHnzNHLkyEN6T4pLd0pKSsm2rVu36qSTTpIxRldffbXS0tL01ltv6fLLL1dmZqauu+46SQf/mVdH7969NX78eP373//WLbfcoiOPPFKSdOSRR2rbtm0aMGCA0tLSNHHiRDVo0EDr1q3Tq6++Wulz9urVSw8++KC+++47HX300ZKk5cuXy+PxaPny5Ro/fnzJtuIM5RkzZow2bdqkRYsW6Zlnnil3zOzZs7V3716NGTNGxhjdd999Ovvss/Xrr79W61CLwsJCXXDBBZo7d65mzJihMWPGlBlTUFCgjIyMKp9LklJTU8uUzf1lZWUpKytLjRo1qtbzAa6yAMp48sknrSTbqlUrGxkZaV977bUaf+2KFSvsww8/bBMTE21OTo611trhw4fbfv36WWutbdWqlR08eHDJ1y1fvtxKss8991yp53v77bfLbC9+vv2NGTPGxsXF2by8vJJtffr0sZLs008/XbLN5/PZpk2b2nPOOadk25///Gd71FFHVft7LNalSxebnJxc7fEjR460rVq1Krm/ZMkSK8kuWbKk1Li1a9daSfbJJ5+01lq7e/duK8lOnTq10uc/6qijbJ8+fcpsv/POO218fLz96aefSm2fOHGi9Xq9dv369aVeNykpyW7btq3STMXfjyR7xx13lBrbpUsX27Vr15L7r7zyipVkp0+fXrLN7/fbU089tcxzlqf4fXriiSfs9u3b7aZNm+zbb79t27dvb40x9rPPPisZe/nll9tmzZrZHTt2lHqO888/3yYnJ5f87FTnMz/w8yp222232QN/fbRq1cqOHDmy5P5LL71U7mc7d+7ckj8fNbFt2zYryT7yyCPWWmv37NljPR6PHT58uG3SpEnJuPHjx9vU1FQbCASsteV/buPGjSuTf/+xDRs2tLt27SrZPm/ePCvJvvHGG5VmLP6cWrVqZSXZGTNmVDm2Ore1a9dW+rp33nmnlWQXL15c6TggFLCrHajE1q1bFRMTo/T09IP6+hEjRig3N1fz58/X3r17NX/+/Apnk1566SUlJyfr9NNP144dO0puXbt2VUJCgpYsWVIyNjY2tuS/9+7dqx07dqhXr17KycnR6tWrSz1vQkKCLr744pL7UVFROvHEE/Xrr7+WbGvQoIF+//33Gu9OzMzMVGJiYo2+5mDExsYqKipKS5cuLXPYQXW89NJL6tWrl1JSUkq9t/3795ff79f7779favw555yjtLS0aj//VVddVep+r169Sr2/b7/9tiIjI0vtbvV4PBo3blyNvo/LLrtMaWlpat68uQYNGqSMjAw988wz6tatm6SiFRNeeeUVDRkyRNbaUt/rwIEDlZGRoZUrV0o6+M/8UDVo0ECSNH/+fBUUFFT769LS0tSxY8eSz+rDDz+U1+vVjTfeqK1bt+rnn3+WVDTj2bNnz0oPBajKeeedV2oWufiQhv0/08ps3bpVERERatOmTYVjjj32WC1atKhat8pOGHr//fc1efJkjRgxQqeeemo1v0PAPexqByrx6KOPasKECRo0aJCWL1+uDh06SCravbp9+/ZSY1NTUxUVFVVqW1pamvr376/Zs2crJydHfr+/1Mkh+/v555+VkZGhxo0bl/v4tm3bSv77u+++09///ne99957yszMLDXuwN13LVq0KPNLOCUlRV9//XXJ/ZtvvlnvvvuuTjzxRLVv314DBgzQhRdeqFNOOaXcLMWSkpKq/cv4UERHR+vee+/V9ddfryZNmuikk07SWWedpb/85S/VOov3559/1tdff11hmdz/vZVUaWE4UExMTJnnTUlJKVWQf/vtNzVr1kxxcXGlxrVv377aryNJt956q3r16qWsrCzNnTtXc+bMKbULdvv27dqzZ48ee+wxPfbYY+U+R/H3erCf+aHq06ePzjnnHE2ePFkPPvig+vbtq6FDh+rCCy+scqWHXr16acGCBZKKCuYJJ5ygE044QampqVq+fLmaNGmir7766pAPFWjZsmWp+8UltLr/6Lnvvvs0ffp0nXvuuXrnnXfKfU9TUlLUv3//Q8q5evVqDRs2TEcffbT++9//HtJzAU6heAKV6NSpkxYsWKDTTjtNp59+uj788EOlp6drw4YNZcrJkiVLSp3MUuzCCy/U6NGjtWXLFp1xxhklMz4HCgQCaty4sZ577rlyHy8uN3v27FGfPn2UlJSkO+64Q+3atVNMTIxWrlypm2++ucyxiF6vt9zns/udpHHkkUfqxx9/1Pz58/X222/rlVde0SOPPKJbb71VkydPrujtUceOHfXll19qw4YNBzUrXNGs1IEn5kjSddddpyFDhui1117TwoUL9Y9//ENTpkzRe++9py5dulT6OoFAQKeffnqFZ34fccQRpe7vP6NclYre32Do3LlzSVkZOnSocnJyNHr0aPXs2VPp6ekln/3FF19c4fGjxxxzjKTqfeY1+Xyqq3idy08++URvvPGGFi5cqMsuu0z333+/PvnkEyUkJFT4tT179tTjjz+uX3/9VcuXL1evXr1kjFHPnj21fPlyNW/eXIFAoGSG8mBV589MZZo1a6ZFixapZ8+eGjx4sJYtW6Zjjz221Jj8/Hzt2rWrWs+XlpZWJtOGDRs0YMAAJScna8GCBY7seQBqA8UTqMKJJ56o1157TYMHD9bpp5+u5cuXq2nTpqXOVpdU5hdLsWHDhmnMmDH65JNP9MILL1T4Ou3atdO7776rU045pdLis3TpUu3cuVOvvvpqqRMo1q5dW8PvrLT4+Hidd955Ou+885Sfn6+zzz5bd999tyZNmlThcjRDhgzR888/r2effVaTJk2q8WsWzyTt2bOn1Pbffvut3PHt2rXT9ddfr+uvv14///yzjjvuON1///169tlnJVVclNq1a6esrKxDnmE6WK1atdKSJUuUk5NTatZzzZo1h/S899xzj+bOnau7775b//nPf5SWlqbExET5/f5qfa9VfeYpKSllPhup4s9nf1Xt6j7ppJN00kkn6e6779bs2bN10UUXac6cObriiisq/JriQrlo0SKtWLFCEydOlFR0ItHMmTPVvHlzxcfHq2vXroeUrTa0bdtWCxcuVJ8+fTRw4EAtX75chx9+eMnjH330kfr161et51q7dm2p1QV27typAQMGyOfzafHixWrWrFltxweChmM8gWo47bTT9Pzzz2vNmjUaNGiQ8vPz1b9//1K3/Y8J219CQoJmzpyp22+/XUOGDKnwNUaMGCG/368777yzzGOFhYUlBaB45mP/2Zf8/Hw98sgjB/397dy5s9T9qKgoderUSdbaSo/DO/fcc9W5c2fdfffd+vjjj8s8vnfv3pIzzMvTqlUreb3eMsdYHvi95OTkKC8vr9S2du3aKTExUT6fr2RbfHx8uUVpxIgR+vjjj7Vw4cIyj+3Zs0eFhYUVZqwNAwcOVEFBgR5//PGSbYFAoGRZn4PVrl07nXPOOZo1a5a2bNkir9erc845R6+88oq+/fbbMuP3PzykOp95u3btlJGRUeqwjM2bN2vu3LlVZouPj5dU9h8Vu3fvLjNzeNxxx0lSqc+yPG3atNFhhx2mBx98UAUFBSW7sHv16qVffvlFL7/8sk466aRS6+bWJFtt69y5s958801lZWXp9NNP18aNG0seO9hjPLOzs3XmmWdq48aNWrBgQakyC4QDZjyBaho2bFjJlUf+9Kc/6e233672wtTVWTanT58+GjNmjKZMmaJVq1ZpwIABioyM1M8//6yXXnpJ//rXv3Tuuefq5JNPVkpKikaOHKnx48fLGKNnnnmm2rsByzNgwAA1bdpUp5xyipo0aaIffvhBDz/8sAYPHlzpLrzIyEi9+uqr6t+/v3r37q0RI0bolFNOUWRkpL777jvNnj1bKSkpFa7lmZycrOHDh+uhhx6SMUbt2rXT/Pnzyxxz+dNPP+m0007TiBEj1KlTJ0VERGju3LnaunWrzj///JJxXbt21cyZM3XXXXepffv2aty4sU499VTdeOONev3113XWWWdp1KhR6tq1q7Kzs/XNN9/o5Zdf1rp164K6FM3QoUN14okn6vrrr9eaNWvUsWNHvf766yW7Wg9lBu7GG2/Uiy++qOnTp+uee+7RPffcoyVLlqh79+4aPXq0OnXqpF27dmnlypV69913S16zOp/5+eefr5tvvlnDhg3T+PHjlZOTo5kzZ+qII44oOUmpIscdd5y8Xq/uvfdeZWRkKDo6Wqeeeqpmz56tRx55RMOGDVO7du20d+9ePf7440pKStKZZ55Z5ffbq1cvzZkzR507dy75x97xxx+v+Ph4/fTTT9U6vrN4RnT8+PEaOHCgvF5vqZ+j2tSjRw+9+uqrGjJkSMkek4YNGx70MZ4XXXSRPvvsM1122WX64YcfSq3dmZCQoKFDh9ZieiAIXDufHghh+y+JdKBp06ZZSfass86yBQUFNfra/R24nFKxxx57zHbt2tXGxsbaxMRE27lzZ3vTTTfZTZs2lYz58MMP7UknnWRjY2Nt8+bN7U033WQXLlxYZvmaPn36lLtkzoHL5Dz66KO2d+/etmHDhjY6Otq2a9fO3njjjTYjI6PS76HY7t277a233mo7d+5s4+LibExMjD366KPtpEmT7ObNmyt8XWut3b59uz3nnHNsXFycTUlJsWPGjLHffvttqSVwduzYYceNG2c7duxo4+PjbXJysu3evbt98cUXSz3Xli1b7ODBg21iYqKVVGpppb1799pJkybZ9u3b26ioKNuoUSN78skn22nTptn8/Hxr7R/L6ZS3bFNFyynFx8eXGVveckPbt2+3F154oU1MTLTJycl21KhR9sMPP7SS7Jw5cyp9f4uX3nnppZfKfbxv3742KSnJ7tmzx1pr7datW+24ceNsenq6jYyMtE2bNrWnnXaafeyxx0q+prqf+TvvvGOPPvpoGxUVZTt06GCfffbZai2nZK21jz/+uG3btq31er0lP5srV660F1xwgW3ZsqWNjo62jRs3tmeddZb9/PPPK30Pis2YMcNKsmPHji21vX///uUuKVTe51ZYWGivueYam5aWZo0xJd9LZZ+/JHvbbbdVmq2yz+mFF16wHo/HduvWzWZmZlbrey1P8VJN5d3KW/oKCDXG2kOYJgEAHLTXXntNw4YN0wcffBD0s8kBIBRQPAHAAbm5uaVOGvP7/RowYIA+//xzbdmypUZn0gNAuOIYTwBwwDXXXKPc3Fz16NFDPp9Pr776qj766CP985//pHQCqDeY8QQAB8yePVv333+/1qxZo7y8PLVv315jx47V1Vdf7XY0AHAMxRMAAACOYB1PAAAAOILiCQAAAEeE9MlFgUBAmzZtUmJioiOXOAMAAEDNWGu1d+9eNW/eXB5P5XOaIV08N23apPT0dLdjAAAAoAobNmxQixYtKh0T0sWz+LJtGzZsUFJSkstpAAAAcKDMzEylp6dXeonlYiFdPIt3ryclJVE8AQAAQlh1Dovk5CIAAAA4guIJAAAAR1A8AQAA4AiKJwAAABxB8QQAAIAjKJ4AAABwBMUTAAAAjqB4AgAAwBEUTwAAADiC4gkAAABHUDwBAADgCIonAAAAHEHxBAAAgCOCWjynTJmibt26KTExUY0bN9bQoUP1448/BvMlAQAAEKKCWjyXLVumcePG6ZNPPtGiRYtUUFCgAQMGKDs7O5gvCwAAgBBkrLXWqRfbvn27GjdurGXLlql3795Vjs/MzFRycrIyMjKUlJTkQEIAAADURE36mqPHeGZkZEiSUlNTnXxZAAAAhIAIp14oEAjouuuu0ymnnKKjjz663DE+n08+n6/kfmZmplPxAAAAEGSOzXiOGzdO3377rebMmVPhmClTpig5Obnklp6e7lQ8AAAABJkjx3heffXVmjdvnt5//321adOmwnHlzXimp6dzjCcAAECIqskxnkHd1W6t1TXXXKO5c+dq6dKllZZOSYqOjlZ0dHQwIwFACWutvl72vT5bsFIF+YU6vGtb9RneQ1ExUW5HA4A6KajFc9y4cZo9e7bmzZunxMREbdmyRZKUnJys2NjYYL40AFRq5+bd+seQKfp55Vp5I7ySkfwFfs386yzd+tL1Oq5f+ceiAwAOXlB3tRtjyt3+5JNPatSoUVV+PcspAQiGwoJCXdXlRv3+0yb5CwOlHjMeo4ioCM384j61OrKFSwkBIHyEzHJK1tpyb9UpnQAQLB/NW6Hfvv+9TOmUJBuwChT69fL9b7iQDADqNq7VDqDeWf7KJ/J4K/7rz18Y0LIXP3IwEQDUDxRPAPVOzt48BfxlZzv358vxVfo4AKDmKJ4A6p2WHQ+TJ6KSv/6MdNjhzZwLBAD1BMUTQL0z+Mr+CpRzfGcxI+lP4wY5FwgA6gnHLpkJhBt/oV+fvrlS7z67TLu3Zqhpm8YadOmpOqZPpwpXbEB4aHFEc1161wV68u/Py3iMbOCPxT2Mx+iY3p00+Mr+LiYEgLrJkSsXHSyWU4JbsjOydcvgKfr+ox/l8XoU8AfkjfDIXxhQnxEna+Iz1ygikn+3hbslcz7U81Ne1dpv1kuSkhsl6k//N0jnTxqmqOhIl9MBQHioSV+jeALlmDx8mj56bUW5J6AYY3T+xKG67O4LXUiG2mat1e6te1SYX6iGzVOLFpMHAFRbyKzjCYSjzWu36oNXP63wrGdrrV57+C3lcdZznWCMUWrTFDVumUbpBIAgo3gCB/jy3W+kKvYD5O7N04+frXEmEAAAdQTFEziAv9BfdFpzdcYBAIBqo3gCB+jY/fAqZzy9EV61O661I3kAAKgrKJ7AAQ4/vq06dGsnbwULjHu8HvW74BQlN+KENwAAaoLiCZTjltnXKblRUunreZuiE1FaHnmY/m/6pe6FAwAgTFE8gXI0b9dU/1k1TRfecrbSWjRUdGyUWhzeXFdOvUT//uhuJaYkuB0RAICwwzqeAAAAOGis4wkAAICQQ/EEAACAIyieAAAAcATFEwAAAI6geAIAAMARFE8AAAA4guIJAAAAR1A8AQAA4AiKJwAAABxB8QQAAIAjKJ4AAABwBMUTAAAAjqB4AgAAwBEUTwAAADiC4gkAAABHUDwBAADgCIonAAAAHEHxBAAAgCMongAAAHAExRMAAACOoHgCAADAERRPAAAAOILiCQAAAEdQPAEAAOAIiicAAAAcQfEEAACAIyieAAAAcATFEwAAAI6geAIAAMAREW4HAMqz7rsNeuu/i7V57VYlpMSr3/k91fX0Y+Tx8G8lAADCFcUTIcVaq8dvekYv3f+GvBEe+QsD8kZ4tOipZTrqlA66e/4kxSfHux0TAAAcBKaPEFJef2ShXrr/DUmSvzBQ6v9/+ORnTbn4365lAwAAh4biiZDh9/s15565FT4e8Af06Zsr9dsPvzuYCgAA1BaKJ0LGb9/9rh0bd1U6xuMx+mzBlw4lAgAAtYniiZBRkF9Y5RjjMSrwFTiQBgAA1DaKJ0JGiyOaKTImstIx/sKADj++jUOJAABAbaJ4ImTEJ8VpwF/6yuMt/8fS4/WoSes0dR1wrMPJAABAbaB4IqRccc9FatWphYzHlNrujfAoOi5K/3jxetbyBAAgTPEbHCEloUG8pn9wl0ZOPk+NWqRKkmITY3TmFf31n5VT1eGEdi4nBAAAB8tYa63bISqSmZmp5ORkZWRkKCkpye04cEEgEGCGEwCAEFaTvsZvdIQ0SicAAHUHl8wMY3t3Z+mdWUu14u0vVVjg15EnHaHBV/ZX09aN3Y4GAABQBrvaw9QPn/6sSWfcpZyMXBV/hMVng9/wxP/p9Ev6uBkPAADUE+xqr+P27s7SpDPuUm7mH6VTKrqkZMAf0NRRM/TjijUuJgQAACiL4hmG3pm1VDkZuQoEyp+s9niNXpk+3+FUAAAAlaN4hqEVb3+pyo6Q8BcGuJ45AAAIOUEtnu+//76GDBmi5s2byxij1157LZgvV28UFvqrHOOvxhg4Y8fGnfrh05+16ZctbkcBAMBVQT2rPTs7W8cee6wuu+wynX322cF8qXql00lH6Jv3f1DAHyj3cY/Xo47dD3c4FQ609tv1euyGp/X5oq+kfRPUR3Rtq8vvuVjHn9bZ3XAAALggqDOeZ5xxhu666y4NGzYsmC9T7wy+8vRKHw/4Axo2/kyH0qA8v379m8b3uEUrF39TUjol6ecv12riwDv1yfwv3AsHAIBLQuoYT5/Pp8zMzFI3lNWkVZpufHKcjMfIG/HHR1i8nNI5fz1LPYac4FY8SHp4/P+Un1dQZlbaBqxkrR4YPZPDIQAA9U5IFc8pU6YoOTm55Jaenu52pJDV/+LeeuiTKeoz4mTFJ8cpJiFGx/Y9SnfMu1ljpv1Fxhi3I9Zbm37ZUumhENZKu7dmaMXbq5wNBgCAy0LqykWTJk3ShAkTSu5nZmZSPivR4YR2mvTstW7HwAG2rN1W5RjjMdr861YH0gAAEDpCqnhGR0crOjra7RghIzc7T4ufXa53n31fGdsz1bx9E515RX+dNKSrvF6v2/FQgYSU+CrH2IBVYmqCA2kAAAgdIVU88Yedm3frhn636fefN8vIyFqrTb9s0WcLvlT3s7rqtpevV2RUpNsxUY72XdqoWdsmlc5oRsZEqseQrg6mAgDAfUE9xjMrK0urVq3SqlWrJElr167VqlWrtH79+mC+bJ1w13kPFBUXq5LF4ouPGfxswUo9fduLbsZDJTwejy6fclGlYy6YOEzxyVXPjAIAUJcEtXh+/vnn6tKli7p06SJJmjBhgrp06aJbb701mC8b9n75ap2+/WC1/IUVnJwSsHp95kLl5fgcTobq6jO8h67/3/8pNiFGkuSN8MoYo4hIry762zm6+B/nupwQAADnBXVXe9++fSu9tCPK99WS72Q8pmjpnQrkZObq169/U6eTjnAwGWpi0KX91GdED3049zNt/W27khslqdc53ZXcKMntaAAAuIJjPENQtcs6pT7kxcbHqP/Fvd2OAQBASAipdTxR5OheR1Y62ylJMfHRanNMK4cSAQAAHDqKZwjqcEI7dTyxfamrEu3P4zEafOXpio2PcTgZAADAwaN4hqh/vDhBjQ5rWHQFon0XIfJ4iv7jmD5H6bK7L3AxHQAAQM1xjGeIatwyTY+umqq3n1iid55eqowde9W8bRMNvvJ09RnRQxGRfHQAACC8GBvCp51nZmYqOTlZGRkZSkriTGAAAIBQU5O+xq52AAAAOILiCQAAAEdQPIEQ5C/0c/EFAECdwxkqQIjIzc7TvIfe0uszF2r7hp2KiolU3/NO0Ygb/6RWndLdjgcAwCHj5CIgBOTszdUN/W7XmlVrS108wBvhkTfCq3sW/kOdex3pYkIAAMrHyUVAmHn6thf0y1frylyxyl8YUGF+oe4Yfr8KCwpdSgcAQO2geAIu8+X6tOC/ixXwB8p9PBCw2rMtQx/NW+FwMgAAahfFE3DZlnXblZuVV+kYb6RXa75c61AiAACCg+IJuCwqOrLKMTZgFVmNcQAAhDKKJ+Cypm0a67DDm0mm4jEBf0AnndXVuVAAAAQBxRNwmTFGF95ytlTB+hIer0fH9jtKhx/f1tlgAADUMoonEAIGjOyrkZPPk1RUNI0pWkpJkg4/vq1uffF6N+MBAFArWMcTCCG//7xZb/9vsTau2aK4pFj1HXGyug44Vh4P/0YEAISmmvQ1iicAAAAOGgvIAwAAIORQPAEAAOAIiicAAAAcQfEEAACAIyieAAAAcATFEwAAAI6IcDtAKLDW6qul3+m92R8oc2emmrRqrEGX9VObzq3cjgYAAFBn1PvimZuVq9vPnqqV734jb4RXfr9fXq9Hr/7rTQ295gz93/RLZUwlF9EGAABAtdT7Xe33X/EfrVrynSTJX+iXrOQvDEiSXnvoLb18/xtuxoMLAoGAfvlqnb79cLV2b8twOw4AAHVGvZ7x3LJum5a99JFUybWbXpg6T8OuPVMRkfX6rao33nlqqZ6e/KK2rtsuqei66acMPVFXPTBSjdMbuZwOAIDwVq9nPFe89aWq2omesT1TP69c60geuOul+9/Q1EtnlJROSQr4A/pw3me65qRbtGPTrgq/dvOvW/Xe8x9o2YsfadeW3U7EBQAg7NTrabwCX6FkjFTF5eoLfAUOJXKOtVY/ff6L9mzPVJNWaWp9VLrbkVy1e+se/W/Ss+U+FigMaM/2DD07+SVd9+iYMl837fKZ+uytlSUz5x6vR6de2FPjZ1yh2ITYYEcHACBs1Ovi2f74NrKBykunN8KrVp1aOJTIGctf/VSP3/SMNv+6tWTb4ce31dUPXaZOPTq4mMw97z67vNKfhUBhQIueWaax00cpOjZakpSdmaMJfW4teh/3+9KAP6D3Zn+greu2a+ri2+SN8AY7PgAAYaFe72rv3OtItejQXB5v+W+Dx+tR3/NOVnKjJIeTBc97z3+gO86dps1rt5ba/suqtbq+3+36/uMfXUrmri1rt1b4c1AsP69AGdszS+6/9d/F2vjzlpKT0fYX8Af0zfIf9PEbn9d6VgAAwlW9Lp7GGP19zl8VmxAjT0Tpt8Lj9ahZ2ya66oGRLqWrffm+Aj18zf+K7hwwuRcIWAUK/XrkulmO5woFiakJClQx+208RvEN4kvuv/W/92QrOUzD4/Vo4awltZYRAIBwV6+LpyS1O7a1Zq68T2ddebpiE2MkSSlNG+jCW87WQ5/8Uw3Skl1OWHtWvPWl9u7KqvDxQMDqxxVrtH71RgdThYZ+F/RUwF925rKYx+tR98HHKz4prmTb7ipOIgr4A9rxe8UnJAEAUN/U62M8izVr00TXPHyFrnn4in0LyNfNY/K2b9gpY0yls3RF43aoZcfDHEoVGlod2UKnXdRL7z3/QZljPY3HyOMxuvgfw0ttT22Wor17sitcjsvj9SgtvWGwIgMAEHbq/Yzngepq6ZSk5LSkKkunJDVoXHdmeWvi+v+N1aDLTpXxGBljSo75TGnSQP9862/qcEI7SVLWnmytfPdrde51pEwlC3IF/AENuvRUR7IDABAOmPGsR04a0lUx8dHKy/aV+7gxRi06NFfbY+rnNeojoyI14bGr9Jfbhuvj1z9XblaeWh7ZQt0GHSdvhFd5OT49duPTevuJ94qW4pIko3JnkT0eo2P6HKXuZx3vwncCAEBoonjWI7HxMbr0zgs0c8Kssg8aycpqzNRL6v216Rsd1lBDxg4sta2woFB/G/xPfbv8h9InIdmi921/EZFeDRjVV2MfvLROz6ADAFBTFM96Zti1Z0pGmnXrHOXuzSvZntI4WdfMGK3ug7u6mC50vf/yJ/p62feVjhk2/kwd2/coHd2zY51aggsAgNpC8axnjDE6+9rBOnN0f322YKUytmeqcas0nTDgWBY6r8SC/74rj8dUuOSSx2P0y1fr9H/TL3U4GQAA4YPiWU/FxEWr97k93I4RNrau217pOp+BgC11jXcAAFAWZ7UD1ZDSpEGlx74aY5TSpH6uBgAAQHVRPIFqGDCyb5mTiPZnZTVgVD8HEwEAEH4onkA19L+kt1p2PKzMpVUlyRvhUXqHw9T/kt4uJAMAIHxQPIFqiImL1rQlk3X8aZ3LPHbcqZ11/9LJio2PcSEZAADhw9jqXMrGJZmZmUpOTlZGRoaSklieBqFhw48b9c3y1ZKkzr06Kr1D/bq8KAAA+6tJX+OsdqCG0jscRtkEAOAgsKsdAAAAjmDGE4B+XvmrXnlwvj598wsVFvjVoVt7Db3mDJ0y9MR6fwlVAEDtoXgC9dySOR9qysX/ksdj5C8MSJK+Wf6Dvlr6nf48bpDG/fsyyicAoFawqx2ox3Zs3Kl7Rz4kG7AlpVOSAv6i/543420tf+UTt+IBAOoYiidQj7313/dkK7kUqMfr0dx/L3AwEQCgLqN4AvXYD5/9XDK7WZ6AP6DVn61xMBEAoC7jGM96aO/uLH3w6qfasy1TjVqkquewExWbEOt2rGrL2JGpt59Yok8XfKECX6E6nXSEhowdoBZHNHc7WtjxRnhljFTZar5eL/8+BQDUDopnPWKt1Zx7XtMzd7yogvxCeb0e+QsD+vf/RWvMtJE6a8zpbkes0vef/KRJg+5SblZeyS7in774RXMfWqBrHxmtwVeG/vcQSroNPE6fzP+8wse9ER6deObxDiYCANRlTGXUIy8/MF9P/G22CnyFklXJySR52T79a+xjWvTMMpcTVi5rT7ZuOfNu5e1XOiUpUBiQDVhNH/uYvv3gBxcThp/TLu6lxJQEeSqY1fT7Azrnr2c5nAoAUFdRPOuJ3Ow8PTP5xUrHPPG32fL7/Q4lqrl3nlqqnIxcBSo4Gcbr9ejlB+Y7nCq8xSfF6Z6Ff1d8clzRkkn7Vk3yeD3yeIyuf3ysjjq5g7shAQB1Brva64nPF36l3Ky8Ssfs+H2Xfvj4Jx3d80iHUtXMF4u+kq3kYER/YUBfLPrKwUR1wxFd2+mZXx7Woqff16dvfqF8X4GO7H64Bo85Xc3aNHE7HgCgDnGkeM6YMUNTp07Vli1bdOyxx+qhhx7SiSee6MRLY5+9u7KqNS6zmuPcECis+OzrYv5KztBGxeKT4zX0mjM09Joz3I4CAKjDgr6r/YUXXtCECRN02223aeXKlTr22GM1cOBAbdu2Ldgvjf00bdO4WuOatQ3dGa5OPTrI46n4R9bj9ajTSUc4mAgAANRE0IvnAw88oNGjR+vSSy9Vp06d9J///EdxcXF64okngv3S2M9x/Y5S45aNKrz0ocfr0RFd26rN0S0dTlZ9Z4w+TR7vH8chHijgD+js6wY7GwoAAFRbUItnfn6+vvjiC/Xv3/+PF/R41L9/f3388cdlxvt8PmVmZpa6oXZ4PB799bGrZDxGxlO6uXm8HkVEejX+kdEupaueRs1Tdcvs6+T1euSN+ONHt/iM7BE3/Ek9hpzgVjwAAFCFoBbPHTt2yO/3q0mT0rtvmzRpoi1btpQZP2XKFCUnJ5fc0tPTgxmv3jlhwLG6791b1eGEdqW2H9O7k6Z/cJc6dGvvUrLq63XOSZr5xX0aMLKvGjROVkJKvI7vf4zufvMWjb7vkgpndAEAgPuMrew04UO0adMmHXbYYfroo4/Uo0ePku033XSTli1bpk8//bTUeJ/PJ5/PV3I/MzNT6enpysjIUFJSUrBi1kubftmiPdsy1OiwVDVumeZ2HAAAEKYyMzOVnJxcrb4W1LPaGzVqJK/Xq61bt5bavnXrVjVt2rTM+OjoaEVHRwczEvZp3q6pmrcr+xkAAAAES1B3tUdFRalr165avHhxybZAIKDFixeXmgEFAABA3Rf0dTwnTJigkSNH6oQTTtCJJ56o6dOnKzs7W5deemmwXxoAAAAhJOjF87zzztP27dt16623asuWLTruuOP09ttvlznhCAAAAHVbUE8uOlQ1OVgVAAAAzqtJXwv6AvIAAACA5NC12gGgJgKBgN6b/YHm/nuB1ny5Vt5Ir7qfebyGXz9EnXp0cDseAOAgsasdQEgJBAKadtkjWvT0MhmPkQ0U/RXljfAo4Le66amr1f/i3i6nBAAUY1c7gLD13uwPtOjpZZJUUjolyV8YkLVW0y6boR0bd7oVDwBwCCieAELK3H8vkPFUfOlTa6W3/vueg4kAALWF4gkgpKz5cm2pmc4DBfwB/fj5GgcTAQBqC8UTQEiJiPRW+rjxGEVGRzqUBgBQmyieAEJK98Fd5Y2o+K8mG7DqfubxDiYCANQWiieAkHLu9UMU8Je/q93j9Si1aQP1Pf8Uh1MBAGoDxRNASOl00hG66amr5Y3wyOMp+iuq+GSjBmlJunfRrYqJi3YzIgDgILGAPICQ0//i3jqu31F667/v6cfP1ygyOlLdzzxefc8/hdIJAGGMBeQBAABw0FhAHgAAACGHXe04ZLu27NaWdduVmBKvFkc0lyQZU/EC4AAAoH6ieOKg/f7TJj16w9P69M2VKj5iIzI6QgX5hYqOjVbvc0/S8OuHqE3nVi4nBQAAoYBd7Tgov/+0SVefNEmfvfWl9j9MuMBXKFnJl+PTe7OX6/+6TdSKhavcCwoAAEIGxRMH5bGbnlHu3jwF/IEKx/gLA/IX+nXniAeUm5XrYDr3FeQXaM2Xa/Xj578oNzvP7TgAAIQEdrWjxnZv3aNP3vhC1VkQwQascvfmasnzH+rM0f0dSOcuv9+vOfe8plenv6nMnXslSTEJMRo8ur8uvet8RceyFBAAoP5ixhM1tvW37dUqncW8EV799MWvQUwUGqy1mjpqhmbdOqekdEpSXlaeXv3Xm5p0xt0qyC9wMSEAAO6ieKLGElMTavw1kVF1f3L9y/e+1eLnlkvldHIbsPrm/R/07jPvOx8MAIAQQfFEjR3WvpnaHde65DKGVfEX+nXi4OODnMp9C/77rrwRFf+RMh6j+Y8ucjARAAChheKJg3LZ3RcW7W6vont6IzxqdVS6up5+jDPBXLTxp83yF1Z8spUNWG3+ZYuDiQAACC0UTxyUE8/oor8//1fFJ8dJUpnZz+L145u1baJ/LrhFHk/d/1FLapRY5SzwwRymAABAXVH3D7xD0PQZcbJ6/OkEfTRvhTb/uk2FBYXK2J6hLeu2KzYhRj2HddfJQ7spMirS7aiOOO3CXlq56OsKH/d4jPpf0sfBRAAAhBZja3J6ssNqctF5wG35efka2/Um/f7zZgUO2OXuifAouWGiHv3qfqU0TnYpIQAAta8mfa3u7/8EHBIVE6Wpi29Tpx4dJBXNcHq8RX/E0jscpgeW3UHpBADUa8x4AkHw88pf9eXibxTwB9Tp5A7q3OtIGVO9VQAAAAgnNelrHOMJBMHhx7fV4ce3dTsGAAAhhV3tAAAAcAQznvXcL1+t0+Jn39eeHZlq3KKRBozqq+btmrodCwAA1EEUz3qqIL9A0y57RO/N/kDeCK+srGSl5+5+RSNu+JOuuPdijkkEAAC1il3t9dTMCU9pyZwPJRVd0jJQGFDAX7QE0IvTXtfLD8x3Mx4AAKiDKJ710O5tGVrw2CLZQMULGsy5Z64K8gscTAUAAOo6imc99Pnbqyq9prgkZe7cqx8++dmhRAAAoD6geNZDeTm+ao3z5eYHOQkAAKhPKJ71UJvOLaseZKRWnVoEPwwAAKg3KJ710FEnd1DLIw8ruZzjgTwRHp145vFqnN7I4WQojy/Xp11bdivfxzG3AIDwRvGsh4wxmvTstYqOjZI3ovSPgCfCowZpybp2xhUupUOx377foLsueFB/Tv6Lzmt+pYaljNT0MY9q++873Y4GAMBB4Vrt9djvP23S81Pm6r3Zy1VY4FdMfLQGXXqqzp80TA2bpbgdr177ccUaXd/vdhXkFyiw34lgngiPklIT9e+P71azNk1cTAgAQJGa9DWKJ1RYUKicvbmKT4qTN8Lrdpx6z1qry468Vpt+2aKAv+wfT4/Xo66nH6N/LvibC+kAACitJn2NXe1QRGSEklITKZ0h4tsPVuv3nzaXWzolKeAPaMXCVdr623aHkwEAcGgonkCIWffdBqmqq5Vaaf0PvzuSBwCA2kLxBEJMTHy0VI0DYGLiY4IfBgCAWkTxBELMiWd0UURk5Yc9JKcl6ciTDncoEQAAtYPiCYSY5EZJGjJ2oIypeH/7hbecrYjICAdTAQBw6CieQAi6cuolOv0vfSQVLaHkjfDK4/XIGKMLbzlbw8af6XJCAABqjuWUgBD22/cbtPi55crYnqnGLdN0+l96q3HLNLdjAQBQgnU8AQAA4AjW8QQAAEDIoXgCAADAERRPAAAAOILiCQAAAEdQPAEAAOAIiicAAAAcQfEEAACAIyieAAAAcATFEwAAAI6geAIAAMARFE8AAAA4guIJAAAARwSteN599906+eSTFRcXpwYNGgTrZQAAABAmglY88/PzNXz4cI0dOzZYLwEAAIAwEhGsJ548ebIkadasWcF6CQAAAISRoBXPg+Hz+eTz+UruZ2ZmupgGAAAAtSmkTi6aMmWKkpOTS27p6eluRwIAAEAtqVHxnDhxoowxld5Wr1590GEmTZqkjIyMktuGDRsO+rkAAAAQWmq0q/3666/XqFGjKh3Ttm3bgw4THR2t6Ojog/56AAAAhK4aFc+0tDSlpaUFKwsAAADqsKCdXLR+/Xrt2rVL69evl9/v16pVqyRJ7du3V0JCQrBeFgAAACEqaMXz1ltv1VNPPVVyv0uXLpKkJUuWqG/fvsF6WQAAAIQoY621boeoSGZmppKTk5WRkaGkpCS34wAAAOAANelrIbWcEgAAAOqukFpAHvXD9x//qHkz3tbqT9coKiZSpww9UYPHnK60Fg3djgYAAIKI4glHPTP5JT09+UV5IzzyFwYkSetXb9Qr0+fr7jdv0TG9O7mcEAAABAu72uGYj15foacnvyhJJaVTkgL+gPJz8/WPP92j7Ixst+IBAIAgo3jCMa88OF8eb/k/coGAVc7eXC16+n2HUwEAAKdQPOEIa62+Xf6DAv5AhWOMjL5+/zsHUyGU5Gbn6YX75umStuM0IGKEhqaM1ENX/1ebf93qdjQAQC3hGE8ArsvOzNEN/W7XL1+tkw0UrfCWnZGjNx9bpEXPLNO0927XEV3buZwSAHComPGEI4wxOuqUjhXuai/WuRcnF9VHT9wyW79+/VtJ6SzmLwzIl5OvO869X4FAxbPlAIDwQPGEY86dMKTCXe3GYxSTEKPT/9LH4VRwW25WrhY+uaTCn42AP6Ctv23X5wu/cjgZAKC2UTzhmJP/3E0X/f0cSZI34o8fPY/Xo6iYKN35+s1KaBDvVjy45PefNsuXm1/pGG+ERz9/8atDiQAAwcIxnnDUqDvO1wkDjtW8R4oWkI+MjlTPYSfqrKsGqHF6I7fjwQURUVX/NWRt9cYBAEIbf5PDcUf3PFJH9zzS7RgIES2PPEyNDkvVjo27KhwT8AfUffDxDqYCAAQDu9oBuMrr9eq8m4dW+LjH69EJA49V66PSnQsFAAgKiicA1/153CCdO2GIpD+O/y1eAeGIE9rqltnXuRUNAFCLjLXWVj3MHZmZmUpOTlZGRoaSkpLcjgMgyNZ+85sWPL5Ym37dqsSUePU7/xSdMOg4eb1et6MBACpQk75G8QQAAMBBq0lfY1c7AAAAHEHxBAAAgCMongAAAHAExRMAAACOoHgCAADAERRPAAAAOILiCQAAAEdQPAEAAOAIiicAAAAcQfEEAACAIyLcDgCgZjJ2ZGrxc8u1dd12JaYmqO/5p6jF4c3cjgUAQJUonkAYefVfb+rxm56R3x+Q1+tRIGD11G0vaNBlp+ramaMVEckfaQBA6OK3FBAmFj2zTDP/OqvkfmHAX/LfC59cosiYSI1/+AoXkgEAUD0c4wmEgUAgoKdue6HCx621evPRRdq1ZbeDqQAAqBmKJxAG1n6zXlvXba90TCAQ0EfzPncoEQAANUfxBMJA7t7cKsd4PJ5qjQMAwC0UTyAMNGvXVMaYSscE/AGldzzMoUQAANQcxRMIAw2bpeikIV3l8Zb/R9Z4jFKbpajboOOcDQYAQA1QPIEw8X/TL1VSaoI8EaX/2Hq8Hnk8Ht381NXyRnhdSgcAQNUonkCYaNq6sWasuEf9L+qtiKh9K6EZ6fj+x+jB5Xfq+P7HuBsQAIAqGGutdTtERTIzM5WcnKyMjAwlJSW5HQcIGblZudq9NUMJKfFKSk10Ow4AoB6rSV9jAXkgDMUmxCo2IdbtGAAA1Ai72gEAAOAIiifKVZBfoLwcn0L4SAwAABBm2NWOUr5Y9JVeuPc1rVryrayVmrdvqmHXnKkhYwdwxjQAADgkzHiixBv/eUcTB96lr5Z9r+KJzs2/bNUj1z2pO4bfL3+h392AAAAgrFE8IUna+tt2PXz1fyUVXQGnmLVW1lp99PoKLXxyiVvxAAAustbK5n+lQMY/FNh1mQJ7bpD1vS9rA1V/MbAfiickSW/9d7FUySUZjYxee/gtBxMBAEKBtX7ZjFtkdw2Xcl+W8j+Q8t6U3X2F7O6RsoFstyMijFA8IUn65at1pWY6D2St1brvNnCyEQDUN9n/kfJe2XfHX/r/81fIZv7NjVQIUxRPSJKi46Lk8VT+4xAZHSlTyawoAKBusdYnm/1EJSMCUt5bsv6NjmVCeKN4QpLUY0g3BQIVz3h6Izw6ZWg3BxMBAFxX8I1k91YxyEq+5Y7EQfijeEKS1Ovck9SkdZq8EWV/JIwxspLOnTDE+WAAAPfYgmoMMtUcB1A8sU9UdKSmvnubmrRKk1Q0w+nxemSMUWR0hP7xwgQd0bWdyykBAI6K7CCpqjWcrRTZ2Yk0qANYQB4lmrVtov99P10fv/GFPnvzCxXkF+qIru10+sg+SkxJcDseAMBhxpMqG3OmlLdAf5xYtD+vFHG4FHms09EQpowN4dOUMzMzlZycrIyMDCUlJbkdBwCAescGdsvuvEDyr5O0/7kAXskkyTScLRPBHrH6rCZ9jV3tAACgQsaTItPwZZmEayVPcxUVzhQpbpRMo3mUTtQIu9oBAECljCdBShgrkzDW7SgIc8x4AgAAwBEUTwAAADiC4gkAAABHUDwBAADgCIonAAAAHEHxBAAAgCMongAAAHBE0IrnunXrdPnll6tNmzaKjY1Vu3btdNtttyk/Pz9YLwkAAIAQFrQF5FevXq1AIKBHH31U7du317fffqvRo0crOztb06ZNC9bLAgAAIEQ5eq32qVOnaubMmfr111+rNZ5rtQOojpy9ufLl5iupYYK8Xq/bcQCgXqlJX3P0kpkZGRlKTU2t8HGfzyefz1dyPzMz04lYAMLUV0u/03N3v6IvF38jSUpMTdCQqwbo/IlDFZsQ63I6AMCBHDu5aM2aNXrooYc0ZsyYCsdMmTJFycnJJbf09HSn4gEIM+89/4FuPG2yvlr6Xcm2vbuyNOfe1zShz23Kzcp1MR0AoDw1Lp4TJ06UMabS2+rVq0t9zcaNGzVo0CANHz5co0ePrvC5J02apIyMjJLbhg0bav4dAajzsvZk6/7LH5G1VgF/oNRjAX9Av371m+bc85o74QAAFarxMZ7bt2/Xzp07Kx3Ttm1bRUVFSZI2bdqkvn376qSTTtKsWbPk8VS/63KMJ4DyvPbQW3rkuidV2V9fiakJemnLf+WN4JhPAAimoB7jmZaWprS0tGqN3bhxo/r166euXbvqySefrFHpBICKrPtugzwRHvkL/BWO2bsrS5k79yqlSQPnggEAKhW0k4s2btyovn37qlWrVpo2bZq2b99e8ljTpk2D9bIA6oGY+GipGvtqomKjgh8GAFBtQSueixYt0po1a7RmzRq1aNGi1GMOruAEoA7qOexEvfLg/Aof93g96tzrSMUnxTmYCgBQlaDt+x41apSsteXeAOBQHHVKRx3ds6M8EeX/FRYIBHTh385xOBUAoCocdAkg7BhjNPm1m3Rk9yMkSd4Ir7wRXhljFBkdoZtmXa3jT+vsckoAwIEcXUAeAGpLUmqiHnz/Dn37wWp98OqnysvOU6tO6er/l95KSk10Ox4AoBwUTwBhyxijzr2OVOdeR7odBQBQDexqBwAAgCMongAAAHAExRMAAACOoHgCAADAERRPAAAAOILiCQAAAEdQPAEAAOAIiicAAAAcQfEEAACAIyieAAAAcATFEwAAAI6geAIAAMARFE8AAAA4guIJAAAAR1A8AQAA4AiKJwAAABxB8QQAAIAjKJ4AAABwBMUTAAAAjqB4AgAAwBEUTwAAADiC4gkAAABHUDwBAADgiAi3AwAAAASDzf9MNvtZqeBryURJMafLxF0o4z3M7Wj1FsUTAIADWJsv5S2QzZ0nBXZJ3pYycSOkqJ4yxrgdD9UQ2Hu/lP2oJK8kf9HG7Cdks5+RUh6Xie7uZrx6i+IJAMB+bGCX7K6/SIU/qeiItIBU+JOsb6EUPVBq8ICMiXQ7Jiph897ZVzqlktJZ8t9Wds9VUtr7Mp5EF9LVbxzjCQDAfuye66XCX/bdC+z7/33lxfeObNYjbsRCDdjsJ1RxxQlINkfKnetkJOxD8QQAYB9b8LOU/6FKz5KVGiHlPCVr85yMhRqwNiAVfKk//tFQwbj8Fc4EQikUTwAAiuV/LKmKYzhtllTwgyNxcDCMqvwMS8bBaRRPAABKVD5L9oeKZkThNmOMFNlVVVUcE3WiM4FQCsUTAIBikV0k2SoGRUsRHZ1Ig4Nk4i9Xxf+I8EgmQYod6mAiFKN4AgBQLPIYKeJoFS3BUx6PFDdcxpPgZCrUkIk5VSZh/L57+3+WHsnEyKQ8xmfoEoonAAD7GGNkGvxL8jRU6V+R+44HjDxWJuEGN6KhhkzC1TKpL0oxZ0neNkWz1PH/J9NooUxUV7fj1Vus4wkAwH5MRLrU6A0pZ45s7lwpsEfytpCJO0+KHSZjotyOiGoyUcfJRB3ndgzsh+IJAMABjCdFShgrkzDW7ShAncKudgAAADiC4gkAAABHUDwBAADgCIonAAAAHEHxBAAAgCMongAAAHAExRMAAACOYB1PAADgOFu4TjbnOcm3WLIFRVeFirtEJrq729EQRBRPAADgKOtbJrv7/yQFJPmLNvoWy/rekY0fJ0/itW7GQxCxqx0AADjGBnbJ7r5aUqFKSqf0x39nz5DNW+JCMjiB4gkAAJyT85KkAkm2ggFe2ZwnHQwEJ1E8AQCAY2z+5yraxV4Rv5S/0qk4cBjFEwAAOMjsu6E+ongCAADHmOgeVYzwSlFVjUG4ongCAADnxJ4tmThVXEH8MvGXOpkIDqJ4AgAAxxhPskzKY5KJVuka4i16PHGiTPTJrmRD8LGOJwAAcJSJ6iY1WiTlviibt1hSvhTZRSbuQpnITm7HQxBRPAEAgOOMt7GUcLVMwtVuR4GD2NUOAAAAR1A8AQAA4AiKJwAAABxB8QQAAIAjglo8//SnP6lly5aKiYlRs2bNdMkll2jTpk3BfEkAAACEqKAWz379+unFF1/Ujz/+qFdeeUW//PKLzj333GC+JAAAAEKUsdZap17s9ddf19ChQ+Xz+RQZGVnl+MzMTCUnJysjI0NJSUkOJAQAAEBN1KSvObaO565du/Tcc8/p5JNPrrB0+nw++Xy+kvuZmZlOxQMAAECQBf3koptvvlnx8fFq2LCh1q9fr3nz5lU4dsqUKUpOTi65paenBzseAAAAHFLj4jlx4kQZYyq9rV69umT8jTfeqC+//FLvvPOOvF6v/vKXv6iivfuTJk1SRkZGyW3Dhg0H/50BAAAgpNT4GM/t27dr586dlY5p27atoqKiymz//ffflZ6ero8++kg9evSo8rU4xhMAACC0BfUYz7S0NKWlpR1UsEAgIEmljuMEAABA/RC0k4s+/fRTrVixQj179lRKSop++eUX/eMf/1C7du2qNdsJAACAuiVoJxfFxcXp1Vdf1WmnnaYOHTro8ssv1zHHHKNly5YpOjo6WC8LAACAEBW0Gc/OnTvrvffeC9bTAwAAIMxwrXYAAAA4guIJAAAAR1A8AQAA4AiKJwAAABzh2LXaAaA+sNYv5S+XzVsoBbKliDYysefKRHAJYACgeAJALbGBXbK7rpAKv5XklRSQfEY2+z9Swg0yCaPdjggArmJXOwDUAmut7O5xUuEP+7b4JVlJAUlWNmuqbO6b7gUEgBBA8QSA2lDwlVTwhYoKZ3mMbPZMWWudTAUAIYXiCQC1wPreU9Hu9QpHSIU/SYFtTkUCgJBD8QSA2mDzJZlqjPMFPQoAhCqKJwDUAhN5pKTCKgYlSt6mjuQBgFBE8QSA2hAzSDLJqnjW0yPFnS9jopxMBQAhheIJALXAmGiZBtNVtErdgcd6eqSIo2XixzkfDABCCOt4AmHCFq6VzXlW8i2VrF+KOkEm7hKZqGPdjoZ9TPQpUsNXZbMfl/LeklQgeZrJxF0kxV8iY2LdjggArjI2hNf2yMzMVHJysjIyMpSUlOR2HMA1Nm+R7J5rVbQuZPFyPV5JfpnEm2XiL3cvHMpV9FdroYyJdDsKAARVTfoau9qBEGf9W2T3XKeiwrn/GpFF/2333iub/5kLyVAZYwylEwAOQPEEQpzNeUF/XAWnPF7Z7FnOBQIA4CBRPIFQl/+pii67WBH/vjEAAIQ2iicQ8qqxKHm1xgAA4C6KJxDiTHQPVf5H1StFnexUHAAADhrFEwh1sSMkRariWU2/TPxIBwMBAHBwKJ5AiDPexjIpM1RUPvf/I+uVZGQSb5WJ6upOOAAAaoAF5IEwYKJ7S2kLZXNmS773JVu4bwH5C/ddIxwAgNBH8QTChPEeJpN4o5R4o9tRAAA4KOxqBwAAgCMongAAAHAExRMAAACOoHgCAADAERRPAAAAOILiCQAAAEewnBIAIOxZa6WCz2Xz3pWsTyayoxRzlownwe1oAPZD8QQAhDXr3ym75yqp4CsV/1qzuYXS3nuk5GkyMf3dDYiwZ62V8j+QzXlOKvxJMgkyMWdKcSNkPKluxwsrFE8AQNiyNiC7+wqpcPW+LYX7PZgru+caKXWOTNSxB/n8hVLB15LNlrytZSLSDz00woq1AdmMv0t5L6voUsX+ou1ZP0nZT0qpz8hEHuFqxnDCMZ4AgPCV/4FU+J2Ky0Bptuh/sx+t8dNaa2Vznpfd3lt21/myuy+X3XGaArtGyRauPbTMCC+5z+8rnVLpn7OAZDNld19Z9A8UVAvFEwAQtmzeOyqahaqIX/K9V/NikP2YbOZtUmBH6e35n8ruHCFbuL6mURGGrLWy2f+TZCoY4ZcCmyTfEidjhTWKJwAgfNlcFc9sViwg2fzqP6V/h2zW9Aoe9Us2Szbr39V+vkpfy/pl/Vtk/duLjiNEaAlsl/y/q/KfsQjZ/BVOJQp7FE8AQNgyEe2qHuRpLJnY6j9p3uuqvGj4pbwFsoGs6j/nAazNl82aKbu9V9Hu/O2nyO4cIpv7+kE/JxAOKJ4AgPAVe04VAzwycRfJmIp2lZZl/VtU9a/HQimwq9rPWer5bYHs7rFFs6r778ov/Fk24wYF9v7roJ4XQeBJk7wtVPGudkkqlIk6walEYY/iCQAIW8bbRCbptn33DvyV5pEij5HiL63Zc3pSJAWqGiV5kmv0vCVyX5Xyl6vsrOq++9kzZAt+OrjnRq0yxsjEXaaKZ8A9kqeZFH2qk7HCGsUTABDWTNwFMg0elSL3WzLJNJDix8qkPiVjYmr2hDFnqfJd7V4puq/MQRZPmzNblc+geWVzXzio50YQxF0oxZy7787+J7J5JJMsk/K4jGF1yurinQIAhD0T008mpp9sIEOyPsmTetBlwESky8ZeJOU+W86jHklemYRrDz5s4S+q8hjSQmY8Q4UxHin5bil2UNE/GlhA/pBQPAEAdcbBzkKWeZ6kv8maGCnnKUkFfzzgPUwm+V6ZyE6H8ORxVZxl75EMl/oMJcYYKbq3THRvt6OEPYonAAAHMMYrk3STbMKVkm/ZvisXtZWiTiyaATsUsWdKOS+o/EXvJSkgE3PGob0GEKIongAAVMB4Gkixf67d54wbJZvzqop2tx94EpO36CzqmEG1+ppAqODkIgAAHGQiWsuk/k8yxYcFRKhkHiii3b4ToqLcigcEFTOeAAA4zER1kxovl/Leli34WlJE0fGDUT1qtOYoEG4ongAAuMCYKCn2TzKxf3I7CuAYdrUDAADAEcx4AgBcYQt+lnyLZa1PJrKDFH0qxzYCdRzFEwDgKBvIks24QfK9p6Idbx5ZFUqeVCn5QZnoHm5HBBAk7GoHADjGWiu7Z5zkW7pvS0BS4b7/3CO7e7RswQ8upau7rLWygRxZW1D1YCCIKJ4AAOcUfCHlf6yy61dq3za/bNajDoequ6zNl83+n+z2frLbjpPderQCu66QzV/hdjTUUxRPAIBjbN4CSd5KRvgl30Jm5mqBtflFM8h775MCm4q3Svkfyu66WDb3DVfzoX6ieAIAnBPIrMYgv2R9QY9S5+U8I+V/oqIrJO3PL8nKZkyUDexyIRjqM4onAMAxJqKVyhahAwc1kEycE3HqLGutbPbTqvy9LpRyX3UqEiCJ4gkAcFLsOaq8DHmkuPNlDL+eDonNkQKbqxjkkS1Y7UgcoBh/sgEAjjHe5jIJNxTfO+BRr+RtIxM/2ulYdY+JVNn3t7xx0UGPAuyP4gkAcJRJGC2TPE3yttpva7QUe55MwzkynkTXstUVxkRJUT1V1YlcJrq/U5EASSwgDwBwgYn9kxQzRPKvl2ye5G0h44l3O1adYhKukt31QQWPeiVvWym6t6OZAGY8AQCuMMbIRLSSiexA6QwCE9VNJvk+ScW73T0qmQH1tpFJ/Z+MqWxGFKh9jhRPn8+n4447TsYYrVq1yomXBACg3jOxf5ZpvLzouNqYs6TYYTIN/iPT6A0Zb1O346EecmRX+0033aTmzZvrq6++cuLlAADAPsaTKiWMrs6pRkDQBX3G86233tI777yjadOmBfulAAAAEMKCOuO5detWjR49Wq+99pri4qpeDNjn88nn++NqFZmZ1bnCBQAAAMJB0GY8rbUaNWqUrrrqKp1wwgnV+popU6YoOTm55Jaenh6seAAAAHBYjYvnxIkTi85ErOS2evVqPfTQQ9q7d68mTZpU7eeeNGmSMjIySm4bNmyoaTwAAACEKGOtreKiuaVt375dO3furHRM27ZtNWLECL3xxhsy5o/Dmf1+v7xery666CI99dRTVb5WZmamkpOTlZGRoaSkpJrEBAAAgANq0tdqXDyra/369aWO0dy0aZMGDhyol19+Wd27d1eLFi2qfA6KJwAAQGirSV8L2slFLVu2LHU/ISFBktSuXbtqlU4AAADULVy5CAAAAI5w7FrtrVu3VpD26gMAgCCwNiDlfySbt0iyOTIRh0ux58h4G7odDWHKseIJAADCh/XvlN19hVT4nYrqgpWVlbKmS0l3ysSd43JChCN2tQMA6i1rc2X9O2RtgdtRQoq1Vnb3lVLh6n1bCiX5JQUkFcpm3iLr+9C9gAhbzHgCAOodW/C9bNYMybdYUkAycbKxw2Xir2I3siTlfyIVflPJACOb/R+Z6FMci4S6geIJoE6z/q1S4RrJxEiRnWVMlNuR4DLr+0R29+Uqmr0L7NuYI+U8W3QsY8OXZLxpbkZ0nfUtVlFFKKxgREDK/1Q2kCXjSXAwWeWstUXHpObMkfy/SiZJJvYsKebPIZWzPqN4AqiTrH+LbOYdku89lZQLkyIlXCnFXVbq4haoP6wtlM24Xn/sNt6fXwpsld17n0yDqS6kCyE2r5oD84MaoyasDchmTJTyXpPkVdFnbGQLVkpZj0upz8pEsJyj2zjGE0CdY/07ZXeeJ/mWqFS5sLtl994ru/de17LBZb5lUmC7ypbOYn4p703ZwB4HQ4UeE3GEiopbJTypkkl2JE+15Dy5r3RKf2S3RbfAVtk9V7G6TgigeAKoc2z2Y1Jgmyr8xZnzhGzhWkczIUQU/qSi2bBKB0n+9U6kCV2xQyVFSapoz4BHJu4iGVPVe+kMa/2y2U9WMsJf9NkXrHAsE8pH8QRQp1gbkHJfUuWzNV7Z3FecioRQYuJU8Wzn/mKDnSSkGU+STIP7VFQ8DyyXHinyGCn+CheSVcC/ft8/NivjlfV97EgcVIziCaBusTmSzapqkOTf7EgchJjo06oe402XItoHP0uIMzFnyKQ+J0X1UsnMpydNJuFamdSnZUwolfPq/GPCqGjXO9zEyUUA6hYTq6JdhJWd9GCKjk9DvWMiWsjGDJHy5quismISxnHy2T4mqqtM6mOyNl+y+ZKJD833xtuy6ORBu7uSQYUyUSc4FgnlY8YTQJ1ijFeKGaLKj+Pzy8T+yalI2Mfmr1JgzwQFtvVQYNvJCuy5Qbbga8dzmOS7pOj+++55VTQH45HkkUm4USb2bMczhTpjomQ8CaFZOiUZEykTf4kqPibVK3lbSVEnOxkL5WDGE0CdYxLGyPre3rckzIHHenqk6P4ykZ3diFZv2exnZffeoT+WuVHR2eN5b0hJk2XizncsizExMikPFy0in/emFNgj402XYofJeJs4lgO1LH6MVPDtviXUPPpjRtsjeZJlUmbKGObb3GZsCK8tkJmZqeTkZGVkZCgpKcntOADCiC34XnbPhKJFpEuO7fJIsefIJN0qY6JdTlh/2ILvZHeerYqPrzMyDefJRHZ0MhbqIGv9Ut7bsjnP71tAPlEm9s9S7HlckSqIatLXmPEEUCeZyE5So7ekgs+lgh+LrlwU3afeX5HGDTb7GRXNQFW00oBHNuc5meQ7HUyFusgYrxQ7WCZ2sNtRUAGKJ4A6yxgjRXUrusE9BStU+fJWfin/M6fSAHARBzsAAIKsOr9q+HUE1Af8SQcABFd0b1W+yoB33xgAdR3FEwAQVCbuIhWd4FXeUjdF24vGAKjrKJ4AgKAyEW1lGjyoolnP/X/teCR5ZRr8SyaipTvhADiKk4sAAIfMBrKlwtVFdyI6ynjiSz1uYgZKjd6RzZ0j+T6SZKTok2XiLpDxNnc+MABXUDwBAAfNWp/s3vulnDmS8vZtjZWNO18mcUKp9VJNRAuZxBukRFeiAggBFE8AwEGxtlB29xgp/xOVvu55rpTzlGzhj1LKf2UMv2oAFOEYTwDAwclbKOV/pNKls1ig6LG8d5xOBSCEUTwBAAfF5rygyn+NeGRzX3AqDoAwQPEEABycwO8qf7azZIDk3+BUGgBhgOIJADg4JkXlr81ZMkDypDqVBkAYoHgCAA6KiR1WK2MA1B8UTwDAwYkdJnlbqvzLYXqLHosZ6nAoAKGM4gkAOCjGEy+T+qwU2aV4i0p2vUd2kUl9tsxC8gDqNxZXAwAcNONtItNwtmzBD1L+iqKNUd1kIo90NxiAkETxBAAcMhN5pETZBFAFdrUDAADAERRPAAAAOILiCQAAAEdQPAEAAOAIiicAAAAcQfEEAACAIyieAAAAcATFEwAAAI6geAIAAMARFE8AAAA4gktmAgBQj1kbkPI/ls1bJNkcmYjDpdizZbwN3Y6GOojiCQBAPWUDu2R3jZYKv1FRJbCyslLWg1LSnTJx57gdEXUMu9oBAKiHrLWyu66UCr/ft6VQkl9SQFKhbOYtsr4P3QuIOoniCQBAfZT/mVT4tYrKZnmMbNZ/nEyEeoDiCQBAPWR9i1X5EXcBqeBT2UCWU5FQD1A8AQCoj2xuNcf5gpsD9QrFEwCAeshEHKGKd7Pv40mVPA2ciIN6guIJAEB9FPtnSVGSTAUDPFLshTLG62Ao1HUspwQAQC2xtkDyLZbNWyxZn0xkByn2XBlvE7ejlWE8SVLyvbIZE1Q0D7X/7KdHiuwskzDapXSoqyieAADUAuvfJLtrlORfJ8krKSDre0fKenjfmpjnuhuwHCb2TMnbRDbrUSl/mSQreRrJxF0sxV8qY2Ldjog6huIJAMAhsrZQdtelkn/Dvi3Fs4e26H8z/yZ5D5OJ7uFKvsqYqK4yqY/J2nzJ5ksmXsZUtPsdODQc4wkAwKHyLZX8a1XxyToe2ezHHAxUc8ZEyXgSKJ0IKoonAACHyPreU9Hu9Yr4pfyPimYVgXqM4gkAwKGqVqG0ki0MehQglFE8AQA4RCayk4qucV7hCMnbQuJkHdRzFE8AAA5V7DBJkap4TUzJxF3C8ZOo9yieAAAcIuNJkUm+T0XFc/9jPU3RLaqXFHexO+GAEMJySgAA1IKiNTGby2b/V/ItluSXvC1l4i6R4i6QMZFuR0QQ2cK1sjnPSHkLi475jexUtB5qdH9muvdD8QQAoJaYqONkoh6WtQFJfspmPWF9H8ruHqOi5bT2LamV/5ls/sdS7IiiCwhQPiUFeVd769atZYwpdbvnnnuC+ZIAALjOGA+ls56wgb2ye8ZJKlDpdVz3/Xfui1LeXBeShaagz3jecccdGj36j2u9JiYmBvslAQAAnJE7V7K5Kr5KVVke2exZMrFnO5kqZAW9eCYmJqpp06bBfhkAAADH2YJVKjqJrKLiGZAKV8vafBkT5VywEBX0s9rvueceNWzYUF26dNHUqVNVWMjiuQAAoK7wqLJltEqPQ1BnPMePH6/jjz9eqamp+uijjzRp0iRt3rxZDzzwQLnjfT6ffD5fyf3MzMxgxgMAADgkJvpk2bzXKxnhkSK7yhjO55YkY62taG64XBMnTtS9995b6ZgffvhBHTt2LLP9iSee0JgxY5SVlaXo6Ogyj99+++2aPHlyme0ZGRlKSkqqSUwAAICgszZPdvupUmCXKrp6lWnwqExMP2eDOSgzM1PJycnV6ms1Lp7bt2/Xzp07Kx3Ttm1bRUWVPY7hu+++09FHH63Vq1erQ4cOZR4vb8YzPT2d4gkAAEKWLfhBdtcoye7RH8d6eiX5ZRJukEm40rVsTqhJ8azxvG9aWprS0tIOKtiqVavk8XjUuHHjch+Pjo4udyYUAAAgVJnII6W0RVLuXNm8dySbJ0V2lok7Xyay7B7g+ixoBxx8/PHH+vTTT9WvXz8lJibq448/1l//+lddfPHFSklJCdbLAgAAOM54kqT4kTLxI92OEtKCVjyjo6M1Z84c3X777fL5fGrTpo3++te/asKECcF6SQAAAISwoBXP448/Xp988kmwnh4AAABhhkWlAAAA4AiKJwAAABxB8QQAAIAjKJ4AAABwBMUTAAAAjqB4AgAAwBEUTwAAADiC4gkAAABHUDwBAADgCIonAAAAHEHxBAAAgCMongAAAHAExRMAAACOoHgCAADAERRPAAAAOILiCQAAAEdQPAEAAOAIiicAAAAcEeF2AABAWbbgByn/c0lGiuouE3m425EA4JBRPAEghFj/Ftk910kFKyWZ4q2ykSfJNHhAxtvIxXQAcGjY1Q4AIcIGsmR3XSgVfFW8Zd9NUsEK2V0Xy9pct+IBCBPWWllr3Y5RLoonAISK3Jcl/0ZJ/nIe9Ev+X6XcN5xOBSBMWN9yBXaNkt16lOzWTgrsvEA2b2FIlVCKJwCECJs7t4oRRjb3NSeiAAgzNvu/srsvl/I/lVQoyS8VfCm75xrZrGluxytB8QSAUBHYpZJd6+Wy+8YAwB9swfeye+/bd2//PSaBov/LflzW96HTscpF8QSAUOFtocr/WvZK3nSn0gAIEzZntiRvJSO8sjnPOhWnUhRPAAgRJu48lcxQlMsvEzfcqTgAwkXBKpV/bHgxv1TwtUNhKkfxBIBQETNYiuym8v9qNlJUbyn6NKdTAQh50dUYExX0FNVB8QSAEGFMpEzqf6W4iyXF7PdArBR3mUzKIzKmst1pAOojE3OaqjxMJ+Z0p+JUigXkASCEGBMrk/R32YTrpMIfijZGHCXjiXM1F4AQFjtCyn5csrkqe7iOkeSVibvIhWBlMeMJACHIeBJkoroV3SidACphvI1kUp6QTLyKiub+t2iZlJkyEa1czViMGU8AAIAwZ6K6SGnLpNzXZPM/kRSQieoqxZ4t40lxO14JiicAAEAdYDwJUvzFMvEXux2lQuxqBwAAgCMongAAAHAExRMAAACOoHgCAADAERRPAAAAOILiCQAAAEdQPAEAAOAIiicAAAAcQfEEAACAIyieAAAAcATFEwAAAI6geAIAAMARFE8AAAA4guIJAAAAR1A8AQAA4AiKJwAAABxB8QQAAIAjKJ4AAABwBMUTAAAAjqB4AgAAwBEUTwAAADiC4gkAAABHUDwBAADgCIonAAAAHEHxBAAAgCMongAAAHBEhNsBAACHzlor5X8s61suyS8T2VmKGShjotyOBgAlKJ4AEOasf7Ps7iulwh9V/Ne6VaGUeZeUMkMm6gR3AwLAPkHd1f7mm2+qe/fuio2NVUpKioYOHRrMlwOAesfafNldf5EK1+zbUrjvJslmyO66XLbwN7fiAUApQZvxfOWVVzR69Gj985//1KmnnqrCwkJ9++23wXo5AKif8t6S/BUVy4CkfNmcWTJJtzmZCgDKZay1traftLCwUK1bt9bkyZN1+eWXH/TzZGZmKjk5WRkZGUpKSqrFhABQNwR2j5V8S1RUMitgGsjT5DPHMgGoX2rS14Kyq33lypXauHGjPB6PunTpombNmumMM85gxhMAapvNUqWlU5JsriNRAKAqQSmev/76qyTp9ttv19///nfNnz9fKSkp6tu3r3bt2lXh1/l8PmVmZpa6AQAqEdFekreSAUaKaOtUGgCoVI2K58SJE2WMqfS2evVqBQJF//r+29/+pnPOOUddu3bVk08+KWOMXnrppQqff8qUKUpOTi65paenH9p3BwB1nIk9X5K/khFWJu4ip+IAQKVqdHLR9ddfr1GjRlU6pm3bttq8ebMkqVOnTiXbo6Oj1bZtW61fv77Cr500aZImTJhQcj8zM5PyCQCVMJEdZOPHSdkzJBlJ+x+2b6SoU6TYYS6lA4DSalQ809LSlJaWVuW4rl27Kjo6Wj/++KN69uwpSSooKNC6devUqlWrCr8uOjpa0dHRNYkEAPWeJ/Fa2YjWslmPSv59yyp5GsrEXSLFXyFjIt0NCAD7BGU5paSkJF111VW67bbblJ6erlatWmnq1KmSpOHDhwfjJQGgXjOxf5Zi/iQFdkgqlDyNZUxlx34CgPOCto7n1KlTFRERoUsuuUS5ubnq3r273nvvPaWkpATrJQGgXjPGSN6q90oBgFuCso5nbWEdTwAAgNDm+jqeAAAAwIEongAAAHAExRMAAACOoHgCAADAERRPAAAAOILiCQAAAEdQPAEAAOAIiicAAAAcQfEEAACAIyieAAAAcATFEwAAAI6geAIAAMARFE8AAAA4guIJAAAAR1A8AQAA4AiKJwAAABxB8QQAAIAjKJ4AAABwBMUTAAAAjohwO0BlrLWSpMzMTJeTAAAAoDzFPa24t1UmpIvn3r17JUnp6ekuJwEAAEBl9u7dq+Tk5ErHGFudeuqSQCCgTZs2KTExUcYYt+OEnczMTKWnp2vDhg1KSkpyO07Y4n08dLyHtYP3sXbwPh463sPaUVfeR2ut9u7dq+bNm8vjqfwozpCe8fR4PGrRooXbMcJeUlJSWP9Ahwrex0PHe1g7eB9rB+/joeM9rB114X2saqazGCcXAQAAwBEUTwAAADiC4lmHRUdH67bbblN0dLTbUcIa7+Oh4z2sHbyPtYP38dDxHtaO+vg+hvTJRQAAAKg7mPEEAACAIyieAAAAcATFEwAAAI6geAIAAMARFM964u6779bJJ5+suLg4NWjQwO04YWPGjBlq3bq1YmJi1L17d3322WduRwor77//voYMGaLmzZvLGKPXXnvN7UhhacqUKerWrZsSExPVuHFjDR06VD/++KPbscLKzJkzdcwxx5Qs1N2jRw+99dZbbscKe/fcc4+MMbruuuvcjhJWbr/9dhljSt06duzodixHUDzrifz8fA0fPlxjx451O0rYeOGFFzRhwgTddtttWrlypY499lgNHDhQ27Ztczta2MjOztaxxx6rGTNmuB0lrC1btkzjxo3TJ598okWLFqmgoEADBgxQdna229HCRosWLXTPPffoiy++0Oeff65TTz1Vf/7zn/Xdd9+5HS1srVixQo8++qiOOeYYt6OEpaOOOkqbN28uuX3wwQduR3IEyynVM7NmzdJ1112nPXv2uB0l5HXv3l3dunXTww8/LEkKBAJKT0/XNddco4kTJ7qcLvwYYzR37lwNHTrU7Shhb/v27WrcuLGWLVum3r17ux0nbKWmpmrq1Km6/PLL3Y4SdrKysnT88cfrkUce0V133aXjjjtO06dPdztW2Lj99tv12muvadWqVW5HcRwznkA58vPz9cUXX6h///4l2zwej/r376+PP/7YxWSAlJGRIamoOKHm/H6/5syZo+zsbPXo0cPtOGFp3LhxGjx4cKm/I1EzP//8s5o3b662bdvqoosu0vr1692O5IgItwMAoWjHjh3y+/1q0qRJqe1NmjTR6tWrXUoFFM28X3fddTrllFN09NFHux0nrHzzzTfq0aOH8vLylJCQoLlz56pTp05uxwo7c+bM0cqVK7VixQq3o4St7t27a9asWerQoYM2b96syZMnq1evXvr222+VmJjodrygYsYzjE2cOLHMwckH3ihJQN0ybtw4ffvtt5ozZ47bUcJOhw4dtGrVKn366acaO3asRo4cqe+//97tWGFlw4YNuvbaa/Xcc88pJibG7Thh64wzztDw4cN1zDHHaODAgVqwYIH27NmjF1980e1oQceMZxi7/vrrNWrUqErHtG3b1pkwdUyjRo3k9Xq1devWUtu3bt2qpk2bupQK9d3VV1+t+fPn6/3331eLFi3cjhN2oqKi1L59e0lS165dtWLFCv3rX//So48+6nKy8PHFF19o27ZtOv7440u2+f1+vf/++3r44Yfl8/nk9XpdTBieGjRooCOOOEJr1qxxO0rQUTzDWFpamtLS0tyOUSdFRUWpa9euWrx4ccnJMIFAQIsXL9bVV1/tbjjUO9ZaXXPNNZo7d66WLl2qNm3auB2pTggEAvL5fG7HCCunnXaavvnmm1LbLr30UnXs2FE333wzpfMgZWVl6ZdfftEll1zidpSgo3jWE+vXr9euXbu0fv16+f3+kjPp2rdvr4SEBHfDhagJEyZo5MiROuGEE3TiiSdq+vTpys7O1qWXXup2tLCRlZVV6l/wa9eu1apVq5SamqqWLVu6mCy8jBs3TrNnz9a8efOUmJioLVu2SJKSk5MVGxvrcrrwMGnSJJ1xxhlq2bKl9u7dq9mzZ2vp0qVauHCh29HCSmJiYplji+Pj49WwYUOOOa6BG264QUOGDFGrVq20adMm3XbbbfJ6vbrgggvcjhZ0FM964tZbb9VTTz1Vcr9Lly6SpCVLlqhv374upQpt5513nrZv365bb71VW7Zs0XHHHae33367zAlHqNjnn3+ufv36ldyfMGGCJGnkyJGaNWuWS6nCz8yZMyWpzJ/VJ598ssrDbVBk27Zt+stf/qLNmzcrOTlZxxxzjBYuXKjTTz/d7Wioh37//XddcMEF2rlzp9LS0tSzZ0998skn9WIvJut4AgAAwBGc1Q4AAABHUDwBAADgCIonAAAAHEHxBAAAgCMongAAAHAExRMAAACOoHgCAADAERRPAAAAOILiCQAAAEdQPAEAAOAIiicAAAAcQfEEAACAI/4fNTckb+H1e+AAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = plt.subplots(1, 1, figsize=(8,8))\n", "ax.scatter(X[:,0], X[:,1], c=kmeans.labels_)\n", - "ax.set_title(\"K-Means Clustering Results with K=2\");\n" + "ax.set_title(\"K-Means Clustering Results with K=2\");" ] }, { @@ -1834,36 +853,17 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": null, "id": "92e5175c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:18.876530Z", - "iopub.status.busy": "2023-07-26T00:00:18.876396Z", - "iopub.status.idle": "2023-07-26T00:00:18.998430Z", - "shell.execute_reply": "2023-07-26T00:00:18.998045Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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9u/frylTpuR6rjfeeEOnT5/Wvffeq9DQUJUvXz5XQT2b1+tV79691b59e02ePFlfffWVnnvuOSUmJmrkyJGSsv6g6Nevn37++WeNHDlSDRo00Jw5czR06NCLek2yS3dcXFzOtoMHD6pDhw6yLEv333+/4uPj9fnnn+vuu+9WSkqKHnzwQUkX/p4XxZVXXqnRo0frX//6lx577DE1bNhQktSwYUMdOnRIvXr1Unx8vMaOHaty5cpp586d+vjjjwt9zC5duugf//iH1q9fryZNmkiSlixZIpfLpSVLlmj06NE527Iz5GfEiBHat2+fFixYoLfffjvfMdOnT9eJEyc0YsQIWZalv//977rhhhu0ffv2Ih1q4fF4dPPNN2vWrFl66aWXNGLEiDxjMjMzlZycfN7HkqTy5cvL5co9T5SSkqKMjAwdPnxYb731ltatW6fHHnusSI8HOMoAyOONN94wkkytWrVMcHCwmT17drE/d9myZebFF1800dHRJjU11RhjzODBg0337t2NMcbUqlXL9O3bN+fzlixZYiSZd999N9fjffHFF3m2Zz/e2UaMGGEiIiLM6dOnc7Z17drVSDJvvfVWzrb09HRTpUoVM3DgwJxtv/vd70zjxo2L/DVma9mypYmNjS3y+KFDh5patWrlfLxw4UIjySxcuDDXuB07dhhJ5o033jDGGHPs2DEjyUyaNKnQx2/cuLHp2rVrnu1/+9vfTGRkpPn1119zbR87dqxxu91m165duZ43JibGHDp0qNBM2V+PJPP000/nGtuyZUvTunXrnI9nzpxpJJkpU6bkbPN6veaqq67K85j5yX6dXn/9dZOUlGT27dtnvvjiC1OvXj1jWZb5+eefc8befffdpmrVqubw4cO5HuOmm24ysbGxOd87RXnPz32/sj3xxBPm3F8ftWrVMkOHDs35+MMPP8z3vZ01a1bOz0dxHDp0yEgyL7/8sjHGmOPHjxuXy2UGDx5sKleunDNu9OjRpnz58sbn8xlj8n/fRo0alSf/2WMrVKhgjh49mrN9zpw5RpL59NNPC82Y/T7VqlXLSDIvvfTSeccW5bZjx448n9+7d++c+0NCQsyIESNMWlpaofmAQMCudqAQBw8eVFhYmBISEi7o84cMGaK0tDTNnTtXJ06c0Ny5cwucTfrwww8VGxurnj176vDhwzm31q1bKyoqSgsXLswZGx4envP/J06c0OHDh9WlSxelpqZq06ZNuR43KipKt912W87HISEhateunbZv356zrVy5ctqzZ0+xdyempKQoOjq6WJ9zIcLDwxUSEqJFixblOeygKD788EN16dJFcXFxuV7bHj16yOv16ttvv801fuDAgYqPjy/y49933325Pu7SpUuu1/eLL75QcHBwrt2tLpdLo0aNKtbXcddddyk+Pl7VqlVTnz59lJycrLfffltt27aVlLViwsyZM9WvXz8ZY3J9rb1791ZycrJWrlwp6cLf84tVrlw5SdLcuXOVmZlZ5M+Lj49XgwYNct6r77//Xm63Ww8//LAOHjyoLVu2SMqa8ezcuXOhhwKcz4033phrFjn7kIaz39PCHDx4UEFBQapTp06BY5o3b64FCxYU6ZbfiWMTJ07Ul19+qf/+97/q0KGDMjIy5PF4ivmVAvZjVztQiFdeeUVjxoxRnz59tGTJEtWvX19S1u7VpKSkXGPLly+vkJCQXNvi4+PVo0cPTZ8+XampqfJ6vblODjnbli1blJycrEqVKuV7/6FDh3L+f/369frLX/6ib775RikpKbnGnbv7rkaNGnl+CcfFxWnt2rU5Hz/66KP66quv1K5dO9WrV0+9evXSLbfcok6dOuWbJVtMTEyRfxlfjNDQUD377LN66KGHVLlyZXXo0EHXXXed7rjjjiKdzb1lyxatXbu2wDJ59msrqdDCcK6wsLA8jxsXF5erIP/222+qWrWqIiIico2rV69ekZ9Hkh5//HF16dJFJ0+e1KxZszRjxoxcu2CTkpJ0/Phxvfrqq3r11VfzfYzsr/VC3/OL1bVrVw0cOFBPPfWU/vGPf6hbt27q37+/brnllvOu9NClSxfNmzdPUlbBbNOmjdq0aaPy5ctryZIlqly5stasWXPRhwrUrFkz18fZJbSof/T8/e9/15QpUzRo0CB9+eWX+b6mcXFx6tGjxwVnbNGiRc7/33bbbWrVqpWGDRuWZyknINBQPIFCNGrUSPPmzdPVV1+tnj176vvvv1dCQoJ2796dp5wsXLgw18ks2W655RYNHz5cBw4c0DXXXJMz43Mun8+nSpUq6d133833/uxyc/z4cXXt2lUxMTF6+umnlZiYqLCwMK1cuVKPPvponmMR3W53vo9nzjpJo2HDhtq8ebPmzp2rL774QjNnztTLL7+sxx9/XE899VRBL48aNGigVatWaffu3Rc0K1zQrNS5J+ZI0oMPPqh+/fpp9uzZmj9/vv76179qwoQJ+uabb9SyZctCn8fn86lnz54Fnvl9+eWX5/r47Bnl8yno9fWHpk2b5pSV/v37KzU1VcOHD1fnzp2VkJCQ897fdtttBR4/2qxZM0lFe8+L8/4UVfY6l0uXLtWnn36q+fPn66677tJzzz2npUuXKioqqsDP7dy5s1577TVt375dS5YsUZcuXWRZljp37qwlS5aoWrVq8vl8OTOUF6ooPzOFqVq1qhYsWKDOnTurb9++Wrx4sZo3b55rTEZGho4ePVqkx4uPjy/0+ywkJETXX3+9Jk6cqLS0tGJ9/wJ2o3gC59GuXTvNnj1bffv2Vc+ePbVkyRJVqVIl19nqkvL8Ysk2YMAAjRgxQkuXLtX7779f4PMkJibqq6++UqdOnQr9xbFo0SIdOXJEH3/8ca4TKHbs2FHMryy3yMhI3XjjjbrxxhuVkZGhG264QePHj9e4ceMKXI6mX79+eu+99/TOO+9o3LhxxX7O7Jmkc8/G/e233/Idn5iYqIceekgPPfSQtmzZohYtWui5557TO++8I6ngopSYmKiTJ09e1AzTxahVq5YWLlyo1NTUXLOeW7duvajHnThxombNmqXx48fr3//+t+Lj4xUdHS2v11ukr/V873lcXFy+Z0oX9P6c7Xy7ujt06KAOHTpo/Pjxmj59um699VbNmDEjz1JBZ8sulAsWLNCyZcs0duxYSVknEk2dOlXVqlVTZGSkWrdufVHZLoW6detq/vz56tq1q3r37q0lS5bosssuy7n/hx9+UPfu3Yv0WDt27DjvWqhpaWkyxujEiRMUTwQ0jvEEiuDqq6/We++9p61bt6pPnz7KyMhQjx49ct3OPibsbFFRUZo6daqefPJJ9evXr8DnGDJkiLxer/72t7/luc/j8eQUgOyZj7NnXzIyMvTyyy9f8Nd35MiRXB+HhISoUaNGMsYUehzeoEGD1LRpU40fP14//vhjnvtPnDiRc4Z5fmrVqiW3253nGMtzv5bU1FSdPn0617bExERFR0crPT09Z1tkZGS+RWnIkCH68ccfNX/+/Dz3HT9+3O/HxvXu3VuZmZl67bXXcrb5fL6cZX0uVGJiogYOHKhp06bpwIEDcrvdGjhwoGbOnKl169blGX/24SFFec8TExOVnJyc67CM/fv3a9asWefNFhkZKSnvHxXHjh3LM3OYvdv47PcyP3Xq1FH16tX1j3/8Q5mZmTm7sLt06aJt27bpo48+UocOHXKtm1ucbJda06ZN9dlnn+nkyZPq2bOn9u7dm3PfhR7jee5hIdlfx8yZM5WQkFDgoTpAoGDGEyiiAQMG5Fx55Prrr9cXX3xR5IWpi7JsTteuXTVixAhNmDBBq1evVq9evRQcHKwtW7boww8/1D//+U8NGjRIV1xxheLi4jR06FCNHj1almXp7bffLvJuwPz06tVLVapUUadOnVS5cmVt3LhRL774ovr27VvoyUPBwcH6+OOP1aNHD1155ZUaMmSIOnXqpODgYK1fv17Tp09XXFxcgWt5xsbGavDgwXrhhRdkWZYSExM1d+7cPL9cf/31V1199dUaMmSIGjVqpKCgIM2aNUsHDx7UTTfdlDOudevWmjp1qp555hnVq1dPlSpV0lVXXaWHH35Yn3zyia677joNGzZMrVu31qlTp/TLL7/oo48+0s6dO1WxYsULfv3Op3///mrXrp0eeughbd26VQ0aNNAnn3ySs6v1YmbgHn74YX3wwQeaMmWKJk6cqIkTJ2rhwoVq3769hg8frkaNGuno0aNauXKlvvrqq5znLMp7ftNNN+nRRx/VgAEDNHr0aKWmpmrq1Km6/PLLc05SKkiLFi3kdrv17LPPKjk5WaGhobrqqqs0ffp0vfzyyxowYIASExN14sQJvfbaa4qJidG111573q+3S5cumjFjhpo2bZrzx16rVq0UGRmpX3/9tUjHd2bPiI4ePVq9e/eW2+3O9X10KXXs2FEff/yx+vXrl7PHpEKFChd8jOc111yjGjVqqH379qpUqZJ27dqlN954Q/v27St0jwoQMJw6nR4IZGcviXSuyZMnG0nmuuuuM5mZmcX63LOdu5xStldffdW0bt3ahIeHm+joaNO0aVPzyCOPmH379uWM+f77702HDh1MeHi4qVatmnnkkUfM/Pnz8yxf07Vr13yXzDl3mZxXXnnFXHnllaZChQomNDTUJCYmmocfftgkJycX+jVkO3bsmHn88cdN06ZNTUREhAkLCzNNmjQx48aNM/v37y/weY0xJikpyQwcONBERESYuLg4M2LECLNu3bpcS+AcPnzYjBo1yjRo0MBERkaa2NhY0759e/PBBx/keqwD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xowZoyeeeEIrV65U8+bN1bt3bx06dMjpaCXGqVOn1Lx5c7300ktORynRFi9erFGjRmnp0qVasGCBMjMz1atXL506dcrpaCVGjRo1NHHiRK1YsULLly/XVVddpd/97ndav36909FKrGXLlumVV15Rs2bNnI5SIjVu3Fj79+/PuX333XdOR7IFyymVMdOmTdODDz6o48ePOx0l4LVv315t27bViy++KEny+XxKSEjQAw88oLFjxzqcruSxLEuzZs1S//79nY5S4iUlJalSpUpavHixrrzySqfjlFjly5fXpEmTdPfddzsdpcQ5efKkWrVqpZdfflnPPPOMWrRooSlTpjgdq8R48sknNXv2bK1evdrpKLZjxhPIR0ZGhlasWKEePXrkbHO5XOrRo4d+/PFHB5MBUnJysqSs4oTi83q9mjFjhk6dOqWOHTs6HadEGjVqlPr27Zvr30gUz5YtW1StWjXVrVtXt956q3bt2uV0JFsEOR0ACESHDx+W1+tV5cqVc22vXLmyNm3a5FAqIGvm/cEHH1SnTp3UpEkTp+OUKL/88os6duyo06dPKyoqSrNmzVKjRo2cjlXizJgxQytXrtSyZcucjlJitW/fXtOmTVP9+vW1f/9+PfXUU+rSpYvWrVun6Ohop+P5FTOeJdjYsWPzHJx87o2SBJQuo0aN0rp16zRjxgyno5Q49evX1+rVq/XTTz9p5MiRGjp0qDZs2OB0rBJl9+7d+sMf/qB3331XYWFhTscpsa655hoNHjxYzZo1U+/evTVv3jwdP35cH3zwgdPR/I4ZzxLsoYce0rBhwwodU7duXXvClDIVK1aU2+3WwYMHc20/ePCgqlSp4lAqlHX333+/5s6dq2+//VY1atRwOk6JExISonr16kmSWrdurWXLlumf//ynXnnlFYeTlRwrVqzQoUOH1KpVq5xtXq9X3377rV588UWlp6fL7XY7mLBkKleunC6//HJt3brV6Sh+R/EsweLj4xUfH+90jFIpJCRErVu31tdff51zMozP59PXX3+t+++/39lwKHOMMXrggQc0a9YsLVq0SHXq1HE6Uqng8/mUnp7udIwS5eqrr9Yvv/ySa9udd96pBg0a6NFHH6V0XqCTJ09q27Ztuv32252O4ncUzzJi165dOnr0qHbt2iWv15tzJl29evUUFRXlbLgANWbMGA0dOlRt2rRRu3btNGXKFJ06dUp33nmn09FKjJMnT+b6C37Hjh1avXq1ypcvr5o1azqYrGQZNWqUpk+frjlz5ig6OloHDhyQJMXGxio8PNzhdCXDuHHjdM0116hmzZo6ceKEpk+frkWLFmn+/PlORytRoqOj8xxbHBkZqQoVKnDMcTH86U9/Ur9+/VSrVi3t27dPTzzxhNxut26++Wano/kdxbOMePzxx/Xmm2/mfNyyZUtJ0sKFC9WtWzeHUgW2G2+8UUlJSXr88cd14MABtWjRQl988UWeE45QsOXLl6t79+45H48ZM0aSNHToUE2bNs2hVCXP1KlTJSnPz+obb7xx3sNtkOXQoUO64447tH//fsXGxqpZs2aaP3++evbs6XQ0lEF79uzRzTffrCNHjig+Pl6dO3fW0qVLy8ReTNbxBAAAgC04qx0AAAC2oHgCAADAFhRPAAAA2ILiCQAAAFtQPAEAAGALiicAAABsQfEEAACALSieAAAAsAXFEwAAALageAIAAMAWFE8AAADYguIJAAAAW/w/Td0xltkBeHIAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "kmeans = KMeans(n_clusters=3,\n", " random_state=3,\n", " n_init=20).fit(X)\n", "fig, ax = plt.subplots(figsize=(8,8))\n", "ax.scatter(X[:,0], X[:,1], c=kmeans.labels_)\n", - "ax.set_title(\"K-Means Clustering Results with K=3\");\n" + "ax.set_title(\"K-Means Clustering Results with K=3\");" ] }, { @@ -1883,29 +883,10 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": null, "id": "4911ecc7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:19.000480Z", - "iopub.status.busy": "2023-07-26T00:00:19.000345Z", - "iopub.status.idle": "2023-07-26T00:00:19.014678Z", - "shell.execute_reply": "2023-07-26T00:00:19.014345Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(78.06117325882116, 75.0350825910044)" - ] - }, - "execution_count": 37, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "kmeans1 = KMeans(n_clusters=3,\n", " random_state=3,\n", @@ -1913,7 +894,7 @@ "kmeans20 = KMeans(n_clusters=3,\n", " random_state=3,\n", " n_init=20).fit(X);\n", - "kmeans1.inertia_, kmeans20.inertia_\n" + "kmeans1.inertia_, kmeans20.inertia_" ] }, { @@ -1956,40 +937,16 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": null, "id": "1b42a700", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:19.016810Z", - "iopub.status.busy": "2023-07-26T00:00:19.016679Z", - "iopub.status.idle": "2023-07-26T00:00:19.021325Z", - "shell.execute_reply": "2023-07-26T00:00:19.021002Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
AgglomerativeClustering(distance_threshold=0, linkage='complete',\n",
-       "                        n_clusters=None)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "AgglomerativeClustering(distance_threshold=0, linkage='complete',\n", - " n_clusters=None)" - ] - }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "HClust = AgglomerativeClustering\n", "hc_comp = HClust(distance_threshold=0,\n", " n_clusters=None,\n", " linkage='complete')\n", - "hc_comp.fit(X)\n" + "hc_comp.fit(X)" ] }, { @@ -2003,16 +960,9 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": null, "id": "50ef7eea", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:19.023446Z", - "iopub.status.busy": "2023-07-26T00:00:19.023277Z", - "iopub.status.idle": "2023-07-26T00:00:19.026803Z", - "shell.execute_reply": "2023-07-26T00:00:19.026438Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "hc_avg = HClust(distance_threshold=0,\n", @@ -2022,7 +972,7 @@ "hc_sing = HClust(distance_threshold=0,\n", " n_clusters=None,\n", " linkage='single');\n", - "hc_sing.fit(X);\n" + "hc_sing.fit(X);" ] }, { @@ -2036,34 +986,10 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": null, "id": "bf7a2408", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:19.028981Z", - "iopub.status.busy": "2023-07-26T00:00:19.028840Z", - "iopub.status.idle": "2023-07-26T00:00:19.034246Z", - "shell.execute_reply": "2023-07-26T00:00:19.033877Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
AgglomerativeClustering(distance_threshold=0, linkage='single',\n",
-       "                        metric='precomputed', n_clusters=None)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "AgglomerativeClustering(distance_threshold=0, linkage='single',\n", - " metric='precomputed', n_clusters=None)" - ] - }, - "execution_count": 40, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "D = np.zeros((X.shape[0], X.shape[0]));\n", "for i in range(X.shape[0]):\n", @@ -2073,7 +999,7 @@ " n_clusters=None,\n", " metric='precomputed',\n", " linkage='single')\n", - "hc_sing_pre.fit(D)\n" + "hc_sing_pre.fit(D)" ] }, { @@ -2096,28 +1022,10 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": null, "id": "a118c0ab", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:19.036313Z", - "iopub.status.busy": "2023-07-26T00:00:19.036187Z", - "iopub.status.idle": "2023-07-26T00:00:19.293174Z", - "shell.execute_reply": "2023-07-26T00:00:19.292867Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAApIAAAKTCAYAAACq1OjDAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAtd0lEQVR4nO3de5BeZX0H8GcJsCELSSFAgElIohIChDsJlw1KkOK1yEyLMqUosTpMi1JkpgN4oxkEakWLIxW8VIxULsJMCkKxUwJISJQ7wYyUW0RQYAMEsrArOyR5+gez293k3d33/Pa97+cz887svnvOPs95z3nP+32ec57nbcs55wQAAAVtU+8KAADQnARJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQratdYGbN29OL7zwQtppp51SW1tbrYsHAGAUOef0xhtvpL322itts83w/Y41D5IvvPBCmjFjRq2LBQCgoOeffz5Nnz592L/XPEjutNNOKaV3KjZ58uRaFw8AwCi6u7vTjBkzBnLbcGoeJPsvZ0+ePFmQBABoYKPdhmiwDQAAIYIkAAAhgiQAACGCJAAAIYIkAAAhgiQAACGCJAAAIYIkAAAhgiQAACGCJAAAIYIkAAAhgiQAACGCJAAAIYIkAAAhgiQAACGCJAAAIYIkAAAhgiQAACGCJAAAIYIkAAAhgiQAACGCJAAAIYIkAAAhgiQAACHb1rsC1E7OOfX29ta7GgBU0KRJk1JbW1u9q8E4JUiOEznntHDhwrRq1ap6VwWACurs7EwrVqwQJqkLl7bHid7eXiESoAWtXLnS1SbqRo/kONTV1ZU6OjrqXQ0AxqCnpydNmzat3tVgnBMkx6GOjg5BEgAYM5e2AQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIESQBAAgRJAEACBEkAQAIKRQkN23alL7yla+k2bNnpx122CG9+93vThdddFHKOVerfgAANKhtiyz89a9/PV155ZVp6dKl6YADDkgPPvhgWrx4cZoyZUo6++yzq1VHAAAaUKEguWrVqvSxj30sfeQjH0kppTRr1qx03XXXpfvvv78qlQMAoHEVurR9zDHHpOXLl6cnn3wypZTS6tWr07333ps+9KEPDbtOX19f6u7uHvIAAKD5FeqRPP/881N3d3eaO3dumjBhQtq0aVO6+OKL02mnnTbsOpdeemlasmTJmCsKAEBjKdQj+bOf/Sz99Kc/Tddee216+OGH09KlS9Nll12Wli5dOuw6F1xwQdqwYcPA4/nnnx9zpQEAqL9CPZL/+I//mM4///x06qmnppRSOvDAA9Pvf//7dOmll6ZPfepTJddpb29P7e3tY68pAAANpVCPZG9vb9pmm6GrTJgwIW3evLmilQIAoPEV6pH8i7/4i3TxxRenvffeOx1wwAHpkUceSd/61rfSpz/96WrVDwCABlUoSH7nO99JX/nKV9Lf//3fp3Xr1qW99tornXnmmemrX/1qteoHAECDass1/lqa7u7uNGXKlLRhw4Y0efLkWhY9rvX09KQdd9wxpZTSm2++mTo6OupcIwDGwnmdaio3r/mubQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCtq13BQBoLTnn1NvbW+9qtLyenp6SP1M9kyZNSm1tbfWuRkMRJAGomJxzWrhwYVq1alW9qzKuTJs2rd5VGBc6OzvTihUrhMlBXNoGoGJ6e3uFSFrWypUr9bZvQY8kAFXR1dWVOjo66l0NGLOenh69vsMQJAGoio6ODkESWpxL2wAAhAiSAACECJIAAIQUDpJ//OMf09/8zd+kqVOnph122CEdeOCB6cEHH6xG3QAAaGCFBtu89tprqbOzMy1atCjdfvvtabfddktPPfVU2nnnnatVPwAAGlShIPn1r389zZgxI1199dUDz82ePbvilQIAoPEVurR9yy23pCOOOCKdcsopaffdd0+HHnpo+sEPfjDiOn19fam7u3vIAwCA5lcoSK5duzZdeeWVaZ999kn//d//nf7u7/4unX322Wnp0qXDrnPppZemKVOmDDxmzJgx5koDAFB/bTnnXO7C22+/fTriiCOGfP3V2WefnR544IH0q1/9quQ6fX19qa+vb+D37u7uNGPGjLRhw4Y0efLkMVSdInp6etKOO+6YUkrpzTffNEkwUBXONbSi8Xhcd3d3pylTpoya1wr1SO65555p//33H/Lcfvvtl5577rlh12lvb0+TJ08e8gAAoPkVCpKdnZ3piSeeGPLck08+mWbOnFnRSgEA0PgKBckvfOEL6de//nW65JJL0tNPP52uvfba9P3vfz+dddZZ1aofAAANqlCQnD9/flq2bFm67rrr0rx589JFF12ULr/88nTaaadVq34AADSoQvNIppTSRz/60fTRj360GnUBAKCJ+K5tAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQgRJAABCBEkAAEIE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fvrpNGnSpBGX7+3tTe95z3vCZTTidjdrGY1Yp1qU0Yh1qkUZjVinWpQx2vL9OW3UKyS5gL6+vjxhwoS8bNmyIc9/8pOfzCeddFLJdS688MKcUvLw8PDw8PDw8Giyx/PPPz9iNizUI/nKK6+kTZs2bTWdwLRp09L//u//llznggsuSOeee+7A75s3b07r169PU6dOdUM5AEADyjmnN954I+21114jLlf1Udvt7e2pvb19yHN/9md/Vu1iAQAYgylTpoy6TKHBNrvuumuaMGFC6urqGvJ8V1dX2mOPPYrVDgCAplYoSG6//fbp8MMPT8uXLx94bvPmzWn58uXp6KOPrnjlAABoXIUvbZ977rnpU5/6VDriiCPSggUL0uWXX556enoGRnEDADA+FA6Sn/jEJ9LLL7+cvvrVr6aXXnopHXLIIekXv/iF7/MEABhn2rKvUAAAICD0FYkAACBIAgAQIkgCABAiSAIAECJIjsHrr78+5v/xve99b+wVaQCvvfZaoeVffvnldOedd6YXX3xxxOXWrl2b7r777nT33XentWvXjrhsT09P2rhxY0oppfXr16fly5enP/zhD4XqVS2PPvpo+s///M906623jrodANA0Rvwm7nHmZz/72cDPL7/8cv7whz+cJ0+enN/3vvfl3//+91stv9122+WTTjop33LLLXnTpk2j/v+bb755q8e0adMGfq6Ep59+Oh933HF59uzZ+Qtf+EL+05/+NPC3o446qiJlPPLII/nggw/Ohx56aF6zZk3+8Ic/nHfYYYc8Y8aMvHr16pLrnH766bmrqyvnnPPy5cvzrrvumufPn5932223vGzZsq2W/+1vf5vnz5+f99hjj7xgwYK8YMGCvMcee+T58+fnNWvWbLX80qVL88SJE/P06dPz8uXL85577pnnz5+fp06dmq+//vqKbHfOOW/cuDEvX748X3311fnqq6/Oy5cvzxs3bhx2+dWrV+d58+blyZMn52222SbPmzcv77zzzvmv/uqv8oYNGypWr4hSx+z69evrUJPSRqtL0X1Rype//OUR//7mm2/mt99+O+ec86uvvprvuOOO/Pzzz4+4zltvvZWXLVuW//Vf/zV/5zvfyXfeeeeo9XjmmWfyXXfdle+66678zDPPlL8BObbPrrrqqsLrjOS1116r6P8bzdtvv50ffvjh/Prrr5e9zmOPPZb//d//PT/wwAMl//6b3/wmXJ9HHnkkL1u2LP/85z8fcf9Fynj88ccHzp2PP/54/uEPf5h//etfj7hO5Bgcy/mgnOUi2zEWkWNktPPBlkY7pirplVdeKWu5devW5eXLl+cXXnihamVsqSGD5D777FPWcuWcDIt8EBx66KEDP3/mM5/J5513Xn7xxRfzN7/5zXzyySdvtfycOXPyZZddlvfbb7+855575vPOOy8/8cQTw9alra0tH3PMMfm4444beEycODEfd9xxedGiRaNuSzlOPPHEfMUVV+QHH3wwn3766fmYY47J3d3dOeecDznkkIqU8d73vjcvW7YsX3311XnvvffOP/nJT3LOOS9btiz/+Z//ecl1DjrooCHrP/LIIznnnNeuXVuyXgsWLMg33XTTVs/feOONef78+Vs9f+CBB+Znn302r169Ok+ZMmXgjf3UU08NKXsko70B77nnnjx9+vR85JFH5o9//OP54x//eF6wYEGePn16/uUvf1lynaOPPjqvWLEi5/xOQ+Lzn/987uvry1/60pfyJz/5ybLqVa5yP8weeOCBPGvWrLz99tvnk08+Oa9bt27gb4PfA6MZ6cOjaLAo2jiJ7Itvf/vbWz2mTp068POWIo2TO++8M++99975oIMOyu3t7fmEE07I++23X54/f37+wx/+sNXyRRtMl19++cDPa9euzfvvv3+eOHFinjVrVn7sscdK1qloAzbSGC3aqC7aaF++fHneZZdd8tSpU/Pdd9+d58+fn+fOnTvweynHH3/8QHC54YYb8l577ZVPOeWUPHPmzJKfHW1tbfmggw7K3/72t/Orr7466jbkXLyhWLSMf/mXf8m77757njFjRr7mmmvyjBkz8imnnJL33nvvIcfCYEWPwaLng8gxGNmOfuU2sooeI0XPBzkXP6ZGUm7O6TdjxoySzxftpImUMZq6BcnVq1cP+9hjjz22Wj7Sm1f0g2BwoDnooIOG9G6UCiOD32QrV67Mf/u3f5t32mmnfOyxx+alS5dutfyPfvSjfMwxx+SHH3544LlZs2YN8wq9o+gJd8tQdvHFF+f58+fn119/fdiQUPSDY3AZWx54Bx98cMkyBr9pjjjiiCF/O/DAA7dafs6cOSX/z3B/G1ynmTNnDvu3wYq+AQ888MCSLc/7778/z5s3r2QZW74eg7e96IlkuOWLfpgtXLgw33rrrfmVV17JX/7yl/PcuXMHPmCGe62KBr2iwaJo4ySyLyZMmJBPOumkfMYZZww8dtxxx3zGGWfkxYsXlyyjaOPk0EMPzU8++eRAXU4//fScc87f//7388c+9rGtli/aYBr8Hj711FPzFVdckXPO+aabbsonnHBCyToVbcBGGqNFG9VFG+0LFizIjzzySL7rrrvy1KlT8/Lly3POOd9333154cKFJcsYfF456qij8rPPPptzfqdDodQ5Z968efmmm27KH/rQh3JHR0f+xCc+kf/nf/5n2G3IuXhDsWgZ+++/f16/fn1+7rnn8qRJk/LatWtzzu98FhxwwAEl1yl6DBY9H0SOwch2FG1kFT1Gip4Pci5+TFUi5/Q/dtttt5J1KtpJEyljNHULkm1tbXn27Nl51qxZWz222267kssX7c0r+kEwd+7c/Nhjj+XVq1dvFQBKBaRSwezNN9/MP/zhD3NnZ2fJOj377LP5hBNOyEuWLMkbN27Ms2fPLrlcqTLKOeHuu+++Wz33jW98Ix9++OH5Pe95T8kyin5wDH4ttjxZDvcB+7nPfS6fffbZ+Y033sjnn39+/o//+I+8efPm/F//9V8l998xxxyTf/KTnwwJIZs2bco//vGP89FHH73V8ocddlhes2ZNXrFiRd51113zvffem3N+5xJKqTf4lnUt5w04UvAb7m9HHHFEfvzxx3POOf/qV7/K73vf+wb+Nnfu3K2WL3riybn4h9mW23bNNdfkOXPm5Oeee27YxkbRoFc0WBRtnET2xfLly/OCBQvyz3/+84HnRmrIRRonW9b1sMMOG/i5VAOoaINp8P7Z8r02XCOuaAM20hgt2qgu2mgfvPy73/3uEevbb86cOQP/98gjjxzyt1KNjcHb8Nxzz+WLLroov+td78ozZ87MS5YsKVlG0YZi0TIGL7/33nsP+VuljsGi54PIMRjZjqKNrKLHSNHzQc7Fj6miOWebbbbJixYtGpJzBuedUop20kTKGE3dguSsWbPyH//4x5J/mz59+lbPRXrzin4QzJw5c8hO778EPtwJNHqpePPmzfmyyy7LRx99dN5rr71GXLboCffkk0/Ot99++1bPf/Ob38xtbW2jlpHz6B8cJ554YsmerhdeeCEvWLCgZBl9fX35nHPOyZMnT86zZs3KbW1tedttt80f+MAHBlqngz311FP5+OOPz1OmTMlz587Nc+fOzVOmTMmLFi0qGUhuu+22vMsuu+Rdd90133HHHfm4447L++67b548efKwlyGLvgE/+MEP5iVLlgz0Yuacc1dXV/6nf/qnfOKJJ5Ys4/bbb89Tp07N++67b951110HLrG8+OKL+bOf/exWyxc98eRc/MNszpw5W/USXn/99XmfffbZ6iTfr2jQKxosijZOIvsi55w3bNiQTz/99HzGGWfkDRs2jNiQizROOjs7B+5Hu/HGG/MHP/jBgb+V+hAv2mCaPXt2vuWWW/LNN9+c99tvvyF/G+kWjiIN2EhjtGijumijffC2nX/++UP+Nty+uPDCC/Nf/uVf5qeeeip/4xvfyF/72tfy7373u/zd7343n3TSSWVtQ84533HHHfmv//qvS/6taEOxaBlHHXVUvvXWW/M111yTZ86cOXAuu/POO/Phhx9e8n8VPQaLng8ix2BkO4o2siLHSJHzQc7Fj6miOWfffffNv/vd78pePufinTSRMkZTtyB59tlnD/SibOnMM88s+XzR3rzIB0EpPT09JcNOuffRDGfNmjX5yiuvHHGZoifct956K7/11lsl/1ep+2Nyjn1wlPL666+XvNw+WE9PT37sscfyww8/XNaNvevWrcsPPfRQfuihh4bcuzOajRs35gcffHBI0NhS0TfgunXr8uLFi/OOO+6YJ06cmCdOnJh33HHHvHjx4hHLee211/KDDz5Y1uCaoieenIt/mC1evHhIK7zfDTfcUFZYLSfoFQ0WRRsn69aty5/+9KcL74t+N954Yz7kkEOG7eXNuXTjZM6cOSM2Tu6///48ffr03N7enmfPnj1wz9iLL75Yssepv8E0efLkPHfu3IHGz3ANpve9731DehD639NdXV1bNYa2VG4DthKN0dHMnDlzSCNptEb74sWLSx4fTz/99LBXf3J+536+6dOn5+222y63tbXlyZMn5zPPPLPkuXvLHqZyFG0oFi3jvvvuy4ccckg+7LDD8qOPPppPPfXU3N7enqdOnZrvuOOOkuv0H4MTJ04s6xgsej6IHIOltmPixIlDLkFvqWgjK3qM5Fze+aBfkWOqaM655JJLhh2487Wvfa3k80U7aSJljKYhB9uMpEhv3ki9VNddd12Najw2RXtJIyIfHK2g6BtwsFdffXXMDYlSIg2soh9mEUWDXiUGdq1fv76sxkn/vhitUball156KX/3u98te/mNGzfm++67r6wGTdHRj9EG0+C69fT0lLXsmjVr8iWXXDLs3996663c19c35Ln+gVXDNUZLvReKjiZfv3597u3tHfW91++qq67KGzduzL29vaMu293dndevX1/4GClnAMWWDcVqz3zwyiuvlHXf8eBjsOhAkMjymzZtKvsYzDnniy66aMTtKHpVajhvv/32kPv+h/PSSy/l2267rez/239MFVWt42NwJ03Rc8hYZ3FouiDZr5zevC2V00vVLHp6eobtni4q0ovZSsrtJa3F1EpRRXo9n3nmmYptx+uvv56fe+65rZ4vGrIfffTRYQfzlBoJOtzgu/5LbqUUHbDXP8Co/8rGaHXK+Z3XdtGiRWW/tkUHMRX9/5Eyiu6L0dYZqYxyX9vIYMuix0ikjJFe21LbUfS9F9nfRbej2suPtM5I79d+5Tayir62kfN50XWKvpci5+ZS56lJkyYN+96rxjSETRskBys6+jW6TqOpxTa0wusUUWq7azG1UtE6Rdap9HZUYvR50cE8kcF3RdeJTHNV9LUtWkZk3xUtI7Ld1S6jFvs7Uka1919kf1d7u2uxL0ZTifNa5LVthfd3NaYhbJogGRnNGlmn0dRiG1rhdYoout2R0azVrlOttqNoGWOpUzmDeSKD78Yyerncaa6KvrZFy4jsu7GUEdnuapRRi/091gGd1dh/kf1d7e2uxb7IufrntbG+l4qW0Sjv78i+GM229f5mnXIdcsghadasWSnnvNXfXn311Yqt02hqsQ2t8DpFFN3uP/3pT0N+/+IXv5i233779P73vz+98cYbdalTZJ3IdhQto+jyg5dbtGjRsH/rt3jx4nT88cenz3zmM+nYY49NX/rSl1JbW1vJukfXKVqnlIq/tkXLiOy7omVEtrvaZdRif0fKqPb+i+zvam93LfZFStU/r0Ve21Z4f0f2xajGFENrKDKaNbJOo6nFNrTC6xRRdLtrMSipFsd5ZDuKllF0+ciUUjkXG3xXdJ1InYq+tkXLiOy7omVEtrsWZeRc3f0dWb7a+28s55xqbndk+aLrVPu8FnltW+H93S+y/4bTNEEyMpo1sk6jqcU2tMLrFFF0u2sxKKkWx3lkO4qWUaljqpxR2znHBt9F1hmtTpU6RoYro5LHYLmvbXT5apZRi/0dPT5yrtz+q8T+rvZ2V2tfVPu8FnltW/H9PZbjvF9bzsNcqwAAgBFsU+8KAADQnARJAABCBEkAAEIESQAAQgRJAABCBEkAAEIESQAAQv4PMO1PvQQBXosAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "cargs = {'color_threshold':-np.inf,\n", " 'above_threshold_color':'black'}\n", @@ -2125,7 +1033,7 @@ "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", "dendrogram(linkage_comp,\n", " ax=ax,\n", - " **cargs);\n" + " **cargs);" ] }, { @@ -2141,34 +1049,16 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": null, "id": "b1ff41c0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:19.295154Z", - "iopub.status.busy": "2023-07-26T00:00:19.295014Z", - "iopub.status.idle": "2023-07-26T00:00:19.548973Z", - "shell.execute_reply": "2023-07-26T00:00:19.548621Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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NgDQBEbbqQxqQYskADQZncpoFIIkADQZncpoFIIkQI242w4w3mUFyf/4j/9Il156adq8eXM66qij0he+8IW0bNmyatcNoGm52w4wERTubHPNNdekc889N11wwQVp/fr16aijjkqvec1r0tatW2tRP4CmpGMEMBEUbpH87Gc/m9797nenVatWpZRS+tKXvpR+8pOfpCuvvDKdd955e0zf3d2duru7+//fvn17Simljo6Ov0y0ozOl7kj/74WUpu4avhJFpx+LMhqxTimlrp1daVdp1/+bpSP1TOmp6/TjpYxGrNNYlDEWdert6krP7PrL9K09I5dRdJ5aT7/7PAf/7/+XWqdNG376Z59ND776pOwyGnG9m7WMRqzTWJTRiHVKKaWd3btSaUdn/zxT2ibVdfrxUsZI0/fltIgYvqJRQHd3d0yaNCnWrFkz6PkzzzwzTjnllLLzXHDBBZFS8vDw8PDw8PDwaLLHpk2bhs2GhVokH3/88bRr16603377DXp+v/32S//3f/9Xdp7zzz8/nXvuuf3/9/b2pm3btqXZs2f7DRAAQAOKiPT000+nAw88cNjpat5ru62tLbW1tQ167q/+6q9qXSwAAKMwa9asEacp1Nlmn332SZMmTUpbtmwZ9PyWLVvS/vvvX6x2AAA0tUJBcurUqeklL3lJWrt2bf9zvb29ae3atem4446reuUAAGhchS9tn3vuuentb397OuaYY9KyZcvS5z73udTZ2dnfixsAgImhcJB8y1vekh577LH08Y9/PG3evDkdffTR6ac//ekeHXAAABjfWmLEAYIAAGBPhe9sAwAAKQmSAABkEiQBAMgiSAIAkEWQHIWnnnpq1Mv48pe/PPqKNIAnn3yy0PSPPfZYuvHGG9Ojjz467HQbN25M69atS+vWrUsbN24cdtrOzs7U09OTUkpp27Ztae3atelPf/pToXrVyl133ZX+67/+K1133XUjrgcANI1h78Q9wVx77bX9fz/22GPxute9LmbOnBmveMUr4qGHHtpj+ilTpsQpp5wSP/rRj2LXrl0jLv+HP/zhHo/99tuv/+9qeOCBB2LlypWxYMGCeP/73x+lUqn/tWOPPbYqZWzYsCGOOuqoWLx4cdx7773xute9Ltrb22Pu3Llx9913l53njDPOiC1btkRExNq1a2OfffaJpUuXxgte8IJYs2bNHtP/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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", "dendrogram(linkage_comp,\n", " ax=ax,\n", " color_threshold=4,\n", - " above_threshold_color='black');\n" + " above_threshold_color='black');" ] }, { @@ -2183,32 +1073,12 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": null, "id": "c2752a96", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:19.550816Z", - "iopub.status.busy": "2023-07-26T00:00:19.550684Z", - "iopub.status.idle": "2023-07-26T00:00:19.554671Z", - "shell.execute_reply": "2023-07-26T00:00:19.554335Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 2,\n", - " 0, 2, 2, 3, 2, 3, 3, 3, 3, 2, 3, 3, 3, 3, 2, 3, 3, 3, 3, 2, 3, 3,\n", - " 3, 3, 3, 3, 3, 3]])" - ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cut_tree(linkage_comp, n_clusters=4).T\n" + "metadata": {}, + "outputs": [], + "source": [ + "cut_tree(linkage_comp, n_clusters=4).T" ] }, { @@ -2225,79 +1095,12 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": null, "id": "1407f7a4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:19.556459Z", - "iopub.status.busy": "2023-07-26T00:00:19.556356Z", - "iopub.status.idle": "2023-07-26T00:00:19.560257Z", - "shell.execute_reply": "2023-07-26T00:00:19.559863Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[0],\n", - " [0],\n", - " [0],\n", - " [0],\n", - " [0],\n", - " [0],\n", - " [0],\n", - " [0],\n", - " [0],\n", - " [0],\n", - " [1],\n", - " [0],\n", - " [0],\n", - " [0],\n", - " [0],\n", - " [0],\n", - " [0],\n", - " [0],\n", - " [0],\n", - " [0],\n", - " [0],\n", - " [1],\n", - " [0],\n", - " [1],\n", - " [1],\n", - " [2],\n", - " [1],\n", - " [2],\n", - " [2],\n", - " [2],\n", - " [2],\n", - " [1],\n", - " [2],\n", - " [2],\n", - " [2],\n", - " [2],\n", - " [1],\n", - " [2],\n", - " [2],\n", - " [2],\n", - " [2],\n", - " [1],\n", - " [2],\n", - " [2],\n", - " [2],\n", - " [2],\n", - " [2],\n", - " [2],\n", - " [2],\n", - " [2]])" - ] - }, - "execution_count": 44, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cut_tree(linkage_comp, height=5)\n" + "metadata": {}, + "outputs": [], + "source": [ + "cut_tree(linkage_comp, height=5)" ] }, { @@ -2311,28 +1114,10 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": null, "id": "2d74f224", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:19.561978Z", - "iopub.status.busy": "2023-07-26T00:00:19.561852Z", - "iopub.status.idle": "2023-07-26T00:00:19.829118Z", - "shell.execute_reply": "2023-07-26T00:00:19.828758Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAApIAAAKqCAYAAACJob6mAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABEAklEQVR4nO3deXxddZ0//ndaSkrTJkBXsKUtRahQ1kJZurBq3UAQ6aAzQIuC44NFRB3t1wU6sugIDo4IuKLiKAxLFXHQkbK0tqJsgqCDbKWsKVDaQgKFtp/fH/ySSZqbJueT7SZ5Ph+P+3gk957lc+4593Nfn88553MrUkopAACgoAE9XQAAAHonQRIAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBkrI3YcKEmDt3bk8XI8u5554bFRUV8eKLL7Y5bVdvZ0VFRZx77rmdusy5c+fGhAkTOnWZ3WX58uVRUVERP/rRj3q6KO1W5P2eO3duDB06tGsL1AU6+zi9/fbbo6KiIm6//fZOWybwfwRJutWPfvSjqKioiLvvvrvk64ccckhMmTKlm0vFptauXRsLFiyIPffcM4YOHRpbbbVVTJkyJT73uc/Fs88+223luOyyy3pV0Otu9fX1ce6553ZJSNq4cWP85Cc/if333z+23XbbGDZsWOy8885x4oknxp133tnp6+tpDXVTqcfnP//5LlnnsmXL4txzz43Vq1d3yfKhO2zR0wWAtjz88MMxYEDfb/OUy3Y+/vjjccQRR8SKFSviuOOOi1NPPTW23HLLeOCBB+IHP/hBLFy4MP7+9793S1kuu+yyGDFiRJf01I4fPz5ee+21GDRoUKcvu6t873vfi40bNzb+X19fHwsWLIiItxphnenMM8+Mb3/72/GBD3wg/vEf/zG22GKLePjhh+Pmm2+OHXfcMQ444IBOXV+5+Nd//deYOHFis+e6qnG7bNmyWLBgQcydOze23nrrLlkHdDVBkrJXWVnZactav359bNy4MbbccsseXUYpnbmdudavXx8f/OAHo7a2Nm6//faYMWNGs9fPP//8+NrXvtZDpescTfff4MGDe7o4hXRX6K2trY3LLrssTjnllPjud7/b7LVLLrkkXnjhhW4pR094z3veE/vuu29PF6ND6urqoqqqqqeLQT/R890f0IZS1w6uXr06zjrrrBg3blxUVlbGTjvtFF/72tea9dY0XAN30UUXxSWXXBKTJk2KysrK+Otf/xpvvPFGfPnLX46pU6dGTU1NVFVVxcyZM+O2225rtp7NLSMi4n//939jzpw5MXLkyNhqq61il112iS984QsttmH16tWNvQ41NTUxb968qK+vb9d2fupTn4oJEyZEZWVljB07Nk488cTGay7bux3tdf3118f9998fX/jCF1qEyIiI6urqOP/881udv7Xr0Updj/j888/HvHnzYuzYsVFZWRnbbbddfOADH4jly5c3vh8PPfRQ3HHHHY2nGJv2unX0GChVpobrCp955pk4+uijY+jQoTFy5Mj4zGc+Exs2bGi2TS+99FKccMIJUV1dHVtvvXWcdNJJcf/997d53eXq1atj4MCB8R//8R+Nz7344osxYMCAGD58eKSUGp//xCc+EWPGjGlWvoZrJJcvXx4jR46MiIgFCxY0vkebXl/Ynm3Z1BNPPBEppZg+fXqL1yoqKmLUqFEttqkrj9NnnnkmTj755Bg9enRUVlbGbrvtFj/84Q9bTPf000/H0UcfHVVVVTFq1Kj41Kc+FevWrWvXOtrr5ptvjpkzZ0ZVVVUMGzYs3ve+98VDDz3UbJoHHngg5s6dGzvuuGMMHjw4xowZEyeffHK89NJLjdOce+658dnPfjYiIiZOnNi4/5YvX77Z63c33ccN12H/9a9/jY985COxzTbbNPvs/vSnP42pU6fGVlttFdtuu20cf/zx8dRTTzVb5iOPPBLHHntsjBkzJgYPHhxjx46N448/PtasWdMJ7xh9nR5JesSaNWtK3oDy5ptvtjlvfX19HHzwwfHMM8/Exz/+8dhhhx1i2bJlMX/+/HjuuefikksuaTb9lVdeGa+//nqceuqpUVlZGdtuu22sXbs2vv/978eHP/zhOOWUU+KVV16JH/zgBzF79uz405/+FHvttVeby3jggQdi5syZMWjQoDj11FNjwoQJ8dhjj8WvfvWrFmFrzpw5MXHixLjwwgvj3nvvje9///sxatSozfbuvfrqqzFz5sz429/+FieffHLss88+8eKLL8aNN94YTz/9dIwYMaLwdrTlxhtvjIiIE044odB8OY499th46KGH4owzzogJEybEypUr43e/+12sWLEiJkyYEJdcckmcccYZMXTo0MZwPnr06IjonGOgaeBsasOGDTF79uzYf//946KLLopbbrklLr744pg0aVJ84hOfiIi3rh888sgj409/+lN84hOfiMmTJ8cvf/nLOOmkk9rc7q233jqmTJkSixcvjjPPPDMiIn7/+99HRUVFrFq1Kv7617/GbrvtFhERS5YsiZkzZ5ZczsiRI+Pyyy+PT3ziE3HMMcfEBz/4wYiI2GOPPQptSynjx4+PiIhrr702jjvuuBgyZEir03b1cVpbWxsHHHBAVFRUxOmnnx4jR46Mm2++OT760Y/G2rVr46yzzoqIiNdeey0OP/zwWLFiRZx55pmx/fbbx1VXXRW33nprq8supVTdNGLEiIiIuOqqq+Kkk06K2bNnx9e+9rWor6+Pyy+/PGbMmBH33XdfY8j/3e9+F48//njMmzcvxowZEw899FB897vfjYceeijuvPPOqKioiA9+8IPx97//PX7+85/Hv//7vzeuY+TIkVk9vscdd1y8/e1vjwsuuKCxMXL++efHl770pZgzZ0587GMfixdeeCG+9a1vxaxZs+K+++6LrbfeOt54442YPXt2rFu3Ls4444wYM2ZMPPPMM3HTTTfF6tWro6ampnBZ6GcSdKMrr7wyRcRmH7vttluzecaPH59OOumkxv+/8pWvpKqqqvT3v/+92XSf//zn08CBA9OKFStSSik98cQTKSJSdXV1WrlyZbNp169fn9atW9fsuZdffjmNHj06nXzyyY3PbW4Zs2bNSsOGDUtPPvlks+c3btzY+Pc555yTIqLZMlNK6ZhjjknDhw/f7HZ++ctfThGRbrjhhrSphnW0dztSSiki0jnnnNNiWU3tvffeqaamZrPTNHXSSSel8ePHN/5/2223pYhIt912W7PpGt7HK6+8srGMEZG+/vWvb3b5u+22Wzr44INbPN8Zx8CmZWrYnohI//qv/9ps2r333jtNnTq18f/rr78+RUS65JJLGp/bsGFDOuyww1oss5TTTjstjR49uvH/s88+O82aNSuNGjUqXX755SmllF566aVUUVGRvvnNbzYrX9P3+4UXXmh1v7Z3W1pz4oknpohI22yzTTrmmGPSRRddlP72t7+1mK6rj9OPfvSjabvttksvvvhis+mOP/74VFNTk+rr61NKKV1yySUpItJ//dd/NU5TV1eXdtppp5LH5KY2VzellNIrr7yStt5663TKKac0m+/5559PNTU1zZ5vKFNTP//5z1NEpMWLFzc+9/Wvfz1FRHriiSeaTVvq2Gzt/WmoYz784Q83m2758uVp4MCB6fzzz2/2/F/+8pe0xRZbND5/3333pYhI1157betvDmyGU9v0iG9/+9vxu9/9rsWjaW9Ka6699tqYOXNmbLPNNvHiiy82Po444ojYsGFDLF68uNn0xx57bOMpwAYDBw5svMZx48aNsWrVqli/fn3su+++ce+997ZY56bLeOGFF2Lx4sVx8sknxw477NBs2oqKihbz//M//3Oz/2fOnBkvvfRSrF27ttXtvP7662PPPfeMY445psVrDesouh1tWbt2bQwbNqzwfEVttdVWseWWW8btt98eL7/8cuH5O+MY2JxS++vxxx9v/P83v/lNDBo0KE455ZTG5wYMGBCnnXZau5Y/c+bMqK2tjYcffjgi3up5nDVrVsycOTOWLFkSEW/1UqaUWu2R7Kxtac2VV14Zl156aUycODEWLlwYn/nMZ+Id73hHHH744fHMM880TteVx2lKKa6//vo48sgjI6XUbF/Pnj071qxZ0zj/f//3f8d2220XH/rQhxrnHzJkSJx66qltbmtTpeqmiLd6GVevXh0f/vCHm5Vj4MCBsf/++zc7Tb/VVls1/v3666/Hiy++2HhzUs7nsj023c833HBDbNy4MebMmdOsvGPGjIm3v/3tjeVt6HH87W9/2+JyG2gPp7bpEdOmTSt5QXtDMNicRx55JB544IFWg8HKlSub/b/pHZgNfvzjH8fFF18c//u//9vslHqp6Td9ruGLuL13c24aNrfZZpuIiHj55Zejurq65DyPPfZYHHvssW0uu8h2tKW6urpdIaOjKisr42tf+1p8+tOfjtGjR8cBBxwQ73//++PEE09sdk1gazrrGChl8ODBLZa7zTbbNAu8Tz75ZGy33XYtTvnutNNO7VpHQzhcsmRJjB07Nu67774477zzYuTIkXHRRRc1vlZdXR177rlnu8uesy2taQjGp512Wrz00kuxdOnSuOKKK+Lmm2+O448/vjHwduVx+sILL8Tq1avju9/9boubfho07Osnn3wydtpppxYNuV122aXNsjXVWt30yCOPRETEYYcdVnK+pp/jVatWxYIFC+Lqq69ucSx21XWHm76PjzzySKSU4u1vf3vJ6Rtu3Jo4cWKcffbZ8Y1vfCP+8z//M2bOnBlHHXVU/NM//ZPT2rSLIEmvs3HjxnjnO98Z//Iv/1Ly9Z133rnZ/017Bxr89Kc/jblz58bRRx8dn/3sZ2PUqFExcODAuPDCC+Oxxx5rMX2pZRQxcODAks+nJjdW5Ci6HW2ZPHly3HffffHUU0/FuHHjCs9fqjc2Ikre3HHWWWfFkUceGb/4xS/it7/9bXzpS1+KCy+8MG699dbYe++9N7uezjgGWtPavupM22+/fUycODEWL14cEyZMiJRSHHjggTFy5Mj45Cc/GU8++WQsWbIkDjrooA4NCdVZ2zJ8+PA46qij4qijjopDDjkk7rjjjnjyyScbr6VsS+5x2nAd6z/90z+1ev1pe85idIaGslx11VUlGztbbPF/X6dz5syJZcuWxWc/+9nYa6+9YujQobFx48Z497vf3eq1uU0V+Rw12PQY37hxY1RUVMTNN99c8jhoOlj9xRdfHHPnzo1f/vKX8T//8z9x5plnxoUXXhh33nlnjB07ts3y0r8JkvQ6kyZNildffTWOOOKI7GVcd911seOOO8YNN9zQrNI+55xz2jX/jjvuGBERDz74YHYZ2jJp0qQ2l9/R7djUkUceGT//+c/jpz/9acyfP7/w/A09rZsOsPzkk0+WnH7SpEnx6U9/Oj796U/HI488EnvttVdcfPHF8dOf/jQiWv9C7YxjoCPGjx8ft912W9TX1zfrlXz00UfbvYyZM2fG4sWLY+LEibHXXnvFsGHDYs8994yampr4zW9+E/fee2/jGJGtae396Ur77rtv3HHHHfHcc8/F+PHju/Q4HTlyZAwbNiw2bNjQ5r4eP358PPjgg5FSaraOhssHOmrSpEkRETFq1KjNluXll1+ORYsWxYIFC+LLX/5y4/MNPZpNtbb/in6OWitvSikmTpzYomFVyu677x677757fPGLX4xly5bF9OnT44orrojzzjuv3eukf3KNJL3OnDlz4g9/+EP89re/bfHa6tWrY/369W0uo6GF3rRH8I9//GP84Q9/aFcZRo4cGbNmzYof/vCHsWLFimavdbSXscGxxx4b999/fyxcuLDFaw3r6Oh2bOpDH/pQ7L777nH++eeXXMYrr7xScnijBuPHj4+BAwe2uEbxsssua/Z/fX19vP76682emzRpUgwbNqzZcC1VVVUlf/WjM46Bjpg9e3a8+eab8b3vfa/xuY0bN8a3v/3tdi9j5syZsXz58rjmmmsaT3UPGDAgDjrooPjGN74Rb775ZpvXRzaE2M7+ZZTnn3++cYirpt54441YtGhRDBgwoPE0flcepwMHDoxjjz02rr/++pJhtendze9973vj2Wefjeuuu67xufr6+lZPiRc1e/bsqK6ujgsuuKDk6BINZSm1rRHRYiSBiGgc63HT/VddXR0jRoxo83O0OR/84Adj4MCBsWDBghZlSSk1DkW0du3aFp+X3XffPQYMGNDpQyfRN+mRpNf57Gc/GzfeeGO8//3vj7lz58bUqVOjrq4u/vKXv8R1110Xy5cvbxxKozXvf//744Ybbohjjjkm3ve+98UTTzwRV1xxRey6667x6quvtqsc//Ef/xEzZsyIffbZJ0499dSYOHFiLF++PH7961/Hn//8507Zzuuuuy6OO+64OPnkk2Pq1KmxatWquPHGG+OKK66IPffcs1O2o6lBgwbFDTfcEEcccUTMmjUr5syZE9OnT49BgwbFQw89FD/72c9im222aXUsyZqamjjuuOPiW9/6VlRUVMSkSZPipptuanGd2N///vc4/PDDY86cObHrrrvGFltsEQsXLoza2to4/vjjG6ebOnVqXH755XHeeefFTjvtFKNGjYrDDjusU46Bjjj66KNj2rRp8elPfzoeffTRmDx5ctx4442xatWqiGhfT2FDSHz44YfjggsuaHx+1qxZcfPNN0dlZWXst99+m13GVlttFbvuumtcc801sfPOO8e2224bU6ZM6fAvsTz99NMxbdq0OOyww+Lwww+PMWPGxMqVK+PnP/953H///XHWWWc1vr9dfZx+9atfjdtuuy3233//OOWUU2LXXXeNVatWxb333hu33HJL43t+yimnxKWXXhonnnhi3HPPPbHddtvFVVddtdmhi4qorq6Oyy+/PE444YTYZ5994vjjj4+RI0fGihUr4te//nVMnz49Lr300qiuro5Zs2bFv/3bv8Wbb74Zb3vb2+J//ud/4oknnmixzKlTp0ZExBe+8IU4/vjjY9CgQXHkkUdGVVVVfOxjH4uvfvWr8bGPfSz23XffWLx4caFflJo0aVKcd955MX/+/Fi+fHkcffTRMWzYsHjiiSdi4cKFceqpp8ZnPvOZuPXWW+P000+P4447LnbeeedYv359XHXVVY0hHtrU7feJ0681DLFx1113lXz94IMPbnP4n5TeGopj/vz5aaeddkpbbrllGjFiRDrooIPSRRddlN54442U0v8NoVFqiJmNGzemCy64II0fPz5VVlamvffeO910000thlfZ3DJSSunBBx9MxxxzTNp6663T4MGD0y677JK+9KUvNb7eMDTHCy+8UPJ9aDrsR6ntfOmll9Lpp5+e3va2t6Utt9wyjR07Np100kmNQ6G0dztSat/wPw1efvnl9OUvfzntvvvuaciQIWnw4MFpypQpaf78+em5555rnK7Uel544YV07LHHpiFDhqRtttkmffzjH08PPvhgs+FMXnzxxXTaaaelyZMnp6qqqlRTU5P233//ZkO3pPTW0Crve9/70rBhw1JENBsKqKPHQGvD/1RVVbWYtmE/brqdH/nIR9KwYcNSTU1Nmjt3blq6dGmKiHT11Ve3521Oo0aNShGRamtrG5/7/e9/nyIizZw5s8X0pd7vZcuWpalTp6Ytt9yy2T4usi2bWrt2bfrmN7+ZZs+encaOHZsGDRqUhg0blg488MD0ve99r9kQVyl1/XFaW1ubTjvttDRu3Lg0aNCgNGbMmHT44Yen7373u82me/LJJ9NRRx2VhgwZkkaMGJE++clPpt/85jeFhv9prW5qcNttt6XZs2enmpqaNHjw4DRp0qQ0d+7cdPfddzdO8/TTTzfWCzU1Nem4445Lzz77bMlt+8pXvpLe9ra3pQEDBjSrE+rr69NHP/rRVFNTk4YNG5bmzJmTVq5c2erwP5vWMQ2uv/76NGPGjFRVVZWqqqrS5MmT02mnnZYefvjhlFJKjz/+eDr55JPTpEmT0uDBg9O2226bDj300HTLLbds9n2ABhUpddJ5OIB+7he/+EUcc8wx8fvf/77kr8IA9DWCJECG1157rdmdshs2bIh3vetdcffdd8fzzz/f4Tv9AXoD10gCZDjjjDPitddeiwMPPDDWrVsXN9xwQyxbtiwuuOACIRLoN/RIAmT42c9+FhdffHE8+uij8frrr8dOO+0Un/jEJ+L000/v6aIBdBtBEgCALMaRBAAgiyAJAECWbr/ZZuPGjfHss8/GsGHDeuTnvQAA2LyUUrzyyiux/fbbx4ABrfc7dnuQfPbZZ2PcuHHdvVoAAAp66qmnYuzYsa2+3u1BctiwYRHxVsGqq6u7e/UAALRh7dq1MW7cuMbc1ppuD5INp7Orq6sFSQCAMtbWZYhutgEAIIsgCQBAFkESAIAsgiQAAFkESQAAsgiSAABkESQBAMgiSAIAkEWQBAAgiyAJAEAWQRIAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBEgCALIIkAABZBEkAALIIkgAAZBEkAQDIIkgCAJBli54uQH+TUor6+vqeLgZA2RgyZEhUVFT0dDGADIJkN0opxYwZM2LZsmU9XRSAsjF9+vRYsmSJMAm9kFPb3ai+vl6IBNjE0qVLnamBXkqPZA+pra2Nqqqqni4GQI+pq6uL0aNH93QxgA4QJHtIVVWVIAkA9GpObQMAkEWQBAAgiyAJAEAWQRIAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBEgCALIIkAABZBEkAALIIkgAAZBEkAQDIIkgCAJBFkAQAIIsgCQBAFkESAIAsgiQAAFkESQAAsgiSAABkESQBAMgiSAIAkEWQBAAgiyAJAEAWQRIAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBEgCALIIkAABZBEkAALIIkgAAZBEkAQDIIkgCAJBFkAQAIIsgCQBAFkESAIAsgiQAAFkESQAAsgiSAABkESQBAMgiSAIAkEWQBAAgS4eC5Fe/+tWoqKiIs846q5OKAwBAb5EdJO+66674zne+E3vssUdnlgcAgF4iK0i++uqr8Y//+I/xve99L7bZZpvOLhMAAL1AVpA87bTT4n3ve18cccQRbU67bt26WLt2bbMHAAC93xZFZ7j66qvj3nvvjbvuuqtd01944YWxYMGCwgUDAKC8FeqRfOqpp+KTn/xk/Od//mcMHjy4XfPMnz8/1qxZ0/h46qmnsgoKAEB5KdQjec8998TKlStjn332aXxuw4YNsXjx4rj00ktj3bp1MXDgwGbzVFZWRmVlZeeUFgCAslEoSB5++OHxl7/8pdlz8+bNi8mTJ8fnPve5FiESAIC+q1CQHDZsWEyZMqXZc1VVVTF8+PAWzwMA0Lf5ZRsAALIUvmt7U7fffnsnFAMAgN5GjyQAAFkESQAAsgiSAABkESQBAMgiSAIAkEWQBAAgiyAJAEAWQRIAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBEgCALIIkAABZBEkAALIIkgAAZBEkAQDIIkgCAJBFkAQAIIsgCQBAFkESAIAsgiQAAFkESQAAsgiSAABkESQBAMgiSAIAkEWQBAAgiyAJAEAWQRIAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBEgCALIIkAABZBEkAALIIkgAAZBEkAQDIIkgCAJBFkAQAIIsgCQBAFkESAIAsgiQAAFkESQAAsgiSAABkESQBAMgiSAIAkEWQBAAgiyAJAEAWQRIAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBEgCALIIkAABZBEkAALIIkgAAZBEkAQDIIkgCAJBFkAQAIIsgCQBAFkESAIAsgiQAAFkESQAAsgiSAABkESQBAMgiSAIAkEWQBAAgiyAJAEAWQRIAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBEgCALIIkAABZBEkAALIIkgAAZBEkAQDIIkgCAJBFkAQAIIsgCQBAFkESAIAsgiQAAFkESQAAsgiSAABkESQBAMgiSAIAkEWQBAAgiyAJAEAWQRIAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBEgCALIIkAABZBEkAALIIkgAAZBEkAQDIIkgCAJBFkAQAIIsgCQBAFkESAIAsgiQAAFkESQAAshQKkpdffnnsscceUV1dHdXV1XHggQfGzTff3FVlAwCgjBUKkmPHjo2vfvWrcc8998Tdd98dhx12WHzgAx+Ihx56qKvKBwBAmdqiyMRHHnlks//PP//8uPzyy+POO++M3XbbrVMLBgBAeSsUJJvasGFDXHvttVFXVxcHHnhgq9OtW7cu1q1b1/j/2rVrc1cJAEAZKXyzzV/+8pcYOnRoVFZWxj//8z/HwoULY9ddd211+gsvvDBqamoaH+PGjetQgQEAKA8VKaVUZIY33ngjVqxYEWvWrInrrrsuvv/978cdd9zRapgs1SM5bty4WLNmTVRXV3es9L1MXV1dDB06NCIiXn311aiqqurhEgH0HHUilK+1a9dGTU1Nm3mt8KntLbfcMnbaaaeIiJg6dWrcdddd8c1vfjO+853vlJy+srIyKisri64GAIAy1+FxJDdu3NisxxEAgP6hUI/k/Pnz4z3veU/ssMMO8corr8TPfvazuP322+O3v/1tV5UPAIAyVShIrly5Mk488cR47rnnoqamJvbYY4/47W9/G+985zu7qnwAAJSpQkHyBz/4QVeVAwCAXsZvbQMAkEWQBAAgiyAJAEAWQRIAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBEgCALIIkAABZBEkAALIIkgAAZBEkAQDIIkgCAJBFkAQAIIsgCQBAli16ugAA5SqlFPX19T1djD6rrq6u5N90jSFDhkRFRUVPF4M+RpAEKCGlFDNmzIhly5b1dFH6hdGjR/d0Efq86dOnx5IlS4RJOpVT2wAl1NfXC5H0KUuXLtXDTqfTIwnQhtra2qiqqurpYkCWuro6Pb50GUESoA1VVVWCJEAJTm0DAJBFkAQAIIsgCQBAFkESAIAsgiQAAFkESQAAsgiSAABkESQBAMgiSAIAkEWQBAAgiyAJAEAWQRIAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBEgCALIIkAABZBEkAALIIkgAAZBEkAQDIIkgCAJBFkAQAIIsgCQBAFkESAIAsgiQAAFkESQAAsgiSAABkESQBAMgiSAIAkEWQBAAgiyAJAEAWQRIAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBEgCALIIkAABZBEkAALIIkgAAZBEkAQDIIkgCAJBFkAQAIIsgCQBAFkESAIAsgiQAAFkESQAAsgiSAABkESQBAMgiSAIAkEWQBAAgiyAJAEAWQRIAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBEgCALIIkAABZBEkAALIIkgAAZBEkAQDIIkgCAJBFkAQAIIsgCQBAFkESAIAsgiQAAFkESQAAsgiSAABkESQBAMgiSAIAkEWQBAAgiyAJAECWLXq6ADlSSlFfX9/TxSisrq6u5N+9zZAhQ6KioqKniwEA9LBeFyRTSjFjxoxYtmxZTxelQ0aPHt3TRcg2ffr0WLJkiTAJAP1crzu1XV9f3+tDZG+3dOnSXtkjDAB0rl7XI9lUbW1tVFVV9XQx+o26urpe3ZMKAHSuXh0kq6qqBEkAgB7S605tAwBQHgRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBEgCALIIkAABZCgXJCy+8MPbbb78YNmxYjBo1Ko4++uh4+OGHu6psAACUsUJB8o477ojTTjst7rzzzvjd734Xb775ZrzrXe+Kurq6riofAABlqtBvbf/mN79p9v+PfvSjGDVqVNxzzz0xa9asTi0YAADlrVCQ3NSaNWsiImLbbbdtdZp169bFunXrGv9fu3ZtR1YJAECZyL7ZZuPGjXHWWWfF9OnTY8qUKa1Od+GFF0ZNTU3jY9y4cbmrBACgjGQHydNOOy0efPDBuPrqqzc73fz582PNmjWNj6eeeip3lQAAlJGsU9unn3563HTTTbF48eIYO3bsZqetrKyMysrKrMIBAFC+CgXJlFKcccYZsXDhwrj99ttj4sSJXVUuAADKXKEgedppp8XPfvaz+OUvfxnDhg2L559/PiIiampqYquttuqSAgIAUJ4KXSN5+eWXx5o1a+KQQw6J7bbbrvFxzTXXdFX5AAAoU4VPbQMAQITf2gYAIJMgCQBAFkESAIAsgiQAAFkESQAAsgiSAABkESQBAMgiSAIAkEWQBAAgiyAJAEAWQRIAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBEgCALIIkAABZBEkAALIIkgAAZBEkAQDIIkgCAJBFkAQAIIsgCQBAFkESAIAsW/R0ASgtpRT19fU9XYxm6urqSv5dLoYMGRIVFRU9XQygC5RjndhblHvd3Zv4nmlJkCxDKaWYMWNGLFu2rKeL0qrRo0f3dBFamD59eixZssSHHPqY3lAn9hblWHf3Jr5nWnJquwzV19erMDMsXbpUjwX0QepEyoXvmZb0SJa52traqKqq6ulilLW6ujqtbOgn1In0BN8zrRMky1xVVZVKE+D/p06E8uLUNgAAWQRJAACyOLUN9EpdPRxMdw2ZYjgRoDcTJIFep7uHg+nKi+wNJwL0Zk5tA71OXxoOxnAiQG+mRxLo1XrrcDCGEwH6AkES6NUMBwPQc5zaBgAgiyAJAEAWQRIAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBEgCALIIkAABZBEkAALIIkgAAZBEkAQDIIkgCAJBFkAQAIIsgCQBAFkESAIAsgiQAAFkESQAAsgiSAABkESQBAMgiSAIAkEWQBAAgiyAJAEAWQRIAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBEgCALIIkAABZBEkAALIIkgAAZBEkAQDIIkgCAJBFkAQAIIsgCQBAFkESAIAsgiQAAFkESQAAsgiSAABkESQBAMiyRU8XAACgQUop6uvre7oYzdTV1ZX8u1wMGTIkKioqemTdgiQAUBZSSjFjxoxYtmxZTxelVaNHj+7pIrQwffr0WLJkSY+ESUGSdivHVmJE+bcUI3q2tQjQW9TX15d1iCxXS5cujfr6+qiqqur2dQuStEtvaCVGlGdLMaJnW4sAvVFtbW2PBKPepK6urse/9wRJ2kUrsWN6srUI0BtVVVWpM3sBQZLCtBLbrxxaiwDQVQRJCtNKBAAijCMJAEAmQRIAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBEgCALIIkAABZBEkAALIIkgAAZBEkAQDIIkgCAJBFkAQAIIsgCQBAFkESAIAsW/R0AQB6u5RS1NfXF5qnrq6u5N/tMWTIkKioqCg0D0BXECQBOiClFDNmzIhly5ZlL2P06NGFpp8+fXosWbJEmAR6nFPbAB1QX1/foRCZY+nSpYV7QAG6gh5JgE5SW1sbVVVVXbb8urq6wr2XAF1JkAToJFVVVV0aJAHKjVPbAABkESQBAMgiSAIAkEWQBAAgiyAJAECWwkFy8eLFceSRR8b2228fFRUV8Ytf/KILigUA0L+llKKurm6zjwZtTZdS6pIyFh7+p66uLvbcc884+eST44Mf/GBXlAkAoF8r+qtZbY0x21W/iFU4SL7nPe+J97znPZ1aCAAA/k9n/2pWwy9idfZYtwYkBwAoYx351ayu/kWsLg+S69ati3Xr1jX+v3bt2q5eJQBAn1HOv5rV5XdtX3jhhVFTU9P4GDduXFevEgCAbtDlQXL+/PmxZs2axsdTTz3V1asEAKAbdPmp7crKyqisrOzq1QAA0M0KB8lXX301Hn300cb/n3jiifjzn/8c2267beywww6dWjgAAMpX4SB59913x6GHHtr4/9lnnx0RESeddFL86Ec/6rSCAQBQ3goHyUMOOaTLRkcHAKD38FvbAABkESQBAMgiSAIAkEWQBAAgiyAJAEAWQRIAgCyCJAAAWQRJAACyCJIAAGQp/Ms25EkpRX19fbumraurK/l3W4YMGRIVFRWFywYAkEOQ7AYppZgxY0YsW7as8LyjR49u97TTp0+PJUuWCJMAQLdwarsb1NfXZ4XIopYuXdruXk8AgI7SI9nNamtro6qqqlOXWVdXV6jnEgCgMwiS3ayqqqrTgyQAQE9wahsAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBYDkgNAP5ZSKpuf162rqyv5d08bMmRIVFRU9HQxypIgSZ9VDpVjOVaKKkSgQUopZsyYEcuWLevporRQTj/9O3369FiyZIm6swRBkj6pHCvHcqkUVYhAg/r6+rKqJ8vV0qVLo76+3k8clyBI0iepHFunQgRKqa2tVS9soq6urmw6AcqVIEmfp3J8iwqRrtSVl5J01yUi/f2yj6qqKnUlhQmS9HkqR+ha3XkpSVc2hlz2AcUZ/geADukrl5I0XPYBtJ8eSQA6TW+8lMRlH5CvbIJke6+vKXqtTH+/5gWgO7mUBPqXsgiSudfXtKcF6ZoXAICuURbXSHbl9TWueQEA6Bpl0SPZVGddX+OaFwCArlV2QdL1NQAAvUPZBUmAtm6+c9MdQHkQJIGyUvTmOzfdAfScsrjZBqBBV9x856Y7gK6hRxIoWx29+c5NdwBdS5AEypab7wDKm1PbAABkESQBAMgiSAIAkEWQBAAgiyAJAEAWQRIAgCyCJAAAWQRJAACyCJIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQJYteroAQHEppaivry80T11dXcm/22vIkCFRUVFReD4A+i5BEnqZlFLMmDEjli1blr2M0aNHF55n+vTpsWTJEmESgEaCJPQy9fX1HQqRuZYuXRr19fVRVVXV7esG6AxFz+bknsnpT2dwBEnoxWpra7s82NXV1WX1YAKUk46ezSlSD/anMziCJPRiVVVVeggB2qE7z+b0pzM4giRlJecmklI6emPJpvrTaQqAvq6rzub0xzM4giRlozNuIimlMz7U/ek0BdD75DbC++toDs7mdJ5eGyTb+tAU/XD01g9DX9JTN5G0R386TdFblaoT2qoHyu1zr14jR2c1wo3mQI5eGSSLfmja8+HwYSgv3XETSXv0x9MUvVF76oRS+7GcPvfqNXL1ZCNcI5teGSS74kPjw1BenHagiNw6oZw+9+o1OkN3NcI1smnQK4NkUx390PgwQN/Snjqh3D/36jVyaYTT3Xp9kPShAZrqC3VCX9gGoH8Y0NMFAACgdxIkAQDI0utPbQNAg5zxFPvrWIrQGQRJAPqEzhhP0ViKUIxT2wD0CT01nmLDMEvQH+mRBKDP6Y7xFA2zBIIkAH2QIZSgewiSALSqPTevFLlZxY0p0LcIkgCUlHPzSlunet2YAn2Lm20AKKkrf/8b6Bv0SAL0YqVOPbd1qjnn9LLf/wZKESQBeqn2nHouFd5yTi+7eQUoxaltgF4q99Sz08tAZ9EjCdAHtOfUs9PLQGcTJKGfa2t4l6K/Q2x4l57h1DPQEwRJ6MeKDu/Snt4sw7sA9IzuuvmuKddIQj9meBeAvqGhY2Do0KHNHk07AEaPHt3i9ZkzZ0ZKKXu9eiSBiDC8C0Bv1tGb73Lrf0ESiAjX2AH0Fd15850g2cvkXP8Q4QYIAOgvurNjQJDsRK3d/dpZF7rmDj4c4QYIAKDzCZKdpL13v3bkVyY6cmNER6+BoGfogS4fXd1QBOiNBMlO0t0hr703RrgBoqW2xk1squgYik11NEDogS4f3dFQBOiNBMku0B0hz40ReYqOm9hU0X3V0QChB7p82Bf0F+1taOc0svta73xPjNlYjgTJLtDbQ15f/nB0xbiJrenMAKEHunzYF/RVuQ3t9h7nfal3PveMUV96DxoIkjTTnz4cHR03cXPXzO24446Nf28qJ3T39sZJX2Jf0Fd1dUO7L/XO99SYjeVIkKSZ/vTh6EggcM0c0Jd1tKHdVF/vne/OMRvLkSBJq/r7h2NzXDMH9GV63tuvv79XgiSt6u8fjvZyzRwA/ZUgCR0kcAPQXw3o6QIAANA7CZIAAGQRJAEAyNKvrpHsywNtAwB0t34TJPvTQNsAAN2h35za7uhA2wAANNdveiSbMtA2APRdLmXrPv0ySBr3DwD6Jpeyda9+GSSBfKVa+hFa+/QtrR3nTbV1zDfl+O8+Hb2UTUdTMYIk0G7taelHaO3T9bry1GV7j/Om2roUyvHfM1zK1vUESaDdclv6EVr7dJ6uPnXZkeO8NZ11/Lv2rxiXsnU9QZI+S4XbtdrT0o/Q2qfzdeepy/Ye563pzOPftX+UI0GSPkmF2/W09CkHXX3qspyOc9f+UY4ESfokFS70D+UU9LqTa/8oF4IkfZ4KF+hr+muApvwIkvR5KlwA6Br95icSAQDoXHok6RHuqAaA3k+QpNu5oxr6Ng3F/qWtXwHyC0B9myBJt3NHNfRdGor9S9FfAfILQH2PIEmPckc19C0aiv1LZ/8KkOOg9xEk6VHuqIa+S0Oxf+nIrwA5DnovQRKALqGh2L+0d38XuaayKddPlidBEgDoFrnX0Ea4frJcGUcSAOgWHbmmsuH6ScqLHkkAoNu195pK10+WN0ESADqB8TOLcQ1t35B1avvb3/52TJgwIQYPHhz7779//OlPf+rscgFAr9Fw7d/QoUObPZr2pI0ePbrF6zNnzoyUUg+WHDqmcJC85ppr4uyzz45zzjkn7r333thzzz1j9uzZsXLlyq4oHwCUvY6Onwm9VeEg+Y1vfCNOOeWUmDdvXuy6665xxRVXxJAhQ+KHP/xhV5QPAHqV2traePXVVzf7qK2t7eliQqcodI3kG2+8Effcc0/Mnz+/8bkBAwbEEUccEX/4wx9KzrNu3bpYt25d4/9r1qyJiIi1a9c2Ptf0upG1a9fGhg0bNluOotN3xzrKsUzdsY5yLFN3rKMcy9Qd6yjHMnXHOsqxTN2xjnIsU3eso6Nl2rBhQ5vzNH29r2x3b11HOZapO9bR1vQNOa3NSy9SAc8880yKiLRs2bJmz3/2s59N06ZNKznPOeeckyLCw8PDw8PDw8Ojlz2eeuqpzWbDLr9re/78+XH22Wc3/r9x48ZYtWpVDB8+vN/eqQYAUM5SSvHKK6/E9ttvv9npCgXJESNGxMCBA1tc21FbWxtjxowpOU9lZWVUVlY2e27rrbcusloAALpZTU1Nm9MUutlmyy23jKlTp8aiRYsan9u4cWMsWrQoDjzwwOIlBACg1yp8avvss8+Ok046Kfbdd9+YNm1aXHLJJVFXVxfz5s3rivIBAFCmCgfJf/iHf4gXXnghvvzlL8fzzz8fe+21V/zmN7/x80UAAP1MRTKkPgAAGbJ+IhEAAARJAACyCJIAAGQRJAEAyCJI9hKPP/543H777XH77bfH448/vtlp6+rqYv369RERsWrVqli0aFE8/fTT3VHMsvKd73ynp4uQ7c9//nP84he/iJtuuqnN/V3U6tWrO7yMl19+udD0L7zwQtx6663x3HPPdXjdAJSRIr+13Zn+67/+q/HvF154Ib33ve9N1dXV6eCDD05PPvlkTxWrkEcffTQdcsghaeLEielTn/pUeu211xpfO+CAAzplHX/961/Tfvvtl8aMGZOmTZuWpk2blsaMGZP222+/9OCDD7aY/sc//nEaPHhwGjt2bFq0aFHabrvt0n777ZeGDx+err766k4pU0oprV+/Pi1atChdeeWV6corr0yLFi1K69ev77TlN9iwYUOL51atWtXiuV/+8pctHqNHj278u7e4//7705QpU1J1dXUaMGBAmjJlStpmm23Shz70obRmzZpOWcegQYPSUUcdlW688caS7++m7rvvvrTnnnumvffeOz344IPpve99b9pqq63SuHHj0v33319ynhNOOCHV1tamlFJatGhRGjFiRNpvv/3SyJEj08KFCztlO5p6880307333ptWr15daL4vfvGL7Z72gQceSD/4wQ/SXXfdVbR4WV588cU2p1m5cmVatGhRevbZZ7tsHSmV/sw11Rn1QZF90Z4ylXLFFVds9vVXX301vfnmmymllF566aV0yy23tPk7w6+//npauHBh+vd///f0rW99K916661tluOxxx5Lt912W7rtttvSY4891u7yt+cY/Mtf/tLu5TV13333pYULF6Zf/epXbZYpZx1/+9vfGuuEv/3tb+n73/9+uvPOO1udPud9LeLll1/u1OW1R3vrqfZ+77WmrWmL7ou29FiQ3HvvvRv//tjHPpY+97nPpeeeey5dfPHF6eijjy60rLe//e3tnrYzK5J3vetd6dJLL0133313OuGEE9JBBx2U1q5dm1JKaa+99mp3mTZn2rRp6brrrmvx/LXXXpv222+/Fs/vvvvuafny5en+++9PNTU1jRXOI488kvbYY492rbOtL6fFixensWPHpv333z/NmTMnzZkzJ02bNi2NHTs23XHHHZtddnsrq7vuuitNmDAhbbnllunoo49OK1eubHyt6bHToKKiIh100EHpkEMOaXwMHjw4HXLIIenQQw9t13bn2tyHtmhldeCBB6YlS5aklN4Kx2eccUZat25d+sIXvpBOPPHEjhSz0c4775wuuuii9I53vCNtt9126XOf+1x6+OGHW51+1qxZaeHChenKK69MO+ywQ/rJT36SUkpp4cKF6Z3vfGfJeZoea7NmzUr33XdfSimlxx9/fLOfjfZ+wS5atChtu+22afjw4en2229P++23X5o8eXLj/6V885vfbPEYPnx449+bOuywwxor22uuuSZtv/326bjjjkvjx49vsx4ppUg9lVJK48aNa/FcZwf0Uuso2nDIqQ+K7otLLrmk8e/HH3887brrrmnw4MFpwoQJ6YEHHii5jqKNy5xG+K233pp22GGHtMcee6TKysp0xBFHpHe84x1pv/32S08//XSL6Yt2DOQcgxUVFWmPPfZI3/zmN9NLL71UcpqmchqvRdfxb//2b2nUqFFp3Lhx6aqrrkrjxo1Lxx13XNphhx2a7dsGRd/XlIp37BRtUKdUvAOsaD1V9HsvpeKfjaL7oj16LEg2/TLZY489mrVeSwWe+++/v9XHmDFjSq6jqyuSTb8Qzz///LTffvul1atXt7rTix7sO++8c8nltPZa0zKNHz9+s+VtUPTLaffddy/ZIv7Tn/6UpkyZUnIdRSurGTNmpJtuuim9+OKL6Ytf/GKaPHlyYwVSajt++MMfpoMOOijde++9jc9NmDChZFka5PSKF/2SLVpZ7bnnns3+33fffRv/LhpEWpun6bG5dOnS9NGPfjQNGzYszZw5M/34xz9uMX3T93vT4LFpeUutt+k2pPTW8bOpol+w06ZNS/fdd1+67bbb0vDhw9OiRYtSSin98Y9/TDNmzChZpoEDB6ajjjoqzZ07t/ExdOjQNHfu3DRv3rwW0zct5wEHHJCWL1+eUnqrgVlqG1IqXk+VqqMaHiNHjmwxfU5AL7qOog2HnPqg6L5oeswef/zx6dJLL00ppXTdddelI444ouQ6ijYucxrhe++9d/r73//euL0nnHBCSiml7373u+kDH/hAi+lzOgYatPcYnDJlSrruuuvSe97znlRVVZX+4R/+If3ud78rOW1KeY3XouvYdddd06pVq9KKFSvSkCFD0uOPP55Seqve3W233VpMX/R9Tal4x07RBnVDuRq0pwOsaD1V9Htv0zK157NRdF+0R48FycmTJ6cHHngg3X///S2+jEp9OVVUVKSJEyemCRMmtHgMGjSo5Dq6uiLZZZddWjz39a9/PU2dOjXttNNOJctU9GA/6KCD0k9+8pNmIWTDhg3pRz/6UTrwwANbTL/PPvukBx98MC1ZsiSNGDEi/f73v08pvdV93VrFU/TLaXOBprXXilZWm673qquuSjvvvHNasWJFqyF9+fLl6YgjjkgLFixI69evTxMnTmy1nCnl9YoX/ZItWlntu+++6W9/+1tKKaU//OEP6eCDD258bfLkySXnKRpeSr1/r776avr+97+fpk+f3uK1pp/HTfdVa1+wp59+ejrzzDPTK6+8kj7/+c+nn/70p2njxo3pv//7v0t+9op+wTY9PiZNmtTqa00tWrQoTZs2Lf3qV79qfG5zjY2dd965sYG7//77N3uttYBUtJ4aMGBAOvTQQ5vVUU3rqk0VDeg56yjacMipD4rui6bH7KbHXGuNmaKNy5xG+Kbr3meffRr/LtXQL9oxkHMMNn2vVqxYkb7yla+kHXfcMY0fPz4tWLCgzW1oT+O16DqaTr/DDjs0e63Ue1v0fS21nLY6doo2qDddR3s6wIrWUznfe0U/G0X3RXv0WJAcP358swq34fRxazt9woQJ6Zlnnim5rLFjx5Z8vqsrkqOPPjrdfPPNLZ6/+OKLU0VFRZvrSKntg/2RRx5Jhx12WKqpqUmTJ09OkydPTjU1NenQQw8tGUh+/etfp2233TaNGDEi3XLLLemQQw5Ju+yyS6qurm719EzRL6d3v/vdacGCBY29mCmlVFtbm84999z0rne9q+Q6ilZWO++8c4sevKuvvjq9/e1vb3HwN7Vx48Z00UUXpQMPPDBtv/32rU6XUvFKYdN52vMlW7Syuvnmm9Pw4cPTLrvskkaMGNF4+uO5555Lp5xySskyFQ0vRSuLd73rXSV7jZ999tk0bdq0kvOsW7cunXXWWam6ujpNmDAhVVRUpC222CLNnj27sQXcVNEv2Kb75/Of/3yz11oLVCmltGbNmnTCCSekuXPnpjVr1my2sXHOOeekY489Nj3yyCPp61//ejrvvPPSE088kS677LJ01FFHlZynaD21yy67pCeeeKLd0xcN6DnrKNpwyKkPUiq2LyZOnJhuvPHG9Mtf/jK94x3vaLNMDYo0LnMa4dOnT2+8du/aa69N7373uxtfK3XcFu0YyDkGWwsct9xyS/rIRz7S4vmcxmvRdRxwwAHppptuSldddVUaP35843fRrbfemqZOndpi+qLva0rFO3aKNqhTKt4BVrSeyvneK/rZKLov2qPHgmRr6urqSn7RnHnmmY09Wpv6+Mc/3uryurIief3119Prr79eclmtXceR04uZ0lvXLd5zzz3pnnvuaXbdRFvWr1+f7r777maV/KaKfjmtXLkyzZs3Lw0dOjQNHjw4DR48OA0dOjTNmzev1fUUrazmzZvXrLeiwTXXXNNqD3RTDz74YLr88ss3O03RSmHT59vzJZtTWb388svp7rvvbvfNNUXDS3uuaWqP1atXt3ljXF1dXXrggQfSvffeu9kbO4p+wc6bN6/k+/Poo4+2+r42de2116a99tqr1ctiGlxyySVp7NixadCgQamioiJVV1enj3/8462+h0XrqQsuuKDVGyfOO++8Fs8VDeg56yjacFi5cmU6+eSTC9UHTbVnXxx88MHNelIb6tfa2toWjd9NtbdxWaoRvvPOO2+2Ef6nP/0pjR07NlVWVqaJEyc2XpP23HPPleyZa+gYqK6uTpMnT25s5LfWMZBS8WNw057LtuQ0Xouu449//GPaa6+90j777JP+/Oc/p+OPPz5VVlam4cOHp1tuuaXF9A3v6+DBg9v1vqZUvGMnp/dt/PjxzRrqbXWAFa2ncr73in42Su2LwYMHNzv1XlTZBcmu0JGKpOGD/vOf/7xTypLTi9nVcr6cGrz00kvtCiY5lVVXK9ornlLxL9nOuulqc3IbWeWkaM97a958881m1x1vzvPPP59+/etft2vatWvXZt0lnFLe3cVtaRrQizQsGxS9WWjVqlXtajg01AdtNeI29fzzz6fLLrus0DwpvdVQrqura9e0Dz74YLrgggsKLfuPf/xju97f9t793iCnY6DhGCz63qbU9v7etPHaFcfspl588cU2rxtv+r62tQ2vv/56WrduXbPnGrajVMdOqe+tnO1etWpVqq+vb/O7ssEVV1yR1q9fn+rr69s9fVFXXHFF2rBhQ7s/G1/5ylfafcNRKf0iSDZoTy9VU+3pzSsqpxezu7S39yh32KMiPW2PPfZYlw+t1Jq6urpWTwW2ZvXq1WnFihUtnu+s3r/+or1fsDnHR9HjNuc4//Of/9zqzVil7qAsuh0NN3s1nD1573vfm4YMGbLZoZiK3nRYdBtaW37D6bbOKNNjjz2WDj300EL7ouiNcaXe281td065ipapO97bzZVpc9td5Lgt+j7lDOdW9Ljd3PStfZYa5mnvMVJ0O3K2u7PWsbljqi39Kkg2VfQO2Jw7ZovqjnUUVapMnT3sUXesozPK1Nnz9NdjqqjOOj6KzpOzjqI3YxVdR85QTEVvOiy6jpyht4rO0x37Iue97er91x3vbXdsd9Hpc7a7O/Z3V++/7tjfXTFUXp8OkkXvZs0ZYqiry9QdipYpZ9ij7lhHUTn7wjHVNbrj+Cg6T0fX0Z6bsTpSpvYOxdSRmw7bs46cobc6UqaUun5ftPe97er9193vbXdsd3umz9nu7t7fXbH/umN/56yjLVv09C/rdKW99torJkyYECmlFq+99NJLHZ6+O8rUHYqW6bXXXmv2///7f/8vttxyyzj88MPjlVde6bF1FJWzLxxTXaM7jo+i8+Sso2n5Dz300FZfy11H0eVHRMybNy8OO+yw+NjHPhYzZ86ML3zhC1FRUVFy2px1FF1+zjzdsS9y3tuu3n/d8d52x3YXnT5nu7tjf3f1/uuO/Z2zjjZ1KIaWuaJ3s+YMMdTVZeoORcuUc8NQd6yjqJx94ZjqGt1xfBSdJ2cdRW/GKrqOnKGYGrT3psPcdRQZeqvoPN2xL3K2u7v2X1e+t92x3bn1eZHt7o793V37ryv3d0fW0Zo+HSSL3s3aHXe/luMdtkXLlHPDUHeso6icfeGY6hrdcXwUnaczj8HW7njurHW0547qBkVvOiy6jpzltzVPd+yLnOm7e/91xXubU6bu/izlbkNKnbu/OzpP0e3ojv3dkfe2QUVKrfThAgDAZgzo6QIAANA7CZIAAGQRJAEAyCJIAgCQRZAEACCLIAkAQBZBEgCALIIkAABZ/j/gLnifjqhdagAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "scaler = StandardScaler()\n", "X_scale = scaler.fit_transform(X)\n", @@ -2342,7 +1127,7 @@ "linkage_comp_scale = compute_linkage(hc_comp_scale)\n", "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", "dendrogram(linkage_comp_scale, ax=ax, **cargs)\n", - "ax.set_title(\"Hierarchical Clustering with Scaled Features\");\n" + "ax.set_title(\"Hierarchical Clustering with Scaled Features\");" ] }, { @@ -2366,29 +1151,10 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": null, "id": "b7f7da12", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:19.831097Z", - "iopub.status.busy": "2023-07-26T00:00:19.830959Z", - "iopub.status.idle": "2023-07-26T00:00:20.036103Z", - "shell.execute_reply": "2023-07-26T00:00:20.035746Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqkAAAKyCAYAAAD2N0efAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABuHElEQVR4nO3deZyN9f//8eeZwWCYQZgxkj0iIXv2kiEplbXFkqWFPmmSjCyJUqivFiVttIhW+rSglC1LC5Il2fcZS80MgxlmXr8//OZ8HLOdM4u5hsf9djs35jrXeZ/XtZ7nua73dR2XmZkAAAAAB/HL6wIAAACACxFSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBScclzuVx6+umn87oMn1WqVEl9+/bN8mtvvfXWnC3IoZ5++mm5XC6fxj169GguV+Ucffv2VaVKlXK0zZkzZ8rlcmn37t052u6lzJf11Fdt2rRRmzZtcrzd3Fh3Lqx19+7dcrlcmjlzZo6+T27Ob1w8hFR4ZceOHXrggQdUpUoVFS5cWEFBQWrevLlefvllnTp1Kq/LyxUHDx7U008/rfXr1+douyk75SlTpuRou/if5557TvPmzcu19pcsWaI777xToaGhKlSokMqWLavOnTvriy++yLX3zAu5PR+zolKlSnK5XO5H4cKFVb16dT3xxBP6559/8rq8bOvbt6/H9BUrVkxVqlRR165d9fnnnys5OTmvS8y3nLg+I2MF8roAON8333yjbt26KSAgQL1799a1116rxMRErVixQk888YQ2bdqkGTNm5HWZOe7gwYMaN26cKlWqpHr16l3099+6dav8/PgemZlRo0ZpxIgRHsOee+45de3aVV26dMnx9xs7dqyeeeYZVa9eXQ888IAqVqyoY8eO6dtvv9Vdd92ljz76SHfffXeOv29eSG8+3nffferZs6cCAgLypK569erp8ccflySdPn1av//+u6ZOnaqlS5fql19+yZOaclJAQIDefvttSdKpU6e0Z88e/fe//1XXrl3Vpk0bzZ8/X0FBQe7xFy1alCt1vPXWWzkeinOr1gtd7P0CcgchFRnatWuXevbsqYoVK+rHH39UuXLl3M8NHjxY27dv1zfffJOHFV668ioA5DcFChRQgQIXZ1f22Wef6ZlnnlHXrl01e/ZsFSxY0P3cE088oYULF+rMmTPZfp+zZ88qOTlZhQoVSvVcfHy8AgMDs/0e2eHv7y9/f/88e//y5cvr3nvvdf89YMAAFStWTFOmTNG2bdtUvXr1PKstJxQoUMBj+iRpwoQJev755xUZGamBAwdq7ty57ufSWk9ywvnrd07JrVpTpGwfF3O/gNzDYRpkaNKkSTpx4oTeeecdj4Caolq1anr00Ufdf589e1bjx49X1apVFRAQoEqVKmnkyJFKSEjweF1Kn8klS5aoYcOGKlKkiOrUqaMlS5ZIkr744gvVqVNHhQsXVoMGDbRu3TqP1/ft21fFihXTzp07FR4ersDAQIWFhemZZ56RmWU6XQcOHND999+vkJAQBQQEqHbt2nr33Xfdzy9ZskSNGjWSJPXr18996u38flNr1qxRhw4dFBwcrKJFi6p169b6+eefM31vb13YJzWlH+DPP/+siIgIlSlTRoGBgbrjjjt05MiRTNubNWuWChQooCeeeEKS9M8//2jYsGGqU6eOihUrpqCgIHXs2FF//PFHqtfu2bNHt912mwIDA1W2bFk99thjWrhwoVwul3uZpcjKfDEzlS5dWhEREe5hycnJKlGihPz9/RUTE+Me/sILL6hAgQI6ceKEpNR9z1wul+Lj4zVr1iz3cruwb29MTIz69u2rEiVKKDg4WP369dPJkycznYejR49WqVKl9O6776b5AR4eHu7RF/jw4cPq37+/QkJCVLhwYdWtW1ezZs3yeM353T+mTp3q3nY2b97snrbNmzfr7rvvVsmSJdWiRQv3az/88EM1aNBARYoUUalSpdSzZ0/t27cv0+mYMmWKbrjhBl1xxRUqUqSIGjRooM8++8xjnIzmY3p9Ul9//XXVrl1bAQEBCgsL0+DBgz2WnXSuT+K1116rzZs3q23btipatKjKly+vSZMmZVp3RkJDQyXJI5hs2LBBffv2dXdTCg0N1f33369jx455vPb48eMaOnSoKlWqpICAAJUtW1Y333yz1q5d6zGet+v2ihUr1KhRIxUuXFhVq1bVm2++ma1pSzFixAi1b99en376qf7++2/38LT6pL766quqXbu2ihYtqpIlS6phw4aaPXu2T9N8YZ/U89fVadOmqUqVKipatKjat2+vffv2ycw0fvx4XXnllSpSpIhuv/32VF0wvOk/6+1yy2j78Ha/8NNPP8nlcunLL79MVcfs2bPlcrm0atWqDOtF7uFrBjL03//+V1WqVNENN9zg1fgDBgzQrFmz1LVrVz3++ONas2aNJk6cqC1btqTaCWzfvl133323HnjgAd17772aMmWKOnfurOnTp2vkyJF6+OGHJUkTJ05U9+7dU53+TkpKUocOHdS0aVNNmjRJCxYs0NixY3X27Fk988wz6dYYHR2tpk2byuVyaciQISpTpoy+++479e/fX3FxcRo6dKiuueYaPfPMMxozZowGDRqkli1bSpJ7Pvz444/q2LGjGjRooLFjx8rPz0/vvfeebrzxRi1fvlyNGzf2aT774pFHHlHJkiU1duxY7d69W1OnTtWQIUM8jqxcaMaMGXrwwQc1cuRITZgwQZK0c+dOzZs3T926dVPlypUVHR2tN998U61bt9bmzZsVFhYm6dyRiRtvvFGHDh3So48+qtDQUM2ePVs//fRTqvfJ6nxxuVxq3ry5li1b5h62YcMGxcbGys/PTz///LM6deokSVq+fLnq16+vYsWKpdnWBx98oAEDBqhx48YaNGiQJKlq1aoe43Tv3l2VK1fWxIkTtXbtWr399tsqW7asXnjhhXTn4bZt2/TXX3/p/vvvV/HixdMdL8WpU6fUpk0bbd++XUOGDFHlypX16aefqm/fvoqJifH4cidJ7733nk6fPq1BgwYpICBApUqVcj/XrVs3Va9eXc8995z7S9izzz6r0aNHq3v37howYICOHDmiV199Va1atdK6detUokSJdGt7+eWXddttt+mee+5RYmKi5syZo27duunrr792z2dv5uP5nn76aY0bN07t2rXTQw89pK1bt+qNN97Qr7/+qp9//tkj1P/777/q0KGD7rzzTnXv3l2fffaZnnzySdWpU0cdO3bMdN6eOXPGffHb6dOntW7dOr300ktq1aqVKleu7B7v+++/186dO9WvXz+Fhoa6uyZt2rRJq1evdoeYBx98UJ999pmGDBmiWrVq6dixY1qxYoW2bNmi66+/XpL36/aff/6p9u3bq0yZMnr66ad19uxZjR07ViEhIZlOlzfuu+8+LVq0SN9//72uvvrqNMd566239J///Eddu3bVo48+qtOnT2vDhg1as2aNuyuKN9Ocno8++kiJiYl65JFH9M8//2jSpEnq3r27brzxRi1ZskRPPvmktm/frldffVXDhg3zOADgDW+XW4q0to8Lpbc+N23aVBUqVNBHH32kO+64I9V0Vq1aVc2aNfOpfuQgA9IRGxtrkuz222/3avz169ebJBswYIDH8GHDhpkk+/HHH93DKlasaJJs5cqV7mELFy40SVakSBHbs2ePe/ibb75pkuynn35yD+vTp49JskceecQ9LDk52Tp16mSFChWyI0eOuIdLsrFjx7r/7t+/v5UrV86OHj3qUWfPnj0tODjYTp48aWZmv/76q0my9957z2O85ORkq169uoWHh1tycrJ7+MmTJ61y5cp28803Zzifdu3aZZJs8uTJGY5XsWJF69Onj/vv9957zyRZu3btPN73scceM39/f4uJifF4badOnczM7OWXXzaXy2Xjx4/3aP/06dOWlJSUqraAgAB75pln3MNefPFFk2Tz5s1zDzt16pTVrFnTY7lkd75MnjzZ/P39LS4uzszMXnnlFatYsaI1btzYnnzySTMzS0pKshIlSthjjz3mft3YsWPtwl1ZYGCgx7y7cNz777/fY/gdd9xhV1xxRYb1zZ8/3yTZ//3f/2U4XoqpU6eaJPvwww/dwxITE61Zs2ZWrFgx93SmrA9BQUF2+PDhNOvt1auXx/Ddu3ebv7+/Pfvssx7D//zzTytQoIDH8D59+ljFihU9xktZx8+v69prr7Ubb7zRY3h68zFlXdy1a5eZmR0+fNgKFSpk7du391inXnvtNZNk7777rntY69atTZK9//777mEJCQkWGhpqd911V6r3ulDKvuPCR/PmzVNt0xdOp5nZxx9/bJJs2bJl7mHBwcE2ePDgdN/Tl3W7S5cuVrhwYY992ObNm83f3z/VepqWPn36WGBgYLrPr1u3ziR5bAOtW7e21q1bu/++/fbbrXbt2hm+T2bTnFLL+etOyrpapkwZj/1NZGSkSbK6devamTNn3MN79eplhQoVstOnT6dba0qb5+9nvV1u6W0f5z93vvTW58jISAsICPCYpsOHD1uBAgU8Pjtw8XG6H+mKi4uTJK+OGknSt99+K0kep2wluS9wuLDvaq1atTy+oTZp0kSSdOONN+qqq65KNXznzp2p3nPIkCHu/6ccGU1MTNQPP/yQZo1mps8//1ydO3eWmeno0aPuR3h4uGJjY1Od4rvQ+vXrtW3bNt199906duyY+/Xx8fG66aabtGzZsly9AnfQoEEeRxJa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hw9XYGCgBgwYoOjo6FTP79ixQy+//LIk6ZZbbpEkTZ061WOcl156SZLcVw3npPO/6ZqZXnvtNRUsWNB9VOVC/v7+uuuuu/T555+neYT4/Fs5pdyL8sJb6DRo0EBVq1bVlClT3B+I6bWR16688kr98MMPOnXqlG6++WaPW7j4+/unOsLx6aefpuo/Fh4ergMHDuirr75yDzt9+rTeeustj/FyYr60bNlSCQkJmjp1qlq0aOH+UGnZsqU++OADHTx40Kv+qIGBgamWW04YN26cjh07pgEDBrhD0fkWLVqkr7/+WtK57SEqKsrjrgtnz57Vq6++qmLFiql169ZZruPOO++Uv7+/xo0bl2oZmlmqW/Wcz9/fXy6Xy6N7x+7du9P8JR5v52O7du1UqFAhvfLKKx71vPPOO4qNjc3Stt+uXTuPR1q3wDvff//7X0lS3bp1Jf3vqN6F8+fC/VNSUlKqU8hly5ZVWFiY+8iot+u2v7+/wsPDNW/ePO3du9f9/JYtW7Rw4cLMJjlTzz//vBYtWqQePXpkeC/YC5d/oUKFVKtWLZmZzpw549U05xVvl1tWZLQ+ly5dWh07dtSHH36ojz76SB06dPD4so68wZFUZKhq1aqaPXu2evTooWuuucbjF6dWrlzpvqWOdO7DoU+fPpoxY4ZiYmLUunVr/fLLL5o1a5a6dOmitm3b5mhthQsX1oIFC9SnTx81adJE3333nb755huNHDkyw9PBzz//vH766Sc1adJEAwcOVK1atfTPP/9o7dq1+uGHH9z39atatapKlCih6dOnq3jx4goMDFSTJk1UuXJlvf322+rYsaNq166tfv36qXz58jpw4IB++uknBQUFuT8wM7J48WKdPn061fAuXbro2muvzfqMuUC1atW0aNEitWnTRuHh4frxxx8VFBSkW2+9Vc8884z69eunG264QX/++ac++uijVH3SHnjgAb322mvq1auXHn30UZUrV04fffSR+2hMSpD08/PL9nxp1qyZChQooK1bt7pvEyNJrVq10htvvCFJXoXUBg0a6IcfftBLL72ksLAwVa5c2X1xR3b06NFDf/75p5599lmtW7dOvXr1cv/i1IIFC7R48WL3KfNBgwbpzTffVN++ffX777+rUqVK+uyzz/Tzzz9r6tSpXl+AlZaqVatqwoQJioyM1O7du9WlSxcVL15cu3bt0pdffqlBgwZp2LBhab62U6dOeumll9ShQwfdfffdOnz4sKZNm6Zq1ap59AmVvJ+PZcqUUWRkpMaNG6cOHTrotttu09atW/X666+rUaNGOX7xyYEDB/Thhx9KOne09o8//tCbb76p0qVLu0/1BwUFqVWrVpo0aZLOnDmj8uXLa9GiRdq1a5dHW8ePH9eVV16prl27qm7duipWrJh++OEH/frrr3rxxRcl+bZujxs3TgsWLFDLli318MMPu7+Y1K5dO9X8Tc/Zs2fd03f69Gnt2bNHX331lTZs2KC2bdtm+gt/7du3V2hoqJo3b66QkBBt2bJFr732mjp16qTixYsrJiYm02nOK94ut6zIbH3u3bu3unbtKkkaP358tt8POeBi304A+dPff/9tAwcOtEqVKlmhQoWsePHi1rx5c3v11Vc9bi9y5swZGzdunFWuXNkKFixoFSpUsMjISI9xzDxvkXQ+Salui5LWLZtSbtOyY8cOa9++vRUtWtRCQkJs7NixqW6rpAtuQWVmFh0dbYMHD7YKFSpYwYIFLTQ01G666SabMWOGx3jz58+3WrVqWYECBVLdJmXdunV255132hVXXGEBAQFWsWJF6969uy1evDjDeZkyPek9PvjgA/c8SusWVL/++qtHez/99FOqW3SlNX/XrFljxYsXt1atWtnJkyft9OnT9vjjj1u5cuWsSJEi1rx5c1u1alWqW8SYme3cudM6depkRYoUsTJlytjjjz9un3/+uUmy1atXe4yb1fmSolGjRibJ1qxZ4x62f/9+k2QVKlRINX5at5r566+/rFWrVlakSBGT5J6PKeOef4sys9S3VMrM4sWL7fbbb7eyZctagQIFrEyZMta5c2ebP3++x3jR0dHWr18/K126tBUqVMjq1KmT6pZmGd2SLL16U3z++efWokULCwwMtMDAQKtZs6YNHjzYtm7d6h4nrVtQvfPOO1a9enULCAiwmjVr2nvvvefTfExvfr322mtWs2ZNK1iwoIWEhNhDDz1k//77r8c4rVu3TvP2SGnVmZYLb0Hl5+dnZcuWtV69etn27ds9xt2/f7/dcccdVqJECQsODrZu3brZwYMHPfYJCQkJ9sQTT1jdunWtePHiFhgYaHXr1rXXX3891Xt7u24vXbrUGjRoYIUKFbIqVarY9OnT05y/aUm5vV7Ko2jRolapUiW766677LPPPku1fzNLfVunN99801q1auWus2rVqvbEE09YbGysT9Oc3i2oLlxXU/ZBn376qcfwtPZZ3tyCypvlZpbx9uHL+pwiISHBSpYsacHBwXbq1KlUbeLic5nlwNUowEXWt29fffbZZ2meesPFMXXqVD322GPav3+/ypcvn9flAEC2nD17VmFhYercuXOqvvrIG/RJBZCp8+89KZ07Bfnmm2+qevXqBFQAl4R58+bpyJEj6t27d16Xgv+PPqkAMnXnnXfqqquuUr169RQbG6sPP/xQf/31lz766KO8Lg0AsmXNmjXasGGDxo8fr/r162frokbkLEIqgEyFh4fr7bff1kcffaSkpCTVqlVLc+bM4RYtAPK9N954Qx9++KHq1aunmTNn5nU5OA99UgEAAOA49EkFAACA4xBSAQAA4DiXRJ/U5ORkHTx4UMWLF8+Vn0MEAABA9piZjh8/rrCwMI+fi07PJRFSDx48qAoVKuR1GQAAAMjEvn37dOWVV2Y63iURUlN+XnDfvn0KCgrK42oAAABwobi4OFWoUMHrn4W+JEJqyin+oKAgQioAAICDeds1kwunAAAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADiOTyF14sSJatSokYoXL66yZcuqS5cu2rp1a6av+/TTT1WzZk0VLlxYderU0bfffuvxvJlpzJgxKleunIoUKaJ27dpp27Ztvk0JAAAALhk+hdSlS5dq8ODBWr16tb7//nudOXNG7du3V3x8fLqvWblypXr16qX+/ftr3bp16tKli7p06aKNGze6x5k0aZJeeeUVTZ8+XWvWrFFgYKDCw8N1+vTprE8ZAAAA8i2XmVlWX3zkyBGVLVtWS5cuVatWrdIcp0ePHoqPj9fXX3/tHta0aVPVq1dP06dPl5kpLCxMjz/+uIYNGyZJio2NVUhIiGbOnKmePXtmWkdcXJyCg4MVGxuroKCgrE7OZcXMdPLkybwuAwDytaJFi8rlcuV1GUC+4GteK5CdN4uNjZUklSpVKt1xVq1apYiICI9h4eHhmjdvniRp165dioqKUrt27dzPBwcHq0mTJlq1alWaITUhIUEJCQnuv+Pi4rIzGZcdM1OLFi20cuXKvC4FAPK15s2ba/ny5QRVIBdk+cKp5ORkDR06VM2bN9e1116b7nhRUVEKCQnxGBYSEqKoqCj38ynD0hvnQhMnTlRwcLD7UaFChaxOxmXp5MmTBFQAyAE///wzZ6WAXJLlI6mDBw/Wxo0btWLFipysxyuRkZEeR2fj4uIIqlkUHR2twMDAvC4DAPKV+Pj4VAdXAOSsLIXUIUOG6Ouvv9ayZct05ZVXZjhuaGiooqOjPYZFR0crNDTU/XzKsHLlynmMU69evTTbDAgIUEBAQFZKxwUCAwMJqQAAwHF8Ot1vZhoyZIi+/PJL/fjjj6pcuXKmr2nWrJkWL17sMez7779Xs2bNJEmVK1dWaGioxzhxcXFas2aNexwAAABcXnw6kjp48GDNnj1b8+fPV/Hixd19RoODg1WkSBFJUu/evVW+fHlNnDhRkvToo4+qdevWevHFF9WpUyfNmTNHv/32m2bMmCFJcrlcGjp0qCZMmKDq1aurcuXKGj16tMLCwtSlS5ccnFQAwPm4y0fWnX/rxYxuw4iMcXcEZMSnkPrGG29Iktq0aeMx/L333lPfvn0lSXv37pWf3/8O0N5www2aPXu2Ro0apZEjR6p69eqaN2+ex8VWw4cPV3x8vAYNGqSYmBi1aNFCCxYsUOHChbM4WQCAjHCXj5xD39Ss4+4IyEi27pPqFNwn1Tfx8fEqVqyYJOnEiRP0SQUuQ+fvB4C8xOfQ5eOi3icVAJD/cZcPXGzcHQHeIKQCwGWOu3wAcKIs38wfAAAAyC2EVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4/gcUpctW6bOnTsrLCxMLpdL8+bNy3D8vn37yuVypXrUrl3bPc7TTz+d6vmaNWv6PDEAAAC4NPgcUuPj41W3bl1NmzbNq/FffvllHTp0yP3Yt2+fSpUqpW7dunmMV7t2bY/xVqxY4WtpAAAAuEQU8PUFHTt2VMeOHb0ePzg4WMHBwe6/582bp3///Vf9+vXzLKRAAYWGhvpaDgAAAC5BF71P6jvvvKN27dqpYsWKHsO3bdumsLAwValSRffcc4/27t2bbhsJCQmKi4vzeAAAAODScVFD6sGDB/Xdd99pwIABHsObNGmimTNnasGCBXrjjTe0a9cutWzZUsePH0+znYkTJ7qP0AYHB6tChQoXo3wAAABcJBc1pM6aNUslSpRQly5dPIZ37NhR3bp103XXXafw8HB9++23iomJ0SeffJJmO5GRkYqNjXU/9u3bdxGqBwAAwMXic5/UrDIzvfvuu7rvvvtUqFChDMctUaKErr76am3fvj3N5wMCAhQQEJAbZQIAAMABLtqR1KVLl2r79u3q379/puOeOHFCO3bsULly5S5CZQAAAHAan0PqiRMntH79eq1fv16StGvXLq1fv959oVNkZKR69+6d6nXvvPOOmjRpomuvvTbVc8OGDdPSpUu1e/durVy5UnfccYf8/f3Vq1cvX8sDAADAJcDn0/2//fab2rZt6/47IiJCktSnTx/NnDlThw4dSnVlfmxsrD7//HO9/PLLaba5f/9+9erVS8eOHVOZMmXUokULrV69WmXKlPG1PAAAAFwCXGZmeV1EdsXFxSk4OFixsbEKCgrK63IcLz4+XsWKFZN07sh4YGBgHlcE4GJjP4C8xPp3efI1r130+6QCAAAAmSGkAgAAwHEIqQAAAHAcQioAAAAch5AKAAAAxyGkAgAAwHEIqQAAAHAcQioAAAAch5AKAAAAxyGkAgAAwHEIqQAAAHAcQioAAAAch5AKAAAAxyGkAgAAwHEIqQAAAHAcQioAAAAch5AKAAAAxyGkAgAAwHEIqQAAAHAcQioAAAAch5AKAAAAxyGkAgAAwHEIqQAAAHAcQioAAAAch5AKAAAAxyGkAgAAwHEIqQAAAHAcQioAAAAch5AKAAAAxyGkAgAAwHEIqQAAAHAcQioAAAAch5AKAAAAxyGkAgAAwHEIqQAAAHAcQioAAAAch5AKAAAAxyGkAgAAwHEIqQAAAHAcQioAAAAch5AKAAAAxyGkAgAAwHEIqQAAAHAcQioAAAAch5AKAAAAxyGkAgAAwHEIqQAAAHAcQioAAAAch5AKAAAAxyGkAgAAwHEIqQAAAHAcQioAAAAch5AKAAAAxyGkAgAAwHEIqQAAAHAcQioAAAAch5AKAAAAxyGkAgAAwHEIqQAAAHAcQioAAAAch5AKAAAAxyGkAgAAwHEIqQAAAHAcn0PqsmXL1LlzZ4WFhcnlcmnevHkZjr9kyRK5XK5Uj6ioKI/xpk2bpkqVKqlw4cJq0qSJfvnlF19LAwAAwCXC55AaHx+vunXratq0aT69buvWrTp06JD7UbZsWfdzc+fOVUREhMaOHau1a9eqbt26Cg8P1+HDh30tDwAAAJeAAr6+oGPHjurYsaPPb1S2bFmVKFEizedeeuklDRw4UP369ZMkTZ8+Xd98843effddjRgxwuf3AgAAQP520fqk1qtXT+XKldPNN9+sn3/+2T08MTFRv//+u9q1a/e/ovz81K5dO61atSrNthISEhQXF+fxAAAAwKUj10NquXLlNH36dH3++ef6/PPPVaFCBbVp00Zr166VJB09elRJSUkKCQnxeF1ISEiqfqspJk6cqODgYPejQoUKuT0ZAAAAuIh8Pt3vqxo1aqhGjRruv2+44Qbt2LFD//d//6cPPvggS21GRkYqIiLC/XdcXBxBFQAA4BKS6yE1LY0bN9aKFSskSaVLl5a/v7+io6M9xomOjlZoaGiarw8ICFBAQECu1wkAAIC8kSf3SV2/fr3KlSsnSSpUqJAaNGigxYsXu59PTk7W4sWL1axZs7woDwAAAHnM5yOpJ06c0Pbt291/79q1S+vXr1epUqV01VVXKTIyUgcOHND7778vSZo6daoqV66s2rVr6/Tp03r77bf1448/atGiRe42IiIi1KdPHzVs2FCNGzfW1KlTFR8f777aHwAAAJcXn0Pqb7/9prZt27r/Tukb2qdPH82cOVOHDh3S3r173c8nJibq8ccf14EDB1S0aFFdd911+uGHHzza6NGjh44cOaIxY8YoKipK9erV04IFC1JdTAUAAIDLg8vMLK+LyK64uDgFBwcrNjZWQUFBeV2O48XHx6tYsWKSzh0ZDwwMzOOKAFxs7AeQl1j/Lk++5rU86ZMKAAAAZISQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCuR1AfmJmenkyZN5XUa2xcfHp/n//Kxo0aJyuVx5XQYAAMghhFQvmZlatGihlStX5nUpOSokJCSvS8gRzZs31/LlywmqAABcIjjd76WTJ09ecgH1UvLzzz9fEke5AQDAORxJzYLo6GgFBgbmdRnQue4Kl8rRYAAA8D+E1CwIDAwkpAIAAOQiTvcDAADAcQipAAAAcBxCKgAAAByHkAoAAADHIaQCAADAcQipAAAAcBxCKgAAAByHkAoAAADHIaQCAADAcQipAAAAcBxCKgAAAByHkAoAAADHIaQCAADAcQipAAAAcBxCKgAAAByHkAoAAADHIaQCAADAcQipAAAAcBxCKgAAAByHkAoAAADHIaQCAADAcQipAAAAcBxCKgAAAByHkAoAAADHIaQCAADAcQipAAAAcBxCKgAAAByHkAoAAADHIaQCAADAcQipAAAAcBxCKgAAAByHkAoAAADHIaQCAADAcQipAAAAcBxCKgAAAByHkAoAAADHIaQCAADAcQipAAAAcBxCKgAAAByHkAoAAADHIaQCAADAcQipAAAAcByfQ+qyZcvUuXNnhYWFyeVyad68eRmO/8UXX+jmm29WmTJlFBQUpGbNmmnhwoUe4zz99NNyuVwej5o1a/paGgAAAC4RPofU+Ph41a1bV9OmTfNq/GXLlunmm2/Wt99+q99//11t27ZV586dtW7dOo/xateurUOHDrkfK1as8LU0AAAAXCIK+PqCjh07qmPHjl6PP3XqVI+/n3vuOc2fP1///e9/Vb9+/f8VUqCAQkNDfS0HAAAAl6CL3ic1OTlZx48fV6lSpTyGb9u2TWFhYapSpYruuece7d27N902EhISFBcX5/EAAADApeOih9QpU6boxIkT6t69u3tYkyZNNHPmTC1YsEBvvPGGdu3apZYtW+r48eNptjFx4kQFBwe7HxUqVLhY5QMAAOAiuKghdfbs2Ro3bpw++eQTlS1b1j28Y8eO6tatm6677jqFh4fr22+/VUxMjD755JM024mMjFRsbKz7sW/fvos1CQAAALgIfO6TmlVz5szRgAED9Omnn6pdu3YZjluiRAldffXV2r59e5rPBwQEKCAgIDfKBAAAgANclCOpH3/8sfr166ePP/5YnTp1ynT8EydOaMeOHSpXrtxFqA4AAABO4/OR1BMnTngc4dy1a5fWr1+vUqVK6aqrrlJkZKQOHDig999/X9K5U/x9+vTRyy+/rCZNmigqKkqSVKRIEQUHB0uShg0bps6dO6tixYo6ePCgxo4dK39/f/Xq1SsnphEAAAD5jM9HUn/77TfVr1/fffuoiIgI1a9fX2PGjJEkHTp0yOPK/BkzZujs2bMaPHiwypUr5348+uij7nH279+vXr16qUaNGurevbuuuOIKrV69WmXKlMnu9AEAACAfcpmZ5XUR2RUXF6fg4GDFxsYqKCgoV94jPj5exYoVk3TuaHJgYGCuvA98w3IBsoZtB3mJ9e/y5Gteu+i3oAIAAAAyQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA4/gcUpctW6bOnTsrLCxMLpdL8+bNy/Q1S5Ys0fXXX6+AgABVq1ZNM2fOTDXOtGnTVKlSJRUuXFhNmjTRL7/84mtpAAAAuET4HFLj4+NVt25dTZs2zavxd+3apU6dOqlt27Zav369hg4dqgEDBmjhwoXucebOnauIiAiNHTtWa9euVd26dRUeHq7Dhw/7Wh4AAAAuAS4zsyy/2OXSl19+qS5duqQ7zpNPPqlvvvlGGzdudA/r2bOnYmJitGDBAklSkyZN1KhRI7322muSpOTkZFWoUEGPPPKIRowYkWkdcXFxCg4OVmxsrIKCgrI6ORmKj49XsWLFJEknTpxQYGBgrrwPfMNyAbKGbQd5ifXv8uRrXsv1PqmrVq1Su3btPIaFh4dr1apVkqTExET9/vvvHuP4+fmpXbt27nEulJCQoLi4OI8HAAAALh25HlKjoqIUEhLiMSwkJERxcXE6deqUjh49qqSkpDTHiYqKSrPNiRMnKjg42P2oUKFCrtUPAACAiy9fXt0fGRmp2NhY92Pfvn15XRIAAAByUIHcfoPQ0FBFR0d7DIuOjlZQUJCKFCkif39/+fv7pzlOaGhomm0GBAQoICAg12oGAMBJzEwnT57M6zJyTHx8fJr/vxQULVpULpcrr8u4JOR6SG3WrJm+/fZbj2Hff/+9mjVrJkkqVKiQGjRooMWLF7svwEpOTtbixYs1ZMiQ3C4PAABHMzO1aNFCK1euzOtScsWF3f3yu+bNm2v58uUE1Rzg8+n+EydOaP369Vq/fr2kc7eYWr9+vfbu3Svp3Kn43r17u8d/8MEHtXPnTg0fPlx//fWXXn/9dX3yySd67LHH3ONERETorbfe0qxZs7RlyxY99NBDio+PV79+/bI5eQAA5G8nT568ZAPqpejnn3++pI565yWfj6T+9ttvatu2rfvviIgISVKfPn00c+ZMHTp0yB1YJaly5cr65ptv9Nhjj+nll1/WlVdeqbffflvh4eHucXr06KEjR45ozJgxioqKUr169bRgwYJL7tsVAADZER0dze2aHCo+Pp7cksOydZ9Up+A+qZcvlguQNWw7+QfLKn9gOWXOcfdJBQAAAHxFSAUAAIDjEFIBAADgOIRUAAAAOA4hFQAAAI5DSAUAAIDjEFIBAADgOIRUAAAAOA4hFQAAAI5DSAUAAIDjEFIBAADgOIRUAAAAOA4hFQAAAI5DSAUAAIDjEFIBAADgOIRUAAAAOA4hFQAAAI5DSAUAAIDjEFIBAADgOIRUAAAAOA4hFQAAAI5DSAUAAIDjEFIBAADgOIRUAAAAOA4hFQAAAI5DSAUAAIDjEFIBAADgOIRUAAAAOA4hFQAAAI5DSAUAAIDjEFIBAADgOIRUAAAAOA4hFQAAAI5DSAUAAIDjEFIBAADgOIRUAAAAOA4hFQAAAI5DSAUAAIDjEFIBAADgOIRUAAAAOA4hFQAAAI5DSAUAAIDjEFIBAADgOIRUAAAAOA4hFQAAAI5DSAUAAIDjEFIBAADgOIRUAAAAOA4hFQAAAI5DSAUAAIDjEFIBAADgOIRUAAAAOA4hFQAAAI5DSAUAAIDjEFIBAADgOIRUAAAAOA4hFQAAAI5DSAUAAIDjEFIBAADgOIRUAAAAOA4hFQAAAI5DSAUAAIDjEFIBAADgOFkKqdOmTVOlSpVUuHBhNWnSRL/88ku647Zp00YulyvVo1OnTu5x+vbtm+r5Dh06ZKU0AAAAXAIK+PqCuXPnKiIiQtOnT1eTJk00depUhYeHa+vWrSpbtmyq8b/44gslJia6/z527Jjq1q2rbt26eYzXoUMHvffee+6/AwICfC0NAAAAlwifj6S+9NJLGjhwoPr166datWpp+vTpKlq0qN599900xy9VqpRCQ0Pdj++//15FixZNFVIDAgI8xitZsmTWpggAAAD5nk8hNTExUb///rvatWv3vwb8/NSuXTutWrXKqzbeeecd9ezZU4GBgR7DlyxZorJly6pGjRp66KGHdOzYsXTbSEhIUFxcnMcDAAAAlw6fQurRo0eVlJSkkJAQj+EhISGKiorK9PW//PKLNm7cqAEDBngM79Chg95//30tXrxYL7zwgpYuXaqOHTsqKSkpzXYmTpyo4OBg96NChQq+TAYAAAAczuc+qdnxzjvvqE6dOmrcuLHH8J49e7r/X6dOHV133XWqWrWqlixZoptuuilVO5GRkYqIiHD/HRcXR1AFAAC4hPh0JLV06dLy9/dXdHS0x/Do6GiFhoZm+Nr4+HjNmTNH/fv3z/R9qlSpotKlS2v79u1pPh8QEKCgoCCPBwAAAC4dPoXUQoUKqUGDBlq8eLF7WHJyshYvXqxmzZpl+NpPP/1UCQkJuvfeezN9n/379+vYsWMqV66cL+UBAADgEuHz1f0RERF66623NGvWLG3ZskUPPfSQ4uPj1a9fP0lS7969FRkZmep177zzjrp06aIrrrjCY/iJEyf0xBNPaPXq1dq9e7cWL16s22+/XdWqVVN4eHgWJwsAAAD5mc99Unv06KEjR45ozJgxioqKUr169bRgwQL3xVR79+6Vn59n9t26datWrFihRYsWpWrP399fGzZs0KxZsxQTE6OwsDC1b99e48eP516pAAAAlymXmVleF5FdcXFxCg4OVmxsbK71T42Pj1exYsUknTv6e+EttJA3WC5A1rDt5B8sq/yB5ZQ5X/Naln4WFQAAAMhNhFQAAAA4DiEVAAAAjkNIBQAAgOMQUgEAAOA4hFQAAAA4DiEVAAAAjkNIBQAAgOMQUgEAAOA4hFQAAAA4DiEVAAAAjkNIBQAAgOMQUgEAAOA4hFQAAAA4DiEVAAAAjkNIBQAAgOMQUgEAAOA4hFQAAAA4DiEVAAAAjkNIBQAAgOMQUgEAAOA4hFQAAAA4DiEVAAAAjkNIBQAAgOMQUgEAAOA4hFQAAAA4DiEVAAAAjkNIBQAAgOMQUgEAAOA4BfK6ADiLmenkyZN5XYbX4uPj0/x/flG0aFG5XK68LgMAAMchpMLNzNSiRQutXLkyr0vJkpCQkLwuwWfNmzfX8uXLCaoAAFyA0/1wO3nyZL4NqPnVzz//nK+OXAMAcLFwJBVpio6OVmBgYF6XccmKj4/Pl0d+AQC4WAipSFNgYCAhFQAA5BlO9wMAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMfJUkidNm2aKlWqpMKFC6tJkyb65Zdf0h135syZcrlcHo/ChQt7jGNmGjNmjMqVK6ciRYqoXbt22rZtW1ZKAwAAwCXA55A6d+5cRUREaOzYsVq7dq3q1q2r8PBwHT58ON3XBAUF6dChQ+7Hnj17PJ6fNGmSXnnlFU2fPl1r1qxRYGCgwsPDdfr0ad+nCAAAAPmezyH1pZde0sCBA9WvXz/VqlVL06dPV9GiRfXuu++m+xqXy6XQ0FD3IyQkxP2cmWnq1KkaNWqUbr/9dl133XV6//33dfDgQc2bNy9LEwUAAID8zaeQmpiYqN9//13t2rX7XwN+fmrXrp1WrVqV7utOnDihihUrqkKFCrr99tu1adMm93O7du1SVFSUR5vBwcFq0qRJum0mJCQoLi7O4wEAAIBLh08h9ejRo0pKSvI4EipJISEhioqKSvM1NWrU0Lvvvqv58+frww8/VHJysm644Qbt379fktyv86XNiRMnKjg42P2oUKGCL5MBAAAAh8v1q/ubNWum3r17q169emrdurW++OILlSlTRm+++WaW24yMjFRsbKz7sW/fvhysGAAAAHnNp5BaunRp+fv7Kzo62mN4dHS0QkNDvWqjYMGCql+/vrZv3y5J7tf50mZAQICCgoI8HgAAALh0+BRSCxUqpAYNGmjx4sXuYcnJyVq8eLGaNWvmVRtJSUn6888/Va5cOUlS5cqVFRoa6tFmXFyc1qxZ43WbAAAAuLQU8PUFERER6tOnjxo2bKjGjRtr6tSpio+PV79+/SRJvXv3Vvny5TVx4kRJ0jPPPKOmTZuqWrVqiomJ0eTJk7Vnzx4NGDBA0rkr/4cOHaoJEyaoevXqqly5skaPHq2wsDB16dIl56YUAAAA+YbPIbVHjx46cuSIxowZo6ioKNWrV08LFixwX/i0d+9e+fn97wDtv//+q4EDByoqKkolS5ZUgwYNtHLlStWqVcs9zvDhwxUfH69BgwYpJiZGLVq00IIFC1Ld9B8AAACXB5eZWV4XkV1xcXEKDg5WbGxsrvVPjY+PV7FixSSdu6VWYGBgrrxPXrocptEpmNfIa6yD+QfLKn9gOWXO17yW61f3AwAAAL4ipAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxCKkAAABwHEIqAAAAHIeQCgAAAMchpAIAAMBxshRSp02bpkqVKqlw4cJq0qSJfvnll3THfeutt9SyZUuVLFlSJUuWVLt27VKN37dvX7lcLo9Hhw4dslIaAAAALgE+h9S5c+cqIiJCY8eO1dq1a1W3bl2Fh4fr8OHDaY6/ZMkS9erVSz/99JNWrVqlChUqqH379jpw4IDHeB06dNChQ4fcj48//jhrUwQAAIB8z+eQ+tJLL2ngwIHq16+fatWqpenTp6to0aJ699130xz/o48+0sMPP6x69eqpZs2aevvtt5WcnKzFixd7jBcQEKDQ0FD3o2TJklmbIgAAAOR7PoXUxMRE/f7772rXrt3/GvDzU7t27bRq1Sqv2jh58qTOnDmjUqVKeQxfsmSJypYtqxo1auihhx7SsWPH0m0jISFBcXFxHg8AAABcOnwKqUePHlVSUpJCQkI8hoeEhCgqKsqrNp588kmFhYV5BN0OHTro/fff1+LFi/XCCy9o6dKl6tixo5KSktJsY+LEiQoODnY/KlSo4MtkAAAAwOEKXMw3e/755zVnzhwtWbJEhQsXdg/v2bOn+/916tTRddddp6pVq2rJkiW66aabUrUTGRmpiIgI999xcXEEVQAAgEuIT0dSS5cuLX9/f0VHR3sMj46OVmhoaIavnTJlip5//nktWrRI1113XYbjVqlSRaVLl9b27dvTfD4gIEBBQUEeDwAAAFw6fAqphQoVUoMGDTwuekq5CKpZs2bpvm7SpEkaP368FixYoIYNG2b6Pvv379exY8dUrlw5X8oDAADAJcLnq/sjIiL01ltvadasWdqyZYseeughxcfHq1+/fpKk3r17KzIy0j3+Cy+8oNGjR+vdd99VpUqVFBUVpaioKJ04cUKSdOLECT3xxBNavXq1du/ercWLF+v2229XtWrVFB4enkOTCQAAgPzE5z6pPXr00JEjRzRmzBhFRUWpXr16WrBggftiqr1798rP73/Z94033lBiYqK6du3q0c7YsWP19NNPy9/fXxs2bNCsWbMUExOjsLAwtW/fXuPHj1dAQEA2Jw8AAAD5UZYunBoyZIiGDBmS5nNLlizx+Hv37t0ZtlWkSBEtXLgwK2UAAADgEpWln0UFAAAAchMhFQAAAI5DSAUAAIDjEFIBAADgOIRUAAAAOM5F/VlUIDeZmU6ePJnXZXglPj4+zf87WdGiReVyufK6DADAZYKQikuCmalFixZauXJlXpfis5R7DDtd8+bNtXz5coIqAOCi4HQ/LgknT57MlwE1P/n555/zzZFqAED+x5FUXHKio6MVGBiY12VcMuLj4/PN0V4AyKuuX07oxnWpdcsipOKSExgYSEgFgMuQU7p+5dUX+0utWxan+wEAwCXhcu/6dal1y+JIKgAAuORcTl2/LtVuWYRUAABwyaHrV/7H6X4AAAA4DiEVAAAAjkNIBQAAgOMQUgEAAOA4hFQAAAA4DiEVAAAAjkNIBQAAgOMQUgEAAOA4hFQAAAA4DiEVAAAAjkNIBQAAgOMUyOsCLjYz08mTJ31+XXx8fJr/91XRokXlcrmy/HoAAIDLwWUVUs1MLVq00MqVK7PVTkhISJZf27x5cy1fvpygCgAAkIHL6nT/yZMnsx1Qs+vnn3/O0pFcAACAy8lldST1fNHR0QoMDLxo7xcfH5+tI7AAAACXk8s2pAYGBl7UkAoAAADvXVan+wEAAJA/EFIBAADgOIRUAAAAOM5l2ycVAIDcltV7c58vp+7TnYL7dSO/IKQCAJALcure3OfLibvEcL9u5Bec7gcAIBc44d7caeF+3cgvOJIKAEAuu9j35k4L9+tGfkNIBQAgl3FvbsB3nO4HAACA4xBSAQAA4DiEVAAAADgOIRUAAACOw4VTAOBAOXET+Izk9A3iM8LN4wFkBSEVABwmN24Cn5Hcvi0RN48HkBWc7gcAh3HqTeCzipvHA8gKjqQCgIM54SbwWcXN4wFkByEVAByMm8ADuFxxuh8AAACOQ0gFAACA4xBSAQAA4DiEVAAAADgOIRUAAACOQ0gFAACA43ALqsuENz+x6OvPJPJThwAAILcQUi8DWfmJRW9uwM1PHQIAgNzC6f7LQG79xCI/dQgAAHILR1IvMznxE4v81GHe8KbLRm7wtRtIbqBrCQBcfgiplxl+YjF/ykqXjdyQV19O6FpyceXUF6Kc/oLDlxXg8kJIBfKB3OqykV+kdC3hC1buy60vRDnxBYcvK8DlhZAK5DM50WUjv6BrycXn5C9EfFkBLi+EVDhGdk4x5sRpxfxyKpEuG7hYnPKFiC8ruNTk9DUGuXntQF5+NhJS4Qg5eYoxqx9mnEoEPPGFyJmyGnByKsjkly/0TpXb1xjk9Be6vPxsJKTCEZxwipFTiQCcLqcCTnaCDF/os8cJn3e+yMvPRkIqHOdin2LkVCKA/MIJASevQsul+MuJTulSkxYnfDZmKaROmzZNkydPVlRUlOrWratXX31VjRs3Tnf8Tz/9VKNHj9bu3btVvXp1vfDCC7rlllvcz5uZxo4dq7feeksxMTFq3ry53njjDVWvXj0r5V1U3p52yW8bTl7iFGP+lpN9rS7VflaXI/qc57zL6Qv9pfrLiXzeZcznkDp37lxFRERo+vTpatKkiaZOnarw8HBt3bpVZcuWTTX+ypUr1atXL02cOFG33nqrZs+erS5dumjt2rW69tprJUmTJk3SK6+8olmzZqly5coaPXq0wsPDtXnzZhUuXDj7U5lLsnraJT9sOJeKS/Gbt5PlZl+rS6mf1eXGCX3OmzVrpkWLFmW6vPPT9p1TAScrXyAu9r4yt3858XIKivnp4JrLzMyXFzRp0kSNGjXSa6+9JklKTk5WhQoV9Mgjj2jEiBGpxu/Ro4fi4+P19ddfu4c1bdpU9erV0/Tp02VmCgsL0+OPP65hw4ZJkmJjYxUSEqKZM2eqZ8+emdYUFxen4OBgxcbGKigoKN3x4uPjVaxYMUnSiRMncuSXl1Layw05UaOUu9Pt1Bql3AtMuRFuMtsBnH8Ew9ujJzm90/VmJ+WE00O+8GZe5saHl5OXd25v306Xk9t3fthX5uYXy9yalzn9y4k5tWzOb9vb977Y23deL29v81oKn46kJiYm6vfff1dkZKR7mJ+fn9q1a6dVq1al+ZpVq1YpIiLCY1h4eLjmzZsnSdq1a5eioqLUrl079/PBwcFq0qSJVq1alWZITUhIUEJCgvvv2NhYSecmPiPnrzhxcXFKSkrKcPzMnN/e9u3bVbRo0Wy1J537tlitWjVJOVOjlLvT7dQaU9rMrW/eUVFRObpTCw4O9npcb0NgynaRU3yp0VsHDx7M8TbDwsK8HtebeZnT81Fy9vLO7e07N/aVOSknt+/8sK/Mrf2klHvzMikpKdvTff7rc2rZpHD69p2Xyzslp3l7fNSnkHr06FElJSWlmqkhISH666+/0nxNVFRUmuNHRUW5n08Zlt44F5o4caLGjRuXaniFChW8mxD59kHmjdzYWeZ0jbnRZn6oMTfkhxpzI1TmNOZjzsmNOnNj+eTGvjKn5Zf9Wn7YfvLDdOeH+Zhf9kPezsvjx497NU358ur+yMhIj6OzycnJ+ueff3TFFVfkm75EAAAAlxMz0/Hjx70Osz6F1NKlS8vf31/R0dEew6OjoxUaGprma0JDQzMcP+Xf6OholStXzmOcevXqpdlmQECAAgICPIaVKFHCl0kBAADARebLUWE/XxouVKiQGjRooMWLF7uHJScna/HixWrWrFmar2nWrJnH+JL0/fffu8evXLmyQkNDPcaJi4vTmjVr0m0TAAAAlzafT/dHRESoT58+atiwoRo3bqypU6cqPj5e/fr1kyT17t1b5cuX18SJEyVJjz76qFq3bq0XX3xRnTp10pw5c/Tbb79pxowZkiSXy6WhQ4dqwoQJql69uvsWVGFhYerSpUvOTSkAAADyDZ9Dao8ePXTkyBGNGTNGUVFRqlevnhYsWOC+8Gnv3r3y8/vfAdobbrhBs2fP1qhRozRy5EhVr15d8+bNc98jVZKGDx+u+Ph4DRo0SDExMWrRooUWLFjg6HukAgAAIPf4fJ9UAAAAILf51CcVAAAAuBgIqQAAAHAcQioAAAAch5AKAAAAxyGkAgBwAa4pzhnMx5xzOc5LQmoW7d+/X+vWrcvrMnAJyukdUX7ZsSUnJ2e7DSdPa3Jyco5MY1rOnj2bK+3mtPj4+Gy3kZycrKSkpByoJm0xMTGSlO2f2E6pMafWyZMnTyoxMTFH2rpY9uzZo4ULF0rKme07t2VnWR06dEibN2/OwWr+58iRIzKzfPWz7zm13l92IfWff/7RkSNHstXGpk2bdMMNN+jDDz+UlPMb3/bt2/Xll186foe0fft2/frrr3ldRiq5+QGW0nZOLvOTJ0/q33//1enTpyVl/8Px4MGD+vXXX/X1118rISEhJ0qUdG6nk5Pz9tixY/rrr7+0evVqSZKfn1+W5mt8fLyOHz+uuLi4i7YT93UHvHnzZvXt21ft2rXToEGDNGfOnByrZevWrRo1apS2b9+eY23u3LlTU6dO1eOPP64VK1bo1KlT2W5z69atevDBB7V///4st7F582b17t1b4eHheuihh7Ry5cps13W+9evXq3PnztqwYUO22+nSpYtOnjyZI+vkxo0b1b17d61evTrHtul//vlHf/31l7Zt25YrnzUbN25UtWrV9MQTT0iSx/3TvbV//3598skn+uKLL/Tnn3/mdIk6dOiQfvnlFy1cuFBJSUlZXlYHDhxQnTp1NGrUKP322285WuPGjRvVsmVLvfHGG7ke9LMTLA8cOKDvv/9es2bN0tmzZ+VyuXImqNplZMeOHValShUbPXq0HThwIEttrF+/3ooWLWqVK1e20NBQi46OztEa//jjDytTpowNHDgwyzVeaOfOnfbSSy9ZRESEzZkzJ0faXLdunQUFBdmMGTNypL3o6Gj7999/s93O1q1bbcqUKXbw4MHsF3WBP//809q0aWN79+41M7OkpKRst7lx40a79dZb7ZprrrEuXbrY119/na32/vjjD6tUqZI1atTIypUrZ5UqVbI333zTjhw5kq12t27dao8++qh16tTJxo0bZ0ePHs1Wexs2bLDGjRtbjRo1rGzZshYeHu5+Ljk52et2Nm3aZO3bt7f69etbWFiYffjhhz63kZG//vrLRowYYffee69NnjzZ1q1b53OdW7ZssZIlS1r//v3txRdftPDwcKtWrZoNGTIkW7UlJyfbyZMnrVGjRuZyuezBBx90r5u+1HehDRs2WNmyZa1jx45WpUoVq1Spkv3xxx/ZqnX9+vVWpEgRc7lc9t5772Wpjb/++suCg4OtZ8+eNmLECKtbt641bNjQXn755WzVdn6NBQsWtCeeeCLVc77My5RpffLJJ7Pcxvk2btxoJUqUsAceeMBj+WbHn3/+afXr17c6depYQECAjR8/3s6ePZsjbZud+3wIDAy0Tp06WdWqVe3999/3uY0NGzZYxYoVrWHDhhYSEmKdO3e27du351iNf/zxh1WsWNGuvvpqCw4Otpo1a9rs2bPt2LFjPrf1008/WYECBezGG2+03r172++//+5+Ljv7opR9R0REhO3ZsyfL7Vxo69atNnz4cOvbt69NnTrV/v77b/dzWal3w4YNdvXVV9v1119vgYGBdv3111tiYmKO1HpZhdTp06eby+Wy+vXr27PPPmuHDh1yP5ecnJzpwknZ+YwcOdKOHDlitWvXtgkTJnj1Wm/s2bPHrrrqqjR3kufX6YsNGzbYlVdeaTfddJPdcMMN5ufnZ5MmTcpWnSlBPSIiIlvtpNi8ebMVKlTIunbtarGxsVluZ9u2bVaqVClzuVwWGRmZ7WB2vl27dlm1atXM5XJZ9erVbd++fWaWvaC6adMmK1mypA0ePNimT59uzZs3t7vvvttjHF+W9759+6xatWo2btw4O3jwoCUnJ9udd95phQsXtqFDh2b5S09KaOnatas98MADVqhQIXv66aez1JbZubBRunRpGzFihK1atcoWLlxoVapUscjISJ/a2bRpk11xxRX22GOP2UcffWQRERFWsGBBjyCZHZs2bbISJUpYt27d7MEHH7QKFSrY9ddfb2+88YZ7nMyWz+nTp+2ee+6x//znP+5hp06dsvr165vL5bJevXplu86RI0dav379rEiRItarVy/btWtXlts6ePCgXXPNNfb000+7Q0utWrXs9ddfz3KbKfvN4cOH27Bhw6xly5Ye+15vJCcn28iRI6179+7uYXFxcTZhwgSrV6+evfDCC1muz+xcECxSpIiNGTPG/X7Hjh2znTt3+tTOH3/8YYGBgan24QkJCVmq68SJE9a+fXt76KGH3MO2bNli69aty3JoSdluhg0bZps2bbIpU6aYy+XKsQCc8vkwevRoS0xMtKZNm9p9993nUxu7d++28uXL24gRI+zEiRP27bffWmhoqK1ZsyZHajx8+LDVrFnTRo4caTt27LADBw5Yjx497JprrrGxY8fa4cOHfWrv2LFjdtttt9mbb75p119/vd1zzz22ceNGM8v6Z0RSUpINGjTI+vXr5/572bJl9u6779rWrVuzfFBn06ZNFhwcbB06dLC77rrLgoODrV27dvbWW2+5x/Hlc2fLli1WunRpGzVqlO3Zs8d27txppUuXzvYBlxSXVUj9448/rE+fPjZhwgQLCwuz8ePHe72g//jjDwsICLCRI0ea2bkVpmvXrtaoUSP3ONkNqv/973/tlltuMTOzxMREe+qpp6xLly42YMAAmzVrls/vs3v3bqtWrZoNHz7cvaG88847FhIS4vHNyRd///23BQQE2FNPPeWu86uvvrIZM2bY/Pnz7cSJEz61FxUVZTfccIPdeOONVrp0aevWrVuWguqJEyfs/vvvt759+9q0adPM5XLZE088kSNB9dSpUzZq1Ci74447bPHixdaqVSurWLFitoLqyZMnrUuXLvboo4+6h82fP9/uuOMOi46OtuPHj7uHe7u8FyxYYE2aNLEjR464PxR//fVXK126tNWvX9/Gjh1rp06d8qnOnTt3WqVKlTwC5NNPP20PP/xwqm/K3tR5/Phx6969uz388MPuYUlJSfbII4/Ybbfd5nVdx44ds/bt23uEPzOzNm3a2COPPOJ1PRnVGR4ebsOHD3cP279/v11xxRUWEhJizz77rNdt3XTTTe5QnzL/hw8fbnfddZddf/31Nnny5CzVmLLePfroozZt2jTbtGmTBQQEWO/evS0+Pt4mT55su3fv9qnNFStW2LXXXuuxf+jRo4cNGzbM7r33Xnv33Xd9CjO//fabBQUFufebH3/8sQUHB9uKFSs8psEbffv2tVatWnkMi4uLsylTpljDhg3dR9F9dfToUatWrZrVr1/fPaxfv37WoEEDK1eunLVq1crWrVuX6fp06NAhCw0NdZ8VOHv2rA0dOtQ6depkNWvWtP/7v/+zLVu2+FTb6dOnrUWLFrZ27Vo7e/ashYeHW6NGjax48eLWtGlTe/vtt31q78iRI9aqVSuP/U5ycrJ16NDBVq5caevWrctWWN22bZu5XC7354OZ2aeffmoBAQH2008/ed3Om2++aW3atPGY57fccou9+eabNmvWLPvxxx+zXKPZuaBWqVIl++233zyGP/nkk1anTh2bNGmSxcfHe9XW2bNn7fDhw3b11Vfb/v377YsvvrBGjRrZwIED7YYbbrC77rorSzWePXvWWrRo4f7sb926tTVo0MCCg4OtatWqWTqynpCQYPfee68NHDjQPWzbtm3Wo0cPa9q0qc9nJWJiYuyWW26xoUOHegwPDw+3t956y1566SXbvHmznTx50qd2z3dZ9Uk1M61cuVIjR47UAw88oBkzZmjWrFm688479dRTT2X42oSEBA0fPlzPPvuskpOT5efnpwkTJujvv//WG2+8ISn7fQnXrl2rf/75R5J0yy236Oeff1bFihW1Z88e/d///Z9Gjhzp9fskJydrzpw5qlatmkaOHOnuD9SoUSMVLFgwS31bzp49q9dee03FihVTvXr1JEldunTRqFGj9Nxzz+mOO+5Qv379fLqgbN26dapUqZJeeOEFffPNN1q8eLEGDBiguLg4n2rz8/NTgwYN1KFDBz388MOaM2eOpkyZokmTJuno0aM+tXWhwoUL69prr1XPnj1144036v3339dVV12lFi1aaP/+/VnqSxkQEKBjx46pVKlS7mHLly/XunXrdP311+v2229XZGSkJO/Xq71792rXrl0qXbq0ChUqJEk6ceKEmjVrpjp16mjGjBk6fPiw1zUmJSXp888/V8eOHTVixAj38JSLBps3b66HHnpI//3vf32qs3jx4u71Rzq37Fq0aKFdu3YpMTFRZ86cybSNM2fOKCYmRl27dpX0vz7ClStXdm9D2dke/fz89M8//7jrPHnypMqXL68bb7xR1157rb755ht99913GbZhZu6LXXbs2KGzZ8+qcOHCOnDggObOnatOnTqpVq1a+vbbb7NcoyR16NBBa9euVa1atbR8+XLNnTtXtWvX1tSpU31eL2NjY3X48GHt2LFDCQkJmjx5sr744gslJCTo2LFjeuONNzR58mSdPHky07bi4+PVunVr9e/fX88++6wkqWfPnmrYsKHGjBmjs2fPetVP0f5/v7brr79eSUlJ2rp1q/u54sWL6/7771f9+vX1+uuve1XXha644gp16NBBgYGBevrpp9W4cWMdOnRIDzzwgF5//XWdOXNGXbp00Y4dOzzqSUuzZs107NgxzZ8/X7feeqv+/PNP1axZUzfddJNeeeUVTZkyRXv37vW6tpiYGG3dulVHjx519+18++239cknn6hly5YaNWqUPvvsM6/bc7lc6tChgwYPHuweNmHCBC1cuFAPP/ywOnfurIEDB2rFihVet3m+woULa/r06ZowYYKkc/OqWbNmatiwob766itJ3vXnNzPt3btX69evlyQ9++yz+u677/Tpp5/qtddeU8+ePTVz5sws1Sid23+cPXvWvb6k9Ll+/vnn1bZtW73xxhvuPt4ZLW/p3HZYpkwZNWrUSBs3btQdd9yhp59+Wl9++aX+/PNP3XrrrVmq0d/fX2XLllVMTIzGjBmjgIAAzZ07V0ePHtUjjzyiP//8U++9955XNaYoVKiQoqOj3ftGM1O1atU0adIk1axZU5999pl7f+6N4OBg3Xbbberevbt72IQJE7R48WLNnj1bb731ltq2betu09s6PWQ53uZT7du3d58OmzRpkgUGBlpwcLAtXLjQp3aSk5MtJibGunTpYt27d7ezZ89m+0jq999/bzfeeKO9/fbbdvPNN9v+/fvN7Ny3lXHjxlnTpk1t06ZNXre3dOlSGzFihMewpKQkq1Spkk/fas/3999/26BBg6xp06ZWoUIFu+WWW2zLli128uRJ++2336x8+fLWu3dvr9s7fPiwRy2rVq2yUqVKWbdu3SwmJsY93Jt5e+FR3Dlz5pjL5bJhw4a5+1AmJSX5fArvQsnJybZjxw73EdWU5XT69Glbu3Ztpt/Ak5KSLDY21sLDw+2OO+6wadOmWWRkpBUpUsTee+89++6772zcuHF2/fXX2/z5872uK+VIzn333Wfbt2+3FStWWNGiRe355583M7MaNWrY+PHjfZrWffv22apVq9x/jx8/3vz9/e2pp56yV155xRo1amQ33nij16dvk5KSPI7upSzXuXPnWp06dTzGzWw+nn+0L+Wo7qhRo1KdWjz/qLQ3kpOTLTo62sLCwjyOcu7bt89q1apls2bNsuuuu84GDBjgVXsrVqwwPz8/a9Wqld13330WGBjofu2ff/5pxYsXt7/++sun/cf54y5evNhq1KjhPlrRsWNH8/Pzs44dO/p8Wt3MrG3btlauXDm76aabLCAgwL777jv3c88//7xdddVVXp9qPr/rQUr3gbfeesuuvvpqd789b4+mbt++3UqXLm3333+/e5mmzIe9e/eay+XyqNUb5793RESEhYSEWKdOnSwqKspjvNq1a1ufPn0ybe/gwYPWu3dvK1KkiN18880efbc/+ugjK1GihH377bde15ecnGw9e/a0IUOG2K233moLFixwP7dv3z6799577cEHH/Tp8ycuLs79/48//thcLpfNnTvXjh07ZkuXLrVGjRplqztPWsaMGWMlS5Z0z4/Mat25c6fdcMMNVq1aNbvrrrvM5XLZvHnz3Nvmf/7zH2vTpo0dPXo0y5+7jRo1srZt27r/Pn36tPv/DRs2tJ49e/rUXu/evd2ft/3797eSJUtarVq17P777/e5m0LKevnggw9avXr17J577rE333zTY5xhw4bZNddc43Xfz7Nnz1piYqL169fPunbtaqdPn7bk5GT3e+3YscOaNWtmPXr08Kq9tOb7smXLrGrVqvbVV1+599+33XabNWzY0Ks203LJhtT0OoG3adPGffi8f//+FhQUZKGhoTZp0qQs9dn7/PPPzeVyuU9fZafGLVu2WFhYmNWqVcvatWvn8dzevXutaNGiNnv2bJ/aTJGyQiUlJVnlypVt0aJF7ud++OGHDPvgXNjm9u3b7b777rNOnTrZX3/95fHcV199ZS6Xy7Zu3epzjSkby+rVq91BNTY21hITE+3111/3qDkj5++wU3bCTzzxhB04cMAee+wxu/POOzMNQCdOnLC4uLhUXQ/O/1Dbvn27O6ju3LnTBg8ebA0bNky3C8mF07169Wrr0KGD3X333VajRg1755133M9FRUXZVVddZRMnTvSpxi+//NIqVKhgZcuWtVKlSnn0G27RokWqLy3e1Jni6NGjNnToUI8gsHnz5kzDgTfz8tNPP7XatWu7/46IiLBbb73Vq4s5zm/nqaee8rgI67nnnrMXX3zRzpw5k2k7F77Xa6+9Zi6Xy+6//34bNWqUFStWzH2a7NNPP7VKlSrZ0aNHvQpZv/zyi9177702YMAAmzZtmnv4/Pnz7ZprrvH4Qpae9ObjwYMH7dZbbzWzc6epr7zySps5c6YVK1bMbrvtNveXKF/aXLFihc2bN88aNGhgR48edc+/lStXWrVq1bzevtP6IDt+/LhVqFDBBg8enOk0X+jHH3+0gIAAGzx4sEdXnkOHDlndunVt5cqVXrWT3nRPmTLFPv/8c3fdKdNy1113WdeuXb1q+8CBAxYZGWmLFy82M895UK1atQyvOUjLr7/+aoGBgeZyueyrr77yeO7xxx+3Vq1aZTmo7d692+MiHzOzTp06WefOnb1uI715afa/aT9y5Ihdc801NmLECK9r3blzp82dO9fGjh2bat4///zzVrduXa+7L6VV49q1a61s2bIe/cJT1vOIiAiv50HK9MycOdPGjh1rDz30kJUrV8527txpX3zxhVWtWtUefPDBTGtNq8b4+HirW7euuVwud5eZFIsWLbK6detm2mXxwv3akiVLzN/f3+PUfso4S5YsMT8/P3d/Wm/rTLF//37bsWOHmf1vXk6ePNmaNGmS5QupLsmQmtYV3ikz6Mknn7QPPvjAHnnkEQsLC7OdO3fac889Z0WLFrUXX3zR5yscExISrH379nbPPff41O8ivavQv/76aytQoICVLVvWY4ebkJBgN954o8c3aW/aPH+HcObMGTtx4oRVq1bNVq9ebWZmkZGR5nK50g3o6dW5Z88e++6779zzNeV9PvvsM6tZs2a6G463V9+vWbPGSpUqZd27d7d+/fpZwYIFfbqy8/xviHPmzLGCBQtajRo1rECBApleWOPLFeM7duywNm3amMvlssDAQPvll1/SbDO96T5x4oSdPXvWmjVrZnPnznUPT0xM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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "X = np.random.standard_normal((30, 3))\n", "corD = 1 - np.corrcoef(X)\n", @@ -2400,7 +1166,7 @@ "linkage_cor = compute_linkage(hc_cor)\n", "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", "dendrogram(linkage_cor, ax=ax, **cargs)\n", - "ax.set_title(\"Complete Linkage with Correlation-Based Dissimilarity\");\n" + "ax.set_title(\"Complete Linkage with Correlation-Based Dissimilarity\");" ] }, { @@ -2418,21 +1184,14 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": null, "id": "b94424fc", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:20.038049Z", - "iopub.status.busy": "2023-07-26T00:00:20.037914Z", - "iopub.status.idle": "2023-07-26T00:00:20.043042Z", - "shell.execute_reply": "2023-07-26T00:00:20.042732Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "NCI60 = load_data('NCI60')\n", "nci_labs = NCI60['labels']\n", - "nci_data = NCI60['data']\n" + "nci_data = NCI60['data']" ] }, { @@ -2451,31 +1210,12 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": null, "id": "cea54566", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:20.044884Z", - "iopub.status.busy": "2023-07-26T00:00:20.044785Z", - "iopub.status.idle": "2023-07-26T00:00:20.047376Z", - "shell.execute_reply": "2023-07-26T00:00:20.046971Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(64, 6830)" - ] - }, - "execution_count": 48, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "nci_data.shape\n" + "metadata": {}, + "outputs": [], + "source": [ + "nci_data.shape" ] }, { @@ -2483,51 +1223,17 @@ "id": "6ebf27f1", "metadata": {}, "source": [ - "We begin by examining the cancer types for the cell lines.\n" + "We begin by examining the cancer types for the cell lines." ] }, { "cell_type": "code", - "execution_count": 49, + "execution_count": null, "id": "4dac41bb", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:20.049125Z", - "iopub.status.busy": "2023-07-26T00:00:20.048998Z", - "iopub.status.idle": "2023-07-26T00:00:20.052730Z", - "shell.execute_reply": "2023-07-26T00:00:20.052393Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "label \n", - "NSCLC 9\n", - "RENAL 9\n", - "MELANOMA 8\n", - "BREAST 7\n", - "COLON 7\n", - "LEUKEMIA 6\n", - "OVARIAN 6\n", - "CNS 5\n", - "PROSTATE 2\n", - "K562A-repro 1\n", - "K562B-repro 1\n", - "MCF7A-repro 1\n", - "MCF7D-repro 1\n", - "UNKNOWN 1\n", - "dtype: int64" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "nci_labs.value_counts()\n" + "metadata": {}, + "outputs": [], + "source": [ + "nci_labs.value_counts()" ] }, { @@ -2544,22 +1250,15 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": null, "id": "d8ebadd6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:20.054502Z", - "iopub.status.busy": "2023-07-26T00:00:20.054401Z", - "iopub.status.idle": "2023-07-26T00:00:20.185686Z", - "shell.execute_reply": "2023-07-26T00:00:20.184416Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "scaler = StandardScaler()\n", "nci_scaled = scaler.fit_transform(nci_data)\n", "nci_pca = PCA()\n", - "nci_scores = nci_pca.fit_transform(nci_scaled)\n" + "nci_scores = nci_pca.fit_transform(nci_scaled)" ] }, { @@ -2571,34 +1270,15 @@ "to visualize the data. The observations (cell lines) corresponding to\n", "a given cancer type will be plotted in the same color, so that we can\n", "see to what extent the observations within a cancer type are similar\n", - "to each other. " + "to each other." ] }, { "cell_type": "code", - "execution_count": 51, + "execution_count": null, "id": "63b5efe3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:20.190805Z", - "iopub.status.busy": "2023-07-26T00:00:20.190351Z", - "iopub.status.idle": "2023-07-26T00:00:20.452175Z", - "shell.execute_reply": "2023-07-26T00:00:20.451824Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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cETNF6eIEnmofqED0DckGSfKjiHflAeDbECifxL2Fu5EqnG37QcAYJANDo6SiIiaq9mzZ+Pll1+ut82+ffuwZs0aFBUVYc6cOU16/Tlz5uCxxx6z3jYajSyyERERXcTbq2FlIYOX4qBImj8W2Ig8mCRJSPBtgwTfNtZjHfw7Q4YCzcZuoxIk9Aju4+AIiYiouZo1axamTJlSb5vExESsX78eKSkpMBiqf2nTr18/3H777fj4448RHR2N7OzsauerbkdHR9f62AaDocZjEhERUXUhfj7oFBuBA6dzUN/sT1mS0DcxDnody0h1Yc8QUTUBXoHoHzoQ2/JSqu0gejFZkjEknAtcEhFR7SIiIhAREWGz3VtvvYV//vOf1tunTp3CuHHj8OWXX2LAgAEAgEGDBmHu3Lkwm83w8qrc+Xvt2rXo2LEjQkJCHPMEiIiIPMQdw3pj7pdr6m2jCYHbh/R2UkTNE9dgI6IaboqfjHBDJORaXiKkc/+b0uY+BHoFuSA6IiJqSRISEtCtWzfrT4cOHQAA7dq1Q6tWrQAAt912G/R6PaZOnYq0tDR8+eWXePPNN6tNASUiIqJLc1WfLpjYq2O9bW4a2B2ju7VzUkTNE0ewEVENfjp/PNXpeXyb+RVScjfCIszWc6192+LquBvRJbC7CyMkIiJPEhQUhDVr1mDGjBno27cvwsPD8eyzz2L69OmuDo2IiKjZk2UJ824dj06xEfj4tx3ILS61nosM9MfUkf1w25BekCTJhVG6P0kIwT1WzzEajQgKCkJhYSECAwNdHQ6RWyhTS3Gk+BAswoIIQyRifVq5OiQiIrfDHML98b8RERGRbRZVw65jp1BYWo4QPx/0bB0DRfbsyY/25hAcwUZE9fJRfNE1qIerwyAiIiIiIiIH0yky+iVyUMWl8OwyJBERERERERERUSOxwEZERERERERERNQILLARERERERERERE1AgtsREREREREREREjcACGxERERERERERUSOwwEZERERERERERNQILLARERERERERERE1AgtsREREREREREREjcACGxERERERERERUSOwwEZERERERERERNQILLARERERERERERE1AgtsREREREREREREjcACGxERERERERERUSPoXB2AOxFCAACMRqOLIyEiIqLmpCp3qMolyP0wzyMiIqJLYW+exwLbBYqKigAA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ycli8+bNrg7JLdT1+7R48WJrm7KyMvHggw+KkJAQ4evrK6677rpqyb6nuzjpYn/V9P3334tu3boJg8EgOnXqJN5///1q5zVNE88884yIiooSBoNBjB49WqSnp7soWqK6Mc9rHOZ69WOed+mY59WOeV7TYK5nG3O9hpOEEMLR01CJiIiIiIiIiIhaKo/dRZSIiIiIiIiIiKgpsMBGRERERERERETUCCywERERERERERERNQILbERERERERERERI3AAhsREREREREREVEjsMBGRERERERERETUCCywERERERERERERNQILbERERERERERERI3AAhsReawpU6ZAkiRIkgS9Xo/27dvjH//4BywWCwBACIH3338fAwYMgL+/P4KDg9GvXz+88cYbKC0tBQCkpaXhhhtuQJs2bSBJEt544w0XPiMiIiIiqsJcj4iciQU2IvJo48ePx+nTp3Hw4EHMmjULzz//PF599VUAwB133IGZM2fimmuuwYYNG7Br1y4888wzWLFiBdasWQMAKC0tRWJiIubPn4/o6GhXPhUiIiIiughzPSJyFkkIIVwdBBGRK0yZMgUFBQX49ttvrcfGjh2LoqIi/O1vf8PNN9+Mb7/9Ftdcc021+wkhYDQaERQUVO14mzZtMHPmTMycOdMJ0RMRERFRfZjrEZEzcQQbEdEFfHx8YDKZsGTJEnTs2LFGwgUAkiTVSLiIiIiIyP0x1yMiR2GBjYgIld9U/vzzz1i9ejVGjRqFgwcPomPHjq4Oi4iIiIiaAHM9InI0FtiIyKOtXLkS/v7+8Pb2xoQJE3DzzTfj+eefB2fPExERETV/zPWIyFl0rg6AiMiVRo4ciYULF0Kv1yM2NhY6XeXLYocOHbB//34XR0dEREREjcFcj4ichSPYiMij+fn5oX379khISLAmXABw22234cCBA1ixYkWN+wghUFhY6MwwiYiIiOgSMNcjImdhgY2IqBY33XQTbr75Ztx666146aWXsH37dhw7dgwrV67EmDFjsGHDBgCAyWTCrl27sGvXLphMJmRmZmLXrl04dOiQi58BEREREdWFuR4RNTVJcPI5EXmo2rZuv5CmaXj//fexaNEipKWlQafTISkpCXfeeSemTZsGHx8fZGRkoG3btjXue9lll+GXX35x7BMgIiIiojox1yMiZ2KBjYiIiIiIiIiIqBE4RZSIiIiIiIiIiKgRWGAjIiIiIiIiIiJqBBbYiIiIiIiIiIiIGoEFNiIiIiIiIiIiokZggY2IiIiIiIiIiKgRWGAjIiIiIiIiIiJqBBbYiIiIiIiIiIiIGoEFNiIiIiIiIiIiokZggY2IiIiIiIiIiKgRWGAjIiIiIiIiIiJqBBbYiIiIiIiIiIiIGoEFNiIiIiIiIiIiokb4f+rgYCYQ5a1aAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "cancer_types = list(np.unique(nci_labs))\n", "nci_groups = np.array([cancer_types.index(lab)\n", @@ -2617,7 +1297,7 @@ " c=nci_groups,\n", " marker='o',\n", " s=50)\n", - "ax.set_xlabel('PC1'); ax.set_ylabel('PC3');\n" + "ax.set_xlabel('PC1'); ax.set_ylabel('PC3');" ] }, { @@ -2628,10 +1308,7 @@ "On the whole, cell lines corresponding to a single cancer type do tend to\n", "have similar values on the first few principal component score\n", "vectors. This indicates that cell lines from the same cancer type tend\n", - "to have pretty similar gene expression levels.\n", - "\n", - "\n", - " " + "to have pretty similar gene expression levels." ] }, { @@ -2646,29 +1323,10 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": null, "id": "e20c3cc1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:20.454082Z", - "iopub.status.busy": "2023-07-26T00:00:20.453955Z", - "iopub.status.idle": "2023-07-26T00:00:20.657428Z", - "shell.execute_reply": "2023-07-26T00:00:20.657082Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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re2suHBIRmqCku02+fvfvUVSMp+8AQCALmIYhiyWliuTr776ytO3FzCb02Uof9tevbh5t/K37dXe/Q26/skPVdfoVEr/WDnivSsyHXYbA8YAAEHRpq2jX3zxhd566y0tX75ct9xyi2655RZdeeWV+ulPf6qzzz67s2Ls0SKsFmVPTtOcFYWySF5DEfjkDQAAdJUzzzxTFotFFotF3/3udxUZeXgZ6XQ6VVJSookTJ5oYIdAsr6hUOWuKvfocR0dY1eh0aaDdpn/dkKn+vWNUUFKpipp6JcY1f2jNehoAEAxtnjp6/vnn6/zzz9fixYu1atUq/f3vf9e5556rk08+Wddff72uueYaJSUldUasPdbE9GQtmT6qxYLBYbcpe3Ian7wBAIBO5542unnzZk2YMEF9+vTxnIuOjlZKSop++MMfmhQd0CyvqFRzVhR6fTgtSY3O5iEe152b6mm5wiAxAEBnsBiGcfT/h9rsyy+/1N///nctXbpU+/fvV0NDQzBiM011dbXsdruqqqoUHx9vdjgeTpehDV/u0YzlBTIk5c+/SMl9e5kdFgAAUOiuH4LtySef1NSpU2WzhWd/2J7yc+qJnC5D5z7wutcH00dLttv0zryLqF4DALRZoGuINvVo86W2tlZvv/221q9fr2+//VbHH398R58SfkRYLTrvpOM08FBy7at9B0yOCAAA9DQzZ84M2yQbureCkspWk2ySVFpVr4KSyi6KCADQE7U70fbOO+/ouuuuU3Jysm6++WaddNJJevvtt/XZZ58FMz74MKx/rCRpx946kyMBAAA9jdPp1EMPPaSMjAw5HA4lJCR4fQFmqahpPcnW1usAAGiPNiXaSktLdf/99+uUU07R+eefry1btuiRRx5RaWmpli9frnPOOaez4sQRhvXvLUnauZeprwAAoGvl5OTokUce0dSpU1VVVaWsrCxdccUVslqtuueee8wODz2Yu/dasK4DAKA92jQMYciQIRowYICuueYaXX/99TrllFM6Ky60wlPRVklFGwAA6Fr//Oc/tWzZMk2aNEn33HOPpk2bpuHDh+uMM87Qe++9p5tvvtnsENFDZaQmyBFvU1m174o1i5qHiWWkUnkJAOg8bapoe/rppzV37lxt2LBB11xzjebPn68DB+gT1tWGJbB1FAAAmKOsrEynn366JKlPnz6qqqqSJP3gBz/Q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u+9WcnKyevXqpfHjx+uLL74wJ9gQkJubq7POOktxcXFKTEzUlClTtHXrVq9r6uvrdeONN6p///7q06ePfvjDH6q8vNykiM21ZMkSnXHGGYqPj1d8fLwyMzP1n//8x3Oe96p1999/vywWi2699VbPMd4zb/fcc48sFovX1ymnnOI5z/vV0u7duzV9+nT1799fvXr10umnn64PP/zQc54/9xGOWOf5x1ovcKzz2o61Xvuxzjs21nltxzrPPxJtQbZq1SplZWUpOztbhYWFGjFihCZMmKCKigqzQzNdbW2tRowYocWLF/s8//vf/15//OMftXTpUr3//vvq3bu3JkyYoPr6+i6ONDSsX79eN954o9577z2tXbtWTU1N+t73vqfa2lrPNbfddpvWrFmjZ599VuvXr9fXX3+tK664wsSozTN48GDdf//92rhxoz788ENddNFFuuyyy/Tpp59K4r1qzQcffKC//OUvOuOMM7yO8561dNppp6m0tNTz9c4773jO8X55+/bbb3XOOecoKipK//nPf1RcXKyHH35Y/fr181zDn/sIN6zzWsdaL3Cs89qOtV77sM4LHOu8wLHOOwYDQZWRkWHceOONnsdOp9MYOHCgkZuba2JUoUeS8fzzz3seu1wuw+FwGA8++KDn2L59+4yYmBjjmWeeMSHC0FNRUWFIMtavX28YRvP7ExUVZTz77LOeaz777DNDkpGfn29WmCGlX79+xl//+lfeq1bU1NQYJ554orF27VrjggsuMG655RbDMPj98iU7O9sYMWKEz3O8Xy3NmzfPOPfcc/2e5899hCPWeYFjrdc2rPPah7Ve61jnBY51XtuwzmsdFW1B1NjYqI0bN2r8+PGeY1arVePHj1d+fr6JkYW+kpISlZWVeb13drtdY8eO5b07pKqqSpKUkJAgSdq4caOampq83rNTTjlFQ4cO7fHvmdPp1MqVK1VbW6vMzEzeq1bceOONmjRpktd7I/H75c8XX3yhgQMH6vjjj9dPfvIT7dy5UxLvly+rV6/WmDFjdOWVVyoxMVFnnnmmli1b5jnPn/sIN6zzOob/5lvHOq9tWOsFhnVe27DOCxzrvNaRaAuiPXv2yOl0Kikpyet4UlKSysrKTIoqPLjfH94731wul2699Vadc845Sk9Pl9T8nkVHR6tv375e1/bk9+yTTz5Rnz59FBMToxtu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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, axes = plt.subplots(1, 2, figsize=(15,6))\n", "ax = axes[0]\n", @@ -2683,7 +1341,7 @@ " nci_pca.explained_variance_ratio_.cumsum(),\n", " marker='o');\n", "ax.set_xlabel('Principal Component')\n", - "ax.set_ylabel('Cumulative PVE');\n" + "ax.set_ylabel('Cumulative PVE');" ] }, { @@ -2719,16 +1377,9 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": null, "id": "622de805", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:20.659393Z", - "iopub.status.busy": "2023-07-26T00:00:20.659262Z", - "iopub.status.idle": "2023-07-26T00:00:20.662015Z", - "shell.execute_reply": "2023-07-26T00:00:20.661717Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "def plot_nci(linkage, ax, cut=-np.inf):\n", @@ -2744,7 +1395,7 @@ " leaf_font_size=10,\n", " **cargs)\n", " ax.set_title('%s Linkage' % linkage)\n", - " return hc\n" + " return hc" ] }, { @@ -2757,34 +1408,15 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": null, "id": "54d40449", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:20.663751Z", - "iopub.status.busy": "2023-07-26T00:00:20.663617Z", - "iopub.status.idle": "2023-07-26T00:00:22.071969Z", - "shell.execute_reply": "2023-07-26T00:00:22.071658Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABMIAAAmnCAYAAABmmbWJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXwddb0//vdJl7RJN8qSUujGIpSyClhqK7LUW0B2RKsoZVGQC8iigHgFtHipegFZZBHZvVT5gorgUkS21rbslEUQKPsVG1BoaxMotP38/vDR/EibNtskZ5J5Ph+PPB45M+e885k5mZkzr/OZz5RSSikAAAAAoJurKHcDAAAAAKAzCMIAAAAAKARBGAAAAACFIAgDAAAAoBAEYQAAAAAUgiAMAAAAgEIQhAEAAABQCIIwAAAAAApBEAYAAABAIQjCAAA6SKlUiu985zvlbkarjRw5Mo444og2v3bffffNtkEAABkRhAEAufbiiy/GscceG5tsskn06dMnBgwYEOPHj4+LL7443n333XI3r0O88cYb8Z3vfCfmzZuXad1XXnklSqVSnH/++ZnWBQDoKnqWuwEAAGvyu9/9Lg499NCorKyMww8/PLbeeut4//33489//nOcdtpp8Ze//CWuuuqqcjczc2+88UZ897vfjZEjR8b222/f6X//ueeei4oK35cCAN2PIAwAyKWXX345Jk+eHCNGjIh77rknNtxww4Z5xx9/fMyfPz9+97vflbGF3VdlZWW5mwAA0CF81QcA5NIPf/jDWLJkSVxzzTWNQrCVNttsszjppJMaHi9btizOPffc2HTTTaOysjJGjhwZ3/rWt2Lp0qWNXrdyDKv77rsvdtppp+jbt29ss802cd9990VExK9+9avYZpttok+fPrHjjjvG448/3uj1RxxxRPTr1y9eeumlmDRpUlRXV8fQoUNj6tSpkVJqdrn+9re/xVFHHRU1NTVRWVkZY8aMiWuvvbZh/n333Rc777xzREQceeSRUSqVolQqxfXXX9/wnAcffDD22muvGDhwYFRVVcUnP/nJmD17drN/u6VWHSPs+uuvj1KpFLNnz45TTz011l9//aiuro6DDjoo3nrrrWbr3XDDDdGzZ8847bTTIiLi7bffjm984xuxzTbbRL9+/WLAgAGx9957xxNPPLHaa1999dXYf//9o7q6OjbYYIM45ZRT4s4774xSqdTwnq3U0esFAOj6BGEAQC7dcccdsckmm8THP/7xFj3/y1/+cpx99tnx0Y9+NH70ox/FJz/5yZg2bVpMnjx5tefOnz8/vvCFL8R+++0X06ZNi3feeSf222+/uOmmm+KUU06JL37xi/Hd7343XnzxxfjsZz8bK1asaPT65cuXx1577RU1NTXxwx/+MHbcccc455xz4pxzzllrG2tra2OXXXaJP/3pT3HCCSfExRdfHJtttlkcffTRcdFFF0VExOjRo2Pq1KkREXHMMcfEz372s/jZz34Wu+66a0RE3HPPPbHrrrvG4sWL45xzzonzzjsvFi5cGHvssUc89NBDLVpXbXXiiSfGE088Eeecc04cd9xxcccdd8QJJ5yw1tdcddVVceSRR8Y3v/nN+J//+Z+IiHjppZfitttui3333TcuvPDCOO200+Kpp56KT37yk/HGG280vLauri722GOP+NOf/hRf+9rX4r/+679izpw5ccYZZ6z2d8q5XgCALiQBAOTMokWLUkSkAw44oEXPnzdvXoqI9OUvf7nR9G984xspItI999zTMG3EiBEpItKcOXMapt15550pIlLfvn3Tq6++2jD9Jz/5SYqIdO+99zZMmzJlSoqIdOKJJzZMW7FiRfr0pz+devfund56662G6RGRzjnnnIbHRx99dNpwww3TP/7xj0btnDx5cho4cGCqr69PKaX08MMPp4hI1113XaPnrVixIm2++eZp0qRJacWKFQ3T6+vr06hRo9KnPvWpta6nl19+OUVE+p//+Z+1Pm/EiBFpypQpDY+vu+66FBFp4sSJjf7uKaecknr06JEWLlzY6LWf/vSnU0opXXzxxalUKqVzzz23Uf333nsvLV++fLW2VVZWpqlTpzZMu+CCC1JEpNtuu61h2rvvvpu23HLLRu9Le9cLAFAceoQBALmzePHiiIjo379/i57/+9//PiIiTj311EbTv/71r0dErDaW2FZbbRXjxo1reDx27NiIiNhjjz1i+PDhq01/6aWXVvubH+4JVSqV4oQTToj3338//vSnPzXZxpRS/PKXv4z99tsvUkrxj3/8o+Fn0qRJsWjRonjsscfWupzz5s2LF154Ib7whS/EP//5z4bX19XVxZ577hkzZ85crfdalo455pgolUoNjz/xiU/E8uXL49VXX13tuT/84Q/jpJNOih/84Afx7W9/u9G8ysrKhsH4ly9fHv/85z+jX79+scUWWzRaBzNmzIiNNtoo9t9//4Zpffr0ia985SuN6pV7vQAAXYfB8gGA3BkwYEBERPzrX/9q0fNfffXVqKioiM0226zR9CFDhsSgQYNWC2o+HHZFRAwcODAiIoYNG9bk9HfeeafR9IqKithkk00aTfvIRz4SERGvvPJKk2186623YuHChXHVVVet8U6Xb775ZpPTV3rhhRciImLKlClrfM6iRYtinXXWWWudtlp1va38O6uun/vvvz9+97vfxRlnnNEwLtiHrVixIi6++OK4/PLL4+WXX47ly5c3zFt33XUbfn/11Vdj0003bRS+RcRq73O51wsA0HUIwgCA3BkwYEAMHTo0nn766Va9btXAZE169OjRqumpBYPgN2dlj6QvfvGLawxstt122xbV+J//+Z/Yfvvtm3xOv3792t7IZrR0/YwZMyYWLlwYP/vZz+LYY4+NUaNGNZp/3nnnxVlnnRVHHXVUnHvuuTF48OCoqKiIk08+uU09t8q9XgCArkMQBgDk0r777htXXXVVzJ07t9FljE0ZMWJErFixIl544YUYPXp0w/Ta2tpYuHBhjBgxItO2rVixIl566aWGXmAREc8//3xE/PuOi01Zf/31o3///rF8+fKYOHHiWuuvKdDbdNNNI+LfQWFzNcppvfXWi1tvvTUmTJgQe+65Z/z5z3+OoUOHNsy/9dZbY/fdd49rrrmm0esWLlwY6623XsPjESNGxDPPPBMppUbrZP78+Y1e11XWCwBQfsYIAwBy6fTTT4/q6ur48pe/HLW1tavNf/HFF+Piiy+OiIh99tknIqLhzosrXXjhhRER8elPfzrz9v34xz9u+D2lFD/+8Y+jV69eseeeezb5/B49esQhhxwSv/zlL5vs6fbWW281/F5dXR0R/w6GPmzHHXeMTTfdNM4///xYsmTJWmuU28Ybbxx/+tOf4t13341PfepT8c9//rNhXo8ePVbrRXbLLbfE3/72t0bTJk2aFH/729/i9ttvb5j23nvvxU9/+tNGz+tK6wUAKC89wgCAXNp0001j+vTp8bnPfS5Gjx4dhx9+eGy99dbx/vvvx5w5c+KWW26JI444IiIitttuu5gyZUpcddVVsXDhwvjkJz8ZDz30UNxwww1x4IEHxu67755p2/r06RMzZsyIKVOmxNixY+MPf/hD/O53v4tvfetbsf7666/xdd///vfj3nvvjbFjx8ZXvvKV2GqrreLtt9+Oxx57LP70pz/F22+/3bDsgwYNiiuvvDL69+8f1dXVMXbs2Bg1alRcffXVsffee8eYMWPiyCOPjI022ij+9re/xb333hsDBgyIO+64o9n233333fHee++tNv3AAw+Mrbfeuu0rZhWbbbZZ/PGPf4zddtstJk2aFPfcc08MGDAg9t1335g6dWoceeSR8fGPfzyeeuqpuOmmm1Ybd+3YY4+NH//4x/H5z38+TjrppNhwww3jpptuij59+kTE/99zrqKiIpP1AgB0f4IwACC39t9//3jyySfjf/7nf+I3v/lNXHHFFVFZWRnbbrttXHDBBY3uHnj11VfHJptsEtdff338+te/jiFDhsSZZ54Z55xzTubt6tGjR8yYMSOOO+64OO2006J///5xzjnnxNlnn73W19XU1MRDDz0UU6dOjV/96ldx+eWXx7rrrhtjxoyJH/zgBw3P69WrV9xwww1x5plnxle/+tVYtmxZXHfddTFq1KjYbbfdYu7cuXHuuefGj3/841iyZEkMGTIkxo4dG8cee2yL2j9jxoyYMWPGatNHjhyZaRAWEbHNNtvEH/7wh5g4cWLst99+MWPGjPjWt74VdXV1MX369Lj55pvjox/9aPzud7+Lb37zm41e269fv7jnnnvixBNPjIsvvjj69esXhx9+eHz84x+PQw45pCEQi4hM1gsA0P2VUhajvwIAFMQRRxwRt956a5OX4NE5LrroojjllFPi//7v/2KjjTYqd3MAgC7EGGEAAOTWu+++2+jxe++9Fz/5yU9i8803F4IBAK3m0kgAAHLr4IMPjuHDh8f2228fixYtiv/93/+Nv/71r3HTTTeVu2kAQBckCAMAILcmTZoUV199ddx0002xfPny2GqrreIXv/hFfO5znyt30wCALsgYYQAAAAAUgjHCAAAAACgEQRgAAAAAhdAlxwhbsWJFvPHGG9G/f/8olUrlbg4AAAAAZZRSin/9618xdOjQqKhYc7+vLhmEvfHGGzFs2LByNwMAAACAHHn99ddj4403XuP8LhmE9e/fPyL+vXADBgwoc2sAAAAAKKfFixfHsGHDGjKjNemSQdjKyyEHDBggCAMAAAAgIqLZIbQMlg8AAABAIQjCAAAAACgE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qqur2xyEAQBAa7g0EgAAAIBC0CMMAAAAoEyau5N2U1pzd+1VFf1u24IwAAAAgDJo7Z20m9La8VKLfrdtl0YCAAAAlEHWd9JuiaLfbVuPMAAAAIAya8+dtFvC3bb/TRAGAAAAUGbupN05XBoJAAAAQCEIwgAAAAAoBEEYAAAAAIUgCAMAAACgEARhAAAAABSCIAwAAACAQhCEAQAAAFAIgjAAAAAACkEQBgAAAEAhCMIAAAAAKARBGAAAAACFIAgDAAAAoBAEYQAAAAAUQocEYX/729/ii1/8Yqy77rrRt2/f2GabbeKRRx5pmJ9SirPPPjs23HDD6Nu3b0ycODFeeOGFjmgKAAAAAEREBwRh77zzTowfPz569eoVf/jDH+KZZ56JCy64INZZZ52G5/zwhz+MSy65JK688sp48MEHo7q6OiZNmhTvvfde1s0BAAAAgIiI6Jl1wR/84AcxbNiwuO666xqmjRo1quH3lFJcdNFF8e1vfzsOOOCAiIi48cYbo6amJm677baYPHnyajWXLl0aS5cubXi8ePHirJsNAAAAQDeXeY+w22+/PXbaaac49NBDY4MNNogddtghfvrTnzbMf/nll2PBggUxceLEhmkDBw6MsWPHxty5c5usOW3atBg4cGDDz7Bhw7JuNgAAAADdXOZB2EsvvRRXXHFFbL755nHnnXfGcccdF1/72tfihhtuiIiIBQsWRERETU1No9fV1NQ0zFvVmWeeGYsWLWr4ef3117NuNgAAAADdXOaXRq5YsSJ22mmnOO+88yIiYocddoinn346rrzyypgyZUqbalZWVkZlZWWWzQQAAACgYDIPwjbccMPYaqutGk0bPXp0/PKXv4yIiCFDhkRERG1tbWy44YYNz6mtrY3tt98+6+YAAABAYaSUor6+vlWvqaura/L3lqiqqopSqdSq10A5ZR6EjR8/Pp577rlG055//vkYMWJERPx74PwhQ4bE3Xff3RB8LV68OB588ME47rjjsm4OAAAAFEJKKSZMmBBz5sxpc41VhzFqzvjx42PWrFnCMLqMzMcIO+WUU+KBBx6I8847L+bPnx/Tp0+Pq666Ko4//viIiCiVSnHyySfH9773vbj99tvjqaeeisMPPzyGDh0aBx54YNbNAQAAgEKor69vVwjWFrNnz251DzQop8x7hO28887x61//Os4888yYOnVq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9tprr1adw86dOzcdffTRacCAAWnrrbdOPXr0aFMw013rHHPMMWmTTTZJv//979OiRYvSokWL0u9+97u06aabpq9+9autqvWzn/0s9ezZM332s59NF198cbr44ovTZz/72dSrV6900003tbhO3tbRqrpVEHbsscemU045Za0/nVWnf//+6YUXXmh4PHny5PSVr3yl4fHjjz+eNtxww06r05zWBmFZrKPhw4enZ555Zo3zn3322TRs2LAWL8OatHTZ9t133zRgwID0+c9/Pv32t79Ny5YtSymldp8QL1++PP30pz9NG2+8cRo+fHi69tpr0/LlyzutTkeu56yWLaWU7rrrrrTjjjum/v37p3POOSctXry4bHXaulwtCXla8r+Y5XuWVa2s6uRtHXXUdr+qrnyCvqost/t//vOf6eSTT06VlZVp1113TXPnzu209mS5neXtmJ9VnbwdpzurTpa1Wlonb/u0vNXJY5uyqpO3c5imZPUZLcta3aFO1u/ZyJEj0w033LDa9Ouvvz6NHDmyRTWyblNVVVV68sknV5s+b968VF1d3ezrzz///LTVVluljTbaKH3jG99I8+bNSym1fjvrrnVWWnfdddO999672vR77rknrbfeeq2qteWWWzYZnF5wwQVpyy23bPb1eV1Hq+o2d42MiHjqqaeid+/ea5zf0muks6hTUVHRcG12RMQDDzwQZ511VsPjQYMGxTvvvNNpdW6//fa1zm/t3U+yWEe1tbXRq1evNc7v2bNnvPXWW83WyWrZ/vCHP8TXvva1OO644zIbO+VXv/pVfOtb34q33norzjzzzDjxxBOjsrKyU+tktZ6zbNOHPfbYY3HGGWfErFmz4stf/nL8/ve/b9O4BFnVyWq52iPL9yyrWh31f9RWWbUnq+0+y31sVrWy3u9HZLd9vPvuu3HhhRfG+eefHyNGjIhf/epXsc8++3Rqe7L8n87bMT+rOnk7Tnfn7Sxv+7S81cljm7Jctjydw3xYVp+tsqzV3epk+Z79/e9/b/LGHB//+MdbNY5Slm2qrKyMf/3rX6tNX7JkyVr/xkpnnHFGnHHGGTF16tR2jSnWXeusVF9fHzU1NatN32CDDaK+vr5VtV566aXYb7/9Vpu+//77x7e+9a1mX5/XdbSadkdpOZG36+t32WWXdMEFF6SUUnr66adTRUVFeumllxrm33fffWnEiBGdVmdtY6p8+KclslpHm2yySfr1r3+9xvm//OUv06hRo1rUniyWbe7cuenLX/5y6t+/f/rYxz6WLr300vTWW2+1KXW+77770tixY1NVVVU688wz08KFC1v1+izrZLWes2xTSinNnz8/ffazn009evRIn//85xv1CipHnSyWq6KiolF38v79+zfaXlva2ynL9yyrWlnVyds6ymq7z3ofm0WtLNuU1Xa/bNmydMUVV6QhQ4akkSNHphtvvDGtWLGi1XXytm/M2zE/qzp5O0535+0sb/u0vNXJY5uyPH7k6Rwmpew+W2VZqzvWyXo8rjFjxqT//u//Xm36ueeem7beeuuytOlLX/pSGjNmTHrggQfSihUr0ooVK9LcuXPT1ltvnaZMmdLs688777y0+eabp2HDhqXTTz89PfXUUyml1vcK6q51Vtpjjz3SoYcemt59992GafX19enQQw9Ne+65Z6tqbbrppunKK69cbfoVV1yRNttss2Zfn9d1tKpuE4RVVFRkstFmVedXv/pV6t27d9pjjz1STU1N2nfffRvNP/3009Ohhx7aaXWylNU6OuGEE9LWW2/daINdqb6+Pm299dbpxBNPbPffaa0lS5aka665Jo0fPz716tUrVVRUpIsuuqjFXaX33nvv1KtXr3Tsscemv//9721uR1Z1slzPWbXpuOOOS717906TJk1Kjz/+eNnrZLVcpVIpDRo0KK2zzjppnXXWSaVSKQ0cOLDh8aBBg1oU8mT5nmVVK6s6eVxHKbV/u+/Osto+br755rT55pun9ddfP1100UVp6dKlZW1Plv9DeTvmZ1Unr8fp7iiv+7S81cljm9pbJ2/nMFl9tsqyVnetk9V7ttKtt96aevTokSZNmpSmTp2apk6dmiZNmpR69uyZfvWrX5WlTe+8807af//9U6lUSr179069e/dOFRUV6cADD2zVl1j33XdfOvzww1NVVVXadtttU48ePdKf//znVrenu9Z58skn09ChQ9O6666b9thjj7THHnukddddN2200Ubp6aefblWtyy+/PPXu3Tt99atfTTfeeGO68cYb07HHHpsqKyubDMjWJG/raFWllD7Ud74Lq6ioiAULFrT7Vq9Z1YmIuPvuu+O3v/1tDBkyJE488cSoqqpqmPfd7343PvnJT8Zuu+3WaXXWZsWKFfH73/8+9t1332afm9U6qq2tjY9+9KPRo0ePOOGEE2KLLbaIiIi//vWvcdlll8Xy5cvjsccea7KbZ2u0ZtlW9dxzz8U111wTP/vZz2LhwoXxqU99qtnLICoqKqJnz55RXV291q7Db7/9dqfUyXI9Z7lsffr0iS233HKtz3vsscc6rU4Wy3XDDTesdf5KU6ZMWev8LN+zrGplVSeP62hVbdnum9Oe/VBH1WppnSy3+759+8bnP//5GDBgwBqfd+GFF3ZKe7L+H8rbMT+LOl3hON0RdcrRpq6wT8tbnTy2qa2fG/N0DpPVZ6ssa3XnOlmdd374b1544YXx7LPPRkTE6NGj4+tf/3rssMMOLXp9lm1KKcXrr78e66+/fvztb39r1KbNNtusTTX/9a9/xfTp0+Paa6+NRx99ND72sY/FZz7zmTj11FMLX6e+vj5uuumm+Otf/xoR/17Phx12WPTt27dVbYmI+PWvfx0XXHBBo/fstNNOiwMOOKDVtfK0jj6s2wRhN9xwQ0yePLndY/lkVaermD9/flx77bVx/fXXx1tvvRUffPBBs6/Jch29+uqrcdxxx8Wdd97ZMJ5JqVSKSZMmxWWXXRajRo1qc+22LNuaLF++PO6444649tprm/1Ak9WJflZ1IrJbz1m16bvf/W6L6pxzzjmdUier5Zo5c2Z8/OMfj5492z/8YpbbRla1sqiT13XUlNZs92uS5X4oq1qtrZPV9rHbbrs1O65IqVSKe+65p1PaE9Hx/0PdQVc4TneH7Syia+zT8lgnj21q7efGPJ3DZPXZKsta3bVOludUH3zwQRx77LFx1llntWtfkWWbVqxYEX369Im//OUvmY2//GFPPfVUXHPNNTF9+vR48803C1vngw8+iC233DJ++9vfxujRo9v8dyMili1bFuedd14cddRRsfHGG7erVlPytK67TRD2/PPPx8KFC+NjH/tYw7S77747vve970VdXV0ceOCBLRrcLas6r732WovaPXz48E6p82Hvvvtu3HLLLXH11VfH7Nmz4xOf+ERMnjw5DjrooBZ905jVOvqwd955J+bPnx8ppdh8881jnXXWadXrV2rvsnWW5cuXZzLoX2vrZLWes2xTV9GS5erRo0f8/e9/z/SbvSzfs6xqtadO3tdRFrLcD2VVq6P3jXnb7jt735i3Y35HfHbI23G6O29nedun0bHydg5D58n6PRs4cGDMmzevXUFY1m0aM2ZMXHPNNbHLLru0uU3N+eCDD9Z6s5Ei1Nloo43iT3/6U7uDsIiIfv36xdNPPx0jR45sd601ycO67jZB2EEHHRTbbLNNTJ06NSL+fZeeMWPGxCc+8YnYcsst49prr41zzz03Tj755E6pU1FR0eQ33ymlhumlUimWLVvWKXUiIh5++OG4+uqr4xe/+EVsuummcdhhh8UZZ5wRTz75ZGy11VbNvn6lrNZRc/7617/G/vvvH88//3yzz81i2Y466qhmn1MqleKaa65pUb2mPP/883HNNdfEjTfe2Kq7t3RUnYjWreeOaNOTTz7Z8Lc/8pGPxLbbbtumv59VnVW1Zrk6oot7U7J6z7Ks1dI6eVtHWW73We1js6yVZZua0prt4957743x48e36C5RndGe5rRm28jbMT/Lzw5r09nH6Szr5LVNa9LZ+7S81cljm7Kqk7dzmA/L8rNV3j7v5aFO1u/ZlClTYvvtt49TTjml1cvRUW2644474oc//GFcccUVsfXWW7e6PZdcckmzzymVSnHiiScWss5K5513Xjz//PNx9dVXt/uqiwMOOCAOPvjgFvWsb0pe19Gq2n9tSk488sgjcfrppzc8vummm+IjH/lI3HnnnRERse2228all17a7EabVZ3HH3+8yekppfjFL34Rl1xySfTr16/Z5cqqzrbbbhuLFy+OL3zhCzFnzpwYM2ZMRER885vfbPa1q8pqHTVn6dKl8eKLLzb7vKyW7frrr48RI0bEDjvsEFnmw/X19XHzzTfHtddeG3Pnzo2ddtqpTdcyZ1VnVS1dz1m36aGHHoqjjz46nnnmmUaXgKz85mjnnXfu1DpZLVdzl35loT3vWUfVak2dPK2jrLb7LPexWdXKsk0f1tbtY88994w+ffrELrvsErvvvnvsvvvuscsuu7T7A1se9o15O+ZnVac5nX2cLtJ2tqrO3qflrU4e25RVnbydw0Rk+9kqb5/38lQn63OqzTffPKZOnRqzZ8+OHXfcMaqrqxvN/9rXvtbpbTr88MOjvr4+tttuu+jdu/dq41U1N57nj370o2b/RkvCkO5aZ6WHH3447r777vjjH/8Y22yzzWrv/a9+9asW1YmI2HvvveOb3/xmPPXUU03+H+2///5rfX1e19Fq2j3cfk706dMnvfbaaw2P99hjj/Ttb3+74fH8+fPTwIEDO61OU+6666604447pv79+6dzzjmnzXcja0ud3r17py996Uvpj3/8Y6Nb1bfl9qMduY4+bN68eS26e1xWy/af//mfaZ111knbb799uvjii9M///nPNrV7pblz56ajjz46DRgwIG299dapR48eaebMmWWrsyYtXc9Ztukvf/lL6tevX9p5553T9OnT0+OPP54ef/zxdNNNN6Wddtop9e/fv0XvXVZ1slquUqmU9tlnn3TQQQet9ae92vKedXStltbJ2zrKarvPch+bVa0s25RS+7ePV155JV177bVpypQpacSIEalUKqXq6ur0H//xH2natGnpgQceSMuXL++09jSnvdtGOY/5HVnnwzr7OF2E7WxNOnuflrc6eWxTVnXydg6T5WervH3ey1udrM+pRo4cucafUaNGtahG1m26/vrr1/pDNo444oi1/rRGqVRa409W5x950G2CsKFDh6YHH3wwpZTS8uXL04ABA9Jvf/vbhvnPPPNMGjBgQKfV+bBHH300TZw4MVVWVqbjjz++zbekbU+d//u//0vf+9730qabbpqGDh2avv71r6fHHnss9erVq9Uf1DpiHTWlpR/6sly29957L02fPj1NnDgxVVVVpUMPPTTNmDGj0Yfb5px//vlpq622ShtttFH6xje+kebNm5dSav2H4qzqNKc1J3tZtenQQw9NBx10UJPrdcWKFenAAw9Mhx56aKfVyWq5SqVS+tznPpfpwagpXT0Iy9s6ymK7z3I/lFWtrOp01L7oxRdfTNdcc0360pe+lIYPH54qKipa9OE6j/vGD8vDMb8j6jSls4/T3Xk7a05n79PyWCePbcqiTt7OYbL6bJVlre5ap7POqVojj22CjtBtgrAvfOELad99902vvfZauuCCC1K/fv3SkiVLGubfeuutadttt+20Oin9OzH/7Gc/m3r06JE+//nPpxdffLH1C5ZhnZXuvvvudNhhh6W+ffumUqmUTjvttPTcc8+1+PVZrqO1actJSHuX7cNeeeWV9J3vfCdtsskmafjw4elf//pXi17Xo0eP9K1vfSstW7as0fTWnqRlVac5rVnPWbVpvfXWSw8//PAa5z/00ENpvfXW67Q6WS1XqVTK9CRzTbp6EJbnddTW7f7DstwPZVWrPXU6cl+0spfY4YcfngYMGJD69u1b1vZ8WGv/h/J2zM/6s0NTynmc7m7bWXPKuU/LY508tqmtdfJ2DpPVZ6ssa3XXOh15TrVixYo2hc0d0aZly5alW265JU2dOjVNnTo13XrrremDDz5o0WtvuOGGFv0Utc6qamtr08yZM9PMmTM75fN2U/K+jlbqNkHYyy+/nDbbbLNUKpVSz5490+WXX95o/gEHHJBOPvnkTqtz3HHHpd69e6dJkyalxx9/vFXL0hF1mrJw4cJ02WWXpR133DGVSqW0zTbbtOh1Wa2jQYMGpXXWWWeNP/3792/zCXpbl+3DXnvttfTd7343jRo1Km200UYt/kBz3nnnpc033zwNGzYsnX766empp55KKbX+JC2rOlmu56zaVFlZ2ajb9apee+21VFlZ2Wl1slquioqKTA46Wb5nWdXKqk4e19GHtXW7b0oW+6Gsa7WlTlbbR0opvfrqq+mGG25IRxxxRBo5cmTq169f+o//+I907rnnppkzZ6alS5d2Wnuy/B/K2zE/qzp5P05nWafcbcr7Pi1vdfLYprbWyds5TFafrbKs1V3rZPWefdjVV1+dxowZk3r37p169+6dxowZk37605+2+PVZt+npp59Om2yySaqqqko77LBD2mGHHVJ1dXUaOXJkw/F7bUqlUurfv39aZ5110qBBg5r8WWeddQpbZ6VFixalL37xi6lnz54NlzH27NkzHXbYYWnhwoUtrrPSn/70p/TpT386bbLJJmmTTTZJn/70p9Ndd93VotfmdR2tVj+l7nHXyIiIZcuWxV/+8pdYf/31Y+jQoY3mPfHEEzFs2LAYPHhwp9SpqKiIPn36xJZbbrnW5z322GOdUqc58+bNi2uvvbZFd2eIyGYd3XDDDS36W229Y8VKrVm2pUuXxq9+9au49tpr489//nPsu+++ceSRR8Zee+0VFRUVrfq7999/f1x77bVx6623xmabbRZ/+ctf4v7774/x48d3ap2OWM/tbdMWW2wR5513XhxyyCFNzr/11lvjv/7rv+K5557rlDortXe5mrsj4rPPPhvXXHNNnH/++Wutk+V7llWtrOrkcR1lud2vSWv3sZ1Rq7V12rt9bLLJJvHOO+/E+PHjY9ddd41dd901dtpppzYPlp+nfWPejvlZ1cnjcboz6pSjTXncp+WtTh7blFWdPJ3DZPnZKm+f9/JWJyK79z4i4uyzz44LL7wwTjzxxBg3blxERMydOzd+/OMfxymnnNJwJ8jObNO4ceNi/fXXjxtuuCHWWWediIh455134ogjjoi33nor5syZs9bXjxkzJmpra+OLX/xiHHXUUW2+u2d3rbPS5z73uXj88cfj0ksvbfTen3TSSbH99tvHL37xixbXuvzyy+Okk06Kz3zmMw21Hnjggbj11lvjRz/6URx//PFrfX1e19Fq2hyhdTHPPPNM+vrXv95pdb7zne+06Kez6nSmrNZ1ZzvuuOPSOuusk7bddtt00UUXpbfeeiuTuosXL05XXnll+tjHPpZ69OiRxo0bly644IKy1clSW9t09tlnp+HDhzf5TdCTTz6ZRowYkc4666xOq7Oqti7Xfffdt1pX7yVLlqSrr746jRs3LpVKpTRmzJhWt6c7yds66qjtvjtr6/YxZMiQNGjQoLTffvulCy64ID3yyCNtumwjq/ZkKW/H/K742YFsZLVPy1udPLaps44fnX0Ok+Vnq7x93stbnea09r1fb7310vTp01ebPn369LTuuuu2uz1taVOfPn3S008/vdr0p556KvXp06dFNR544IF0zDHHpIEDB6Ydd9wxXX755WnRokUtbkN3r5NSSlVVVWnWrFmrTZ85c2aqqqpqVa2NNtooXXrppatN//GPf5yGDh3aohp5XEer6lY9wlZVV1cXv/jFL+Kaa66JBx54ILbaaqt4+umny1annHbfffcolUprfU6pVIq77767TfXbso7eeeed+N///d+YMmVKDBgwoNG8RYsWxY033tjkvFVltWwVFRUxfPjw2GGHHdZarzW3n13VU089Fddcc01Mnz493nzzzU6pk9V6zrJN7733Xuy5557x4IMPxqc+9akYPXp0pJTi2WefjT/96U/xsY99LO65557o06dPp9TJark+bPbs2XHNNdfE//t//y/efffdOOWUU+LLX/5ysz00IrJ9z7Kq1RH/R3lYR1lt91nuY7Oq1dH7/YjWbx9//etf47777ot777037r///njvvfdiwoQJsdtuu8UnP/nJ2HHHHdvVCy+P+8auLG/H6e68neVtn5a3OnlsU0d+biznOUyWn63y9nkvb3Wa0p73ftCgQfHwww/H5ptv3mj6888/Hx/72Mdi4cKFrW5Pe9u03XbbxY9+9KPYY489Gk2/55574qSTToqnnnqqxe14991345ZbbonrrrsuHnrooTjwwAPj2muvjcrKylYtT3esM3z48Pjd734X22yzTaPpTz75ZOyzzz7xf//3fy2u1a9fv5g3b15sttlmjaa/8MILscMOO8SSJUtaXCtP62hV3TIIa8/JVVZ13nvvvfjjH/8Yu+++e/Tv37/RvMWLF8d9990XkyZNavbNy6rOKaecssZ5//rXv2L69OmxdOnSWL58eTNL1lh71tG5554bTz75ZNxyyy1Nzv/sZz8b2223XfzXf/3XWutktWxHHHFEsx9mIyKuu+66Zp/TnA8++CB69erVKXWyWs9Ztiki4v33348f/ehH8fOf/zyef/75iIj4yEc+EpMnT45TTjmlxTu2rOo0pyXL9eabb8b1118f1157bSxatCg+//nPxxe+8IUYN25cPPHEE7HVVlu16G9l+Z5lVSurOnlbR1lt91nuY7Oq1VH7/aa0dZ/27LPPxr333hv33Xdf/PGPf4yIaPMH9da2J8vtLG/H/Kzq5O043Z23s7zt0/JWJ49t6ojPjXk4h4nI9rNV3j7v5a3OSlm89yeeeGL06tUrLrzwwkbTv/GNb8S7774bl112Wae36fe//32cfvrp8Z3vfCd22WWXiPj3ZXZTp06N73//+zFhwoSG57b0i6eZM2fGOeecEzNnzox//OMfDZdctlZ3qnPVVVfFLbfcEj/72c9iyJAhERGxYMGCmDJlShx88MFx7LHHtrjWF77whdhhhx3itNNOazT9/PPPj0ceeaRVl1mulId1tKpuE4RldXKVVZ2LL744br/99jV+Azhx4sQ48MAD44QTTuiUOk1ZtmxZXHbZZfHf//3fMXDgwDj33HNj8uTJzb4uq3W0/fbbxwUXXBB77rlnk/Pvvvvu+MY3vhGPP/54q5Yrou3LloWWjCdSKpXixBNP7JQ6Wa7nrNrUnP/7v/+LqVOnxlVXXdUpdbJarr59+8ZnPvOZ+OIXvxif+tSnGnq29OrVq2zbRla1sqqTx3XUUbLcD2VVqy11Omq7r62tbegddu+998YLL7wQlZWV8e6773ZKe7L8H8rbMT+rOl3hON1dtrOusE+jY+TtHKY5WX1Gy7JWV62T9Xt24oknxo033hjDhg1rCJ0efPDBeO211+Lwww9v9AXRqmFZR7Xpw728VwbHK+OHDz8ulUpr/cLgb3/7W9xwww1x3XXXRV1dXcO4Ua0NibtrnR122CHmz58fS5cujeHDh0dExGuvvRaVlZWr9RBsbnzQ733ve3H++efH+PHjG40RNnv27Pj617/eKLD82te+1uHLllWd1WRygWUO9OnTJ33xi19MM2bMSMuXL2+Y3tq7SGVVZ+edd0633377Guffcccdaeedd+60Oqv63//937TJJpukDTfcMF122WUtvoVtStmto379+qVXX311jfNfffXV1L9//xbXW6k9y7bSO++8kx5++OH08MMPp3feeadVrx05cmSzP6NGjeq0Olmu56za1Jy23ia+rXWyWq4tttgijRw5Mn3rW99Kzz77bMP0cm4bWdXKqk4e19FK7dnuV5XFfijrWm2tk9X2UVtbm26++eZ03HHHpS233DJVVFSkysrK9IlPfCKdffbZ6d57703vvfdep7Uny/+hvB3zs6qT5+N0lnXy0KY879PyViePbWpPnbydwzQnq89oWdbqqnWyfs922223Fv3svvvundam++67r8U/Tbn55pvTXnvtlfr27ZsOPPDA9Jvf/CYtW7as1e3ornVWaunYoC0ZH7Qln7PW9lkrr+toVW27VVMOjRgxIv785z/H8OHDY8SIEW1OCLOq88ILL8R22223xvnbbrttvPDCC51WZ6UZM2bEN7/5zXj55ZfjG9/4Rpx66qlRXV3d4tdHZLeOevToEW+88UZDar2qN954o1VjxWSxbK+88kocf/zxceeddzb6tmKvvfaKH//4xzFy5Mhma7z88sut+psdXSfL9ZxVm/Imq+X661//2tCNfOedd46PfOQj8cUvfjEiokWXT6yU5XuWVa2s6uRxHWWx3a+UxX4o61rtrZPV9jFkyJDo1atX7LTTTnHIIYfE7rvvHh//+Mejb9++raqTx31j3o75WdXJ43E6yzp5alMe92l5q5PHNmVRJ2/nMHSerN+ze++9N3dt+uQnP9mu10+ePDmGDx8ep5xyStTU1MQrr7zS5CWea+uZ1J3rrHTOOee06Hkt0d7PWXldR6vqNkFYVidXWdVZtmxZvPXWW2v8QPPWW2/FsmXLOq3OQw89FGeccUY88MAD8dWvfjX+9Kc/xXrrrdfs65qS1TraYYcd4rbbbmvouruqX//617HDDjs0WyerZXv99ddjl112iV69esW5554bo0ePjoiIZ555Jq644ooYN25cPPzww7Hxxhu3uvaq/va3v8VGG23UKXWyWs9ZtqkraulyjR8/PsaPHx+XXHJJ/PznP4/rrrsuli9fHv/5n/8ZX/jCF+LAAw+M9ddff601snzPsqqVZZvytI6y2u6z3MdmVSvLNjWnJdvHH/7wh5gwYUKbA4us25Pl/3TejvlZ1cnbcbo7b2d526flrU4e25RVnbydw9B5Ouo9mz9/frz44oux6667Rt++fRsuPSxXm2bNmhU/+clP4qWXXopbbrklNtpoo/jZz34Wo0aNajRGWFOGDx8epVIppk+fvsbnlEqlZsOQ7lrnwxYuXBi33nprvPjii3HaaafF4MGD47HHHouampo2nZu9//778fLLL8emm24aPXu2PDbK8zpqJLO+ZTnyr3/9K1111VVp3LhxqVQqpd122y1dddVV6c033+y0OmPHjk3f//731zj/vPPOS2PHju20OqVSKVVVVaWTTz45XXzxxWv8aa32rKNbb7019ezZM1166aWNujkuW7YsXXLJJalXr17plltu6bRlO+qoo9Kuu+6a3n333dXm1dfXp1133TUdffTRzdZZm7///e/phBNOSH379u20Olmt5yzb1Jw8dXFvzXJ997vfTXV1datNX3mr6Q022CD17Nmz2TpZvmdZ1cqqTt7WUVbbfZb72KxqddR+/8Paut0/8cQT6ZZbbkm33HJLeuKJJ9rVhra2J8vtLG/H/Kzq5O043Z23s7zt0/JWJ49t6ojPjXk4h2mOSyM7pk4W79k//vGPtMcee6RSqZQqKirSiy++mFJK6cgjj0ynnnpqq9qTVZtuvfXW1Ldv3/TlL385VVZWNrTp0ksvTXvvvXer20TTnnjiibT++uunzTbbLPXs2bNhPf/Xf/1X+tKXvtSqWnV1demoo45KPXr0SD169GiodcIJJ6Rp06Zl3vZy6ZZB2Ie19uQqqzo/+clPUnV1dbrjjjtWm3f77ben6urq9JOf/KTT6owYMaLDx3Zqy7r+1re+lUqlUhowYEDafvvt0/bbb58GDBiQKioq0hlnnNGiGlkt29ChQ9OsWbPWOP/+++9PG264YbN13n777TR58uS07rrrpg033DBdfPHFafny5emss85Kffv2TWPHjk2/+MUvOq1OStms5yzbdNBBB631Z/fdd2/RB4is6mS1XBUVFam2tnaN8z/44IP0y1/+stk6KWX3nmVZK4s6eVtHWW33We5js6qVVZ0s90UPPvhg2nrrrVNFRUUqlUoNH9a32Wab9NBDD7WoRh73jXk75mdVJ6V8Hae783aWUr72aXmrk8c2ZblsTSnXOUxWn62yrNVd66xJW9/7L33pS2nSpEnp9ddfT/369WsIMGbMmJG22mqrNrenPW3afvvt0w033JBSSo3a9Nhjj6Wampp2tYn/35577plOO+20lFLj9Tx79uw0YsSIVtX62te+lnbcccc0a9asVF1d3VDrtttuS9tvv32m7S6nbnPXyOYsW7Ysbr/99jj44IM7rc4Xv/jFmD59emy55ZaxxRZbRMS/u5s+//zz8dnPfjZ+/vOft+hvZlWns7R2XT/00ENx0003xfz58yOlFB/5yEfiC1/4QnzsYx/r4JY2VllZGS+++OIau7D/3//9X2y22Wbx3nvvrbXOscceGzNmzIhDDz007rzzznjmmWdi0qRJUVFREd/+9rfXeNlDR9VZKYv1nFWbjjzyyBY9r7lbjmdVJ6vlqqioiAULFsQGG2zQouc3J8ttI6ta7a2Tt3WU1XbfnWW1fTzzzDMxduzYGD16dJxyyimNLiP60Y9+FM8991w88MADzd6RKo/7xoj8HfOz/OyQl+N0EeRln5a3OnlsU2cdPzr7HCarz1ZZ1uqudZrT2vd+yJAhceedd8Z2220X/fv3jyeeeCI22WSTeOmll2LbbbeNJUuWtKs9bWlTVVVVPPPMMzFy5MjV2rTVVls1u33ss88+8fOf/zwGDhwYERHf//7346tf/WoMGjQoIiL++c9/xic+8Yl45plnCllnpYEDB8Zjjz0Wm266aaP1/Oqrr8YWW2zRqv3QiBEj4uabb45ddtmlUa358+fHRz/60Vi8eHGnLFvW62g1ZQrgMnfzzTenpUuXNjx+/fXXG93poq6uLv3gBz/otDofrnfAAQekrbbaKo0ePTodcMAB6eabb27x67Ouk4Ws11FejBgxIt15551rnP+HP/yhRYn6sGHD0t13351SSunll19OpVIpnXnmma1uT1Z1spTHNmUhq+UqlUqZXHbQneVtHWW13XdnWW0fhx56aDrooIPSihUrVpu3YsWKdOCBB6ZDDz2009rTEfJ2zM/TZwc6R1b7tLzVyWObsqqT13MYOl7W71m/fv3S888/3/D7yp48Dz/8cBo8eHBZ2jRq1Kh01113rdamG264IY0ePbrZ1696JUH//v0baqSU0oIFC1rU+6671llp/fXXT4899lhKqfF6/uMf/5g23njjFtdJKaW+ffs2vP7DtebNm5cGDBjQ7Ovzuo5W1W2CsK6ywstl7733TgsXLmx4PG3atEa3d/7HP/7Rop1RStmto7feeiu98sorjaY9/fTT6YgjjkiHHnpouummm1rUnqyW7aSTTkrbbLNNkyfptbW1adttt00nnXRSs3V69OiR3njjjYbHffv2bdPthrOqk9V6zrJNH5aHW5dntVylUikNGjQorbPOOmv9aU6W71lWtbKqk7d1lNV2n+U+NqtaWdXJavtYb7310sMPP7zG+Q899FBab731Oq09WW5n3VXejtPdeTvL2z4tb3Xy2Kas6uT5HCarz2hZ1upOdbJ+z/bee+/07W9/O6X07wDjpZdeSsuXL0+HHnpoOuSQQ8rSpvPOOy9ttdVW6YEHHkj9+/dPs2bNSv/7v/+b1l9//XTJJZc0+/pSqdSoPR8OZlrTnu5aZ6Wjjz46HXjggen9999veO9fffXVtMMOO7R4H7vSJz7xiYb3ZmWtlP49RtikSZOafX1e19Gquk0Q1lVWeLlkuVPLah1Nnjy50cCNtbW1aZ111kljxoxJ+++/f+rVq1e68cYbm62T1bK9/fbbafPNN0/9+/dPxx13XLr44ovTRRddlI499tjUv3//tPnmm6d//vOfLWrPhz8UfXgH0hpZ1clqPWfZppT+3ZNjn332ST169EgVFRWpoqIi9ejRI336059OL7/8cqfWyWq5SqVSuvjii9P111+/1p/mZPmeZVUrqzp5W0dZbvdZ7WPzdlKU1fZRWVmZXnvttTXOf+2111JlZWWntSfL7ay7yttxujtvZ3nbp+WtTh7blFWdPJ7DZPUZLcta3bFO1uedTz31VNpggw3SXnvtlXr37p0+85nPpNGjR6eampo0f/78srRpxYoV6Xvf+16qrq5uGBu0T58+DYFdZ7Wnu9ZZaeHChWnixIlp0KBBqUePHmnYsGGpV69eadddd01LlixpcZ2UUpo1a1bq169f+upXv5r69OmTTjrppPSpT30qVVdXp0ceeaTTlq2jc5mW3weTVqmoqIhSqdRwu9rly5eXtU5aZSi4VR+XwwMPPBDXX399w+Mbb7wxBg8eHPPmzYuePXvG+eefH5dddll86UtfWmudrJZtnXXWiQcffDC+9a1vxS9+8YtYuHBhREQMGjQovvCFL8R5550XgwcPbrZOSin23HPPhtvMvvvuu7HffvtF7969Gz3vscce65Q6Wa3nLNuUt1uXZ7VcERGTJ09u9/hXWb5nWdXKsk15WkdZbvdre9waWdXKsk4W28eIESPioYceimHDhjU5/8EHH4wRI0Z0Wnuy/J/O2zE/qzp5O0535+0sb/u0vNXJY5uyXLY8yeqzVZa1umudrG299dbx/PPPx49//OPo379/LFmyJA4++OA4/vjjY8MNN+zUtkRELF++PGbPnh3HH398nHbaaTF//vxYsmRJbLXVVtGvX78W1SiVSlEqlVab1lrdtc5KAwcOjLvuuitmz54dTzzxRCxZsiQ++tGPxsSJE1tda8KECfHEE0/EtGnTYptttok//vGP8dGPfjTmzp0b22yzTbOvz+s6WpUgrIO8/PLLuaqTRwsWLIiRI0c2PL7nnnvi4IMPbji52X///WPatGmd2qZ11lknrrjiirj8/2PvzuPsmu//gb/vJCSZyUKCSdQWrZ2iFDFBECVUhFiiSmxFW9o036Laxlaq1BLULuRLE1utoaiKRiSWova91i8yFEmYIev5/aGZn5FJZjszc+49z+fjkUdm7rn3fd/33HuW+5rPOefii+PDDz+MiIgVV1yxWQvdSSedVO/3PfbYo0W9pFUnzfmcVk8nn3xyrLPOOnHvvfdG165d624fNmxY/OIXv4hddtklTj755LjyyivbpU5aryutlXOa71latdKqk8V5lMZyX8rSWj5GjBgRo0ePjnXWWSc23HDDetOeffbZ+OUvfxkHHXRQu/WT5mcoa9v8tOpkcTtdqrK4TstanSz2VIrbj7T2rdKsVap10jRv3rzYZZdd4tJLL43f/OY37fa8S9OpU6f43ve+Fy+++GIst9xyjV4MpyFJksTBBx8cXbp0iYiIL774Io466qioqKiIiIg5c+bkuk7El+99t27d4qmnnoqqqqqoqqpq8mMbqnXkkUfGmDFj4oorrmhRjSzOo4aUVBB277331l1VYOHChXH//ffHc889FxFR91ea9qjzzDPPxIYbbhhlZWVNer7nn38+1llnnbqdnbTrRKSfqKYxr3v27BkzZ86sGwHw2GOPxWGHHVavv6Z8wNsiLS4UCi0esfL1L2ktlVadtOZzmj3dc889ccMNN9TbeVikW7du8bvf/S5GjBjRbnXSel1pjbRM8z1Lq1ZadbI4j776mJYu92muh7L2l7S0lo8TTjgh/v73v8cmm2wSO+20U6y33nqRJEm8+OKL8fe//z222GKL+PWvf91u/aT1GcraNj/NfYesbadLeTnL2joty3XSrJWVOln5DhOR3r5VmrVKtU5Eeu/9MsssE88880yT798ePUV8OUrt9ddfj/79+7eol4MOOqjeOvWHP/xhg/fJa52IL9/71VZbrcWjv79e6+abb44xY8a0uEYW51FDCkkWjpFLQVN2+JpyeEAadTp16hQzZsyIFVdcsdFaEV/u/Dz11FOx5pprtkmdiC9f15AhQ+oS1UmTJsUOO+xQL1G95557mrQApTWv99hjj1hhhRXiiiuuiFtuuSUOOOCAmDFjRiy//PIREXHXXXfFL3/5y3jxxRcb7SeN17b99ts3uvNaKBTi/vvvX+p9lmb27NkxYcKEGDduXDz++OPtUiet+ZxmT8V06fI03rO33norampqYt11123S8pPme5ZWrbb+HHXUPEpruU97HZtGrTR7WpLmLh9z586N8847L6677rp45ZVXIiJi7bXXjhEjRsQvfvGLul7bo5+0PkNZ2+anue+Qte10KS9nWVunZa1OFntKc/vRmPb6DhOR7r5V1vb3slYnrfdskUXb0T/84Q9Nun979HTPPffECSecEL/73e9is802q1s3LtKzZ88W9flVn332WZMPtSzVOuPGjYtbbrklrr322lYfkj1y5MjYZJNN4he/+EWr6ixNFuZ1yYwIW7hwYWbqJEkSY8aMifLy8ibdf+7cuW1aJ+LLD/RXtSZRTWte/+53v4sdd9wx/vznP8f8+fPj17/+dd0OX0TE9ddfH9ttt12jddJ6bZtssskSp3366acxceLEFg/BfOCBB+Kqq66KW265JXr16hV77rlnu9VJaz6n2VO/fv3ihRdeWOIOxHPPPRd9+/ZttzoNacnruuqqq2LmzJkxevToutuOOOKIGDduXERE3TD6JZ0jaZE037O0aqVVJ2vzKK3lPs11bFq10uzp61q6Tlt22WXj+OOPj+OPP75Fz5tmP2l9hrK2zU9z3yFr2+lSXs6ytk7LWp0s9pRWnSx9h4lId98qa/t7WauT1nu2yPz58+Oqq66Kv//97w2GTueee26797TrrrtGxJeHd381OG7qOSzPO++8pQYyn376aeyyyy4xbdq0XNZZ5E9/+lO89tprsfLKK8fqq6++2HvflPMcL7LWWmvFqaeeGtOmTWvwc/Szn/1sqY/P6jz6upIZEdYUn3/+eXTr1q3N6wwaNKjZw+InTpy42EkM06rTEZo6r//zn//EtGnTom/fvrHlllvWm3bXXXfF+uuv3+KhtGmYP39+XHTRRXH66adHr169mjXU+d13343x48fH1VdfHTNnzoxPPvkkJk6cGPvuu2+z3tc06qQ9n1vb06hRo2Ly5Mlx//33LzZq4YMPPoiddtoptt9++xg7dmy71EnrdW211VZx5JFHxiGHHBIRX/4VbPfdd4/x48fHeuutF0cffXSsv/76TTpnRJrvWVq10qiT1Xn0Va1Z7ktZWuu0LPWTxmcoa9v8tPcdsr6dLiVZX6dlrU4We2qr7Ud7fYeJSHffKmv7e1mr0xTNee+33377JU4rFAoxefLkVvfT3J6mTJmy1OmNBfzdunWLyy67rME/KHz22Wex8847x0cffRQvvfRSLusscsoppyx1enNOK7G07UyhUIjXX399qY/P6jxaTIuvN1lEvvjii+Tss89OKisrM1Enq2666aZW18jqPGrJa/vzn/+crLnmmkm/fv2Siy66KJk3b16THveXv/wlGTJkSFJRUZHsvffeyW233ZbMmTMn6dy5c/L88883+fnTqpOmtHrK2qXL03pdvXv3Tp555pm634866qhk+PDhdb8/8MADyRprrNHkeqUo6/Oopct9U6Sxjk27VlPqpLV8rLHGGkn//v2X+m/NNddst37Ilvb8TLd3rTR7aq601mlZq5PFntpi+9ER32HS2rdKs1ap1lmaLH6n6oiebrrppqRr167J7bffXu/2zz77LKmqqkrWWmut5L333sttnSwqlnlUModGzpkzJ04++eS47777Ytlll43jjjsuhg0bFldffXX85je/iU6dOjXpONe06mTR/Pnz46WXXopll1021l577brbb7/99jjxxBPjpZdeir333rvROmnNo2uuuaZJfTflkIK0XlvElyNUfvWrX8Ubb7wRv/zlL2P06NGLDQldmv322y+OP/74uOGGG6JHjx5Nflxb1UlzPqfVU9YuXZ7W6/r888/rnetg+vTp9U52vOaaa8aMGTMarZPme5ZWrbTqZHEeRbR+uY9Idz2UVq006qS1fIwaNWqJ095888247LLLmnQYURbXjaUqi9vpUl3OsrhOy2KdLPbU2jpZ+w6T1r5VmrVKtU5bfu+87rrrYujQoc3+TLdlTxtttFH89a9/bfT0F1+19957x8yZM2P//fePu+66KwYNGhQ1NTWxyy67RHV1dUyZMqVJR0OVap2G/OQnP4lTTz01VlhhhRY9/qumTZsWm2++ebPO4VoM8ygiSmdE2HHHHZf06tUrGT58eNKvX7+kc+fOyY9+9KNko402Sq677rpk/vz57Vona5599tlk9dVXT8rKypKysrJkzz33TGbMmJFsu+22Se/evZPjjz8+eeedd5pUK615tNxyyy3x3/LLL58su+yySVlZWbu9tkcffTQZNGhQ0rVr12TUqFHJhx9+2KTX8XVHHHFE0qtXr2TrrbdOLrnkkuTjjz9OkiRp9miFtOqkNZ/T7OmrFi5cmFRXVyfV1dXJwoULW1SjtXXSel3rrrtucvPNNydJkiQffvhh0qlTp+Txxx+vm/7oo4826a9oab5nadVKq07W5lFay32a69i0aqVVpy2W+0U++uijZNSoUUmXLl2SbbfdNnn44YfbrZ80l7NSlbXtdCkvZ1lbp2WtThZ7SqtOlr/DpLWPlmatUqrTlt87e/Tokfz73/9u9uPasqfu3bu3qKckSZIzzzwz6dmzZ/LAAw8k22yzTbLmmms2eX2fhzpf1dL3Pu1aWZ5HSZIkJROE9e/fv27Y3LPPPpsUCoXkkEMOafYKKa06WbPrrrsmO+64YzJp0qTkBz/4QVIoFJJ11103+eMf/5jU1tY2q1Zbz6P33nsvOfLII5Nlllkm2XnnnRu9f1qvrVAoJOXl5cmoUaOS888/f4n/mqK2tjYZP358su222yZdunRJhg4dmnTq1Cl59tlnm9xPmnUa0tz5nGZPtbW1ye23357Mnj17sWmzZs1Kbr/99uSLL75otzqLarX2dZ1xxhlJ3759k1NPPTUZNGhQssEGG9Sbft555yU77rhjk+t9XUvfs7as1dw6WZtHaS33aa5j06qVZk9pr4tqa2uT0047LVluueWSjTfeOLnrrrs6tJ+vSnM5K1UdtZ0u9eWsIR21TstanSz2lFadrH2HSXvfKkv7e1mr05bfqVoaOmWxp0WOP/74pKysLFlzzTWTt99+W50laO18TrNWVudRkpRQELbMMssk//d//1f3e9euXeudh6a962TNiiuumPzrX/9KkiRJZs6cmRQKheSaa65pUa22mkezZ89OfvOb3yTdu3dPttxyy2Ty5MlNelxar2311VdP1lhjjaX+69+/f7PrvvLKK8kJJ5yQrLzyyknPnj2T/fffv25ETEfUael8TrOnsWPHJjvssMMSp++4447Jn/70p3ar83UtfV0LFixIxowZk2yyySbJLrvskrzwwgv1pu+9997JlVde2ex+0nzP0qrV0jpZm0dpLfdprmPTqpVmT1/VmnXR/Pnzk0suuSTp27dvssYaayTXXHNNq3eus7huLFUdvZ3O03LW0eu0rNXJYk9p1cnad5g0962ytr+XtTpt+b2zpQFGW/Y0ZMiQZp/Tac8996z3r0uXLskWW2yx2O15rdOQjg7CimEeJUmSlMxVIzt16hQzZsyou3JHjx494plnnmn21XXSqpM1ZWVlMWPGjFhppZUi4svX9eSTT8Zaa63V7Fppz6N58+bFhRdeGL///e+jT58+cfrppzf5/B4R6b62NDz33HOx4YYbLnb7woUL46677opx48bF3Xff3ei5cNKqs0hr53OaPW2xxRYxZsyY2H333Rucfuedd8app54ajz32WLvUSXtepyWN9yztWmn2lIas9JPmeiitWmnVSWv5uPHGG+O3v/1tzJw5M37zm9/Ej3/841h22WWb1Uua/SySlc9QlmVlO13Ky9kiPo/5k7XvMGntW6VZq1TrtOX3zoceeig233zz6Nq1a0REfPzxx006b1nWvgsvusp4Y66++upc1mlrEydOjD322KPuXHMLFiyITp06LfUxxTKPSiYIKysriyFDhtSdyG3SpEmxww47LHaCwFtuuaVd6mRNp06d4pVXXokVV1wxkiSJVVddNR566KFYY4016t3vqyexXpK05lGSJHHNNdfEiSeeGPPnz4+TTjopDjvssEYXrrZ8bUszc+bM+POf/xxHH330Uu9XVlYW3/3ud+Pwww+PESNGNHgy5w8++KBup7mt66Q1n9Psafnll4+nn346VltttQanv/3227HxxhvHJ5980i510npdi3z++edx3333xSuvvBIREWuvvXbstNNOTb7UdJrvWVq10uwpIlvzaGmautynuR5Kq1ZaddJcp3Xr1i3233//pT7nueee2y79tNdnqJhlbTtdystZ1tZpxVYniz01Z78xS99h0tq3SrNWqdZpj++df/vb3+LKK6+MSZMmxeeff97o/dPuafLkyXHLLbfEm2++GYVCIfr37x977713bLvtts1/MTRJkiTxwAMPxOeffx5bb711LL/88q2u+corr8SVV14Z1157bbz//vspdNnxSiYIK5bksaOUlZVFoVCo+z1JkgZ/X7BgQaO10ppHG220Ubz++utxzDHHxKhRo6K8vLzB+zXlS1par60h999/f4wbNy5uvfXWKC8vj48++mip9586dWpcffXV8Ze//CUWLlwYw4cPj8MPPzy22WabZj1vWnXSms9p9tSjR4/4xz/+EZtttlmD05944okYNGhQfPrpp+1SJ63XFRFxxx13xOGHHx7/+c9/6t2+wgorxLhx45b418OvSvM9S6tWmj1lbR41pLnLfZrrobRqpVUnreVj0KBB9Z5/SR544IF26aetP0OlIGvb6VJezrK2TiuWOlnsqbl1svYdJq19qzRrlWqdtvre+dZbb8VVV10V//u//xuffPJJDBkyJIYPHx777LNPo49Ns6ejjjoqLr/88lh++eVj7bXXjiRJ4tVXX42ZM2fGT37yk7jwwgub9Fws2cyZM+PnP/95PPnkk7HVVlvFOeecE7vuumtMnz49IiJWWmml+Nvf/hbf/va3m127trY2brjhhrjqqqvi4Ycfjs033zyGDx8exx57bNovo0OUTBDG0k2ZMqVJ99tuu+3auJP/r6ysrO7nhr4cNXXnsS1e2zvvvBNXX311XH311fH222/HiBEj4sADD4wdd9wxlllmmSbVqKmpiRtvvDHGjx8fU6dOjW9961tx2GGHxciRI6Nv375N7qW1ddKaz2n2tNVWW8Wee+4Zxx9/fIPTzzjjjLj99tvjkUceaZc6i7T2dU2fPj0GDRoUQ4cOjf/5n/+J9dZbLyIiXnjhhTjnnHPizjvvjClTpsRWW2211Dppvmdp1UqrThbn0SKtWe7TXA+lVSvtdWNa67SlmTdvXrutY9viM1RqsradLuXlLGvrtCzXyWJPab62jpbmvlXW9veyVidNc+fOjVtuuSWuvPLKmDZtWgwePDjuvvvu+Ne//hUbbbRRu/WxyK233hojRoyIyy67LEaOHFm3Xlu4cGGMHz8+fvzjH8dNN90UQ4cOXWqdTTfdtMF1Yq9evWLttdeOn//857H++us32k+p1jn88MPjwQcfjJEjR8akSZOirKwskiSJsWPHRllZWRx33HHRvXv3mDRpUqO1FnnkkUfiyiuvjJtuuilWW221ePHFF+OBBx5o8h8cszaPlkQQRofJWjg3b968uO222+LKK6+MqVOnxi677BI/+MEPYv/994+nn366VQvaa6+9FldffXVce+21MWPGjNhll13ijjvuaJc6bT2fW9LT5ZdfHqNHj47rr78+vv/979ebNmnSpNh///3j3HPPjSOOOKJd6qT1unbddddYddVV47LLLmtw+pFHHhnvvPNO/PWvf11qnVL+spe1edSWy30pa8nyceONN8a+++67xOnz58+Pfffdt0WHgGRx3VgKzKP2k7V1WtbqZLGnUt1+pLlvlbX9vazVScsxxxwT1113Xay11lrxwx/+MEaMGBF9+vSJZZZZpsM+i0OHDo0NNtggzjjjjAanH3/88fHSSy/F7bffvtQ6p5xySoO3z5w5M5588sl45JFHYvLkyVFVVZXLOt/4xjdi4sSJsd1228W7774bq666akyePDkGDRoUERGPPfZYDB06NGbMmLHUOhER55xzTlx11VUxa9as2H///eOHP/xhbLzxxs3+HGVtHi1Ri0+zn0GTJ09Ozj777OShhx5KkiRJLr300mTVVVdNVlhhheTwww9v8mWs06pTykpxHq244orJNttsk1x22WXJxx9/XHd7586dk+eff77V9T/77LPksssuS3r37p2UlZV1eJ00taSnAw44ICkUCsl6662XDBs2LBk2bFiy7rrrJmVlZcmIESOa/Nxp1WlIc1/X8ssvv9Qr6zz99NPJcsst16qeil3W5lFbL/elrLnLR5cuXZK//e1vDU6bN29esueeeyZ9+/Ztt36gFKW1TstanSz2lOZry9p3mDT3rbK2v5e1Omm8Z506dUp+/etfJ7Nnz653e0v3ZdLo6Rvf+Eby6KOPLnH6I488knzjG99odm9f9+tf/3qpV/As9TqdOnWqdyXObt26Ja+99lrd7++//36T94kWfY7mz59f7/a094mzMq9LJgi7/PLLk06dOiXf+ta3ki5duiS///3vk4qKiuSoo45KfvKTnyQ9e/ZMjj/++HarkzWFQiEpKyur+781sjaP0nptyy+/fLLtttsml19+eTJr1qy621u78E+ZMiUZOXJk0r1796Rnz57J4Ycfnjz88MMdVidNre3phhtuSPbYY49k/fXXT9Zbb71kjz32SG644YZm95FWnUVa+rq6du2avPnmm0uc/uabbyZdu3ZtcV+lIGvzKK3lPs11bFq10uzpq1q6fIwdOzbp3r178sgjj9S7fcGCBclee+2VrLTSSslzzz3Xbv3QfrL4mc5iT2lIa52WtTpZ7CmtOln9DpPmvlXW9veyUiet92zixInJ4MGDk4qKimTfffdNJk2alMyfP79Fy1laPXXp0iV59913lzj9//7v/1LZ33vuueeSFVdcMbd1CoVCUl1dXfd79+7dk3//+991v8+YMaPJ26bf//73yVprrZWsuuqqyXHHHZc8++yzSZKkH4RlZV6XTBC2wQYbJBdccEGSJEly9913J507d07Gjx9fN/3GG29MvvnNb7Zbnax588036/1rjbTmUVo7j2m9ts8//zz585//nGy//fZJt27dkr322iu55ZZbkmWWWabZC/+7776bnH766claa62VFAqFpKqqKrnqqquSzz77rN3rpL2TntZry5o0XtdGG22UXHXVVUucPm7cuGSjjTZqtE4pf9nL2jxKa7lPcx2bVq00e0pruT/xxBOT3r171wVe8+fPT4YPH56suOKKdTtc7dVP1gKMLMradrqUl7OsrdOyVieLPaVVx3eY/Er7PXv99deTE088MVlttdWSFVZYISkrK0tuuummDumpUCgkH3zwwRKnNyegWZoXX3wx6dOnT27rFAqF5PTTT0/OP//85Pzzz0+6du2ajBkzpu730047rdnz+R//+Edy0EEHJeXl5cm3v/3tpFOnTnWjA9OQlXldMkFYt27d6u2ALLPMMskLL7xQ9/tbb72VLLvssu1WJ0uefvrpZMGCBU2+/3PPPZfMmzdvidPTmkdp7Dym/doWee2115Lf/OY3ySqrrJIUCoXkBz/4QfK3v/1tsaGiDdlll12Szp07J3379k2OO+645KWXXmpyf21RJ80vDmn1lDVpva5zzz036d27d3LXXXctNu3OO+9M+vTpk5xzzjmN1inlL3tZnEeLtHS5T3M9lFatNHtKe7k/+uijk5VXXjl5+eWXk3322SdZYYUVkqeffrrJj8/iurFUZWk7XerLWZbWaVmvk8WeWlPHd5j8aqv3bOHChck999yT7LPPPkmXLl2Sb3zjG8kxxxzTrj0VCoXkyCOPTH7xi180+O/II49MJQg7/fTTk2222Sa3dVZfffVkjTXWaPRfS8yePTu59NJLky222CLp1KlTMmDAgCbtozcmK/O6ZE6WX1ZWFjNmzIiVVlopIr68rO3TTz8da665ZkREVFdXx8orr9ykK6OlUSdLOnXqFDNmzIgVV1yxSffv2bNnPPXUU3Wv+evSmEfPPPNMbLjhhvWukrQ0zz//fKyzzjrRuXPneren/dq+buHChXHvvffGuHHjYtKkSdG9e/dGL4M9dOjQOOyww+L73/9+dOrUqUnP01Z10prPafYU8f8vN5+08qpsadVJ63UtXLgw9ttvv7j55ptjnXXWifXWWy+SJIkXX3wxXn311Rg2bFjcdNNNS30/0nzP0qqVZk9Zm0cNae5yn+Z6KK1aafaU1vLxVT/84Q/j5ptvju7du8f999/frMt6Z3HdWIqytp0u5eUsa+u0YqmTxZ5aUidr32HS2rdKs1Yp12nr750ff/xxXHPNNXH11VfH008/3W49DRo0qMEr/n3dAw88sNTpF1xwQYO3z5o1K5544om466674u67747Bgwfnsk57efbZZ2PcuHExceLE+OCDD5Z632KZRyWzR1coFOLTTz+Nrl271q2UPvvss5g9e3ZERN3/7VUnS5IkiTFjxkR5eXmT7j937tylTk9jHm266abN2nkcMGBAgzuPab+2rysrK4shQ4bEkCFD4sMPP4xrr7220ccsulLZ559/Hvfdd1+88sorERGx9tprx0477RTdunVr0nOnUSet+ZxmTxERb7zxRpPu11510npdZWVlcdNNN8UNN9wQ1113Xbz00ksREbHuuuvGySefHCNGjGi0RprvWVq10uwpa/OoIc1d7tNcD6VVK82e0lo+Ro8eXffz8ssvH0mSxCabbBLjx4+vd79zzz13qXWyuG4sRVnbTpfycpa1dVqx1MliTy2pk7XvMGntW6VZq1TrtMf3zt69e8eoUaNi1KhR7drTP/7xjxZ2XN95553X4O09e/aMddZZJx588MEYMGBAbuu0l4022ijGjh0bf/zjHxu9b7HMo5IJwpIkibXXXrve75tuumm935uSSqdVJ0u23XbbePnll5t8/wEDBiz1i0Qa8yitnce0X9vSfPrpp3HPPffU+zK3JHfccUccfvjh8Z///Kfe7SussEKMGzcudt999yY9Z2vrtEVQ2NqesjhKKSK99ywiYr/99ov99tuvyff/qlL+svdVWZlHjWnKcp/meiitWmmvG9NYPv71r38t9pzz58+vd3tTt69ZXDeWmqxtp0t5OcvaOq0Y62Sxp6bWydJ3mFIelZ61OhHpvfe777577LvvvrH33nu3+HtO2j2lJWvhZdbqRHz5h8EnnngievfuHeuvv369aV988UXceOONcdBBB7VbrSzOo4aUzKGRU6ZMadL9tttuu3apU8rSmEdNHS77VRMnTox+/fo16zFpevrpp+M73/lOo0OBp0+fHoMGDYqhQ4fG//zP/8R6660XEREvvPBCnHPOOXHnnXfGlClTYquttmrzOmnP5zR6ytohKWm9rqZ48skn48QTT4w777xzifdJ8z1Lq1Z7Lq/tPY8a09TlvpS11/LRnv0U4zaovZlH7acY12lZq5PFnppaJ0vfYUr5EOSs1YlI770vKyuLTp06RUVFRey///5x+OGHx2abbdak2m3VU5rhHEv2yiuvxPe+9714++23o1AoxMCBA+P666+v2z405/DaNGsVg5IJwqCtNXWHZtddd41VV101LrvssganH3nkkfHOO+/EX//613apk6Y0eiorK4sjjjiiyX/5vvjii+OFF15YbAcirToR6c7re++9N+67775Ydtll4/DDD48111wzXnrppfjVr34VkyZNip133rld37MsKqZ5JAjL3rooa/1AMSnWsKgYeyrG7Uea+1ZZ29/LWp00lZWVxXPPPRd/+9vf4qqrrornn38+Ntpoozj88MPjgAMOiOWXX77NnntpPaURzq2//vrx0EMPRe/evSMi4ic/+UmceuqpscIKK0RExAcffBBrrLFG1NbW5rLOnnvuGfPmzYvx48fHzJkzY9SoUfHCCy/EP/7xj1httdWaFV6lVStr82hJBGHQRE3doendu3dMmTIlNtpoowanP/PMM7HddtvFJ5980i510pRGT1kcpZTWvB43blz86Ec/it69e8cnn3wSffr0iXPPPTeOOeaY2G+//eLnP/953eiVvCq2eVSMX2TSltbyceqppzbp+U488cR26QfyKGshjyAsW0p5VHrW6qTp6ye4f+yxx2LcuHFxww03xNy5c2PYsGFx+OGHxw477NBmPTTUUxrh3Ndf29dH2FVXV0e/fv1i4cKFuaxTWVkZf//73+v2iZIkiZ/85Cfx17/+NR544IGoqKhochCWVq2szaMlKZlzhGXtKiClzDxaus8//zx69uy5xOm9evWKL774ot3qpCmNntI6eWZadSLSm9fnn39+nHnmmXHsscfGzTffHPvss09cfPHF8eyzz8Yqq6ySWr/FzDwqPmktH7feeusSpxUKhXj55Zfjiy++aDQIy+K6EaClsvQdJs19q6zt72WtTkTbfafaYostYosttojzzjsvbrzxxhg3blzstNNOTaqfZk8rrLBC3Yn6F4Vzv/3tb+O4445rcTjX0BielpyzrFTqfP755/XOP1coFOKSSy6Jo48+OrbbbruYOHFik3tIs9ZXdfQ8WpKSCcKK5aRspaBU59Gmm2661IWpqcMu11prrZg8eXIccsghDU6///77Y6211mq3OmnKYk9pSOt1/fvf/4599tknIiL22muv6Ny5c/zxj38U8HxF1uZRWst9KUtr+fj6yfIXeeqpp+JXv/pVPPfcc/GjH/2o3fqBUpTWOi1rdbLYU1p1fIfJr7Z+z8rLy+Pggw+Ogw8+uO4Kyx3VU2vCOZZs3XXXjccff3yxoyn+9Kc/RUTE0KFDO6RWMSiJICyLVwEpVaU8j4YNG5ZKnUMOOSR++ctfRmVlZey66671pt11111x3HHHxa9//et2q5OmLPaUhrRe1+eff153zohCoRBdunRx4uivydo8Smu5L2Vttdy/8cYbMWbMmLjhhhtir732iueff75JAVaprocgDWmt07JWJ81aWarjO0x+pfmebbfddrHssssu9fFfvRJke/S0JM0N5wqFwmKBc0tGAZVqnT333DOuu+66OPDAAxeb9qc//SkWLlwYl156abvWyto8WmL9UjhHWBavAlKqzKPGLVy4MPbbb7+4+eabY5111on11lsvkiSJF198MV599dUYNmxY3HTTTY1uZNKqk6Ys9pSGtF5XWVlZnHbaadG9e/eIiDj++OPj2GOPrTup4yI/+9nP2uy1ZJ15VHzSXu7/85//xCmnnBKXX355DBw4MP7whz/Ed7/73Q7rB6Cj+A6TX1l8z9Lsafvtt49bb701lltuuVb1VFZWFhtuuGFd2PbMM8/EuuuuWxf8zZ8/P55//vkmnbeqFOtkUbHMo5IIwkr5KiBZU8rz6IMPPqg7GV9D5s+fH08++WRsscUWTap3ww03xHXXXVf314611147RowYESNGjGhWX2nVSVMWe0pDa1/XGmus0ehfKgqFQrz++uut7rVYZW0epb3cl7LWLh81NTVx9tlnx7nnnhvf+ta34owzzojvfe97HdYPlKK01mlZq5PFntKo4ztMfqX5nk2ePDm23XbbVo/wy+Ln6JRTTmnS/U466aRc1lmS+fPnpzbis7m1imUelUQQVspXAcmaUp5HnTp1ivfff79up2ajjTaKv/71r7HqqqtGRDTr8rNAcbDct5++ffvGp59+Gsccc0zsv//+S9yWfPvb327nzqB0pLVOy1qdLPaURh3fYfIrzffs65/FrbbaKm6++eb4xje+0WE9pRXOsXT33HNPfOMb34iNNtooFi5cGKeffnpceumlMWPGjOjXr18cffTRcfzxxzfpfU2zVjEoiU9mFq8CUqpKeR59PRN+8803Y968eUu9D3xdkiTx2muvxdy5c51/YwmyNI8s9+3ngw8+iIiIs846K/74xz/Wm6+uRAzpSGudlrU6WewpjTq+w+RXmu/Z1z9nzz//fMyZM6fZddLsaaeddkolnGvMM888E5tvvnnMnTs3l3VGjRoVV1xxRUREnHnmmXH++efHb37zm1hvvfXi5ZdfjjPOOCMKhUIcf/zxjT5nmrXSeG1tXcc3NGiGpiTgWboMdtqy2FMa0npdb7zxRgwdOjReeOGFiIj4xje+ETfffHOzzn9U6opxHpXKX75aKs3lI0v9QF6ltU7LWp00a2WtDhSbtMK5pjzP/Pnzc1vnzTffjNVXXz0ivhydd8kll9RdnX2XXXaJb33rWzFq1KgmhVdp1lqarMxrQRikrJQvg53FntKQ1us69thjY/78+fHnP/85unbtGmeffXYcddRR8cQTT6RSvxSYR8UnreVj0c5Va5XqeggAWuLrV9dr6Gp7pSxrwXV71undu3e89957sdpqq8WHH34Y3/rWt+pNX3vttePdd99t0vOlWasxWZjXgjD4r0KhEJ9++ml07dq1bqTBZ599FrNnz46IqPt/aUr5MthZ7CkNab6uhx56KP7yl7/EwIEDI+LLYeCrrLJK1NTUREVFRap9F6uszaM0lvtSlubycccddzT4mF69esXaa6/dpHPVlOp6CNKS1jota3Wy2JPtB1mRJEnsuOOOddu62tra2H333euurrfIk08+2W495T2cay977rlnnH766XHbbbfFHnvsERdffHFcfvnldfP6wgsvjE022aTdaxWDkjhZPqRh0eE2iyzaqfn670s7DKeUL4OdxZ7SkObrKisri/fffz8qKyvrbuvevXs8++yz0b9//9R6LmZZm0dpLPelLO3lY0kKhUKMGDEirrjiiqVerapU10OQlrTWaVmrk8WebD/Iira+ul5LlJWVxYYbblgXzj3zzDOx7rrrNjucayxQfuaZZ2K77bZrdDkr1TqzZs2KwYMHx8yZM2PAgAFx0003RWVlZay99trx2muvxccffxz33ntvbLnllkutk2atrM2jJfEnUvivBx54oNU1kiSJMWPGNPmyw0s6uV9addKUxZ7SkObrWvTX4G7dutXdVlZWFp9++mm9lXnPnj1b3nCRy9o8SmO5L2VpLh8LFy5s8PZZs2bFE088ET/96U/jtNNOi9///vft0g+UorTWaVmrk2atrNWB1mrPgKupvt7THnvs0aI6yy233FJHkn09gM5bnV69esX06dNj3LhxMWnSpFhjjTVi4cKFMXfu3Nh///3jxz/+cayyyiqN1kmzVtbm0ZIYEQYpKuXLYGexpzSk+bq+/tfhiPoraX8dNo+KTXsu9/fcc0+MGjUqXnrppUz0AwDF4Isvvoi//e1vsf3220ePHj3qTZs9e3b84x//iJ133jm6dOnSQR223JQpU5p0v+222y6XdbKoWOaRIAwgJaW8UUuLecSSvPnmm7HhhhvGZ5991tGtAEDROP/88+OOO+6I+++/v8HpgwcPjmHDhsXRRx/dbj2VcjhHaRCEwX916tSpSfczUgVKh+U+OyZPnhxHHXVUvPLKKx3dChSttNZpWauTxZ5sP8iKLbbYIsaMGRO77757g9PvvPPOOPXUU+Oxxx5rt56yGM6Vosceeyw222yzuvXRnXfeGX/84x/jtddei379+sXPfvazOOigg9q9VjFwjjD4ryRJYvXVV4+RI0fGpptu2tHtAO3Acp8NTz31VPzyl7+M3XbbraNbgaKW1jota3Wy2JPtB1nx6quvxsYbb7zE6d/+9rfj1VdfbceOIiZMmBBjxoxZ4vRRo0bFqaee2mgQtuiUGq09dUap1hkwYEC8//77sdJKK8WkSZNi2LBh8cMf/jD222+/+Ne//hWHHXZY9OjRI/bcc892q5W1ebQkgjD4r8ceeyzGjRsX559/fvTv3z8OPfTQOOCAA2L55Zfv6NYoEm29wi4FWZtHlvv2s/zyyzd4fq+ampqYP39+7LTTTk2+8hXQsLTWaVmrk8WebD/Iivnz58eHH34Yq622WoPTP/zww5g/f3679pRWOPfGG2+k0k+p1vnqwX1nnXVWHHfccXHGGWfU3da/f/8466yzmhSEpVUra/NoiRKgns8//zy59tprkx122CEpLy9P9ttvv+Rvf/tbR7dFEXjzzTfr/WNxWZ1Hlvu2N378+Ab/3XLLLcnzzz/f0e1BSUlrnZa1OlnsyfaDjrblllsmf/jDH5Y4/fe//32y5ZZbtmNHSdK9e/fk8ccfX+L0xx9/POnevftSazz99NPJggULmvyczz33XDJv3rzc1EmSJCkUCkl1dXWSJEmy0korLTbPX3rppWS55ZZr0vOkUSuL82hJBGGwFK+//nqy/fbbJ2VlZclHH33U0e2QYe2xwi52xTKPLPdAKUlrnZa1OlnsyfaDjnDZZZclFRUVyaRJkxabdscddyQVFRXJZZdd1q49pRHOlZWVJR988EGTn7NHjx7Jv//979zUSZIvw6sHHnggefrpp5PVV189eeyxx+pNf+mllxoNHNOslcV5tCQOjYQG/N///V+MHz8+xo8fH7W1tXHsscdGz549O7otMmzTTTeNGTNmxIorrtik+w8YMCCeeuqpWHPNNdu4s+zI+jyy3AOlJK11WtbqZLEn2w860hFHHBEPPvhgDB06NNZdd91YZ511IiLipZdeildeeSX23XffOOKII9q1p0MPPTRGjx4dG2ywQXz/+9+vN23SpElx+umnx7nnnrvUGkmSxJgxY6K8vLxJzzl37txc1Vlkxx13rDuscdq0afHd7363btq//vWvJR4y2xa1sjqPGiIIg/+aO3du3HrrrTFu3LiYOnVqDBkyJMaOHRtDhgxp8pWByK/2WGEXuyzOI8t9+8na+eGgFKW1TstanSz2ZPtBlvz5z3+OoUOHxsSJE+OVV16JJElinXXWiVNOOSX23Xffdu8njXBu2223jZdffrnJzzlgwIDo1q1bbupELH4ere7du9f7fe7cuXH88cc36XnSqJXFebQkhST5ylnRIMf69OkTPXr0iJEjR8aBBx4YK620UoP38xc+GjJo0KAGTwS+NBMnTox+/fq1UUfZk8V5ZLlvP2+99Va931dfffUO6gRKV1rrtKzVyWJPth/QuBtvvDEmTpwYr776aiRJEmuvvXb84Ac/6JBwrhR9+umn0aNHj6XeZ8qUKbHddtu1a61iIAiD/yorK6v7uaEv60YxQOmx3LePZ555JjbccMN683tpnn/++VhnnXWic2cD16E50lqnZa1OFnuy/QA62qBBg+Lee++NLl26NDh9ypQp8f3vfz8+/fTTdq1VDOxhwn898MADHd0C0M4s9+0j6+eHg1KR1jota3XSrJW1OtBaTT0UVyhbej766KPYd99949Zbb13sj40PPvhg7LbbbnHIIYe0e61iYEQYANCmysrK4ogjjmjy+eEuvvjieOGFFwRhANCIsrKyWH311WPkyJGx6aabLvF+e+yxR7v1JJxrH++9915ss802UVVVFddcc03d7VOnTo3ddtstDjzwwLjooovavVYxEIQBAG0qi+eHA4BS8Pjjj8e4cePi+uuvj/79+8ehhx4aBxxwQCy//PId1lMWw7lS9e9//zu22Wab2GeffeL888+Phx56KIYMGRIHHHBAXHrppR1WK+sEYfBfrmgG+WO5B0pJWuu0rNXJYk+2H2TNF198EX/5y1/i6quvjkceeSR23333OOyww2KnnXZq916yGM6VsmeeeSYGDRoUQ4cOjVtvvTX222+/uPzyyzu8VpYJwuC/XNEM8sdyD5SStNZpWauTxZ5sP8iyN954Iw477LCYMmVKfPjhh9G7d+8O6SNL4Vwpmj17dt3P06ZNiz333DOGDRsWl112Wb2R+E25em2atYqBIAzCFc0gjyz3QClJa52WtTpZ7Mn2g6z6v//7vxg/fnyMHz8+amtr46CDDorTTjstE5+9rIRzpWTRyNRFFkU7i25r7pV506pVDARhEF+e0LE5VzTr2bOnK5pBkbPcA6UkrXVa1upksSfbD7Jk7ty5ceutt8a4ceNi6tSpMWTIkDj00ENjyJAhTT5pfVvKcjhX7KZMmdKk+2233XbtWqsY+PRBfJlwjxkzpslXNJs7d24bdwS0Ncs9UErSWqdlrU4We7L9IEv69esXPXr0iJEjR8bFF18cK620UkRE1NTU1Ltfex7S1lA4N3bs2MyEc6UizVCqVAKupjIiDMIVzSCPLPdAKUlrnZa1OlnsyfaDLPnqIboNfS474pC2Pn361IVzBx54YF0493Wlcr4pio8gDAAAAIpQFg9py2I4V4qyeGXeYuHQSAAAAChCWTyk7YEHHujoFnLhjTfeyGStYmBEGAAAAECRyOKVeYtJ014pAAAl5+CDD4411lijxY/t3r17ug0B0CxlZWXRqVOnuv/Jh0033TQ++uijJt9/wIAB8fbbb7d5rWJRvBEeAJB7F198cfz0pz+NLbbYIh599NGObidT1lhjjdhwww3jzjvv7OhWAGgjWTykLW/nm+oIWbwybzERhAEARWvChAmxxhprxGOPPRavvfZafOtb3+rolorKFVdcEQsXLuzoNgBogawe0pbFcK7UbLvttvHyyy83+f4DBgyIbt26tXmtYiEIAwCK0htvvBHTp0+PW265JY488siYMGFCnHTSSe3aw8KFC2Pu3LnRtWvXdn3etCyzzDId3QIALbTpppvGjBkzYsUVV2zS/QcMGBBPPfVUrLnmmm3WU1bDuVLzj3/8I5O1ioVzhAEARWnChAmx/PLLx2677RZ77713TJgwoW7avHnzonfv3nHIIYcs9rjZs2dH165d45e//GXdbXPmzImTTjopvvWtb0WXLl1i1VVXjeOOOy7mzJlT77GFQiGOPvromDBhQmywwQbRpUuXuOeeeyIi4uyzz46tt946+vTpE926dYvNNtss/vKXvyz2/J9//nn87Gc/ixVWWCF69OgRQ4cOjXfffTcKhUKcfPLJ9e777rvvxqGHHhqVlZXRpUuX2GCDDeKqq65qzWyr5+vnCHvzzTejUCjE2WefHZdffnl885vfjC5dusR3v/vd+Oc//9lovaeeeipWXHHFGDRoUHz22WcRUZzzBaAYLDqkbfTo0U361x6HtOXxfFMUH7ErAFCUJkyYEHvttVcsu+yysf/++8cll1wS//znP+O73/1uLLPMMrHnnnvGLbfcEpdddlksu+yydY+77bbbYs6cOTFixIiI+HJU19ChQ+Ohhx6KI444ItZbb7149tln47zzzotXXnklbrvttnrPO3ny5Ljxxhvj6KOPjhVWWKEuSDr//PNj6NChccABB8TcuXPj+uuvj3322SfuvPPO2G233eoef/DBB8eNN94YBx54YGy11VYxZcqUetMXqa6ujq222qoufFtxxRXj7rvvjsMOOyxmz54do0aNSn2eLjJx4sT49NNP48gjj4xCoRBnnXVW7LXXXvH6668vcRTZP//5z9h5551j8803j9tvv73usIlSmi8AWZLFQ9ryeL4pilACAFBkHn/88SQikvvuuy9JkiRZuHBhssoqqyQ///nP6+5z7733JhGRTJo0qd5jd91112TNNdes+/3aa69NysrKkqlTp9a736WXXppERDJt2rS62yIiKSsrS55//vnFeqqtra33+9y5c5MNN9ww2WGHHepue+KJJ5KISEaNGlXvvgcffHASEclJJ51Ud9thhx2W9OvXL/nPf/5T774jRoxIevXqtdjzfd3qq6+e7Lbbbku9z8iRI5PVV1+97vc33ngjiYikT58+yccff1x3++23377YvBw5cmRSUVGRJEmSPPTQQ0nPnj2T3XbbLfniiy/qPUfW5gsAbWe77bZLBg0a1Kx/7733Xke3Tc4YEQYAFJ0JEyZEZWVlbL/99hHx5SGL++23X/z5z3+Oc845Jzp16hQ77LBDrLDCCnHDDTfE97///YiI+OSTT+K+++6rd1jkTTfdFOutt16su+668Z///Kfu9h122CEiIh544IHYeuut627fbrvtYv3111+sp6/+lf2TTz6JBQsWxDbbbBPXXXdd3e2LDqP8yU9+Uu+xxxxzTIwfP77u9yRJ4uabb4599903kiSp19fOO+8c119/fTz55JNRVVXV9JnWDPvtt18sv/zydb9vs802ERHx+uuvL3bfBx54IHbffff43ve+F9dff3290XcRpTVfAFi6PJ5viuIjCAMAisqCBQvi+uuvj+23377elam23HLLOOecc+L++++P733ve9G5c+cYPnx4TJw4MebMmRNdunSJW265JebNmxf77bdf3eNeffXVePHFF5d4suEPPvig3u/9+/dv8H533nlnnHbaafHUU0/VO7dYoVCo+/mtt96KsrKyxWp8/WqXH374YcycOTMuv/zyuPzyy5vUV5pWW221er8vCsU++eSTerd/8cUXsdtuu8Vmm20WN954Y4MnOy6l+QIAFD9BGABQVCZPnhzvv/9+XH/99XH99dcvNn3ChAnxve99LyIiRowYEZdddlncfffdMWzYsLjxxhtj3XXXjY033rju/gsXLoyNNtoozj333Aafb9VVV633e0PnV5k6dWoMHTo0tt1227j44oujX79+scwyy8TVV18dEydObPZrXLhwYURE/PCHP4yRI0c2eJ9vf/vbza7bVJ06dWrw9iRJ6v3epUuX2HXXXeP222+Pe+65p27k3SKlNl8AgOInCAMAisqECRNipZVWiosuumixabfcckvceuutcemll0a3bt1i2223jX79+sUNN9wQAwcOjMmTJ8dvfvObeo/55je/GU8//XTsuOOO9UYpNcfNN98cXbt2jXvvvTe6dOlSd/vVV19d736rr756LFy4MN54441Ya6216m5/7bXX6t1vxRVXjB49esSCBQti8ODBLeqpPRQKhZgwYULssccesc8++8Tdd98dgwYNqpue1/kCAGRXWUc3AADQVJ9//nnccsst8f3vfz/23nvvxf4dffTR8emnn8Ydd9wRERFlZWWx9957x6RJk+Laa6+N+fPn1zssMiJi3333jXfffTeuuOKKBp+vpqam0b46deoUhUIhFixYUHfbm2++udgVJ3feeeeIiLj44ovr3X7hhRcuVm/48OFx8803x3PPPbfY83344YeN9tRell122bjlllviu9/9buy+++7x2GOP1U3L83wBALLJiDAAoGjccccd8emnn8bQoUMbnL7VVlvFiiuuGBMmTKgLvPbbb7+48MIL46STToqNNtoo1ltvvXqPOfDAA+PGG2+Mo446Kh544IGoqqqKBQsWxEsvvRQ33nhj3HvvvbH55psvta/ddtstzj333Nhll13iBz/4QXzwwQdx0UUXxbe+9a145pln6u632WabxfDhw2Ps2LHx0UcfxVZbbRVTpkyJV155JSLqnzfrD3/4QzzwwAOx5ZZbxo9+9KNYf/314+OPP44nn3wy/v73v8fHH3/c6Px67bXX4rTTTlvs9k033TR22223Rh/fVN26dYs777wzdthhhxgyZEhMmTIlNtxww8zOFwAgvwRhAEDRmDBhQnTt2jV22mmnBqeXlZXFbrvtFhMmTIiPPvoo+vTpE1tvvXWsuuqq8c477yw2GmzRY2677bY477zz4pprrolbb701ysvLY80114yf//znsfbaazfa1w477BDjxo2LP/zhDzFq1Kjo379/nHnmmfHmm2/WC3wiIq655pro27dvXHfddXHrrbfG4MGD44Ybboh11lknunbtWne/ysrKeOyxx+LUU0+NW265JS6++OLo06dPbLDBBnHmmWc2aX69/PLLMWbMmMVuP+yww1INwiIievbsGffee29su+22sdNOO8XUqVMzO18AgPwqJF8/6ykAAO3qqaeeik033TT+/Oc/xwEHHNDR7WSG+QIApM05wgAA2tHnn3++2G1jx46NsrKy2HbbbTugo2wwXwCA9uDQSACAdnTWWWfFE088Edtvv3107tw57r77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AACAXBCEAQAAAJALgjAAAAAAcqFzRzeQhgsuuKDZjznkkEOiR48e6jSjTpq17rjjjmbX2WmnnaJbt27NflwxyuL8Saun2bNnN7tOz54926wf8iutz5DPIqUozX2HUpW1/TTvGa31zDPPNPsx66+/fnTuXBJfKYuS9yzfsrb9KKZ960KSJEmznyVjysrKYpVVVolOnTo16f7vvPNOvPLKK7Hmmmuq04w6affUHIVCIV599dXF6vTu3bvZdZ588slYffXV690+evToZtWJiPjtb3+72POn1U/W5k+aPZWVlUWhUGhWnbb8DKX13u+1117NrnPppZfGSiut1CZ10qxVqvMozc90GnUisjePSrXOd77znWbVKBQKcccdd8Q3vvGNxaalVSut9XVa/aS1vc/a/IlIdx2Spf20tOqktc5Pq04WeyrVOov20Zr69bCsrGyJ3xnSWmZLtU6a6+qsvWelus3P2uuKyN72I4v71ktSMlHw448/3uCHoyFL+8uXOkuvk2atGTNmtLrOzJkzY+zYsdGrV69GayRJEj/5yU9iwYIFi00bO3ZsDBgwIJZddtkm9fPQQw/F0UcfvdgGI61+IrI1f9LsKSLiL3/5S5M2tkmSxK677tqm/aT13t92222x7777NvkvERMnTozPPvtssf7TqpNmrVKeR2l9ptOqk7V5VKp1nnrqqfif//mf6N69e6M1kiSJP/zhDzFnzpwGp6dVK631dZqvLY3tfdbmT0S665Cs7aelUSetdX5adbLYU6nWiYh49NFHY8UVV2y0RpIkseGGGy5xelrLbKnWSXNdnbX3rFS3+Vl7XYtkafsRkb196yVKSsDJJ5+c1NTUNPn+v//975NPPvlEnWbWSbPWwQcfnMyePbvJdY466qjkww8/XOz2QqGQVFdXN7lO9+7dk3//+9+Zr5O1+ZNmT2ussUbyn//8p8l1Nthgg+Ttt99us36y9t6n+Z5lraes1UnrM5RWnSTJ3jxSZ+l1sthTWnXS2t5n7XWlWStr+2nes/brqVTrDBo0aInfARoyZMiQ5L333mtwWtZeW6nW8Z7lt06SZG/7kcV96yUpiSAMWmv8+PHJF1980eT7T5gwIfnss8/asCPaS1rv/T/+8Y9k3rx5Ta4zderUBp83rTpp1irleZQ1WZtHpVrnzTffTBYuXNjkOm+//XYyf/78BqelWSsN+mlcKa9D0pDWOj/Nfaus9VSqdWg/WVw3pqVUt/lZe120TkmcIwwAAAAAGlMy5wjbfvvt652Ae/Lkyeq0QZ00ax166KH1fr/qqqtaVOfBBx+s9/u2227bojppSaufQw45pN58zsL8Sauna665pt7vBx10UIf2Q36l9RnyWSw+b7/9dr3fV1tttQ6vldb6Oq1+0treZ23+pClr+2lp7u+RT6eeemq930888cQW10prmS3VOmmtG7P4nmVNmtv8rMna9qNY9q1LJgg7+OCD1WmHOmnWauhKTi0xcuTIup8LhUK8/vrrLarTv3//egtbS+uk1c8aa6zRose1VT8R6fV09dVX1/1cKBRaHISl1U9a7/1Xr9xTKBSWeuGB9qiTZq1SnUdpfYbSqhORvXlUqnXWWGON1JaztGqluf1Io5+0tvdZmz8R6X2OsraflladtNb5adXJYk+lWueNN96o+7k5V/luSFrLbKnWSWvdmMX3rFS3+Vl7XRHZ235kcd+6Ibk6NHLBggVNviSoOtmp1V6mTJlS7/ftttuugzr50ttvvx2rrLJKsy8f25ay1lNa/aT13r/11lv1fm9p2JtWnTRrleo8SuszlOaykbV5VKp1yDefo6VLa52f5r5V1noq1TqQhlLd5pfq60pTFvetG5KLIOyVV16JK6+8Mq699tp4//331WmjOq2t9eGHH8bLL78cERHrrLNOky4D3J5qa2vjqaeeiq233rpdnq9Tp07x/vvvN/myse2hLXtatCpqzl+ysjiP8irN5eO5555b6uW906yT1meovT+L7TmP8lyHfGvp5+iLL76IG264IWpqamKnnXaKtdZaq0XPn7U6X5XWOj/NbUfWeirVOkmSxIcffmjfq4h4z/KnI7cfxbJvXTKHRn5dbW1t3HDDDXHVVVfFww8/HJtvvnmMHj1anZTrpFGrpqYmjjnmmLj22mvrhoV26tQpDjrooLjwwgujvLy8ybWmTJkSZ599drz44osREbH++uvHscceG9tss03zXlQDXn311dhmm20aHbo6efLkOProo+ORRx6Jnj171ps2a9as2HrrrePSSy9ttKe0Muq0+kmzp6+65ppr4o9//GO8+uqrERGx9tprx7HHHhsHHnhgh/SzYMGCuO222+o+QxtssEEMHTq0SSMcv37+gSVp7LwEadVJu9bSNHX5WJJPP/00rrvuurjyyivjiSeeaLc6aX2G2uNvSh01j0q1ztfPg7IkTTk/Slq10lpfp9XP1w+1akihUIh///vf7dJPmtuzJWnu52j06NExb968uPDCCyMiYu7cuTFgwIB4/vnno7y8PI477ri47777YsCAAUVVpzGtXeenXSeLPRVrnfLy8njrrbfq/iC92267xZVXXhn9+vWLiIgPPvggVl555Sb1k9YyW6p10lo3ZvE9y9o+cVrzOmuvKyJ724+i2bdu02tSdoCHH344Oeyww5KePXsmG264YdKpU6fkwQcfVCflOmnWOuKII5I111wz+etf/5rMmjUrmTVrVnLXXXcl3/zmN5OjjjqqyXWuvfbapHPnzsm+++6bnH/++cn555+f7LvvvskyyyyTTJgwodl9fd1TTz2VlJWVNXq/3XffPTn33HOXOP38889Phg0b1midQqGQfPDBB83qsS37SbOnRc4555ykvLw8Oe6445Lbb789uf3225Njjz02KS8vX2rPbdXPq6++mqy11lpJeXl5summmyabbrppUl5enqyzzjrJa6+91qR+ysrKFvv31ds7derUbnXSrrU0TV0+vm7KlCnJQQcdlFRUVCRrrbVWcvzxxyePPfZYu9VJ6zOU9mfxqzp6HpVqnUKhsMR/LVnO0qiV5vYjjX7Gjh27xH+jRo1KunXr1qTlPmvzpyEt/RxtsMEGye233173+1VXXZUsv/zyyZtvvpksXLgwOfjgg5Ndd9216Oo0pqXr/Laqk2atvNcpFApJdXV13e/du3dP/v3vf9f9PmPGjKRQKDTpOdNaZku1Tlrrxiy+Z1nbJ05zXmfpdSVJ9rYfxbBvnSRJUjIjws4555y46qqrYtasWbH//vvHgw8+GBtvvHEss8wy0adPH3VSqpN2rYiIm2++Of7yl7/EoEGD6m7bddddo1u3brHvvvvGJZdc0qQ6p59+epx11lnxi1/8ou62n/3sZ3HuuefG7373u/jBD37Q7N5a4umnn44zzzxzidO/973vxdlnn92kWmPGjGl0RNy5557bbv2k1dMiF154YVxyySX1TpY/dOjQ2GCDDeLkk0+u9162Rz8/+9nP4pvf/GY88sgj0bt374iI+Oijj+KHP/xh/OxnP4u77rprqY//17/+1eDtSZLE9ddfHxdccEF079690T7SqpN2rbTMmDEjxo8fH+PGjYvZs2fHvvv+P/buOzqKev//+GsTSkggdEORqjTpFgSDCAIXUWkqioIgomIBAQsqV1QQxYqAXhU0gF4FAdsXLEgvhiYqXQUUxJbIVWqWns/vD0/2RyBls/vZ3cnO83FOziE7u6997+zs7PDOZz5zvY4ePaqPP/5Y5513XthzbG1DNrdFp62jaMzZu3dvjrd7vV5NmDBBEydOVO3atcOaZWt/baueIUOGnHHb33//rSeffFKvvfaaLr744jzrtV2P7e8zG9vR7t27s913/vz5uu6663zzvQwZMkRXXnllocsB8uLvNBa2PrPRmmPzeyg/4X7PnHZMbGtdO+11Sc78/nDisfUZQtZiC7PY2FgzYsQIc+LEiWy3FylSxGzZsoUcSzm2s4wxpkSJEmbr1q1n3L5582YTHx/vd06xYsXM9u3bz7h9+/btpnjx4gWu63T+/iWtePHiOdZxaj1xcXH55ng8HnPJJZeYtm3b5vrTrl27sNVjs6b8atu2bZtf75nteuLj483GjRvPuH39+vUmISHB75xTLViwwFxwwQWmVKlS5vHHHzcHDhyIaI7trCz+fj6uvvpqk5iYaG688UbzySef+PYjBd1/2MqxtQ3Z3Badto6iNed0J0+eNG+88YY5++yzTfXq1c2UKVPMyZMnw5plc39to55Teb1eM2bMGFOmTBnTtGlT8+mnnxa4jmDrsbl+bG1HpUuXNtu2bfP9XrNmTZOSkuL7fefOnX7V5LSc/DhttJPNLLfn+DO6yN96bH1mozXndIHuG534nuXEScfENr/zI/26nPb94cRj65xEzYiwJ598UlOnTtV///tf3Xjjjbr55psDmuCUnPBmSVKrVq30+OOP6+2331ZcXJwk6fDhwxo1alSB5rCoVq2aFi1apHPPPTfb7QsXLlS1atXyffycOXPyXH7qpYnzUrVqVW3evPmMOrJs3LjRd85+fj766KOgJwi0WY+tmrKce+65mjVrlkaMGJHt9pkzZ/o9qaPNeooXL66DBw+ecfuhQ4dUrFixAmV98803euihh7RixQrddttt+uyzzwKq01ZOsFm2Ph+ff/657r33Xt11111BTdhsK0eytw3ZynHaOorWnFN9+OGHGjFihPbs2aNHHnlEgwcPVvHixcOeZXt/HWw90j/zJr7xxhsaNWqU4uLiNHHiRPXp06dAFzaxVY/N9WNrO2rQoIHmzp2r++67T1u2bNHu3bvVrl073/Kff/5ZSUlJhS7H1j7fVo4Ta4rWHI/Hk+3zffrvBWHrMxutOacKZt/oxPfsVE47Jrb1ne+U1+W07w/JecfWOQq4heZQS5cuNX379jXx8fGmSZMmJjY21nz55ZfkWM6xmbVx40ZTpUoVU758eXP55Zebyy+/3JQvX95UrVrVbN682e+cV1991RQrVszceeed5u233zZvv/22GThwoClevLh5/fXX8318XueOn/qTn0GDBplGjRqZw4cPn7HM6/WaRo0amcGDB+ebExMTk+2vO4GyVY/NmrK8//77JjY21nTq1MmMHj3ajB492nTq1MkUKVLEfPjhh2Gv5+abbzYNGzY0q1evNpmZmSYzM9OsWrXKNGrUyPTr18+vjB07dpjrr7/exMbGmhtvvDHbX+QKwlaOrSxbn49Vq1aZ2267zZQqVcq0aNHCvPzyy2bPnj0FHoVhK8fWNmRzW3TaOorWHGP++R67+OKLTXx8vHnkkUfMvn37CvR421k299c26pk5c6apU6eOqVixohk/frw5evRogTNs1mNz/djajj788ENTrFgxc/nll5ukpCRz9dVXZ1s+fPhw07Nnz0KXY2ufbyvHiTVFc06ZMmVM2bJlTdmyZY3H4zGlS5f2/V6mTBm/RxfZ+sxGa44xdvaNTnzPjHHeMbGt73ynvS6nfX848dg6J1HXCMty4MAB8/rrr5sWLVqY2NhY06pVK/Piiy+SYznHVlZGRoaZPHmyue+++8x9991n3njjDeP1egtcy4cffmiSk5NNuXLlTLly5UxycrL5+OOPC5wTjLS0NFOlShVTrVo18+yzz5qPP/7YfPzxx+aZZ54x1apVM1WqVDFpaWn55pw+zDnS9dis6VRff/216d27tzn//PPN+eefb3r37m2++eabiNSzd+9e07VrV+PxeEyxYsVMsWLFTExMjOnevbtfX5Z33XWXKVasmOnUqZP59ttvA67DVo7tLJsOHTpkUlJSTHJysilatKiJiYkx48ePL/Bw8mBzbG1DofhsOGUdRWtO586dTdGiRc3AgQPNH3/8UaDnDlWWrf21rXo8Ho+Jj483AwYMMMOGDcv1J1z12Pw+y2Jje1y4cKEZOnSoeeaZZ0xGRka2ZU888YRZsI+bfgAA9xZJREFUsmRJocyBO02bNs2vH3/Y+sxGa46tfaMT3zOnHRPbWtdOe11ZnPT94eRj61NFbSPsVBs3bjRDhgwxFStWJCeEOYFkHTt2zNSuXTvHOcIK4vjx42bUqFHml19+CSonLydPnjRz58716767du0ynTt39l39I+sKIJ07dzY//fSTXxnTpk0zR44cCaZkq/XYrunYsWOmf//+BXr+UNaTmZlpfv75Z+P1es327dvNnDlzzJw5c/KcJ+F0Ho/HlChRwnfFydx+wpVjOysvBfl8nO777783Dz74oKlUqZKJi4szXbp0CVuOrW3I5raYk0iuo2jN8Xg8pmjRotn+ip7Tjz9sZtnYX9uq57LLLstzbo6CzPPhpPWTG1vboxsEs88PRY7NLLfnLFu2zBw/fjzo58ti6zMbjTm29o1OfM+cdkxsa1077XU5UWE5tvYYY0xoTrp0nuPHj6to0aLkhDinoFlVq1bVwoUL1aBBg6Ces2TJktq8ebNq1qwZVM7pduzYoSlTpmjatGnas2ePjh8/7vdj9+7dqx07dsgYozp16qhs2bJ+P3bbtm3at2+fWrRo4btt0aJFGjNmjDIyMtS9e/cz5tYKZT2hqKl06dJav369atWqVaA6QlFPZmam4uLitGXLloDnixk1apRf93v88cfDkmM7KyfBfD5Od/LkSc2dO1dTpkzJd64TWzm2tqFQfF5zEol1FK05b731ll+Z/fr1y/c+NrOyBLO/DkU9wXDa+slPQbaj3bt3+5VZvXr1QpWTG1v7fJvfHU6rqbDnxMbG6o8//rA+L4+tz2w05djaNzrxPXPaMbGtde201yU57/ujsBxbR00jbOLEifnex+PxaPDgweQEkWM7S5Kefvppbdu2TW+++aaKFAn8+g3dunXTNddcY+XA/vDhw5o9e7befPNNpaam6tJLL1WvXr3Uo0cPvycJzM3333+vrl27atu2bXner0ePHmrcuLFGjx4t6Z9JThs2bKhLL71U9evX15QpU/Tkk09q6NChYaknFDX169dPzZo107BhwwKq3XY9DRs2VEpKilq2bBlQPW4Rys9HuNnahsL1eUV4nTx5UrGxsY7JKsj+2kY9S5YsUXJycoEvFhKqevJjc/34KyYmJsdJqY0xvts9Ho9OnDhRqHJOZWufb/O7w2k1RVNOTEyM0tLSQjdB9SlsfWajNUfyb99YGN8zJ7L5nR9OTvv+KCzH1lFz1ciXXnop3/v405whJ//mlc0sSfrqq6+0aNEizZ8/X40bN1ZCQkK25R9++KFfOZ07d9bDDz+sTZs26YILLjgjp2vXrn7V8uabb+q9997TOeeco969e2vlypV69dVXdd555/lVR36OHj2qH3/8Md/7rVu3TsOHD/f9/u6776pu3br64osvJElNmjTRyy+/HPR/rP2tJxQ11alTR6NHj1ZqamqO79m9994b1nqeeeYZPfjgg3rttdeCuhKq9M9VdbIOEurWrasmTZpENMdGlo3Px6233prvfTwej1JSUsKSY2sbsrktOm0dRWtOXrZt26aUlBS9/fbb+uOPPwLOsZ1VkP21jXrat2+vuLg4tWzZUu3atVO7du3UsmXLoP5oFUw9+SnI+rG1HX377bc53m6M0XvvvaeJEyeqZMmS+T6X03Ike8dENo+tnFZTtObk9J/hULCxT4vWnILuG538njnxmPhUgX4POeV1Oe37w4nH1jmJmkZYQS6/TI5zsiSpTJkyuvbaa4POufvuuyVJ48aNO2OZx+PRyZMn83x8kyZNdODAAd10001auXKlGjZsKEl6+OGHg64tEP/73/909tln+35fsmSJunTp4vu9bdu2uv/++wt1TSkpKSpTpoy+/vprff3119mWeTyefBthtuvp27evvF6vmjZtqmLFiqlEiRLZlv/999/5Zqxdu1YDBgzQ1q1blTXg1uPx+EabXXTRRX7VYivHVpatz8e0adNUo0YNNW/eXMEMSLaVY2sbsrktOm0dRWvO6bxer2bOnKkpU6Zo1apVuvDCC3XfffdFPMuGQOvZuXOnFi9erGXLliklJUWPP/644uPjlZyc7GuMXXTRRYqJiQlLPTbZ2o6aNm16xm0LFy7Uww8/rG3btmn48OF+ffadlmNrn2/z2MppNUVrjiTdcsstKl68eJ738fcP1fBfMPtGJ75nTjwmzhLMunba63La94cTj61zFLLZx4BCplixYubmm2828+fPN5mZmb7bC3op9fysX7/er0sYV6lSxaxZs8YY888Ep4mJieaTTz7xLd+6datJTEwMWz3hrMlftusJ9mo7W7ZsMSVLljQXXXSRmT59uvn222/Nt99+a959911z4YUXmlKlSvm1LdnKsZll6/Nx9913m7Jly5pmzZqZCRMmmL/++svvx4Yix9Y2ZHNbdNo6itacLKtWrTIDBgwwiYmJplGjRiY2NtYsX7484lk5Kcj+OhT1/PjjjyYlJcXcfPPNpnr16iYmJsaULl06YvWcriDrx/Z2ZMw/V0Hu0KGDKV68uLnnnnsCvtqVE3Js7fNtHls5raZozfF4POaGG24wt9xyS54/NhR0nxatOcHuG534njnxmNiY4Ne1U19XFid8fzjx2DonUdMIe+utt/z6ISe4HNtZp0pPTzfLly83y5cvD+mlUnPz66+/mjFjxphzzjnHVKlSxdx///3mm2++MUWLFo1II+ymm24yV199tdm9e7d58cUXTcmSJc2hQ4d8y99//33TpEmTsNUT6poyMzOzHbhFup5A9OzZ0/To0SPH15GZmWm6d+9uevbsGbYcm1k2Px9Hjhwx06dPNx06dDDx8fGmZ8+eZt68eQV+/23k2NqGbG+LTlpH0ZrzwgsvmPPOO89UrVrVPPDAA2b9+vXGmMD+g24zKy/+7q9DWc+uXbvMlClTTN++fU1iYqIpUaJEROs5VUH/82lre9yxY4e5/vrrTWxsrLnxxhvNjz/+WNDSHZdja59v87vDaTVFa47H4wnbcXhhb2AFm2Nr3+jE98xpx8S21rXTXlcWJ31/OPXY+nRR0wjzeDymVKlSpmzZsqZMmTI5/vh7SVRywpdljDH79+83ffr0MUWKFPFdordIkSKmd+/eZt++fX7nGGPMwoULzVVXXWVq165tateuba666iqzYMGCAmUYY8yiRYtM7969TYkSJYzH4zEPPvig+eGHH/x6bH6X5S1VqpRfXyA7d+405557rm99vPrqq9mWd+vWzQwdOjRs9dis6VRvvvmmadiwoSlWrJgpVqyYadiwoXnjjTciVs+JEyfM7NmzzejRo83o0aPN+++/7/clqStUqGC++uqrXJevXbvWVKhQIWw5trOyBPP5ON2uXbvME088YWrXrm2qV69uDh48GNYcW9tQKLbFLJFeR9GaExsba0aMGGFOnDiR7fZAmjO2smztr22+tp9//tm89dZb5pZbbjE1a9Y0JUuWNP/617/Mk08+aZYvX26OHj0atnpsfp+dLtDt6K677jLFihUznTp1Mt9++21Az+3EnFPZ2ufb/O5wWk3RlBMTE2OtqWLrMxutObb2jU58z5x2TGxrXTvtdRnjvO+PwnBsbYwxUXPVyIYNGyo9PV19+vTRrbfeGvBkdeSEN0uSbrjhBn377bd6+eWX1apVK0nSqlWrNGTIEDVr1kzvvfeeXzmvvvqqhgwZouuuu86Xs3r1ar3//vt66aWXdM899xS4tv379+vdd9/VlClT9M0336hRo0bauHFjno+xeZn4EydOaMuWLapYsaKqVKmSbdmGDRtUrVo1lStXLmz12Kopy2OPPaZx48Zp8ODB2d77V155RcOGDfNdJSRc9WzZskVdu3ZVWlqa6tWrJ+mfCTQrVqyouXPn5juBflxcnLZv365q1arluPyXX35RnTp1dOTIkbDk2M46XSCfj5yef+rUqZo2bZqOHTum77//3u+JnG3l2NqGbG6Lp3LCOorGnLFjx2rq1Kk6cuSIbrzxRt18881q1KiRihYtqg0bNhRoYmlbWbb217bqqV27tvbu3avk5GS1adNGbdq00YUXXljgyfKdtn5yEuh2FBMTo7i4ONWvXz/P+33zzTeFKicnNvb5NnOcWFM05OR3BcLvvvtOKSkpeuGFF/J9fluf2WjNsbVvdOJ75rRjYlvr2mmvS3Lm94fTj60lRdccYatXrzZ33HGHKV26tLngggvMq6++avbv30+O5RzbWfHx8WbFihVn3L58+XITHx/vd07VqlXNyy+/fMbtr7zyiqlSpUpAtZ3q22+/NYMHDw46x5atW7ea+++/P9JlZFPQmipUqGCmT59+xu3Tp0835cuXD3s9LVu2NF26dDF///2377a///7bdO3a1bRq1Srfx9etW9e8//77uS6fPXu2qVu3bthybGflpSCfj1NPR4qLizPXXXed+fTTT83JkycL9Jy2cvJi63NW0BynraNozTHGmKVLl5q+ffua+Ph406RJExMbG2u+/PLLAufYzrIh2HoqVapkypQpY7p06WJefPFFs27dugKfNmizHttsbEdPPPGEXz+FLSc/to6JbB5bOa2mwpqzdOnSM0bCHzp0yLz55pumVatWxuPxmIYNGwZdD/6/YPeNTnzPnHhMbEzw69qJr6uwfX9E6tj6dFHVCMvi9XrNW2+9Zdq2bWvi4+PNTTfdZI4cOUKO5RxbWdWqVTMbN2484/YNGzaYqlWr+p2TkJBgtm/ffsbt27ZtMwkJCQWqKRh///23mThxYo6NwX379uW6zB+BfKmFsp5Aa8pSunRps23btjNu/+GHHwo0AbOteuLi4szmzZvPuH3Tpk0mLi4u38c/9thjpnr16mbTpk1nLNu4caOpUaOGGTlyZNhybGfZcNddd5myZcuaJk2amPHjx5s9e/ZENCcntg4eA81x2jqK1pzTHThwwLz++uumRYsWJjY21rRq1cq8+OKLYc0K1f46mNf23Xffmddee81cf/31JikpyZQuXdpcddVV5vnnnzdr164NqPnohPUTyn0IEC2+/PJL079/f5OQkGBiYmLM/fffb7777ju/H2/rMxutOaez8T3klPfMicfEpwp0XTv9dTlVpI+tcxI1p0bmZPny5Xr88ce1fPly/e9//1PZsmXJCUFOsFmTJ0/W7Nmz9d///leVKlWSJKWlpalfv3665pprNHDgQL9ybrrpJjVv3lwPPvhgtttfeOEFrVu3Lt9TLNu1ayePx5PnfTwejxYtWpTnfZ588klt3LhRs2fPznH59ddfr6ZNm+rf//53njmnSk1NVUpKimbNmqXDhw9r2LBhuu222/IduhqqeoKtKcvgwYNVtGhRjRs3LtvtDzzwgA4fPqz//Oc/Ya2nadOmeumll3T55Zdnu33x4sUaMmSINm3alOfjjxw5ovbt22vNmjXq2LGjGjRoIGOMvvvuOy1cuFAtWrTQ4sWLFRcXF5Ycm1m2Ph8xMTGqXr26mjdvnmdefpf4tpVzKhvbkI0cp62jaM3Jy6ZNm5SSkqLp06frzz//DDinoFmh2l8HWk9OvvvuOy1ZskRLly7V/PnzJUn79u0LSz0214+t7ejIkSOaP3++2rVrp1KlSmVbduDAAS1dulSdOnVS8eLFC1WOrX2+rRwn1hStOX/++aemTZumKVOmaP/+/brxxht10003qVWrVgU+bdzWZzZac/JSkH2jE98zJx4T56Yg69qJr8tp3x+ncsqxdU6irhH222+/6a233tLUqVOVkZHhm8eqoCuJnPBlNW/eXDt27NDRo0dVvXp1SdLu3btVvHhx1alTJ9t98zonecyYMXrhhReUnJycbY6w1NRU3X///UpMTPTd99577z3j8cOGDcs1++DBg5o+fbqOHj2qkydP5vl6mjVrphdffFHt27fPcfmiRYv0wAMP6Ntvv80zx9aXmq16bNaUZfDgwXr77bdVrVo1tWzZUpK0Zs0a7d69W3379lXRokV99z29WRaKej777DMNHz5cTzzxhK+e1atXa/To0XrmmWfUunVr331P3Z5OdezYMb300kuaMWOGtm3bJkmqW7euevXqpWHDhvn95WErx1aWrc/HLbfcku+BuiRNnTo1LDm2tiGb26LT1lG05vjj+PHj2fZDoc6yub+2Uc/p0tPTtXTpUi1ZskRLlizR9u3bVbx4cR0+fDgs9dhcP7a2owkTJmjOnDm5Nhc6dOig7t27a9CgQYUqx9Y+31aOE2uK1pwSJUrouuuuU58+fdSxY0fFxMRIUkDzJ9r6zEZrjj/82Tc68T2TnHlMnBd/vxed9rqc9v3hxGPrnERNI2zWrFmaOnWqli1bpk6dOql///666qqrFBsbS47FHNtZkjRq1Ci/7/v444/nuqxWrVp+ZXg8Hv30009+3ffEiRP6z3/+o6eeekqlS5fWk08+qV69euX5mFKlSmnLli2+pt7pdu/erUaNGunAgQN55tj6UrNVj82asrRr186v+3k8Hi1evDjk9WQ9Pus5JSlrF3nq7x6Px6+D9tP9+uuvGj16tCZPnlzgx4YiJ9isQD4fTmNrG7K9LSL0Jk6cmO99PB6PBg8eHLYsW/trW/X8+eefWrp0qa/5tW3bNhUtWlQtWrRQu3bt1K5dO7Vq1Srfg3WnrR+bWrRooZEjR6pLly45Lv/kk080evRorV27tlDl5MTWPt/md4fTaoqGnPr16+vo0aO66aabdPPNN/v+wB3I95mtz2y05tjaNzrxPctPuI+JbX7n26jHZo7Tvj8Ky7F1wS7742C9evVS9erVNWzYMCUlJWnXrl05nlaV00ggcvzPsZ0l5d3cKoidO3daycny7rvv6rHHHtPhw4f1xBNP6I477vDrSlmxsbH6/fffc/0C+f3337M1XHJTo0YNffnll6pevbpq1KgR8NBPW/XYrCnLkiVLgnq80+rJz19//aWUlJSgvxxt5QSTFejn41T79u3Tjh07JEnnnnuuypQpU6DH28ixtQ3Z3hazOGEdRWvOSy+9lO99/D0otpVla39tq55KlSqpaNGiuvDCC3XttdeqXbt2uuSSS1SiRIl880NRj83vs1MFsx1t375dTZs2zXV5kyZNtH379kKXczob+3ybOU6sKVpyvv/+e99pSBdddJHq1q2rPn36SJJfoyhPZeszG605tvaNTnzP8hPuY2Kb3/k26rGZ47TvD6cfW/sEPLuYw9SoUcPUrFkzz59atWqRE2SO7awse/fuNW+88YZ5+OGHzV9//WWMMebrr782v/76a4FyjDHm6NGj5vvvvz/j6in++vzzz03Tpk1NYmKiGT16tDl06FCBHt+2bVvz0EMP5bp8+PDhpm3btn5lZU14WbJkSXP++eebcePGmSJFipitW7dGpB5bNZ1u+/btZt68ecbr9RpjTIGuShaKekJl/fr1JiYmxjE5gWQF+/kwxpidO3eaK6+80sTGxpqYmBgTExNjYmNjzVVXXWV27twZ9hxb25DNbdFp6yhac5zG9v46WPPmzQvoMx4qttePje2oZMmSZt26dbkuX7dunSlZsmShy8liY59vM8eJNUVrjjHGHDx40EyePNk3MXXbtm3N5MmTzZ9//unX4219ZqM1JxSc8p7lx4nHxDZE4nU58fvDicfWp4uaRhgKrw0bNpiKFSuac8891xQpUsT8+OOPxhhj/v3vf5ubb77Z75yMjAxz6623mtjYWBMbG+vLGTRokBk7dmy+j1+zZo1p27atiYuLM0OHDg34ClLvv/++KVKkiHn55ZfNiRMnfLefOHHCTJw40RQtWtTMnj27QJnBfKmFop5ga8ryv//9z1x++eXG4/GYmJgY33vWv39/c99994W9HmOMWb58uendu7dp1aqVrxH79ttvmxUrVhQoJydO/NL3N8vW52P37t0mKSnJnH322ebpp582H330kfnoo4/MU089Zc4++2xTqVIl88svv4Qt51S2tqFgc5y2jqI1xx+B/DEmmKxQ7a8DredUGzZsMLNnzzazZ882GzZssFJDQeuxuX5sbUcXX3yxeeaZZ3Jd/vTTT5uLL7640OXY2ufbynFiTdGaM2rUKJORkXHG7Vu3bjX333+/Oeuss0yRIkX8yrL1mY3WHH/4s2904nuWHyceE9v4zo/E63La98epnHJsnRMaYYi49u3bmwcffNAY808nOqsZkpqaamrUqOF3zr333msuuOACs2LFCpOQkODL+fjjj02zZs3yfbzH4zHx8fFm6NChZsKECbn++GPEiBHG4/GYxMRE06xZM9OsWTOTmJhoYmJi8vwriz8C+VILZT2B1mSMMTfffLPp1KmT+eWXX7K99/PmzTPnnXde2Ot5//33TYkSJcxtt91mihcv7qvn5ZdfNp07dw64nixO/NL3N8vW5+PWW281bdq0MYcPHz5jmdfrNW3atDEDBgwIW05uAt2GbOQ4bR1Fa05e/vjjDzNo0CBTokSJ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xowxCQkJvkmh4+LifKPW/LFz505z5ZVXmtjYWBMTE2NiYmJMbGysueqqq8zOnTvDnmMry9bn4++//zZ16tQxpUqVMnfddZeZMGGCGT9+vBk4cKApVaqUqVOnjvnrr7/CluPEL2unraNozcnvu6wgbGXZ2l/bqqdu3brm/fffz3X57NmzTd26dcNWj83vM5v7kKwLCQRzQO60HCf+Rd9pNUVrzunfZ8Gw9ZmN1hxb+0YnvmfGOOuY2OZ3vpNelzHO+/5w4rF1TooEdkKl8xhjdMstt6h48eKSpCNHjujOO+9UQkKCJOno0aPkWMixnXX8+HGVKFFC69evV3JyspKTk/1+7Ok5AwcO1MiRI/XGG28ElGFOmy7v9N/9lZaWppo1a/p+X7x4sa655hoVKfLPx61r164aO3ZsQNnRUE+W48eP64orrtDrr7+uf//732F//tOdPHlSqampuueee/Tggw9qx44dOnTokM477zyVLFnSr4xffvlFLVu2VNGiRfXkk09mm1j6tddeU6tWrfTVV1/lOieN7RybWbY+H2XLltWaNWs0YsQIvffee9q3b58kqUyZMrrpppv09NNPq1y5cmHLcSKnraNozTHGqH379r594eHDh9WlSxffXBRZvvnmm7Bl2dpf26qnV69euu+++1SvXj01atQo27JNmzbpgQceUN++fcNWj83vM1vb0c6dO/16vsKWY2ufbyvHiTVFa05+E+4XhK3PbLTm2No3OvE9c9oxsa117bTXJTnv+6OwiJpGWN++fbPtBPr06ZPjfcgJLsd2VtGiRVW9enW/J9bPK+eDDz7QyJEjg8qxITExUfv27VONGjUk/XPVlQEDBviWezwev5uFX3zxhe/qnJmZmVq0aJE2b94sSb6D9nDWY6sm6Z/3bOPGjX7fP9T1xMbG6l//+pe+++47lSlTJt+roOXkiSeeUL169fTFF18oLi7Od3v37t01bNgwXXHFFXriiSf05ptvhiXHdpYtZcuW1WuvvaZXX31Ve/bskSRVrFixwAdytnJsbUO2ciTnraNozHn88cez/d6tW7cC1RCKLFv7a1v1PPLII1q4cKGaNWumjh07qkGDBjLG6LvvvtPChQvVokULjRgxImz12P4+C3Y72rhxoxo1auSbuDc/W7ZsUb169Xz/EXNqDtwtmGbl6Wx9ZqM1x9a+0YnvmdOOiW2t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y+upp54q0PwOsbGxSktLU8WKFSX905jZuHFjngfsoawnFDWd6ssvv9SFF16ouLg4SdLff/+d73nxoaznyiuvVEpKiipXruz3YyZMmKA5c+Zo0aJFOS7v0KGDevTooXvuuScsOTazbH0+atasme9/oD0ej3766aew5Njahmxui05bR9Gac7rt27dr6tSpeuutt3To0CFdddVVuu6668744084smzsr23UM2vWLD366KPat2+f/v3vf+uuu+5SsWLFAq4j2Hqy2Fg/odqOooWtfb7NYyun1RStOaFga58WrTlZbH4PBSvY1+bEY+JTBbqunf66nMCJx9Y5sjKuDLAkMzPTLFq0yHzyySe+IavB+OGHH8yDDz5oKlWqlO99PR6PSU9P9/1esmRJs23btgI/Z2Zmppk2bZqpXr26qVKlipk0aVJA5zB7PB5z5ZVXmh49epgePXqYIkWKmH/961++37N+wlWPzZry8sUXX5iePXuauLg4R9RTEBdddJGZM2dOrsvnzp1rLrroorDl2Myy9flwGlvbkNO2ReRv06ZNOd5+8uRJM2fOHNOtWze/5+WxlWVrf22rHo/HY+Lj482AAQPMsGHDcv0JVz02v8+QN1v7fJvfHU6rKVpzsni9XvN///d/5vnnnzfPP/+8+b//+z/j9XoLlGHrMxutOTa/h4xx1nvmtGNiW+vaaa/LiQrLsTWXw0HE7Nu3T0OGDNE333yjli1b6sUXX9SVV16plStXSvr/f9lq0qRJgXK9Xq9mzpypKVOmaNWqVbrwwgt133335fs4j8ejgwcPKi4uTsYYeTweHT58WAcOHMh2v8TExDxzmjRpop9++kmDBw/W0KFDFR8fr4yMjDPul19Ov379sv3ep0+ffF9DKOuxWdPpfv75Z02ZMkVvvfWW9u7dq86dO/t11Rrb9SxevFgffvihdu3aJY/Ho1q1aum6665TmzZt/Hr89u3b1bRp01yXN2nSRNu3bw9bjs0sW5+P/Ozbt0/vvPOOBg0aFJYcW9tQqD4bOQn3OorWnCZNmuiiiy7Sbbfdpl69evlOTYiJiVGXLl3UpUsX/fnnn349p60sW/trW/W0adNGHo9HP/74Y773DUc9Nr/P8mNreyysbO3zbX53OK2maM2RpDlz5ui2227T//73v2y3V6hQQSkpKerSpUu+GZLdfVq05tj6HnLae+a0Y2Jb69ppr8uJCs2xdcAtNIdp1qyZad68+Rk/bdu2NXfccYffk+CRE76sAQMGmDp16pgxY8aYiy++2LRq1cq0bNnSrF692qxdu9a0bdvWXH311X7XtWrVKjNgwACTmJhoGjVqZGJjY83y5cv9frzH4/FNMBoTE5Pr7/7kZP2c+viC5tjitHqyHD161MyYMcO0b9/exMXFmauvvtrExsaajRs3hr0WY4wZOHCg8Xg8ply5cqZly5bm4osvNuXKlTMxMTFm0KBBfmWULFky21V6Trdu3TpTsmTJsOXYzLL1+cjNwoULzY033mji4uJMuXLlIp7jRE5bR4U9Z/ny5aZ///6mVKlSJiEhwfTt27dA3xmhyLK1v7b52vJz7NixsNUTju+zaN6HFITNYyJb3x1Oqylac1JTU03RokXNtddea1auXGn27t1r9u7da1JTU80111xjihUr5tfVYrNqsvGZjdYcW/tGJ75nTjsmtrWunfa6ELioGRHWvXv3HG/ft2+fvvnmGzVv3lyLFy9WcnIyOUHk2Mz6/PPPNX36dF122WW65ZZbVK1aNS1evFgXX3yxJOnZZ59V165d863nxRdf1JQpU7R//37deOONWr58uZo2baqiRYuqfPny+T4+y5IlS/y+bzhybHFaPZI0ePBgzZgxQ3Xq1FGfPn00c+ZMlS9fXkWLFs13LrdQ+OijjzR16lRNmTJF/fr1880bk5mZqWnTpumuu+5Sx44d890eGzZsqIULF+qCCy7Icfn8+fPVsGHDfOuxlWMzKxTb0S+//KKpU6dq6tSp2r17t3r16qWPPvpI7du3j0iOEzltHUVTzqWXXqpLL71UL7/8smbNmqVp06bpsssu07nnnqsBAwaoX79+qlSpkl912Mqy9TmzVc+sWbN0/fXX57r8xIkTuuGGG/K9OI7T1s/ponkfEignHhM5raZozRkzZoz69++vSZMmZbv9kksu0SWXXKKBAwdq9OjR+uyzz8JWU7Tm2No3OvE9c9oxsa117bTXhSBEuhMXLiNGjDCXX345OSHOKUhWbGys+f33332/lyhRwuzYscP3+x9//OHXXxxiY2PNiBEjzjh/3dZl2SNp8eLF5oUXXjBffvmlMcaY119/3VSrVs1UqFDB3HbbbQU+798pNWW9ZwcOHMh2eyDvmY16unTpYh5++OFclw8fPtx07do135xJkyaZhIQEM3fu3DOWzZkzxyQkJJhJkyaFLcd2lg3Hjh0zs2bNMv/6179MiRIlTI8ePczs2bML/N7byjHG3ufMVo7T1lG05uRk+/btZsSIEaZatWqmaNGipkuXLo7IsiGQeooXL27mz5+f47Ljx4+bHj16+DUHp616bArldgQUZmXLls1zdP6GDRtMmTJlwliRuwSyb3Tie+bEY+LTBbKuC8PrcgKnHVvnxDWNsM2bN5uKFSuSE+KcgmTlNKnnjz/+6Ps9LS3Nr0bY008/berUqWOqVatmhg8f7psMsbAfzE6ePNnExsaac8891xQvXtw8/fTTJiEhwdx5553m7rvvNomJieahhx4qlDVNnz7ddOjQwSQkJJjrr7/ezJ0715w4caLA75mteqpWrWrWrFmT6/LVq1ebqlWr+lVT7969jcfjMQ0aNDDdu3c33bt3N/Xr1zcxMTGmV69efr82Wzm2s4JVsWJFc+mll5pJkyZluyBGQd97Wzm2tiGbn1enraNozcnNoUOHzKRJk3ynRjsly4aC1jN+/HhTsmRJs3r16my3nzx50lxzzTXmrLPOMps3bw5bPTaFejsCCqu4uDiza9euXJfv2rXLrwsaIXAF3Tc69T1z4jHx6QL5HioMryuSnHhsnRPXNMK+++47U758eXJCnFOQLI/HY5566ikzYcIEM2HCBBMXF2dGjhzp+33MmDEFOjBeunSp6du3r4mPjzdNmjQxsbGxvu6xP7LOeQ92jhFbOQ0bNjQTJ040xhjz+eefmyJFiphp06b5ls+aNcucc845YavHZk1ZfvrpJ/PYY4+Z6tWrmwoVKpiYmBgze/bssNdTvHhx89tvv+W6/Ndffy3QAcTMmTNNt27dzHnnnWcaNGhgunXrZmbOnOn3423n2MiytR2VLVvWtGnTxkyePNns37/fd3tB//NpK8fWNmTzs+G0dRStOadbtmyZ6devnylZsqRJTEw0t912m99zqtjKsrm/tlGPMcY89thjply5cr6G14kTJ8y1115rKlasmOtVuEJVj831E6rtKFo47ZjIiTVFa07jxo3NlClTcl2ekpJiGjduHNaaojXndIHuG534nmVx4jGxMcF/5zv1dTmBE4+tc+KaRthTTz1lLr30UnJCnFOQrBo1apiaNWvm+1NQBw4cMK+//rpp0aKFiY2NNa1atTIvvvhivo/btWtXtp9A2copUaJEtscXLVrUbN261ff7zz//7Ndlfm3VY7Om02VmZpp58+aZnj17muLFi5uqVauawYMHh60ej8dj/vzzz1yX+zs6MZrZ2o4OHz5s3nnnHdOuXTtTokQJc80115gPP/zQFC1atED/+bSVY2sbsvnZcNo6itYcY4z57bffzFNPPWXq1KljPB6PSU5ONlOmTDGHDh0qUI6tLJv7a5uvbdCgQaZKlSrmhx9+MD179jQVKlQwGzZsCHs9NtePze0oGjntmMiJNUVrzrhx40y5cuXMp59+esayTz75xJQvX96v42qbNUVrjjF29o1OfM+cyOb3InLnxGPrnHiMMSbS85TZMHHixBxv379/v77++mt9+umn+vzzz9WhQwdygsixnRVqmzZtUkpKiqZPn57nJXE3btyoRo0aKSYmxq/cLVu2qF69eipSJPv1JmzlSP9czjctLU1nnXWWJKlUqVLasGGDateuLUlKT09XlSpVdPLkyZC/Lps15efvv//W22+/ralTp2rDhg153tdWPTExMbrjjjsUHx+f43Kv16s33ngjqNdVmNnejrL8+OOPmjp1qt566y399ttvuvHGG3XLLbfo8ssvL9BFE4LJsbkNheKz4YR1FK05nTt31sKFC1WhQgX17dtXt956q+rVq+f3c9vOsvk5s/nasvTp00cffPCBSpYsqUWLFqlJkyZ+P9Zp6+d0trbHaOHEYyKn1RStOdI/Fwq64YYb9MEHH6hevXpq0KCBjDH67rvvtH37dnXv3l2zZ8/O97mc9tqcliPZ21c77T1zolB8LyJnTj+2zhI1jbBatWrleHtiYqLq1aunYcOGqVWrVuQEmWM7K1yOHz+uokWL5ro8NjZWaWlpqlixol95iYmJWr9+ve+DaDsnK2vbtm2qWLGijDGqVq2avvzyS9WsWVPSPx/++vXr5/nht1mPrZpsslVP27ZtfVeKzEt+V9KJiYmRx+ORMUYejyfg9WArx1aW7e3odJmZmfriiy+UkpKiuXPnqmTJkvrrr78KXGcgOba2oVB/NiK5jqI1p2vXrhowYICuvvrqoJsdNrJsfs5svbb77rvP9+/jx4/rjTfe0KWXXqrGjRtnu9+4cePyzHHa+smNre2xsHPqMZGTaorWnFPNnDlTM2bM0LZt2yRJdevWVa9evdSrVy+/nsNpr81pOZLd7yHJOe+Z5LxjYlvr2mmvy4kKy7G189u3ftq5cyc5YcixnXX48GF9/fXXKleunM4777xsy44cOaJZs2apb9++Ic8xxmjkyJG5jgg63bFjx0Kak5VVt27dbL83b9482+/5NW9s1mOrJknq0qWLrr/+el133XUqUaKEX7WFsp6lS5cGXMOpovXzans7Ol1MTIw6d+6szp07a8+ePfrvf/8bSJkB5djahmzl5CaS6yhac+bMmSPpn++PBQsWZPuPQ8eOHQu0b7KRZfNzZuu1ffvtt9l+b9WqlU6cOJHtdn+2a6etn9zY2h4LO6ceEzmppmjNOdUNN9ygG264wa+8UNYUrTmS3e8hyTnvmeS8Y2Jb69ppr8uJCsuxddQ0wlD4bNu2Tf/617+0e/dueTwetW7dWu+9954qV64s6Z9TLfv3759vI8xGTps2bfTDDz/4XXurVq1y3GHaypHyH33kD5v12KpJkj799FPNmzdPgwcP1o033qjbbrtNF1xwQYFzbNVjgxOH3NvKsr0d5eXgwYOaN29etpEoocyxtQ2Fc1sM9zqK5pw5c+botttu0//+979st1eoUEEpKSnq0qWL388bbJbtz5mN12Zzu3ba+smPre2xMHLiMZHTaorWHH988803euyxx/TJJ5/keT+nvTan5WSx+T2Um3C/Z048JpaCX9dOfV1OU2iOrQOeXcxhGjRoYP766y/f73fddZfZs2eP7/f09HRTokQJcoLMsZnVvXt3c9VVV5k9e/aY7du3m6uuusrUqlXL/Pzzz8YY/ycot5WD8PF4PGbLli3mpZdeMo0bNzYxMTGmadOm5uWXX852Gftwufrqq83bb79tvF5vwBkxMTF5Trh/ulKlSpkff/wxZDm2s8Jl/fr1Vj6vtnKcyGnrqLDmpKammqJFi5prr73WrFy50uzdu9fs3bvXpKammmuuucYUK1bM7ytI2cyygXqCF837ECA/8+bNM/fff7955JFHfMcF3333nenWrZuJiYkxnTt3jnCF0cHmvtFJ75kTj4ltrGsnvi4ELmrmCDt9MrXTz1lOT09X5cqVlZmZSU4QOTazkpKStHDhQt9cI8YY3X333frss8+0ZMkSJSQk+DUBnq0chM/p29DatWuVkpKimTNn6tixY+revbtuu+02XX755WGrJzY2VgkJCQGPUMtvwv3Tvfrqq9q6desZ8yrYyrGdFS4bNmzQ+eefH/Tn1VaOEzltHRXWnCuvvFLVqlXTpEmTclw+cOBA/fLLL/rss8/yfU6bWTbYqmf06NF+Pd9jjz0WlnrCKZr3IUBeUlJSdPvtt6tcuXLau3evypcvr3Hjxmnw4MG64YYbNGTIEDVo0CDSZUYFW/tGp71nTjwmtrGunfi6ELjCMb4uADn19wI5h5Sc0GUdPnw42xBPj8ej1157TYMGDdJll12m6dOn+/X8tnKcxomTKIaqphYtWqhFixZ66aWXNGvWLKWkpKhjx45+XU3EVj0bNmzQ/PnzNWXKFE2ePFmNGzfWbbfdpt69e6ts2bL5Pt6JQ+7DfSpRYcSkp+61evVqPfvss7kuv+eee3TZZZeFPcsGW/V89NFHuS7zeDz64YcfdOTIkXwbYU5bPwByN2HCBD377LN68MEH9cEHH6hnz5569dVXtWnTJp199tmRLi+q2No3Ou09c+IxsY117cTX5USF5dg6ahthcL769etr3bp1Z/yF4pVXXpH0z9U9wpnjNE6cRDHUNcXHx+uWW27RLbfc4pvEMlz1VKhQQUOHDtXQoUN9I9QeffRRDR8+3K8RarYm3LeVYzsrWjHpqXsdPnxYiYmJuS4vXbq0jhw5EvYsG2zVc/pk+VnWr1+vhx9+WJs3b9btt98etnoAhN6PP/6onj17SpKuueYaFSlSRM8//zxNsBCwtW902nvmxGNiG+vaia/LiQrLsXXUNMI8Hs8Zo5ACGeFETviyevTooRkzZujmm28+Y9krr7yizMxMvf7662HLcRInTqJos6bLLrtMxYoVy/Pxp14lJNT1nC7QEWrIX/PmzfPcX3i93rDlOHXSUyeto2jOqVOnjhYvXqz+/fvnuHzRokWqU6dO2LNsCFU9O3fu1MiRIzVz5kxdc8012rJli185Tls/kr3tCIg2hw8f9p2y5fF4VLx4cd8FqGCXrX0j71n+nPg9FI2cemydk6hphBlj1L59e9+LP3z4sLp06eL7z/aJEyfIsZBjM+uRRx7RI488kuvyV199Va+++mrYcpykefPmSktLU8WKFf26f6tWrbLN0+b0mmxcBSQc66igI9SQv+7duzsmx9Y2ZHtbdNI6iuac/v3764EHHlBSUpKuvPLKbMs+/fRTDR8+XCNGjAh7lg226/nf//6nUaNGafLkyWrdurVWrlypiy66KGL12GBrOwKi0ZtvvqmSJUtK+ue4ftq0aapQoUK2+9x7772RKC2q2Nw38p7lzYnfQ9HIqcfWOYmayfJHjRrl1/0ef/xxcoLIsZ2VkxMnTlgZ2WQrJxKcOImizZoWL16sNm3aBPX+2KynXbt2+uijj1SmTJmA60Hhw6Sn7paZmakbbrhBH3zwgerVq6cGDRrIGKPvvvtO27dvV/fu3TV79my//hppM8sGW/VkZGTohRde0Lhx43Tuuedq7Nix+te//hWxegCEXs2aNfM908Pj8einn34KU0XRy9a+kfcsf3wPhUdhOraOmkYYCp958+apatWqaty4sTIzM/XUU0/p9ddfV1pamipXrqxBgwbpoYceynfHbivHSdq2bVvgeqdPnx7SYdA2a4qNjdUff/zhu2pky5Yt9cEHH6hq1aoRqQfh8+eff/re95ycOHFC33zzjVq0aBHyHFvbkO1t0UnrKJpzssycOVMzZszwjfqsW7euevXqpV69evn1+FBl2RBsPZUqVdLBgwc1ePBg3Xjjjblu502aNAlLPTbZ3o4AIFBO2jdGO9Z1aDn12DpHxiU2bNhgihYtSk6IcwqSVa9ePbN8+XJjjDFPP/20KV++vBk3bpz5/PPPzfjx401SUpJ55plnwpaD8PF4PCY9Pd33e8mSJc2PP/4YsXoWLVpkjh8/HrHnd5OYmJhs732jRo3M7t27fb+npaWZmJiYsOU4kdPWUbTmIH8ej8f3ExMTk+PvhXVdsx0BucvMzDTbtm0zmzdv5viokOA9AwqmcJ43FgBjTIHmwSIn9Fm7du1SjRo1JP3TwX3ttdd8Vzy54oordO6552ro0KF66KGHwpID9+rYsWPQI9TgH3PaIORdu3bp+PHjed4nlDlO5LR1FK05yF80Xw2V7QjI2c6dO9W1a1dt3bpVklS1alV98MEHBZoXEOHFewYUnGsaYVLgV0kkJzRZ5cqV0++//67q1atrz549Ovfcc7Mtr1u3rn777bew5SB8Tr/yaE5XIg2n0/+zs2XLFh09ejRC1cCJ+zSncdo6Kow5MTEx8ng8MsbI4/EEdVVYm1k22Kon649MTqkn3KJ5HwLk5sEHH9SJEyf0zjvvKC4uTi+88ILuvPNOff3115EuLerY2jfynuWvsH4PIXRc1QiDs/To0UNPPfWUPv74Y3Xr1k2vvvqqJk+e7DvwfPnll9WsWbOw5SB8zGlXHvV6vdmuPJrlm2++iUR5AFzA5mgnp42cslXPnDlzcry9dOnSqlu3rt9zcTht/QDI3Zdffqn3339frVu3lvTPKPmzzz5bGRkZSkhIiHB10cXWvpH3LH98D+F0UdMIO3DgQJ7LDx48SI6FHJtZTz/9tDp06KD69eurVatWmj17thYsWKC6detqx44d+vvvv/XFF1+ELQfhc/oVRbt16xahSv7htBFq0czj8ejgwYOKi4vz/VXu0KFDvv1KfvsX2zlO5LR1FI05GzduVKNGjfy+OtSWLVtUr169HK90azPLBpv1dO/ePdfHeTwe9erVS2+88UaeV3Vy2vrJEs37ECAYf/75p+rUqeP7vXLlyipRooT+/PNP1apVK4KVRReb+0bes7w59XsIkRU1V43MGu6YG3+HQZKT/zBRm1nHjx9XSkqK5s6dq59++kmZmZmqXLmykpOTddddd+nss8/ON8NmDtwpJiZGjRo18n3hbdy4UfXr12eEWgicvv/I2l+c/ntB92mB5jiR09ZRNObExsYqLS1NFStWzPO5siQmJmr9+vU5XpbbZpYN4ahn//79+vrrr3XPPfeoR48eevrppyNaTyCieR8CBCM2Nlbbtm3L9pk9++yz9eWXX6pmzZq+2xITEyNQXfSw/T3Ee5Y7p34PIbKips25ZMkScsKQYzuraNGiuvPOO3XnnXc6IgfhceTIEc2fP1/t2rVTqVKlsi07cOCAli5dqk6dOql48eJhqcdpI9SimRP3aU7jtHUUjTnGGI0cOTLPkUynOnbsWFiybAhHPaVLl9bll1+ul156SUOHDs2zEea09ZMlmvchQDCMMapbt+4ZtzVv3tz3b5rEwbP9PcR7ljunfg8hsqJmRBiAwmPChAmaM2eOFi1alOPyDh06qHv37ho0aFCYKwPgBm3bti3w6c/Tp0/PcU4sm1k2hLOeXbt2qVGjRjp06JAj6gEQvGXLlvl1v8suuyzElUQ3m/tG3rO88T2EnNAIQ8SsXbtWF1xwgWJjYyVJn3zyiZ5//nnt2LFDlStX1r333qu+ffuGLQfh06JFC40cOVJdunTJcfknn3yi0aNHa+3atWGpx2kj1ACgMFi8eLHuvPNObdu2LdKlAAAA+C1qTo20dUlUcsKX1apVK/3xxx8666yzNHfuXHXv3l19+vTRDTfcoG+//VYDBgxQqVKl1KNHj7DkIHy2b9+upk2b5rq8SZMm2r59e9jqmTRpkubMmaOuXbuesSwxMVETJ07U7t27GaFmQVbDOj/57Vds5TiR09ZRtOYgOOvXr9cDDzygq666KtKlBITtCAAA94qaRpitS6KSE76sUwcjPvfccxo+fLjGjh3ru61WrVp67rnn8m1g2cpB+Jw4cUJ79uxR9erVc1y+Z88enThxImz1vPvuuxo5cmSuy4cOHarRo0fTCLPAGKMaNWqoX79+vrkrIpnjRE5bR9Gag/yVLVs2x9NJMjIydOLECXXs2FGjRo2KQGXBYzsCcmbzj+cID94zoOCiohFm65Ko5OSdYzvrVNu2bdP48eOz3Xbttdfq+eef9+t5bOcgtBo2bKiFCxfqggsuyHH5/Pnz1bBhw7DV47QRatFs7dq1SklJ0YQJE1SrVi3deuut6t27t8qWLRuRHCdy2jqK1hzk7/Tv0yyJiYmqV6+ezjvvvPAWZBHbEZAzm388R3jwngEBMFEgJibG/Pnnn37fv1SpUubHH38kp4A5trM8Ho9ZsmSJ2bBhg6lRo4ZZu3ZttuXff/+9KVmyZL7PYSsH4TNp0iSTkJBg5s6de8ayOXPmmISEBDNp0qSw1VOyZEmzbt26XJevW7eObciyw4cPm//+97/m8ssvN/Hx8eaGG24w8+fPj1iOEzltHUVrDtyN7Qj4/zZs2GBOnjzp9/03b95sjh8/HsKKkB/eMyAwUTFZfkxMjO644w6/L4n66quvauvWrapduzY5BcgJRVbWMF5JGjdunIYOHepb/t577+nJJ5/Uli1b8nwOWzkIrz59+mj69OmqX7++6tWrJ0n6/vvvtW3bNl1//fWaMWNG2Gpp2bKlevTooYceeijH5WPHjtX//d//afXq1WGryU127typAQMGaNmyZdqzZ4/KlSsX0Rwncto6itYcuBvbEdwuNjZWaWlpqlixol/3T0xM1Pr163M8zkd48J4BgYmKUyPbtGmjH374we/7t2rVSiVKlCCngDm2s04fxluyZMlsvx87dizXxkQochBe77zzjrp27arp06dr27ZtMsaoXr16GjVqlK6//vqw1nLrrbfqvvvuU8OGDXX11VdnWzZ37lw99dRTGjduXFhrcoNff/1V06ZN07Rp0+T1evXggw8qMTExYjlO5LR1FK05yJlb5p1hOwL+YYzRyJEj/f6D97Fjx0JcEfLDewYEJipGhKFwOnjwoEqVKpXnfZYtW6bLLrssLDlwNyeNUItmx44d00cffaSUlBStWLFCnTt31q233qrOnTv7fRU3mzlO5LR1FK05yN/PP/+c7fcaNWpEqBL72I6AM7Vt2zbHC2TkZfr06apcuXKIKkJ+eM+AwNAIQ8S0bdtWX3zxhYoXL57j8mXLlunqq6/WwYMHw5IDzJo1S9OnT9f27dtljFHdunV10003hX2EWjQrX768SpUqpX79+unmm2/WWWedleP98huNYSvHiZy2jqI1B3kL1cVxnILtCAAA96IRhohp3LixateurY8++uiMA+3ly5fryiuvVP/+/fXyyy+HJQfh4+9f26P1NBw3O/UzmtNfMP09BctWjhM5bR1Faw7yFu3zzrAdAQDgXoXjz3aISl988YUuvfRS3XLLLXr77bd9t69YsUJXX321+vXr51fzylYOwscYoxo1aqhfv35q3rx5pMtBGC1ZssRROU7ktHUUrTnIW7TPO8N2BACAezEiDBH1448/6tJLL1XPnj01YcIEffnll+rcubN69+6t119/Pew5CI9169YpJSVF7733nmrVqqVbb71VvXv3VtmyZSNSDyPUACA75p0BAADRikYYIm7jxo1q27atunbtqo8++kg33HCDJk+eHLEchM+RI0f0/vvva+rUqVq9erW6dOmiAQMGqGPHjmGtIyYmxq8Rat26dQtjVQAAAAAA22iEIWIOHDjg+3dqaqp69Oih7t27a9KkSdn+Cp3fRLW2chBZO3fu1IABA7Rs2TLt2bNH5cqVC9tzO22EWjSLiYmRx+MJev4dWzlO5LR1FK05cDe2IwAA3ItGGCIm6yA0S9ammHVbQSZOtpGDyPj11181bdo0TZs2TV6vV3379tWYMWMicuUxp4xQi2Y///xztt9r1KgR0Rwncto6itYcuBvbEQAA7kUjDBGzbNkyv+532WWXhSUH4XPs2DF99NFHSklJ0YoVK9S5c2fdeuut6ty5s9/zdYVaJEeoRauNGzeqUaNGZ1zdNTdbtmxRvXr1zmiK2spxIqeto2jNgbuxHQEA4G40wgCEXfny5VWqVCn169dPN998s84666wc7xeJ01mdNEIt2sTGxiotLU0VK1b06/6JiYlav369ateuHZIcJ3LaOorWHLgb2xEAAO7G/+wAhN3evXu1d+9ePfnkkxozZswZy8N9OmtOI9TGjx/vqBFq0cAYo5EjRyo+Pt6v+x87diykOU7ktHUUrTlwN7YjAADcjUYYIoaJk91ryZIlkS4hm8qVK/tGqL366qu+EWoZGRnZ7scFF4LTpk0b/fDDD37fv1WrVipRokTIcpzIaesoWnPgbmxHAAC4G6dGImKYOBlOceo8MadeeCELTVYAAAAAiA6MCENEMHEynMRpI9QAAAAAAKHBiDBEBBMnuxunswIAAAAAIoFhMYgIJk52t507d0a6BADwqVmzptq2batp06aF7DmWLl2qdu3aacmSJWrbtm3Inud0wby2mjVrqlGjRvrkk0/sFwYAABAhNMIQEUyc7F5OPJ2VEWpAdNq0aZNGjRqlr776Sunp6SpfvrzOO+88de3aVYMHD450eUHZtWuXatWqpeeff14PPPBApMsBAAAoNGiEISKWLl3qqByET/PmzQt0OmurVq1CfjorI9SA6LNy5Uq1a9dO1atX1+23365KlSrpl19+0erVqzVhwoRsjbAffvjB7+Z8YRPNrw0AACAQNMIAhJXTTmd14gg1AMF76qmnVLp0aX311VcqU6ZMtmV//vlntt+LFy8exsrCK5pfGwAAQCD4EyGAsMo6nfXbb7/16yfUp7M2b95cf/31l9/3b9WqlXbv3h2yegDY8eOPP6phw4ZnNMEk6ayzzsr2e82aNXXLLbf4fp82bZo8Ho9SU1N13333qWLFikpISFCPHj20Z8+ebI/NzMzUE088oSpVqig+Pl7t2rXT1q1bz8jMzZo1a3TFFVeodOnSio+P12WXXabU1NRAXnKOgnltOXnrrbdUpEgRPfjgg5Kkv//+Ww888IAaN26skiVLKjExUZ07d9aGDRvOeOzPP/+srl27KiEhQWeddZaGDRumL774Qh6P54wR3qFeLwAAwL0Y0gAgrJx2OqvTRqgBsKNGjRpatWqVNm/erEaNGgWUMXjwYJUtW1aPP/64du3apfHjx2vQoEGaOXOm7z6PPPKInnvuOXXp0kWdOnXShg0b1KlTJx05ciTf/MWLF6tz58664IIL9PjjjysmJkZTp07V5ZdfrhUrVqhFixYB1W3rtZ1u8uTJuvPOOzVixAiNGTNGkvTTTz/p448/Vs+ePVWrVi2lp6dr0qRJuuyyy7R161ZVqVJFkpSRkaHLL79cf/zxh4YMGaJKlSpp+vTpWrJkyRnPE8n1AgAAoh+NMACuxgUXgOj0wAMPqHPnzmrWrJlatGihSy+9VO3bt1e7du1UtGhRvzLKly+v+fPny+PxSPpn9NfEiRO1f/9+lS5dWunp6Ro3bpy6d++ujz76yPe4UaNG6Yknnsgz2xijO++8U+3atdPnn3/ue46BAweqYcOGevTRRzV//vzAXryF13a6iRMnaujQoRo9erQeffRR3+2NGzfWtm3bsp1efvPNN6t+/fpKSUnRyJEjJUmTJk3yNc26devme63NmzfP9jyRXi8AACD60QgD4GpOG6EGwI6OHTtq1apVGjt2rL744gutWrVKzz33nCpWrKg333xTXbt2zTfjjjvu8DViJOnSSy/VSy+9pJ9//llNmjTRokWLdOLECd19993ZHjd48OB8G2Hr16/X9u3b9eijj55xenb79u313//+V5mZmSGb6D6/13aq5557Tg899JCee+453ymRWU6dg+zkyZPat2+fSpYsqXr16umbb77xLZs3b56qVq2abb3HxcXp9ttv1/333++7LdLrBQAARD8aYQAAICpddNFF+vDDD3Xs2DFt2LBBH330kV566SVdd911Wr9+vc4777w8H1+9evVsv5ctW1aStHfvXkn/zHklSeeee262+5UrV85339xs375dktSvX79c77N///58cwKV32vLsmzZMn366ad66KGHzmiCSf+MJJswYYJeffVV7dy5UydPnvQtK1++vO/fP//8s84555xszTfpzHUX6fUCAACiH40wAAAQ1YoVK6aLLrpIF110kerWrav+/ftr9uzZevzxx/N8XGxsbI63G2OCrikzM1OS9Pzzz6tZs2Y53qdkyZJBP09u/H1tDRs21L59+/Tf//5XAwcOVK1atbItf/rppzVy5EjdeuutevLJJ1WuXDnFxMRo6NChvtdYEJFeLwAAIPrRCAMAAK5x4YUXSpL++OOPoLNq1KghSdqxY0e2BtFff/11xsiq051zzjmSpMTERHXo0CHoWkKlQoUKev/999W6dWu1b99eX375pW8CfEl6//331a5dO6WkpGR73L59+1ShQgXf7zVq1NDWrVtljMk2KmzHjh3ZHldY1gsAACi8mGABAABEnSVLluQ4cuuzzz6TJNWrVy/o52jfvr2KFCmi1157Ldvtr7zySr6PveCCC3TOOefohRde0KFDh85Y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bZrTDq6t5qtlrFCN48QPn6FaI1VnzXvLYz2nNR+cdixjVR/LMVP9d1/WrFkzzZ07t0ZERGiJEiU0MjJSGzRokK67SO/cuVN79eqlN9xwg1aqVEk7d+6s69ev9+m1TtwWWXBiI8xp+/xAj1k2o69wZjq32y0ul0tUVVwuV7rvrOK0OHrZJdwu/z3YcZyYk1Wcffv2SenSpT2/L1y4UG6//XbJlu3fadK2bVsZMWJE0PJx2npZxvrtt9+kTp06EhkZKc8991yyaw69+eabUrduXfn5559TvX6HdRxVlaZNm3rW4/Tp09KmTRvJnj17suetXr06KPl4u8CkP6xyspwfTqp1njx55KeffpLHH39cPvzwQzly5IiIiOTOnVvuueceefHFFyVv3rxe18tyzKxqbRWnVKlSsmLFCilRokSKy3/66ScpVaqU1zhWYy8icvHiRfnhhx/koYceksGDB8uOHTvkxIkTUrlyZYmNjfX6emvnz5+Xli1byoQJE+SJJ55IdxynbdOsWO3PrOarZaxQjeNEoVojp817y+NGK1afq5x2LONyua44fkjP8YT1mMXHx8s333wjP/zwg6xbt05OnDgh1157rTRr1syvvM6fPy+9e/eWYcOGyTvvvOPXa5NY1cgqjtV70Sof61gWrPb5gV6vkGmE7d69OyTjIHhy5colR44c8XygS7pLWhKXyyVnz57NrPTSzXK9rGI988wzUqFChStuXd6uXTsZOHCgtGzZUp555hmvty63ivP0008n+/22227zug6BzCcjjepA5WQ19k6rtci/H4refPNNeeONN+TgwYMiIlKgQAG/draWY2ZVa6s4nTp1kkGDBkmFChWkatWqyZZt2LBBHnnkEenatavXOFZjLyISEREhN998s2zZskVy587t9UL9gRYZGSnr16/PcBynbdOcyGK+WscK1ThOFIo1ctq8d+LxsNXnKqcdy6iqdO/eXaKiokRE5MyZM9KnTx/JmTOniEjQj89F/m1eRUdHy9q1a6VevXpSr149f1YpmcjISPn0009l2LBh6Y5hVSOrOFbvRat8rGM5SaDXKyQaYevXr5eqVauK2+326fmbNm2SChUqeLrkTo0j4rwuuBNzsopTp04dGT9+vLzzzjsyc+ZMOX78uDRp0sSzfNu2bameERGIfJy2Xpax5s6dKzNmzEh2wJckOjpannvu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qXPmzLli2ezZszVnzpz61ltvBS1OSrZv366PP/64lihRQiMjI7VNmzZByydPnjxpXpxy3bp1mjt3bq9xLHMKpMys9blz5/Sjjz7Sm2++WaOjo7V9+/b68ccf+30LdMsxc5oZM2akufz8+fPpvlhpesa+TZs2+uijj6a6fMiQIdq2bdt05ZMeERER+vjjj19xxzd/30OqztumOY3VfLWMFapxnChUa8S8Dw3pqfUzzzyT4s+AAQO0QYMGmj17dv3++++DkP2/ihYtqosXL1ZV1d9//11dLpcuWrTIs/ynn37SQoUK+RQrad94+QXx/Z1nVjVyWq0t83HaulkJ9HrRCAOQKTp37qwul0srVaqk7dq103bt2mnFihXV7XZrp06dgh4nJSdOnNC33npL8+bNq263O2j55MiRQ/fs2ZPq8j179miOHDl8imWVU6BlVq0LFCig9evX17feekv/+ecfz+P+HqhZj5mTREVF6fz581NcltQEK1y4cLrj+zv2xYoV059++inV5cuXL9dixYr59LcXLlyor7zyiudAasKECVqiRAnNnz+/9urVy6fbfE+bNk2bNWumOXPm1I4dO+qcOXP0woUL6f5Q7bRtmkWNrFjNV8tYoRpH1W7sreKEco2cNu8tOWkbEmjWtX788cfTvKOotYiIiGR3YI6OjtYdO3Z4fv/rr798Xq8XX3xRy5UrpyVKlNAhQ4bohg0bVDV98ywtVjUKdq29sczHn1hZab5mtEY0whzO5XKp2+32/Dez4zgxJ+IEJ451LNV/zzS57bbbtHLlylqpUiW97bbbvJ59Esg4SZYsWaLdunXT2NhYzZUrl/bq1UuXLVsWtHyqVaumkyZNSnV5QkKCVqtWzed4FjlZj32SzK51njx5tEGDBvr222/r0aNHPY/7e6BmOWZOm/tjx47V2NhYXb58ebLHL168qLfffrsWLFhQN27c6Hfc9I59VFSU/vHHH6ku//33331qOr799tsaERGhV199tUZFRemLL76oOXPm1D59+uiDDz6ouXLl0qFDh/q8Prt27dKnnnpKS5Ysqfnz51e3253uW9c7ZZtmVSOr96LVfLWMFapxrMbecp6Fao2SOGXeW+7vrWuUUU49lknNxo0btUCBAl6fZ3ncsH//fs/vsbGxunPnTs/v+/bt8zv+4sWLtWvXrhoTE6PVq1fXiIgI07OTfK1RsOJYsczH11hO2+d7k9Ea0QhzuD179iT7yew4TsyJOMGJYx3Laf744w994YUXtFy5cupyubRevXo6adIkPXHiRNBzGT16tObNm1e//PLLK5Z98cUXmi9fPh01alRQc7IceyfV+vTp0/r+++9r48aNNTo6Wm+//XadOXOmRkZG+vWByHLMnDj3n3rqKc2bN6+n4XXhwgW94447tECBAp5/5fWFxdi7XC49cOBAqst9PVCvUqWKjh8/XlVVv/76a82WLZtOmTLFs/yjjz7Sq666yue8kiQmJurcuXO1Q4cOGhUVpcWKFdN+/fr5HSejLGptVSOr96LVfLWMFapxrMbecp6Fao0sWcx7y32H02qU1Y5ltmzZovny5fP6PKv1crlc+sILL+i4ceN03LhxmiNHDh02bJjn9+effz7djY1jx47phAkTtFatWhoREaF169Y1OZb1tUbBimPFMh9fYzltn+9NRmtEI8zB1q1bpxcvXvT5+Rs3btTz588HLI4TcyJOcOJYx3Kali1barZs2bRw4cI6ZMgQ/eWXXzI1n4sXL+qdd96pLpdLK1asqO3bt9d27dpphQoV1O126+233+7XWGSU5dg7rdaX2rFjhz7xxBNavHhxdblces899+j8+fOvuL5FSqzGzIlzP0nfvn21aNGiunXrVu3QoYPmz59f161b5/PfsBp7l8ulvXv31oEDB6b407t3b58O1KOjo5MdoEVGRurmzZs9v//666+aPXv2dOWY5NChQzpmzBitXr16huL4y6rWFjUK1L4jI/M1ULFCKY7V/AjUPAulGlmxmPfW89VJNcqKxzIvvPCC1q9fP83nWK5XqVKltHTp0l5/Mmr9+vXav39/kzOefKlRMONYsczH11hO3uenJKM1cqmqZuBi/gigiIgI2bdvnxQoUMCn5+fKlUvWrl0rZcuWDUgcJ+ZEnODEsY6VdFtdzeDtc63itG3bVnr27Cm33nqr33d5C0Q+SWbMmCHTp0+Xbdu2iYhI+fLlpVOnTtKpU6eg5mQ59k6t9aUSExNl3rx5kpCQIHPmzJHY2Fg5dOiQT6/N6Jg5ce5f6t5775VPP/1UYmNjZcGCBX7dQt1q7Bs1apTiXYQu5+2uRW63W/bt2ycFCxYUEZG4uDhZt26dpwb79++XokWLBvX23k7cpmW0RoF6LybJyHwNVKxQiGM1PwI9z0KlRk6Z99bz1UnbWScey4wfPz7Fx48ePSqrVq2SL7/8Ur7++mtp1qxZqjECvY0NpPPnz0tkZGSaz7GokWUcK5b5WMVy2j4/0GOWLV2vQlCoqgwbNkxiYmJ8ev65c+cCGseJOREnOHGsY+3evdunGN5YxZk9e7aIiJw+fVq++eabZE2M5s2bS3R0dFDzSXLXXXfJXXfdlaEYFjlZjr1Ta30pt9strVq1klatWsnBgwflvffe8/m1GR0zJ879QYMGef4/T548oqpyzTXXyJQpU5I9b/To0Wn+DauxX7x4sU/P88blcsnx48clR44cng+gJ06ckGPHjomIeP7rTZs2baRjx45y5513+rwOqXHaNs2iRpbvxZRkZL4GKlYoxLGaH1ZxUhMKNXLSvLeer4Eef3848VhmzJgxKT6eK1cuqVChgixdulTq1q2bZoxAb2Mz4vTp07Jq1SrJmzevVK5cOdmyM2fOyEcffSRdu3ZNM4ZFjSzjWLHMxyqW0/b5gR4zzghzMF//1ftS06ZNkyJFigQkjhNzIk5w4ljGWr9+vVStWlXcbrdPMTZt2iQVKlSQbNmS9+2t4iSZPXu29OrVS/7+++9kj+fPn18SEhKkTZs2aca3zictq1evlqeeekq++OKLoORk+T4SyVq13rVrl/Tp00fmz5/v92sv5euYOXHuN27c2OtrXS6XLFy40OvzMjr2lpLOwkiSdNB3+e++nM0REREhOXPmlLvvvlt69eol1113nd/5OG2bJmJTI+vtR1qs5qtlrKwax3J+WMTxRVaskdPmvfV8Deb4e+O0Yxkr1utl0bwSEdm2bZvcfPPNsnfvXnG5XHLTTTfJhx9+6Pm7mXHWNdKW1fb5GUUjDEBQOfGrXz/++KM0atRI2rZtKw8//LBUqlRJREQ2b94so0aNki+++EKWLFkiderUCfh6JZk3b5588803kj17dunVq5eULVtWfvnlF3n00Udlzpw50qJFC/nqq6/S/BtOPF3eibVOy7p16+Taa6/16UDNYsxCmcXYi9idgbVkyRKfntewYcM0l7vdbtm4caPMnz9fJk2aJJs2bZJq1apJr169pHPnzpInTx6f/o7TtmkidjUKFn/ma7BiZdU4VmMfzPdQVqyRE+e9pay2DfGVE2ttwbJ51b59ezl//rxMmTJFjhw5IgMGDJDNmzfL4sWLpWTJkjTCHChU52tqaIQBCCq32y3333+/z6fMvvHGG7J58+YrDvqs4oiItG7dWkqUKCFvvfVWiq/t3bu3/Pbbb2k2MSzzSUhIkP/85z+SN29eOXz4sOTLl09Gjx4t/fr1k7vuukv69+/vOehKi2VOVpxWa298/UBkNWahzGLsRezOwLJy+TU1VqxYIQkJCTJjxgw5d+6ctGvXTnr16iVNmjTxGsdJ27SsiEZY8OI4UVasEfM+a7KqdeXKleX777+XvHnziojIgw8+KMOHD5f8+fOLiMiBAwekdOnScurUKdsVSIVl86pQoULy7bffSrVq1UTk37OJHnzwQfnqq69k0aJFkjNnTp9iWdXIabW2zMdp62Yl0OtFIwxAUDnxq1958+aVJUuWeHbWl1u/fr00bNhQDh8+nGpsy3yqV68uXbp0kcGDB8unn34qHTp0kDp16shHH30kxYsX9zm+E09PdlqtvfH1A5HVmDnR8OHDfXreU089leZyi7EXsTsDy8rljbAkp06dko8++kgSEhLkxx9/9Poecto2LSuiERa8OE6UFWvEvM+aLPdnl+4/Lj/jb//+/VKkSBFJTEy0XYFUWDWvRP5dl59++umKfwTs27evfP755zJt2jRp1KiR3zfcSG+NnFZry3yctm5WAr1eXCwfQFBZXejaKo7Iv9dDyJUrV6rL4+Pj5cyZM0HLZ+fOndKhQwcREbn99tslW7Zs8vLLL/vdULHMyYrTam3FasycaNasWakuc7lcsnXrVjlz5ozXRpjF2CfJnz+/DBgwQAYMGOA5A+vJJ5+UIUOG+HUGVqDuPCoiEhMTI927d5fu3bt7LqScFqdt00QCXyM4l9Pu7uxEFuvmxHlvKVTHP1C1Tun8FH8bpRlx+vTpZNefc7lc8uabb0rfvn2lYcOGMm3aNJ9jVaxYUVauXHlFI+y1114TkX/vvJkeVjXK7FpfzjKf9MZy+ny1HjMaYQDCXrly5WThwoXSo0ePFJcvWLBAypUrF7R8Tp8+7fmahMvlkqioqEy5iGQgOK3WNWvWTHMn6uvp1qE8ZmvWrEnx8bVr18qjjz4qGzdulP/85z9e4wRq7GvVqiW1atWSMWPGeM7Aat68udcDOKs7tTVs2FCyZ8+e5nPKly9v8rd8ZVXrQN6dNT2s5qtlrFCN47S7O4uEbo2sOG3/KuK8GllxYq0tWDav2rdvL9OnT5cuXbpcsey1116TxMREmTBhQsYShqlQna+poREGIOz16NFDHnnkESlUqJC0bt062bIvv/xShgwZIo8//nhQc5o4caLExsaKiMiFCxdkypQpnu/EJ/nvf/8b1JwsOK3W7dq1M4sVqmN2ud27d8uwYcNkxowZcvvtt8umTZt8OuAP9Nj7cwaW5Z3aFi1alK58A8mi1sG8O6uvLOerVaxQjOPUuzuHYo0sOW3/6sQaWbGqtcvluqIpm5lnJVk2rx577DF57LHHUl3+xhtvyBtvvOE1jlWNnFZry3wsYjlxvgZ6zLhGGICwl5iYKHfddZd8+umnUqFCBalUqZKoqmzZskW2b98u7dq1k48//tjnnUNGlS5d2uuG3uVyya5du4KSjyWn1dpKKI9Zkr///lueffZZefvtt+Wmm26SkSNHyg033ODz663GvnHjxjJr1izJnTt3utfF8k5tCxculAYNGjjqw5tFrZ1411kEhxPv7uw0Tlw3p+1fnVgjK1a1drvdUrVqVc/+Y/369VKxYkXPWcYXLlyQTZs2Oe4rahlx4cIFv/aXVjVyWq0t87GI5cT5GugxoxEGAP/fjBkzZPr06Z6zScqXLy+dOnWSTp06ZXJmoccptT5w4MAVFzm/1IULF2T16tVSq1atIGblLCdPnpRXXnlFRo8eLVdffbWMGDFCbr755nTHc8LYW96pLSIiQv766y/P+6hOnTry6aefSrFixUxzTo+M1NqJd521nK9WsUIxjhPv7iwSmjUKBCdsY0WcXSMrGa31s88+69Pznn766XTnaMHf5pWIyNy5c6VYsWJSrVo1SUxMlBdeeEEmTJgg+/btkyJFikjfvn1l6NChXv8R0apGTqu1ZT4WsZw4XwM9ZjTCAMCBVFV27Ngh586dyzJfFciKLm9iVKtWTb766ispUaKEiIhftwoP1TErXLiwHD9+XPr16yd33313qget1atXD0o+FmdgWd6p7fK7GsXFxcm6deuy1Ie5lDjxrrOW89UqVijGceLdnUVCs0ahjBplPVbNK5F/rzf2zjvvSP369WXEiBEyatQoeeKJJ6RSpUqydetWGTFihAwcOFCGDh0ahDWDN2E5XxUA4Ci7du3SqlWrqtvtVrfbrSVKlNAVK1ZkdlohyeVy6f79+z2/x8bG6s6dOz2/79u3T10ul9c4oTxmLpfL8+N2u1P83e12By0ft9udbMxq166tv//+e9D+/uW8vYdgx2q+WsYK1ThORI0QbtatW6eRkZFB+3sVKlTQpUuXqqrqiy++qPny5dPRo0fr119/rWPHjtVChQrpyJEjfYoVFRWlv/76q6qqVq1aVT/66KNky7/44gu9+uqrM5yzVY2CXWtvLPNx2rpZyeh6hcY/VwNABjjtdsGDBw+WCxcuyPvvvy85cuSQV155Rfr06SOrVq3K1LwsOK3WvvDlX8hCecys7iJkNfZ62YnsmzZtkrNnz1qkmC6XX8w1pYu7BltWnGdWTC+kaxQrVOM4UTjXKJznfbAFq9aqKhcuXAhI7JTs2bNHSpUqJSL/nu3z5ptvSocOHUREpGXLlnL11VfLgAEDfDqLK2/evPLnn39KyZIl5eDBg3L11VcnW16+fHn5448/MpyzVY2CXWtvLPNx2rpZyeh60QgDEPacdrvg77//Xj755BO56aabROTfaw4VL15cTp48KTlz5szk7DLGabW2EspjlnRQnFGhOvaqKk2bNvV8VfPUqVPSpk0bz8Vck6xevTpoOYVqrQGkjnkfPMGsdTCbspbNq/bt28sLL7wgn332mdx2223yxhtvyNtvv+1Zn1dffVWuueYak7xDtQHuxH/YcZqMrBeNMABhzYm3Cz5w4ICUK1fO83uRIkUkOjpaDhw4IGXKlAnY3w00J9ba5XLJ8ePHJUeOHJ5/2T1x4oQcO3ZMRMTzX29CdcxERGbPnp3i4/Hx8VK+fHmfrg9hOfZOOwPr8ou03nbbbZmUyb+cOM+sWM1Xy1ihGseJqFHqQnneO00o19qyefXiiy9Ks2bNpGLFilK3bl35+OOP5ZtvvpHy5cvLjh075J9//pF58+YFcG2AtHGxfABhzYm3C46IiJBt27Yly6l48eLy/fffS+nSpZPlkpU4sdZJX29IkvSh6PLffbn4ciiOmYikebDvcrmkU6dO8s4776R5pyHLsfd2O+0kwTwDy0mcOM+sWM1Xy1ihGseJqFHqQnneO41lrb01XdevXy8NGzYM2nvx6NGj0qxZMzly5IineVWoUKErmle1a9f2Kd758+clISFB5syZI7t27ZLExEQpUqSI1KtXTx544AEpXry41xhWNXJarS3zcdq6WQn0ejm/NQ0AAaSqMmzYMJ9vF3zu3LkAZ/RvTuXLl7/isZo1a3r+P6sdpIs4s9aLFi0yiROqYyYikpiYmOLjR48elVWrVslDDz0kzz//vLz44oupxrAce6edgXXmzBmZP3++NG7cWOLi4pItO3bsmCxevFhatGghUVFRQcnHifPMitV8tYwVqnGciBqlLpTnvdNY1jp37txpntF8eZM20OLj4+XHH3/0NK9Kly4tiYmJcu7cObn77rt9bl4liYyMlD59+kifPn3SnZNVjZxWa8t8nLZuVgK9XpwRBiCsOfF2wUuWLPHpeQ0bNgxYDoHgxFpbCdUx88XcuXNlwIAB8ssvv6T6nFAe+3Hjxsns2bNlwYIFKS5v1qyZtGvXTvr27RuUfEK51gBSxrwPHstah/Oxg6+sauS0Wlvm47R1sxLo9aIRBgAA0m3Pnj1StWpVOXHiRFD+ntPOwKpVq5YMGzZM2rRpk+LyL774QoYPHy4rVqwISj4AAGS2FStWyHXXXScREREi8u++8OWXX5YdO3ZIkSJF5L///a907do1k7NEOPPtKn8AAISgiIgIn36Qul27dknRokWD9vfeeustGTdu3BVNMJF/r8Uyfvx4eeedd4KWz/bt26VGjRqpLq9evbps3749aPmEMsv5ahUrVOM4ETUCAmvFihXJLuHwxRdfSMOGDaVYsWJy/fXXy9SpU32OVbduXTl06JCIiMyZM0duu+02KV26tDzxxBNSs2ZN6dmzp8yaNct8HQBfcY0wAHCYpAv5ZuXrSmUVqiqlSpWSbt26ea7nlR7hOmZr166VRx55RG655Zag/c0PPvhAhg0bluryAQMGyPDhw4P2VcQLFy7IwYMHpWTJkikuP3jwoFy4cCEouYQ6q/lqGStU4zgRNUKocdqxQ926deWvv/6SggULypw5c6Rdu3Zy7733yl133SVr1qyRnj17SlxcnLRv395rrEu/dPa///1PhgwZIiNGjPA8VqZMGfnf//7nNZZVjZxWa8t8nLZuVgK9XjTCAMBhdu/endkphI0VK1ZIQkKCjBs3TsqUKSP33XefdO7cWfLkyeNXnFAeszx58qR4PZSTJ0/KhQsXpHnz5vLss88GLR+nnYFVpUoV+fbbb+W6665Lcfn8+fOlSpUqQcsnlFnNV8tYoRrHiagRQo3Tjh2smleX27Ztm4wdOzbZY3fccYe8/PLLXl9rVSOn1doyH6etm5WAr5cCABxj3bp1evHiRZ+fv3HjRj1//nwAMwoPp0+f1vfee0+bNGmiMTExetddd+n8+fN9em2oj9mUKVNS/Jk5c6Zu2rQp6PnExsbqypUrU12+cuVKjY2NDVo+b731lubMmVPnzJlzxbLZs2drzpw59a233gpaPuEgI/M1ULFCNY4TUSOEAiceO7hcLt2/f7+qqhYsWPCKfe0vv/yiuXPn9jnWokWLdN26dVqqVCldsWLFFbG87autauS0Wlvm47R1sxKM9aIRBgAO4na79cCBAz4/Py4uTnfu3BnAjMLPrl27tHHjxup2u/XQoUNen8+YBVft2rV15MiRqS5/8cUXtXbt2kHMSLVz587qcrm0UqVK2q5dO23Xrp1WrFhR3W63durUKai5hBt/52swYoVqHCeiRsiqnHjsYNG8ujSW2+1Wl8ulLpdLx4wZk2z59OnTtXLlymnGsKqR02ptmY/T1s1KMNaLr0YCgIOoqgwbNkxiYmJ8ev65c+cCnFH4+P3332XKlCkyZcoUOXXqlAwePFhy5crl9XWMWXDdd999MmjQIKlSpYrceuutyZbNmTNHXnjhBRk9enRQc3r//felbdu2Mm3aNNm2bZuoqlSoUEGeffZZ6dixY1BzCRfpna+BjBWqcZyIGiGrc+qxQ9OmTT1fkfzhhx/khhtu8Cxbs2ZNqtfDvNzlX2uLjY1N9vu5c+dk6NChacawqpHTam2Zj9PWzUow1sulesmXgQEAmapRo0YpXo8pLdOmTZMiRYoEKKPQdu7cOZk1a5YkJCTId999J61atZL77rtPWrVq5fNdw0J9zJx4EdZ7771Xpk2bJhUrVpQKFSqIiMgvv/wi27Ztk44dO8r06dMzOUMEgsV8tY4VqnGciBohlDjx2OHXX39N9ntsbKzky5fP83vSXSO7du3qNdbx48dTvLvzpZYsWSINGzZMdblVjZxWa8t8nLZuVoKxXjTCAABhK1++fBIXFyfdunWTLl26SMGCBVN8XjifIXD5gXGpUqUyKZPkPvroI5k2bZps375dVFXKly8v99xzD2dghTDL+WoVK1TjOBE1AgLLonmVpFGjRjJv3jyJiopKNc6tt94qx48fT1euQEbRCAMAhC232+35/5T+5clJZ0FlhvXr10vVqlWT1SktmzZtkgoVKki2bOFz5QVfzyAJ1/eQJcv5ahUrVOM4ETUCAsuyeVWtWjUpW7aszJo164pjiKVLl0rr1q2lR48e8uqrr5rkDvgrfI5UAQC4zKJFizI7BUerWbOm7Nu3TwoUKODT8+vWrStr166VsmXLBjgz51BVKVWqlHTr1k1q1qyZ2emENMv5ahUrVOM4ETUCAuvQoUPSsWPHVJtXt9xyi/To0cOnWPPmzZP69etL9+7dPV+pFBH57rvv5NZbb5Vu3brRBEOm4owwAACQIrfbLffff7/PFyt94403ZPPmzQFthDntDKyVK1dKQkKCfPjhh1KmTBm57777pHPnzpInT56g/H0AACz8+eefUr9+falXr94VzatbbrlFunTpIq+//rrP8Xbu3Cn169eXDh06yLhx4+T777+XVq1aSefOnWXChAmBWAXAZzTCAABAipx4EVa32+3TGVi33XZbwHJIyZkzZ+STTz6RyZMny/Lly6VNmzbSs2dPad68eVDzAAAgvaybV+vXr5dGjRpJ27ZtZdasWXLXXXfJ22+/HYDMAf/QCAMAhC0n3hERacsKZ2Dt3r1bevbsKUuWLJGDBw9K3rx5MzulkGA5X61ihWocJ6JGQHBYNK+OHTvm+f8ffvhB2rdvL+3atZO33nor2T+wcVMKZBYaYQCAsOXUOyLCOyeegfX777/LlClTZMqUKXLq1Cnp2rWrPP/882F184BAspyvVrFCNY4TUSMgsCybV0kN5yRJLYekx2hEI7PRCAMAhCXuiBg6MvMMrHPnzsmsWbMkISFBvvvuO2nVqpXcd9990qpVK5+vZwbvLOerVaxQjeNE1AgIPMvm1ZIlS3z6mw0bNkxHpkDG0QgDAISliIgIv+6ImCtXrrC7I6LTOeEMrHz58klcXJx069ZNunTpIgULFkzxeXz9I2Ms56tVrFCN40TUCAg8mlcIJ/zzBgAgLKmqDBs2zOc7Ip47dy7AGcEXKZ2BNXbs2Ew7A+vw4cNy+PBhee655+T555+/Yjlf/7BhOV+tYoVqHCeiRkDg0eBCOKERBgAISw0aNJCtW7f6/Py6detKdHR0ADOCL4oUKeI5A+uNN97wnIF18uTJZM8L1hlYixYtCsrfCXeW89UqVqjGcSJqBGQt3JQCTsdXIwEAQJZx6bV9Lr2WSRIOugEA8J9l84qbUsDpOCMMAABkGZyBBQCAvd27d5vE4aYUyAo4IwwAACCd+PoHACCrs2xecVMKZAW0XQEAANLJ6l/QAQDILDVr1vSreVW3bt1Um1fclAJZAY0wAACQZTjpDCy+/gEACAWWzStuSoGsgK9GAgCALMNJF+Dl6x8AgFDQqFGjFG9Ak5Zp06ZJkSJFApQREFj8kyQAAMgSnHYGFl//AACEgsWLF2d2CkBQcUYYAADIEpx2Bhb/gg4AAJD1cEYYAADIEpx2Bhb/gg4AAJD10AgDAABZAhfgBQAAQEbx1UgAAAAAAACEBd+uNgsAAAAAAABkcTTCAAAAAAAAEBZohAEAAAAAACAs0AgDAAAAAABAWKARBgAAAAAAgLBAIwwAAAAAAABhgUYYAAAAAAAAwsL/A8HQMMQ0XtNmAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, axes = plt.subplots(3, 1, figsize=(15,30)) \n", "ax = axes[0]; hc_comp = plot_nci('Complete', ax)\n", "ax = axes[1]; hc_avg = plot_nci('Average', ax)\n", - "ax = axes[2]; hc_sing = plot_nci('Single', ax)\n" + "ax = axes[2]; hc_sing = plot_nci('Single', ax)" ] }, { @@ -2810,184 +1442,15 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": null, "id": "dc80afc8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:22.073921Z", - "iopub.status.busy": "2023-07-26T00:00:22.073783Z", - "iopub.status.idle": "2023-07-26T00:00:22.084241Z", - "shell.execute_reply": "2023-07-26T00:00:22.083956Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Complete0123
label
BREAST2302
CNS3200
COLON2005
K562A-repro0010
K562B-repro0010
LEUKEMIA0060
MCF7A-repro0001
MCF7D-repro0001
MELANOMA8000
NSCLC8100
OVARIAN6000
PROSTATE2000
RENAL8100
UNKNOWN1000
\n", - "
" - ], - "text/plain": [ - "Complete 0 1 2 3\n", - "label \n", - "BREAST 2 3 0 2\n", - "CNS 3 2 0 0\n", - "COLON 2 0 0 5\n", - "K562A-repro 0 0 1 0\n", - "K562B-repro 0 0 1 0\n", - "LEUKEMIA 0 0 6 0\n", - "MCF7A-repro 0 0 0 1\n", - "MCF7D-repro 0 0 0 1\n", - "MELANOMA 8 0 0 0\n", - "NSCLC 8 1 0 0\n", - "OVARIAN 6 0 0 0\n", - "PROSTATE 2 0 0 0\n", - "RENAL 8 1 0 0\n", - "UNKNOWN 1 0 0 0" - ] - }, - "execution_count": 55, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "linkage_comp = compute_linkage(hc_comp)\n", "comp_cut = cut_tree(linkage_comp, n_clusters=4).reshape(-1)\n", "pd.crosstab(nci_labs['label'],\n", - " pd.Series(comp_cut.reshape(-1), name='Complete'))\n" + " pd.Series(comp_cut.reshape(-1), name='Complete'))" ] }, { @@ -3004,32 +1467,14 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": null, "id": "40ff59f9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:22.086072Z", - "iopub.status.busy": "2023-07-26T00:00:22.085951Z", - "iopub.status.idle": "2023-07-26T00:00:22.546297Z", - "shell.execute_reply": "2023-07-26T00:00:22.545986Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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f//db7jb7Vbjxo39hp1zzjmS/rzUdGGOHDmi1NRUzZgxo8gr1x0+fLjQ4Xl27dolSRoyZEiRNWlpaapevXqx7QTr1PmWN55T58+KFSv02Wefafz48b7zfvLLzc3VlClT9Nprr2nfvn3KycnxPVezZk3f//v379dZZ53lF7okFXify3u+AEBFQgACgDAUHx+vunXr6scff7T0ulO/KBclIiLC0nATwMUNSpK3B+Lmm28u8ot6q1atAmrj+eefL/Ly2FWrVg2+kyUIdP60aNFCqampeuutt3THHXeoUaNGfs8//fTTevjhh3XbbbfpiSeeUI0aNeR2uzVq1Kig9tSU93wBgIqEAAQAYerKK6/UjBkztHr1ar/D1QrToEED5ebmateuXWrWrJlveEpKilJTU9WgQYOQ9i03N1d79+717fWRpJ07d0r68wpqhTn99NNVrVo15eTkqGfPnsW2X1SQO+ussyT9GRBLaqM8nXbaafrggw/UpUsX9ejRQ99++63q1q3re/6DDz5Qt27dNHPmTL/Xpaam6rTTTvM9btCggbZt2yZjjN882b17t9/rKsp8AYBwwDlAABCmxo0bp7i4OP31r39VSkpKgef37NmjKVOmSJIuv/xySfJdSS3PSy+9JEm64oorQt6/V1991fe/MUavvvqqoqKi1KNHj0LrIyIidO211+rDDz8sdM9W/stJx8XFSfozEOTXvn17nXXWWXrhhRd07NixYtsob2eeeaa+/vpreb1eXXbZZfrf//7ney4iIqLAXqP3339fv/76q9+wXr166ddff9Wnn37qG3bixAm98cYbfnUVab4AQHljDxAAhKmzzjpLCxYs0A033KBmzZpp8ODBatmypU6ePKnvvvtO77//vu9eNa1bt9aQIUM0Y8YMpaam6tJLL9W6des0d+5c9e/fX926dQtp36pUqaLFixdryJAh6tChgz7//HN99tlnevDBB3X66acX+bpnnnlGy5YtU4cOHXT77berefPmOnr0qDZu3Kivv/5aR48e9U17YmKipk+frmrVqikuLk4dOnRQo0aN9Oabb6pPnz5q0aKFhg4dqjPOOEO//vqrli1bpvj4eC1atKjE/i9ZskQnTpwoMLx///5q2bJl8DPmFGeffba+/PJLde3aVb169dLSpUsVHx+vK6+8UhMnTtTQoUN10UUXaevWrZo/f36B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ycnRY489pn/+859KTk5W3bp1deutt+qhhx7y/eJijNGjjz6qN954Q6mpqercubNef/11NWnSJNTdAQAAldjyAcvlifQUW+PN9ha6RwiAM4U8AD377LN6/fXXNXfuXLVo0ULr16/X0KFDlZCQoHvuuUeS9Nxzz2nq1KmaO3euGjVqpIcffli9evXStm3bVKVKlVB3CQAAVFKeSI9io2LLuxsAKpCQB6DvvvtOV111la644gpJUsOGDfX2229r3bp1kv7c+zN58mQ99NBDuuqqqyRJ8+bNU+3atbVw4UINHDgw1F0CACCkOAEfACqukAegiy66SDNmzNDOnTt1zjnn6IcfftC3336rl156SZK0b98+JScnq2fPnr7XJCQkqEOHDlq9enWhASgzM1OZmZm+x+np6aHuNgAAAeEEfACo2EIegB544AGlp6eradOmioiIUE5Ojp566ikNGjRIkpScnCxJql27tt/rateu7XvuVJMmTdLjjz8e6q4CIcEvwYCzlPYEfA7XAoDyFfIA9N5772n+/PlasGCBWrRooc2bN2vUqFGqW7euhgwZElSbEyZM0JgxY3yP09PTVa9evVB1GQgavwQDzsYJ+ABQ8YQ8AI0dO1YPPPCA71C28847T/v379ekSZM0ZMgQJSUlSZJSUlJUp04d3+tSUlLUpk2bQtuMiYlRTExMqLsKlBq/BAPOxgn4AFDxhDwAZWRkyO32v71QRESEcnNzJUmNGjVSUlKSlixZ4gs86enpWrt2re66665QdwcoM/wSDAAAEP5CHoD69u2rp556SvXr11eLFi20adMmvfTSS7rtttskSS6XS6NGjdKTTz6pJk2a+C6DXbduXfXv3z/U3QHKDL8EAwAAhL+QB6BXXnlFDz/8sP72t7/p8OHDqlu3ru644w498sgjvppx48bp+PHjGj58uFJTU9WlSxctXryYewABAAAAsFXIA1C1atU0efJkTZ48ucgal8uliRMnauLEiaEePQAAAAAUyV1yCQAAAABUDiHfAwQAQKhxvy0AQKgQgAAAYY37bQEAQolD4AAAYa2099sCACA/9gABACoM7rcFACgtAhAAoMLgflsAgNLiEDgAAAAAjkEAAgAAAOAYBCAAAAAAjkEAAgAAAOAYBCAAAAAAjkEAAgAAAOAYBCAAAAAAjkEAAgAAAOAYBCAAAAAAjkEAAgAA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lpuba/r37+93uV2r9Vb7Y8c5QOURgEI5DYX1x8oyanU9sLvemNKvB3v27DEzZ840t9xyi6lfv75xu91+H/J2r2f52bEtLU19IP0vi/e4LMZhZZqNsbbeOLHe7u8gdn/ehFt9KL7j5N2jpyih/h6FiqtCB6CbbrrJXHnllebAgQPmxRdfNFWrVjXHjh3zPf/BBx+YVq1aBV1vjP03CcuzZMkSM2jQIOPxeIzL5TJjx441O3bsKNX0lnRJ22rVqhX5JSWQ/hTm559/No899php3LixqV+/vvnjjz/8no+IiDAPPvhggROqi/qiZbXe6jRbbf+0004z33//fZHTv27dOnPaaacFXW+1P8Hc08DqPLK73uo0lGa5NqbkZTQ/q+uBXfVWl4vC5O0VGjx4sImPjzcejyfo9oN5D8LphotluW0MZltqxzjKcr1xSr3d30Hs/rwJt/pgvqPlefPNN02LFi189+hp0aKFeeONNwrUlWYc2dnZ5v333/fdbPWDDz4ocAuHuXPnBvQXrvWnSklJMStXrjQrV64s8XP666+/NldccYVp3Lixady4sbniiivMV199Var5E4ppKEqFPgfoqaee0mWXXaYGDRooIiJCU6dO9TtO8a233lL37t2Drv/b3/6mmTNnqlu3blq/fr3atGlTbH+s1ufXvXt3de/eXWlpaZo/f75mzZqlF154QS1bttSWLVuC6v/kyZMDHn8w/SmM2+2Wy+WSMcZ3zGd+TzzxhGbPnq233npLN954o2655ZZiTyi0Wm91mq22/8cff6h27dpFPp+UlKQ//vgj6Hqr/TElHKu+fft2zZw5Uy+88IJvmNV5ZHe91WkozXItlbyM5md1PbCr3upyIUkHDhzQ8uXLtWzZMi1fvlz//e9/ddFFF+niiy/Wv/71L3Xo0CHo9q2+B3ZvS63Wl+W2MZhtqR3jKMv1xin1dn8HsfvzJtzqrc6fPI888oheeukl3X333erUqZMkafXq1Ro9erQOHDigiRMnlnocP/30k/r166fk5GSde+65kqRnn31Wp59+uhYtWuTbXt56662qWrWqIiMji/xsc7lcGjx4cFjW50lPT9eIESP0zjvv+Jb/iIgI3XDDDZo2bZoSEhL86l977TXde++9uu6663TvvfdKktasWaPLL79cL7/8skaMGBF0f4KdhhJZjkxhJisry2zevNn8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crlc2rt3r+X+BDMNJSrVAXTlrEqVKubmm282ixcv9jtJsbgbiVqpv+CCC8ynn35a5PgXLVpkLrjggqDrT/XPf/7TNG7c2NSpU8dMmzatwEnLVvufkJBgVq9eXeT4Vq9eXezxsSX151S///67+f777833339vfv/990JrGjZsWOJfo0aNgq63Os1W2y9Jae+JE0x/8s6bqVq1qmnXrp156aWXTGRkpNm2bVuh47Q6j+yutzoNpVmuA1lGT2V1PbCj3upykZKSYt59911z1113maZNmxq3221iYmLMxRdfbB555BGzbNkyc+LEiaDbt/oe2L0ttVpf1ttGq/V2jKMs1xun1Nv9HaQkZX3PNrvrQz1/ChPsOJYvXx7Q36OPPmp69+5tPB6P6d+/v/nkk08K3F4gv3fffTes6vMEel6l1fPag+lPsNNQkgodgM4991zTsGFD8+CDD/qdKF3Ugmy1PjEx0ezfv7/I8e/fv98kJiYGXZ/n888/N61btzbx8fFm4sSJftekL03/u3btasaPH19kf8aNG2e6du0adH/y7Nu3z1x++eUmIiLCuN1u43a7TUREhLniiivMvn37in1tqAU7zaFi9wdGcf744w8zY8YM35XTunbtambMmGEOHz7sV2d1Htldb3Uagmk/mGXU6npgd70VLpfLREdHm4suusj8/e9/N19//bXJyMgIWftW3wO7t6VW68tq2xjMe2zXOMpivXFavd3fQUoS7oHGan1p58+uXbvM4sWLfdu6wi78Eur34FQul8s0aNDAPPjgg2bKlClF/oVrfWllZmaa//znP0X+YBNMf+yahgodgIyx/uu3lfqqVaua9evXFznu9evXm6pVqwZdv3btWtO1a1dTpUoVM2rUqICuOmOl/x988IGJjIw0r7zyil9azs7ONlOnTjVRUVHm/fffL1V/Dhw4YGrXrm3OPPNM8/TTT5uPP/7YfPzxx+app54yZ555pklKSjIHDx4ssZ38fvnll6DrrU5zqPtTFgEof38ef/xxc/z48QI1eVeyqVWrlomMjPR7zuo8srve6jRYbd/qMmp1PbC7PlD5l4vFixeHNFCd2r7V98DubanVeru3jcG8x3aPw+71xmn1eez8DlKScA80wdQHM3/++9//mu7duxuXy2XcbrfvJshDhw41Y8aMKVAf7HuwcuVKM2jQINOpUyff9nDevHl+V0tr0KCBpb3p4Vaf3++//27eeOMN88ADD/guDb5hw4ZCvxMdP37c3HbbbSYiIsJERET43oORI0eaSZMmlao/pZmG4lToc4DyO3bsmN5++23Nnj1ba9as0aWXXqqbbrpJ/fv31+mnnx5UfceOHXX11Vdr/PjxhY5z0qRJ+uSTT7RmzZqg6t1utzwej4YPH17s8ZOnnjBmZXr//ve/a9KkSapWrZoaN24sSdq7d6+OHTumsWPH6plnnvHVBtOfYcOGaffu3friiy8KXMnF6/Wqd+/eatKkid58880i28uTnJysp556SjNnzlRGRkbQ9VamOZT9kaQffvhB7dq1C/gEdiv1hfUnIiJCv/32m2rVqlXoa7Kzs/Xpp5/qmmuu8RtudR7ZWR/MNFhp3+oyanU9sLu+JCUtp1u2bPE7+bhVq1YBtVtS+1beA7u3pVbrrfa/LN7jshiHneuN0+pPZcd3kJLY+XlT3vVW5s/gwYN1+PBhvfnmm2rWrJl++OEHNW7cWF988YXGjBmjn376qdDxWxnHhx9+qFtuuUWDBg3SW2+9pW3btqlx48Z69dVX9e9//1v//ve/A5rmimLLli3q2bOnEhIS9PPPP2vHjh1q3LixHnroIR04cEDz5s3zq7/33nu1atUqTZ48Wb1799aWLVvUuHFjffLJJ3rssccsXXiqrFSaAJRf3p3j33rrLR09elRZWVlB1c+YMUNjxozRO++8oyuvvNLvNYsWLdKNN96ol156ScOHDw+qvmHDhgFdxnTv3r2lmt5169Zp/vz52r17t4wxOuecc3TTTTfpwgsv9KsLpj9nnHGG3n33Xb8roOS3cuVKDRw4UIcOHZIk/f777/rb3/6mr776StHR0XrggQc0cuRIPfbYY3rhhRfUqlUrjR49WjfccENQ9Van2Wr7pwaJU6WmpmrFihW+DbrVeqv9cbvdSk5OLjI8FCfQeWR3fbDTEGj7VpdRq+uB3fVScOvBunXrNGzYMG3bts3vZN0WLVpo5syZuuCCC0rVft44AnkP7N6WWq232v+yeI/LYhySfeuN0+qLE6rvIHZ/3oRbfVFKmp9JSUn64osv1Lp1a1WrVs0XgPbu3atWrVrp2LFjxbYfyDjatm2r0aNHa/DgwX7j2LRpk/r06aPk5OQSx1GR9OzZU+3atdNzzz3nN73fffedbrrpJv38889+9Q0aNNC7776rjh07+tXv3r1b7dq1C8uLq1TKAJSnqF+/rdTffPPNWrBggZo2bapzzz1X0p/319i5c6cGDBigt99+268Nq/WhZHV6QyEmJkZ79uzRmWeeWejzv/zyi84++2ydOHFCknTHHXdo8eLFuv766/XFF19o27Zt6tWrl9xutx566CHf5SXzWK23ymr7Q4cODajdvEulWq232h+3262UlJSAfzEMR3ZPg9VlNBxZXS62bdumDh06qFmzZho9erSaNWvmG/7yyy9rx44dvvtdBNN+MOzelpbntrcysrreOK0+EKX9DmL350241ZekqPlZrVo1bdy4UU2aNPH78r1+/Xr16tVL//vf/wJqv7hxxMbGatu2bWrYsGGBkNW8eXPfcnH55Zfr7bffVkJCgiTpmWee0Z133qnExERJ0v/+9z9dfPHF2rZtW1jW50lISNDGjRt11lln+U3v/v37de655xZYD2JjY/Xjjz+qcePGfvU//PCDLrnkEqWlpQXdn2CnoUSWD5oLI++++67JzMz0PT548KDfVT2OHz9unn322aDr87/uqquuMs2bNzfNmjUzV111lXn33XeL7ZeV+kBZ7f+RI0fMzz//7NfGjz/+aG699VZz/fXXm/nz55e6Tw0aNDBffPFFkc9//vnnpkGDBr7H9erVM0uWLDHG/HnCqcvlMhMmTCjy9VbrrU6z1fbtZrU/LpfLJCYmmurVqxf7l5/VeWR3vdVpsNq+1WU0HFldLq6//npz9dVXF3oScG5urunfv7+5/vrrg24/2G2L3dvSQOvLYtsYbuxeb5xWb0zZfQdximDnT58+fcxDDz1kjPnzfMC9e/eanJwcc/3115trr702JONo1KiR+eqrr3zjyDvHZe7cuaZZs2a+OrfbbVJSUnyPq1Wr5qs1xpjk5GS/857CrT7P6aefbjZu3Fhger/88ktz5plnFqi/+OKLzdSpU331e/fuNcb8eQ5Qr169StWfYKehJBU6AJXVgmCXPn36mNTUVN/jSZMm+V1y87///W+pVqyBAwf6nQCYkpJiqlevblq0aGH69etnoqKizLx584LujzHG3Hvvvea8884rcKWxvPG1atXK3Hvvvb5hERER5tChQ77HHo+n2CuvWK23Os1W28/PjkurWu2Py+UyU6ZMMXPmzCn2Lz+r88jueqvTYLV9q8uo1fXA7npjrC8Xp512mvn++++LfH7dunXmtNNOC7p9q+9BuLF72xjMe2z3OOxeb5xWb0zZfgcJl0t/21kf7PzZunWrqVWrlundu7eJjo421113nWnWrJmpXbu22b17d0jG8fTTT5vmzZubNWvWmGrVqplvvvnG/POf/zSnn36674u/MX9+nuVvP394KKz9cKvPM2zYMNO/f39z8uRJX6DZv3+/adu2bYH1wBhjvvnmG1O1alVz5513mipVqph7773XXHbZZSYuLs7vAjXB9CfYaShJhQ5AZbUg2MXqimi1/w0bNjTLly/3PX7++efNWWed5bs84fPPP286dOgQdH+MMebo0aOmSZMmplq1auauu+4yU6ZMMZMnTzZ33HGHqVatmmnSpInv6iF548j/AZP/l4Ki5pGV+mCm2Ur7xth7aVWr/Tl1mQiE1Xlkd73VabDafjDLaLj9Imd1uYiJiTEHDhwo8vkDBw6YmJiYoNu3+h6EG7u3jWXxK6fVervXG6fVG1M230HC7dLfdtaX5jtaamqqefLJJ831119v+vTpY/7+97/7/ahT2nHk5uaaJ5980sTFxRmXy2VcLpepUqWKb89TsO2HW32e1NRU07NnT5OYmGgiIiJMvXr1TFRUlLnkkkuKvMLonj17zF//+ldzwQUXmGbNmplBgwaZLVu2lGr+lGYaShJp7YA5Z3G73XK5XH539w1lvTnl9KtTH5dWcnKyGjZs6Hu8dOlSXXPNNYqM/PNt79evnyZNmlSq/lSvXl1r167Vgw8+qHfeeUepqamSpMTERN100016+umnVaNGDb82e/To4euD1+tV3759FR0d7dfuxo0bg6oPZpqttH/w4EF17NhRUVFReuKJJ/zOrXj99dfVqVMnff/9977jyK3WW+1PSSdBF8bqPLK73uo0WG0/mGU0v5LWA7vr82qsLBcNGjTQunXrVK9evULbW7t2rRo0aBB0+1bfA7u3pVbr7d42Bvse2zkOu9cbp9WXBbs/b8KtPhhZWVnq3bu3pk+frr///e9Bt1OcnJwcrVq1SiNGjNDYsWO1e/duHTt2TM2bN1fVqlX9al0uV4HPtOI+48KtPk9CQoK++uorrVq1Sj/88IOOHTumdu3aqWfPngVqs7KydMcdd+jhhx/WG2+8UWy7wfQn2GkoCQGoGPv27bO13m7x8fFKTU31fdHJuypUHpfLpczMzFKPp3r16nr99df12muv6ciRI5Kk008/vdAF9NFHH/V7fNVVVxXbttV6q9Nstf3HHntM5557boFLpfbv31+jR49W79699dhjj/kulWq13mp/ggnNVueR3fVWpyGY5drKMhqOrC4XAwcO1JgxY3TuueeqZcuWfs9t3bpV999/vwYPHhx0+1bfA7u3pVbry2rbGE7KYr1xWr3d7P68Cbf6YERFRWnLli1Bvz4QERER+stf/qLt27crMTHRd/GYwhhjdOuttyomJkaSdOLECd15552Ki4uTpALrWLjVS38GGo/Ho82bN6tz587q3LlzsfMnKipKH374oR5++OFi64LtTzCvCUSFD0BffPGF78oQubm5WrJkiX788UdJ8v2CE0z9li1b1LJlS7nd7oD68dFHH+nKK68s8ItpUX766aegUq2V6e3YsaOmTp2qN954Qx999JH++OMPde/e3ff8zp07/X4hLm3KdrlcJV7K+NQvWiWxWm91mq22v3jxYr377rsF7hMhSR6PR0888YQGDhwYdL3V/uTm5hY6fP/+/Tp+/LiaNm1aYBm2Oo/srrc6DVbbzy+QZTQcf5GzulxMmDBBX3/9tdq0aaPLLrtMzZo1kzFG27dv19dff60LL7xQDz74YNDtW3kP7N6WBrPt7dChg63bxrL4ldNqvd3rjVPr7foOItn/eRNu9ZL1+Sn9eQXImTNnBnyPv2DG0bJlS+3du7fYe25Jf96TKP96ePPNNxdaE6710p+Bpn79+gHfz0n6M9QuXLhQo0ePLrYumP4E85pAVOjLYAfygZr/cAgr9REREUpOTg740rwul0vr1q3zu7dGceLj43Xs2DH16dPHl2oXLVqk7t27+6XaxYsXB9V/6c8vHj169FB6erqys7P14IMP6oknnvDV3nLLLYqLi9P06dN97VvpjyR169YtoA/2JUuWlNj39PR0zZ8/XzNnztT69euDqrc6zVbbL89LqxbWn1mzZik1NVVjxozx1Q0fPlwzZ86UJN+vb/m/2FidR3bXW50Gq+1bXUatrgd215ekqPXm5MmTevnll/X222/73Qh14MCBGj16tG/8wbRv5T2we1sazLb3nXfe0ZAhQ2zbNgbzHts9DrvXG6fVS/Z+B5HC79LfdtdbnT957r77bs2bN09NmjRR+/btfetAnpdeesn3f7DjWLx4sSZMmKAnnnii0HHEx8eX2G6eY8eOFTh0LtzqZ86cqY8++khvvfVWQId+Pvnkk3rxxRfVo0ePQudPoDf2Lqo/drymQu8BKuqX41DUG2P08MMPKzY2NuDXvPzyy0pKSgqo9uTJk7rmmmtUrVo137CSUq3V6W3VqpW2b9+uVatWKSkpSR06dPB7fuDAgX67cocMGeL3fCApu02bNkWO/48//tCCBQtK3D25bNkyzZo1Sx999JESEhJ09dVXB11vdZqttl+nTh1t27atyA36jz/+6LcMWK232p8ZM2bojjvu8D1evHixZs+erXnz5qlZs2YaOXKkHn/8cb9DDKzOI7vrrU6D1fatLqNW1wO764tS0noTHR2t8ePHa/z48SW2ZbV9K++B3dtSq/UnT55U06ZNbd02BvMe2z0Ou9cbp9VL9n4Hkez/vAm3eqvzJ3877dq1kyTfjz15Tg21wY7j8ssvl/TnuXL52zz1vMOXX3652L0gf/zxh3r37q1Vq1aFZX2eV199Vbt371bdunXVoEGDAoEm73zQPDNnzlRiYqI2bNigDRs2+D3ncrl8ASiY/gQ7DSWp0HuAAuH1euXxeCzXd+3a1dLhX5s2bVKLFi0CPgxDkhYsWKA6deoEXB8Iq9Nrh+zsbE2bNk1PPfWUEhISCt3N/euvv2rOnDmaPXu2UlNT9fvvv2vBggUaMGBAofPdar1VgbY/atQoLV26VEuWLCnwi/bhw4d12WWXqVu3bpo8eXJQ9Vb7U7NmTS1fvlznnXeeJOmuu+7SkSNH9MEHH0iSli9frqFDh4bd+Wn5lcc0BLKMhqNwWQ+ssHtbGi7bXiewut44rb4wwX4Hkez/vAm3eqvzxy6FjWPFihXFvubSSy+V9Oehff/4xz8K/RHr2LFjvhuz/uc//wnL+jyPP/54sdNr9bDpPMH0J9hpKEmlDUCZmZl69dVX9fzzzys5OTnk9WXlgw8+0HXXXVdiXWH9nzdvXkDjsHLsZEn9mT9/vh555BF5vV499NBDGj58uO8qQ5L04YcfaubMmVq5cqX69Omjm2++WX369FFcXJx++OGHAntnrNZbnWar7f/+++/q0KGDkpOTdfPNN6tp06a+cysWLFigpKQkrVmzxrfL2Gq91f7ExsZq+/btvhObW7durWHDhvl+bTlw4IDOPfdceb3eoOeR3fVWp6G0y3VJy2ggAl0vQ1Vvdblo1KhRQIfz7NmzJ6j27di2lKXy2DaWtr604yjr9cZp9acKxXcQuz9vwq0+FPPz7bffVr9+/QrssQhEKL4HfvDBB7rlllv07rvvql+/fr7hx48fV69evXT48GGtWLHC9wNMuNWHwqpVq3T++ecXeph1MP2xbRosXzg7jJw4ccI88MADpn379qZTp07m448/NsYYM2vWLFOnTh1z5plnmmeeeSbo+rKQlZVltm7danbs2OE3fOHChaZVq1YmOjraN8xq/xMTE4v8q169uomOji5w7XQr/cnv888/N61btzbx8fFm4sSJRV4nPiIiwjz44IMmPT3db3hkZGShN160Wm91mq22b8yf94u48847TfXq1X33A6hevbq54447Ctwnwmq91f40bdrUfPjhh8aYP+/0HhER4XfTsbVr15ratWuXah7ZXW91GoJZro0JfBk1xvp6YHe91eVi8uTJRf6NGjXKeDyeUq0Hwb4H4aIsto3BbEvtHEdZrDdOqy+L7yB2ft6EW30ovqOdej+sU4ViHC1btiz2PmtvvPGGiY2NNcuWLTPGGHPs2DHTpUsXc/bZZ5tff/017OtPddddd5kjR46UWJenpPcgmP6UdhoKU6ED0Lhx40xCQoK59tprTZ06dUxkZKS5/fbbzXnnnWfefvttk52dXap6u23dutU0aNDAd3Owq6++2iQnJ5tLLrnE1KhRw4wfP94cPHgw5P0/dOiQueOOO0xUVJTp1atX0P0x5s8vp127djVVqlQxo0aNKnElGT58uElISDAXXXSRef31183Ro0eNMUV/0bJab3WaS9N+bm6uSUlJMSkpKSY3N7fEPgRSb7U/kyZNMklJSWbixImma9eupkWLFn7Pv/zyy6ZHjx4l9s2YoueR3fWhmoai2re6jFpdD+yuNyY068H//vc/M2rUKBMTE2MuueQSs3r16pC2b4z1ZSLchGrbGMx7XBbjsDLNVtcbp9UbU7bfQez4vAm3+lB8xzn1JpnlMQ5jjHn22WdNfHy8WbZsmbn44otN48aNi10fw60+v5ICzansmD+lnYbCVOgA1KhRI/PJJ58YY/78MHC5XGbo0KFFrlxW6+12+eWXmx49ephFixaZm266ybhcLtO0aVPz/PPPm4yMjAL1pe1/enq6+fvf/26qVq1qOnToYJYuXVqq/hjz5x16Y2NjzahRo8yUKVOK/Msv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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = plt.subplots(figsize=(10,10))\n", "plot_nci('Complete', ax, cut=140)\n", - "ax.axhline(140, c='r', linewidth=4);\n" + "ax.axhline(140, c='r', linewidth=4);" ] }, { @@ -3053,104 +1498,16 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": null, "id": "1587e83b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:22.548198Z", - "iopub.status.busy": "2023-07-26T00:00:22.548069Z", - "iopub.status.idle": "2023-07-26T00:00:22.853325Z", - "shell.execute_reply": "2023-07-26T00:00:22.852477Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
K-means0123
HClust
028390
17000
20008
30900
\n", - "
" - ], - "text/plain": [ - "K-means 0 1 2 3\n", - "HClust \n", - "0 28 3 9 0\n", - "1 7 0 0 0\n", - "2 0 0 0 8\n", - "3 0 9 0 0" - ] - }, - "execution_count": 57, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "nci_kmeans = KMeans(n_clusters=4, \n", " random_state=0,\n", " n_init=20).fit(nci_scaled)\n", "pd.crosstab(pd.Series(comp_cut, name='HClust'),\n", - " pd.Series(nci_kmeans.labels_, name='K-means'))\n" + " pd.Series(nci_kmeans.labels_, name='K-means'))" ] }, { @@ -3178,188 +1535,10 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": null, "id": "b09ceeab", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:22.858440Z", - "iopub.status.busy": "2023-07-26T00:00:22.857966Z", - "iopub.status.idle": "2023-07-26T00:00:23.400383Z", - "shell.execute_reply": "2023-07-26T00:00:23.400050Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Complete-PCA0123
label
BREAST0502
CNS2300
COLON7000
K562A-repro0010
K562B-repro0010
LEUKEMIA2040
MCF7A-repro0001
MCF7D-repro0001
MELANOMA1700
NSCLC8100
OVARIAN5100
PROSTATE2000
RENAL7200
UNKNOWN0100
\n", - "
" - ], - "text/plain": [ - "Complete-PCA 0 1 2 3\n", - "label \n", - "BREAST 0 5 0 2\n", - "CNS 2 3 0 0\n", - "COLON 7 0 0 0\n", - "K562A-repro 0 0 1 0\n", - "K562B-repro 0 0 1 0\n", - "LEUKEMIA 2 0 4 0\n", - "MCF7A-repro 0 0 0 1\n", - "MCF7D-repro 0 0 0 1\n", - "MELANOMA 1 7 0 0\n", - "NSCLC 8 1 0 0\n", - "OVARIAN 5 1 0 0\n", - "PROSTATE 2 0 0 0\n", - "RENAL 7 2 0 0\n", - "UNKNOWN 0 1 0 0" - ] - }, - "execution_count": 58, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqYAAAMJCAYAAADRRvQQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACrvUlEQVR4nOzdd3gUVfv/8c+mNxKaJNIRUDqiAlKlKUVBlCIKgljAAo+ACqIPKCiiPhYsKCpNVBRRxA4qXZoUaYIUpaoJSosk9JzfH/yy32yy2Z1NJsmEvF/XtRdk995zzpydnbl3yjkuY4wRAAAAUMCCCroBAAAAgERiCgAAAIcgMQUAAIAjkJgCAADAEUhMAQAA4AgkpgAAAHAEElMAAAA4AokpAAAAHIHEFAAAAI5AYgrYrHLlyrrjjjsKuhl+3XHHHapcuXJBN6NQcHpfTZ8+XS6XS3v27CnopgBArpCYAj6k7/DXrl3r9fVWrVqpTp06+dwq35KTkzVmzBjVr19fMTExioyMVJ06dTRixAj9+eef+daON954Q9OnT8+3+nKjcuXKcrlcXh8nT560vb4VK1boySef1NGjRy3F33HHHdm2b968eba3LxCbN29W9+7dValSJUVERKhcuXK69tpr9dprrxVouwJx5swZlS5dWs2bN882xhijChUq6IorrrC17j///FNPPvmkNmzYYGu5QGEVUtANAC4027dvV1BQwfzm+/3339WuXTvt27dPPXr00IABAxQWFqZNmzZpypQp+uyzz7Rjx458acsbb7yh0qVLF4qjx5J0+eWX66GHHsryfFhYmN555x2lpaXZVteKFSs0ZswY3XHHHSpevLil94SHh2vy5MlZnq9fv76uvfZa9erVS+Hh4ba10YoVK1aodevWqlixou655x4lJCRo//79WrVqlV555RUNHjw4X9uTU6GhoerRo4feeust7d27V5UqVcoSs3TpUh04cEBDhw61te4///xTY8aMUeXKlXX55ZfbWjZQGJGYAjazMzk4e/as0tLSFBYWZin25ptvVlJSkhYvXpzl6M+4ceP03HPP2da2C025cuXUp08fr69Z+aERyGeVEyEhIdm2T5KCg4PzpF5fxo0bp7i4OK1ZsyZLgn3w4MF8bUtqaqqioqJy/P7evXtr0qRJ+vDDD/Xoo49meX3mzJkKCgpSr169ctPMfJOSkqLo6OiCbgYQME7lAzbzdo3p0aNHNWTIEFWoUEHh4eGqVq2annvuOY+jcHv27JHL5dILL7ygCRMmqGrVqgoPD9fWrVst1fvpp59q48aNevzxx72ekoyNjdW4ceOyff/ixYvlcrm0ePFij+fT25XxtHxiYqL69++v8uXLKzw8XBdffLFuvPFG9zWOlStX1i+//KIlS5a4Tzm3atXK0nJk9sYbb6h27doKDw9X2bJl9cADD2Q5BZ5+ScXWrVvVunVrRUVFqVy5cnr++edzVGdmma8x9fdZvfbaa6pdu7aioqJUokQJXXXVVZo5c6Yk6cknn9QjjzwiSapSpYq7f3JzfWjma0xvuOEGXXLJJV5jmzRpoquuusrjuffff19XXnmlIiMjVbJkSfXq1Uv79+/3W+9vv/2m2rVrez3qW6ZMmSzPvf/++2rUqJG7X1q2bKnvvvvOIyaQz3vdunVq2bKloqKi9Nhjj0mSTp06pSeeeELVqlVTeHi4KlSooOHDh+vUqVM+l6VZs2aqXLmy+3PK6MyZM/rkk0/UunVrlS1bVpL066+/qnv37ipZsqQiIiJ01VVX6Ysvvsjy3qNHj2ro0KGqXLmywsPDVb58efXt21f//POPFi9erIYNG0qS+vfv714XMn7XZs+e7f5sSpcurT59+uiPP/7wqOOOO+5QTEyMfvvtN3Xq1EnFihVT7969JUk7d+5Ut27dlJCQoIiICJUvX169evXSsWPHfPYHUFA4YgpYcOzYMf3zzz9Znj9z5ozf96ampuqaa67RH3/8oYEDB6pixYpasWKFRo4cqb/++ksTJkzwiJ82bZpOnjypAQMGKDw8XCVLlrTUxvSd4u23324pPje6deumX375RYMHD1blypV18OBBff/999q3b58qV66sCRMmaPDgwYqJidHjjz8uSYqPjw+4nieffFJjxoxRu3btdN9992n79u168803tWbNGi1fvlyhoaHu2CNHjqhDhw66+eab1bNnT33yyScaMWKE6tatq44dO/qt68yZM1k+46ioKJ9H4bx9Vu+8847+85//qHv37nrwwQd18uRJbdq0SatXr9Ztt92mm2++WTt27NCHH36ol19+WaVLl5YkXXTRRX7bmLl9oaGhiouLyxJ3yy23qG/fvlqzZo078ZGkvXv3atWqVfrf//7nfm7cuHEaNWqUevbsqbvvvlt///23XnvtNbVs2VI///yzz0sNKlWqpJUrV2rLli1+r7UeM2aMnnzySTVt2lRjx45VWFiYVq9erYULF+q6666TFNjnfejQIXXs2FG9evVSnz59FB8fr7S0NHXp0kU//vijBgwYoJo1a2rz5s16+eWXtWPHDs2dOzfb9rlcLt1222165pln9Msvv6h27dru1+bNm6fDhw+7k71ffvlFzZo1U7ly5fToo48qOjpaH3/8sbp27apPP/1UN910kyTp+PHjatGihbZt26Y777xTV1xxhf755x998cUXOnDggGrWrKmxY8dq9OjRGjBggFq0aCFJatq0qaTzPzj69++vhg0bavz48UpKStIrr7yi5cuXZ/lszp49q/bt26t58+Z64YUXFBUVpdOnT6t9+/Y6deqUBg8erISEBP3xxx/66quvdPToUa/rDlDgDIBsTZs2zUjy+ahdu7bHeypVqmT69evn/vupp54y0dHRZseOHR5xjz76qAkODjb79u0zxhize/duI8nExsaagwcPBtzWBg0amLi4OMvx/fr1M5UqVXL/vWjRIiPJLFq0yCMuvV3Tpk0zxhhz5MgRI8n873//81l+7dq1zTXXXGO5PZkdPHjQhIWFmeuuu86cO3fO/fzrr79uJJmpU6e6n7vmmmuMJDNjxgz3c6dOnTIJCQmmW7dufuuqVKmS18/2iSeeMMZk7Stfn9WNN96YZZ3I7H//+5+RZHbv3u23ben1e2tfev+mr6fp5R07dsyEh4ebhx56yKOc559/3rhcLrN3715jjDF79uwxwcHBZty4cR5xmzdvNiEhIVmez+y7774zwcHBJjg42DRp0sQMHz7czJ8/35w+fdojbufOnSYoKMjcdNNNHp+lMcakpaUZY3L2eU+aNMmjrPfee88EBQWZZcuWeTw/adIkI8ksX77c5/L88ssvRpIZOXKkx/O9evUyERER5tixY8YYY9q2bWvq1q1rTp486bEcTZs2NdWrV3c/N3r0aCPJzJkzJ0td6cu9Zs0aj+9XutOnT5syZcqYOnXqmBMnTrif/+qrr4wkM3r0aPdz6evHo48+6lHGzz//bCSZ2bNn+1xuwEk4lQ9YMHHiRH3//fdZHvXq1fP73tmzZ6tFixYqUaKE/vnnH/ejXbt2OnfunJYuXeoR361bN0tHzzJLTk5WsWLFAn5foCIjIxUWFqbFixfryJEjeVbPDz/8oNOnT2vIkCEe13jec889io2N1ddff+0RHxMT43ENZlhYmBo1aqTff//dUn2NGzfO8vn27dvX53u8fVbFixfXgQMHtGbNGkv1WhUREZGlfS+++KLX2NjYWHXs2FEff/yxjDHu52fNmqWrr75aFStWlCTNmTNHaWlp6tmzp8e6mZCQoOrVq2vRokU+23Tttddq5cqV6tKlizZu3Kjnn39e7du3V7ly5TxOa8+dO1dpaWkaPXp0lut1XS6XpMA/7/DwcPXv39/judmzZ6tmzZqqUaOGx/K0adNGkvwuT61atdSgQQN99NFH7udSUlL0xRdf6IYbblBsbKwOHz6shQsXqmfPnvr333/ddRw6dEjt27fXzp073afaP/30U9WvX999BNXbcmdn7dq1OnjwoO6//35FRES4n7/++utVo0aNLP0hSffdd5/H3+lHROfPn6/U1FSf9QFOwal8wIJGjRpluS5PkjvZ9GXnzp3atGlTtslm5ptEqlSpkqM2xsbGWk7CciM8PFzPPfecHnroIcXHx+vqq6/WDTfcoL59+yohIcG2evbu3StJuuyyyzyeDwsL0yWXXOJ+PV358uWz7OxLlCihTZs2WaqvdOnSateuXUBt9PZZjRgxQj/88IMaNWqkatWq6brrrtNtt92mZs2aBVR2ZsHBwQG175ZbbtHcuXO1cuVKNW3aVL/99pvWrVvncenIzp07ZYxR9erVvZaR8dR5dho2bKg5c+bo9OnT2rhxoz777DO9/PLL6t69uzZs2KBatWrpt99+U1BQkGrVqpVtOYF+3uXKlctyo9nOnTu1bds2y981b3r37q2HH35YK1asUNOmTTV37lylpqa6T+Pv2rVLxhiNGjVKo0aNyraecuXK6bffflO3bt381ulNdv0hSTVq1NCPP/7o8VxISIjKly/v8VyVKlU0bNgwvfTSS/rggw/UokULdenSRX369OE0PhyLxBTIY2lpabr22ms1fPhwr69feumlHn9HRkbmqJ4aNWro559/1v79+1WhQoWA35/dEZxz585leW7IkCHq3Lmz5s6dq/nz52vUqFEaP368Fi5cqAYNGgRctx2yuys94xFDu3n7rGrWrKnt27frq6++0rx58/Tpp5/qjTfe0OjRozVmzJg8a0tmnTt3VlRUlD7++GM1bdpUH3/8sYKCgtSjRw93TFpamlwul7799luv/RcTE2O5vrCwMDVs2FANGzbUpZdeqv79+2v27Nl64oknbFmezLz1fVpamurWrauXXnrJ63usfC9uvfVWDR8+XDNnzlTTpk01c+ZMlShRQp06dXLXIUkPP/yw2rdv77WMatWqWV0M24SHh3sdPeLFF1/UHXfcoc8//1zfffed/vOf/2j8+PFatWpVlkQWcAISUyCPVa1aVcePHw/4aFygOnfurA8//FDvv/++Ro4cGfD7S5QoIUlZ7oDOfKQqXdWqVfXQQw/poYce0s6dO3X55ZfrxRdf1Pvvvy/J/6lKf9LHkty+fbvHHeanT5/W7t2787w/cyM6Olq33HKLbrnlFp0+fVo333yzxo0bp5EjRyoiIiLXfWO1DTfccINmz56tl156SbNmzVKLFi3cd5VL5z9DY4yqVKmS5QdSbqSfXfjrr7/c9aSlpWnr1q3ZjtVpx+ddtWpVbdy4UW3bts1xH5ctW1atW7fW7NmzNWrUKH3//fe644473Edn09sWGhrqt01Vq1bVli1bfMZk186M/ZF+KUK67du3ex1rNTt169ZV3bp19d///lcrVqxQs2bNNGnSJD399NOWywDyC9eYAnmsZ8+eWrlypebPn5/ltaNHj+rs2bM+3//PP//o119/9XuNWPfu3VW3bl2NGzdOK1euzPL6v//+675D3ptKlSopODg4yzWvb7zxhsffqampWWZDqlq1qooVK+YxJE90dLTXmY3OnDmjX3/91Z20ZKddu3YKCwvTq6++6nHUc8qUKTp27Jiuv/56n+8vKIcOHfL4OywsTLVq1ZIxxj2KQ/r4klZnfsqpW265RX/++acmT56sjRs36pZbbvF4/eabb1ZwcLDGjBmT5ciyMSbLsmS2aNEir0ekv/nmG0n/dxq6a9euCgoK0tixY7NMVJD+fjs+7549e+qPP/7QO++8k+W1EydOKCUlxW8Z0vnT+QcPHtTAgQN15swZ92l86fwwWK1atdJbb73ldR3++++/3f/v1q2b+/KGzNKXMbt14aqrrlKZMmU0adIkj+/Vt99+q23btlnqj+Tk5Czbl7p16yooKMjv8FlAQeGIKZDHHnnkEffNE3fccYeuvPJKpaSkaPPmzfrkk0+0Z88e95BB3rz++usaM2aMFi1a5HMs0NDQUM2ZM0ft2rVTy5Yt1bNnTzVr1kyhoaH65Zdf3KcksxvLNC4uTj169NBrr70ml8ulqlWr6quvvspyXd6OHTvUtm1b9ezZU7Vq1VJISIg+++wzJSUleQw+fuWVV+rNN9/U008/rWrVqqlMmTJq06aN/vjjD9WsWVP9+vXzOWXpRRddpJEjR2rMmDHq0KGDunTpou3bt+uNN95Qw4YNfQ42X5Cuu+46JSQkqFmzZoqPj9e2bdv0+uuv6/rrr3ffnHbllVdKkh5//HH16tVLoaGh6ty5s+0DoqePafnwww8rODg4y/WOVatW1dNPP62RI0dqz5496tq1q4oVK6bdu3frs88+04ABA/Twww9nW/7gwYOVmpqqm266STVq1NDp06e1YsUKzZo1S5UrV3bfnFStWjU9/vjjeuqpp9SiRQvdfPPNCg8P15o1a1S2bFmNHz/els/79ttv18cff6x7771XixYtUrNmzXTu3Dn9+uuv+vjjjzV//nyv14pn1q1bN91///36/PPPVaFCBbVs2dLj9YkTJ6p58+aqW7eu7rnnHl1yySVKSkrSypUrdeDAAW3cuFHS+e/+J598oh49eujOO+/UlVdeqcOHD+uLL77QpEmTVL9+fVWtWlXFixfXpEmTVKxYMUVHR6tx48aqUqWKnnvuOfXv31/XXHONbr31VvdwUZUrV7Y0A9XChQs1aNAg9ejRQ5deeqnOnj2r9957z+u6ADhGgYwFABQS6cPwrFmzxuvr11xzjd/hoowx5t9//zUjR4401apVM2FhYaZ06dKmadOm5oUXXnAPrZM+BFHmYZieeOIJr8M4ZefIkSNm9OjRpm7duiYqKspERESYOnXqmJEjR5q//vrLHZd5CCRjjPn7779Nt27dTFRUlClRooQZOHCg2bJli8dwNv/884954IEHTI0aNUx0dLSJi4szjRs3Nh9//LFHWYmJieb66683xYoV8xjaKH05M/dRdl5//XVTo0YNExoaauLj4819991njhw54hHj7XPIbhm9qVSpkrn++uuzfT274aK8DZn11ltvmZYtW5pSpUqZ8PBwU7VqVfPII4+4hxpK99RTT5ly5cqZoKAgv0NH9evXz0RHR2f7eubhojLq3bu3kWTatWuX7fs//fRT07x5cxMdHW2io6NNjRo1zAMPPGC2b9+e7XuMMebbb781d955p6lRo4aJiYkxYWFhplq1ambw4MEmKSkpS/zUqVNNgwYN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//23jDG2xR07dizL6dUffvhBjz76qHbs2KHhw4froYce8jrdlp1xBVGnt7hnn33WUt+++OKLmjp1qo4dO6Zbb71VS5cuVf369RUaGqpSpUq5463Ede7cWUuXLtX111+vCRMmqEOHDgoODtakSZOybYcvmae1TUtL09SpUzVmzBgFBQVp4sSJ6tevn8e88VZifMVFRUX57bdDhw55tC23dfqbKi6dlc/zQmB1+5HfZUnnT82l++6779S9e3f3TRIPPvigOnXqpOPHj1uK+/rrr7OUf/jwYT311FN688031bhxY61atcpS+61+V4oXL+63be+++66l9kvSqFGjFBUV5bPP9u3bZ2t5L730ks/XA+Wvzrlz5+rQoUOWtmtW2m9nnVa3uVbi7CwrkDi7+kz6v3Xjr7/+UtOmTbO83rRpU/dp6yVLlmjVqlUe89aXKlVKzz77rJo1a+Z+7tNPP9Unn3yiVq1auZ/r1KmTIiMj1bNnT7355puSzt/d37lz5yx1dunSRY899pilfaid++NA4gJVKBPTcuXKacuWLapWrZrX1zdt2qSLL75YLpfL1rh069ev14gRI7Rs2TLdfffd+uabb7xem2JnXEHU6Svuvffes9RnI0aM0IgRIzR27Fiv19WksxL37bff6j//+Y/uu+8+n9fQuVwujyEsMv/tzZw5c/TYY4/p77//1siRIzV48GCFh4cHHOMvzuq6a2edVvvDSru++OILr6+nS7+D1M44Y4zPuEDrtPIZxMbGWqrT6udptW0mw7Wcq1at0qhRo9x/Fy9eXEeOHFF4eLiluIxOnDihl156SS+88IIqVaqkOXPmqFOnTqpatWpA66Pke10LCgry2zbz/+cct9L+zZs3KywsLLtuk8vlslSn1fIOHTpk67pmpc49e/ZoyJAhfrdrVspK/17bVafVba6VODvLCiTOrj7LuM2sVq2aPv74Yz322GMeMbNmzXK3JTw8XP/++2+Wco4fP+5RT2pqquLj47PElSlTRqmpqe6/K1SooAULFmT5rv7www+qUKGCpX2onfvjQOICluNjrQVo0KBBpk6dOubEiRNZXktNTTV16tQxgwcPtj1u165dpmfPniY4ONjceuut2c77amdcQdRpJc5qnz3zzDOmevXqpkKFCmb48OHuuykzn5axErdy5Upz9913m2LFiplGjRqZ1157zfz9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9957r986P//8c9WuXdtnH7tcLh0+fNhS+5csWWJbnVa2y1bjrJx9srvOBQsWqF+/frb0WVRUlIYMGSJJql69usaOHavly5fryiuvVHR0tEe9//nPf/Tss8/qkUce0Ztvvqk6depk28YHHnhAzz33nCZPnuxzaL+OHTvq0Ucf1ebNm73WuWfPHr/9sXTpUq+zs2Vk92fgcrk0ePBgv3EZXZCJaV756aefdNddd2nr1q3uD8Tlcql27dqaMmWKGjZsaHtcQdQZSJw/L7/8st8Yqyv4nj17lJSUpAYNGviNv+OOO/yelpkzZ47H36mpqZo1a5amTp2qlStX6qqrrtKwYcMCjgkkzorc1jlixIgc9Yc39erVU3Jysm677TatWLHCvXN79NFH8yzO7jqtSEtLU48ePWwpy2rbfv75Z6/vNcboo48+0quvvqqYmBh9//33luLatm2riIgIXX311WrdurVat26tq6++2vK4tr5kt65dd911ftsWERHhdTrgzO1fu3athg8f7n79gw8+0KWXXqr58+dLOt+nr732muV+s1LeoEGDFB8fb9u6ZqXOu+++WwcPHvS7XbPaH4cOHbKtzs8//1yVKlWyJW7nzp06c+ZMvtb5999/q2PHju6/c9Nnr732mjsxnTJliooXL65169a5p4tN53K59J///Ed9+/ZVamqq6tevr7CwMEVGRnrEHT58WNL5HzgLFizQd999p7p162ZJONO3y/fff78k7+PsulwuVaxYMdu+SnfgwIEs7fVWFolpIWGMUdu2bVWzZk29//777utBtm7dqpdffllt27bVqlWrJMm2uPfff1+9e/fO1zoDibNy1CjjeH659cADD+jDDz/U7t271b9/f/Xp08dj8OJ0QUFBKlasWJYNQXZWrVqlyZMna/bs2apYsaK2bdumRYsWecw/bCUmkDi72mUlbsSIEQH1hy/bt2/XLbfcotatW/v8/O2Ms7tOq1q2bGlbWVbalnkCDyl3E2UcPnxYCxcu1JIlSzRlyhQ98cQT7iOC6Ylqw4YNvR69zE5O1u+cThxSpkwZlS9f3h2zaNEijwHGW7VqpYceeshyv1kp7+TJk5Y+d6vr2j///OO3zrCwMB07dszvdi0yMtJSf5w6dcq2Oq1uc63E2VmW1Tg7++yhhx5y/21lvzZhwgS/MdL5cXa7devmNy4tLc1SeReEgE/+FwJ5MS2iJHPTTTd5jAGYLi0tzXTt2tX06NHD9OjRw7a48uXL53udgcT5YrVvA3Xy5Ekzc+ZM065dOxMVFWV69Ohh5s2b59FWq9dUvvDCC6ZWrVqmXLly5uGHHzYbNmwwxniOwWYlJpA4fzZs2GBcLpetddpxjWn653ngwAHz9NNPm6pVq5qyZcuahx56yKxfv96EhoZ61GlnnN11WllWl8tlW1mB9Fu6devWmXbt2pnw8HDzwAMPZPv5WY0zxpjffvvNTJkyxdx+++2mYsWKJigoyMTFxVlqf07Wbytt8xVTtmxZ93V/586dM7Gxsearr75yv75161YTGxtra3kxMTG2rmtWl8HKds1qWXbWaYy1ba7VuPyu0+4+8yZ9jFLYp1DelV+iRAmf18ydPXtWKSkpio2NtS3u33//1Zo1a3TVVVd5jVmzZo172rtvv/3WlrjGjRvrp59+ytc6A2lb8eLFvb4u/V/fTps2LduYnOjbt6/7/3v37tX06dM1Y8YMnT17Vr/88otiYmIUHBxs6S70kJAQr7NWhIaGauPGjapVq5alGKtlSdbW3X///VePPfaYbXVa6Q+r36lz5865n1u4cKGmTp2qOXPm6OTJk3r44Yd1991369JLL/V4r51xdpQV6LLaWZa/8n777Tc99thj+vTTT9WzZ089/fTTuuSSS7KUazUus71792rhwoVavHix5s6dq+TkZJ+jB6S33+VyWVrXrLbNSkzv3r2VnJysN954Q7Nnz9YTTzyhxMRE96nOTz/9VGPHjtXGjRttL8/f55SRr7hA60z/jLxt16yWVadOHdvq9Lb+2BWXH3UOHDgwz/psypQpevnll7Vz505J5687HTJkiO6++253zLlz5/TZZ59p27Ztks5POXzjjTd6vZzm4MGD2r59uyTpsssu87q9XrBggV5++WV3eTVr1tSQIUPUrl079/0Evtg9yoxVGffbVhTKU/lWD5Hb6e677/Y6bVi6hIQE9/RjdsUZY/K9TqtxwcHBlq4fveOOOxQTE6OQkJBsr0dxuVw6evSopbiMK3j6zSLGGI8dv7/fWtu2bdOUKVP01FNPadq0aXrvvfd066236vbbb89ykbqVmEDirKy7X331lWbPnm1bnVb64+qrr1avXr38ti2jNm3aqE2bNjp27Jg++OADTZ06VS+88ILq1KmjTZs25UmcHWUFuv2wsyxf5ZUoUULHjx9X69attXbtWl1++eVe33///fdrypQpfuOk8/PIL168WIsWLdLixYv1zz//qGnTpmrRooW++uor7dixw9I1p3/++aeldc1K26y2f9y4cbr22mtVqVIlBQcH69VXX/W4/u69995TmzZtbC8vnR3r2hdffBFQnVL22zWr7X/wwQdtqzMzO+Pyo8686rPRo0frpZde0uDBg9WkSRNJ0sqVKzV06FDt27dPY8eO1S+//KIuXbooMTFRl112mSTpueee00UXXaQvv/zS/f1JTk7WAw88oI8++sjd7uDgYN1yyy2aOHGi4uLiJElvvPGGHnzwQXXv3l0PPvigpPOX1nTq1Ekvv/yyBg8e7HcfevToUX300Ue27Y9zst+2JJ+P0BZal156qfnkk0+yfX327Nnm0ksvtTUuNDQ03+sMJM6KWrVqmVKlSpkHH3zQbNy4MddxGU/dREREmO7du5uvv/7anDt3zh2zePHiLAPKHz9+3EyePNk0adLEuFwuU7t2bY/4/J4pwwq76gy0P3Lj559/dk9hmV9xdtdphZ1lpZcnmyfUqFKliilevLi5/vrrzXPPPWdWrlxpaaIFX/yta3ZOHGLM+YHFN2zYYP74448sbdmwYYM5dOiQ5f6wWp4vOVnXrNRpZbsWSPvtrNPOuIKo084+S1e6dGkzc+bMLHEzZ840pUqVMsacnyq3c+fO5vDhw+7XDx8+bLp06WKaNGnifq5nz56mevXqZt68eebYsWPm2LFjZt68eeayyy4zt9xyizuuXLly5rXXXstS5+uvv27Kli1raR9q9/7YalygCuWp/CNHjuj9999Xv379FBsb6/HasWPHNGPGDPXr10/nzp2zLe6PP/7Qhx9+qK+//jrLkYLNmzerc+fO6tu3r1wul6ZPn25LXMWKFbV37958rdNqXI8ePVSxYkW/fRsbG6vVq1dr6tSpmjVrlqpVq6a77rpLvXv3zvI+f3H333+/PvroI1WoUEF33nmnevfurdKlS8uX5cuXa8qUKfr444914sQJDR06VHfffbdq1KiRJfbff//VzJkzNXXqVK1bt06NGjVS9+7dPe6AtxLjK65///6W1smMr+W2zoxx2fVHfHx8wO0qrKxuP6wsq51l2T2Jx6RJk3Ty5Em1aNFCrVq10jXXXKMrrrjC49KDnLY/u3Ut/YyLL1YnDkmfwCM76Wc+vN0MlpvyXnjhBUvl2WHbtm269dZbtW/fvoC2a9mVZaX9gdRpdZtrJc7OsgKJ89cXVvssY1zx4sW1Zs2aLIPn79ixQ40aNdLRo0cVGRmptWvXZhmWa8uWLWrYsKFOnDghSYqOjtb8+fOznGJftmyZOnTooJSUFEnnB9jfsGGDqlWr5hG3c+dONWjQQMePH7e0r7VrfxxoXCAKZWL61FNPadOmTZo9e7bX13v27Kn69esrLS3NtrhatWrp+++/1+rVq3XttdeqZs2aMsZo27Zt+uGHH9SoUSP3DCpt27a1Je6bb77R9ddfn691Wo279tprtXXrVr99+/jjj7ufO3HihGbPnq1p06bpp59+UteuXTV16tQswxhlFxcZGamKFSuqQYMGPq/rmzRpkqZPn66pU6fq2LFjuvXWW3XbbbepSZMmWa6Hy05ezZQxePBgS+tkxn7LbZ1btmzx2x9Wv1M//PCDpdmEshtrMydxP//8sxo0aGBbna1atfK7rGvXrvU7w4rVsgLptwULFviMCdSvv/7qPpW/ZMkSnTx5Us2bN3cnqt9++602b96c4/VRyuUMLwFKSUnRRx99pClTprhHBtmyZYtt5UVGRqpx48Y+3xPIuubt88xcpzHGPeyRrzK9DedmtT9yWufcuXMtbXOtxH322Wf5XqeUtd9y2mcZ4wYPHqzQ0NAsQzc9/PDDOnHihCZOnKj69evr5ZdfznLZxMKFC/Xggw9q8+bNkqSKFSvq66+/Vt26dT3iNm3apE6dOunAgQOSpNtuu00NGjTQI4884hH3wgsvaO3atfroo4/cz1nZ1+Z2f5zTOCsKZWJ6+eWX68UXX1Tbtm29vr5gwQI9/PDDMsbYGrd69Wq9/PLL+vDDDz0Gne/Vq5eGDh3q/gBOnz5tW5ydZdkZ17hxY0t95m2MwaVLl+qJJ57Q0qVL9c8//2R780XmuKFDh1oaKP6jjz5S9+7d1adPH1177bXu4XC83ajhz5kzZxQaGprrmPS4hg0b5rjfclpnbGys3/6w+p3ydaQr/SjaqVOn9J///Me2uBMnTrjHD7Sjzrp16/pd1ltvvVW9e/e2pSyr/Xby5EnNnTtXrVu3znIUMDk5WYsXL1b79u1ljNF3333nN87bDiF9eKfFixfru+++07///qvvvvsu1+ujdH5dO3funN+2XXPNNVqyZElA7fd15uPkyZMB90d25b311lvZLl9O1rWM10RmV+ezzz5rabuW8UZSq2eCclunyTBJQW7jli1bZmnYPDvrlP6v33LbZxnjBg8erBkzZqhChQq6+uqrJZ0/crhv3z717dtXoaGh2r17t5YtW6ZJkya5Y1atWqWxY8fq2WefdR8hnTZtmr766iu99957SkhIkCQlJiaqX79+uvnmmzVw4EBJ0tNPP60XXnhBzZo1c1/XumrVKi1fvlwPPfSQxxHK9PXTyr42p/vj3Mb5UigT02LFiumXX37JdkDZffv2qU6dOjLG2BqXnJycbZsOHDigsWPH6u233/bZdjvjCqLO9LhLLrlEu3btstxnf/zxh959911NmzZNKSkp6tOnj+68884sGwWrcb7UqFFDp06d0m233abbb7/d/d7MiamVWansninjscce87uuXXrppXr++edtq3PixIl++8Pqd8rbd+Ds2bOaOHGixo0bp7i4OD311FNeb6SyMy43Zd1zzz05WlY7y/JWXtOmTXXgwIFsj5q2a9dOXbt21blz5/TFF1/4jRs0aJDH80lJSe6jp4sWLdLOnTtljNHevXv9tv/pp5/2+npG6UcS/bWtePHiOnLkiN/29+zZ09KZj1deecVSf1gtL7PcrGtt2rTJ9dmbdAcPHrRUltW4oiCv+qx169Z+6168eLGk89+L9AQ6fZud8W9jjGJiYnTq1Cn393Dfvn0KDw/3uFTgl19+UdmyZf3We+7cOd17770+96F274/t2G97sO1q1XwUFxfncw7alStXmri4ONvjfMmLsVP9xRVEnelxkiz12axZs0yHDh1MZGSk6dq1q/n888+9zvNuNS7dkSNHzJo1a8yaNWvMkSNHsrz+448/mv79+5uYmBhzxRVXmJdeesmEhIR4zElcuXJlv4+QkBC/MVWqVLFUVpUqVSytay6Xy9Y6rfRHTr8D77//vrnkkkvMxRdfbCZOnJjtzTV2xuW2rJwsq51lZVdew4YNzRdffJFtWV9++aVp2LCh5bikpCQza9Ysc99995kaNWqYoKAgEx4eblq0aGFGjx5tFi1aZLn9Vtc1K22Ljo621P6IiAjTp08fM2/ePI+bWTKPnWq1P6yWl1Fu17VA6/S1XbNalp115lVcftWZV31mxeLFiy097rjjDvPkk09aevhiZR9q9/440P22VYVyuKgGDRpo7ty57sPjmX322Wfua9LsjsP/sdJnvXr1UsWKFTV06FDFx8drz549mjhxYpb4IUOGWIrr0qWLHnjgAc2fP9/j12eHDh30+uuvu68LbNasmZo1a6ZXX31VH374oaZNm6Zz587p/vvv12233aauXbvaOiuVVa1bt/bbb9dcc43XKRtzw19/1KlTJ6DvwLx58/Too49q9+7devjhhzVs2LAsU+nZHWdXWYFsP+wsy195O3fu9DqLUbp69eq5x0y0EpeQkKDQ0FBdddVV6tatm1q3bq2mTZt6zABmtf1W18cSJUr4bVv6NI3+2l+pUiX9+OOPqlixoipVqpTt0Rer/Wa1PMm+dc1qnXv27PG7XbNalp112h2X33Xa3WeZ7dq1S7/99ptatmypyMhIj8sLrrnmGktlWI1Ld/r0ae3evVtVq1b1GOrNyr7W6n7W7jhfl754levUtgB88sknJiQkxLz22mse2fnZs2fNq6++akJDQ83s2bNtj/OlqB0xdblclvqsUqVKlo60WImrUKGCiY+PN+XLlzfPPPOM+eyzz8xnn31mxo0bZ8qXL28SEhLM/v37zZgxY0xKSkqWdm/dutU89NBDpkyZMiYkJMTvchpzfoYXO2LS4+xY1wKt00p/BAUFWWrX6tWrTatWrUxERIQZMmSI+fvvv73Wa2ec3XVa+QyeeeYZ28qy2m8xMTFm7dq1Xusxxpi1a9eamJgYy3Hz5s0zx48fzzYukPZbceDAAUttk2Sp/cZYO/NhtT+slGf3umalzn379lnarlntDzvrtDNu9erV+V7n/v37beuzjP755x/Tpk0b43K5TFBQkPntt9+MMcb079/fDBs2zB23dOlS07t3b9OkSRP3NnvGjBlm2bJlHuUdOXLEvPPOO+bRRx91D0u1bt06j+18SkqKufPOO01wcLAJDg521zlo0CAzfvx4S/tQq2cA7dxvp5+1C0ShvMZUkh5//HGNHz9exYoVc8/w8fvvv+v48eN65JFH9Oyzz+ZJXHY2btyoK664wucAwHbHFUSdGeMeffTRXPVZoO666y7t2rVL8+fPV0REhMdrJ06cUIcOHVS9enVNmzbN50xHZ8+e1RdffKGbb74527oSExM1btw4TZkyRampqTmO8RaXm3UtJ3WeOnXKUn+sW7fOb7uCgoIUGRmpAQMGqEqVKtnWP2TIENvi7CxLOv/r3d9n8Pzzz9tWltV+e+mll3TfffdpxIgRXl8fP368Pv/8c0nSTTfd5Ddu1apV7uc2bdrkcRNjvXr13K/ldtuXcV2rV6+e37aNGzdOo0aNCqj9x48fdx/pX7Vqla655hr3mY/OnTsH3B/ZlTdw4EDb1zV/dS5evFgHDhzwu12bPHmypf646KKLbKvTGGNpm2slLjExUQkJCflaZ8Z+y22fZYzr27evDh48qMmTJ6tmzZrauHGjLrnkEs2fP1/Dhg3TL7/8ok8//VS33367evfurffee09bt27VJZdcotdff13ffPONvvnmG0nnv5vt2rVTXFyc9uzZo+3bt+uSSy7Rf//7X+3bt889o9ODDz6o5cuXa8KECerQoYM2bdqkSy65RJ9//rmefPJJSzcoFhaFNjGVpJ9++kkffPCBdu3aJWOMLr30Ut12221q1KiR7XG+khjp/IwKS5Ys0Y033mhb3KJFi3TTTTfla52BxJ07d85y39qhXLlymjVrVrZTqi1dulS9evVSYmKiEhMT/U5JeuTIEd1///36/vvvFRYWpkcffVSDBg3Sk08+qRdeeEH16tXTPffcox9++MFnzNChQ3Xdddf5LWvo0KG65ZZbJPle16y0K5A6b731Vkv94a9dklS5cuV8Hy7qwIEDKl++vG11/v7775J8L6vV5bRSlmSt3/7991+dPHlSH330kW644QaP17788kvdeuut7uFphg0b5jduwIAB+umnn3TXXXdp69atHqc6a9eurSlTpqhhw4aW2m91nTx27JjftnXt2lVz58611H5v0seUfO+993T48GFNnDjRcn/4K+/gwYOWhgkLdF3zV+eyZcv8btf+/PNPv2UdPnxYZ86csa1Ol8tlaZtrJa5169ZasmRJvtaZXb/lpM8yxqUn2PXr11exYsXcienvv/+uevXq6fjx42rQoIGGDh2qvn37esT8/PPP6tixoxITEyWdvznviiuu0PPPP+8Rt2LFCt12223as2ePpPOXG8yaNUtXX321R9yuXbt0xRVX+Lw5u7Ap1Ilpfurfv3++11lQ89palXH4kux06tRJH374oXtatWeffVb33nuvihcvLkk6dOiQWrRoocqVK/uNu+iii7Rv375sk5QDBw6oWrVqOn36tJKSkjx+BXszcOBAzZs3Tz169ND8+fO1detWtW/fXkFBQfrvf/+rq6++2lKM1bKssrvOoKAgS/2BgtenTx/NnDlTNWrUcE9j+Ouvv2rHjh3q2bOnPvzwQ8txW7duVePGjVWzZk0NHTpUNWvWlCRt3bpVL7/8srZv3+4en9GfQNZvK22zupy+ZDzzYXd5+eXs2bOKjIzU7t27/W7XTp486bcsK+0PpE5jjH777Tdb4ipUqKD9+/fna53++i2QPssYV6xYMa1fv17Vq1f3SBLXrl2r9u3b69ChQ4qKitLWrVtVuXLlLMlrrVq13O2Ki4vT+vXrVbVqVY+4vXv36rLLLnPHRUVFacuWLbrkkks84jZu3KiWLVuqWbNmfvehlSpV0h9//GHL/jiQuK1bt/rs3ywCPvnvAH///bfZs2ePx3Nbtmwxd9xxh+nRo4f54IMP8iQO/8dqnwUFBZmkpCR3TLFixdzXxhhjTGJiogkKCrIUJ8nMnz8/2zZ9++23plKlSsblcpnixYubEiVK+HxUqFDBLFiwwBhjzO7du43L5TIjR470KNNKTCBxVvrN7jqt9EdcXFyR+Q7Y+X3Pi23HrFmzzI033mhq1aplatasaW688UYza9asgON69OhhbrrpJpOWlpblvWlpaaZr166mS5cultpvdV0LZBn8xcyaNcucOnXK/ff+/fs97phOSUkxzz33XJ6VZwcrdZYoUcLSds1q++2ss1KlSrbFBQcH53udpUuXtq3PMq4bHTt2NP/973+NMeevcf7999/NuXPnTI8ePUy3bt2MMcZUqVLFfP/99+6Y9P3Zu+++a2rWrOku66KLLjLr16/PEvfdd9+Z8uXLu+NatGhhXn31VY86jTl/jWn79u0t70Pt2h8HEheoQpmY9urVy+MC46SkJFOiRAlTu3Zt06VLFxMaGmpmzJhhe1y6C3l4DatxVvvM5XJ5rLgZv3jG/N+KayVOkqlbt645ePBglnYmJSWZevXqmQcffNC4XC7zyiuvmOnTp/t8BAcHmz///NNdRmRkZJahQazEBBJnpd+CgoJsrdNKfzRu3NjS59mxY0dz9OhRd9z48eM91ot//vnH1KxZ09a46OhoW+u08hnUq1fPtrIC6Tc7lS5d2qxZsybb13/66ScTFhZmqf1W1zU72b3Ts7rjtnNds1qnle2a3T/yrdT54IMP2hZ3+eWX53udmfcrdiVYmzdvNmXKlDEdOnQwYWFhpnv37qZmzZomPj7e7Nq1yxhjzDPPPGNq1aplVq1aZYoVK2aWLVtm3n//fXPRRRe5E0xjjLnrrrtM165dzenTp90J5969e02DBg3Mgw8+6I5btmyZiYmJMffee6+JiIgwDz74oLn22mtNdHS0Wbt2reV9qF3740DiAlUoE9PKlSubxYsXu//+3//+Z6pWreoeO+5///ufady4se1xu3fvNp06dTLBwcHulTk4ONhcf/31Zvfu3e732xlXEHVaibPaZ3au4C6Xy1SvXt0UK1bM3HfffeaVV14xEyZMMAMHDjTFihUz1atXN4cOHcpSVnaCgoI8NmoZf4UGEhNInJV+k2RrnVb6w+rnafcv6YL4lW/1M7CrrED6zU7h4eFm37592b6+b98+I8ly+62sa3aye6eXkx13bte1vNyu5ce29PDhw7bF/fbbb/leZ14mWEePHjVPP/206dGjh+nYsaN5/PHHPX68paWlmaefftpER0cbl8tlXC6XiYiIcB9pzVhOu3btTPHixU1wcLCpUKGCCQ0NNS1btswyqsZvv/1m7r77btOwYUNTs2ZN07t3b7Np0yZjTM7Wb6cmpoVyHNPExESPC9QXLlyom2++2T2mV5cuXTR+/HilpqbaFvf000/r6quvVmhoqJ566imP67XefPNNNWnSRGvWrJExxra4zz//XF26dMnXOq3GHTlyxFLfZpz1Ip23mwasxLlcLq1evVqPPfaYPvroIx09elSSVLx4cd1222165plnVLJkSUvT1EnnZ91o27atu80nTpxQ586dFRYW5o5JS0vzG2O1LMnauvvII4/YWqeV/rD6nTKZLknP/Hd2z+c2zs6yrH4GdpVltd/S0tIUHBzsHgsxu9ExgoKC3DN/+YqrVKmSfvrpJ1WoUMHr66tXr5bL5bLcfivr2oYNG/y2zWr7rbK7vIzsXG+zY3W7ZqdA6rQzLr/rLF26tK39Jp2ferdDhw6aNGmSHn/8ca8x586d0/Lly/XAAw/okUce0a5du3T8+HHVqlVLMTExHrFxcXH6/vvvtXz5cm3cuFHHjx/XFVdcoXbt2nnUOXDgQI0aNUrvvPOO1zoD2ddaibEzLlCFMjGNjY3V0aNHValSJUly33mazuVy6dSpU7bGpaSkqH79+lmGpujatauGDh2qDh066Mknn5QxRpdddpktcbfffrttZdkd99NPP1nqW2OM7rjj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bzZv3mwqVarkHmT8pptuMomJiaZly5amZMmSZsSIEWb//v22xn3//fe21mnlM2jatKltZQXSb3nt0KFDZsiQISY8PNy0bNnSrFy50lL7c7t+58Tw4cNNXFyc6datm7n44otNSEiIueeee0zdunXNhx9+aM6ePWt7eXav31bqtLpds9ofdtZpZ1xB1Glnn2Un86DyOY0xxlqS6688K/taO/bHOYmz6oJITJOTk83jjz9uYmJiTOPGjc3ChQttj0tNTTWff/55liMGxhhz7Ngx8/nnn5uTJ0/aGnfkyJF8rzOQOH99ltmIESNMUFCQueSSS3z+eswuzuVymaioKDNkyBDzyiuvZPs4d+6cGTVqlLn88stNhw4dzNatWz3K7969u5k8ebIxxpjU1FQzffp007JlSxMeHm66dOligoODzebNm93xVmICibPSb3bWGUh/+GtXp06dTNu2bc2XX35pbrvtNuNyuUyNGjXM//73P5Oamup+v51xdtdp5TOws6zctM0uqamp5umnnzbFixc39evXN19//XVA7U8vI9D1OzeqVKliPv/8c2PM+SkgXS6X6d+/v6UfyDktz+51zUqdVrdrVvvDzjrtjCuIOkuVKmVbn2XHzsTUrjgr+9rc7o9zGmdFobzGNN2ZM2f02muv6ZlnnlGpUqU0btw4r9f02BH3yiuv6IsvvtCCBQu8tqVdu3a66aabdPbsWdviihcvriNHjuRrnYHEPfDAA3779uabb/Z47zfffKP69eurXLlyXsv2FTd//nxL4+NZGaTcm507d2ratGl69913dfz4cV1//fXq3r27xzJYibESZ3WdtLNOK/y1q0yZMvruu+90+eWX69ixYypRooTeffdd3X777R7l2Blnd51WltXOsnJSnl3OnTund955R2PGjFFERITGjh2rPn36ZLn2NJD1UbJnXfMnLCxMu3fvdm8DIiMj9dNPP7lv4suL8uxe16zUWblyZUtDGh04cMBSf9hZp51DNx04cCDbkV7yqs49e/bowIEDtvRZdn788UddddVV7nG/Dx8+nGXYp06dOmnKlCl+r7UsVqyYNm7c6HcYuJkzZ+rGG290X9d67tw59ejRwyPG2z501apVuvrqq33GeJPbuDlz5vh8X2aFMjE1xmjGjBkaPXq0zp49qyeeeEJ33XVXlrsz7Yxr1KiRRo0apc6dO3tt01dffaWxY8dKkm1xvXr10ocffpivdVqNGzNmjAYNGuS3bzMPv5JbVoZfSXfixAl9//33HuM3Xnvtte47K7ds2ZJlRhzp/JA2X3/9taZMmaKvv/5aZ86c8Rnz7bffat26dX7L+vbbb3Xy5Em/65qVdgVSZ/pQRb76w+p3JSgoSImJie4fCMWKFdP69etVvXr1PIuzu04ry2pnWYGUZ6ePP/5Y//3vf3X06FE9/vjjuu+++7xOa2ul/VbXSTtnB8s45ql0vs82bdrkc8Dy3JZn97pm5zJYLcvufivM8rPPvvvuO02ePFlffvmlTpw4Yd9C+LBjxw5NnjxZ7733njp06OA3/scff1Tz5s3zoWWeAtlvS4V4HNPff/9dgwcP1pAhQxQVFaWUlJQscc2aNbMtbseOHdmOwZbepp07d0qSbXGpqan5XqfVuPXr1+v+++/327eBrpC5cfToUb3//vsaNGiQvvjiC9199936559/PGJKly6tKVOmqHPnzqpXr54aNmyou+++W7169XKPWxkUFKTOnTurc+fOCgoKUuPGjX3GHDx4UAkJCX7LOnjwoKV110q7AqlTkt/+eOyxxyx9V1wul/79919FRES4x+M7ceKEkpOT8yzO7jqtfN/tLCuQ8tIH3bZDr169FBkZqVtvvVV79+7Vo48+miVmxowZOnHihN/2W10n7WT8THeYzurRGCvlGWNsXdfsWIb07ZrVsuysc9CgQdnG2B2XF3XmdZ/t3btXU6dO1bvvvqsjR46oY8eO7pFXFi5cqDlz5mjPnj1yuVyqUqWKunfvrpYtW2bbZmOMFi1apBMnTqhp06YqUaJElpjU1FTNmjVLU6dO1cqVK3XVVVdp2LBheuSRR3z2R2FSKI+YZpx+ztuh/PQNRcZFy22cMUZr167VlVde6bVN69atU6v/P6f64sWLbYm76qqr8r3OQNqW3le++jYvBjfObMGCBZoyZYo+++wzRUVF6csvv1SrVq3UpUsXPfTQQ6pZs6ak85MGvPjii/rqq6+0ZMkSnTlzRtOmTdMnn3yitLQ0devWTXfffbdatGjhLnvZsmV+YwKJs7LuSufnM7arzhUrVvjtj4xHhf19V7wNFp2XccYYj36zo05/yxpInXb2m53fFytjoy5evNjS93jx4sWW1jU7WT3bYvXHr5Xypk+fbuu6ZnU6Rm/LkHm7lnE4HjtYqfPQoUNe32tnXF7WmZaWpttuuy27LgjYtGnTdPr0ac2ZM0eTJ0/W8uXL1a5dO3377bf6+eef3af+7733Xr399tsqUaKELr30UhljtHPnTh09elT333+/XnvtNR09elQPPvig1q9fr6uvvlovvviiOnXqpBUrVkj6v8tF6tWrJ+n8afjJkydr9uzZqlixorZt26ZFixbl6XewoBTKxNTfwLV54b777lO/fv00YsQIr6+PHz9en3/+uSTppptusiVu3LhxGjVqVL7WaTXuvffe05tvvun19YyGDBnidYcXFxenSy+9VA8++KBq1aqlBg0aWIpLt3//fk2bNk3Tpk3Tvn371KtXL91+++1q27atbrzxRlWoUEFvvfWW1zYNHDhQ+/fv1zfffCPp/JhrH3/8saZPn65ly5apWrVquuuuu9SvXz/3TFhWYqzEWV13r7nmGtvq7NSpk9/+2LBhg55//nlLbctvGzZs0OWXX37B1yn936Db+WXBggV+x8iU/q9dVtfJwsrufUugn6ev7VpoaKitbQu0TjvjCqJOOwwePFgffvihqlevrj59+qhXr14qVaqUQkND3eP5fvbZZ+rVq5feeust9evXz71fS0tL0/Tp03Xfffdp9uzZ+uKLL7R06VL169dPX375pXvK3AkTJigoKEjDhw9XTEyMWrVqpalTp+rYsWO69dZb1adPH9WvX9+jTkmW9qG9e/e2dX8c6H7bqkKZmBaEt99+W8OGDdNHH32kG264weO1L7/8UrfeeqteeuklSbItrmvXrpo7d26+1hlI3IABA/z2W3azWhw9elTr16/XqlWrtHDhQv3www9+47777jsdPHhQkydP1rJly9ShQwfddtttuvXWWz2+oCVLltSSJUuyvXB906ZNuuaaa3TkyJEsr+3atUvTpk3Te++9p8TERHXo0EFffPFFwDGBxFmRmzp//PHHHPcHCq+PP/5YPXv2zPb1s2fPqmfPngHfmJDOzvW7KDtz5ozmzp3rd7tWEHXaGVcQddotJCREI0aM0KOPPuoxZXHGJLFLly6qXbu2xo8f77WMESNG6Ndff9XatWs1c+ZMXXPNNfrjjz9UoUIFLVy40H3W8qefflKXLl30zz//aMSIERo7dqzHtd+ZE1Mr+9o+ffqoYsWKPmOs7o8DiWvWrJnXuGzl6F7+Iqp3797G5XKZmjVrmq5du5quXbuaGjVqmKCgINOrV688iSuIOgOJy63HHnvMtGnTxlJcaGioadGihXnrrbfc4ygak3UsxYiICLNnz55sy9qzZ4+JiIjI9vXjx4+bt956y5QsWdI9OHpOYgKJsyKndea2P1A4hYeHm++++87ra2fOnDE33XSTSUhIyFUddq7f3ixcuNC88MIL5scffzTGGDNp0iRToUIFU7p0aXP33XcHPNSW3eXZUedFF11kabsWSPvtqtPOuIKo084+S01NNTNnzjTt2rUz0dHRpmfPnubLL780Z8+e9aizXLlyZvXq1SY7q1atMuXKlTPBwcHmzz//dD8fGRlpdu3a5f77r7/+MkFBQeaZZ54x1atXNxUqVDDDhw93D88W6BjCVva1geyP7YzLrFAmpi6XywQFBbn/za84Y4yZNWuWufHGG02tWrVMzZo1zY033mhmzZqVp3EFUae/uED6zJctW7aYiy66yFKcy+UyLVu2NG+//bY5duyY+7XMX9C6deuaqVOnZlvWlClTTN26dbM8v2TJEtOvXz8TExNjYmNjzd13351lAHIrMb7ictJvua3TSn9IKpDvlJW4olKn3SZMmGBiYmLMqlWrPJ4/d+6cufnmm02ZMmVy3C6r62RuvP322yY4ONhUq1bNhIeHm2eeecZER0ebe++919x///0mNjbWjBgxwtby7P4eWKkzIiLC0nbNan/YWWeJEiVsi7OzLKtxdvZZxnXt999/N6NHjzYVK1Y0pUuXNkFBQWb27NnGmPM/CH3NeHTgwAETERFhXC6XSUpKcj+feWzSxMREj3Vr8eLFpm/fviYqKsrUq1fPBAcHu5NoK6zsawPZH9sZl1mhTEz37Nnj8civOPwfu/ps27ZtplSpUpbiSpYsad5//33TunVrExkZaW6++WYzZ84cExoa6rHBeumll0zJkiW9DiL+1VdfmVKlSpkXX3zRGGPMH3/8YcaNG2eqV69uXC6XadasmZk6darHtHZWYqzGWe03O+u00h+PP/54gXynrMQVlTrzwujRo03JkiXNli1bjDHGnD171nTr1s1cdNFFZvPmzQG1y+o6aZfatWubV1991RhzftrJkJAQM336dPfrH3/8salataqt5VWsWNHWz9NKnVWqVLG0XbPaH3bWeeLECdvi7CzLapydfeZtXUtLSzPz5s0zPXr0MOHh4aZcuXJG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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "hc_pca = HClust(n_clusters=None,\n", " distance_threshold=0,\n", @@ -3376,27 +1555,15 @@ "pca_labels = pd.Series(cut_tree(linkage_pca,\n", " n_clusters=4).reshape(-1),\n", " name='Complete-PCA')\n", - "pd.crosstab(nci_labs['label'], pca_labels)\n" + "pd.crosstab(nci_labs['label'], pca_labels)" ] } ], "metadata": { "jupytext": { "cell_metadata_filter": "-all", - "formats": "ipynb,Rmd", + "formats": "ipynb,md:myst", "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch13-multiple-lab.ipynb b/docs/source/labs/Ch13-multiple-lab.ipynb index d759391..5685600 100644 --- a/docs/source/labs/Ch13-multiple-lab.ipynb +++ b/docs/source/labs/Ch13-multiple-lab.ipynb @@ -2,17 +2,15 @@ "cells": [ { "cell_type": "markdown", - "id": "bb70c597", - "metadata": {}, - "source": [] - }, - { - "cell_type": "markdown", - "id": "e21562bb", + "id": "75b2d75c", "metadata": {}, "source": [ "# Multiple Testing\n", - " " + "\n", + "\n", + " \"Open\n", + "\n", + "" ] }, { @@ -25,23 +23,16 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "1f928b2d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:24.664836Z", - "iopub.status.busy": "2023-07-26T00:00:24.664535Z", - "iopub.status.idle": "2023-07-26T00:00:25.648869Z", - "shell.execute_reply": "2023-07-26T00:00:25.648538Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import statsmodels.api as sm\n", - "from ISLP import load_data\n" + "from ISLP import load_data" ] }, { @@ -55,17 +46,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "eb4b32aa", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:25.651065Z", - "iopub.status.busy": "2023-07-26T00:00:25.650806Z", - "iopub.status.idle": "2023-07-26T00:00:25.653087Z", - "shell.execute_reply": "2023-07-26T00:00:25.652803Z" - }, - "lines_to_next_cell": 2 - }, + "metadata": {}, "outputs": [], "source": [ "from scipy.stats import \\\n", @@ -76,7 +59,7 @@ "from statsmodels.stats.multicomp import \\\n", " pairwise_tukeyhsd\n", "from statsmodels.stats.multitest import \\\n", - " multipletests as mult_test\n" + " multipletests as mult_test" ] }, { @@ -94,22 +77,15 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "e12ac0cd", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:25.654827Z", - "iopub.status.busy": "2023-07-26T00:00:25.654707Z", - "iopub.status.idle": "2023-07-26T00:00:25.657085Z", - "shell.execute_reply": "2023-07-26T00:00:25.656796Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "rng = np.random.default_rng(12)\n", "X = rng.standard_normal((10, 100))\n", "true_mean = np.array([0.5]*50 + [0]*50)\n", - "X += true_mean[None,:]\n" + "X += true_mean[None,:]" ] }, { @@ -124,31 +100,13 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "04d0f49e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:25.658750Z", - "iopub.status.busy": "2023-07-26T00:00:25.658609Z", - "iopub.status.idle": "2023-07-26T00:00:25.662657Z", - "shell.execute_reply": "2023-07-26T00:00:25.662324Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0.9307442156164141" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "result = ttest_1samp(X[:,0], 0)\n", - "result.pvalue\n" + "result.pvalue" ] }, { @@ -171,17 +129,9 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "d1f0c695", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:25.664332Z", - "iopub.status.busy": "2023-07-26T00:00:25.664234Z", - "iopub.status.idle": "2023-07-26T00:00:25.684874Z", - "shell.execute_reply": "2023-07-26T00:00:25.684597Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "p_values = np.empty(100)\n", @@ -193,7 +143,7 @@ " 'Do not reject H0'])\n", "truth = pd.Categorical(true_mean == 0,\n", " categories=[True, False],\n", - " ordered=True)\n" + " ordered=True)" ] }, { @@ -207,80 +157,15 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "7a9594a0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:25.686565Z", - "iopub.status.busy": "2023-07-26T00:00:25.686471Z", - "iopub.status.idle": "2023-07-26T00:00:25.694731Z", - "shell.execute_reply": "2023-07-26T00:00:25.694405Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
H0TrueFalse
Decision
Reject H0515
Do not reject H04535
\n", - "
" - ], - "text/plain": [ - "H0 True False\n", - "Decision \n", - "Reject H0 5 15\n", - "Do not reject H0 45 35" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "pd.crosstab(decision,\n", " truth,\n", " rownames=['Decision'],\n", - " colnames=['H0'])\n" + " colnames=['H0'])" ] }, { @@ -302,80 +187,15 @@ "amounts to quite a weak signal, and it resulted in a high number of\n", "Type II errors. Let’s instead simulate data with a stronger signal,\n", "so that the ratio of the mean to the standard deviation for the false\n", - "null hypotheses equals $1$. We make only 10 Type II errors.\n" + "null hypotheses equals $1$. We make only 10 Type II errors." ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "25f7fc5d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:25.696516Z", - "iopub.status.busy": "2023-07-26T00:00:25.696385Z", - "iopub.status.idle": "2023-07-26T00:00:25.723387Z", - "shell.execute_reply": "2023-07-26T00:00:25.723044Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
H0TrueFalse
Decision
Reject H0240
Do not reject H04810
\n", - "
" - ], - "text/plain": [ - "H0 True False\n", - "Decision \n", - "Reject H0 2 40\n", - "Do not reject H0 48 10" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "true_mean = np.array([1]*50 + [0]*50)\n", "X = rng.standard_normal((10, 100))\n", @@ -392,15 +212,7 @@ "pd.crosstab(decision,\n", " truth,\n", " rownames=['Decision'],\n", - " colnames=['H0'])\n" - ] - }, - { - "cell_type": "markdown", - "id": "e4b5d621", - "metadata": {}, - "source": [ - " " + " colnames=['H0'])" ] }, { @@ -419,28 +231,10 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "369b5bd3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:25.725141Z", - "iopub.status.busy": "2023-07-26T00:00:25.725014Z", - "iopub.status.idle": "2023-07-26T00:00:25.950143Z", - "shell.execute_reply": "2023-07-26T00:00:25.949764Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "m = np.linspace(1, 501)\n", "fig, ax = plt.subplots()\n", @@ -452,7 +246,7 @@ "ax.set_xlabel('Number of Hypotheses')\n", "ax.set_ylabel('Family-Wise Error Rate')\n", "ax.legend()\n", - "ax.axhline(0.05, c='k', ls='--');\n" + "ax.axhline(0.05, c='k', ls='--');" ] }, { @@ -475,35 +269,17 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "9ce7a19f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:25.952085Z", - "iopub.status.busy": "2023-07-26T00:00:25.951946Z", - "iopub.status.idle": "2023-07-26T00:00:25.992310Z", - "shell.execute_reply": "2023-07-26T00:00:25.991986Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0.00620236, 0.91827115, 0.01160098, 0.6005396 , 0.75578151])" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Fund = load_data('Fund')\n", "fund_mini = Fund.iloc[:,:5]\n", "fund_mini_pvals = np.empty(5)\n", "for i in range(5):\n", " fund_mini_pvals[i] = ttest_1samp(fund_mini.iloc[:,i], 0).pvalue\n", - "fund_mini_pvals\n" + "fund_mini_pvals" ] }, { @@ -543,32 +319,13 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "de6cffed", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:25.994255Z", - "iopub.status.busy": "2023-07-26T00:00:25.994126Z", - "iopub.status.idle": "2023-07-26T00:00:25.996766Z", - "shell.execute_reply": "2023-07-26T00:00:25.996489Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ True, False, False, False, False])" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "reject, bonf = mult_test(fund_mini_pvals, method = \"bonferroni\")[:2]\n", - "reject\n" + "reject" ] }, { @@ -582,31 +339,12 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "0de71500", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:25.998481Z", - "iopub.status.busy": "2023-07-26T00:00:25.998341Z", - "iopub.status.idle": "2023-07-26T00:00:26.000891Z", - "shell.execute_reply": "2023-07-26T00:00:26.000558Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([0.03101178, 1. , 0.05800491, 1. , 1. ]),\n", - " array([0.03101178, 1. , 0.05800491, 1. , 1. ]))" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "bonf, np.minimum(fund_mini_pvals * 5, 1)\n" + "metadata": {}, + "outputs": [], + "source": [ + "bonf, np.minimum(fund_mini_pvals * 5, 1)" ] }, { @@ -624,32 +362,12 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "f7e87bdb", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:26.002751Z", - "iopub.status.busy": "2023-07-26T00:00:26.002618Z", - "iopub.status.idle": "2023-07-26T00:00:26.041360Z", - "shell.execute_reply": "2023-07-26T00:00:26.041041Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([ True, False, True, False, False]),\n", - " array([0.03101178, 1. , 0.04640393, 1. , 1. ]))" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mult_test(fund_mini_pvals, method = \"holm\", alpha=0.05)[:2]\n" + "metadata": {}, + "outputs": [], + "source": [ + "mult_test(fund_mini_pvals, method = \"holm\", alpha=0.05)[:2]" ] }, { @@ -663,36 +381,12 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "e88be376", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:26.043177Z", - "iopub.status.busy": "2023-07-26T00:00:26.043041Z", - "iopub.status.idle": "2023-07-26T00:00:26.046129Z", - "shell.execute_reply": "2023-07-26T00:00:26.045861Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Manager1 3.0\n", - "Manager2 -0.1\n", - "Manager3 2.8\n", - "Manager4 0.5\n", - "Manager5 0.3\n", - "dtype: float64" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "fund_mini.mean()\n" + "metadata": {}, + "outputs": [], + "source": [ + "fund_mini.mean()" ] }, { @@ -707,31 +401,13 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "41149af6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:26.047795Z", - "iopub.status.busy": "2023-07-26T00:00:26.047695Z", - "iopub.status.idle": "2023-07-26T00:00:26.050538Z", - "shell.execute_reply": "2023-07-26T00:00:26.050256Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0.038391072368079586" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "ttest_rel(fund_mini['Manager1'],\n", - " fund_mini['Manager2']).pvalue\n" + " fund_mini['Manager2']).pvalue" ] }, { @@ -759,45 +435,15 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "61aabda7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:26.052147Z", - "iopub.status.busy": "2023-07-26T00:00:26.052048Z", - "iopub.status.idle": "2023-07-26T00:00:26.543846Z", - "shell.execute_reply": "2023-07-26T00:00:26.543509Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Multiple Comparison of Means - Tukey HSD, FWER=0.05\n", - "===================================================\n", - "group1 group2 meandiff p-adj lower upper reject\n", - "---------------------------------------------------\n", - " 1 2 -3.1 0.1862 -6.9865 0.7865 False\n", - " 1 3 -0.2 0.9999 -4.0865 3.6865 False\n", - " 1 4 -2.5 0.3948 -6.3865 1.3865 False\n", - " 1 5 -2.7 0.3152 -6.5865 1.1865 False\n", - " 2 3 2.9 0.2453 -0.9865 6.7865 False\n", - " 2 4 0.6 0.9932 -3.2865 4.4865 False\n", - " 2 5 0.4 0.9986 -3.4865 4.2865 False\n", - " 3 4 -2.3 0.482 -6.1865 1.5865 False\n", - " 3 5 -2.5 0.3948 -6.3865 1.3865 False\n", - " 4 5 -0.2 0.9999 -4.0865 3.6865 False\n", - "---------------------------------------------------\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ "returns = np.hstack([fund_mini.iloc[:,i] for i in range(5)])\n", "managers = np.hstack([[i+1]*50 for i in range(5)])\n", "tukey = pairwise_tukeyhsd(returns, managers)\n", - "print(tukey.summary())\n" + "print(tukey.summary())" ] }, { @@ -819,31 +465,13 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "cbcad4de", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:26.545878Z", - "iopub.status.busy": "2023-07-26T00:00:26.545735Z", - "iopub.status.idle": "2023-07-26T00:00:26.635976Z", - "shell.execute_reply": "2023-07-26T00:00:26.635663Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAy0AAAIQCAYAAACMg4HBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9PElEQVR4nO3de1yUdf7//+eICchhPKGikBhuHlPLykxB8ZinVMJzamZlfbST28ndWx4qw87SybR2Zdc0TUPdTPNQKlRr6yFbc9N006+CqHgCoUIb3r8//DHrCCigMG/xcb/d5nZzrnlfc72uay7Gec71fr/HYYwxAgAAAABLVfJ2AQAAAABwIYQWAAAAAFYjtAAAAACwGqEFAAAAgNUILQAAAACsRmgBAAAAYDVCCwAAAACrEVoAAAAAWI3QAgAAAMBqhBaggpkyZYocDkex2iYmJsrhcGjfvn0l3s769evlcDi0fv36Eq+LonXq1EmdOnXydhmwWGF/t944by7l/aOksrOzVbt2bc2bN++yP3f+fmzevPmyP3dRjh07poCAAK1YsaLctglc6QgtQDnK/8/R4XDoq6++KvC4MUbh4eFyOBzq06fPZdvuiy++qKVLl1625ytLWVlZmjp1qlq1aqXAwED5+/urRYsWevrpp3Xw4EFvl4eL6NSpk/scdzgcqlKliho2bKgHHnhABw4cKNVzHjx4UFOmTNG2bdsub7GWuvXWW+VwODRz5szL/twREREer0/t2rUVFRWlJUuWXPZtXU4JCQkKCgrSkCFDtG/fPo99uNCtPAJVadSsWVP33Xefnn32WW+XAlwxKnu7AOBq5Ofnp/nz56tDhw4eyzds2KDU1FT5+vpe1u29+OKLiouLU//+/T2WjxgxQkOGDLns2yutn3/+WV27dtX+/fs1cOBAPfDAA6pSpYr+/e9/6y9/+YuWLFmin376ydtllqnVq1d7u4RLFhYWpvj4eEnS6dOn9Z///EfvvfeeVq1apR9//FFVq1Yt0fMdPHhQU6dOVUREhFq3bl0GFdtj9+7d2rRpkyIiIjRv3jw99NBDl30brVu31h//+EdJZ4/trFmzFBsbq5kzZ+rBBx8s9vOU1/vHmTNnlJCQoMcff1w+Pj4KCQnR3LlzPdq89tprSk1N1RtvvOGxPCQkpExruxQPPvig3nzzTX355Zfq3Lmzt8sBrEdoAbygV69eWrRokd58801Vrvy/P8P58+erTZs2Onr0aLnU4ePjIx8fn3LZ1sX8/vvvio2N1eHDh7V+/foCgW7atGl66aWXvFRd2fvll19UtWpVValSxdulXDKn06m7777bY1nDhg01fvx4ff311+rWrZuXKrPfhx9+qNq1a+u1115TXFyc9u3bp4iIiMu6jfr163u8PiNHjlSjRo30xhtvlCi0FOf9wxij3377Tf7+/qWud/ny5crIyNCgQYMkSQEBAQXOrwULFujEiRMFltusadOmatGihRITEwktQDHQPQzwgqFDh+rYsWNas2aNe9np06e1ePFiDRs2rED7osaP5HeTSExMLHJbDodDOTk5+tvf/ubuMnHPPfdIKrxPekREhPr06aPVq1erdevW8vPzU7NmzZSUlFSsffv22291xx13yOl0qmrVqurYsaO+/vrri673ySef6Pvvv9ef//znAoFFkoKDgzVt2jSPZYsWLVKbNm3k7++vWrVq6e6771ZaWppHm3vuuUeBgYHav3+/+vTpo8DAQNWvX1/vvPOOJGn79u3q3LmzAgIC1KBBA82fP99j/fxjlJycrLFjx6pmzZoKDg7WyJEjdeLECY+2y5YtU+/evVWvXj35+voqMjJSzz//vFwul0e7Tp06qUWLFtqyZYuio6NVtWpV/elPf3I/dv7YhLfeekvNmzdX1apVVb16dd18880F6vzuu+/Us2dPBQcHKzAwUF26dNHGjRsL3Zevv/5aEyZMUEhIiAICAjRgwABlZGR4tN28ebN69OihWrVqyd/fXw0bNtS9995b4HUprrp160qSR0iXpLS0NN17772qU6eOfH191bx5c/31r391P75+/XrdcsstkqTRo0e7z+HExES9+eab8vHx0cmTJ93tX3vtNTkcDk2YMMG9zOVyKSgoSE8//bR7WV5enmbMmKHmzZvLz89PderU0dixYwu8ppK0cuVKRUVFKSAgQEFBQerdu7d27Njh0Sb/PEtLS1P//v0VGBiokJAQPfHEEwVe/wuZP3++4uLi1KdPHzmdzgKvc1moW7eumjZtqr1790qS/v3vf+uee+7RddddJz8/P9WtW1f33nuvjh075rHehd4/Vq1apZtvvln+/v6aNWuWJGnNmjXq0KGDqlWrpsDAQDVu3Nh93l/I0qVLFRERocjIyBLtl8Ph0JQpUwosj4iIcL8HFuXEiRO69dZbFRYWpl27dkmScnNzNXnyZDVq1Ei+vr4KDw/XU089pdzcXPd6HTt2VKtWrQp9zsaNG6tHjx4ey7p166ZPP/1UxpgS7RtwNSK0AF4QERGhdu3a6aOPPnIvW7lypTIzMzVkyJDLuq25c+fK19dXUVFRmjt3rubOnauxY8decJ3du3dr8ODB6tmzp+Lj41W5cmUNHDjQI2QV5ssvv1R0dLSysrI0efJkvfjiizp58qQ6d+6sf/3rXxdc9x//+Ieks11OiiMxMVGDBg2Sj4+P4uPjdf/99yspKUkdOnTw+BArnf3Q2rNnT4WHh+vll19WRESExo8fr8TERN1xxx26+eab9dJLLykoKEgjR450f3g71/jx4/Xjjz9qypQpGjlypObNm6f+/ft7fNhITExUYGCgJkyYoISEBLVp00aTJk3SM888U+D5jh07pp49e6p169aaMWOGYmJiCt3P999/X4888oiaNWumGTNmaOrUqWrdurW+/fZbd5sdO3YoKipK33//vZ566ik9++yz2rt3rzp16uTRLt/DDz+s77//XpMnT9ZDDz2kTz/9VOPHj3c/fuTIEXXv3l379u3TM888o7feekvDhw8vEIKK4nK5dPToUR09elTp6en68ssv3R/22rdv7253+PBh3XbbbVq7dq3Gjx+vhIQENWrUSGPGjNGMGTMknf02+rnnnpMkPfDAA+5zODo6WlFRUcrLy/MYH5aSkqJKlSopJSXFvey7775Tdna2oqOj3cvGjh2rJ598Uu3bt1dCQoJGjx6tefPmqUePHjpz5oy73dy5c9W7d28FBgbqpZde0rPPPqv//Oc/6tChQ4HxEi6XSz169FDNmjX16quvqmPHjnrttdc0e/bsYh23b7/9Vnv27NHQoUNVpUoVxcbGlsnA8/OdOXNGBw4cUM2aNSWdDRc///yzRo8erbfeektDhgzRggUL1KtXr2J9uN61a5eGDh2qbt26KSEhQa1bt9aOHTvUp08f5ebm6rnnntNrr72mO++8s1hfaHzzzTe66aabLnk/i+vo0aPq3LmzDh8+rA0bNqhx48bKy8vTnXfeqVdffVV9+/bVW2+9pf79++uNN97Q4MGD3euOGDFC//73v/XDDz94POemTZv0008/FbgS1KZNG508ebJACAZQCAOg3MyZM8dIMps2bTJvv/22CQoKMr/88osxxpiBAweamJgYY4wxDRo0ML1793avt27dOiPJrFu3zuP59u7daySZOXPmuJdNnjzZnP+nHRAQYEaNGlVkPXv37nUva9CggZFkPvnkE/eyzMxMExoaam688cYia8rLyzN/+MMfTI8ePUxeXp673S+//GIaNmxounXrdsFjc+ONNxqn03nBNvlOnz5tateubVq0aGF+/fVX9/Lly5cbSWbSpEnuZaNGjTKSzIsvvuheduLECePv728cDodZsGCBe/nOnTuNJDN58mT3svxj1KZNG3P69Gn38pdfftlIMsuWLfPY1/ONHTvWVK1a1fz222/uZR07djSSzHvvvVegfceOHU3Hjh3d9/v162eaN29+wePRv39/U6VKFfPf//7XvezgwYMmKCjIREdHF9iXrl27erxGjz/+uPHx8TEnT540xhizZMkS93laUvn7dv6tadOm5ueff/ZoO2bMGBMaGmqOHj3qsXzIkCHG6XS6j+emTZsKnOfGGONyuUxwcLB56qmnjDFnz8GaNWuagQMHGh8fH3Pq1CljjDGvv/66qVSpkjlx4oQxxpiUlBQjycybN8/j+T7//HOP5adOnTLVqlUz999/v0e7Q4cOGafT6bE8/zx77rnnPNreeOONpk2bNsU6duPHjzfh4eHu12b16tVGkvnuu+882hX2d3v+eVOUBg0amO7du5uMjAyTkZFhvv/+ezNkyBAjyTz88MPGmMLP448++shIMsnJyResI//94/PPP/dY/4033jCSTEZGxkVrPNeZM2eMw+Ewf/zjHy/Yrnfv3qZBgwYey87/Wz63xnPfD899X05PTzfNmzc31113ndm3b5+7zdy5c02lSpVMSkqKx3O99957RpL5+uuvjTHGnDx50vj5+Zmnn37ao90jjzxiAgICTHZ2tsfyb775xkgyCxcuvOD+ATCGKy2AlwwaNEi//vqrli9frlOnTmn58uWFdg3zhnr16mnAgAHu+/ndob777jsdOnSo0HW2bdum3bt3a9iwYTp27Jj7m/acnBx16dJFycnJysvLK3KbWVlZCgoKKlZ9mzdv1pEjR/R///d/8vPzcy/v3bu3mjRpos8++6zAOvfdd5/739WqVVPjxo0VEBDg7icvne2+Ua1aNf38888F1n/ggQd0zTXXuO8/9NBDqly5sseUpef22z916pSOHj2qqKgo/fLLL9q5c6fH8/n6+mr06NEX3ddq1aopNTVVmzZtKvRxl8ul1atXq3///rruuuvcy0NDQzVs2DB99dVXysrKKrAv506LHRUVJZfLpf/3//6fe5vS2bEE5151KK6IiAitWbNGa9as0cqVKzVjxgxlZmaqZ8+e7m5oxhh98skn6tu3r4wx7vPl6NGj6tGjhzIzM7V169YLbqdSpUq6/fbblZycLEn68ccfdezYMT3zzDMyxuif//ynpLNXX1q0aOHer0WLFsnpdKpbt24e223Tpo0CAwO1bt06SWevOJw8eVJDhw71aOfj46O2bdu6253r/DEhUVFRhZ5P5/v999+1cOFCDR482P3adO7cuUym+V29erVCQkIUEhKiVq1aadGiRRoxYoR7zNi55/Fvv/2mo0eP6rbbbpOki74m0tnxS+d3g8o/9suWLbvg+8D5jh8/LmOMqlevXux1Sis1NVUdO3bUmTNnlJycrAYNGrgfW7RokZo2baomTZp4nAv5Y1HyzwWn06l+/frpo48+cl+VcrlcWrhwofr376+AgACPbebvV3mNYwSuZIQWwEtCQkLUtWtXzZ8/X0lJSXK5XIqLi/N2WZKkRo0aFfitl+uvv16SipxCdPfu3ZKkUaNGuT8Q5d8++OAD5ebmKjMzs8htBgcH69SpU8WqL//DdePGjQs81qRJE/fj+fz8/ArMIuR0OhUWFlZgP51OZ6HjGv7whz943A8MDFRoaKjH8dixY4cGDBggp9Op4OBghYSEuLuDnL/v9evXL9ag+6efflqBgYG69dZb9Yc//EHjxo3z6FKTkZGhX375pdBj0bRpU+Xl5RWYavjaa6/1uJ//wSl/vzt27Ki77rpLU6dOVa1atdSvXz/NmTPHo+/+hQQEBKhr167q2rWr7rjjDj366KP6xz/+oV27dmn69Onuuk+ePKnZs2cXOF/yw9yRI0cuuq2oqCht2bJFv/76q1JSUhQaGqqbbrpJrVq1cncR++qrrxQVFeVeZ/fu3crMzFTt2rULbDs7O9u93fxzunPnzgXarV69ukB9hZ1n1atXL/R8Ot/q1auVkZGhW2+9VXv27NGePXu0d+9excTE6KOPPirRB/2Ladu2rdasWaO1a9fqm2++0dGjR/X3v//dHVaOHz+uRx99VHXq1JG/v79CQkLUsGFDSQXP48Lktz3X4MGD1b59e913332qU6eOhgwZoo8//rjY+2XKYczHiBEjdOTIEW3YsEH169f3eGz37t3asWNHgfMg/33x3HNh5MiR2r9/v/v8W7t2rQ4fPlxo19f8/Srub2sBVzNmDwO8aNiwYbr//vt16NAh9ezZ0/1t5PmK+g+tJAN8y1r+h49XXnmlyGlpAwMDi1y/SZMm+u6773TgwAGFh4df1tqKmuGoqOWl+YB08uRJdezYUcHBwXruuecUGRkpPz8/bd26VU8//XSBD2fFnU2padOm2rVrl5YvX67PP/9cn3zyid59911NmjRJU6dOLXGd0sX32+FwaPHixdq4caM+/fRTrVq1Svfee69ee+01bdy48YKvY1HatGkjp9PpviqSfzzuvvtujRo1qtB1WrZsedHn7dChg86cOaN//vOfSklJcYeTqKgopaSkaOfOncrIyPAILXl5eRe8gpEfPPJrnDt3rnsigXOdP6nApczEl1/LuVf+zrVhw4Yixz2VVK1atdS1a9ciHx80aJC++eYbPfnkk2rdurUCAwOVl5enO+64o1gho7Bz29/fX8nJyVq3bp0+++wzff7551q4cKE6d+6s1atXF3nsatSoIYfDUazgV1xFvW/Gxsbq73//uxISEtxTdufLy8vTDTfcoNdff73Qdc99z+rRo4fq1KmjDz/8UNHR0frwww9Vt27dQo95/n7VqlWrtLsDXDUILYAXDRgwQGPHjtXGjRu1cOHCItvlfxN+/gDz868oFKWk3+Lt2bNHxhiP9fJ/H6Wo6VfzZ/YJDg6+4AeiovTt21cfffSRPvzwQ02cOPGCbfO7bezatavAVKG7du3y6NZxuezevdvjQ2N2drbS09PVq1cvSWdnuTp27JiSkpI8BnwXNqi/pAICAjR48GANHjxYp0+fVmxsrKZNm6aJEycqJCREVatWdc9wdK6dO3eqUqVKpQ6Bt912m2677TZNmzZN8+fP1/Dhw7VgwQKPrnYl4XK5lJ2dLelsMAgKCpLL5bro+XKh8/fWW29VlSpVlJKSopSUFD355JOSpOjoaL3//vv64osv3PfzRUZGau3atWrfvv0Fw2P+OV27du1SndPFlZOTo2XLlmnw4MGFXm195JFHNG/evMsWWi7kxIkT+uKLLzR16lRNmjTJvTz/qtOlqFSpkrp06aIuXbro9ddf14svvqg///nPWrduXZHHt3LlyoqMjCzV31H16tULvGeePn1a6enphbZ/+OGH1ahRI02aNElOp9NjAo3IyEh9//336tKly0XfT318fDRs2DAlJibqpZde0tKlS3X//fcXGszy96tp06Yl3Dvg6kP3MMCLAgMDNXPmTE2ZMkV9+/Ytsl2DBg3k4+Pj/pY637vvvlus7QQEBBT4z/tCDh486PEL2VlZWfr73/+u1q1bF/qNs3T2m/TIyEi9+uqr7g+m5zp/St3zxcXF6YYbbtC0adPcYxHOderUKf35z3+WJN18882qXbu23nvvPY8uSytXrtSPP/6o3r17F2s/S2L27Nke4ztmzpyp33//XT179pT0v2/Zz71Kc/r06WK/RkU5f5rZKlWqqFmzZjLG6MyZM/Lx8VH37t21bNkyj65qhw8fdv+AaXBwcIm2eeLEiQJXm/KvnhW3i9j51q1bp+zsbPd0sD4+Prrrrrv0ySefFJhpSfI8X/LHARR2Dvv5+emWW27RRx99pP3793tcafn111/15ptvKjIyUqGhoe51Bg0aJJfLpeeff77A8/3+++/u7fTo0UPBwcF68cUXCx3bc7FzuriWLFminJwcjRs3TnFxcQVuffr00SeffFLqY18ShZ3HktyzuZXW8ePHCywr7jnVrl07bd68ucTbjIyMLPCeOXv27AteoX722Wf1xBNPaOLEiZo5c6Z7+aBBg5SWlqb333+/wDq//vqrcnJyPJaNGDFCJ06c0NixY5WdnV3k78ds2bJFTqdTzZs3L8muAVclrrQAXlZU15hzOZ1ODRw4UG+99ZYcDociIyO1fPnyYvX5l84GirVr1+r1119XvXr11LBhQ7Vt27bI9tdff73GjBmjTZs2qU6dOvrrX/+qw4cPa86cOUWuU6lSJX3wwQfq2bOnmjdvrtGjR6t+/fpKS0vTunXrFBwcrE8//bTI9a+55holJSWpa9euio6O1qBBg9S+fXtdc8012rFjh+bPn6/q1atr2rRpuuaaa/TSSy9p9OjR6tixo4YOHarDhw8rISFBERERevzxx4t1XEri9OnT6tKliwYNGqRdu3bp3XffVYcOHXTnnXdKkm6//XZVr15do0aN0iOPPCKHw6G5c+decl/87t27q27dumrfvr3q1KmjH3/8UW+//bZ69+7tnrjghRdecP8Gxv/93/+pcuXKmjVrlnJzc/Xyyy+XeJt/+9vf9O67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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = plt.subplots(figsize=(8,8))\n", - "tukey.plot_simultaneous(ax=ax);\n" + "tukey.plot_simultaneous(ax=ax);" ] }, { @@ -860,21 +488,14 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "b5842190", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:26.637968Z", - "iopub.status.busy": "2023-07-26T00:00:26.637827Z", - "iopub.status.idle": "2023-07-26T00:00:27.041757Z", - "shell.execute_reply": "2023-07-26T00:00:27.041385Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "fund_pvalues = np.empty(2000)\n", "for i, manager in enumerate(Fund.columns):\n", - " fund_pvalues[i] = ttest_1samp(Fund[manager], 0).pvalue\n" + " fund_pvalues[i] = ttest_1samp(Fund[manager], 0).pvalue" ] }, { @@ -889,32 +510,13 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "7c9d8bed", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:27.043624Z", - "iopub.status.busy": "2023-07-26T00:00:27.043492Z", - "iopub.status.idle": "2023-07-26T00:00:27.046326Z", - "shell.execute_reply": "2023-07-26T00:00:27.046047Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0.08988921, 0.991491 , 0.12211561, 0.92342997, 0.95603587,\n", - " 0.07513802, 0.0767015 , 0.07513802, 0.07513802, 0.07513802])" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fund_qvalues = mult_test(fund_pvalues, method = \"fdr_bh\")[1]\n", - "fund_qvalues[:10]\n" + "fund_qvalues[:10]" ] }, { @@ -934,31 +536,12 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "bfa39f7c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:27.048023Z", - "iopub.status.busy": "2023-07-26T00:00:27.047902Z", - "iopub.status.idle": "2023-07-26T00:00:27.050271Z", - "shell.execute_reply": "2023-07-26T00:00:27.049978Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "146" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(fund_qvalues <= 0.1).sum()\n" + "metadata": {}, + "outputs": [], + "source": [ + "(fund_qvalues <= 0.1).sum()" ] }, { @@ -978,31 +561,12 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "70b69b47", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:27.051940Z", - "iopub.status.busy": "2023-07-26T00:00:27.051831Z", - "iopub.status.idle": "2023-07-26T00:00:27.054171Z", - "shell.execute_reply": "2023-07-26T00:00:27.053894Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(fund_pvalues <= 0.1 / 2000).sum()\n" + "metadata": {}, + "outputs": [], + "source": [ + "(fund_pvalues <= 0.1 / 2000).sum()" ] }, { @@ -1028,16 +592,9 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "4c0ddea1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:27.055856Z", - "iopub.status.busy": "2023-07-26T00:00:27.055741Z", - "iopub.status.idle": "2023-07-26T00:00:27.058467Z", - "shell.execute_reply": "2023-07-26T00:00:27.058182Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "sorted_ = np.sort(fund_pvalues)\n", @@ -1049,7 +606,7 @@ " sorted_set_ = np.arange(sorted_set_.max())\n", "else:\n", " selected_ = []\n", - " sorted_set_ = []\n" + " sorted_set_ = []" ] }, { @@ -1062,29 +619,10 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "0314eac9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:27.060132Z", - "iopub.status.busy": "2023-07-26T00:00:27.060006Z", - "iopub.status.idle": "2023-07-26T00:00:27.320810Z", - "shell.execute_reply": "2023-07-26T00:00:27.320465Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = plt.subplots()\n", "ax.scatter(np.arange(0, sorted_.shape[0]) + 1,\n", @@ -1094,7 +632,7 @@ "ax.set_ylabel('P-Value')\n", "ax.set_xlabel('Index')\n", "ax.scatter(sorted_set_+1, sorted_[sorted_set_], c='r', s=20)\n", - "ax.axline((0, 0), (1,q/m), c='k', ls='--', linewidth=3);\n" + "ax.axline((0, 0), (1,q/m), c='k', ls='--', linewidth=3);" ] }, { @@ -1112,38 +650,15 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "b59b8137", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:27.322735Z", - "iopub.status.busy": "2023-07-26T00:00:27.322608Z", - "iopub.status.idle": "2023-07-26T00:00:27.397859Z", - "shell.execute_reply": "2023-07-26T00:00:27.397542Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "2 29\n", - "4 25\n", - "3 18\n", - "1 11\n", - "Name: Y, dtype: int64" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Khan = load_data('Khan') \n", "D = pd.concat([Khan['xtrain'], Khan['xtest']])\n", "D['Y'] = pd.concat([Khan['ytrain'], Khan['ytest']])\n", - "D['Y'].value_counts()\n" + "D['Y'].value_counts()" ] }, { @@ -1163,29 +678,10 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "96fb2f61", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:27.399700Z", - "iopub.status.busy": "2023-07-26T00:00:27.399569Z", - "iopub.status.idle": "2023-07-26T00:00:27.403423Z", - "shell.execute_reply": "2023-07-26T00:00:27.403115Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(-2.0936330736768185, 0.04118643782678394)" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "D2 = D[lambda df:df['Y'] == 2]\n", "D4 = D[lambda df:df['Y'] == 4]\n", @@ -1193,7 +689,7 @@ "observedT, pvalue = ttest_ind(D2[gene_11],\n", " D4[gene_11],\n", " equal_var=True)\n", - "observedT, pvalue\n" + "observedT, pvalue" ] }, { @@ -1216,29 +712,10 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "fdc229fa", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:27.405191Z", - "iopub.status.busy": "2023-07-26T00:00:27.405090Z", - "iopub.status.idle": "2023-07-26T00:00:28.262471Z", - "shell.execute_reply": "2023-07-26T00:00:28.262168Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0.0398" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "B = 10000\n", "Tnull = np.empty(B)\n", @@ -1251,7 +728,7 @@ " D_null[n_:],\n", " equal_var=True)\n", " Tnull[b] = ttest_.statistic\n", - "(np.abs(Tnull) > np.abs(observedT)).mean()\n" + "(np.abs(Tnull) > np.abs(observedT)).mean()" ] }, { @@ -1267,29 +744,10 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "e3894695", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:28.264140Z", - "iopub.status.busy": "2023-07-26T00:00:28.264026Z", - "iopub.status.idle": "2023-07-26T00:00:28.488348Z", - "shell.execute_reply": "2023-07-26T00:00:28.487989Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqgAAAKnCAYAAABK7r+JAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB6eElEQVR4nO3deXhU5f3+8fckIfvGmhAI+45AWCOiGDUarLViXdAf36Kpxdal1caVtoJbG3ArLijuoqLQWkXbahSjoS7siCCboCBrQggkQxLINvP742QGAgkwIckzy/26rrnOmZkzZz6ThHDn2Y7N6XQ6ERERERHxEkGmCxAREREROZoCqoiIiIh4FQVUEREREfEqCqgiIiIi4lUUUEVERETEqyigioiIiIhXUUAVEREREa+igCoiIiIiXiXEdAFNweFwsHv3bmJiYrDZbKbLEREREZFjOJ1ODh48SFJSEkFBJ24j9YuAunv3bpKTk02XISIiIiInsWPHDjp37nzCY/wioMbExADWB46NjTVcjYjnysogKcna370boqLM1iMiItLU7HY7ycnJ7tx2In4RUF3d+rGxsQqo4pOCg4/sx8YqoIqIiP86leGYmiQlIiIiIl5FAVVEREREvIoCqoiIiIh4Fb8YgyoiIiK+zel0Ul1dTU1NjelS5DQEBwcTEhJy2st+KqCKiIiIUZWVlezZs4fy8nLTpUgTiIyMpGPHjoSGhjb6HAqoIiIiYozD4WDr1q0EBweTlJREaGioLrrjo5xOJ5WVlRQWFrJ161Z69+590gX5G6KAKiIiIsZUVlbicDhITk4mMjLSdDlymiIiImjVqhU//fQTlZWVhIeHN+o8miQlIiIixjW2pU28T1N8L/XTICIiIiJeRQFVRERExKDrr7+e8ePHu++npaVx++23G6vHG2gMqoiIiHidvLyWnSiVlub0+DXXX389c+bMITs7m3vvvdf9+IIFC7j88stxOj0/p1jUgioiIiLSSOHh4cyYMYMDBw6YLsWvKKCKiIiINFJ6ejqJiYlkZ2fX+/z9999PSkpKncdmzpxJt27dmr84H6aAKiIiItJIwcHB/O1vf+Ppp59m586dpsvxGwqoIiIiIqfh8ssvJyUlhWnTppkuxW8ooIqIiIicphkzZjBnzhw2bNhguhS/oIAqIiIicprGjh1LRkYGU6ZMqfN4UFDQcbP5q6qqWrI0n6RlpkRERESawPTp00lJSaFv377ux9q3b09+fj5OpxObzVo6a/Xq1YYq9B1qQRURERFpAoMGDWLixIk89dRT7sfS0tIoLCzkkUce4YcffmDWrFl89NFHBqv0DQqoIiIiIk3kwQcfxOFwuO/379+fZ599llmzZjFkyBCWLVvGnXfeabBC32Bz+sFlDux2O3FxcZSUlBAbG2u6HBGPlZVBdLS1X1oKUVFm6xERaSmHDx9m69atdO/enfDwcNPlSBNo6HvqSV5TC6qIiIiIeBUFVBERERHxKgqoIiIiIuJVFFBFRERExKsooIqIiIiIV9FC/SIiASQvz3bcY2lpPr+Yi4j4GbWgioiIiIhXUUAVEREREa+iLn4RER+nbnsR8TdqQRURERFpRt26dWPmzJmmy2gyLfF5FFBFREREGmnHjh38+te/JikpidDQULp27cptt91GUVGR6dJ8mgKqiIiISCP8+OOPjBgxgs2bN/P222+zZcsWZs+eTW5uLqNHj2b//v1G6qqpqcHhcBh576aigCoiIiLSCLfccguhoaF88sknnHvuuXTp0oWLL76YTz/9lF27dvHnP//ZfezBgwe59tpriYqKolOnTsyaNcv9nNPp5P7776dLly6EhYWRlJTEH/7wB/fzFRUV3HnnnXTq1ImoqChSU1PJy8tzP//aa68RHx/PBx98wIABAwgLC+Oll14iPDyc4uLiOjXfdtttnH/++e77X375Jeeccw4REREkJyfzhz/8gbKyMvfze/fu5dJLLyUiIoLu3bszd+7cJvwKNkwBVURERLyG0wllZWZuTg/mFu7fv5+PP/6Ym2++mYiIiDrPJSYmMnHiRObPn4+z9qSPPvooQ4YM4ZtvvuHee+/ltttuY+HChQD861//4u9//zvPP/88mzdvZsGCBQwaNMh9vltvvZXFixczb9481qxZw1VXXcW4cePYvHmz+5jy8nJmzJjBSy+9xLp165g4cSLx8fH861//ch9TU1PD/PnzmThxIgA//PAD48aN44orrmDNmjXMnz+fL7/8kltvvdX9muuvv54dO3bw+eef88477/Dss8+yd+/eU/9CNZJm8YuIiIjXKC+H6Ggz711aClFRp3bs5s2bcTqd9O/fv97n+/fvz4EDBygsLARgzJgx3HvvvQD06dOHr776ir///e9ceOGFbN++ncTERNLT02nVqhVdunRh1KhRAGzfvp1XX32V7du3k5SUBMCdd95JTk4Or776Kn/7298AqKqq4tlnn2XIkCHuGq655hreeustbrjhBgByc3MpLi7miiuuACA7O5uJEydy++23A9C7d2+eeuopzj33XJ577jm2b9/ORx99xLJlyxg5ciQAL7/8coOfuSmpBVVERESkkZyn2Ow6evTo4+5v2LABgKuuuopDhw7Ro0cPJk+ezHvvvUd1dTUAa9eupaamhj59+hAdHe2+LVq0iB9++MF9vtDQUAYPHlznPSZOnEheXh67d+8GYO7cuVxyySXEx8cD8O233/Laa6/VOW9GRgYOh4OtW7eyYcMGQkJCGD58uPuc/fr1c7++OakFVURERLxGZKTVkmnqvU9Vr169sNlsbNiwgcsvv/y45zds2EDr1q1p3779Sc+VnJzMpk2b+PTTT1m4cCE333wzjz76KIsWLaK0tJTg4GBWrlxJcHBwnddFH9XUHBERgc1Wd03kkSNH0rNnT+bNm8dNN93Ee++9x2uvveZ+vrS0lN/+9rd1xru6dOnShe+///6ktTcXBVQRERHxGjbbqXezm9S2bVsuvPBCnn32Wf74xz/WGYean5/P3LlzmTRpkjs0LlmypM7rlyxZUqerPCIigksvvZRLL72UW265hX79+rF27VqGDh1KTU0Ne/fu5ZxzzvG4zokTJzJ37lw6d+5MUFAQl1xyifu5YcOGsX79enr16lXva/v160d1dTUrV650d/Fv2rTpuIlXzUFd/CIiIiKN8Mwzz1BRUUFGRgb/+9//2LFjBzk5OVx44YV06tSJv/71r+5jv/rqKx555BG+//57Zs2axT//+U9uu+02wJqF//LLL/Pdd9/x448/8uabbxIREUHXrl3p06cPEydOZNKkSbz77rts3bqVZcuWkZ2dzX//+9+T1jhx4kRWrVrFX//6V6688krCwsLcz91zzz18/fXX3HrrraxevZrNmzfz/vvvuydJ9e3bl3HjxvHb3/6WpUuXsnLlSn7zm98cNymsOSigioiIiDRC7969WbFiBT169ODqq6+mZ8+e3HjjjZx33nksXryYNm3auI+94447WLFiBUOHDuXhhx/miSeeICMjA4D4+HhefPFFxowZw+DBg/n000/597//Tdu2bQF49dVXmTRpEnfccQd9+/Zl/PjxLF++nC5d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RkYGe/fuNV2atKBFixZxyy23sGTJEhYuXEhVVRUXXXQRZWVlpksTg5YvX87zzz/P4MGDTZfSJLTMlI/46KOPyMrK4l//+hcDBw7km2++cV8aVgLbo48+ynPPPcePP/5ouhRpZqmpqYwcOZJnnnkGsC41nZyczO9//3vuvfdew9WJKYWFhXTo0IFFixYxduxY0+WIAaWlpQwbNoxnn32Whx9+mJSUFGbOnGm6rNOiFlQfUFBQwOTJk3njjTeIjIw0XY54mZKSEtq0aWO6DGlmlZWVrFy5kvT0dPdjQUFBpKens3jxYoOViWklJSUA+j0QwG655RYuueSSOr8ffJ3HlzqVluV0Orn++uv53e9+x4gRI9i2bZvpksSLbNmyhaeffprHHnvMdCnSzPbt20dNTY37stIuCQkJbNy40VBVYprD4eD2229nzJgxdS4hLoFj3rx5rFq1iuXLl5supUmpBdWQe++9F5vNdsLbxo0befrppzl48CBTpkwxXbI0o1P9eTjarl27GDduHFdddRWTJ082VLmImHTLLbfw3XffMW/ePNOliAE7duzgtttuY+7cuYSHh5sup0lpDKohhYWFFBUVnfCYHj16cPXVV/Pvf/8bm83mfrympobg4GAmTpzInDlzmrtUaQGn+vMQGhoKwO7du0lLS+PMM8/ktddeIyhIf2v6u8rKSiIjI3nnnXcYP368+/HrrruO4uJi3n//fXPFiRG33nor77//Pv/73//o3r276XLEgAULFnD55ZcTHBzsfqympgabzUZQUBAVFRV1nvMlCqhebvv27djtdvf93bt3k5GRwTvvvENqaiqdO3c2WJ2YsGvXLs477zyGDx/Om2++6bO/fMRzqampjBo1iqeffhqwune7dOnCrbfeqklSAcTpdPL73/+e9957j7y8PHr37m26JDHk4MGD/PTTT3Uey8zMpF+/ftxzzz0+PexDY1C9XJcuXercj46OBqBnz54KpwFo165dpKWl0bVrVx577DEKCwvdzyUmJhqsTFpCVlYW1113HSNGjGDUqFHMnDmTsrIyMjMzTZcmLeiWW27hrbfe4v333ycmJob8/HwA4uLiiIiIMFydtKSYmJjjQmhUVBRt27b16XAKCqgiPmXhwoVs2bKFLVu2HPcHijpD/N+ECRMoLCxk6tSp5Ofnk5KSQk5OznETp8S/PffccwCkpaXVefzVV1/l+uuvb/mCRJqBuvhFRERExKtoZoWIiIiIeBUFVBERERHxKgqoIiIiIuJVFFBFRERExKsooIqIiIiIV1FAFRERERGvooAqIiIiIl5FAVVEPHL99dfXuRZ8Wloat99+e5OcuynPdbT777+flJQU9/1jP0NzvpdJL7zwAsnJyQQFBTFz5kzT5Ri3bds2bDYbq1evbvQ5mvNnR0SOUEAVCQDXX389NpuN6dOn13l8wYIF2Gy2Zn3v1157DZvNhs1mIzg4mNatW5OamsqDDz5ISUlJnWPfffddHnrooVM6rydh9s477yQ3N9fT0k/KZrOxYMGCFnkvT9ntdm699Vbuuecedu3axY033ljn+aO/Lw3dtm3b1qj3fu2114iPjz/pcTU1NUyfPp1+/foRERFBmzZtSE1N5aWXXnIf09g/WuoLksnJyezZs+eULgHZUJh98sknee211zyuR0Q8o0udigSI8PBwZsyYwW9/+1tat27dou8dGxvLpk2bcDqdFBcX8/XXX5Odnc2rr77KV199RVJSEgBt2rRp0vd1Op3U1NQQHR1NdHR0k567IS35Xieyfft2qqqquOSSS+jYseNxz0+YMIFx48a57//yl7/kjDPO4MEHH3Q/1r59+2at8YEHHuD555/nmWeeYcSIEdjtdlasWMGBAwea5f2Cg4NJTEw8rXPExcU1UTUiciJqQRUJEOnp6SQmJpKdnd3gMfV1T8+cOZNu3bqd1nvbbDYSExPp2LEj/fv354YbbuDrr7+mtLSUu+++233csa1lzz77LL179yY8PJyEhASuvPJKwGodW7RoEU8++WSd1r68vDxsNhsfffQRw4cPJywsjC+//LLBbvcHHniA9u3bExsby+9+9zsqKyvdz3Xr1u24bvGUlBTuv/9+9/MAl19+OTabzX3/2PdyOBw8+OCDdO7cmbCwMFJSUsjJyXE/72qpe/fddznvvPOIjIxkyJAhLF68+IRf0+3bt3PZZZcRHR1NbGwsV199NQUFBYDVgjlo0CAAevToUW9raEREBImJie5baGgokZGR7vvh4eH89re/dX99zj//fL799lv367/99lvOO+88YmJiiI2NZfjw4axYsYK8vDwyMzMpKSlxf29cX7NjffDBB9x8881cddVVdO/enSFDhnDDDTdw5513Ag1/n2tqarjhhhvo3r07ERER9O3blyeffNJ93vvvv585c+bw/vvvu1+Xl5d3XKvogQMHmDhxIu3btyciIoLevXvz6quvAtC9e3cAhg4dis1mc1/3/tiWWYfDwSOPPEKvXr0ICwujS5cu/PWvfz3h905ETk4BVSRABAcH87e//Y2nn36anTt3mi6HDh06MHHiRD744ANqamqOe37FihX84Q9/4MEHH2TTpk3k5OQwduxYwOpmHT16NJMnT2bPnj3s2bOH5ORk92vvvfdepk+fzoYNGxg8eHC975+bm8uGDRvIy8vj7bff5t133+WBBx445fqXL18OwKuvvsqePXvc94/15JNP8vjjj/PYY4+xZs0aMjIy+MUvfsHmzZvrHPfnP/+ZO++8k9WrV9OnTx+uvfZaqqur6z2nw+HgsssuY//+/SxatIiFCxfy448/MmHCBMBqHf30008BWLZs2XFfn1Nx1VVXsXfvXj766CNWrlzJsGHDuOCCC9i/fz8AEydOpHPnzixfvpyVK1dy77330qpVK8466yxmzpxJbGys+3vjCpzHSkxM5LPPPqOwsLDBr11932eHw0Hnzp355z//yfr165k6dSp/+tOf+Mc//gFYwyyuvvpqxo0b537dWWedddz577vvPtavX89HH33Ehg0beO6552jXrp376wbw6aefsmfPHt599916a5wyZQrTp093n+utt94iISHBo6+1iBxPXfwiAeTyyy8nJSWFadOm8fLLL5suh379+nHw4EGKioro0KFDnee2b99OVFQUP//5z4mJiaFr164MHToUsLpZj27xO9aDDz7IhRdeeML3Dg0N5ZVXXiEyMpKBAwfy4IMPctddd/HQQw8RFHTyv91d3d/x8fEn7DZ+7LHHuOeee7jmmmsAmDFjBp9//jkzZ85k1qxZ7uPuvPNOLrnkEsBq2R04cCBbtmyhX79+x50zNzeXtWvXsnXrVnfwfP311xk4cCDLly9n5MiRtG3b1l2np93aX375JcuWLWPv3r2EhYW5P8eCBQt45513uPHGG9m+fTt33XWXu77evXu7Xx8XF+duNT+RJ554giuvvJLExEQGDhzIWWedxWWXXcbFF1/sPk993+fg4OA6f0x0796dxYsX849//IOrr76a6OhoIiIiqKioOGEN27dvZ+jQoYwYMQKgTk+B6/vbtm3bBs9x8OBBnnzySZ555hmuu+46AHr27MnZZ599ws8tIienFlSRADNjxgzmzJnDhg0bTJeC0+kEqHei1oUXXkjXrl3p0aMHv/rVr5g7dy7l5eWndF5X4DiRIUOGEBkZ6b4/evRoSktL2bFjxylWf3J2u53du3czZsyYOo+PGTPmuK//0S29rjGje/furfe8GzZsIDk5uU6r6IABA4iPj2+S7+u3335LaWkpbdu2dY+pjY6OZuvWrfzwww8AZGVl8Zvf/Ib09HSmT5/uftwTAwYM4LvvvmPJkiX8+te/Zu/evVx66aX85je/OelrZ82axfDhw2nfvj3R0dG88MILbN++3aP3v+mmm5g3bx4pKSncfffdfP311x69fsOGDVRUVHDBBRd49DoROTkFVJEAM3bsWDIyMpgyZcpxzwUFBblDo0tVVVWz1bJhwwZiY2PdrX1Hi4mJYdWqVbz99tt07NiRqVOnMmTIEIqLi0963qioqNOuraW/Fq1atXLvuwK7w+Fotvc7kdLSUjp27Mjq1avr3DZt2sRdd90FWOM8161bxyWXXMJnn33GgAEDeO+99zx+r6CgIEaOHMntt9/Ou+++y2uvvcbLL7/M1q1bG3zNvHnzuPPOO7nhhhv45JNPWL16NZmZmXXGEJ+Kiy++mJ9++ok//vGP7N69mwsuuKDB4Qj1iYiI8Oj9ROTUKaCKBKDp06fz73//+7iJOO3btyc/P79OMDudNSNPZO/evbz11luMHz++wS71kJAQ0tPTeeSRR1izZg3btm3js88+A6wu+vrGrp6qb7/9lkOHDrnvL1myhOjoaHerZPv27dmzZ4/7ebvdflxoatWq1QlriI2NJSkpia+++qrO41999RUDBgxodO39+/dnx44ddVp7169fT3Fx8Wmd12XYsGHk5+cTEhJCr1696txcYzQB+vTpwx//+Ec++eQTfvnLX7onGJ3O98ZVf1lZWYPn+uqrrzjrrLO4+eabGTp0KL169TquBfdUa2jfvj3XXXcdb775JjNnzuSFF15wvx444Tl69+5NRESEVywrJuJvNAZVJAANGjSIiRMn8tRTT9V5PC0tjcLCQh555BGuvPJKcnJy+Oijj4iNjT2t93M6ne7gW1xczOLFi/nb3/5GXFzccWuzuvznP//hxx9/ZOzYsbRu3ZoPP/wQh8NB3759AWu84NKlS9m2bRvR0dEeL1FVWVnJDTfcwF/+8he2bdvGtGnTuPXWW91h+fzzz+e1117j0ksvJT4+nqlTpxIcHFznHN26dSM3N5cxY8YQFhZW7/Jdd911F9OmTaNnz56kpKTw6quvsnr1aubOnetRvUdLT093fw9nzpxJdXU1N998M+eee+4pDW84lfOPHj2a8ePH88gjj9CnTx92797Nf//7Xy6//HIGDhzIXXfdxZVXXkn37t3ZuXMny5cv54orrgCsr0tpaSm5ubnuoRRHD6dwufLKKxkzZgxnnXUWiYmJbN26lSlTptCnTx/32Nb6vs+9e/fm9ddf5+OPP6Z79+688cYbLF++3D3z3vW6jz/+mE2bNtG2bdt6l4eaOnUqw4cPZ+DAgVRUVPCf//yH/v37A9YkvoiICHJycujcuTPh4eHHnSM8PJx77rmHu+++m9DQUMaMGUNhYSHr1q3jhhtuOO3vg0ggUwuqSIB68MEHj+tC7t+/P88++yyzZs1iyJAhLFu2zKMuz4bY7XY6duxIp06dGD16NM8//zzXXXcd33zzTb1rdII1+ejdd9/l/PPPp3///syePZu3336bgQMHAtakouDgYAYMGED79u09Hn94wQUX0Lt3b8aOHcuECRP4xS9+UWc5pClTpnDuuefy85//nEsuuYTx48fTs2fPOud4/PHHWbhwIcnJye4JXMf6wx/+QFZWFnfccQeDBg0iJyeHDz74oM6kIk/ZbDbef/99WrduzdixY0lPT6dHjx7Mnz+/0ec89vwffvghY8eOJTMzkz59+nDNNdfw008/kZCQQHBwMEVFRUyaNIk+ffpw9dVXc/HFF7snLp111ln87ne/Y8KECbRv355HHnmk3vfJyMjg3//+N5deeil9+vThuuuuo1+/fnzyySeEhFjtJ/V9n3/729/yy1/+kgkTJpCamkpRURE333xznXNPnjyZvn37MmLECNq3b39cKzZYraRTpkxh8ODBjB07luDgYObNmwdYrfdPPfUUzz//PElJSVx22WX1fob77ruPO+64g6lTp9K/f38mTJjQ4NhhETl1Nuexg6xERERERAxSC6qIiIiIeBUFVBERERHxKgqoIiIiIuJVFFBFRERExKsooIqIiIiIV1FAFRERERGvooAqIiIiIl5FAVVEREREvIoCqoiIiIh4FQVUEREREfEqCqgiIiIi4lUUUEVERETEq/x/kNb13kjXtscAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = plt.subplots(figsize=(8,8))\n", "ax.hist(Tnull,\n", @@ -1305,7 +763,7 @@ " c='b',\n", " label='Observed')\n", "ax.legend()\n", - "ax.set_xlabel(\"Null Distribution of Test Statistic\");\n" + "ax.set_xlabel(\"Null Distribution of Test Statistic\");" ] }, { @@ -1327,16 +785,9 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "id": "3b7392cb", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:28.490300Z", - "iopub.status.busy": "2023-07-26T00:00:28.490163Z", - "iopub.status.idle": "2023-07-26T00:01:51.994441Z", - "shell.execute_reply": "2023-07-26T00:01:51.994033Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "m, B = 100, 10000\n", @@ -1356,7 +807,7 @@ " ttest_ = ttest_ind(D_null[:n_],\n", " D_null[n_:],\n", " equal_var=True)\n", - " Tnull_vals[j,b] = ttest_.statistic\n" + " Tnull_vals[j,b] = ttest_.statistic" ] }, { @@ -1373,16 +824,9 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "id": "cac15616", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:01:51.996501Z", - "iopub.status.busy": "2023-07-26T00:01:51.996360Z", - "iopub.status.idle": "2023-07-26T00:01:52.220394Z", - "shell.execute_reply": "2023-07-26T00:01:52.220065Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "cutoffs = np.sort(np.abs(T_vals))\n", @@ -1392,7 +836,7 @@ " V = np.sum(np.abs(Tnull_vals) >= cutoffs[j]) / B\n", " Rs[j] = R\n", " Vs[j] = V\n", - " FDRs[j] = V / R\n" + " FDRs[j] = V / R" ] }, { @@ -1414,48 +858,12 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "9661eb10", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:01:52.222331Z", - "iopub.status.busy": "2023-07-26T00:01:52.222198Z", - "iopub.status.idle": "2023-07-26T00:01:52.225010Z", - "shell.execute_reply": "2023-07-26T00:01:52.224751Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "['G0097',\n", - " 'G0129',\n", - " 'G0182',\n", - " 'G0714',\n", - " 'G0812',\n", - " 'G0941',\n", - " 'G0982',\n", - " 'G1020',\n", - " 'G1022',\n", - " 'G1090',\n", - " 'G1320',\n", - " 'G1634',\n", - " 'G1697',\n", - " 'G1853',\n", - " 'G1854',\n", - " 'G1994',\n", - " 'G2017',\n", - " 'G2115',\n", - " 'G2193']" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sorted(idx[np.abs(T_vals) >= cutoffs[FDRs < 0.1].min()])\n" + "metadata": {}, + "outputs": [], + "source": [ + "sorted(idx[np.abs(T_vals) >= cutoffs[FDRs < 0.1].min()])" ] }, { @@ -1469,60 +877,12 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "18ad4900", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:01:52.226732Z", - "iopub.status.busy": "2023-07-26T00:01:52.226617Z", - "iopub.status.idle": "2023-07-26T00:01:52.229181Z", - "shell.execute_reply": "2023-07-26T00:01:52.228899Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "['G0097',\n", - " 'G0129',\n", - " 'G0158',\n", - " 'G0182',\n", - " 'G0242',\n", - " 'G0552',\n", - " 'G0679',\n", - " 'G0714',\n", - " 'G0751',\n", - " 'G0812',\n", - " 'G0908',\n", - " 'G0941',\n", - " 'G0982',\n", - " 'G1020',\n", - " 'G1022',\n", - " 'G1090',\n", - " 'G1240',\n", - " 'G1244',\n", - " 'G1320',\n", - " 'G1381',\n", - " 'G1514',\n", - " 'G1634',\n", - " 'G1697',\n", - " 'G1768',\n", - " 'G1853',\n", - " 'G1854',\n", - " 'G1907',\n", - " 'G1994',\n", - " 'G2017',\n", - " 'G2115',\n", - " 'G2193']" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sorted(idx[np.abs(T_vals) >= cutoffs[FDRs < 0.2].min()])\n" + "metadata": {}, + "outputs": [], + "source": [ + "sorted(idx[np.abs(T_vals) >= cutoffs[FDRs < 0.2].min()])" ] }, { @@ -1537,53 +897,23 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "28c276b6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:01:52.230871Z", - "iopub.status.busy": "2023-07-26T00:01:52.230743Z", - "iopub.status.idle": "2023-07-26T00:01:52.309521Z", - "shell.execute_reply": "2023-07-26T00:01:52.309196Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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Klc2/xkQABkZ5iM9HQwDatQwVwxu3lzdSCIiIvlxargJCgrC29ubxMREq/bExERCQ0PzPCc0NNSm4/38/PDz87NPwfno1Klws5Oys1jsU4uIiEhx59QVin19fWnRogUrVqzIasvMzGTFihVERETkeU5ERITV8QDLly/P9/iiYLFc+0NERETsw+ndUjExMfTr14/w8HBatWrFlClTSElJoX///gD07duXKlWqEBcXB8DQoUPp0KEDr732Gt27d2fOnDls2bKF9957z5lfQ0RERFyE08NNdHQ0x48fZ+zYsSQkJNC0aVOWLl2aNWj40KFDeHldvsHUtm1bZs+ezXPPPcczzzxD3bp1WbRokdPWuBERERHX4vR1boqaI9a5EREREcey5fdbu4KLiIiIR1G4EREREY+icCMiIiIeReFGREREPIrCjYiIiHgUhRsRERHxKAo3IiIi4lEUbkRERMSjKNyIiIiIR3H69gtF7dKCzMnJyU6uRERERArq0u92QTZWKHbh5syZMwCEhYU5uRIRERGx1ZkzZwgMDLziMcVub6nMzEz+/vtvypYti8ViKfT7JCcnExYWxuHDh7VHlYPpWhcdXeuipetddHSti46jrrVhGJw5c4bKlStbbaidl2J358bLy4uqVava7f0CAgL0H0oR0bUuOrrWRUvXu+joWhcdR1zrq92xuUQDikVERMSjKNyIiIiIR1G4KSQ/Pz/GjRuHn5+fs0vxeLrWRUfXumjpehcdXeui4wrXutgNKBYRERHPpjs3IiIi4lEUbkRERMSjKNyIiIiIR1G4EREREY+icFNI06dPp0aNGvj7+9O6dWs2bdrk7JLcXlxcHC1btqRs2bIEBwfTq1cvdu/ebXXMhQsXGDRoENdddx1lypTh7rvvJjEx0UkVe4ZJkyZhsVgYNmxYVpuus30dOXKE+++/n+uuu46SJUvSuHFjtmzZkvW6YRiMHTuWSpUqUbJkSSIjI9m7d68TK3ZPGRkZjBkzhpo1a1KyZElq167Niy++aLUXka514axZs4YePXpQuXJlLBYLixYtsnq9INf11KlT9OnTh4CAAMqVK8fAgQM5e/asYwo2xGZz5swxfH19jQ8++MD47bffjIcfftgoV66ckZiY6OzS3FpUVJTx4YcfGjt27DC2bdtm3HbbbUa1atWMs2fPZh3z2GOPGWFhYcaKFSuM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35/Jkyfzzz//OLsUu0lNTS30ufv376d9+/ZUr16d6667Lt/junbtytGjRzlw4ABvvPEG7777LuPGjSvw53h7exMaGoqPj0+hay2IwMBAypUr59DPEPF0CjcibiYyMpLQ0FDi4uLyPeb555/P1UUzZcoUatSokfX8UvfHxIkTCQkJoVy5crzwwgukp6czcuRIKlSoQNWqVfnwww9zvf+uXbto27Yt/v7+NGrUiB9++MHq9R07dtCtWzfKlClDSEgIDzzwACdOnMh6vWPHjgwePJhhw4YRFBREVFRUnt8jMzOTF154gapVq+Ln50fTpk1ZunRp1usWi4X4+HheeOEFLBYLzz//fL7XxM/Pj9DQUMLCwujVqxeRkZEsX77c6rPi4uKoWbMmJUuWpEmTJsyfPz/r9bzutFzte2ZmZvLyyy9Tp04d/Pz8qFatGhMmTACgZs2aADRr1gyLxULHjh2t/r1ccvHiRZ588kmCg4Px9/enffv2bN68Oev11atXY7FYWLFiBeHh4ZQqVYq2bduye/furGO2b9/OLbfcQtmyZQkICKBFixZs2bIl32sl4u4UbkTcjLe3NxMnTuStt97ir7/+uqb3WrlyJX///Tdr1qzh9ddfZ9y4cdx+++2UL1+en376iccee4xHH3001+eMHDmSESNG8PPPPxMREUGPHj04efIkAKdPn6ZTp040a9aMLVu2sHTpUhITE7n33nut3mPWrFn4+vqybt06ZsyYkWd9U6dO5bXXXuPVV1/ll19+ISoqip49e7J3714Ajh49SsOGDRkxYgRHjx7lqaeeKtD33rFjB+vXr8fX1zerLS4ujo8//pgZM2bw22+/MXz4cO6///5cwe2SgnzP2NhYJk2axJgxY9i5cyezZ88mJCQEgE2bNgHw/fffc/ToURYsWJDn54waNYovvviCWbNmsXXrVurUqUNUVBSnTp2yOu7ZZ5/ltddeY8uWLfj4+DBgwICs1/r06UPVqlXZvHkz8fHxjB49mhIlShToWom4JYfsNS4iDtGvXz/jjjvuMAzDMNq0aWMMGDDAMAzDWLhwoZH9P+dx48YZTZo0sTr3jTfeMKpXr271XtWrVzcyMjKy2m644Qbjpptuynqenp5ulC5d2vjss88MwzCMgwcPGoAxadKkrGPS0tKMqlWrGpMnTzYMwzBefPFFo0uXLlafffjwYQMwdu/ebRiGYXTo0MFo1qzZVb9v5cqVjQkTJli1tWzZ0njiiSeynjdp0sQYN27cFd+nX79+hre3t1G6dGnDz8/PAAwvLy9j/vz5hmEYxoULF4xSpUoZ69evtzpv4MCBRu/eva2++88//1yg75mcnGz4+fkZM2fOzLOmnO+XvdZL/47Pnj1rlChRwvj000+zXk9NTTUqV65svPzyy4ZhGMaqVasMwPj++++zjlm8eLEBGOfPnzcMwzDKli1rfPTRR1e8RiKexLGdxyLiMJMnT6ZTp04FvluRl4YNG+LldfkGbkhIiNWAWW9vb6677jqOHTtmdV5ERETWn318fAgPD+f3338HzC6QVatWUaZMmVyft3//fq6//noAWrRoccXakpOT+fvvv2nXrp1Ve7t27di+fXsBv+Flt9xyC++88w4pKSm88cYb+Pj4cPfddwOwb98+zp07x6233mp1TmpqKs2aNcvz/a72PU+fPs3Fixfp3LmzzbVmf5+0tDSra1CiRAlatWqVdb0vufHGG7P+XKlSJQCOHTtGtWrViImJ4aGHHuKTTz4hMjKSe+65h9q1axe6LhFXp3Aj4qZuvvlmoqKiiI2N5cEHH7R6zcvLC8MwrNrS0tJyvUfOrolLs4lytmVmZha4rrNnz9KjRw8mT56c67VLP7oApUuXLvB72kPp0qWpU6cOAB988AFNmjThf//7HwMHDuTs2bMALF68mCpVqlid5+fnl+f7Xe17HjhwwM7f4Mqy/3u7NHPu0r+3559/nvvuu4/Fixfz7bffMm7cOObMmcOdd95ZpDWKFBWNuRFxY5MmTeLrr79mw4YNVu0VK1YkISHBKuDYc32WjRs3Zv05PT2d+Ph46tevD0Dz5s357bffqFGjBnXq1LF62BJoAgICqFy5MuvWrbNqX7duHQ0aNLim+r28vHjmmWd47rnnOH/+PA0aNMDPz49Dhw7lqjksLCzP97ja96xbty4lS5bMd3r6pfE+GRkZ+dZZu3btrHFJl6SlpbF582abr8H111/P8OHD+e6777jrrrvyHCgu4ikUbkTcWOPGjenTpw9vvvmmVXvHjh05fvw4L7/8Mvv372f69Ol8++23dvvc6dOns3DhQnbt2sWgQYP4559/sgawDho0iFOnTtG7d282b97M/v37WbZsGf3797/iD3leRo4cyeTJk5k7dy67d+9m9OjRbNu2jaFDh17zd7jnnnvw9vZm+vTplC1blqeeeorhw4cza9Ys9u/fz9atW3nrrbeYNWtWnudf7Xv6+/vz9NNPM2rUKD7++GP279/Pxo0b+d///gdAcHAwJUuWzBqInJSUlOszSpcuzeOPP87IkSNZunQpO3fu5OGHH+bcuXMMHDiwQN/z/PnzDB48mNWrV/Pnn3+ybt06Nm/enBVGRTyRwo2Im3vhhRdydRvVr1+ft99+m+nTp9OkSRM2bdp0TWNzcpo0aRKTJk2iSZMmrF27lq+++oqgoCCArLstGRkZdOnShcaNGzNs2DDKlStnNb6nIJ588kliYmIYMWIEjRs3ZunSpXz11VfUrVv3mr+Dj48PgwcP5uWXXyYlJYUXX3yRMWPGEBcXR/369enatSuLFy/OmrKdU0G+55gxYxgxYgRjx46lfv36REdHZ41f8vHx4c033+Tdd9+lcuXK3HHHHXl+zqRJk7j77rt54IEHaN68Ofv27WPZsmWUL1++QN/T29ubkydP0rdvX66//nruvfdeunXrxvjx4wtx1UTcg8XI2TEvIiK57N69m3r16rF3796ssTsi4pp050ZE5CpOnTrF/PnzCQgIyHcMjoi4Ds2WEhG5ioEDBxIfH88777yT7+wpEXEd6pYSERERj6JuKREREfEoCjciIiLiURRuRERExKMo3IiIiIhHUbgRERERj6JwIyIiIh5F4UZEREQ8isKNiIiIeJT/B95dbpUqjXivAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = plt.subplots()\n", "ax.plot(Rs, FDRs, 'b', linewidth=3)\n", "ax.set_xlabel(\"Number of Rejections\")\n", - "ax.set_ylabel(\"False Discovery Rate\");\n" + "ax.set_ylabel(\"False Discovery Rate\");" ] } ], "metadata": { "jupytext": { "cell_metadata_filter": "-all", - "formats": "ipynb,Rmd", + "formats": "ipynb,md:myst", "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch2-statlearn-lab.ipynb b/docs/source/labs/Ch2-statlearn-lab.ipynb index 674581e..d49a478 100644 --- a/docs/source/labs/Ch2-statlearn-lab.ipynb +++ b/docs/source/labs/Ch2-statlearn-lab.ipynb @@ -2,17 +2,15 @@ "cells": [ { "cell_type": "markdown", - "id": "06a14452", - "metadata": {}, - "source": [] - }, - { - "cell_type": "markdown", - "id": "0025f21f", + "id": "46456e09", "metadata": {}, "source": [ "# Introduction to Python\n", - "\n" + "\n", + "\n", + " \"Open\n", + "\n", + "" ] }, { @@ -31,7 +29,7 @@ "To run the labs in this book, you will need two things:\n", "\n", "* An installation of `Python3`, which is the specific version of `Python` used in the labs. \n", - "* Access to `Jupyter`, a very popular `Python` interface that runs code through a file called a *notebook*. " + "* Access to `Jupyter`, a very popular `Python` interface that runs code through a file called a *notebook*." ] }, { @@ -39,7 +37,7 @@ "id": "f922cc9e", "metadata": {}, "source": [ - "You can download and install `Python3` by following the instructions available at [anaconda.com](http://anaconda.com). " + "You can download and install `Python3` by following the instructions available at [anaconda.com](http://anaconda.com)." ] }, { @@ -61,7 +59,7 @@ "To run this lab, download the file `Ch2-statlearn-lab.ipynb` from the `Python` resources page. \n", "Now run the following code at the command line: `jupyter lab Ch2-statlearn-lab.ipynb`.\n", "\n", - "If you're using Windows, you can use the `start menu` to access `anaconda`, and follow the links. For example, to install `ISLP` and run this lab, you can run the same code above in an `anaconda` shell.\n" + "If you're using Windows, you can use the `start menu` to access `anaconda`, and follow the links. For example, to install `ISLP` and run this lab, you can run the same code above in an `anaconda` shell." ] }, { @@ -69,7 +67,7 @@ "id": "7a44fbd9", "metadata": {}, "source": [ - "## Basic Commands\n" + "## Basic Commands" ] }, { @@ -78,10 +76,7 @@ "metadata": {}, "source": [ "In this lab, we will introduce some simple `Python` commands. \n", - " For more resources about `Python` in general, readers may want to consult the tutorial at [docs.python.org/3/tutorial/](https://docs.python.org/3/tutorial/). \n", - "\n", - "\n", - " \n" + " For more resources about `Python` in general, readers may want to consult the tutorial at [docs.python.org/3/tutorial/](https://docs.python.org/3/tutorial/)." ] }, { @@ -101,27 +96,12 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "88d0bfff", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.336320Z", - "iopub.status.busy": "2023-07-25T23:59:03.335906Z", - "iopub.status.idle": "2023-07-25T23:59:03.345178Z", - "shell.execute_reply": "2023-07-25T23:59:03.344494Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fit a model with 11 variables\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ - "print('fit a model with', 11, 'variables')\n" + "print('fit a model with', 11, 'variables')" ] }, { @@ -134,19 +114,12 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "ebe7aca8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.348214Z", - "iopub.status.busy": "2023-07-25T23:59:03.348018Z", - "iopub.status.idle": "2023-07-25T23:59:03.350992Z", - "shell.execute_reply": "2023-07-25T23:59:03.350615Z" - } - }, + "metadata": {}, "outputs": [], "source": [ - "print?\n" + "print?" ] }, { @@ -159,30 +132,12 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "df2f8168", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.353557Z", - "iopub.status.busy": "2023-07-25T23:59:03.353389Z", - "iopub.status.idle": "2023-07-25T23:59:03.357986Z", - "shell.execute_reply": "2023-07-25T23:59:03.357641Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "8" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "3 + 5\n" + "metadata": {}, + "outputs": [], + "source": [ + "3 + 5" ] }, { @@ -199,30 +154,12 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "4cc5c2c1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.360072Z", - "iopub.status.busy": "2023-07-25T23:59:03.359922Z", - "iopub.status.idle": "2023-07-25T23:59:03.362322Z", - "shell.execute_reply": "2023-07-25T23:59:03.362042Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "'hello world'" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\"hello\" + \" \" + \"world\"\n" + "metadata": {}, + "outputs": [], + "source": [ + "\"hello\" + \" \" + \"world\"" ] }, { @@ -232,7 +169,7 @@ "source": [ " A string is actually a type of *sequence*: this is a generic term for an ordered list. \n", " The three most important types of sequences are lists, tuples, and strings. \n", - "We introduce lists now. " + "We introduce lists now." ] }, { @@ -248,31 +185,13 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "e5d81180", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.364153Z", - "iopub.status.busy": "2023-07-25T23:59:03.364018Z", - "iopub.status.idle": "2023-07-25T23:59:03.366529Z", - "shell.execute_reply": "2023-07-25T23:59:03.366235Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[3, 4, 5]" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "x = [3, 4, 5]\n", - "x\n" + "x" ] }, { @@ -289,31 +208,13 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "425a714c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.368332Z", - "iopub.status.busy": "2023-07-25T23:59:03.368198Z", - "iopub.status.idle": "2023-07-25T23:59:03.370618Z", - "shell.execute_reply": "2023-07-25T23:59:03.370345Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[3, 4, 5, 4, 9, 7]" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "y = [4, 9, 7]\n", - "x + y\n" + "x + y" ] }, { @@ -324,8 +225,7 @@ "The result may appear slightly counterintuitive: why did `Python` not add the entries of the lists\n", "element-by-element? \n", " In `Python`, lists hold *arbitrary* objects, and are added using *concatenation*. \n", - " In fact, concatenation is the behavior that we saw earlier when we entered `\"hello\" + \" \" + \"world\"`. \n", - " " + " In fact, concatenation is the behavior that we saw earlier when we entered `\"hello\" + \" \" + \"world\"`." ] }, { @@ -338,7 +238,7 @@ "functionality comes from other packages, notably `numpy`\n", "and `pandas`. \n", "In the next section, we will introduce the `numpy` package. More information about `numpy` can be found at \n", - "[docs.scipy.org/doc/numpy/user/quickstart.html](https://docs.scipy.org/doc/numpy/user/quickstart.html).\n" + "[docs.scipy.org/doc/numpy/user/quickstart.html](https://docs.scipy.org/doc/numpy/user/quickstart.html)." ] }, { @@ -350,7 +250,7 @@ "\n", "As mentioned earlier, this book makes use of functionality that is contained in the `numpy` \n", " *library*, or *package*. A package is a collection of modules that are not necessarily included in \n", - " the base `Python` distribution. The name `numpy` is an abbreviation for *numerical Python*. " + " the base `Python` distribution. The name `numpy` is an abbreviation for *numerical Python*." ] }, { @@ -363,17 +263,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "2f88669a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.372629Z", - "iopub.status.busy": "2023-07-25T23:59:03.372498Z", - "iopub.status.idle": "2023-07-25T23:59:03.424071Z", - "shell.execute_reply": "2023-07-25T23:59:03.423098Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np " @@ -399,17 +291,9 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "e8ec382a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.429959Z", - "iopub.status.busy": "2023-07-25T23:59:03.429583Z", - "iopub.status.idle": "2023-07-25T23:59:03.436080Z", - "shell.execute_reply": "2023-07-25T23:59:03.435328Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "x = np.array([3, 4, 5])\n", @@ -424,7 +308,7 @@ "Note that if you forgot to run the `import numpy as np` command earlier, then\n", "you will encounter an error in calling the `np.array()` function in the previous line. \n", " The syntax `np.array()` indicates that the function being called\n", - "is part of the `numpy` package, which we have abbreviated as `np`. " + "is part of the `numpy` package, which we have abbreviated as `np`." ] }, { @@ -433,45 +317,17 @@ "metadata": {}, "source": [ "Since `x` and `y` have been defined using `np.array()`, we get a sensible result when we add them together. Compare this to our results in the previous section,\n", - " when we tried to add two lists without using `numpy`. " + " when we tried to add two lists without using `numpy`." ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "04de39ad", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.441429Z", - "iopub.status.busy": "2023-07-25T23:59:03.440989Z", - "iopub.status.idle": "2023-07-25T23:59:03.449302Z", - "shell.execute_reply": "2023-07-25T23:59:03.448567Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 7, 13, 12])" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "x + y" - ] - }, - { - "cell_type": "markdown", - "id": "c04d19a8", "metadata": {}, + "outputs": [], "source": [ - " \n", - " \n" + "x + y" ] }, { @@ -480,49 +336,20 @@ "metadata": {}, "source": [ "In `numpy`, matrices are typically represented as two-dimensional arrays, and vectors as one-dimensional arrays. {While it is also possible to create matrices using `np.matrix()`, we will use `np.array()` throughout the labs in this book.}\n", - "We can create a two-dimensional array as follows. " + "We can create a two-dimensional array as follows." ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "fee5d798", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.454224Z", - "iopub.status.busy": "2023-07-25T23:59:03.453864Z", - "iopub.status.idle": "2023-07-25T23:59:03.463532Z", - "shell.execute_reply": "2023-07-25T23:59:03.462539Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[1, 2],\n", - " [3, 4]])" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "x = np.array([[1, 2], [3, 4]])\n", "x" ] }, - { - "cell_type": "markdown", - "id": "477c992d", - "metadata": {}, - "source": [ - " \n", - "\n" - ] - }, { "cell_type": "markdown", "id": "86de84a5", @@ -531,33 +358,15 @@ "The object `x` has several \n", "*attributes*, or associated objects. To access an attribute of `x`, we type `x.attribute`, where we replace `attribute`\n", "with the name of the attribute. \n", - "For instance, we can access the `ndim` attribute of `x` as follows. " + "For instance, we can access the `ndim` attribute of `x` as follows." ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "5871ca00", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.468600Z", - "iopub.status.busy": "2023-07-25T23:59:03.468292Z", - "iopub.status.idle": "2023-07-25T23:59:03.475945Z", - "shell.execute_reply": "2023-07-25T23:59:03.475149Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "2" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "x.ndim" ] @@ -574,29 +383,10 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "5a32759c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.481118Z", - "iopub.status.busy": "2023-07-25T23:59:03.480680Z", - "iopub.status.idle": "2023-07-25T23:59:03.488333Z", - "shell.execute_reply": "2023-07-25T23:59:03.486555Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "dtype('int64')" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "x.dtype" ] @@ -609,36 +399,17 @@ "Why is `x` comprised of integers? This is because we created `x` by passing in exclusively integers to the `np.array()` function.\n", " If\n", "we had passed in any decimals, then we would have obtained an array of\n", - "*floating point numbers* (i.e. real-valued numbers). " + "*floating point numbers* (i.e. real-valued numbers)." ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "55f01b16", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.495516Z", - "iopub.status.busy": "2023-07-25T23:59:03.494194Z", - "iopub.status.idle": "2023-07-25T23:59:03.507143Z", - "shell.execute_reply": "2023-07-25T23:59:03.506347Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "dtype('float64')" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.array([[1, 2], [3.0, 4]]).dtype\n" + "metadata": {}, + "outputs": [], + "source": [ + "np.array([[1, 2], [3.0, 4]]).dtype" ] }, { @@ -648,25 +419,17 @@ "source": [ "Typing `fun?` will cause `Python` to display \n", "documentation associated with the function `fun`, if it exists.\n", - "We can try this for `np.array()`. " + "We can try this for `np.array()`." ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "2a9de618", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.516160Z", - "iopub.status.busy": "2023-07-25T23:59:03.515522Z", - "iopub.status.idle": "2023-07-25T23:59:03.522135Z", - "shell.execute_reply": "2023-07-25T23:59:03.521022Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ - "np.array?\n" + "np.array?" ] }, { @@ -679,31 +442,12 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "33e3e6ea", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.528006Z", - "iopub.status.busy": "2023-07-25T23:59:03.527073Z", - "iopub.status.idle": "2023-07-25T23:59:03.535281Z", - "shell.execute_reply": "2023-07-25T23:59:03.533210Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "dtype('float64')" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.array([[1, 2], [3, 4]], float).dtype\n" + "metadata": {}, + "outputs": [], + "source": [ + "np.array([[1, 2], [3, 4]], float).dtype" ] }, { @@ -717,31 +461,12 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "623f8434", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.540712Z", - "iopub.status.busy": "2023-07-25T23:59:03.540315Z", - "iopub.status.idle": "2023-07-25T23:59:03.545866Z", - "shell.execute_reply": "2023-07-25T23:59:03.545195Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(2, 2)" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "x.shape\n" + "metadata": {}, + "outputs": [], + "source": [ + "x.shape" ] }, { @@ -760,29 +485,10 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "235738a7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.550091Z", - "iopub.status.busy": "2023-07-25T23:59:03.549770Z", - "iopub.status.idle": "2023-07-25T23:59:03.555222Z", - "shell.execute_reply": "2023-07-25T23:59:03.554501Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "10" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "x = np.array([1, 2, 3, 4])\n", "x.sum()" @@ -793,34 +499,15 @@ "id": "72373ccf", "metadata": {}, "source": [ - "We could also sum the elements of `x` by passing in `x` as an argument to the `np.sum()` function. " + "We could also sum the elements of `x` by passing in `x` as an argument to the `np.sum()` function." ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "7f3494e1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.559801Z", - "iopub.status.busy": "2023-07-25T23:59:03.559468Z", - "iopub.status.idle": "2023-07-25T23:59:03.565409Z", - "shell.execute_reply": "2023-07-25T23:59:03.564548Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "10" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "x = np.array([1, 2, 3, 4])\n", "np.sum(x)" @@ -844,34 +531,15 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "0ca8f936", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.570100Z", - "iopub.status.busy": "2023-07-25T23:59:03.569563Z", - "iopub.status.idle": "2023-07-25T23:59:03.575143Z", - "shell.execute_reply": "2023-07-25T23:59:03.574126Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "beginning x:\n", - " [1 2 3 4 5 6]\n", - "reshaped x:\n", - " [[1 2 3]\n", - " [4 5 6]]\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ "x = np.array([1, 2, 3, 4, 5, 6])\n", "print('beginning x:\\n', x)\n", "x_reshape = x.reshape((2, 3))\n", - "print('reshaped x:\\n', x_reshape)\n" + "print('reshaped x:\\n', x_reshape)" ] }, { @@ -880,7 +548,7 @@ "metadata": {}, "source": [ "The previous output reveals that `numpy` arrays are specified as a sequence\n", - "of *rows*. This is called *row-major ordering*, as opposed to *column-major ordering*. " + "of *rows*. This is called *row-major ordering*, as opposed to *column-major ordering*." ] }, { @@ -895,29 +563,10 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "23fba624", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.579248Z", - "iopub.status.busy": "2023-07-25T23:59:03.578903Z", - "iopub.status.idle": "2023-07-25T23:59:03.584347Z", - "shell.execute_reply": "2023-07-25T23:59:03.583515Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "1" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "x_reshape[0, 0] " ] @@ -928,34 +577,15 @@ "metadata": {}, "source": [ "Similarly, `x_reshape[1,2]` yields the element in the second row and the third column \n", - "of `x_reshape`. " + "of `x_reshape`." ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "1a1df926", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.588305Z", - "iopub.status.busy": "2023-07-25T23:59:03.587875Z", - "iopub.status.idle": "2023-07-25T23:59:03.596795Z", - "shell.execute_reply": "2023-07-25T23:59:03.596057Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "6" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "x_reshape[1, 2] " ] @@ -968,46 +598,21 @@ "Similarly, `x[2]` yields the\n", "third entry of `x`. \n", "\n", - "Now, let's modify the top left element of `x_reshape`. To our surprise, we discover that the first element of `x` has been modified as well!\n", - "\n" + "Now, let's modify the top left element of `x_reshape`. To our surprise, we discover that the first element of `x` has been modified as well!" ] }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "4bfcc1e1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.601576Z", - "iopub.status.busy": "2023-07-25T23:59:03.600688Z", - "iopub.status.idle": "2023-07-25T23:59:03.607941Z", - "shell.execute_reply": "2023-07-25T23:59:03.606891Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "x before we modify x_reshape:\n", - " [1 2 3 4 5 6]\n", - "x_reshape before we modify x_reshape:\n", - " [[1 2 3]\n", - " [4 5 6]]\n", - "x_reshape after we modify its top left element:\n", - " [[5 2 3]\n", - " [4 5 6]]\n", - "x after we modify top left element of x_reshape:\n", - " [5 2 3 4 5 6]\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ "print('x before we modify x_reshape:\\n', x)\n", "print('x_reshape before we modify x_reshape:\\n', x_reshape)\n", "x_reshape[0, 0] = 5\n", "print('x_reshape after we modify its top left element:\\n', x_reshape)\n", - "print('x after we modify top left element of x_reshape:\\n', x)\n" + "print('x after we modify top left element of x_reshape:\\n', x)" ] }, { @@ -1015,10 +620,7 @@ "id": "10ff8c21", "metadata": {}, "source": [ - "Modifying `x_reshape` also modified `x` because the two objects occupy the same space in memory.\n", - " \n", - "\n", - " " + "Modifying `x_reshape` also modified `x` because the two objects occupy the same space in memory." ] }, { @@ -1032,33 +634,13 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "973c562a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.616078Z", - "iopub.status.busy": "2023-07-25T23:59:03.615705Z", - "iopub.status.idle": "2023-07-25T23:59:03.778706Z", - "shell.execute_reply": "2023-07-25T23:59:03.778393Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "ename": "TypeError", - "evalue": "'tuple' object does not support item assignment", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[23], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m my_tuple \u001b[38;5;241m=\u001b[39m (\u001b[38;5;241m3\u001b[39m, \u001b[38;5;241m4\u001b[39m, \u001b[38;5;241m5\u001b[39m)\n\u001b[0;32m----> 2\u001b[0m \u001b[43mmy_tuple\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m2\u001b[39m\n", - "\u001b[0;31mTypeError\u001b[0m: 'tuple' object does not support item assignment" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ "my_tuple = (3, 4, 5)\n", - "my_tuple[0] = 2\n" + "my_tuple[0] = 2" ] }, { @@ -1067,39 +649,17 @@ "metadata": {}, "source": [ "We now briefly mention some attributes of arrays that will come in handy. An array's `shape` attribute contains its dimension; this is always a tuple.\n", - "The `ndim` attribute yields the number of dimensions, and `T` provides its transpose. " + "The `ndim` attribute yields the number of dimensions, and `T` provides its transpose." ] }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "56b5c382", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.780591Z", - "iopub.status.busy": "2023-07-25T23:59:03.780456Z", - "iopub.status.idle": "2023-07-25T23:59:03.782964Z", - "shell.execute_reply": "2023-07-25T23:59:03.782700Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "((2, 3),\n", - " 2,\n", - " array([[5, 4],\n", - " [2, 5],\n", - " [3, 6]]))" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "x_reshape.shape, x_reshape.ndim, x_reshape.T\n" + "metadata": {}, + "outputs": [], + "source": [ + "x_reshape.shape, x_reshape.ndim, x_reshape.T" ] }, { @@ -1111,36 +671,17 @@ " \n", "We will often want to apply functions to arrays. \n", "For instance, we can compute the\n", - "square root of the entries using the `np.sqrt()` function: " + "square root of the entries using the `np.sqrt()` function:" ] }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "2e624622", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.784591Z", - "iopub.status.busy": "2023-07-25T23:59:03.784467Z", - "iopub.status.idle": "2023-07-25T23:59:03.786863Z", - "shell.execute_reply": "2023-07-25T23:59:03.786571Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([2.23606798, 1.41421356, 1.73205081, 2. , 2.23606798,\n", - " 2.44948974])" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.sqrt(x)\n" + "metadata": {}, + "outputs": [], + "source": [ + "np.sqrt(x)" ] }, { @@ -1153,30 +694,12 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "6f45bd25", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.788435Z", - "iopub.status.busy": "2023-07-25T23:59:03.788312Z", - "iopub.status.idle": "2023-07-25T23:59:03.790500Z", - "shell.execute_reply": "2023-07-25T23:59:03.790237Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([25, 4, 9, 16, 25, 36])" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "x**2\n" + "metadata": {}, + "outputs": [], + "source": [ + "x**2" ] }, { @@ -1189,32 +712,12 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "id": "6980f628", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.792166Z", - "iopub.status.busy": "2023-07-25T23:59:03.792045Z", - "iopub.status.idle": "2023-07-25T23:59:03.794224Z", - "shell.execute_reply": "2023-07-25T23:59:03.793976Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([2.23606798, 1.41421356, 1.73205081, 2. , 2.23606798,\n", - " 2.44948974])" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "x**0.5\n" + "metadata": {}, + "outputs": [], + "source": [ + "x**0.5" ] }, { @@ -1231,45 +734,18 @@ " By default, this function will generate random normal variable(s) with mean (`loc`) $0$ and standard deviation (`scale`) $1$; furthermore, \n", " a single random variable will be generated unless the argument to `size` is changed. \n", "\n", - "We now generate 50 independent random variables from a $N(0,1)$ distribution. " + "We now generate 50 independent random variables from a $N(0,1)$ distribution." ] }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "id": "89e32100", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.795835Z", - "iopub.status.busy": "2023-07-25T23:59:03.795720Z", - "iopub.status.idle": "2023-07-25T23:59:03.798190Z", - "shell.execute_reply": "2023-07-25T23:59:03.797947Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([-0.16941099, -1.65360995, 0.385241 , 1.37725872, -0.33090576,\n", - " 0.95225998, 1.38477584, 0.03399787, -1.01406121, -0.30788104,\n", - " 0.93226375, -0.70561647, -0.59502338, 0.0957298 , -0.54067538,\n", - " 1.23057972, -1.09400881, 0.08400338, 0.42994564, 0.30192903,\n", - " -1.35097931, -0.5317783 , -0.00317528, 0.95776295, -0.38856995,\n", - " 0.89187793, -0.83973487, 0.36758703, -1.94125031, -0.4910692 ,\n", - " 1.43410404, -1.68234372, 1.23075143, -0.26745071, 0.71955302,\n", - " -0.76446116, -0.69642788, 1.18213409, -1.93529368, -0.32528807,\n", - " -0.86482767, 1.11610801, -0.23379597, -0.67712932, -0.55311178,\n", - " -1.22714226, 0.17073539, -0.73072959, 0.50918715, 1.73268696])" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "x = np.random.normal(size=50)\n", - "x\n" + "x" ] }, { @@ -1282,17 +758,9 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "e3428155", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.799778Z", - "iopub.status.busy": "2023-07-25T23:59:03.799649Z", - "iopub.status.idle": "2023-07-25T23:59:03.801472Z", - "shell.execute_reply": "2023-07-25T23:59:03.801218Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "y = x + np.random.normal(loc=50, scale=1, size=50)" @@ -1304,34 +772,15 @@ "metadata": {}, "source": [ "The `np.corrcoef()` function computes the correlation matrix between `x` and `y`. The off-diagonal elements give the \n", - "correlation between `x` and `y`. " + "correlation between `x` and `y`." ] }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "df70172e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.803109Z", - "iopub.status.busy": "2023-07-25T23:59:03.802986Z", - "iopub.status.idle": "2023-07-25T23:59:03.805319Z", - "shell.execute_reply": "2023-07-25T23:59:03.805046Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[1. , 0.64138518],\n", - " [0.64138518, 1. ]])" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "np.corrcoef(x, y)" ] @@ -1349,38 +798,13 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "1d996956", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.806958Z", - "iopub.status.busy": "2023-07-25T23:59:03.806838Z", - "iopub.status.idle": "2023-07-25T23:59:03.809025Z", - "shell.execute_reply": "2023-07-25T23:59:03.808727Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[-0.0841301 3.82641665]\n", - "[ 1.97096548 -10.3124576 ]\n" - ] - } - ], - "source": [ - "print(np.random.normal(scale=5, size=2))\n", - "print(np.random.normal(scale=5, size=2)) \n" - ] - }, - { - "cell_type": "markdown", - "id": "d3d0e0fb", "metadata": {}, + "outputs": [], "source": [ - " " + "print(np.random.normal(scale=5, size=2))\n", + "print(np.random.normal(scale=5, size=2)) " ] }, { @@ -1400,26 +824,10 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "37b3a30b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.810769Z", - "iopub.status.busy": "2023-07-25T23:59:03.810650Z", - "iopub.status.idle": "2023-07-25T23:59:03.813103Z", - "shell.execute_reply": "2023-07-25T23:59:03.812814Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[ 4.09482632 -1.07485605]\n", - "[ 4.09482632 -1.07485605]\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ "rng = np.random.default_rng(1303)\n", "print(rng.normal(scale=5, size=2))\n", @@ -1446,68 +854,22 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "b4f99e0e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.814729Z", - "iopub.status.busy": "2023-07-25T23:59:03.814608Z", - "iopub.status.idle": "2023-07-25T23:59:03.817050Z", - "shell.execute_reply": "2023-07-25T23:59:03.816803Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(-0.1126795190952861, -0.1126795190952861)" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "rng = np.random.default_rng(3)\n", "y = rng.standard_normal(10)\n", "np.mean(y), y.mean()" ] }, - { - "cell_type": "markdown", - "id": "3b42d9c6", - "metadata": {}, - "source": [ - " \n" - ] - }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "id": "dbd70319", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.818703Z", - "iopub.status.busy": "2023-07-25T23:59:03.818597Z", - "iopub.status.idle": "2023-07-25T23:59:03.820913Z", - "shell.execute_reply": "2023-07-25T23:59:03.820642Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(2.7243406406465125, 2.7243406406465125, 2.7243406406465125)" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "np.var(y), y.var(), np.mean((y - y.mean())**2)" ] @@ -1518,33 +880,15 @@ "metadata": {}, "source": [ "Notice that by default `np.var()` divides by the sample size $n$ rather\n", - "than $n-1$; see the `ddof` argument in `np.var?`.\n" + "than $n-1$; see the `ddof` argument in `np.var?`." ] }, { "cell_type": "code", - "execution_count": 35, + "execution_count": null, "id": "bf281844", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.822530Z", - "iopub.status.busy": "2023-07-25T23:59:03.822409Z", - "iopub.status.idle": "2023-07-25T23:59:03.824738Z", - "shell.execute_reply": "2023-07-25T23:59:03.824473Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(1.6505576756498128, 1.6505576756498128)" - ] - }, - "execution_count": 35, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "np.sqrt(np.var(y)), np.std(y)" ] @@ -1555,42 +899,15 @@ "metadata": {}, "source": [ "The `np.mean()`, `np.var()`, and `np.std()` functions can also be applied to the rows and columns of a matrix. \n", - "To see this, we construct a $10 \\times 3$ matrix of $N(0,1)$ random variables, and consider computing its row sums. " + "To see this, we construct a $10 \\times 3$ matrix of $N(0,1)$ random variables, and consider computing its row sums." ] }, { "cell_type": "code", - "execution_count": 36, + "execution_count": null, "id": "f751b1dd", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.826313Z", - "iopub.status.busy": "2023-07-25T23:59:03.826201Z", - "iopub.status.idle": "2023-07-25T23:59:03.828777Z", - "shell.execute_reply": "2023-07-25T23:59:03.828496Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[ 0.22578661, -0.35263079, -0.28128742],\n", - " [-0.66804635, -1.05515055, -0.39080098],\n", - " [ 0.48194539, -0.23855361, 0.9577587 ],\n", - " [-0.19980213, 0.02425957, 1.54582085],\n", - " [ 0.54510552, -0.50522874, -0.18283897],\n", - " [ 0.54052513, 1.93508803, -0.26962033],\n", - " [-0.24355868, 1.0023136 , -0.88645994],\n", - " [-0.29172023, 0.88253897, 0.58035002],\n", - " [ 0.0915167 , 0.67010435, -2.82816231],\n", - " [ 1.02130682, -0.95964476, -1.66861984]])" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "X = rng.standard_normal((10, 3))\n", "X" @@ -1601,33 +918,15 @@ "id": "f9028e1a", "metadata": {}, "source": [ - "Since arrays are row-major ordered, the first axis, i.e. `axis=0`, refers to its rows. We pass this argument into the `mean()` method for the object `X`. " + "Since arrays are row-major ordered, the first axis, i.e. `axis=0`, refers to its rows. We pass this argument into the `mean()` method for the object `X`." ] }, { "cell_type": "code", - "execution_count": 37, + "execution_count": null, "id": "cbf92de5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.830471Z", - "iopub.status.busy": "2023-07-25T23:59:03.830350Z", - "iopub.status.idle": "2023-07-25T23:59:03.832659Z", - "shell.execute_reply": "2023-07-25T23:59:03.832413Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 0.15030588, 0.14030961, -0.34238602])" - ] - }, - "execution_count": 37, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "X.mean(axis=0)" ] @@ -1642,39 +941,12 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": null, "id": "efacc213", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.834289Z", - "iopub.status.busy": "2023-07-25T23:59:03.834173Z", - "iopub.status.idle": "2023-07-25T23:59:03.836374Z", - "shell.execute_reply": "2023-07-25T23:59:03.836131Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 0.15030588, 0.14030961, -0.34238602])" - ] - }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "X.mean(0)" - ] - }, - { - "cell_type": "markdown", - "id": "4b70cd2e", "metadata": {}, + "outputs": [], "source": [ - " " + "X.mean(0)" ] }, { @@ -1712,34 +984,16 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": null, "id": "637fb67d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:03.838008Z", - "iopub.status.busy": "2023-07-25T23:59:03.837889Z", - "iopub.status.idle": "2023-07-25T23:59:04.142408Z", - "shell.execute_reply": "2023-07-25T23:59:04.141987Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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XHPNNYiLi4NIJMLXX3/t7CORlZ577jlMmTIFgYGBiIqKwrJly1BQUODsYxEYeA5L+fn50Ov1ePfdd3H69Gm88soreOedd/DYY485+2hkJbVajRUrVuCPf/yjs49Cfdi0aRMeeOABrFu3DseOHUNWVhauvPJK1NXVOfto1Ae5XI6srCy8+eabzj4K9dOePXuwZs0aHDx4EDt27IBGo8HChQshl8udfbRhj3M8CQDw4osv4u2330ZxcbGzj0L9sGHDBtx///1obm529lGoB9OmTcOUKVPwxhtvAAD0ej0SExNx77334pFHHnHy6chaIpEIW7ZswbJly5x9FBqA+vp6REVFYc+ePZg9e7azjzOsMeNJAICWlhaEhYU5+xhEQ4parcbRo0cxf/588+vEYjHmz5+PAwcOOPFkRMNLS0sLAPD7nAtg4EkoLCzE66+/jrvuusvZRyEaUqRSKXQ6HaKjo7u8Pjo6GjU1NU46FdHwotfrcf/992PmzJkYN26cs48z7DHwHEIeeeQRiESiXn/l5+d3+ZjKykosWrQIK1aswJ133umkkxMwsOePiIh6t2bNGpw6dQobN2509lEIgIezD0C28+CDD2L16tW9vk9qaqr591VVVZg7dy5mzJiB9957z86no7709/kj1xcREQGJRILa2tour6+trUVMTIyTTkU0fNxzzz349ttvsXfvXiQkJDj7OAQGnkNKZGQkIiMjrXrfyspKzJ07F9nZ2fjoo48gFjP57Wz9ef7IPXh5eSE7Oxs///yzuSlFr9fj559/xj333OPcwxENYYIg4N5778WWLVuwe/dupKSkOPtIZMTAcxiqrKzEnDlzMGLECKxfvx719fXmtzEL4x7KysrQ2NiIsrIy6HQ6nDhxAgCQnp6OgIAA5x6OunjggQewatUqTJ48GVOnTsW//vUvyOVy3H777c4+GvWhra0NhYWF5pdLSkpw4sQJhIWFISkpyYkno76sWbMGn332GbZu3YrAwEBzTXVwcDB8fX2dfLrhjeOUhqENGzb0+E2Pfx3cw+rVq/Hxxx93e/2uXbswZ84cxx+IevXGG2/gxRdfRE1NDSZOnIjXXnsN06ZNc/axqA+7d+/G3Llzu71+1apV2LBhg+MPRFYTiUQWX//RRx/1WdJE9sXAk4iIiIgcgoV9REREROQQDDyJiIiIyCEYeBIRERGRQzDwJCIiIiKHYOBJRERERA7BwJOIiIiIHIKBJxERERE5BANPIiIiInIIBp5ERERE5BAMPImIiIjIIRh4EhEREZFD/H8ZvODJPt+ENgAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "from matplotlib.pyplot import subplots\n", "fig, ax = subplots(figsize=(8, 8))\n", "x = rng.standard_normal(100)\n", "y = rng.standard_normal(100)\n", - "ax.plot(x, y);\n" + "ax.plot(x, y);" ] }, { @@ -1754,28 +1008,10 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": null, "id": "109d681d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:04.144429Z", - "iopub.status.busy": "2023-07-25T23:59:04.144254Z", - "iopub.status.idle": "2023-07-25T23:59:04.222416Z", - "shell.execute_reply": "2023-07-25T23:59:04.222078Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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rF69Oh599NHYuXNnPP3007F58+Z44IEHTrhmxYoV0d3dPXg7cODAWG8TAIBkSrqiOmnSpCgvL4+urq4h411dXTFlypRh19x3332xcOHCuOWWWyIi4tJLL40jR47EbbfdFitXroyysuNbubKyMiorK0vZGgAAp5iSrqhWVFTE7Nmzo62tbXBsYGAg2traoqGhYdg1b7311nExWl5eHhERRVGUul8AAE4TJV1RjYhobm6OxYsXx5w5c2Lu3Lmxdu3aOHLkSCxZsiQiIhYtWhTTp0+P1tbWiIiYN29ePPzww3H55ZdHfX197N27N+67776YN2/eYLACAMA7lRyqCxYsiIMHD8aqVauis7MzZs2aFVu3bh38gNX+/fuHXEG99957Y8KECXHvvffGr371q/jTP/3TmDdvXnz1q18dvWcBAMApZ0LxAXj9vaenJ2pqaqK7uzuqq6tP9nYAAHiHsei1Mf/UPwAAjIRQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoAQEpCFQCAlIQqAAApCVUAAFISqgAApCRUAQBISagCAJCSUAUAICWhCgBASkIVAICUhCoAACkJVQAAUhKqAACkJFQBAEhJqAIAkJJQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoAQEpCFQCAlIQqAAApCVUAAFISqgAApCRUAQBISagCAJCSUAUAICWhCgBASkIVAICUhCoAACkJVQAAUhKqAACkJFQBAEhJqAIAkJJQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoAQEpCFQCAlIQqAAApCVUAAFISqgAApCRUAQBISagCAJCSUAUAICWhCgBASkIVAICUhCoAACkJVQAAUhKqAACkJFQBAEhJqAIAkJJQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoAQEpCFQCAlIQqAAApCVUAAFISqgAApCRUAQBISagCAJCSUAUAICWhCgBASkIVAICUhCoAACkJVQAAUhKqAACkJFQBAEhJqAIAkJJQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoA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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "output = subplots(figsize=(8, 8))\n", "fig = output[0]\n", @@ -1792,29 +1028,10 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": null, "id": "e905982c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:04.224475Z", - "iopub.status.busy": "2023-07-25T23:59:04.224332Z", - "iopub.status.idle": "2023-07-25T23:59:04.306449Z", - "shell.execute_reply": "2023-07-25T23:59:04.306128Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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AEAiBE8AABIheAIAkAjBEwCARAieAAAkQvAEACARgicAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwRMAgEQIngAAJELwBAAgEYInAACJEDwBAEjEO9IewHoajUZERMzNzaU8EgAAVtPMac3ctp5MB8+LFy9GRMSuXbtSHgkAAOu5ePFiVKvVda+pNFqJpymp1+vxyiuvxPbt26NSqaQ9nNybm5uLXbt2xcsvvxz9/f1pD4c2eO3yzeuXb16/fPP6dV+j0YiLFy/GddddFz0961dxZnrGs6enJ66//vq0h1E4/f39fvlyymuXb16/fPP65ZvXr7s2mulssrkIAIBECJ4AACRC8CyRbdu2xcTERGzbti3todAmr12+ef3yzeuXb16/bMn05iIAAIrDjCcAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwbOEfv/738fnPve5GB4ejquvvjp2794dExMT8eabb6Y9NFr09a9/PT72sY/Fn/7pn8a73vWutIfDBh599NF4//vfH319fXHLLbfE8ePH0x4SLXjuuefiwIEDcd1110WlUomf/vSnaQ+JFh06dChuvvnm2L59e+zcuTPuvPPO+O1vf5v2sAjBs5ReeOGFqNfr8f3vfz9+85vfxLe+9a343ve+F1/96lfTHhotevPNN+Ouu+6K8fHxtIfCBn7yk5/EQw89FBMTEzE9PR033HBDfPrTn45z586lPTQ28MYbb8QNN9wQjz76aNpDoU3PPvts3H///fH888/Hz3/+83jrrbfiU5/6VLzxxhtpD6309PEkIiK+8Y1vxOHDh+N3v/td2kOhDU888UR88YtfjNdffz3tobCGW265JW6++eb47ne/GxER9Xo9du3aFQ8++GA8/PDDKY+OVlUqlXjyySfjzjvvTHsobMJrr70WO3fujGeffTY+8YlPpD2cUjPjSURE1Gq1GBgYSHsYUChvvvlm/PrXv4477rjj8mM9PT1xxx13xLFjx1IcGZRLrVaLiPA5lwGCJ/Hiiy/Gd77znfj85z+f9lCgUP7whz/EwsJCXHvttUsev/baa+Ps2bMpjQrKpV6vxxe/+MX4+Mc/HqOjo2kPp/QEzwJ5+OGHo1KprPvnhRdeWPL/OXPmTIyNjcVdd90V9913X0ojJ2Jzrx8A67v//vtjZmYmfvzjH6c9FCLiHWkPgM750pe+FPfee++613zgAx+4/L9feeWVuP322+NjH/tY/P3f/32XR8dG2n39yL53v/vd0dvbG6+++uqSx1999dUYHBxMaVRQHg888ED87Gc/i+eeey6uv/76tIdDCJ6Fcs0118Q111zT0rVnzpyJ22+/PW666aZ4/PHHo6fH5Hfa2nn9yIerrroqbrrppnj66acvb0qp1+vx9NNPxwMPPJDu4KDAGo1GPPjgg/Hkk0/GL3/5yxgeHk57SPxPgmcJnTlzJm677bZ43/veF9/85jfjtddeu/x3ZmHy4aWXXooLFy7ESy+9FAsLC3HixImIiPjgBz8Y73znO9MdHEs89NBDcc8998RHPvKR2Lt3b3z729+ON954Iz772c+mPTQ28Mc//jFefPHFy1+fPn06Tpw4EQMDA/He9743xZGxkfvvvz9++MMfxlNPPRXbt2+/XFNdrVbj6quvTnl05aadUgk98cQTa37o+XHIh3vvvTd+8IMfrHj8F7/4Rdx2223JD4h1ffe7341vfOMbcfbs2bjxxhvj7/7u7+KWW25Je1hs4Je//GXcfvvtKx6/55574oknnkh+QLSsUqms+vjjjz++YUkT3SV4AgCQCIV9AAAkQvAEACARgicAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwRMAgEQIngAAJELwBAAgEYInAACJ+P8BVK+4+Id+GOQAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax.plot(x, y, 'o');" @@ -1827,7 +1044,7 @@ "source": [ "Different values\n", "of this additional argument can be used to produce different colored lines\n", - "as well as different linestyles. \n" + "as well as different linestyles." ] }, { @@ -1840,28 +1057,10 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": null, "id": "27133a4e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:04.308443Z", - "iopub.status.busy": "2023-07-25T23:59:04.308303Z", - "iopub.status.idle": "2023-07-25T23:59:04.393126Z", - "shell.execute_reply": "2023-07-25T23:59:04.392823Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp4AAAKTCAYAAACw6AhNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA5wklEQVR4nO3df2zcZ50v+s/YbOPuIR7k0NQuDWACVyvL3HZTmhKoUIsa8B4ponuuqj3VjdQiVHF82wq2/EFBR1iWFmV7QYKzUAW2WrVIET/+OaUKe9ZX3BZaoZMqWqzoHpMt9zYEtUqdpiTqOHTXaeWZ+4fPpPHvGXvm+/P1kiLhyZfMU4898/4+z+f5PJVGo9EIAADosp60BwAAQDkIngAAJELwBAAgEYInAACJEDwBAEiE4AkAQCIETwAAEvGOtAewnnq9Hq+88kps3749KpVK2sMBAGCZRqMRFy9ejOuuuy56etaf08x08HzllVdi165daQ8DAIANvPzyy3H99deve02mg+f27dsjYvE/pL+/P+XRAACw3NzcXOzatetybltPpoNnc3m9v79f8AQAyLBWyiJtLgIAIBGCJwAAiRA8AQBIhOAJAEAiBE8AABIheAIAkAjBEwCARAieAAAkQvAEACARgicAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwRMAgEQIngAAJELwBAAgEYInAACJEDwBAEiE4AkAQCLekfYAAFazUG/E8dMX4tzF+di5vS/2Dg9Eb08l7WEBsAWCJ5A5UzOzMXn0ZMzW5i8/NlTti4kDIzE2OpTiyADYCkvtQKZMzczG+JHpJaEzIuJsbT7Gj0zH1MxsSiMDYKsETyAzFuqNmDx6Mhqr/F3zscmjJ2OhvtoVAGSd4AlkxvHTF1bMdF6pERGztfk4fvpCcoMCoGMETyAzzl1cO3Ru5joAskXwBDJj5/a+jl4HQLYInkBm7B0eiKFqX6zVNKkSi7vb9w4PJDksADpE8AQyo7enEhMHRiIiVoTP5tcTB0b08wTIKcETyJSx0aE4fHBPDFaXLqcPVvvi8ME9+ngC5JgG8kDmjI0Oxf6RQScXARSM4AlkUm9PJfbt3pH2MADoIEvtAAAkQvAEACARgicAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwRMAgEQIngAAJELwBAAgEYInAACJEDwBAEiE4AkAQCIETwAAEiF4AgCQCMETAIBECJ4AACRC8AQAIBGCJwAAiRA8AQBIhOAJAEAiBE8AABIheAIAkIh3pD0AAGjVQr0Rx09fiHMX52Pn9r7YOzwQvT2VtIcFtEjwBCAXpmZmY/LoyZitzV9+bKjaFxMHRmJsdCjFkQGtstRO1y3UG3Hs1Pl46sSZOHbqfCzUG2kPCciZqZnZGD8yvSR0RkScrc3H+JHpmJqZTWlkQDvMeNJVZiiArVqoN2Ly6MlY7Za1ERGViJg8ejL2jwxadoeMM+NJ15ihADrh+OkLK95HrtSIiNnafBw/fSG5QQGbInjSFRvNUEQszlBYdgc2cu7i2qFzM9cB6RE86QozFECn7Nze19HrgPQInnSFGQqgU/YOD8RQtS/Wqt6sxGLt+N7hgSSHBWyC4ElXmKEAOqW3pxITB0YiIlaEz+bXEwdGbCyCHBA86QozFEAnjY0OxeGDe2KwuvRmdbDaF4cP7tElA3JCOyW6ojlDMX5kOioRSzYZmaEANmNsdCj2jww6uQhyrNJoNDK7rXhubi6q1WrUarXo7+9Pezhsgj6eAFBs7eQ1M550lRkKAKBJ8KTrensqsW/3jrSHAQCkzOYiAAASIXgCAJAIwRMAgEQIngAAJELwBAAgEYInAACJEDwBAEiE4AkAQCIETwAAEtHV4Hno0KG4+eabY/v27bFz5864884747e//W03nxIAgIzqavB89tln4/7774/nn38+fv7zn8dbb70Vn/rUp+KNN97o5tMCAJBBlUaj0UjqyV577bXYuXNnPPvss/GJT3xiw+vn5uaiWq1GrVaL/v7+BEYIAEA72slr70hoTBERUavVIiJiYGBg1b+/dOlSXLp06fLXc3NziYwLAIDuS2xzUb1ejy9+8Yvx8Y9/PEZHR1e95tChQ1GtVi//2bVrV1LDAwCgyxJbah8fH49/+qd/il/96ldx/fXXr3rNajOeu3btstQOAJBRmVtqf+CBB+JnP/tZPPfcc2uGzoiIbdu2xbZt25IYEgAACetq8Gw0GvHggw/Gk08+Gb/85S9jeHi4m08HAECGdTV43n///fHDH/4wnnrqqdi+fXucPXs2IiKq1WpcffXV3XxqAAAypqs1npVKZdXHH3/88bj33ns3/P9rpwQAkG2ZqfFMsEUoAAAZ56x2AAASIXgCAJAIwRMAgEQIngAAJELwBAAgEYInAACJEDwBAEiE4AkAQCIETwAAEiF4AgCQCMETAIBECJ4AACRC8AQAIBGCJwAAiRA8AQBIhOAJAEAiBE8AABIheAIAkAjBEwCARAieAAAkQvAEACARgicAAIkQPAEASITgCQBAIgRPAAAS8Y60BwB0xkK9EcdPX4hzF+dj5/a+2Ds8EL09lbSHBQCXCZ5QAFMzszF59GTM1uYvPzZU7YuJAyMxNjqU4sgA4G2W2iHnpmZmY/zI9JLQGRFxtjYf40emY2pmNqWRAcBSgifk2EK9EZNHT0Zjlb9rPjZ59GQs1Fe7AgCSJXhCjh0/fWHFTOeVGhExW5uP46cvJDcoAFiD4Ak5du7i2qFzM9cBQDcJnpBjO7f3dfQ6AOgmu9ohx/YOD8RQtS/O1uZXrfOsRMRgdbG1UploLQWQTYIn5FhvTyUmDozE+JHpqEQsCZ/NmDVxYKRUoUtrKYDsstROIS3UG3Hs1Pl46sSZOHbqfKF3dY+NDsXhg3tisLp0OX2w2heHD+4pVdjSWgog28x4UjhlnPEaGx2K/SODpV5e3qi1VCUWW0vtHxks1fdlI8oSgCQJnhRKc8ZrefhozngVeQawt6cS+3bvSHsYqWmntVSZv09XKuNNGpAuS+0Uhmbq5aa1VHuUJQBpEDwpDM3Uy01rqda5SQPSInhSGGa8yq3ZWmqt6sRKLC4jl6211GrcpAFpETwpDDNe5dZsLRURK8JnWVtLrcVNGpAWwZPCMOOF1lKtcZMGpMWudgpDM3UitJZqhROvgLSY8aRQzHgR8XZrqc/c+J7Yt3uH0LmMsgQgLZVGo5HZbYtzc3NRrVajVqtFf39/2sMhRzTFho3p4wl0Qjt5TfAEKDE3acBWtZPX1HgClFjZT7wCkqXGEwCARAieAAAkQvAEACARgicAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwRMAgEQIngAAJELwBAAgEYInAACJEDwBAEiE4AkAQCIETwAAEiF4AgCQCMETAIBECJ4AACRC8AQAIBGCJwAAiRA8AQBIhOAJAEAiBE8AABIheAIAkAjBEwCARAieAAAkQvAEACARgicAAIkQPAEASMQ70h4AAEBSFuqNOH76Qpy7OB87t/fF3uGB6O2ppD2s0hA8AYBSmJqZjcmjJ2O2Nn/5saFqX0wcGImx0aEUR1YeltoBgMKbmpmN8SPTS0JnRMTZ2nyMH5mOqZnZlEZWLoInAFBoC/VGTB49GY1V/q752OTRk7FQX+0KOknwBAAK7fjpCytmOq/UiIjZ2nwcP30huUGVlOAJABTauYtrh87NXMfmCZ4AQKHt3N7X0evYPMETACi0vcMDMVTti7WaJlVicXf73uGBJIdVSoInAFBovT2VmDgwEhGxInw2v544MKKfZwIETwCg8MZGh+LwwT0xWF26nD5Y7YvDB/fo45kQDeQBgFIYGx2K/SODTi5KkeAJAJRGb08l9u3ekfYwSstSOwAAiRA8AQBIhOAJAEAiBE8AABIheAIAkAjBEwCARGinBABQEAv1Rqb7lAqeAKQm6x+SkCdTM7MxefRkzNbmLz82VO2LiQMjmTmZSfAEIBV5+JCEvJiamY3xI9PRWPb42dp8jB+ZzsyxoGo8AUhc80PyytAZ8faH5NTMbEojg/xZqDdi8ujJFaEzIi4/Nnn0ZCzUV7siWYInAInK04ck5MHx0xdW3MRdqRERs7X5OH76QnKDWoPgCXTUQr0Rx06dj6dOnIljp84LD6yQpw9JyINzF9f+fdrMdd2kxhPoGDV7tCJPH5KQBzu393X0um4y4wl0hJo9WpWnD0nIg73DAzFU7Yu1+kFUYnESYO/wQJLDWpXgCWyZmj3akacPSciD3p5KTBwYiYhY8XvV/HriwEgmWpUJnsCWqdmjHXn6kIS8GBsdisMH98RgdelKwWC1LzOtlCLUeAIdkKWaPQ3J86H5Ibm8JnhQTTBs2tjoUOwfGcz0e6DgCWxZVmr2bG7Klzx8SLLIDV1+9PZUYt/uHWkPY02CJ7BlzZq9s7X5Ves8K7E4k9XNmr28nNrBUln/kOy2PAQ6N3R0kuAJbFmzZm/8yHRUIpaEvyRq9jba3FSJxc1N+0cGM/ehTnnlIdC1e0OXhyBNumwuAjoizcJ2m5vImzy0H2u3W8XUzGzc+sgzcfdjz8cXfnwi7n7s+bj1kWcy8d9CdpjxBDomrZq9LG1ugo3kZYa+nRu62r+9qdSFlgieQEelUbOXlc1N0Ip2Al2a9a+t3qidrf1b/J//128zH6TJhq4utT/33HNx4MCBuO6666JSqcRPf/rTbj4dUFIakpMneZmhb/VG7cIbbyp1oWVdDZ5vvPFG3HDDDfHoo49282mAktOQnDzJywx9qzd0A+/c1tK/l3aQJhu6Gjz/4i/+Iv7mb/4m/vIv/7Kl6y9duhRzc3NL/gC0Ii+ndkBeZuhbvaEb7M9HkCYbMlXjeejQoZicnEx7GEBOaUhOHqTdfqwdrZwwtVBvpN7Hl/yoNBqN1X5OOv9ElUo8+eSTceedd655zaVLl+LSpUuXv56bm4tdu3ZFrVaL/v7+BEYJAMnIQx/Ppo36czbbQ0WsHqStOhTb3NxcVKvVlvJapmY8t23bFtu2tVYrAgB5lqcZ+o26VbQyMwoRGQueAFAmRToyNE9BmvQIngBARxQpSNMdXQ2ef/zjH+PFF1+8/PXp06fjxIkTMTAwEO9973u7+dQAAGRMV4PnP//zP8ftt99++euHHnooIiLuueeeeOKJJ7r51AAAZExXg+dtt90WCW2aBwAg47raQB4AAJoETwAAEiF4AgCQCMETAIBECJ4AACRCA3kyYaNzgIGl/M7kh9cK3iZ4krqpmdkV5/sOOd8X1uR3Jj+8VrBUpZHhRptzc3NRrVajVqtFf39/2sOhC6ZmZmP8yHQs/yFszgUcPrjHmzNcoRO/M2bgkuH9jbJoJ6+Z8SQ1C/VGTB49ueJNOSKiEYtvzpNHT8b+kUEfihCd+Z0xA5cM72+wOpuLSM3x0xeWfPgt14iI2dp8HD99IblBQYZt9XemOQO3/N84W5uP8SPTMTUz28nhlpr3N1id4Elqzl1c+015M9dB0W3ld2ajGbiIxRm4hXpmq68uW6g34tip8/HUiTNx7NT5TI7Z+xuszlI7qdm5va+j10HRbeV3pp0ZuH27d2x2iF2Xl1IB72+wOjOepGbv8EAMVftireqmSix+oOwdHkhyWNAR3ZiV28rvTBFm4PJUKuD9DVYneJKa3p5KTBwYiYhY8ebc/HriwIjCe3JnamY2bn3kmbj7sefjCz8+EXc/9nzc+sgzWw5GW/mdyfsMXN5KBby/weoET1I1NjoUhw/uicHq0g+7wWqfViPkUrdn5Tb7O5P3Gbg8btbx/gYrqfEkdWOjQ7F/ZFBfQXIvqRY6m/mdac7AjR+ZjkrEkjHmYQYur6UC3t9gKcGTTOjtqWR6QwO0IskNPJv5nWnOwC3fnDOYwc05y+W5VMD7G7xN8ATokE7PynXjhKG8zsA1SwXO1uZXnVGuxGKAzmqpALBI8ATokE7OynWzbVAeZ+DyXioALLK5CKBDOrWBJ09tg5Jksw7knxlPYMu6sSTcjX+z2zoxK+eM7/XltVQAWCR4AlvSjSXhvJxOs5qtbuApyglD3ZTHUgFgkeAJbFpzSXj57FxzSXgzy5/d+DeTtpVZuby2DQJohRpPYFO6cZJM3k6nWU9zVu4zN74n9u3e0fJScJ7bBgFsRPAENqUbJ8nk8XSaTsv7CUMA6xE8gU3pxpKwZWZnfAPFJngCm9KNJWHLzIu0DQKKyuYiYFO6cZKM02nepm0QUERmPIFN6caSsGXmpTa7QQkgqwRPYNO6sSRsmRmguCqNRiOzfUnm5uaiWq1GrVaL/v7+tIcDrMHJRVzJawfl0k5eU+NZUN74SVI3TpJxOk0+5fnUKaD7BM8C8sYPpKEIp04B3aXGs2Cab/zLm3A33/inZmZTGhnQDQv1Rhw7dT6eOnEmjp06n9qpTkU6dQroHjOeBbLRG38lFt/4948MWnan8MpQbpKl1Y12Tp1SQgHlJXgWiDd+WJSlQNYtWVvWduoU0ApL7QXijR/KUW6SxWVtp04BrRA8C8QbP2WXxUDWDe2sbiSleerUWsUMlVicdS7DqVPA2gTPAvHGT9llMZB1QxZXN5w6BbRC8CwQb/yUXRYDWTdkdXXDqVPARmwuKpjmG//yjRWDBdtYAavJaiDrtObqxtna/KplBZVY/J1PY3VjbHQo9o8MFr6jALA5gmcBeeOnrLIcyDqpuboxfmQ6KhFL/luzsLrh1ClgLZbaC6r5xv+ZG98T+3bvEDophTKVm1jWBvKo0mg0Mru9s51D5wGaytDHs6kMjfKBbGsnrwmeQCEJZMXjNYVsaievqfEECkmdYbGsNos98O+uir/5zGj8+/+1WLPYUGRqPAHItLVOo7rwxpvxf/xwOg79t5MpjQxol+AJQGatdxpV0/efOx3/7f95JbExAZsneAKQWRudRtX0n5+ayf1RqFAGgicAmdXqKVMX3ngr90ehQhnYXARA5jR3sP9/r15s+f+T96NQoQwETwAyZbUd7K3I+1GoUAaCJwCZ0dzB3m615lABjkKFMlDjCUAmtLKDfTWVKM5RqFB0ZjwByIRWd7BfqahHoUJRCZ4AZEKrm4MeuH13fOja7Y7NhBwSPAHIhFY3B338g9c4DhVySo0nAJmwd3gghqp9sdb8ZSVsIoK8EzwByITenkpMHBiJiFgRPptf20QE+SZ4ApAZY6NDcfjgnhisLl12H6z2xeGDe2wigpxT4wlApoyNDsX+kcE4fvpCnLs4bxMRFIjgCUDm9PZUbCCCArLUDgBAIsx4Qokt1BuWMwFIjOAJJTU1MxuTR08uOSnGKTAAdJOl9gJaqDfi2Knz8dSJM3Hs1PlYqLd78jFFNzUzG+NHplccT3i2Nh/jR6ZjamY2pZEBUGRmPAvGLBYbWag3YvLoyVjtdqQRi/0SJ4+ejP0jg5bdAegoM54FYhaLVhw/fWHFz8iVGhExW5uP46cvJDcoAEpB8CyIjWaxIhZnsSy7c+7i2qFzM9cBQKsEz4Iwi0Wrdm7v2/iiNq4rAnXRAMlQ41kQZrFo1d7hgRiq9sXZ2vyqM+SVWDyecO/wQNJDS4W6aIDkmPEsCLNYtKq3pxITB0YiYjFkXqn59cSBkVJsLFIXDZAswbMgmrNYa0WFSizO4pRlFov1jY0OxeGDe2KwuvRGZLDaF4cP7inFTJ+6aIDkWWoviOYs1viR6ahELPkwLdssFq0ZGx2K/SODpT25qJ26aGeGA3SG4FkgzVms5fVqg+rVWENvT6W0oUpdNEDyBM+CKfssFrRKXTRA8gTPAirzLBa0qky7+xfqDTejQCYInkAplaUuWrsoIEvsagdKq+i7+7WLArLGjCdQakWti96oXVQlFttF7R8ZzP1/K5AfgidQekWsi9YuCsgiS+0ABaRdFJBFgidAAWkXBWSR4AlQQI7RBbJI8AQooGa7qIhYET6L1C4KyBfBEyidhXojjp06H0+dOBPHTp2Phfpqe7/zr+jtooD8sasdKJWyNVQvarsoIJ8qjUYjs7f6c3NzUa1Wo1arRX9/f9rDAXKu2VB9+ZteM4KZBQRoXzt5zVI7UAobNVSPWGyoXtRld4AssNQOlIKG6ist1Bu5XILP67gBwRM6ygdidmmovlRea13zOm5gkeAJHeIDMdvSaqiexZuRtWpdz9bmY/zIdGZrXdca92xtPv7Tken4XkbHDbxN8IQOyOsHeZk0G6qfrc2vWudZicU2Q51sqJ7Fm5GNal0rsVjrun9ksGMBuRPhe71xNz38X/9HR8cNdJ7NRbBFNq1sTVI9NZNuqN68GVleV9q8GZmame3I87SrnVrXTpiamY1bH3km7n7s+fjCj0/E3Y89H7c+8kzb//0bjTsi4vV/fSu++8yLWxku0GWCJ2xR0h/kRdKpUNKqpBqqZ/lmJMla106G71bH8/h/P+0mDzLMUjtsURY2rWx1KTONOsS0yhOSaKie5R30SdW6dnpJv9XxvP6vb5WqMwHkjeAJW5TWppWmrdYRplGHmEad4ZV6eypdDSZZuBlZS1K1rp0O33uHB+JdV/9JvP5vb214bVk6E3RCFje/UWyW2mGLmh/ka71VV2IxyHVy00rTVpcy06pDLHp5Qto3I+tJqta10+G7t6cSn/34+1u6No3vax4lXeoCEYInbFnSm1aatlpHmGYdYpZnBDshzZuRViRR69qN8P3AJz8U7/rTP1nz79P+vuZJVje/UXyCJ3RAUptWrrTVWcM0Zx2zPCPYCWndjLRjbHQofvXlT8aP7vto/Jf/eGP86L6Pxq++/MmO/ax2I3z39lTib//Dh1f9N7Pyfc2DLG9+o/jUeEKHJLFp5UpbnTVMc9YxjZ6aSWvejCyvnx3M0KEC3ax1bYbv8SPTUYlY8jpvJSTm4fuadVne/EbxCZ7QQd3etHKlrc4apjnr2K1QkjVJ34xkTbdCYtm/r1tV9FIXsk3whJza6qxh2rOOZZm5SvJmJIu6FRLL/n3diqKXupBtgifk1FZnDbMw62jmqhyExGxJ+6aTcrO5CHJsq5ua0tgUtVwzlHzmxvfEvt07hM6cS+oIVDYvD5vfKK5Ko9HI7LvC3NxcVKvVqNVq0d/fn/ZwILPyeHIRxZPGYQRsnteLTmknrwmeAGzZWkegNm9fkppBpz1uOumEdvKaGk8AtiTtI1DZPPW3JE2NJwBbUvQjUNuhxhXWZ8YTgC3RF3KRmknYWCIzno8++mi8//3vj76+vrjlllvi+PHjSTwtAAnQF9LZ59CqrgfPn/zkJ/HQQw/FxMRETE9Pxw033BCf/vSn49y5c91+aoBSSHt5txvnsudJ2mefp/36Qzu6vqv9lltuiZtvvjm++93vRkREvV6PXbt2xYMPPhgPP/zwuv9fu9oB1peV5d3mjF/E6ocRdGpXexZ3YR87dT7ufuz5Da/70X0f7fhGnqy8/pRbO3mtqzOeb775Zvz617+OO+644+0n7OmJO+64I44dO7bi+kuXLsXc3NySPwCsLkvLu0kcRjA1Mxu3PvJM3P3Y8/GFH5+Iux97Pm595JnUl7HTqnHN0usPrerq5qI//OEPsbCwENdee+2Sx6+99tp44YUXVlx/6NChmJyc7OaQAAohiy2MunkE6lp9QpshK80+oWnUuGbx9YdWZKqd0le+8pWo1WqX/7z88stpDwkgk7LawqgbR6CmXUO5kTRqXLP6+sNGuho83/3ud0dvb2+8+uqrSx5/9dVXY3BwcMX127Zti/7+/iV/AFipTC2Msh6y0jj7vEyvP8XS1eB51VVXxU033RRPP/305cfq9Xo8/fTTsW/fvm4+NUChlamFUR5CVhI1rlfq1OtvRzxJ63oD+Yceeijuueee+MhHPhJ79+6Nb3/72/HGG2/EZz/72W4/NUBhNZd3z9bmV12CrsRi6ClCC6O8hOxu1rgu14nX34540tD1Gs+/+qu/im9+85vxta99LW688cY4ceJETE1NrdhwBEDr0ljeTUue+oR2o8Z1refZyutvRzxp6Xofz63QxxNgfWWZtUqqT2jebOb1X6g34tZHnlmzbrY5W/qrL3+yEDcudF87eU3wBMi5LDZV74ayhOx2tfv6p9nwnmJqJ691vcYTgO5qLu8WXZI1lHnS7uufh81aFJfgCUBulCVkd1NeNmtRTIInQMaVZSmdZJSpIwLZI3gmxAcHsBnqGum05o748SPTUYnVN2sVpSMC2WNzUQJ8cACbsdb55GXfyc36Wp3o8NlEp9jVniE+OMgiM/DZp+UNm9FumPReQCfY1Z4RC/VGTB49uWoNTSMWPzgmj56M/SODftFp2VY/KFb7YHrX1X8Sn/34cDzwyQ/6WcyIds4nt9mGiLUnOppN4Veb6LBZi6QJnl3kg4NO2+rS2FofTK//21vxrf/7/43H//vp+Nv/8GGz8Bmg5Q3tMNFBXnT9yMwy88FBJ231iLv1PpiaXv/Xt+I/OS4vE7S8oR3tTHRAmgTPLvLBQadsNJsRsTibsVBfO1Zu9MF0pY3+rfUs1Btx7NT5eOrEmTh26vym/52yy9P55KTPRAd5Yam9i/RKy7+sFN53omyjnQ+czZaA2CXbOVreFE83309MdJAXgmcX+eDItyyFqE7MZrT7gdPuzMhmNjawvrHRoTh8cM+Kn8NBYT53uv1+YqKDvLDU3mXND47B6tIP/cFqnw/iDNtqPWWndWI2o/nB1OnnjOhMKQCrGxsdil99+ZPxo/s+Gv/lP94YP7rvo/GrL3/Se0eOJPF+0pzoiIgV5RkmOsgSM54JGBsdiv0jg5lYsmVjWdwd2onZjCtn4NeLf5uZGdHBobu0vMmvJN9PzJCTB4JnQnxw5EcWQ1SnyjaaH0wP/9f/Ea//61sr/n6zMyM2NsDqkn4/MdFB1llqh2WyGqI6VbYxNjoUv/7P++Ov7/hQvOvqP9nSv9VkYwOsLo33k+ZEx2dufE/s271D6CRTzHjCMlkOUZ2azejtqcQX7vhf4oFPfqgjMyM2NsDqsvx+AmkQPGGZpENUuy1WOlm20al/SwcHWJ2bMljKUjssk+Tu0KmZ2bj1kWfi7seejy/8+ETc/djzcesjz+Ty5CAdHGAlu81hqUqj0chsf5O5ubmoVqtRq9Wiv78/7eFQMt3uu7dW38vmx09ew1pWmu5vRp7HTrZlqS8wdFo7eU3whHV0K4gs1Btx6yPPrLnbtbn89qsvf1LwSYhgQLe5saGo2slrajxhHd1qg9Vqi5XnT52Pj3/o3R1/fpZy6lIxZD3YaasHgiekotXWKff/cDr+9n/7sNDTRVk8MID2mbGGfLC5CFLQauuU1//trVSO6CyTdhp8k01ZO+IWWJvgCSlotlhpdf7MOefdk9UDA2jNRjPWEX5/IEsET0jBlS1WNmLGrbs0+M43M9aQL4InpKTZ93L5sZVrMePWHRvNPldisVZQg+9sMmMN+SJ4QorGRofi0f99T0vXmnHrDg2+882MNeSL4Akp++gHdphxS5lTlzZnod6IY6fOx1MnzsSxU+dTqaM0Yw35op0SpMw559kwNjoU+0cGM90HMkuy0r7I7w/ki5OLICOy8kEOG8nica9+fyA9jsyEnMr6ySuQ5eNe/f5AOhyZCTnlSD2yrp32RUn/LPv9geyzuQiAlmlfBGyFGU8AWqZ9Uess/cNKgicALWu2Lzpbm1/1mMpmjWfZ2xfZ7ASrs9QOQMs03N9Yc9f/8lrYs7X5GD8yHVMzsymNDNIneAKkJAsN2DdDw/21LdQbMXn05Kqzwc3HJo+ezM1rDZ1mqR0gBXlfitVwf3VZ3vUPWSB4AiRsrQbszaXYvMwaal+0kl3/sD5L7QAJshRbbHb9w/oET4AEtbMUS/40d/2vVXBQicWSirLv+qe8BE+ABFmKLTa7/mF9gidQaknvLLcUW3xJ7/rPa3cEysnmIqC00thZrgF7OSS16z/v3REon0qj0cjsrdHc3FxUq9Wo1WrR39/f1edytBmUy1o7y5u/9d3cWd587ohY8vxJPDfFkebPMFypnbxmxjOyfccoEEPnbbSzvBKLO8v3jwx25fetuRS7/H1nMCPvO2Rf2j/DsFmlD55Z7qeX5UAMeZaFJt8asLMVWfgZhs0o9eaiLPfTc9YvdE9WdpY3G7B/5sb3xL7dO4ROWpaVn2FoV6mDZ1b76WU5EEMR2FlO3vkZJq9KHTyzeseY1UAMRaHJN3nnZ5i8KnXwzOodY1YDMRSFJt/knZ9h8qrUwTOrd4xZDcRQJEk3+YZO8zNMHpV6V3vzjnH8yHRUYvV+emncMWowDcmws5y88zNM3mggH9lsW6TBNKxPj1uAbGgnrwme/1MWP8SyGIghC1b73Rjs3xZ3731vvP/d/y4zv8PLZfF9BmCrBM8C8UEFS6116MNyWbtJcyMJFJXgCRTSQr0Rtz7yzLrtxpqyVJbiTG2gyNrJa6Xe1Q7ky0Y9bq+UlcMWHAgB8DbBE0psod6IY6fOx1MnzsSxU+czH37a7V2bhcMWHAgB8LZSt1OCMstjzeFme9emediCAyEA3mbGE0qoWXO4fCbubG0+xo9Mx9TMbEojW99Ghz6sJc3DFhwIAfA2wRNKJs81h+sdE7iaLJxXndUT0gDSIHhCyeS95nCtYwKXy8p51c7UBnibGk8omSLUHC4/JvD3f/jX+NHxl+Ls3BUN5TNUr9oMyyua3mdojABJEDyhZIpSc9jbU4l9u3dc/vqBT34w04ctdPNMbQdNAHkheELJNGsOz9bmV63zrMTiTFzeag6XB9Es6sYY89idACgvNZ5QMputOcxbz88yyGt3AqC8zHhCCbVbc9jurJql3+7bqDtBJRa7E+wfGfS9BzJD8ISSarXmcK1zxpuzasvPGbf0m4x2uhNkvQQBKA9L7VBizZrDz9z4nti3e8eqy+vt9Py09JucInQnAMpH8ATW1M6sWp4b0+dRUboTAOUieAJramdWLe+N6fPGiUhAHgmesAll2eHdzqyapd9kOREJyCObi6BNZdo8007Pz1ZnMi39do4TkYC8ETyhDe3u8M675qza+JHpqEQs+e9ePqtW1Mb0WdfNE5EAOs1SO7SorJtnmrNqg9WlM5WD1b4lQdvSb3o26k4AkBVmPKFFZe6b2OqsmqVfANYjeEKLyr55ptVzxi39ArAWwRNapG9i61oNqQCUixpPaJG+iQCwNYIntMjmGQDYGsET2tDqDm9IWlkONQDyTY0ntMnmGbKmTIcaAPlWaTQamb0tnpubi2q1GrVaLfr7+9MeDkDmrHWoQfM2yEw80G3t5DVL7QA5VdZDDYD8EjwBcqqdQw0AskCNJ0BOFfVQg4V6Qw11AnyfSYPgCZBTRTzUIE8bpfIc3PL0faZYBE+AnGoeanC2Nr9qnWclFlt95eVQg7U2Sp2tzcf4kelMbZTKc3DL0/eZ4lHjCZBTRTrUIE8bpZrBbXl9bTO4Tc3MpjSyjeXp+0wxCZ4AOVaUQw3yslEq78EtL99nistSO0DOFeFQg7xslGonuO3bvSO5gbUoL99nikvwBCiA3p5KJoNOq/KyUSrvwS0v32eKy1I7AKlrbpRaa462Eoubd9LeKJX34JaX7zPFJXgCkLq8bJTKe3DLy/eZ4hI8AciEPGyUKkJwy8P3meKqNBqNbG69i/YOnQegGPLQmD3PfTyb8vB9Jh/ayWuCJwBsguAGi9rJa3a1A8Am5L2TAKRB8AQoKDNyQNYIngAFVIQaRKB47GoHKJg8nyUOFJvgCVAgeT9LHCg2wROgQNo5SzwJC/VGHDt1Pp46cSaOnTov8ELJqfEEKJAsnSWuzhRYzownQIFk5SxxdabAagRPgALJwlni6kyBtQieAAWShbPEs1ZnCmSH4AlQMGOjQ3H44J4YrC5dTh+s9sXhg3u6Xl+ZpTpTIFu6trno61//evzjP/5jnDhxIq666qp4/fXXu/VUACwzNjoU+0cGUzm5KCt1pkD2dC14vvnmm3HXXXfFvn374h/+4R+69TQArCGts8SbdaZna/Or1nlWYnH2tZt1pkA2dW2pfXJyMv76r/86PvzhD3frKQDIoCzUmQLZlKkaz0uXLsXc3NySPwDkT9p1pkA2ZaqB/KFDh2JycjLtYQDQAWnWmZJdC/WGn4kSayt4Pvzww/HII4+se82//Mu/xJ/92Z9tajBf+cpX4qGHHrr89dzcXOzatWtT/xYA6UurzpRscpoVbQXPL33pS3Hvvfeue80HPvCBTQ9m27ZtsW3btk3//wGAbGqeZrV8w1nzNCslGOXQVvC85ppr4pprrunWWACAAtroNKtKLJ5mtX9k0LJ7wXWtxvOll16KCxcuxEsvvRQLCwtx4sSJiIj44Ac/GO985zu79bQAQMa0c5qV0oxi61rw/NrXvhY/+MEPLn/953/+5xER8Ytf/CJuu+22bj0tAJAxTrOiqWvtlJ544oloNBor/gidAFAuTrOiKVN9PAGA4mmeZrVW9WYlFne3O82q+ARPAKCrnGZFk+AJAHSd06yIyNjJRQBAcTnNCsETAEiM06zKTfAEoG3O2wY2Q/AEoC3O2wY2y+YiAFrWPG97+Sk0zfO2p2ZmUxoZkAeCJwAt2ei87YjF87YX6qtdASB4AnTEQr0Rx06dj6dOnIljp84XMny1c942wGrUeAJsUVlqHp23DWyVGU+6qgyzQJRbmWoenbcNbJUZT7qmLLNAlNdGNY+VWKx53D8yuKTVUF5bETXP2z5bm1/1v7kSi6fQOG8bWIvgSVc0Z4GWfzg1Z4Ecj0YRtFPz2GyYnecbsuZ52+NHpqMSseT323nbQCsstdNxdr5SFu3WPBZhWd5528BWmPGk4zYzCwR51E7N42aX5bPIedvAZgmedJydr5RFOzWPRbsh6/R523mtewXaI3jScXa+Uhbt1Dy6IVtbnutegfao8aTjmrNAa81VVGLxQ8XOV4qg1ZpHN2SrK0LdK9A6M550nJ2vlE0rNY9aEa1UpLpXoDVmPOkKO18pm2bN42dufE/s271jRVBq3pBFxIrVgLLekDmCE8rHjCddY+crLNW8IVtezzhY0npGda9QPoInXdXpna+Qd27I3qbuFcpH8ARImBuyRepeoXzUeAKQCnWvUD6CJwCpsRERysVSOwCpUvcK5SF4ApA6da9QDpbaAQBIhBlPACiQhXpD2QKZJXgCQEFMzcyuOKBgqKQHFJBNltoBoACmZmZj/Mj0imNIz9bmY/zIdEzNzKY0Mnib4AkAObdQb8Tk0ZOrNuJvPjZ59GQs1Fe7ApIjeAJAzh0/fWHFTOeVGhExW5uP46cvJDcoWIXgCQA5d+7i2qFzM9dBtwieAJBzO7f3bXxRG9dBtwieAJBze4cHYqjat+LM+6ZKLO5u3zs8kOSwYAXBEwByrrenEhMHRiIiVoTP5tcTB0b08yR1gicAFMDY6FAcPrgnBqtLl9MHq31x+OAefTzJBA3kAaAgxkaHYv/IoJOLyCzBEwAKpLenEvt270h7GLAqS+0AACRC8AQAIBGCJwAAiRA8AQBIhOAJAEAiBE8AABIheAIAkAjBEwCARAieAAAkQvAEACARgicAAIlwVjsAXbVQb8Tx0xfi3MX52Lm9L/YOD0RvTyXtYQEpEDwB6JqpmdmYPHoyZmvzlx8bqvbFxIGRGBsdSnFkQBostQPQFVMzszF+ZHpJ6IyIOFubj/Ej0zE1M5vSyIC0CJ4AdNxCvRGTR09GY5W/az42efRkLNRXuwIoKsETgI47fvrCipnOKzUiYrY2H8dPX0huUEDqBE8AOu7cxbVD52auA4pB8ASg43Zu7+vodUAxCJ4AdNze4YEYqvbFWk2TKrG4u33v8ECSwwJSJngC0HG9PZWYODASEbEifDa/njgwop8nlIzgCUBXjI0OxeGDe2KwunQ5fbDaF4cP7tHHE0pIA3koMSfK0G1jo0Oxf2TQzxkQEYInlJYTZUhKb08l9u3ekfYwgAyw1A4l5EQZANIgeELJOFEGgLQInlAyTpQBIC2CJ5SME2UASIvgCSXjRBkA0iJ4Qsk4UQaAtAieUDJOlAEgLYInlJATZQBIgwbyUFJOlAEgaYInlJgTZQBIkqV2AAASIXgCAJAIwRMAgEQIngAAJELwBAAgEYInAACJ0E4JoA0L9YbepwCbJHhCygSZ/JiamY3JoydjtjZ/+bGhal9MHBhx2hNACwRPSJEgkx9TM7MxfmQ6GsseP1ubj/Ej044aBWiBGk9ISTPIXBk6I94OMlMzsymNjOUW6o2YPHpyReiMiMuPTR49GQv11a4AoEnwhBQIMvly/PSFFTcIV2pExGxtPo6fvpDcoABySPCEFAgy+XLu4tqv1WauAygrwRNSIMjky87tfR29DqCsBE9IgSCTL3uHB2Ko2hdr9RqoxOKmsL3DA0kOCyB3BE9IgSCTL709lZg4MBIRseI1a349cWBEGyyADQiekAJBJn/GRofi8ME9MVhdOgs9WO3TSgmgRZVGo5HZbbNzc3NRrVajVqtFf39/2sOBjtPHM380/AdYqp28JnhCygQZAPKsnbzm5CJIWW9PJfbt3pH2MACg69R4AgCQCMETAIBECJ4AACRC8AQAIBGCJwAAiRA8AQBIhOAJAEAiBE8AABIheAIAkAjBEwCARDgyEyAiFuqNOH76Qpy7OB87t/fF3uGB6O2ppD0sgEIRPIHSm5qZjcmjJ2O2Nn/5saFqX0wcGImx0aEURwZQLJbagVKbmpmN8SPTS0JnRMTZ2nyMH5mOqZnZlEYGUDyCJ1BaC/VGTB49GY1V/q752OTRk7FQX+0KANoleAKldfz0hRUznVdqRMRsbT6On76Q3KAACkzwBErr3MW1Q+dmrgNgfYInUFo7t/d19DoA1id4AqW1d3gghqp9sVbTpEos7m7fOzyQ5LAACqtrwfP3v/99fO5zn4vh4eG4+uqrY/fu3TExMRFvvvlmt54SoC29PZWYODASEbEifDa/njgwop8nQId0LXi+8MILUa/X4/vf/3785je/iW9961vxve99L7761a926ykB2jY2OhSHD+6JwerS5fTBal8cPrhHH0+ADqo0Go3E+oR84xvfiMOHD8fvfve7Vf/+0qVLcenSpctfz83Nxa5du6JWq0V/f39SwwRKyMlFAJszNzcX1Wq1pbyW6MlFtVotBgbWrpU6dOhQTE5OJjgigEW9PZXYt3tH2sMAKLTENhe9+OKL8Z3vfCc+//nPr3nNV77ylajVapf/vPzyy0kNDwCALms7eD788MNRqVTW/fPCCy8s+f+cOXMmxsbG4q677or77rtvzX9727Zt0d/fv+QPAADF0HaN52uvvRbnz59f95oPfOADcdVVV0VExCuvvBK33XZbfPSjH40nnngienpaz7rt1AwAAJC8rtZ4XnPNNXHNNde0dO2ZM2fi9ttvj5tuuikef/zxtkInAADF0rXNRWfOnInbbrst3ve+98U3v/nNeO211y7/3eDgYLeeFgCAjOpa8Pz5z38eL774Yrz44otx/fXXL/m7BDs4AZBTWlxB8STax7NdajwBymlqZjYmj56M2dr85ceGqn0xcWBEU3/ImHbymqJLADJlamY2xo9MLwmdERFna/MxfmQ6pmZmUxoZsFWCJwCZsVBvxOTRk7HaUlzzscmjJ2OhntnFOmAdgicAmXH89IUVM51XakTEbG0+jp++kNyggI4RPAHIjHMX1w6dm7kOyJZEz2oHtsYuX4pu5/a+jl4HZIvgCTlhly9lsHd4IIaqfXG2Nr9qnWclIgarizddQP5YaoccsMuXsujtqcTEgZGIWAyZV2p+PXFgxEw/5JTgCRlnly9lMzY6FIcP7onB6tLl9MFqXxw+uMcMP+SYpXbIuHZ2+e7bvSO5gUEXjY0Oxf6RQTXNUDCCJ2ScXb6UVW9Pxc0UFIyldsg4u3wBKArBEzKuuct3rQXGSizubrfLF4CsEzwh4+zyBaAoBE/IAbt8ASgCm4sgJ+zyBSDvBE/IEbt8AcgzS+0AACRC8AQAIBGCJwAAiRA8AQBIhOAJAEAiBE8AABIheAIAkAjBEwCARAieAAAkQvAEACARgicAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwRMAgEQIngAAJELwBAAgEYInAACJEDwBAEjEO9IewHoajUZERMzNzaU8EgAAVtPMac3ctp5MB8+LFy9GRMSuXbtSHgkAAOu5ePFiVKvVda+pNFqJpymp1+vxyiuvxPbt26NSqaQ9nNybm5uLXbt2xcsvvxz9/f1pD4c2eO3yzeuXb16/fPP6dV+j0YiLFy/GddddFz0961dxZnrGs6enJ66//vq0h1E4/f39fvlyymuXb16/fPP65ZvXr7s2mulssrkIAIBECJ4AACRC8CyRbdu2xcTERGzbti3todAmr12+ef3yzeuXb16/bMn05iIAAIrDjCcAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwbOEfv/738fnPve5GB4ejquvvjp2794dExMT8eabb6Y9NFr09a9/PT72sY/Fn/7pn8a73vWutIfDBh599NF4//vfH319fXHLLbfE8ePH0x4SLXjuuefiwIEDcd1110WlUomf/vSnaQ+JFh06dChuvvnm2L59e+zcuTPuvPPO+O1vf5v2sAjBs5ReeOGFqNfr8f3vfz9+85vfxLe+9a343ve+F1/96lfTHhotevPNN+Ouu+6K8fHxtIfCBn7yk5/EQw89FBMTEzE9PR033HBDfPrTn45z586lPTQ28MYbb8QNN9wQjz76aNpDoU3PPvts3H///fH888/Hz3/+83jrrbfiU5/6VLzxxhtpD6309PEkIiK+8Y1vxOHDh+N3v/td2kOhDU888UR88YtfjNdffz3tobCGW265JW6++eb47ne/GxER9Xo9du3aFQ8++GA8/PDDKY+OVlUqlXjyySfjzjvvTHsobMJrr70WO3fujGeffTY+8YlPpD2cUjPjSURE1Gq1GBgYSHsYUChvvvlm/PrXv4477rjj8mM9PT1xxx13xLFjx1IcGZRLrVaLiPA5lwGCJ/Hiiy/Gd77znfj85z+f9lCgUP7whz/EwsJCXHvttUsev/baa+Ps2bMpjQrKpV6vxxe/+MX4+Mc/HqOjo2kPp/QEzwJ5+OGHo1KprPvnhRdeWPL/OXPmTIyNjcVdd90V9913X0ojJ2Jzrx8A67v//vtjZmYmfvzjH6c9FCLiHWkPgM750pe+FPfee++613zgAx+4/L9feeWVuP322+NjH/tY/P3f/32XR8dG2n39yL53v/vd0dvbG6+++uqSx1999dUYHBxMaVRQHg888ED87Gc/i+eeey6uv/76tIdDCJ6Fcs0118Q111zT0rVnzpyJ22+/PW666aZ4/PHHo6fH5Hfa2nn9yIerrroqbrrppnj66acvb0qp1+vx9NNPxwMPPJDu4KDAGo1GPPjgg/Hkk0/GL3/5yxgeHk57SPxPgmcJnTlzJm677bZ43/veF9/85jfjtddeu/x3ZmHy4aWXXooLFy7ESy+9FAsLC3HixImIiPjgBz8Y73znO9MdHEs89NBDcc8998RHPvKR2Lt3b3z729+ON954Iz772c+mPTQ28Mc//jFefPHFy1+fPn06Tpw4EQMDA/He9743xZGxkfvvvz9++MMfxlNPPRXbt2+/XFNdrVbj6quvTnl05aadUgk98cQTa37o+XHIh3vvvTd+8IMfrHj8F7/4Rdx2223JD4h1ffe7341vfOMbcfbs2bjxxhvj7/7u7+KWW25Je1hs4Je//GXcfvvtKx6/55574oknnkh+QLSsUqms+vjjjz++YUkT3SV4AgCQCIV9AAAkQvAEACARgicAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwRMAgEQIngAAJELwBAAgEYInAACJ+P8BVK+4+Id+GOQAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax.scatter(x, y, marker='o');" @@ -1875,47 +1074,18 @@ "Notice that in the code blocks above, we have ended\n", "the last line with a semicolon. This prevents `ax.plot(x, y)` from printing\n", "text to the notebook. However, it does not prevent a plot from being produced. \n", - " If we omit the trailing semi-colon, then we obtain the following output: " + " If we omit the trailing semi-colon, then we obtain the following output:" ] }, { "cell_type": "code", - "execution_count": 43, + "execution_count": null, "id": "ef41f90d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:04.395040Z", - "iopub.status.busy": "2023-07-25T23:59:04.394901Z", - "iopub.status.idle": "2023-07-25T23:59:04.506567Z", - "shell.execute_reply": "2023-07-25T23:59:04.506227Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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AEAiBE8AABIheAIAkAjBEwCARAieAAAkQvAEACARgicAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwRMAgEQIngAAJELwBAAgEYInAACJEDwBAEjEO9IewHoajUZERMzNzaU8EgAAVtPMac3ctp5MB8+LFy9GRMSuXbtSHgkAAOu5ePFiVKvVda+pNFqJpymp1+vxyiuvxPbt26NSqaQ9nNybm5uLXbt2xcsvvxz9/f1pD4c2eO3yzeuXb16/fPP6dV+j0YiLFy/GddddFz0961dxZnrGs6enJ66//vq0h1E4/f39fvlyymuXb16/fPP65ZvXr7s2mulssrkIAIBECJ4AACRC8CyRbdu2xcTERGzbti3todAmr12+ef3yzeuXb16/bMn05iIAAIrDjCcAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwbOEfv/738fnPve5GB4ejquvvjp2794dExMT8eabb6Y9NFr09a9/PT72sY/Fn/7pn8a73vWutIfDBh599NF4//vfH319fXHLLbfE8ePH0x4SLXjuuefiwIEDcd1110WlUomf/vSnaQ+JFh06dChuvvnm2L59e+zcuTPuvPPO+O1vf5v2sAjBs5ReeOGFqNfr8f3vfz9+85vfxLe+9a343ve+F1/96lfTHhotevPNN+Ouu+6K8fHxtIfCBn7yk5/EQw89FBMTEzE9PR033HBDfPrTn45z586lPTQ28MYbb8QNN9wQjz76aNpDoU3PPvts3H///fH888/Hz3/+83jrrbfiU5/6VLzxxhtpD6309PEkIiK+8Y1vxOHDh+N3v/td2kOhDU888UR88YtfjNdffz3tobCGW265JW6++eb47ne/GxER9Xo9du3aFQ8++GA8/PDDKY+OVlUqlXjyySfjzjvvTHsobMJrr70WO3fujGeffTY+8YlPpD2cUjPjSURE1Gq1GBgYSHsYUChvvvlm/PrXv4477rjj8mM9PT1xxx13xLFjx1IcGZRLrVaLiPA5lwGCJ/Hiiy/Gd77znfj85z+f9lCgUP7whz/EwsJCXHvttUsev/baa+Ps2bMpjQrKpV6vxxe/+MX4+Mc/HqOjo2kPp/QEzwJ5+OGHo1KprPvnhRdeWPL/OXPmTIyNjcVdd90V9913X0ojJ2Jzrx8A67v//vtjZmYmfvzjH6c9FCLiHWkPgM750pe+FPfee++613zgAx+4/L9feeWVuP322+NjH/tY/P3f/32XR8dG2n39yL53v/vd0dvbG6+++uqSx1999dUYHBxMaVRQHg888ED87Gc/i+eeey6uv/76tIdDCJ6Fcs0118Q111zT0rVnzpyJ22+/PW666aZ4/PHHo6fH5Hfa2nn9yIerrroqbrrppnj66acvb0qp1+vx9NNPxwMPPJDu4KDAGo1GPPjgg/Hkk0/GL3/5yxgeHk57SPxPgmcJnTlzJm677bZ43/veF9/85jfjtddeu/x3ZmHy4aWXXooLFy7ESy+9FAsLC3HixImIiPjgBz8Y73znO9MdHEs89NBDcc8998RHPvKR2Lt3b3z729+ON954Iz772c+mPTQ28Mc//jFefPHFy1+fPn06Tpw4EQMDA/He9743xZGxkfvvvz9++MMfxlNPPRXbt2+/XFNdrVbj6quvTnl05aadUgk98cQTa37o+XHIh3vvvTd+8IMfrHj8F7/4Rdx2223JD4h1ffe7341vfOMbcfbs2bjxxhvj7/7u7+KWW25Je1hs4Je//GXcfvvtKx6/55574oknnkh+QLSsUqms+vjjjz++YUkT3SV4AgCQCIV9AAAkQvAEACARgicAAIkQPAEASITgCQBAIgRPAAASIXgCAJAIwRMAgEQIngAAJELwBAAgEYInAACJ+P8BVK+4+Id+GOQAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", - "ax.scatter(x, y, marker='o')\n" + "ax.scatter(x, y, marker='o')" ] }, { @@ -1925,10 +1095,7 @@ "source": [ "In what follows, we will use\n", " trailing semicolons whenever the text that would be output is not\n", - "germane to the discussion at hand.\n", - "\n", - "\n", - "\n" + "germane to the discussion at hand." ] }, { @@ -1937,34 +1104,15 @@ "metadata": {}, "source": [ "To label our plot, we make use of the `set_xlabel()`, `set_ylabel()`, and `set_title()` methods\n", - "of `ax`.\n", - " " + "of `ax`." ] }, { "cell_type": "code", - "execution_count": 44, + "execution_count": null, "id": "16a9cb99", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:04.508470Z", - "iopub.status.busy": "2023-07-25T23:59:04.508345Z", - "iopub.status.idle": "2023-07-25T23:59:04.612557Z", - "shell.execute_reply": "2023-07-25T23:59:04.612259Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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a2vTN7/5TRUVFemee+5hpYI0w21iIHa04ABAanmsfi4x0NbWpkceeUR33XWX/H6/zjvvPF133XU666yzElVjwnR0dMjr9crn8yknJ8fucozBjl1A7/wBS6cternXFpzXf3IWrx8A6EGsea1fS2zV1dVp2bJlWrlypfLy8lRRUaHt27fr29/+tq6++mrdc889/Xl6OETwNjGA6IItOJUr6uWRwoJsOrXgcFELwCniHolta2vTk08+qWXLlunDDz9UeXm5Lr/8ck2fPj20a9frr7+usrIyff7550kpuq8YiQWQbOm8Tmw6/9sAOEeseS3uEDtw4ECNGzdOl156qSoqKjRy5MiI33zGjBlau3Zt/JUnESEWQCqk42hlcA3cg08YwX8VffIAEiVpIfa1117T6aef3u8C7UCIBYD4Bft9oy0hRr8vgESKNa/FvTqBqQEWANA38ayBCwCpwrazAIAesQYuACcixAIAesQauACciBALAOhRcBvqaN2uHnWtUsA21ABSqV8htrOTW0cAkO7YhhqAE8UdYgOBgP7zP/9TRx55pIYOHaqPP/5YknTbbbfpscceS3iBAOBk/oCl9Vt2a1XDdq3fslv+QL82QXQstqEG4DRx79h155136oknntDPf/5zXXHFFaHHi4uLde+99+qyyy5LaIEA4FRuW/y/rLhApUX5abcGLgAzxb1O7DHHHKOHH35YZ599trKzs/Xuu+/q6KOP1qZNmzR58mT97W9/S1at/cY6sQAShcX/ASA5Ys1rcY/Ebt++Xcccc0y3xwOBgL744ot4nw4AjOMPWKquaeoWYKWuNVM9kqprmlRalO+qUUoTdyozsWYAXeIOsUVFRXrttdc0ZsyYsMd/97vf6cQTT0xYYQDgVPEs/j953PDUFWYjE1srTKwZwJfiDrELFizQ7NmztX37dgUCAT377LPavHmzfv3rX2v16tXJqBFwLUaJnInF/8NFa61o9XWqckW9I1srTKwZQLi4Q+yMGTNUU1OjO+64Q4ceeqgWLFigSZMmqaamRqWlpcmoEXAlRomcy67F/514UWNia0VvNUvOqxlAd3GHWEk6/fTTtWbNmkTXAuD/xyhR36Ui6AUX/2/1dUYMQh51LT2VyMX/nXpRY0drRX9/x73VLLmvHQQwUZ9CrCTt379fbW1tCgQCYY8fddRR/S4KcDMTR7acIlVB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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax.scatter(x, y, marker='o')\n", @@ -1979,48 +1127,20 @@ "metadata": {}, "source": [ " Having access to the figure object `fig` itself means that we can go in and change some aspects and then redisplay it. Here, we change\n", - " the size from `(8, 8)` to `(12, 3)`.\n" + " the size from `(8, 8)` to `(12, 3)`." ] }, { "cell_type": "code", - "execution_count": 45, + "execution_count": null, "id": "6707420e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:04.614466Z", - "iopub.status.busy": "2023-07-25T23:59:04.614335Z", - "iopub.status.idle": "2023-07-25T23:59:04.681782Z", - "shell.execute_reply": "2023-07-25T23:59:04.681462Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+cAAAE8CAYAAACimMB5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABIuklEQVR4nO3dfVxUdf7//+eAIpqAeUFgoqJlRpioqWlW5mpSLWXuWrlZ0oWmqaXllu6uGm19XLfaTfMibTep3LK2zUwrNzOtLNJfGRVLWhqlKYhigVpKzczvD74ziTAwAzNzLuZxv9243eTM1cuZw5nzOu/36/V2uN1utwAAAAAAgGGijA4AAAAAAIBIR3IOAAAAAIDBSM4BAAAAADAYyTkAAAAAAAYjOQcAAAAAwGAk5wAAAAAAGIzkHAAAAAAAg5GcAwAAAABgMJJzAAAAAAAMRnIOAICBNm3aJIfDoU2bNhkdSjXPPPOMunfvrqZNm6pVq1ZGhwMAgO2RnAMAEAK5ublyOBzen9jYWHXr1k2TJ0/W/v37g/Iar732mu67776gPNeJtm/fruzsbHXt2lVPPPGEli1bVuv93G63LrzwQrVr105lZWU1bp8wYYKaNm2q/Pz8oMfoj5UrV8rhcGjp0qW13j5x4kQ1bdpUn3zySZgjAwCgJpJzAABC6P7779czzzyjhQsXauDAgVqyZIkGDBigH374odHP/dprryknJycIUVa3adMmuVwuzZ8/X9nZ2brmmmtqvZ8n8S0vL9f06dOr3ZaXl6dly5bpzjvvVEZGRtBj9Md1112nzMxMzZgxo8YFka1bt2rZsmWaNm2aevbsaUh8AACciOQcAIAQuuyyyzRmzBjdeuutys3N1dSpU1VUVKTVq1cbHZpPpaWlkuTXdPa0tDT9/ve/V25urt5++21J0k8//aTx48crJSUlJBcPArFkyRJVVlZq2rRp3m1Op1O33XabOnbsGJKZBwAANATJOQAAYTRkyBBJUlFRUZ33+/e//60+ffqoefPmatu2rcaMGaO9e/d6b8/OztaiRYskqdr0+fosXrxY55xzjpo1a6b27dtr0qRJ+v777723d+7cWXPmzJEktWvXTg6Ho94EdtasWeratatuu+02VVZW6pFHHlFBQYEWLlyoU045pc7Hpqen65JLLqmx3eVy6fTTT9dvf/tb77aVK1eqT58+iouLU3x8vHr06KH58+fX+fydO3fWfffdp+eee07r16+XJC1YsED5+flasmSJWrRoUefjAQAIF5JzAADCaNeuXZKkNm3a+LxPbm6urrnmGkVHR2vu3LkaN26cXnrpJQ0aNMibSN92220aNmyYpKrmbZ6futx3332aNGmS2rdvr0ceeUS/+c1vtHTpUl166aX66aefJEmPPvqorr76aklVo87PPPOMRo4cWefzxsbGavHixdqxY4duv/123X///br66quVlZVV7/tx7bXX6p133lFJSUm17Zs3b9a+fft03XXXSZLWr1+v0aNH69RTT9W8efP0l7/8RYMHD9Z7771X72t4pq5PnDhRO3fu1OzZs71T3gEAMA03AAAIuuXLl7slud988033gQMH3Hv27HGvXLnS3aZNG3fz5s3d3377rdvtdrs3btzoluTeuHGj2+12uysrK92JiYnu9PR0948//uh9vrVr17oluWfPnu3dNmnSJLe/X+WlpaXumJgY96WXXup2Op3e7QsXLnRLcj/55JPebXPmzHFLch84cCCg//Po0aPdktxxcXHuPXv2+PWYHTt2uCW5H3vssWrbb7/9dnfLli3dP/zwg9vtdrvvvPNOd3x8vPvnn38OKCaPLVu2uKOiotytW7d2t2rVyl1SUtKg5wEAIFQYOQcAIISGDh2qdu3aKSUlRdddd51atmypVatW6fTTT6/1/h9++KFKS0t1++23KzY21rv9iiuuUPfu3fXqq682KI4333xTlZWVmjp1qqKifvn6HzdunOLj4xv8vCdq27atpKo69A4dOvj1mG7duikjI0PPP/+8d5vT6dSLL76orKwsNW/eXFJV/fvRo0e9U9MD1a9fP02YMEGHDh3S3LlzddpppzXoeQAACBWScwAAQmjRokVav369Nm7cqMLCQn311VcaPny4z/t/8803kqSzzjqrxm3du3f33h4oX88bExOjLl26NPh5PT788EMtWrRI6enp2rJli1asWOH3Y6+99lq999573pr6TZs2qbS0VNdee633Prfffru6deumyy67TB06dNDNN9+sdevWBRRj3759JUnnnXdeQI8DACAcSM4BAAihfv36aejQoRo8eLDOPvvsaqPWduF0OjV+/Hi1b99e7733nvr376+77767WqO5ulx77bVyu93697//LUl64YUXlJCQUK0mPDExUfn5+XrllVd05ZVXauPGjbrssss0duzYUPyXAAAIO/udIQAAYGGdOnWSJO3YsaPGbTt27PDeLsmv7uz1PW9lZaWKioqqPW+gFixYoI8//liPPfaY4uPj9fjjj6usrEwzZszw6/Gpqanq16+fnn/+ef3888966aWXNGLECDVr1qza/WJiYpSVlaXFixdr165duu222/T0009r586dDY4dAACzIDkHAMBEzjvvPCUmJurxxx/X8ePHvdtff/11ff7557riiiu82zzLlPkzQj106FDFxMRowYIFcrvd3u3//Oc/VV5eXu15A7Fnzx7Nnj1bV155pUaMGCFJysjI0B133KEnnnhCW7Zs8et5rr32Wn3wwQd68skndfDgwWpT2iWprKys2u9RUVE699xzJana+wQAgFU1MToAAADwi6ZNm2revHm66aabdPHFF2v06NHav3+/5s+fr86dO2vatGne+/bp00eSdMcdd2j48OGKjo72Lj12snbt2mnmzJnKyclRZmamrrzySu3YsUOLFy9W3759NWbMmAbFO2XKFLndbj322GPVtufk5OiFF17QhAkT9OGHHyo6OrrO57nmmms0ffp0TZ8+Xa1bt9bQoUOr3X7rrbfq0KFDGjJkiDp06KBvvvlGjz32mDIyMnT22Wc3KHYAAMyEkXMAAEwmOztbzz//vCorK3Xvvfdq6dKluvrqq7V582a1atXKe7+RI0dqypQpWrdunW644QaNHj26zue97777tHDhQu3evVvTpk3TCy+8oPHjx+uNN95Q06ZNA47z5Zdf1urVq5WTk6OOHTtWuy0uLk7z589Xfn6+FixYUO9zdejQQQMHDtThw4c1cuTIGvGMGTPGu5767bffrqeeekrXXnutXn/9dVvW8QMAIo/DfeLcNgAAAAAAEHZcagYAAAAAwGAk5wAAAAAAGIzkHAAAAAAAg5GcAwAAAABgMJJzAAAAAAAMRnIOAAAAAIDBmhgdQDi5XC7t27dPcXFxcjgcRocDAAAAALA5t9utw4cPq3379oqK8j0+HlHJ+b59+5SSkmJ0GAAAAACACLNnzx516NDB5+0RlZzHxcVJqnpT4uPjDY4GAAAAAGB3FRUVSklJ8eajvkRUcu6Zyh4fH09yDgAAAAAIm/pKq2kIBwAAAACAwUjOAQAAAAAwWERNawcARC6ny62tRYdUeviYEuNi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+KJ69Oih5s2bq02bNho6dKiOHj3qMwYAAMKB5BwAgCCYP3++BgwYoHHjxqm4uFjFxcVKSUnx3v7HP/5RjzzyiD788EM1adJEN998c63P8/PPP2vEiBG6+OKL9emnnyovL0/jx4+Xw+HwK45Zs2apsLBQr7/+uj7//HMtWbJEbdu2DXrM7777rm688UbdeeedKiws1NKlS5Wbm6sHH3yw1teKjY3Vv/71Lz311FNavXq1nE6nxowZo2HDhvl8LyTpyJEjuvzyy7VhwwZ9/PHHyszMVFZWlnbv3i1J6t69ux5++GHdfvvt2r17t7799ltNmDBB8+bNU1paWo3nKy4u1ujRo3XzzTfr888/16ZNmzRy5Ei53W6/3l8AAEKFae0AAARBQkKCYmJi1KJFi1qnmT/44IO6+OKLJUkzZszQFVdcoWPHjik2Nrba/SoqKlReXq5f//rX6tq1qyTp7LPP9juO3bt3q1evXjrvvPMkSZ07dw5JzDk5OZoxY4bGjh0rSerSpYv+/Oc/65577tGcOXNqfb2MjAw98MADuvXWW3Xdddfpm2++0dq1a+v8//Ts2VM9e/b0/v7nP/9Zq1at0iuvvKLJkydLkm6//Xa99tprGjNmjGJiYtS3b19NmTKl1ucrLi7Wzz//rJEjR6pTp06SpB49etQZAwAA4cDIOQAAYXDuued6/52cnCxJKi0trXG/1q1bKzs7W8OHD1dWVpbmz5+v4uJiv19n4sSJWrlypTIyMnTPPffo/fffD0nMn3zyie6//35vvXzLli29I/A//PCDz+e8++671a1bNy1cuFBPPvmk2rRp473txOeaMGGCpKqR8+nTp+vss89Wq1at1LJlS33++efekXOPJ598Up9++qm2bdum3NxcnzMNevbsqV/96lfq0aOHRo0apSeeeELfffddw94gAACCiOQcAIAwaNq0qfffnsTR5XLVet/ly5crLy9PAwcO1PPPP69u3brpgw8+8Ot1LrvsMn3zzTeaNm2a9u3bp1/96leaPn160GM+cuSIcnJylJ+f7/357LPP9OWXX9aYDXCi0tJSffHFF4qOjtaXX35Z7bYTn+v++++XVNXJftWqVfq///s/vfvuu8rPz1ePHj1UWVlZ7bGffPKJjh49qqNHj9Z5MSM6Olrr16/X66+/rrS0ND322GM666yzVFRUFNibAwBAkJGcAwAQJDExMXI6nUF5rl69emnmzJl6//33lZ6eXq3hWX3atWunsWPHasWKFXr00Ue1bNkyn/dtaMy9e/fWjh07dMYZZ9T4iYryfXpx8803q0ePHnrqqad077336vPPP/feduJzJCYmSpLee+89ZWdn6+qrr1aPHj2UlJRUrWmdJB06dEjZ2dn64x//qOzsbF1//fX68ccffcbgcDh0wQUXKCcnRx9//LFiYmK0atWqgN8DAACCiZpzAACCpHPnztqyZYu+/vprtWzZUq1btw74OYqKirRs2TJdeeWVat++vXbs2KEvv/xSN954o1+Pnz17tvr06aNzzjlHx48f19q1a+usWW9ozLNnz9avf/1rdezYUb/97W8VFRWlTz75RAUFBXrggQdqfcyiRYuUl5enTz/9VCkpKXr11Vd1/fXX64MPPlBMTEytjznzzDP10ksvKSsrSw6HQ7Nmzaox42DChAlKSUnRn/70Jx0/fly9evXS9OnTtWjRohrPt2XLFm3YsEGXXnqpEhMTtWXLFh04cCCgun4AAEKBkXMAAIJk+vTpio6OVlpamtq1a1ejLtofLVq00Pbt2/Wb3/xG3bp10/jx4zVp0iTddtttfj0+JiZGM2fO1LnnnquLLrpI0dHRWrlyZdBjHj58uNauXas33nhDffv21fnnn6+///3v3iZrJ9u+fbt+//vfa/Hixd6O8IsXL9bBgwc1a9Ysn6/zt7/9TaeeeqoGDhyorKwsDR8+XL179/be/vTTT+u1117TM888oyZNmuiUU07RihUr9MQTT+j111+v8Xzx8fF65513dPnll6tbt27605/+pEceeUSXXXaZX/9vAABCxeFm7RAAAAAAAAzFyDkAAAAAAAYjOQcAAAAAwGAk5wAAAAAAGIzkHAAAAAAAg5GcAwAAAABgMJJzAAAAAAAMRnIOAAAAAIDBSM4BAAAAADAYyTkAAAAAAAYjOQcAAAAAwGAk5wAAAAAAGOz/B9++F5qSEtJfAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "execution_count": 45, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig.set_size_inches(12,3)\n", "fig" ] }, - { - "cell_type": "markdown", - "id": "00c8816e", - "metadata": {}, - "source": [ - " " - ] - }, { "cell_type": "markdown", "id": "3cf4ed3f", @@ -2033,34 +1153,15 @@ "situations, there is often a relationship between the axes in the plots. For example,\n", "all plots may have a common $x$-axis. The `subplots()` function can automatically handle\n", "this situation when passed the keyword argument `sharex=True`.\n", - "The `axes` object below is an array pointing to different plots in the figure. " + "The `axes` object below is an array pointing to different plots in the figure." ] }, { "cell_type": "code", - "execution_count": 46, + "execution_count": null, "id": "6c78ef8b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:04.683675Z", - "iopub.status.busy": "2023-07-25T23:59:04.683534Z", - "iopub.status.idle": "2023-07-25T23:59:04.980489Z", - "shell.execute_reply": "2023-07-25T23:59:04.980118Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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csn3vve95I033kief/75ZNasWcnq1atLPHk6du7cmaxbty555plnkohInn322dOuP3jwYHLOOeckLS0tySuvvJJ861vfSioqKpL29vbSDFwCciafnCkka/LJmXxyJp+cKSRnCsmafHImn5wpJGvyjVfWTIiSbNGiRcmqVauG/j0wMJDMnj07aWtrG3b9F77wheSGG27IO9bQ0JD8/d//fapzlkqx+3GqkydPJueee27y3e9+N60RS2o0+3Hy5MnkqquuSr7zne8kK1asmFKBkiTF78m3v/3t5MILL0z6+/tLNWJJFbsfq1atSj772c/mHWtpaUmuvvrqVOccDx8mUL761a8mn/rUp/KOLV26NGlubk5xstKSM/nkTCFZk0/O5JMzI5MzfyBnCsmafHImn5wpJGtGVsqsGfc/t+zv7489e/ZEU1PT0LHy8vJoamqKzs7OYc/p7OzMWx8R0dzcPOL6yWQ0+3Gqd955J9599904//zz0xqzZEa7H1//+tdj5syZcfPNN5dizJIazZ788Ic/jMbGxli1alXU1tbGpZdeGhs2bIiBgYFSjZ2a0ezHVVddFXv27Bm6ffngwYOxc+fOuP7660sy80Qzla+pEXLmVHKmkKzJJ2fyyZkzN5WvqRFyZjiyJp+cySdnCsmaMzdW19VpYznUaBw9ejQGBgaitrY273htbW0cOHBg2HO6u7uHXd/d3Z3anKUymv041V133RWzZ88u+AaZjEazHy+++GI8/vjj0dXVVYIJS280e3Lw4MH4j//4j/jiF78YO3fujNdffz2+/OUvx7vvvhutra2lGDs1o9mPm266KY4ePRqf+cxnIkmSOHnyZNx+++1x9913l2LkCWeka2pfX1/87ne/i7PPPnucJhsbciafnCkka/LJmXxy5szJmUJTOWciZM2p5Ew+OVNI1py5scqacb+TjLG1cePG2LZtWzz77LNRVVU13uOU3LFjx2LZsmWxdevWmDFjxniPM2EMDg7GzJkz47HHHosFCxbE0qVLY926dbFly5bxHm1c7Nq1KzZs2BCPPvpo7N27N5555pnYsWNH3H///eM9Gkx4Wc+ZCFkzHDmTT87Amcl61siZQnKmkKxJx7jfSTZjxoyoqKiInp6evOM9PT1RV1c37Dl1dXVFrZ9MRrMf73nwwQdj48aN8eMf/zguv/zyNMcsmWL345e/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AAAAMk9JBgAAAEDmKckAAAAAyLxRlWSbN2+OuXPnRlVVVTQ0NMTu3btPu37Tpk3x8Y9/PM4+++yor6+P1atXx+9///tRDQzA1CdnAEiTnAFgOEWXZNu3b4+WlpZobW2NvXv3xrx586K5uTneeuutYdc/9dRTsWbNmmhtbY39+/fH448/Htu3b4+77777jIcHYOqRMwCkSc4AMJKiS7KHH344br311li5cmV88pOfjC1btsQ555wTTzzxxLDrX3rppbj66qvjpptuirlz58bnPve5uPHGGz/wtzUAZJOcASBNcgaAkRRVkvX398eePXuiqanp/S9QXh5NTU3R2dk57DlXXXVV7NmzZyhEDh48GDt37ozrr79+xOc5ceJE9PX15T0AmPrkDABpkjMAnM60YhYfPXo0BgYGora2Nu94bW1tHDhwYNhzbrrppjh69Gh85jOfiSRJ4uTJk3H77bef9vbktra2uO+++4oZDYApQM4AkCY5A8DppP7plrt27YoNGzbEo48+Gnv37o1nnnkmduzYEffff/+I56xduzZ6e3uHHocPH057TAAmKTkDQJrkDEB2FHUn2YwZM6KioiJ6enryjvf09ERdXd2w59x7772xbNmyuOWWWyIi4rLLLovjx4/HbbfdFuvWrYvy8sKeLpfLRS6XK2Y0AKYAOQNAmuQMAKdT1J1klZWVsWDBgujo6Bg6Njg4GB0dHdHY2DjsOe+8805BcFRUVERERJIkxc4LwBQmZwBIk5wB4HSKupMsIqKlpSVWrFgRCxcujEWLFsWmTZvi+PHjsXLlyoiIWL58ecyZMyfa2toiImLx4sXx8MMPxxVXXBENDQ3x+uuvx7333huLFy8eChcAeI+cASBNcgaAkRRdki1dujSOHDkS69evj+7u7pg/f360t7cPvfnloUOH8n7Tcs8990RZWVncc8898etf/zr+9E//NBYvXhzf/OY3x+5VADBlyBkA0iRnABhJWTIJ7hHu6+uLmpqa6O3tjerq6vEeB2DSc13NZz8Axpbraj77ATC20rqupv7plgAAAAAw0SnJAAAAAMg8JRkAAAAAmackAwAAACDzlGQAAAAAZJ6SDAAAAIDMU5IBAAAAkHlKMgAAAAAyT0kGAAAAQOYpyQAAAADIPCUZAAAAAJmnJAMAAAAg85RkAAAAAGSekgwAAACAzFOSAQAAAJB5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G9tXAsCUIGcASJusAWA4RZdkS5cujSNHjsT69euju7s75s+fH+3t7UNvZHno0KG8292uuuqqeOqpp+Kee+6Ju+++O/7iL/4innvuubj00ks/9HPmcrlobW0d9pblLLIf+exHIXuSz34Umsh7ImfGn/0oZE/y2Y9C9iTfRN+PUmfNRN+P8WBP8tmPfPajkD3Jl9Z+lCUT8XOZAQAAAKCEJt47aQIAAABAiSnJAAAAAMg8JRkAAAAAmackAwAAACDzJkxJtnnz5pg7d25UVVVFQ0ND7N69+7Trf/CDH8Qll1wSVVVVcdlll8XOnTtLNGlpFLMfW7dujWuuuSamT58e06dPj6ampg/cv8mm2O+P92zbti3KyspiyZIl6Q44Dordk7fffjtWrVoVs2bNilwuFxdffPGU+rkpdj82bdoUH//4x+Pss8+O+vr6WL16dfz+978v0bTp+ulPfxqLFy+O2bNnR1lZWTz33HMfeM6uXbvi05/+dORyufjYxz4WTz75ZOpzlpqcySdnCsmafHImn5x5n5wZnpwpJGvyyZl8cqaQrHnfuGVNMgFs27YtqaysTJ544onkv/7rv5Jbb701Oe+885Kenp5h1//sZz9LKioqkgceeCB55ZVXknvuuSc566yzkpdffrnEk6ej2P246aabks2bNyf79u1L9u/fn/zd3/1dUlNTk/z3f/93iSdPR7H78Z433ngjmTNnTnLNNdckf/3Xf12aYUuk2D05ceJEsnDhwuT6669PXnzxxeSNN95Idu3alXR1dZV48nQUux/f+973klwul3zve99L3njjjeT5559PZs2alaxevbrEk6dj586dybp165JnnnkmiYjk2WefPe36gwcPJuecc07S0tKSvPLKK8m3vvWtpKKiImlvby/NwCUgZ/LJmUKyJp+cySdn8smZQnKmkKzJJ2fyyZlCsibfeGXNhCjJFi1alKxatWro3wMDA8ns2bOTtra2Ydd/4QtfSG644Ya8Yw0NDcnf//3fpzpnqRS7H6c6efJkcu655ybf/e530xqxpEazHydPnkyuuuqq5Dvf+U6yYsWKKRUoSVL8nnz7299OLrzwwqS/v79UI5ZUsfuxatWq5LOf/WzesZaWluTqq69Odc7x8GEC5atf/WryqU99Ku/Y0qVLk+bm5hQnKy05k0/OFJI1+eRMPjkzMjnzB3KmkKzJ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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, axes = subplots(nrows=2,\n", " ncols=3,\n", @@ -2078,30 +1179,10 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": null, "id": "a18402fb", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:04.982439Z", - "iopub.status.busy": "2023-07-25T23:59:04.982308Z", - "iopub.status.idle": "2023-07-25T23:59:05.186177Z", - "shell.execute_reply": "2023-07-25T23:59:05.185846Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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Lc149tlnjR07dhjz5883evbsaXz66acxjtwaZtvj9ttvN5YuXWp88sknxs6dO40ZM2YYWVlZxl/+8pcYR24Ns+3htX//fmPQoEHGddddZ9xyyy2xCTZGzLZJS0uLMWbMGOOmm24yNm/ebOzfv9/YtGmTUVdXF+PIrWG2PX7zm98YLpfL+M1vfmPs37/fePfdd428vDzjgQceiHHk1li/fr3xyCOPGK+99pohyXj99ddD7r9v3z6jd+/eRmlpqbFjxw7jueeeM9LS0ozq6urYBBwD9DP+6Gc6o6/xRz/jj37GH/1Mcvqv//ovY8aMGca7775r7N2713jzzTeN7Oxs48EHH7Q7NEstWLDAWLx4sVFaWmpkZWXZHY4lIu0D45nZ77FEUFJSYqxatcqor6836urqjJtuusm46KKLjK+//tru0BzFEUmysWPHGnPmzPE9b2trMwYOHGhUVVUF3P/HP/6xcfPNN/ttKywsNP71X//V0jhjxWx7dHT27FmjT58+xssvv2xViDEVSXucPXvWGDdunPHiiy8a06dPT6gbF8Mw3ybLli0zhgwZYrS2tsYqxJgy2x5z5swxbrjhBr9tpaWlxvjx4y2N0w7hdPoPPfSQcfnll/ttmzp1qlFSUmJhZLFFP+OPfqYz+hp/9DP+6GeCo59Jbs8++6wxePBgu8OIiVWrViVskqy7/y+Id8mSJOvoq6++MiQZf/zjH+0OxVFsH27Z2tqqbdu2qbi42LctNTVVxcXFqq2tDXhMbW2t3/6SVFJSEnT/eBJJe3R06tQpnTlzRv369bMqzJiJtD0ef/xxZWdn66677opFmDEVSZu89dZbKioq0pw5c5STk6MRI0bo6aefVltbW6zCtkwk7TFu3Dht27bNV0a+b98+rV+/XjfddFNMYnaaRP5OlehnOqKf6Yy+xh/9jD/6me5L5O/UZNfU1JQwfUGyisb/CxCfmpqaJInf4Q562B3A0aNH1dbWppycHL/tOTk52rVrV8BjGhoaAu7f0NBgWZyxEkl7dDRv3jwNHDiw039G4lEk7bF582a99NJLqquri0GEsRdJm+zbt08bN27UHXfcofXr12vPnj269957debMGVVUVMQibMtE0h633367jh49qmuvvVaGYejs2bO655579PDDD8ciZMcJ9p3qdrv1zTffqFevXjZFFh30M/7oZzqjr/FHP+OPfqb7Er2fSVZ79uzRc889p0WLFtkdCrohGv8vQPzxeDy6//77NX78eI0YMcLucBzF9koyRNfChQu1Zs0avf7668rIyLA7nJg7efKkpk2bphUrVqh///52h+MYHo9H2dnZeuGFFzR69GhNnTpVjzzyiJYvX253aLbYtGmTnn76af3617/W9u3b9dprr2ndunV64okn7A4NcLxk72ck+ppA6Gf80c8gnpSVlSklJSXko2Oy5NChQ5o0aZJuvfVWzZo1y6bIIxfJZwYSyZw5c1RfX681a9bYHYrj2F5J1r9/f6WlpamxsdFve2Njo3JzcwMek5uba2r/eBJJe3gtWrRICxcu1Hvvvacrr7zSyjBjxmx77N27VwcOHNDkyZN92zwejySpR48e2r17t4YOHWpt0BaL5BrJy8tTz549lZaW5tt22WWXqaGhQa2trUpPT7c0ZitF0h6PPvqopk2bpp/97GeSpCuuuELNzc26++679cgjjyg1Nbn+fhDsOzUzMzMh/rpPP+OPfqYz+hp/9DP+6Ge6L9H7mXj34IMPasaMGSH3GTJkiO/fX375pSZOnKhx48bphRdesDg6a5j9zImsO/8vQHyaO3eu3nnnHX3wwQe68MIL7Q7HcWzvodPT0zV69GjV1NT4tnk8HtXU1KioqCjgMUVFRX77S9KGDRuC7h9PImkPSXr22Wf1xBNPqLq6WmPGjIlFqDFhtj2GDRumTz/9VHV1db7Hj370I02cOFF1dXXKz8+PZfiWiOQaGT9+vPbs2eO7iZOkzz77THl5eXF94yJF1h6nTp3qdIPivbEzDMO6YB0qkb9TJfqZjuhnOqOv8Uc/449+pvsS+Ts1EQwYMEDDhg0L+fD+Hh86dEgTJkzQ6NGjtWrVqrhN+Jr5zIku0v8XIP4YhqG5c+fq9ddf18aNGzV48GC7Q3ImW5cN+Js1a9YYLpfLWL16tbFjxw7j7rvvNvr27Ws0NDQYhmEY06ZNM8rKynz7f/jhh0aPHj2MRYsWGTt37jQqKiqMnj17Gp9++qldHyGqzLbHwoULjfT0dOMPf/iDcfjwYd/j5MmTdn2EqDLbHh0l2opjhmG+TQ4ePGj06dPHmDt3rrF7927jnXfeMbKzs40nn3zSro8QVWbbo6KiwujTp4/x29/+1ti3b5/x3//938bQoUONH//4x3Z9hKg6efKk8cknnxiffPKJIclYvHix8cknnxiff/65YRiGUVZWZkybNs23/759+4zevXsb//7v/27s3LnTWLp0qZGWlmZUV1fb9RGijn7GH/1MZ/Q1/uhn/NHP+KOfSU5/+ctfjEsuucT4wQ9+YPzlL3/x6w8S2eeff2588sknRmVlpXHeeef5rv1k6gMTUVffY4lo9uzZRlZWlrFp0ya/399Tp07ZHZqjOCJJZhiG8dxzzxkXXXSRkZ6ebowdO9b4+OOPfT+7/vrrjenTp/vt/7vf/c649NJLjfT0dOPyyy831q1bF+OIrWWmPS6++GJDUqdHRUVF7AO3iNnro71Eu3HxMtsmH330kVFYWGi4XC5jyJAhxlNPPWWcPXs2xlFbx0x7nDlzxnjssceMoUOHGhkZGUZ+fr5x7733Gn/9619jH7gF3n///YDfCd42mD59unH99dd3OmbUqFFGenq6MWTIEGPVqlUxj9tq9DP+6Gc6o6/xRz/jj37mW/QzyWnVqlUBz7tD6i4sM3369ICf+f3337c7tKgK9R2XiLr6HktEwX5/+T72l2IYSVjzDQAAAAAAALQTn4PIAQAAAAAAgCgiSQYAAAAAAICkR5IMAAAAAAAASY8kGQAAAAAAAJIeSTIAAAAAAAAkPZJkAAAAAAAASHokyQAAAAAAAJD0SJIBAAAAAAAg6ZEkAwAAAAAAQNIjSQYAAAAAAICkR5IMAAAAAAAASY8kGQAAAAAAAJLe/w9yG0SzfWAMRgAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "axes[0,1].plot(x, y, 'o')\n", "axes[1,2].scatter(x, y, marker='+')\n", @@ -2114,9 +1195,7 @@ "metadata": {}, "source": [ "Type `subplots?` to learn more about \n", - "`subplots()`. \n", - "\n", - "\n" + "`subplots()`." ] }, { @@ -2131,21 +1210,13 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": null, "id": "80e18950", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:05.188103Z", - "iopub.status.busy": "2023-07-25T23:59:05.187975Z", - "iopub.status.idle": "2023-07-25T23:59:06.284103Z", - "shell.execute_reply": "2023-07-25T23:59:06.283751Z" - }, - "lines_to_next_cell": 2 - }, + "metadata": {}, "outputs": [], "source": [ "fig.savefig(\"Figure.png\", dpi=400)\n", - "fig.savefig(\"Figure.pdf\", dpi=200);\n" + "fig.savefig(\"Figure.pdf\", dpi=200);" ] }, { @@ -2153,34 +1224,15 @@ "id": "b8e17a71", "metadata": {}, "source": [ - "We can continue to modify `fig` using step-by-step updates; for example, we can modify the range of the $x$-axis, re-save the figure, and even re-display it. " + "We can continue to modify `fig` using step-by-step updates; for example, we can modify the range of the $x$-axis, re-save the figure, and even re-display it." ] }, { "cell_type": "code", - "execution_count": 49, + "execution_count": null, "id": "fe8c404d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.286372Z", - "iopub.status.busy": "2023-07-25T23:59:06.286067Z", - "iopub.status.idle": "2023-07-25T23:59:06.544075Z", - "shell.execute_reply": "2023-07-25T23:59:06.543737Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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TU2NLrjggnaJnFjF2jYOSf7kQ2FhoT788MOApNaGDRuUmZmp4cOHxzRWr9erm266Senp6Xr99dfD6s0QqlyDseNvoHCeXati9bfJP/7xDx0/fjwgERWrWNtqaWnRhx9+6I/DjjLtaqy//e1v1dTUpO9973udXica5WpVZ89pND4nN6E90x5tmkC0aQLRnmmPNk3XRe171dI0/zZZs2aN8Xg8ZvXq1WbHjh3mrrvuMn369PGvbHX77bebuXPn+vf/05/+ZLp162YWLVpkdu7cacrKyhJqyWSr5bFw4UKTnp5ufve73wUs933y5EmnbiGqrJbH+RJtJRhjrJfJgQMHTO/evc3s2bPN7t27zZtvvmmys7PNY4895tQtRJXV8igrKzO9e/c2v/71r82+ffvMH/7wBzN06FDz7W9/26lbiKqTJ0+abdu2mW3bthlJZvHixWbbtm3m73//uzHGmLlz55rbb7/dv79vueQf/ehHZufOnWbp0qURLZfsZn//+9/Ntm3bTHl5uenVq5e/fNp+T1522WXm5Zdf9r9fuHCh6dOnj3nttdfM//zP/5hbb73VDB482Hz66af+fSZMmGCuvPJK85e//MW8//775vOf/7yZMmVKl2Lt7Jz/+Mc/zGWXXWb+8pe/BBz3v//7vyYlJcX8/ve/b3fO119/3axYscJ8+OGH5n//93/NL37xC9OzZ08zf/78mMa6Z88es2DBArN582ZTW1trXnvtNTNkyBDz1a9+1X/M2bNnzYgRI8xNN91kampqTGVlpenfv78pLS2NaawNDQ2moKDAXH755WbPnj0B9evZs2eNMdEpVzv+Bgrn2bUq2n+bnDx50vzwhz801dXVpra21rz99tvmqquuMp///OfN6dOnI44zkljLy8vNW2+9Zfbu3Wu2bNlivvOd75iMjAzz17/+NeB+ol2mkcTqc80115jJkye3225XudpRr3R27/GG9kx7tGkC0aYJRHumPdo0gZxq07giSWaMMc8884y5+OKLTXp6uhk7dqz54IMP/D+77rrrzLRp0wL2/81vfmO+8IUvmPT0dPOlL33JrFu3LsYR28tKeVxyySVGUrtXWVlZ7AO3idXno61Eq1B8rJbJn//8Z1NQUGA8Ho8ZMmSIefzxx/0NvURgpTzOnDljfvKTn5ihQ4eajIwMk5+fb+655x7zz3/+M/aB2+Dd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", - "text/plain": [ - "
" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "axes[0,1].set_xlim([-1,1])\n", "fig.savefig(\"Figure_updated.jpg\")\n", @@ -2208,35 +1260,16 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": null, "id": "a99034cb", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.545997Z", - "iopub.status.busy": "2023-07-25T23:59:06.545858Z", - "iopub.status.idle": "2023-07-25T23:59:06.652996Z", - "shell.execute_reply": "2023-07-25T23:59:06.652585Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "x = np.linspace(-np.pi, np.pi, 50)\n", "y = x\n", "f = np.multiply.outer(np.cos(y), 1 / (1 + x**2))\n", - "ax.contour(x, y, f);\n" + "ax.contour(x, y, f);" ] }, { @@ -2249,29 +1282,10 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": null, "id": "c613a5df", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.655043Z", - "iopub.status.busy": "2023-07-25T23:59:06.654897Z", - "iopub.status.idle": "2023-07-25T23:59:06.789816Z", - "shell.execute_reply": "2023-07-25T23:59:06.789401Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax.contour(x, y, f, levels=45);" @@ -2295,32 +1309,13 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": null, "id": "bef21527", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.793238Z", - "iopub.status.busy": "2023-07-25T23:59:06.793090Z", - "iopub.status.idle": "2023-07-25T23:59:06.903016Z", - "shell.execute_reply": "2023-07-25T23:59:06.902666Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "image/png": "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jhm7cDkcDuPo0aOxbt26aH7qp8ZTp07F1q1b48iRI7F+/foVWiGj4FpfOlzrS4drfelwrS8+bdvG6dOnY/PmzdHr/fyPYcfur8V7vd4vTMTr1693s14iXOtLh2t96XCtLx2u9cVlZmbmvMb5hR4AAKoRLgEAqOaCCpfT09Px0Y9+NKanp1d6KXTMtb50uNaXDtf60uFaX9rG7hd6AAC4cF1Qn1wCADDehEsAAKoRLgEAqEa4BACgGuESAIBqLphw+cADD8Qb3/jGWLVqVVx//fXxne98Z6WXxGv07W9/O973vvfF5s2bo2ma+NKXvnTOn7dtGx/5yEfiDW94Q6xevTp27NgRP/jBD1Zmsbwme/fujXe9612xbt26eP3rXx+33nprHD58+Jwxc3NzsWvXrrjyyitj7dq1sXPnzjh+/PgKrZhSDz74YFxzzTXLzSyzs7Px1a9+dfnPXeeL13333RdN08Q999yz/D3X+9J0QYTLL37xi7F79+746Ec/Gk8//XRce+21cfPNN8cLL7yw0kvjNThz5kxce+218cADD7zin3/84x+P+++/Pz772c/Gk08+GWvWrImbb7455ubmRrxSXqv9+/fHrl274uDBg/HEE0/E4uJivOc974kzZ84sj7n33nvj8ccfj0cffTT2798fR48ejdtuu20FV02JLVu2xH333ReHDh2K7373u3HjjTfG+9///vj+978fEa7zxeqpp56Kz33uc3HNNdec833X+xLVXgCuu+66dteuXcv/PRgM2s2bN7d79+5dwVVRU0S0jz322PJ/D4fDdtOmTe1f/dVfLX/vxIkT7fT0dPuP//iPK7BCanrhhRfaiGj379/ftu3Zazs5Odk++uijy2P+/d//vY2I9sCBAyu1TCq54oor2r/92791nS9Sp0+fbt/85je3TzzxRPvrv/7r7Yc+9KG2bb2uL2Vj/8nlwsJCHDp0KHbs2LH8vV6vFzt27IgDBw6s4Mro0nPPPRfHjh0757rPzMzE9ddf77pfBE6ePBkRERs2bIiIiEOHDsXi4uI51/vqq6+Obdu2ud4XsMFgEI888kicOXMmZmdnXeeL1K5du+K9733vOdc1wuv6UtZf6QX8Ij/+8Y9jMBjExo0bz/n+xo0b4z/+4z9WaFV07dixYxERr3jdf/JnXJiGw2Hcc8898e53vzve/va3R8TZ6z01NRWXX375OWNd7wvTs88+G7OzszE3Nxdr166Nxx57LN72trfFM8884zpfZB555JF4+umn46mnnvqZP/O6vnSNfbgELi67du2K733ve/Ev//IvK70UOvKWt7wlnnnmmTh58mT80z/9U9x+++2xf//+lV4WlR05ciQ+9KEPxRNPPBGrVq1a6eUwRsb+r8Vf97rXxcTExM/8dtnx48dj06ZNK7QquvaTa+u6X1zuuuuu+MpXvhLf/OY3Y8uWLcvf37RpUywsLMSJEyfOGe96X5impqbiTW96U2zfvj327t0b1157bXz60592nS8yhw4dihdeeCHe8Y53RL/fj36/H/v374/7778/+v1+bNy40fW+RI19uJyamort27fHvn37lr83HA5j3759MTs7u4Iro0tXXXVVbNq06ZzrfurUqXjyySdd9wtQ27Zx1113xWOPPRbf+MY34qqrrjrnz7dv3x6Tk5PnXO/Dhw/H888/73pfBIbDYczPz7vOF5mbbropnn322XjmmWeWv975znfGBz/4weX/7Xpfmi6IvxbfvXt33H777fHOd74zrrvuuvjUpz4VZ86ciTvuuGOll8Zr8OKLL8YPf/jD5f9+7rnn4plnnokNGzbEtm3b4p577omPfexj8eY3vzmuuuqq+PCHPxybN2+OW2+9deUWTZFdu3bFww8/HF/+8pdj3bp1y//eamZmJlavXh0zMzNx5513xu7du2PDhg2xfv36uPvuu2N2djZuuOGGFV49GXv27Ilbbrkltm3bFqdPn46HH344vvWtb8XXv/511/kis27duuV/N/0Ta9asiSuvvHL5+673JWqlf139fP31X/91u23btnZqaqq97rrr2oMHD670kniNvvnNb7YR8TNft99+e9u2Z//viD784Q+3GzdubKenp9ubbrqpPXz48MoumiKvdJ0jon3ooYeWx7z88svtn/zJn7RXXHFFe9lll7W//du/3f7oRz9auUVT5Pd///fbX/7lX26npqbaX/qlX2pvuumm9p//+Z+X/9x1vrj97/9XRG3rel+qmrZt2xXKtQAAXGTG/t9cAgBw4RAuAQCoRrgEAKAa4RIAgGqESwAAqhEuAQCoRrgEAKAa4RIAgGqESwAAqhEuAQCoRrgEAKCa/w/1ugUagpwzWAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", - "ax.imshow(f);\n" + "ax.imshow(f);" ] }, { @@ -2343,32 +1338,13 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": null, "id": "4435ed50", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.904985Z", - "iopub.status.busy": "2023-07-25T23:59:06.904852Z", - "iopub.status.idle": "2023-07-25T23:59:06.907631Z", - "shell.execute_reply": "2023-07-25T23:59:06.907307Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "seq1 = np.linspace(0, 10, 11)\n", - "seq1\n" + "seq1" ] }, { @@ -2383,31 +1359,13 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": null, "id": "7a2c664a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.909501Z", - "iopub.status.busy": "2023-07-25T23:59:06.909370Z", - "iopub.status.idle": "2023-07-25T23:59:06.911861Z", - "shell.execute_reply": "2023-07-25T23:59:06.911478Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])" - ] - }, - "execution_count": 54, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "seq2 = np.arange(0, 10)\n", - "seq2\n" + "seq2" ] }, { @@ -2424,29 +1382,10 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": null, "id": "810eafdf", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.914013Z", - "iopub.status.busy": "2023-07-25T23:59:06.913879Z", - "iopub.status.idle": "2023-07-25T23:59:06.916405Z", - "shell.execute_reply": "2023-07-25T23:59:06.916096Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "'lo '" - ] - }, - "execution_count": 55, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "\"hello world\"[3:6]" ] @@ -2457,35 +1396,17 @@ "metadata": {}, "source": [ "In the code block above, the notation `3:6` is shorthand for `slice(3,6)` when used inside\n", - "`[]`. " + "`[]`." ] }, { "cell_type": "code", - "execution_count": 56, + "execution_count": null, "id": "f7a9f652", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.918188Z", - "iopub.status.busy": "2023-07-25T23:59:06.918057Z", - "iopub.status.idle": "2023-07-25T23:59:06.920501Z", - "shell.execute_reply": "2023-07-25T23:59:06.920172Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "'lo '" - ] - }, - "execution_count": 56, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\"hello world\"[slice(3,6)]\n" + "metadata": {}, + "outputs": [], + "source": [ + "\"hello world\"[slice(3,6)]" ] }, { @@ -2495,27 +1416,7 @@ "source": [ "You might have expected `slice(3,6)` to output the fourth through seventh characters in the text string (recalling that `Python` begins its indexing at zero), but instead it output the fourth through sixth. \n", " This also explains why the earlier `np.arange(0, 10)` command output only the integers from $0$ to $9$. \n", - "See the documentation `slice?` for useful options in creating slices. \n", - "\n", - " \n", - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - "\n", - " \n" + "See the documentation `slice?` for useful options in creating slices." ] }, { @@ -2529,34 +1430,13 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": null, "id": "24427538", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.922296Z", - "iopub.status.busy": "2023-07-25T23:59:06.922171Z", - "iopub.status.idle": "2023-07-25T23:59:06.924760Z", - "shell.execute_reply": "2023-07-25T23:59:06.924501Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[ 0, 1, 2, 3],\n", - " [ 4, 5, 6, 7],\n", - " [ 8, 9, 10, 11],\n", - " [12, 13, 14, 15]])" - ] - }, - "execution_count": 57, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "A = np.array(np.arange(16)).reshape((4, 4))\n", - "A\n" + "A" ] }, { @@ -2570,30 +1450,12 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": null, "id": "18684ed5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.926485Z", - "iopub.status.busy": "2023-07-25T23:59:06.926366Z", - "iopub.status.idle": "2023-07-25T23:59:06.928716Z", - "shell.execute_reply": "2023-07-25T23:59:06.928382Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "6" - ] - }, - "execution_count": 58, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "A[1,2]\n" + "metadata": {}, + "outputs": [], + "source": [ + "A[1,2]" ] }, { @@ -2611,31 +1473,12 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": null, "id": "34d27b73", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.930420Z", - "iopub.status.busy": "2023-07-25T23:59:06.930302Z", - "iopub.status.idle": "2023-07-25T23:59:06.932693Z", - "shell.execute_reply": "2023-07-25T23:59:06.932407Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[ 4, 5, 6, 7],\n", - " [12, 13, 14, 15]])" - ] - }, - "execution_count": 59, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "A[[1,3]]\n" + "metadata": {}, + "outputs": [], + "source": [ + "A[[1,3]]" ] }, { @@ -2650,33 +1493,12 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": null, "id": "1bb799c5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.934417Z", - "iopub.status.busy": "2023-07-25T23:59:06.934293Z", - "iopub.status.idle": "2023-07-25T23:59:06.936701Z", - "shell.execute_reply": "2023-07-25T23:59:06.936383Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[ 0, 2],\n", - " [ 4, 6],\n", - " [ 8, 10],\n", - " [12, 14]])" - ] - }, - "execution_count": 60, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "A[:,[0,2]]\n" + "metadata": {}, + "outputs": [], + "source": [ + "A[:,[0,2]]" ] }, { @@ -2691,30 +1513,12 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": null, "id": "de853e7c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.938410Z", - "iopub.status.busy": "2023-07-25T23:59:06.938279Z", - "iopub.status.idle": "2023-07-25T23:59:06.940843Z", - "shell.execute_reply": "2023-07-25T23:59:06.940553Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 4, 14])" - ] - }, - "execution_count": 61, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "A[[1,3],[0,2]]\n" + "metadata": {}, + "outputs": [], + "source": [ + "A[[1,3],[0,2]]" ] }, { @@ -2727,30 +1531,12 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": null, "id": "e71bf672", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.942617Z", - "iopub.status.busy": "2023-07-25T23:59:06.942490Z", - "iopub.status.idle": "2023-07-25T23:59:06.945126Z", - "shell.execute_reply": "2023-07-25T23:59:06.944774Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 4, 14])" - ] - }, - "execution_count": 62, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.array([A[1,0],A[3,2]])\n" + "metadata": {}, + "outputs": [], + "source": [ + "np.array([A[1,0],A[3,2]])" ] }, { @@ -2763,31 +1549,12 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": null, "id": "458fe5c9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.946927Z", - "iopub.status.busy": "2023-07-25T23:59:06.946793Z", - "iopub.status.idle": "2023-07-25T23:59:06.973966Z", - "shell.execute_reply": "2023-07-25T23:59:06.973611Z" - } - }, - "outputs": [ - { - "ename": "IndexError", - "evalue": "shape mismatch: indexing arrays could not be broadcast together with shapes (2,) (3,) ", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[63], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mA\u001b[49m\u001b[43m[\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[38;5;241;43m3\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m,\u001b[49m\u001b[38;5;241;43m2\u001b[39;49m\u001b[43m,\u001b[49m\u001b[38;5;241;43m3\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m]\u001b[49m\n", - "\u001b[0;31mIndexError\u001b[0m: shape mismatch: indexing arrays could not be broadcast together with shapes (2,) (3,) " - ] - } - ], - "source": [ - "A[[1,3],[0,2,3]]\n" + "metadata": {}, + "outputs": [], + "source": [ + "A[[1,3],[0,2,3]]" ] }, { @@ -2797,45 +1564,17 @@ "source": [ "We can see what has gone wrong here. When supplied with two indexing lists, the `numpy` interpretation is that these provide pairs of $i,j$ indices for a series of entries. That is why the pair of lists must have the same length. However, that was not our intent, since we are looking for a submatrix.\n", "\n", - "One easy way to do this is as follows. We first create a submatrix by subsetting the rows of `A`, and then on the fly we make a further submatrix by subsetting its columns.\n" + "One easy way to do this is as follows. We first create a submatrix by subsetting the rows of `A`, and then on the fly we make a further submatrix by subsetting its columns." ] }, { "cell_type": "code", - "execution_count": 64, + "execution_count": null, "id": "703832ac", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.976099Z", - "iopub.status.busy": "2023-07-25T23:59:06.975973Z", - "iopub.status.idle": "2023-07-25T23:59:06.978782Z", - "shell.execute_reply": "2023-07-25T23:59:06.978390Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[ 4, 6],\n", - " [12, 14]])" - ] - }, - "execution_count": 64, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "A[[1,3]][:,[0,2]]\n" - ] - }, - { - "cell_type": "markdown", - "id": "63980dff", "metadata": {}, + "outputs": [], "source": [ - " " + "A[[1,3]][:,[0,2]]" ] }, { @@ -2851,33 +1590,13 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": null, "id": "dbf328b7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.980758Z", - "iopub.status.busy": "2023-07-25T23:59:06.980608Z", - "iopub.status.idle": "2023-07-25T23:59:06.983480Z", - "shell.execute_reply": "2023-07-25T23:59:06.983138Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[ 4, 6, 7],\n", - " [12, 14, 15]])" - ] - }, - "execution_count": 65, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "idx = np.ix_([1,3],[0,2,3])\n", - "A[idx]\n" + "A[idx]" ] }, { @@ -2894,40 +1613,12 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": null, "id": "65784eb0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.985438Z", - "iopub.status.busy": "2023-07-25T23:59:06.985317Z", - "iopub.status.idle": "2023-07-25T23:59:06.987978Z", - "shell.execute_reply": "2023-07-25T23:59:06.987611Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[ 4, 6],\n", - " [12, 14]])" - ] - }, - "execution_count": 66, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "A[1:4:2,0:3:2]\n" - ] - }, - { - "cell_type": "markdown", - "id": "0c679e7b", "metadata": {}, + "outputs": [], "source": [ - " " + "A[1:4:2,0:3:2]" ] }, { @@ -2938,18 +1629,7 @@ "Why are we able to retrieve a submatrix directly using slices but not using lists?\n", "Its because they are different `Python` types, and\n", "are treated differently by `numpy`.\n", - "Slices can be used to extract objects from arbitrary sequences, such as strings, lists, and tuples, while the use of lists for indexing is more limited.\n", - "\n", - "\n", - "\n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " " + "Slices can be used to extract objects from arbitrary sequences, such as strings, lists, and tuples, while the use of lists for indexing is more limited." ] }, { @@ -2959,34 +1639,15 @@ "source": [ "### Boolean Indexing\n", "In `numpy`, a *Boolean* is a type that equals either `True` or `False` (also represented as $1$ and $0$, respectively).\n", - "The next line creates a vector of $0$'s, represented as Booleans, of length equal to the first dimension of `A`. " + "The next line creates a vector of $0$'s, represented as Booleans, of length equal to the first dimension of `A`." ] }, { "cell_type": "code", - "execution_count": 67, + "execution_count": null, "id": "3ddb0d83", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.990333Z", - "iopub.status.busy": "2023-07-25T23:59:06.990160Z", - "iopub.status.idle": "2023-07-25T23:59:06.993012Z", - "shell.execute_reply": "2023-07-25T23:59:06.992640Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([False, False, False, False])" - ] - }, - "execution_count": 67, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "keep_rows = np.zeros(A.shape[0], bool)\n", "keep_rows" @@ -2997,36 +1658,18 @@ "id": "f3007c8d", "metadata": {}, "source": [ - "We now set two of the elements to `True`. " + "We now set two of the elements to `True`." ] }, { "cell_type": "code", - "execution_count": 68, + "execution_count": null, "id": "90e72009", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.994861Z", - "iopub.status.busy": "2023-07-25T23:59:06.994740Z", - "iopub.status.idle": "2023-07-25T23:59:06.997372Z", - "shell.execute_reply": "2023-07-25T23:59:06.997059Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([False, True, False, True])" - ] - }, - "execution_count": 68, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "keep_rows[[1,3]] = True\n", - "keep_rows\n" + "keep_rows" ] }, { @@ -3041,30 +1684,12 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": null, "id": "fb3b6534", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:06.999118Z", - "iopub.status.busy": "2023-07-25T23:59:06.998976Z", - "iopub.status.idle": "2023-07-25T23:59:07.001465Z", - "shell.execute_reply": "2023-07-25T23:59:07.001171Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 69, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.all(keep_rows == np.array([0,1,0,1]))\n" + "metadata": {}, + "outputs": [], + "source": [ + "np.all(keep_rows == np.array([0,1,0,1]))" ] }, { @@ -3082,38 +1707,17 @@ "metadata": {}, "source": [ " However, even though `np.array([0,1,0,1])` and `keep_rows` are equal according to `==`, they index different sets of rows!\n", - "The former retrieves the first, second, first, and second rows of `A`. " + "The former retrieves the first, second, first, and second rows of `A`." ] }, { "cell_type": "code", - "execution_count": 70, + "execution_count": null, "id": "b146db22", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.003376Z", - "iopub.status.busy": "2023-07-25T23:59:07.003257Z", - "iopub.status.idle": "2023-07-25T23:59:07.005689Z", - "shell.execute_reply": "2023-07-25T23:59:07.005311Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[0, 1, 2, 3],\n", - " [4, 5, 6, 7],\n", - " [0, 1, 2, 3],\n", - " [4, 5, 6, 7]])" - ] - }, - "execution_count": 70, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "A[np.array([0,1,0,1])]\n" + "metadata": {}, + "outputs": [], + "source": [ + "A[np.array([0,1,0,1])]" ] }, { @@ -3121,36 +1725,17 @@ "id": "c0b18644", "metadata": {}, "source": [ - " By contrast, `keep_rows` retrieves only the second and fourth rows of `A` --- i.e. the rows for which the Boolean equals `TRUE`. " + " By contrast, `keep_rows` retrieves only the second and fourth rows of `A` --- i.e. the rows for which the Boolean equals `TRUE`." ] }, { "cell_type": "code", - "execution_count": 71, + "execution_count": null, "id": "6bf7b4a3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.007666Z", - "iopub.status.busy": "2023-07-25T23:59:07.007533Z", - "iopub.status.idle": "2023-07-25T23:59:07.009740Z", - "shell.execute_reply": "2023-07-25T23:59:07.009471Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[ 4, 5, 6, 7],\n", - " [12, 13, 14, 15]])" - ] - }, - "execution_count": 71, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "A[keep_rows]\n" + "metadata": {}, + "outputs": [], + "source": [ + "A[keep_rows]" ] }, { @@ -3173,34 +1758,15 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": null, "id": "288011d9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.011387Z", - "iopub.status.busy": "2023-07-25T23:59:07.011272Z", - "iopub.status.idle": "2023-07-25T23:59:07.014033Z", - "shell.execute_reply": "2023-07-25T23:59:07.013669Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[ 4, 6, 7],\n", - " [12, 14, 15]])" - ] - }, - "execution_count": 72, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "keep_cols = np.zeros(A.shape[1], bool)\n", "keep_cols[[0, 2, 3]] = True\n", "idx_bool = np.ix_(keep_rows, keep_cols)\n", - "A[idx_bool]\n" + "A[idx_bool]" ] }, { @@ -3213,41 +1779,13 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": null, "id": "3e3b1954", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.015743Z", - "iopub.status.busy": "2023-07-25T23:59:07.015607Z", - "iopub.status.idle": "2023-07-25T23:59:07.018145Z", - "shell.execute_reply": "2023-07-25T23:59:07.017835Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[ 4, 6, 7],\n", - " [12, 14, 15]])" - ] - }, - "execution_count": 73, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "idx_mixed = np.ix_([1,3], keep_cols)\n", - "A[idx_mixed]\n" - ] - }, - { - "cell_type": "markdown", - "id": "76ff57a7", "metadata": {}, + "outputs": [], "source": [ - " " + "idx_mixed = np.ix_([1,3], keep_cols)\n", + "A[idx_mixed]" ] }, { @@ -3256,7 +1794,7 @@ "metadata": {}, "source": [ "For more details on indexing in `numpy`, readers are referred\n", - "to the `numpy` tutorial mentioned earlier.\n" + "to the `numpy` tutorial mentioned earlier." ] }, { @@ -3292,7 +1830,7 @@ "as this notebook file, then we are all set. \n", "Otherwise, \n", "the command\n", - "`os.chdir()` can be used to *change directory*. (You will need to call `import os` before calling `os.chdir()`.) " + "`os.chdir()` can be used to *change directory*. (You will need to call `import os` before calling `os.chdir()`.)" ] }, { @@ -3300,231 +1838,19 @@ "id": "42760180", "metadata": {}, "source": [ - "We will begin by reading in `Auto.csv`, available on the book website. This is a comma-separated file, and can be read in using `pd.read_csv()`: " + "We will begin by reading in `Auto.csv`, available on the book website. This is a comma-separated file, and can be read in using `pd.read_csv()`:" ] }, { "cell_type": "code", - "execution_count": 74, + "execution_count": null, "id": "d02bfb28", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.020113Z", - "iopub.status.busy": "2023-07-25T23:59:07.019977Z", - "iopub.status.idle": "2023-07-25T23:59:07.197194Z", - "shell.execute_reply": "2023-07-25T23:59:07.196835Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mpgcylindersdisplacementhorsepowerweightaccelerationyearoriginname
018.08307.0130350412.0701chevrolet chevelle malibu
115.08350.0165369311.5701buick skylark 320
218.08318.0150343611.0701plymouth satellite
316.08304.0150343312.0701amc rebel sst
417.08302.0140344910.5701ford torino
..............................
38727.04140.086279015.6821ford mustang gl
38844.0497.052213024.6822vw pickup
38932.04135.084229511.6821dodge rampage
39028.04120.079262518.6821ford ranger
39131.04119.082272019.4821chevy s-10
\n", - "

392 rows × 9 columns

\n", - "
" - ], - "text/plain": [ - " mpg cylinders displacement horsepower weight acceleration year \\\n", - "0 18.0 8 307.0 130 3504 12.0 70 \n", - "1 15.0 8 350.0 165 3693 11.5 70 \n", - "2 18.0 8 318.0 150 3436 11.0 70 \n", - "3 16.0 8 304.0 150 3433 12.0 70 \n", - "4 17.0 8 302.0 140 3449 10.5 70 \n", - ".. ... ... ... ... ... ... ... \n", - "387 27.0 4 140.0 86 2790 15.6 82 \n", - "388 44.0 4 97.0 52 2130 24.6 82 \n", - "389 32.0 4 135.0 84 2295 11.6 82 \n", - "390 28.0 4 120.0 79 2625 18.6 82 \n", - "391 31.0 4 119.0 82 2720 19.4 82 \n", - "\n", - " origin name \n", - "0 1 chevrolet chevelle malibu \n", - "1 1 buick skylark 320 \n", - "2 1 plymouth satellite \n", - "3 1 amc rebel sst \n", - "4 1 ford torino \n", - ".. ... ... \n", - "387 1 ford mustang gl \n", - "388 2 vw pickup \n", - "389 1 dodge rampage \n", - "390 1 ford ranger \n", - "391 1 chevy s-10 \n", - "\n", - "[392 rows x 9 columns]" - ] - }, - "execution_count": 74, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "import pandas as pd\n", "Auto = pd.read_csv('Auto.csv')\n", - "Auto\n" + "Auto" ] }, { @@ -3537,20 +1863,12 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": null, "id": "ca6090af", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.199106Z", - "iopub.status.busy": "2023-07-25T23:59:07.198977Z", - "iopub.status.idle": "2023-07-25T23:59:07.202273Z", - "shell.execute_reply": "2023-07-25T23:59:07.201978Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ - "Auto = pd.read_csv('Auto.data', delim_whitespace=True)\n" + "Auto = pd.read_csv('Auto.data', delim_whitespace=True)" ] }, { @@ -3560,8 +1878,7 @@ "source": [ " Both `Auto.csv` and `Auto.data` are simply text\n", "files. Before loading data into `Python`, it is a good idea to view it using\n", - "a text editor or other software, such as Microsoft Excel.\n", - "\n" + "a text editor or other software, such as Microsoft Excel." ] }, { @@ -3569,47 +1886,17 @@ "id": "1cae3ad2", "metadata": {}, "source": [ - "We now take a look at the column of `Auto` corresponding to the variable `horsepower`: " + "We now take a look at the column of `Auto` corresponding to the variable `horsepower`:" ] }, { "cell_type": "code", - "execution_count": 76, + "execution_count": null, "id": "7220aa87", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.204037Z", - "iopub.status.busy": "2023-07-25T23:59:07.203937Z", - "iopub.status.idle": "2023-07-25T23:59:07.206918Z", - "shell.execute_reply": "2023-07-25T23:59:07.206626Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0 130.0\n", - "1 165.0\n", - "2 150.0\n", - "3 150.0\n", - "4 140.0\n", - " ... \n", - "392 86.00\n", - "393 52.00\n", - "394 84.00\n", - "395 79.00\n", - "396 82.00\n", - "Name: horsepower, Length: 397, dtype: object" - ] - }, - "execution_count": 76, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Auto['horsepower']\n" + "metadata": {}, + "outputs": [], + "source": [ + "Auto['horsepower']" ] }, { @@ -3625,44 +1912,12 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": null, "id": "ca1939f0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.208643Z", - "iopub.status.busy": "2023-07-25T23:59:07.208518Z", - "iopub.status.idle": "2023-07-25T23:59:07.211113Z", - "shell.execute_reply": "2023-07-25T23:59:07.210855Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array(['100.0', '102.0', '103.0', '105.0', '107.0', '108.0', '110.0',\n", - " '112.0', '113.0', '115.0', '116.0', '120.0', '122.0', '125.0',\n", - " '129.0', '130.0', '132.0', '133.0', '135.0', '137.0', '138.0',\n", - " '139.0', '140.0', '142.0', '145.0', '148.0', '149.0', '150.0',\n", - " '152.0', '153.0', '155.0', '158.0', '160.0', '165.0', '167.0',\n", - " '170.0', '175.0', '180.0', '190.0', '193.0', '198.0', '200.0',\n", - " '208.0', '210.0', '215.0', '220.0', '225.0', '230.0', '46.00',\n", - " '48.00', '49.00', '52.00', '53.00', '54.00', '58.00', '60.00',\n", - " '61.00', '62.00', '63.00', '64.00', '65.00', '66.00', '67.00',\n", - " '68.00', '69.00', '70.00', '71.00', '72.00', '74.00', '75.00',\n", - " '76.00', '77.00', '78.00', '79.00', '80.00', '81.00', '82.00',\n", - " '83.00', '84.00', '85.00', '86.00', '87.00', '88.00', '89.00',\n", - " '90.00', '91.00', '92.00', '93.00', '94.00', '95.00', '96.00',\n", - " '97.00', '98.00', '?'], dtype=object)" - ] - }, - "execution_count": 77, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.unique(Auto['horsepower'])\n" + "metadata": {}, + "outputs": [], + "source": [ + "np.unique(Auto['horsepower'])" ] }, { @@ -3670,8 +1925,7 @@ "id": "c35e48dc", "metadata": {}, "source": [ - "We see the culprit is the value `?`, which is being used to encode missing values.\n", - "\n" + "We see the culprit is the value `?`, which is being used to encode missing values." ] }, { @@ -3686,34 +1940,15 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": null, "id": "cfb084e7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.212804Z", - "iopub.status.busy": "2023-07-25T23:59:07.212685Z", - "iopub.status.idle": "2023-07-25T23:59:07.216615Z", - "shell.execute_reply": "2023-07-25T23:59:07.216305Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "40952.0" - ] - }, - "execution_count": 78, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Auto = pd.read_csv('Auto.data',\n", " na_values=['?'],\n", " delim_whitespace=True)\n", - "Auto['horsepower'].sum()\n" + "Auto['horsepower'].sum()" ] }, { @@ -3727,30 +1962,12 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": null, "id": "2e02b6a5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.218286Z", - "iopub.status.busy": "2023-07-25T23:59:07.218192Z", - "iopub.status.idle": "2023-07-25T23:59:07.220539Z", - "shell.execute_reply": "2023-07-25T23:59:07.220268Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(397, 9)" - ] - }, - "execution_count": 79, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Auto.shape\n" + "metadata": {}, + "outputs": [], + "source": [ + "Auto.shape" ] }, { @@ -3766,32 +1983,13 @@ }, { "cell_type": "code", - "execution_count": 80, + "execution_count": null, "id": "d391f8d0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.222133Z", - "iopub.status.busy": "2023-07-25T23:59:07.222045Z", - "iopub.status.idle": "2023-07-25T23:59:07.224928Z", - "shell.execute_reply": "2023-07-25T23:59:07.224644Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(392, 9)" - ] - }, - "execution_count": 80, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Auto_new = Auto.dropna()\n", - "Auto_new.shape\n" + "Auto_new.shape" ] }, { @@ -3806,34 +2004,13 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": null, "id": "a222ca60", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.226571Z", - "iopub.status.busy": "2023-07-25T23:59:07.226451Z", - "iopub.status.idle": "2023-07-25T23:59:07.228762Z", - "shell.execute_reply": "2023-07-25T23:59:07.228488Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['mpg', 'cylinders', 'displacement', 'horsepower', 'weight',\n", - " 'acceleration', 'year', 'origin', 'name'],\n", - " dtype='object')" - ] - }, - "execution_count": 81, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Auto = Auto_new # overwrite the previous value\n", - "Auto.columns\n" + "Auto.columns" ] }, { @@ -3850,110 +2027,12 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": null, "id": "a75921ac", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.230365Z", - "iopub.status.busy": "2023-07-25T23:59:07.230248Z", - "iopub.status.idle": "2023-07-25T23:59:07.235053Z", - "shell.execute_reply": "2023-07-25T23:59:07.234775Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mpgcylindersdisplacementhorsepowerweightaccelerationyearoriginname
018.08307.0130.03504.012.0701chevrolet chevelle malibu
115.08350.0165.03693.011.5701buick skylark 320
218.08318.0150.03436.011.0701plymouth satellite
\n", - "
" - ], - "text/plain": [ - " mpg cylinders displacement horsepower weight acceleration year \\\n", - "0 18.0 8 307.0 130.0 3504.0 12.0 70 \n", - "1 15.0 8 350.0 165.0 3693.0 11.5 70 \n", - "2 18.0 8 318.0 150.0 3436.0 11.0 70 \n", - "\n", - " origin name \n", - "0 1 chevrolet chevelle malibu \n", - "1 1 buick skylark 320 \n", - "2 1 plymouth satellite " - ] - }, - "execution_count": 82, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Auto[:3]\n" + "metadata": {}, + "outputs": [], + "source": [ + "Auto[:3]" ] }, { @@ -3966,881 +2045,13 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": null, "id": "7469ff2b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.236689Z", - "iopub.status.busy": "2023-07-25T23:59:07.236568Z", - "iopub.status.idle": "2023-07-25T23:59:07.250946Z", - "shell.execute_reply": "2023-07-25T23:59:07.250654Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mpgcylindersdisplacementhorsepowerweightaccelerationyearoriginname
33827.24135.084.02490.015.7811plymouth reliant
33926.64151.084.02635.016.4811buick skylark
34025.84156.092.02620.014.4811dodge aries wagon (sw)
34123.56173.0110.02725.012.6811chevrolet citation
34230.04135.084.02385.012.9811plymouth reliant
34339.1479.058.01755.016.9813toyota starlet
34439.0486.064.01875.016.4811plymouth champ
34535.1481.060.01760.016.1813honda civic 1300
34632.3497.067.02065.017.8813subaru
34737.0485.065.01975.019.4813datsun 210 mpg
34837.7489.062.02050.017.3813toyota tercel
34934.1491.068.01985.016.0813mazda glc 4
35034.74105.063.02215.014.9811plymouth horizon 4
35134.4498.065.02045.016.2811ford escort 4w
35229.9498.065.02380.020.7811ford escort 2h
35333.04105.074.02190.014.2812volkswagen jetta
35533.74107.075.02210.014.4813honda prelude
35632.44108.075.02350.016.8813toyota corolla
35732.94119.0100.02615.014.8813datsun 200sx
35831.64120.074.02635.018.3813mazda 626
35928.14141.080.03230.020.4812peugeot 505s turbo diesel
36030.76145.076.03160.019.6812volvo diesel
36125.46168.0116.02900.012.6813toyota cressida
36224.26146.0120.02930.013.8813datsun 810 maxima
36322.46231.0110.03415.015.8811buick century
36426.68350.0105.03725.019.0811oldsmobile cutlass ls
36520.26200.088.03060.017.1811ford granada gl
36617.66225.085.03465.016.6811chrysler lebaron salon
36728.04112.088.02605.019.6821chevrolet cavalier
36827.04112.088.02640.018.6821chevrolet cavalier wagon
36934.04112.088.02395.018.0821chevrolet cavalier 2-door
37031.04112.085.02575.016.2821pontiac j2000 se hatchback
37129.04135.084.02525.016.0821dodge aries se
37227.04151.090.02735.018.0821pontiac phoenix
37324.04140.092.02865.016.4821ford fairmont futura
37436.04105.074.01980.015.3822volkswagen rabbit l
37537.0491.068.02025.018.2823mazda glc custom l
37631.0491.068.01970.017.6823mazda glc custom
37738.04105.063.02125.014.7821plymouth horizon miser
37836.0498.070.02125.017.3821mercury lynx l
37936.04120.088.02160.014.5823nissan stanza xe
38036.04107.075.02205.014.5823honda accord
38134.04108.070.02245.016.9823toyota corolla
38238.0491.067.01965.015.0823honda civic
38332.0491.067.01965.015.7823honda civic (auto)
38438.0491.067.01995.016.2823datsun 310 gx
38525.06181.0110.02945.016.4821buick century limited
38638.06262.085.03015.017.0821oldsmobile cutlass ciera (diesel)
38726.04156.092.02585.014.5821chrysler lebaron medallion
38822.06232.0112.02835.014.7821ford granada l
38932.04144.096.02665.013.9823toyota celica gt
39036.04135.084.02370.013.0821dodge charger 2.2
39127.04151.090.02950.017.3821chevrolet camaro
39227.04140.086.02790.015.6821ford mustang gl
39344.0497.052.02130.024.6822vw pickup
39432.04135.084.02295.011.6821dodge rampage
39528.04120.079.02625.018.6821ford ranger
39631.04119.082.02720.019.4821chevy s-10
\n", - "
" - ], - "text/plain": [ - " mpg cylinders displacement horsepower weight acceleration year \\\n", - "338 27.2 4 135.0 84.0 2490.0 15.7 81 \n", - "339 26.6 4 151.0 84.0 2635.0 16.4 81 \n", - "340 25.8 4 156.0 92.0 2620.0 14.4 81 \n", - "341 23.5 6 173.0 110.0 2725.0 12.6 81 \n", - "342 30.0 4 135.0 84.0 2385.0 12.9 81 \n", - "343 39.1 4 79.0 58.0 1755.0 16.9 81 \n", - "344 39.0 4 86.0 64.0 1875.0 16.4 81 \n", - "345 35.1 4 81.0 60.0 1760.0 16.1 81 \n", - "346 32.3 4 97.0 67.0 2065.0 17.8 81 \n", - "347 37.0 4 85.0 65.0 1975.0 19.4 81 \n", - "348 37.7 4 89.0 62.0 2050.0 17.3 81 \n", - "349 34.1 4 91.0 68.0 1985.0 16.0 81 \n", - "350 34.7 4 105.0 63.0 2215.0 14.9 81 \n", - "351 34.4 4 98.0 65.0 2045.0 16.2 81 \n", - "352 29.9 4 98.0 65.0 2380.0 20.7 81 \n", - "353 33.0 4 105.0 74.0 2190.0 14.2 81 \n", - "355 33.7 4 107.0 75.0 2210.0 14.4 81 \n", - "356 32.4 4 108.0 75.0 2350.0 16.8 81 \n", - "357 32.9 4 119.0 100.0 2615.0 14.8 81 \n", - "358 31.6 4 120.0 74.0 2635.0 18.3 81 \n", - "359 28.1 4 141.0 80.0 3230.0 20.4 81 \n", - "360 30.7 6 145.0 76.0 3160.0 19.6 81 \n", - "361 25.4 6 168.0 116.0 2900.0 12.6 81 \n", - "362 24.2 6 146.0 120.0 2930.0 13.8 81 \n", - "363 22.4 6 231.0 110.0 3415.0 15.8 81 \n", - "364 26.6 8 350.0 105.0 3725.0 19.0 81 \n", - "365 20.2 6 200.0 88.0 3060.0 17.1 81 \n", - "366 17.6 6 225.0 85.0 3465.0 16.6 81 \n", - "367 28.0 4 112.0 88.0 2605.0 19.6 82 \n", - "368 27.0 4 112.0 88.0 2640.0 18.6 82 \n", - "369 34.0 4 112.0 88.0 2395.0 18.0 82 \n", - "370 31.0 4 112.0 85.0 2575.0 16.2 82 \n", - "371 29.0 4 135.0 84.0 2525.0 16.0 82 \n", - "372 27.0 4 151.0 90.0 2735.0 18.0 82 \n", - "373 24.0 4 140.0 92.0 2865.0 16.4 82 \n", - "374 36.0 4 105.0 74.0 1980.0 15.3 82 \n", - "375 37.0 4 91.0 68.0 2025.0 18.2 82 \n", - "376 31.0 4 91.0 68.0 1970.0 17.6 82 \n", - "377 38.0 4 105.0 63.0 2125.0 14.7 82 \n", - "378 36.0 4 98.0 70.0 2125.0 17.3 82 \n", - "379 36.0 4 120.0 88.0 2160.0 14.5 82 \n", - "380 36.0 4 107.0 75.0 2205.0 14.5 82 \n", - "381 34.0 4 108.0 70.0 2245.0 16.9 82 \n", - "382 38.0 4 91.0 67.0 1965.0 15.0 82 \n", - "383 32.0 4 91.0 67.0 1965.0 15.7 82 \n", - "384 38.0 4 91.0 67.0 1995.0 16.2 82 \n", - "385 25.0 6 181.0 110.0 2945.0 16.4 82 \n", - "386 38.0 6 262.0 85.0 3015.0 17.0 82 \n", - "387 26.0 4 156.0 92.0 2585.0 14.5 82 \n", - "388 22.0 6 232.0 112.0 2835.0 14.7 82 \n", - "389 32.0 4 144.0 96.0 2665.0 13.9 82 \n", - "390 36.0 4 135.0 84.0 2370.0 13.0 82 \n", - "391 27.0 4 151.0 90.0 2950.0 17.3 82 \n", - "392 27.0 4 140.0 86.0 2790.0 15.6 82 \n", - "393 44.0 4 97.0 52.0 2130.0 24.6 82 \n", - "394 32.0 4 135.0 84.0 2295.0 11.6 82 \n", - "395 28.0 4 120.0 79.0 2625.0 18.6 82 \n", - "396 31.0 4 119.0 82.0 2720.0 19.4 82 \n", - "\n", - " origin name \n", - "338 1 plymouth reliant \n", - "339 1 buick skylark \n", - "340 1 dodge aries wagon (sw) \n", - "341 1 chevrolet citation \n", - "342 1 plymouth reliant \n", - "343 3 toyota starlet \n", - "344 1 plymouth champ \n", - "345 3 honda civic 1300 \n", - "346 3 subaru \n", - "347 3 datsun 210 mpg \n", - "348 3 toyota tercel \n", - "349 3 mazda glc 4 \n", - "350 1 plymouth horizon 4 \n", - "351 1 ford escort 4w \n", - "352 1 ford escort 2h \n", - "353 2 volkswagen jetta \n", - "355 3 honda prelude \n", - "356 3 toyota corolla \n", - "357 3 datsun 200sx \n", - "358 3 mazda 626 \n", - "359 2 peugeot 505s turbo diesel \n", - "360 2 volvo diesel \n", - "361 3 toyota cressida \n", - "362 3 datsun 810 maxima \n", - "363 1 buick century \n", - "364 1 oldsmobile cutlass ls \n", - "365 1 ford granada gl \n", - "366 1 chrysler lebaron salon \n", - "367 1 chevrolet cavalier \n", - "368 1 chevrolet cavalier wagon \n", - "369 1 chevrolet cavalier 2-door \n", - "370 1 pontiac j2000 se hatchback \n", - "371 1 dodge aries se \n", - "372 1 pontiac phoenix \n", - "373 1 ford fairmont futura \n", - "374 2 volkswagen rabbit l \n", - "375 3 mazda glc custom l \n", - "376 3 mazda glc custom \n", - "377 1 plymouth horizon miser \n", - "378 1 mercury lynx l \n", - "379 3 nissan stanza xe \n", - "380 3 honda accord \n", - "381 3 toyota corolla \n", - "382 3 honda civic \n", - "383 3 honda civic (auto) \n", - "384 3 datsun 310 gx \n", - "385 1 buick century limited \n", - "386 1 oldsmobile cutlass ciera (diesel) \n", - "387 1 chrysler lebaron medallion \n", - "388 1 ford granada l \n", - "389 3 toyota celica gt \n", - "390 1 dodge charger 2.2 \n", - "391 1 chevrolet camaro \n", - "392 1 ford mustang gl \n", - "393 2 vw pickup \n", - "394 1 dodge rampage \n", - "395 1 ford ranger \n", - "396 1 chevy s-10 " - ] - }, - "execution_count": 83, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "idx_80 = Auto['year'] > 80\n", - "Auto[idx_80]\n" + "Auto[idx_80]" ] }, { @@ -4848,133 +2059,17 @@ "id": "27eb1780", "metadata": {}, "source": [ - "However, if we pass in a list of strings to the `[]` method, then we obtain a data frame containing the corresponding set of *columns*. " + "However, if we pass in a list of strings to the `[]` method, then we obtain a data frame containing the corresponding set of *columns*." ] }, { "cell_type": "code", - "execution_count": 84, + "execution_count": null, "id": "ac455404", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.252607Z", - "iopub.status.busy": "2023-07-25T23:59:07.252480Z", - "iopub.status.idle": "2023-07-25T23:59:07.257221Z", - "shell.execute_reply": "2023-07-25T23:59:07.256935Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mpghorsepower
018.0130.0
115.0165.0
218.0150.0
316.0150.0
417.0140.0
.........
39227.086.0
39344.052.0
39432.084.0
39528.079.0
39631.082.0
\n", - "

392 rows × 2 columns

\n", - "
" - ], - "text/plain": [ - " mpg horsepower\n", - "0 18.0 130.0\n", - "1 15.0 165.0\n", - "2 18.0 150.0\n", - "3 16.0 150.0\n", - "4 17.0 140.0\n", - ".. ... ...\n", - "392 27.0 86.0\n", - "393 44.0 52.0\n", - "394 32.0 84.0\n", - "395 28.0 79.0\n", - "396 31.0 82.0\n", - "\n", - "[392 rows x 2 columns]" - ] - }, - "execution_count": 84, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Auto[['mpg', 'horsepower']]\n" + "metadata": {}, + "outputs": [], + "source": [ + "Auto[['mpg', 'horsepower']]" ] }, { @@ -4988,34 +2083,12 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": null, "id": "f41235d4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.258854Z", - "iopub.status.busy": "2023-07-25T23:59:07.258731Z", - "iopub.status.idle": "2023-07-25T23:59:07.261103Z", - "shell.execute_reply": "2023-07-25T23:59:07.260848Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Int64Index([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,\n", - " ...\n", - " 387, 388, 389, 390, 391, 392, 393, 394, 395, 396],\n", - " dtype='int64', length=392)" - ] - }, - "execution_count": 85, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Auto.index\n" + "metadata": {}, + "outputs": [], + "source": [ + "Auto.index" ] }, { @@ -5024,262 +2097,28 @@ "metadata": {}, "source": [ "We can use the\n", - "`set_index()` method to re-name the rows using the contents of `Auto['name']`. " + "`set_index()` method to re-name the rows using the contents of `Auto['name']`." ] }, { "cell_type": "code", - "execution_count": 86, + "execution_count": null, "id": "31caba24", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.262694Z", - "iopub.status.busy": "2023-07-25T23:59:07.262576Z", - "iopub.status.idle": "2023-07-25T23:59:07.269173Z", - "shell.execute_reply": "2023-07-25T23:59:07.268882Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mpgcylindersdisplacementhorsepowerweightaccelerationyearorigin
name
chevrolet chevelle malibu18.08307.0130.03504.012.0701
buick skylark 32015.08350.0165.03693.011.5701
plymouth satellite18.08318.0150.03436.011.0701
amc rebel sst16.08304.0150.03433.012.0701
ford torino17.08302.0140.03449.010.5701
...........................
ford mustang gl27.04140.086.02790.015.6821
vw pickup44.0497.052.02130.024.6822
dodge rampage32.04135.084.02295.011.6821
ford ranger28.04120.079.02625.018.6821
chevy s-1031.04119.082.02720.019.4821
\n", - "

392 rows × 8 columns

\n", - "
" - ], - "text/plain": [ - " mpg cylinders displacement horsepower weight \\\n", - "name \n", - "chevrolet chevelle malibu 18.0 8 307.0 130.0 3504.0 \n", - "buick skylark 320 15.0 8 350.0 165.0 3693.0 \n", - "plymouth satellite 18.0 8 318.0 150.0 3436.0 \n", - "amc rebel sst 16.0 8 304.0 150.0 3433.0 \n", - "ford torino 17.0 8 302.0 140.0 3449.0 \n", - "... ... ... ... ... ... \n", - "ford mustang gl 27.0 4 140.0 86.0 2790.0 \n", - "vw pickup 44.0 4 97.0 52.0 2130.0 \n", - "dodge rampage 32.0 4 135.0 84.0 2295.0 \n", - "ford ranger 28.0 4 120.0 79.0 2625.0 \n", - "chevy s-10 31.0 4 119.0 82.0 2720.0 \n", - "\n", - " acceleration year origin \n", - "name \n", - "chevrolet chevelle malibu 12.0 70 1 \n", - "buick skylark 320 11.5 70 1 \n", - "plymouth satellite 11.0 70 1 \n", - "amc rebel sst 12.0 70 1 \n", - "ford torino 10.5 70 1 \n", - "... ... ... ... \n", - "ford mustang gl 15.6 82 1 \n", - "vw pickup 24.6 82 2 \n", - "dodge rampage 11.6 82 1 \n", - "ford ranger 18.6 82 1 \n", - "chevy s-10 19.4 82 1 \n", - "\n", - "[392 rows x 8 columns]" - ] - }, - "execution_count": 86, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Auto_re = Auto.set_index('name')\n", - "Auto_re\n" + "Auto_re" ] }, { "cell_type": "code", - "execution_count": 87, + "execution_count": null, "id": "594bedfa", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.270700Z", - "iopub.status.busy": "2023-07-25T23:59:07.270575Z", - "iopub.status.idle": "2023-07-25T23:59:07.272836Z", - "shell.execute_reply": "2023-07-25T23:59:07.272578Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['mpg', 'cylinders', 'displacement', 'horsepower', 'weight',\n", - " 'acceleration', 'year', 'origin'],\n", - " dtype='object')" - ] - }, - "execution_count": 87, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Auto_re.columns\n" + "metadata": {}, + "outputs": [], + "source": [ + "Auto_re.columns" ] }, { @@ -5296,107 +2135,13 @@ }, { "cell_type": "code", - "execution_count": 88, + "execution_count": null, "id": "9a59b083", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.274444Z", - "iopub.status.busy": "2023-07-25T23:59:07.274324Z", - "iopub.status.idle": "2023-07-25T23:59:07.279126Z", - "shell.execute_reply": "2023-07-25T23:59:07.278848Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mpgcylindersdisplacementhorsepowerweightaccelerationyearorigin
name
amc rebel sst16.08304.0150.03433.012.0701
ford torino17.08302.0140.03449.010.5701
\n", - "
" - ], - "text/plain": [ - " mpg cylinders displacement horsepower weight \\\n", - "name \n", - "amc rebel sst 16.0 8 304.0 150.0 3433.0 \n", - "ford torino 17.0 8 302.0 140.0 3449.0 \n", - "\n", - " acceleration year origin \n", - "name \n", - "amc rebel sst 12.0 70 1 \n", - "ford torino 10.5 70 1 " - ] - }, - "execution_count": 88, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "rows = ['amc rebel sst', 'ford torino']\n", - "Auto_re.loc[rows]\n" + "Auto_re.loc[rows]" ] }, { @@ -5409,106 +2154,12 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": null, "id": "54457a11", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.280778Z", - "iopub.status.busy": "2023-07-25T23:59:07.280656Z", - "iopub.status.idle": "2023-07-25T23:59:07.285068Z", - "shell.execute_reply": "2023-07-25T23:59:07.284820Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mpgcylindersdisplacementhorsepowerweightaccelerationyearorigin
name
amc rebel sst16.08304.0150.03433.012.0701
ford torino17.08302.0140.03449.010.5701
\n", - "
" - ], - "text/plain": [ - " mpg cylinders displacement horsepower weight \\\n", - "name \n", - "amc rebel sst 16.0 8 304.0 150.0 3433.0 \n", - "ford torino 17.0 8 302.0 140.0 3449.0 \n", - "\n", - " acceleration year origin \n", - "name \n", - "amc rebel sst 12.0 70 1 \n", - "ford torino 10.5 70 1 " - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Auto_re.iloc[[3,4]]\n" + "metadata": {}, + "outputs": [], + "source": [ + "Auto_re.iloc[[3,4]]" ] }, { @@ -5521,147 +2172,12 @@ }, { "cell_type": "code", - "execution_count": 90, + "execution_count": null, "id": "8a4f3faf", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.286653Z", - "iopub.status.busy": "2023-07-25T23:59:07.286560Z", - "iopub.status.idle": "2023-07-25T23:59:07.291694Z", - "shell.execute_reply": "2023-07-25T23:59:07.291386Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mpgdisplacementhorsepower
name
chevrolet chevelle malibu18.0307.0130.0
buick skylark 32015.0350.0165.0
plymouth satellite18.0318.0150.0
amc rebel sst16.0304.0150.0
ford torino17.0302.0140.0
............
ford mustang gl27.0140.086.0
vw pickup44.097.052.0
dodge rampage32.0135.084.0
ford ranger28.0120.079.0
chevy s-1031.0119.082.0
\n", - "

392 rows × 3 columns

\n", - "
" - ], - "text/plain": [ - " mpg displacement horsepower\n", - "name \n", - "chevrolet chevelle malibu 18.0 307.0 130.0\n", - "buick skylark 320 15.0 350.0 165.0\n", - "plymouth satellite 18.0 318.0 150.0\n", - "amc rebel sst 16.0 304.0 150.0\n", - "ford torino 17.0 302.0 140.0\n", - "... ... ... ...\n", - "ford mustang gl 27.0 140.0 86.0\n", - "vw pickup 44.0 97.0 52.0\n", - "dodge rampage 32.0 135.0 84.0\n", - "ford ranger 28.0 120.0 79.0\n", - "chevy s-10 31.0 119.0 82.0\n", - "\n", - "[392 rows x 3 columns]" - ] - }, - "execution_count": 90, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Auto_re.iloc[:,[0,2,3]]\n" + "metadata": {}, + "outputs": [], + "source": [ + "Auto_re.iloc[:,[0,2,3]]" ] }, { @@ -5675,81 +2191,12 @@ }, { "cell_type": "code", - "execution_count": 91, + "execution_count": null, "id": "8f1e6e56", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.293357Z", - "iopub.status.busy": "2023-07-25T23:59:07.293234Z", - "iopub.status.idle": "2023-07-25T23:59:07.297030Z", - "shell.execute_reply": "2023-07-25T23:59:07.296741Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mpgdisplacementhorsepower
name
amc rebel sst16.0304.0150.0
ford torino17.0302.0140.0
\n", - "
" - ], - "text/plain": [ - " mpg displacement horsepower\n", - "name \n", - "amc rebel sst 16.0 304.0 150.0\n", - "ford torino 17.0 302.0 140.0" - ] - }, - "execution_count": 91, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Auto_re.iloc[[3,4],[0,2,3]]\n" + "metadata": {}, + "outputs": [], + "source": [ + "Auto_re.iloc[[3,4],[0,2,3]]" ] }, { @@ -5762,83 +2209,12 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": null, "id": "f1d0e795", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.298585Z", - "iopub.status.busy": "2023-07-25T23:59:07.298496Z", - "iopub.status.idle": "2023-07-25T23:59:07.302678Z", - "shell.execute_reply": "2023-07-25T23:59:07.302401Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mpgorigin
name
ford galaxie 50015.01
ford galaxie 50014.01
ford galaxie 50014.01
\n", - "
" - ], - "text/plain": [ - " mpg origin\n", - "name \n", - "ford galaxie 500 15.0 1\n", - "ford galaxie 500 14.0 1\n", - "ford galaxie 500 14.0 1" - ] - }, - "execution_count": 92, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Auto_re.loc['ford galaxie 500', ['mpg', 'origin']]\n" + "metadata": {}, + "outputs": [], + "source": [ + "Auto_re.loc['ford galaxie 500', ['mpg', 'origin']]" ] }, { @@ -5855,414 +2231,13 @@ }, { "cell_type": "code", - "execution_count": 93, + "execution_count": null, "id": "392f10a1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.304283Z", - "iopub.status.busy": "2023-07-25T23:59:07.304161Z", - "iopub.status.idle": "2023-07-25T23:59:07.310436Z", - "shell.execute_reply": "2023-07-25T23:59:07.310156Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
weightorigin
name
plymouth reliant2490.01
buick skylark2635.01
dodge aries wagon (sw)2620.01
chevrolet citation2725.01
plymouth reliant2385.01
toyota starlet1755.03
plymouth champ1875.01
honda civic 13001760.03
subaru2065.03
datsun 210 mpg1975.03
toyota tercel2050.03
mazda glc 41985.03
plymouth horizon 42215.01
ford escort 4w2045.01
ford escort 2h2380.01
volkswagen jetta2190.02
honda prelude2210.03
toyota corolla2350.03
datsun 200sx2615.03
mazda 6262635.03
peugeot 505s turbo diesel3230.02
volvo diesel3160.02
toyota cressida2900.03
datsun 810 maxima2930.03
buick century3415.01
oldsmobile cutlass ls3725.01
ford granada gl3060.01
chrysler lebaron salon3465.01
chevrolet cavalier2605.01
chevrolet cavalier wagon2640.01
chevrolet cavalier 2-door2395.01
pontiac j2000 se hatchback2575.01
dodge aries se2525.01
pontiac phoenix2735.01
ford fairmont futura2865.01
volkswagen rabbit l1980.02
mazda glc custom l2025.03
mazda glc custom1970.03
plymouth horizon miser2125.01
mercury lynx l2125.01
nissan stanza xe2160.03
honda accord2205.03
toyota corolla2245.03
honda civic1965.03
honda civic (auto)1965.03
datsun 310 gx1995.03
buick century limited2945.01
oldsmobile cutlass ciera (diesel)3015.01
chrysler lebaron medallion2585.01
ford granada l2835.01
toyota celica gt2665.03
dodge charger 2.22370.01
chevrolet camaro2950.01
ford mustang gl2790.01
vw pickup2130.02
dodge rampage2295.01
ford ranger2625.01
chevy s-102720.01
\n", - "
" - ], - "text/plain": [ - " weight origin\n", - "name \n", - "plymouth reliant 2490.0 1\n", - "buick skylark 2635.0 1\n", - "dodge aries wagon (sw) 2620.0 1\n", - "chevrolet citation 2725.0 1\n", - "plymouth reliant 2385.0 1\n", - "toyota starlet 1755.0 3\n", - "plymouth champ 1875.0 1\n", - "honda civic 1300 1760.0 3\n", - "subaru 2065.0 3\n", - "datsun 210 mpg 1975.0 3\n", - "toyota tercel 2050.0 3\n", - "mazda glc 4 1985.0 3\n", - "plymouth horizon 4 2215.0 1\n", - "ford escort 4w 2045.0 1\n", - "ford escort 2h 2380.0 1\n", - "volkswagen jetta 2190.0 2\n", - "honda prelude 2210.0 3\n", - "toyota corolla 2350.0 3\n", - "datsun 200sx 2615.0 3\n", - "mazda 626 2635.0 3\n", - "peugeot 505s turbo diesel 3230.0 2\n", - "volvo diesel 3160.0 2\n", - "toyota cressida 2900.0 3\n", - "datsun 810 maxima 2930.0 3\n", - "buick century 3415.0 1\n", - "oldsmobile cutlass ls 3725.0 1\n", - "ford granada gl 3060.0 1\n", - "chrysler lebaron salon 3465.0 1\n", - "chevrolet cavalier 2605.0 1\n", - "chevrolet cavalier wagon 2640.0 1\n", - "chevrolet cavalier 2-door 2395.0 1\n", - "pontiac j2000 se hatchback 2575.0 1\n", - "dodge aries se 2525.0 1\n", - "pontiac phoenix 2735.0 1\n", - "ford fairmont futura 2865.0 1\n", - "volkswagen rabbit l 1980.0 2\n", - "mazda glc custom l 2025.0 3\n", - "mazda glc custom 1970.0 3\n", - "plymouth horizon miser 2125.0 1\n", - "mercury lynx l 2125.0 1\n", - "nissan stanza xe 2160.0 3\n", - "honda accord 2205.0 3\n", - "toyota corolla 2245.0 3\n", - "honda civic 1965.0 3\n", - "honda civic (auto) 1965.0 3\n", - "datsun 310 gx 1995.0 3\n", - "buick century limited 2945.0 1\n", - "oldsmobile cutlass ciera (diesel) 3015.0 1\n", - "chrysler lebaron medallion 2585.0 1\n", - "ford granada l 2835.0 1\n", - "toyota celica gt 2665.0 3\n", - "dodge charger 2.2 2370.0 1\n", - "chevrolet camaro 2950.0 1\n", - "ford mustang gl 2790.0 1\n", - "vw pickup 2130.0 2\n", - "dodge rampage 2295.0 1\n", - "ford ranger 2625.0 1\n", - "chevy s-10 2720.0 1" - ] - }, - "execution_count": 93, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "idx_80 = Auto_re['year'] > 80\n", - "Auto_re.loc[idx_80, ['weight', 'origin']]\n" + "Auto_re.loc[idx_80, ['weight', 'origin']]" ] }, { @@ -6270,418 +2245,17 @@ "id": "d3f85975", "metadata": {}, "source": [ - "To do this more concisely, we can use an anonymous function called a `lambda`: " + "To do this more concisely, we can use an anonymous function called a `lambda`:" ] }, { "cell_type": "code", - "execution_count": 94, + "execution_count": null, "id": "5f5b7906", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.312105Z", - "iopub.status.busy": "2023-07-25T23:59:07.311981Z", - "iopub.status.idle": "2023-07-25T23:59:07.318156Z", - "shell.execute_reply": "2023-07-25T23:59:07.317907Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
weightorigin
name
plymouth reliant2490.01
buick skylark2635.01
dodge aries wagon (sw)2620.01
chevrolet citation2725.01
plymouth reliant2385.01
toyota starlet1755.03
plymouth champ1875.01
honda civic 13001760.03
subaru2065.03
datsun 210 mpg1975.03
toyota tercel2050.03
mazda glc 41985.03
plymouth horizon 42215.01
ford escort 4w2045.01
ford escort 2h2380.01
volkswagen jetta2190.02
honda prelude2210.03
toyota corolla2350.03
datsun 200sx2615.03
mazda 6262635.03
peugeot 505s turbo diesel3230.02
volvo diesel3160.02
toyota cressida2900.03
datsun 810 maxima2930.03
buick century3415.01
oldsmobile cutlass ls3725.01
ford granada gl3060.01
chrysler lebaron salon3465.01
chevrolet cavalier2605.01
chevrolet cavalier wagon2640.01
chevrolet cavalier 2-door2395.01
pontiac j2000 se hatchback2575.01
dodge aries se2525.01
pontiac phoenix2735.01
ford fairmont futura2865.01
volkswagen rabbit l1980.02
mazda glc custom l2025.03
mazda glc custom1970.03
plymouth horizon miser2125.01
mercury lynx l2125.01
nissan stanza xe2160.03
honda accord2205.03
toyota corolla2245.03
honda civic1965.03
honda civic (auto)1965.03
datsun 310 gx1995.03
buick century limited2945.01
oldsmobile cutlass ciera (diesel)3015.01
chrysler lebaron medallion2585.01
ford granada l2835.01
toyota celica gt2665.03
dodge charger 2.22370.01
chevrolet camaro2950.01
ford mustang gl2790.01
vw pickup2130.02
dodge rampage2295.01
ford ranger2625.01
chevy s-102720.01
\n", - "
" - ], - "text/plain": [ - " weight origin\n", - "name \n", - "plymouth reliant 2490.0 1\n", - "buick skylark 2635.0 1\n", - "dodge aries wagon (sw) 2620.0 1\n", - "chevrolet citation 2725.0 1\n", - "plymouth reliant 2385.0 1\n", - "toyota starlet 1755.0 3\n", - "plymouth champ 1875.0 1\n", - "honda civic 1300 1760.0 3\n", - "subaru 2065.0 3\n", - "datsun 210 mpg 1975.0 3\n", - "toyota tercel 2050.0 3\n", - "mazda glc 4 1985.0 3\n", - "plymouth horizon 4 2215.0 1\n", - "ford escort 4w 2045.0 1\n", - "ford escort 2h 2380.0 1\n", - "volkswagen jetta 2190.0 2\n", - "honda prelude 2210.0 3\n", - "toyota corolla 2350.0 3\n", - "datsun 200sx 2615.0 3\n", - "mazda 626 2635.0 3\n", - "peugeot 505s turbo diesel 3230.0 2\n", - "volvo diesel 3160.0 2\n", - "toyota cressida 2900.0 3\n", - "datsun 810 maxima 2930.0 3\n", - "buick century 3415.0 1\n", - "oldsmobile cutlass ls 3725.0 1\n", - "ford granada gl 3060.0 1\n", - "chrysler lebaron salon 3465.0 1\n", - "chevrolet cavalier 2605.0 1\n", - "chevrolet cavalier wagon 2640.0 1\n", - "chevrolet cavalier 2-door 2395.0 1\n", - "pontiac j2000 se hatchback 2575.0 1\n", - "dodge aries se 2525.0 1\n", - "pontiac phoenix 2735.0 1\n", - "ford fairmont futura 2865.0 1\n", - "volkswagen rabbit l 1980.0 2\n", - "mazda glc custom l 2025.0 3\n", - "mazda glc custom 1970.0 3\n", - "plymouth horizon miser 2125.0 1\n", - "mercury lynx l 2125.0 1\n", - "nissan stanza xe 2160.0 3\n", - "honda accord 2205.0 3\n", - "toyota corolla 2245.0 3\n", - "honda civic 1965.0 3\n", - "honda civic (auto) 1965.0 3\n", - "datsun 310 gx 1995.0 3\n", - "buick century limited 2945.0 1\n", - "oldsmobile cutlass ciera (diesel) 3015.0 1\n", - "chrysler lebaron medallion 2585.0 1\n", - "ford granada l 2835.0 1\n", - "toyota celica gt 2665.0 3\n", - "dodge charger 2.2 2370.0 1\n", - "chevrolet camaro 2950.0 1\n", - "ford mustang gl 2790.0 1\n", - "vw pickup 2130.0 2\n", - "dodge rampage 2295.0 1\n", - "ford ranger 2625.0 1\n", - "chevy s-10 2720.0 1" - ] - }, - "execution_count": 94, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Auto_re.loc[lambda df: df['year'] > 80, ['weight', 'origin']]\n" + "metadata": {}, + "outputs": [], + "source": [ + "Auto_re.loc[lambda df: df['year'] > 80, ['weight', 'origin']]" ] }, { @@ -6699,271 +2273,14 @@ }, { "cell_type": "code", - "execution_count": 95, + "execution_count": null, "id": "b13c5728", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.319807Z", - "iopub.status.busy": "2023-07-25T23:59:07.319681Z", - "iopub.status.idle": "2023-07-25T23:59:07.325115Z", - "shell.execute_reply": "2023-07-25T23:59:07.324828Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
weightorigin
name
toyota starlet1755.03
plymouth champ1875.01
honda civic 13001760.03
subaru2065.03
datsun 210 mpg1975.03
toyota tercel2050.03
mazda glc 41985.03
plymouth horizon 42215.01
ford escort 4w2045.01
volkswagen jetta2190.02
honda prelude2210.03
toyota corolla2350.03
datsun 200sx2615.03
mazda 6262635.03
volvo diesel3160.02
chevrolet cavalier 2-door2395.01
pontiac j2000 se hatchback2575.01
volkswagen rabbit l1980.02
mazda glc custom l2025.03
mazda glc custom1970.03
plymouth horizon miser2125.01
mercury lynx l2125.01
nissan stanza xe2160.03
honda accord2205.03
toyota corolla2245.03
honda civic1965.03
honda civic (auto)1965.03
datsun 310 gx1995.03
oldsmobile cutlass ciera (diesel)3015.01
toyota celica gt2665.03
dodge charger 2.22370.01
vw pickup2130.02
dodge rampage2295.01
chevy s-102720.01
\n", - "
" - ], - "text/plain": [ - " weight origin\n", - "name \n", - "toyota starlet 1755.0 3\n", - "plymouth champ 1875.0 1\n", - "honda civic 1300 1760.0 3\n", - "subaru 2065.0 3\n", - "datsun 210 mpg 1975.0 3\n", - "toyota tercel 2050.0 3\n", - "mazda glc 4 1985.0 3\n", - "plymouth horizon 4 2215.0 1\n", - "ford escort 4w 2045.0 1\n", - "volkswagen jetta 2190.0 2\n", - "honda prelude 2210.0 3\n", - "toyota corolla 2350.0 3\n", - "datsun 200sx 2615.0 3\n", - "mazda 626 2635.0 3\n", - "volvo diesel 3160.0 2\n", - "chevrolet cavalier 2-door 2395.0 1\n", - "pontiac j2000 se hatchback 2575.0 1\n", - "volkswagen rabbit l 1980.0 2\n", - "mazda glc custom l 2025.0 3\n", - "mazda glc custom 1970.0 3\n", - "plymouth horizon miser 2125.0 1\n", - "mercury lynx l 2125.0 1\n", - "nissan stanza xe 2160.0 3\n", - "honda accord 2205.0 3\n", - "toyota corolla 2245.0 3\n", - "honda civic 1965.0 3\n", - "honda civic (auto) 1965.0 3\n", - "datsun 310 gx 1995.0 3\n", - "oldsmobile cutlass ciera (diesel) 3015.0 1\n", - "toyota celica gt 2665.0 3\n", - "dodge charger 2.2 2370.0 1\n", - "vw pickup 2130.0 2\n", - "dodge rampage 2295.0 1\n", - "chevy s-10 2720.0 1" - ] - }, - "execution_count": 95, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Auto_re.loc[lambda df: (df['year'] > 80) & (df['mpg'] > 30),\n", " ['weight', 'origin']\n", - " ]\n" + " ]" ] }, { @@ -6979,375 +2296,16 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": null, "id": "d5a2c3be", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.326839Z", - "iopub.status.busy": "2023-07-25T23:59:07.326718Z", - "iopub.status.idle": "2023-07-25T23:59:07.333291Z", - "shell.execute_reply": "2023-07-25T23:59:07.333002Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
weightorigin
name
ford maverick2587.01
datsun pl5102130.03
datsun pl5102130.03
ford torino 5003302.01
ford mustang3139.01
datsun 12001613.03
ford pinto runabout2226.01
ford pinto (sw)2395.01
datsun 510 (sw)2288.03
ford maverick3021.01
datsun 6102379.03
ford pinto2310.01
datsun b2101950.03
ford pinto2451.01
datsun 7102003.03
ford maverick3158.01
ford pinto2639.01
datsun 7102545.03
ford pinto2984.01
ford maverick3012.01
ford granada ghia3574.01
datsun b-2101990.03
ford pinto2565.01
datsun f-10 hatchback1945.03
ford granada3525.01
ford mustang ii 2+22755.01
datsun 8102815.03
ford fiesta1800.01
datsun b210 gx2070.03
ford fairmont (auto)2965.01
ford fairmont (man)2720.01
datsun 5102300.03
datsun 200-sx2405.03
ford fairmont 42890.01
datsun 2102020.03
datsun 3102019.03
ford fairmont2870.01
datsun 510 hatchback2434.03
datsun 2102110.03
datsun 280-zx2910.03
datsun 210 mpg1975.03
ford escort 4w2045.01
ford escort 2h2380.01
datsun 200sx2615.03
datsun 810 maxima2930.03
ford granada gl3060.01
ford fairmont futura2865.01
datsun 310 gx1995.03
ford granada l2835.01
ford mustang gl2790.01
ford ranger2625.01
\n", - "
" - ], - "text/plain": [ - " weight origin\n", - "name \n", - "ford maverick 2587.0 1\n", - "datsun pl510 2130.0 3\n", - "datsun pl510 2130.0 3\n", - "ford torino 500 3302.0 1\n", - "ford mustang 3139.0 1\n", - "datsun 1200 1613.0 3\n", - "ford pinto runabout 2226.0 1\n", - "ford pinto (sw) 2395.0 1\n", - "datsun 510 (sw) 2288.0 3\n", - "ford maverick 3021.0 1\n", - "datsun 610 2379.0 3\n", - "ford pinto 2310.0 1\n", - "datsun b210 1950.0 3\n", - "ford pinto 2451.0 1\n", - "datsun 710 2003.0 3\n", - "ford maverick 3158.0 1\n", - "ford pinto 2639.0 1\n", - "datsun 710 2545.0 3\n", - "ford pinto 2984.0 1\n", - "ford maverick 3012.0 1\n", - "ford granada ghia 3574.0 1\n", - "datsun b-210 1990.0 3\n", - "ford pinto 2565.0 1\n", - "datsun f-10 hatchback 1945.0 3\n", - "ford granada 3525.0 1\n", - "ford mustang ii 2+2 2755.0 1\n", - "datsun 810 2815.0 3\n", - "ford fiesta 1800.0 1\n", - "datsun b210 gx 2070.0 3\n", - "ford fairmont (auto) 2965.0 1\n", - "ford fairmont (man) 2720.0 1\n", - "datsun 510 2300.0 3\n", - "datsun 200-sx 2405.0 3\n", - "ford fairmont 4 2890.0 1\n", - "datsun 210 2020.0 3\n", - "datsun 310 2019.0 3\n", - "ford fairmont 2870.0 1\n", - "datsun 510 hatchback 2434.0 3\n", - "datsun 210 2110.0 3\n", - "datsun 280-zx 2910.0 3\n", - "datsun 210 mpg 1975.0 3\n", - "ford escort 4w 2045.0 1\n", - "ford escort 2h 2380.0 1\n", - "datsun 200sx 2615.0 3\n", - "datsun 810 maxima 2930.0 3\n", - "ford granada gl 3060.0 1\n", - "ford fairmont futura 2865.0 1\n", - "datsun 310 gx 1995.0 3\n", - "ford granada l 2835.0 1\n", - "ford mustang gl 2790.0 1\n", - "ford ranger 2625.0 1" - ] - }, - "execution_count": 96, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Auto_re.loc[lambda df: (df['displacement'] < 300)\n", " & (df.index.str.contains('ford')\n", " | df.index.str.contains('datsun')),\n", " ['weight', 'origin']\n", - " ]\n" + " ]" ] }, { @@ -7370,31 +2328,15 @@ }, { "cell_type": "code", - "execution_count": 97, + "execution_count": null, "id": "a6278441", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.334977Z", - "iopub.status.busy": "2023-07-25T23:59:07.334854Z", - "iopub.status.idle": "2023-07-25T23:59:07.336902Z", - "shell.execute_reply": "2023-07-25T23:59:07.336651Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Total is: 24\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ "total = 0\n", "for value in [3,2,19]:\n", " total += value\n", - "print('Total is: {0}'.format(total))\n" + "print('Total is: {0}'.format(total))" ] }, { @@ -7414,26 +2356,10 @@ }, { "cell_type": "code", - "execution_count": 98, + "execution_count": null, "id": "2aa065a8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.338535Z", - "iopub.status.busy": "2023-07-25T23:59:07.338415Z", - "iopub.status.idle": "2023-07-25T23:59:07.340499Z", - "shell.execute_reply": "2023-07-25T23:59:07.340239Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Total is: 144\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ "total = 0\n", "for value in [2,3,19]:\n", @@ -7466,31 +2392,16 @@ }, { "cell_type": "code", - "execution_count": 99, + "execution_count": null, "id": "832c1b7d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.342189Z", - "iopub.status.busy": "2023-07-25T23:59:07.342070Z", - "iopub.status.idle": "2023-07-25T23:59:07.344236Z", - "shell.execute_reply": "2023-07-25T23:59:07.343978Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Weighted average is: 10.8\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ "total = 0\n", "for value, weight in zip([2,3,19],\n", " [0.2,0.3,0.5]):\n", " total += weight * value\n", - "print('Weighted average is: {0}'.format(total))\n" + "print('Weighted average is: {0}'.format(total))" ] }, { @@ -7521,87 +2432,10 @@ }, { "cell_type": "code", - "execution_count": 100, + "execution_count": null, "id": "2ca2e7cd", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.345832Z", - "iopub.status.busy": "2023-07-25T23:59:07.345720Z", - "iopub.status.idle": "2023-07-25T23:59:07.350825Z", - "shell.execute_reply": "2023-07-25T23:59:07.350528Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
foodbarpicklesnackpopcorn
00.3455840.8216180.330437-1.303157NaN
1NaN-0.5369530.5811180.3645720.294132
2NaN0.546713NaN-0.162910-0.482119
\n", - "
" - ], - "text/plain": [ - " food bar pickle snack popcorn\n", - "0 0.345584 0.821618 0.330437 -1.303157 NaN\n", - "1 NaN -0.536953 0.581118 0.364572 0.294132\n", - "2 NaN 0.546713 NaN -0.162910 -0.482119" - ] - }, - "execution_count": 100, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "rng = np.random.default_rng(1)\n", "A = rng.standard_normal((127, 5))\n", @@ -7612,40 +2446,20 @@ " 'pickle',\n", " 'snack',\n", " 'popcorn'])\n", - "D[:3]\n" + "D[:3]" ] }, { "cell_type": "code", - "execution_count": 101, + "execution_count": null, "id": "d8ae1dcc", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.352395Z", - "iopub.status.busy": "2023-07-25T23:59:07.352287Z", - "iopub.status.idle": "2023-07-25T23:59:07.354931Z", - "shell.execute_reply": "2023-07-25T23:59:07.354663Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Column \"food\" has 16.54% missing values\n", - "Column \"bar\" has 25.98% missing values\n", - "Column \"pickle\" has 29.13% missing values\n", - "Column \"snack\" has 21.26% missing values\n", - "Column \"popcorn\" has 22.83% missing values\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ "for col in D.columns:\n", " template = 'Column \"{0}\" has {1:.2%} missing values'\n", " print(template.format(col,\n", - " np.isnan(D[col]).mean()))\n" + " np.isnan(D[col]).mean()))" ] }, { @@ -7674,40 +2488,10 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": null, "id": "30a8a663", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.356627Z", - "iopub.status.busy": "2023-07-25T23:59:07.356508Z", - "iopub.status.idle": "2023-07-25T23:59:07.458864Z", - "shell.execute_reply": "2023-07-25T23:59:07.458518Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "ename": "NameError", - "evalue": "name 'horsepower' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[102], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m fig, ax \u001b[38;5;241m=\u001b[39m subplots(figsize\u001b[38;5;241m=\u001b[39m(\u001b[38;5;241m8\u001b[39m, \u001b[38;5;241m8\u001b[39m))\n\u001b[0;32m----> 2\u001b[0m ax\u001b[38;5;241m.\u001b[39mplot(\u001b[43mhorsepower\u001b[49m, mpg, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mo\u001b[39m\u001b[38;5;124m'\u001b[39m);\n", - "\u001b[0;31mNameError\u001b[0m: name 'horsepower' is not defined" - ] - }, - { - "data": { - "image/png": "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rF69Oh599NHYuXNnPP3007F58+Z44IEHTrhmxYoV0d3dPXg7cODAWG8TAIBkSrqiOmnSpCgvL4+urq4h411dXTFlypRh19x3332xcOHCuOWWWyIi4tJLL40jR47EbbfdFitXroyysuNbubKyMiorK0vZGgAAp5iSrqhWVFTE7Nmzo62tbXBsYGAg2traoqGhYdg1b7311nExWl5eHhERRVGUul8AAE4TJV1RjYhobm6OxYsXx5w5c2Lu3Lmxdu3aOHLkSCxZsiQiIhYtWhTTp0+P1tbWiIiYN29ePPzww3H55ZdHfX197N27N+67776YN2/eYLACAMA7lRyqCxYsiIMHD8aqVauis7MzZs2aFVu3bh38gNX+/fuHXEG99957Y8KECXHvvffGr371q/jTP/3TmDdvXnz1q18dvWcBAMApZ0LxAXj9vaenJ2pqaqK7uzuqq6tP9nYAAHiHsei1Mf/UPwAAjIRQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoAQEpCFQCAlIQqAAApCVUAAFISqgAApCRUAQBISagCAJCSUAUAICWhCgBASkIVAICUhCoAACkJVQAAUhKqAACkJFQBAEhJqAIAkJJQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoAQEpCFQCAlIQqAAApCVUAAFISqgAApCRUAQBISagCAJCSUAUAICWhCgBASkIVAICUhCoAACkJVQAAUhKqAACkJFQBAEhJqAIAkJJQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoAQEpCFQCAlIQqAAApCVUAAFISqgAApCRUAQBISagCAJCSUAUAICWhCgBASkIVAICUhCoAACkJVQAAUhKqAACkJFQBAEhJqAIAkJJQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoAQEpCFQCAlIQqAAApCVUAAFISqgAApCRUAQBISagCAJCSUAUAICWhCgBASkIVAICUhCoAACkJVQAAUhKqAACkJFQBAEhJqAIAkJJQBQAgJaEKAEBKQhUAgJSEKgAAKQlVAABSEqoAAKQkVAEASEmoAgCQklAFACAloQoA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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax.plot(horsepower, mpg, 'o');" @@ -7723,32 +2507,13 @@ }, { "cell_type": "code", - "execution_count": 103, + "execution_count": null, "id": "81fdedb1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.460807Z", - "iopub.status.busy": "2023-07-25T23:59:07.460673Z", - "iopub.status.idle": "2023-07-25T23:59:07.556888Z", - "shell.execute_reply": "2023-07-25T23:59:07.556504Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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u+8+BQKBmJ+zzz578P2enh6tXLlS5eXlGj9+vK699lodOnTIwx57b+bMmSPGLBAIaOXKlZKkz372syPe+9rXvuZxrzNn+/btWrp0qaZNm6ZAIKBf//rXMe8bhqF7771X4XBYY8eO1aWXXqp33nknpk17e7tuuOEGlZaWauLEibrlllt07NixDJ5FZiUasxMnTmjVqlU677zzNG7cOE2bNk1f+tKX9MEHH8TsI951ef/992f4TDIj2TX25S9/ecRYLFmyJKYN19ivY96P929aIBDQgw8+ONgmn66x2tpaffrTn9aECRM0ZcoUXX311dq7d29MGyt/H9977z1dddVVKikp0ZQpU/TNb35TJ0+ezOSpZEyyMWtvb9c3vvENnXXWWRo7dqxOO+00/e3f/q06Ojpi9hPvOnz66aczfTopIdhM4Nxzz1VLS8vgz8svvzz43p133qlNmzbpV7/6lbZt26YPPvhA11xzjYe99d5rr70WM15btmyRJP3P//k/B9vU1NTEtPnBD37gVXczrqurSxdccIF++tOfxn3/Bz/4gX7yk5/ooYce0quvvqpx48bp8ssvV09Pz2CbG264QW+99Za2bNmi3/zmN9q+fbu++tWvZuoUMi7RmHV3d2vPnj265557tGfPHj3zzDPau3evli1bNqLtd77znZjr7hvf+EYmup9xya4xSVqyZEnMWDz11FMx73ONxRo6Vi0tLfr5z3+uQCCga6+9NqZdvlxj27Zt08qVK7Vz505t2bJFJ06c0GWXXaaurq7BNsn+Pvb39+uqq65SX1+ffve73+kXv/iFHnvsMd17771enJLrko3ZBx98oA8++ED/+I//qMbGRj322GOqq6vTLbfcMmJfjz76aMx1dvXVV2f4bFJkIK41a9YYF1xwQdz3jhw5YowZM8b41a9+Nfja22+/bUgy6uvrM9RD/7v99tuNWbNmGZFIxDAMw/jMZz5j3H777d52yickGc8+++zg75FIxAiFQsaDDz44+NqRI0eMoqIi46mnnjIMwzCampoMScZrr7022OY///M/jUAgYBw8eDBjfffK8DGLZ9euXYYk48CBA4OvzZgxw/jRj37kbud8KN543Xzzzcby5ctNt+EaS36NLV++3Fi0aFHMa/l6jRmGYRw+fNiQZGzbts0wDGt/Hzdv3mwUFBQYra2tg23WrVtnlJaWGr29vZk9AQ8MH7N4/v3f/90oLCw0Tpw4MfialevTr7izmcA777yjadOm6fTTT9cNN9yg9957T5K0e/dunThxQpdeeulg27PPPlunnXaa6uvrvequr/T19WnDhg3667/+awUCgcHXn3jiCU2ePFlVVVVavXq1uru7PeylfzQ3N6u1tTXmmgoGg5o3b97gNVVfX6+JEyfqL/7iLwbbXHrppSooKNCrr76a8T77UUdHhwKBgCZOnBjz+v3336/y8nJ96lOf0oMPPpiz03VWvPTSS5oyZYrOOussrVixQm1tbYPvcY0ldujQIf32t7+Ne8cpX6+x6FRvWVmZJGt/H+vr63Xeeedp6tSpg20uv/xydXZ26q233spg770xfMzM2pSWlmr06NExr69cuVKTJ0/W3Llz9fOf/1xGlqzLMzp5k/w0b948PfbYYzrrrLPU0tKitWvXasGCBWpsbFRra6sKCwtH/EGbOnWqWltbvemwz/z617/WkSNH9OUvf3nwtS9+8YuaMWOGpk2bpjfeeEOrVq3S3r179cwzz3jXUZ+IXjdD//GN/h59r7W1VVOmTIl5f/To0SorK+O608BzYqtWrdL111+v0tLSwdf/9m//VnPmzFFZWZl+97vfafXq1WppadEPf/hDD3vrjSVLluiaa65RRUWF9u3bp29961u64oorVF9fr1GjRnGNJfGLX/xCEyZMGPHIVL5eY5FIRHfccYcuuugiVVVVSZKlv4+tra1x/62LvpfL4o3ZcB9++KG++93vjnh85Tvf+Y4WLVqkkpIS/e///b/19a9/XceOHdPf/u3fZqLrjhBsmrjiiisG//v888/XvHnzNGPGDP37v/+7xo4d62HPssMjjzyiK664QtOmTRt8begX57zzzlM4HNYll1yiffv2adasWV50EznixIkT+qu/+isZhqF169bFvHfXXXcN/vf555+vwsJC3Xrrraqtrc259YeTue666wb/+7zzztP555+vWbNm6aWXXtIll1ziYc+yw89//nPdcMMNKi4ujnk9X6+xlStXqrGxMSafAYklG7POzk5dddVVqqys1H333Rfz3j333DP435/61KfU1dWlBx98MCuCTabRLZo4caI++clP6t1331UoFFJfX5+OHDkS0+bQoUMKhULedNBHDhw4oOeff15/8zd/k7DdvHnzJEnvvvtuJrrla9HrZnjG5tBrKhQK6fDhwzHvnzx5Uu3t7Xl93UUDzQMHDmjLli0xdzXjmTdvnk6ePKn9+/dnpoM+dvrpp2vy5MmD30GuMXM7duzQ3r17k/67JuXHNXbbbbfpN7/5jV588UWdeuqpg69b+fsYCoXi/lsXfS9XmY1Z1NGjR7VkyRJNmDBBzz77rMaMGZNwf/PmzdOf//xn9fb2utXltCHYtOjYsWPat2+fwuGwLrzwQo0ZM0YvvPDC4Pt79+7Ve++9p+rqag976Q+PPvqopkyZoquuuiphu4aGBklSOBzOQK/8raKiQqFQKOaa6uzs1Kuvvjp4TVVXV+vIkSPavXv3YJutW7cqEokMBu75JhpovvPOO3r++edVXl6edJuGhgYVFBSMmC7OR3/+85/V1tY2+B3kGjP3yCOP6MILL9QFF1yQtG0uX2OGYei2227Ts88+q61bt6qioiLmfSt/H6urq/Xmm2/G/I9N9H8UKysrM3MiGZRszKSBf+8vu+wyFRYW6rnnnhtx9zyehoYGTZo0KTvunnubn+Rfd999t/HSSy8Zzc3NxiuvvGJceumlxuTJk43Dhw8bhmEYX/va14zTTjvN2Lp1q/H73//eqK6uNqqrqz3utff6+/uN0047zVi1alXM6++++67xne98x/j9739vNDc3Gxs3bjROP/10Y+HChR71NPOOHj1qvP7668brr79uSDJ++MMfGq+//vpg5vT9999vTJw40di4caPxxhtvGMuXLzcqKiqM48ePD+5jyZIlxqc+9Snj1VdfNV5++WXjzDPPNK6//nqvTsl1icasr6/PWLZsmXHqqacaDQ0NRktLy+BPNKP1d7/7nfGjH/3IaGhoMPbt22ds2LDB+MQnPmF86Utf8vjM3JFovI4ePWr8r//1v4z6+nqjubnZeP755405c+YYZ555ptHT0zO4D66x2O+lYRhGR0eHUVJSYqxbt27E9vl2ja1YscIIBoPGSy+9FPOd6+7uHmyT7O/jyZMnjaqqKuOyyy4zGhoajLq6OuMTn/iEsXr1ai9OyXXJxqyjo8OYN2+ecd555xnvvvtuTJuTJ08ahmEYzz33nLF+/XrjzTffNN555x3jZz/7mVFSUmLce++9Xp6aZQSbJr7whS8Y4XDYKCwsNE455RTjC1/4gvHuu+8Ovn/8+HHj61//ujFp0iSjpKTE+PznP2+0tLR42GN/+K//+i9DkrF3796Y19977z1j4cKFRllZmVFUVGScccYZxje/+U2jo6PDo55m3osvvmhIGvFz8803G4YxUP7onnvuMaZOnWoUFRUZl1xyyYhxbGtrM66//npj/PjxRmlpqfGVr3zFOHr0qAdnkxmJxqy5uTnue5KMF1980TAMw9i9e7cxb948IxgMGsXFxcY555xjfP/7348JrnJJovHq7u42LrvsMuMTn/iEMWbMGGPGjBlGTU1NTPkZw+AaG/69NAzDePjhh42xY8caR44cGbF9vl1jZt+5Rx99dLCNlb+P+/fvN6644gpj7NixxuTJk4277747psxPLkk2ZmbXoCSjubnZMIyBEmSzZ882xo8fb4wbN8644IILjIceesjo7+/37sRsCBhGluTNAwAAIOvwzCYAAABcQ7AJAAAA1xBsAgAAwDUEmwAAAHANwSYAAABcQ7AJAAAA1xBsAgAAwDUEmwAAAHANwSYAAABcQ7AJAAAA1xBsAgAAwDX/f8B+++iQ8lpHAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", - "ax.plot(Auto['horsepower'], Auto['mpg'], 'o');\n" + "ax.plot(Auto['horsepower'], Auto['mpg'], 'o');" ] }, { @@ -7760,52 +2525,15 @@ "Using this method,\n", "the variables can be accessed by name.\n", "The plot methods of a data frame return a familiar object:\n", - "an axes. We can use it to update the plot as we did previously: " + "an axes. We can use it to update the plot as we did previously:" ] }, { "cell_type": "code", - "execution_count": 104, + "execution_count": null, "id": "61850515", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.558736Z", - "iopub.status.busy": "2023-07-25T23:59:07.558598Z", - "iopub.status.idle": "2023-07-25T23:59:07.668649Z", - "shell.execute_reply": "2023-07-25T23:59:07.668299Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pandas/plotting/_matplotlib/core.py:1114: UserWarning: No data for colormapping provided via 'c'. Parameters 'cmap' will be ignored\n", - " scatter = ax.scatter(\n" - ] - }, - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Horsepower vs. MPG')" - ] - }, - "execution_count": 104, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "ax = Auto.plot.scatter('horsepower', 'mpg');\n", "ax.set_title('Horsepower vs. MPG')" @@ -7823,16 +2551,9 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": null, "id": "f2e0c165", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.670624Z", - "iopub.status.busy": "2023-07-25T23:59:07.670488Z", - "iopub.status.idle": "2023-07-25T23:59:07.713512Z", - "shell.execute_reply": "2023-07-25T23:59:07.713197Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "fig = ax.figure\n", @@ -7854,31 +2575,13 @@ }, { "cell_type": "code", - "execution_count": 106, + "execution_count": null, "id": "35c72e77", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.715540Z", - "iopub.status.busy": "2023-07-25T23:59:07.715402Z", - "iopub.status.idle": "2023-07-25T23:59:07.907697Z", - "shell.execute_reply": "2023-07-25T23:59:07.907310Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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LmruyTJOd0X8pdP1uDrv+GiNMzcnU9NHD+5yTbRJemNFlk9x+8ofRfcj4ecaSQKxOUU44p0GAOCIyTAc7CXuwuzZszVz5kw9/vjjkqT29nalpKRo5cqVuuuuu9xe39bWpsTERD3++ONaunSpR/dsaGhQQkKC6uvrFR8f7024AAAH+Fy1x3hEju0lFu07XKvpoxM1z8GMKHfHJflcdL/M0qjzH8l3enzLHQuCOtOmvLpJH5TVaM2r+726zhpneXWT/m9XhQ4db9bis4cHbQaZlb/Hs6f8XMNFdzenCPfP1WC/04T7eABApAnU56pXu1u2tLRo7969WrNmja0tKipKixYt0q5duzzqo7m5Wa2trRoyZIjTc06ePKmTJ0/avm9oaPAmTAAA4ER+cZWKjta5TCKFszMG99epdkOjEh3XTpqXkez2ubz890EbT4qae5pMKLM06tDx5m7tjplmHuBTIXVrnGnmATIM6Whts4orT/gUg6ccPa8/x1OS7Zm81d04/PGzDEe+jmckCMY7De8zABCZvEqSVVdXq62tTcOGDbNrHzZsmP71r3951Medd96pkSNHatGiRU7PWbdundauXetNaACAHmrbtm36zW9+o7179+rLL7/Ua6+9piVLltiO33DDDXr++eftrlm8eLHeeeedIEca3g7VNGnJhgLVdqixZF2OmJLkvph7qNU1t2hVXpG2lVhsbdkZycrNyexStytQffijqLk/nsObmBxJTRqg9z75Ujf/3z5b278qG/WHHeXauPQcXTBxmIurvePqecOlSLyvcfj7Z4ngCcY7De8zABCZgrq75fr16/XSSy/ptddeU79+/Zyet2bNGtXX19u+jhw5EsQoAQDhpKmpSVOnTtWGDRucnnPRRRfpyy+/tH3l5eUFMcLI0DlBJkm1za26fMOOEEXkHX/UjOpuH/4oau7v2lfuCvl31ifKpDTzALsEWUfLN33kUxzOuHresckDXW64EKxZTL7GQR2z3suTdxreZwAgMnmVJDObzYqOjtaxY8fs2o8dO6bhw4e7vPbhhx/W+vXr9d5772nKlCkuz42NjVV8fLzdFwCgd7r44ov14IMP6tvf/rbTc2JjYzV8+HDbV2Jioss+T548qYaGBruvniy/uKpLgsyqtrlV2zvMhAlHZZZGbSuxqK3TMsk2w9C2EovKq90vOfRHH1L3ipr7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c3OzceGFFxrJyclGTEyMMWbMGOOmm26y/Ue4FWP6DUdjKcnus9KT/59XVFQYF198sdG/f3/DbDYbP/7xj43W1tYgPw0ChfeZrninscc7jT3eZ7rineYboXqnMRlGL5yHBwAAAAAAAHQQ8ppkAAAAAAAAQKiRJAMAAAAAAECvR5IMAAAAAAAAvR5JMgAAAAAAAPR6JMkAAAAAAADQ65EkAwAAAAAAQK9HkgwAAAAAAAC9HkkyAAAAAAAA9HokyQAAADpYsGCBbrvttlCHAQAAgCAjSQYAAAAAAIBejyQZAABAALW0tIQ6hKDpTc8KAAB6HpJkAAAAnbS3t+unP/2phgwZouHDh+vnP/+57djhw4d1xRVXaODAgYqPj9f3vvc9HTt2zHb85z//uaZNm6Y//OEPSktLU79+/SRJf/rTnzR58mT1799fSUlJWrRokZqammzX/eEPf9BZZ52lfv36acKECXriiSdsxyoqKmQymfTSSy9p7ty56tevnyZNmqT8/Hy7uPPz8zVr1izFxsZqxIgRuuuuu3Tq1ClJ0ptvvqnBgwerra1NklRUVCSTyaS77rrLdv2NN96o//zP/7R9v2PHDs2bN0/9+/dXSkqKVq1aZRdzamqqfvGLX2jp0qWKj4/XzTff3J1hBwAACCmSZAAAAJ08//zzGjBggD788EM99NBDeuCBB/T++++rvb1dV1xxhY4fP678/Hy9//77Kisr09VXX213fWlpqf785z/r1VdfVVFRkb788kvl5OTov/7rv3TgwAFt3bpVV155pQzDkCS98MILuu+++/TLX/5SBw4c0K9+9Svde++9ev755+36/clPfqIf//jHKiws1Jw5c3TZZZeppqZGkvT555/rkksu0cyZM/WPf/xDTz75pDZu3KgHH3xQkjRv3jydOHFChYWFkk4n1Mxms7Zu3WrrPz8/XwsWLJAkHTx4UBdddJGuuuoqffzxx3r55Ze1Y8cO3XrrrXYxPfzww5o6daoKCwt17733+u1nAAAAEGwmw/pfZwAAANCCBQvU1tam7du329pmzZql888/XxdccIEuvvhilZeXKyUlRZL06aef6uyzz9bu3bs1c+ZM/fznP9evfvUrff7550pOTpYk7du3TzNmzFBFRYXGjBnT5Z7p6en6xS9+oZycHFvbgw8+qLfffls7d+5URUWF0tLStH79et15552SpFOnTiktLU0rV67UT3/6U919993685//rAMHDshkMkmSnnjiCd15552qr69XVFSUZsyYoZycHN1xxx369re/rZkzZ2rt2rWqqalRfX29Ro0apc8++0wZGRm68cYbFR0drd///ve2mHbs2KH58+erqalJ/fr1U2pqqjIzM/Xaa6/5/wcBAAAQZMwkAwAA6GTKlCl2348YMUJVVVU6cOCAUlJSbAkySZo4caIGDx6sAwcO2NrGjBljS5BJ0tSpU3XBBRdo8uTJ+u53v6unn35atbW1kqSmpiYdPHhQy5cv18CBA21fDz74oA4ePGgXx5w5c2x/7tOnj8455xzbfQ8cOKA5c+bYEmSSlJWVpcbGRh09elSSNH/+fG3dulWGYWj79u268sorddZZZ2nHjh3Kz8/XyJEjlZGRIUn6xz/+oeeee84upsWLF6u9vV3l5eW2e5xzzjm+DTIAAECY6RPqAAAAAMJNTEyM3fcmk0nt7e0eXz9gwAC776Ojo/X+++9r586deu+995Sbm6u7775bH374oeLi4iRJTz/9tGbPnt3lOn9asGCBnnnmGf3jH/9QTEyMJkyYoAULFmjr1q2qra3V/Pnzbec2Njbq+9//vlatWtWln9GjR9v+3PlZAQAAIhUzyQAAADx01lln6ciRIzpy5Iit7dNPP1VdXZ0mTpzo8lqTyaSsrCytXbtWhYWF6tu3r1577TUNGzZMI0eOVFlZmdLT0+2+0tLS7Pr44IMPbH8+deqU9u7dq7POOssW265du9SxkkZBQYEGDRqkUaNGSfqmLtlvf/tbW0LMmiTbunWrrR6ZJE2fPl2ffvppl5jS09PVt29f3wYQAAAgjDGTDAAAwEOLFi3S5MmTde211+qxxx7TqVOn9MMf/lDz5893uezwww8/1ObNm3XhhRdq6NCh+vDDD2WxWGwJrrVr12rVqlVKSEjQRRddpJMnT+qjjz5SbW2tVq9ebetnw4YNysjI0FlnnaXf/va3qq2t1X/9139Jkn74wx/qscce08qVK3XrrbequLhY999/v1avXq2oqNP/LpqYmKgpU6bohRde0OOPPy5Jys7O1ve+9z21trbazSS78847de655+rWW2/VjTfeqAEDBujTTz/V+++/b7sWAACgJyFJBgAA4CGTyaS//OUvWrlypbKzsxUVFaWLLrpIubm5Lq+Lj4/Xtm3b9Nhjj6mhoUFjxozRI488oosvvliSdOONNyouLk6/+c1v9JOf/EQDBgzQ5MmTddttt9n1s379eq1fv15FRUVKT0/XG2+8IbPZLEk644wz9Pbbb+snP/mJpk6dqiFDhmj58uW655577PqYP3++ioqKbLPGhgwZookTJ+rYsWMaP3687bwpU6YoPz9fd999t+bNmyfDMDRu3LguO3kCAAD0FOxuCQAAEOasu1sWFhZq2rRpoQ4HAACgR6ImGQAAAAAAAHo9kmQAAAAAAADo9VhuCQAAAAAAgF6PmWQAAAAAAADo9UiSAQAAAAAAoNcjSQYAAAAAAIBejyQZAAAAAAAAej2SZAAAAAAAAOj1SJIBAAAAAACg1yNJBgAAAAAAgF6PJBkAAAAAAAB6vf8f972lammgdBgAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, axes = subplots(ncols=3, figsize=(15, 5))\n", - "Auto.plot.scatter('horsepower', 'mpg', ax=axes[1]);\n" + "Auto.plot.scatter('horsepower', 'mpg', ax=axes[1]);" ] }, { @@ -7886,7 +2589,7 @@ "id": "95b0f3de", "metadata": {}, "source": [ - "Note also that the columns of a data frame can be accessed as attributes: try typing in `Auto.horsepower`. " + "Note also that the columns of a data frame can be accessed as attributes: try typing in `Auto.horsepower`." ] }, { @@ -7902,32 +2605,13 @@ }, { "cell_type": "code", - "execution_count": 107, + "execution_count": null, "id": "2b6fb1ad", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.909709Z", - "iopub.status.busy": "2023-07-25T23:59:07.909567Z", - "iopub.status.idle": "2023-07-25T23:59:07.912864Z", - "shell.execute_reply": "2023-07-25T23:59:07.912497Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "CategoricalDtype(categories=[3, 4, 5, 6, 8], ordered=False)" - ] - }, - "execution_count": 107, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Auto.cylinders = pd.Series(Auto.cylinders, dtype='category')\n", - "Auto.cylinders.dtype\n" + "Auto.cylinders.dtype" ] }, { @@ -7941,31 +2625,13 @@ }, { "cell_type": "code", - "execution_count": 108, + "execution_count": null, "id": "1f19f48c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:07.914563Z", - "iopub.status.busy": "2023-07-25T23:59:07.914464Z", - "iopub.status.idle": "2023-07-25T23:59:08.031995Z", - "shell.execute_reply": "2023-07-25T23:59:08.031639Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAq8AAALXCAYAAACjEKkxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABd/klEQVR4nO3deVyVZf7/8TcckFVwF0hUkhIT1LRCMkRSdCgNQtpsshprljRTcaZ0WtRvaZmaTYtTTqOVaU0MUmOZYilSSSllSaWloZniniKLBIf794dxfiFosnhubs/r+Xj4wHPdy/W5uTiHN/e5zn27GYZhCAAAALAAd7MLAAAAAM4W4RUAAACWQXgFAACAZRBeAQAAYBmEVwAAAFgG4RUAAACWQXgFAACAZRBeAQAAYBmEVwAAAFgG4RXAOeHm5qZp06aZXcZ5b926dXJzc9O6devOuN60adPk5uamQ4cOOaewJjBo0CANGjTI8Xjnzp1yc3PT4sWLm6yPc7FPAOcW4RWwmMWLF8vNza3Gvw4dOig+Pl4rV640u7xG+/rrrzVt2jTt3LnT7FIAAM2Qh9kFAGiYGTNmKCwsTIZhaP/+/Vq8eLGuueYa/e9//9Pw4cPNLq/Bvv76a02fPl2DBg1S165dzS4HzUiXLl1UVlYmT09Ps0sBYCLCK2BRiYmJuuyyyxyPx4wZo44dO2rZsmWWDq/OVFlZqaqqKrVo0cLsUnAW3Nzc5O3tbXYZZ1RSUiI/Pz+zywDOa0wbAM4TrVq1ko+Pjzw8av5NWlJSorS0NIWGhsrLy0vdu3fXnDlzZBiGJKmsrEwRERGKiIhQWVmZY7sjR44oODhYV155pex2uyTpjjvukL+/v77//nsNGzZMfn5+CgkJ0YwZMxz7O5PPP/9ciYmJCggIkL+/vwYPHqzc3FzH8sWLF+uGG26QJMXHxzumRfzWfM4333xTl1xyiby9vRUZGanly5frjjvuqHHmtnpu45w5czR//nx169ZNXl5e+vrrryVJH3zwgWJjY+Xn56dWrVopKSlJ33zzTY1+Tt1nter5pL/m5uamcePG6bXXXlP37t3l7e2tfv36af369bW237Nnj/7whz+oY8eO8vLyUs+ePfXvf/+71no//vijkpOT5efnpw4dOmjixIkqLy8/4/fmVIcOHdKNN96ogIAAtW3bVvfdd59OnDjhWB4XF6fevXvXuW337t01bNiw3+xj5cqViouLU8uWLRUQEKDLL79cS5culSQ98sgj8vT01MGDB2tt98c//lGtWrWqUc+v1TU/tfpncs+ePUpOTpa/v7/at2+vyZMnO35uqx09elR33HGHAgMD1apVK91+++06evRonX1t3bpVqampatOmjby9vXXZZZfp7bffrrFO9RSe7Oxs3XPPPerQoYM6deokSTp+/LgmTJigrl27ysvLSx06dFBCQoI+++yz3/z+ATgzzrwCFnXs2DEdOnRIhmHowIEDeuaZZ1RcXKzf//73jnUMw9B1112ntWvXasyYMerTp49WrVqlv/71r9qzZ4+eeuop+fj46OWXX9aAAQP097//XfPmzZMkjR07VseOHdPixYtls9kc+7Tb7frd736n/v37a/bs2Xrvvff0yCOPqLKyUjNmzDhtvV999ZViY2MVEBCgv/3tb/L09NQLL7ygQYMGKTs7W9HR0Ro4cKDGjx+vf/zjH5o6dap69OghSY6vdXnnnXd00003KSoqSrNmzdJPP/2kMWPG6IILLqhz/UWLFunEiRP64x//KC8vL7Vp00Zr1qxRYmKiLrzwQk2bNk1lZWV65plnNGDAAH322WcNnr6QnZ2tN954Q+PHj5eXl5eef/55/e53v9Onn36qyMhISdL+/fvVv39/R9ht3769Vq5cqTFjxqioqEgTJkyQdPKPjMGDB+uHH37Q+PHjFRISoldffVUffPBBvWq68cYb1bVrV82aNUu5ubn6xz/+oZ9++kmvvPKKJOm2227T3Xffrfz8fEeNkrRx40Z9++23evDBB8+4/8WLF+sPf/iDevbsqSlTpqhVq1b6/PPP9d5772nUqFG67bbbNGPGDL3xxhsaN26cY7uff/5Z6enpGjlyZL3Prtrtdg0bNkzR0dGaM2eO1qxZo7lz56pbt276y1/+IunkcyEpKUkffvih/vznP6tHjx5avny5br/99lr7++qrrzRgwABdcMEFeuCBB+Tn56f//Oc/Sk5O1n//+19df/31Nda/55571L59ez388MMqKSmRJP35z39Wenq6xo0bp0suuUSHDx/Whx9+qG+++UZ9+/at1/EBOIUBwFIWLVpkSKr1z8vLy1i8eHGNdTMzMw1JxqOPPlqjPTU11XBzczO2b9/uaJsyZYrh7u5urF+/3njzzTcNScb8+fNr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wYPrXN9ms2no0KF66623arw9vX//fi1dulRXXXWVAgICJMkRFE93CaNfCwkJUWRkpF555RVHYJdOfsp/y5Ytv7m9dDJg9OnTRy+//HKNPvPz87V69Wpdc801jrZu3brp2LFj+vLLLx1thYWFWr58eZ373rBhQ41LI+3evVtvvfWWhg4dKpvNJpvNppEjR+q///2v8vPza23/68tJXXPNNdq7d6/S09MdbaWlpXrxxRfP6jirPffcczUeP/PMM5JUK1Dddttt+umnn/SnP/2p1lUsTmfo0KFq2bKlZs2aVetyV8Ypl1JLTExUu3bt9MQTTyg7O7vBZ13P1jXXXKPKykotWLDA0Wa32x3HX61Dhw4aNGiQXnjhBRUWFtbaT12X+DqV3W7XsWPHau03JCSk3pc2A1AbZ14Bi1q5cqXjDOqBAwe0dOlSfffdd3rggQccQXDEiBGKj4/X3//+d+3cuVO9e/fW6tWr9dZbb2nChAmOM2WPPvqoNm/erPfff18tW7ZUr1699PDDD+vBBx9UampqjQDn7e2t9957T7fffruio6O1cuVKvfPOO5o6dWqteYe/9uijjyorK0tXXXWV7rnnHnl4eOiFF15QeXm5Zs+e7VivT58+stlseuKJJ3Ts2DF5eXnp6quvVocOHerc78yZM5WUlKQBAwbozjvv1E8//aRnn31WkZGRNQLtmTz55JNKTExUTEyMxowZ47hUVmBgoKZNm+ZY7+abb9b999+v66+/XuPHj1dpaakWLFigiy++uM7rd0ZGRmrYsGE1LpUlSdOnT3es8/jjj2vt2rWKjo7W3XffrUsuuURHjhzRZ599pjVr1ujIkSOSTn4o6Nlnn9Xo0aOVl5en4OBgvfrqq/L19T2rY6xWUFCg6667Tr/73e+0YcMGLVmyRKNGjap1bddLL71UkZGRevPNN9WjR4+zurxTQECAnnrqKd111126/PLLNWrUKLVu3VpffPGFSktL9fLLLzvW9fT01M0336xnn31WNptNt9xyS72Oo75GjBihAQMG6IEHHtDOnTt1ySWXKCMjo1bIlE4G/KuuukpRUVG6++67deGFF2r//v3asGGDfvzxR33xxRdn7Ov48ePq1KmTUlNT1bt3b/n7+2vNmjXauHGj5s6de64OEXAd5l3oAEBD1HWpLG9vb6NPnz7GggULalySyDAM4/jx48bE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448/Ljc3N02YMMHRNmjQILm5udX49+c//7mxdQIAAADyaOiGGzdu1AsvvKBevXrVWnb33XdrxowZjse+vr4N7QYAAABwaNCZ1+LiYt16661auHChWrduXWu5r6+vgoKCHP8CAgIaXSgAAADQoDOvY8eO1bXXXqshQ4bo0UcfrbX8tdde05IlSxQUFKQRI0booYceOu3Z1/LycpWXlzseFxUVSZIqKipUUVHRkPIsrfqYXfHYwfi7OsbftTH+rs3Vx78+x13v8Pr666/rs88+08aNG+tcPmrUKHXp0kUhISH68ssvdf/992vbtm3KyMioc/1Zs2Zp+vTptdpXr17t0tMNsrKyzC4BJmL8XRvj79oYf9fmquNfWlp61uu6GYZhnO3Ku3fv1mWXXaasrCzHXNdBgwapT58+mj9/fp3bfPDBBxo8eLC2b9+ubt261Vpe15nX0NBQHTp0yCWnG1RUVCgrK0sJCQny9PQ0uxw4GePv2hh/18b4uzZXH/+ioiK1a9dOx44d+838V68zr3l5eTpw4ID69u3raLPb7Vq/fr2effZZlZeXy2az1dgmOjpakk4bXr28vOTl5VWr3dPT0yUHr5qrH7+rY/xdG+Pv2hh/1+aq41+fY65XeB08eLC2bNlSo+3OO+9URESE7r///lrBVZI2b94sSQoODq5PVwAAAEAt9QqvLVu2VGRkZI02Pz8/tW3bVpGRkdqxY4eWLl2qa665Rm3bttWXX36piRMnauDAgXVeUgsAAACojwZf57UuLVq00Jo1azR//nyVlJQoNDRUI0eO1IMPPtiU3QDNVmlpqbZu3drg7YvLyvXxlh1q3W6T/H1qT6c5WxERES79gUcAwPmr0eF13bp1jv+HhoYqOzu7sbsELGvr1q3q169fo/czu5Hb5+Xl1ZibDgDA+aJJz7wCri4iIkJ5eXkN3n5b4VFNenOL5t0Qpe7BrRpVBwAA5yPCK9CEfH19G3XG033XYXnllKlHZG/16dK2CSsDAOD80KDbwwIAAABmILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwAAACyjUeH18ccfl5ubmyZMmOBoO3HihMaOHau2bdvK399fI0eO1P79+xtbJwAAANDw8Lpx40a98MIL6tWrV432iRMn6n//+5/efPNNZWdna+/evUpJSWl0oQAAAECDwmtxcbFuvfVWLVy4UK1bt3a0Hzt2TC+99JLmzZunq6++Wv369dOiRYv08ccfKzc3t8mKBgAAgGvyaMhGY8eO1bXXXqshQ4bo0UcfdbTn5eWpoqJCQ4YMcbRFRESoc+fO2rBhg/r3719rX+Xl5SovL3c8LioqkiRVVFSooqKiIeVZWvUxu+KxQ6qsrHR85WfA9fD8d22Mv2tz9fGvz3HXO7y+/vrr+uyzz7Rx48Zay/bt26cWLVqoVatWNdo7duyoffv21bm/WbNmafr06bXaV69eLV9f3/qWd97IysoyuwSYYHexJHkoNzdXe/LNrgZm4fnv2hh/1+aq419aWnrW69YrvO7evVv33XefsrKy5O3tXe/C6jJlyhRNmjTJ8bioqEihoaEaOnSoAgICmqQPK6moqFBWVpYSEhLk6elpdjlwsi9+OCJt2aT+/furd+c2ZpcDJ+P579oYf9fm6uNf/c772ahXeM3Ly9OBAwfUt29fR5vdbtf69ev17LPPatWqVfr555919OjRGmdf9+/fr6CgoDr36eXlJS8vr1rtnp6eLjl41Vz9+F2Vh4eH4yvj77p4/rs2xt+1uer41+eY6xVeBw8erC1bttRou/POOxUREaH7779foaGh8vT01Pvvv6+RI0dKkrZt26YffvhBMTEx9ekKAAAAqKVe4bVly5aKjIys0ebn56e2bds62seMGaNJkyapTZs2CggI0L33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ixPHxMRo5cqVZpcFkzz++ONyc3PThAkTzC4FTjBt2jS5ubnV+BcREWF2WXCiPXv26Pe//73atm0rHx8fRUVFadOmTWaXBSew2+166KGHFBYWJh8fH3Xr1k3/93//Jz5Pf3rN7g5brqpTp056/PHHddFFF8kwDL388stKSkrS559/rp49e5pdHpxo48aNeuGFF9SrVy+zS4ET9ezZU2vWrHE89vDg5dlV/PTTTxowYIDi4+O1cuVKtW/fXt99951at25tdmlwgieeeEILFizQyy+/rJ49e2rTpk268847FRgYqPHjx5tdXrPEq2MzMWLEiBqPH3vsMS1YsEC5ubmEVxdSXFysW2+9VQsXLtSjjz5qdjlwIg8PDwUFBZldBkzwxBNPKDQ0VIsWLXK0hYWFmVgRnOnjjz9WUlKSrr32WklS165dtWzZMn366acmV9Z8MW2gGbLb7Xr99ddVUlKimJgYs8uBE40dO1bXXnuthgwZYnYpcLLvvvtOISEhuvDCC3Xrrbfqhx9+MLskOMnbb7+tyy67TDfccIM6dOigSy+9VAsXLjS7LDjJlVdeqffff1/ffvutJOmLL77Qhx9+qMTERJMra74489qMbNmyRTExMTpx4oT8/f21fPlyXXLJJWaXBSd5/fXX9dlnn2njxo1mlwIni46O1uLFi9W9e3cVFhZq+vTpio2NVX5+vlq2bGl2eTjHvv/+ey1YsECTJk3S1KlTtXHjRo0fP14tWrTQ7bffbnZ5OMceeOABFRUVKSIiQjabTXa7XY899phuvfVWs0trtgivzUj37t21efNmHTt2TOnp6br99tuVnZ1NgHUBu3fv1n333aesrCx5e3ubXQ6c7NdnWHr16qXo6Gh16dJF//nPfzRmzBgTK4MzVFVV6bLLLtPMmTMlSZdeeqny8/P1z3/+k/DqAv7zn//otdde09KlS9WzZ09t3rxZEyZMUEhICON/GoTXZqRFixYKDw+XJPXr108bN27U008/rRdeeMHkynCu5eXl6cCBA+rbt6+jzW63a/369Xr22WdVXl4um81mYoVwplatWuniiy/W9u3bzS4FThAcHFzrJEWPHj303//+16SK4Ex//etf9cADD+jmm2+WJEVFRWnXrl2aNWsW4fU0CK/NWFVVlcrLy80uA04wePBgbdmypUbbnXfeqYiICN1///0EVxdTXFysHTt26LbbbjO7FDjBgAEDtG3bthpt3377rbp06WJSRXCm0tJSubvX/AiSzWZTVVWVSRU1f4TXZmLKlClKTExU586ddfz4cS1dulTr1q3TqlWrzC4NTtCyZUtFRkbWaPPz81Pbtm1rteP8M3nyZI0YMUJdunTR3r179cgjj8hms+mWW24xuzQ4wcSJE3XllVdq5syZuvHGG/Xpp5/qxRdf1Isvvmh2aXCCESNG6LHHHlPnzp3Vs2dPff7555o3b57+8Ic/mF1as0V4bSYOHDig0aNHq7CwUIGBgerVq5dWrVqlhIQEs0sDcI79+OOPuuWWW3T48GG1b99eV111lXJzc9W+fXuzS4MTXH755Vq+fLmmTJmiGTNmKCwsTPPnz+cDOy7imWee0UMPPaR77rlHBw4cUEhIiP70pz/p4YcfNru0ZsvN4BYOAAAAsAiu8woAAADLILwCAADAMgivAAAAsAzCKwAAACyD8AoAAADLILwCAADAMgivAAAAsAzCKwCcA127dtX8+fMdj93c3JSZmdmofS5evFitWrVq1D4AwOq4wxYAOEFhYaFat25tdhkAYHmEVwBwgqCgILNLkCRVVFTI09PT7DIAoMGYNgAAp1FVVaXZs2crPDxcXl5e6ty5sx577DFdffXVGjduXI11Dx48qBYtWuj999+vc1+/njawc+dOubm5KSMjQ/Hx8fL19VXv3r21YcOGGtssXrxYnTt3lq+vr66//nodPny41n7feust9e3bV97e3rrwwgs1ffp0VVZW1uh3wYIFuu666+Tn56fHHntMP/30k2699Va1b99ePj4+uuiii7Ro0aJGfrcAwDkIrwBwGlOmTNHjjz+uhx56SF9//bWWLl2qjh076q677tLSpUtVXl7uWHfJkiW64IILdPXVV5/1/v/+979r8uTJ2rx5sy6++GLdcsstjuD5ySefaMyYMRo3bpw2b96s+Ph4PfroozW2z8nJ0ejRo3Xffffp66+/1gsvvKDFixfrscceq7HetGnTdP3112vLli36wx/+4DielStX6ptvvtGCBQvUrl27RnynAMCJDABALUVFRYaXl5excOHCWsvKysqM1q1bG2+88YajrVevXsa0adMcj7t06WI89dRTjseSjOXLlxuGYRgFBQWGJONf//qXY/lXX31lSDK++eYbwzAM45ZbbjGuueaaGv3edNNNRmBgoOPx4MGDjZkzZ9ZY59VXXzWCg4Nr9DthwoQa64wYMcK48847f+M7AADNE2deAaAO33zzjcrLyzV48OBay7y9vXXbbbfp3//+tyTps88+U35+vu6444569dGrVy/H/4ODgyVJBw4ccPQfHR1dY/2YmJgaj7/44gvNmDFD/v7+jn933323CgsLVVpa6ljvsssuq7HdX/7yF73++uvq06eP/va3v+njjz+uV90AYCY+sAUAdfDx8Tnj8rvuukt9+vTRjz/+qEWLFunqq69Wly5d6tXHrz845ebmJunkPNuzVVxcrOnTpyslJaXWMm9vb8f//fz8aixLTEzUrl279O677yorK0uDBw/W2LFjNWfOnHrVDwBm4MwrANThoosuko+Pz2k/gBUVFaXLLrtMCxcu1NKlS/WHP/yhSfvv0aOHPvnkkxptubm5NR737dtX27ZtU3h4eK1/7u5nfnlv3769br/9di1ZskTz58/Xiy++2KT1A8C5wplXAKiDt7e37r//fv3tb39TixYtNGDAAB08eFBfffWVxowZI+nk2ddx48bJz89P119/fZP2P378eA0YMEBz5sxRUlKSVq1apffee6/GOg8//LCGDx+uzp07KzU1Ve7u7vriiy+Un59f68Ndp27Xr18/9ezZU+Xl5VqxYoV69OjRpPUDwLnCmVcAOI2HHnpIaWlpevjhh9WjRw/ddNNNjjmpknTLLbfIw8NDt9xyS4236ZtC//79tXDhQj399NPq3bu3Vq9erQcffLDGOsOGDdOKFSu0evVqXX755erfv7+eeuqp35y+0KJFC02ZMkW9evXSwIEDZbPZ9Prrrzdp/QBwrrgZhmGYXQQAWNHOnTvVrVs3bdy4UX379jW7HABwCYRXAKiniooKHT58WJMnT1ZBQYE++ugjs0sCAJfBtAEAqKePPvpIwcHB2rhxo/75z3+aXQ4AuBTOvAIAAMAyOPMKAAAAyyC8AgAAwDIIrwAAALAMwisAAAAsg/AKAAAAyyC8AgAAwDIIrwAAALAMwisAAAAsg/AKAAAAy/h/WuhbuG4/HnwAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", - "Auto.boxplot('mpg', by='cylinders', ax=ax);\n" + "Auto.boxplot('mpg', by='cylinders', ax=ax);" ] }, { @@ -7978,32 +2644,13 @@ }, { "cell_type": "code", - "execution_count": 109, + "execution_count": null, "id": "929b6901", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:08.033904Z", - "iopub.status.busy": "2023-07-25T23:59:08.033752Z", - "iopub.status.idle": "2023-07-25T23:59:08.146764Z", - "shell.execute_reply": "2023-07-25T23:59:08.146364Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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aOjx9sEPfrA2w9bY7bffnve9730ZOnRojj322Fx22WVZt25dj+ts3749M2fOzMiRI3PkkUdmxowZu/zAhMNBNbs677zzdjm3/vN//s81mrh27rnnnpx66qnd/3B0a2trHnvsse73O6f+1d525ZzavYULF6ahoSGzZs3qPua82r3d7epwPK/EZhW2bt2a0047LUuWLNnt+xctWpS77ror9957b55++ukcccQRmT59erZv336QJ629ve0qST74wQ/mlVde6X771re+dRAnrB8rV67MzJkzs3r16ixfvjydnZ2ZNm1atm7d2n2d2bNn55FHHsmDDz6YlStXZsOGDbn88strOHVtVLOrJLn++ut7nFuLFi2q0cS1c9xxx2XhwoVZs2ZNnn322VxwwQW59NJL84//+I9JnFO/aW+7SpxTb/fMM8/ka1/7Wk499dQex51Xu9rTrpLD8Lza609Pp4cklYceeqj7cldXV6WlpaXy3/7bf+s+tnnz5kpTU1PlW9/6Vg0mrB9v31WlUqlcc801lUsvvbQm89S7V199tZKksnLlykql8uvzqLGxsfLggw92X+cnP/lJJUll1apVtRqzLrx9V5VKpfKBD3yg8ulPf7p2Q9Wxo446qvKnf/qnzqkqvLWrSsU59XZvvPFG5aSTTqosX768x26cV7va064qlcPzvPLK5n568cUXs3HjxkyZMqX72LBhw3LWWWdl1apVNZysfj3xxBM59thj8653vSuf+MQn8tprr9V6pLqwZcuWJMmIESOSJGvWrElnZ2ePc2vixIkZN27cYX9uvX1Xb/nmN7+Zo48+OpMmTcrcuXOzbdu2WoxXN3bu3JkHHnggW7duTWtrq3PqHbx9V29xTv2rmTNn5uKLL+5x/iQ+Vu3Onnb1lsPtvCryE4QOJxs3bkySXX460qhRo7rfx7/64Ac/mMsvvzwTJkzICy+8kM9//vO56KKLsmrVqvTv37/W49VMV1dXZs2alXPOOSeTJk1K8utza+DAgRk+fHiP6x7u59budpUkV111VY4//viMGTMmP/zhD/O5z30u69aty1/8xV/UcNra+NGPfpTW1tZs3749Rx55ZB566KGccsopWbt2rXPqbfa0q8Q59ZseeOCB/OAHP8gzzzyzy/t8rOrpnXaVHJ7nldjkoPrwhz/c/d/vec97cuqpp+aEE07IE088kQsvvLCGk9XWzJkz8+Mf/zjf+973aj1K3dvTrm644Ybu/37Pe96T0aNH58ILL8wLL7yQE0444WCPWVPvete7snbt2mzZsiXf+c53cs0112TlypW1Hqsu7WlXp5xyinPq/3v55Zfz6U9/OsuXL8+gQYNqPU5dq2ZXh+N55a/R91NLS0uS7PJdd5s2bep+H3v227/92zn66KPz/PPP13qUmrnxxhvz13/91/n7v//7HHfccd3HW1pasmPHjmzevLnH9Q/nc2tPu9qds846K0kOy3Nr4MCBOfHEE3PGGWfk9ttvz2mnnZY//MM/dE7txp52tTuH6zm1Zs2avPrqq3nve9+bAQMGZMCAAVm5cmXuuuuuDBgwIKNGjXJe/X9729XOnTt3uc3hcF6Jzf00YcKEtLS0ZMWKFd3H2tvb8/TTT/f4uh9272c/+1lee+21jB49utajHHSVSiU33nhjHnroofzd3/1dJkyY0OP9Z5xxRhobG3ucW+vWrcv69esPu3Nrb7vanbVr1ybJYXluvV1XV1c6OjqcU1V4a1e7c7ieUxdeeGF+9KMfZe3atd1vZ555Zq6++uru/3Ze/dredrW7Lxc7HM4rf41ehTfffLPH/3G8+OKLWbt2bUaMGJFx48Zl1qxZue2223LSSSdlwoQJmTdvXsaMGZPLLrusdkPXyDvtasSIEVmwYEFmzJiRlpaWvPDCC/nsZz+bE088MdOnT6/h1LUxc+bMtLW15S//8i8zdOjQ7q9tGjZsWAYPHpxhw4bluuuuy5w5czJixIg0NzfnpptuSmtra84+++waT39w7W1XL7zwQtra2vLv/t2/y8iRI/PDH/4ws2fPzvvf//7d/rMjh7K5c+fmoosuyrhx4/LGG2+kra0tTzzxRJYtW+acept32pVz6l8NHTq0x9dHJ8kRRxyRkSNHdh93Xv3a3nZ12J5Xtf52+L7g7//+7ytJdnm75pprKpXKr//5o3nz5lVGjRpVaWpqqlx44YWVdevW1XboGnmnXW3btq0ybdq0yjHHHFNpbGysHH/88ZXrr7++snHjxlqPXRO721OSytKlS7uv8y//8i+VT37yk5WjjjqqMmTIkMp/+A//ofLKK6/Ubuga2duu1q9fX3n/+99fGTFiRKWpqaly4oknVv7gD/6gsmXLltoOXgMf//jHK8cff3xl4MCBlWOOOaZy4YUXVr773e92v9859a/eaVfOqXf29n++x3m1Z7+5q8P1vGqoVCqVgxm3AAAcPnzNJgAAxYhNAACKEZsAABQjNgEAKEZsAgBQjNgEAKAYsQkAQDFiEwCAYsQmAADFiE0AAIoRmwAAFCM2AQAo5v8B0x6PiZTyGhgAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", - "Auto.hist('mpg', ax=ax);\n" + "Auto.hist('mpg', ax=ax);" ] }, { @@ -8016,32 +2663,13 @@ }, { "cell_type": "code", - "execution_count": 110, + "execution_count": null, "id": "8d48f1e9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:08.148651Z", - "iopub.status.busy": "2023-07-25T23:59:08.148520Z", - "iopub.status.idle": "2023-07-25T23:59:08.257224Z", - "shell.execute_reply": "2023-07-25T23:59:08.256869Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAApsAAAKqCAYAAAB1tJVsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAtkklEQVR4nO3df3DU9Z348dciIQlCggElUH5IxRM9i52iYE7rVyFAvdZqSbWt9mrR07lr/AFcW4dOVXDs+eOm1XMGtbWK40xTHXqHrb1Wm6EFryNYxWFqex2qnj1okXhVSZAfcSuf7x+W7cUg7ELe2SQ8HjM7w372s7vvfeVj8nSzm81lWZYFAAAkMKjcCwAAYOASmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJcABLliyJXC4Xv/3tb+Ozn/1s1NbWxtFHHx3XX399ZFkWmzdvjvPPPz9qamqivr4+vv71rxeuu3r16sjlcvHII4/EV77ylaivr48jjzwyPv7xj8fmzZu73deyZcvi/e9/f1RXV8f06dPjP//zP+Pss8+Os88+uxcfMUDPEZsARfrUpz4Ve/bsiVtvvTVmzJgRN998c9x5550xe/bseN/73he33XZbTJ48Ob74xS/Gk08+2eW6X/va1+I//uM/4rrrrotrrrkmWltbo7GxMXbt2lXY55577omrrroqxo0bF7fffnt8+MMfjgsuuCB+//vf9/ZDBegxg8u9AID+Yvr06fHNb34zIiKuvPLKOPbYY+Of/umf4pZbbonrrrsuIiI+85nPxNixY+OBBx6Is846q3Dd119/PX7zm9/E8OHDIyLiQx/6UFx00UVx3333xTXXXBNvvfVWXH/99XHaaafFT3/60xg8+J1vz1OnTo3Pf/7zMW7cuF5+tAA9wzObAEX6+7//+8K/jzjiiDj11FMjy7K4/PLLC9tHjBgRJ5xwQvz3f/93l+t+7nOfK4RmRMQnP/nJGDNmTPzoRz+KiIhnn302XnvttbjiiisKoRkRcckll8RRRx2V6iEBJCc2AYo0YcKELudra2ujqqoqRo0a1W37G2+80WXb8ccf3+V8LpeLyZMnx+9+97uIiPif//mfiIiYPHlyl/0GDx4cxx57bA+sHqA8xCZAkY444oiitkVEZFmWejkA/YLYBOgFL7zwQpfzWZbFiy++WHjWcuLEiRER8eKLL3bZ709/+lPh2U+A/khsAvSChx56KLZv3144/73vfS9eeeWVOPfccyMi4tRTT42RI0fGfffdF3/6058K+33nO9/p9it5gP7Eu9EBekFdXV2ceeaZMX/+/Ghra4s777wzJk+eHFdccUVERAwZMiSWLFkSV199dcycOTMuuuii+N3vfhcPPvhgHHfccZHL5cr8CAAOjtgE6AVf+cpX4pe//GXccsstsX379pg1a1bcfffdMXTo0MI+V111VWRZFl//+tfji1/8Ypxyyinxgx/8IK655pqoqqoq4+oBDl4u8yp2gGRWr14d55xzTqxYsSI++clPlnz9PXv2xNFHHx3z5s2L++67L8EKAdLymk2APmL37t3d3sX+0EMPxeuvv+7jKoF+y6/RAfqIdevWxcKFC+PCCy+MkSNHxnPPPRf3339/nHzyyXHhhReWe3kAB0VsAvQRxx57bIwfPz7uuuuueP3116Ouri4+97nPxa233hpDhgwp9/IADorXbAIAkIzXbAIAkIzYBAAgmT73ms09e/bEli1bYvjw4f6IMQBAH5RlWWzfvj3Gjh0bgwbt/7nLPhebW7ZsifHjx5d7GQAAHMDmzZtj3Lhx+92nz8Xm8OHDI+KdxdfU1JR5NQeWz+fjJz/5ScyZMycqKirKvZw+y5yKZ1bFM6vimVXxzKp4ZlW8gTarjo6OGD9+fKHb9qfPxebeX53X1NT0m9gcOnRo1NTUDIiDJxVzKp5ZFc+simdWxTOr4plV8QbqrIp5yaM3CAEAkIzYBAAgmZJj8w9/+EN89rOfjZEjR0Z1dXV84AMfiGeffbZweZZlccMNN8SYMWOiuro6Ghsb44UXXujRRQMA0D+UFJtvvPFGnHHGGVFRURE//vGP47/+67/i61//ehx11FGFfW6//fa466674t57742nn346jjzyyJg7d27s3r27xxcPAEDfVtIbhG677bYYP358LF++vLBt0qRJhX9nWRZ33nlnfPWrX43zzz8/IiIeeuihGD16dDz66KPx6U9/uoeWDQBAf1BSbP7gBz+IuXPnxoUXXhhr1qyJ973vffGFL3whrrjiioiIePnll2Pr1q3R2NhYuE5tbW3MmDEj1q5du8/Y7OzsjM7OzsL5jo6OiHjnXVv5fP6gHlRv2rvG/rDWcjKn4plV8cyqeGZVPLMqnlkVb6DNqpTHkcuyLCt256qqqoiIWLRoUVx44YXxzDPPxLXXXhv33ntvXHrppfHUU0/FGWecEVu2bIkxY8YUrnfRRRdFLpeLRx55pNttLlmyJJYuXdpte0tLSwwdOrToBwIAQO/YuXNnXHzxxdHe3n7AP1VZUmwOGTIkTj311HjqqacK26655pp45plnYu3atQcVm/t6ZnP8+PHxxz/+sd/8nc3W1taYPXv2gPq7WT3NnIpnVsUzq+KZVfHMqnhmVbyBNquOjo4YNWpUUbFZ0q/Rx4wZEyeddFKXbSeeeGL827/9W0RE1NfXR0REW1tbl9hsa2uLD37wg/u8zcrKyqisrOy2vaKiol99MfrbesvFnIpnVsUzq+KZVfHMqnhmVbyBMqtSHkNJ70Y/44wzYuPGjV22/fa3v42JEydGxDtvFqqvr49Vq1YVLu/o6Iinn346GhoaSrkrAAAGgJKe2Vy4cGH8zd/8TfzzP/9zXHTRRfGLX/wivvWtb8W3vvWtiHjnI4sWLFgQN998cxx//PExadKkuP7662Ps2LFxwQUXpFg/AAB9WEmxedppp8XKlStj8eLFcdNNN8WkSZPizjvvjEsuuaSwz5e//OXYsWNHXHnllbFt27Y488wz4/HHHy+8uQgAgMNHSbEZEfGxj30sPvaxj73n5blcLm666aa46aabDmlhAAD0fz4bHQCAZMQmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkMzgci+Aw1guV+4VHLwsK/cKAKBf8MwmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyYhNAACSEZsAACQjNvu7XK5/nGpr31lvbe1ftgEAA57YBAAgGbEJAEAyYhMAgGTEJgAAyYhNAACSEZsAACQjNgEASEZsAgCQjNgEACAZsQkHo7c/baknTwDQi8QmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyYhNAACSEZsAACQjNgEASEZsAgCQjNgEACAZsQkAQDJiEwCAZMQmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyYhNAACSEZsAACQjNgEASEZsAgCQTEmxuWTJksjlcl1OU6ZMKVy+e/fuaG5ujpEjR8awYcOiqakp2traenzRAAD0DyU/s/nXf/3X8corrxROP//5zwuXLVy4MB577LFYsWJFrFmzJrZs2RLz5s3r0QUDANB/DC75CoMHR319fbft7e3tcf/990dLS0vMnDkzIiKWL18eJ554Yqxbty5OP/30Q18tAAD9SsnPbL7wwgsxduzYeP/73x+XXHJJbNq0KSIi1q9fH/l8PhobGwv7TpkyJSZMmBBr167tuRUDANBvlPTM5owZM+LBBx+ME044IV555ZVYunRpfPjDH45f/epXsXXr1hgyZEiMGDGiy3VGjx4dW7dufc/b7OzsjM7OzsL5jo6OiIjI5/ORz+dLWV5Z7F1j2dZaXV2e+y1R/s/rzPeT9ZZT8ln1g/+uilX2//76EbMqnlkVz6yKN9BmVcrjyGVZlh3sHW3bti0mTpwY3/jGN6K6ujrmz5/fJRwjIqZPnx7nnHNO3Hbbbfu8jSVLlsTSpUu7bW9paYmhQ4ce7NIAAEhk586dcfHFF0d7e3vU1NTsd9+SX7P5f40YMSL+6q/+Kl588cWYPXt2vPXWW7Ft27Yuz262tbXt8zWeey1evDgWLVpUON/R0RHjx4+POXPmHHDxfUE+n4/W1taYPXt2VFRU9P4Camt7/z4PQr66OlofeCBmX3ZZVOzaVe7l9GnJZ9Xe3vO3WSZl/++vHzGr4plV8cyqeANtVnt/E12MQ4rNN998M1566aX4u7/7u5g2bVpUVFTEqlWroqmpKSIiNm7cGJs2bYqGhob3vI3KysqorKzstr2ioqJffTHKtt5+Fm4Vu3aJzSIlm1U/+u+qWP3t+0U5mVXxzKp4ZlW8gTKrUh5DSbH5xS9+Mc4777yYOHFibNmyJW688cY44ogj4jOf+UzU1tbG5ZdfHosWLYq6urqoqamJq6++OhoaGrwTHQDgMFVSbP7+97+Pz3zmM/Haa6/F0UcfHWeeeWasW7cujj766IiIuOOOO2LQoEHR1NQUnZ2dMXfu3Lj77ruTLBwAgL6vpNh8+OGH93t5VVVVLFu2LJYtW3ZIiwIAYGDw2egAACQjNgEASEZsAgCQjNgEACAZsQn0H7lc19PeDzWore1+WV87ARymxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyYhNAACSEZsAACQjNgEASEZsAgCQjNgEACAZsQkAQDJiEwCAZMQmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyYhNAACSEZsAACQjNgEASEZsAgCQjNgEACAZsQkAQDJiEwCAZMQmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMkMLvcCgF6Wy5V7BQAcRjyzCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyYhNAACSEZsAACQjNgEASEZsAgCQjNgEACAZsQkAQDJiEwCAZMQmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyRxSbN56662Ry+ViwYIFhW27d++O5ubmGDlyZAwbNiyampqira3tUNcJAEA/dNCx+cwzz8Q3v/nNmDp1apftCxcujMceeyxWrFgRa9asiS1btsS8efMOeaEAAPQ/BxWbb775ZlxyySVx3333xVFHHVXY3t7eHvfff3984xvfiJkzZ8a0adNi+fLl8dRTT8W6det6bNEAAPQPBxWbzc3N8dGPfjQaGxu7bF+/fn3k8/ku26dMmRITJkyItWvXHtpKAQDodwaXeoWHH344nnvuuXjmmWe6XbZ169YYMmRIjBgxosv20aNHx9atW/d5e52dndHZ2Vk439HRERER+Xw+8vl8qcvrdXvXWLa1VleX535LlP/zOvP9ZL3lZFbF61ezKvP3s7J/r+pHzKp4ZlW8gTarUh5HSbG5efPmuPbaa6O1tTWqqqpKXti+3HLLLbF06dJu23/yk5/E0KFDe+Q+ekNra2t57vi73y3P/R6k1gceKPcS+g2zKl6/mNWPflTuFUREGb9X9UNmVTyzKt5AmdXOnTuL3jeXZVlW7M6PPvpofOITn4gjjjiisO3tt9+OXC4XgwYNiieeeCIaGxvjjTfe6PLs5sSJE2PBggWxcOHCbre5r2c2x48fH3/84x+jpqam6AdSLvl8PlpbW2P27NlRUVHR+wuore39+zwI+erqaH3ggZh92WVRsWtXuZfTp5lV8frVrNrby3r3Zf9e1Y+YVfHMqngDbVYdHR0xatSoaG9vP2CvlfTM5qxZs+L555/vsm3+/PkxZcqUuO6662L8+PFRUVERq1atiqampoiI2LhxY2zatCkaGhr2eZuVlZVRWVnZbXtFRUW/+mKUbb19/Qfsu1Ts2tX3o6CPMKvi9YtZ9ZHvZ/3te2s5mVXxzKp4A2VWpTyGkmJz+PDhcfLJJ3fZduSRR8bIkSML2y+//PJYtGhR1NXVRU1NTVx99dXR0NAQp59+eil3BQDAAFDyG4QO5I477ohBgwZFU1NTdHZ2xty5c+Puu+/u6bsBAKAfOOTYXL16dZfzVVVVsWzZsli2bNmh3jQAAP2cz0YHACAZsQkAQDJiEwCAZMQmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBekMuV95Tbe0766itLf26AIdAbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyYhNAACSEZsAACQjNgEASEZsAgCQzOByLwCAPq4/f4pQlpV7BXDY88wmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyYhNAACSEZsAACQjNgEASEZsAgCQjNgEACAZsQkAQDJiEwCAZMQmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyYhNAACSEZsAACQjNgEASEZsAgCQjNgEACAZsQkAQDJiEwCAZMQmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyZQUm/fcc09MnTo1ampqoqamJhoaGuLHP/5x4fLdu3dHc3NzjBw5MoYNGxZNTU3R1tbW44sGAKB/KCk2x40bF7feemusX78+nn322Zg5c2acf/758etf/zoiIhYuXBiPPfZYrFixItasWRNbtmyJefPmJVk4AAB93+BSdj7vvPO6nP/a174W99xzT6xbty7GjRsX999/f7S0tMTMmTMjImL58uVx4oknxrp16+L000/vuVUDANAvHPRrNt9+++14+OGHY8eOHdHQ0BDr16+PfD4fjY2NhX2mTJkSEyZMiLVr1/bIYgEA6F9KemYzIuL555+PhoaG2L17dwwbNixWrlwZJ510UmzYsCGGDBkSI0aM6LL/6NGjY+vWre95e52dndHZ2Vk439HRERER+Xw+8vl8qcvrdXvXWLa1VleX535LlP/zOvP9ZL3lZFbFM6viHbazOojvzWX/vt6PmFXxBtqsSnkcuSzLslJu/K233opNmzZFe3t7fO9734tvf/vbsWbNmtiwYUPMnz+/SzhGREyfPj3OOeecuO222/Z5e0uWLImlS5d2297S0hJDhw4tZWkAAPSCnTt3xsUXXxzt7e1RU1Oz331Ljs13a2xsjOOOOy4+9alPxaxZs+KNN97o8uzmxIkTY8GCBbFw4cJ9Xn9fz2yOHz8+/vjHPx5w8X1BPp+P1tbWmD17dlRUVPT+Ampre/8+D0K+ujpaH3ggZl92WVTs2lXu5fRpZlU8syreYTur9vaSr1L27+v9iFkVb6DNqqOjI0aNGlVUbJb8a/R327NnT3R2dsa0adOioqIiVq1aFU1NTRERsXHjxti0aVM0NDS85/UrKyujsrKy2/aKiop+9cUo23r72Q+Nil27Dq8fdIfArIpnVsU77GZ1CN+X+9vPoXIyq+INlFmV8hhKis3FixfHueeeGxMmTIjt27dHS0tLrF69Op544omora2Nyy+/PBYtWhR1dXVRU1MTV199dTQ0NHgnOgDAYaqk2Hz11Vfjc5/7XLzyyitRW1sbU6dOjSeeeCJmz54dERF33HFHDBo0KJqamqKzszPmzp0bd999d5KFAwDQ95UUm/fff/9+L6+qqoply5bFsmXLDmlRAAAMDD4bHQCAZMQmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyYhNAACSEZsAACQjNgEASEZsAgCQjNgEACAZsQkAQDJiEwCAZMQmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyYhNAACSEZsAACQjNgEASEZsAgCQjNgEACAZsQkAQDJiEwCAZMQmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgADVy5X+qm29p3r1tYe3PV76gQDhNgEACAZsQkAQDJiEwCAZMQmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyYhNAACSEZsAACQjNgEASEZsAgCQjNgEACCZkmLzlltuidNOOy2GDx8exxxzTFxwwQWxcePGLvvs3r07mpubY+TIkTFs2LBoamqKtra2Hl00AAD9Q0mxuWbNmmhubo5169ZFa2tr5PP5mDNnTuzYsaOwz8KFC+Oxxx6LFStWxJo1a2LLli0xb968Hl84AAB93+BSdn788ce7nH/wwQfjmGOOifXr18dZZ50V7e3tcf/990dLS0vMnDkzIiKWL18eJ554Yqxbty5OP/30nls5AAB9Xkmx+W7t7e0REVFXVxcREevXr498Ph+NjY2FfaZMmRITJkyItWvX7jM2Ozs7o7Ozs3C+o6MjIiLy+Xzk8/lDWV6v2LvGsq21uro891ui/J/Xme8n6y0nsyqeWRXPrIrXZ2blZ+CAMtBmVcrjyGVZlh3MnezZsyc+/vGPx7Zt2+LnP/95RES0tLTE/Pnzu8RjRMT06dPjnHPOidtuu63b7SxZsiSWLl3abXtLS0sMHTr0YJYGAEBCO3fujIsvvjja29ujpqZmv/se9DObzc3N8atf/aoQmgdr8eLFsWjRosL5jo6OGD9+fMyZM+eAi+8L8vl8tLa2xuzZs6OioqL3F1Bb2/v3eRDy1dXR+sADMfuyy6Ji165yL6dPM6vimVXxzKp4fWZWf/7tYV9W9p+B/chAm9Xe30QX46Bi86qrroof/vCH8eSTT8a4ceMK2+vr6+Ott96Kbdu2xYgRIwrb29raor6+fp+3VVlZGZWVld22V1RU9KsvRtnW289+aFTs2uUHXZHMqnhmVTyzKl7ZZ+Vn4IA0UGZVymMo6d3oWZbFVVddFStXroyf/vSnMWnSpC6XT5s2LSoqKmLVqlWFbRs3boxNmzZFQ0NDKXcFAMAAUNIzm83NzdHS0hLf//73Y/jw4bF169aIiKitrY3q6uqora2Nyy+/PBYtWhR1dXVRU1MTV199dTQ0NHgnOgDAYaik2LznnnsiIuLss8/usn358uXx+c9/PiIi7rjjjhg0aFA0NTVFZ2dnzJ07N+6+++4eWSwAAP1LSbFZzBvXq6qqYtmyZbFs2bKDXhQAAAODz0YHACAZsQkAQDJiEwCAZMQmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyYhNAACSEZsAACQjNgEASEZsAgCQjNgEACAZsQkAQDJiEwCAZMQmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyYhNAACSEZsAACQjNgEASEZsAgCQjNgEACAZsQkAQDJiEwCAZMQmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzY3CuXO7hTbe0716+tPfjbOJQTAEAfJjYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyYhNAACSEZsAACQjNgEASEZsAgCQjNgEACAZsQkAQDJiEwCAZMQmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQB9US7X90+1te+stba263b4P8QmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJBMybH55JNPxnnnnRdjx46NXC4Xjz76aJfLsyyLG264IcaMGRPV1dXR2NgYL7zwQk+tFwCAfqTk2NyxY0eccsopsWzZsn1efvvtt8ddd90V9957bzz99NNx5JFHxty5c2P37t2HvFgAAPqXwaVe4dxzz41zzz13n5dlWRZ33nlnfPWrX43zzz8/IiIeeuihGD16dDz66KPx6U9/+tBWCwBAv1JybO7Pyy+/HFu3bo3GxsbCttra2pgxY0asXbt2n7HZ2dkZnZ2dhfMdHR0REZHP5yOfz/fk8vavuvqgrpb/8/XyB3n9w4U5Fc+simdWxTOr4plV8d5zVr3587uf2Ns0vdo2CZXyOHJZlmUHe0e5XC5WrlwZF1xwQUREPPXUU3HGGWfEli1bYsyYMYX9LrroosjlcvHII490u40lS5bE0qVLu21vaWmJoUOHHuzSAABIZOfOnXHxxRdHe3t71NTU7HffHn1m82AsXrw4Fi1aVDjf0dER48ePjzlz5hxw8T1q70dulShfXR2tDzwQsy+7LCp27erhRQ0c5lQ8syqeWRXPrIpnVsV7z1m1t5dvUX1UPp+P1tbWmD17dlRUVJR7OYds72+ii9GjsVlfXx8REW1tbV2e2Wxra4sPfvCD+7xOZWVlVFZWdtteUVHRu1+MQ/yGUrFrl29KRTCn4plV8cyqeGZVPLMqXrdZDYCYSqXX+yaRUh5Dj/6dzUmTJkV9fX2sWrWqsK2joyOefvrpaGho6Mm7AgCgHyj5mc0333wzXnzxxcL5l19+OTZs2BB1dXUxYcKEWLBgQdx8881x/PHHx6RJk+L666+PsWPHFl7XCQDA4aPk2Hz22WfjnHPOKZzf+3rLSy+9NB588MH48pe/HDt27Igrr7wytm3bFmeeeWY8/vjjUVVV1XOrBgCgXyg5Ns8+++zY3xvYc7lc3HTTTXHTTTcd0sIAAOj/fDY6AADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyYhNAACSEZsAACQjNgEASEZsAgCQjNgEACAZsQkAQDJiEwCAZMQmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyYhNAACSEZsAACQjNgEASEZsAgCQjNgEACAZsQkAQDJiEwCAZMQmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQD0rFzO6d2n2tp3ZlNbm+4++iixCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAyYhNAACSEZsAACQjNgEASEZsAgCQjNgEACAZsQkAQDJiEwCAZMQmAADJiE0AAJIRmwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgGbEJAEAyYhMAgGTEJgAAySSLzWXLlsWxxx4bVVVVMWPGjPjFL36R6q4AAOijksTmI488EosWLYobb7wxnnvuuTjllFNi7ty58eqrr6a4OwAA+qgksfmNb3wjrrjiipg/f36cdNJJce+998bQoUPjgQceSHF3AAD0UYN7+gbfeuutWL9+fSxevLiwbdCgQdHY2Bhr167ttn9nZ2d0dnYWzre3t0dExOuvvx75fL6nl/feqqoO6mr5qqrYuXNnvFZVFRVZ1sOLGjjMqXhmVTyzKp5ZFc+simdWxeuVWb32Wprb3Yft27dHRERWzGPJetgf/vCHLCKyp556qsv2L33pS9n06dO77X/jjTdmEeHk5OTk5OTk5NTPTps3bz5gG/b4M5ulWrx4cSxatKhwfs+ePfH666/HyJEjI5fLlXFlxeno6Ijx48fH5s2bo6amptzL6bPMqXhmVTyzKp5ZFc+simdWxRtos8qyLLZv3x5jx4494L49HpujRo2KI444Itra2rpsb2tri/r6+m77V1ZWRmVlZZdtI0aM6OllJVdTUzMgDp7UzKl4ZlU8syqeWRXPrIpnVsUbSLOqra0tar8ef4PQkCFDYtq0abFq1arCtj179sSqVauioaGhp+8OAIA+LMmv0RctWhSXXnppnHrqqTF9+vS48847Y8eOHTF//vwUdwcAQB+VJDY/9alPxf/+7//GDTfcEFu3bo0PfvCD8fjjj8fo0aNT3F1ZVVZWxo033tjtpQB0ZU7FM6vimVXxzKp4ZlU8syre4TyrXJb5WwUAAKThs9EBAEhGbAIAkIzYBAAgGbEJAEAyYrMITz75ZJx33nkxduzYyOVy8eijj3a5PMuyuOGGG2LMmDFRXV0djY2N8cILL5RnsWV2oFl9/vOfj1wu1+X0kY98pDyLLbNbbrklTjvttBg+fHgcc8wxccEFF8TGjRu77LN79+5obm6OkSNHxrBhw6KpqanbByYcDoqZ1dlnn93t2PqHf/iHMq24fO65556YOnVq4Q9HNzQ0xI9//OPC5Y6pvzjQrBxT+3brrbdGLpeLBQsWFLY5rvZtX7M6HI8rsVmEHTt2xCmnnBLLli3b5+W333573HXXXXHvvffG008/HUceeWTMnTs3du/e3csrLb8DzSoi4iMf+Ui88sorhdN3v/vdXlxh37FmzZpobm6OdevWRWtra+Tz+ZgzZ07s2LGjsM/ChQvjscceixUrVsSaNWtiy5YtMW/evDKuujyKmVVExBVXXNHl2Lr99tvLtOLyGTduXNx6662xfv36ePbZZ2PmzJlx/vnnx69//euIcEz9XweaVYRj6t2eeeaZ+OY3vxlTp07tst1x1d17zSriMDyuDvjp6XQREdnKlSsL5/fs2ZPV19dn//Iv/1LYtm3btqyysjL77ne/W4YV9h3vnlWWZdmll16anX/++WVZT1/36quvZhGRrVmzJsuyd46jioqKbMWKFYV9fvOb32QRka1du7Zcy+wT3j2rLMuy//f//l927bXXlm9RfdhRRx2Vffvb33ZMFWHvrLLMMfVu27dvz44//vistbW1y2wcV92916yy7PA8rjyzeYhefvnl2Lp1azQ2Nha21dbWxowZM2Lt2rVlXFnftXr16jjmmGPihBNOiH/8x3+M1157rdxL6hPa29sjIqKuri4iItavXx/5fL7LsTVlypSYMGHCYX9svXtWe33nO9+JUaNGxcknnxyLFy+OnTt3lmN5fcbbb78dDz/8cOzYsSMaGhocU/vx7lnt5Zj6i+bm5vjoRz/a5fiJ8L1qX95rVnsdbsdVkk8QOpxs3bo1IqLbpyONHj26cBl/8ZGPfCTmzZsXkyZNipdeeim+8pWvxLnnnhtr166NI444otzLK5s9e/bEggUL4owzzoiTTz45It45toYMGRIjRozosu/hfmzta1YRERdffHFMnDgxxo4dG7/85S/juuuui40bN8a///u/l3G15fH8889HQ0ND7N69O4YNGxYrV66Mk046KTZs2OCYepf3mlWEY+r/evjhh+O5556LZ555pttlvld1tb9ZRRyex5XYpFd9+tOfLvz7Ax/4QEydOjWOO+64WL16dcyaNauMKyuv5ubm+NWvfhU///nPy72UPu+9ZnXllVcW/v2BD3wgxowZE7NmzYqXXnopjjvuuN5eZlmdcMIJsWHDhmhvb4/vfe97cemll8aaNWvKvaw+6b1mddJJJzmm/mzz5s1x7bXXRmtra1RVVZV7OX1aMbM6HI8rv0Y/RPX19RER3d5119bWVriM9/b+978/Ro0aFS+++GK5l1I2V111Vfzwhz+Mn/3sZzFu3LjC9vr6+njrrbdi27ZtXfY/nI+t95rVvsyYMSMi4rA8toYMGRKTJ0+OadOmxS233BKnnHJK/Ou//qtjah/ea1b7crgeU+vXr49XX301PvShD8XgwYNj8ODBsWbNmrjrrrti8ODBMXr0aMfVnx1oVm+//Xa36xwOx5XYPESTJk2K+vr6WLVqVWFbR0dHPP30011e98O+/f73v4/XXnstxowZU+6l9Losy+Kqq66KlStXxk9/+tOYNGlSl8unTZsWFRUVXY6tjRs3xqZNmw67Y+tAs9qXDRs2REQclsfWu+3Zsyc6OzsdU0XYO6t9OVyPqVmzZsXzzz8fGzZsKJxOPfXUuOSSSwr/dly940Cz2tfLxQ6H48qv0Yvw5ptvdvk/jpdffjk2bNgQdXV1MWHChFiwYEHcfPPNcfzxx8ekSZPi+uuvj7Fjx8YFF1xQvkWXyf5mVVdXF0uXLo2mpqaor6+Pl156Kb785S/H5MmTY+7cuWVcdXk0NzdHS0tLfP/734/hw4cXXttUW1sb1dXVUVtbG5dffnksWrQo6urqoqamJq6++upoaGiI008/vcyr710HmtVLL70ULS0t8bd/+7cxcuTI+OUvfxkLFy6Ms846a59/dmQgW7x4cZx77rkxYcKE2L59e7S0tMTq1avjiSeecEy9y/5m5Zj6i+HDh3d5fXRExJFHHhkjR44sbHdcveNAszpsj6tyvx2+P/jZz36WRUS306WXXppl2Tt//uj666/PRo8enVVWVmazZs3KNm7cWN5Fl8n+ZrVz585szpw52dFHH51VVFRkEydOzK644ops69at5V52WexrThGRLV++vLDPrl27si984QvZUUcdlQ0dOjT7xCc+kb3yyivlW3SZHGhWmzZtys4666ysrq4uq6yszCZPnpx96Utfytrb28u78DK47LLLsokTJ2ZDhgzJjj766GzWrFnZT37yk8Lljqm/2N+sHFP79+4/3+O4em//d1aH63GVy7Is6824BQDg8OE1mwAAJCM2AQBIRmwCAJCM2AQAIBmxCQBAMmITAIBkxCYAAMmITQAAkhGbAAAkIzYBAEhGbAIAkIzYBAAgmf8P4biV52JAgFEAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", - "Auto.hist('mpg', color='red', bins=12, ax=ax);\n" + "Auto.hist('mpg', color='red', bins=12, ax=ax);" ] }, { @@ -8058,31 +2686,12 @@ }, { "cell_type": "code", - "execution_count": 111, + "execution_count": null, "id": "400690e6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:08.259243Z", - "iopub.status.busy": "2023-07-25T23:59:08.259102Z", - "iopub.status.idle": "2023-07-25T23:59:09.325925Z", - "shell.execute_reply": "2023-07-25T23:59:09.325581Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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JEeUwYMHiyVLlnRYv3jxYjFo0KATVpY9SRXZUkWONWvWiNGjR4v8/HwxZswYMWbMGJGfny9Gjx4tvv/++y6TI05310t3n/9wGDNmjHj99dc7rH/ttdfE6NGj93tsqrWDPTla9+VYvt+d4XCub8WKFfv85efnHy2ROzBs2LCk5QceeECMHj1auFwuMXz48G6Ro7i4OGnb0KFDD6osqQAdYfr06XNI244GqSTLwZy/K2VLFTkO56V5NOjueunu8x8Offv2PaRtQqReO9iTo3VfjuX73RkO5/oURRE9e/YUZWVlHX4Gg+FIi7pPKioqOqx7+OGHxciRI0V5eXmXydFeyZk2bVrStiFDhhxUWdII+gjTu3dv/vd//5e6urrEurq6Ou6991569ux5wsqyJ6kiW6rI4XK5uOiiizqs//GPf4zb7e4yOeJ0d7109/kPh+zsbP75z38Si8US62KxGC+++CJZWVn7PTbV2sGeHK37cizf785wONdXWlrKggUL2Lp1a4dfXl7e0RY9Qf/+/fnoo4+S1t12221ceumlbN68ucvkyMvLw+PxAPDiiy8m1ldXVydskjrNkdDIJLupq6sTV155pbDb7cJsNguz2Szsdru48sorRW1tbZfLctVVV6WELKkqW6rIMX78ePHSSy+JaDSaWBeNRsULL7wgxo0b12VyxOnueunu8x8OGzduFKeeeqpIS0sT/fr1E/369RNpaWnilFNOEevXr9/vsanWDvbkaPVvqdRvHg32vD6TydTp67vpppvEl19+uddt11xzzdEQd68EAgERCAT2uq2qqqrL5NgXLpdLbN++/aCOkakwjiJNTU0AZGZmdrMku2V59dVXufbaa7tZmmRSpZ66U45NmzZxzTXX8O2339KjRw9A+6IZMWIETz31FH379u1ymeJ09/3p7vMfKvX19VRWVgJQXFxMTk7OAY9J5XawJ0fyvrhcLtLT0494uamE1+vFaDTS0tJCJBJh5cqV9OvXj6Kiou4W7YRFKkBHmFRxFQR49913O6y7+uqreeaZZxBCcP7553eZLHtjT7fQ0tJSJk2a1O1u8N0lBxzaS/No0d310t3nP1wOx5MrldpBe45W/2Y0GjnnnHOYMWMG5513Hqp6fFlnvPTSS1xzzTVkZ2fz4osv8vOf/5yioiK2bNnCk08+ySWXXNLdIp6QSAXoCHPWWWdx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Mffeey8/+tGPOmxrb7uxpwv0nDlzuO2223j00UcZN24cDoeDhx9+OMlW6UhyNFylhw8fztChQ3nppZc488wzWb16NR988AFw4HrZtm0bP/jBD7juuut44IEHyMzMZMGCBUyfPp1QKJRQgCwWyzFlBHw4FBcXJ3mSHYtIBShF+frrrxNfQ83NzWzYsCGhWVdUVCS5HwIdlo8kS5YsOWoxIY53rrjiClwuV6dCxEt2M2fOnL2uv/XWW7nkkku6WJqDY9u2bYm/Gxsbyc7O5vnnn2fkyJF88MEHCZd+0EY6nn32WZqamvY6CjRkyBDmzp3LlVde2WHb8OHDiUaj1NXVMXHixE7JNmLECNavX095eflBXdPChQsZP348119/fWLdnvGgjEYj0Wh0v+X079+fN954IzE6Fi/b4XBQVFR0UDIdCjNmzODxxx9n586dnH766RQXFwMHrpdvv/2WWCzGo48+mvDqevXVV4+6vJKji/QCS1H+93//l7lz5/L9999zxRVXkJ2dnRgxufHGG/nPf/7DY489xsaNG/n73//Ohx9+eNS+PHJycpKSYUqOLKFQqLtF6DI6e60mk2mfrvjdGSbhYMnIyCArK4unn36aXbt2sXXrVm699dbE9p/97Gfk5+czdepUFi5cyJYtW3jjjTf46quvALj77rv5v//7P+6++27Wrl3LqlWreOihhwAtR9xll13GtGnTePPNN9m6dSuLFy9m1qxZiZGNPbnrrrt46aWXuPfee1m9ejVr165lzpw5/OEPf9jvdfTp04elS5fy3//+lw0bNnDnnXd2+OgqKytj5cqVrF+/noaGhg4BLEHLMVdZWcmNN97IunXreOedd7j77ru59dZbu8Rd/NJLL6WqqopnnnmGq666KrH+QPVSXl5OOBzmL3/5C1u2bOGf//xnt4SnkBxZpAKUojz44IP86le/YuTIkdTU1PDee+8lAsCdfPLJPPXUUzz22GMMHTqUjz76iFtuueWQ3Q+9Xi/Tpk3DbrfTo0cPHn300aTtZWVliekeIQT33HMPJSUlmEwmCgoKuOmmm5L2ve+++/jZz36GzWajsLCQJ598cr/nnzlzJn379sVqtdKrVy/uvPPODp3n4bgCx91T33//fSoqKrBarfz4xz/G5/Px4osvUlZWRkZGBjfddFPSF+z+yo3FYpx77rmoqkpmZibZ2dnY7XbOPvtslixZwgUXXIDRaNyra3A8q/Kzzz5Lz549E/ft9ddfZ/DgwVgsFrKysjj99NPxer0JeZ599ln69++P2WymX79+/L//9/8S2+LuxnPmzGH8+PGYzWYGDRrUIWbO/lyQ33//fdLT0xN1sHz5chRF4Xe/+13i+BkzZvDzn/88sbxgwQImTpyIxWKhuLiYm266KUnmeHuYNm0aTqeTq6++er9t4XhDVVXmzJnDt99+y6BBg7jlllt4+OGHE9uNRiMff/wxubm5nHvuuQwePJgHH3wwMaU1ZcoUXnvtNd59912GDRvGqaeeyuLFixPHP//880ybNo1f//rXVFRUMHXqVJYsWZIYPd6Ts846i/fff5+PP/6Y0aNHM3bsWGbPnk1pael+r+Oaa67hRz/6EZdccgknnXQSjY2NSaNBoNnYVFRUMGrUKHJycvY6PVJYWMh//vMfFi9ezNChQ7n22muZPn36ARWwI0VaWhoXXXQRdrs9aQr+QPUydOhQHnvsMR566CEGDRrEyy+/zKxZs7pEZslRpFtNsCUdiHuBNTc3H9RxM2bM6OA50Vmuu+46UVJSIj799NOE273D4UgksSstLRWzZ88WQmieD06nU/znP/8R27dvF9988414+umnE2WVlpYKh8MhZs2aJdavXy+eeOIJodPpklxYAfHWW28llu+77z6xcOFCsXXrVvHuu++KvLw88dBDDyW2HwlXYIPBIM444wzx3Xffifnz54usrCxx5plnip/85Cdi9erV4r333hNGozHJ+25f5Y4ZM0Y4nU5xwQUXCL1eLwYMGCAURRFPPvmk6Nevn8jIyBATJkwQX3zxhTjttNOE0+kU48aNS7gG33333cJms4mzzz5bfPfdd2LFihVi165dQq/Xi8cee0xs3bpVrFy5Ujz55JOipaVFCCHEv/71L9GjRw/xxhtviC1btog33nhDZGZmihdeeEEIsdvbpqioSLz++utizZo1YsaMGcLhcIiGhgYhxIFdkF0ul1BVVSxZskQIIcTjjz8usrOzxUknnZSok/LycvHMM88IIYTYtGmTsNlsYvbs2WLDhg1i4cKFYvjw4eKKK65Iag9Op1M88sgjYtOmTWLTpk0H0TIlkiPPqaeeKm688cbuFkOSAkgFKMXorAL08MMPi+XLl4uNGzeKJ554QhgMhsSL6WBoaWkRRqMxKT5G3O1+bwrQo48+Kvr27ZuISbQnpaWl4uyzz05ad8kllyS5n+6pAO3t2kaOHJlYPhKuwEDSy/eaa64RVqs1oWAIIcRZZ50lrrnmmgOWW1JSIiZMmJBUbtxN94YbbhCA2LFjhxBCcw0+5ZRTBCAWL14shNCyKhsMBlFXV5co99tvvxWA2LZt216vs3fv3uLf//530rr77rtPjBs3TgixWwF68MEHE9vD4bAoKipKKJOdcUEeMWJEIsPz1KlTxQMPPCCMRqNoaWkRVVVVAkgoltOnTxdXX311kkxffvmlUFVV+P1+IYTWHqZOnbrXa5JIupKmpibx5ptvClVVxbp167pbHEkKIKfAjlEWL17MGWecweDBg3nqqad44oknmDFjxkGXs3nzZkKhECeddFJiXdztfm9cfPHF+P1+evXqxS9/+UveeuutpGipkOzCH1+Ou/DvjVdeeYWTTz6Z/Px87HY7f/jDH5IiqC5fvnyf0X/buwLb7fbEb/78+UlGmlarld69eyeW8/LyKCsrS/KWycvLS7ja7q9cv9+fcHWNlxt30427b8eNKwGcTifp6elJdVBaWkpOTk5ieejQoZx22mkMHjyYiy++mGeeeYbm5mZAm6LcvHkz06dPT5Ll/vvv72CI2r7u9Xo9o0aNSpz3QC7IAJMnT2bevHkIIfjyyy/50Y9+RP/+/VmwYAHz58+noKCAPn36AJpL9QsvvJAk01lnnUUsFmPr1q2Jc+wvq7RE0lUMHz6cK664goceemif/ZvkxEJ6gaUYU6ZM6VS26+7yQCguLmb9+vV8+umnfPLJJ1x//fU8/PDDzJ8//5DyBX311Vdcdtll3HvvvZx11lmkpaUxZ86cJDukI+EKfKBQBPF1cVfb/ZU7bdq0xLHx/+PHdtaQc0+vOp1OxyeffMKiRYv4+OOP+ctf/sIdd9zBN998kzBAf+aZZ5IU1fhxR5IpU6bwj3/8gxUrVmAwGOjXrx9Tpkxh3rx5NDc3M3ny5MS+ra2tXHPNNUk2YHHa26B0twfhwYZx2LZtGz179mTZsmUHHedGkrq0986TSEAaQZ/w9O7dG4PBkBTPI+52vy8sFgs//OEPeeKJJ5g3bx5fffUVq1atSmz/+uuvk/b/+uuv9xkca9GiRZSWlnLHHXcwatQo+vTpw/bt25P2ibsC7432rsDl5eVJv8NJwri/cveXjTzuyhtPgmk0GnG5XLhcrgNmWlYUhZNPPpl7772XZcuWYTQaeeutt8jLy6OgoIAtW7Z0kKVnz55JZbSv+0gkwrfffpuo+/79+/PVV18lKdh7uiBPnDiRlpYWZs+enVB24grQvHnzmDJlSuLYESNGsGbNmg4yHaiOupolS5YccePruGG9RCI5dpEjQCc4drud6dOn85vf/IasrCxyc3O544479jmS8cILLxCNRjnppJOwWq3861//wmKxJHmRLFy4kD/96U9MnTqVTz75hNdee22fbrl9+vRhx44dzJkzh9GjR/PBBx/w1ltvJe1z9913c9ppp9G7d29++tOfEolE+M9//pPwHou7Aj/66KMMHz6c+vp65s6dy5AhQzjvvPMOqV72V25jY+M+jxs6dCgAl112GY8//jg6nY6vvvqK0aNHU1ZWtlfXYIBvvvmGuXPncuaZZ5Kbm8s333xDfX19Qnm59957uemmm0hLS+Pss88mGAyydOlSmpubk9yqn3zySfr06UP//v2ZPXs2zc3NCXff66+/nscff5wbb7yRG264gfXr13dwQc7IyGDIkCG8/PLL/PWvfwVg0qRJ/OQnPyEcDieNAM2cOZOxY8dyww03MGPGDGw2G2vWrOGTTz5JHJsKtJ9qlEgkkjhyBEjCww8/zMSJE/nhD3/I6aefzoQJExg5cuRe901PT+eZZ57h5JNPZsiQIXz66ae89957SaH3f/3rX7N06VKGDx/O/fffz2OPPcZZZ5211/LOP/98brnlFm644QaGDRvGokWLuPPOO5P2OdKuwJ1lX+XuL9xA3L4mIyODSZMm8a9//YuMjAxWr169T9dg0OyEvvjiC84991z69u3LH/7wBx599FHOOeccQHM/f/bZZ3n++ecZPHgwkydP5oUXXugwAvTggw/y4IMPMnToUBYsWMC7775LdnY20HkX5MmTJxONRhOjPZmZmQwYMID8/Pwk24khQ4Ywf/58NmzYwMSJExk+fDh33XUXBQUFB1fRe3Cw7vidccVvH7V73bp1TJgwAbPZzIABA/j0009RFKVDsMotW7ZwyimnYLVaGTp0aCI2z7x587jyyitxu92J8AaHm61cIpF0A91shC05zmjvMSbpOvZMOnksczDu+J11xY+3yUgkIioqKsQZZ5whli9fLr788ksxZsyYJM/EeF3269dPvP/++2L9+vXixz/+sSgtLRXhcFgEg0Hx+OOPC6fTmch83t6bUCKRHBvIESCJRJJSpKWlMWzYsETQyXnz5nHLLbewbNkyWltb2blzJ5s2bWLy5MnMmjWLyy67jJtvvpk+ffowfvx4nnjiCV566SUCgUCHsj/55BM2b97MSy+9xNChQ5kwYUJSAsz23HbbbZx33nn07duXe++9l+3bt7Np0yaMRiNpaWkoikJ+fn7Ce1EikRxbSAVIIpGkHJ11x++sK36c9evXU1xcnGQgP2bMmL3K0D6rd48ePQAOOyO5RCJJHaQRtOSIIl1Nu4eysrJOhU84VuisO35nXfEPhfZhEuK2XYebkVwikaQOUgGSSCQpx77c8R988EGam5v59a9/DSS74neGiooKKisrqa2tJS8vD6BDUs/O0JnM5xKJJLWRU2ASiSTlaO+OH/dGmzRpEt999x0bNmxIKEUzZ85k0aJF3HDDDSxfvpyNGzfyzjvvcMMNN+y13DPOOIPevXvzi1/8gpUrV7Jw4cKEF1z7CNkHoqysjNbWVubOnUtDQwM+n+/wLlgikXQ5UgGSSCQpSWfc8Q/WFV+n0/H222/T2trK6NGjmTFjBnfccQfAfsMb7Mn48eO59tprueSSS8jJyeFPf/rT4V2sRCLpchRxPBkOSCQSyUGycOFCJkyYwKZNm5LyxUkkkuMbqQBJJJITirfeegu73U6fPn3YtGkTv/rVr8jIyGDBggXdLZpEIulCpBG0RCI5oWhpaWHmzJns2LGD7OxsTj/99KTkuxKJ5MRAjgBJJBKJRCI54ZBG0BKJRCKRSE44pAIkkUgkEonkhEMqQBKJRCKRSE44pAIkkUgkEonkhEMqQBKJRCKRSE44pAIkkUgkEonkhEMqQBKJRCKRSE44pAIkkUgkEonkhEMqQBKJRCKRSE44/j9YgLWKij+lEQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "pd.plotting.scatter_matrix(Auto);\n" + "metadata": {}, + "outputs": [], + "source": [ + "pd.plotting.scatter_matrix(Auto);" ] }, { @@ -8096,33 +2705,14 @@ }, { "cell_type": "code", - "execution_count": 112, + "execution_count": null, "id": "6bbeca8b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:09.327848Z", - "iopub.status.busy": "2023-07-25T23:59:09.327740Z", - "iopub.status.idle": "2023-07-25T23:59:09.583864Z", - "shell.execute_reply": "2023-07-25T23:59:09.583496Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "pd.plotting.scatter_matrix(Auto[['mpg',\n", " 'displacement',\n", - " 'weight']]);\n" + " 'weight']]);" ] }, { @@ -8135,107 +2725,12 @@ }, { "cell_type": "code", - "execution_count": 113, + "execution_count": null, "id": "1727f604", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:09.585956Z", - "iopub.status.busy": "2023-07-25T23:59:09.585816Z", - "iopub.status.idle": "2023-07-25T23:59:09.592076Z", - "shell.execute_reply": "2023-07-25T23:59:09.591716Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mpgweight
count392.000000392.000000
mean23.4459182977.584184
std7.805007849.402560
min9.0000001613.000000
25%17.0000002225.250000
50%22.7500002803.500000
75%29.0000003614.750000
max46.6000005140.000000
\n", - "
" - ], - "text/plain": [ - " mpg weight\n", - "count 392.000000 392.000000\n", - "mean 23.445918 2977.584184\n", - "std 7.805007 849.402560\n", - "min 9.000000 1613.000000\n", - "25% 17.000000 2225.250000\n", - "50% 22.750000 2803.500000\n", - "75% 29.000000 3614.750000\n", - "max 46.600000 5140.000000" - ] - }, - "execution_count": 113, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Auto[['mpg', 'weight']].describe()\n" + "metadata": {}, + "outputs": [], + "source": [ + "Auto[['mpg', 'weight']].describe()" ] }, { @@ -8248,40 +2743,13 @@ }, { "cell_type": "code", - "execution_count": 114, + "execution_count": null, "id": "39bf4091", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:09.593932Z", - "iopub.status.busy": "2023-07-25T23:59:09.593794Z", - "iopub.status.idle": "2023-07-25T23:59:09.598241Z", - "shell.execute_reply": "2023-07-25T23:59:09.597941Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "count 392.000000\n", - "mean 23.445918\n", - "std 7.805007\n", - "min 9.000000\n", - "25% 17.000000\n", - "50% 22.750000\n", - "75% 29.000000\n", - "max 46.600000\n", - "Name: mpg, dtype: float64" - ] - }, - "execution_count": 114, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Auto['cylinders'].describe()\n", - "Auto['mpg'].describe()\n" + "Auto['mpg'].describe()" ] }, { @@ -8294,22 +2762,13 @@ } ], "metadata": { + "execution": { + "allow_errors": true + }, "jupytext": { "cell_metadata_filter": "-all", - "formats": "ipynb,Rmd", + "formats": "ipynb,md:myst", "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch3-linreg-lab.ipynb b/docs/source/labs/Ch3-linreg-lab.ipynb index 8cf09d3..ab4e953 100644 --- a/docs/source/labs/Ch3-linreg-lab.ipynb +++ b/docs/source/labs/Ch3-linreg-lab.ipynb @@ -2,20 +2,17 @@ "cells": [ { "cell_type": "markdown", - "id": "3b9db985", - "metadata": {}, - "source": [ - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "4d8e6029", + "id": "82bce88a", "metadata": {}, "source": [ "# Linear Regression\n", "\n", + "\n", + " \"Open\n", + "\n", + "\n", + "\n", + "\n", "## Importing packages\n", "We import our standard libraries at this top\n", "level." @@ -23,22 +20,14 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "ca5277a6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:10.810120Z", - "iopub.status.busy": "2023-07-25T23:59:10.809784Z", - "iopub.status.idle": "2023-07-25T23:59:11.236722Z", - "shell.execute_reply": "2023-07-25T23:59:11.236402Z" - }, - "lines_to_next_cell": 2 - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", - "from matplotlib.pyplot import subplots\n" + "from matplotlib.pyplot import subplots" ] }, { @@ -56,20 +45,12 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "675f24e6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.238770Z", - "iopub.status.busy": "2023-07-25T23:59:11.238614Z", - "iopub.status.idle": "2023-07-25T23:59:11.732369Z", - "shell.execute_reply": "2023-07-25T23:59:11.731999Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ - "import statsmodels.api as sm\n" + "import statsmodels.api as sm" ] }, { @@ -89,21 +70,14 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "a0ee23c2", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.734483Z", - "iopub.status.busy": "2023-07-25T23:59:11.734356Z", - "iopub.status.idle": "2023-07-25T23:59:11.737321Z", - "shell.execute_reply": "2023-07-25T23:59:11.737059Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from statsmodels.stats.outliers_influence \\\n", " import variance_inflation_factor as VIF\n", - "from statsmodels.stats.anova import anova_lm\n" + "from statsmodels.stats.anova import anova_lm" ] }, { @@ -120,22 +94,15 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "b35eb887", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.738949Z", - "iopub.status.busy": "2023-07-25T23:59:11.738837Z", - "iopub.status.idle": "2023-07-25T23:59:11.834618Z", - "shell.execute_reply": "2023-07-25T23:59:11.834237Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from ISLP import load_data\n", "from ISLP.models import (ModelSpec as MS,\n", " summarize,\n", - " poly)\n" + " poly)" ] }, { @@ -152,67 +119,12 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "961908f7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.836672Z", - "iopub.status.busy": "2023-07-25T23:59:11.836534Z", - "iopub.status.idle": "2023-07-25T23:59:11.839996Z", - "shell.execute_reply": "2023-07-25T23:59:11.839716Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "['In',\n", - " 'MS',\n", - " 'Out',\n", - " 'VIF',\n", - " '_',\n", - " '__',\n", - " '___',\n", - " '__builtin__',\n", - " '__builtins__',\n", - " '__doc__',\n", - " '__loader__',\n", - " '__name__',\n", - " '__package__',\n", - " '__spec__',\n", - " '_dh',\n", - " '_i',\n", - " '_i1',\n", - " '_i2',\n", - " '_i3',\n", - " '_i4',\n", - " '_i5',\n", - " '_ih',\n", - " '_ii',\n", - " '_iii',\n", - " '_oh',\n", - " 'anova_lm',\n", - " 'exit',\n", - " 'get_ipython',\n", - " 'load_data',\n", - " 'np',\n", - " 'open',\n", - " 'pd',\n", - " 'poly',\n", - " 'quit',\n", - " 'sm',\n", - " 'subplots',\n", - " 'summarize']" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dir()\n" + "metadata": {}, + "outputs": [], + "source": [ + "dir()" ] }, { @@ -233,193 +145,13 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "662caa15", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.841679Z", - "iopub.status.busy": "2023-07-25T23:59:11.841579Z", - "iopub.status.idle": "2023-07-25T23:59:11.844762Z", - "shell.execute_reply": "2023-07-25T23:59:11.844485Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "['T',\n", - " '__abs__',\n", - " '__add__',\n", - " '__and__',\n", - " '__array__',\n", - " '__array_finalize__',\n", - " '__array_function__',\n", - " '__array_interface__',\n", - " '__array_prepare__',\n", - " '__array_priority__',\n", - " '__array_struct__',\n", - " '__array_ufunc__',\n", - " '__array_wrap__',\n", - " '__bool__',\n", - " '__class__',\n", - " '__complex__',\n", - " '__contains__',\n", - " '__copy__',\n", - " '__deepcopy__',\n", - " '__delattr__',\n", - " '__delitem__',\n", - " '__dir__',\n", - " '__divmod__',\n", - " '__doc__',\n", - " '__eq__',\n", - " '__float__',\n", - " '__floordiv__',\n", - " '__format__',\n", - " '__ge__',\n", - " '__getattribute__',\n", - " '__getitem__',\n", - " '__gt__',\n", - " '__hash__',\n", - " '__iadd__',\n", - " '__iand__',\n", - " '__ifloordiv__',\n", - " '__ilshift__',\n", - " '__imatmul__',\n", - " '__imod__',\n", - " '__imul__',\n", - " '__index__',\n", - " '__init__',\n", - " '__init_subclass__',\n", - " '__int__',\n", - " '__invert__',\n", - " '__ior__',\n", - " '__ipow__',\n", - " '__irshift__',\n", - " '__isub__',\n", - " '__iter__',\n", - " '__itruediv__',\n", - " '__ixor__',\n", - " '__le__',\n", - " '__len__',\n", - " '__lshift__',\n", - " '__lt__',\n", - " '__matmul__',\n", - " '__mod__',\n", - " '__mul__',\n", - " '__ne__',\n", - " '__neg__',\n", - " '__new__',\n", - " '__or__',\n", - " '__pos__',\n", - " '__pow__',\n", - " '__radd__',\n", - " '__rand__',\n", - " '__rdivmod__',\n", - " '__reduce__',\n", - " '__reduce_ex__',\n", - " '__repr__',\n", - " '__rfloordiv__',\n", - " '__rlshift__',\n", - " '__rmatmul__',\n", - " '__rmod__',\n", - " '__rmul__',\n", - " '__ror__',\n", - " '__rpow__',\n", - " '__rrshift__',\n", - " '__rshift__',\n", - " '__rsub__',\n", - " '__rtruediv__',\n", - " '__rxor__',\n", - " '__setattr__',\n", - " '__setitem__',\n", - " '__setstate__',\n", - " '__sizeof__',\n", - " '__str__',\n", - " '__sub__',\n", - " '__subclasshook__',\n", - " '__truediv__',\n", - " '__xor__',\n", - " 'all',\n", - " 'any',\n", - " 'argmax',\n", - " 'argmin',\n", - " 'argpartition',\n", - " 'argsort',\n", - " 'astype',\n", - " 'base',\n", - " 'byteswap',\n", - " 'choose',\n", - " 'clip',\n", - " 'compress',\n", - " 'conj',\n", - " 'conjugate',\n", - " 'copy',\n", - " 'ctypes',\n", - " 'cumprod',\n", - " 'cumsum',\n", - " 'data',\n", - " 'diagonal',\n", - " 'dot',\n", - " 'dtype',\n", - " 'dump',\n", - " 'dumps',\n", - " 'fill',\n", - " 'flags',\n", - " 'flat',\n", - " 'flatten',\n", - " 'getfield',\n", - " 'imag',\n", - " 'item',\n", - " 'itemset',\n", - " 'itemsize',\n", - " 'max',\n", - " 'mean',\n", - " 'min',\n", - " 'nbytes',\n", - " 'ndim',\n", - " 'newbyteorder',\n", - " 'nonzero',\n", - " 'partition',\n", - " 'prod',\n", - " 'ptp',\n", - " 'put',\n", - " 'ravel',\n", - " 'real',\n", - " 'repeat',\n", - " 'reshape',\n", - " 'resize',\n", - " 'round',\n", - " 'searchsorted',\n", - " 'setfield',\n", - " 'setflags',\n", - " 'shape',\n", - " 'size',\n", - " 'sort',\n", - " 'squeeze',\n", - " 'std',\n", - " 'strides',\n", - " 'sum',\n", - " 'swapaxes',\n", - " 'take',\n", - " 'tobytes',\n", - " 'tofile',\n", - " 'tolist',\n", - " 'tostring',\n", - " 'trace',\n", - " 'transpose',\n", - " 'var',\n", - " 'view']" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "A = np.array([3,5,11])\n", - "dir(A)\n" + "dir(A)" ] }, { @@ -433,39 +165,12 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "ebb7d126", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.846444Z", - "iopub.status.busy": "2023-07-25T23:59:11.846317Z", - "iopub.status.idle": "2023-07-25T23:59:11.848529Z", - "shell.execute_reply": "2023-07-25T23:59:11.848281Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "19" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "A.sum()\n" - ] - }, - { - "cell_type": "markdown", - "id": "2e42056b", "metadata": {}, + "outputs": [], "source": [ - " " + "A.sum()" ] }, { @@ -491,33 +196,13 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "1ea46cee", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.850247Z", - "iopub.status.busy": "2023-07-25T23:59:11.850129Z", - "iopub.status.idle": "2023-07-25T23:59:11.854617Z", - "shell.execute_reply": "2023-07-25T23:59:11.854342Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['crim', 'zn', 'indus', 'chas', 'nox', 'rm', 'age', 'dis', 'rad', 'tax',\n", - " 'ptratio', 'lstat', 'medv'],\n", - " dtype='object')" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Boston = load_data(\"Boston\")\n", - "Boston.columns\n" + "Boston.columns" ] }, { @@ -530,89 +215,19 @@ "We start by using the `sm.OLS()` function to fit a\n", "simple linear regression model. Our response will be\n", " `medv` and `lstat` will be the single predictor.\n", - "For this model, we can create the model matrix by hand.\n" + "For this model, we can create the model matrix by hand." ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "26c0ba88", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.856310Z", - "iopub.status.busy": "2023-07-25T23:59:11.856187Z", - "iopub.status.idle": "2023-07-25T23:59:11.861185Z", - "shell.execute_reply": "2023-07-25T23:59:11.860911Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
interceptlstat
01.04.98
11.09.14
21.04.03
31.02.94
\n", - "
" - ], - "text/plain": [ - " intercept lstat\n", - "0 1.0 4.98\n", - "1 1.0 9.14\n", - "2 1.0 4.03\n", - "3 1.0 2.94" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "X = pd.DataFrame({'intercept': np.ones(Boston.shape[0]),\n", " 'lstat': Boston['lstat']})\n", - "X[:4]\n" + "X[:4]" ] }, { @@ -625,22 +240,14 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "d4dd511b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.862908Z", - "iopub.status.busy": "2023-07-25T23:59:11.862784Z", - "iopub.status.idle": "2023-07-25T23:59:11.865072Z", - "shell.execute_reply": "2023-07-25T23:59:11.864814Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "y = Boston['medv']\n", "model = sm.OLS(y, X)\n", - "results = model.fit()\n" + "results = model.fit()" ] }, { @@ -660,77 +267,12 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "eef9f8e3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.866712Z", - "iopub.status.busy": "2023-07-25T23:59:11.866592Z", - "iopub.status.idle": "2023-07-25T23:59:11.927918Z", - "shell.execute_reply": "2023-07-25T23:59:11.927626Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefstd errtP>|t|
intercept34.55380.56361.4150.0
lstat-0.95000.039-24.5280.0
\n", - "
" - ], - "text/plain": [ - " coef std err t P>|t|\n", - "intercept 34.5538 0.563 61.415 0.0\n", - "lstat -0.9500 0.039 -24.528 0.0" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "summarize(results)\n" + "metadata": {}, + "outputs": [], + "source": [ + "summarize(results)" ] }, { @@ -766,86 +308,15 @@ "initial computations on it, as specified in the transform object.\n", "For example, it may compute means and standard deviations for centering and scaling.\n", "The `transform()` \n", - "method applies the fitted transformation to the array of data, and produces the model matrix.\n" + "method applies the fitted transformation to the array of data, and produces the model matrix." ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "557170d4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.929771Z", - "iopub.status.busy": "2023-07-25T23:59:11.929535Z", - "iopub.status.idle": "2023-07-25T23:59:11.934614Z", - "shell.execute_reply": "2023-07-25T23:59:11.934319Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
interceptlstat
01.04.98
11.09.14
21.04.03
31.02.94
\n", - "
" - ], - "text/plain": [ - " intercept lstat\n", - "0 1.0 4.98\n", - "1 1.0 9.14\n", - "2 1.0 4.03\n", - "3 1.0 2.94" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "design = MS(['lstat'])\n", "design = design.fit(Boston)\n", @@ -866,81 +337,10 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "b83ec097", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.936370Z", - "iopub.status.busy": "2023-07-25T23:59:11.936239Z", - "iopub.status.idle": "2023-07-25T23:59:11.940808Z", - "shell.execute_reply": "2023-07-25T23:59:11.940513Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
interceptlstat
01.04.98
11.09.14
21.04.03
31.02.94
\n", - "
" - ], - "text/plain": [ - " intercept lstat\n", - "0 1.0 4.98\n", - "1 1.0 9.14\n", - "2 1.0 4.03\n", - "3 1.0 2.94" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "design = MS(['lstat'])\n", "X = design.fit_transform(Boston)\n", @@ -970,114 +370,12 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "d4dce5f6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.942515Z", - "iopub.status.busy": "2023-07-25T23:59:11.942389Z", - "iopub.status.idle": "2023-07-25T23:59:11.949777Z", - "shell.execute_reply": "2023-07-25T23:59:11.949483Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
OLS Regression Results
Dep. Variable: medv R-squared: 0.544
Model: OLS Adj. R-squared: 0.543
Method: Least Squares F-statistic: 601.6
Date: Tue, 25 Jul 2023 Prob (F-statistic): 5.08e-88
Time: 16:59:11 Log-Likelihood: -1641.5
No. Observations: 506 AIC: 3287.
Df Residuals: 504 BIC: 3295.
Df Model: 1
Covariance Type: nonrobust
\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
coef std err t P>|t| [0.025 0.975]
intercept 34.5538 0.563 61.415 0.000 33.448 35.659
lstat -0.9500 0.039 -24.528 0.000 -1.026 -0.874
\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
Omnibus: 137.043 Durbin-Watson: 0.892
Prob(Omnibus): 0.000 Jarque-Bera (JB): 291.373
Skew: 1.453 Prob(JB): 5.36e-64
Kurtosis: 5.319 Cond. No. 29.7


Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified." - ], - "text/plain": [ - "\n", - "\"\"\"\n", - " OLS Regression Results \n", - "==============================================================================\n", - "Dep. Variable: medv R-squared: 0.544\n", - "Model: OLS Adj. R-squared: 0.543\n", - "Method: Least Squares F-statistic: 601.6\n", - "Date: Tue, 25 Jul 2023 Prob (F-statistic): 5.08e-88\n", - "Time: 16:59:11 Log-Likelihood: -1641.5\n", - "No. Observations: 506 AIC: 3287.\n", - "Df Residuals: 504 BIC: 3295.\n", - "Df Model: 1 \n", - "Covariance Type: nonrobust \n", - "==============================================================================\n", - " coef std err t P>|t| [0.025 0.975]\n", - "------------------------------------------------------------------------------\n", - "intercept 34.5538 0.563 61.415 0.000 33.448 35.659\n", - "lstat -0.9500 0.039 -24.528 0.000 -1.026 -0.874\n", - "==============================================================================\n", - "Omnibus: 137.043 Durbin-Watson: 0.892\n", - "Prob(Omnibus): 0.000 Jarque-Bera (JB): 291.373\n", - "Skew: 1.453 Prob(JB): 5.36e-64\n", - "Kurtosis: 5.319 Cond. No. 29.7\n", - "==============================================================================\n", - "\n", - "Notes:\n", - "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", - "\"\"\"" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "results.summary()\n" + "metadata": {}, + "outputs": [], + "source": [ + "results.summary()" ] }, { @@ -1091,33 +389,12 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "a0edf555", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.951447Z", - "iopub.status.busy": "2023-07-25T23:59:11.951309Z", - "iopub.status.idle": "2023-07-25T23:59:11.954106Z", - "shell.execute_reply": "2023-07-25T23:59:11.953845Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 34.553841\n", - "lstat -0.950049\n", - "dtype: float64" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "results.params\n" + "metadata": {}, + "outputs": [], + "source": [ + "results.params" ] }, { @@ -1134,78 +411,14 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "fdc5a3f3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.955744Z", - "iopub.status.busy": "2023-07-25T23:59:11.955619Z", - "iopub.status.idle": "2023-07-25T23:59:11.959606Z", - "shell.execute_reply": "2023-07-25T23:59:11.959329Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
interceptlstat
01.05
11.010
21.015
\n", - "
" - ], - "text/plain": [ - " intercept lstat\n", - "0 1.0 5\n", - "1 1.0 10\n", - "2 1.0 15" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "new_df = pd.DataFrame({'lstat':[5, 10, 15]})\n", "newX = design.transform(new_df)\n", - "newX\n" + "newX" ] }, { @@ -1218,32 +431,13 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "2c6acbf0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.961253Z", - "iopub.status.busy": "2023-07-25T23:59:11.961159Z", - "iopub.status.idle": "2023-07-25T23:59:11.963720Z", - "shell.execute_reply": "2023-07-25T23:59:11.963431Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([29.80359411, 25.05334734, 20.30310057])" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "new_predictions = results.get_prediction(newX);\n", - "new_predictions.predicted_mean\n" + "new_predictions.predicted_mean" ] }, { @@ -1256,33 +450,12 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "c472ef33", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.965332Z", - "iopub.status.busy": "2023-07-25T23:59:11.965233Z", - "iopub.status.idle": "2023-07-25T23:59:11.967788Z", - "shell.execute_reply": "2023-07-25T23:59:11.967530Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[29.00741194, 30.59977628],\n", - " [24.47413202, 25.63256267],\n", - " [19.73158815, 20.87461299]])" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "new_predictions.conf_int(alpha=0.05)\n" + "metadata": {}, + "outputs": [], + "source": [ + "new_predictions.conf_int(alpha=0.05)" ] }, { @@ -1295,33 +468,12 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "3e2ffc7a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.969435Z", - "iopub.status.busy": "2023-07-25T23:59:11.969317Z", - "iopub.status.idle": "2023-07-25T23:59:11.971777Z", - "shell.execute_reply": "2023-07-25T23:59:11.971501Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[17.56567478, 42.04151344],\n", - " [12.82762635, 37.27906833],\n", - " [ 8.0777421 , 32.52845905]])" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "new_predictions.conf_int(obs=True, alpha=0.05)\n" + "metadata": {}, + "outputs": [], + "source": [ + "new_predictions.conf_int(obs=True, alpha=0.05)" ] }, { @@ -1355,24 +507,16 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "4e56a1d3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.973521Z", - "iopub.status.busy": "2023-07-25T23:59:11.973393Z", - "iopub.status.idle": "2023-07-25T23:59:11.975425Z", - "shell.execute_reply": "2023-07-25T23:59:11.975172Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "def abline(ax, b, m):\n", " \"Add a line with slope m and intercept b to ax\"\n", " xlim = ax.get_xlim()\n", " ylim = [m * xlim[0] + b, m * xlim[1] + b]\n", - " ax.plot(xlim, ylim)\n" + " ax.plot(xlim, ylim)" ] }, { @@ -1389,24 +533,16 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "7f43ffe7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.977054Z", - "iopub.status.busy": "2023-07-25T23:59:11.976936Z", - "iopub.status.idle": "2023-07-25T23:59:11.979018Z", - "shell.execute_reply": "2023-07-25T23:59:11.978751Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "def abline(ax, b, m, *args, **kwargs):\n", " \"Add a line with slope m and intercept b to ax\"\n", " xlim = ax.get_xlim()\n", " ylim = [m * xlim[0] + b, m * xlim[1] + b]\n", - " ax.plot(xlim, ylim, *args, **kwargs)\n" + " ax.plot(xlim, ylim, *args, **kwargs)" ] }, { @@ -1429,44 +565,17 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "3f7b67c9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:11.980623Z", - "iopub.status.busy": "2023-07-25T23:59:11.980502Z", - "iopub.status.idle": "2023-07-25T23:59:12.080197Z", - "shell.execute_reply": "2023-07-25T23:59:12.079809Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pandas/plotting/_matplotlib/core.py:1114: UserWarning: No data for colormapping provided via 'c'. Parameters 'cmap' will be ignored\n", - " scatter = ax.scatter(\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "ax = Boston.plot.scatter('lstat', 'medv')\n", "abline(ax,\n", " results.params[0],\n", " results.params[1],\n", " 'r--',\n", - " linewidth=3)\n" + " linewidth=3)" ] }, { @@ -1479,8 +588,7 @@ "an argument to make it of width 3.\n", "There is some evidence for non-linearity in the relationship between `lstat` and `medv`. We will explore this issue later in this lab.\n", "\n", - "As mentioned above, there is an existing function to add a line to a plot --- `ax.axline()` --- but knowing how to write such functions empowers us to create more expressive displays.\n", - "\n" + "As mentioned above, there is an existing function to add a line to a plot --- `ax.axline()` --- but knowing how to write such functions empowers us to create more expressive displays." ] }, { @@ -1501,35 +609,16 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "b35a2fd3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:12.082076Z", - "iopub.status.busy": "2023-07-25T23:59:12.081936Z", - "iopub.status.idle": "2023-07-25T23:59:12.186713Z", - "shell.execute_reply": "2023-07-25T23:59:12.186372Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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FMzUHN27774bM2bMiLrNgAEDhJ7L4/Fgy5YtIY/t378/8DslGRkZyMjIEHoNIiJKLnLgFV5Ky5OkdXT1LN2mJN5JhETBTA10u3fvju7du+vyXKWlpfjlL3+JAwcOoEePHgCAdevWIS8vD8XFxbq8BhERJR8GXqESEfzHM4mQKJhtqi7s2bMHDQ0N2LNnD3w+HyorKwEAgwYNQufOnXHZZZehuLgY//u//4vHHnsMdXV1eOCBBzBr1iz22BIRUVwYeIVi8E924ZIkyRaVrmfMmIE///nPHR7fuHEjLr74YgDAV199hdtuuw1vvfUWcnJycMMNN+CRRx5Bp07i8XxjYyPcbje8Xi/y8vL0aj4RERER6UQ0XrNNoJsoDHSJiIiIrE00XnNMeTEiIiIiomAMdImIiIjIkRjoEhEREZEjMdAlIiIiIkdioEtEREREjsRAl4iIiIgciYEuERERETkSA10iIiIiciQGukRERETkSAx0iYiIiMiRGOgSERERkSMx0CUiIiIiR2KgS0RERESOxECXiIiIiByJgS4RERERORIDXSIiIiJyJAa6RERERORIDHSJiIiIyJEY6BIRERGRIzHQJSIiIiJHYqBLRERERI7EQJeIiIiIHImBLhERERE5EgNdIiIiInIkBrpERERE5EgMdImIiIjIkRjoEhEREZEjMdAlIiIiIkdioEtEREREjsRAl4iIiIgciYEuERERETkSA10iIiIiciQGukRERETkSAx0iYiIiMiRGOgSERERkSMx0CUiIiIiR2KgS0RERESOxECXiIiIiByJgS4RERERORIDXSIiIiJyJAa6RERERORIDHSJiIiIyJEY6BIRERGRIzHQJSIiIiJHYqBLRERERI7EQJeIiIiIHImBLhERERE5EgNdIiIiInIkBrpERERE5EgMdImIiIjIkRjoEhEREZEjMdAlIiIiIkdioEtEREREjsRAl4iIiIgciYEuERERETkSA10iIiIiciQGukRERETkSAx0iYiIiMiRGOgSERERkSPZJtD95S9/ifPOOw/Z2dnIz8+PuI3L5erwb/Xq1YltKBERERFZQiezGyCqtbUVP/jBD1BaWoo//elPitstX74cZWVlgZ+VgmIiIiIicjbbBLqLFi0CADz//PNRt8vPz4fH40lAi4iIiMgKfH4JW2oacOBIM3rkZmJkUQFSU1xmN4sswDaBrqhZs2bh5ptvxoABA3DrrbfixhtvhMulfLC3tLSgpaUl8HNjY2MimklEREQ6KK+qxaLXt6PW2xx4rNCdiQWTi1FWUmhiy8gKbJOjK+IXv/gF/v73v2PdunW4+uqrcfvtt+N3v/td1L9ZsmQJ3G534F+fPn0S1FoiIiKKR3lVLW5bsS0kyAWAOm8zbluxDeVVtSa1jKzC1ED3/vvvjziBLPjfZ599Jvx88+fPx5gxY3DWWWdh7ty5uO+++/CrX/0q6t/MmzcPXq838O/rr7+O920RERGRwXx+CYte3w4pwu/kxxa9vh0+f6QtKFmYmrpw9913Y8aMGVG3GTBggObnHzVqFBYvXoyWlhZkZGRE3CYjI0Pxd0RERGRNW2oaOvTkBpMA1HqbsaWmAaUDuyauYWQppga63bt3R/fu3Q17/srKSnTp0oWBLBERkcMcOKIc5GrZjpzJNpPR9uzZg4aGBuzZswc+nw+VlZUAgEGDBqFz5854/fXXsX//fowePRqZmZlYt24dHn74Ydxzzz3mNpyIiIh01yM3U9ftyJlsE+g++OCD+POf/xz4+ayzzgIAbNy4ERdffDHS0tKwdOlSzJkzB5IkYdCgQfjNb36DmTNnmtVkIiIiMsjIogIUujNR522OmKfrAuBxt5cao+TlkiSJWdpBGhsb4Xa74fV6kZeXZ3ZziIiISIFcdQFASLArFxV9+roRLDHmUKLxmqPKixEREVHyKCspxNPXjYDHHZqe4HFnMsglADZKXSAiIiIKV1ZSiPHFHq6MRhEx0CUiIiJbS01xsYQYRcTUBSIiIiJyJAa6RERERORIDHSJiIiIyJEY6BIRERGRIzHQJSIiIiJHYqBLRERERI7EQJeIiIiIHImBLhERERE5EgNdIiIiInIkBrpERERE5EgMdImIiIjIkRjoEhEREZEjMdAlIiIiIkdioEtEREREjsRAl4iIiIgciYEuERERETkSA10iIiIiciQGukRERETkSAx0iYiIiMiRGOgSERERkSN1MrsBViNJEgCgsbHR5JYQERERUSRynCbHbUoY6IY5cuQIAKBPnz4mt4SIiIiIojly5Ajcbrfi711SrFA4yfj9fuzbtw+5ublwuVxmN0cXjY2N6NOnD77++mvk5eWZ3Rxb4j7UB/ejPrgf9cH9qA/uR31wP6ojSRKOHDmCXr16ISVFOROXPbphUlJScMopp5jdDEPk5eXx5IkT96E+uB/1wf2oD+5HfXA/6oP7UVy0nlwZJ6MRERERkSMx0CUiIiIiR2KgmwQyMjKwYMECZGRkmN0U2+I+1Af3oz64H/XB/agP7kd9cD8ag5PRiIiIiMiR2KNLRERERI7EQJeIiIiIHImBLhERERE5EgNdIiIiInIkBroOt3TpUvTv3x+ZmZkYNWoUtmzZYnaTbGXhwoVwuVwh/8444wyzm2V577zzDiZPnoxevXrB5XLh1VdfDfm9JEl48MEHUVhYiKysLIwbNw47d+40p7EWFms/zpgxo8PxWVZWZk5jLWrJkiU499xzkZubix49emDq1Kn4/PPPQ7Zpbm7GrFmz0LVrV3Tu3BlXX3019u/fb1KLrUlkP1588cUdjsdbb73VpBZb09NPP42hQ4cGFoUoLS3Fv/71r8DveSzqj4Gug/3tb3/DXXfdhQULFmDbtm0YNmwYLr/8chw4cMDsptnKmWeeidra2sC/TZs2md0ky2tqasKwYcOwdOnSiL9/7LHH8Nvf/hbPPPMM3n//feTk5ODyyy9Hc3NzgltqbbH2IwCUlZWFHJ+rVq1KYAut7+2338asWbOwefNmrFu3Dm1tbbjsssvQ1NQU2GbOnDl4/fXX8eKLL+Ltt9/Gvn37cNVVV5nYausR2Y8AMHPmzJDj8bHHHjOpxdZ0yimn4JFHHsHWrVvxwQcfYOzYsZgyZQo+/fRTADwWDSGRY40cOVKaNWtW4Gefzyf16tVLWrJkiYmtspcFCxZIw4YNM7sZtgZAeuWVVwI/+/1+yePxSL/61a8Cjx0+fFjKyMiQVq1aZUIL7SF8P0qSJN1www3SlClTTGmPXR04cEACIL399tuSJLUfe2lpadKLL74Y2GbHjh0SAKmiosKsZlpe+H6UJEm66KKLpDvuuMO8RtlUly5dpD/+8Y88Fg3CHl2Ham1txdatWzFu3LjAYykpKRg3bhwqKipMbJn97Ny5E7169cKAAQNw7bXXYs+ePWY3ydZqampQV1cXcmy63W6MGjWKx6YGb731Fnr06IHTTz8dt912G+rr681ukqV5vV4AQEFBAQBg69ataGtrCzkezzjjDPTt25fHYxTh+1H2wgsvoFu3bigpKcG8efNw7NgxM5pnCz6fD6tXr0ZTUxNKS0t5LBqkk9kNIGMcPHgQPp8PPXv2DHm8Z8+e+Oyzz0xqlf2MGjUKzz//PE4//XTU1tZi0aJFuOCCC1BVVYXc3Fyzm2dLdXV1ABDx2JR/R2LKyspw1VVXoaioCNXV1fjZz36GCRMmoKKiAqmpqWY3z3L8fj/uvPNOjBkzBiUlJQDaj8f09HTk5+eHbMvjUVmk/QgA11xzDfr164devXrh448/xty5c/H555/j5ZdfNrG11vPJJ5+gtLQUzc3N6Ny5M1555RUUFxejsrKSx6IBGOgSRTFhwoTA/4cOHYpRo0ahX79++Pvf/46bbrrJxJYRAdOmTQv8f8iQIRg6dCgGDhyIt956C5deeqmJLbOmWbNmoaqqinn2cVLaj7fcckvg/0OGDEFhYSEuvfRSVFdXY+DAgYlupmWdfvrpqKyshNfrxT/+8Q/ccMMNePvtt81ulmMxdcGhunXrhtTU1A6zNffv3w+Px2NSq+wvPz8fp512Gnbt2mV2U2xLPv54bOpvwIAB6NatG4/PCGbPno033ngDGzduxCmnnBJ43OPxoLW1FYcPHw7ZnsdjZEr7MZJRo0YBAI/HMOnp6Rg0aBDOPvtsLFmyBMOGDcOTTz7JY9EgDHQdKj09HWeffTbefPPNwGN+vx9vvvkmSktLTWyZvR09ehTV1dUoLCw0uym2VVRUBI/HE3JsNjY24v333+exGadvvvkG9fX1PD6DSJKE2bNn45VXXsGGDRtQVFQU8vuzzz4baWlpIcfj559/jj179vB4DBJrP0ZSWVkJADweY/D7/WhpaeGxaBCmLjjYXXfdhRtuuAHnnHMORo4ciSeeeAJNTU248cYbzW6abdxzzz2YPHky+vXrh3379mHBggVITU3F9OnTzW6apR09ejSkF6empgaVlZUoKChA3759ceedd+Khhx7CqaeeiqKiIsyfPx+9evXC1KlTzWu0BUXbjwUFBVi0aBGuvvpqeDweVFdX47777sOgQYNw+eWXm9hqa5k1axZWrlyJNWvWIDc3N5Dr6Ha7kZWVBbfbjZtuugl33XUXCgoKkJeXh5/85CcoLS3F6NGjTW69dcTaj9XV1Vi5ciUmTpyIrl274uOPP8acOXNw4YUXYujQoSa33jrmzZuHCRMmoG/fvjhy5AhWrlyJt956C//v//0/HotGMbvsAxnrd7/7ndS3b18pPT1dGjlypLR582azm2QrP/zhD6XCwkIpPT1d6t27t/TDH/5Q2rVrl9nNsryNGzdKADr8u+GGGyRJai8xNn/+fKlnz55SRkaGdOmll0qff/65uY22oGj78dixY9Jll10mde/eXUpLS5P69esnzZw5U6qrqzO72ZYSaf8BkJYvXx7Y5vjx49Ltt98udenSRcrOzpauvPJKqba21rxGW1Cs/bhnzx7pwgsvlAoKCqSMjAxp0KBB0r333it5vV5zG24xP/rRj6R+/fpJ6enpUvfu3aVLL71U+ve//x34PY9F/bkkSZISGVgTERERESUCc3SJiIiIyJEY6BIRERGRIzHQJSIiIiJHYqBLRERERI7EQJeIiIiIHImBLhERERE5EgNdIiIiInIkBrpERAa7+OKLceeddybs9Z5//nnk5+cb+hpvvfUWXC4XDh8+bOjrEBHFg4EuEZEOZsyYAZfL1eHfrl278PLLL2Px4sWBbfv3748nnngi5O8TEZwSESWbTmY3gIjIKcrKyrB8+fKQx7p3747U1FSTWkRElNzYo0tEpJOMjAx4PJ6Qf6mpqSGpCxdffDG++uorzJkzJ9Dr+9Zbb+HGG2+E1+sNPLZw4UIAQEtLC+655x707t0bOTk5GDVqFN56662Q133++efRt29fZGdn48orr0R9fX3Udp533nmYO3duyGPffvst0tLS8M477wAA/vrXv+Kcc85Bbm4uPB4PrrnmGhw4cEDxORcuXIjhw4eHPPbEE0+gf//+IY/98Y9/xODBg5GZmYkzzjgDv//976O2lYgoHgx0iYgS6OWXX8Ypp5yCX/ziF6itrUVtbS3OO+88PPHEE8jLyws8ds899wAAZs+ejYqKCqxevRoff/wxfvCDH6CsrAw7d+4EALz//vu46aabMHv2bFRWVuKSSy7BQw89FLUN1157LVavXg1JkgKP/e1vf0OvXr1wwQUXAADa2tqwePFifPTRR3j11Vexe/duzJgxI673/sILL+DBBx/EL3/5S+zYsQMPP/ww5s+fjz//+c9xPS8RkRKmLhAR6eSNN95A586dAz9PmDABL774Ysg2BQUFSE1NDfSUytxuN1wuV8hje/bswfLly7Fnzx706tULAHDPPfegvLwcy5cvx8MPP4wnn3wSZWVluO+++wAAp512Gt577z2Ul5crtvN//ud/cOedd2LTpk2BwHblypWYPn06XC4XAOBHP/pRYPsBAwbgt7/9Lc4991wcPXo05D2qsWDBAvzf//0frrrqKgBAUVERtm/fjmeffRY33HCDpuckIoqGgS4RkU4uueQSPP3004Gfc3Jy4nq+Tz75BD6fD6eddlrI4y0tLejatSsAYMeOHbjyyitDfl9aWho10O3evTsuu+wyvPDCC7jgggtQU1ODiooKPPvss4Fttm7dioULF+Kjjz7CoUOH4Pf7AbQH38XFxarfS1NTE6qrq3HTTTdh5syZgcdPnDgBt9ut+vmIiEQw0CUi0klOTg4GDRqk2/MdPXoUqamp2Lp1a4cJbVp7VWXXXnstfvrTn+J3v/sdVq5ciSFDhmDIkCEA2oPSyy+/HJdffjleeOEFdO/eHXv27MHll1+O1tbWiM+XkpISkgoBtKc/BL8XAFi2bBlGjRoVsh0n6xGRURjoEhElWHp6Onw+X8zHzjrrLPh8Phw4cCCQYhBu8ODBeP/990Me27x5c8w2TJkyBbfccgvKy8uxcuVKXH/99YHfffbZZ6ivr8cjjzyCPn36AAA++OCDqM/XvXt31NXVQZKkQPpDZWVl4Pc9e/ZEr1698OWXX+Laa6+N2T4iIj1wMhoRUYL1798f77zzDvbu3YuDBw8GHjt69CjefPNNHDx4EMeOHcNpp52Ga6+9Ftdffz1efvll1NTUYMuWLViyZAnWrl0LAPjpT3+K8vJy/PrXv8bOnTvx1FNPRU1bkOXk5GDq1KmYP38+duzYgenTpwd+17dvX6Snp+N3v/sdvvzyS7z22mshdYAjufjii/Htt9/iscceQ3V1NZYuXYp//etfIdssWrQIS5YswW9/+1t88cUX+OSTT7B8+XL85je/UbsLiYiEMNAlIkqwX/ziF9i9ezcGDhyI7t27A2gv+XXrrbfihz/8Ibp3747HHnsMALB8+XJcf/31uPvuu3H66adj6tSp+O9//4u+ffsCAEaPHo1ly5bhySefxLBhw/Dvf/8bDzzwgFA7rr32Wnz00Ue44IILAs8HtPfOPv/883jxxRdRXFyMRx55BL/+9a+jPtfgwYPx+9//HkuXLsWwYcOwZcuWQOUI2c0334w//vGPWL58OYYMGYKLLroIzz//PIqKioT3HRGRGi4pPKmKiIiIiMgB2KNLRERERI7EQJeIiIiIHImBLhERERE5EgNdIiIiInIkBrpERERE5EgMdImIiIjIkRjoEhEREZEjMdAlIiIiIkdioEtEREREjsRAl4iIiIgciYEuERERETkSA10iIiIicqT/DxcvOIC7g093AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "ax = subplots(figsize=(8,8))[1]\n", "ax.scatter(results.fittedvalues, results.resid)\n", "ax.set_xlabel('Fitted value')\n", "ax.set_ylabel('Residual')\n", - "ax.axhline(0, c='k', ls='--');\n" + "ax.axhline(0, c='k', ls='--');" ] }, { @@ -1549,46 +638,17 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "82673b80", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:12.188851Z", - "iopub.status.busy": "2023-07-25T23:59:12.188712Z", - "iopub.status.idle": "2023-07-25T23:59:12.286175Z", - "shell.execute_reply": "2023-07-25T23:59:12.285838Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "374" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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MQAAcM2IQaUqKylUpOJqPrVXmxgxqDSZqwVERUAMAABck5vj07wLyyWpU1Bs/jzvwnLqESOtEBADAABXTawo0wNXDpO/JDQtwl9SqAeuHEYdYqQdJuYAAACum1hRpvHlfmaqQ0YgIAYAAAmRm+PT6BN6pXo1gJhImQAAAICnERADAADA0wiIAQAA4GkExAAAAPA0AmIAAAB4GgExAAAAPI2AGAAAAJ5GQAwAAABPIyAGAACApxEQAwAAwNMIiAEAAOBpjgPiV199VVdeeaVGjx6tHTt2SJL+3//7f1q1apVrKwcAAAAkmqOA+K9//asmTJigrl27av369WppaZEkNTQ06I477nB1BQEAAIBEchQQ//SnP9XixYv10EMPKS8vL/D6mDFjVF1d7drKAQAAAInmKCB+//33dfbZZ3d6vaSkRPv27Yt3nQAAAICkcRQQ+/1+ffDBB51eX7VqlY4//vi4VwoAAABIFkcB8fTp03XjjTdqzZo18vl82rlzpx555BH993//t2bMmOH2OgIAAAAJ08XJH918881qa2vTeeedpwMHDujss89WQUGB/vu//1s33HCD2+sIAAAAJIzPMAzD6R8fOnRIH3zwgT777DOVl5frqKOOcnPd0lpjY6NKSkrU0NCg4uLiVK8OAAAAOrAarzlqITbl5+ervLw8nrcAAAAAUspRQHzxxRfL5/N1et3n86mwsFAnnniiLr/8cn3hC1+IewUBAACARHI0qK6kpEQrV65UdXW1fD6ffD6f1q9fr5UrV+rIkSN6/PHHNWTIEK1evdrt9QUAAABc5bjs2uWXX65//etf+utf/6q//vWv2rJli6688kqdcMIJ2rRpk66++mrNmTMn5nvdf//9GjhwoAoLCzVy5EitXbs26vJPPPGETj75ZBUWFurUU0/VCy+8EPL7J598Uueff7569eoln8+nDRs2dHqPL3/5y4FA3vx33XXX2doGAAAAyA6OAuLf/e53uummm5ST8+8/z8nJ0Q033KAHH3xQPp9PM2fOVE1NTdT3efzxxzV79mzNmzdP1dXVGjJkiCZMmKDdu3eHXf61117T1KlTNW3aNK1fv15TpkzRlClTQj6nqalJZ511lu66666onz19+nTV1tYG/t199902tgAAAACyhaOA+MiRI3rvvfc6vf7ee++ptbVVklRYWBg2zzjYr371K02f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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "infl = results.get_influence()\n", "ax = subplots(figsize=(8,8))[1]\n", "ax.scatter(np.arange(X.shape[0]), infl.hat_matrix_diag)\n", "ax.set_xlabel('Index')\n", "ax.set_ylabel('Leverage')\n", - "np.argmax(infl.hat_matrix_diag)\n" + "np.argmax(infl.hat_matrix_diag)" ] }, { @@ -1617,83 +677,10 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "54596dc4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:12.288225Z", - "iopub.status.busy": "2023-07-25T23:59:12.288081Z", - "iopub.status.idle": "2023-07-25T23:59:12.299299Z", - "shell.execute_reply": "2023-07-25T23:59:12.298971Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefstd errtP>|t|
intercept33.22280.73145.4580.000
lstat-1.03210.048-21.4160.000
age0.03450.0122.8260.005
\n", - "
" - ], - "text/plain": [ - " coef std err t P>|t|\n", - "intercept 33.2228 0.731 45.458 0.000\n", - "lstat -1.0321 0.048 -21.416 0.000\n", - "age 0.0345 0.012 2.826 0.005" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "X = MS(['lstat', 'age']).fit_transform(Boston)\n", "model1 = sm.OLS(y, X)\n", @@ -1715,33 +702,13 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "75c78238", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:12.301248Z", - "iopub.status.busy": "2023-07-25T23:59:12.301102Z", - "iopub.status.idle": "2023-07-25T23:59:12.304155Z", - "shell.execute_reply": "2023-07-25T23:59:12.303798Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['crim', 'zn', 'indus', 'chas', 'nox', 'rm', 'age', 'dis', 'rad', 'tax',\n", - " 'ptratio', 'lstat'],\n", - " dtype='object')" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "terms = Boston.columns.drop('medv')\n", - "terms\n" + "terms" ] }, { @@ -1755,167 +722,15 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "id": "f14b9e1a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:12.305936Z", - "iopub.status.busy": "2023-07-25T23:59:12.305825Z", - "iopub.status.idle": "2023-07-25T23:59:12.321954Z", - "shell.execute_reply": "2023-07-25T23:59:12.321660Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefstd errtP>|t|
intercept41.61734.9368.4310.000
crim-0.12140.033-3.6780.000
zn0.04700.0143.3840.001
indus0.01350.0620.2170.829
chas2.84000.8703.2640.001
nox-18.75803.851-4.8700.000
rm3.65810.4208.7050.000
age0.00360.0130.2710.787
dis-1.49080.202-7.3940.000
rad0.28940.0674.3250.000
tax-0.01270.004-3.3370.001
ptratio-0.93750.132-7.0910.000
lstat-0.55200.051-10.8970.000
\n", - "
" - ], - "text/plain": [ - " coef std err t P>|t|\n", - "intercept 41.6173 4.936 8.431 0.000\n", - "crim -0.1214 0.033 -3.678 0.000\n", - "zn 0.0470 0.014 3.384 0.001\n", - "indus 0.0135 0.062 0.217 0.829\n", - "chas 2.8400 0.870 3.264 0.001\n", - "nox -18.7580 3.851 -4.870 0.000\n", - "rm 3.6581 0.420 8.705 0.000\n", - "age 0.0036 0.013 0.271 0.787\n", - "dis -1.4908 0.202 -7.394 0.000\n", - "rad 0.2894 0.067 4.325 0.000\n", - "tax -0.0127 0.004 -3.337 0.001\n", - "ptratio -0.9375 0.132 -7.091 0.000\n", - "lstat -0.5520 0.051 -10.897 0.000" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "X = MS(terms).fit_transform(Boston)\n", "model = sm.OLS(y, X)\n", "results = model.fit()\n", - "summarize(results)\n" + "summarize(results)" ] }, { @@ -1931,159 +746,15 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "id": "0a2714b1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:12.323903Z", - "iopub.status.busy": "2023-07-25T23:59:12.323760Z", - "iopub.status.idle": "2023-07-25T23:59:12.339122Z", - "shell.execute_reply": "2023-07-25T23:59:12.338823Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefstd errtP>|t|
intercept41.52514.9208.4410.000
crim-0.12140.033-3.6830.000
zn0.04650.0143.3790.001
indus0.01350.0620.2170.829
chas2.85280.8683.2870.001
nox-18.48513.714-4.9780.000
rm3.68110.4118.9510.000
dis-1.50680.193-7.8250.000
rad0.28790.0674.3220.000
tax-0.01270.004-3.3330.001
ptratio-0.93460.132-7.0990.000
lstat-0.54740.048-11.4830.000
\n", - "
" - ], - "text/plain": [ - " coef std err t P>|t|\n", - "intercept 41.5251 4.920 8.441 0.000\n", - "crim -0.1214 0.033 -3.683 0.000\n", - "zn 0.0465 0.014 3.379 0.001\n", - "indus 0.0135 0.062 0.217 0.829\n", - "chas 2.8528 0.868 3.287 0.001\n", - "nox -18.4851 3.714 -4.978 0.000\n", - "rm 3.6811 0.411 8.951 0.000\n", - "dis -1.5068 0.193 -7.825 0.000\n", - "rad 0.2879 0.067 4.322 0.000\n", - "tax -0.0127 0.004 -3.333 0.001\n", - "ptratio -0.9346 0.132 -7.099 0.000\n", - "lstat -0.5474 0.048 -11.483 0.000" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "minus_age = Boston.columns.drop(['medv', 'age']) \n", "Xma = MS(minus_age).fit_transform(Boston)\n", "model1 = sm.OLS(y, Xma)\n", - "summarize(model1.fit())\n" + "summarize(model1.fit())" ] }, { @@ -2114,127 +785,21 @@ "lists of `Python` objects. The language also supports\n", "dictionary and *generator* comprehension, though these are\n", "beyond our scope here. Let's look at an example. We compute the VIF for each of the variables\n", - "in the model matrix `X`, using the function `variance_inflation_factor()`.\n" + "in the model matrix `X`, using the function `variance_inflation_factor()`." ] }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "961c9128", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:12.340898Z", - "iopub.status.busy": "2023-07-25T23:59:12.340771Z", - "iopub.status.idle": "2023-07-25T23:59:12.348463Z", - "shell.execute_reply": "2023-07-25T23:59:12.348166Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
vif
crim1.767486
zn2.298459
indus3.987181
chas1.071168
nox4.369093
rm1.912532
age3.088232
dis3.954037
rad7.445301
tax9.002158
ptratio1.797060
lstat2.870777
\n", - "
" - ], - "text/plain": [ - " vif\n", - "crim 1.767486\n", - "zn 2.298459\n", - "indus 3.987181\n", - "chas 1.071168\n", - "nox 4.369093\n", - "rm 1.912532\n", - "age 3.088232\n", - "dis 3.954037\n", - "rad 7.445301\n", - "tax 9.002158\n", - "ptratio 1.797060\n", - "lstat 2.870777" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "vals = [VIF(X, i)\n", " for i in range(1, X.shape[1])]\n", "vif = pd.DataFrame({'vif':vals},\n", " index=X.columns[1:])\n", - "vif\n" + "vif" ] }, { @@ -2251,22 +816,14 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "4886f9e9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:12.350254Z", - "iopub.status.busy": "2023-07-25T23:59:12.350123Z", - "iopub.status.idle": "2023-07-25T23:59:12.356093Z", - "shell.execute_reply": "2023-07-25T23:59:12.355816Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "vals = []\n", "for i in range(1, X.values.shape[1]):\n", - " vals.append(VIF(X.values, i))\n" + " vals.append(VIF(X.values, i))" ] }, { @@ -2284,97 +841,16 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "b54d2da1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:12.357794Z", - "iopub.status.busy": "2023-07-25T23:59:12.357702Z", - "iopub.status.idle": "2023-07-25T23:59:12.369302Z", - "shell.execute_reply": "2023-07-25T23:59:12.368984Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefstd errtP>|t|
intercept36.08851.47024.5530.000
lstat-1.39210.167-8.3130.000
age-0.00070.020-0.0360.971
lstat:age0.00420.0022.2440.025
\n", - "
" - ], - "text/plain": [ - " coef std err t P>|t|\n", - "intercept 36.0885 1.470 24.553 0.000\n", - "lstat -1.3921 0.167 -8.313 0.000\n", - "age -0.0007 0.020 -0.036 0.971\n", - "lstat:age 0.0042 0.002 2.244 0.025" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "X = MS(['lstat',\n", " 'age',\n", " ('lstat', 'age')]).fit_transform(Boston)\n", "model2 = sm.OLS(y, X)\n", - "summarize(model2.fit())\n" + "summarize(model2.fit())" ] }, { @@ -2392,96 +868,15 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "1b71633a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:12.371166Z", - "iopub.status.busy": "2023-07-25T23:59:12.371022Z", - "iopub.status.idle": "2023-07-25T23:59:12.382869Z", - "shell.execute_reply": "2023-07-25T23:59:12.382565Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefstd errtP>|t|
intercept17.71510.78122.6810.0
poly(lstat, degree=2)[0]-179.22796.733-26.6200.0
poly(lstat, degree=2)[1]72.99085.48213.3150.0
age0.07030.0116.4710.0
\n", - "
" - ], - "text/plain": [ - " coef std err t P>|t|\n", - "intercept 17.7151 0.781 22.681 0.0\n", - "poly(lstat, degree=2)[0] -179.2279 6.733 -26.620 0.0\n", - "poly(lstat, degree=2)[1] 72.9908 5.482 13.315 0.0\n", - "age 0.0703 0.011 6.471 0.0" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "X = MS([poly('lstat', degree=2), 'age']).fit_transform(Boston)\n", "model3 = sm.OLS(y, X)\n", "results3 = model3.fit()\n", - "summarize(results3)\n" + "summarize(results3)" ] }, { @@ -2510,83 +905,12 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "6d30a306", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:12.384859Z", - "iopub.status.busy": "2023-07-25T23:59:12.384717Z", - "iopub.status.idle": "2023-07-25T23:59:12.390818Z", - "shell.execute_reply": "2023-07-25T23:59:12.390400Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
df_residssrdf_diffss_diffFPr(>F)
0503.019168.1286090.0NaNNaNNaN
1502.014165.6132511.05002.515357177.2787857.468491e-35
\n", - "
" - ], - "text/plain": [ - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 503.0 19168.128609 0.0 NaN NaN NaN\n", - "1 502.0 14165.613251 1.0 5002.515357 177.278785 7.468491e-35" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "anova_lm(results1, results3)\n" + "metadata": {}, + "outputs": [], + "source": [ + "anova_lm(results1, results3)" ] }, { @@ -2615,50 +939,21 @@ "The function `anova_lm()` can take more than two nested models\n", "as input, in which case it compares every successive pair of models.\n", "That also explains why their are `NaN`s in the first row above, since\n", - "there is no previous model with which to compare the first.\n" + "there is no previous model with which to compare the first." ] }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "id": "9a5ec13f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:12.392629Z", - "iopub.status.busy": "2023-07-25T23:59:12.392494Z", - "iopub.status.idle": "2023-07-25T23:59:12.503315Z", - "shell.execute_reply": "2023-07-25T23:59:12.502922Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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/7766isD9pCIiIiI7K6d1Tug1cyZM/HGG2/g3Xffxemnnx5+PBgM4tixYzh48GBUVnjv3r0IBoOqz5eZmYnMzEwzd5mIiIiIbMgxGWFJkjBz5ky88sorWLduHQoLC6N+ft555yE9PR1vvfVW+LHPPvsMu3fvxsiRI1O9u0RERERkc47JCM+YMQMrVqzAqlWrkJubG677DQQCaN++PQKBAG6++WbcfvvtyM/PR15eHn7+859j5MiRwh0jiIiIiMg7HNM+zefzKT6+bNky3HjjjQBaF9S444478OKLL6K5uRnjx4/HH//4x7ilEbHYPo2IiIjI3oyK1xwTCKcKA2EiIiIie/N8H2EiIiIiomQwECYiIiIiT2IgTERERESexECYiIiIiDyJgTAREREReRIDYSIiIiLyJAbCRERERORJDISJiIiIyJMYCBMRERGRJzEQJiIiIiJPYiBMRERERJ7EQJiIiIiIPImBMBERERF5EgNhIiIiIvIkBsJERERE5EkMhImIiIjIkxgIExEREZEntbN6B7ysJSRhS1Ud9h1qQrfcLAwrzEea32f1bhERERF5AgNhi5RWVGPB69tQXd8UfqwgkIV5k4tQUlxg4Z4REREReQNLIyxQWlGN6c9vjQqCAaCmvgnTn9+K0opqi/aMiIiIyDsYCKdYS0jCgte3QVL4mfzYgte3oSWktAURERERGYWBcIptqaprkwmOJAGorm/Clqq61O0UERERkQcxEE6xfYfUg2A92xERERGRPgyEU6xbbpah2xERERGRPgyEU2xYYT4KAllQa5LmQ2v3iGGF+ancLSIiIiLPYSCcYml+H+ZNLgKANsGw/O95k4vYT5iIiIjIZAyELVBSXIAnrhuKYCC6/CEYyMIT1w1lH2EiIiKiFOCCGhYpKS7AuKIgV5YjIiIisggDYQul+X0Y2bez1btBRERE5EksjSAiIiIiT2IgTERERESexECYiIiIiDyJgTAREREReRIDYSIiIiLyJAbCRERERORJDISJiIiIyJMYCBMRERGRJzEQJiIiIiJPYiBMRERERJ7EQJiIiIiIPImBMBERERF5EgNhIiIiIvIkBsJERERE5EkMhImIiIjIkxgIExEREZEnMRAmIiIiIk9qZ/UOEBERkT21hCRsqarDvkNN6JabhWGF+Ujz+6zeLSLDMBAmIiKiNkorqrHg9W2o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lchOmOEjcgajb1oTjQpJAJpOhHDt05sN+XtEduSYGuFEampqooJgAOF/19TUqP7eokWLEAgEwv/17NnT1P0ksqM0vw8j+3bGlCGnYWTfzgyCiWzGrDZnanXfgex0AMDBI8cN/XtEdmNpIHz33XfD5/PF/e/TTz81dR/uuece1NfXh//76quvTP17REREWpjd5qykuAAb5ozBi9NG4LFrhuCFm4cjq12a4rZsq0ZuY2lpxB133IEbb7wx7jZ9+vQReq5gMIgtW7ZEPbZ3797wz9RkZmYiMzNT6G8QERGlmpY2ZyP7dtb1N+RRIQAoq6xFTYO5f4/ILiwNhLt27YquXbsa8lwjR47EAw88gH379qFbt24AgDVr1iAvLw9FRUWG/A0iIqJUS3WbM7ZVIy9xzGS53bt3o66uDrt370ZLSwvKy8sBAP369UOHDh1w2WWXoaioCP/v//0/PPzww6ipqcG9996LGTNmMONLRESOleo2Z106iF0zRbcjsjPHBML33XcfnnvuufC/5S4Q69evx8UXX4y0tDS88cYbmD59OkaOHImcnBzccMMN+PWvf23VLhMRESVNXvwmXpuzoJGL34iW/rJEmFzAMYHw8uXLsXz58rjb9OrVC//4xz9Ss0NEREQpkOrFb/Y3NifeSMN2RHbmmvZpREREbpXK5a254hx5iWMywkRERF6WqsVvUl6KQWQhBsJEREQOEdnmzMy/kcpSDCIrsTSCiIiIoqSyFIPISswIExERURupKsUgshIDYSIiSkpLSGKw5FKpKMUgshIDYSIi0q20ohoLXt8WtQRwQSAL8yYXcficiGyPNcJERKRLaUU1pj+/NSoIBoCa+iZMf34rSiuqLdozIiIxDISJiEizlpCEBa9vU2yvJT+24PVtaAlx+TEisi8GwkREpNmWqro2meBIEoDq+iZsqapL3U4REWnEQJiIiDTbd0g9CNazHRGRFRgIExGRZlyGl4jcgIEwERFpJi/Dq9YkzYfW7hFchpeI7IyBMBERaSYvwwugTTDMZXiJyCkYCBMRkS5chpeInI4LahARkW5chpeInIyBMBERJYXL8BKRU7E0goiIiIg8iYEwEREREXkSA2EiIiIi8iQGwkRERETkSZwsR0RERAm1hCR2ByHXYSBMREREcZVWVGPB69tQXd8UfqwgkIV5k4vYL5ocjaURREREpKq0ohrTn98aFQQDQE19E6Y/vxWlFdUW7RlR8hgIExERkaKWkIQFr2+DpPAz+bEFr29DS0hpCyL7YyBMREREirZU1bXJBEeSAFTXN2FLVV3qdorIQAyEiYiISNG+Q+pBsJ7tiOyGgTAREREp6pabZeh2RHbDQJiIiIgUDSvMR0EgC2pN0nxo7R4xrDA/lbtFZBgGwkRERKQoze/DvMlFANAmGJb/PW9yEfsJk2MxECYiIiJVJcUFeOK6oQgGossfgoEsPHHdUPYRJkfjghpEREQUV0lxAcYVBU1dWY4r15EVGAgTERFRQml+H0b27WzKc3PlOrIKSyOIiIjIMly5jqzEQJiIiIgswZXryGoMhImIiMgSXLmOrMZAmIiIiCzBlevIagyEiYiIyBJcuY6sxkCYiIiILMGV68hqDISJiIjIEly5jqzGQJiIiIgsw5XryEpcUIOIiIgslYqV64iUMBAmIiIiy5m5ch2RGpZGEBEREZEnMRAmIiIiIk9iIExEREREnsRAmIiIiIg8iYEwEREREXkSA2EiIiIi8iQGwkRERETkSQyEiYiIiMiTGAgTERERkScxECYiIiIiT2IgTERERESexECYiIiIiDyJgTAREREReRIDYSIiIiLyJAbCRERERORJDISJiIiIyJMcEwg/8MADOP/885GdnY2OHTsqbuPz+dr8t3LlytTuKBERERE5Qjurd0DUsWPH8IMf/AAjR47EM888o7rdsmXLUFJSEv63WtBMRERERN7mmEB4wYIFAIDly5fH3a5jx44IBoMp2CMiIiIicjLHlEaImjFjBrp06YJhw4bh2WefhSRJcbdvbm5GQ0ND1H9ERERE5H6OyQiL+PWvf40xY8YgOzsb//znP3Hrrbfi8OHD+MUvfqH6O4sWLQpnm4mIiIjIO3xSopSpie6++24sXrw47jbbt2/H2WefHf738uXLMWvWLBw8eDDh8993331YtmwZvvrqK9Vtmpub0dzcHP53Q0MDevbsifr6euTl5SV+EURERESUUg0NDQgEAknHa5ZmhO+44w7ceOONcbfp06eP7ucfPnw4Fi5ciObmZmRmZipuk5mZqfozIiIiInIvSwPhrl27omvXrqY9f3l5OTp16sRAl4iIiIjacEyN8O7du1FXV4fdu3ejpaUF5eXlAIB+/fqhQ4cOeP3117F3716MGDECWVlZWLNmDR588EHceeed1u44EREREdmSYwLh++67D88991z43+eeey4AYP369bj44ouRnp6Oxx9/HLNnz4YkSejXrx9+//vfY9q0aVbtMhERERHZmKWT5ezIqOJrIiIiIjKHUfGa6/oIExERERGJYCBMRERERJ7EQJiIiIiIPImBMBERERF5EgNhIiIiIvIkBsJERERE5EkMhImIiIjIkxgIExEREZEnMRAmIiIiIk9iIExEREREnsRAmIiIiIg8iYEwEREREXkSA2EiIiIi8iQGwkRERETkSQyEiYiIiMiTGAgTERERkSe1s3oHiIiIzNQSkrClqg77DjWhW24WhhXmI83vs3q3iMgGGAgTEZFrlVZUY8Hr21Bd3xR+rCCQhXmTi1BSXGDhnhGRHbA0goiIXKm0ohrTn98aFQQDQE19E6Y/vxWlFdUW7RkR2QUDYSIicp2WkIQFr2+DpPAz+bEFr29DS0hpCyLyCgbCRETkOluq6tpkgiNJAKrrm7Clqi51O0VEtsNAmIiIXGffIfUgWM92RORODISJiMh1uuVmGbodEbkTA2EiInKdYYX5KAhkQa1Jmg+t3SOGFeancreIyGYYCBMRkeuk+X2YN7kIANoEw/K/500uYj9hIo9jIExERK5UUlyAJ64bimAguvwhGMjCE9cNZR9hIuKCGkRE5F4lxQUYVxTkynJEpIiBMBERuVqa34eRfTtbvRtEZEMsjSAiIiIiT2IgTERERESexECYiIiIiDyJgTAREREReRIDYSIiIiLyJAbCRERERORJDISJiIiIyJMYCBMRERGRJzEQJiIiIiJPYiBMRERERJ7EQJiIiIiIPImBMBERERF5EgNhIiIiIvIkBsJERERE5EkMhImIiIjIkxgIExEREZEnMRAmIiIiIk9iIExEREREnsRAmIiIiIg8iYEwEREREXlSO6t3wG4kSQIANDQ0WLwnRERERKREjtPkuE0vBsIxDh06BADo2bOnxXtCRERERPEcOnQIgUBA9+/7pGRDaZcJhULYs2cPcnNz4fP5NP9+Q0MDevbsia+++gp5eXkm7KG78HiJ47ESx2MljsdKGx4vcTxW4nisxMnHavfu3fD5fOjRowf8fv2VvswIx/D7/Tj99NOTfp68vDyezBrweInjsRLHYyWOx0obHi9xPFbieKzEBQIBQ44VJ8sRERERkScxECYiIiIi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/3hexYh3rHhORcvNzY2qyQeAnJwcdO7cOfw4z61WiY6VoedW0n0nSJIkSfrhD38oFRQUSBkZGdJpp50m/fCHP5R27txp9W7Zwvr16yUAbf674YYbJElqbaE2d+5cqXv37lJmZqZ06aWXSp999pm1O22heMfryJEj0mWXXSZ17dpVSk9Pl3r16iVNmzZNqqmpsXq3U07pGAGQli1bFt7m6NGj0q233ip16tRJys7Olq688kqpurraup22UKLjtXv3bunCCy+U8vPzpczMTKlfv37SL3/5S6m+vt7aHbfAj3/8Y6lXr15SRkaG1LVrV+nSSy+V/vnPf4Z/zvPqlHjHiudUYrEtwHhuqYs8VkaeWz5JkiRd4ToRERERkYOxRpiIiIiIPImBMBERERF5EgNhIiIiIvIkBsJERERE5EkMhImIiIjIkxgIExEREZEnMRAmIiIiIk9iIExEZLKLL74Ys2bNStnfW758OTp27Gjq33j77bfh8/lw8OBBU/8OEZGZGAgTERngxhtvhM/na/Pfzp078fLLL2PhwoXhbXv37o1HH3006vdTEbwSEVG0dlbvABGRW5SUlGDZsmVRj3Xt2hVpaWkW7REREcXDjDARkUEyMzMRDAaj/ktLS4sqjbj44ovx5ZdfYvbs2eGs8dtvv42bbroJ9fX14cfmz58PAGhubsadd96J0047DTk5ORg+fDjefvvtqL+7fPlynHHGGcjOzsaVV16J2trauPt5/vnnY86cOVGPffvtt0hPT8e7774LAPjLX/6C73znO8jNzUUwGMSPfvQj7Nu3T/U558+fjyFDhkQ99uijj6J3795Rjz399NMYMGAAsrKycPbZZ+OPf/xj3H0lIjITA2EiohR6+eWXcfrpp+PXv/41qqurUV1djfPPPx+PPvoo8vLywo/deeedAICZM2eirKwMK1euxEcffYQf/OAHKCkpwY4dOwAAmzdvxs0334yZM2eivLwcl1xyCe6///64+3Dttddi5cqVkCQp/Nhf//pX9OjRAxdccAEA4Pjx41i4cCE+/PBDvPrqq9i1axduvPHGpF77Cy+8gPvuuw8PPPAAtm/fjgcffBBz587Fc889l9TzEhHpxdIIIiKDvPHGG+jQoUP43xMmTMBLL70UtU1+fj7S0tLCmVZZIBCAz+eLemz37t1YtmwZdu/ejR49egAA7rzzTpSWlmLZsmV48MEH8dhjj6GkpAR33XUXAODMM8/Ee++9h9LSUtX9/K//+i/MmjULGzZsCAe+K1aswNSpU+Hz+QAAP/7xj8Pb9+nTB3/4wx/w3e9+F4cPH456jVrMmzcPv/vd73DVVVcBAAoLC7Ft2zY89dRTuOGGG3Q9JxFRMhgIExEZ5JJLLsETTzwR/ndOTk5Sz/fxxx+jpaUFZ555ZtTjzc3N6Ny5MwBg+/btuPLKK6N+PnLkyLiBcNeuXXHZZZfhhRdewAUXXICqqiqUlZXhqaeeCm/z/vvvY/78+fjwww9x4MABhEIhAK3BeVFRkebX0tjYiMrKStx8882YNm1a+PETJ04gEAhofj4iIiMwECYiMkhOTg769etn2PMdPnwYaWlpeP/999tMuNOblZVde+21+MUvfoH/+Z//wYoVKzBw4EAMHDgQQGvQOn78eIwfPx4vvPACunbtit27d2P8+PE4duyY4vP5/f6oUgugtbwi8rUAwNKlSzF8+PCo7TiZkIiswkCYiCjFMjIy0NLSkvCxc889Fy0tLdi3b1+4hCHWgAEDsHnz5qjHNm3alHAfpkyZgp/+9KcoLS3FihUrcP3114d/9umnn6K2thYPPfQQevbsCQD4z3/+E/f5unbtipqaGkiSFC6vKC8vD/+8e/fu6NGjB7744gtce+21CfePiCgVOFmOiCjFevfujXfffRfffPMN9u/fH37s8OHDeOutt7B//34cOXIEZ555Jq699lpcf/31ePnll1FVVYUtW7Zg0aJFWL16NQDgF7/4BUpLS/Hb3/4WO3bswJIlS+KWRchycnJwxRVXYO7cudi+fTumTp0a/tkZZ5yBjIwM/M///A+++OILvPbaa1F9kJVcfPHF+Pbbb/Hwww+jsrISjz/+ON58882obRYsWIBFixbhD3/4Az7//HN8/PHHWLZsGX7/+99rPYRERIZgIExElGK//vWvsWvXLvTt2xddu3YF0NrS7JZbbsEPf/hDdO3aFQ8//DAAYNmyZbj++utxxx134KyzzsIVV1yBf//73zjjjDMAACNGjMDSpUvx2GOPYfDgwfjnP/+Je++9V2g/rr32Wnz44Ye44IILws8HtGZ3ly9fjpdeeglFRUV46KGH8Nvf/jbucw0YMAB//OMf8fjjj2Pw4MHYsmVLuPOF7Cc/+QmefvppLFu2DAMHDsRFF12E5cuXo7CwUPjYEREZySfFFnUREREREXkAM8JERERE5EkMhImIiIjIkxgIExEREZEnMRAmIiIiIk9iIExEREREnsRAmIiIiIg8iYEwEREREXkSA2EiIiIi8iQGwkRERETkSQyEiYiIiMiTGAgTERERkScxECYiIiIiT/r/aF8hFHdgdH4AAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "ax = subplots(figsize=(8,8))[1]\n", "ax.scatter(results3.fittedvalues, results3.resid)\n", "ax.set_xlabel('Fitted value')\n", "ax.set_ylabel('Residual')\n", - "ax.axhline(0, c='k', ls='--')\n" + "ax.axhline(0, c='k', ls='--')" ] }, { @@ -2669,7 +964,7 @@ "We see that when the quadratic term is included in the model,\n", "there is little discernible pattern in the residuals.\n", "In order to create a cubic or higher-degree polynomial fit, we can simply change the degree argument\n", - "to `poly()`.\n" + "to `poly()`." ] }, { @@ -2686,34 +981,13 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": null, "id": "09bbc0c6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:12.505298Z", - "iopub.status.busy": "2023-07-25T23:59:12.505155Z", - "iopub.status.idle": "2023-07-25T23:59:12.509943Z", - "shell.execute_reply": "2023-07-25T23:59:12.509644Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['Sales', 'CompPrice', 'Income', 'Advertising', 'Population', 'Price',\n", - " 'ShelveLoc', 'Age', 'Education', 'Urban', 'US'],\n", - " dtype='object')" - ] - }, - "execution_count": 35, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Carseats = load_data('Carseats')\n", - "Carseats.columns\n" + "Carseats.columns" ] }, { @@ -2737,171 +1011,10 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": null, "id": "2e1da1fa", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:12.511708Z", - "iopub.status.busy": "2023-07-25T23:59:12.511575Z", - "iopub.status.idle": "2023-07-25T23:59:12.534829Z", - "shell.execute_reply": "2023-07-25T23:59:12.534526Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefstd errtP>|t|
intercept6.57561.0096.5190.000
CompPrice0.09290.00422.5670.000
Income0.01090.0034.1830.000
Advertising0.07020.0233.1070.002
Population0.00020.0000.4330.665
Price-0.10080.007-13.5490.000
ShelveLoc[Good]4.84870.15331.7240.000
ShelveLoc[Medium]1.95330.12615.5310.000
Age-0.05790.016-3.6330.000
Education-0.02090.020-1.0630.288
Urban[Yes]0.14020.1121.2470.213
US[Yes]-0.15760.149-1.0580.291
Income:Advertising0.00080.0002.6980.007
Price:Age0.00010.0000.8010.424
\n", - "
" - ], - "text/plain": [ - " coef std err t P>|t|\n", - "intercept 6.5756 1.009 6.519 0.000\n", - "CompPrice 0.0929 0.004 22.567 0.000\n", - "Income 0.0109 0.003 4.183 0.000\n", - "Advertising 0.0702 0.023 3.107 0.002\n", - "Population 0.0002 0.000 0.433 0.665\n", - "Price -0.1008 0.007 -13.549 0.000\n", - "ShelveLoc[Good] 4.8487 0.153 31.724 0.000\n", - "ShelveLoc[Medium] 1.9533 0.126 15.531 0.000\n", - "Age -0.0579 0.016 -3.633 0.000\n", - "Education -0.0209 0.020 -1.063 0.288\n", - "Urban[Yes] 0.1402 0.112 1.247 0.213\n", - "US[Yes] -0.1576 0.149 -1.058 0.291\n", - "Income:Advertising 0.0008 0.000 2.698 0.007\n", - "Price:Age 0.0001 0.000 0.801 0.424" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "allvars = list(Carseats.columns.drop('Sales'))\n", "y = Carseats['Sales']\n", @@ -2909,7 +1022,7 @@ " ('Price', 'Age')]\n", "X = MS(final).fit_transform(Carseats)\n", "model = sm.OLS(y, X)\n", - "summarize(model.fit())\n" + "summarize(model.fit())" ] }, { @@ -2935,20 +1048,8 @@ "metadata": { "jupytext": { "cell_metadata_filter": "-all", - "formats": "ipynb,Rmd", + "formats": "ipynb,md:myst", "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch4-classification-lab.ipynb b/docs/source/labs/Ch4-classification-lab.ipynb index e5ab894..b8e8dd8 100644 --- a/docs/source/labs/Ch4-classification-lab.ipynb +++ b/docs/source/labs/Ch4-classification-lab.ipynb @@ -2,20 +2,15 @@ "cells": [ { "cell_type": "markdown", - "id": "2b1e8bf1", + "id": "e6cc127e", "metadata": {}, "source": [ + "# Logistic Regression, LDA, QDA, and KNN\n", "\n", + "\n", + " \"Open\n", "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "84b9c86a", - "metadata": {}, - "source": [ - "# Logistic Regression, LDA, QDA, and KNN\n" + "" ] }, { @@ -41,16 +36,9 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "71523a7f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:13.693335Z", - "iopub.status.busy": "2023-07-25T23:59:13.692982Z", - "iopub.status.idle": "2023-07-25T23:59:14.692387Z", - "shell.execute_reply": "2023-07-25T23:59:14.692045Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -72,17 +60,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "901ed7c5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.694539Z", - "iopub.status.busy": "2023-07-25T23:59:14.694353Z", - "iopub.status.idle": "2023-07-25T23:59:14.710282Z", - "shell.execute_reply": "2023-07-25T23:59:14.709950Z" - }, - "lines_to_next_cell": 2 - }, + "metadata": {}, "outputs": [], "source": [ "from ISLP import confusion_table\n", @@ -94,7 +74,7 @@ "from sklearn.neighbors import KNeighborsClassifier\n", "from sklearn.preprocessing import StandardScaler\n", "from sklearn.model_selection import train_test_split\n", - "from sklearn.linear_model import LogisticRegression\n" + "from sklearn.linear_model import LogisticRegression" ] }, { @@ -107,210 +87,10 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "8b56ee0f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.712197Z", - "iopub.status.busy": "2023-07-25T23:59:14.712071Z", - "iopub.status.idle": "2023-07-25T23:59:14.723241Z", - "shell.execute_reply": "2023-07-25T23:59:14.722941Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
YearLag1Lag2Lag3Lag4Lag5VolumeTodayDirection
020010.381-0.192-2.624-1.0555.0101.191300.959Up
120010.9590.381-0.192-2.624-1.0551.296501.032Up
220011.0320.9590.381-0.192-2.6241.41120-0.623Down
32001-0.6231.0320.9590.381-0.1921.276000.614Up
420010.614-0.6231.0320.9590.3811.205700.213Up
..............................
124520050.4220.252-0.024-0.584-0.2851.888500.043Up
124620050.0430.4220.252-0.024-0.5841.28581-0.955Down
12472005-0.9550.0430.4220.252-0.0241.540470.130Up
124820050.130-0.9550.0430.4220.2521.42236-0.298Down
12492005-0.2980.130-0.9550.0430.4221.38254-0.489Down
\n", - "

1250 rows × 9 columns

\n", - "
" - ], - "text/plain": [ - " Year Lag1 Lag2 Lag3 Lag4 Lag5 Volume Today Direction\n", - "0 2001 0.381 -0.192 -2.624 -1.055 5.010 1.19130 0.959 Up\n", - "1 2001 0.959 0.381 -0.192 -2.624 -1.055 1.29650 1.032 Up\n", - "2 2001 1.032 0.959 0.381 -0.192 -2.624 1.41120 -0.623 Down\n", - "3 2001 -0.623 1.032 0.959 0.381 -0.192 1.27600 0.614 Up\n", - "4 2001 0.614 -0.623 1.032 0.959 0.381 1.20570 0.213 Up\n", - "... ... ... ... ... ... ... ... ... ...\n", - "1245 2005 0.422 0.252 -0.024 -0.584 -0.285 1.88850 0.043 Up\n", - "1246 2005 0.043 0.422 0.252 -0.024 -0.584 1.28581 -0.955 Down\n", - "1247 2005 -0.955 0.043 0.422 0.252 -0.024 1.54047 0.130 Up\n", - "1248 2005 0.130 -0.955 0.043 0.422 0.252 1.42236 -0.298 Down\n", - "1249 2005 -0.298 0.130 -0.955 0.043 0.422 1.38254 -0.489 Down\n", - "\n", - "[1250 rows x 9 columns]" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Smarket = load_data('Smarket')\n", "Smarket" @@ -327,31 +107,10 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "62d49b47", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.725047Z", - "iopub.status.busy": "2023-07-25T23:59:14.724902Z", - "iopub.status.idle": "2023-07-25T23:59:14.727346Z", - "shell.execute_reply": "2023-07-25T23:59:14.727072Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['Year', 'Lag1', 'Lag2', 'Lag3', 'Lag4', 'Lag5', 'Volume', 'Today',\n", - " 'Direction'],\n", - " dtype='object')" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Smarket.columns" ] @@ -371,171 +130,12 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "bc34e7b7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.729048Z", - "iopub.status.busy": "2023-07-25T23:59:14.728923Z", - "iopub.status.idle": "2023-07-25T23:59:14.734089Z", - "shell.execute_reply": "2023-07-25T23:59:14.733820Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
YearLag1Lag2Lag3Lag4Lag5VolumeToday
Year1.0000000.0297000.0305960.0331950.0356890.0297880.5390060.030095
Lag10.0297001.000000-0.026294-0.010803-0.002986-0.0056750.040910-0.026155
Lag20.030596-0.0262941.000000-0.025897-0.010854-0.003558-0.043383-0.010250
Lag30.033195-0.010803-0.0258971.000000-0.024051-0.018808-0.041824-0.002448
Lag40.035689-0.002986-0.010854-0.0240511.000000-0.027084-0.048414-0.006900
Lag50.029788-0.005675-0.003558-0.018808-0.0270841.000000-0.022002-0.034860
Volume0.5390060.040910-0.043383-0.041824-0.048414-0.0220021.0000000.014592
Today0.030095-0.026155-0.010250-0.002448-0.006900-0.0348600.0145921.000000
\n", - "
" - ], - "text/plain": [ - " Year Lag1 Lag2 Lag3 Lag4 Lag5 Volume \\\n", - "Year 1.000000 0.029700 0.030596 0.033195 0.035689 0.029788 0.539006 \n", - "Lag1 0.029700 1.000000 -0.026294 -0.010803 -0.002986 -0.005675 0.040910 \n", - "Lag2 0.030596 -0.026294 1.000000 -0.025897 -0.010854 -0.003558 -0.043383 \n", - "Lag3 0.033195 -0.010803 -0.025897 1.000000 -0.024051 -0.018808 -0.041824 \n", - "Lag4 0.035689 -0.002986 -0.010854 -0.024051 1.000000 -0.027084 -0.048414 \n", - "Lag5 0.029788 -0.005675 -0.003558 -0.018808 -0.027084 1.000000 -0.022002 \n", - "Volume 0.539006 0.040910 -0.043383 -0.041824 -0.048414 -0.022002 1.000000 \n", - "Today 0.030095 -0.026155 -0.010250 -0.002448 -0.006900 -0.034860 0.014592 \n", - "\n", - " Today \n", - "Year 0.030095 \n", - "Lag1 -0.026155 \n", - "Lag2 -0.010250 \n", - "Lag3 -0.002448 \n", - "Lag4 -0.006900 \n", - "Lag5 -0.034860 \n", - "Volume 0.014592 \n", - "Today 1.000000 " - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Smarket.corr()\n" + "metadata": {}, + "outputs": [], + "source": [ + "Smarket.corr()" ] }, { @@ -547,36 +147,17 @@ "today’s return are close to zero. The only substantial correlation is between `Year` and\n", " `Volume`. By plotting the data we see that `Volume`\n", "is increasing over time. In other words, the average number of shares traded\n", - "daily increased from 2001 to 2005.\n" + "daily increased from 2001 to 2005." ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "9f075144", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.735695Z", - "iopub.status.busy": "2023-07-25T23:59:14.735602Z", - "iopub.status.idle": "2023-07-25T23:59:14.838151Z", - "shell.execute_reply": "2023-07-25T23:59:14.837685Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "Smarket.plot(y='Volume');\n" + "metadata": {}, + "outputs": [], + "source": [ + "Smarket.plot(y='Volume');" ] }, { @@ -599,115 +180,10 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "2ab15aa3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.840061Z", - "iopub.status.busy": "2023-07-25T23:59:14.839924Z", - "iopub.status.idle": "2023-07-25T23:59:14.905643Z", - "shell.execute_reply": "2023-07-25T23:59:14.905295Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefstd errzP>|z|
intercept-0.12600.241-0.5230.601
Lag1-0.07310.050-1.4570.145
Lag2-0.04230.050-0.8450.398
Lag30.01110.0500.2220.824
Lag40.00940.0500.1870.851
Lag50.01030.0500.2080.835
Volume0.13540.1580.8550.392
\n", - "
" - ], - "text/plain": [ - " coef std err z P>|z|\n", - "intercept -0.1260 0.241 -0.523 0.601\n", - "Lag1 -0.0731 0.050 -1.457 0.145\n", - "Lag2 -0.0423 0.050 -0.845 0.398\n", - "Lag3 0.0111 0.050 0.222 0.824\n", - "Lag4 0.0094 0.050 0.187 0.851\n", - "Lag5 0.0103 0.050 0.208 0.835\n", - "Volume 0.1354 0.158 0.855 0.392" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "allvars = Smarket.columns.drop(['Today', 'Direction', 'Year'])\n", "design = MS(allvars)\n", @@ -717,7 +193,7 @@ " X,\n", " family=sm.families.Binomial())\n", "results = glm.fit()\n", - "summarize(results)\n" + "summarize(results)" ] }, { @@ -739,38 +215,12 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "0faa6a6c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.907503Z", - "iopub.status.busy": "2023-07-25T23:59:14.907368Z", - "iopub.status.idle": "2023-07-25T23:59:14.910322Z", - "shell.execute_reply": "2023-07-25T23:59:14.909996Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept -0.126000\n", - "Lag1 -0.073074\n", - "Lag2 -0.042301\n", - "Lag3 0.011085\n", - "Lag4 0.009359\n", - "Lag5 0.010313\n", - "Volume 0.135441\n", - "dtype: float64" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "results.params\n" + "metadata": {}, + "outputs": [], + "source": [ + "results.params" ] }, { @@ -784,37 +234,12 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "108aff98", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.912082Z", - "iopub.status.busy": "2023-07-25T23:59:14.911950Z", - "iopub.status.idle": "2023-07-25T23:59:14.914942Z", - "shell.execute_reply": "2023-07-25T23:59:14.914638Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 0.600700\n", - "Lag1 0.145232\n", - "Lag2 0.398352\n", - "Lag3 0.824334\n", - "Lag4 0.851445\n", - "Lag5 0.834998\n", - "Volume 0.392404\n", - "dtype: float64" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "results.pvalues\n" + "metadata": {}, + "outputs": [], + "source": [ + "results.pvalues" ] }, { @@ -835,33 +260,13 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "54b4b96c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.916677Z", - "iopub.status.busy": "2023-07-25T23:59:14.916540Z", - "iopub.status.idle": "2023-07-25T23:59:14.919353Z", - "shell.execute_reply": "2023-07-25T23:59:14.919077Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0.50708413, 0.48146788, 0.48113883, 0.51522236, 0.51078116,\n", - " 0.50695646, 0.49265087, 0.50922916, 0.51761353, 0.48883778])" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "probs = results.predict()\n", - "probs[:10]\n" + "probs[:10]" ] }, { @@ -879,21 +284,13 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "46c2887c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.921228Z", - "iopub.status.busy": "2023-07-25T23:59:14.921080Z", - "iopub.status.idle": "2023-07-25T23:59:14.923268Z", - "shell.execute_reply": "2023-07-25T23:59:14.922948Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "labels = np.array(['Down']*1250)\n", - "labels[probs>0.5] = \"Up\"\n" + "labels[probs>0.5] = \"Up\"" ] }, { @@ -912,76 +309,12 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "0f816c4d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.925028Z", - "iopub.status.busy": "2023-07-25T23:59:14.924907Z", - "iopub.status.idle": "2023-07-25T23:59:14.931043Z", - "shell.execute_reply": "2023-07-25T23:59:14.930780Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
TruthDownUp
Predicted
Down145141
Up457507
\n", - "
" - ], - "text/plain": [ - "Truth Down Up\n", - "Predicted \n", - "Down 145 141\n", - "Up 457 507" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "confusion_table(labels, Smarket.Direction)\n" + "metadata": {}, + "outputs": [], + "source": [ + "confusion_table(labels, Smarket.Direction)" ] }, { @@ -996,44 +329,17 @@ "total of 507 + 145 = 652 correct predictions. The `np.mean()`\n", "function can be used to compute the fraction of days for which the\n", "prediction was correct. In this case, logistic regression correctly\n", - "predicted the movement of the market 52.2% of the time.\n" + "predicted the movement of the market 52.2% of the time." ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "23668517", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.932765Z", - "iopub.status.busy": "2023-07-25T23:59:14.932642Z", - "iopub.status.idle": "2023-07-25T23:59:14.935589Z", - "shell.execute_reply": "2023-07-25T23:59:14.935254Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(0.5216, 0.5216)" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(507+145)/1250, np.mean(labels == Smarket.Direction)\n" - ] - }, - { - "cell_type": "markdown", - "id": "dafd9800", "metadata": {}, + "outputs": [], "source": [ - "\n" + "(507+145)/1250, np.mean(labels == Smarket.Direction)" ] }, { @@ -1064,34 +370,15 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "86a02d7c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.937399Z", - "iopub.status.busy": "2023-07-25T23:59:14.937271Z", - "iopub.status.idle": "2023-07-25T23:59:14.940515Z", - "shell.execute_reply": "2023-07-25T23:59:14.940220Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(252, 9)" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "train = (Smarket.Year < 2005)\n", "Smarket_train = Smarket.loc[train]\n", "Smarket_test = Smarket.loc[~train]\n", - "Smarket_test.shape\n" + "Smarket_test.shape" ] }, { @@ -1130,16 +417,9 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "f23b1c7b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.942274Z", - "iopub.status.busy": "2023-07-25T23:59:14.942174Z", - "iopub.status.idle": "2023-07-25T23:59:14.947832Z", - "shell.execute_reply": "2023-07-25T23:59:14.947512Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "X_train, X_test = X.loc[train], X.loc[~train]\n", @@ -1148,7 +428,7 @@ " X_train,\n", " family=sm.families.Binomial())\n", "results = glm_train.fit()\n", - "probs = results.predict(exog=X_test)\n" + "probs = results.predict(exog=X_test)" ] }, { @@ -1167,21 +447,13 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "82f849b9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.949645Z", - "iopub.status.busy": "2023-07-25T23:59:14.949543Z", - "iopub.status.idle": "2023-07-25T23:59:14.951806Z", - "shell.execute_reply": "2023-07-25T23:59:14.951496Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "D = Smarket.Direction\n", - "L_train, L_test = D.loc[train], D.loc[~train]\n" + "L_train, L_test = D.loc[train], D.loc[~train]" ] }, { @@ -1196,79 +468,14 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "e216583a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.953467Z", - "iopub.status.busy": "2023-07-25T23:59:14.953333Z", - "iopub.status.idle": "2023-07-25T23:59:14.958135Z", - "shell.execute_reply": "2023-07-25T23:59:14.957845Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
TruthDownUp
Predicted
Down7797
Up3444
\n", - "
" - ], - "text/plain": [ - "Truth Down Up\n", - "Predicted \n", - "Down 77 97\n", - "Up 34 44" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "labels = np.array(['Down']*252)\n", "labels[probs>0.5] = 'Up'\n", - "confusion_table(labels, L_test)\n" + "confusion_table(labels, L_test)" ] }, { @@ -1281,31 +488,12 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "5538dc17", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.959974Z", - "iopub.status.busy": "2023-07-25T23:59:14.959839Z", - "iopub.status.idle": "2023-07-25T23:59:14.962708Z", - "shell.execute_reply": "2023-07-25T23:59:14.962368Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(0.4801587301587302, 0.5198412698412699)" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.mean(labels == L_test), np.mean(labels != L_test)\n" + "metadata": {}, + "outputs": [], + "source": [ + "np.mean(labels == L_test), np.mean(labels != L_test)" ] }, { @@ -1339,75 +527,10 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "016110f9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.964445Z", - "iopub.status.busy": "2023-07-25T23:59:14.964311Z", - "iopub.status.idle": "2023-07-25T23:59:14.973260Z", - "shell.execute_reply": "2023-07-25T23:59:14.972937Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
TruthDownUp
Predicted
Down3535
Up76106
\n", - "
" - ], - "text/plain": [ - "Truth Down Up\n", - "Predicted \n", - "Down 35 35\n", - "Up 76 106" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "model = MS(['Lag1', 'Lag2']).fit(Smarket)\n", "X = model.transform(Smarket)\n", @@ -1419,7 +542,7 @@ "probs = results.predict(exog=X_test)\n", "labels = np.array(['Down']*252)\n", "labels[probs>0.5] = 'Up'\n", - "confusion_table(labels, L_test)\n" + "confusion_table(labels, L_test)" ] }, { @@ -1433,30 +556,12 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "70984cd6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.975189Z", - "iopub.status.busy": "2023-07-25T23:59:14.975049Z", - "iopub.status.idle": "2023-07-25T23:59:14.977637Z", - "shell.execute_reply": "2023-07-25T23:59:14.977328Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(0.5595238095238095, 0.5824175824175825)" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(35+106)/252,106/(106+76)\n" + "metadata": {}, + "outputs": [], + "source": [ + "(35+106)/252,106/(106+76)" ] }, { @@ -1487,36 +592,15 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "4b745fd8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.979440Z", - "iopub.status.busy": "2023-07-25T23:59:14.979307Z", - "iopub.status.idle": "2023-07-25T23:59:14.983500Z", - "shell.execute_reply": "2023-07-25T23:59:14.983211Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0 0.479146\n", - "1 0.496094\n", - "dtype: float64" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "newdata = pd.DataFrame({'Lag1':[1.2, 1.5],\n", " 'Lag2':[1.1, -0.8]});\n", "newX = model.transform(newdata)\n", - "results.predict(newX)\n" + "results.predict(newX)" ] }, { @@ -1539,19 +623,12 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "cd533313", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.985192Z", - "iopub.status.busy": "2023-07-25T23:59:14.985093Z", - "iopub.status.idle": "2023-07-25T23:59:14.987028Z", - "shell.execute_reply": "2023-07-25T23:59:14.986717Z" - } - }, + "metadata": {}, "outputs": [], "source": [ - "lda = LDA(store_covariance=True)\n" + "lda = LDA(store_covariance=True)" ] }, { @@ -1567,36 +644,14 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "953dc6ac", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.988784Z", - "iopub.status.busy": "2023-07-25T23:59:14.988653Z", - "iopub.status.idle": "2023-07-25T23:59:14.994900Z", - "shell.execute_reply": "2023-07-25T23:59:14.994598Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
LinearDiscriminantAnalysis(store_covariance=True)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "LinearDiscriminantAnalysis(store_covariance=True)" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "X_train, X_test = [M.drop(columns=['intercept'])\n", " for M in [X_train, X_test]]\n", - "lda.fit(X_train, L_train)\n" + "lda.fit(X_train, L_train)" ] }, { @@ -1623,32 +678,12 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "8917085e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:14.996668Z", - "iopub.status.busy": "2023-07-25T23:59:14.996540Z", - "iopub.status.idle": "2023-07-25T23:59:14.999375Z", - "shell.execute_reply": "2023-07-25T23:59:14.999083Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[ 0.04279022, 0.03389409],\n", - " [-0.03954635, -0.03132544]])" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "lda.means_\n" + "metadata": {}, + "outputs": [], + "source": [ + "lda.means_" ] }, { @@ -1664,31 +699,12 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "efb3e9bd", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.001036Z", - "iopub.status.busy": "2023-07-25T23:59:15.000898Z", - "iopub.status.idle": "2023-07-25T23:59:15.003395Z", - "shell.execute_reply": "2023-07-25T23:59:15.003049Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array(['Down', 'Up'], dtype='\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
TruthDownUp
Predicted
Down3535
Up76106
\n", - "" - ], - "text/plain": [ - "Truth Down Up\n", - "Predicted \n", - "Down 35 35\n", - "Up 76 106" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "confusion_table(lda_pred, L_test)\n" + "metadata": {}, + "outputs": [], + "source": [ + "confusion_table(lda_pred, L_test)" ] }, { @@ -1891,34 +797,15 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "da1bffa3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.023590Z", - "iopub.status.busy": "2023-07-25T23:59:15.023466Z", - "iopub.status.idle": "2023-07-25T23:59:15.026535Z", - "shell.execute_reply": "2023-07-25T23:59:15.026265Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "lda_prob = lda.predict_proba(X_test)\n", "np.all(\n", " np.where(lda_prob[:,1] >= 0.5, 'Up','Down') == lda_pred\n", - " )\n" + " )" ] }, { @@ -1935,33 +822,14 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "3d7eae3c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.028062Z", - "iopub.status.busy": "2023-07-25T23:59:15.027973Z", - "iopub.status.idle": "2023-07-25T23:59:15.030670Z", - "shell.execute_reply": "2023-07-25T23:59:15.030396Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "np.all(\n", " [lda.classes_[i] for i in np.argmax(lda_prob, 1)] == lda_pred\n", - " )\n" + " )" ] }, { @@ -1981,30 +849,12 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "18fa175c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.032274Z", - "iopub.status.busy": "2023-07-25T23:59:15.032176Z", - "iopub.status.idle": "2023-07-25T23:59:15.034568Z", - "shell.execute_reply": "2023-07-25T23:59:15.034275Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.sum(lda_prob[:,0] > 0.9)\n" + "metadata": {}, + "outputs": [], + "source": [ + "np.sum(lda_prob[:,0] > 0.9)" ] }, { @@ -2028,7 +878,7 @@ "then producing predictions is an explicit design choice of `sklearn`. This uniformity\n", "makes it possible to cleanly copy the classifier so that it can be fit\n", "on different data; e.g. different training sets arising in cross-validation.\n", - "This standard pattern also allows for a predictable formation of workflows.\n" + "This standard pattern also allows for a predictable formation of workflows." ] }, { @@ -2046,34 +896,13 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "62499aad", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.036191Z", - "iopub.status.busy": "2023-07-25T23:59:15.036084Z", - "iopub.status.idle": "2023-07-25T23:59:15.039973Z", - "shell.execute_reply": "2023-07-25T23:59:15.039675Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
QuadraticDiscriminantAnalysis(store_covariance=True)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "QuadraticDiscriminantAnalysis(store_covariance=True)" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "qda = QDA(store_covariance=True)\n", - "qda.fit(X_train, L_train)\n" + "qda.fit(X_train, L_train)" ] }, { @@ -2086,32 +915,12 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "id": "296fdd89", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.041544Z", - "iopub.status.busy": "2023-07-25T23:59:15.041451Z", - "iopub.status.idle": "2023-07-25T23:59:15.043958Z", - "shell.execute_reply": "2023-07-25T23:59:15.043703Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([[ 0.04279022, 0.03389409],\n", - " [-0.03954635, -0.03132544]]),\n", - " array([0.49198397, 0.50801603]))" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "qda.means_, qda.priors_\n" + "metadata": {}, + "outputs": [], + "source": [ + "qda.means_, qda.priors_" ] }, { @@ -2125,32 +934,12 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": null, "id": "7fbbefb0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.046394Z", - "iopub.status.busy": "2023-07-25T23:59:15.046278Z", - "iopub.status.idle": "2023-07-25T23:59:15.048574Z", - "shell.execute_reply": "2023-07-25T23:59:15.048306Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[ 1.50662277, -0.03924806],\n", - " [-0.03924806, 1.53559498]])" - ] - }, - "execution_count": 35, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "qda.covariance_[0]\n" + "metadata": {}, + "outputs": [], + "source": [ + "qda.covariance_[0]" ] }, { @@ -2167,78 +956,13 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": null, "id": "03094dcd", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.050232Z", - "iopub.status.busy": "2023-07-25T23:59:15.050116Z", - "iopub.status.idle": "2023-07-25T23:59:15.054828Z", - "shell.execute_reply": "2023-07-25T23:59:15.054541Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
TruthDownUp
Predicted
Down3020
Up81121
\n", - "
" - ], - "text/plain": [ - "Truth Down Up\n", - "Predicted \n", - "Down 30 20\n", - "Up 81 121" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "qda_pred = qda.predict(X_test)\n", - "confusion_table(qda_pred, L_test)\n" + "confusion_table(qda_pred, L_test)" ] }, { @@ -2252,31 +976,12 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": null, "id": "25022d1a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.056387Z", - "iopub.status.busy": "2023-07-25T23:59:15.056275Z", - "iopub.status.idle": "2023-07-25T23:59:15.058808Z", - "shell.execute_reply": "2023-07-25T23:59:15.058523Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0.5992063492063492" - ] - }, - "execution_count": 37, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.mean(qda_pred == L_test)\n" + "metadata": {}, + "outputs": [], + "source": [ + "np.mean(qda_pred == L_test)" ] }, { @@ -2308,35 +1013,13 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": null, "id": "f73eb202", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.060465Z", - "iopub.status.busy": "2023-07-25T23:59:15.060340Z", - "iopub.status.idle": "2023-07-25T23:59:15.064335Z", - "shell.execute_reply": "2023-07-25T23:59:15.064056Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
GaussianNB()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "GaussianNB()" - ] - }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "NB = GaussianNB()\n", - "NB.fit(X_train, L_train)\n" + "NB.fit(X_train, L_train)" ] }, { @@ -2349,31 +1032,12 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": null, "id": "8e860cc3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.065952Z", - "iopub.status.busy": "2023-07-25T23:59:15.065853Z", - "iopub.status.idle": "2023-07-25T23:59:15.068116Z", - "shell.execute_reply": "2023-07-25T23:59:15.067830Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array(['Down', 'Up'], dtype='\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
TruthDownUp
Predicted
Down2920
Up82121
\n", - "" - ], - "text/plain": [ - "Truth Down Up\n", - "Predicted \n", - "Down 29 20\n", - "Up 82 121" - ] - }, - "execution_count": 45, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "nb_labels = NB.predict(X_test)\n", - "confusion_table(nb_labels, L_test)\n" + "confusion_table(nb_labels, L_test)" ] }, { @@ -2666,35 +1166,12 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": null, "id": "f14ebe61", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.098735Z", - "iopub.status.busy": "2023-07-25T23:59:15.098605Z", - "iopub.status.idle": "2023-07-25T23:59:15.101621Z", - "shell.execute_reply": "2023-07-25T23:59:15.101333Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[0.4873288 , 0.5126712 ],\n", - " [0.47623584, 0.52376416],\n", - " [0.46529531, 0.53470469],\n", - " [0.47484469, 0.52515531],\n", - " [0.49020587, 0.50979413]])" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "NB.predict_proba(X_test)[:5]\n" + "metadata": {}, + "outputs": [], + "source": [ + "NB.predict_proba(X_test)[:5]" ] }, { @@ -2716,79 +1193,15 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": null, "id": "41a12f4a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.103225Z", - "iopub.status.busy": "2023-07-25T23:59:15.103129Z", - "iopub.status.idle": "2023-07-25T23:59:15.112950Z", - "shell.execute_reply": "2023-07-25T23:59:15.112667Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
TruthDownUp
Predicted
Down4358
Up6883
\n", - "
" - ], - "text/plain": [ - "Truth Down Up\n", - "Predicted \n", - "Down 43 58\n", - "Up 68 83" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "knn1 = KNeighborsClassifier(n_neighbors=1)\n", "knn1.fit(X_train, L_train)\n", "knn1_pred = knn1.predict(X_test)\n", - "confusion_table(knn1_pred, L_test)\n" + "confusion_table(knn1_pred, L_test)" ] }, { @@ -2803,30 +1216,12 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": null, "id": "1dd2f3e4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.114693Z", - "iopub.status.busy": "2023-07-25T23:59:15.114545Z", - "iopub.status.idle": "2023-07-25T23:59:15.117220Z", - "shell.execute_reply": "2023-07-25T23:59:15.116923Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(0.5, 0.5)" - ] - }, - "execution_count": 48, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(83+43)/252, np.mean(knn1_pred == L_test)\n" + "metadata": {}, + "outputs": [], + "source": [ + "(83+43)/252, np.mean(knn1_pred == L_test)" ] }, { @@ -2840,29 +1235,10 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": null, "id": "8ec72efc", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.118824Z", - "iopub.status.busy": "2023-07-25T23:59:15.118699Z", - "iopub.status.idle": "2023-07-25T23:59:15.125616Z", - "shell.execute_reply": "2023-07-25T23:59:15.125343Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0.5317460317460317" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "knn3 = KNeighborsClassifier(n_neighbors=3)\n", "knn3_pred = knn3.fit(X_train, L_train).predict(X_test)\n", @@ -2895,35 +1271,14 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": null, "id": "98fef4ed", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.127395Z", - "iopub.status.busy": "2023-07-25T23:59:15.127266Z", - "iopub.status.idle": "2023-07-25T23:59:15.145746Z", - "shell.execute_reply": "2023-07-25T23:59:15.145440Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "No 5474\n", - "Yes 348\n", - "Name: Purchase, dtype: int64" - ] - }, - "execution_count": 50, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Caravan = load_data('Caravan')\n", "Purchase = Caravan.Purchase\n", - "Purchase.value_counts()\n" + "Purchase.value_counts()" ] }, { @@ -2939,31 +1294,12 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": null, "id": "1af72c0b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.147502Z", - "iopub.status.busy": "2023-07-25T23:59:15.147373Z", - "iopub.status.idle": "2023-07-25T23:59:15.149578Z", - "shell.execute_reply": "2023-07-25T23:59:15.149324Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0.05977327378907592" - ] - }, - "execution_count": 51, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "348 / 5822\n" + "metadata": {}, + "outputs": [], + "source": [ + "348 / 5822" ] }, { @@ -2976,19 +1312,12 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": null, "id": "9ea841e4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.151176Z", - "iopub.status.busy": "2023-07-25T23:59:15.151061Z", - "iopub.status.idle": "2023-07-25T23:59:15.153606Z", - "shell.execute_reply": "2023-07-25T23:59:15.153341Z" - } - }, + "metadata": {}, "outputs": [], "source": [ - "feature_df = Caravan.drop(columns=['Purchase'])\n" + "feature_df = Caravan.drop(columns=['Purchase'])" ] }, { @@ -3025,22 +1354,14 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": null, "id": "6e26b14f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.155200Z", - "iopub.status.busy": "2023-07-25T23:59:15.155088Z", - "iopub.status.idle": "2023-07-25T23:59:15.156876Z", - "shell.execute_reply": "2023-07-25T23:59:15.156624Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "scaler = StandardScaler(with_mean=True,\n", " with_std=True,\n", - " copy=True)\n" + " copy=True)" ] }, { @@ -3064,21 +1385,13 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": null, "id": "bd178f38", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.158484Z", - "iopub.status.busy": "2023-07-25T23:59:15.158369Z", - "iopub.status.idle": "2023-07-25T23:59:15.164862Z", - "shell.execute_reply": "2023-07-25T23:59:15.164529Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "scaler.fit(feature_df)\n", - "X_std = scaler.transform(feature_df)\n" + "X_std = scaler.transform(feature_df)" ] }, { @@ -3092,44 +1405,15 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": null, "id": "18929b37", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.166628Z", - "iopub.status.busy": "2023-07-25T23:59:15.166522Z", - "iopub.status.idle": "2023-07-25T23:59:15.172686Z", - "shell.execute_reply": "2023-07-25T23:59:15.172394Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "MOSTYPE 1.000086\n", - "MAANTHUI 1.000086\n", - "MGEMOMV 1.000086\n", - "MGEMLEEF 1.000086\n", - "MOSHOOFD 1.000086\n", - " ... \n", - "AZEILPL 1.000086\n", - "APLEZIER 1.000086\n", - "AFIETS 1.000086\n", - "AINBOED 1.000086\n", - "ABYSTAND 1.000086\n", - "Length: 85, dtype: float64" - ] - }, - "execution_count": 55, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "feature_std = pd.DataFrame(\n", " X_std,\n", " columns=feature_df.columns);\n", - "feature_std.std()\n" + "feature_std.std()" ] }, { @@ -3148,17 +1432,9 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": null, "id": "9d439d0b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.174341Z", - "iopub.status.busy": "2023-07-25T23:59:15.174217Z", - "iopub.status.idle": "2023-07-25T23:59:15.178004Z", - "shell.execute_reply": "2023-07-25T23:59:15.177680Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "(X_train,\n", @@ -3167,7 +1443,7 @@ " y_test) = train_test_split(feature_std,\n", " Purchase,\n", " test_size=1000,\n", - " random_state=0)\n" + " random_state=0)" ] }, { @@ -3182,33 +1458,14 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": null, "id": "9b8c0171", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.179661Z", - "iopub.status.busy": "2023-07-25T23:59:15.179563Z", - "iopub.status.idle": "2023-07-25T23:59:15.228740Z", - "shell.execute_reply": "2023-07-25T23:59:15.228255Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(0.111, 0.067)" - ] - }, - "execution_count": 57, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "knn1 = KNeighborsClassifier(n_neighbors=1)\n", "knn1_pred = knn1.fit(X_train, y_train).predict(X_test)\n", - "np.mean(y_test != knn1_pred), np.mean(y_test != \"No\")\n" + "np.mean(y_test != knn1_pred), np.mean(y_test != \"No\")" ] }, { @@ -3235,76 +1492,12 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": null, "id": "f31b6e26", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.231007Z", - "iopub.status.busy": "2023-07-25T23:59:15.230866Z", - "iopub.status.idle": "2023-07-25T23:59:15.236660Z", - "shell.execute_reply": "2023-07-25T23:59:15.236308Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
TruthNoYes
Predicted
No88058
Yes539
\n", - "
" - ], - "text/plain": [ - "Truth No Yes\n", - "Predicted \n", - "No 880 58\n", - "Yes 53 9" - ] - }, - "execution_count": 58, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "confusion_table(knn1_pred, y_test)\n" + "metadata": {}, + "outputs": [], + "source": [ + "confusion_table(knn1_pred, y_test)" ] }, { @@ -3320,29 +1513,10 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": null, "id": "4a8c37aa", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.238783Z", - "iopub.status.busy": "2023-07-25T23:59:15.238652Z", - "iopub.status.idle": "2023-07-25T23:59:15.240970Z", - "shell.execute_reply": "2023-07-25T23:59:15.240677Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0.14516129032258066" - ] - }, - "execution_count": 59, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "9/(53+9)" ] @@ -3364,30 +1538,10 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": null, "id": "153662f8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.243142Z", - "iopub.status.busy": "2023-07-25T23:59:15.242998Z", - "iopub.status.idle": "2023-07-25T23:59:15.361575Z", - "shell.execute_reply": "2023-07-25T23:59:15.361121Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "K=1: # predicted to rent: 62, # who did rent 9, accuracy 14.5%\n", - "K=2: # predicted to rent: 6, # who did rent 1, accuracy 16.7%\n", - "K=3: # predicted to rent: 20, # who did rent 3, accuracy 15.0%\n", - "K=4: # predicted to rent: 4, # who did rent 0, accuracy 0.0%\n", - "K=5: # predicted to rent: 7, # who did rent 1, accuracy 14.3%\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ "for K in range(1,6):\n", " knn = KNeighborsClassifier(n_neighbors=K)\n", @@ -3401,7 +1555,7 @@ " K,\n", " pred,\n", " did_rent,\n", - " did_rent / pred))\n" + " did_rent / pred))" ] }, { @@ -3431,80 +1585,16 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": null, "id": "55b99a3f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.363863Z", - "iopub.status.busy": "2023-07-25T23:59:15.363724Z", - "iopub.status.idle": "2023-07-25T23:59:15.977575Z", - "shell.execute_reply": "2023-07-25T23:59:15.976720Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
TruthNoYes
Predicted
No93367
Yes00
\n", - "
" - ], - "text/plain": [ - "Truth No Yes\n", - "Predicted \n", - "No 933 67\n", - "Yes 0 0" - ] - }, - "execution_count": 61, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "logit = LogisticRegression(C=1e10, solver='liblinear')\n", "logit.fit(X_train, y_train)\n", "logit_pred = logit.predict_proba(X_test)\n", "logit_labels = np.where(logit_pred[:,1] > 5, 'Yes', 'No')\n", - "confusion_table(logit_labels, y_test)\n" + "confusion_table(logit_labels, y_test)" ] }, { @@ -3528,74 +1618,10 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": null, "id": "0c2ea9f5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:15.985560Z", - "iopub.status.busy": "2023-07-25T23:59:15.982679Z", - "iopub.status.idle": "2023-07-25T23:59:16.003941Z", - "shell.execute_reply": "2023-07-25T23:59:16.003195Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
TruthNoYes
Predicted
No91358
Yes209
\n", - "
" - ], - "text/plain": [ - "Truth No Yes\n", - "Predicted \n", - "No 913 58\n", - "Yes 20 9" - ] - }, - "execution_count": 62, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "logit_labels = np.where(logit_pred[:,1]>0.25, 'Yes', 'No')\n", "confusion_table(logit_labels, y_test)" @@ -3603,31 +1629,12 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": null, "id": "3a6bf0a4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:16.008994Z", - "iopub.status.busy": "2023-07-25T23:59:16.008534Z", - "iopub.status.idle": "2023-07-25T23:59:16.016981Z", - "shell.execute_reply": "2023-07-25T23:59:16.016219Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0.3103448275862069" - ] - }, - "execution_count": 63, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "9/(20+9)\n" + "metadata": {}, + "outputs": [], + "source": [ + "9/(20+9)" ] }, { @@ -3643,20 +1650,12 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": null, "id": "769300df", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:16.023095Z", - "iopub.status.busy": "2023-07-25T23:59:16.022781Z", - "iopub.status.idle": "2023-07-25T23:59:16.035934Z", - "shell.execute_reply": "2023-07-25T23:59:16.035109Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ - "Bike = load_data('Bikeshare')\n" + "Bike = load_data('Bikeshare')" ] }, { @@ -3669,34 +1668,12 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": null, "id": "02b351f5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:16.041066Z", - "iopub.status.busy": "2023-07-25T23:59:16.040686Z", - "iopub.status.idle": "2023-07-25T23:59:16.052636Z", - "shell.execute_reply": "2023-07-25T23:59:16.051825Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "((8645, 15),\n", - " Index(['season', 'mnth', 'day', 'hr', 'holiday', 'weekday', 'workingday',\n", - " 'weathersit', 'temp', 'atemp', 'hum', 'windspeed', 'casual',\n", - " 'registered', 'bikers'],\n", - " dtype='object'))" - ] - }, - "execution_count": 65, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Bike.shape, Bike.columns\n" + "metadata": {}, + "outputs": [], + "source": [ + "Bike.shape, Bike.columns" ] }, { @@ -3711,378 +1688,10 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": null, "id": "926c908d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:16.057570Z", - "iopub.status.busy": "2023-07-25T23:59:16.057196Z", - "iopub.status.idle": "2023-07-25T23:59:16.137767Z", - "shell.execute_reply": "2023-07-25T23:59:16.136885Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefstd errtP>|t|
intercept-27.20686.715-4.0520.000
mnth[Aug]11.81814.6982.5150.012
mnth[Dec]5.03284.2801.1760.240
mnth[Feb]-34.57974.575-7.5580.000
mnth[Jan]-41.42494.972-8.3310.000
mnth[July]3.89965.0030.7790.436
mnth[June]26.39384.6425.6860.000
mnth[March]-24.87354.277-5.8150.000
mnth[May]31.13224.1507.5010.000
mnth[Nov]18.88514.0994.6070.000
mnth[Oct]34.40934.0068.5890.000
mnth[Sept]25.25344.2935.8830.000
hr[1]-14.57935.699-2.5580.011
hr[2]-21.57915.733-3.7640.000
hr[3]-31.14085.778-5.3890.000
hr[4]-36.90755.802-6.3610.000
hr[5]-24.13555.737-4.2070.000
hr[6]20.59975.7043.6120.000
hr[7]120.09315.69321.0950.000
hr[8]223.66195.69039.3100.000
hr[9]120.58195.69321.1820.000
hr[10]83.80135.70514.6890.000
hr[11]105.42345.72218.4240.000
hr[12]137.28375.74023.9160.000
hr[13]136.03595.76023.6170.000
hr[14]126.63615.77621.9230.000
hr[15]132.08655.78022.8520.000
hr[16]178.52065.77230.9270.000
hr[17]296.26705.74951.5370.000
hr[18]269.44095.73646.9760.000
hr[19]186.25585.71432.5960.000
hr[20]125.54925.70422.0120.000
hr[21]87.55375.69315.3780.000
hr[22]59.12265.68910.3920.000
hr[23]26.83765.6884.7190.000
workingday1.26961.7840.7110.477
temp157.209410.26115.3210.000
weathersit[cloudy/misty]-12.89031.964-6.5620.000
weathersit[heavy rain/snow]-109.744676.667-1.4310.152
weathersit[light rain/snow]-66.49442.965-22.4250.000
\n", - "
" - ], - "text/plain": [ - " coef std err t P>|t|\n", - "intercept -27.2068 6.715 -4.052 0.000\n", - "mnth[Aug] 11.8181 4.698 2.515 0.012\n", - "mnth[Dec] 5.0328 4.280 1.176 0.240\n", - "mnth[Feb] -34.5797 4.575 -7.558 0.000\n", - "mnth[Jan] -41.4249 4.972 -8.331 0.000\n", - "mnth[July] 3.8996 5.003 0.779 0.436\n", - "mnth[June] 26.3938 4.642 5.686 0.000\n", - "mnth[March] -24.8735 4.277 -5.815 0.000\n", - "mnth[May] 31.1322 4.150 7.501 0.000\n", - "mnth[Nov] 18.8851 4.099 4.607 0.000\n", - "mnth[Oct] 34.4093 4.006 8.589 0.000\n", - "mnth[Sept] 25.2534 4.293 5.883 0.000\n", - "hr[1] -14.5793 5.699 -2.558 0.011\n", - "hr[2] -21.5791 5.733 -3.764 0.000\n", - "hr[3] -31.1408 5.778 -5.389 0.000\n", - "hr[4] -36.9075 5.802 -6.361 0.000\n", - "hr[5] -24.1355 5.737 -4.207 0.000\n", - "hr[6] 20.5997 5.704 3.612 0.000\n", - "hr[7] 120.0931 5.693 21.095 0.000\n", - "hr[8] 223.6619 5.690 39.310 0.000\n", - "hr[9] 120.5819 5.693 21.182 0.000\n", - "hr[10] 83.8013 5.705 14.689 0.000\n", - "hr[11] 105.4234 5.722 18.424 0.000\n", - "hr[12] 137.2837 5.740 23.916 0.000\n", - "hr[13] 136.0359 5.760 23.617 0.000\n", - "hr[14] 126.6361 5.776 21.923 0.000\n", - "hr[15] 132.0865 5.780 22.852 0.000\n", - "hr[16] 178.5206 5.772 30.927 0.000\n", - "hr[17] 296.2670 5.749 51.537 0.000\n", - "hr[18] 269.4409 5.736 46.976 0.000\n", - "hr[19] 186.2558 5.714 32.596 0.000\n", - "hr[20] 125.5492 5.704 22.012 0.000\n", - "hr[21] 87.5537 5.693 15.378 0.000\n", - "hr[22] 59.1226 5.689 10.392 0.000\n", - "hr[23] 26.8376 5.688 4.719 0.000\n", - "workingday 1.2696 1.784 0.711 0.477\n", - "temp 157.2094 10.261 15.321 0.000\n", - "weathersit[cloudy/misty] -12.8903 1.964 -6.562 0.000\n", - "weathersit[heavy rain/snow] -109.7446 76.667 -1.431 0.152\n", - "weathersit[light rain/snow] -66.4944 2.965 -22.425 0.000" - ] - }, - "execution_count": 66, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "X = MS(['mnth',\n", " 'hr',\n", @@ -4091,7 +1700,7 @@ " 'weathersit']).fit_transform(Bike)\n", "Y = Bike['bikers']\n", "M_lm = sm.OLS(Y, X).fit()\n", - "summarize(M_lm)\n" + "summarize(M_lm)" ] }, { @@ -4115,21 +1724,13 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": null, "id": "064b24d1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:16.142403Z", - "iopub.status.busy": "2023-07-25T23:59:16.141745Z", - "iopub.status.idle": "2023-07-25T23:59:16.146332Z", - "shell.execute_reply": "2023-07-25T23:59:16.145086Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "hr_encode = contrast('hr', 'sum')\n", - "mnth_encode = contrast('mnth', 'sum')\n" + "mnth_encode = contrast('mnth', 'sum')" ] }, { @@ -4142,378 +1743,10 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": null, "id": "27c1aa54", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:16.150801Z", - "iopub.status.busy": "2023-07-25T23:59:16.150164Z", - "iopub.status.idle": "2023-07-25T23:59:16.223980Z", - "shell.execute_reply": "2023-07-25T23:59:16.222963Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefstd errtP>|t|
intercept73.59745.13214.3400.000
mnth[Jan]-46.08714.085-11.2810.000
mnth[Feb]-39.24193.539-11.0880.000
mnth[March]-29.53573.155-9.3610.000
mnth[April]-4.66222.741-1.7010.089
mnth[May]26.47002.8519.2850.000
mnth[June]21.73173.4656.2720.000
mnth[July]-0.76263.908-0.1950.845
mnth[Aug]7.15603.5352.0240.043
mnth[Sept]20.59123.0466.7610.000
mnth[Oct]29.74722.70011.0190.000
mnth[Nov]14.22292.8604.9720.000
hr[0]-96.14203.955-24.3070.000
hr[1]-110.72133.966-27.9160.000
hr[2]-117.72124.016-29.3100.000
hr[3]-127.28284.081-31.1910.000
hr[4]-133.04954.117-32.3190.000
hr[5]-120.27754.037-29.7940.000
hr[6]-75.54243.992-18.9250.000
hr[7]23.95113.9696.0350.000
hr[8]127.51993.95032.2840.000
hr[9]24.43993.9366.2090.000
hr[10]-12.34073.936-3.1350.002
hr[11]9.28143.9452.3530.019
hr[12]41.14173.95710.3970.000
hr[13]39.89393.97510.0360.000
hr[14]30.49403.9917.6410.000
hr[15]35.94453.9958.9980.000
hr[16]82.37863.98820.6550.000
hr[17]200.12493.96450.4880.000
hr[18]173.29893.95643.8060.000
hr[19]90.11383.94022.8720.000
hr[20]29.40713.9367.4710.000
hr[21]-8.58833.933-2.1840.029
hr[22]-37.01943.934-9.4090.000
workingday1.26961.7840.7110.477
temp157.209410.26115.3210.000
weathersit[cloudy/misty]-12.89031.964-6.5620.000
weathersit[heavy rain/snow]-109.744676.667-1.4310.152
weathersit[light rain/snow]-66.49442.965-22.4250.000
\n", - "
" - ], - "text/plain": [ - " coef std err t P>|t|\n", - "intercept 73.5974 5.132 14.340 0.000\n", - "mnth[Jan] -46.0871 4.085 -11.281 0.000\n", - "mnth[Feb] -39.2419 3.539 -11.088 0.000\n", - "mnth[March] -29.5357 3.155 -9.361 0.000\n", - "mnth[April] -4.6622 2.741 -1.701 0.089\n", - "mnth[May] 26.4700 2.851 9.285 0.000\n", - "mnth[June] 21.7317 3.465 6.272 0.000\n", - "mnth[July] -0.7626 3.908 -0.195 0.845\n", - "mnth[Aug] 7.1560 3.535 2.024 0.043\n", - "mnth[Sept] 20.5912 3.046 6.761 0.000\n", - "mnth[Oct] 29.7472 2.700 11.019 0.000\n", - "mnth[Nov] 14.2229 2.860 4.972 0.000\n", - "hr[0] -96.1420 3.955 -24.307 0.000\n", - "hr[1] -110.7213 3.966 -27.916 0.000\n", - "hr[2] -117.7212 4.016 -29.310 0.000\n", - "hr[3] -127.2828 4.081 -31.191 0.000\n", - "hr[4] -133.0495 4.117 -32.319 0.000\n", - "hr[5] -120.2775 4.037 -29.794 0.000\n", - "hr[6] -75.5424 3.992 -18.925 0.000\n", - "hr[7] 23.9511 3.969 6.035 0.000\n", - "hr[8] 127.5199 3.950 32.284 0.000\n", - "hr[9] 24.4399 3.936 6.209 0.000\n", - "hr[10] -12.3407 3.936 -3.135 0.002\n", - "hr[11] 9.2814 3.945 2.353 0.019\n", - "hr[12] 41.1417 3.957 10.397 0.000\n", - "hr[13] 39.8939 3.975 10.036 0.000\n", - "hr[14] 30.4940 3.991 7.641 0.000\n", - "hr[15] 35.9445 3.995 8.998 0.000\n", - "hr[16] 82.3786 3.988 20.655 0.000\n", - "hr[17] 200.1249 3.964 50.488 0.000\n", - "hr[18] 173.2989 3.956 43.806 0.000\n", - "hr[19] 90.1138 3.940 22.872 0.000\n", - "hr[20] 29.4071 3.936 7.471 0.000\n", - "hr[21] -8.5883 3.933 -2.184 0.029\n", - "hr[22] -37.0194 3.934 -9.409 0.000\n", - "workingday 1.2696 1.784 0.711 0.477\n", - "temp 157.2094 10.261 15.321 0.000\n", - "weathersit[cloudy/misty] -12.8903 1.964 -6.562 0.000\n", - "weathersit[heavy rain/snow] -109.7446 76.667 -1.431 0.152\n", - "weathersit[light rain/snow] -66.4944 2.965 -22.425 0.000" - ] - }, - "execution_count": 68, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "X2 = MS([mnth_encode,\n", " hr_encode,\n", @@ -4552,30 +1785,12 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": null, "id": "dd0114c8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:16.228972Z", - "iopub.status.busy": "2023-07-25T23:59:16.228601Z", - "iopub.status.idle": "2023-07-25T23:59:16.238595Z", - "shell.execute_reply": "2023-07-25T23:59:16.237798Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "4.090076132857841e-19" - ] - }, - "execution_count": 69, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.sum((M_lm.fittedvalues - M2_lm.fittedvalues)**2)\n" + "metadata": {}, + "outputs": [], + "source": [ + "np.sum((M_lm.fittedvalues - M2_lm.fittedvalues)**2)" ] }, { @@ -4589,31 +1804,12 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": null, "id": "292585a1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:16.243655Z", - "iopub.status.busy": "2023-07-25T23:59:16.243153Z", - "iopub.status.idle": "2023-07-25T23:59:16.252786Z", - "shell.execute_reply": "2023-07-25T23:59:16.252026Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 70, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.allclose(M_lm.fittedvalues, M2_lm.fittedvalues)\n" + "metadata": {}, + "outputs": [], + "source": [ + "np.allclose(M_lm.fittedvalues, M2_lm.fittedvalues)" ] }, { @@ -4632,43 +1828,13 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": null, "id": "e05e0575", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:16.257683Z", - "iopub.status.busy": "2023-07-25T23:59:16.257311Z", - "iopub.status.idle": "2023-07-25T23:59:16.267187Z", - "shell.execute_reply": "2023-07-25T23:59:16.266452Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "mnth[Jan] -46.0871\n", - "mnth[Feb] -39.2419\n", - "mnth[March] -29.5357\n", - "mnth[April] -4.6622\n", - "mnth[May] 26.4700\n", - "mnth[June] 21.7317\n", - "mnth[July] -0.7626\n", - "mnth[Aug] 7.1560\n", - "mnth[Sept] 20.5912\n", - "mnth[Oct] 29.7472\n", - "mnth[Nov] 14.2229\n", - "Name: coef, dtype: float64" - ] - }, - "execution_count": 71, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "coef_month = S2[S2.index.str.contains('mnth')]['coef']\n", - "coef_month\n" + "coef_month" ] }, { @@ -4681,41 +1847,10 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": null, "id": "9f04a25e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:16.272068Z", - "iopub.status.busy": "2023-07-25T23:59:16.271356Z", - "iopub.status.idle": "2023-07-25T23:59:16.283167Z", - "shell.execute_reply": "2023-07-25T23:59:16.282005Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "mnth[Jan] -46.0871\n", - "mnth[Feb] -39.2419\n", - "mnth[March] -29.5357\n", - "mnth[April] -4.6622\n", - "mnth[May] 26.4700\n", - "mnth[June] 21.7317\n", - "mnth[July] -0.7626\n", - "mnth[Aug] 7.1560\n", - "mnth[Sept] 20.5912\n", - "mnth[Oct] 29.7472\n", - "mnth[Nov] 14.2229\n", - "mnth[Dec] 0.3705\n", - "dtype: float64" - ] - }, - "execution_count": 72, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "months = Bike['mnth'].dtype.categories\n", "coef_month = pd.concat([\n", @@ -4724,7 +1859,7 @@ " index=['mnth[Dec]'\n", " ])\n", " ])\n", - "coef_month\n" + "coef_month" ] }, { @@ -4738,28 +1873,10 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": null, "id": "20c7c054", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:16.292541Z", - "iopub.status.busy": "2023-07-25T23:59:16.292061Z", - "iopub.status.idle": "2023-07-25T23:59:16.444617Z", - "shell.execute_reply": "2023-07-25T23:59:16.443792Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsgAAALDCAYAAAAIbPa1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACQw0lEQVR4nOzdd3zTdf4H8Nc3aZI2HelugS5WmaJQVkFAZblPwYWiUOeheCrqKd4dnuN+eMopODk9WSpOOAeeyhDLKqtlj5bVTTdN2qZN0uT7+yNNbIHStE36zXg9H488rk3yTd65GvrqJ+/v+yOIoiiCiIiIiIgAADKpCyAiIiIicicMyEREREREzTAgExERERE1w4BMRERERNQMAzIRERERUTMMyEREREREzTAgExERERE1w4BMRERERNSMn9QFeAuLxYLi4mIEBwdDEASpyyEiIiKi84iiiJqaGnTv3h0yWevrxAzITlJcXIz4+HipyyAiIiKiNhQUFCAuLq7V2xmQnSQ4OBiA9f/wkJAQiashIiIiovPpdDrEx8fbc1trGJCdxNZWERISwoBMRERE5MbaaoflSXpERERERM0wIBMRERERNcOATERERETUDAMyEREREVEzDMhERERERM0wIBMRERERNcOATERERETUDAMyEREREVEzDMhERERERM0wIBMRERERNcOATERERETUDAMyEREREVEzDMhERERERM0wIBMRERERNcOATERERETUDAMyEREREVEzDMhERERERM34SV0AERERkauIoohzehPqDI0IVPkhTK2AIAhSl0VujgGZiIiIvI623oQ1mYVYuSMXeVV6+/WJ4WrMGpOE6Slx0AQoJKyQ3JnXt1h88MEHGDJkCEJCQhASEoLU1FT89NNP9tsbGhrw2GOPISIiAkFBQZg+fTpKS0slrJiIiIg6Iz2nHKkLN+GVdUeR3ywcA0B+lR6vrDuK1IWbkJ5TLlGF5O68PiDHxcXhtddeQ2ZmJvbu3YtrrrkGf/jDH3DkyBEAwFNPPYUffvgBX3/9NdLT01FcXIxp06ZJXDURERF1RHpOOdKW70a9yQwRgHje7bbr6k1mpC3fzZBMFyWIonj+fzteLzw8HG+88QZuu+02REVFYfXq1bjtttsAAMePH8eAAQOQkZGB0aNHO/yYOp0OGo0GWq0WISEhriqdiIiIWqGtNyF1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YmKiHnjgAT3zzDNat26damtr1draqo0bN4Y1OZYkw4y0Q9UxrH379lkvhlRUVKioqCjMPQIwXpz2/DttPACcgRnkKNTU1GRdp6enh7EnAMab055/p40HgDMwgxxlrl+/rszMTDU3NyshIUHt7e3yeDzh7haAceC0599p4wHgHLykFwUuXbqk1tZWtbS0aNu2bWpubpYkFRUV8csEcDinPf9OGw8AZ2IGOQps375db731VtBnc+bMkc/nU3x8fJh6BWA8OO35d9p4ADgTM8hRwjAMJSYmaubMmVq6dKmKi4vldrvD3S0A48Bpz7/TxgPAeZhBBgAAAGzYxQIAAACwIUEGAAAAbEiQAQAAABsSZAAAAMCGBBkAEBFaWlpkGIYMw9BHH30U7u4AuI2RIANAmPj9fishNAxDkyZNUldX17Dluru7lZiYGFTW7/ePfYcB4DZBggwAEeLq1as6cODAsHEHDx7UlStXxr5DoyQ1NVWGYWj16tXh7goAjAgJMgBEgMAxy1VVVcPGBmI4mhkAxgYJMgBEgEWLFkmSfD6fLly4MGTc77//rsOHD0uSXnrppXHpGwDcbkiQASACLFiwQF6vVzdu3FBNTc2QcTU1Nert7ZXX69Vzzz03jj0EgNsHCTIARICYmBitWLFCUuhlFrt375YkrVy5UjExMcPW29PTo/Lycs2bN09Tp07VHXfcIa/XqxdeeEF79uxRX1/fkGVXr14twzCUmpoqSbp8+bI2b96sjIwMxcXFafLkyXr22We1d+/eQcvPnTtXhmHot99+kyR9/PHHQS8WGoahuXPnhuy/z+dTbm6uvF6v3G63HnroIRUXF6u1tXXYsQPArSJBBoAIUVhYKEn67rvv1NTUNOD+mTNnVF9fHxQbSktLix577DG9+eab8vv9unjxov755x+1t7friy++UGFhobKzs9XR0TFsXT/99JNmz56tkpISnTlzRl1dXfrrr7907Ngxvfzyy1q7du1/HO3wNmzYoAULFujQoUNqb29XT0+PWlpa9P777+vxxx/XDz/8MOptAoBEggwAEWP27NnKyMiQNPgscuCzzMxMzZo1K2RdV69eVU5Ojn788UdJ0uLFi/XZZ5+prq5On376qbKzsyVJ33zzjXJzc3Xjxo0h6+rq6lJubq4uXbqkTZs2ye/3q66uThUVFbr//vslSWVlZfryyy+DylVWVqqhoUHTpk2T1L9muqGhIeinsrJy0DYrKipUWlqq7OxsVVdXq66uTl999ZVeeeUVSdIff/yhV199NeR3AAC3zAQAhMXRo0dNSaYks7Ky0jRN09y6daspyUxJSTH7+vqs2L6+PjMlJcWUZL733numaZpmZWWlVf7o0aNBda9fv966t2nTpgFt9/X1mQUFBVZMeXn5gJhVq1ZZ9xMTE83GxsYBMT///LPp8XhMSeaiRYsGHeeDDz5oSjJXrVoV8vv49ddfrfYkmWvWrAn6DgKKioqsmPr6+pB1AsCtYAYZACJIQUGBXC6Xzp07F3T4h9/v17lz5+RyubRy5cqQdVy/fl0ffvihJCkjI0NbtmwZEGMYhsrLyzVlyhRJ0s6dO0PWWVJSYs1u282YMUOLFy+W1D8bPVqSkpK0Y8cOGYYx4N769eut62PHjo1amwAQQIIMABEkOTlZ8+bNkxS8zCJwPX/+fCUnJ4es49SpU7p8+bKk/hfthnqZLyEhQUuXLpXUv775/Pnzg8YZhhEyKc/KypIkdXR0WO3+v/Lz8+V2uwe998gjjyg+Pl6S9Msvv4xKewBgR4IMABEmsM62trZW3d3d6u7u1v79+4PuhdLY2GhdP/HEEyFj7fft5ezuuecea6Z5MHfffbd13dnZOWz/RiI9PT3k/bvuumtU2wMAOxJkAIgwS5YsUWxsrK5cuaKDBw/qwIED6uzsVFxcnJYsWTJsefuuFPfee2/IWK/XO2g5u9jY2JB1uFz/+1US6mW//2KkbY5WewBgNyHcHQAABIuPj1deXp727t2rqqoqmaYpScrLy1NcXNx/qmuwNbwAgNCYQQaACBRYSnH48GH5fL6gz4ZjX/LQ3t4eMtZ+rLW9HADczkiQASAC5eTkKCkpSb29vert7dW0adOUk5MzorKZmZnW9bfffhsy9sSJE4OWG03MYgOINiTIABCBYmJiVFhYKLfbLbfbrcLCwqC1vqFkZWVp8uTJkvqPdx7qOOnOzk598sknkqRHH31USUlJo9L3m3k8Hkn9288BQDQgQQaACLV161Zdu3ZN165dU2lp6YjLud1uFRUVSerfmaKkpGRAjGmaWrt2rS5evChJY3JUdEAg8T579uyYtQEAo4kEGQAcaPPmzZo+fbokacuWLcrPz9fnn3+u+vp61dbWav78+dq9e7ck6cknn9Trr78+Zn156qmnJEknT55UaWmpTp8+rebmZjU3N6utrW3M2gWAW0WCDAAONGnSJB05csTaT7i2tlYvvviisrKylJ+fb53S9/TTT+vQoUNDHiYyGoqLi60XADds2KBZs2YpLS1NaWlpKigoGLN2AeBWkSADgEOlpqbq9OnT2rlzp7KzszVlyhRNnDhR9913nxYuXKiqqip9/fXXY757RXJysk6cOKHXXntNM2bMsNYkA0CkMszABpsAAAAAmEEGAAAA7EiQAQAAABsSZAAAAMCGBBkAAACwIUEGAAAAbEiQAQAAABsSZAAAAMCGBBkAAACwIUEGAAAAbEiQAQAAABsSZAAAAMCGBBkAAACwIUEGAAAAbEiQAQAAABsSZAAAAMDmX/vPz1Ghbu6YAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig_month, ax_month = subplots(figsize=(8,8))\n", "x_month = np.arange(coef_month.shape[0])\n", @@ -4767,7 +1884,7 @@ "ax_month.set_xticks(x_month)\n", "ax_month.set_xticklabels([l[5] for l in coef_month.index], fontsize=20)\n", "ax_month.set_xlabel('Month', fontsize=20)\n", - "ax_month.set_ylabel('Coefficient', fontsize=20);\n" + "ax_month.set_ylabel('Coefficient', fontsize=20);" ] }, { @@ -4780,23 +1897,16 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": null, "id": "3f83f4bf", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:16.449734Z", - "iopub.status.busy": "2023-07-25T23:59:16.449373Z", - "iopub.status.idle": "2023-07-25T23:59:16.458325Z", - "shell.execute_reply": "2023-07-25T23:59:16.456791Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "coef_hr = S2[S2.index.str.contains('hr')]['coef']\n", "coef_hr = coef_hr.reindex(['hr[{0}]'.format(h) for h in range(23)])\n", "coef_hr = pd.concat([coef_hr,\n", " pd.Series([-coef_hr.sum()], index=['hr[23]'])\n", - " ])\n" + " ])" ] }, { @@ -4809,28 +1919,10 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": null, "id": "86e9a741", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:16.463694Z", - "iopub.status.busy": "2023-07-25T23:59:16.463309Z", - "iopub.status.idle": "2023-07-25T23:59:16.589630Z", - "shell.execute_reply": "2023-07-25T23:59:16.589275Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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rVtZQBORReDEQiIiauH48eNoamoCAIMFtI6/vz9CQ0NbHWMus2bNgouLi1l/BhFRe7GIJiLqYmJjYyGEaPMrKirK4PH6t4KMHTvW5M/S7a+trcWNGzeU64QBw4cPN+vrExHJwSKaiIhaqKiokLZ9fHxMtu3Vq5fB48zBw8PDrK9PRCQHi2giIjLKku4/trW1VTsEIiIJi2giImqhR48e0vadO3dMti0vLzd4HADY2DQPMVqt1uRr1NTUyA2RiEh1LKKJiKiFoUOHSttnzpwx2fbs2bMAAGdnZ/Tv37/FPt0kQN1SecZcuXKlI2ESEamKRTQREbUwadIk6daJ5ORko+2+/fZbZGRktDpGJyAgAADw1VdfQQhh8DUuXryIoqIiJcImIupULKKJiKgFX19fhIeHAwD+9a9/4aOPPmrVpqGhAdHR0Xj48CEAYPny5a3aTJw4EUDzutOffvppq/337983uYQeEZElYxFNREStJCYmSqthREdHY/HixcjMzER+fj4++eQTjB07FllZWQAgPb3wUXPnzoWrqyuA5vWmN27ciDNnzuDs2bPYvn07Ro0ahcLCQowcObLzOkZEpBA+sZCIiFrp06cPsrKyMHPmTJSVlSEpKQlJSUmt2s2ePdvgmWoA8Pb2RlJSEiIjI1FXV4fY2FjExsZK+52cnJCamoojR46goKDAbH0hIjIHnokmIiKDRo4cicuXLyMuLg5jx46Fu7s77O3t4evri9mzZ+PQoUPYt28fHB0djb7Gr371K5w+fRrh4eHw9vaGvb09+vbti6ioKJw7dw4vvfRSJ/aIiEg5GmFstgcRERERERnEM9FERERERDKxiCYiIiIikolFNBERERGRTCyiiYiIiIhkYhFNRERERCQTi2giIiIiIplYRBMRERERycQimoiIiIhIJhbRREREREQysYgmIiIiIpKJRTQRERERkUwsoomIiIiIZGIRTUREREQkE4toIiIiIiKZWEQTEREREcn0f1rE64JhTM86AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig_hr, ax_hr = subplots(figsize=(8,8))\n", "x_hr = np.arange(coef_hr.shape[0])\n", @@ -4838,7 +1930,7 @@ "ax_hr.set_xticks(x_hr[::2])\n", "ax_hr.set_xticklabels(range(24)[::2], fontsize=20)\n", "ax_hr.set_xlabel('Hour', fontsize=20)\n", - "ax_hr.set_ylabel('Coefficient', fontsize=20);\n" + "ax_hr.set_ylabel('Coefficient', fontsize=20);" ] }, { @@ -4855,19 +1947,12 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": null, "id": "a9448278", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:16.591638Z", - "iopub.status.busy": "2023-07-25T23:59:16.591489Z", - "iopub.status.idle": "2023-07-25T23:59:16.661619Z", - "shell.execute_reply": "2023-07-25T23:59:16.660835Z" - } - }, + "metadata": {}, "outputs": [], "source": [ - "M_pois = sm.GLM(Y, X2, family=sm.families.Poisson()).fit()\n" + "M_pois = sm.GLM(Y, X2, family=sm.families.Poisson()).fit()" ] }, { @@ -4880,17 +1965,9 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": null, "id": "ec8505be", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:16.666429Z", - "iopub.status.busy": "2023-07-25T23:59:16.666119Z", - "iopub.status.idle": "2023-07-25T23:59:16.691878Z", - "shell.execute_reply": "2023-07-25T23:59:16.690343Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "S_pois = summarize(M_pois)\n", @@ -4914,37 +1991,10 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": null, "id": "0b8a5edf", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:16.696339Z", - "iopub.status.busy": "2023-07-25T23:59:16.696023Z", - "iopub.status.idle": "2023-07-25T23:59:16.992754Z", - "shell.execute_reply": "2023-07-25T23:59:16.992369Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/16/8y65_zv174qgdp4ktlmpv12h0000gq/T/ipykernel_33380/3779905754.py:8: UserWarning: FixedFormatter should only be used together with FixedLocator\n", - " ax_hr.set_xticklabels(range(24)[::2], fontsize=20)\n" - ] - }, - { - "data": { - "image/png": "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ya6accsO6gAAT9MifQWPPvqoDMPQE088ocTERP3000+y2WySpL/85S/O4wzDkJ+fn2bPnq2pU6e2xKUBUyWeWn/zrHbhigr17vWyAADwRoxjzTH+3Pb6n893acvhbB3JLFTn6FCzI6EBUrKYwQkA8EzNnsHp8Nhjj2nr1q2aMmWK2rRpc8YnzREREbrlllu0ZcsWPfjggy11WcBUv7ans/4mAABWxTjW/dpGBGvoqfETmw1ZBy3qAABP1aIrQ5999tl66623JFUtip6WlqaKigrFxMSoe/fusttbrJ4KeIQNB1h/EwAAb8A41v0mDOigtckZWrotVb+/tKfZcdAAjgInLeoAAE/jsq3vunTpoi5durjq5QHTZeSXaO+Jql1ML2QHdQAAvAbjWPcY17+9nlyyQ7uP52nviTz1bhdudiTUI8VZ4Aw2OQkAANXxUTTQRKevvxkdxvqbAAAAjREZGqCRvas2a/psK23qnq6solIncqs2GerYmhmcAADP0uIzODdt2qSVK1dqx44dysysKgBFR0erf//+Gj16tAYNGtTSlwRMseFUgXMI7ekAAHgFxrHuN35AB638JU2fbUvVI2N6Ozd4guc5kVusSkMK9LOrTViQ2XEAAKimxQqc27dv1z333KPExMRaj/nTn/6kIUOG6PXXX9c555zTUpcGTMEGQwAAeAfGsea5vG87hQT46XBmobYdzdF5naPMjoRaOHZQbx8VLLudQjQAwLO0SIv6ypUrdeGFFyoxMdG526S/v7/atWundu3ayd/f3/n4+vXrdeGFF+qbb75piUsDpsgqKNXu43mSpAu7MYMTAACrYhxrrtBAf43u204SbeqeLjWHHdQBAJ6r2QXOkydP6sYbb1RJSYlsNpvuuusubdiwQQUFBUpNTVVqaqoKCwuVmJiou+++W35+fiopKdGNN96ojIyMlvgaALdLPFjVttazbSu1aUWLDgAAVsQ41jNMGNBBkrTs51RVVBomp0FtUrOr1t9kB3UAgCdqdoHzpZdeUk5OjgIDA/X555/rX//6ly644AL5+//a/e7n56fBgwfr9ddf1+eff66AgADl5OTopZdeau7lAbcyDEOZBaVaseu4JGlIt9YmJwIAAE3FONYzjOjdRhHB/krLK9GGAxSOPdXRLMcO6hQ4AQCep9kFzs8//1w2m0333XefrrjiinqPHzNm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nuw83iy1/d3p7++v6OhodevWTSNGjNDDDz+sxYsXq7S01LSs8B0bN27UX/7yF40ZM0adOnVSUFCQWrVqpd69e2vKlCn68ccfzY6IJnj88cc9djyFmh0+fFgzZ87U4MGDFRsbq+DgYHXu3FnDhw/XU089pR07dpgdEb9RWlqqN998U1dccYXat2/v/P/nWWedpSlTplhi7Opt0tLStGzZMj311FMaN26c2rRp4/z/4OTJkxv9el9++aWuu+4659+PnTp10nXXXacvv/yy5cPjDP5mBwA8WX5+vj799FPdeuutdR63ZMkS5ebmuilV47399tvV/vzOO+8oISHBpDT185bvO9zLau/zdevW6eabb9bhw4fPeO7kyZM6efKkNm7cqPnz56tdu3Y6fvy4CSnP9MYbb2jGjBnKyMio9nhRUZFyc3O1b98+LVq0SH379tXrr7+uiy++2KSktfvoo4/0xBNP6JxzzjE7SpNUVFQoKytLWVlZOnjwoH744QfNmTNHsbGxeuCBBzR9+nT5+zPEQ8sbMWKEfvjhhzMeLy0t1b59+7Rv3z4tWLBAd955p9544w0FBgaakBKNtXXrVr3wwgtmx0AjvPzyy5oxY4YKCgqqPX706FEdPXpUP/74o3JzczVnzhxzAuIMhw4d0lVXXaWdO3dWe7y0tFR79+7V3r17tWDBAt1///166aWXTP2A1Ze0a9euRV6nsrJS99xzj956661qj6ekpCglJUWffvqp7rrrLr3++uuy25ln6Cp8Z+F206ZN0/bt2+u8XXvttWbHVHBwsCTp3XffrfdYxzGOczxJUVGRPv74Y0lSq1atJEkffvihSkpKzIxVK2/5vsO9rPY+37t3r6644gpncXPChAl65513tH79em3evFnLly/X3/72N40ZM0YBAQEmp/3Vo48+qnvuuUcZGRny9/fX7bffrg8//FAbNmzQDz/8oDfffFOXXXaZJGnXrl0aPXq08+fiSQzD0MyZM82O0Si//btz3bp1+uKLLzRr1ixdfvnlstlsSk9P15NPPqlhw4YpPT3d7MjwQqmpqZKkDh066MEHH9THH3+sxMRErVu3Ti+88II6duwoqeoDpqbMfIH7Of5RXl5errZt25odBw3wP//zP3rggQdUUFCg3r17629/+5tWrVqlLVu2aOXKlfrb3/6mhIQEiigepKysrFpx89xz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bEePHnXe79SpU53Hdu7c2Xn/yJEjLsvkyyhwwu3mzp2rc845p9bbq6++anbEam677TbZ7XYdOXJEq1atcj6+atUqHTlypFpbrCc5vaV04sSJ1Z676aabnG2ynja7zcGq33e4l1Xf5w8//LB+97vfOf988OBB/eMf/9DNN9+s7t27Ky4uTjfffLOWLl1q+ho9J0+edN6Pi4tr9PmnL9qekZHRIplaQtu2bXXfffdJkr777jt99913JidqOTExMc77WVlZJiaBr3nxxRed69pef/31GjRokMmJ8Fs//PCD3nzzTfn7++u1115zrtkLz5aTk+Ps9ti+fbv+8Y9/qH379nrvvfeUmZmpwsJCrV692rn+39q1a6uNM2C+CRMmaNOmTbrrrru0detWTZo0SUOHDtXll1+up59+WqGhoZozZ45++OGHZm14A/fKy8tz3m/VqlWdxzo+WJek/Px8l2XyZRQ4gXp07NjRuWD+6e3SjvuXXXaZsy3WU5SXl2vRokWSpPHjx5/R4hAdHa0rr7xSUtX6hZ7YHmvF7zvcy8rvc7vdrrfeekvLly/X2LFjz9go4MSJE/rggw80YcIEXXjhhaZu1NGYgVtNTj8nNze3RTK1lMcee0zh4eGSvGstztO/56f//ABXWr16taZPny6p6gOEuXPnmpwIv1VaWqp77rlHhmHo4YcfVv/+/c2OhAYqKChw3i8uLlZoaKi+++473XbbbWrdurVCQkI0YsQIffvtt87Oif/85z/asGGDWZHxG6WlpXrnnXdq3WDmxIkTeu+995wbZ8IaHJtwStXX2a9JUFCQ875jw1G0LAqccLuZM2fKMIxab08//bTZEc/gaIVevHixioqKVFRUpI8//rjac57k66+/1okTJySd2bbr4Hj86NGjHjtzyWrfd7iXN7zPL7/8cn355ZfKyMjQF198oWeeeUbjx4+vts7lxo0bNXz4cB07dsyUjI4CoNS0T5tPP8fT1pOKiYlxboS0Zs0aff311+YGaiGnFzU97XsO77Rz505dd911Ki8vV3BwsD766CO1bdvW7Fj4jf/93//V7t271aVLF82cOdPsOGiE4ODgan++6667qm1c4xASEqK//vWvzj9/8MEHLs+G+hUUFGj06NF67rnnlJmZqT/+8Y/65ZdfVFJSopycHC1fvlwXX3yxNm7cqGuvvVYvvPCC2ZHRQKf/bpaWltZ57Olr4zrWqEfLosAJNMD111+v0NBQ5ebmasmSJfr000+Vl5ensLAwXX/99WbHO4OjHTcmJkZjx46t8Zirr75aUVFR1Y73NFb7vsO9vOV9LlUVocaNG6ennnpKn332mU6cOKF58+apdevWkqRjx46ZNsPw9M0njh8/3ujzHUVoqXrrtKf4wx/+4HyPeMs/+E9fViA6OtrEJPAFBw4c0JgxY5SVlSU/Pz/9+9//1ogRI8yOhd/YvXu3nnvuOUnSyy+/XK1VEp7v9A8bJWnMmDG1Hjtq1ChnZ8hPP/3k0lxomKefftq56d9bb72l559/Xn369FFgYKAiIiJ0+eWX67vvvtOll14qwzD02GOPVVsDHZ6rMRMBTp+J3ZSuKNSPAifQAK1atdJ1110nqapF2tEmfd1113ncADEnJ0efffaZpKr17gIDA2Wz2c64BQcHOxcf/+STT6r9D9dTWOn7Dvfypvd5TYKCgjRlyhS9//77zsc++eQTU9rszz33XOf9LVu2NOrciooK5yZQsbGx6tChQ4tmawlRUVH6wx/+IEnasGGDli1bZnKi5jv951TTDB+gpaSmpmr06NFKTU2VzWbTvHnzdM0115gdCzV48cUXVVpaqu7du6uwsFD//ve/z7idvmHNt99+63zcKn93erOgoCDFxsY6/3z6ZiW/FRwc7PxwMj093eXZUDfDMDRv3jxJUu/evTVp0qQaj/P399ezzz4rqWpTqQULFrgrIprh9I2FTt9wqCanbyxU1+8wms6//kMASFUt0QsXLtTy5curPeZpPvzww2prgTREfn6+PvnkE91xxx0uStV0Vvm+w7287X1emyuuuEKdO3fWkSNHlJWVpYyMjGr/wHGH/v37Kzo6WpmZmfr++++Vk5NTrYW+LitXrlRhYaEkafjw4a6M2SwPPfSQXnrpJWVkZGjmzJm6+uqrzY7ULCtWrHDev/jii01MAm928uRJXX755dq/f7+kqlmB/P3suRytkfv379ctt9xS7/GOQotUNUuXD5bN169fP+fGmxUVFXUe63j+t2t8w/1OnDihzMxMSdLAgQPrPPb0jdl2797t0lxoGX379nXer+9ndvrzZ599tssy+TL+jwc00KhRo9S+fXvnOngdOnTQqFGjTE51Jkcbbvv27Ru0fstjjz2mo0eP6p133vHIwo9Vvu9wL297n9elQ4cOzk98zdjt1maz6c4779ScOXNUVFSkN954Q48++miDzn355Zed9ydPnuyihM0XHh6uxx57TNOnT9fmzZv1n//8x+xITbZjxw598803kqpmBwwePNjkRPBGOTk5uuKKK7Rr1y5J0qxZs/T73//e5FSAdxsxYoSzwLl///5ai2W5ubnOpUrYkNN8pxeZy8vL6zy2rKysxvPgubp166YOHTooNTVVq1evrvPY77//XlLV72V8fLwb0vkefmuABvLz89Mdd9yhl156SZJ0xx13yG73rFUeDhw4oDVr1kiSJk6cqJtvvrnec9avX6+XXnpJ3377rVJSUjxuIGSF7zvcyxvf57UpLCx0FhAiIiJMW8PywQcf1Ny5c1VSUqJnnnlG1157rXr27FnnOf/+97/1+eefS6qaBerpsyLvu+8+vfDCC0pLS9PMmTPrnWXhiYqKinTnnXc6d2d99NFH+QcSWlxhYaGuuuoqbd68WZL05z//WY8//rjJqVCfBQsW1Nvy+vTTT+uZZ56RJH333Xe65JJLXB8MDTZx4kT95S9/kVS1Q/rEiRNrPO4///mP8+8BT+6e8BXR0dGKiIhQbm6u1q1bp/Ly8lr/bj69QNatWzd3RUQz2Gw2XXPNNZo7d652796t9evX66KLLjrjuPXr1ztncF5zzTWmTFrwBVQJgEZ4/vnnVVxcrOLiYs2aNcvsOGd45513nAOaG264oUHnOI6rrKzUe++957JszeHp33e4l9Xf5/n5+RoyZIiWLVtW55qalZWVuv/++507Yk+YMMG0wVB8fLz+9re/SarKP2rUqDoXv//www+da0wFBgbq3Xff9fiBXFhYmLNIs337dn3xxRcmJ2qcXbt26eKLL3auvzly5EhNmzbN5FTwNqWlpbruuuucHzI9+OCD+p//+R+TUwG+4dxzz9W4ceMkSe+//75ztv7pjh8/rieeeEJS1d+/U6ZMcWtGnMlut+uqq66SVLVu8em73J8uKyur2odFnv7BMH710EMPyc/PT5J0//33q6ioqNrzRUVFuv/++yVVzcx96KGH3B3RZ/CxPuBFHJvwtG3btsGf2CYkJDhbwN99911mYcDjecP7PDExUePHj1fHjh117bXXaujQoeratavCw8OVnZ2tLVu2aN68edq+fbskKTIystp6aGa4//77lZycrJdeekmHDx/W4MGDdcstt2jChAnq2rWrysrKtHv3bi1atMj5j66goCC99957Ou+880zN3lDTpk3T7NmzdezYsWo7kXuCtLS0ahuAFBQUKCsrSz///LO++eYbrVixwln4v+iii/Txxx8rICDArLjwUrfccotzTezLLrtMU6dOrfa+/K3AwED17t3bXfEArzdnzhytW7dO2dnZuvrqq/XQQw/pyiuvVEhIiBITE/Xcc885Nzp59tlnLdOx4u2eeuopLVmyRIWFhXr66ae1adMmTZo0Sd27d1dxcbHWr1+vOXPm6PDhw5KqlugaM2aMyal9w48//qikpCTnn08f/yUlJZ0x872mJZd69+6txx57TLNmzdLGjRs1bNgwPf744+rRo4eSk5P1/PPPOz+Afuyxx9SrVy+XfC2gwOk1PH1mDFxvzZo1Sk5OllS1y3hD27jtdruuu+46vfrqq9q5c6c2bdpUbYFrtAyr/o56Wm5veJ/7+/srLi5Ox48fV0pKil555RW98sortR7fq1cvvf/++x6xVs+cOXPUp08f/fnPf1ZmZqbeffddZ8H5t84++2y9/vrrlmqPCwkJ0Z/+9Cfnp+yeZO7cuZo7d26dx8TGxuqhhx7SH//4R1rT4RKffPKJ8/63336rc889t87ju3btqoMHD7o4FeA7evfuraVLl+qGG27QiRMnNGvWrDO6m2w2m/785z/rj3/8o0kp8Vt9+vTRkiVLdMstt+jkyZNaunSpli5dWuOxl112mT766CM3J/Rdb775pt5+++0an1uzZo2zY8GhtjXl//rXvyotLU3z5s3Tli1balxCa+rUqXQ9uBgt6hZWWlrqvB8aGmpiEngCx6Yrkmpdk6c2px9/+uugeaz6O+rJub3hfR4cHKyUlBStWbNGzzzzjMaNG6fu3bsrLCxMfn5+ioiIUJ8+ffRf//VfWrRokXbs2OFRHzr8v//3/5ScnKyXX35ZY8eOVefOnRUcHKxWrVqpR48euvnmm/X+++9r+/btlipuOtx9993q3Lmz2THqZLfbFRkZqS5dumj48OF66KGHtHjxYh09elR/+tOfKG4CgBe7+OKLtXPnTs2cOVMDBgxQRESEgoOD1a1bN02ZMkWbNm0yvesDZxo9erR2796t559/XpdccoliY2MVEBCgkJAQdevWTTfddJM+/fRTrVy5Uq1btzY7LhrJbrfrrbfe0ueff65rrrlGHTp0UGBgoDp06KBrrrlGX3zxhd588032knAxm+HoZ4LlfPDBB85PBt544w3dddddJicCcDqr/o5aNTcAAAAAwDdRPrawnTt3Ou/36dPHxCQAamLV31Gr5gYAAAAA+CZmcFpUSUmJ+vfvr6SkJEVEROjEiRMKDg42OxaAU6z6O2rV3AAAAAAA38UiTRaSkZGho0eP6uDBg5o9e7Zzt6+77rqLAgTgAaz6O2rV3AAAAAAASMzgtJQ5c+bo4YcfrvbYRRddpBUrVqhVq1YmpQLgYNXfUavmBgAAAABAYgan5dhsNkVGRurss8/WTTfdpGnTpikoKMjsWABOservqFVzAwAAAADADE4AAAAAAAAAlsUu6gAAAAAAAAAsiwInAAAAAAAAAMuiwAkAAAAAAADAsihwAgAAAAAAALAsCpwAgAY5ePCgbDabbDabFixYYHYcAAAAAAAkUeAEgFqtWrXKWdCz2WwKDw9XYWFhvecVFRUpMjKy2rmrVq1yfWAAAAD4pNPHrU8//XSDzpk8ebLznIMHD7o0HwC4GgVOAGig/Px8ffrpp/Uet2TJEuXm5ro+UAuJj4+XzWbT5MmTzY4CAAAAAECjUeAEgAYIDg6WJL377rv1Hus4xnEOAAAAAABwHQqcANAAEyZMkCStWLFCx48fr/W4tLQ0LV++XJJ0zTXXuCUbAAAAAAC+jAInADTAmDFjFBcXp4qKCr3//vu1Hvf++++rvLxccXFxuvzyy92YEAAAAAAA30SBEwAawM/PT7fccoukutvU33nnHUnSrbfeKj8/v3pft7S0VK+++qouvfRSxcbGKjAwUHFxcbryyiv13nvvqbKystZzHQvDx8fHS5Kys7P11FNPqV+/fgoLC1NUVJRGjBihhQsX1nj+JZdcIpvNpkOHDkmS3n777WobI9lsNl1yySV15l+xYoXGjx+vuLg4BQUFqVu3bpo2bZqOHj1a79cOAAAAz5afn69Zs2Zp6NChio6OVlBQkDp16qQbbrhBy5Ytq/Pchq7z/tsx7ekOHjzoHJcuWLBAkvTJJ5/oyiuvVIcOHeTv71/veBWAb/A3OwAAWMUdd9yhF198UVu2bNHOnTvVr1+/as/v2rVLmzdvdh67devWOl/v4MGDGjdunHbv3l3t8RMnTujLL7/Ul19+qddff11LlixRdHR0na+1Z88ejR079owdMH/44Qf98MMPWrdunf75z3827AttoBkzZmjWrFnVHjt48KBee+01LV68WKtXr9bZZ5/dotcEAACAe2zZskVXX321UlNTqz2ekpKixYsXa/Hixbr++uu1cOFCt6w9bxiG7rzzzgatiQ/A9zCDEwAaaODAgc6iZk0DK8dj/fv313nnnVfna+Xn52vUqFHO4ua1116rzz77TBs3btRHH32kkSNHSpJ+/PFHjR8/XhUVFbW+VmFhocaPH6+MjAw98cQTWrVqlTZu3Kg33nhDnTp1kiS98sor+vrrr6udN3/+fG3fvl0dOnSQVLVm6Pbt26vd5s+fX+M133jjDc2aNUsjR47UokWLtHHjRq1cuVJ33nmnJCk9PV2/+93v6vweAAAAwDOlpKRo1KhRSk1Nlc1m05QpU/T1119r48aNeueddzRgwABJVbMp65uh2VLmzJmjd999V8OHD682/rzjjjvccn0Ano0ZnADQCHfeeacef/xxLVq0SM8995xsNpukqk+UHa3gjiJfXZ555hnt379fkvTEE0/o2WefdT43aNAgTZw4UXfccYcWLlyotWvX6l//+pemTZtW42ulp6ertLRU69atqzardNCgQbrkkkt0zjnnqLi4WK+++qquuOIK5/PdunWTJAUEBEiSoqKi1L9//wZ9H9auXau7775br7/+uvN7IEmjRo1SYGCg3nzzTa1fv15btmzRwIEDG/SaAAAAaL60tDTt2LGj3uOys7Nrfe6hhx5SVlaWpKoPtqdOnep8btCgQbrppps0btw4fffdd/rggw80adIkjRs3rtnZ6/Lzzz/rzjvv1IIFC6qNPwFAYgYnADTKbbfdJrvdriNHjmjVqlXOx1etWqUjR47Ibrfr1ltvrfM1SkpK9Oabb0qS+vXrp6effvqMY2w2m1599VXFxMRIUr3t5c8+++wZLfOS1LNnT1177bWSqmaDtpT27dvr5ZdfrnFw+eijjzrv//DDDy12TQAAANRv7ty5Ouecc+q9LVmypMbzU1NT9Z///EeSNHbs2GrFTYegoCDNmzdP/v5Vc6ZaeimkmkRFRemf//wnxU0ANaLACQCN0LFjR1166aWSqrepO+5fdtll6tixY52vsWnTJucn5pMnT651M6KIiAjddNNNkqrW9zx27FiNx9lstjqLqoMGDZIkZWZm1vlJfWPccMMNCgoKqvG5s846S61atZIk5yxVAAAAWMOqVaucyyPVVNx0iI+P1+WXX37GOa4yfvx4hYeHu/QaAKyLAicANJKjBX3x4sUqKipSUVGRPv7442rP1eX0lqEhQ4bUeezpz9fWatSmTRvnTM+anL5BUV5eXr35GqJPnz51Pt+6desWvR4AAAAaZubMmTIMo97bpEmTajy/KWPVwsJCl3+wfe6557r09QFYGwVOAGik66+/XqGhocrNzdWSJUv06aefKi8vT2FhYbr++uvrPT8zM9N5v23btnUeGxcXV+N5pwsNDa3zNez2X/9X31KfrDf0mq7+JB8AAAAtq6XHqi3F8QE6ANSETYYAoJFatWql6667TgsXLtS7774rwzAkSdddd53CwsIa9VqsIQQAAABP5Ulj1dqWdQIAiRmcANAkjlb05cuXa8WKFdUeq8/pLeMnTpyo89jjx4/XeB4AAADgCi01VnV09FRWVtb5GgUFBY2NCABnoMAJAE0watQotW/fXuXl5SovL1eHDh00atSoBp3bv39/5/0NGzbUeWxiYmKN57UkT/pkHgAAAOZqylg1NDRU3bt3r/acY0OgrKysOl9j7969TYkJANVQ4ASAJvDz89Mdd9yhoKAgBQUF6Y477qi21mVdBg0apKioKEnS22+/Xeun2nl5efrwww8lSX379lX79u1bJPtvBQcHS5JKSkpc8voAAACwjksuucTZDj5v3rxajzt8+LCzk+n0cxy6desmSdq8ebNzSaff2rlzp37++eeWiA3Ax1HgBIAmev7551VcXKzi4mLNmjWrwecFBQXprrvuklS1S+Wzzz57xjGGYei+++7TyZMnJUn33Xdfy4SugaNwmpyc7LJrAAAAwBo6dOig6667TpL05Zdf6u233z7jmNLSUv3ud79TWVmZpJrHqiNHjpQkpaam6v333z/j+by8PE2dOrUlowPwYRQ4AcAETz31lLON5+mnn9YNN9ygzz//XJs3b9bixYt12WWX6Z133pEkDR06VPfcc4/LsiQkJEiSfvrpJ82aNUvbtm1TUlKSkpKSlJKS4rLrAgAAwDO9+OKLzl3Lf/e73+nuu+/WypUrtWnTJi1cuFBDhgzRN998I0m66aabNG7cuDNe4/bbb1dERIQkaerUqfrLX/6iDRs2KDExUXPnztX555+vbdu2aeDAge77wgB4LXZRBwAThIeH65tvvtG4ceO0e/duLV68WIsXLz7juGHDhumzzz5z6a6R06ZN09y5c5WZmakZM2ZoxowZzudGjhypVatWuezaAAAA8DydOnXSN998o6uvvlqpqal688039eabb55x3PXXX1/jDE9Jio2N1ZtvvqlbbrlFxcXFmjlzpmbOnOl8PiQkRO+++66WLVumLVu2uOxrAeAbmMEJACaJj4/Xtm3b9M9//lMjR45UTEyMAgIC1K5dO40dO1bvvvuuvv/+e5fvnt6xY0clJiZq6tSp6tmzp3NNTgAAAPiugQMHas+ePXruuec0ZMgQRUVFKTAwUB06dND111+vzz77TIsXL65z7HjjjTdq7dq1uu666xQbG6vAwEB17txZkyZN0k8//aQbbrjBjV8RAG9mM2pb7RcAAAAAAAAAPBwzOAEAAAAAAABYFgVOAAAAAAAAAJZFgRMAAAAAAACAZVHgBAAAAAAAAGBZFDgBAAAAAAAAWBYFTgAAAAAAAACWRYETAAAAAAAAgGVR4AQAAAAAAABgWRQ4AQAAAAAAAFgWBU4AAAAAAAAAlkWBEwAAAAAAAIBlUeAEAAAAAAAAYFkUOAEAAAAAAABYFgVOAAAAAAAAAJZFgRMAAAAAAACAZf1/ATb6p/+ekpEAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig_pois, (ax_month, ax_hr) = subplots(1, 2, figsize=(16,8))\n", "ax_month.plot(x_month, coef_month, marker='o', ms=10)\n", @@ -4955,7 +2005,7 @@ "ax_hr.plot(x_hr, coef_hr, marker='o', ms=10)\n", "ax_hr.set_xticklabels(range(24)[::2], fontsize=20)\n", "ax_hr.set_xlabel('Hour', fontsize=20)\n", - "ax_hr.set_ylabel('Coefficient', fontsize=20);\n" + "ax_hr.set_ylabel('Coefficient', fontsize=20);" ] }, { @@ -4971,28 +2021,10 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": null, "id": "d487c7ed", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:16.994758Z", - "iopub.status.busy": "2023-07-25T23:59:16.994651Z", - "iopub.status.idle": "2023-07-25T23:59:17.107603Z", - "shell.execute_reply": "2023-07-25T23:59:17.107255Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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9xcFBQUa+z/44AP1EsOGvlxcXMSVK1e0rp+TkyN69+6t97wePXqI+Ph4gyu2mXqPUlNTxcCBA416XWfOnKlxbvWqaYa+pFKp1tLYxv7Mt2/fXufy08Y8x9WrVwupVKr32q6urmLr1q06z625op2un8OaDP3+GaPminZ1PVZNda1oV1BQICIiInQ+d3P+/hDZAodPEJFNeXl54auvvsIvv/yCWbNmqRfgcHZ2hp+fH2JiYjBv3jz88MMP2Ldvn9b5o0aNQnx8PKZOnYrQ0FDIZDIEBgZi8ODB+OCDD7B//36LlylrKLlcjueffx4AkJWVhU2bNmnsnz17NpKTk7Fq1Sr0798fAQEBcHZ2hoeHB9q2bYuJEyfi/fffx+3btxEZGal1fR8fH/z6669466230KtXL3h6esLLywvdu3fHmjVrcPToUY0qEdU9fw0REhKCw4cP47vvvsNjjz2GiIgIyOVy9evTr18/LFy4EHFxcfjvf/+rcW5sbCw++OADTJkyBd27d0dISAicnZ3h6emJTp06Ye7cuUhISMCyZcs0zhs4cCAOHTqEJUuWYOjQoYiMjISXlxdkMhmCg4MxcuRIvP/++0hMTDRp6ERNS5cuRUJCAmbPno02bdrA3d0dHh4e6NChA5599llcunQJ06ZNq/d9s3eenp44evQonn32WXTo0KHOestEjYlECA4KIiJydJ999pl6qeerV6+q6zoTETkK9hQTEZF6sltgYKBVl7omIrIXDMVERE3c7du3DS5v/dFHH+GHH34AAEybNo21aInIIXH4BBFRE7dlyxYsWrQIkyZNwpAhQ9C6dWuoVCr88ccf2L59O3bt2gUACA4Oxvnz5zVW0yMichQMxURETdyWLVswc+ZMg8c0a9YM33//vcZKg0REjoShmIioicvMzMSXX36Jn376CRcuXEBGRgYKCgrg4+ODDh06YMyYMXjqqafg5eVl66YSEdkMQzEREREROTxOtCMiIiIih8dQTEREREQOj6GYiIiIiBweQzEREREROTyGYiIiIiJyeAzFREREROTwGIqJiIiIyOExFBMRERGRw2MoJiIiIiKH9/9Si6eIzDNwnQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax.scatter(M2_lm.fittedvalues,\n", @@ -5001,7 +2033,7 @@ "ax.set_xlabel('Linear Regression Fit', fontsize=20)\n", "ax.set_ylabel('Poisson Regression Fit', fontsize=20)\n", "ax.axline([0,0], c='black', linewidth=3,\n", - " linestyle='--', slope=1);\n" + " linestyle='--', slope=1);" ] }, { @@ -5027,20 +2059,8 @@ "metadata": { "jupytext": { "cell_metadata_filter": "-all", - "formats": "ipynb,Rmd", + "formats": "ipynb,md:myst", "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch5-resample-lab.ipynb b/docs/source/labs/Ch5-resample-lab.ipynb index 86162e6..8d35e84 100644 --- a/docs/source/labs/Ch5-resample-lab.ipynb +++ b/docs/source/labs/Ch5-resample-lab.ipynb @@ -2,19 +2,16 @@ "cells": [ { "cell_type": "markdown", - "id": "0c11a71f", - "metadata": {}, - "source": [ - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "ad36451e", + "id": "3a3f2f85", "metadata": {}, "source": [ "# Cross-Validation and the Bootstrap\n", + "\n", + "\n", + " \"Open\n", + "\n", + "\n", + "\n", "In this lab, we explore the resampling techniques covered in this\n", "chapter. Some of the commands in this lab may take a while to run on\n", "your computer.\n", @@ -24,17 +21,9 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "60fad148", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:18.516196Z", - "iopub.status.busy": "2023-07-25T23:59:18.515741Z", - "iopub.status.idle": "2023-07-25T23:59:19.379955Z", - "shell.execute_reply": "2023-07-25T23:59:19.379486Z" - }, - "lines_to_next_cell": 2 - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -43,7 +32,7 @@ "from ISLP.models import (ModelSpec as MS,\n", " summarize,\n", " poly)\n", - "from sklearn.model_selection import train_test_split\n" + "from sklearn.model_selection import train_test_split" ] }, { @@ -56,17 +45,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "2478aeb4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:19.382153Z", - "iopub.status.busy": "2023-07-25T23:59:19.381970Z", - "iopub.status.idle": "2023-07-25T23:59:19.384142Z", - "shell.execute_reply": "2023-07-25T23:59:19.383878Z" - }, - "lines_to_next_cell": 2 - }, + "metadata": {}, "outputs": [], "source": [ "from functools import partial\n", @@ -75,7 +56,7 @@ " KFold,\n", " ShuffleSplit)\n", "from sklearn.base import clone\n", - "from ISLP.models import sklearn_sm\n" + "from ISLP.models import sklearn_sm" ] }, { @@ -95,27 +76,20 @@ "when performing operations like this that contain an\n", "element of randomness, so that the results obtained can be reproduced\n", "precisely at a later time. We set the random seed of the splitter\n", - "with the argument `random_state=0`. " + "with the argument `random_state=0`." ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "99c95faf", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:19.385847Z", - "iopub.status.busy": "2023-07-25T23:59:19.385721Z", - "iopub.status.idle": "2023-07-25T23:59:19.391245Z", - "shell.execute_reply": "2023-07-25T23:59:19.390937Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "Auto = load_data('Auto')\n", "Auto_train, Auto_valid = train_test_split(Auto,\n", " test_size=196,\n", - " random_state=0)\n" + " random_state=0)" ] }, { @@ -128,23 +102,16 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "41b0717d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:19.393063Z", - "iopub.status.busy": "2023-07-25T23:59:19.392958Z", - "iopub.status.idle": "2023-07-25T23:59:19.396896Z", - "shell.execute_reply": "2023-07-25T23:59:19.396495Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "hp_mm = MS(['horsepower'])\n", "X_train = hp_mm.fit_transform(Auto_train)\n", "y_train = Auto_train['mpg']\n", "model = sm.OLS(y_train, X_train)\n", - "results = model.fit()\n" + "results = model.fit()" ] }, { @@ -158,33 +125,15 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "d7ea3c0d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:19.398586Z", - "iopub.status.busy": "2023-07-25T23:59:19.398485Z", - "iopub.status.idle": "2023-07-25T23:59:19.403011Z", - "shell.execute_reply": "2023-07-25T23:59:19.402741Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "23.61661706966988" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "X_valid = hp_mm.transform(Auto_valid)\n", "y_valid = Auto_valid['mpg']\n", "valid_pred = results.predict(X_valid)\n", - "np.mean((y_valid - valid_pred)**2)\n" + "np.mean((y_valid - valid_pred)**2)" ] }, { @@ -202,16 +151,9 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "a02a2d05", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:19.404921Z", - "iopub.status.busy": "2023-07-25T23:59:19.404788Z", - "iopub.status.idle": "2023-07-25T23:59:19.408021Z", - "shell.execute_reply": "2023-07-25T23:59:19.407664Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "def evalMSE(terms,\n", @@ -229,7 +171,7 @@ " results = sm.OLS(y_train, X_train).fit()\n", " test_pred = results.predict(X_test)\n", "\n", - " return np.mean((y_test - test_pred)**2)\n" + " return np.mean((y_test - test_pred)**2)" ] }, { @@ -245,28 +187,10 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "51d93dea", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:19.409619Z", - "iopub.status.busy": "2023-07-25T23:59:19.409514Z", - "iopub.status.idle": "2023-07-25T23:59:19.420772Z", - "shell.execute_reply": "2023-07-25T23:59:19.420495Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([23.61661707, 18.76303135, 18.79694163])" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "MSE = np.zeros(3)\n", "for idx, degree in enumerate(range(1, 4)):\n", @@ -274,7 +198,7 @@ " 'mpg',\n", " Auto_train,\n", " Auto_valid)\n", - "MSE\n" + "MSE" ] }, { @@ -289,28 +213,10 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "83432f06", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:19.422551Z", - "iopub.status.busy": "2023-07-25T23:59:19.422418Z", - "iopub.status.idle": "2023-07-25T23:59:19.433976Z", - "shell.execute_reply": "2023-07-25T23:59:19.433683Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([20.75540796, 16.94510676, 16.97437833])" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Auto_train, Auto_valid = train_test_split(Auto,\n", " test_size=196,\n", @@ -372,29 +278,10 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "bcfc433f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:19.435742Z", - "iopub.status.busy": "2023-07-25T23:59:19.435616Z", - "iopub.status.idle": "2023-07-25T23:59:20.107186Z", - "shell.execute_reply": "2023-07-25T23:59:20.106844Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "24.23151351792924" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "hp_model = sklearn_sm(sm.OLS,\n", " MS(['horsepower']))\n", @@ -404,7 +291,7 @@ " Y,\n", " cv=Auto.shape[0])\n", "cv_err = np.mean(cv_results['test_score'])\n", - "cv_err\n" + "cv_err" ] }, { @@ -440,29 +327,10 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "f951ffc8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:20.109173Z", - "iopub.status.busy": "2023-07-25T23:59:20.109038Z", - "iopub.status.idle": "2023-07-25T23:59:20.813810Z", - "shell.execute_reply": "2023-07-25T23:59:20.813473Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([24.23151352, 19.24821312, 19.33498406, 19.42443033, 19.03323827])" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "cv_error = np.zeros(5)\n", "H = np.array(Auto['horsepower'])\n", @@ -474,7 +342,7 @@ " Y,\n", " cv=Auto.shape[0])\n", " cv_error[i] = np.mean(M_CV['test_score'])\n", - "cv_error\n" + "cv_error" ] }, { @@ -492,39 +360,19 @@ "It has two arrays as\n", "arguments, and then forms a larger\n", "array where the operation is applied to each pair of elements of the\n", - "two arrays. " + "two arrays." ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "e3610b5a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:20.815663Z", - "iopub.status.busy": "2023-07-25T23:59:20.815525Z", - "iopub.status.idle": "2023-07-25T23:59:20.818253Z", - "shell.execute_reply": "2023-07-25T23:59:20.817958Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[ 5, 7],\n", - " [ 7, 9],\n", - " [11, 13]])" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "A = np.array([3, 5, 9])\n", "B = np.array([2, 4])\n", - "np.add.outer(A, B)\n" + "np.add.outer(A, B)" ] }, { @@ -539,29 +387,10 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "1627460d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:20.819903Z", - "iopub.status.busy": "2023-07-25T23:59:20.819780Z", - "iopub.status.idle": "2023-07-25T23:59:20.842970Z", - "shell.execute_reply": "2023-07-25T23:59:20.842686Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([24.20766449, 19.18533142, 19.27626666, 19.47848403, 19.13720581])" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "cv_error = np.zeros(5)\n", "cv = KFold(n_splits=10,\n", @@ -574,7 +403,7 @@ " Y,\n", " cv=cv)\n", " cv_error[i] = np.mean(M_CV['test_score'])\n", - "cv_error\n" + "cv_error" ] }, { @@ -604,29 +433,10 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "8a636468", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:20.844695Z", - "iopub.status.busy": "2023-07-25T23:59:20.844573Z", - "iopub.status.idle": "2023-07-25T23:59:20.850336Z", - "shell.execute_reply": "2023-07-25T23:59:20.850052Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([23.61661707])" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "validation = ShuffleSplit(n_splits=1,\n", " test_size=196,\n", @@ -635,7 +445,7 @@ " Auto.drop(['mpg'], axis=1),\n", " Auto['mpg'],\n", " cv=validation);\n", - "results['test_score']\n" + "results['test_score']" ] }, { @@ -648,28 +458,10 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "746aeccd", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:20.852176Z", - "iopub.status.busy": "2023-07-25T23:59:20.852041Z", - "iopub.status.idle": "2023-07-25T23:59:20.873556Z", - "shell.execute_reply": "2023-07-25T23:59:20.873271Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(23.802232661034168, 1.421845094109185)" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "validation = ShuffleSplit(n_splits=10,\n", " test_size=196,\n", @@ -678,7 +470,7 @@ " Auto.drop(['mpg'], axis=1),\n", " Auto['mpg'],\n", " cv=validation)\n", - "results['test_score'].mean(), results['test_score'].std()\n" + "results['test_score'].mean(), results['test_score'].std()" ] }, { @@ -722,24 +514,16 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "daa53d0c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:20.875275Z", - "iopub.status.busy": "2023-07-25T23:59:20.875145Z", - "iopub.status.idle": "2023-07-25T23:59:20.878569Z", - "shell.execute_reply": "2023-07-25T23:59:20.878269Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "Portfolio = load_data('Portfolio')\n", "def alpha_func(D, idx):\n", " cov_ = np.cov(D[['X','Y']].loc[idx], rowvar=False)\n", " return ((cov_[1,1] - cov_[0,1]) /\n", - " (cov_[0,0]+cov_[1,1]-2*cov_[0,1]))\n" + " (cov_[0,0]+cov_[1,1]-2*cov_[0,1]))" ] }, { @@ -756,28 +540,10 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "578c9564", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:20.880246Z", - "iopub.status.busy": "2023-07-25T23:59:20.880127Z", - "iopub.status.idle": "2023-07-25T23:59:20.883007Z", - "shell.execute_reply": "2023-07-25T23:59:20.882752Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0.57583207459283" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "alpha_func(Portfolio, range(100))" ] @@ -795,29 +561,10 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "5754d6d5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:20.884729Z", - "iopub.status.busy": "2023-07-25T23:59:20.884605Z", - "iopub.status.idle": "2023-07-25T23:59:20.887853Z", - "shell.execute_reply": "2023-07-25T23:59:20.887569Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0.6074452469619004" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "rng = np.random.default_rng(0)\n", "alpha_func(Portfolio,\n", @@ -838,17 +585,9 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "8320a49c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:20.889568Z", - "iopub.status.busy": "2023-07-25T23:59:20.889470Z", - "iopub.status.idle": "2023-07-25T23:59:20.892197Z", - "shell.execute_reply": "2023-07-25T23:59:20.891914Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "def boot_SE(func,\n", @@ -878,39 +617,21 @@ "unimportant and simply makes sure the loop is executed `B` times.\n", "\n", "Let’s use our function to evaluate the accuracy of our\n", - "estimate of $\\alpha$ using $B=1{,}000$ bootstrap replications. " + "estimate of $\\alpha$ using $B=1{,}000$ bootstrap replications." ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "e656aa1f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:20.894076Z", - "iopub.status.busy": "2023-07-25T23:59:20.893953Z", - "iopub.status.idle": "2023-07-25T23:59:21.209418Z", - "shell.execute_reply": "2023-07-25T23:59:21.209114Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0.09118176521277699" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "alpha_SE = boot_SE(alpha_func,\n", " Portfolio,\n", " B=1000,\n", " seed=0)\n", - "alpha_SE\n" + "alpha_SE" ] }, { @@ -949,17 +670,9 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "c5d14195", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:21.211286Z", - "iopub.status.busy": "2023-07-25T23:59:21.211158Z", - "iopub.status.idle": "2023-07-25T23:59:21.213339Z", - "shell.execute_reply": "2023-07-25T23:59:21.213042Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "def boot_OLS(model_matrix, response, D, idx):\n", @@ -984,20 +697,12 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "7e0523f0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:21.214975Z", - "iopub.status.busy": "2023-07-25T23:59:21.214858Z", - "iopub.status.idle": "2023-07-25T23:59:21.216686Z", - "shell.execute_reply": "2023-07-25T23:59:21.216408Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ - "hp_func = partial(boot_OLS, MS(['horsepower']), 'mpg')\n" + "hp_func = partial(boot_OLS, MS(['horsepower']), 'mpg')" ] }, { @@ -1017,44 +722,16 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "32836e93", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:21.218240Z", - "iopub.status.busy": "2023-07-25T23:59:21.218130Z", - "iopub.status.idle": "2023-07-25T23:59:21.234117Z", - "shell.execute_reply": "2023-07-25T23:59:21.233834Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[39.88064456, -0.1567849 ],\n", - " [38.73298691, -0.14699495],\n", - " [38.31734657, -0.14442683],\n", - " [39.91446826, -0.15782234],\n", - " [39.43349349, -0.15072702],\n", - " [40.36629857, -0.15912217],\n", - " [39.62334517, -0.15449117],\n", - " [39.0580588 , -0.14952908],\n", - " [38.66688437, -0.14521037],\n", - " [39.64280792, -0.15555698]])" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "rng = np.random.default_rng(0)\n", "np.array([hp_func(Auto,\n", " rng.choice(392,\n", " 392,\n", - " replace=True)) for _ in range(10)])\n" + " replace=True)) for _ in range(10)])" ] }, { @@ -1068,37 +745,16 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "14ce3afa", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:21.235834Z", - "iopub.status.busy": "2023-07-25T23:59:21.235710Z", - "iopub.status.idle": "2023-07-25T23:59:22.536815Z", - "shell.execute_reply": "2023-07-25T23:59:22.536478Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 0.848807\n", - "horsepower 0.007352\n", - "dtype: float64" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "hp_se = boot_SE(hp_func,\n", " Auto,\n", " B=1000,\n", " seed=10)\n", - "hp_se\n" + "hp_se" ] }, { @@ -1118,35 +774,14 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "6b1213ac", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:22.538715Z", - "iopub.status.busy": "2023-07-25T23:59:22.538582Z", - "iopub.status.idle": "2023-07-25T23:59:22.627465Z", - "shell.execute_reply": "2023-07-25T23:59:22.627170Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 0.717\n", - "horsepower 0.006\n", - "Name: std err, dtype: float64" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "hp_model.fit(Auto, Auto['mpg'])\n", "model_se = summarize(hp_model.results_)['std err']\n", - "model_se\n" + "model_se" ] }, { @@ -1190,37 +825,16 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "af99b778", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:22.629295Z", - "iopub.status.busy": "2023-07-25T23:59:22.629160Z", - "iopub.status.idle": "2023-07-25T23:59:24.704262Z", - "shell.execute_reply": "2023-07-25T23:59:24.703883Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 2.067840\n", - "poly(horsepower, degree=2, raw=True)[0] 0.033019\n", - "poly(horsepower, degree=2, raw=True)[1] 0.000120\n", - "dtype: float64" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "quad_model = MS([poly('horsepower', 2, raw=True)])\n", "quad_func = partial(boot_OLS,\n", " quad_model,\n", " 'mpg')\n", - "boot_SE(quad_func, Auto, B=1000)\n" + "boot_SE(quad_func, Auto, B=1000)" ] }, { @@ -1233,55 +847,22 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "0206281e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:24.706236Z", - "iopub.status.busy": "2023-07-25T23:59:24.706087Z", - "iopub.status.idle": "2023-07-25T23:59:24.716168Z", - "shell.execute_reply": "2023-07-25T23:59:24.715845Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "intercept 1.800\n", - "poly(horsepower, degree=2, raw=True)[0] 0.031\n", - "poly(horsepower, degree=2, raw=True)[1] 0.000\n", - "Name: std err, dtype: float64" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "M = sm.OLS(Auto['mpg'],\n", " quad_model.fit_transform(Auto))\n", - "summarize(M.fit())['std err']\n" + "summarize(M.fit())['std err']" ] } ], "metadata": { "jupytext": { "cell_metadata_filter": "-all", - "formats": "ipynb,Rmd", + "formats": "ipynb,md:myst", "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch6-varselect-lab.ipynb b/docs/source/labs/Ch6-varselect-lab.ipynb index 925821d..7d79f3a 100644 --- a/docs/source/labs/Ch6-varselect-lab.ipynb +++ b/docs/source/labs/Ch6-varselect-lab.ipynb @@ -2,33 +2,53 @@ "cells": [ { "cell_type": "markdown", - "id": "cf2eba05", + "id": "1e9ee9d8", "metadata": {}, - "source": [] + "source": [ + "# Linear Models and Regularization Methods" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "394db52b", + "metadata": { + "tags": [ + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "import warnings\n", + "warnings.simplefilter('ignore') " + ] }, { "cell_type": "markdown", - "id": "6e1cafa3", + "id": "98c1f26d", "metadata": {}, "source": [ - "# Linear Models and Regularization Methods\n", + "```{attention}\n", + "Using `skl.ElasticNet` to fit ridge regression\n", + "throws up many warnings. We have suppressed them below.\n", + "```\n", + "\n", + "\n", + "\n", + " \"Open\n", + "\n", + "\n", + "\n", "In this lab we implement many of the techniques discussed in this chapter.\n", "We import some of our libraries at this top\n", - "level. " + "level." ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "564883b2", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:25.902673Z", - "iopub.status.busy": "2023-07-25T23:59:25.902240Z", - "iopub.status.idle": "2023-07-25T23:59:26.930903Z", - "shell.execute_reply": "2023-07-25T23:59:26.930443Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -40,7 +60,7 @@ "from sklearn.preprocessing import StandardScaler\n", "from ISLP import load_data\n", "from ISLP.models import ModelSpec as MS\n", - "from functools import partial\n" + "from functools import partial" ] }, { @@ -54,32 +74,10 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "9aa8d3ee", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:26.933137Z", - "iopub.status.busy": "2023-07-25T23:59:26.932936Z", - "iopub.status.idle": "2023-07-25T23:59:28.365522Z", - "shell.execute_reply": "2023-07-25T23:59:28.365174Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: l0bnb in /Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages (1.0.0)\r\n", - "Requirement already satisfied: numpy>=1.18.1 in /Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages (from l0bnb) (1.21.6)\r\n", - "Requirement already satisfied: scipy>=1.4.1 in /Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages (from l0bnb) (1.10.1)\r\n", - "Requirement already satisfied: numba>=0.53.1 in /Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages (from l0bnb) (0.57.1)\r\n", - "Requirement already satisfied: llvmlite<0.41,>=0.40.0dev0 in /Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages (from numba>=0.53.1->l0bnb) (0.40.1)\r\n", - "\u001b[33mDEPRECATION: pytorch-lightning 1.7.7 has a non-standard dependency specifier torch>=1.9.*. pip 23.3 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of pytorch-lightning or contact the author to suggest that they release a version with a conforming dependency specifiers. Discussion can be found at https://github.com/pypa/pip/issues/12063\u001b[0m\u001b[33m\r\n", - "\u001b[0m" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ "from sklearn.pipeline import Pipeline\n", "from sklearn.decomposition import PCA\n", @@ -89,7 +87,7 @@ " sklearn_selected,\n", " sklearn_selection_path)\n", "!pip install l0bnb\n", - "from l0bnb import fit_path\n" + "from l0bnb import fit_path" ] }, { @@ -120,31 +118,13 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "05371e33", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:28.367608Z", - "iopub.status.busy": "2023-07-25T23:59:28.367471Z", - "iopub.status.idle": "2023-07-25T23:59:28.374856Z", - "shell.execute_reply": "2023-07-25T23:59:28.374563Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "59" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Hitters = load_data('Hitters')\n", - "np.isnan(Hitters['Salary']).sum()\n" + "np.isnan(Hitters['Salary']).sum()" ] }, { @@ -159,32 +139,13 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "aa5bc5b8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:28.376501Z", - "iopub.status.busy": "2023-07-25T23:59:28.376391Z", - "iopub.status.idle": "2023-07-25T23:59:28.379413Z", - "shell.execute_reply": "2023-07-25T23:59:28.379133Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(263, 20)" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Hitters = Hitters.dropna();\n", - "Hitters.shape\n" + "Hitters.shape" ] }, { @@ -200,17 +161,9 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "10494837", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:28.381043Z", - "iopub.status.busy": "2023-07-25T23:59:28.380935Z", - "iopub.status.idle": "2023-07-25T23:59:28.383115Z", - "shell.execute_reply": "2023-07-25T23:59:28.382819Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "def nCp(sigma2, estimator, X, Y):\n", @@ -218,7 +171,7 @@ " n, p = X.shape\n", " Yhat = estimator.predict(X)\n", " RSS = np.sum((Y - Yhat)**2)\n", - " return -(RSS + 2 * p * sigma2) / n \n" + " return -(RSS + 2 * p * sigma2) / n " ] }, { @@ -232,22 +185,15 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "b8173cef", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:28.384748Z", - "iopub.status.busy": "2023-07-25T23:59:28.384661Z", - "iopub.status.idle": "2023-07-25T23:59:28.397967Z", - "shell.execute_reply": "2023-07-25T23:59:28.397658Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "design = MS(Hitters.columns.drop('Salary')).fit(Hitters)\n", "Y = np.array(Hitters['Salary'])\n", "X = design.transform(Hitters)\n", - "sigma2 = OLS(Y,X).fit().scale\n" + "sigma2 = OLS(Y,X).fit().scale" ] }, { @@ -260,20 +206,12 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "0cc8d7bd", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:28.399611Z", - "iopub.status.busy": "2023-07-25T23:59:28.399511Z", - "iopub.status.idle": "2023-07-25T23:59:28.401406Z", - "shell.execute_reply": "2023-07-25T23:59:28.401144Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ - "neg_Cp = partial(nCp, sigma2)\n" + "neg_Cp = partial(nCp, sigma2)" ] }, { @@ -281,7 +219,7 @@ "id": "3ff5a859", "metadata": {}, "source": [ - "We can now use `neg_Cp()` as a scorer for model selection.\n" + "We can now use `neg_Cp()` as a scorer for model selection." ] }, { @@ -298,21 +236,14 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "440b4c50", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:28.403063Z", - "iopub.status.busy": "2023-07-25T23:59:28.402971Z", - "iopub.status.idle": "2023-07-25T23:59:28.404782Z", - "shell.execute_reply": "2023-07-25T23:59:28.404512Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "strategy = Stepwise.first_peak(design,\n", " direction='forward',\n", - " max_terms=len(design.terms))\n" + " max_terms=len(design.terms))" ] }, { @@ -329,51 +260,15 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "b33a8617", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:28.406436Z", - "iopub.status.busy": "2023-07-25T23:59:28.406315Z", - "iopub.status.idle": "2023-07-25T23:59:29.209115Z", - "shell.execute_reply": "2023-07-25T23:59:29.208717Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "('Assists',\n", - " 'AtBat',\n", - " 'CAtBat',\n", - " 'CHits',\n", - " 'CHmRun',\n", - " 'CRBI',\n", - " 'CRuns',\n", - " 'CWalks',\n", - " 'Division',\n", - " 'Errors',\n", - " 'Hits',\n", - " 'HmRun',\n", - " 'League',\n", - " 'NewLeague',\n", - " 'PutOuts',\n", - " 'RBI',\n", - " 'Runs',\n", - " 'Walks',\n", - " 'Years')" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "hitters_MSE = sklearn_selected(OLS,\n", " strategy)\n", "hitters_MSE.fit(Hitters, Y)\n", - "hitters_MSE.selected_state_\n" + "hitters_MSE.selected_state_" ] }, { @@ -386,43 +281,16 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "e7f554cf", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:29.211384Z", - "iopub.status.busy": "2023-07-25T23:59:29.211235Z", - "iopub.status.idle": "2023-07-25T23:59:29.694768Z", - "shell.execute_reply": "2023-07-25T23:59:29.694467Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "('Assists',\n", - " 'AtBat',\n", - " 'CAtBat',\n", - " 'CRBI',\n", - " 'CRuns',\n", - " 'CWalks',\n", - " 'Division',\n", - " 'Hits',\n", - " 'PutOuts',\n", - " 'Walks')" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "hitters_Cp = sklearn_selected(OLS,\n", " strategy,\n", " scoring=neg_Cp)\n", "hitters_Cp.fit(Hitters, Y)\n", - "hitters_Cp.selected_state_\n" + "hitters_Cp.selected_state_" ] }, { @@ -452,22 +320,15 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "fb7091b8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:29.696711Z", - "iopub.status.busy": "2023-07-25T23:59:29.696579Z", - "iopub.status.idle": "2023-07-25T23:59:29.698718Z", - "shell.execute_reply": "2023-07-25T23:59:29.698431Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "strategy = Stepwise.fixed_steps(design,\n", " len(design.terms),\n", " direction='forward')\n", - "full_path = sklearn_selection_path(OLS, strategy)\n" + "full_path = sklearn_selection_path(OLS, strategy)" ] }, { @@ -480,33 +341,14 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "56adc728", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:29.700418Z", - "iopub.status.busy": "2023-07-25T23:59:29.700293Z", - "iopub.status.idle": "2023-07-25T23:59:30.144070Z", - "shell.execute_reply": "2023-07-25T23:59:30.143731Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(263, 20)" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "full_path.fit(Hitters, Y)\n", "Yhat_in = full_path.predict(Hitters)\n", - "Yhat_in.shape\n" + "Yhat_in.shape" ] }, { @@ -525,29 +367,10 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "387267d9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:30.146111Z", - "iopub.status.busy": "2023-07-25T23:59:30.145965Z", - "iopub.status.idle": "2023-07-25T23:59:30.281524Z", - "shell.execute_reply": "2023-07-25T23:59:30.280654Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAt8AAAK6CAYAAADhMzAtAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACCo0lEQVR4nOzdd3gU5f7+8XtTNgVSaGkQIEjvPUYU8YAEDkUEFREVEUUQVMCD6PGoWFFQxIJy9CigiAIiiIBgpKoEFDBU6aEoBJCSQCAkJM/vD36Zb5YUQkh2U96v65qL7M5nZz6z2Q13Js8+YzPGGAEAAAAocm6ubgAAAAAoKwjfAAAAgJMQvgEAAAAnIXwDAAAATkL4BgAAAJyE8A0AAAA4CeEbAAAAcBLCNwAAAOAkhG8AAADASQjfAAAAgJOUyPA9btw4tWnTRn5+fgoKClKvXr20c+dOh5oOHTrIZrM5LEOGDHGoOXjwoLp16yZfX18FBQVp9OjRunjxokPNypUr1bJlS3l5eal27dqaNm1atn4mT56smjVrytvbW5GRkfr1118d1qekpGjYsGGqVKmSypcvrz59+ujo0aOF82QAAACgxCiR4XvVqlUaNmyY1q5dq5iYGKWlpalz585KTk52qHv44Yd15MgRaxk/fry1Lj09Xd26dVNqaqrWrFmj6dOna9q0aXr++eetmvj4eHXr1k233HKL4uLiNGLECD300ENaunSpVTNr1iyNGjVKL7zwgjZu3KhmzZopOjpax44ds2pGjhyp7777TnPmzNGqVat0+PBh9e7duwifIQAAABRHNmOMcXUT1+r48eMKCgrSqlWr1L59e0mXznw3b95ckyZNyvEx33//vbp3767Dhw8rODhYkjRlyhSNGTNGx48fl91u15gxY7Ro0SJt3brVetzdd9+t06dPa8mSJZKkyMhItWnTRu+//74kKSMjQ+Hh4Xrsscf09NNPKzExUVWqVNHMmTN1xx13SJJ27NihBg0aKDY2Vtdff31RPS0AAAAoZjxc3UBhSExMlCRVrFjR4f4vvvhCM2bMUEhIiHr06KHnnntOvr6+kqTY2Fg1adLECt6SFB0draFDh2rbtm1q0aKFYmNj1alTJ4dtRkdHa8SIEZKk1NRUbdiwQc8884y13s3NTZ06dVJsbKwkacOGDUpLS3PYTv369VW9evVcw/eFCxd04cIF63ZGRoZOnjypSpUqyWazFeQpAgAAQBEyxujMmTMKCwuTm1vug0tKfPjOyMjQiBEj1K5dOzVu3Ni6/5577lGNGjUUFhamzZs3a8yYMdq5c6e++eYbSVJCQoJD8JZk3U5ISMizJikpSefPn9epU6eUnp6eY82OHTusbdjtdgUGBmarydzP5caNG6cXX3zxKp8JAAAAuNqhQ4dUrVq1XNeX+PA9bNgwbd26VT///LPD/YMHD7a+btKkiUJDQ9WxY0ft3btX1113nbPbvCrPPPOMRo0aZd1OTExU9erVdejQIfn7+7uwMwAAAOQkKSlJ4eHh8vPzy7OuRIfv4cOHa+HChVq9enWev2FIl8ZmS9KePXt03XXXKSQkJNusJJkzkISEhFj/Xj4rydGjR+Xv7y8fHx+5u7vL3d09x5qs20hNTdXp06cdzn5nrbmcl5eXvLy8st3v7+9P+AYAACjGrjREuETOdmKM0fDhwzVv3jwtX75cERERV3xMXFycJCk0NFSSFBUVpS1btjjMShITEyN/f381bNjQqlm2bJnDdmJiYhQVFSVJstvtatWqlUNNRkaGli1bZtW0atVKnp6eDjU7d+7UwYMHrRoAAACUDSXyzPewYcM0c+ZMffvtt/Lz87PGTgcEBMjHx0d79+7VzJkz9c9//lOVKlXS5s2bNXLkSLVv315NmzaVJHXu3FkNGzbUfffdp/HjxyshIUH/+c9/NGzYMOus85AhQ/T+++/rqaee0oMPPqjly5dr9uzZWrRokdXLqFGjNGDAALVu3Vpt27bVpEmTlJycrIEDB1o9DRo0SKNGjVLFihXl7++vxx57TFFRUcx0AgAAUNaYEkhSjsvUqVONMcYcPHjQtG/f3lSsWNF4eXmZ2rVrm9GjR5vExESH7ezfv9907drV+Pj4mMqVK5snn3zSpKWlOdSsWLHCNG/e3NjtdlOrVi1rH1m99957pnr16sZut5u2bduatWvXOqw/f/68efTRR02FChWMr6+vuf32282RI0fyfbyJiYlGUrb+AQAAUDzkN6+Vinm+S7ukpCQFBAQoMTGRMd8AAJQgxhhdvHhR6enprm4F18jd3V0eHh65junOb14rkcNOAAAAirvU1FQdOXJE586dc3UrKCS+vr4KDQ2V3W4v8DYI3wAAAIUsIyND8fHxcnd3V1hYmOx2OxfKK8GMMUpNTdXx48cVHx+vOnXq5HkhnbwQvgEAAApZamqqMjIyFB4ebl1dGyWbj4+PPD09deDAAaWmpsrb27tA2ymRUw0CAACUBAU9O4riqTC+n7wiAAAAACchfAMAAABOQvgGAABAmWCz2TR//nyX9kD4BgAAgOWBBx5Qr169XN1GqUX4BgAAAJyE8A0AAFDEjDFKTk52yXItFzPv0KGDHn/8cT311FOqWLGiQkJCNHbs2Dwfk5qaquHDhys0NFTe3t6qUaOGxo0bZ62fOHGimjRponLlyik8PFyPPvqozp49a62fNm2aAgMDtXDhQtWrV0++vr664447dO7cOU2fPl01a9ZUhQoV9PjjjztcObRmzZp6+eWX1a9fP5UrV05Vq1bV5MmT8+z10KFDuuuuuxQYGKiKFSvqtttu0/79+wv0XOUX83wDAAAUsXPnzql8+fIu2ffZs2dVrly5Aj9++vTpGjVqlNatW6fY2Fg98MADateunW699dYc6999910tWLBAs2fPVvXq1XXo0CEdOnTIWu/m5qZ3331XERER2rdvnx599FE99dRT+uCDD6yac+fO6d1339VXX32lM2fOqHfv3rr99tsVGBioxYsXa9++ferTp4/atWunvn37Wo+bMGGC/v3vf+vFF1/U0qVL9cQTT6hu3bo59pqWlqbo6GhFRUXpp59+koeHh1555RV16dJFmzdvvqarWOaF8A0AAIBcNW3aVC+88IIkqU6dOnr//fe1bNmyXMP3wYMHVadOHd14442y2WyqUaOGw/oRI0ZYX9esWVOvvPKKhgwZ4hC+09LS9OGHH+q6666TJN1xxx36/PPPdfToUZUvX14NGzbULbfcohUrVjiE73bt2unpp5+WJNWtW1e//PKL3n777Rx7nTVrljIyMvS///3Puvro1KlTFRgYqJUrV6pz584FeLaujPANAABQxHx9fR2GVjh739eiadOmDrdDQ0N17NgxSdKQIUM0Y8YMa93Zs2f1wAMP6NZbb1W9evXUpUsXde/e3SHI/vjjjxo3bpx27NihpKQkXbx4USkpKTp37pzVq6+vrxW8JSk4OFg1a9Z0+OtBcHCw1UemqKiobLcnTZqU43Ft2rRJe/bskZ+fn8P9KSkp2rt375WelgIjfAMAABQxm812TUM/XMnT09Phts1mU0ZGhiTppZde0r/+9S+H9S1btlR8fLy+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AwYMKOw+UAYQvgEAQFlXoPA9derUwu4DZQDhGwAAlHXMdgKnIXwDAICyjvANp6ldu7Yk6eTJkzpx4oSLuwEAAHA+p4bvEydO6OTJk87cJYoRX19fVatWTZK0e/duF3cDAADgfEUevo8eParBgwercuXKCgoKUpUqVVShQgU98MADOnjwYFHvHsUMQ08AAEBZVqDw/eeffyosLExhYWH68MMPc63bt2+fWrVqpU8++UQnT560phdMTEzU559/rhYtWiguLq6gvaMEInwDAICyrEDhe8mSJUpISNDJkyd111135Vp399136/Dhw9Z83uHh4YqMjJSfn5+MMTp16pT69eunixcvXtX+V69erR49eigsLEw2m03z5893WP/AAw/IZrM5LF26dHGoOXnypPr37y9/f38FBgZq0KBB2S57vnnzZt10003y9vZWeHi4xo8fn62XOXPmqH79+vL29laTJk20ePFih/XGGD3//PMKDQ2Vj4+POnXqVKaHXBC+AQBAWVag8B0bGytJuuWWW1SpUqUcaxYuXKj169fLZrOpYsWKWrJkiQ4cOKDY2FglJCRo4MCBki6FsLlz517V/pOTk9WsWTNNnjw515ouXbroyJEj1vLll186rO/fv7+2bdummJgYLVy4UKtXr9bgwYOt9UlJSercubNq1KihDRs2aMKECRo7dqw++ugjq2bNmjXq16+fBg0apN9//129evVSr169tHXrVqtm/PjxevfddzVlyhStW7dO5cqVU3R0tFJSUq7qmEsLwjcAACjTTAG0adPGuLm5mbfeeivXmrvvvtvYbDbj5uZmpk2blm19RkaGadq0qXFzczP9+vUrSBvGGGMkmXnz5jncN2DAAHPbbbfl+pjt27cbSea3336z7vv++++NzWYzf/31lzHGmA8++MBUqFDBXLhwwaoZM2aMqVevnnX7rrvuMt26dXPYdmRkpHnkkUeMMZeOMSQkxEyYMMFaf/r0aePl5WW+/PLLfB9jYmKikWQSExPz/ZjiaufOnUaS8fX1NRkZGa5uBwAAoFDkN68V6Mz3/v37JUnNmjXLtWblypWSpICAAN1zzz3Z1ttsNj344IMyxmjTpk0FaSNPK1euVFBQkOrVq6ehQ4c6TG0XGxurwMBAtW7d2rqvU6dOcnNz07p166ya9u3by263WzXR0dHauXOnTp06ZdV06tTJ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uzp27KiNGze6ukUAAFDMEL6Ba2S32/XEE09o7969Gj16tLy8vLRixQq1atVK9957rw4cOODqFgEAQDFB+AYKSWBgoMaPH6+dO3eqf//+kqQvvvhC9erV05gxY3T69GnXNggAAFyO8A0Usho1amjGjBn67bff1KFDB124cEHjx49X7dq19c477yg1NdXVLQIAABchfANFpHXr1lq+fLm+++47NWjQQCdOnNCIESPUsGFDff3113woEwCAMojwDRQhm82m7t27a/PmzZoyZYqCg4O1d+9e3XnnnbrhhhsUExNDCAcAoAwhfANO4OHhoUceeUS7d+/W888/L19fX61du1adO3fWTTfdpGXLlhHCAQAoAwjfgBP5+fnpxRdf1J49e/TEE0/Iy8tLv/zyizp16qQOHTpo5cqVrm4RAAAUIcI34AKhoaGaNGmS9u7dq+HDh8tut2v16tW65ZZbdMstt2j16tWubhEAABQBwjfgQlWrVtV7772nvXv36tFHH5XdbtfKlSt18803q2PHjvr5559d3SIAAChEhG+gGKhWrZomT56sPXv2aMiQIfL09NTy5ct10003qXPnzoqNjXV1iwAAoBAQvoFiJDw8XB9++KF2796thx9+WB4eHoqJidENN9ygLl26aN26da5uEQAAXAPCN1AM1ahRQx999JF27dqlQYMGyd3dXUuXLtX111+vbt266bfffnN1iwAAoAAI30AxFhERof/973/atWuXBg4cKHd3dy1evFht27ZVjx49tGHDBle3CAAArgLhGygBatWqpU8//VQ7duzQ/fffLzc3Ny1cuFCtW7fWbbfdpt9//93VLQIAgHwgfAMlSO3atTV9+nT98ccfuvfee+Xm5qYFCxaoZcuW6t27tzZv3uzqFgEAQB4I30AJVLduXX3++efatm2b+vXrJ5vNpnnz5qlZs2a64447tGXLFle3CAAAckD4Bkqw+vXra+bMmdq6dav69u0rm82muXPnqmnTprrrrru0bds2V7cIAACyIHwDpUDDhg311VdfafPmzbrjjjskSXPmzFGTJk3Ur18//fHHHy7uEAAASIRvoFRp3Lix5syZo02bNql3794yxuirr75So0aNdO+992rXrl2ubhEAgDKN8A2UQk2bNtXcuXP1+++/q1evXjLG6IsvvlCDBg3Uo0cPTZs2TSdPnnR1mwAAlDk2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qCRFRUXp9OnT2rBhg1q1aiVJWr58uTIyMhQZGWnVPPvss0pLS7P+FB0TE6N69epZV9yLiorSsmXLNGLECGv/MTExioqKyncvAIqOr6+vatWqpVq1auVZl5GRoRMnTuQZ0DO/TkxMVEpKivbv36/9+/fnuD2bzaaoqCj16tVLt99+u2rXrl0ERwcAKIlK5EV2zp49qz179kiSWrRooYkTJ+qWW25RxYoVVb16db3xxht6/fXXNX36dEVEROi5557T5s2btX37dnl7e0uSunbtqqNHj2rKlClKS0vTwIED1bp1a82cOVOSlJiYqHr16qlz584aM2aMtm7dqgcffFBvv/22NSXhmjVrdPPNN+v1119Xt27d9NVXX+m1117Txo0b1bhxY0nKVy9XwkV2gOLj/PnzeZ5NP3DgQLYz540aNbKCeMuWLRmyAgClUL7zmjOmXilsK1ascJhiLHMZMGCAMebSFH/PPfecCQ4ONl5eXqZjx45m586dDts4ceKE6devnylfvrzx9/c3AwcONGfOnHGo2bRpk7nxxhuNl5eXqVq1qnn99dez9TJ79mxTt25dY7fbTaNGjcyiRYsc1uenlythqkGgZDl06JCZPHmyufXWW42Hh4fDz6nw8HAzfPhws2zZMpOamurqVgEAhSS/ea1EnvkuazjzDZRcp06d0uLFizV//nx9//33Sk5OttZVqFBB3bt31+23367OnTurXLlyLuwUAHAt8pvXCN8lAOEbKB3Onz+vZcuWaf78+VqwYIGOHz9urfP29lbnzp11++23q3v37qpcubILOwUAXC3CdylC+AZKn/T0dK1Zs0bz58/XvHnzFB8fb61zc3NT+/bt1atXL912222qWbOm6xoFAOQL4bsUIXwDpZsxRlu2bLGCeFxcnMP6Fi1aqFevXurVq5eaNGnCBzYBoBgifJcihG+gbNm/f7++/fZbzZs3Tz/99JMyMjKsdbVq1bKC+A033CB3d3cXdgoAyET4LkUI30DZ9ffff2vhwoWaN2+efvjhB6WkpFjrqlSpop49e6pXr17q1KlTvqcvBQAUPsJ3KUL4BiBJycnJWrp0qebPn6+FCxfq1KlT1jpvb2/Vrl1b1113XbalRo0a1sXCAABFg/BdihC+AVwuLS1NP/30k+bNm6f58+frzz//zLXWzc1N1atXzzGYX3fddfLz83Ni5wBQ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SUxMjPz9/dWwYUOrJus2Mmsyt2G329WqVSuHmoyMDC1btsyqAQAAQNlSKsP3v/71L61atUr79+/XmjVrdPvtt8vd3V39+vVTQECABg0apFGjRmnFihXasGGDBg4cqKioKF1//fWSpM6dO6thw4a67777tGnTJi1dulT/+c9/NGzYMOuM9JAhQ7Rv3z499dRT2rFjhz744APNnj1bI0eOtPoYNWqUPv74Y02fPl1//PGHhg4dquTkZA0cONAlzwsAAABcq1QOO/nzzz/Vr18/nThxQlWqVNGNN96otWvXqkqVKpKkt99+W25uburTp48uXLig6OhoffDBB9bj3d3dtXDhQg0dOlRRUVEqV66cBgwYoJdeesmqiYiI0KJFizRy5Ei98847qlatmv73v/8pOjraqunbt6+OHz+u559/XgkJCWrevLmWLFmS7UOYxY2Xl5deeOGFbENfSqOydKxS2TpejrX0KkvHy7GWXmXpeMvSseZHqZznGwAAACiOSuWwEwAAAKA4InwDAAAATkL4BgAAAJyE8A0AAAA4CeEb2UyePFk1a9aUt7e3IiMjs11wqDQYN26c2rRpIz8/PwUFBalXr17auXOnq9tyitdff102m00jRoxwdStF5q+//tK9996rSpUqycfHR02aNNH69etd3VahS09P13PPPaeIiAj5+Pjouuuu08svv6zS8Dn61atXq0ePHgoLC5PNZtP8+fMd1htj9Pzzzys0NFQ+Pj7q1KmTdu/e7ZpmC0Fex5uWlqYxY8aoSZMmKleunMLCwnT//ffr8OHDrmv4Glzpe5vVkCFDZLPZNGnSJKf1V5jyc6x//PGHevbsqYCAAJUrV05t2rTRwYMHnd9sIbjS8Z49e1bDhw9XtWrV5OPjo4YNG2rKlCmuadaFCN9wMGvWLI0aNUovvPCCNm7cqGbNmik6OtrhgkOlwapVqzRs2DCtXbtWMTExSktLU+fOnZWcnOzq1orUb7/9pv/+979q2rSpq1spMqdOnVK7du3k6emp77//Xtu3b9dbb72lChUquLq1QvfGG2/oww8/1Pvvv68//vhDb7zxhsaPH6/33nvP1a1ds+TkZDVr1kyTJ0/Ocf348eP17rvvasqUKVq3bp3KlSun6OhopaSkOLnTwpHX8Z47d04bN27Uc889p40bN+qbb77Rzp071bNnTxd0eu2u9L3N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VnPx4kX5+fnJZrPp6aefzrZ+7dq1+s9//qMOHTooJCREdrtd/v7+atiwoYYOHart27fneSyZr+/M1/CRI0c0ZswYNWrUyNrv5bNk/Pnnnxo2bJhq1aolb29vhYWFqWfPntawn8KQnp6uadOmKTo62jqugIAA1alTRx07dtRrr73mcGyZr4MXX3zRuu/y15PNZsvx9Zienq7p06ere/fuCgsLk5eXlypVqqQbb7xREydO1Pnz53Pt8/LPguzcuVODBw9WRESEvL29FRoaqrvuuktr167N8fFff/211duOHTtyrMl8veU1a0+XLl1ks9l0/fXXO9yfn9lOdu3apccee0yNGzeWn5+f7Ha7wsLC1Lx5cz344IOaNWuW9UtyThISEvTss8+qdevWqlixory8vBQeHq677rqrUF8TKMEMAJeaOnWqkXTNS3x8/FXve/v27SYsLOyK237vvfesxwwYMOCK9TVq1Mi2rx9//NFUqlQpz8f985//NGfOnMmx18yaF154wYwdOzbXbQQEBJjVq1cX2vFerddee824ubnlum0vLy8zffr0XI8vryU/8vN6GjBggMNjli5davz9/fN8zLBhw0x6enqO+6xRo4a13Q8//NB4eHjk2Pvs2bOt23/88Ue27UybNs3hMfPmzctWs3btWmv9999/f9XH7u7ubiZPnpzr85f5+q5Ro4aJjY01lStXzraNFStWWPWrV6/O87kbO3aseeGFF67qe3i5M2fOmJtuuumKx9anT5+rei5y+rlx4MAB06xZszwfU7t2bbNz584ce7355puNJHPzzTebxYsXm3LlyuW4DTc3N/P2229ne/yxY8esmg8//DDb+v379zts54knnshWk5aWZsqXL28kmTFjxjisW7FiRY7fx0yzZ882drv9is/bli1bcjz+GTNm5HrMmcugQYNMWlpajo9H2cAHLoEy7L777tPhw4fl6emphx9+WF27dlVISIgyMjL0559/au3atZo3b57DY1599VX961//0sCBA7V+/Xq1bt1aU6dOdaix2+0Ot3/55Rd17dpVaWlpCg4O1mOPPaZmzZopLCxMhw8f1qxZszRjxgwtXrxYAwYM0Ny5c3PtedGiRVq/fr3q1aunp556Sk2bNlViYqLmzJmjjz/+WImJierevbu2bt2q8PDwaz7eq/HBBx/o3//+tySpSpUqGjNm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Ll2a42wLWZc333xT0qVglps2bdrkub+2bdtaX2cd41rUx7t161ZJUsuWLfP85Sg4ONiaSSPzMa6SuX+73a7mzZvnWRsZGSlJ2r17tzWF4eWaNm16xX3mFqwyv84MTDkFq8yv3d3dc51q8++//9a///1v1atXT35+foqIiFDjxo3VpEkTNWnSRN26dXOozU358uVVq1atXNdnfW1dzWuyIDJD7Jo1axQREaHhw4dr3rx5On78+DVtN6vM9+m5c+fk4eGR5/u0e/fu1uNye69GRESocuXKue6vSpUq1vvg8rHowcHB1ucBcvr+Z46jzuk1snHjRiUlJUm6uvHektSzZ08FBgZKkm6//Xb94x//0Ntvv60NGzZYv2jlJD09XXFxcZKk//73v1f8Off1119LyvvnHEo3wjdQjJw5c0abN2+WlPuZ7xtuuKHQ9vfll19aZ2G2b9+ul19+WR07dlRgYKDat2+vKVOmKCUl5Zr2cezYsat+TF5TmQUFBeX52ODgYOvry6eqK8rjzdzXlfqTpJCQkBz7c7bM/VesWFEeHnl//j6zZ2OMTp06lWNN1g9y5rWdevXqSXIMTZlnvvMK35k1LVq0yPECRBs2bFD9+vU1btw47dq164pXMszrdZYZwnKT9Xt3Na/Jgnjuuef04IMPymaz6dixY5o8ebJ69+6toKAgNW7cWC+88MI1T49ZkPeppFx/cc3P+yDzecnpfZAZnDO/51m/vvw1snnzZmsbmTXu7u5X/CvM5SpVqqQFCxaoatWqMsZoxYoVGjVqlDVlYO/evbVw4cJsjzt58qQuXrx4VfuScn/uUPox2wngQjVr1tSBAwdyXJfbn6p79uzpcPuFF16w5r6+WlWrVtWaNWu0bNkyffPNN1q1apW2b9+utLQ0/fTTT/rpp5/05ptvavHixQW+SmLmGaOuXbtq/PjxBdpGVvmd7zonzjjea+nPVQqrZ3d393zVdejQQTt37rSC0l9//aW9e/dawwmk/wtfmcEqMDDQ+qtQTmc0U1NTddddd+nEiRPy9PTUY489pttuu01169ZVhQoVrKEA+/bt03XXXSdJeYbz/B6LVPTfc09PT33yySd68skn9eWXX2r58uVav369UlNTtW3bNm3btk0TJ07UjBkzdNtttxVoH5nv08qVK2vFihX5flxERESO91/rc9KhQwf997//tYYn1a9fP1v4rl69umrWrKn9+/dr9erV6tWrl1XTvHnzAl0h9qabbtKePXs0d+5cLV68WKtXr9aff/6ppKQkzZs3T/PmzVN0dLS++eYb+fr6SpLDWfGHHnpITzzxRL72dfmsUCg7CN8A1LFjR3Xs2FHSpenGfvzxR3300Udavny59u7dq759++r3338v0LYrVaqkw4cPKzU1tVAuDHSlM3xZ11esWDHHmqI43ooVK+rIkSP5OgOZ+efm3Ppzlsz9nzhxQhcvXszz7HdmzzabLV9nuPNy8803OwSrDRs2SPq/4QSSVKNGDYdgFR4ersTEREk5j+Vdvny59u3bJ+nSlI9Zx9ZnVVh/bcj6HBw9ejTbtJZZXetZ6UwNGzbUyy+/rJdfflkpKSn6+eefNXPmTH322Wc6e/as+vXrp7179+Z6EaO8VKpUSdKlv741aNDgqn75yEl+jjmzJqf3weXDk/z8/LRnzx6HX9CkS6+FadOmaeXKlerZs6f1mZmrHe+dlbe3t/r372+N+Y+Pj9eiRYv03nvvadeuXVq6dKmeffZZvf3229n6N8YU2gXQUHox7ARwoR9++EFbtmyxlswPEj777LMO999+++2SLn0ALOv9W7ZscZi/uTBUqlRJffv21bJly6yz7HFxcdq9e7dDXX7PbLVo0UKSrDN11+q3337L9/r8/CeY3+O9ksx9bdy4Mc8/QR87dsz6a4er/5PO3H9qaqo1ZjU3v/76qySpTp0613zGLmswWrlyZbYzmpfXZa1xc3PLcTjBtm3brK/79u2b674zxzZfq8w51KWre00WFm9vb3Xq1EmffvqpJkyYIOnSMJrLh0Vc7fv0woULhfIcxcfH68SJE7muP378uHV1zZzeB6GhodZfn7J+/7P+giY5vkbi4uKsX9Cudrx3XjLH2f/222+qVq2apEtzemey2+3WXyozhwcCeSF8Ay5Ut25dNW7cWI0bN1a9evX0xx9/SJJ69+5t3d+4cWPt3LlT0qVP0me9v3HjxvkaW1lQmWeHpewfTvP29pakPC+zLP3fMJnExMRsF+MpiC1btuR5VvrTTz+VdGnYwNWe/crreK+kU6dOki5dvv6bb77Jte6TTz6xhjtkPsZVsu4/83nLSWxsrHXp8sLoOTQ0VHXq1JF0KTRd/mHLTFmDVWZN8+bNc7ywS9ZfeJKTk3Pcb0ZGhj7++ONra/7/u+WWW6yzw9OnT8+17rfffivyD9bm530q5f1e7dGjhxXUJ02adM09GWP02Wef5bp+2rRpV3wfZB33faXXyObNm633XW6/oF0rf39/68O1lz/PmT/nduzYUaCLY6GMcdkkhwAcxMbGGknGz8/PXLx40br/77//NjabzUgyf/31V6Ht7/fffze///57ruszMjIcLmRx+PBhh/WZF7sICgoyGRkZuW4nJSXFukhI+fLlzapVq/Ls66effjIrV67Mdr+yzJXcunVrc/bs2Ww1X3zxhVWT9VLbhXG8V5L1IjvVqlUzf/75Z7aauLg467LXxeUiO61bt7bmRf/xxx+zrT99+rRp0qSJdWGQnC4+kvXy8vn18MMPG0nWxVZsNlu2eeDj4+OtdZnze48cOTLH7c2dO9c63nHjxuVYkzk/deYyderUbDVX8/z37t3b2tasWbOyrT9z5oxp0aLFNc3zfeLECbNgwYI832MTJkywtv/ll186rJs+fbq1btu2bXnu66677rJq33rrrTxr9+3bl+OFhbLO812hQoUcLySzfft264I0oaGh5sKFCznuI+v7ObP+8jnBjfm/119mTYsWLXLtO695vpcsWZLn+/706dPWHN316tVzWJeQkGC9t0NDQ3O8GFVWCxcuLJLrDaBkIHwDxUTmRSeio6Md7s+8KEjt2rULdX9Tp061LkTx0ksvmYULF5r169eb2NhYM3PmTHPrrbda/0nddttt2R7/8ccfW+tHjBhh1q9fb3bv3m12795t9u/f71AbGxtrvLy8jHTpqnP9+/c3c+bMMevXrze//vqr+fbbb83zzz9vhbycrkCZNXhLMvXr1zdTp04169evN8uWLTNDhw41bm5u1i8w8fHxhXq8+TF58mRrG8HBwebtt98269atM7/88ot58cUXrf+cbTabWbRoUY7bcHb4/v33343dbjeSjN1uN08++aRZuXKl+e2338xHH31katWqZW3nqaeeynEbBQnfM2bMcAiljRo1ynPbmcu3336bY93Zs2dNUFCQ9Rp75JFHzJIlS8z69evNV199ZTp27GgkmXbt2hVa+I6Pj7d+KXB3dzePPvqoWb58uVm/fr359NNPTd26dR1eswUJ35m/gNSsWdOMGjXKzJo1y6xdu9asX7/efPfdd2bw4MHW675q1arZrvy6e/dua9+dO3c2q1atMrt27bLeq1mvxHjixAmH73f79u3N//73PxMbG2s2btxoYmJizJtvvmk6depk3Nzcsv2Ca8z/he/atWubgIAAExgYaMaNG2diY2NNbGysGTdunBWSpUtX683Nn3/+6fC9z+kXNGMcL4yU1y9oxuQdvgcMGGA8PT3NP//5TzNp0iTz448/mo0bN5pVq1aZyZMnW1dnlWTefvvtbNueO3eudaLE29vbDBkyxHz77bdmw4YNZu3atebrr782Tz31lPUcX+liRii9CN9AMdGtWzcjybzyyisO9z/55JNGunTJ4sKUGUavtNxwww05XgnwzJkzDv9RZ11yCi6xsbHWGfArLdOnT8/2+KxBMutV+y5f/P39czxzfq3Hm1+vvvqqFYZyWry8vHI8vkzODt/GGLN06VLrDHRuy7Bhw0x6enqOjy9I+L48WA0bNizHuqzBys3NzZw8eTLXbS5ZssR4e3vnegwdOnQwW7duLbTwbcylMJcZwHNann/++au6xPvlMsP3lZbQ0NBcr/ya9Yz25cvlv6QeOXLE3HTTTfna58CBA7PtK+uVbxcuXGj9Nejyxc3NLc8rYGaqXbu29ZjcfkG7/L09f/78XLd3pfCdn+MeMmRIru+FBQsWmIoVK15xG25ubmb58uVXPH6UToRvoBhIT083gYGBRlK2YRmZl1yfNm1aoe4zJSXFLF682IwcOdLceOONJiIiwvj6+hq73W6qVatmevbsab744otc/5Mx5tKfWp944gnToEEDh/9kcwsuKSkpZsqUKaZbt24mLCzM2O124+3tbcLDw03nzp3Nq6++muOfqY3JHiSXLFliunXrZoKDg43dbjc1a9Y0jz76qDl06FCRHW9+bdq0yTz88MPmuuuuMz4+PqZcuXKmQYMG5oknnsgWdi7nivBtzKVhM//+979N8+bNjb+/v/Hy8jLVq1c3/fv3Nz/99FOejy1I+DbGmOuuu87qMafhBMY4BqvmzZtfcZtbt2419957rwkLCzOenp6mSpUq5uabbzYfffSRSU9PdwizhRG+jTHm4MGDZujQoaZGjRrGbreb4OBg061bN7NkyRJjTP4v8Z6TjIwM8+uvv5qxY8eazp07m3r16pnAwEDj4eFhKleubNq3b28mTJhgEhMTc91GamqqGT9+vGnbtq0JCAhw+OUwt9fjwoULTf/+/U2tWrWMr6+v9VzecMMN5sknn8x1+FjW8G3MpSEmAwcOtJ6boKAg06dPH7NmzZp8Hf+gQYOu+Ata1u/plX5Byyt8nzx50syYMcM8+OCDpnXr1qZq1arGbrcbHx8fU7duXTNgwIArvheMMSYxMdG8+eab5h//+IcJDg42np6exsfHx0T8v/bu4ASBGAjD6FrKVpIUkNrSU1pJI+NJxJML4o/Iex3k9jGQmfOsMUbNOWvvfen9/Kdb1ZsrBAA/4PEZ7JO95sB39d6PtdbRWns5kAQ82XYCAAAh4hsAAELENwAAhIhvAAAIEd8AABBi2wkAAISYfAMAQIj4BgCAEPENAAAh4hsAAELENwAAhIhvAAAIEd8AABAivgEAIOQOemoJo11iD4EAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "mse_fig, ax = subplots(figsize=(8,8))\n", "insample_mse = ((Yhat_in - Y[:,None])**2).mean(0)\n", @@ -562,7 +385,7 @@ " fontsize=20)\n", "ax.set_xticks(np.arange(n_steps)[::2])\n", "ax.legend()\n", - "ax.set_ylim([50000,250000]);\n" + "ax.set_ylim([50000,250000]);" ] }, { @@ -594,28 +417,10 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "0047ba88", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:30.285990Z", - "iopub.status.busy": "2023-07-25T23:59:30.285674Z", - "iopub.status.idle": "2023-07-25T23:59:32.494537Z", - "shell.execute_reply": "2023-07-25T23:59:32.494207Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(263, 20)" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "K = 5\n", "kfold = skm.KFold(K,\n", @@ -625,7 +430,7 @@ " Hitters,\n", " Y,\n", " cv=kfold)\n", - "Yhat_cv.shape\n" + "Yhat_cv.shape" ] }, { @@ -646,35 +451,17 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "27b0eb63", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:32.496480Z", - "iopub.status.busy": "2023-07-25T23:59:32.496340Z", - "iopub.status.idle": "2023-07-25T23:59:32.499706Z", - "shell.execute_reply": "2023-07-25T23:59:32.499405Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(20, 5)" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "cv_mse = []\n", "for train_idx, test_idx in kfold.split(Y):\n", " errors = (Yhat_cv[test_idx] - Y[test_idx,None])**2\n", " cv_mse.append(errors.mean(0)) # column means\n", "cv_mse = np.array(cv_mse).T\n", - "cv_mse.shape\n" + "cv_mse.shape" ] }, { @@ -683,34 +470,15 @@ "metadata": {}, "source": [ "We now add the cross-validation error estimates to our MSE plot.\n", - "We include the mean error across the five folds, and the estimate of the standard error of the mean. " + "We include the mean error across the five folds, and the estimate of the standard error of the mean." ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "a45fe587", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:32.501370Z", - "iopub.status.busy": "2023-07-25T23:59:32.501275Z", - "iopub.status.idle": "2023-07-25T23:59:32.592962Z", - "shell.execute_reply": "2023-07-25T23:59:32.592640Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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1rdq1Up79uzRN998o++//1733HOPYmNj9fnnn2vv3r26/fbb9fjjj+sf//iHKlasqB9//FGDBg1SVlaWI3zntc/L1VEQ6enpat26tT7++OOL1lWpUqXA2y3pCN8AAADFVGhoqEJDQy9qDwoK0r333qt7771Xd911l7p06aJjx44pKSlJubm5eu211xy3Qp89e3ah1bNq1aqLnjdq1CjPvq1atdJnn32m0NBQBQUFFVoNJR2znQAAAJQgkyZN0ieffKKtW7dq+/btmjNnjsLCwhQSEqJ69eopOztbb731lnbv3q0PP/xQ06ZNK7R9//TTT5owYYK2b9+uKVOmaM6cOXryySfz7Nu3b19VrlxZd9xxh3744Qft2bNHy5Yt0xNPPKHff/+90GoqaQjfAAAAJUhgYKAmTJigNm3aqG3bttq7d6++/vpreXh4qHnz5po0aZJeeeUVXXfddfr444+dpiG8Vn/729/0yy+/qGXLlnr55Zc1adIkxcXF5dm3XLlyWrFihWrUqKGePXuqUaNGGjRokE6fPl2mz4TbTEEnpoTLpKWlKTg4WKmpqWX6lxUAALvTp09rz549ql27tvz8/NxdTplQq1YtDR8+3Gk2lbLmcr93+c1rnPkGAAAAXITwDQAAALgIs50AAADgisr6beELC2e+AQAAABchfAMAAAAuQvgGAAAAXITwDQAAALgI4RsAAJRtGRmSzWYtGRnurgalHOEbAAAAcBHCNwAAAIrEjBkzFBIS4ng+ZswYtWjR4rKveeCBB9SjR48iretS9u7dK5vNpnXr1hXZPgjfAAAAbpCcnKxhw4apTp068vX1VWRkpLp166bFixe7u7Qi89RTTxX68bkiMBcmbrIDAADgYnv37lX79u0VEhKiiRMnqmnTpsrOztZ3332nIUOGaOvWrRe9Jjs7W97e3m6otvCUL19e5cuXd3cZbsWZbwAAUDoYY10wWZDFrqCvN+aqSh08eLBsNpvWrFmjXr16KSoqSk2aNFF8fLxWrVolSbLZbJo6daq6d++ugIAA/eMf/5AkTZ06VXXr1pWPj48aNGigDz/88Ly3wGjMmDGqUaOGfH19FRERoSeeeMKx/p133lH9+vXl5+enqlWr6q677sqzvtzcXFWvXl1Tp051av/111/l4eGhffv2SZImTZqkpk2bKiAgQJGRkRo8eLDS09MvedwXDjvJyclRfHy8QkJCVKlSJT399NMyF7yX3377rW688UZHn9tvv127du1yrK9du7YkqWXLlrLZbLrlllsc6/7973+rUaNG8vPzU8OGDfXOO+84bXvNmjVq2bKl/Pz81KZNG/3666+XrL3QGBR7qampRpJJTU11dykAABQLmZmZ5rfffjOZmZnnGtPTjbFisOuX9PR813706FFjs9nMP//5z8v2k2RCQ0PN+++/b3bt2mX27dtnvvjiC+Pt7W2mTJlitm3bZl577TXj6elplixZYowxZs6cOSYoKMh8/fXXZt++fWb16tXm3XffNcYY8/PPPxtPT08za9Yss3fvXrN27VrzxhtvXHL/Tz31lLnxxhud2v72t785tb3++utmyZIlZs+ePWbx4sWmQYMG5vHHH3esnz59ugkODnY8f+GFF0zz5s0dz1955RVToUIFM3fuXPPbb7+ZQYMGmcDAQHPHHXc4+nz++edm7ty5ZseOHebXX3813bp1M02bNjU5OTnGGGPWrFljJJnvv//eHDp0yBw9etQYY8xHH31kwsPDzdy5c83u3bvN3LlzTcWKFc2MGTOMMcacPHnSVKlSxdx3331m06ZN5quvvjJ16tQxksyvv/6a53uS5+/d/+Q3rxG+SwDCNwAAzkpy+F69erWRZL744ovL9pNkhg8f7tR2ww03mIcfftip7e677zZ//etfjTHGvPbaayYqKspkZWVdtL25c+eaoKAgk5aWlq86f/31V2Oz2cy+ffuMMcbk5OSYatWqmalTp17yNXPmzDGVKlVyPL9S+A4PDzcTJkxwPM/OzjbVq1d3Ct8XOnLkiJFkNm7caIwxZs+ePXkG5rp165pZs2Y5tb300ksmJibGGGPMv/71L1OpUiWn36GpU6cWefhm2AkAACgdypWT0tOvfklJObeNlJSCbaNcuXyXaa5iiEqbNm2cnm/ZskXt27d3amvfvr22bNkiSbr77ruVmZmpOnXq6OGHH9a8efN09uxZSdKtt96qmjVrqk6dOurXr58+/vhjnTp1SpL08ccfO8Zjly9fXj/88INatGihRo0aadasWZKk5cuX6/Dhw7r77rsd+/7+++/VqVMnVatWTYGBgerXr5+OHj3q2O7lpKam6tChQ4qOjna0eXl5XXTMO3bsUJ8+fVSnTh0FBQWpVq1akqT9+/dfctsZGRnatWuXBg0a5HRcL7/8smPIypYtW9SsWTP5+fk5XhcTE3PFuq8V4RsAAJQONpsUEFCwxa6gr7fZ8l1m/fr1ZbPZ8ryo8kIB59eWD5GRkdq2bZveeecd+fv7a/DgwerQoYOys7MVGBiotWvX6pNPPlF4eLief/55NW/eXCdOnFD37t21bt06x2IPwH379nWE71mzZqlLly6qVKmSJOui0dtvv13NmjXT3LlzlZSUpClTpkiSsrKyrqruy+nWrZuOHTum9957T6tXr9bq1auvuA/7uPP33nvP6bg2bdrkGFPvLoRvAAAAF6pYsaLi4uI0ZcoUZeRxR80TJ05c8rWNGjXSTz/95NT2008/qXHjxo7n/v7+6tatm958800tW7ZMiYmJ2rhxoyTrzHJsbKwmTJigDRs2aO/evVqyZIkCAwNVr149x+Lv7y9Juu+++7Rp0yYlJSXp888/V9++fR37SUpKUm5url577TVdf/31ioqK0sGDB/P9PgQHBys8PNwRpiXp7NmzSkpKcjw/evSotm3bpmeffVadOnVSo0aNdPz4caft+Pj4SLIu3rSrWrWqIiIitHv3bqfjqlevnuMCzUaNGmnDhg06ffq043WuCOZMNQgAAOBiU6ZMUfv27dWuXTu9+OKLatasmc6ePauEhARNnTrVMYzkQiNHjtQ999yjli1bKjY2Vl999ZW++OILff/995Ksm9rk5OQoOjpa5cqV00cffSR/f3/VrFlTCxcu1O7du9WhQwdVqFBBX3/9tXJzc9WgQYNL1lmrVi3dcMMNGjRokHJyctS9e3fHunr16ik7O1tvvfWWunXrpp9++knTpk27qvfhySef1Pjx41W/fn01bNhQkyZNcvrwUaFCBVWqVEnvvvuuwsPDtX//fj3zzDNO2wgNDZW/v7++/fZbVa9eXX5+fgoODtbYsWP1xBNPKDg4WF26dNGZM2f0yy+/6Pjx44qPj9d9992nv//973r44Yc1evRo7d27V6+++upV1V8glx0RjmKBCy4BAHB2uQvfrtr5F2pexYWT1+rgwYNmyJAhpmbNmsbHx8dUq1bNdO/e3SxdutQYY11wOW/evIte984775g6deoYb29vExUVZT744APHunnz5pno6GgTFBRkAgICzPXXX2++//57Y4wxP/zwg7n55ptNhQoVjL+/v2nWrJn57LPPrljnO++8YySZ/v37X7Ru0qRJJjw83Pj7+5u4uDjzwQcfGEnm+PHjxpgrX3CZnZ1tnnzySRMUFGRCQkJMfHy86d+/v9MFlwkJCaZRo0bG19fXNGvWzCxbtuyi9+a9994zkZGRxsPDw9x8882O9o8//ti0aNHC+Pj4mAoVKpgOHTo4XeiamJhomjdvbnx8fEyLFi3M3Llzi/yCS5sxVzkxJVwuLS1NwcHBSk1NVVBQkLvLAQDA7U6fPq09e/aodu3aThfMFUhGhmS/8Ut6uvMYcOA8l/u9y29eY9gJAAAo2wICrvomOUBBccElAAAA4CKEbwAAAMBFCN8AAACAixC+AQBAicW8EXClwvh9I3wDAIASx9vbW5LydRtzoLDYf9/sv38FwWwnAACgxPH09FRISIgOHz4sSSpXrpxsV3GLd+BqGGN06tQpHT58WCEhIfL09CzwtgjfAACgRAoLC5MkRwAHilpISIjj966gCN8AAKBEstlsCg8PV2hoqLKzs91dDko5b2/vazrjbUf4BgAAJZqnp2ehhCLAFbjgEgAAAHARwjcAAADgIoRvAAAAwEUI3wAAAICLEL4BAAAAFyF8AwAAAC5C+AYAAABchPANAAAAuAjhGwAAAHARwjcAAADgIoRvAAAAwEUI3wAAAICLEL4BAAAAFyF8AwAAAC5C+AYAAABchPANAAAAuAjhGwAAAHCREhm+x40bp7Zt2yowMFChoaHq0aOHtm3b5lh/7NgxDRs2TA0aNJC/v79q1KihJ554QqmpqU7bsdlsFy2ffvqpU59ly5apVatW8vX1Vb169TRjxoyL6pkyZYpq1aolPz8/RUdHa82aNU7rT58+rSFDhqhSpUoqX768evXqpZSUlMJ7QwpTRoZks1lLRoa7qwEAAChVSmT4Xr58uYYMGaJVq1YpISFB2dnZ6ty5szL+FxYPHjyogwcP6tVXX9WmTZs0Y8YMffvttxo0aNBF25o+fboOHTrkWHr06OFYt2fPHnXt2lUdO3bUunXrNHz4cD300EP67rvvHH0+++wzxcfH64UXXtDatWvVvHlzxcXF6fDhw44+I0aM0FdffaU5c+Zo+fLlOnjwoHr27Fl0bxAAAACKJZsxxri7iGt15MgRhYaGavny5erQoUOefebMmaP7779fGRkZ8vLykmSd+Z43b55T4D7fqFGjtGjRIm3atMnR1rt3b504cULffvutJCk6Olpt27bV22+/LUnKzc1VZGSkhg0bpmeeeUapqamqUqWKZs2apbvuukuStHXrVjVq1EiJiYm6/vrrr3h8aWlpCg4OVmpqqoKCgvL9vhRIRoZUvrz1OD1dCggo2v0BAACUAvnNayXyzPeF7MNJKlaseNk+QUFBjuBtN2TIEFWuXFnt2rXT+++/r/M/iyQmJio2Ntapf1xcnBITEyVJWVlZSkpKcurj4eGh2NhYR5+kpCRlZ2c79WnYsKFq1Kjh6HOhM2fOKC0tzWkBAABAyed15S7FW25uroYPH6727dvruuuuy7PPn3/+qZdeekmPPPKIU/uLL76ov/zlLypXrpz++9//avDgwUpPT9cTTzwhSUpOTlbVqlWdXlO1alWlpaUpMzNTx48fV05OTp59tm7d6tiGj4+PQkJCLuqTnJycZ73jxo3T2LFj8/0eAAAAoGQo8eF7yJAh2rRpk3788cc816elpalr165q3LixxowZ47Tuueeeczxu2bKlMjIyNHHiREf4dpfRo0crPj7e8TwtLU2RkZFurAgAAACFoUQPOxk6dKgWLlyopUuXqnr16hetP3nypLp06aLAwEDNmzdP3t7el91edHS0fv/9d505c0aSFBYWdtGsJCkpKQoKCpK/v78qV64sT0/PPPuEhYU5tpGVlaUTJ05css+FfH19FRQU5LQAAACg5CuR4dsYo6FDh2revHlasmSJateufVGftLQ0de7cWT4+PlqwYIH8/PyuuN1169apQoUK8vX1lSTFxMRo8eLFTn0SEhIUExMjSfLx8VHr1q2d+uTm5mrx4sWOPq1bt5a3t7dTn23btmn//v2OPgAAACgbSuSwkyFDhmjWrFn68ssvFRgY6Bg7HRwcLH9/f0fwPnXqlD766COnixarVKkiT09PffXVV0pJSdH1118vPz8/JSQk6J///Keeeuopx34ee+wxvf3223r66af14IMPasmSJZo9e7YWLVrk6BMfH68BAwaoTZs2ateunSZPnqyMjAwNHDjQUdOgQYMUHx+vihUrKigoSMOGDVNMTEy+ZjoBAABAKWJKIEl5LtOnTzfGGLN06dJL9tmzZ48xxphvvvnGtGjRwpQvX94EBASY5s2bm2nTppmcnBynfS1dutS0aNHC+Pj4mDp16jj2cb633nrL1KhRw/j4+Jh27dqZVatWOa3PzMw0gwcPNhUq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q5HwDQAAyqACnflu0aKFWrVqpZ07d+a5fu/evfrLX/6iTp06XXY7hw4d0vDhwxUfH1+QMlBCcOYbAADAUqAz35JkjLnkuoyMDC1btkw2m+2at4WSzx6+9+zZo6x69eQjSTt3SmfOSL6+VqeMDKl8eetxeroUEOCWWgEAAIoSY75R5MLDwxUQEKCcnBztycyUQkKk3Fxp+3Z3lwYAAOBShG8UOZvNdm7Gk507GXoCAADKLMI3XIJx3wAAAIRvuAjhGwAAgPANFyF8AwAAEL7hInmG7+3bpexsN1YFAADgWoRvuIT9gss//vhD6SEh1rSCZ89aUw4CAACUEQWe51uybpJT3j4383kOHjzoeHzgwIFLzuN9fj+UbhUrVlSlSpV09OhR7dy1Sy0aN5bWrLGGnjRq5O7yAAAAXOKawnfnzp0vuc5+g51atWpdyy5QikRFRSkxMVE7duxwDt+9erm7NAAAAJco8LATY0yhLCg7uOgSAACUdQU68z1gwIDCrgNlgFP4vuceq5HwDQAAypAChe/p06cXdh0oA/I8871tm3XhJQAAQBnAbCdwGafwXbOm5O8vnTkj7dnj5soAAABcg/ANl6lXr54k6dixYzp6/Pi5WU4YegIAAMoIl4bvo0eP6tixY67cJYqRcuXKqXr16pKkHTt2cNElAAAoc4o8fKekpOiRRx5R5cqVFRoaqipVqqhChQp64IEHtH///qLePYoZZjwBAABlWYHC9++//66IiAhFRERo6tSpl+y3e/dutW7dWv/5z3907Ngxx/SCqamp+vDDD9WyZUutW7euoLWjBCJ8AwCAsqxA4fvbb79VcnKyjh07pnvsU8bloXfv3jp48KBjPu/IyEhFR0crMDBQxhgdP35cffr00dmrnO1ixYoV6tatmyIiImSz2TR//nyn9Q888IBsNpvT0qVLF6c+x44dU9++fRUUFKSQkBANGjRI6enpTn02bNigm266SX5+foqMjNSECRMuqmXOnDlq2LCh/Pz81LRpU3399ddO640xev755xUeHi5/f3/FxsZaQy7KqDzD95YtUm6uG6sCAABwjQKF78TERElSx44dValSpTz7LFy4UL/88otsNpsqVqyob7/9Vvv27VNiYqKSk5M1cOBASVYImzt37lXtPyMjQ82bN9eUKVMu2adLly46dOiQY/nkk0+c1vft21ebN29W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k2tRvrzUqZO1SNZ48Y0brTBuXw4elNassZbXX7f61avnHMYbNrS+VQEAFArCN0q8J554QpMmTdKPP/6oxMRExcTEuLsk9+vZUxo5Upo4URo40BrrW6OGu6sq3X79VbrvvnPPf/nF+mmzWUND8grZERGuC7ZeXlLLltYybJj1AXDfPuusuP3s+KZN0s6d1jJzpvW6SpWsoSr2MN6mjeTr65qai4OsLOvDid3KlVJsLB9IABQY4RslXkREhPr166f3339fEydO1BdffOHukoqHf/5T+vlnadkyK4wvXeruikqnnBzrQ87zzztfDPnhh1KLFtaZZD8/t5V3SfYPBbVqSX37Wm0nTljDU+xhfPVqa/z5V19Zi2QF7zZtpOhoNxVexA4ftt6DlSut5eefpTNnzq3v3Nk6/uHDpbvvlnx83FYqgJKpRF6dtmLFCnXr1k0RERGy2WyaP3++Y112drZGjRqlpk2bKiAgQBEREerfv78OHjzotI1atWrJZrM5LePHj3fqs2HDBt10003y8/NTZGSkJkyYcFEtc+bMUcOGDeXn56emTZvq66+/dlpvjNHzzz+v8PBw+fv7KzY2Vjt27Ci8NwOS5Jh2cP78+drObdYtXl7Sp59K1apZY40HD3Z3RaXP3r1Sx47W2PrsbOn8YU933ildd13xDN6XEhIi3Xab9I9/WB/aUlOtGXRefdU6ntBQK4j+9JM0adK519Wta4XSp56yzpj/+qtUEqb/zM21zva/+670wAPWhaxVq0o9elh3j/3xR+t4K1U69xo/P+tbjfvvl2rXtj7k/vmnu44AQElkSqCvv/7a/P3vfzdffPGFkWTmzZvnWHfixAkTGxtrPvvsM7N161aTmJho2rVrZ1q3bu20jZo1a5oXX3zRHDp0yLGkp6c71qemppqqVauavn37mk2bNplPPvnE+Pv7m3/961+OPj/99JPx9PQ0EyZMML/99pt59tlnjbe3t9m4caOjz/jx401wcLCZP3++Wb9+venevbupXbu2yczMzPfxpqamGkkmNTW1AO9W2XH77bcbSebRRx/N3wvS042xvny3HpdWK1ca4+197lhdebzueo+Ler+5ucbMmGFMYKC1j/LljZk+3ZiTJ0v3e5yba8z27daxDhjg/Dt14eLpaUzDhsbcc48xL71kzJdfGrN7tzE5OddWw7Ucb1qaMd9/b8yL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4OPjo+HDh0uSXn31VeXm5rq3IBQeT09rppJPPrGGpUyZIrVqdW79sGFW8LbfSAMAADcifKPMeOSRRxQYGKjffvst7zteouSrUEEaPFhaseJc27hxkp+f+2oCAOA8hG+UGcHBwXr00UclSRPtUzwBAAC4EOEbZcqTTz4pLy8vLV++XGvWrHF3OQAAoIwhfKNMqV69uvr27SuJs98AAMD1CN8oc+zTDn7xxRfatWuXm6sBAABlCeEbZc51112n2267Tbm5uZo0aZK7ywEAAGUI4Rtlkv2W89OnT9eff/7p5moAAEBZQfhGmXTLLbeodevWyszM1JTz74YIAABQhAjfKJNsNpuefvppSdJbb72lU6dOubkiAABQFhC+UWb17NlTtWvX1tGjRxUbG6vExER3lwQAAEo5wjfKLC8vL73xxhsqV66cEhMTdcMNN+juu+/Wzp073V0aAAAopQjfKNO6deumHTt26KGHHpKHh4c+//xzNW7cWE8++SQXYgKwBARIxlhLQIC7qwFQwhG+UeZFRETovffe0/r163XbbbcpOztbb775purVq6dXXnlFmZmZ7i6xcBAgSif+XQGgRCF8A/9z3XXX6euvv9b333+vFi1aKDU1Vc8884waNGigjz76SLm5ue4useQhGAIA4ITwDVygU6dOSkpK0syZM1W9enUdOHBA/fr1U9u2bbVkyRJ3lwcApQ8f1FGGEL6BPHh4eKh///7avn27xo0bp6CgIK1du1adOnVS165dtXnzZneXCABFgyAMFCnCN3AZ/v7+euaZZ7Rz504NHTpUXl5e+vrrr9WsWTM98sgjOnTokLtLBNzDXQGNYAggP4rx3wrCN5APVapU0VtvvaXNmzerZ8+eys3N1Xvvvaf69etrzJgxSk9Pd3eJAICSwh3BkA/MxQbhG7gKUVFRmjt3rn788Uddf/31ysjI0NixY1W/fn299957Onv2rLtLhDvxPxmgZOG/WbgB4RsogPbt22vlypWaPXu26tSpo+TkZD3yyCNq3ry5Fi1aJGOMu0sEAADFEOEbKCCbzaa7775bW7Zs0eTJk1WxYkX99ttvuv3229WpUyetXbvW3SUCKMk4KwuUSoRv4Br5+PjoySef1K5duzRy5Ej5+vpq6dKlat26te6//37t27fP3SUCAIBigvANFJKQkBBNmDBB27ZtU9++fSVJH3/8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fAMAAAAuQvgGAAAAXITwDQAAALgI4RsAAABwEcI3AAAA4CKEbwAAAMBFCN8AAACAixC+AQAAABchfAMAAAAuQvgGAAAAXITwDQAAALgI4RsAAABwEcI3AAAA4CKEbwAAAMBFCN8AAACAixC+AQAAABchfAMAAAAuQvgGAAAAXKTUhu9atWrJZrNdtAwZMkSSdMstt1y07rHHHnPaxv79+9W1a1eVK1dOoaGhGjlypM6ePevUZ9myZWrVqpV8fX1Vr149zZgx46JapkyZolq1asnPz0/R0dFas2ZNkR03AAAAiq9SG75//vlnHTp0yLEkJCRIku6++25Hn4cfftipz4QJExzrcnJy1LVrV2VlZWnlypWaOXOmZsyYoeeff97RZ8+ePeratas6duyodevWafjw4XrooYf03XffOfp89tlnio+P1wsvvKC1a9eqefPmiouL0+HDh13wLgAAAKA4sRljjLuLcIXhw4dr4cKF2rFjh2w2m2655Ra1aNFCkydPzrP/N998o9tvv10HDx5U1apVJUnTpk3TqFGjdOTIEfn4+GjUqFFatGiRNm3a5Hhd7969deLECX377beSpOjoaLVt21Zvv/22JCk3N1eRkZEaNmyYnnnmmXzVnpaWpuDgYKWmpiooKOga3gUAAAAUhfzmtVJ75vt8WVlZ+uijj/Tggw/KZrM52j/++GNVrlxZ1113nUaPHq1Tp0451iUmJqpp06aO4C1JcXFxSktL0+bNmx19YmNjnfYVFxenxMREx36TkpKc+nh4eCg2NtbRJy9nzpxRWlqa0wIAAICSz8vdBbjC/PnzdeLECT3wwAOOtvvuu081a9ZURESENmzYoFGjRmnbtm364osvJEnJyclOwVuS43lycvJl+6SlpSkzM1PHjx9XTk5Onn22bt16yXrHjRunsWPHFvh4AQAAUDyVifD9n//8R7fddpsiIiIcbY888ojjcdOmTRUeHq5OnTpp165dqlu3rjvKdBg9erTi4+Mdz9PS0hQZGenGigAAAFAYSn343rdvn77//nvHGe1LiY6OliTt3LlTdevWVVhY2EWzkqSkpEiSwsLCHD/tbef3CQoKkr+/vzw9PeXp6ZlnH/s28uLr6ytfX9/8HSAAAABKjFI/5nv69OkKDQ1V165dL9tv3bp1kqTw8HBJUkxMjDZu3Og0K0lCQoKCgoLUuHFj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3ilPT0/16dNHwcHBGjRokOLj47V06VIlJSVp4MCBiomJ0fXXXy9J6ty5sxo3bqx+/fpp/fr1+u677/Tss89qyJAhjjPSjz32mHbv3q2nn35aW7du1TvvvKPZs2drxIgRjjri4+P13nvvaebMmdqyZYsef/xxZWRkaODAgW55XwAAAOBepXLYye+//64+ffro6NGjqlKlim688UatWrVKVapUkSS9/vrr8vDwUK9evXTmzBnFxcXpnXfecbze09NTCxcu1OOPP66YmBgFBARowIABevHFFx19ateurUWLFmnEiBF64403VL16df373/9WXFyco8+9996rI0eO6Pnnn1dycrJatGihb7/99qKLMIsbX19fvfDCCxcNfSmNytKxSmXreDnW0qssHS/HWnqVpeMtS8eaH6Vynm8AAACgOCqVw04AAACA4ojwDQAAALgI4RsAAABwEcI3AAAA4CKEb1xkypQpqlWrlvz8/BQdHX3RDYdKg3Hjxqlt27YKDAxUaGioevTooW3btrm7LJcYP368bDabhg8f7u5Siswff/yh+++/X5UqVZK/v7+aNm2qX375xd1lFbqcnBw999xzql27tvz9/VW3bl299NJLKg3X0a9YsULdunVTRESEbDab5s+f77TeGKPnn39e4eHh8vf3V2xsrHbs2OGeYgvB5Y43Oztbo0aNUtOmTRUQEKCIiAj1799fBw8edF/B1+BK/7bne+yxx2Sz2TR58mSX1VeY8nOsW7ZsUffu3RUcHKyAgAC1bdtW+/fvd32xheBKx5uenq6hQ4eqevXq8vf3V+PGjTVt2jT3FOtGhG84+eyzzxQfH68XXnhBa9euVfPmzRUXF+d0w6HSYPny5RoyZIhWrVqlhIQEZWdnq3PnzsrIyHB3aUXq559/1r/+9S81a9bM3aUUmePHj6t9+/by9vbWN998o99++02vvfaaKlSo4O7SCt0rr7yiqVOn6u2339aWLVv0yiuvaMKECXrrrbfcXdo1y8jIUPPmzTVlypQ810+YMEFvvvmmpk2bptWrVysgIEBxcXE6ffq0iystHJc73lOnTmnt2rV67rnntHbtWn3xxRfatm2bunfv7oZKr92V/m3t5s2bp1WrVl3xVt3F2ZWOddeuXbrxxhvVsGFDLVu2TBs2bNBzzz0nPz8/F1daOK50vPHx8fr222/10UcfacuW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", - "text/plain": [ - "
" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "ax.errorbar(np.arange(n_steps), \n", " cv_mse.mean(1),\n", @@ -719,7 +487,7 @@ " c='r') # color red\n", "ax.set_ylim([50000,250000])\n", "ax.legend()\n", - "mse_fig\n" + "mse_fig" ] }, { @@ -734,17 +502,9 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "c71c2079", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:32.594717Z", - "iopub.status.busy": "2023-07-25T23:59:32.594588Z", - "iopub.status.idle": "2023-07-25T23:59:33.030365Z", - "shell.execute_reply": "2023-07-25T23:59:33.030053Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "validation = skm.ShuffleSplit(n_splits=1, \n", @@ -755,7 +515,7 @@ " Y[train_idx])\n", " Yhat_val = full_path.predict(Hitters.iloc[test_idx])\n", " errors = (Yhat_val - Y[test_idx,None])**2\n", - " validation_mse = errors.mean(0)\n" + " validation_mse = errors.mean(0)" ] }, { @@ -768,30 +528,10 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "2ff34edf", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:33.032304Z", - "iopub.status.busy": "2023-07-25T23:59:33.032173Z", - "iopub.status.idle": "2023-07-25T23:59:33.128471Z", - "shell.execute_reply": "2023-07-25T23:59:33.128143Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "image/png": "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du7cifXr12Pbtm26NhMnTsTgwYPRrFkztGjRAvPnz0daWhqGDh2qq2nYsGGYOHEiPD094erqirFjxyIsLKxII50QERERUTkizBCAApelS5cKIYTYtWtXoW2uXLkihBBix44dolGjRsLZ2Vk4OTmJhg0bisWLF4vc3Fy9Y+3atUs0atRIqNVqERgYqDtGfl999ZWoWrWqUKvVokWLFuLAgQN629PT08WoUaOEh4eHcHR0FC+99JKIj48v8vNNTk4WAERycnKxXqcSSU0VApBLaqpBdpmTY5DdEBEREZmsoua1cjHOd3lnruN8nzwJtGkDuLgA164ZqD4iIiIiE2RR43yTaXJ1lVPLp6fLU+mc9ZeIiIgsnVlecEnmoWJF+TMzU55EJyIiIrJ0DN9kNE5OgIODvM2xvomIiIgYvsnIONEOERERUR6GbzIqhm8iIiKiPAzfZFQM30RERER5ONoJGVWLFoBGkxfCiYiIiCwZwzcZ1fvvK10BERERkelgtxMiIiIiojLC8E1lQqNRugIiIiIi5TF8k1H9/jvg7g60bKl0JURERETKY/gmo3J0BJKTgZs3la6EiIiISHkM32RUHGqQiIiIKA/DNxmVNnynpgIZGcrWQkRERKQ0hm8yKjc3wNZW3ubZbyIiIrJ0DN9kVCoVULGivM3wTURERJaO4ZuMjv2+iYiIiCTOcElG16oV4OsLODsrXQkRERGRshi+yei+/lrpCoiIiIhMA7udEBERERGVEYZvKjOcYp6IiIgsHcM3Gd2qVXKK+V69lK6EiIiISFkM32R0dnacYp6IiIgIYPimMsChBomIiIgkhm8yOoZvIiIiIonhm4xOG77v3QOys5WthYiIiEhJDN9kdJ6ecpp5ALhzR9laiIiIiJTE8E1GZ20NVKggb7PrCREREVkyznBJZaJtWyA1VQZxIiIiIkvF8E1lYsMGpSsgIiIiUh67nRARERERlRGGbypTQihdAREREZFyGL6pTHz2GeDmBowdq3QlRERERMph+KYyYWMDpKRwinkiIiKybAzfVCa0E+3cvq1sHURERERKYvimMsEp5omIiIgYvqmMMHwTERERMXxTGcnf7USjUbYWIiIiIqUwfFOZqFhR/szNBZKSFC2FiIiISDGc4ZLKhJ0d8NxzgIMDkJWldDVEREREymD4pjKze7fSFRAREREpi91OiIiIiIjKCMM3lTlOMU9ERESWiuGbysyUKYCrK/Dxx0pXQkRERKQMhm8qU/fvc6xvIiIislwM31RmOMU8ERERWTqGbyoznOWSiIiILB3DN5UZhm8iIiKydAzfVGYYvomIiMjSMXxTmckfvjncIBEREVkiznBJZcbLC2jeHKhYUU4xb2endEVEREREZYvhm8qMoyPw119KV0FERESkHHY7ISIiIiIqIwzfpAj2+SYiIiJLxPBNZWrIEMDFBVi2TOlKiIiIiMoewzeVqdxcIDWVs1wSERGRZWL4Jn1paXm3790z+O451jcRERFZMoZv0ufklHc7Ntbgu2f4JiIiIkvG8E2FO3fO4Ltk+CYiIiJLxvBNhWP4JiIiIjIohm/Sk56errude+aMwffP8E1ERESWjDNckh57e3vdbc3p07A28P79/OQU8wEBBt4xERERkRlg+CY9KpVKd9s2MRFISQFcXQ22/4AATjFPRERElovdTujJjNDvm4iIiMhSMXzTkxmh37cWp5gnIiIiS8PwTU9mhPD94ouAszMQFWXwXRMRERGZNLMM37NmzULz5s3h4uICLy8vREZGIvaRCWEyMjIwevRoVKhQAc7OzujZsycSExP12ly7dg2dO3eGo6MjvLy8MGnSJOTk5Oi12b17N5o0aQI7OzsEBQVh2bJlj9WzcOFCBAQEwN7eHqGhofjrkU7NRanFZBkhfGdmyok0OeIJERERWRqzDN979uzB6NGjceDAAURFRSE7OxsdOnRAWr6p0SdMmICff/4ZGzZswJ49e3Djxg306NFDtz03NxedO3dGVlYW9u/fj++//x7Lli3Du+++q2tz5coVdO7cGe3atcOxY8cwfvx4vPbaa/j11191bdatW4eJEyfivffew5EjR9CwYUNERETg5s2bRa7FlGlOnTL4PjncIBEREVksUQ7cvHlTABB79uwRQgiRlJQkbG1txYYNG3Rtzp49KwCImJgYIYQQ27dvF1ZWViIhIUHXZtGiRcLV1VVkZmYKIYSYPHmyqFu3rt6x+vTpIyIiInT3W7RoIUaPHq27n5ubK/z8/MSsWbOKXMvTJCcnCwAiOTm5SO1LJTVVCNkdWwhAaFQquc6AxoyRu/+//zPobomIiIgUU9S8ZpZnvh+VnJwMAPD09AQAHD58GNnZ2QgPD9e1qVWrFqpWrYqYmBgAQExMDOrXrw9vb29dm4iICKSkpOD06dO6Nvn3oW2j3UdWVhYOHz6s18bKygrh4eG6NkWp5VGZmZlISUnRW5RwC4BKCOCRLj2lxTPfREREZKnMPnxrNBqMHz8erVq1Qr169QAACQkJUKvVcHd312vr7e2NhIQEXZv8wVu7XbvtSW1SUlKQnp6O27dvIzc3t8A2+ffxtFoeNWvWLLi5uekWf3//Ir4ahqUbZNDA/b4ZvomIiMhSmX34Hj16NE6dOoW1a9cqXYrBTJs2DcnJybrl+vXritRh7PB9+7ZBd0tERERk8sx6hssxY8Zg69at2Lt3L6pUqaJb7+Pjg6ysLCQlJemdcU5MTISPj4+uzaOjkmhHIMnf5tFRSRITE+Hq6goHBwdYW1vD2tq6wDb59/G0Wh5lZ2cHOzu7YrwSxmGs8F21KtCiBfDwiwoiIiIii2GWZ76FEBgzZgw2b96MnTt3onr16nrbmzZtCltbW0RHR+vWxcbG4tq1awgLCwMAhIWF4eTJk3qjkkRFRcHV1RV16tTRtcm/D20b7T7UajWaNm2q10aj0SA6OlrXpii1mCpt+BYGDt8tWgAHDwKLFhl0t0REREQmzyzPfI8ePRqrV6/Gjz/+CBcXF13faTc3Nzg4OMDNzQ3Dhg3DxIkT4enpCVdXV4wdOxZhYWF45plnAAAdOnRAnTp1MHDgQMyZMwcJCQmYPn06Ro8erTvrPHLkSCxYsACTJ0/Gq6++ip07d2L9+vXYtm2brpaJEydi8ODBaNasGVq0aIH58+cjLS0NQ4cO1dX0tFpMle7M96VLQEYGYG+vZDlERERE5q9sBl8xLAAFLkuXLtW1SU9PF6NGjRIeHh7C0dFRvPTSSyI+Pl5vP3FxcaJTp07CwcFBVKxYUbz11lsiOztbr82uXbtEo0aNhFqtFoGBgXrH0Prqq69E1apVhVqtFi1atBAHDhzQ216UWp5EqaEGa/v7i7vaYQePHzfK4TQao+yWiIiIqEwVNa+phBBCuehPRZGSkgI3NzckJyfD1dXVuAdLS5NzvwPo9vzzmLJzJ1oBwJo1QN++BjtM06bAuXOy+wn7fhMREZG5K2peM8s+31Q2atasCV1vbwP3+37wQC4cbpCIiIgsCcM3FapGjRpGC98c65uIiIgsEcM3FcqYZ74ZvomIiMgSMXxToYKCgnThW1y4AGRlGWzfDN9ERERkiRi+qVBVq1ZFoo0N7gNQ5eQAFy8abN8M30RERGSJGL6pUNbW1ggyUtcTTjFPRERElojhm54oODjYKOE7MBAIDQWCggy2SyIiIiKTZ5YzXFLZMdZFl126yIWIiIjIkvDMNz2Rsc58ExEREVkihm96Ir3wHRsL5OQoWQ4RERGRWWP4picKDg7GVQAPADnU4OXLBtlvTg4QEAA4OgJ37xpkl0REREQmj+GbnsjHxwdOzs44q11hoK4nNjbAvXtAejqHGyQiIiLLwfBNT6RSqYzW75tjfRMREZGlYfimpzLWiCcM30RERGRpGL7pqXjmm4iIiMgwGL7pqfTC99mzQG6uQfbLWS6JiIjI0jB801MFBwfjCoAMAMjIAK5eNch+eeabiIiILA3DNz1VzZo1kQsgVrvCQF1PgoOBZ54B/P0NsjsiIiIik8fwTU/l4eGBSpUqGbzf96uvAjExwMSJBtkdERERkclj+KYiMdaIJ0RERESWhOGbisRYI54QERERWRKGbyqSx8K3EKXeZ3w8UK0aUKGCQXZHREREZPIYvqlIgoODcRFAjkoFpKUB16+Xep+ursC1a8Ddu3KXREREROUdwzcVSXBwMHIAXFSp5AoDdD1xdATs7eVtDjdIREREloDhm4okKCgIAHBSo5ErDBC+VSqO9U1ERESWheGbisTBwQH+/v4Gv+iS4ZuIiIgsCcM3FZkxRjxh+CYiIiJLwvBNRWaMEU8YvomIiMiSMHxTkQUHB+M8AA0AJCfLsQJLqU4dOcV8xYql3hURERGRyWP4piILDg5GFoBrarVcYYCuJ9OmySnmhw4t9a6IiIiITB7DNxVZcHAwAOBEbq5cwZkuiYiIiIqF4ZuKLCAgADY2NjjJ8E1ERERUIgzfVGQ2NjYIDAw06Ignx48DVasC9eqVeldEREREJo/hm4pFb8ST06dLPeKJo6Ocqf7atVKXRkRERGTyGL6pWIKDgxGLhyOe3L1b6jECtaOc3L8PZGaWtjoiIiIi08bwTcUSHByMdACJjo5yRSm7nri7AzY28jbH+iYiIqLyjuGbikU74slZlUquKGX4Vqnyzn4zfBMREVF5x/BNxVKzZk0AwOEHD+QKA1x0yVkuiYiIyFIwfFOx+Pn5wdHREae0F1oyfBMREREVmY3SBZB5sbKyQs2aNXHm+HG5wgDhu2FDID0dcHEp9a6IiIiITBrDNxVbcHAwdmjDd2IicOcOUKFCifc3b56BCiMiIiIycex2QsUWHByMVAB3nJ3lirNnFa2HiIiIyFwwfFOxaUc8uWRnJ1dwmnkiIiKiImH4pmLTjnhyTDsrTinDd1QU4O8PvPBCaSsjIiIiMm0M31Rs2jPfB1NT5YpShm9bW+Cff+Q080RERETlGcM3FVuFChXg6ekJXeQuZfjmUINERERkKRi+qUSCg4Ohu8zy33+B5OQS70sbvu/eBXJySl0aERERkcli+KYSCQ4ORjKA+9rBuUsx4kmFCnKaeUCOWkhERERUXjF8kz4nJ0AIuTg5FdpM2+/7mna4wVJ0PbG2Bjw95W12PSEiIqLyjOGbSkQ74slp7Qr2+yYiIiJ6KoZvKhHdiCcpKXJFKcN306ZAq1aAWl3ayoiIiIhMF6eXpxIJCgoCAPyVliZXlDJ8r1xZ2oqIiIiITB/PfFOJODs7o3LlynnDDV69CmjH/SYiIiKiAjF8U4kFBwfjLoB0V1e54tw5ReshIiIiMnUM31Ri2n7fCR4eckUpup6sXg1UqQIMGmSIyoiIiIhME8M3lZh2xJPztrZyRSn7ff/7L3D+vBzlkIiIiKg8YvimEtOe+T6akSFXlCJ8N2okJ9o5eBB47z0DFEdERERkghi+qcS04Xvv7dtyRSnCd506wMKF8vaHHwKff17a6oiIiIhMD8M3lVj16tVhbW2Nw9oz35cvA+npJd7fG28A//mPvD1xIrBkiQGKJCIiIjIhDN9UYmq1GtWrV8dNANmurrKzdmxsqfY5bRrw9tvy9ogRwIULpa+TiIiIyFRwkh0qleDgYFy8eBF3vLzgk5ICnD0rO3CXkEoFzJkD3L8PNGkCPLymk4iIiKhcYPimUtGOeBLn6AgfoNQjngAygC9eXOrdEBEREZkcdjuhUtFedHlSo5ErDBC+H3XrFtChA3DihMF3TURERFSmGL6pVLTh+0ByslxhhPA9aRIQFQVERAAXLxp890RERERlhuGbSkUbvqPj4+WKCxeArCyDHuPzz4EGDYCEBOCFF+RkPERERETmiOGbSqVKlSqwt7fH1Zwc5Do7A7m5Bh+ixMMD+PVXICgIiIuTXVDu3DHoIYiIiIjKhFmG771796Jr167w8/ODSqXCli1b9LarVKoCl7lz5+raBAQEPLZ99uzZevs5ceIEnn32Wdjb28Pf3x9z5sx5rJYNGzagVq1asLe3R/369bF9+3a97UIIvPvuu/D19YWDgwPCw8NxoRyNn2dlZaW76PJ+lSpypRG6nvj4yK4nfn5y9506yRFRiIiIiMyJWYbvtLQ0NGzYEAu1UyI+Ij4+Xm9ZsmQJVCoVevbsqdfugw8+0Gs3duxY3baUlBR06NAB1apVw+HDhzF37lzMnDkT3377ra7N/v370a9fPwwbNgxHjx5FZGQkIiMjcerUKV2bOXPm4Msvv8TixYtx8OBBODk5ISIiAhnaiWnKAW34/tfNTa4wQvgGgIAAGcArVAAOHQJGjjTKYYiIiIiMxiyHGuzUqRM6depU6HYfHx+9+z/++CPatWuHwMBAvfUuLi6PtdVatWoVsrKysGTJEqjVatStWxfHjh3DvHnzMGLECADAF198gY4dO2LSpEkAgA8//BBRUVFYsGABFi9eDCEE5s+fj+nTp6N79+4AgOXLl8Pb2xtbtmxB3759S/wamBJtv+9Ya2vUBYwWvgE5Df2OHXICng8/NNphiIiIiIzCLM98F0diYiK2bduGYcOGPbZt9uzZqFChAho3boy5c+ciJydHty0mJgZt2rSBWq3WrYuIiEBsbCzu3bunaxMeHq63z4iICMTExAAArly5goSEBL02bm5uCA0N1bUpSGZmJlJSUvQWU6YN34e1U8sbMXwDQPPmwOHDwCOfpYiIiIhMXrkP399//z1cXFzQo0cPvfVvvvkm1q5di127duH111/Hxx9/jMmTJ+u2JyQkwNvbW+8x2vsJCQlPbJN/e/7HFdSmILNmzYKbm5tu8ff3L85TLnPa8L375k25IjYWyPdBxhis8r1zf/4ZmDxZzm5PREREZMrMsttJcSxZsgQDBgyAvb293vqJEyfqbjdo0ABqtRqvv/46Zs2aBTs7u7IuU8+0adP06ktJSTHpAK4b6/vffyGcnKBKSwMuXQJCQox+7KtXgZ49gexswMkJeO89ox+SiIiIqMTK9ZnvP/74A7GxsXjttdee2jY0NBQ5OTmIi4sDIPuNJyYm6rXR3tf2Ey+sTf7t+R9XUJuC2NnZwdXVVW8xZRUrVoS7uzs0ADICAuRKI3c90apWDZg3T96eORP44osyOSwRERFRiZTr8P2///0PTZs2RcOGDZ/a9tixY7CysoKXlxcAICwsDHv37kV2drauTVRUFEJCQuDh4aFrEx0drbefqKgohIWFAQCqV68OHx8fvTYpKSk4ePCgrk15oFKpdCOe3KpUSa4so/ANAGPGAB98IG+PHw8sX15mhyYiIiIqFrMM36mpqTh27BiOHTsGQF7YeOzYMVy7dk3XJiUlBRs2bCjwrHdMTAzmz5+P48eP4/Lly1i1ahUmTJiAV155RRes+/fvD7VajWHDhuH06dNYt24dvvjiC73uIOPGjcMvv/yCzz77DOfOncPMmTPx999/Y8yYMQBkKB0/fjw++ugj/PTTTzh58iQGDRoEPz8/REZGGu8FUoC268llbfeeMgzfADB9OjBhgrz96qvAjz+W6eGJiIiIikaYoV27dgkAjy2DBw/Wtfnmm2+Eg4ODSEpKeuzxhw8fFqGhocLNzU3Y29uL2rVri48//lhkZGTotTt+/Lho3bq1sLOzE5UrVxazZ89+bF/r168XwcHBQq1Wi7p164pt27bpbddoNGLGjBnC29tb2NnZifbt24vY2NhiPd/k5GQBQCQnJxfrcWXp/fffFwDEF+HhQgBCNGpU5jXk5goxZIg8vFotxLFjZV4CERERWaii5jWVEBwjwtSlpKTAzc0NycnJJtv/e+3atejXrx96N22KdYcPA/b2QGoqYG1dpnXk5AB9+gCVKgELF5b54YmIiMhCFTWvlfvRTqhsaLud7L12TQbvjAwgLg6oUaNM67CxAdaulT9VqjI9NBEREdFTmWWfbzI92gsuE27dQu7D22Xd71vL1jYveGdny77gV64oUgoRERGRHoZvMggXFxfd8IlJfn5ypULhO7+pU4H584HwcCA+XulqiIiIyNIxfJPBaLue/KPt52QC4fvtt+U09JcvAx06AHfvKl0RERERWTKGbzIYbfg+q+3zYQLh29cXiIqSP0+dAjp3lteBEhERESmB4ZsMRhu+D6WlyRVnzwIajYIVSYGBwG+/AR4ewIEDQI8eQGam0lURERGRJWL4JoPRhu8/4+PlVY9pacD16wpXJdWrB+zYATg5yTPhQ4cqXRERERFZIoZvMhhdt5MLFyBCQuRKE+h6ohUaKme+9PSUs2ASERERlTWGbzKYwMBAWFlZ4f79+8gMDJQrTSh8A0D79nL48fBwpSshIiIiS8TwTQZjZ2eHatWqAQASK1SQK00sfAOAi0ve7XPngC+/VK4WIiIisiyc4ZIMKjg4GFeuXMFFOztUA0wyfGvdugU8+yxw+7ZcZs4ErPhxlIiIiIyIUYMMStvv+3hWllxx5gwghIIVFa5SJeDNN+XtDz8E+vQBHjxQtiYiIiIq3xi+yaC04Tvm9m3A2hpISQFu3FC4qsLNmAEsWSIHZ9m4UZ4J/+cfpasiIiKi8orhmwxKG77PXLwI1KwpV5pw1xNADju4cydQsSJw5AjQogXw119KV0VERETlEcM3GVTNh4H70qVLELVry5UmHr4BoHVrGbjr1QPi44FPP1W6IiIiIiqPGL7JoKpWrQq1Wo3MzEwkV64sV5pB+AaA6tWB/fuB8eOB//1P6WqIiIioPGL4JoOytrZGUFAQAOCas7NcaSbhG5DDEH7+ed5whEIAixbJyTqJiIiISovhmwxO2+/7tHaUk9OnTXbEk6f57DNg1Ch5Ieb160pXQ0REROaO4ZsMThu+/05JkQNn37sH3LypcFUlExYmhyQ8elReiHnwoNIVERERkTlj+CaD0535vnwZMNFp5ouqVSt5IWb9+kBCAvDcc8Dq1UpXRUREROaK4ZsMTjviyYULF4A6deRKMw3fABAQAOzbB3TtCmRmAgMGANOnAxqN0pURERGRuWH4JoPTnvmOi4tDzsPb5hy+AXkB5ubNwOTJ8v7s2cCxY4qWRERERGbIRukCqPzx9vaGi4sL7t+/j8SKFVEZMPvwDcgJOz/5RJ7MT08HmjRRuiIiIiIyNzzzTQanUql0Z78v2Dz8fFcOwrfW4MHAyJF598+fBw4cUK4eIiIiMh8M32QU2vB9LCNDrrh5E7h9W8GKjOPePaBLF6BtW2DVKqWrISIiIlPH8E1GoRvxJC5OXrEIAGfPKlaPsdjaArVrywsxX3kFeOcdXohJREREhWP4JqMobyOeFMbZWV6IOXWqvP/xx0CvXkBqqrJ1ERERkWli+Caj0J75Pn/+fLkO34CcR2jWLGD5ckCtlmG8dWvg2jWlKyMiIiJTw/BNRqE98x0fH490M59op6gGDgR27QK8vIDjx4EJE5SuiIiIiEwNwzcZhbu7O7y8vAAAVx0d5cpyHr4BoGVL4NAhoHt3YPFipashIiIiU8PwTUaj7XpyKjdXrrhxA0hKUq6gMlK1KrBlC1CpUt66HTt4ISYRERExfJMRacP3mX/+AapUkSvL4YgnT7NsGfDii0CPHrwQk4iIyNIxfJPRWMqIJ0+jVgN2dsCPPwKtWgFXrypdERERESmF4ZuMxpJGPHmS/v2B3bsBb2/gxAmgRQtg/36lqyIiIiIlMHyT0eQP36J2bbnSAsM3ADzzDPDXX0CjRnKyz3btgBUrlK6KiIiIyhrDNxlNjRo1oFKpkJSUhCQ/P7nSQsM3IC/E/PNP4KWXgKwsYPBg4NgxpasiIiKissTwTUbj4OCAqlWrAgDOW1vLldeuAffvK1iVspycgI0bgZEj5VCE9eopXRERERGVJYZvMirdiCcJCYCPj1x57pyCFSnPygpYtAgYMQKwsVG6GiIiIipLDN9kVBzx5OkyMzkGOBERkaVg+Caj4ognT7ZpE1CrFrB6tdKVEBERUVlg+CajYvh+sgsXgLg44J13gIwMpashIiIiY2P4JqPShu8LFy5AU6uWXMnwrTNunJz889o1YOFCpashIiIiY2P4JqOqVq0abG1tkZGRgRvu7nLllSvAgweK1mUqHByADz6Qt//zH+DePWXrISIiIuNi+CajsrGxQY0aNQAA5+7cASpWBIQAYmMVrsx0DBokhxy8dw+YPVvpaoiIiMiYGL7J6DjiyZNZW+eF7i++kF1QiIiIqHxi+Caj40WXT/fii8Bzz8lhBzdtUroaIiIiMpYSTfFx4sQJAECtWrWgVqtLfPC7d+9i5cqVAIA333yzxPsh06YXvjt2lCsZvvWoVPKs9717QNu2SldDRERExlKiM9+NGjVCkyZNcPHixQK3x8XF4fnnn0f79u2fuJ/4+HiMHz8eEydOLEkZZCZ45rtoGjZk8CYiIirvSjy5tRCi0G1paWnYvXs3VCpVqfdF5k8bvq9cuYKsoCCoAeDiRdnHws5ONkpLA5yd5e3UVMDJSZFaTUVCAnDnDlC3rtKVEBERkSGxzzcZna+vL5ycnJCbm4sr6emAu7ucT/38eaVLM0k7dgBBQcCQIZx2noiIqLxh+CajU6lUeSOeXLzIridP0bSp7AP+99/Ahg1KV0NERESGxPBNZYL9vovOywuYPFne/r//A7KylK2HiIiIDIfhm8oEw3fxTJwI+PgAly8D33yjdDVERERkKAzfVCYYvovHyQmYOVPe/uADICVF0XKIiIjIQBi+qUwUGL7PnweysxWsyrQNGwaEhAC3bwNz5ihdDRERERkCwzeVCe0Fl//++y9S3d3lsII5OXLIQSqQjQ0waxZQinmsiIiIyMSUeJxvQE6S46wdmzmfGzdu6G5fv3690HG887ej8s3T0xMVKlTAnTt3cPHSJTSqUwf46y/Z9aR2baXLM1mRkcClS0CVKkpXQkRERIZQqvDdoUOHQrdpJ9gJCAgozSGoHAkODkZMTAwuXLigH7579lS6NJOlUjF4ExERlScl7nYihDDIQpaDF12WzuHD8uJLIiIiMl8lOvM9ePBgQ9dBFkAvfPfuLVcyfBdJfDzwzDOym/zzzwOtWytdEREREZVEicL30qVLDV0HWYACz3zHxspESU/k6wsMHQp89x0waRKwf7/skkJERETmhaOdUJnRC9/VqgEODkBmJnDlisKVmYeZMwFHR+DAAWDzZqWrISIiopJg+KYyExQUBAC4e/cu7ty7lzfKCbueFImfn5z5EgCmTeMQ6UREROaoTMP3nTt3cPfu3bI8JJkQR0dHVHk4dMeFCxd40WUJTJoEVKwo5yf63/+UroaIiIiKy+jhOzExESNGjEDFihXh5eWFSpUqwcPDA0OGDMG1a9eMfXgyMRzxpHRcXYH33pO3Z84EUlMVLYeIiIiKqUTh+59//oGfnx/8/PywaNGiQttdvnwZTZs2xf/+9z/cvXtXN7xgcnIyVqxYgcaNG+PYsWMlrZ3MEMN36Y0YIUc7mTkTsLNTuhoiIiIqjhKF719++QUJCQm4e/cuemuHjCtA3759cePGDd143v7+/ggNDYWLiwuEELh37x769euHnGKOdrF371507doVfn5+UKlU2LJli972IUOGQKVS6S0dO3bUa3P37l0MGDAArq6ucHd3x7Bhw5D6yGnEEydO4Nlnn4W9vT38/f0xZ86cx2rZsGEDatWqBXt7e9SvXx/bt2/X2y6EwLvvvgtfX184ODggPDxcdrmwUAWG77NnAY1GwarMi1oN7N0LjBwJ2NoqXQ0REREVR4nCd0xMDACgXbt2qFChQoFttm7dir///hsqlQqenp745ZdfcPXqVcTExCAhIQFDhw4FIEPYpk2binX8tLQ0NGzYEAsXLiy0TceOHREfH69b1qxZo7d9wIABOH36NKKiorB161bs3bsXI0aM0G1PSUlBhw4dUK1aNRw+fBhz587FzJkz8e233+ra7N+/H/369cOwYcNw9OhRREZGIjIyEqdOndK1mTNnDr788kssXrwYBw8ehJOTEyIiIpCRkVGs51xe6IXv6tXlqdv0dIBdkIol/zCD/NxCRERkRkQJNG/eXFhZWYnPPvus0DZ9+/YVKpVKWFlZiWXLlj22XaPRiAYNGggrKyvRr1+/kpQhhBACgNi8ebPeusGDB4vu3bsX+pgzZ84IAOLQoUO6dTt27BAqlUr8+++/Qgghvv76a+Hh4SEyMzN1baZMmSJCQkJ093v37i06d+6st+/Q0FDx+uuvCyHkc/Tx8RFz587VbU9KShJ2dnZizZo1RX6OycnJAoBITk4u8mNMVWxsrAAgHB0dhUajEaJBAyEAITZulD8BIVJTlS7TLGg0QqxeLURwsBDnzytdDRERkWUral4r0ZnvuLg4AEDDhg0LbbN7924AgJubG/r37//YdpVKhVdffRVCCBw/frwkZTzR7t274eXlhZCQELzxxhu4c+eObltMTAzc3d3RrFkz3brw8HBYWVnh4MGDujZt2rSBWq3WtYmIiEBsbCzu3bunaxMeHq533IiICN03A1euXEFCQoJeGzc3N4SGhuraFCQzMxMpKSl6S3lRvXp1WFtb48GDB7hx40Ze15Nz55QtzAypVMDKlXLkk//7P6WrISIioqIoUfjWhsGKFSsWuD0uLg6JiYlQqVRo06YNbAvpmNq4cWMAkCHMgDp27Ijly5cjOjoan3zyCfbs2YNOnTohNzcXAJCQkAAvLy+9x9jY2MDT0xMJCQm6Nt7e3npttPef1ib/9vyPK6hNQWbNmgU3Nzfd4u/vX6znb8psbW0RGBgI4JF+3wzfJTJ7tgzhGzcCDz83EhERkQkrUfhWPexwmpWVVeD2v/76S3c7/9nlR7m7uwOQfbgNqW/fvujWrRvq16+PyMhIbN26FYcOHdKdjTd106ZNQ3Jysm65fv260iUZVIEXXTJ8l0j9+sDgwfL25Mmy3w4RERGZrhKFb+1FlufPny9w+/79+3W3mzdvXuh+7t+/DwCwt7cvSRlFFhgYiIoVK+LixYsAAB8fH9y8eVOvTU5ODu7evQsfHx9dm8TERL022vtPa5N/e/7HFdSmIHZ2dnB1ddVbyhOGb8P64APA3l6OgLJtm9LVEBER0ZOUKHxr+3oXNEqJEAI//fQTANmVo1WrVoXu5+rVqwAe75ZhaP/88w/u3LkDX19fAEBYWBiSkpJw+PBhXZudO3dCo9EgNDRU12bv3r3IzjeHd1RUFEJCQuDh4aFrEx0drXesqKgohIWFAZD9m318fPTapKSk4ODBg7o2lkgvfAcFATY2nC2mFPz9gTfflLenTAGKOXInERERlaEShe9u3bpBCIEff/wRK1as0Nv26aefIi4uDiqVCuHh4XB2di50P9qLDkNCQop1/NTUVBw7dkw3Qc+VK1dw7NgxXLt2DampqZg0aRIOHDiAuLg4REdHo3v37ggKCkJERAQAoHbt2ujYsSOGDx+Ov/76C/v27cOYMWPQt29f+Pn5AQD69+8PtVqNYcOG4fTp01i3bh2++OILTJw4UVfHuHHj8Msvv+Czzz7DuXPnMHPmTPz9998YM2YMANk9Z/z48fjoo4/w008/4eTJkxg0aBD8/PwQGRlZrOdcntSsWRPAw/Btaws8DONUclOnAh4ecr6i335TuhoiIiIqVEmGUklLSxNVq1YVVlZWwsrKSrRo0UL0799fNG7cWFhZWemGGPz9998L3YdGoxFVqlQRVlZW4sMPPyzW8Xft2iUAPLYMHjxYPHjwQHTo0EFUqlRJ2NraimrVqonhw4eLhIQEvX3cuXNH9OvXTzg7OwtXV1cxdOhQcf/+fb02x48fF61btxZ2dnaicuXKYvbs2Y/Vsn79ehEcHCzUarWoW7eu2LZt22PPc8aMGcLb21vY2dmJ9u3bi9jY2GI93/I01KAQQly7dk0AEDY2NiI7O1uIXr3yhhnkUIMltmaNEDt3Kl0FERGRZSpqXlMJUbJLtGJiYtCxY0fcv39fdwHmwzAPABg2bBi+++67Qh+/bds2dO3aFSqVCvv27cMzzzxTkjIsQkpKCtzc3JCcnFwu+n9rNBo4OzsjPT0dFy5cQNCKFbLjslZqKuDkpFyBRERERMVU1LxWom4ngOzv/Pfff6Nnz56wt7eHEAJCCFSrVg2ffvqp3kyQBfnwww8ByIsSGbwti5WVlX7XE+1Fl5YiLU2OD6hSydtGkJgIPByOnoiIiEyITWkeXLNmTWzYsAEajQa3bt2CWq3WXYz4NNqLEG1sSlUCmang4GCcOHEC58+fx4vt2ytdTrmyZIm8AHP4cODzz5WuhoiIiPIr8ZlvvZ1YWcHb27vIwRsAnJyc4OTkBDs7O0OUQGZGb8ST4GDAyiBvRQJQpYo8ob5wIXD5stLVEBERUX5MPKQIvW4ndnZAjRoKV1R+dOgAhIcD2dnA9OlKV0NERET5lajPx969ew1dB9q0aWPwfZLp0p75vnDhglwREgJob1OpzZkDNGkCrFkDvPUW0LSp0hURERERUMLw3bZtW70RTkpLpVIhhzODWBRt+L527RrS09PhUKsWsHWrwlWVH40bAwMGAKtWyYl3oqLk9Z1ERESkrFJ1O9GOcGKIhSxLhQoVdNcIXLx4EahdO28jZ7s0iI8+AtRqIDqaE+8QERGZilINNeLg4IDu3bvjhRdegBUvmKNiUKlUCA4OxsGDB3H+/HnUDw/P2zh8OLBlCy/CLKWAAGD0aGDBAuDsWeDhBK9ERESkoBKFbxcXF9y/fx/p6elYt24d9uzZg/79+2PgwIFo0KCBoWukcip/+EbHjnkbfv5ZTrozc6ZxC0hLA5yd5e1yOrHP9OnA2LFA9epKV0JERERACbudJCYmYs2aNXjxxRdhbW2N+Ph4zJs3D40bN0ajRo0wb948xMfHG7pWKmf0Rjx51PvvAxs2lHFF5Y+nJ4M3ERGRKSlR+La3t0efPn2wdetW/Pvvv/j888/RuHFjCCFw4sQJTJo0CVWrVkXHjh2xevVqpKenG7puKgceG/FEa+xY+XPwYODo0TKuqvw6fBj44QelqyAiIrJspe5UW6lSJYwbNw5///03Tp8+jSlTpqBKlSrIzc3Fb7/9hoEDB8Lb2xtDhgzRzWpJBDwy0U5+H34oOyinpwPdu8u50qlUdu8GmjUDXnuN084TEREpyaBXtNWuXRuzZs3C1atXsXPnTgwZMgTOzs5ITU3F8uXL0aFDB/j7++Odd94x5GHJTGm7ndy6dQv38idCGxtg7Vo58+X160DPnkBmpkJVlg/PPgvUqyeD97hxQEaG0hURERFZJqMNJ9G2bVssWbIEiYmJWL16NTp16gRra2tdNxUiZ2dn+Pn5AQAuXbqkv9HdHfjpJ8DNDdi3Dxg1CuCQlCVmbQ3MnStvr1ghxwE/cEDZmoiIiCyR0cdyU6lUsLKygkqlMujEPFQ+FNrvG5CzXq5bJ4ccXLIE+OqrMq6ufOnYUY7g6O0NnDsHtGoFvP227N1DREREZcNo4XvPnj147bXX4OPjg379+mHHjh3Izs6Gr68v3nzzTWMdlsyMtuvJxYsXC24QEQF8+qm8PWGCnKqRSqx7d+DMGWDgQECjAebN4zWtREREZalUk+w86uzZs1ixYgVWr16N69evA5CzYDo6OuKll17CoEGD0L59e07IQzraM9+PdTvJb/x44MQJYNkyoHdv4K+/gIehnYrP0xNYvly+lEePAi1b5m0TgtPQExERGVOpw/fNmzexZs0arFixAkcfnkITQsDKygrt2rXDoEGD0KNHDziVwwlMqPSe2O1ES6UCFi8GYmOBmBigWzfZYdnNrYyqLJ+6dJGL1sWLwEsvyd49bdsqVhYREVG5VqLwnZGRgS1btmDFihWIiopCbm4uxMOL4erWrYtBgwZhwIABuovpiAqjDd+FdjvRsrOTg1Q3by47LPfrJ2fCtLYugyotw4wZwKlTQLt28vrWTz7JmwCUiIiIDEMlRPGHkHB1dUVaWhoAeZZb26974MCBaNSokaFrtHgpKSlwc3NDcnIyXF1dlS7HoLKysuDg4AB7jQZp2pVPmur9yBGgdWt5leCkScCcOSU/uFLTy5votPYpKfIl/fZbeb9aNeC//wXCw5Wti4iIyBwUNa+VKHxrRy+xt7dHt27d0KFDB1iX8gzkoEGDSvX48qw8h28ACAoKQvylS0UL34AcAaVvX3l7+XJ59WBJMHwXKDpaTsYTFyfvDx8ur3kth289IiIigymT8G0oKpUKOTk5BttfeVPew3enTp2w95dfih6+AdlH4qOPZHeUPXuA0NDiH5jhu1CpqcDUqcDChfL+nDnyrDgREREVrKh5rcTDjgghDLqQ5dL2+y6W99+X4+ZlZgKRkcC//xq8Lkvm7AwsWCCnpX/pJTkrJpmotDR5UbJKJW8TEZFJK9EFl7t27TJ0HWTBShS+razkVI0tW8qrBCMjgb17AQcHg9dnyZ57Ti5a2dnypR45EujaVbGyiIiIzFaJwvdz+f8aE5VSicI3ALi4yCnomzcH/v4bGDYMWLWKA1Ub0ddfA9u3y+WVV4AvvpDjhhMREVHRcLYbUlyJwzcAVK8ObNwI2NgAa9bI8fHIaEaMkFPSW1kBK1cCdeoAmzcrXZUJYRcQIiJ6CoZvUpy/vz/s1OqS76BtWzkzDAD83//J8b/JKBwcgLlzgf37gdq1gcREoEcPOfjMrVtKV0dERGT6GL5JcVZWVqhRo0bpdjJypJwZRgigf3/g9GnDFEcFCg2VQ65PmybnOVq3Tp4VJyIioidj+CaTEBQUVPqdzJ8vz4Knpsop6O/cKf0+qVD29sDHHwMHDgAtWpRuviMiIiJLwfBNJsEg4dvWFtiwQfYDv3wZePllOTwHGVWzZjKA16yZt27mTGD1avlFBBEREeVh+CaTUDN/ciuNihXlCCjOzsCuXcCECYbZryGlpytdgcHlH2Dm0CHggw+AAQPksITx8YqVRUREZHIYvskkNG/eXHc7TjuveUnVq5c35ODChcA335Ruf4YghEylb7wB5D/Lv2qVcjUZSaNGcg4kW1v5OahOHeD77wGNRunKiIiIlMfwTSahdu3autsLFiwo/Q67dZPTzwPAmDFyCnol3LoFfP450KCB7Bi9eDGQnJy3fdw44NgxZWozEltbYMYM4PBhoGlTICkJGDIEqFFDdkd58EDhAskwOKwiEVGJMHyTyfn+++9xxxAXS06bJsfAy8kBevYErlwp/T6LIicH2LZNHrNyZWDiRDkLp7297IuxdWte24wM2e7evbKprQzVry/7gs+aBbi6AnFxwP/+B9jZ5bVhn3AyC/ygQUQGxPBNJudBejq+/vrr0u9IpZJpr2lTOfJJ9+5yJBRjOX9eBv6qVYEuXYAffpAXfDZvDixaJDs/r1wpR2TRqlZNXhw6cGC57JdhYwNMnQokJMgeNh99JIcmBORLU7u2HCXyr78YxImIyDIwfJNJ+uqrr5BuiAsTHR2BLVsAHx/g5EnDh9zUVGDpUuDZZ4GQEGD2bBmyK1aUF3ueOCGT5ciRgLv7449fvVqeEd+2DfjPfwxXl4lxcJDDrw8enLfu99+B2FjZJT80VHbV/+wzOXEPERFRecXwTSanqr8/bt26heXLlxtmh1WqyDnQ1WoZxGfOLN3+hAD27QOGDZOh/tVXgT//lHOud+4MbNoE/PsvMG+e7HvxJA0bAtqz/O+9B/z6a+lqMyMREUB0tOyJY28PnDkjp66vUkWOknL8uNIVEhERGR7DN5mcMWPGAAA+++wz5ObmGmanzzwDfPutvP3hh8D69cXfx40b8sx2rVpA69bAkiWy/2fNmrJj8/Xrsj93jx4y6BfV0KFyekjt7JylHe3FTFhZAc8/L3vixMfLa1FbtJBd5n/8Ub8bSlaWcnUSEREZEsM3mZzBgwfDw8MDFy5cwE8//WTIHQNvvSVvDxlStFFGsrJk3+0uXQB/f9mn+/x5wMlJhuY//pB9J6ZOBfz8Sl7bl1/KvuF37wK9eskLMS2Iuzvw+uvAwYPy2tQ5c+SQhVrDh+d9fso/WAwREZG5Yfgmk+Ps7Iw33ngDADBnzhwIQ16J98knQMeOcqKbPn0Kb3fqlBylpHJlORrJtm2yr7j2jHdCgvzZurX+DDMlZWcHbNwIVKggx+gbO7b0+zRTdesCkybl3c/MlL2FDh6UAd3XV3bd37WrXF6jSkRE5RzDN5mksWPHQq1W48CBA9i3b5/hdmxtDaxZIy+O/Pdf/W1JSXl9H+rXl+Nz374t097UqcC5c/JM99ChcgZNQ6taVdamUgH//a9cCHZ28suGTz+VE/akp8uuKs8/L+crMoU5lIiIiIqK4ZtMko+PDwY/HBpj7ty5ht25u7ucejH/6CPDhsmQ/cYbciZKGxvZd3vrVuDaNdmnOyTEsHUU5IUX9CcHOnzYcPs247GKvb1lj6FTp+TY4a+/LscOv3JFfj7Sys6W4ZyIiMhUMXyTyXrrrbegUqnw008/4dy5c4bdeXCwnPNca9062c+6bl05Ssm//8pRSzp3lkG8LE2dCnTtKvtb9OwpxygnAPJzQ2io/IJCO2z6kCF527dskZ+hRo2Sn6E4dng5ZMYfIomIAIZvMhVOTjIpCSFvAwgJCUG3bt0AyJFPDK59+7zbw4bJ8bhPnpTjc3t5Gf54RWVlBSxfLudjv3pVjsVnqFFfyhFHR/nSVK6ct27rVnlB5qJFsvdQzZqyf/hXX8k+4zk5ytVLREQEMHyTiZv08Mq75cuXIz4+3ngH+uILOdqIIS6eNAR3dznKioODHPv7/feVrsgsLF0qJ+/p31/2Fb90SZ4df/NNoFUr+WWC1sGDcmxxXrRJRERlieGbTFqrVq0QFhaGrKwsfPXVV0qXU7YaNNAfm3zrVmXrMQNWVvILjVWr5EyZO3bIzy2dOwNt2+q+VAEAjBsnexm5u8uLN6dOlZ93/vmH3VXIwrFrD5FRMXyTyZs8eTIAYNGiRbh//77C1ZSxV14BRo+WtwcOlKdyqUjc3OSoku++Kz+3/P573jYh5AWbjo7A/fty2MJPPpFd7P39ZZeV/HgRJxERGQrDN5m8bt26ITg4GElJSfjf//6ndDllb948OcNMUpJMhw8eKF2R2VOpgN9+k/3DT5yQozqOGCEn9rG2lqM+agkBVKsmB7vJ33/cwuZBIiIiA2H4JpNnZWWFtx7OTPn5558jOztb4YrKmFoNbNgAVKoEHD8uh0NkvwiDsLGRQ7oPGybHCz96FEhJkQFb6/p14NYtOda4tv/4M8/IM+fNm8vLBYiIiIqK4ZvMwqBBg+Dl5YVr165h/fr1SpdT9qpUkcMhakdCMZeZZcyw76ijI+Dnl3e/alUZvvP3H69USY4p/vff+nM1JSUBzyMaG9GzzOsmIiLzwPBNZsHe3h5jH065PnfuXMNOOW8u2rUDZs+Wt998U/Z9oDJRsaJ+//HERDnBz7p1crhDrb+PWmEXnsfL2IgpM2w5QiRRUZnhB3WikmL4JrMxatQoODo64vjx4/g9/9VzluTtt+XMm9nZQK9e8pQslTmVCggIAHr3Bho2zFtft7bAOMwHAMz5XI2uXeXZcKISYSAlKpcYvslseHp64rXXXgNghCnnzYVKJQezDg6WY+L17cuZY0yIr4/AfEzAWvSBg4PAjh2yf3hsrNKVEVGB+AHH+JR6jU3435bhm8zKhAkTYG1tjaioKBw7dkzpcpTh6ioHpHZyAnbuBGbMULoiekQfrMefURnw95fBOzRU/lMRESnGhMOopWH4JrMSEBCAl19+GYAFn/0G5Oww2mEXZ88GtmxRtBx6XJNGGhw6BLRuLe9XrqxsPUTGlpsL3L0LXL4MHD4sr43QOn8eeOcdYNQoOQNtp05AWBhQqxbg4wMsWW6jt69yP5Qng7BFY/gms6Odcn7dunW4evWqwtUoqE8fYPx4eXvwYPnXjUyKtzcQHQ3s2SPHCdeyxOuFyXxkZgLnURP7EYZtv1hj5UpgwQI50W7+Lxz37JFj4wcEyEmtbGyAChWAGjWAZs30zwlcvw58/DGwaBGwZg3wyy/AgQPym6HERODmLZWu7cbN1qhdW39iLKLyxObpTYhMS5MmTdC+fXtER0dj/vz5+Pzzz5UuSTlz5sjx7v78U07Ac+CA/hzqpDi1Wv+izOhoYPp0OXR7lSrK1UWWLSlJTph76ZIMyoGBcv2GDUCfPo4QePhhvpf+47y8ZOAG5OUmx48/vm9HR8DDQ05YpRUYKAdpcneX2x79WcUjG3gPEAA+/dIWcXHACy8Ar70GfPqpDPdkXu7eld+AXDxtg4v4FHfhCc0INTRWgEYDDBki/40B4NQpOZqURiNPTmg0+reHDQMefumNs2eBkSMLbzt8uJw0zZQxfJNZmjRpEqKjo/Hdd9/h3XffhYeHh9IlKcPWFli/HmjSRP72GjFCzgSjUj39sVTmcnPl1+7nz8vAs3mz/OqdyJguXgSWLcsL25cuyWCk9fXXcu4uQI5xL4QKTkiFNxLh0TgA7p7WuqAcHJz3uMaN5fj3j4ZptfrxGqpXf8qEVA97XqgA/P5zBqZ95IQFC+Tss9u3y6kNunQpzatAhpadDVy9Kt9fFy7In336AC1byu179wIvvQQAdgDkRHlYnff4li3zwvedO/L3YWGefz7vdmqq3HdhXnyxBE+mjDF8k1nq0KEDGjRogBMnTmDx4sWYNm2a0iUpx9dXBvB27YDVq+XwGg/HRLdYaWmAs7O8nZpqMt8GWFvLr9u7dwdOngTatgUWLwaGDlW6MjJHWVlAXJx+qNYukybJM4sAEB8P/Oc/jz/e21t2EXF3z1vXrBmQcCkNXjVcoAKAPwr//+PpKce/NzRnZznLbO/e8oznhQtA165yTP358+W4+1Q2MjPlNxzat8CxY8DUqTJox8XhsbkMKlfOC9/BwUDt2kDNwBwEbfsCXrgJ6/98AJWdHaysgFat8h5Xs6bskmRlJc8dWVnpL02a5LWtUUN+Q5O/Xf7bNWsa8xUxDIZvMksqlQpvv/02Bg0ahC+++AITJkyAvb290mUp59ln5XezEyYAEyfK31T5f7ORyaheHdi/Hxg0SJ7pefVV+dX9p5/KPrNPlJMjZ/eJjQXOnZM/z5zJ296yJdCmjbzKs1Ur9msxY7m5QFoKkAYfJMIbl7ZYI6heXhemAwfkP7FGU/Djz57Nu12rFvD66zK01KgBBAXJbiDaz6f52dnJUG4Knn1W/t947z3gs8+AVavk5S3as6VkGFlZ+mev8y/XrgGffCKnmABkyP3117zHOjjkvaeCguTITlp16jz89ZSWCTg/3MG4dwEnu8dq8POTXUmKwtNTTnNhzhi+yWz17dsX77zzDq5fv46VK1fqxgC3WOPGyb/I69bJU0aHD8thBMjkODsDGzfKC9hmzpRfx586Bfz8s/xjhtu3ZbB+dLl0SX7XW5gTJ+SyYIG8X62aTGitWslAXreufkdcKjEh5FnBtLTHl6pV5YcsQF5MuHx5we3S0uTX9Noz1LGx8vNTWprcN+AEIF5ufAWYMiUvfFepIoO3o2NeqM6/1KuXV2ulSvIbFnPk4CAvbXn5ZfmtUf7gnZNThA+sBEC+V+KuqHAaXXAWtdFklxXCH3bjOXUKaNq08MdeuZJ3u2ZN2RVIG7Z9feXZZioevm3JbNna2mL8+PF466238Omnn+LVV1+FlSX/FlCp5G/Fkyfl6YY+feRwAba2SldGBbDKycJ7vS+hw4NYbP88Fi/ExcI+/GHIvnOn8Ac6OMjvc0NC5BIQIL+bB2TK+/tvYN8+4OhR2SHz6lXZHQmQY8S3bJkXxlu0kOmNCpSRARw5AuzfbYN2aIKmOALg6WedP/ggb/j9xERg8uTCj1G/ft5ttVq/LzYAqKBBBdxBjeae8PPL++Dk5ye7k3h7W8YlHs2by0Xr+nX5Jc/77wMDB1rGa1Ac9+7JD1xnzsjl7FkgPd0RwM8AgFE/ZevCd1CQvKBVG6gfXfJ/E+LomPfrhkqO4ZvM2vDhw/HBBx8gNjYWW7duRbdu3ZQuSVnOzsCmTTJU7d0LTJsm+zOQMoQAbt7MO3Ot7SoSGytPJ+XmIgxAGABcerho+fvnBeyQENl3ICREnvLM/yEzLS3vr2GPHjKJALKv+8GDciScffuAmBggJUWePvzlF9nGxiavi5K2q4qp9DlQwI0b8mXav18uR47Ir+QBO0xHpC5829vrB2+1WvaJ1S75R+bw8pJdjPJvd3KSIcbJCWjQIK9tlSoyKGm3OSEN9pWcZd/rXfp9r62sLPuLrXnzZJ/jwYOBtWvlBZn+/kpXVXZycuR46mfOAKdPy59Nm8peh1r/93/6j7GzE6iVeRy1cRbPtOihW+/qKsM6P8CUHZUQHHHW1KWkpMDNzQ3JyclwdXVVuhyTM3XqVHzyySdo3bo1/vjjj6I/0EQvyjOIH36QQw8C8sqUXr2Ueb5KvcZKHff2bfkdPyCvXLtwAUhOLry9s7N+wA4JgaZmCPrOqIkGYU54550i/EEs6nPNyZHfivz5Z95y48bj7YKC9MN4rVoFF2Hm/7Y5OfKfpkIFeT82Vj7VR1WqBLQMzUH/rf3RGxuA1FRk2Trh9u28IG20rg9m/hob85g5OfK8wsyZsouOiwswd64cZq5YX4Ca+GssRN5/v4wMeXH2mTPy/Sq7JuXp0EG/P/aoUfIDXd26sv91oHcarN1M97mWh+MWNa8xfJsBhu8nu3HjBgICApCdnY39+/cjrKhjt5Xn8A3I77rnzpXP8a+/ZEdUE/+DatbHPXpUTt137pz+epVKdg15JGQjJET2HXgk2P78M6D9Aufll4GlS59SfkmfqxCyS8q+fXlnx0+denwGoAoVZFcVbRhv1kxelWdm/7Z37siz2toz23/9BURGyov4AHkm28tLhpWwMPmUW7YEAqtkQbV/X95YZ7/9BoSHl81pQjN7jZU45rlz8qLlmBh5v1074LvvZL93Yx631B45brbaCRcv6p/JPn1a/prYuFE2E0J+GNT2SnNwkKOJaMN1s2byrVnUY5br95NCxy1yXhNk8pKTkwUAkZycrHQpJuvVV18VAMRLL71U9Aelpgohf5/J2+VNdrYQbdvK51erlhDx8WX/fJV6jcvyuDk5QsyaJYStbd4xASFWrBDi5Ekh0tOLvctvv83bXaNGQsTFPaGxIZ/rvXtCbN8uxP/9nxDPPSeEvb3+cwKEsLMTolUrISZONPl/W41GiNdeEyIk5PGnoX1t80tPF0IkJgqxZYsQkycL0bq1fL6PPrBZMyFWrhQiM9N4z1MIy/j/Y4Bj5uQIMX++EI6O8uFTppTNcUtKo9E/blhozmO/PrRLYKD+Y1esEOLnn4W4dEmI3NxiHtiS3k8KHbeoec0sw/eePXtEly5dhK+vrwAgNm/erNuWlZUlJk+eLOrVqyccHR2Fr6+vGDhwoPj333/19lGtWjUBOZmWbpk1a5Zem+PHj4vWrVsLOzs7UaVKFfHJJ588Vsv69etFSEiIsLOzE/Xq1RPbtm3T267RaMSMGTOEj4+PsLe3F+3btxfnz58v1vNl+H66M2fOCABCpVKJ2NjYoj2ovIdvIYRISBCicmX5HF96yaz+oJrFca9cEeLZZ/OO1a2bwY77xx9CVKokd1WpkhB79hTS0JjPNTNTiAMHhPj0U/n+8fIqOCF4ewvxwgtCvPWWEMuWCXHkSIk+dBRJAc83JUWIqCghPvhAiAkT9Js3apTXvFYtIV59VYjvvhPi9GkhcrNz5Qekb74RYvBgIWrWLPj5VaiQdzv/BxI/PyH+8x8hbt0qs+daJswsfGtduiTE0KFCpKXlrXtqQC2D56rRyLfZ558L0bmzPCeS/7gtmuUIQAhnZyFatBBiyBAh5swRYts2+SvGYCzp/aTQcct1+N6+fbt45513xA8//PBY+E5KShLh4eFi3bp14ty5cyImJka0aNFCNG3aVG8f1apVEx988IGIj4/XLan5/nGSk5OFt7e3GDBggDh16pRYs2aNcHBwEN98842uzb59+4S1tbWYM2eOOHPmjJg+fbqwtbUVJ0+e1LWZPXu2cHNzE1u2bBHHjx8X3bp1E9WrVxfpxfjDxPBdNF26dBEAxOuvv160B1hC+BZCiP37Hz8ra0Z/UE3yuBqNDJkuLkL3V3PpUiHu3zfoca9eFaJxY7k7Gxshli8voFFZvsYajRDnz8vnOnhwwUFVu1hby7Tbu7cQH34oxI8/CnH5cglO1z0iNVVcRoBYjlfEyGFZomFDIays8g6rVuvn/h9/FGLrViFu3xYypf/+u0zpHTsK4eZWcO116woxfLh8nufP6/+7xsUJ8dFHQvj66gfy4cNlojek8vr/p4yOmZMjg+5//iNEVlbZHVcIIa5dE2LJEiH695efTfO/vVQqIe5cyzvuiQNp4urVh2fEjcmS3k8KHbdch+/8Hg3fBfnrr78EAHH16lXdumrVqonPP/+80Md8/fXXwsPDQ2Tm+1pxypQpIiQkRHe/d+/eonPnznqPCw0N1YU/jUYjfHx8xNy5c3Xbk5KShJ2dnVizZk1Rnp4QguG7qPbs2SMACDs7O5GQkPD0B1hK+BZCiAUL9H/779wpxJ07xj9uefyle/u2ED175u2/VSt5ys1Ix01LE6JPH5nvDh0qoIEpvMa7dsm+MmPHyu4qnp6Fh3IXFyHCwoQYMUK+L/fsEeLu3SceSu+tmpoquuLHx3YbECCDzldfPXwZNBp52nDVKiFGj5afYvKndO3i5CTE888LMX26EDt2FFxLQa9xZqbsetK0qf7+OnSQ+ynth4zCjlsWykn43rgxb5eNGwtx9Kjxjnv3rn547tdP/23h4CA/782dK+vITSkfrzGPq4/hO5+oqCihUqn0Xoxq1aoJb29v4enpKRo1aiTmzJkjsrOzddsHDhwounfvrrefnTt3CgDi7sNfzv7+/o8F+HfffVc0aNBACCHEpUuXBABx9JH/8W3atBFvvvlmofVmZGSI5ORk3XL9+nWG7yLQaDSiRYsWAoCYPn360x9gSeFboxGib9/Hg0eFCjIIDR4sz+atXy/EsWOGez3K2y/dX37JO+NpYyPExx/L02tGPq72a+v8dIc1xddYoxHin39kCJ0zR4hXXhGiYcPHv4HJv1SpIkSnTkJMmSIyl6wU+xafEFMnZurO/Ou+fk9NFYvwugjDPvHWm1li0yYhbtwQeV1k5s0Tolcv2SWkoONUqyaT0Vdfye4x+X7vl/i5/vGHED166If7WrWEWLxYvw+EIV9jYyon4VujkX2kPTzy/stOny5ERkbpj5ueLr9EmTpVXgKgUglx6lTe9mXLhHjmGXm83bsfOWYpjlsqlvR+Uui4DN8PpaeniyZNmoj+/fvrrf/ss8/Erl27xPHjx8WiRYuEu7u7mJCvs+ALL7wgRowYofeY06dPCwDizJkzQgghbG1txerVq/XaLFy4UHh5eQkhZLcUAOLGjRt6bV5++WXRu3fvQmt+7733xKP90Rm+i2bjxo0CgPD09NTrRlQgSwrfQghx82be89X2A3/SUqWKPCM4cqQMNFu3yq/gC/3+tgDl5ZduWpoQY8bk7bN2bSEOHzb+cQtx6JDMdseOld0xH1OS42ZlyYSyerUQ06YJ0aWLEFWrFvoezIKNOI76YiX6i+P9ZslOsOfO5bVZt05eXffsswVfHGpjIzvRjh8vP1j+849xn+vly7LTubY7EiC/BZg6tWTHNqd/WxM+Zny8/pdVderIz2nFPW5cnBCzZwsRHl7w223JkmIUVc5eYx5XKmr4LteT7GRnZ6N3794QQmDRokV62ybmG4m+QYMGUKvVeP311zFr1izY2dmVdal6pk2bpldfSkoK/C1p9oBSiIyMRFBQEC5evIglS5Zg7NixSpdkOvLPZBgbK39evAicP6+/XLggx7L65x+57Nypvx8bGyAwUM6y+OhSwNB5Zu/wYeCVV/KGEBw7Fvjkk4fzwCtj8mRZTsuWwPffWKOXYpUUk62tHBetbl1catEPDg7yLYOkJOxecArrZpxEA5xAfZxEA9VJuIoUNMBJNMBJYA3kkl+fPvr3tcMiapfmzcv236l6dTn7y8yZwLJlwBdfyJlQZs+Wg1K//DIwYYL+VI1kdD4+cri+jRuB0aPlMH5vvilnKi3st5UQwKVLcgKlqlXlunPngKlT89r4+cmh/dq3l0vlykZ/KlROlNvwrQ3eV69exc6dO586PnZoaChycnIQFxeHkJAQ+Pj4IDExUa+N9r7Pw2nFCmuTf7t2na+vr16bRo0aFVqLnZ2d4h8AzJW1tTUmTpyIUaNGYd68eXjjjTdgY7QZMMyckxPQsKFcHnXnjgzhjwbz8+eB9PS8249ydARq1swL49WqGf95GEturgxNM2fKGT18feWg2xERSleGTZuAvn3lkNMvD7THDLyPmZiJ4swtUtZu35af437/XS5XrsiX9r33ALi7o+Ho1pj/d2vUewGoFA641BTA9WtyYqATJ/J+xsbKfxtAzorTurUM2q1ayfeeKXz4c3WV6W70aGDrVuDzz4E9e4A1a+TSsiUwfjzw0ktGnKGnGG7dAo4fl6/v8eNyzHqtwEDAwyNvcXcv2m1X12LOdmN8vXrJccAnTpSL9q0iIEN4YiKw82Dee/TaNWDSJGDOHNnu2WflP1m7djJ0Fzb/FNHTmMD/esPTBu8LFy5g165dqKCdwuwJjh07BisrK3h5eQEAwsLC8M477yA7Oxu2trYAgKioKISEhMDDw0PXJjo6GuPHj9ftJyoqSjfJS/Xq1eHj44Po6Ghd2E5JScHBgwfxxhtvGPAZU35DhgzBu+++i7i4OGzatAl9Hj07Rk9XoYJcnnlGf71GI2dFLCiUX74MPHgg/3gfP/74Prt1A157Tc5souBZ4yK5fFlO075/v7zfqxeweHHedIgK8/AAtm0DpkyRJ1o/xLs4isbovswGg4bLs3WAnFfCzk6ecFbC/fvARx/JIHP0qDybqGVrmzdZCCCf05Yt+R+tkh/eqlUDunTJW333bt6/w99/m/bkWNbWQPfucjl6FJg/X4Zv7fz1VavKb1Jee00GVmPLyZEfXvIH7ePHgfj4wh9z86ZcisvKCnBzK3pYt7fPe6xGU/zjFVGFCsD33+uvm46P8C1G4HYN/feSra3+BLWOjnLyYKLSMssZLlNTU3Hx4kUAQOPGjTFv3jy0a9cOnp6e8PX1Ra9evXDkyBFs3boV3t7eusd5enpCrVYjJiYGBw8eRLt27eDi4oKYmBhMmDABnTp1wvcP/1cmJycjJCQEHTp0wJQpU3Dq1Cm8+uqr+PzzzzFixAgAwP79+/Hcc89h9uzZ6Ny5M9auXYuPP/4YR44cQb169QAAn3zyCWbPno3vv/8e1atXx4wZM3DixAmcOXMG9vl/2TwBZ7gsvvfffx8zZ85EkyZN8Pfff0NlStNjK8XYzzc7G4iL0w/kZ8/KM375ubsD/frJaemaNjXOqaPSzPq4bJk8a5maKuesXrBABvGi1KnAe2r5d5kYPgLIgvy2LDs772Rqv37A2rXyJGSFCkDFinmfqypUkCf2tZ+Dzp2Tn5207Rwdn/KUH3muufZOOHZMnkTt2FGuzsmR+9IGmPr15RnDF16QZxG1Dy8WM5p9sUAJCcDXXwOLFsmvAwC5v6FD5fuuZk3DHPfu3bxwrQ3ap08/Pie5Vo0aed+EhYTIr1YAOXVkRgZw7x6QlCR/Pu12RkbxXpNHqdXym6bKlQtf/PwM8iH+euwDBNayRQ7kJ9RGjfK6kjz7rBHfXub+PuZxC1SuZ7jctWtXgRckDh48WFy5cqXAbQDErl27hBBCHD58WISGhgo3Nzdhb28vateuLT7++GOR8cjlyPkn2alcubKYPXv2Y7WsX79eBAcHC7VaLerWrVvoJDve3t7Czs5OtG/fvuiTwDzEoQaL79atW8LBwUEAENHR0QU3srQLLpW+wGfatMcvrqtXT17MefOm8Y5b1Od686b+RETPPlv8GS4Ueo0PoakYhu/Eyy/pj9zRoUPh19OqVPoDffTpo7/dzk4OGFK/vhDt2smhrrWio4VY9k2G+BmdxWKMEL0is3WjC1avrl/el1/KEfni4w33fMvFhWrp6UL897/y/0D+f5SuXeULrNEU7bg5OUKcPSvE2rVyZtLOneXF0oX9wzs5yRGORo4UYtEiIfbtk+OfG/L5pqfLIWjOnJH737pVvgm++kqOsT5xopwNJzJSDsTdsKEQ/v5Pvwj80cXDQ75+ERFy9qQZM+QIMz//LEeySUx8+pCPqanibzQRm/CSuHmlfF8MWG4ufNRo5C+vBw+ESEqSk1z9+6+8Ivb8eTne/tGjchhTE73g0izPfFsanvkumTFjxmDhwoXo2LEjduzY8XgDnvku+2M6OMiOv0uXyu9vtWfIbGyArl3l2fCOHUvfD7a4z3X7dnnsxET5XfOHHwJvvy27DRjzuIbwhGPm5soTkXfuyJOsd+7kLampD/tbPzRihOyefOcOkJWlfwiVSp5R174cffsC69Y9Xoqrq+wPu3q1/vW9BmVir3GpCSH/T3z+uexLpNWgAfDGG3LRHjc7O+8stvbnqVPyOoyCBATknc1u2FDuMzDw6X2xlX6Nz5yRZ9H//TdvuXFD/35hz/lRtrZPPovu4ZF33Us5Pyv72DEdHeXXU1lZ8r2V/2dB60ra5sED+W0PAPTvL9/zRXnsk34WN7qa2Jlvhm8zwPBdMpcvX0bNmjWh0Whw4sQJ1K9fX78Bw7eyx0xKkn0iliwBDh3KW+/jAwwaJL+Gr1XL8MfN78EDGbK1oyHVqQOsXAk0bmzc4xqSgY8phNxl/qCenCy7vWvNmgXsjs7BnehjcEYq2k9vifAX1WjevAyuHywHr3Ghzp+XI6QsWybfm/lVrSqvACyIg4Ps05M/aNevL/tcl4Spv8ZCyN8f+cN4QQH95s3ihTQnJ/kGtrGRnzSfdPtp2592W4i83zuvvy4/EOXkyE/MJf1ZlDZ378pj2trKEFteWFvL7kq2tnk/bW3z/s8wfFNxMXyXXO/evbFhwwYMGjRI15/fYpnyH9RTp+TZ8BUrZKdhrbAwGcL79JGnVQ153EOH5BCC2lFbxo2TqbI0/UhN+TXmcc3nmPfuAf/9L/Dll3K4z/z8/R8/mx0UVPxvaZ6kvLzG2dnyYtInBfR//338g44ls7F5PMSq1UVfV9A2QA61CcgrsJ2dC39cSX7a2hb8bY4J9/lm+DYDDN8ld+jQIbRo0QI2Nja4fPmyZY+Xbg5/ULOyZBeQJUvkT+2Qcg4OcozkoUOBNm1K97V5To4M2R98IG/7+ckzjS+8UKKnWOTjGoslhWCljqvUc01Kkt0iAPn/ITQU8PQ0/nEt6TXWXlgNyOEs1eq8M8UFnT0uyu2itE1PB+bOlcedPFl2Acl/Vv3RM+wF/SzutqwsoFkzecxz5+TF748GWVO6AN4Mj1vUvFYuhxok0mrevDnatm2L3bt344svvsCn2k/fZJrUajkUYWSkHBVixQoZxM+dA5Yvl0tgIDBkCDB4cN7sF0V16ZI8233ggLzfu7f86rcsAg1RceUfI7JNm/LfNU4J+cNm9eplGwy14fvdd8vuA45WlSp8PynItEbAJzKCSZMmAQC+/fZbJOcftJVMm4+PnOHizBk53Nnw4fIM1eXL8o9VQICc8Gbt2qcPbSaE/Bq/YUMZvF1dZbBfu5bBm4iIyhTDN5V7nTp1Qt26dXH//n188803SpdDxaVSycl+vv1W9t9cvhxo21YG6t9+k4NZ+/rK2QQPH378AqubN+WZ9OHD5Zmf556TI0W88gqnpyMiojLH8E3lnkqlwttvvw0A+OKLL5BZ2CQTZPqcnOSEN7t2yS4kM2bIC9CSkuRQVs2ayVkyFi7Me0xoKPDTT/Ir/DlzgOho8572noiIzBrDN1mE/v37w8/PDzdu3MDq1auVLocMITBQXjR55Yo8A963r5xL/cQJOe+61q1bQL16cnSTSZMMOyoEERFRMTF8k0VQq9UYP348AODTTz+FRqNRtiAyHGtrOVLJmjWyW8rChUCTJnnbx46VwVs7kQYREZGCGL7JYowYMQIuLi44c+ZMwTNekvnz8ABGjQL27s1bN2sWYG+vXE1ERET5MHyTxXBzc8Prr78OAJirHeKJiIiIqAwxfJNFGTduHGxsbLBnzx789ddfSpdDREREFobhmyxKlSpVMGDAAAA8+01ERERlj+GbLI522MEffvgBly5dUrgaIiIisiQM32Rx6tWrh06dOkGj0WDevHlKl0NEREQWhOGbLJJ2yvmlS5fi9u3bCldDREREloLhmyxS27Zt0bRpU6Snp2Nh/tkQiYiIiIyI4ZsskkqlwuTJkwEAX331FR48eKBwRURERGQJGL7JYvXo0QPVq1fHnTt3EB4ejpiYGKVLIiIionKO4Zsslo2NDb744gs4OjoiJiYGLVu2xMsvv4yLFy8qXRoRERGVUwzfZNG6du2KCxcu4LXXXoOVlRU2btyIOnXqYNy4cbwQk4gkJydACLk4OSldDRGZOYZvsnh+fn747rvvcPz4cXTq1AnZ2dn48ssvERQUhE8++QTp6elKl2gYDBDlE/9diYjMCsM30UP16tXD9u3b8fvvv6NRo0ZITk7G1KlTERISgpUrV0Kj0ShdovlhMCQiItLD8E30iPbt2+Pw4cP4/vvvUaVKFVy/fh0DBw5E8+bNsXPnTqXLIyIqf/hBnSwIwzdRAaysrDBo0CCcP38es2bNgqurK44cOYL27dujc+fOOH36tNIlEhEZB4MwkVExfBM9gYODA6ZOnYqLFy9izJgxsLGxwfbt29GgQQOMGDEC8fHxSpdIpAylAhqDIREVhQn/rmD4JiqCSpUq4auvvsLp06fRo0cPaDQafPfdd6hZsyZmzpyJ1NRUpUskIiJzoUQw5Admk8HwTVQMwcHB2LRpE/78808888wzSEtLw/vvv4+aNWviu+++Q05OjtIlkpL4R4bIvPD/LCmA4ZuoBFq1aoX9+/dj/fr1CAwMREJCAkaMGIGGDRti27ZtEEIoXSIRERGZIIZvohJSqVR4+eWXcfbsWcyfPx+enp44c+YMunTpgvbt2+PIkSNKl0hE5oxnZYnKJYZvolJSq9UYN24cLl26hEmTJsHOzg67du1C06ZN8corr+Dq1atKl0hEREQmguGbyEDc3d0xZ84cxMbGYsCAAQCAVatWISQkBFOmTEFSUpKyBRIREZHiGL6JDKxatWpYuXIlDh06hLZt2yIzMxNz5sxBUFAQvvjiC2RlZSldIhERESmE4ZvISJo1a4adO3fi559/Ru3atXHnzh2MHz8ederUwcaNG3lRJhERkQVi+CYyIpVKhS5duuDEiRNYvHgxvL29cenSJbz88sto2bIloqKiGMKJiIgsCMM3URmwsbHB66+/jgsXLuDdd9+Fo6MjDhw4gA4dOuDZZ59FdHQ0Q7ghcZQIIiIyUQzfRGXIxcUF77//Pi5evIhx48bBzs4O+/btQ3h4ONq2bYvdu3crXSIREREZEcM3kQJ8fX0xf/58XLp0CWPGjIFarcbevXvRrl07tGvXDnv37lW6RCIiIjIChm8iBVWuXBlfffUVLl26hFGjRkGtVmP37t147rnn0L59e/z5559Kl0hEREQGxPBNZAKqVKmChQsX4uLFixg5ciRsbW2xc+dOPPvss+jQoQNiYmKULpGIiIgMgOGbyIT4+/tj0aJFuHDhAoYPHw4bGxtERUWhZcuW6NixIw4ePKh0iURERFQKDN9EJqhatWr49ttvcf78eQwbNgzW1tb49ddf8cwzz6Bz5844dOiQ0iUSERFRCTB8E5mw6tWr47///S/Onz+PoUOHwtraGtu3b0eLFi3QtWtXHD58WOkSiYiIqBgYvonMQGBgIJYsWYJz585h0KBBsLKywtatW9GsWTN0794dR48eVbpEIiIiKgKGbyIzEhQUhO+//x5nz57FK6+8AisrK/z0009o0qQJevTogRMnTihdIhERET0BwzeRGQoODsaKFStw+vRp9OvXDyqVCps3b0bDhg3Rq1cvnDx5UukSiYiIqAAM30RmrFatWli9ejVOnTqFPn36QKVSYdOmTWjQoAF69+6N06dPK10iERER5cPwTVQO1KlTB2vXrsWJEyfQq1cvAMCGDRtQv3599OvXD2fPnlW4QiIiIgIYvonKlXr16mHDhg04fvw4evToASEE1q5di7p16+KVV17B+fPnlS6RiIjIojF8E5VDDRo0wKZNm3D06FFERkZCCIFVq1ahdu3a6Nq1K5YtW4a7d+8qXSYREZHFUQkhhNJF0JOlpKTAzc0NycnJcHV1VbocMkNHjhzBzJkz8fPPP+vW2djYoF27dujZsyciIyPh7e2tYIVERETmrah5jeHbDDB8k6GcOXMGGzZswKZNm/RGRFGpVHj22WfRs2dP9OjRA1WqVFGwSiIiIvPD8F2OMHyTMVy4cAGbNm3Cpk2b8Pfff+ttCw0NRc+ePdGzZ08EBgYqVCEREZH5YPguRxi+ydiuXbuGH374AZs2bcK+ffuQ/9dCo0aNdEG8du3aClZJRERkuhi+yxGGbypL8fHx2LJlCzZt2oTdu3cjNzdXt61WrVq6IN6oUSOoVCoFKyUiIjIdDN/lCMM3KeX27dv46aefsGnTJkRFRSE7O1u3LTAwED169EDPnj3RokULWFlx8CQiIrJcDN/lCMM3mYLk5GRs3boVmzZtwo4dO5CRkaHbVrlyZV0Qb926NaytrRWslIiIqOwxfJcjDN9katLS0rBjxw5s2rQJW7duRWpqqm6bl5cXIiMj0bNnT7Rr1w62trYKVkpERFQ2GL7LEYZvMmUZGRmIiorCpk2b8OOPPyIpKUm3zcPDA926dUOvXr3QoUMHqNVq5QolIiIyIobvcoThm8xFdnY2du3ahU2bNmHz5s24deuWblulSpUwYMAADB06FA0aNFCwSiIiIsNj+C5HGL7JHOXm5uLPP//Epk2bsH79eiQmJuq2NW7cGEOHDkW/fv1QsWJFBaskIiIyDIbvcoThm8xdTk4Ofv31VyxduhQ//fSTbtQUW1tbdOvWDUOGDEHHjh1hY2OjcKVEREQlw/BdjjB8U3ly584drF69GsuWLcORI0d06729vTFw4EAMHToUderUUbBCIiKi4mP4LkcYvqm8OnHiBJYtW4aVK1fq9Q9v3rw5hg4dir59+8LDw0PBComIiIqG4bscYfim8i4rKws7duzA0qVLsW3bNuTk5AAA7OzsEBkZiSFDhuCFF17g+OFERGSyGL7LEYZvsiQ3b97EqlWrsHTpUpw8eVK33s/PD4MGDcKQIUMQEhKiYIVERESPK2peM8v5oPfu3YuuXbvCz88PKpUKW7Zs0dsuhMC7774LX19fODg4IDw8HBcuXNBrc/fuXQwYMACurq5wd3fHsGHD9CYKAeRX4s8++yzs7e3h7++POXPmPFbLhg0bUKtWLdjb26N+/frYvn17sWshojxeXl6YMGECjh8/jsOHD2Ps2LHw9PTEjRs3MHv2bNSqVQstW7bEd999h+TkZKXLJSIiKhazDN9paWlo2LAhFi5cWOD2OXPm4Msvv8TixYtx8OBBODk5ISIiQm867AEDBuD06dOIiorC1q1bsXfvXowYMUK3PSUlBR06dEC1atVw+PBhzJ07FzNnzsS3336ra7N//37069cPw4YNw9GjRxEZGYnIyEicOnWqWLUQ0eNUKhWaNGmCL7/8Ejdu3MDGjRvRuXNnWFtbIyYmBiNGjICvry9eeeUVREdHQ6PRKF0yERHR0wkzB0Bs3rxZd1+j0QgfHx8xd+5c3bqkpCRhZ2cn1qxZI4QQ4syZMwKAOHTokK7Njh07hEqlEv/++68QQoivv/5aeHh4iMzMTF2bKVOmiJCQEN393r17i86dO+vVExoaKl5//fUi11IUycnJAoBITk4u8mOIyqsbN26IOXPmiNq1awsAuqVq1apixowZ4uLFi0qXSEREFqioec0sz3w/yZUrV5CQkIDw8HDdOjc3N4SGhiImJgYAEBMTA3d3dzRr1kzXJjw8HFZWVjh48KCuTZs2bfSmw46IiEBsbCzu3buna5P/ONo22uMUpZaCZGZmIiUlRW8hIsnX1xeTJk3C6dOncfDgQbzxxhtwd3fHtWvX8OGHHyIoKAjPPfccli5dirt370LwshYiIjIh5W5Gi4SEBAByzOD8vL29ddsSEhLg5eWlt93Gxgaenp56bapXr/7YPrTbPDw8kJCQ8NTjPK2WgsyaNQvvv//+058skQVTqVRo0aIFWrRogXnz5uHHH3/EsmXL8Ntvv2Hv3r3Yu3cvAMDBwQG+vr7w8fGBj4+P3u389728vGBra6vwsyIiovKu3IXv8mDatGmYOHGi7n5KSgr8/f0VrIjItNnb26NPnz7o06cP/v33X6xYsQLLli1DbGws0tPTcfnyZVy+fPmJ+1CpVKhYsWKBIf3R266urlCpVGX07IiIqDwpd+Hbx8cHAJCYmAhfX1/d+sTERDRq1EjX5ubNm3qPy8nJwd27d3WP9/HxQWJiol4b7f2ntcm//Wm1FMTOzg52dnZFer5EpK9y5cqYOnUqpk6digcPHiAhIUG3xMfHF3g7ISEBubm5uHXrFm7duqU3xGFB7O3tn3gWvXnz5rr//0RERPmVu/BdvXp1+Pj4IDo6WhdwU1JSdH1DASAsLAxJSUk4fPgwmjZtCgDYuXMnNBoNQkNDdW3eeecdZGdn676KjoqKQkhIiG7GvbCwMERHR2P8+PG640dFRSEsLKzItRCR8Tg6OiIwMBCBgYFPbKfRaHDnzp0nBnTt7eTkZGRkZCAuLg5xcXEF7k+lUiEsLAyRkZF46aWXEBQUZIRnR0RE5sgsJ9lJTU3FxYsXAQCNGzfGvHnz0K5dO3h6eqJq1ar45JNPMHv2bHz//feoXr06ZsyYgRMnTuDMmTOwt7cHAHTq1AmJiYlYvHgxsrOzMXToUDRr1gyrV68GACQnJyMkJAQdOnTAlClTcOrUKbz66qv4/PPPdUMS7t+/H8899xxmz56Nzp07Y+3atfj4449x5MgR1KtXDwCKVMvTcJIdItORnp7+xLPpV69efezMed26dXVBvEmTJuyyQkRUDhU5r5XF0CuGtmvXLr0hxrTL4MGDhRByiL8ZM2YIb29vYWdnJ9q3by9iY2P19nHnzh3Rr18/4ezsLFxdXcXQoUPF/fv39docP35ctG7dWtjZ2YnKlSuL2bNnP1bL+vXrRXBwsFCr1aJu3bpi27ZtetuLUsvTcKhBIvNy/fp1sXDhQvHCCy8IGxsbvd9T/v7+YsyYMSI6OlpkZWUpXSoRERlIUfOaWZ75tjQ8801kvu7du4ft27djy5Yt2LFjB9LS0nTbPDw80KVLF7z00kvo0KEDnJycFKyUiIhKo6h5jeHbDDB8E5UP6enpiI6OxpYtW/DTTz/h1q1bum329vbo0KEDXnrpJXTp0gUVK1ZUsFIiIiouhu9yhOGbqPzJzc3F/v37sWXLFmzevBlXrlzRbbOyskKbNm0QGRmJ7t27IyAgQLlCiYioSBi+yxGGb6LyTQiBkydP6oL4sWPH9LY3btwYkZGRiIyMRP369XnBJhGRCWL4LkcYvoksS1xcHH788Uds3rwZf/zxBzQajW5bYGCgLoi3bNkS1tbWClZKRERaDN/lCMM3keW6ffs2tm7dis2bN+O3335DRkaGblulSpXQrVs3REZGIjw8vMjDlxIRkeExfJcjDN9EBABpaWn49ddf/7+9Ow+Lqnr8B/4elmEAWRRlUzZ3UVxRckksTTLUSksr84Pa8tGwr0Iftdy1zCxzyUzTTOwxS61cQpPcQE1MAVFwXxAyRVxBUARnzu8Pf3ObYRZA4I6N79fz3IeZe8+995yZO8N7zty5Bxs3bkR8fDxu3rwpLVOpVGjcuDEaNWpkMAUEBEiDhRERUc1g+LYiDN9EVFZpaSn27t2LDRs2YOPGjbh48aLJsjY2NvD39zcazBs1agQXFxcZa05EZJ0Yvq0IwzcRmSOEwNmzZ3Hu3DmD6fz587h7967Z9evVq4eGDRsaDebe3t78gScRUQUwfFsRhm8ielhCCOTm5hoN5ufOncO1a9fMru/o6GgymAcEBECpVMrUEiKiRxvDtxVh+CaimlJQUIDz588bDeY5OTl6V1opy8bGBn5+fggICEBgYKA0ae/7+fnxXHMiemwwfFsRhm8isoSSkhJkZ2cbDefnz5/HnTt3zK5vY2MDX19fo8FcG84dHBxkag0RUc1i+LYiDN9E9KjRns5y4cIFvSk7O1v6q3tZRGMUCgV8fHwMQrn2vr+/PxwdHWVqERFR1TB8WxGGbyL6txFCIC8vz2gw194ur+ccALy9vfWCufZ2nTp14OzsjFq1akl/VSoVfxxKRBbD8G1FGL6JyNoIIXDt2jWDUK57v7CwsFLbtLGxgbOzs14oLxvQzf01tczJyYkjiRJRuRi+rQjDNxE9boQQuHHjhtFgnp2djVu3bqGoqAhFRUXlXkqxOjg6OsLJyQlKpRJKpRL29vawt7eXblf078OuY29vDzs7O9jZ2Um3y/ure5vfCBDVvIrmNTsZ60RERFQhCoUCHh4e8PDwQPv27c2WVavVuHPnDgoLC1FUVGTw19i8iiwrLCyEtn/q7t27soT8mmJra1tuQDcX4is6VXadsuVtbW1hY2MDhUIBhUIh3a7ovKosLztf929F55Vdpp2IdDF8ExHRv5qtrS1cXFyqfaROIQSKi4v1AnlpaSlKS0tRUlJSob/VVfb+/fsGf43NKy0tNdoWtVoNtVqNe/fuVetjRBVjLqxbegJQqftVLVMR1VkuJCQECxYsqND25MLwTUREZIRCoYCjoyMcHR1Rt25dS1enQoQQ0Gg05Qb0ioZ5U1N5y6tSRtsGIUSFblembHnbMPZXe7sqtNsh+ZWUlFi6CgYYvomIiKyEQqGAra0tfyBaA4wFdnNhvbxluh8CLDXptsvY/YqUqcw6FX2cq7Pco/jBmeGbiIiIqBy654cTVQWPICIiIiIimTB8ExERERHJhOGbiIiIiEgmDN9ERERERDJh+CYiIiIikgnDNxERERGRTBi+iYiIiIhkwvBNRERERCQThm8iIiIiIpkwfBMRERERyYThm4iIiIhIJgzfREREREQyYfgmIiIiIpIJwzcRERERkUwYvomIiIiIZMLwTUREREQkE4ZvIiIiIiKZMHwTEREREcmE4ZuIiIiISCYM30REREREMmH4JiIiIiKSCcM3EREREZFMGL6JiIiIiGTC8E1EREREJBOGbyIiIiIimTB8ExERERHJhOGbiIiIiEgmDN9ERERERDJh+CYiIiIikgnDNxERERGRTBi+iYiIiIhkwvBNRERERCQThm8iIiIiIpkwfBMRERERyYThm4iIiIhIJgzfREREREQyYfgmIiIiIpIJwzcRERERkUwYvomIiIiIZMLwTUREREQkE4ZvIiIiIiKZMHwTEREREcmE4ZuIiIiISCYM30REREREMmH4JiIiIiKSCcM3EREREZFMrDZ8BwYGQqFQGEzR0dEAgB49ehgsGzlypN42cnJyEBkZCScnJ3h6emLcuHG4f/++XpnExES0b98eDg4OaNy4MeLi4gzqsnjxYgQGBkKlUiEsLAwHDx6ssXYTERER0aPLasP3oUOHcPnyZWnavn07AODll1+Wyrz11lt6ZT799FNpmVqtRmRkJEpKSrB//36sWrUKcXFxmDp1qlQmKysLkZGReOqpp5Ceno6xY8fizTffREJCglRm7dq1iI2NxbRp05CWloY2bdogIiICeXl5MjwKRERERPQoUQghhKUrIYexY8ciPj4eZ86cgUKhQI8ePdC2bVssWLDAaPnffvsNffv2xaVLl+Dl5QUAWLp0KSZMmICrV69CqVRiwoQJ2LJlCzIzM6X1XnnlFdy6dQvbtm0DAISFhaFjx4748ssvAQAajQZ+fn5499138f7771eo7gUFBXBzc0N+fj5cXV2r8CgQERERUU2oaF6z2p5vXSUlJVi9ejVGjBgBhUIhzf/+++9Rt25dtGrVCh988AHu3LkjLUtOTkZISIgUvAEgIiICBQUFOHbsmFSmV69eevuKiIhAcnKytN/U1FS9MjY2NujVq5dUxph79+6hoKBAbyIiIiKifz87S1dADhs3bsStW7cwbNgwad5rr72GgIAA+Pr64ujRo5gwYQJOnTqFX375BQCQm5urF7wBSPdzc3PNlikoKMDdu3dx8+ZNqNVqo2VOnjxpsr6zZ8/GjBkzHrq9RERERPRoeizC94oVK9CnTx/4+vpK895++23pdkhICHx8fNCzZ0+cO3cOjRo1skQ1JR988AFiY2Ol+wUFBfDz87NgjYiIiIioOlh9+M7OzsaOHTukHm1TwsLCAABnz55Fo0aN4O3tbXBVkitXrgAAvL29pb/aebplXF1d4ejoCFtbW9ja2hoto92GMQ4ODnBwcKhYA4mIiIjoX8Pqz/leuXIlPD09ERkZabZceno6AMDHxwcA0LlzZ2RkZOhdlWT79u1wdXVFcHCwVGbnzp1629m+fTs6d+4MAFAqlejQoYNeGY1Gg507d0pliIiIiOjxYdXhW6PRYOXKlYiKioKd3T+d/OfOncOHH36I1NRUXLhwAZs3b8Z//vMfdO/eHa1btwYA9O7dG8HBwRg6dCiOHDmChIQETJ48GdHR0VKv9MiRI3H+/HmMHz8eJ0+exFdffYV169YhJiZG2ldsbCyWL1+OVatW4cSJExg1ahSKioowfPhweR8MIiIiIrI4qz7tZMeOHcjJycGIESP05iuVSuzYsQMLFixAUVER/Pz8MHDgQEyePFkqY2tri/j4eIwaNQqdO3eGs7MzoqKiMHPmTKlMUFAQtmzZgpiYGCxcuBANGjTAN998g4iICKnM4MGDcfXqVUydOhW5ublo27Yttm3bZvAjTCIiIiKyfo/Ndb7/zXidbyIiIqJHG6/zTURERET0iGH4JiIiIiKSCcM3EREREZFMGL6JiIiIiGTC8E1EREREJBOGbyIiIiIimTB8ExERERHJhOGbiIiIiEgmDN9ERERERDJh+CYiIiIikgnDNxERERGRTBi+iYiIiIhkwvBNRERERCQThm8iIiIiIpkwfBMRERERyYThm4iIiIhIJgzfREREREQyYfgmIiIiIpIJwzcRERERkUwYvomIiIiIZMLwTUREREQkE4ZvIiIiIiKZMHwTEREREcmE4ZuIiIiISCYM30REREREMmH4JiIiIiKSCcM3EREREZFMGL6JiIiIiGTC8E1EREREJBOGbyIiIiIimTB8ExERERHJhOGbiIiIiEgmDN9ERERERDJh+CYiIiIikgnDNxERERGRTBi+iYiIiIhkwvBNRERERCQThm8iIiIiIpkwfBMRERERyYThm4iIiIhIJgzfREREREQyYfgmIiIiIpIJwzcRERERkUwYvomIiIiIZMLwTUREREQkE4ZvIiIiIiKZMHwTEREREcmE4ZuIiIiISCYM30REREREMmH4JiIiIiKSCcM3EREREZFMGL6JiIiIiGTC8E1EREREJBOGbyIiIiIimTB8ExERERHJhOGbiIiI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", - "text/plain": [ - "
" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "ax.plot(np.arange(n_steps), \n", " validation_mse,\n", @@ -800,7 +540,7 @@ "ax.set_xticks(np.arange(n_steps)[::2])\n", "ax.set_ylim([50000,250000])\n", "ax.legend()\n", - "mse_fig\n" + "mse_fig" ] }, { @@ -816,27 +556,19 @@ "best subset selection.\n", "Instead of constraining the subset to be a given size,\n", "this package produces a path of solutions using the subset size as a\n", - "penalty rather than a constraint. Although the distinction is subtle, the difference comes when we cross-validate. \n" + "penalty rather than a constraint. Although the distinction is subtle, the difference comes when we cross-validate." ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "845f3fa0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:33.130280Z", - "iopub.status.busy": "2023-07-25T23:59:33.130150Z", - "iopub.status.idle": "2023-07-25T23:59:33.142290Z", - "shell.execute_reply": "2023-07-25T23:59:33.141982Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "D = design.fit_transform(Hitters)\n", "D = D.drop('intercept', axis=1)\n", - "X = np.asarray(D)\n" + "X = np.asarray(D)" ] }, { @@ -850,49 +582,14 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "e9f943e7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:33.143916Z", - "iopub.status.busy": "2023-07-25T23:59:33.143817Z", - "iopub.status.idle": "2023-07-25T23:59:35.350804Z", - "shell.execute_reply": "2023-07-25T23:59:35.350454Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Preprocessing Data.\n", - "BnB Started.\n", - "Iteration: 1. Number of non-zeros: 1\n", - "Iteration: 2. Number of non-zeros: 2\n", - "Iteration: 3. Number of non-zeros: 2\n", - "Iteration: 4. Number of non-zeros: 2\n", - "Iteration: 5. Number of non-zeros: 3\n", - "Iteration: 6. Number of non-zeros: 3\n", - "Iteration: 7. Number of non-zeros: 4\n", - "Iteration: 8. Number of non-zeros: 9\n", - "Iteration: 9. Number of non-zeros: 9\n", - "Iteration: 10. Number of non-zeros: 9\n", - "Iteration: 11. Number of non-zeros: 9\n", - "Iteration: 12. Number of non-zeros: 9\n", - "Iteration: 13. Number of non-zeros: 9\n", - "Iteration: 14. Number of non-zeros: 9\n", - "Iteration: 15. Number of non-zeros: 9\n", - "Iteration: 16. Number of non-zeros: 9\n", - "Iteration: 17. Number of non-zeros: 9\n", - "Iteration: 18. Number of non-zeros: 17\n", - "Iteration: 19. Number of non-zeros: 19\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ "path = fit_path(X, \n", " Y,\n", - " max_nonzeros=X.shape[1])\n" + " max_nonzeros=X.shape[1])" ] }, { @@ -905,38 +602,12 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "657ac171", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:35.352837Z", - "iopub.status.busy": "2023-07-25T23:59:35.352703Z", - "iopub.status.idle": "2023-07-25T23:59:35.355490Z", - "shell.execute_reply": "2023-07-25T23:59:35.355210Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "{'B': array([0. , 3.25484367, 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0.67775265, 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. ]),\n", - " 'B0': -38.98216739555551,\n", - " 'lambda_0': 0.011416248027450178,\n", - " 'M': 0.5829861733382012,\n", - " 'Time_exceeded': False}" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ - "path[3]\n" + "path[3]" ] }, { @@ -970,435 +641,10 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "e576ad54", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:35.357157Z", - "iopub.status.busy": "2023-07-25T23:59:35.357034Z", - "iopub.status.idle": "2023-07-25T23:59:35.424501Z", - "shell.execute_reply": "2023-07-25T23:59:35.424223Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64428165.36474803, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64428069.135193564, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64427947.709570706, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64427794.49147929, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64427601.15801401, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64427357.208145335, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64427049.39312406, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64426660.99818401, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64426170.936871, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64425552.60935727, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64424772.46361481, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64423788.18271286, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64422546.402046196, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64420979.836119056, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64419003.66458898, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64416510.99045885, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64413367.138336174, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64409402.50628651, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64404403.61988451, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64398101.96098537, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64390160.05690916, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64380154.22050254, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64367553.23368757, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64351692.17811265, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64331740.55708714, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64306663.85815487, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64275177.83204634, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64235695.09903011, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64186264.367964305, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64124503.75014188, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 64047531.61120446, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 63951901.41718618, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 63833551.374737374, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 63687785.48493876, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 63509309.685659595, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 63292354.02159835, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 63030916.89990266, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 62719166.29703928, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 62352019.354438685, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 61925889.875772476, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 61439539.89859062, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 60894903.039219804, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 60297684.607476555, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 59657521.16598571, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 58987535.05051082, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 58303257.30893663, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 57621079.35589412, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 56956552.362989165, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 56322906.14367991, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 55730077.752803415, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 55184365.56435659, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 54688640.34364891, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 54242923.97107168, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 53845116.92275897, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 53491699.68250863, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 53178310.76477921, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 52900177.09233121, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 52652419.277090184, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 52430270.98847021, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 52229246.49376922, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 52045276.251295805, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 51874817.10761593, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 51714935.480955906, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 51563358.53546297, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 51418487.867063135, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 51279371.6204245, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 51145634.32609803, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 51017369.002990715, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50895002.06601913, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50779146.50047491, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50670461.07683641, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50569532.273268215, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50476790.981010474, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50392468.80539254, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50316590.69087247, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50248994.15213543, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50189362.60450393, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50137261.69126286, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50092171.83247456, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50053515.0816231, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 50020677.61213055, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49993029.950182974, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49969946.08142715, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49950821.12032734, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49935086.375795275, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49922220.65542218, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49911757.23721766, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49903286.65921827, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49896456.01861009, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49890965.72520982, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49886564.66025478, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49883044.54819732, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49880234.147845834, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49877993.670362815, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49876209.66553557, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49874790.493499264, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49873662.41408341, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49872766.272819825, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49872054.73300109, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 49871489.989638604, tolerance: 12885.7065737425\n", - " model = cd_fast.enet_coordinate_descent_gram(\n" - ] - }, - { - "data": { - "text/plain": [ - "(19, 100)" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Xs = X - X.mean(0)[None,:]\n", "X_scale = X.std(0)\n", @@ -1408,7 +654,7 @@ " Y,\n", " l1_ratio=0.,\n", " alphas=lambdas)[1]\n", - "soln_array.shape\n" + "soln_array.shape" ] }, { @@ -1437,414 +683,16 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "3ef15192", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:35.426658Z", - "iopub.status.busy": "2023-07-25T23:59:35.426532Z", - "iopub.status.idle": "2023-07-25T23:59:35.436847Z", - "shell.execute_reply": "2023-07-25T23:59:35.436537Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
AtBatHitsHmRunRunsRBIWalksYearsCAtBatCHitsCHmRunCRunsCRBICWalksLeague[N]Division[W]PutOutsAssistsErrorsNewLeague[N]
negative log(lambda)
-12.3108550.0008000.0008890.0006950.0008510.0009110.0009000.0008120.0010670.0011130.0010640.0011410.0011490.000993-0.000029-0.0003900.0006090.000052-0.000011-0.000006
-12.0782710.0010100.0011220.0008780.0010740.0011500.0011350.0010250.0013460.0014040.0013430.0014390.0014500.001253-0.000037-0.0004920.0007690.000065-0.000014-0.000007
-11.8456860.0012740.0014160.0011070.0013550.0014510.0014330.0012930.0016980.0017720.0016940.0018160.0018300.001581-0.000046-0.0006210.0009700.000082-0.000017-0.000009
-11.6131020.0016080.0017870.0013970.0017100.0018310.0018080.0016320.0021430.0022360.0021380.0022920.0023090.001995-0.000058-0.0007840.0012240.000104-0.000022-0.000012
-11.3805180.0020290.0022550.0017630.0021580.0023100.0022810.0020590.0027040.0028210.0026980.0028920.0029140.002517-0.000073-0.0009900.0015440.000131-0.000028-0.000015
............................................................
9.784658-290.823989336.92996837.322686-59.748520-26.507086134.855915-17.216195-387.77582689.573601-12.273926476.079273257.271255-213.12478031.258215-58.45785778.76126653.622113-22.208456-12.402891
10.017243-290.879272337.11371337.431373-59.916820-26.606957134.900549-17.108041-388.45840489.000707-12.661459477.031349257.966790-213.28089131.256434-58.44885078.76124053.645147-22.198802-12.391969
10.249827-290.923382337.26044637.518064-60.051166-26.686604134.936136-17.022194-388.99747088.537380-12.971603477.791860258.523025-213.40574031.254958-58.44168278.76123053.663357-22.191071-12.383205
10.482412-290.958537337.37745537.587122-60.158256-26.750044134.964477-16.954081-389.42341488.164178-13.219329478.398404258.967059-213.50541231.253747-58.43598378.76123053.677759-22.184893-12.376191
10.714996-290.986528337.47064837.642077-60.243522-26.800522134.987027-16.900054-389.76013587.864551-13.416889478.881540259.321007-213.58486931.252760-58.43145478.76123553.689152-22.179964-12.370587
\n", - "

100 rows × 19 columns

\n", - "
" - ], - "text/plain": [ - " AtBat Hits HmRun Runs RBI \\\n", - "negative log(lambda) \n", - "-12.310855 0.000800 0.000889 0.000695 0.000851 0.000911 \n", - "-12.078271 0.001010 0.001122 0.000878 0.001074 0.001150 \n", - "-11.845686 0.001274 0.001416 0.001107 0.001355 0.001451 \n", - "-11.613102 0.001608 0.001787 0.001397 0.001710 0.001831 \n", - "-11.380518 0.002029 0.002255 0.001763 0.002158 0.002310 \n", - "... ... ... ... ... ... \n", - " 9.784658 -290.823989 336.929968 37.322686 -59.748520 -26.507086 \n", - " 10.017243 -290.879272 337.113713 37.431373 -59.916820 -26.606957 \n", - " 10.249827 -290.923382 337.260446 37.518064 -60.051166 -26.686604 \n", - " 10.482412 -290.958537 337.377455 37.587122 -60.158256 -26.750044 \n", - " 10.714996 -290.986528 337.470648 37.642077 -60.243522 -26.800522 \n", - "\n", - " Walks Years CAtBat CHits CHmRun \\\n", - "negative log(lambda) \n", - "-12.310855 0.000900 0.000812 0.001067 0.001113 0.001064 \n", - "-12.078271 0.001135 0.001025 0.001346 0.001404 0.001343 \n", - "-11.845686 0.001433 0.001293 0.001698 0.001772 0.001694 \n", - "-11.613102 0.001808 0.001632 0.002143 0.002236 0.002138 \n", - "-11.380518 0.002281 0.002059 0.002704 0.002821 0.002698 \n", - "... ... ... ... ... ... \n", - " 9.784658 134.855915 -17.216195 -387.775826 89.573601 -12.273926 \n", - " 10.017243 134.900549 -17.108041 -388.458404 89.000707 -12.661459 \n", - " 10.249827 134.936136 -17.022194 -388.997470 88.537380 -12.971603 \n", - " 10.482412 134.964477 -16.954081 -389.423414 88.164178 -13.219329 \n", - " 10.714996 134.987027 -16.900054 -389.760135 87.864551 -13.416889 \n", - "\n", - " CRuns CRBI CWalks League[N] \\\n", - "negative log(lambda) \n", - "-12.310855 0.001141 0.001149 0.000993 -0.000029 \n", - "-12.078271 0.001439 0.001450 0.001253 -0.000037 \n", - "-11.845686 0.001816 0.001830 0.001581 -0.000046 \n", - "-11.613102 0.002292 0.002309 0.001995 -0.000058 \n", - "-11.380518 0.002892 0.002914 0.002517 -0.000073 \n", - "... ... ... ... ... \n", - " 9.784658 476.079273 257.271255 -213.124780 31.258215 \n", - " 10.017243 477.031349 257.966790 -213.280891 31.256434 \n", - " 10.249827 477.791860 258.523025 -213.405740 31.254958 \n", - " 10.482412 478.398404 258.967059 -213.505412 31.253747 \n", - " 10.714996 478.881540 259.321007 -213.584869 31.252760 \n", - "\n", - " Division[W] PutOuts Assists Errors \\\n", - "negative log(lambda) \n", - "-12.310855 -0.000390 0.000609 0.000052 -0.000011 \n", - "-12.078271 -0.000492 0.000769 0.000065 -0.000014 \n", - "-11.845686 -0.000621 0.000970 0.000082 -0.000017 \n", - "-11.613102 -0.000784 0.001224 0.000104 -0.000022 \n", - "-11.380518 -0.000990 0.001544 0.000131 -0.000028 \n", - "... ... ... ... ... \n", - " 9.784658 -58.457857 78.761266 53.622113 -22.208456 \n", - " 10.017243 -58.448850 78.761240 53.645147 -22.198802 \n", - " 10.249827 -58.441682 78.761230 53.663357 -22.191071 \n", - " 10.482412 -58.435983 78.761230 53.677759 -22.184893 \n", - " 10.714996 -58.431454 78.761235 53.689152 -22.179964 \n", - "\n", - " NewLeague[N] \n", - "negative log(lambda) \n", - "-12.310855 -0.000006 \n", - "-12.078271 -0.000007 \n", - "-11.845686 -0.000009 \n", - "-11.613102 -0.000012 \n", - "-11.380518 -0.000015 \n", - "... ... \n", - " 9.784658 -12.402891 \n", - " 10.017243 -12.391969 \n", - " 10.249827 -12.383205 \n", - " 10.482412 -12.376191 \n", - " 10.714996 -12.370587 \n", - "\n", - "[100 rows x 19 columns]" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "soln_path = pd.DataFrame(soln_array.T,\n", " columns=D.columns,\n", " index=-np.log(lambdas))\n", "soln_path.index.name = 'negative log(lambda)'\n", - "soln_path\n" + "soln_path" ] }, { @@ -1859,35 +707,16 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "40b67c85", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:35.438537Z", - "iopub.status.busy": "2023-07-25T23:59:35.438413Z", - "iopub.status.idle": "2023-07-25T23:59:35.665568Z", - "shell.execute_reply": "2023-07-25T23:59:35.665151Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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tGrVilatWlXaXlpaSlZWFtnZ2eTk5JCTk0Nubq7jdXFxMWVlZY731eXt7Y23t7cjVHt5eR338PT0POGjQ4cOmM3mWv4v4ByFaBERERFx8PLyIioqiqioqBPut1gsHD16lPz8fMdzQUEBhYWFxz0qAjdASUkJJSUl5OXl1bimBx980KmvyRUUokVERESk2jw9PQkNDSU0NLRax5eVlVFcXExJSQnFxcUUFxdTWlpKaWkpJSUljtelpaVYLBbHo6yszPFc33qhQSFaRERERFzo2PHTZ5L6P8K7lpSUlNCrVy8Mw2Djxo2V9m3evJnhw4fj4+NDq1atePbZZ487f+7cuXTu3BkfHx9iY2P54Ycf6qhyEREREalvGk2I/s9//kPz5s2P256Xl8e4ceOIjo5m3bp1PPfcczzyyCPMnj3bcczKlSu59NJLufbaa9mwYQPnnXce5513HgkJCXX5JYiIiIhIPdEoprhbuHAhM2fOZN68eXTr1o0NGzbQq1cvAN544w3uv/9+0tPT8fLyAuCee+7h66+/JjExEYCpU6dSUFDAd99957jmoEGD6NWrF2+++Wa1atAUdyIiIiL1W03y2hnfE52RkcF1113Hxx9/jJ+f33H74+PjiYuLcwRogPHjx7Njxw6ys7Mdx4wdO7bSeePHjyc+Pv6k7VbcfXrsQ0RERETODGd0iLbb7UyfPp0bb7yRfv36nfCY9PR0IiMjK22reJ+enl7lMRX7T+Tpp58mODjY8fj7HIwiIiIi0nA1yBB9zz33YBhGlY/ExEReffVV8vPzuffee+u8xnvvvZfc3FzHY+/evXVeg4iIiIi4RoOc4u6OO+5g+vTpVR7Trl07fvnlF+Lj4/H29q60r1+/flx++eV8+OGHREVFkZGRUWl/xfuKScZPdszJJiGHv1blEREREZEzT4MM0REREURERJzyuFdeeYUnnnjC8f7AgQOMHz+ezz//nIEDBwIwePBg7r//fiwWC56engAsXryYTp06OSYRHzx4MEuWLOH22293XGvx4sUMHjy4Fr8qEREREWkoGmSIrq7WrVtXel8xyXf79u1p2bIlAJdddhmPPvoo1157LXfffTcJCQn897//5aWXXnKcd9tttzFixAheeOEFzj77bD777DPWrl1baRo8EREREWk8GuSY6NoUHBzMTz/9xO7du+nbty933HEHDz30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Qw89RLt27QB45JFHuPDCC/n+++9Zv3498+bNY/To0Xz00UcADB48mOuvv/64azzyyCOO2Ttuv/12rrzyShYtWsT69ev54osvGD58OAsWLHAsrw0nv5Hx3HPPBcpDdH5+/nH7b7vtNvLy8ggPD+eFF1446ddVMS46Ly+PtLS0kx63YsUKLBYLAOeff/5JjxMRORmFaBGRRigwMJAlS5Y4bmqcN28e55xzjmPZ72XLlgEwdOhQvvvuuxMuyBIWFsaPP/7ouDHw448/rrTs98qVK5k+fbpjCjrgpKsXXnnllXh7e1NcXMxXX31Vad8PP/zAl19+CcCLL77oWEXxRKo7LnrOnDlA+djuXr16nfQ4EZGTUYgWEWmk2rRpw6ZNm3jttdcYMWIETZo0wdPTk8jISCZMmMDHH3/MihUrKs3K8Xc9e/Zk27Zt3HHHHcTExODt7U14eDijRo1izpw5vP/+++Tl5TmOrxhH/XdNmjRhypQpwF8BF8rncq4YSjJmzBimTZtW5ddUnRBdXFzM/PnzAbj55purvJ6IyMkYdrvd7u4iRETkzPXPf/6Td999l5YtW7J3796THrdq1SoGDRqE2WwmOTm5yqnunPHJJ58wbdo0mjRpQmpqKgEBAS5pR0TObOqJFhERlykqKmLBggUADBo0qMpjBw4cyJQpU7BarTz99NMuqcdms/HUU08BcNdddylAi8hpU4gWEZHTlpyczMk+0LRardx0002OGT6uuuqqU17vqaeewsPDg/fff599+/bVaq0Ac+fOZfv27bRu3dqxdLiIyOnQioUiInLaHn/8cVavXs0ll1zCwIEDadq0KUVFRWzevJm3336b9evXAzB27FjOPvvsU16vU6dOvPfeeyQnJ5OWlkbLli1rtV6r1crDDz/M6NGj8fX1rdVri0jjojHRIiJy2qZPn86HH35Y5TFDhw5lwYIFVc6qISLS0ChEi4jIaduxYwfz5s3j559/JjU1lczMTCwWC02aNKFfv35MnTqVSy65BJNJowdF5MyiEC0iIiIiUkPqGhARERERqSGFaBERERGRGlKIFhERERGpIYVoEREREZEaUogWEREREakhhWgRERERkRpSiBYRERERqSGFaBERERGRGlKIFhERERGpIYVoEREREZEaUogWEREREamh/we2AAgYTtiuwgAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "path_fig, ax = subplots(figsize=(8,8))\n", "soln_path.plot(ax=ax, legend=False)\n", "ax.set_xlabel('$-\\log(\\lambda)$', fontsize=20)\n", "ax.set_ylabel('Standardized coefficients', fontsize=20)\n", - "ax.legend(loc='upper left');\n" + "ax.legend(loc='upper left');" ] }, { @@ -1904,51 +733,13 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "d14bd86c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:35.667558Z", - "iopub.status.busy": "2023-07-25T23:59:35.667420Z", - "iopub.status.idle": "2023-07-25T23:59:35.670927Z", - "shell.execute_reply": "2023-07-25T23:59:35.670588Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(25.53538897200662,\n", - " AtBat 5.433750\n", - " Hits 6.223582\n", - " HmRun 4.585498\n", - " Runs 5.880855\n", - " RBI 6.195921\n", - " Walks 6.277975\n", - " Years 5.299767\n", - " CAtBat 7.147501\n", - " CHits 7.539495\n", - " CHmRun 7.182344\n", - " CRuns 7.728649\n", - " CRBI 7.790702\n", - " CWalks 6.592901\n", - " League[N] 0.042445\n", - " Division[W] -3.107159\n", - " PutOuts 4.605263\n", - " Assists 0.378371\n", - " Errors -0.135196\n", - " NewLeague[N] 0.150323\n", - " Name: -3.240065292879872, dtype: float64)" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "beta_hat = soln_path.loc[soln_path.index[39]]\n", - "lambdas[39], beta_hat\n" + "lambdas[39], beta_hat" ] }, { @@ -1961,30 +752,12 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "759e215a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:35.672724Z", - "iopub.status.busy": "2023-07-25T23:59:35.672614Z", - "iopub.status.idle": "2023-07-25T23:59:35.675278Z", - "shell.execute_reply": "2023-07-25T23:59:35.674955Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "24.17061720144378" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ - "np.linalg.norm(beta_hat)\n" + "np.linalg.norm(beta_hat)" ] }, { @@ -1999,32 +772,13 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "id": "b58d5ccb", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:35.677227Z", - "iopub.status.busy": "2023-07-25T23:59:35.677101Z", - "iopub.status.idle": "2023-07-25T23:59:35.679897Z", - "shell.execute_reply": "2023-07-25T23:59:35.679563Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(0.24374766133488554, 160.42371017725839)" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "beta_hat = soln_path.loc[soln_path.index[59]]\n", - "lambdas[59], np.linalg.norm(beta_hat)\n" + "lambdas[59], np.linalg.norm(beta_hat)" ] }, { @@ -2040,47 +794,15 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "id": "74b5cae2", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:35.681563Z", - "iopub.status.busy": "2023-07-25T23:59:35.681439Z", - "iopub.status.idle": "2023-07-25T23:59:35.694058Z", - "shell.execute_reply": "2023-07-25T23:59:35.693754Z" - } - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.446e+07, tolerance: 5.332e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n" - ] - }, - { - "data": { - "text/html": [ - "
Pipeline(steps=[('scaler', StandardScaler()),\n",
-       "                ('ridge', ElasticNet(alpha=0.24374766133488554, l1_ratio=0))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "Pipeline(steps=[('scaler', StandardScaler()),\n", - " ('ridge', ElasticNet(alpha=0.24374766133488554, l1_ratio=0))])" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "ridge = skl.ElasticNet(alpha=lambdas[59], l1_ratio=0)\n", "scaler = StandardScaler(with_mean=True, with_std=True)\n", "pipe = Pipeline(steps=[('scaler', scaler), ('ridge', ridge)])\n", - "pipe.fit(X, Y)\n" + "pipe.fit(X, Y)" ] }, { @@ -2093,31 +815,12 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "a89989c3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:35.695813Z", - "iopub.status.busy": "2023-07-25T23:59:35.695707Z", - "iopub.status.idle": "2023-07-25T23:59:35.698261Z", - "shell.execute_reply": "2023-07-25T23:59:35.698013Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "160.4237101772591" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ - "np.linalg.norm(ridge.coef_)\n" + "np.linalg.norm(ridge.coef_)" ] }, { @@ -2140,36 +843,10 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "3eb41945", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:35.699892Z", - "iopub.status.busy": "2023-07-25T23:59:35.699805Z", - "iopub.status.idle": "2023-07-25T23:59:35.707120Z", - "shell.execute_reply": "2023-07-25T23:59:35.706784Z" - } - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.486e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n" - ] - }, - { - "data": { - "text/plain": [ - "array([134214.00419204])" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "validation = skm.ShuffleSplit(n_splits=1,\n", " test_size=0.5,\n", @@ -2180,7 +857,7 @@ " Y,\n", " scoring='neg_mean_squared_error',\n", " cv=validation)\n", - "-results['test_score']\n" + "-results['test_score']" ] }, { @@ -2198,37 +875,10 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "635bc363", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:35.708905Z", - "iopub.status.busy": "2023-07-25T23:59:35.708772Z", - "iopub.status.idle": "2023-07-25T23:59:35.716331Z", - "shell.execute_reply": "2023-07-25T23:59:35.716004Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n" - ] - }, - { - "data": { - "text/plain": [ - "array([231788.32155285])" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "ridge.alpha = 1e10\n", "results = skm.cross_validate(ridge,\n", @@ -2236,7 +886,7 @@ " Y,\n", " scoring='neg_mean_squared_error',\n", " cv=validation)\n", - "-results['test_score']\n" + "-results['test_score']" ] }, { @@ -2255,242 +905,10 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "e117267f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:35.718146Z", - "iopub.status.busy": "2023-07-25T23:59:35.718021Z", - "iopub.status.idle": "2023-07-25T23:59:36.172012Z", - "shell.execute_reply": "2023-07-25T23:59:36.171718Z" - } - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.136e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.135e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.135e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.135e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.135e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.135e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.134e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.134e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.133e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.132e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.131e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.130e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.128e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.127e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.124e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.121e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.117e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.113e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.107e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.100e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.091e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.081e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.069e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.055e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.038e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.019e+07, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.977e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.744e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.494e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.234e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.968e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.704e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.448e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.204e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.977e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.769e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.581e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.412e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.261e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.127e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.008e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.900e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.803e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.714e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.632e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.554e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.480e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.409e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.342e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.276e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.214e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.154e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.097e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.043e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.991e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.943e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.898e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.856e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.817e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.780e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.746e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.715e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.687e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.661e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.637e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.616e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.596e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.579e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.563e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.550e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.538e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.528e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.519e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.512e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.506e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.500e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.496e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.493e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.490e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.488e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.486e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.485e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.483e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.483e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.482e+06, tolerance: 2.272e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.248e+07, tolerance: 5.332e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n" - ] - }, - { - "data": { - "text/html": [ - "
Pipeline(steps=[('scaler', StandardScaler()),\n",
-       "                ('ridge', ElasticNet(alpha=0.005899006046740856, l1_ratio=0))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "Pipeline(steps=[('scaler', StandardScaler()),\n", - " ('ridge', ElasticNet(alpha=0.005899006046740856, l1_ratio=0))])" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "param_grid = {'ridge__alpha': lambdas}\n", "grid = skm.GridSearchCV(pipe,\n", @@ -2499,7 +917,7 @@ " scoring='neg_mean_squared_error')\n", "grid.fit(X, Y)\n", "grid.best_params_['ridge__alpha']\n", - "grid.best_estimator_\n" + "grid.best_estimator_" ] }, { @@ -2512,1043 +930,10 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "0037e9e4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:36.173832Z", - "iopub.status.busy": "2023-07-25T23:59:36.173705Z", - "iopub.status.idle": "2023-07-25T23:59:39.246833Z", - "shell.execute_reply": "2023-07-25T23:59:39.246526Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.223e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.223e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.223e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.232e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.217e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.232e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.217e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.099e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.232e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.221e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.217e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.878e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.099e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.232e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.221e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.216e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.878e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.099e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.231e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.221e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.216e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.878e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.098e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.231e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.220e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.215e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.877e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.098e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.230e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.219e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.215e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.876e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.097e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.229e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.219e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.214e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.876e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.096e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.228e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.213e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.875e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.095e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.227e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.216e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.211e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.873e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.093e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.225e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.215e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.209e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.872e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.091e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.223e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.212e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.207e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.870e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.089e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.220e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.210e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.204e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.867e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.086e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.217e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.207e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.200e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.864e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.082e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.213e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.203e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.196e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.860e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.077e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.208e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.197e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.190e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.855e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.071e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.201e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.191e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.183e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.849e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.063e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.194e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.183e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.174e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.841e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.054e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.184e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.173e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.163e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.832e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.043e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.172e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.161e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.149e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.820e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.029e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.157e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.146e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.132e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.806e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.012e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.139e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.129e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.112e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.789e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.992e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.117e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.107e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.087e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.769e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.968e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.091e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.081e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.058e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.745e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.939e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.060e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.051e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.024e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.718e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.907e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.024e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.015e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.984e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.686e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.869e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.984e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.975e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.939e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.650e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.828e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.938e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.929e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.888e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.611e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.783e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.888e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.832e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.568e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.734e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.834e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.826e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.772e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.524e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.684e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.778e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.770e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.710e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.478e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.633e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.721e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.713e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.646e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.432e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.582e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.663e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.655e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.582e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.388e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.533e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.607e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.599e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.520e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.345e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.486e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.554e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.545e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.460e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.305e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.443e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.504e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.494e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.404e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.268e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.403e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.457e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.447e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.352e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.234e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.366e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.415e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.405e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.305e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.204e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.333e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.377e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.366e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.262e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.177e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.304e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.343e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.331e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.224e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.154e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.278e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.312e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.300e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.190e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.133e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.255e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.284e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.272e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.159e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.114e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.234e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.260e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.247e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.132e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.098e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.215e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.237e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.225e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.109e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.083e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.198e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.217e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.204e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.088e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.070e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.182e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.198e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.186e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.069e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.058e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.167e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.181e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.169e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.053e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.047e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.153e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.165e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.153e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.038e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.037e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.139e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.149e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.138e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.024e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.027e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.126e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.135e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.124e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.012e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.017e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.114e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.121e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.110e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.001e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.007e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.102e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.108e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.097e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.902e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.982e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.090e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.095e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.084e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.804e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.894e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.078e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.084e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.071e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.713e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.808e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.067e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.073e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.060e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.627e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.727e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.057e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.062e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.048e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.548e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.650e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.047e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.053e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.038e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.474e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.579e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.037e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.045e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.028e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.406e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.514e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.028e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.037e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.019e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.343e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.454e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.019e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.030e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.011e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.286e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.402e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.011e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.024e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.003e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.234e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.355e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.004e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.019e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.969e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.187e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.314e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.966e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.014e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.914e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.145e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.279e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.902e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.010e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.865e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.108e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.249e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.843e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.007e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.824e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.075e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.223e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.790e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.004e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.790e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.047e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.202e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.743e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.001e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.761e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.022e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.184e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.700e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.990e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.737e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.000e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.169e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.663e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.971e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.717e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.982e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.156e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.630e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.956e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.701e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.966e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.146e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.601e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.943e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.688e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.953e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.138e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.575e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.933e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.677e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.942e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.132e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.554e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.924e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.668e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.933e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.126e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.535e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.917e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.661e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.926e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.122e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.520e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.911e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.655e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.920e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.119e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.507e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.906e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.651e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.915e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.116e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.496e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.902e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.647e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.911e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.114e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.487e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.899e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.644e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.907e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.112e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.480e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.897e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.642e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.905e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.111e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.474e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.895e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.640e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.903e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.110e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.469e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.893e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.639e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.901e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.109e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.465e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.892e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.638e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.900e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.108e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.462e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.891e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.637e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.899e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.108e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.460e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.890e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.636e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.898e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.107e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.458e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.890e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.636e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.897e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.107e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.456e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.889e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.635e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.897e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.271e+07, tolerance: 5.332e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n" - ] - }, - { - "data": { - "text/html": [ - "
Pipeline(steps=[('scaler', StandardScaler()),\n",
-       "                ('ridge', ElasticNet(alpha=0.01185247763144249, l1_ratio=0))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "Pipeline(steps=[('scaler', StandardScaler()),\n", - " ('ridge', ElasticNet(alpha=0.01185247763144249, l1_ratio=0))])" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "grid = skm.GridSearchCV(pipe, \n", " param_grid,\n", @@ -3556,7 +941,7 @@ " scoring='neg_mean_squared_error')\n", "grid.fit(X, Y)\n", "grid.best_params_['ridge__alpha']\n", - "grid.best_estimator_\n" + "grid.best_estimator_" ] }, { @@ -3570,28 +955,10 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "id": "71f0f5c5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:39.248632Z", - "iopub.status.busy": "2023-07-25T23:59:39.248534Z", - "iopub.status.idle": "2023-07-25T23:59:39.354727Z", - "shell.execute_reply": "2023-07-25T23:59:39.354370Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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vy8ZaI8HAMD+Cm64s2J3opMrAQD8XbHC9+HDhy/72L59uzp06CBJatGihaZMmaJ169Zp79692rt3r9atW6d///vfatmypSSpQ4cO2r59uw4dOnTdRa9fv169evVSSEiILBaLlixZYrW94Ez9pY877rjDqs+ZM2c0YMAA+fn5qUqVKho6dKjOnz9v1eeXX35Rp06d5OXlpdq1a2vy5MmFalm8eLGaNGkiLy8vtWzZUt99953VdsMwNG7cOAUHB8vb21uRkZE6cODAdb93ALia25vVlCSt2pOknNw8J1cDALhUscJ33bp1i3wEBwfrscce09atWzVx4kTt2LFDzz//vDp16qQbb7xRN954ozp16qRRo0YpPj5er732mn766Sc9/vjjCg4Ovu6i09LS1Lp1a82YMeOyfe644w4dP37cfHz++edW2wcMGKDdu3crNjZW3377rdavX68nnnjC3J6amqoePXqobt262rZtm6ZMmaIJEyboww8/NPts3LhR/fv319ChQ/Xzzz+rd+/e6t27t3bt2mX2mTx5st59913NnDlTmzdvVqVKlRQVFWV1R1AAsKd2daqoqo+7zqZna9vvZ6++w1/Ss3IUOmaZQscsU3pWTglWCAAVl02rnbz33nvavn27+vbtq7Fjx15xXrjFYtH/+3//Tw888IC2b9+uadOmXfe4PXv21Ouvv6577733sn08PT0VFBRkPqpWrWpu27Nnj5YvX66PPvpI4eHhuvXWW/Xee+9pwYIFOnbsmCRp3rx5ysrK0qxZs9S8eXP169dPzz77rN5++23zONOmTdMdd9yhF154QU2bNtVrr72mdu3aafr06ZLyz3pPnTpVY8eO1T333KNWrVrpk08+0bFjxwqdrQcAe3FzdVFk04Kz3yecXA0A4FI2he/58+fLYrHokUceKfY+Q4YMkWEYWrBggS1DX9XatWsVGBioxo0b6+mnn9bp06fNbXFxcapSpYrat29vtkVGRsrFxUWbN282+3Tu3FkeHh5mn6ioKO3bt09nz541+0RGRlqNGxUVpbi4OEn503USExOt+vj7+ys8PNzsU5TMzEylpqZaPQDgWtzRIkiStJrwDQClik3h++DBg5KkmjVrFnufwMBAq31Lwh133KFPPvlEq1ev1r/+9S+tW7dOPXv2VG5u/rJbiYmJZh0F3NzcFBAQoMTERLPP399X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x2vEiBF67LHHtGLFCrPPwoULNWrUKI0fP17bt29X69atFRUVpRMnTjjgowAAAIDSxGIYhuHsIhxhxIgR+vbbb3XgwAFZLBZ16dJFbdq00dSpU4vs//333+uuu+7SsWPHVLNmTUnSzJkzNXr0aJ08eVIeHh4aPXq0li1bpl27dpn79evXT8nJyVq+fLkkKTw8XB06dND06dMlSXl5eapdu7aGDx+uMWPGFKv21NRU+fv7KyUlRX5+fjZ8FAAAAFASipvXyu2Z70tlZWXps88+06OPPiqLxWK2z5s3T9WrV1eLFi300ksvKT093dwWFxenli1bmsFbkqKiopSamqrdu3ebfSIjI63GioqKUlxcnDnutm3brPq4uLgoMjLS7FOUzMxMpaamWj0AAABQ9rk5uwBHWLJkiZKTk/XII4+YbQ899JDq1q2rkJAQ/fLLLxo9erT27dunL7/8UpKUmJhoFbwlma8TExOv2Cc1NVUXLlzQ2bNnlZubW2SfvXv3XrbeSZMm6dVXX73u9wsAAIDSqUKE748//lg9e/ZUSEiI2fbEE0+Yz1u2bKng4GB1795dBw8eVIMGDZxRpumll17SqFGjzNepqamqXbu2EysCAACAPZT78P37779r1apV5hntywkPD5ck/fbbb2rQoIGCgoIKrUqSlJQkSQoKCjL/LWi7tI+fn5+8vb3l6uoqV1fXIvsUHKMonp6e8vT0LN4bBAAAQJlR7ud8z549W4GBgYqOjr5iv/j4eElScHCwJCkiIkI7d+60WpUkNjZWfn5+atasmdln9erVVseJjY1VRESEJMnDw0NhYWFWffLy8rR69WqzDwAAACqOch2+8/LyNHv2bA0ePFhubhdP8h88eFCvvfaatm3bpoSEBH3zzTcaNGiQOnfurFatWkmSevTooWbNmmngwIHasWOHVqxYobFjxyomJsY8K/3UU0/p0KFDevHFF7V37169//77WrRokUaOHGmONWrUKP3nP//R3LlztWfPHj399NNKS0vTkCFDHPvBAAAAgNOV62knq1at0pEjR/Too49atXt4eGjVqlWaOnWq0tLSVLt2bfXp00djx441+7i6uurbb7/V008/rYiICFWqVEmDBw/WxIkTzT716tXTsmXLNHLkSE2bNk21atXSRx99pKioKLPPgw8+qJMnT2rcuHFKTExUmzZttHz58kIX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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "ridge_fig, ax = subplots(figsize=(8,8))\n", "ax.errorbar(-np.log(lambdas),\n", @@ -3599,7 +966,7 @@ " yerr=grid.cv_results_['std_test_score'] / np.sqrt(K))\n", "ax.set_ylim([50000,250000])\n", "ax.set_xlabel('$-\\log(\\lambda)$', fontsize=20)\n", - "ax.set_ylabel('Cross-validated MSE', fontsize=20);\n" + "ax.set_ylabel('Cross-validated MSE', fontsize=20);" ] }, { @@ -3614,1084 +981,15 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": null, "id": "fb265379", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:39.356640Z", - "iopub.status.busy": "2023-07-25T23:59:39.356501Z", - "iopub.status.idle": "2023-07-25T23:59:42.482886Z", - "shell.execute_reply": "2023-07-25T23:59:42.482602Z" - } - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.223e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.223e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.223e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.101e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.233e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.232e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.217e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.100e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.232e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.222e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.217e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.879e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.099e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.232e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.221e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.217e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.878e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.099e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.232e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.221e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.216e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.878e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.099e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.231e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.221e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.216e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.878e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.098e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.231e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.220e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.215e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.877e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.098e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.230e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.219e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.215e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.876e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.097e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.229e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.219e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.214e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.876e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.096e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.228e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.218e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.213e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.875e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.095e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.227e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.216e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.211e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.873e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.093e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.225e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.215e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.209e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.872e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.091e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.223e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.212e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.207e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.870e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.089e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.220e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.210e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.204e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.867e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.086e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.217e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.207e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.200e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.864e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.082e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.213e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.203e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.196e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.860e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.077e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.208e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.197e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.190e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.855e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.071e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.201e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.191e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.183e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.849e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.063e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.194e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.183e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.174e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.841e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.054e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.184e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.173e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.163e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.832e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.043e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.172e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.161e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.149e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.820e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.029e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.157e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.146e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.132e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.806e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.012e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.139e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.129e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.112e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.789e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.992e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.117e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.107e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.087e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.769e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.968e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.091e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.081e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.058e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.745e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.939e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.060e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.051e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.024e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.718e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.907e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.024e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.015e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.984e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.686e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.869e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.984e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.975e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.939e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.650e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.828e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.938e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.929e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.888e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.611e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.783e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.888e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.880e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.832e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.568e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.734e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.834e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.826e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.772e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.524e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.684e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.778e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.770e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.710e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.478e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.633e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.721e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.713e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.646e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.432e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.582e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.663e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.655e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.582e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.388e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.533e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.607e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.599e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.520e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.345e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.486e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.554e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.545e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.460e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.305e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.443e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.504e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.494e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.404e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.268e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.403e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.457e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.447e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.352e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.234e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.366e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.415e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.405e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.305e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.204e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.333e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.377e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.366e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.262e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.177e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.304e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.343e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.331e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.224e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.154e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.278e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.312e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.300e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.190e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.133e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.255e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.284e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.272e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.159e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.114e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.234e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.260e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.247e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.132e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.098e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.215e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.237e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.225e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.109e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.083e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.198e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.217e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.204e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.088e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.070e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.182e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.198e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.186e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.069e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.058e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.167e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.181e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.169e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.053e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.047e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.153e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.165e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.153e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.038e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.037e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.139e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.149e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.138e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.024e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.027e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.126e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.135e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.124e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.012e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.017e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.114e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.121e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.110e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.001e+07, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.007e+07, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.102e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.108e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.097e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.902e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.982e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.090e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.095e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.084e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.804e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.894e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.078e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.084e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.071e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.713e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.808e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.067e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.073e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.060e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.627e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.727e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.057e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.062e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.048e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.548e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.650e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.047e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.053e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.038e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.474e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.579e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.037e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.045e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.028e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.406e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.514e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.028e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.037e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.019e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.343e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.454e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.019e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.030e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.011e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.286e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.402e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.011e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.024e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.003e+07, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.234e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.355e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.004e+07, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.019e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.969e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.187e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.314e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.966e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.014e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.914e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.145e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.279e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.902e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.010e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.865e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.108e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.249e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.843e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.007e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.824e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.075e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.223e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.790e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.004e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.790e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.047e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.202e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.743e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.001e+07, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.761e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.022e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.184e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.700e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.990e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.737e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.000e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.169e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.663e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.971e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.717e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.982e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.156e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.630e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.956e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.701e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.966e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.146e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.601e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.943e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.688e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.953e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.138e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.575e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.933e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.677e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.942e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.132e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.554e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.924e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.668e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.933e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.126e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.535e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.917e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.661e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.926e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.122e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.520e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.911e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.655e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.920e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.119e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.507e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.906e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.651e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.915e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.116e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.496e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.902e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.647e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.911e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.114e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.487e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.899e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.644e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.907e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.112e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.480e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.897e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.642e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.905e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.111e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.474e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.895e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.640e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.903e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.110e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.469e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.893e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.639e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.901e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.109e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.465e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.892e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.638e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.900e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.108e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.462e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.891e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.637e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.899e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.108e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.460e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.890e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.636e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.898e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.107e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.458e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.890e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.636e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.897e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.107e+06, tolerance: 3.759e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.456e+06, tolerance: 4.201e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.889e+06, tolerance: 4.466e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.635e+06, tolerance: 4.445e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.897e+06, tolerance: 4.437e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.271e+07, tolerance: 5.332e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n" - ] - }, - { - "data": { - "text/html": [ - "
GridSearchCV(cv=KFold(n_splits=5, random_state=0, shuffle=True),\n",
-       "             estimator=Pipeline(steps=[('scaler', StandardScaler()),\n",
-       "                                       ('ridge',\n",
-       "                                        ElasticNet(alpha=10000000000.0,\n",
-       "                                                   l1_ratio=0))]),\n",
-       "             param_grid={'ridge__alpha': array([2.22093791e+05, 1.76005531e+05, 1.39481373e+05, 1.10536603e+05,\n",
-       "       8.75983676e+04, 6.94202082e+04, 5.50143278e+04, 4.35979140e+04,\n",
-       "       3.45506012e+04, 2.73807606...\n",
-       "       4.67486141e-03, 3.70474772e-03, 2.93594921e-03, 2.32668954e-03,\n",
-       "       1.84386167e-03, 1.46122884e-03, 1.15799887e-03, 9.17694298e-04,\n",
-       "       7.27257037e-04, 5.76338765e-04, 4.56738615e-04, 3.61957541e-04,\n",
-       "       2.86845161e-04, 2.27319885e-04, 1.80147121e-04, 1.42763513e-04,\n",
-       "       1.13137642e-04, 8.96596467e-05, 7.10537367e-05, 5.63088712e-05,\n",
-       "       4.46238174e-05, 3.53636122e-05, 2.80250579e-05, 2.22093791e-05])})
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "GridSearchCV(cv=KFold(n_splits=5, random_state=0, shuffle=True),\n", - " estimator=Pipeline(steps=[('scaler', StandardScaler()),\n", - " ('ridge',\n", - " ElasticNet(alpha=10000000000.0,\n", - " l1_ratio=0))]),\n", - " param_grid={'ridge__alpha': array([2.22093791e+05, 1.76005531e+05, 1.39481373e+05, 1.10536603e+05,\n", - " 8.75983676e+04, 6.94202082e+04, 5.50143278e+04, 4.35979140e+04,\n", - " 3.45506012e+04, 2.73807606...\n", - " 4.67486141e-03, 3.70474772e-03, 2.93594921e-03, 2.32668954e-03,\n", - " 1.84386167e-03, 1.46122884e-03, 1.15799887e-03, 9.17694298e-04,\n", - " 7.27257037e-04, 5.76338765e-04, 4.56738615e-04, 3.61957541e-04,\n", - " 2.86845161e-04, 2.27319885e-04, 1.80147121e-04, 1.42763513e-04,\n", - " 1.13137642e-04, 8.96596467e-05, 7.10537367e-05, 5.63088712e-05,\n", - " 4.46238174e-05, 3.53636122e-05, 2.80250579e-05, 2.22093791e-05])})" - ] - }, - "execution_count": 35, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "grid_r2 = skm.GridSearchCV(pipe, \n", " param_grid,\n", " cv=kfold)\n", - "grid_r2.fit(X, Y)\n" + "grid_r2.fit(X, Y)" ] }, { @@ -4704,36 +1002,17 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": null, "id": "79616f48", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:42.484749Z", - "iopub.status.busy": "2023-07-25T23:59:42.484621Z", - "iopub.status.idle": "2023-07-25T23:59:42.586564Z", - "shell.execute_reply": "2023-07-25T23:59:42.586230Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "image/png": "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Pn00ffr0al9/6aWX9K9//UtvvfWW1q1bp0aNGikhIUEFBQUNXGk9MAE3MGPGDDMiIqLK+cWLF5s2m81MSUlxnHvzzTfN8PBws7CwsAErhKu1b9/e/Mc//mF1GXChQYMGmQ8//LDj89LSUrNVq1bmlClTLKwKrjZ58mSzT58+VpeBeiTJXLhwoeNzu91uxsTEmC+//LLj3OnTp82goCDz448/tqBC12JkGG5t7dq16tWrl6Kjox3nEhISlJWVpR07dlhYGVxh6tSpatasmfr166eXX36Z6S8erKioSBs3btSwYcMc52w2m4YNG6a1a9daWBnqw759+9SqVSt16tRJd999t5KSkqwuCfXo0KFDSklJqfTvOyIiQvHx8V7x79vf6gKAc0lJSakUhCU5Pk9JSbGiJLjIo48+qv79+6tp06Zas2aNnnrqKSUnJ+vVV1+1ujRcgIyMDJWWllb773X37t0WVYX6EB8frw8++ECxsbFKTk7Wc889p6FDh2r79u0KCwuzujzUg/Lft9X9+/aG38WMDMPlnnzyySoPV/zyg1+O3qku3/sJEyboyiuvVO/evfXAAw/o73//u1577TUVFhZa/FUAOJfrr79et912m3r37q2EhAQtXrxYp0+f1rx586wuDbggjAzD5SZOnKh77rnnnG06depUq3vFxMRUeRo9NTXV8RrcizPf+/j4eJWUlCgxMVGxsbH1UB3qU/PmzeXn5+f491kuNTWVf6teLjIyUl27dtX+/futLgX1pPzfcGpqqlq2bOk4n5qaqr59+1pUlesQhuFyLVq0UIsWLVxyryFDhuivf/2r0tLSFBUVJUn6+uuvFR4erri4OJf0Addx5nu/efNm2Ww2x/cZniUwMFADBgzQ8uXLddNNN0mS7Ha7li9frvHjx1tbHOpVTk6ODhw4oNGjR1tdCupJx44dFRMTo+XLlzvCb1ZWltatW1fjalCehDAMSyUlJenkyZNKSkpSaWmpNm/eLEnq3LmzGjdurOHDhysuLk6jR4/WSy+9pJSUFD399NN6+OGHFRQUZG3xuGBr167VunXrdNVVVyksLExr167VE088od/+9rdq0qSJ1eXhAk2YMEFjx47VwIEDNWjQIE2bNk25ubkaN26c1aXBhf7whz9o5MiRat++vY4fP67JkyfLz89Pd955p9WlwQk5OTmVRvcPHTqkzZs3q2nTpmrXrp0ef/xx/eUvf1GXLl3UsWNHPfPMM2rVqpXjj1+PZvVyFvBtY8eONSVV+VixYoWjTWJionn99debISEhZvPmzc2JEyeaxcXF1hUNp23cuNGMj483IyIizODgYLN79+7miy++aBYUFFhdGpz02muvme3atTMDAwPNQYMGmT/++KPVJcHFRo0aZbZs2dIMDAw0W7dubY4aNcrcv3+/1WXBSStWrKj29/HYsWNN0yxbXu2ZZ54xo6OjzaCgIPOaa64x9+zZY23RLmKYpmlaFcQBAAAAK7GaBAAAAHwWYRgAAAA+izAMAAAAn0UYBgAAgM8iDAMAAMBnEYYBAADgswjDAAAA8FmEYQAAAPgswjAAAAB8FmEYANzcBx98IMMwZBiGEhMTrS6nVoqKitSlSxcZhqH58+fX2M40TYWHh8tmsyk6OlqjRo1SUlLSee//8MMPyzAMjR071pVlA/BBhGEAgMv985//1P79+9WzZ0/dcsstNbY7cOCAsrOzZZqm0tLSNG/ePI0cOfK89//Tn/6kwMBAzZ49Wxs3bnRl6QB8DGEYAOBS2dnZ+tvf/iZJevrpp2UYRo1tW7ZsqW3btmnp0qXq1KmTJGnr1q3asmXLOfto166dxo4dK9M09cwzz7iueAA+hzAMAHCpN998UydOnFC7du102223nbNto0aN1LNnTyUkJOiFF15wnN+8efN5+5k4caIkacmSJYwOA7hghGEAgMuUlpbq9ddflyTdeeedstlq/2tmyJAhjuPt27eft31sbKz69+8vSXrttdfqWCkAlCEMAwBc5uuvv9aRI0ckSXfffXedru3QoYMaNWokqXZhuGIfn376qbKzs+vUHwBIhGEA8ApFRUV64403dNVVV6lFixYKDAxUTEyMfvWrX+nDDz+U3W4/7z1OnDih//3f/1VsbKxCQkIUHR2ta6+9VgsXLpRUu1Ut5s2bJ0nq0qWLevXqVaevwTAMXXTRRZJqH4bLH87Ly8vT559/Xqf+AEAiDAOAx0tMTFSfPn308MMPa+XKlcrIyFBxcbFSU1O1ZMkSjR49WldccYVOnjxZ4z22bdumHj166OWXX9bevXtVUFCgtLQ0ffPNN/rNb36j3//+97WqZcWKFZKkwYMH1/nrWLt2rbZt2yZJOnr0qDIzM897Tfv27RUTEyOpbO4wANQVYRgAPFhOTo6uueYa7d69W5J000036b///a9++uknffrpp7riiiskSatXr9bIkSNVWlpa5R6nT5/Wddddp9TUVEnS6NGjtWTJEv3000/65JNPNGTIEL3zzjt66623zlnL0aNHHSPGF198cZ2+jpKSEj3wwAMyTdNxbseOHbW6dtCgQZKk7777rk59AoBEGAYAj/bcc8/p4MGDksqWMVu4cKFGjhypAQMG6NZbb9WKFSsc82rXrFmjd955p9p7HD9+XJI0bdo0zZo1S9ddd50GDBigUaNGadWqVbrxxhu1bt26c9ayZs0ax3G/fv3q9HX84x//0NatWyudq+1UiQEDBkiSjh075gj0AFBbhGEA8FCFhYX697//LUnq0aOHnn322SptDMPQG2+8oWbNmkmSY6WHivf44IMPJJWN5j722GNV7uHn56e3335bwcHB56zn6NGjjuOoqKhafx2HDx921H7JJZc4ztc2DFfsq/wPAwCoLcIwAHiojRs36vTp05Kke+65R35+ftW2Cw8P1+233y5J2rlzp5KTkx2v/fTTT457/Pa3v62xr+joaCUkJJyznvT0dMdxkyZNavMlSJLGjx+vvLw8RURE6NNPP1VYWJik2ofhpk2bOo5TUlJq3S8ASIRhAHCZ8pUWnPkoH6WtjYphMT4+/pxtK75e8bqKx+XTDWoycODAc75e8QG92obh//znP/ryyy8lSVOnTlWrVq3Us2fPKrWdS8W+cnNza3UNAJQjDAOAh6oYPs83LaF8xYVfXnfq1CnHcYsWLc55j/O9XnEaRX5+/jnbSmXbNj/66KOSyqZHlK9YUb4kW3p6utLS0s57n4p9BQQEnLc9AFTkb3UBAOAtdu3a5fQ9WrZseUHXGYbhdN/OqhiWT5486ZjuUJNnnnlGx44dU0BAgN555x3H11BxfeLt27fr6quvPud9Kob7yMjIC6gcgC8jDAOAi3Tr1q1B+6s4VzY1NVVdu3atsW3FubQVr6s4xSA9Pf2c96g4J7g6FcPwqVOn1L59+xrbbtq0yfEw3//+7/+qR48ejtd69+7tOK5NGK44ut2uXbtztgWAX2KaBAB4qPK5tZLOu+zZ+vXrq72uYgjduHHjOe/x008/nfP1iiO6e/furbGd3W7X73//e5WWlqpLly56+umna7xPbeYNl/cVFBSkzp07n7c9AFREGAYADzVgwADHtICZM2fWuOVydna2Y5vkuLi4SlMxBg4cqIiICEnShx9+WGNfqampWrZs2TnrGThwoGPe8IYNG2psN336dEewfuutt6os2dakSRO1bt1aUu3CcHlf/fr1Y84wgDojDAOAhwoKCtJ9990nqSw0vvDCC1XamKap8ePHKyMjQ1LZMmYVBQcHa8yYMZLKQuU///nPKvcoH8ktKCg4Zz2BgYGOVSsqjkRXdPz4ccdI8NixY2ucAlE+Ony+XegKCwsdm3UMHz78nG0BoDqEYQDwYJMmTVKnTp0kSc8++6xuvfVWLVq0SJs2bdKCBQt09dVXa9asWZKkIUOG6He/+12Vezz77LOO1SYef/xxjRkzRsuWLdOmTZs0b948DR06VJ9//rlj22Op5gf2brzxRkllYTg7O7vK64899piysrLUvHlz/f3vf6/x6yqfN5yVlaWkpKQa233//fcqLi6WJN188801tgOAmhCGAcCDhYWFafny5Y6H9xYsWKAbbrjBsR3zypUrJUmXXnqpvvzyy2o35mjatKmWLl3qeABu9uzZlbZjXrNmje655x7H0meSatyNbsyYMQoKClJBQYEWLlxY6bXFixdr/vz5kqRXX33VsStedWo7b3jOnDmSyuY+9+3bt8Z2AFATwjAAeLgOHTpoy5Ytev3113XFFVeoWbNmCggIUHR0tK677jrNnj1b33//faVVJH6pT58+2rlzpyZOnKguXbooKChIzZs311VXXaU5c+ZoxowZysrKcrQvn2f8S82aNdNvfvMbSWeDqlS2FnD5FI1rrrlGo0ePPufXVJswXFBQoP/85z+SpIceeuic9wOAmhimaZpWFwEAcH/33Xef3nvvPbVp00ZHjhypsd26des0ePBg+fn56cCBA+dcYs0ZH374oUaPHq1mzZopMTFRjRs3rpd+AHg3RoYBAOeVn5+vzz//XJI0ePDgc7aNj4/Xb37zG5WWlmrKlCn1Uo/dbteLL74oSfrjH/9IEAZwwQjDAAAdOHBANb1RWFpaqgcffNCxIsXYsWPPe78XX3xR/v7+mjFjho4ePerSWiXp008/1a5du9SuXTvHls4AcCHYgQ4AoBdeeEHr16/XHXfcofj4eEVFRSk/P19bt27Vu+++q02bNkmShg0bphEjRpz3frGxsXr//fd14MABJSUlqU2bNi6tt7S0VJMnT9bVV1+tkJAQl94bgG9hzjAAQPfcc49mzpx5zjaXXnqpPv/883OuAgEAnoYwDADQnj17tGDBAn3zzTdKTExUenq6iouL1axZMw0cOFCjRo3SHXfcIZuN2XUAvAthGAAAAD6LP/EBAADgswjDAAAA8FmEYQAAAPgswjAAAAB8FmEYAAAAPoswDAAAAJ9FGAYAAIDPIgwDAADAZxGGAQAA4LMIwwAAAPBZhGEAAAD4rP8HwANUjfvRjD0AAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "r2_fig, ax = subplots(figsize=(8,8))\n", "ax.errorbar(-np.log(lambdas),\n", " grid_r2.cv_results_['mean_test_score'],\n", " yerr=grid_r2.cv_results_['std_test_score'] / np.sqrt(K))\n", "ax.set_xlabel('$-\\log(\\lambda)$', fontsize=20)\n", - "ax.set_ylabel('Cross-validated $R^2$', fontsize=20);\n" + "ax.set_ylabel('Cross-validated $R^2$', fontsize=20);" ] }, { @@ -4753,2096 +1032,17 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": null, "id": "11e55883", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:42.588593Z", - "iopub.status.busy": "2023-07-25T23:59:42.588455Z", - "iopub.status.idle": "2023-07-25T23:59:42.930873Z", - "shell.execute_reply": "2023-07-25T23:59:42.930547Z" - } - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18795326.355502333, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18795268.885511458, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18795196.367825005, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18795104.862821113, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18794989.399687696, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18794843.706650957, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18794659.87071198, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18794427.908521358, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18794135.22526347, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18793765.932449568, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18793299.98803079, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18792712.112872534, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18791970.425932087, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18791034.72591697, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18789854.32913581, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18788365.350956466, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18786487.290938053, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18784118.748442672, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18781132.05553399, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18777366.566605024, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18772620.289297033, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18766639.479676694, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18759105.758860495, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18749620.243803147, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18737684.132153213, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18722675.157982755, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18703819.37168406, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18680157.84067929, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18650508.189617783, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18613421.503628485, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18567136.14871325, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18509531.699850053, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18438088.608600505, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18349862.649110064, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18241487.557216965, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18109224.25083878, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17949079.523028806, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17757018.994714484, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17529294.98190815, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17262895.457700975, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16956091.882983487, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16609021.736273043, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16224194.650997939, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15806778.142363884, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15364525.127389485, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14907268.75187378, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14446023.624531085, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13991857.160644894, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13554773.727504015, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13142847.182203237, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12761747.456957739, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12414679.232309299, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12102642.724649917, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11824874.692517474, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11579334.50630629, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11363143.416383019, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11172936.696242273, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11005127.92643167, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10856105.032984463, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10722381.625233045, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10600721.735570516, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10488247.552619573, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10382531.68105097, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10281669.161078632, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10184320.545404715, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10089716.55059902, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9997617.850835908, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9908230.155360885, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9822083.085401118, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9739888.930170696, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9662401.666184625, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9590296.226307327, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9524082.854699288, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9464062.902306747, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9410323.196208755, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9362759.024991764, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9321112.753117379, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9285016.290065145, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9254029.627395952, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9227672.214767914, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9205447.27460862, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9186860.578098293, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9171435.130133288, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9158722.527650403, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9148311.191396464, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9139831.50202173, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9132958.012055235, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9127409.145408802, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9122944.972944392, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9119363.705526328, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9116497.490587894, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9114207.980834428, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9112382.008592516, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9110927.575648237, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9109770.269829819, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9108850.148759764, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9108119.08491204, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9107538.538969103, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9107077.714962065, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9106712.046135923, tolerance: 3759.109166869193\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21005651.632865302, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21005578.608102243, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21005486.463074774, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21005370.192059726, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21005223.47917251, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21005038.355660334, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21004804.76767336, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21004510.03120046, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21004138.144828446, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21003668.923421204, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21003076.906345215, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21002329.98203154, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21001387.655909717, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21000198.8704182, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20998699.26312138, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20996807.72107362, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20994422.05552329, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20991413.57989597, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20987620.324921425, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20982838.567338496, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20976812.283196613, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20969220.065253027, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20959658.970863715, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20947624.701018073, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20932487.468798272, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20913462.923603535, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20889577.599545892, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20859628.61984418, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20822137.913488373, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20775302.126054227, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20716940.917180095, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20644448.64953633, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20554757.795455974, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20444326.815649558, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20309170.5956441, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20144956.94257016, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19947196.308887925, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19711550.604615457, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19434276.168588594, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19112791.023677077, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18746315.49762964, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18336483.416578818, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17887774.82963546, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17407607.14883928, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16905965.499829993, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16394560.80209675, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15885645.94315279, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15390736.734407002, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14919517.25785277, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14479140.715843389, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14074002.01810337, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13705921.512677444, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13374594.126102015, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13078142.079861483, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12813645.639316088, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12577583.791150972, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12366168.387483226, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12175587.27845306, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12002182.958268248, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11842589.470659975, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11693840.031875866, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11553447.60800361, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11419454.0438313, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11290441.388440857, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11165501.742342338, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11044168.420816425, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10926319.289729377, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10812069.210340973, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10701669.403435929, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10595426.714498514, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10493648.013477515, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10396608.203056702, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10304536.713966034, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10217616.440012153, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10135989.092876721, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10059761.060749074, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9989004.697692012, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9923752.620593688, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9863986.795334544, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9809627.884194935, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9760531.052715844, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9716491.487344079, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9677258.06531545, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9642549.951165989, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9612070.387835175, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9585514.488134583, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9562571.500908714, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9542924.549681038, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9526251.156759001, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9512226.472533092, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9500529.267319627, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9490849.431706948, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9482895.334901826, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9476399.71781569, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9471123.439398324, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9466857.004635958, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9463420.20844639, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9460660.409301298, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9458449.957484353, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9456683.22035802, tolerance: 4201.186103419478\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22331946.25629055, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22331864.018678214, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22331760.248581372, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22331629.308755428, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22331464.086506005, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22331255.607747704, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22330992.550247405, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22330660.62979839, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22330241.82628314, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22329713.40806704, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22329046.702501133, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22328205.546983715, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22327144.338416774, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22325805.578253012, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22324116.784799173, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22321986.613041975, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22319299.9839329, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22315911.97874348, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22311640.198869713, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22306255.226839963, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22299468.750693016, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22290918.833475478, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22280151.72747749, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22266599.559077755, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22249553.162800502, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22228129.35292585, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22201232.036903117, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22167506.872833706, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22125289.76574775, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22072550.542125095, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22006834.845984127, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21925209.906269174, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21824223.56629905, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21699890.94922881, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21547729.124614064, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21362866.213577304, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21140255.446179498, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20875023.13975618, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20562967.32341789, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20201195.56502676, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19788844.32939185, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19327763.89751004, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18823001.04313301, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18282896.08461045, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17718660.4886989, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17143422.40324079, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16570887.230051238, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16013892.090309372, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15483171.861886727, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14986579.129588084, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14528848.289413737, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14111836.239774454, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13735069.935277399, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13396407.639332836, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13092660.916831579, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12820093.900344713, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12574781.90922219, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12352853.175078167, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12150651.369793259, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11964850.854771722, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11792543.263225015, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11631302.416094316, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11479227.7561279, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11334963.041737791, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11197685.003164051, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11067056.224580359, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10943139.511030385, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10826278.220752902, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10716956.341549171, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10615659.18706467, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10522756.819315987, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10438426.844454892, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10362623.27115231, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10295087.38179537, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10235388.466414705, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10182978.74114095, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10137247.95260475, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10097567.748922419, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10063321.789749103, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10033922.656392608, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10008819.486834103, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9987500.645290056, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9969494.453323793, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9954369.32479691, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9941733.515465437, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9931234.335989065, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9922556.777457738, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9915421.679110043, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9909583.627876062, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9904828.718921196, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9900972.216495434, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9897856.106707212, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9895346.540855931, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9893331.203755055, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9891716.674948297, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9890425.865192825, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9889395.604661888, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9888574.440116646, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9887920.674489552, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9887400.660169175, tolerance: 4466.452064951529\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22225193.80408011, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22225110.813517075, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22225006.093373984, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22224873.954836704, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22224707.22016197, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22224496.83322094, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22224231.36831536, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22223896.410779048, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22223473.77603032, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22222940.525154293, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22222267.72434169, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22221418.88207672, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22220347.981225494, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22218997.002387535, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22217292.809172478, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22215143.234477364, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22212432.168317866, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22209013.40126823, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22204702.922219783, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22199269.304569546, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22192421.741654057, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22183795.21258787, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22172932.17909693, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22159260.14304964, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22142064.35203175, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22120454.95809202, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22093328.06334204, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22059320.403233726, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22016758.03845356, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21963600.508906867, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21897383.65478575, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21815166.968429696, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21713495.123522323, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21588388.30984886, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21435381.888817236, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21249641.65996918, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21026184.505123127, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20760231.655652393, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20447708.31167379, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20085874.018901825, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19674021.850113407, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19214128.3053442, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18711289.424232315, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18173771.014405873, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17612557.62934444, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17040407.03219554, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16470567.131662391, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15915425.819018744, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15385384.27148134, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14888160.528800251, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14428585.410549453, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14008814.608291918, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13628800.43657365, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13286857.361730725, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12980197.224087035, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12705370.410345197, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12458600.903357476, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12236032.77957509, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12033913.49389702, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11848733.596731743, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11677333.403468838, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11516981.070353946, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11365424.704670552, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11220921.203073826, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11082243.920528807, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10948669.457422748, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10819942.016223667, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10696213.317397818, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10577957.546131799, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10465864.125929628, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10360715.842557454, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10263264.873279892, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10174122.558233691, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10093678.084935276, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10022055.90958463, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9959113.332252601, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9904471.381944738, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9857566.988895562, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9817713.479318874, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9784158.875562938, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9756135.4293958, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9732897.547924208, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9713747.933154197, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9698053.28484727, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9685251.610393653, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9674853.346299471, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9666438.328081315, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9659650.291029936, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9654190.159247063, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9649808.977198932, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9646301.012972398, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9643497.331329834, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9641259.984843817, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9639476.879484767, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9638057.315691978, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9636928.172691077, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9636030.684258943, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9635317.743812287, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9634751.672914779, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9634302.388158696, tolerance: 4445.102149685068\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22182535.705905367, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22182443.31748153, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22182326.738805104, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22182179.636849403, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22181994.021044992, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22181759.809716668, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22181464.28327085, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22181091.39464482, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22180620.89990636, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22180027.262331244, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22179278.27131426, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22178333.30250969, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22177141.126954924, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22175637.153777506, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22173739.962460298, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22171346.945451487, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22168328.83898362, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22164522.86814139, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22159724.170510717, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22153675.090679448, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22146051.856030278, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22136448.05522982, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22124354.250566233, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22109132.97552027, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22089988.320511386, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22065929.327634364, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 22035726.555516478, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21997861.52451259, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21950469.43740475, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21891276.769023754, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21817537.260214396, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21725972.80421009, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21612729.92224466, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21473368.08108258, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21302902.69437747, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 21095932.158423126, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20846882.286273133, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20550398.911674757, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20201904.639180813, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19798303.254432607, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 19338763.60317261, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18825451.629099563, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18264026.303933263, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17663705.112665202, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17036766.85903686, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16397496.223623449, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15760744.92149185, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15140415.226936534, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14548197.66197113, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13992801.316187331, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13479749.374918321, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13011650.716625076, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12588761.536151327, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12209637.009462353, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11871722.016013274, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11571805.12738007, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11306328.206388844, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11071585.798533637, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10863860.419768564, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10679529.96999051, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10515164.967978276, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10367617.395431116, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10234094.932508666, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10112213.557229094, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10000024.23575536, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9896012.57105465, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9799072.614562154, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9708457.890308099, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9623714.619163413, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9544604.25348744, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9471024.212762302, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9402936.228999598, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9340310.144654753, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9283087.29859646, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9231162.854348717, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9184382.359520858, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9142546.024753645, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9105415.114890352, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9072717.557093456, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9044152.703403218, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9019396.685310023, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8998109.575324507, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8979944.333787149, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8964556.387394711, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8951612.3695335, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8940797.002727017, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8931817.822045382, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8924407.976697778, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8918327.548498938, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8913363.779400796, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8909330.473245148, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8906066.743651448, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8903435.248435475, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8901320.0564094, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8899624.301448012, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8898267.772619218, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8897184.565959448, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8896320.890152896, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8895633.08348321, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8895085.869018715, tolerance: 4436.577708196869\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.271e+07, tolerance: 5.332e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n" - ] - }, - { - "data": { - "text/html": [ - "
Pipeline(steps=[('scaler', StandardScaler()),\n",
-       "                ('ridge',\n",
-       "                 ElasticNetCV(alphas=array([2.22093791e+05, 1.76005531e+05, 1.39481373e+05, 1.10536603e+05,\n",
-       "       8.75983676e+04, 6.94202082e+04, 5.50143278e+04, 4.35979140e+04,\n",
-       "       3.45506012e+04, 2.73807606e+04, 2.16987845e+04, 1.71959156e+04,\n",
-       "       1.36274691e+04, 1.07995362e+04, 8.55844774e+03, 6.78242347e+03,\n",
-       "       5.37495461e+03, 4.25955961e+03,...\n",
-       "       1.84386167e-03, 1.46122884e-03, 1.15799887e-03, 9.17694298e-04,\n",
-       "       7.27257037e-04, 5.76338765e-04, 4.56738615e-04, 3.61957541e-04,\n",
-       "       2.86845161e-04, 2.27319885e-04, 1.80147121e-04, 1.42763513e-04,\n",
-       "       1.13137642e-04, 8.96596467e-05, 7.10537367e-05, 5.63088712e-05,\n",
-       "       4.46238174e-05, 3.53636122e-05, 2.80250579e-05, 2.22093791e-05]),\n",
-       "                              cv=KFold(n_splits=5, random_state=0, shuffle=True),\n",
-       "                              l1_ratio=0))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "Pipeline(steps=[('scaler', StandardScaler()),\n", - " ('ridge',\n", - " ElasticNetCV(alphas=array([2.22093791e+05, 1.76005531e+05, 1.39481373e+05, 1.10536603e+05,\n", - " 8.75983676e+04, 6.94202082e+04, 5.50143278e+04, 4.35979140e+04,\n", - " 3.45506012e+04, 2.73807606e+04, 2.16987845e+04, 1.71959156e+04,\n", - " 1.36274691e+04, 1.07995362e+04, 8.55844774e+03, 6.78242347e+03,\n", - " 5.37495461e+03, 4.25955961e+03,...\n", - " 1.84386167e-03, 1.46122884e-03, 1.15799887e-03, 9.17694298e-04,\n", - " 7.27257037e-04, 5.76338765e-04, 4.56738615e-04, 3.61957541e-04,\n", - " 2.86845161e-04, 2.27319885e-04, 1.80147121e-04, 1.42763513e-04,\n", - " 1.13137642e-04, 8.96596467e-05, 7.10537367e-05, 5.63088712e-05,\n", - " 4.46238174e-05, 3.53636122e-05, 2.80250579e-05, 2.22093791e-05]),\n", - " cv=KFold(n_splits=5, random_state=0, shuffle=True),\n", - " l1_ratio=0))])" - ] - }, - "execution_count": 37, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "ridgeCV = skl.ElasticNetCV(alphas=lambdas, \n", " l1_ratio=0,\n", " cv=kfold)\n", "pipeCV = Pipeline(steps=[('scaler', scaler),\n", " ('ridge', ridgeCV)])\n", - "pipeCV.fit(X, Y)\n" + "pipeCV.fit(X, Y)" ] }, { @@ -6856,28 +1056,10 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": null, "id": "d107f961", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:42.932916Z", - "iopub.status.busy": "2023-07-25T23:59:42.932770Z", - "iopub.status.idle": "2023-07-25T23:59:43.043431Z", - "shell.execute_reply": "2023-07-25T23:59:43.043097Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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dr0xPRqq15QzWrnvVKlds7y6VO85veolk5WVpZEjR0qS3n33XXl7e1/hDFwrvifLJ7t6vleuXKnQ0FDVqVNHycnJRY6//PLL6tWrl2bPnq2lS5fq//7v/9S+fXv95z//see2AIBypn6NKhp0a6SzyyiX6GW0lZubq48++kgfffQRy8uXEr7HKha7wvcPP/yg06dPq23btqpatarNsR07duiNN96QYRgyDENVq1aVYRjKzc3V3//+dyUkJNhzawBAOfNsdANV9/dydhkVAmEJcF12he+1a9fKYrEoOjq6yLGPP/5YhmGoWrVq2rp1q86cOaNNmzYpODhYWVlZmjp1qj23BgCUM4E+nhr+twbm+9NpWU6spmIilONK+B6p+OwK3ydOFCyq0LRp0yLHFi5cKIvFomHDhqlly5aSpDZt2mjYsGEyDEPLli2z59YAgHLo3puvM7fHzt8lw2Dly9JA4AIqD7vC96lTBQ/W/HXIyYEDB3Ts2DFJ0r333mtzrGPHjmaba7VmzRrdddddioiIkMVi0fz5881jOTk5Gj16tJo3by5/f39FRERowIABOn78uM01IiMjZbFYbF5vvfWWTZsdO3aoY8eO8vHxUe3atTVhwoQitcybN0+NGjWSj4+Pmjdvrh9++MHmuGEYGjt2rMLDw+Xr66vo6Gjt37//mj92ACjP3Nws5vaq305p+s8JzisGqMD4havysit8F/ZopKSk2Oz/6aefJElBQUG6+eabbY5Vr15dkpSenn7N97VarWrRooWmTJlS5Fh6erq2bduml19+Wdu2bdM333yjffv26e677y7Sdvz48Tpx4oT5euaZZ8xjqamp6tatm+rWrautW7dq4sSJGjdunD755BOzzbp169SvXz8NGTJEv/zyi3r16qVevXpp586dZpsJEybogw8+0NSpU7Vx40b5+/srJiZGmZmZ1/zxA0BF8daPe7XzWMqVG+KqEc6AismuOWfCwsJ0+PBh7dmzx+zRlqQlSwqmtbntttuKnGO1WiVJ1apVu+b79ujRQz169Cj2WFBQkOLi4mz2TZ48WbfccouOHDmiOnXqmPsDAgIUFhZW7HVmzZql7OxsTZs2TV5eXmratKni4+P17rvv6oknnpAkvf/+++revbtGjRolSXrttdcUFxenyZMna+rUqTIMQ5MmTdJLL72ke+65R5L0+eefq2bN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Ubt27bRp06Yy+ZgBAABQ/lXK8C1JTZs21YkTJ8zX2rVrzWMjRozQggULNG/ePK1evVrHjx/XfffdZx7Py8tTbGyssrOztW7dOs2cOVMzZszQ2LFjzTaHDh1SbGysOnfurPj4eA0fPlyPPfaYlixZYraZO3euRo4cqVdeeUXbtm1TixYtFBMTo5MnTzrmkwAAAIByxWIYhuHsIkrbuHHjNH/+fMXHxxc5lpKSoho1amj27Nm6//77JUl79+5V48aNtX79erVv314//vijevbsqePHj6tmzZqSpKlTp2r06NE6deqUvLy8NHr0aC1atEg7d+40r/3ggw8qOTlZixcvliS1a9dObdu21eTJkyVJ+fn5ql27tp555hmNGTOmxB9PamqqgoKClJKSosDAwGv9tAAA4HRWq1VVqlSRJKWlpcnf39/JFQGlo6R5rdLOdrJ//35FRETIx8dHHTp00Jtvvqk6depo69atysnJUXR0tNm2UaNGqlOnjhm+169fr+bNm5vBW5JiYmL01FNPadeuXWrZsqXWr19vc43CNsOHD5ckZWdna+vWrXrhhRfM425uboqOjtb69esvW3tWVpaysrLM9ykpKZIKvqgAAFRkF69umZqayownqDQKc9qV+rUrZfhu166dZsyYoYYNG+rEiRN69dVX1bFjR+3cuVOJiYny8vJS1apVbc6pWbOmEhMTJUmJiYk2wbvweOGxy7VJTU1VRkaGzp07p7y8vGLb7N2797L1v/nmm3r11VeL7K9du/aVP3gAACqIiIgIZ5cAlLrz588rKCjokscrZfju0aOHuX3TTTepXbt2qlu3rr788kv5+vo6sbKSeeGFFzRy5EjzfX5+vs6ePavq1avLYrE4sbLKIzU1VbVr19bRo0cZylOJ8XV2DXydXQdfa9dQUb/OhmHo/PnzV/ylslKG77+qWrWqbrzxRv3+++/629/+puzsbCUnJ9v0ficlJSksLEySFBYWVmRWksLZUC5u89cZUpKSkhQYGChfX9//b+/OY6K63j6Af4cpDIiCsoMGkYpYUFGhLFrjT6WitcS9SBTB1FQp1gXUtomAS6tW41YVrdoKamwLKqVxjRLUGhALxH1HKaKyuFBABXS47x9k7jsIMwwyzBT4fpJJhnufe85zvbmZZ65nzoFUKoVUKm0wRtGGKjKZDDKZrN45kPaZmZm1qhub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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "tuned_ridge = pipeCV.named_steps['ridge']\n", "ridgeCV_fig, ax = subplots(figsize=(8,8))\n", @@ -6887,7 +1069,7 @@ "ax.axvline(-np.log(tuned_ridge.alpha_), c='k', ls='--')\n", "ax.set_ylim([50000,250000])\n", "ax.set_xlabel('$-\\log(\\lambda)$', fontsize=20)\n", - "ax.set_ylabel('Cross-validated MSE', fontsize=20);\n" + "ax.set_ylabel('Cross-validated MSE', fontsize=20);" ] }, { @@ -6903,30 +1085,12 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": null, "id": "21d65d1f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:43.045221Z", - "iopub.status.busy": "2023-07-25T23:59:43.045098Z", - "iopub.status.idle": "2023-07-25T23:59:43.047578Z", - "shell.execute_reply": "2023-07-25T23:59:43.047310Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "115526.70630987917" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ - "np.min(tuned_ridge.mse_path_.mean(1))\n" + "np.min(tuned_ridge.mse_path_.mean(1))" ] }, { @@ -6942,35 +1106,12 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": null, "id": "11373de9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:43.049360Z", - "iopub.status.busy": "2023-07-25T23:59:43.049242Z", - "iopub.status.idle": "2023-07-25T23:59:43.051656Z", - "shell.execute_reply": "2023-07-25T23:59:43.051383Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([-222.80877051, 238.77246614, 3.21103754, -2.93050845,\n", - " 3.64888723, 108.90953869, -50.81896152, -105.15731984,\n", - " 122.00714801, 57.1859509 , 210.35170348, 118.05683748,\n", - " -150.21959435, 30.36634231, -61.62459095, 77.73832472,\n", - " 40.07350744, -25.02151514, -13.68429544])" - ] - }, - "execution_count": 40, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ - "tuned_ridge.coef_\n" + "tuned_ridge.coef_" ] }, { @@ -7007,16 +1148,9 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": null, "id": "72181964", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:43.053342Z", - "iopub.status.busy": "2023-07-25T23:59:43.053221Z", - "iopub.status.idle": "2023-07-25T23:59:43.055713Z", - "shell.execute_reply": "2023-07-25T23:59:43.055414Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "outer_valid = skm.ShuffleSplit(n_splits=1, \n", @@ -7029,2057 +1163,22 @@ " l1_ratio=0,\n", " cv=inner_cv)\n", "pipeCV = Pipeline(steps=[('scaler', scaler),\n", - " ('ridge', ridgeCV)]);\n" + " ('ridge', ridgeCV)]);" ] }, { "cell_type": "code", - "execution_count": 42, + "execution_count": null, "id": "4c3054b5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:43.057432Z", - "iopub.status.busy": "2023-07-25T23:59:43.057306Z", - "iopub.status.idle": "2023-07-25T23:59:43.365804Z", - "shell.execute_reply": "2023-07-25T23:59:43.365508Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16002961.893047336, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16002909.292721532, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16002842.919898538, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16002759.16890147, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16002653.490324104, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16002520.144170538, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16002351.888507718, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16002139.586836109, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16001871.713040235, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16001533.727331886, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16001107.28977405, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16000569.269442707, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15999890.496647634, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15999034.192416634, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15997953.993094172, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15996591.467783943, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15994873.001788342, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15992705.889472542, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15989973.444502639, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15986528.893835295, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15982187.774395373, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15976718.499356627, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15969830.707495732, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15961160.960501963, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15950255.320705947, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15936548.344581451, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15919338.096469924, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15897756.97009871, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15870738.473491088, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15836980.785622943, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15794908.961932577, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15742639.305781398, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15677951.783964379, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15598279.520216344, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15500728.213326858, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15382142.225333132, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15239236.776243072, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15068814.890988702, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14868080.263148528, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14635039.685599191, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14368959.698660212, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14070805.23862632, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13743554.88143778, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13392276.560592549, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13023877.88091306, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12646520.933576018, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12268792.343592053, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11898803.095559342, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11543417.93091813, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11207766.718773343, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10895093.611569963, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10606899.312997252, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10343266.88124088, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10103247.353431445, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9885208.910573516, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9687100.478192497, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9506625.781409387, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9341352.903950285, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9188793.402093235, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9046478.453631114, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8912045.904589174, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8783339.107432563, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8658509.901020331, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8536113.828113679, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8415183.975072118, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8295269.742745581, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8176429.120013418, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8059168.8293056125, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7944335.999206969, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7832975.645216511, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7726176.614947152, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7624931.461247044, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7530031.627469164, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7442009.746564693, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7361129.1469736025, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7287410.63533624, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7220681.095616933, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7160628.395404535, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7106851.48376607, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7058900.76970095, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7016308.880858365, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6978613.911777701, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6945376.571027264, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6916191.049528801, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6890688.79244657, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6868535.393319955, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6849422.765039895, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6833060.05095333, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6819166.544534292, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6807468.458908728, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6797699.628345776, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6789604.944998693, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6782944.868629447, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6777499.565630652, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6773071.791553852, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6769488.209512218, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6766599.256783063, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6764277.892213011, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6762417.6162482, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6760930.116967933, tolerance: 3200.6325551004925\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15173612.82487654, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15173560.33151807, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15173494.093703294, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15173410.51311625, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15173305.049649913, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15173171.975059805, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15173004.062268812, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15172792.193566969, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15172524.866617758, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15172187.571748763, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15171762.00720005, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15171225.090500388, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15170547.71354342, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15169693.175771877, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15168615.213598879, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15167255.524179863, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15165540.657224856, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15163378.11903821, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15160651.497821936, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15157214.378191706, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15152882.766135195, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15147425.6946986, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15140553.628850497, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15131904.241777299, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15121025.105980713, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15107352.850599289, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15090188.41286841, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15068668.205066573, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15041731.400110113, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15008084.208955988, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14966163.110870235, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14914100.653844737, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14849699.805850953, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14770425.961151276, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14673429.41690654, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14555614.815015966, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14413776.349016687, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14244816.178940995, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14046055.366934752, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13815628.708094303, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13552926.205683708, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13259008.940702371, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12936897.573228309, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12591625.616217315, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12229982.920676824, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11859948.802383406, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11489906.8603167, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11127805.377401602, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10780443.14443526, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10453012.587348029, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10148944.578529166, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9870012.667698365, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9616601.230672905, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9388032.941233683, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9182876.289070565, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8999193.791535858, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8834727.19434187, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8687036.347689679, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8553612.383287674, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8431979.280234471, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8319788.946660187, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8214909.054690647, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8115501.1056430675, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8020086.35524954, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7927596.53846852, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7837403.822275469, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7749321.535335509, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7663566.802084766, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7580680.550684168, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7501409.564666606, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7426566.500521793, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7356892.242162683, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7292946.117484922, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7235042.041596897, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7183235.551674365, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7137353.553695727, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7097050.348456673, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7061872.012726546, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7031315.123405474, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7004872.089238734, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6982061.123036072, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6962442.578610088, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6945624.890073966, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6931263.4663270125, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6919055.476661856, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6908732.977539104, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6900056.2920428645, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6892808.858171555, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6886793.977603645, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6881833.233569127, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6877765.97498893, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6874449.207170451, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6871757.386867455, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6869581.853912757, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6867829.838852352, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6866423.119345377, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6865296.456501478, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6864395.94700243, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6863677.402652601, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6863104.834999971, tolerance: 3034.7626598069196\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16000126.775776321, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16000067.997791689, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15999993.829780785, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15999900.242584623, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15999782.152469946, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15999633.14527111, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15999445.128467944, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15999207.892430544, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15998908.557207122, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15998530.875140417, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15998054.351968959, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15997453.139532348, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15996694.641307216, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15995737.757220387, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15994530.675893765, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15993008.099962447, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15991087.762599917, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15988666.060097354, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15985612.585588472, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15981763.302383827, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15976912.042096594, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15970799.954194367, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15963102.47325135, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15953413.314912459, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15941224.973906962, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15925905.198558565, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15906668.990428165, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15882545.878220897, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15852342.621036042, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15814602.219371142, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15767561.301116722, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15709109.781098895, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15636759.341258615, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15547630.840385439, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15438475.105455775, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15305746.07465526, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15145748.542592412, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14954882.27386727, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14729996.36384661, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14468848.510940228, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14170631.317143818, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13836485.361873377, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13469879.089990832, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13076719.754361462, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12665089.79937819, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12244586.676668119, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11825360.36369123, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11417044.801169304, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11027817.645702794, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10663776.910200799, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10328716.2675956, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10024263.64783793, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9750266.819731826, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9505284.688773429, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9287065.61072085, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9092940.776433397, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8920108.266351493, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8765816.866835387, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8627473.905487, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8502702.196109628, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8389365.458262948, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8285575.962199782, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8189695.129107317, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8100335.848355204, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8016371.614804332, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7936951.343980087, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7861511.843847987, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7789775.81877588, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7721724.491724883, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7657540.53569288, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7597526.506006125, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7542012.431576015, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7491270.131106991, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7445449.741931618, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7404547.164364969, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7368402.734578147, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7336724.612267373, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7309126.908337014, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7285172.53934286, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7264413.0266303, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7246420.465473388, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7230809.549602925, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7217249.407961924, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7205466.206412938, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7195238.325930048, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7186386.647782039, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7178762.875061372, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7172238.602284237, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7166697.001612171, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7162027.848205515, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7158125.584421616, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7154889.512672326, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7152225.062096559, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7150045.262096591, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7148271.882784204, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7146836.014641162, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7145678.080780019, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7144747.393668608, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7144001.407092072, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7143404.805305656, tolerance: 3200.070250165819\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13766426.844425442, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13766379.012219734, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13766318.655993313, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13766242.496938994, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13766146.398082258, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13766025.13980752, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13765872.136748439, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13765679.08077331, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13765435.490848666, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13765128.145612368, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13764740.368286435, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13764251.12581003, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13763633.894413952, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13762855.231859002, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13761872.98172164, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13760634.01686267, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13759071.406945651, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13757100.867966294, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13754616.31968939, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13751484.339396805, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13747537.257695232, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13742564.595583746, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13736302.49455343, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13728420.749109622, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13718507.02436845, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13706047.848124275, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13690406.03569032, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13670794.381086988, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13646245.795015218, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13615580.679837886, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13577373.323622873, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13529920.608156208, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13471218.48980598, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13398954.581488008, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13310528.590455977, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13203115.797389356, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13073790.981404455, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12919729.112886174, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12738491.873820404, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12528392.752768412, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12288907.120278118, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12021061.050642934, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11727704.457379244, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11413566.98420337, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11085024.381464427, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10749570.986969216, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10415080.823900381, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10089009.138994666, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9777704.218602655, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9485957.157639354, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9216836.907742979, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8971777.239570614, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8750831.806329573, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8553002.845594905, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8376568.552591967, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8219365.99395707, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8079015.288983279, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7953088.9445123505, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7839237.297915861, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7735280.8174845725, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7639277.0523840925, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7549567.214150196, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7464805.436922483, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7383972.203368484, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7306371.938584399, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7231613.9732326735, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7159576.877369866, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7090358.567763316, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7024217.2241215855, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6961509.172985473, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6902628.941757254, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6847954.742128507, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6797801.388530005, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6752382.798167879, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6711786.944628094, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6675965.981966857, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6644742.448857503, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6617829.550839442, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6594860.867273544, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6575423.588385814, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6559089.833983606, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6545442.225937976, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6534091.895329608, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6524688.873515937, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6516926.039701696, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6510538.426567688, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6505299.7780512385, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6501017.943079299, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6497530.176477653, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6494698.902794392, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6492408.111473216, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6490560.3336993465, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6489074.074242126, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6487881.578697735, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6486926.855244275, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6486163.908028902, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6485555.163897053, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6485070.084972435, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6484683.961142942, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6484376.8736711275, tolerance: 2753.321903486231\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16123836.286658319, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16123762.414447501, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16123669.200043006, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16123551.579596577, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16123403.163871313, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16123215.891543608, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16122979.591935372, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16122681.433587788, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16122305.228986472, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16121830.55809336, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16121231.663752725, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16120476.060052717, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16119522.779778486, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16118320.168518286, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16116803.109996723, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16114889.538918179, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16112476.063036688, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16109432.47434148, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16105594.879294181, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16100757.119470121, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16094660.087017829, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16086978.46580684, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16077304.35332688, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16065127.149018394, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16049809.047450969, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16030555.476241706, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 16006379.911872495, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15976062.758394275, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15938104.483596483, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15890674.11469827, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15831555.686060235, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15758097.525340755, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15667172.578206709, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15555162.420748936, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15417983.020182043, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15251175.908593165, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 15050092.453317674, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14810198.177746587, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14527514.082835246, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14199187.811678281, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13824146.920817537, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13403734.027286602, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12942174.869677957, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12446711.659031235, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11927272.408043081, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11395650.820912804, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10864314.587176824, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10345084.699656613, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9847974.664610261, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9380422.144947704, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8947015.008946363, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8549670.25861056, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8188124.101396974, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7860558.677097185, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7564216.251072414, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7295907.831051512, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7052382.339382325, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6830565.9531656, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6627701.871803495, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6441421.548990706, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6269768.629955583, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6111186.722532658, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5964477.8422521455, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5828739.876908956, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5703294.550898104, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5587617.998651163, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5481282.987854576, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5383916.678079197, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5295172.882818847, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5214714.536832884, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5142200.898831903, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5077274.992035702, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5019549.576235791, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4968593.444998971, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4923922.319001433, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4884998.717484867, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4851242.93844572, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4822053.96370539, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4796836.339338534, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4775027.808895556, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4756122.72319144, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4739687.533593078, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4725366.495343714, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4712877.711579567, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4702001.540622955, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4692564.7733192, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4684424.413915036, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4677454.213645212, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4671535.662147184, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4666553.581406483, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4662395.34181063, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4658952.2530382, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4656121.7760819215, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4653809.600037627, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4651931.081491712, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4650411.90595999, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4649188.052146216, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4648205.23751574, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4647418.038791819, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: UserWarning: Coordinate descent without L1 regularization may lead to unexpected results and is discouraged. Set l1_ratio > 0 to add L1 regularization.\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:617: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4646788.852992944, tolerance: 3224.823681413525\n", - " model = cd_fast.enet_coordinate_descent_gram(\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:631: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.153e+07, tolerance: 3.855e+03 Linear regression models with null weight for the l1 regularization term are more efficiently fitted using one of the solvers implemented in sklearn.linear_model.Ridge/RidgeCV instead.\n", - " model = cd_fast.enet_coordinate_descent(\n" - ] - }, - { - "data": { - "text/plain": [ - "array([132393.84003227])" - ] - }, - "execution_count": 42, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "results = skm.cross_validate(pipeCV, \n", " X,\n", " Y,\n", " cv=outer_valid,\n", " scoring='neg_mean_squared_error')\n", - "-results['test_score']\n" - ] - }, - { - "cell_type": "markdown", - "id": "68921cdc", - "metadata": {}, - "source": [ - " " + "-results['test_score']" ] }, { @@ -9100,29 +1199,10 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": null, "id": "72bb0c1d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:43.368185Z", - "iopub.status.busy": "2023-07-25T23:59:43.368043Z", - "iopub.status.idle": "2023-07-25T23:59:43.419802Z", - "shell.execute_reply": "2023-07-25T23:59:43.419498Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "3.1472370031649866" - ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "lassoCV = skl.ElasticNetCV(n_alphas=100, \n", " l1_ratio=1,\n", @@ -9131,22 +1211,14 @@ " ('lasso', lassoCV)])\n", "pipeCV.fit(X, Y)\n", "tuned_lasso = pipeCV.named_steps['lasso']\n", - "tuned_lasso.alpha_\n" + "tuned_lasso.alpha_" ] }, { "cell_type": "code", - "execution_count": 44, + "execution_count": null, "id": "69adc7ac", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:43.421483Z", - "iopub.status.busy": "2023-07-25T23:59:43.421361Z", - "iopub.status.idle": "2023-07-25T23:59:43.431280Z", - "shell.execute_reply": "2023-07-25T23:59:43.431010Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "lambdas, soln_array = skl.Lasso.path(Xs, \n", @@ -9155,7 +1227,7 @@ " n_alphas=100)[:2]\n", "soln_path = pd.DataFrame(soln_array.T,\n", " columns=D.columns,\n", - " index=-np.log(lambdas))\n" + " index=-np.log(lambdas))" ] }, { @@ -9170,35 +1242,16 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": null, "id": "2aa75789", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:43.432981Z", - "iopub.status.busy": "2023-07-25T23:59:43.432885Z", - "iopub.status.idle": "2023-07-25T23:59:43.617766Z", - "shell.execute_reply": "2023-07-25T23:59:43.617396Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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WVns2rWL9evXM2qU1keyffv2vPDCCyQnJ7Njxw5efvllALZt20bfvn15//336dKlC+7u7ixYsIApU6bctpyaNWvi7e3NnDlz6N69e6FvRMaPH8+zzz7L8uXLWbFiBe+99x4LFizgySefLNKzVhoZCXDmIFzcq319G3/gv7NgeFTXZqvzrwf+9bVBRl41Kv/AKnH39szTuvy4VoGW5o190ecbefO3QxhV6NE4kPbhviVTx9KmKFpffge323eHUNWbB0TqcwBVG3CrGrVz8vVakG3qZnIRjHotIM+6VDJ19qsPj0yGkLYlc79SlJuVSVpiAmmXEkgteE27lEjapQQyrlwm32C44z3snZ1x9fLBxdtHazH2vtZi7OLpjYunF46ubihWMhOmuD2z/hpeuKANGrr//vuLfE3bttov6cWL5iTdr/wURSlSlwpL8vLyokuXLsycOZOhQ4fe1C86NTUVDw8PatasSXBwMH/88Qf79++nffv2AFStWpWqVasyZcoU8vLyTC3RW7dupXr16rz99tume509e/aO9fHx8eG3336jQ4cOPP300yxatKhQIB0eHk54eDivv/46ffr0Ye7cuZU7iDYatCmh9dmQma4NpFo+HDJvyFBgZQN+dSHgPi0XbEAjLWiWQX2iOHSZsHGStt5+tNl9fedsjuFofDoeTraMe7ReCVSwnFGUa63IVZsW/TrTJEPxBXm0r05HX7CuSy/IuZ2lLbqC/Nv5ei34ztdr/zfk67Xf8XZvQItB5erDcW5WJinxF0iJv0hqwkVSE+JJTYgnJTGe3Iz0216rWFnh6u2Dm68fbj5+uPn64erti5u3D64+frj6+EifY1FizPqtsS7o32Mowie/q/ILRqhaySe8SmHmzJm0bduWli1bMmHCBBo1aoTBYGD16tXMmjWLo0ePAlpr9JdffkmtWrXw9/c3Xd++fXs+//xzwsPDCQwMBLQW7ri4OBYsWECLFi1Yvnw5S5YsKVJ9/Pz8WLduHREREfTp04cFCxag1+sZNWoUTz31FKGhoZw/f55du3YRGRlZ8j8QS1FV7av0vCyt33JeltYv8yqDqs0YhzUENNSyGAQ21aZw9qunzXInhDm2z4LsK9q3FU3Myyscl5TN1DUnAHj7kbr4uMj708TKShuc6FJBWub/g2o0kn7lEknnz5F04RwpF8+TfPECKfEXyE5L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8MPF2jcoKAhnZ2egaCE6/zn++OMPUlNTi3U+IYQACdFCCFGl5eTk8M0339CrVy98fX3R6/UEBARw11138fPPP2MymW57jPj4eF566SWCg4NxdHTE39+ffv368eeffwJFGyXk999/B6BBgwY0b968WK9BURTq1asHFD1E5120mJGRwV9//VWs8wkhBEiIFkKIKisiIoKWLVsyadIktmzZQlxcHAaDgejoaNasWcOjjz5Kjx49SEhIKPQYR48epWnTpnz00UecPn2arKwsYmJi2LhxI/feey9PPvlkkWrZvHkzAJ06dSr26wgNDeXo0aMAXLx4keTk5NvuU7t2bQICAgBz32ghhCguCdFCCFEFpaWl0adPH8LCwgAYNmwYK1asYN++ffzxxx/06NEDgO3btzN06FCMRuMNx0hKSmLgwIFER0cD8Oijj7JmzRr27dvHb7/9RkhICHPmzGH27Nm3rOXixYuWFur27dsX63Xk5uYyceJEVFW1LDt+/HiR9u3QoQMAW7duLdY5hRACJEQLIUSV9M4773D27FnAPJzcn3/+ydChQ2nbti33338/mzdvtvQb3rlzJ3PmzLnpMS5fvgzA559/zk8//cTAgQNp27YtDzzwANu2beOee+5h9+7dt6xl586dlsetW7cu1uv47LPPOHLkSIFlRe3S0bZtWwAuXbpk+SIghBBFJSFaCCGqmOzsbObNmwdA06ZNefvtt2/YRlEUvvnmG7y9vQEsI2fkP8aCBQsAc+vxc889d8MxtFot3333HQ4ODres5+LFi5bHfn5+RX4d58+ft9TeuXNny/Kihuj858r7QiGEEEUlIVoIIaqY/fv3k5SUBMDYsWPRarU33c7NzY2RI0cCcOLECa5cuWJZt2/fPssxHnnkkULP5e/vz4ABA25ZT2xsrOWxp6dnUV4CAJMnTyYjIwN3d3f++OMPXF1dgaKHaC8vL8vjqKioIp9XCCFAQrQQQlhd3sgVJbnltQoXRf6Q2bFjx1tum399/v3yP87rFlGYdu3a3XJ9/gsXixqily1bxsqVKwH44IMPqF69Os2aNbuhtlvJf6709PQi7SOEEHkkRAshRBWTP7TervtE3ggW1++XmJhoeezr63vLY9xuff7uHpmZmbfcFszTgz/77LOAuRtH3gggeUPjxcbGEhMTc9vj5D+XnZ3dbbcXQoj8dNYuQAghqrqTJ0+W+BjVqlW7o/0URSnxuUsqf8hOSEiwdMsozBtvvMGlS5ews7Njzpw5lteQf3zpY8eO0bt371seJ/+XAg8PjzuoXAhRlUmIFkIIK2vUqFG5ni9/X+Do6GgaNmxY6Lb5+wrn3y9/V4jY2NhbHiN/n+ebyR+iExMTqV27dqHbHjhwwHKR40svvUTTpk0t61q0aGF5XJQQnb81vVatWrfcVgghrifdOYQQoorJ6zsM3Hb4uT179tx0v/zhdf/+/bc8xr59+265Pn8L8unTpwvdzmQy8eSTT2I0GmnQoAGvv/56occpSr/ovHPZ29tTv379224vhBD5SYgWQogqpm3btpbuCz/++GOhU3unpqZapuNu0qRJgS4j7dq1w93dHYCff/650HNFR0ezbt26W9bTrl07S7/ovXv3Frrd119/bQnks2fPvmHoPE9PT2rUqAEULUTnnat169bSJ1oIUWwSooUQooqxt7dn/PjxgDlsvvfeezdso6oqkydPJi4uDjAPJ5efg4MDo0ePBsxh9IsvvrjhGHktx1lZWbesR6/XW0YByd/ynd/ly5ctLc9jxowptKtGXmv07WYtzM7OtkzS0r9//1tuK4QQNyMhWgghqqA333yTunXrAvD2229z//33s2rVKg4cOMDSpUvp3bs3P/30EwAhISE88cQTNxzj7bfftozeMWXKFEaPHs26des4cOAAv//+O926deOvv/6yTK8NhV/IeM899wDmEJ2amnrD+ueee46UlBR8fHz45JNPCn1def2iU1JSiIyMLHS7f//9F4PBAMDw4cML3U4IIQojIVoIIaogV1dX/vnnH8tFjUuXLmXIkCGWab+3bNkCQJcuXVi5cuVNJ2Tx8vJi7dq1lgsDFy5cWGDa7507dzJ27FjLEHRAobMXjh49Gnt7e7Kysvjzzz8LrFu9ejVLliwB4NNPP7XMongzRe0X/csvvwDmvt2tWrUqdDshhCiMhGghhKiigoKCOHz4MLNmzaJHjx54e3tjZ2eHv78/AwcOZOHChfz7778FRuW4XsuWLTlx4gTPP/88DRo0wN7eHh8fH3r16sUvv/zCDz/8QEpKimX7vH7U1/P29ubee+8FrgVcMI/lnNeVpE+fPjz66KO3fE1FCdFZWVksW7YMgKeffvqWxxNCiMIoqqqq1i5CCCFE5TV+/Hjmz59PzZo1uXDhQqHb7d69m06dOqHVagkPD7/lUHcl8fPPP/Poo4/i7e1NREQELi4uZXIeIUTlJi3RQgghykxmZiZ//fUXAJ06dbrlth07duTee+/FaDQyY8aMMqnHZDIxffp0AF588UUJ0EKIOyYhWgghxB0LDw+nsB80jUYjTz31lGWEjzFjxtz2eNOnT0en0/HDDz9w8eLFUq0V4I8//uDkyZPUqlXLMnW4EELcCZmxUAghxB1777332LNnD6NGjaJjx474+fmRmZnJkSNHmDt3LgcOHACgb9++DB48+LbHCw4O5vvvvyc8PJzIyEhq1qxZqvUajUbeeustevfujaOjY6keWwhRtUifaCGEEHds7Nix/Pjjj7fcpkuXLvz111+3HFVDCCEqGgnRQggh7tipU6dYunQpGzduJCIigtjYWAwGA97e3rRr144HHniAUaNGodFI70EhROUiIVoIIYQQQohikqYBIYQQQgghiklCtBBCCCGEEMUkIVoIIYQQQohikhAthBBCCCFEMUmIFkIIIYQQopgkRAshhBBCCFFMEqKFEEIIIYQoJgnRQgghhBBCFJOEaCGEEEIIIYpJQrQQQgghhBDFJCFaCCGEEEKIYvp/Of3dqGAwbYMAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "path_fig, ax = subplots(figsize=(8,8))\n", "soln_path.plot(ax=ax, legend=False)\n", "ax.legend(loc='upper left')\n", "ax.set_xlabel('$-\\log(\\lambda)$', fontsize=20)\n", - "ax.set_ylabel('Standardized coefficiients', fontsize=20);\n" + "ax.set_ylabel('Standardized coefficiients', fontsize=20);" ] }, { @@ -9213,30 +1266,12 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": null, "id": "e38c9bed", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:43.619681Z", - "iopub.status.busy": "2023-07-25T23:59:43.619553Z", - "iopub.status.idle": "2023-07-25T23:59:43.621973Z", - "shell.execute_reply": "2023-07-25T23:59:43.621711Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "114690.73118253548" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ - "np.min(tuned_lasso.mse_path_.mean(1))\n" + "np.min(tuned_lasso.mse_path_.mean(1))" ] }, { @@ -9244,33 +1279,15 @@ "id": "d091d74c", "metadata": {}, "source": [ - "Let’s again produce a plot of the cross-validation error.\n" + "Let’s again produce a plot of the cross-validation error." ] }, { "cell_type": "code", - "execution_count": 47, + "execution_count": null, "id": "53c42724", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:43.623732Z", - "iopub.status.busy": "2023-07-25T23:59:43.623610Z", - "iopub.status.idle": "2023-07-25T23:59:43.735692Z", - "shell.execute_reply": "2023-07-25T23:59:43.735334Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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y5YtWV4ecHN2he+hQ4fKMAxt2LBBffv2veBQimPHjunuu+/Whg0bHL7Azm+//aZTp06ZM6xER0crNTVVW7ZsMdusWrVKhYWF6tKli9lm7dq1ysvLM9skJCSoadOmqlWrltlm5cqVNvdKSEhQdHS0JCkqKkrh4eE2bdLT07VhwwazDZxraHSkagV468BJq77Z5tjeb6YgBFBehmFo586d2rlzJ+tkAG7OrtlOHnnkEc2bN08//PCDFi9erCuvvFK9evVSp06dFBZWNIPEsWPHtGnTJi1fvlw5OTmSpOuvv16PPPLIZd83IyPD7MWWih5sTEpKUmhoqEJDQ/XCCy+oX79+Cg8P1/79+/Xkk0/q6quvVmxsrKSiXvdbb71VDz30kN5++23l5eVp1KhRGjhwoCIiIiRJ9913n1544QWNHDlS48eP1/bt2zV9+nSz516SnnjiCd1444169dVXFRcXp3nz5mnz5s3mdIQWi0WjR4/WP/7xDzVp0kRRUVF67rnnFBERob59+17254+KU8PPS4/1uFr/XLJLM1n5EgAAVDK7wreHh4e+/fZbDR48WN98842ys7O1cOFCLVy4sFTb4t/U+/Tpo48//lgeHpff6b5582b17NnT/Hjs2LGSpGHDhumtt97STz/9pDlz5ig1NVURERHq1auXXnzxRfn6+prnfPzxxxo1apRuvvlmeXh4qF+/fnrjjTfM4yEhIVq+fLni4+PVoUMH1alTRxMmTLCZC/y6667T3Llz9eyzz+qZZ55RkyZNtGDBArVq1cps8+STT8pqterhhx9WamqqbrjhBi1dulR+fuemu0NpAT5eSn45ziH3GhLdWO/+cEBH05h7HQAAVC67wrckBQYGasGCBVq8eLHeeustrV69utR4NH9/f/Xo0UOPPvqobr/9dntvqR49elzwz27Lli276DVCQ0M1d+7cC7Zp06aNvv/++wu26d+/v/r373/e4xaLRZMmTdKkSZMuWhOcw8/bU4/f1ETPLth+8cYAAAB2sDt8F4uLi1NcXJwKCwu1f/9+nT59WpJUq1YtXXXVVfL09KyoWwEVbkDHhnp7zX79dibL2aUAAIAqrMLCdzEPDw81adKkoi8LVCofLw+N6nm1nvryZ0nSqYwcBYRW+D8PAABQzdk12wlQldzepr65/cYq5z18ySwoAP7MYrGocePGaty4McvL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TX5+fmrYsKGmTJlSqpb58+erWbNm8vPzU+vWrbVkyRKb44ZhaMKECapfv778/f0VExOjffv2XfbnDlyq0EAfzRreSU/1bibPEj3iB09anVgVAFQ/zFQEyc7wbRhFq+mlpaXZ7P/+++8lSSEhIbr22mttjtWuXVuSlJmZedn3tVqtatu2rWbOnFnqWGZmprZu3arnnntOW7du1Zdffqk9e/bojjvuKNV20qRJOnr0qPl6/PHHzWPp6enq1auXGjdurC1btmjq1Kl6/vnn9c4775ht1q1bp0GDBmnkyJH68ccf1bdvX/Xt21fbt28320yZMkVvvPGG3n77bW3YsEGBgYGKjY1Vdnb2ZX/+wKXy8LDokRuv0ocPdDb33fuf9fpu93EnVgUA7o3eaVwOu+ZOCw8P16+//qpdu3aZPdqStGxZ0WTn119/falzrNai3rZatWpd9n179+6t3r17l3ksJCRECQkJNvtmzJihzp0769ChQ2rUqJG5PygoSOHh4WVe5+OPP1Zubq7ef/99+fj4qGXLlkpKStJrr72mhx9+WJI0ffp03XrrrRo3bpwk6cUXX1RCQoJmzJiht99+W4ZhaNq0aXr22Wd15513SpI++OAD1atXTwsWLNDAgQMv+z2AcxVPQehurm1U09zOyMnXA3M26YmbmzivIMBFuONCHagcVWkxF7gmu3q+u3btKsMw9NZbb5k92QcOHNDXX38ti8WiW265pdQ5e/fulaTzht7KkJaWJovFUmp4zMsvv6zatWurXbt2mjp1qs30TYmJierevbt8fHzMfbGxsdqzZ4/OnDljtvnzw6axsbFKTEyUJB08eFApKSk2bUJCQtSlSxezTVlycnKUnp5u8wIq2oCODWQY0rQVDIMCXJ2/v78OHjyogwcPyt/f39nluBV6p+Fq7ArfDz74oKSisdGtWrXSPffco65duyo7O1v+/v667777Sp2zdu1aSdI111xjz63LLTs7W+PHj9egQYMUHBxs7v/rX/+qefPm6bvvvtNf/vIXvfTSS3ryySfN4ykpKapXr57NtYo/TklJuWCbksdLnldWm7JMnjxZISEh5qthw4aX+mkDF/X8HS31z7tayavEOPDkU4wDB0pylYDm4eGhyMhIRUZGysODxanPx1X+fwEXYte/4JtuuklPPPGEDMNQcnKyvvrqK508eVKSNHXqVNWp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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "lassoCV_fig, ax = subplots(figsize=(8,8))\n", "ax.errorbar(-np.log(tuned_lasso.alphas_),\n", @@ -9296,34 +1313,12 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": null, "id": "5f4942ba", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:43.737708Z", - "iopub.status.busy": "2023-07-25T23:59:43.737572Z", - "iopub.status.idle": "2023-07-25T23:59:43.740456Z", - "shell.execute_reply": "2023-07-25T23:59:43.740061Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([-210.01008773, 243.4550306 , 0. , 0. ,\n", - " 0. , 97.69397357, -41.52283116, -0. ,\n", - " 0. , 39.62298193, 205.75273856, 124.55456561,\n", - " -126.29986768, 15.70262427, -59.50157967, 75.24590036,\n", - " 21.62698014, -12.04423675, -0. ])" - ] - }, - "execution_count": 48, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ - "tuned_lasso.coef_\n" + "tuned_lasso.coef_" ] }, { @@ -9366,35 +1361,17 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": null, "id": "72a876bb", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:43.742347Z", - "iopub.status.busy": "2023-07-25T23:59:43.742212Z", - "iopub.status.idle": "2023-07-25T23:59:43.746741Z", - "shell.execute_reply": "2023-07-25T23:59:43.746433Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0.09846131, 0.4758765 ])" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "pca = PCA(n_components=2)\n", "linreg = skl.LinearRegression()\n", "pipe = Pipeline([('pca', pca),\n", " ('linreg', linreg)])\n", "pipe.fit(X, Y)\n", - "pipe.named_steps['linreg'].coef_\n" + "pipe.named_steps['linreg'].coef_" ] }, { @@ -9410,34 +1387,16 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": null, "id": "e0e821c6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:43.748488Z", - "iopub.status.busy": "2023-07-25T23:59:43.748344Z", - "iopub.status.idle": "2023-07-25T23:59:43.752896Z", - "shell.execute_reply": "2023-07-25T23:59:43.752570Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([106.36859204, -21.60350456])" - ] - }, - "execution_count": 50, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "pipe = Pipeline([('scaler', scaler), \n", " ('pca', pca),\n", " ('linreg', linreg)])\n", "pipe.fit(X, Y)\n", - "pipe.named_steps['linreg'].coef_\n" + "pipe.named_steps['linreg'].coef_" ] }, { @@ -9453,54 +1412,17 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": null, "id": "1ac6886c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:43.754728Z", - "iopub.status.busy": "2023-07-25T23:59:43.754585Z", - "iopub.status.idle": "2023-07-25T23:59:43.889511Z", - "shell.execute_reply": "2023-07-25T23:59:43.889157Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
GridSearchCV(cv=KFold(n_splits=5, random_state=0, shuffle=True),\n",
-       "             estimator=Pipeline(steps=[('scaler', StandardScaler()),\n",
-       "                                       ('pca', PCA(n_components=2)),\n",
-       "                                       ('linreg', LinearRegression())]),\n",
-       "             param_grid={'pca__n_components': range(1, 20)},\n",
-       "             scoring='neg_mean_squared_error')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "GridSearchCV(cv=KFold(n_splits=5, random_state=0, shuffle=True),\n", - " estimator=Pipeline(steps=[('scaler', StandardScaler()),\n", - " ('pca', PCA(n_components=2)),\n", - " ('linreg', LinearRegression())]),\n", - " param_grid={'pca__n_components': range(1, 20)},\n", - " scoring='neg_mean_squared_error')" - ] - }, - "execution_count": 51, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "param_grid = {'pca__n_components': range(1, 20)}\n", "grid = skm.GridSearchCV(pipe,\n", " param_grid,\n", " cv=kfold,\n", " scoring='neg_mean_squared_error')\n", - "grid.fit(X, Y)\n" + "grid.fit(X, Y)" ] }, { @@ -9513,28 +1435,10 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": null, "id": "5e0c5a96", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:43.891415Z", - "iopub.status.busy": "2023-07-25T23:59:43.891279Z", - "iopub.status.idle": "2023-07-25T23:59:43.997785Z", - "shell.execute_reply": "2023-07-25T23:59:43.997406Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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kklNTb2s/QAAAOCM4ua1cj/Pd2XAPN8AAABlG/N8AwAAAGVMscZ8N2zYsMQbtixLe/bsKfHjAgAAAGVVscJ3wfR7l2JZliTp1yNZilpfsA4AAACoLIoVvgcOHHjR7QkJCdq4caOMMapatarat29vP9UxOTlZCQkJOnnypCzLUrt27Yo19R8AAABQ0RQrfE+ePPmC2z788ENNnTpVderU0SuvvKI77rhDXl6uh83NzdWsWbP0xBNP6Mcff9SwYcM0dOhQ93oOAAAAlDNuzXaybt06XXvttapZs6bWrl2ryMjIi9YnJiaqY8eOOn78uFasWKGrr776tzZdqTDbCQAAQNnmyGwnr732mnJzc/WXv/zlksFbkiIiIvSXv/xF2dnZevXVV91pGgAAACh33Arf33//vSQpOjq62Pt07txZkrR8+XJ3mgYAAADKHbfC99GjRyVJmZmZxd6noLZgXwAAAKCycCt816xZU5L0zTffFHufr7/+WpJUo0YNd5oGAAAAyh23wvfNN98sY4xeffVVrVix4pL1K1eu1GuvvSbLstStWzd3mgYAAADKHbfC91NPPSVfX19lZmaqW7duGjlypBISElwepmOMUUJCgkaNGqWbb75ZGRkZ8vHx0VNPPeV25wEAAIDyxK2pBiVpxowZuv/++5WTk2M/tdLHx0ehoaGyLEvHjx9XVlaWpPwg7uXlpY8//lh9+/Z1v/eVBFMNAgAAlG2OTDUoSffcc49WrFihjh07yhgjY4wyMzOVmJiow4cPKzMz017foUMHLV++nOANAACASqlYT7i8lE6dOmnt2rVat26dFixYoM2bN+vEiROSpGrVqqlNmzbq3r27OnXqVBLNAQAAAOVSiYTvAldffTVPrQQAAAAuwO1hJwAAAACKp0SvfEvSwYMHlZSUpDNnzqhTp07y9/cv6SYAAACAcqlErnyfOnVKzzzzjOrWrat69eopOjpaN910k/bt2+dSN23aNN1zzz166KGHSqJZAAAAoFxx+8r3rl279Pvf/1579+51md+7YNrB83Xu3Fn333+/jDEaOHCgunTp4m7zAAAAQLnh1pXvjIwMxcXFac+ePQoICNCTTz6pOXPmXLC+fv36uummmyRJX375pTtNAwAAAOWOW1e+33nnHe3evVuBgYH6/vvvddVVV11yn549e2rhwoWKj493p2kAAACg3HHr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at68eXr66ac1bNgw+4r0I488or179+rJJ5/U9u3b9fbbb2vGjBkaNWqU3Y/Ro0fr3//+tz766CNt27ZNjz76qNLT0zV48OBSeV8AAABQuirksJODBw+qX79+On78uGrWrKkuXbpo1apVqlmzpiTptddek4eHh/r06aPMzEzFxsbq7bfftvf39PTUnDlz9OijjyomJkaBgYEaOHCgnn/+ebumQYMGmjt3rkaNGqU33nhDderU0fvvv6/Y2Fi75t5779XRo0f17LPPKikpSVdddZW+/fbbQjdhljW+vr4aN25coaEvlUFlPffKet4S514Zz72ynrdUec+9sp63xLmXxXOvkPN8AwAAAGVRhRx2AgAAAJRFhG8AAADAIYRvAAAAwCGEbwAAAMAhhG/Yli1bpl69eikyMlKWZWn27Nml3SVHvPPOO2rbtq09CX9MTIy++eab0u6WI8aPHy/LslyW5s2bl3a3HFG/fv1C525ZloYNG1baXbviTp06pZEjR6pevXry9/fXtddeq7Vr15Z2t0rcpb6nzZo1Sz169LCfHpyQkFAq/bwSLnXu48ePV/PmzRUYGKhq1aqpe/fuWr16del0tgRd6rwHDRpU6P/8LbfcUjqdLWGXOveivt9ZlqWJEyeWTodLyKXOOzk5WYMGDVJkZKQCAgJ0yy23aNeuXaXT2XMI37Clp6erXbt2euutt0q7K46qU6eOXnzxRa1fv17r1q3TzTffrNtvv11bt24t7a45olWrVkpMTLSX5cuXl3aXHLF27VqX854/f74k6e677y7lnl15Dz74oObPn6///Oc/2rx5s3r06KHu3bvr0KFDpd21EnWp72np6enq0qWLXnrpJYd7duVd6tybNm2qSZMmafPmzVq+fLnq16+vHj166OjRow73tGQV5+fYLbfc4vJ//7PPPnOwh1fOpc79/HNOTEzUhx9+KMuy1KdPH4d7WrIudt7GGPXu3Vt79+7VF198oR9++EH16tVT9+7dlZ6eXgq9/aVjQCGSzOeff17a3Sg11apVM++//35pd+OKGzdunGnXrl1pd6NM+OMf/2gaNWpk8vLySrsrV9SZM2eMp6enmTNnjsv6Dh06mL/+9a+l1Ksr72Lf0/bt22ckmR9++MHRPjmlON/PU1NTjSSzYMECZzrlgKLOe+DAgeb2228vlf44qTj/5rfffru5+eab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N+vXrzdTp041LVq0sGvefffdIvv0448/mipVqth1d9xxh5k+fbpZu3atWbVqlfn444/N/fffbwIDA39z+G7Xrp3x9vY2kZGR5p///KdZvXq1Wbp0qRkzZozx9fU1koy3t7dZu3ZtoWNkZ2cbDw8Pc/PNN5uJEyeab7/91qxfv94sWbLEfPjhhyYmJsbuwwMPPFBkP0oifKenp5s2bdrYx+nYsaP517/+ZVasWGHWrVtnPv/8czNq1CgTGRlZqI2cnByXft5www1m5syZZt26debLL780vXv3trc1atSoyDB1/nsdHR1tAgICzNixY83SpUvN2rVrzWuvvWaH3KCgILN3715Tt25dExoaav7v//7PLF++3Kxevdo899xzxsfHx0gyUVFRJjMzs1BbJfX1/sMPP9hteXt7m1GjRpnFixebNWvWmH/9618uv/A9+eSTRR6j4GuoQ4cOxs/PzzRo0MBMmjTJrFq1ysTHx5vx48cbPz8/I8kEBwebI0eOFHmcl19+2W6rbdu25p133jELFiww69atM59++qnLv88bb7xRaP/zw/e1115rn/esWbPM+vXrzddff23i4uLsmr59+7rsf/LkSbN582bz6KOP2jWbN28utGRlZRlj8n9xKgjeDRo0MK+88opZuHCh+eGHH8yyZcvMv//9b3PfffeZwMBAwjccQ/gGKpmUlBSzbds2ezn/h+Hy5cvt9Vu3brV/GP/3v/912Wfbtm32D7fL8evg/8ILLxSqyc7ONrGxsXbN3LlzC9UUhG9JJjIy0vz0008XbPNywre3t7dZvHhxoZrjx4+bWrVq2YGjKB06dDCSjIeHh/nss88u2J9jx46ZM2fOXLAPRSkITpJMvXr1Cl0NNMaYRYsW2VfEO3XqVGh7Xl6e2bVr1wX7ZYwxzz77rH3lcufOnYW2l0T4HjVqlH2MYcOGmby8vCLrMjMzTVJSksu6SZMmufyCUNS+f/nLXy4aRM9/r319fc2qVasK1cyZM8euqVmzpqlRo4bZvXt3obq33nrLrps1a1ah7SX19V4Q0D09Pc28efMKbT9x4oRp2bKl/fW3ZcuWQjXnfw117NjRpKamFqr55JNP7JpXX3210PatW7faV7zHjRtX5Pufm5trX82uUqWKOXHihMv287/fSDJ///vfCx0jLy/P9OjRw0gyXl5eRf4icKn/MwWeeeYZ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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "pcr_fig, ax = subplots(figsize=(8,8))\n", "n_comp = param_grid['pca__n_components']\n", @@ -9544,7 +1448,7 @@ "ax.set_ylabel('Cross-validated MSE', fontsize=20)\n", "ax.set_xlabel('# principal components', fontsize=20)\n", "ax.set_xticks(n_comp[::2])\n", - "ax.set_ylim([50000,250000]);\n" + "ax.set_ylim([50000,250000]);" ] }, { @@ -9568,29 +1472,10 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": null, "id": "9df0fb7f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:43.999739Z", - "iopub.status.busy": "2023-07-25T23:59:43.999596Z", - "iopub.status.idle": "2023-07-25T23:59:44.006697Z", - "shell.execute_reply": "2023-07-25T23:59:44.006373Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "204139.30692994667" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Xn = np.zeros((X.shape[0], 1))\n", "cv_null = skm.cross_validate(linreg,\n", @@ -9598,7 +1483,7 @@ " Y,\n", " cv=kfold,\n", " scoring='neg_mean_squared_error')\n", - "-cv_null['test_score'].mean()\n" + "-cv_null['test_score'].mean()" ] }, { @@ -9614,30 +1499,12 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": null, "id": "458c21a4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:44.008508Z", - "iopub.status.busy": "2023-07-25T23:59:44.008380Z", - "iopub.status.idle": "2023-07-25T23:59:44.010723Z", - "shell.execute_reply": "2023-07-25T23:59:44.010438Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0.3831424 , 0.21841076])" - ] - }, - "execution_count": 54, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ - "pipe.named_steps['pca'].explained_variance_ratio_\n" + "pipe.named_steps['pca'].explained_variance_ratio_" ] }, { @@ -9650,9 +1517,7 @@ "that is captured using $M$ principal components. For example, setting\n", "$M=1$ only captures 38.31% of the variance, while $M=2$ captures an additional 21.84%, for a total of 60.15% of the variance.\n", "By $M=6$ it increases to\n", - "88.63%. Beyond this the increments continue to diminish, until we use all $M=p=19$ components, which captures all 100% of the variance.\n", - "\n", - " " + "88.63%. Beyond this the increments continue to diminish, until we use all $M=p=19$ components, which captures all 100% of the variance." ] }, { @@ -9662,42 +1527,19 @@ "source": [ "### Partial Least Squares\n", "Partial least squares (PLS) is implemented in the\n", - "`PLSRegression()` function.\n", - "\n", - " " + "`PLSRegression()` function." ] }, { "cell_type": "code", - "execution_count": 55, + "execution_count": null, "id": "f49d464e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:44.012454Z", - "iopub.status.busy": "2023-07-25T23:59:44.012320Z", - "iopub.status.idle": "2023-07-25T23:59:44.016175Z", - "shell.execute_reply": "2023-07-25T23:59:44.015867Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
PLSRegression()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "PLSRegression()" - ] - }, - "execution_count": 55, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "pls = PLSRegression(n_components=2, \n", " scale=True)\n", - "pls.fit(X, Y)\n" + "pls.fit(X, Y)" ] }, { @@ -9711,47 +1553,17 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": null, "id": "8e118b5b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:44.017881Z", - "iopub.status.busy": "2023-07-25T23:59:44.017786Z", - "iopub.status.idle": "2023-07-25T23:59:44.123851Z", - "shell.execute_reply": "2023-07-25T23:59:44.123517Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
GridSearchCV(cv=KFold(n_splits=5, random_state=0, shuffle=True),\n",
-       "             estimator=PLSRegression(),\n",
-       "             param_grid={'n_components': range(1, 20)},\n",
-       "             scoring='neg_mean_squared_error')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "GridSearchCV(cv=KFold(n_splits=5, random_state=0, shuffle=True),\n", - " estimator=PLSRegression(),\n", - " param_grid={'n_components': range(1, 20)},\n", - " scoring='neg_mean_squared_error')" - ] - }, - "execution_count": 56, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "param_grid = {'n_components':range(1, 20)}\n", "grid = skm.GridSearchCV(pls,\n", " param_grid,\n", " cv=kfold,\n", " scoring='neg_mean_squared_error')\n", - "grid.fit(X, Y)\n" + "grid.fit(X, Y)" ] }, { @@ -9764,28 +1576,10 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": null, "id": "0f98407c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:44.125903Z", - "iopub.status.busy": "2023-07-25T23:59:44.125763Z", - "iopub.status.idle": "2023-07-25T23:59:44.234276Z", - "shell.execute_reply": "2023-07-25T23:59:44.233879Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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pKenn9N2AAAAcEZF81qNn+e7NmCebwAAgOqNeb4BAACAaqZCY75btGhR6Q1blqUdO3ZU+n4BAACA6qpC4bt4+r2zsSxLknT6SJaylhcvAwAAAGqLCoXvoUOHnnF9UlKS1q9fL2OM6tatqy5duth3dUxNTVVSUpKOHTsmy7LUqVOnCk39BwAAAFxsKhS+J0+eXO669957T9OmTVPjxo310ksv6ZZbbpGXl+tuCwoK9Omnn+rxxx/Xjz/+qJEjR2rEiBHu9RwAAACoYdya7WTNmjW64oorFB4ertWrVysqKuqM9QcOHFBMTIyOHDmi7777Tt26dTvfpmsVZjsBAACo3hyZ7eSVV15RQUGB/vjHP541eEtSw4YN9cc//lF5eXl6+eWX3WkaAAAAqHHcCt/Lli2TJMXGxlZ4mx49ekiSli9f7k7TAAAAQI3jVvg+dOiQJCknJ6fC2xTXFm8LAAAA1BZuhe/w8HBJ0tdff13hbb766itJUv369d1pGgAAAKhx3Arf1113nYwxevnll/Xdd9+dtf7777/XK6+8Isuy1Lt3b3eaBgAAAGoct8L3k08+KV9fX+Xk5Kh3794aPXq0kpKSXG6mY4xRUlKSxowZo+uuu07Z2dny8fHRk08+6XbnAQAAgJrErakGJWnGjBm6++67lZ+fb9+10sfHR2FhYbIsS0eOHFFubq6koiDu5eWlDz74QAMHDnS/97UEUw0CAABUb45MNShJd9xxh7777jvFxMTIGCNjjHJycnTgwAHt379fOTk59vKuXbtq+fLlBG8AAADUShW6w+XZdO/eXatXr9aaNWs0f/58bdy4UUePHpUkhYaGqkOHDurTp4+6d+9eGc0BAAAANVKlhO9i3bp1466VAAAAQDncHnYCAAAAoGIq9cy3JO3bt08pKSnKyspS9+7d5e/vX9lNAAAAADVSpZz5Pn78uJ5++mk1adJETZs2VWxsrHr16qVdu3a51H3yySe64447dP/991dGswAAAECN4vaZ723btum3v/2tdu7c6TK/d/G0gyX16NFDd999t4wxGjp0qK666ip3mwcAAABqDLfOfGdnZyshIUE7duxQQECAnnjiCc2ePbvc+mbNmqlXr16SpC+++MKdpgEAAIAax60z32+99Za2b9+uwMBALVu2TJ07dz7rNv369dOCBQuUmJjoTtMAAABAjePWme9PP/1UlmXpscceq1DwlqROnTpJKhquAgAAANQmboXvLVu2SJL69u1b4W3q1asnSUpLS3OnaQAAAKDGcSt8nzhxQpJUp06dCm+Tk5MjSfL29nanaQAAAKDGcSt8F5/F3r17d4W32bx5syQpMjLSnaYBAACAGset8N21a1dJ0tKlSyu8zQcffCDLshQXF+dO0wAAAECN41b4vu2222SM0TvvvKO9e/eetf7VV1+1g/qgQYPcaRoAAACocdwK30OGDFHHjh2VnZ2ta6+9Vl9//XWpG+0YY7R69WoNHjxYv//972VZlq6++mr169fP7c4DAAAANYllSqbl87B3715dddVV2rdvnyzLUkBAgLKysiRJ9evX1/Hjx+2LLI0xatmypb777jtFRES43/taIiMjQyEhIUpPT1dwcHBVdwcAAACnqWhec+vMtyRFR0crKSlJgwYNkoeHhzIzM2WMkTFGhw4dUnZ2tn02/I477tCqVasI3gAAAKiV3D7zXdKePXs0Z84crVmzRgcPHlRBQYHq1aunLl266MYbb9Sll15aWU3VKpz5BgAAqN4qmtcqNXzjwiB8AwAAVG8VzWte7jRSPMNJo0aN5OnpWaFtCgsLtW/fPklFQ1YAAACA2sKt8N2sWTN5eHhow4YNateuXYW22bVrl1q1aiUPDw/l5+e70zwAAABQo7h9weX5jlphtAsAAABqG7fD97kqDt0eHo43DQAAAFQpxxPwgQMHJElBQUFONw0AAABUKbfGfBezLOusNXl5edqxY4f+8pe/SJJat25dGU0DAAAANcY5he+yZjQxxuiyyy47p0Yty9Jtt912TtsAAAAANd05he/yLpI814sn77jjDo0ePfqctgEAAABqunMK3xMmTHB5/eyzz8qyLD344INnvGW8ZVny8/NTw4YNdcUVV6hly5bn11sAAACgBnPrDpceHh6yLEsbN26s8DzfOHfc4RIAAKB6c+QOl5MnT5YkNW7c2J3dAAAAALWCW+F76NChldUPAAAA4KLHnW4AAAAAh1TKPN/Fjh07pvXr1+vw4cM6efLkWWdBueeeeyqzeQAAAKBaq5TwvXjxYk2YMEHLly+v8DaWZRG+AQAAUKu4Hb7feustPfLIIzLGnPN83wAAAEBt4taY7y1btujRRx+VMUYdOnTQrFmzNGfOHElFZ7Z37Nih1atX66233lLXrl0lSVdddZU2b96snTt3ut97AAAAoAZxK3z/85//VEFBgerXr69ly5bppptuUnR0tL2+efPmiomJ0e9+9zutXr1ajz/+uJYvX65HHnlETZs2dbvzAAAAQE3iVvhesmSJLMvSo48+qqCgoDPWWpalv/3tb7ruuuu0aNEivffee+40DQAAANQ4boXvffv2SZI9pEQqCtnF8vLySm3zwAMPyBijqVOnutM0AAAAUOO4Fb6zs7MlSVFRUfaywMBA+/mxY8dKbXPJJZdIkn788Ud3mgYAAABqHLfCd1hYmCQpMzPTXhYeHm6f/f7pp59KbXP48GFJUlpamjtNAwAAADWOW+G7TZs2kqRt27bZywICAtSqVStJ0hdffFFqm88++0xSUUgHAAAAahO3wvdVV10lY4yWLVvmsvzWW2+VMUb/+Mc/NHnyZGVmZurgwYN64YUX9J///EeWZem6665zq+MAAABATWMZN+6Ms3LlSsXFxSksLEz79u2Tn5+fJOnIkSNq3bp1mWO+jTHy9/fXmjVr1LZt2/PveS2SkZGhkJAQpaenKzg4uKq7AwAAgNNUNK+5deY7NjZWkydP1t/+9jeXoF2vXj3NnTtXzZo1s+98WfyIiIjQZ599RvAGAABArePWme+zycvL08KFC7V582bl5+erVatWio+PV0BAwIVq8qLEmW8AAIDqraJ57YKGb1QOwjcAAED15siwEwAAAAAVR/gGAAAAHOJVkaIPPvjggjR+zz33XJD9AgAAANVRhcZ8e3h42HetrLSGLUv5+fmVus+LFWO+AQAAqreK5rUKnfmWiubnBgAAAHD+KjTme9euXeU+1q1bp+7du0uSLrvsMr344otasmSJtm7dqq1bt2rJkiX6+9//rg4dOkiSunfvrnXr1mnnzp3n3emlS5fqxhtvVFRUlCzL0qxZs1zW33vvvbIsy+Vx/fXXu9QcPXpUgwcPVnBwsOrWrasRI0boxIkTLjUbNmzQ1VdfLT8/PzVp0kQvvPBCqb7MnDlTbdq0kZ+fnzp06KCvvvrKZb0xRs8884waNmwof39/9enTR9u2bTvvYwcAAEANZtyQk5NjYmJijIeHh/nTn/5kCgsLy60tLCw0f/7zn41lWaZbt24mJyfnvNv96quvzP/93/+ZTz/91Egyn332mcv6oUOHmuuvv94cOHDAfhw9etSl5vrrrzedOnUyK1asMMuWLTOXXHKJGTRokL0+PT3dNGjQwAwePNhs2rTJfPzxx8bf39/861//smu+++474+npaV544QXz448/mqeeesp4e3ubjRs32jXPP/+8CQkJMbNmzTLr1683N910k2nevLk5efJkhY83PT3dSDLp6enn+E4BAADACRXNa26F77///e/Gsixz5513VnibO++803h4eJgXXnjBnaZt5YXvm2++udxtfvzxRyPJrF692l729ddfG8uyzC+//GKMMebNN980oaGhLr8kjBs3zrRu3dp+fccdd5iEhASXfcfGxprf/e53xpiiXzgiIyPNiy++aK9PS0szvr6+5uOPP67wMRK+AQAAqreK5jW3phqcNm2aLMvSvffeW+Fthg0bJmOMPvnkE3eaPqvFixcrIiJCrVu31kMPPaQjR47Y6xITE1W3bl1169bNXtanTx95eHho5cqVdk3Pnj3l4+Nj18THxys5OVnHjh2za/r06ePSbnx8vBITEyUVDddJSUlxqQkJCVFsbKxdU5acnBxlZGS4PAAAAFDzuRW+d+zYIUlq0KBBhbeJiIhw2fZCuP766/XBBx9owYIF+tvf/qYlS5aoX79+KigokCSlpKTY/Sjm5eWlsLAwpaSk2DWnH1fx67PVlFxfcruyasoyadIkhYSE2I8mTZqc0/EDAACgeqrwbCdlMadmQNm2bZu6dOlSoW2KLzY0F3D2lIEDB9rPO3TooI4dO6ply5ZavHixevfufcHarSzjx4/X2LFj7dcZGRkEcAAAgIuAW2e+27ZtK0l69dVXVVhYeNb6wsJCvfLKKy7bOqFFixaqX7++tm/fLkmKjIzUwYMHXWry8/N19OhRRUZG2jWpqakuNcWvz1ZTcn3J7cqqKYuvr6+Cg4NdHgAAAKj53Arf99xzj4wxWrlypfr373/GoRSpqam69dZbtXLlSlmW5ejdLfft26cjR46oYcOGkqS4uDilpaVp7dq1ds3ChQtVWFio2NhYu2bp0qXKy8uza+bNm6fWrVsrNDTUrlmwYIFLW/PmzVNcXJwkqXnz5oqMjHSpycjI0MqVK+0aAAAA1B4VusNleQoLC3Xttddq+fLlsixLvr6+6tu3r7p3766IiAhZlqXU1FStXr1a3377rXJycmSM0VVXXaXFixfLw+P8sv+JEyfss9hdunTRyy+/rF69eiksLExhYWF69tlnNWDAAEVGRmrHjh164okndPz4cW3cuFG+vr6SpH79+ik1NVVvv/228vLyNGzYMHXr1k3Tpk2TJKWnp6t169bq27evxo0bp02bNmn48OF65ZVX9MADD0iSvv/+e11zzTV6/vnnlZCQoE8++UR//etftW7dOl122WWSpL/97W96/vnn9f7776t58+Z6+umntWHDBv3444/y8/Or0PFyh0sAAIDqrcJ5zd1pVU6cOGFuvvlmY1mWsSzLeHh4lPkoXn/TTTeZ48ePu9XmokWLjKRSj6FDh5qsrCzTt29fEx4ebry9vU3Tpk3N/fffb1JSUlz2ceTIETNo0CBTp04dExwcbIYNG1aqX+vXrzdXXXWV8fX1NY0aNTLPP/98qb7MmDHDXHrppcbHx8e0b9/ezJkzx2V9YWGhefrpp02DBg2Mr6+v6d27t0lOTj6n42WqQQAAgOqtonnNrTPfJc2ZM0dvvfWWFi9erKysLJd1/v7+uvbaa/XQQw/phhtuqIzmahXOfAMAAFRvFc1rlRa+ixUWFmrHjh06evSoJCk0NFQtW7aUp6dnZTZTqxC+AQAAqreK5jW3phosi4eHh1q1alXZuwUAAABqPLdmOwEAAABQcYRvAAAAwCEVGnYyfPhwSZJlWXr33XdLLT8fp+8LAAAAuNhV6IJLDw8PWZYlSSooKChz+bkwxsiyLJd9oXxccAkAAFC9VeoFl9HR0WWG7PKWAwAAACitQuF79+7d57QcAAAAQGlccAkAAAA4hPANAAAAOITwDQAAADiE8A0AAAA4pEIXXLZo0aLSG7YsSzt27Kj0/QIAAADVlVuznbiDKQoBAABQ21QofA8dOvRC9wMAAAC46FUofE+ePPlC9wMAAAC46HHBJQAAAOAQwjcAAADgEMI3AAAA4JAKjfk+F7t379bhw4d18uRJGWPOWNuzZ8/Kbh4AAACotiolfCcnJ+uvf/2rvvjiC2VkZFRoG8uylJ+fXxnNAwAAADWC2+F71qxZGjx4sLKzs896phsAAACozdwK3z///LPuvvtunTx5Uo0aNdLjjz+ugIAAPfDAA7IsS/Pnz9fRo0e1Zs0affjhh9q/f7+uuuoqTZw4UZ6enpV1DAAAAECNYBk3Tlc//vjjeumllxQUFKQtW7YoKipKmzdvVocOHWRZlgoKCuzakydPasSIEZo+fboGDhyojz76qFIOoDbIyMhQSEiI0tPTFRwcXNXdAQAAwGkqmtfcmu1k/vz5sixLDz/8sKKios5Y6+/vr6lTp6pLly765JNP9L///c+dpgEAAIAax63wvXv3bknSFVdcYS+zLMt+fvoFlR4eHnr00UdljNF7773nTtMAAABAjeNW+M7MzJQkNWnSxF4WEBBgP09PTy+1Tfv27SVJ69evd6dpAAAAoMZxK3yHhIRIkrKzs+1l9erVs5/v2LGj1DbFgfzw4cPuNA0AAADUOG6F79atW0uSdu7caS8LCgpS06ZNJUnffvttqW3mzZsnSapbt647TQMAAAA1jlvhOy4uTpK0YsUKl+U33HCDjDF68cUXtWjRInv5jBkz9Nprr8myLF155ZXuNA0AAADUOG5NNbho0SL17t1bUVFR2rNnjz139969e9WuXTudPHlSkhQWFqbs7GxlZWXJGCNPT08tW7ZMPXr0qJyjuMgx1SAAAED15shUg9dee60mTJigYcOG6ZdffrGXR0dHa+bMmQoJCZExRkeOHFFmZqaMMfL19dW///1vgjcAAABqHbfOfJ/NkSNH9N///lebN29Wfn6+WrVqpTvuuEONGjW6UE1elDjzDQAAUL1VNK9d0PCNykH4BgAAqN4cGXYCAAAAoOLcCt89evTQ66+/rkOHDlVWfwAAAICLllvhe9WqVXrsscfUqFEj9evXT1OnTrXvegkAAADAlVvhu1WrVjLGKD8/X99++62GDh2qBg0a6K677tKcOXNUUFBQWf0EAAAAajy3wndycrJWr16tMWPGqGHDhjLGKCsrS9OnT9dNN92khg0batSoUfr+++8rq78AAABAjVVps50YY7Ro0SJNmzZNn376qdLS0ooasCxJUtOmTTV48GDdddddatu2bWU0WWsw2wkAAED1VqVTDebm5mrOnDmaNm2a5syZo+zs7KLGTgXxTp066e6779bYsWMru+mLEuEbAACgeqs283wfP35c//3vfzVt2jQtXrzYHgduWRZjwiuI8A0AAFC9VZt5voOCgjRs2DB9++23mjJliurWrXuhmwQAAACqJa8L3cC6des0bdo0ffLJJzpw4MCFbg41WFZuvto9M1eS9ONz8QrwueBfngAAAI66IOlm586d+uijjzRt2jT99NNPkoouyJSkwMBA9e/fX4MHD74QTQMAAADVVqWF70OHDumTTz7RtGnTtGrVKkm/Bm4vLy/17dtXgwcP1s0336yAgIDKahYAAACoMdwK35mZmfr000/10UcfaeHChfYFlMWhOy4uToMHD9Ydd9yh+vXru99bAAAAoAZzK3xHRETY0wgWB+42bdrY83k3b97c/R4CtUBVjndnrD0AAM5x66fsyZMnJUlRUVEaOHCgBg8erC5dulRKxwAAAICLjVvhe9iwYRo8eLB69epl30AHqKk4AwwAAC40t9LFu+++W1n9AAAAAC56F+QmO7t379Z1112n3r17X4jdAwAAADXSBfm7emZmphYvXsxQFAAAADiuOg8lveC3lweAM8nKzVezJ+eo2ZNzlJWbX9XdAQBUAj7by0f4BgAAABxC+IYLflMFAAC4cAjfAAAAgEMI3wAAAIBDLsilnxEREZowYcKF2DUAAABQY12Q8B0eHk74BgAAAE7DsBMAAADAIRd8xvEvv/xSM2bM0OHDh9W8eXPdd9996tq164VuFgAAAKh23DrzvWjRIkVERCg6OlppaWml1j/99NPq37+/pk2bpm+//Vb/+te/1KNHD3344YfuNAsAAADUSG6F76+++kqHDx9W9+7dVbduXZd1GzZs0F//+lcZY2SMUd26dWWMUX5+vn73u99p9+7d7jQNAG5jXnsAgNPcCt/Lly+XZVnq06dPqXVvvfWWjDEKDQ3V2rVrdeTIEa1atUphYWHKycnR22+/7U7TAAAAQI3jVvg+cOCAJKl9+/al1s2ePVuWZWnUqFHq0qWLJKlbt24aNWqUjDGaP3++O00DAAAANY5b4fvQoUOSVGrIyY4dO/TLL79Ikm655RaXdVdffbVdc76WLl2qG2+8UVFRUbIsS7NmzbLX5eXlady4cerQoYMCAwMVFRWle+65R/v373fZR7NmzWRZlsvj+eefd6nZsGGDrr76avn5+alJkyZ64YUXSvVl5syZatOmjfz8/NShQwd99dVXLuuNMXrmmWfUsGFD+fv7q0+fPtq2bdt5HzsAAABqLrfCtzFGkpSenu6yfNmyZZKkkJAQde7c2WVdvXr1JElZWVnn3W5mZqY6deqkN954o9S6rKwsrVu3Tk8//bTWrVunTz/9VMnJybrppptK1T733HM6cOCA/XjkkUfsdRkZGerbt6+aNm2qtWvX6sUXX9TEiRP1zjvv2DXff/+9Bg0apBEjRuiHH35Q//791b9/f23atMmueeGFF/SPf/xDb7/9tlauXKnAwEDFx8crOzv7vI8fAADgbLiupXpya6rByMhI7dmzR1u2bLHPaEvS3LlzJUlXXnllqW0yMzMlSaGhoefdbr9+/dSvX78y14WEhGjevHkuy15//XVdfvnl2rt3r6Kjo+3lQUFBioyMLHM/H330kXJzc/Xee+/Jx8dH7du3V1JSkl5++WU98MADkqTXXntN119/vR5//HFJ0p/+9CfNmzdPr7/+ut5++20ZY/Tqq6/qqaee0s033yxJ+uCDD9SgQQPNmjVLAwcOPO/3AAAAADWPW2e+e/ToIWOM3nrrLftM9s6dO/X555/Lsiz95je/KbXNTz/9JEnlht4LIT09XZZllRoe8/zzz6tevXrq0qWLXnzxReXn//pbYWJionr27CkfHx97WXx8vJKTk3Xs2DG75vSLTePj45WYmChJ2rVrl1JSUlxqQkJCFBsba9eUJScnRxkZGS4PAADcUZVnQTkDC/zKrfB93333SSoaG33ZZZfptttuU48ePZSdnS1/f3/dddddpbZZunSpJOnSSy91p+kKy87O1rhx4zRo0CAFBwfbyx999FF98sknWrRokX73u9/pr3/9q5544gl7fUpKiho0aOCyr+LXKSkpZ6wpub7kdmXVlGXSpEkKCQmxH02aNDnXwwaAMyIMAc7gew2nc2vYyXXXXafHHntMr732mnbv3q09e/bY48BffPFF1a9f36U+OzvbPives2dPd5qukLy8PN1xxx322fmSxo4daz/v2LGjfHx89Lvf/U6TJk2Sr6/vBe/bmYwfP96lfxkZGQRwXDDF37OStGb3MdWr46M6vl4K9PVSHV8v+Xp5yLKsKuzhxSkrN1/tnikaovfjc/EK8LngNxwGAFQDbn/av/LKK+rdu7dmzpyplJQUNWzYUPfcc4+uu+66UrVffPGFgoODFRISohtvvNHdps+oOHjv2bNHCxcudDnrXZbY2Fjl5+dr9+7dat26tSIjI5WamupSU/y6eMhMeTUl1xcva9iwoUvN6ReiluTr61vlvwDg4mWM0c7DmVq166hW7TqqxJ1H7HX3vLeqVL2nh6VAH08F+Xkr0NfTDuWBPsUB/dQyv9OXeynQ1/PXIO9XtM7TgyAPwDn8oovqplK+Am+44QbdcMMNZ6274447dMcdd1RGk2dUHLy3bdum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165d5evrq0suuURTpkwp1Zc33nhDzZo1k5+fn2JjY7Vq1aoLdtwAAACovi7a8L169WodOHDAfsybN0+SdPvtt9s1999/v0vNCy+8YK8rKChQQkKCcnNz9f333+v999/XlClT9Mwzz9g1u3btUkJCgnr16qWkpCSNHj1a9913n+bOnWvXTJ8+XWPHjtWECRO0bt06derUSfHx8Tp48KAD7wIAAACqE8sYY6q6E04YPXq0Zs+erW3btsmyLF177bXq3LmzXn311TLrv/76a91www3av3+/GjRoIEl6++23NW7cOB06dEg+Pj4aN26c5syZo02bNtnbDRw4UGlpafrmm28kSbGxserevbtef/11SVJhYaGaNGmiRx55RE8++WSF+p6RkaGQkBClp6crODjYjXcBAAAAF0JF89pFe+a7pNzcXE2dOlXDhw+XZVn28o8++kj169fXZZddpvHjxysrK8tel5iYqA4dOtjBW5Li4+OVkZGhzZs32zV9+vRxaSs+Pl6JiYl2u2vXrnWp8fDwUJ8+feyasuTk5CgjI8PlAQAAgJrPq6o74IRZs2YpLS1N9957r73srrvuUtOmTRUVFaUNGzZo3LhxSk5O1qeffipJSklJcQnekuzXKSkpZ6zJyMjQyZMndezYMRUUFJRZs3Xr1nL7O2nSJD377LPnfbwAAAConmpF+H733XfVr18/RUVF2cseeOAB+3mHDh3UsGFD9e7dWzt27FDLli2ropu28ePHa+zYsfbrjIwMNWnSpAp7BAAAgMpw0YfvPXv2aP78+fYZ7fLExsZKkrZv366WLVsqMjKy1KwkqampkqTIyEj73+JlJWuCg4Pl7+8vT09PeXp6lllTvI+y+Pr6ytfXt2IHCAAAgBrjoh/zPXnyZEVERCghIeGMdUlJSZKkhg0bSpLi4uK0ceNGl1lJ5s2bp+DgYLVr186uWbBggct+5s2bp7i4OEmSj4+PYmJiXGoKCwu1YMECuwYAAAC1x0UdvgsLCzV58mQNHTpUXl6/nuTfsWOH/vSnP2nt2rXavXu3vvjiC91zzz3q2bOnOnbsKEnq27ev2rVrpyFDhmj9+vWaO3eunnrqKY0cOdI+K/3ggw9q586deuKJJ7R161a9+eabmjFjhsaMGWO3NXbsWP373//W+++/ry1btuihhx5SZmamhg0b5uybAQAAgCp3UQ87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e09PT82ePVsPPfSQ4uLiFBgYqKFDh+q5556za5o3b645c+ZozJgxeu2119S4cWP95z//UXx8vF1z55136tChQ3rmmWeUkpKizp0765tvvil1EWZ14+vrqwkTJpQa+lIb1NZjr63HLXHstfHYa+txS7X32GvrcUsce3U89otynm8AAACgOrooh50AAAAA1RHhGwAAAHAI4RsAAABwCOEbAAAAcAjhG7alS5fqxhtvVFRUlCzL0qxZs6q6S45466231LFjR3sS/ri4OH399ddV3S1HTJw4UZZluTzatGlT1d1yRLNmzUodu2VZGjlyZFV37YI7fvy4Ro8eraZNm8rf319XXHGFVq9eXdXdqnRn+0z79NNP1bdvX/vuwUlJSVXSzwvhbMc+ceJEtWnTRoGBgQoNDVWfPn20cuXKqulsJTrbcd97772lvuevv/76qulsJTvbsZf1eWdZll588cWq6XAlOdtxp6am6t5771VUVJQCAgJ0/fXXa9u2bVXT2VMI37BlZmaqU6dOeuONN6q6K45q3Lixnn/+ea1du1Zr1qzRddddp5tvvlmbN2+u6q45on379jpw4ID9WL58eVV3yRGrV692Oe558+ZJkm6//fYq7tmFd99992nevHn68MMPtXHjRvXt21d9+vTRL7/8UtVdq1Rn+0zLzMzUVVddpb/97W8O9+zCO9uxX3rppXr99de1ceNGLV++XM2aNVPfvn116NAhh3tauSryc+z66693+d7/+OOPHezhhXO2Yy95zAcOHNB7770ny7I0YMAAh3tauc503MYY9e/fXzt37tTnn3+uH374QU2bNlWfPn2UmZlZBb39tWNAKZLMZ599VtXdqDKhoaHmP//5T1V344KbMGGC6dSpU1V3o1p47LHHTMuWLU1hYWFVd+WCysrKMp6enmb27Nkuy7t27Wr+7//+r4p6deGd6TNt165dRpL54YcfHO2TUyryeZ6enm4kmfnz5zvTKQeUddxDhw41N998c5X0x0kV+T+/+eabzXXXXedMhxxy+nEnJycbSWbTpk32soKCAhMeHm7+/e9/V0EPi3DmGyihoKBAn3zyiTIzMxUXF1fV3XHEtm3bFBUVpRYtWmjw4MHau3dvVXfJcbm5uZo6daqGDx8uy7KqujsXVH5+vgoKCuTn5+ey3N/fv9b81QOucnNz9c477ygkJESdOnWq6u5ccIsXL1ZERIRat26thx56SEeOHKnqLjkuNTVVc+bM0YgRI6q6KxdUTk6OJLl83nl4eMjX17dKP+8I34CkjRs3qk6dOvL19dWDDz6ozz77TO3atavqbl1wsbGxmjJlir755hu99dZb2rVrl66++modP368qrvmqFmzZiktLU333ntvVXflggsKClJcXJz+9Kc/af/+/SooKNDUqVOVmJioAwcOVHX34KDZs2erTp068vPz0yuvvKJ58+apfv36Vd2tC+r666/XBx98oAULFuhvf/ublixZon79+qmgoKCqu+ao999/X0FBQbr11luruisXVJs2bRQdHa3x48fr2LFjys3N1d/+9jft27evSj/vLsrbywPnqnXr1kpKSlJ6err++9//aujQoVqyZMlFH8D79etnP+/YsaNiY2PVtGlTzZgx46I/I1LSu+++q379+ikqKqqqu+KIDz/8UMOHD1ejRo3k6emprl27atCgQVq7dm1Vdw0O6tWrl5KSknT48GH9+9//1h133KGVK1cqIiKiqrt2wQwcONB+3qFDB3Xs2FEtW7bU4sWL1bt37yrsmbPee+89DR48uNRfwC423t7e+vTTTzVixAiFhYXJ09NTffr0Ub9+/WSq8AbvnPkGJPn4+OiSSy5RTEyMJk2apE6dOum1116r6m45rm7durr00ku1ffv2qu6KY/bs2aP58+frvvvuq+quOKZly5ZasmSJTpw4oZ9//lmrVq1SXl6eWrRoUdVdg4MCAwN1ySWXqEePHnr33Xfl5eWld999t6q75agWLVqofv36teozb9myZUpOTq41n3kxMTFKSkpSWlqaDhw4oG+++UZHjhyp0s87wjdQhsLCQnusWG1y4sQJ7dixQw0bNqzqrjhm8uTJioiIUEJCQlV3xXGBgYFq2LChjh07prlz5+rmm2+u6i6hCtXGz719+/bpyJEjteoz791331VMTEytGN9fUkhIiMLDw7Vt2zatWbOmSj/vGHYC24kTJ1x++9+1a5eSkpIUFham6OjoKuzZhTV+/Hj169dP0dHROn78uKZNm6bFixdr7ty5Vd21C+4Pf/iDbrzxRjVt2lT79+/XhAkT5OnpqUGDBlV11xxRWFioyZMna+jQofLyqj0fh3PnzpUxRq1bt9b27dv1+OOPq02bNho2bFhVd61Sne0z7ejRo9q7d6/2798vSUpOTpYkRUZGKjIyskr6XFnOdOz16tXTX/7yF910001q2LChDh8+rDfeeEO//PJLjZ9q80zHHRYWpmeffVYDBgxQZGSkduzYoSeeeEKXXHKJ4uPjq7DXlaMiP8MzMjI0c+ZMvfTSS1XVzUp3tuOeOXOmwsPDFR0drY0bN+qxxx5T//791bdv36rrdJXNs4JqZ9GiRUZSqcfQoUOrumsX1PDhw03Tpk2Nj4+PCQ8PN7179zbffvttVXfLEXfeeadp2LCh8fHxMY0aNTJ33nmn2b59e1V3yzFz5841kkxycnJVd8VR06dPNy1atDA+Pj4mMjLSjBw50qSlpVV1tyrd2T7TJk+eXOb6CRMmVGm/K8OZjv3kyZPmlltuMVFRUcbHx8c0bNjQ3HTTTWbVqlVV3W23nem4s7KyTN++fU14eLjx9vY2TZs2Nffff79JSUmp6m5Xior8DP/Xv/5l/P39L6rv97Md92uvvWYaN25svL29TXR0tHnqqadMTk5OlfbZMqYKR5wDAAAAtQhjvgEAAACHEL4BAAAAhxC+AQAAAIcQvgEAAACHEL4BAAAAhxC+AQAAAIcQvgEAAACHEL4BAAAAhxC+AVzUdu/eLcuyZFmWpkyZUtXdKdPEiRPtPlZnNeG9BIDqjvANQJKUmJgoy7IUGBio/Px8e3laWpo8PT1lWZb27t1bhT0EAKDmI3wDkCR99913kqTY2Fh5eXm5LC8sLFSTJk0UHR1dVd0DAFtN+WsRUBbCNwBJv4bvq666ymX5smXLylxeUzRr1kzGGBljdO+991Z1d8o0ceJEu48AgIsb4RuAJOn777+XVDpkL1++vMzlAADg3BG+AWj79u06ePCgPD09FRcXZy/Pzs7W6tWrJRG+AQCoDIRvAPaQk44dOyooKMhevmrVKuXm5qpu3bq67LLL3G5nypQp9jjN3bt3KycnR3//+9/VtWtXhYSEKDg4WLGxsXrzzTdVUFBQ7n6uvfZaWZala6+9VpK0bds2jRo1Sq1atVJAQIC9f+nsM3ScPnY0OztbL774orp27aqgoCAFBQXp8ssv1+uvv+5yIWp5cnJy9M477yghIUGNGjWSr6+vAgMD1b59e913332aO3duqeElZxu/2qxZM1mWZQ+bWb16tQYNGqQmTZrIz89PTZo00bBhw7R169Yz9u3AgQN68803ddttt6lVq1YKDAyUr6+vGjVqpJtvvlnTp09XYWHhWY+xsnz11Ve6++671aJFCwUGBsrPz0/NmzfXgAEDNGXKFGVlZZW5XWFhoaZOnarf/va3ioyMlI+Pj8LDw9WrVy+9+eabys3NLbfN09/rjIwMTZw4UR06dFCdOnUUERGh3/72t/ZfgoodPHhQTz31lNq3b6/AwEDVq1dPN998s3744Ydy26qsr/dihw4d0lNPPaUuXbqobt268vPzU7NmzTRkyBD7L1TlOf1rKDk5Wffff7+aNWsmX19fNWjQQLfccotWrFhx1n5IRb+wjxkzRh06dFBISIj8/f3VokUL3XvvvVqzZk252y1evNh+TxYvXixJmjFjhnr37q3w8HD5+/urdevWeuKJJ3T06NFS2xe/p88++6y9rHh/JR/F3//F1q5dqxEjRujSSy+1v9aaNGmimJgYjRw5Ul988QXDvuAcA6BWmTx5spHk9mPXrl1utb1u3ToTExNT7v579uxpjh8/XuZ+rrnmGiPJXHPNNWbWrFkmMDCw3P7t2rXLXjZ58uRS+5owYYK9PiUlxXTu3LncPt14442moKCg3OP74YcfTPPmzc/5vSvZh7I0bdrUSDJDhw417777rvHy8ipzv76+vmbGjBll7iM/P994eHictW+/+c1vyn3fz/ZeVtThw4dN7969z9qXsto4cuSIufLKK8+4Xdu2bc3u3bvLbLvke713715z6aWXlrkPT09P+71cv369adSoUbnv+cKFC8tsq7K+3o0xZu7cuSY4OPiMxz1y5Mhyvz5Lfg19+umnJiAgoNzj/uSTT874//fiiy8ab2/vcvthWZZ5+umny9x20aJFdt2CBQvM3XffXe5+LrnkEnPgwIFy39OKfo+9/PLLFfraP9P7D1QmwjdQy1SX8N29e3cjydx5553mq6++MmvWrDHTpk2zl0sy/fv3L3M/xeG7efPmpk6dOiY8PNw8//zz5rvvvjMrVqww//znP82hQ4eMMecWvq+44grj4+NjHn30UTNv3jyzdu1aM23aNNO2bVu75u233y6zTz/++KOpU6eOXXfLLbeY6dOnm9WrV5sVK1aYDz74wNx9990mMDDwvMN3p06djLe3t4mKijL//Oc/zcqVK82SJUvMuHHjjK+vr5FkvL29zerVq0vtIy8vz3h4eJjrrrvOvPjii+abb74xa9euNYsXLzbvvfeeiYuLs/twzz33lNmPygjfmZmZpkOHDvZ+YmJizL/+9S/z3XffmTVr1pjPPvvMjBkzxkRFRZVqIz8/36Wf11xzjZk5c6ZZs2aN+eKLL0z//v3tdS1btiwzTJV8r2NjY01AQIAZP368WbJkiVm9erV55ZVX7JAbFBRkdu7caZo0aWLCwsLMX/7yF7N8+XKzcuVK8+yzzxofHx8jyURHR5ucnJxSbVXW1/sPP/xgt+Xt7W3GjBljFi1aZFatWmX+9a9/ufzC98QTT5S5j+Kvoa5duxo/Pz/TvHlz8/rrr5sVK1aYxMREM3HiROPn52ckmeDgYHPw4MEy9/PCCy/YbXXs2NG89dZbZv78+WbNmjXmo48+cvn/ee2110ptXzJ8X3HFFfZxf/rpp2bt2rXmq6++MgkJCXbNwIEDXbY/duyY2bhxo3nooYfsmo0bN5Z65ObmGmOKfnEqDt7Nmzc3L730klmwYIH54YcfzNKlS82///1vc9ddd5nAwEDCNxxD+AZqmbS0NLNlyxb7UfKH4fLly+3lmzdvtn8Y//e//3XZZsuWLfYPt3NxevD/61//WqomLy/PxMfH2zVz5swpVVMcviWZqKgos2fPnnLbPJfw7e3tbRYtWlSq5siRI6ZBgwZ24ChL165djSTj4eFhPv7443L7c/jwYZOVlVVuH8pSHJwkmaZNm5Y6G2iMMQsXLrTPiHfv3r3U+sLCQrNt27Zy+2WMMc8884x95vKnn34qtb4ywveYMWPsfYwcOdIUFhaWWZeTk2NSUlJclr3++usuvyCUte0f//jHMwbRku+1r6+vWbFiRama2bNn2zXh4eGmfv36Zvv27aXq3njjDbvu008/LbW+sr7eiwO6p6enmTt3bqn1R48eNe3atbO//jZt2lSqpuTXUExMjElPTy9VM3XqVLvm5ZdfLrV+8+bN9hnvCRMmlPn+FxQU2Gez69SpY44ePeqyvuTnjSTz5z//udQ+CgsLTd++fY0k4+XlVeYvAmf7nin29NNPG0kmMDCw1NdTSWlpaWf8qxZQmQjfQC03Y8YM+6xQSUlJSUaS8ff3P6+gXZaSYaRjx47lBq+ff/7Z/iGfkJBQan3J8P3BBx+csc1zCd9jx44tdz9PPvmkHUzT0tJc1s2dO9fex+jRo8/Yn7KcS/j+73//W+5+Sp4NLOvs99nk5+eb+vXrG0nm73//e6n17obvY8eO2cMdYmJiTH5+/jltX/wXiPDwcJORkVFmTV5enmnTpo2RZEJDQ012drbL+pLv9bhx48ptq+R7/tZbb5VZk5WVZf+COmbMmFLrK+PrfeXKlfY+HnzwwXL7u3z5crvu4YcfPuPxrF+/vsx9FBYWmqioKCMV/eXmdMOHDzeSTLdu3co9FmOK/p+L/xLzzjvvuKwrGb5jYmLK3c8333xj133++eel1lc0fN9///1GkunSpcsZ6wAnccElUMuVN4938UWY3bp1k7e3d6W3O3To0HIvMGzcuLH69u0rqegCrfIuRvPx8dHtt99eaX0aPHhwuetiYmIkScYY7dq1y2Xd7Nmz7eejR4+utP6cLjQ0VDfffHO564cPH24/nz9//hn3VVhYqP379ys5OVmbNm3Spk2btGXLFjVu3FiStH79+srpdAkLFy60L6J89NFH5enpWeFt9+/fry1btkiS7rjjDpcLg0vy8vLSsGHDJEnHjh3TunXryt3nwIEDy13XsWNHSUUX8915551l1vj7+6tVq1aSpJ07d56x/+f79V7y/3HEiBHl7v/KK69U27ZtS21zug4dOtjHdjrLstSlSxdJZR/Pl19+KUkaMGDAGW9uU7duXXXo0EFS0Z1zy3PXXXeVu5/i77fy+lJRDRs2lCT9+OOPWrVq1XnvB6hMhG+glitvHu/i2R6uvPLKC9Ju9+7dz7j+8ssvlyRlZmaW+8O3VatW8vPzq7Q+tWnTptx1YWFh9vPjx4+7rCue8SI6OlpNmzattP6crkuXLi53Hz1d586d5ePjI0nauHFjqfXGGE2dOlW9evVSnTp11KhRI7Vp00YdOnSwH0lJSZKkw4cPV3r/S84McvXVV5/Ttps2bbKfx8bGnrG25PqS253u0ksvLXdd3bp1JUn169dXaGjoWetO/5o43fl+vRf338fHR507dz7jPoqPe9u2beXO+HKmr3Hp16/z049nz549OnTokCRp/PjxZc4wUvJRPONJSkpKuW2d7/fbuRg0aJC8vb2Vk5OjK6+8UjfeeKPefvttbdq0idlNUGUI30Atdvz4cW3YsEFS+We+r7jiigvSdkRExBnXN2jQwH5e1pRjks4Yis5HQEBAues8PH79uDz9THxxUC0+y3ahnO098/LyskPL6e9Zdna2EhISNGTIEC1evFgnT548477Otv58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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "pls_fig, ax = subplots(figsize=(8,8))\n", "n_comp = param_grid['n_components']\n", @@ -9795,7 +1589,7 @@ "ax.set_ylabel('Cross-validated MSE', fontsize=20)\n", "ax.set_xlabel('# principal components', fontsize=20)\n", "ax.set_xticks(n_comp[::2])\n", - "ax.set_ylim([50000,250000]);\n" + "ax.set_ylim([50000,250000]);" ] }, { @@ -9811,20 +1605,8 @@ "metadata": { "jupytext": { "cell_metadata_filter": "-all", - "formats": "ipynb,Rmd", + "formats": "ipynb,md:myst", "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch7-nonlin-lab.ipynb b/docs/source/labs/Ch7-nonlin-lab.ipynb index 798a73a..54807a8 100644 --- a/docs/source/labs/Ch7-nonlin-lab.ipynb +++ b/docs/source/labs/Ch7-nonlin-lab.ipynb @@ -2,16 +2,16 @@ "cells": [ { "cell_type": "markdown", - "id": "6c5aa81b", - "metadata": {}, - "source": [] - }, - { - "cell_type": "markdown", - "id": "88fced67", + "id": "8d006b12", "metadata": {}, "source": [ "# Non-Linear Modeling\n", + "\n", + "\n", + " \"Open\n", + "\n", + "\n", + "\n", "In this lab, we demonstrate some of the nonlinear models discussed in\n", "this chapter. We use the `Wage` data as a running example, and show that many of the complex non-linear fitting procedures discussed can easily be implemented in \\Python.\n", "\n", @@ -20,16 +20,9 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "77af2dc4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:45.681484Z", - "iopub.status.busy": "2023-07-25T23:59:45.681169Z", - "iopub.status.idle": "2023-07-25T23:59:46.716705Z", - "shell.execute_reply": "2023-07-25T23:59:46.716226Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np, pandas as pd\n", @@ -54,16 +47,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "b57d1d51", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:46.718874Z", - "iopub.status.busy": "2023-07-25T23:59:46.718688Z", - "iopub.status.idle": "2023-07-25T23:59:46.729795Z", - "shell.execute_reply": "2023-07-25T23:59:46.729463Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from pygam import (s as s_gam,\n", @@ -78,7 +64,7 @@ "from ISLP.pygam import (approx_lam,\n", " degrees_of_freedom,\n", " plot as plot_gam,\n", - " anova as anova_gam)\n" + " anova as anova_gam)" ] }, { @@ -93,21 +79,14 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "65f0e562", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:46.731616Z", - "iopub.status.busy": "2023-07-25T23:59:46.731518Z", - "iopub.status.idle": "2023-07-25T23:59:46.739064Z", - "shell.execute_reply": "2023-07-25T23:59:46.738783Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "Wage = load_data('Wage')\n", "y = Wage['wage']\n", - "age = Wage['age']\n" + "age = Wage['age']" ] }, { @@ -123,103 +102,14 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "a391fae6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:46.740875Z", - "iopub.status.busy": "2023-07-25T23:59:46.740748Z", - "iopub.status.idle": "2023-07-25T23:59:46.814762Z", - "shell.execute_reply": "2023-07-25T23:59:46.813114Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefstd errtP>|t|
intercept111.70360.729153.2830.000
poly(age, degree=4)[0]447.067939.91511.2010.000
poly(age, degree=4)[1]-478.315839.915-11.9830.000
poly(age, degree=4)[2]125.521739.9153.1450.002
poly(age, degree=4)[3]-77.911239.915-1.9520.051
\n", - "
" - ], - "text/plain": [ - " coef std err t P>|t|\n", - "intercept 111.7036 0.729 153.283 0.000\n", - "poly(age, degree=4)[0] 447.0679 39.915 11.201 0.000\n", - "poly(age, degree=4)[1] -478.3158 39.915 -11.983 0.000\n", - "poly(age, degree=4)[2] 125.5217 39.915 3.145 0.002\n", - "poly(age, degree=4)[3] -77.9112 39.915 -1.952 0.051" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "poly_age = MS([poly('age', degree=4)]).fit(Wage)\n", "M = sm.OLS(y, poly_age.transform(Wage)).fit()\n", - "summarize(M)\n" + "summarize(M)" ] }, { @@ -241,10 +131,7 @@ "`Wage`. This recomputes and stores as attributes any parameters needed by `Poly()`\n", "on the training data, and these will be used on all subsequent\n", "evaluations of the `transform()` method. For example, it is used\n", - "on the second line, as well as in the plotting function developed below.\n", - "\n", - "\n", - " \n" + "on the second line, as well as in the plotting function developed below." ] }, { @@ -258,22 +145,15 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "d672f40e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:46.819794Z", - "iopub.status.busy": "2023-07-25T23:59:46.819458Z", - "iopub.status.idle": "2023-07-25T23:59:46.827533Z", - "shell.execute_reply": "2023-07-25T23:59:46.826805Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "age_grid = np.linspace(age.min(),\n", " age.max(),\n", " 100)\n", - "age_df = pd.DataFrame({'age': age_grid})\n" + "age_df = pd.DataFrame({'age': age_grid})" ] }, { @@ -288,22 +168,14 @@ "transform), as well as a grid of `age` values. The function\n", "produces a fitted curve as well as 95% confidence bands. By using\n", "an argument for `basis` we can produce and plot the results with several different\n", - "transforms, such as the splines we will see shortly. " + "transforms, such as the splines we will see shortly." ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "56174265", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:46.833075Z", - "iopub.status.busy": "2023-07-25T23:59:46.832741Z", - "iopub.status.idle": "2023-07-25T23:59:46.848016Z", - "shell.execute_reply": "2023-07-25T23:59:46.842611Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "def plot_wage_fit(age_df, \n", @@ -328,7 +200,7 @@ " ax.set_title(title, fontsize=20)\n", " ax.set_xlabel('Age', fontsize=20)\n", " ax.set_ylabel('Wage', fontsize=20);\n", - " return ax\n" + " return ax" ] }, { @@ -350,43 +222,14 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "1a10422f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:46.853147Z", - "iopub.status.busy": "2023-07-25T23:59:46.852739Z", - "iopub.status.idle": "2023-07-25T23:59:47.050039Z", - "shell.execute_reply": "2023-07-25T23:59:47.048574Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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w+v1Ynh4OOO4T51OB7vdjuHhYXi93hlqIZUDXkdEpY1BMRFRHpFIBPF4HCaTKePrZrMZ8XgckUikyC2jcsLriKi0MSgmIsrDYrHAaDQiFotlfD0ajcJoNMJisRS5ZVROeB0RlTYGxUREeTgcDjidTni93knjPRVFgc/ng9PphMPhmKEWUjngdURU2hgUExHlodPp0NbWBqvVCrfbjXA4jGQyiXA4DLfbDavVira2NuaZpZx4HRGVNp3Caa4nzefzweFwwOv1wm63z3RziGiaMb8saYHXEVFxqY3XmKeYiEgll8slH3+zEhmdLF5HRKWJQTER0RTodDrU1NTMdDOozPE6Iio9HFNMRERERHNeWQbF3/zmN7F27VpUV1ejoaEB73znO9Hd3Z22zFve8hbodLq0P7fcckvaMkePHsUVV1wBq9WKhoYG3HHHHYjH48XcFSIiIiIqAWU5fOLZZ5/FbbfdhrVr1yIej+Nzn/scLrnkEuzduxdVVVVyuZtvvhlf+cpX5P+tVqv8dyKRwBVXXIGmpia8+OKL6O/vxw033ACTyYRvfOMbRd0fIiIiIppZsyL7hNvtRkNDA5599lls3LgRwIme4jVr1uB73/texvf87W9/w5VXXom+vj40NjYCAH784x/js5/9LNxuN8xmc97tMvsEERERUWlTG6+V5fCJiUSd+Lq6urSfP/TQQ3A6nTjttNNw5513IhgMyte2bduG1atXy4AYAC699FL4fD688cYbGbcTiUTg8/nS/hARERFR+SvL4ROpkskk/vVf/xXnnXceTjvtNPnzf/mXf8HChQsxb9487N69G5/97GfR3d2NP/zhDwCAgYGBtIAYgPz/wMBAxm1985vfxF133TVNe0JEREREM6Xsg+LbbrsNe/bswdatW9N+/uEPf1j+e/Xq1WhubsZFF12EN998E0uWLDmpbd1555341Kc+Jf/v8/mwYMGCk2s4EREREZWMsh4+cfvtt+Mvf/kLtmzZgpaWlpzLdnR0AAAOHjwIAGhqasLg4GDaMuL/TU1NGddhsVhgt9vT/hARERFR+SvLoFhRFNx+++149NFH8fTTT2Px4sV537Nr1y4AQHNzMwBg/fr1eP311zE0NCSXefLJJ2G327Fy5cppaTcRERERlaayHD5x22234eGHH8af/vQnVFdXyzHADocDlZWVePPNN/Hwww/j8ssvR319PXbv3o1PfvKT2LhxI04//XQAwCWXXIKVK1fi+uuvx7e//W0MDAzg85//PG677TZYLJaZ3D0iIiIiKrKyTMmWrT78/fffj5tuugnHjh3D+973PuzZsweBQAALFizAVVddhc9//vNpQx6OHDmCW2+9Fc888wyqqqpw44034lvf+haMRnXfFZiSjYiIiKi0qY3XyjIoLhUMiomIiIhK25zKU0xEREREVAgGxUREREQ05zEoJiIiIqI5j0ExEREREc15DIqJiIiIaM5jUExEREREcx6DYiIiIiKa8xgUExEREdGcx6CYiIiIiOY8BsVERERENOcxKCYiIiKiOY9BMRERERHNeQyKiYiIiGjOY1BMRERERHMeg2IiIiIimvMYFBMRERHRnMegmIiIiIjmPAbFRERERDTnMSgmIiIiojmPQTERERERzXkMiomIiIhozmNQTERERERzHoNiIiIiIprzGBQTERER0ZzHoJiIiIiI5jwGxUREREQ05zEoJiIiIqI5j0ExEREREc15DIqJiIiIaM5jUExEREREc55xphtAREQ0WyiKAq/Xi0gkAovFAofDAZ1ON9PNIiIVGBQTERFpwO12o6urC8PDw4jH4zAajXA6nWhra4PL5Zrp5hFRHgyKiYiICuR2u7Fjxw4Eg0E4HA6YTCbEYjH09/fD6/Wio6ODgTFRieOYYiIiogIoioKuri4Eg0G4XC5YLBbo9XpYLBa4XC4Eg0F0dXVBUZSZbioR5cCgmIiIqABerxfDw8MZxw/rdDrY7XYMDw/D6/XOUAuJSA0GxURERAWIRCKIx+MwmUwZXzebzYjH44hEIkVuGRFNBYNiIiKiAlgsFhiNRsRisYyvR6NRGI1GWCyWIreMiKaCQTEREVEBHA4HnE4nvF7vpHHDiqLA5/PB6XTC4XDMUAuJSA0GxURERAXQ6XRoa2uD1WqF2+1GOBxGMplEOByG2+2G1WpFW1sb8xUTlTgGxURERAVyuVzo6OhAc3MzQqEQRkZGEAqF0NzczHRsRGWCeYqJiIg04HK55DAKVrQjKj8MiomIiDSi0+lQU1Mz080gopPA4RNERERENOcxKCYiIiKiOY9BMRERERHNeQyKiYiIiGjOY1BMRERERHMeg2IiIiIimvMYFBMRERHRnMegmIiIiIjmPAbFRERERDTnMSgmIiIiojmPQTER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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "plot_wage_fit(age_df, \n", " poly_age,\n", - " 'Degree-4 Polynomial');\n" - ] - }, - { - "cell_type": "markdown", - "id": "3ce87f4b", - "metadata": {}, - "source": [ - " \n", - "\n", - " " + " 'Degree-4 Polynomial');" ] }, { @@ -419,116 +262,16 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "8105e672", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:47.055964Z", - "iopub.status.busy": "2023-07-25T23:59:47.055628Z", - "iopub.status.idle": "2023-07-25T23:59:47.105479Z", - "shell.execute_reply": "2023-07-25T23:59:47.100477Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
df_residssrdf_diffss_diffFPr(>F)
02998.05.022216e+060.0NaNNaNNaN
12997.04.793430e+061.0228786.010128143.5931072.363850e-32
22996.04.777674e+061.015755.6936649.8887561.679202e-03
32995.04.771604e+061.06070.1521243.8098135.104620e-02
42994.04.770322e+061.01282.5630170.8049763.696820e-01
\n", - "
" - ], - "text/plain": [ - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 2998.0 5.022216e+06 0.0 NaN NaN NaN\n", - "1 2997.0 4.793430e+06 1.0 228786.010128 143.593107 2.363850e-32\n", - "2 2996.0 4.777674e+06 1.0 15755.693664 9.888756 1.679202e-03\n", - "3 2995.0 4.771604e+06 1.0 6070.152124 3.809813 5.104620e-02\n", - "4 2994.0 4.770322e+06 1.0 1282.563017 0.804976 3.696820e-01" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "models = [MS([poly('age', degree=d)]) \n", " for d in range(1, 6)]\n", "Xs = [model.fit_transform(Wage) for model in models]\n", "anova_lm(*[sm.OLS(y, X_).fit()\n", - " for X_ in Xs])\n" + " for X_ in Xs])" ] }, { @@ -559,101 +302,12 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "095fca7f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:47.112932Z", - "iopub.status.busy": "2023-07-25T23:59:47.111881Z", - "iopub.status.idle": "2023-07-25T23:59:47.132845Z", - "shell.execute_reply": "2023-07-25T23:59:47.131767Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefstd errtP>|t|
intercept111.70360.729153.2830.000
poly(age, degree=4)[0]447.067939.91511.2010.000
poly(age, degree=4)[1]-478.315839.915-11.9830.000
poly(age, degree=4)[2]125.521739.9153.1450.002
poly(age, degree=4)[3]-77.911239.915-1.9520.051
\n", - "
" - ], - "text/plain": [ - " coef std err t P>|t|\n", - "intercept 111.7036 0.729 153.283 0.000\n", - "poly(age, degree=4)[0] 447.0679 39.915 11.201 0.000\n", - "poly(age, degree=4)[1] -478.3158 39.915 -11.983 0.000\n", - "poly(age, degree=4)[2] 125.5217 39.915 3.145 0.002\n", - "poly(age, degree=4)[3] -77.9112 39.915 -1.952 0.051" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "summarize(M)\n" + "metadata": {}, + "outputs": [], + "source": [ + "summarize(M)" ] }, { @@ -663,36 +317,17 @@ "source": [ "Notice that the p-values are the same, and in fact the square of\n", "the t-statistics are equal to the F-statistics from the\n", - "`anova_lm()` function; for example: " + "`anova_lm()` function; for example:" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "0b576607", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:47.136679Z", - "iopub.status.busy": "2023-07-25T23:59:47.136366Z", - "iopub.status.idle": "2023-07-25T23:59:47.143007Z", - "shell.execute_reply": "2023-07-25T23:59:47.141901Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "143.59228900000002" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(-11.983)**2\n" + "metadata": {}, + "outputs": [], + "source": [ + "(-11.983)**2" ] }, { @@ -709,97 +344,16 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "7242df77", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:47.147738Z", - "iopub.status.busy": "2023-07-25T23:59:47.147429Z", - "iopub.status.idle": "2023-07-25T23:59:47.178407Z", - "shell.execute_reply": "2023-07-25T23:59:47.177311Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
df_residssrdf_diffss_diffFPr(>F)
02997.03.902335e+060.0NaNNaNNaN
12996.03.759472e+061.0142862.701185113.9918833.838075e-26
22995.03.753546e+061.05926.2070704.7285932.974318e-02
\n", - "
" - ], - "text/plain": [ - " df_resid ssr df_diff ss_diff F Pr(>F)\n", - "0 2997.0 3.902335e+06 0.0 NaN NaN NaN\n", - "1 2996.0 3.759472e+06 1.0 142862.701185 113.991883 3.838075e-26\n", - "2 2995.0 3.753546e+06 1.0 5926.207070 4.728593 2.974318e-02" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "models = [MS(['education', poly('age', degree=d)])\n", " for d in range(1, 4)]\n", "XEs = [model.fit_transform(Wage)\n", " for model in models]\n", - "anova_lm(*[sm.OLS(y, X_).fit() for X_ in XEs])\n" + "anova_lm(*[sm.OLS(y, X_).fit() for X_ in XEs])" ] }, { @@ -819,99 +373,10 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "c7972aea", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:47.183486Z", - "iopub.status.busy": "2023-07-25T23:59:47.182683Z", - "iopub.status.idle": "2023-07-25T23:59:47.209638Z", - "shell.execute_reply": "2023-07-25T23:59:47.208567Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefstd errzP>|z|
intercept-4.30120.345-12.4570.000
poly(age, degree=4)[0]71.964226.1332.7540.006
poly(age, degree=4)[1]-85.772935.929-2.3870.017
poly(age, degree=4)[2]34.162619.6971.7340.083
poly(age, degree=4)[3]-47.400824.105-1.9660.049
\n", - "
" - ], - "text/plain": [ - " coef std err z P>|z|\n", - "intercept -4.3012 0.345 -12.457 0.000\n", - "poly(age, degree=4)[0] 71.9642 26.133 2.754 0.006\n", - "poly(age, degree=4)[1] -85.7729 35.929 -2.387 0.017\n", - "poly(age, degree=4)[2] 34.1626 19.697 1.734 0.083\n", - "poly(age, degree=4)[3] -47.4008 24.105 -1.966 0.049" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "X = poly_age.transform(Wage)\n", "high_earn = Wage['high_earn'] = y > 250 # shorthand\n", @@ -919,7 +384,7 @@ " X,\n", " family=sm.families.Binomial())\n", "B = glm.fit()\n", - "summarize(B)\n" + "summarize(B)" ] }, { @@ -932,21 +397,14 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "84f172f2", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:47.217196Z", - "iopub.status.busy": "2023-07-25T23:59:47.216538Z", - "iopub.status.idle": "2023-07-25T23:59:47.224306Z", - "shell.execute_reply": "2023-07-25T23:59:47.223577Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "newX = poly_age.transform(age_df)\n", "preds = B.get_prediction(newX)\n", - "bands = preds.conf_int(alpha=0.05)\n" + "bands = preds.conf_int(alpha=0.05)" ] }, { @@ -959,29 +417,10 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "fcf376bd", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:47.229023Z", - "iopub.status.busy": "2023-07-25T23:59:47.228288Z", - "iopub.status.idle": "2023-07-25T23:59:47.431859Z", - "shell.execute_reply": "2023-07-25T23:59:47.430536Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "rng = np.random.default_rng(0)\n", @@ -998,7 +437,7 @@ "ax.set_title('Degree-4 Polynomial', fontsize=20)\n", "ax.set_xlabel('Age', fontsize=20)\n", "ax.set_ylim([0,0.2])\n", - "ax.set_ylabel('P(Wage > 250)', fontsize=20);\n" + "ax.set_ylabel('P(Wage > 250)', fontsize=20);" ] }, { @@ -1024,94 +463,13 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "c4d00900", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:47.436357Z", - "iopub.status.busy": "2023-07-25T23:59:47.435953Z", - "iopub.status.idle": "2023-07-25T23:59:47.457953Z", - "shell.execute_reply": "2023-07-25T23:59:47.456731Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefstd errtP>|t|
(17.999, 33.75]94.15841.47863.6920.0
(33.75, 42.0]116.66081.47079.3850.0
(42.0, 51.0]119.18871.41684.1470.0
(51.0, 80.0]116.57171.55974.7510.0
\n", - "
" - ], - "text/plain": [ - " coef std err t P>|t|\n", - "(17.999, 33.75] 94.1584 1.478 63.692 0.0\n", - "(33.75, 42.0] 116.6608 1.470 79.385 0.0\n", - "(42.0, 51.0] 119.1887 1.416 84.147 0.0\n", - "(51.0, 80.0] 116.5717 1.559 74.751 0.0" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "cut_age = pd.qcut(age, 4)\n", - "summarize(sm.OLS(y, pd.get_dummies(cut_age)).fit())\n" + "summarize(sm.OLS(y, pd.get_dummies(cut_age)).fit())" ] }, { @@ -1153,33 +511,14 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "d3817102", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:47.462938Z", - "iopub.status.busy": "2023-07-25T23:59:47.462123Z", - "iopub.status.idle": "2023-07-25T23:59:47.472495Z", - "shell.execute_reply": "2023-07-25T23:59:47.471619Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(3000, 7)" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "bs_ = BSpline(internal_knots=[25,40,60], intercept=True).fit(age)\n", "bs_age = bs_.transform(age)\n", - "bs_age.shape\n" + "bs_age.shape" ] }, { @@ -1191,125 +530,20 @@ "We can form this same matrix using the `bs()` object,\n", "which facilitates adding this to a model-matrix builder (as in `poly()` versus its workhorse `Poly()`) described in Section 7.8.1.\n", "\n", - "We now fit a cubic spline model to the `Wage` data. " + "We now fit a cubic spline model to the `Wage` data." ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "c06c0f27", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:47.478643Z", - "iopub.status.busy": "2023-07-25T23:59:47.478133Z", - "iopub.status.idle": "2023-07-25T23:59:47.545629Z", - "shell.execute_reply": "2023-07-25T23:59:47.543199Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefstd errtP>|t|
intercept60.49379.4606.3940.000
bs(age, internal_knots=[25, 40, 60])[0]3.980512.5380.3170.751
bs(age, internal_knots=[25, 40, 60])[1]44.63109.6264.6360.000
bs(age, internal_knots=[25, 40, 60])[2]62.838810.7555.8430.000
bs(age, internal_knots=[25, 40, 60])[3]55.990810.7065.2300.000
bs(age, internal_knots=[25, 40, 60])[4]50.688114.4023.5200.000
bs(age, internal_knots=[25, 40, 60])[5]16.606119.1260.8680.385
\n", - "
" - ], - "text/plain": [ - " coef std err t P>|t|\n", - "intercept 60.4937 9.460 6.394 0.000\n", - "bs(age, internal_knots=[25, 40, 60])[0] 3.9805 12.538 0.317 0.751\n", - "bs(age, internal_knots=[25, 40, 60])[1] 44.6310 9.626 4.636 0.000\n", - "bs(age, internal_knots=[25, 40, 60])[2] 62.8388 10.755 5.843 0.000\n", - "bs(age, internal_knots=[25, 40, 60])[3] 55.9908 10.706 5.230 0.000\n", - "bs(age, internal_knots=[25, 40, 60])[4] 50.6881 14.402 3.520 0.000\n", - "bs(age, internal_knots=[25, 40, 60])[5] 16.6061 19.126 0.868 0.385" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "bs_age = MS([bs('age', internal_knots=[25,40,60])])\n", "Xbs = bs_age.fit_transform(Wage)\n", "M = sm.OLS(y, Xbs).fit()\n", - "summarize(M)\n" + "summarize(M)" ] }, { @@ -1322,121 +556,17 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "8cb32db0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:47.550992Z", - "iopub.status.busy": "2023-07-25T23:59:47.550477Z", - "iopub.status.idle": "2023-07-25T23:59:47.578217Z", - "shell.execute_reply": "2023-07-25T23:59:47.577450Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefstd errtP>|t|
intercept60.49379.4606.3940.000
bs(age)[0]3.980512.5380.3170.751
bs(age)[1]44.63109.6264.6360.000
bs(age)[2]62.838810.7555.8430.000
bs(age)[3]55.990810.7065.2300.000
bs(age)[4]50.688114.4023.5200.000
bs(age)[5]16.606119.1260.8680.385
\n", - "
" - ], - "text/plain": [ - " coef std err t P>|t|\n", - "intercept 60.4937 9.460 6.394 0.000\n", - "bs(age)[0] 3.9805 12.538 0.317 0.751\n", - "bs(age)[1] 44.6310 9.626 4.636 0.000\n", - "bs(age)[2] 62.8388 10.755 5.843 0.000\n", - "bs(age)[3] 55.9908 10.706 5.230 0.000\n", - "bs(age)[4] 50.6881 14.402 3.520 0.000\n", - "bs(age)[5] 16.6061 19.126 0.868 0.385" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "bs_age = MS([bs('age',\n", " internal_knots=[25,40,60],\n", " name='bs(age)')])\n", "Xbs = bs_age.fit_transform(Wage)\n", "M = sm.OLS(y, Xbs).fit()\n", - "summarize(M)\n" + "summarize(M)" ] }, { @@ -1458,31 +588,12 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "f26b715f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:47.583782Z", - "iopub.status.busy": "2023-07-25T23:59:47.583349Z", - "iopub.status.idle": "2023-07-25T23:59:47.596998Z", - "shell.execute_reply": "2023-07-25T23:59:47.595684Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([33.75, 42. , 51. ])" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "BSpline(df=6).fit(age).internal_knots_\n" + "metadata": {}, + "outputs": [], + "source": [ + "BSpline(df=6).fit(age).internal_knots_" ] }, { @@ -1498,102 +609,21 @@ "When using B-splines we need not limit ourselves to cubic polynomials\n", "(i.e. `degree=3`). For instance, using `degree=0` results\n", "in piecewise constant functions, as in our example with\n", - "`pd.qcut()` above.\n" + "`pd.qcut()` above." ] }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "d6109816", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:47.608918Z", - "iopub.status.busy": "2023-07-25T23:59:47.608409Z", - "iopub.status.idle": "2023-07-25T23:59:47.641795Z", - "shell.execute_reply": "2023-07-25T23:59:47.640942Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefstd errtP>|t|
intercept94.15841.47863.6870.0
bs(age, df=3, degree=0)[0]22.34902.15210.3880.0
bs(age, df=3, degree=0)[1]24.80762.04412.1370.0
bs(age, df=3, degree=0)[2]22.78142.08710.9170.0
\n", - "
" - ], - "text/plain": [ - " coef std err t P>|t|\n", - "intercept 94.1584 1.478 63.687 0.0\n", - "bs(age, df=3, degree=0)[0] 22.3490 2.152 10.388 0.0\n", - "bs(age, df=3, degree=0)[1] 24.8076 2.044 12.137 0.0\n", - "bs(age, df=3, degree=0)[2] 22.7814 2.087 10.917 0.0" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "bs_age0 = MS([bs('age',\n", " df=3, \n", " degree=0)]).fit(Wage)\n", "Xbs0 = bs_age0.transform(Wage)\n", - "summarize(sm.OLS(y, Xbs0).fit())\n" + "summarize(sm.OLS(y, Xbs0).fit())" ] }, { @@ -1613,16 +643,7 @@ "of ones, so the second, third and fourth coefficients are increments\n", "for those bins. Why is the sum not exactly the same? It turns out that\n", "the `qcut()` uses $\\leq$, while `bs()` uses $<$ when\n", - "deciding bin membership.\n", - "\n", - "\n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - " " + "deciding bin membership." ] }, { @@ -1637,107 +658,10 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "7c73a3da", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:47.647140Z", - "iopub.status.busy": "2023-07-25T23:59:47.646766Z", - "iopub.status.idle": "2023-07-25T23:59:47.682939Z", - "shell.execute_reply": "2023-07-25T23:59:47.682146Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
coefstd errtP>|t|
intercept60.47524.70812.8440.000
ns(age, df=5)[0]61.52674.70913.0650.000
ns(age, df=5)[1]55.69125.7179.7410.000
ns(age, df=5)[2]46.81844.9489.4630.000
ns(age, df=5)[3]83.203611.9186.9820.000
ns(age, df=5)[4]6.87709.4840.7250.468
\n", - "
" - ], - "text/plain": [ - " coef std err t P>|t|\n", - "intercept 60.4752 4.708 12.844 0.000\n", - "ns(age, df=5)[0] 61.5267 4.709 13.065 0.000\n", - "ns(age, df=5)[1] 55.6912 5.717 9.741 0.000\n", - "ns(age, df=5)[2] 46.8184 4.948 9.463 0.000\n", - "ns(age, df=5)[3] 83.2036 11.918 6.982 0.000\n", - "ns(age, df=5)[4] 6.8770 9.484 0.725 0.468" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "ns_age = MS([ns('age', df=5)]).fit(Wage)\n", "M_ns = sm.OLS(y, ns_age.transform(Wage)).fit()\n", @@ -1754,32 +678,14 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "d73789b4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:47.692145Z", - "iopub.status.busy": "2023-07-25T23:59:47.691762Z", - "iopub.status.idle": "2023-07-25T23:59:47.897115Z", - "shell.execute_reply": "2023-07-25T23:59:47.891816Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsUAAALTCAYAAAD+RH+eAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXhb1Z0//rd2W5Ylx5a8JI6zAImzQVjiJCUNBCiUwpQWusyUDtB2WkqhnbZT2qEPLaV0Sn9lhk47pdtMW5hSptsMbeEpWyAsgcQOCSFAYmchiePEi2RHkrVv9/dHvudUsrVcR9eyZL1fz5MHEl3fe+4mf+6553w+OkVRFBARERERVTH9TDeAiIiIiGimMSgmIiIioqrHoJiIiIiIqh6DYiIiIiKqegyKiYiIiKjqMSgmIiIioqrHoJiIiIiIqh6DYiIiIiKqegyKiYiIiKjqMSgmIiqBm266CTqdDgsXLpzpppy2hQsXQqfT4aabbpr02ZEjR6DT6aDT6fDggw+WvG3lTByXb3zjGzmX6e/vx80334wzzjgDNTU18mf++Mc/lqydRNWOQTFRFXn++eflL1udTocPf/jDBX9GBHM6na4ELSSqPv39/Tj//PPxs5/9DG+//Tai0WjJ2yAeeAr9qeSHOqJCGBQTVbHf//73eOONN2a6GbOiF5XodH3rW9+Cx+OB0WjE//f//X/Ytm0b3njjDbzxxhu49NJLZ7p5RFXDONMNIKKZoygK7rrrLvzf//3fTDeFKtzChQuhKMpMN6Mibd68GQDwvve9D1/+8pdntC3XXHMNvvWtb+X83Gw2l7A1RKXFoJioSjmdTng8Hjz66KN47bXXcO655850k4iq0vHjxwEAS5YsmeGWAA0NDVi5cuVMN4NoRnD4BFGV+tznPgeLxQIA+PrXvz7DrSGqXrFYDABgMplmuCVE1Y1BMVGVmj9/Pj71qU8BAB5//HH09PSc1npSqRSee+45fOlLX8KFF14Ip9MJk8mEhoYGrF69Gl/60pfQ39+f9We/8Y1vQKfT4aGHHgIAHD16NOvknnRqZvIDwMUXXwydToeLL7540mfpEw6ff/55pFIp/OIXv8CmTZvQ0tICvV6fkWGhmH3UUjKZxIMPPogrrrgCra2tMJvNcDgcOOuss3DppZfi29/+Nvbu3Tvp5yaO2T5+/Di++MUvYsmSJbBarXC5XLjqqqvw5JNPnnbbCmWfEOdanM9IJIL77rsP5513Hurr61FfX4+uri788Ic/RCKRKLi9SCSCH/7wh7j00kvlsWhubsZll12Gn//856rWoZVHHnkEF198MebMmQObzYaVK1firrvugtfrzfkzDz744KTr++6778647rNl+SCi6cPhE0RV7I477sB//dd/IRwO42tf+xqeeuqpKa/jm9/8Ju6+++5J/+7z+fD666/j9ddfx49//GM8/PDDeP/7369FszUViURwxRVXyHGd2ZTDPgYCAbznPe/BSy+9lPHv8Xgcfr8fBw8exHPPPYddu3bhD3/4Q871vPrqq7jqqqswMjIi/y0cDuMvf/kL/vKXv+CLX/wi/u3f/m1a9kEYHh7Gu9/9buzevTvj33fs2IEdO3bg6aefxh//+Efo9dn7bV5//XVcc801OHr0aMa/u91uPPvss3j22Wfx05/+FI899hhaWlqmazeQSCTwkY98BL///e8z/v2tt97CW2+9hYcffjjvdUVE5YVBMVEVa2trwy233IL7778fTz/9NLZu3YoNGzZMaR2JRAJtbW14//vfj/Xr12Px4sWoqanBsWPH8Morr+BHP/oRAoEAPvKRj2DXrl1YtmyZ/NnPfOYz+MAHPoA777wTf/rTnzB37tzTCsyL8ZWvfAV79uzBe9/7Xtx0001YsGABhoeH4ff7NdlHrXzjG9+QAfHVV1+N66+/Hh0dHaipqcHIyAhee+01PP7443lT54VCIXzwgx+Ez+fDP//zP+M973kPLBYLuru7ce+992JwcBD3338/Ojo68I//+I+a74Nw7bXXYu/evfjc5z6Hv/mbv0FjYyP6+vpwzz33YN++fXjsscfwn//5n7j55psn/ezBgwdx0UUXwefzwW6349Zbb0VXVxfmz5+P0dFR/PnPf8ZPf/pT7NixA9dccw1eeumlaRuW8KUvfUkGxEuXLsWXv/xlnH322fD5fPj973+P//zP/8yZ9vB973sfLrjgAgDAqlWrAAC33HILPvOZz8hl5syZMy3tzufFF1/E6tWrcejQISSTSbS0tKCrqwt/93d/h2uuuYapGWl2U4ioamzZskUBoABQfvnLXyqKoijDw8NKXV2dAkDZtGnTpJ+58cYb5c9kc/jwYSUWi+Xc5rFjx5R58+YpAJSPfvSjWZcR21iwYEHBfRBtueuuu/Iud9FFFykAlIsuumjSZ+nHAYBy55135l1Xqfcxm/nz5ysAlA984AN5lxsdHc25bQCKyWRSXnjhhUnLHD9+XGlvb1cAKHV1dcrIyMikZRYsWKAAUG688cZJnx0+fHjStZXurrvuymjDli1bsra9paVFAaCcffbZWffvHe94hwJAOffccxW32511mSeeeELR6/UKAOVnP/tZ1mWKtWfPHrmN8847TxkfH5+0zEMPPZRxneW6ZtVc0xOv2dP9c/jw4azrF+c2358LL7xQGRgYOI2jRVQZOKaYqMo1NzfjtttuAwBs2bIFW7ZsmdLPL1y4MG9PXHt7O26//XYAwJ///OeyS9u1ZMmSguOTy2Efh4aGAADvfOc78y7X2NiY9/Obb74ZGzdunPTvc+fOlcMmgsGgHOc9HT772c9mHevd2NiIj33sYwCAN954Az6fL+Pzl156Ca+88goA4KGHHoLT6cy6/ne/+934wAc+AADTVl3vJz/5CVKpFADgZz/7GWw226RlbrjhBlx55ZXTsn2tmc1mvPe978UPf/hDPP/883jttdewZcsWfPvb38b8+fMBAC+//DLe9a53TTovRLMFh08QEW6//Xb86Ec/wvj4OL72ta9h69atp70uv9+P0dFRhEIhGRxarVb52eHDh7F48WJN2q2FD3/4wzAYDFP6mZnYx7a2NvT39+O3v/0t/uEf/kFub6pE0JnN+9//fjQ0NMDr9WLz5s340pe+dLrNzev666/P+dn5558P4FQO7cOHD2P16tXysz//+c8ATg1VEEMOctm4cSN+97vfYceOHUgkEjAatf11J8YKr1q1SrY5m49//ON44oknit7emjVrNCm0M2/evKz/3tPTg4aGhkn/fvHFF+O2227DBz7wATz99NPYt28f7r77btx///1Ft4Wo3DAoJiI0NTXh85//PO655x68/PLLeOqpp3DFFVeo/vmjR4/iX//1X/HYY49Nmvw0kcfjKaug+Oyzz1a13Ezv44033oh77rkHr7zyChYtWoQPfvCDuPTSS7Fhwwa4XC5V6zCbzTjnnHNyfm4ymXDuuediy5Yt01rpsLOzM+dn6T3d4+PjGZ+9+uqrAIC+vj7VY1vj8TjGxsbQ3Nx8Gi3NLhqN4sCBAwBOBav5dHV1abLNurq6ac0fnC0gFurr6/G73/0OixcvxtjYGH72s5/hO9/5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9RgUExEREVHVY1BMRERERFWPQTERERERVT0GxURERERU9RgUExEREVHVY1BMRERERFWPQTERERERVT0GxURERERU9RgUExEREVHVY1BMRERERFWPQTERERERVT0GxURERERU9RgUExEREVHVY1BMRERERFWPQTERERERVT3jTDeAiIgqh6Io8Pl8iEajsFgscDgc0Ol0M90sIqKiMSgmIiJV3G43ent74fF4kEgkYDQa4XQ60dnZCZfLNdPNIyIqCoNiIiIqyO12o7u7G6FQCA6HAyaTCfF4HIODg/D5fFi7di0DYyKqaBxTTEREeSmKgt7eXoRCIbhcLlgsFuj1elgsFrhcLoRCIfT29kJRlJluKhHRaWNQTEREefl8Png8nqzjh3U6Hex2OzweD3w+3wy1kIioeAyKiYgor2g0ikQiAZPJlPVzs9mMRCKBaDRa4pYREWmHQTEREeVlsVhgNBoRj8ezfh6LxWA0GmGxWErcMiIi7TAoJiKivBwOB5xOJ3w+36Rxw4qiwO/3w+l0wuFwzFALiYiKx6CYiIjy0ul06OzshNVqhdvtRiQSQSqVQiQSgdvthtVqRWdnJ/MVE1FFY1BMREQFuVwurF27Fm1tbQiHwxgdHUU4HEZbWxvTsRHRrMA8xUREpIrL5ZLDKFjRjohmGwbFRESkmk6nQ0NDw0w3g4hIcxw+QURERERVj0ExEREREVU9BsVEREREVPUYFBMRERFR1WNQTERERERVj0ExEREREVU9BsVEREREVPUYFBMRERFR1WNQTERERERVj0ExEREREVU9BsVEREREVPWMM90AolJSFAU+nw/RaBQWiwUOhwM6na7it6UVNW1Wu19qlkulUhgYGEAgEIDNZkN7ezv0+vJ+VteqzclkEr29vfD7/bDb7ejs7ITBYJiGFp9SidejGpV6T5fbtT9brw+iqWBQTFXD7Xajt7cXHo8HiUQCRqMRTqcTnZ2dcLlcFbstrahps9r9UrNcX18fenp6MDY2hmQyCYPBgMbGRnR1dWHp0qUzcgwK0arNPT092L59OwKBAFKpFPR6PZ599lmsW7cOXV1dmre7Eq9HNSr1ni63a3+2Xh9EU1XeXTI53HvvvVizZg3q6+vR3NyM973vfejr68tYJhKJ4NZbb0VTUxNsNhuuu+46DA8PZyzT39+Pq666ClarFc3Nzbj99tuR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B23Lvn37sHnzZlntJiKKNc4UExFpxNlnn43Dhw8jJycHbrcbZvPQ8xqBQAC5ublwu92YPHmyVI7t1KlTmDx5MmprawF8s83zokWLQrZ5/uSTT1BSUiLNJB89ehTjxo0Lef3Dhw+jpKREKrN25ZVXYuHChZg4cSIsFgvq6+vx2WefYfPmzdixYwfuvPNOPPbYY0p2CxGRIphTTESkAR9//DEOHz4MALjqqqtkBcQAYDabcdVVV+Hpp5/GF198gcrKShQXFyMrKwtvv/025s2bB4/Hg5deegkvvfRSyPfeeOONuPDCC6WgeKDd7SZMmIDt27djwYIFqKqqwubNmwedDe670QgRkVowfYKISAN61xruu63zUHqf3/t1pk2bhi+//BJ33nknJk6cCJvNBofDge9+97tYv3491q5di+bmZun89PT0AV9/0qRJ2LNnD9avX48FCxYgLy8PycnJsFqtcLlc+M53voPf//73qKysxH333RdR24mIYoXpE0REFNYtt9yCNWvWIDc3F8ePH493c4iIooYzxURENCC/34/XX38dAHD++efHuTVERNHFoJiIyKAOHz6McA8Le3p6cOutt6KhoQEAsHjx4lg2jYgo5pg+QURkUDfeeCMqKipw7bXXorS0FDk5OfD7/di7dy+ef/55fPrppwCAuXPn4t1334XJZIpzi4mIoofVJ4iIDGz//v24//77wx6fNWsWNmzYwICYiHSPM8VERAZVXV2Nf//739i6dSuOHj0Kj8eDrq4uZGdnY8aMGVi4cCGuvfZa2eXfiIi0jEExERERERke//wnIiIiIsNjUExEREREhsegmIiIiIgMj0ExERERERkeg2IiIiIiMjwGxURERERkeAyKiYiIiMjwGBQTERERkeH9P/gpV4sDWJKJAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "plot_wage_fit(age_df,\n", " ns_age,\n", - " 'Natural spline, df=5');\n" + " 'Natural spline, df=5');" ] }, { @@ -1802,34 +708,14 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "3e70b87d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:47.906535Z", - "iopub.status.busy": "2023-07-25T23:59:47.906039Z", - "iopub.status.idle": "2023-07-25T23:59:47.942756Z", - "shell.execute_reply": "2023-07-25T23:59:47.941983Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "LinearGAM(callbacks=[Deviance(), Diffs()], fit_intercept=True, \n", - " max_iter=100, scale=None, terms=s(0) + intercept, tol=0.0001, \n", - " verbose=False)" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "X_age = np.asarray(age).reshape((-1,1))\n", "gam = LinearGAM(s_gam(0, lam=0.6))\n", - "gam.fit(X_age, y)\n" + "gam.fit(X_age, y)" ] }, { @@ -1848,28 +734,10 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "efe03b12", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:47.948147Z", - "iopub.status.busy": "2023-07-25T23:59:47.947788Z", - "iopub.status.idle": "2023-07-25T23:59:48.314582Z", - "shell.execute_reply": "2023-07-25T23:59:48.314258Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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GgwGRCIRACo9rrOyvY+m3Ve+8hWhuLhY+N3vfid4PB7p39DQkHSfv/7rvxZqa2uF3/72t8Lhw4eF5uZmobm5OYuj1qYtW7YIe/fuFc6fPy8cO3ZM2LJli6DT6YQ333xTEATO83SLrj4hCJxvpTzyyCPC7373O+H8+fPCu+++K6xZs0ZwOp1Cd3e3IAicZyUdPHhQKCgoEL7zne8IbW1twksvvSQUFhYKL774onSfJ554QigpKRF+9atfCceOHRPuuusuoa6uTgiFQlkcuTaNj48LtbW1wte//vVJt/G4Vs769euFmTNnCr/+9a+F8+fPC6+88orgdDqFr33ta9J91HZcMyjOUQCm/Pfcc89J9wmFQsLf/M3fCKWlpUJhYaFw9913Cx6PJ3uD1qgHH3xQmD17tmAymYSKigrhlltukQJiQeA8T7eJQTHnWxn33nuvUF1dLZhMJmHmzJnCvffeK5w5c0a6nfOsrF27dgnXXXedYDabhfr6euGnP/1pzO2RSET4xje+IbhcLsFsNgu33HKL0NramqXRattvfvMbAcCU88fjWjmDg4PCpk2bhNraWsFisQhz584V/vEf/1EIh8PSfdR2XOsEIaq1CBERERFRHmJOMRERERHlPQbFRERERJT3GBQTERERUd5jUExEREREeY9BMRERERHlPQbFRERERJT3GBQTERERUd5jUExEREREeY9BMRGRxu3duxc6nU76995772V7SEREmsOgmIhI437xi1/E/P8XXnghSyMhItIutnkmItKwUCgEl8sFv98Pu92OQCCA0tJSeDwemM3mbA+PiEgzuFJMRKRhr776Kvx+PwDgySefBAD09/dj165d2RwWEZHmMCgmItIwMVViyZIl+MIXvgC32x3zcyIikodBMRGRRnk8HuzevRsA8PnPfz7mf9944w14vd6kj9Hb24uvfe1rcLvdsFqtcLlcuPXWW/Hqq68CAJ5//nlpA9+FCxfiPs7w8DB+9KMf4ZZbbkFVVRVMJhMqKyuxZs0aPPvssxgbG0vz2RIRTS/mFBMRadQPfvADPProo9Dr9bh06RJmzpyJ8+fPY968eRAEAdu2bcNXv/rVuL9//Phx3Hrrrejq6pry9i9/+ctobm7GF77wBQDA+fPnMWfOnEn3O3r0KO666y5cvHgx7t9asWIFdu3aBZfLldqTJCLKEAbFREQatXTpUhw7dgw333wz9uzZI/189erVePfdd9HQ0IDDhw9P+bs+nw+LFi3ClStXAAD3338//uIv/gIVFRU4c+YMtm3bhn379qGpqQkHDhwAMHVQfObMGSxfvhwDAwNwOBzYsGEDGhsbMWvWLPT29uK1117DM888g7GxMTQ1NeH3v/89jEbj9EwIEVE6BCIi0pwPPvhAACAAEP7jP/4j5rann35auu3DDz+c8vc3b94s3eff//3fJ90+NjYm3HXXXdJ9AAjnz5+fdL9PfOITAgBh2bJlgtfrnfJvvf7664JerxcACD/96U9Tf7JERBnAnGIiIg0SN9JZrVasXbs25rY///M/h8lkirlftHA4jOeffx7Ax2kNmzZtmnQfg8GAZ555BhaLJe4Yfv/730uNQn7xi1/A6XROeb9Pf/rT+MxnPgMA0t8lIlIbBsVERBozNjaG7du3AwDuvPNOOByOmNvLysrwJ3/yJwCAl156CZFIJOb2w4cPw+fzAfjDxrypuFwu3HbbbXFvf+211wAAbrcbixcvTjjmP/7jPwYAHDp0iJvuiEiVGBQTEWnMb37zG2lzXLygVvx5e3s73n777ZjbTpw4If13Q0NDwr+1fPnyuLeJ+cqtra0xbaan+rdx40YAwOjoKPr6+pI8QyKizGNQTESkMWJKRHl5OT796U9PeZ8//dM/RUlJScz9Rf39/dJ/V1RUJPxbiW7v7u6WM9xJhoaGrur3iIimU0G2B0BERPINDAxIaQu9vb1S7nAir7zyCp566inYbDZFxzI+Pg7g4yoYL774ouzfmzlzpqLjICJSAoNiIiIN2blzJ4aHh1P6nUAggFdeeQX3338/AKC0tFS6zev1YsGCBXF/N1EDkPLycunxr7vuupTGRESkNgyKiYg0REyFqK6uxr/+678mvf+jjz6K9vZ2vPDCC1JQvGjRIun2lpYWrFq1Ku7vx6tzDADLli3De++9h3PnzqGzsxNVVVVynwYRkeqweQcRkUZEd6vbuHEjfvjDHyb9nc2bN2Pbtm0xXe+Gh4dRVVWFgYEBrFixAgcPHpzyd7u6ujBnzhxpZXpi844333xTqk6xZcsWbN26Nf0nSUSUJdxoR0SkES+88ALEdQyx7m8y4v0ikYiU92uxWPCXf/mXAD4ukbZt27ZJvxeJRPBXf/VXCVM1PvWpT6GxsREA8P3vfx87d+5MOJbjx49j165dssZNRJRpXCkmItKIa665BmfPnkVlZSU8Hg/0+uTrGpFIBDU1NfB4PFi0aJFUjq2vrw+LFi1CZ2cngI/bPK9bty6mzfN7772HxsZGaSX5woULmD17dszjnz17Fo2NjVKZtTvvvBP33nsv5s+fD4PBgO7ubnzwwQfYtWsX9u/fj0ceeQQ/+MEPlJwWIiJFMKeYiEgD3n33XZw9exYAcPfdd8sKiAFAr9fj7rvvxlNPPYUPP/wQLS0taGhoQFlZGd544w3ceuut8Hq9+OUvf4lf/vKXMb/7wAMP4IYbbpCC4qm6282bNw/79u3D2rVrceLECezatSvhavDERiNERGrB9AkiIg2IrjU8sa1zMtH3j36cpUuX4qOPPsIjjzyC+fPnw2w2w+l04qabbsL27dvx3HPPYXBwULp/cXHxlI+/YMECHDlyBNu3b8fatWtRW1sLq9UKk8mE6upqfPKTn8Q//dM/oaWlBd/85jdTGjsRUaYwfYKIiOL60pe+hGeffRY1NTW4fPlytodDRDRtuFJMRERTCoVC+NWvfgUAWLlyZZZHQ0Q0vRgUExHlqbNnzyLexcLx8XF85StfQU9PDwBg/fr1mRwaEVHGMX2CiChPPfDAAzh48CDuu+8+NDU1obKyEqFQCMeOHcPPfvYzvP/++wCANWvW4M0334ROp8vyiImIpg+rTxAR5bGTJ0/isccei3v7qlWrsGPHDgbERJTzuFJMRJSnWltb8d///d/YvXs3Lly4AK/Xi9HRUZSXl2P58uW49957cd9998ku/0ZEpGUMiomIiIgo7/HrPxERERHlPQbFRERERJT3GBQTERERUd5jUExEREREeY9BMRERERHlPQbFRERERJT3GBQTERERUd5jUExEREREeY9BMRERERHlvf8D5tz7XzYcOV8AAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "ax.scatter(age, y, facecolor='gray', alpha=0.5)\n", @@ -1881,7 +749,7 @@ " linewidth=3)\n", "ax.set_xlabel('Age', fontsize=20)\n", "ax.set_ylabel('Wage', fontsize=20);\n", - "ax.legend(title='$\\lambda$');\n" + "ax.legend(title='$\\lambda$');" ] }, { @@ -1894,36 +762,10 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "acff2af2", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:48.316489Z", - "iopub.status.busy": "2023-07-25T23:59:48.316348Z", - "iopub.status.idle": "2023-07-25T23:59:48.751690Z", - "shell.execute_reply": "2023-07-25T23:59:48.750894Z" - } - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100% (11 of 11) |########################| Elapsed Time: 0:00:00 Time: 0:00:00\n" - ] - }, - { - "data": { - "image/png": "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pxq1iW5K83g8OH78OPu6vb0dLS0tKCkpQU1NDdavX4+zZ8/ixRdfBADccccdePrpp/HAAw/gtttuw1tvvYU//vGP2Lp1KwCguLgY9913H9atWwdBELBs2TK4XC7s2bMHRqMRa9euTbuPd999N6688ko8+eSTWL16NV555RW89957eP755wGcD4hvuukmHDhwAH//+98RjUbZAGNJSUlepaTmbVCs0+nYp5pLLrkE7777LjZu3IgvfvGLCIVCcDqdcX8IY4f6Kyoq0NzcHLc/6dHA4McBsXiej3v8QAgZO8FgEJFIBFqtdtjXdTodBgYG4lKeCCEkl7z33ntYsWIF+1oaeFu7di02b96Mrq4udHR0sNdra2uxdetWrFu3Dhs3bkR1dTV++9vfYtWqVWybRx99FFarFRs2bMDJkydhNpuxaNEiPPTQQyPq42WXXYaXX34ZDz/8MB566CHMnDkTW7ZswYUXXggAOHv2LP76178CABYuXBj3s42NjbjqqqtG1O5YGDd1iq+++mrU1NRg48aNsFqt+H//7//hxhtvBAC0tbWhrq6O5RT/4x//wKc//Wl0dXWhrKwMAPD888/j/vvvR09Pj+zAl+oUEzL6ElWWcDqdaGxshF6vH/Y9GwgE4Pf7sWLFChopJmQcS1aflkwcE7ZO8fr163HdddehpqYGAwMDePnll7Fz5068+eabMJlMuP3223HvvfeipKQERqMR3/nOd7B06VIsWbIEAHDttddi7ty5+NrXvoYnnngCNpsNDz/8MO666y4aCSYkhySrLGGxWGCxWNDV1RWXUwycD6TdbjcqKythMpnG8AgIIYTki7wMint6enDLLbegq6sLJpMJF110Ed58801WguSpp56CSqXCjTfeGLd4h0StVuPvf/877rzzTixduhRFRUVYu3Yt/uM//mOsDokQMoicyhJ1dXVwuVyw2+0wGo3Q6XQIhUJwu93Q6/Woq6ujSXaEEEJkGTfpE2OB0icIGR2iKGL37t0JR4HtdjsqKyuxbNkyOBwOqlNMyARG6RMEmMDpE4SQ8S2dyhJWqxUWi4VWtCOEEJIRCooJITkn3coSHMfRZDpCCCEZUY11BwghZDCe56HRaBAOh4d9PRQKQaPR0MRYQgghiqGgmBCSc0wmE0uJGDztQaosYbFYqLIEIYQQxVBQTAjJORzHoa6uDnq9Hna7HYFAAIIgIBAIwG63U2UJQgghiqOgmBCSk6xWKxoaGlBZWQm/34/e3l74/X5UVlaioaGBKksQQghRFE20I4TkLKosQQghJFtopJgQktOkyhLl5eUwm80UEBNCxo1du3bh+uuvR1VVFTiOw5YtW1L+zM6dO7Fo0SLwPI8ZM2Zg8+bNo97PV199FXV1dSgoKMD8+fPx+uuvJ9z2jjvuAMdx+NWvfjXq/VIaBcWEEEIIIWPA6/ViwYIFeOaZZ2Rt397ejtWrV2PFihVoaWnBPffcg2984xt48803R9yHnTt3Ytq0aQlf37t3L7785S/j9ttvxwcffIA1a9ZgzZo1OHTo0JBtX3vtNezfvx9VVVUj7s9YovQJQgghhIwboiAg6nSOWftqsxmcSt6Y43XXXYfrrrtO9r43bdqE2tpaPPnkkwCAOXPmYPfu3XjqqaewatUqAIAgCHj88cfx/PPPw2azYdasWXjkkUdw0003pX8wADZu3IhPfvKTuP/++wEAjz76KLZt24ann34amzZtYtudPXsW3/nOd/Dmm29i9erVI2prrFFQTAghhJBxI+p04thll49Z+zP37oGmpGRU9r1v3z6sXLky7nurVq3CPffcw77esGEDXnrpJWzatAkzZ87Erl27cPPNN8NqteLKK68cUZv33nvvkDZjUz0EQcDXvvY13H///Zg3b17abeQKCooJIYQQQvKAzWZDeXl53PfKy8vhdrvh9/uhUqnw2GOPYfv27Vi6dCkAYPr06di9ezeee+65EQXFidq02Wzs68cffxwajQbf/e53R3BUuYOCYkIIIYSQceD48ePw+Xy45ppr4r4fCoVw8cUXs68NBgP7dzQaRTAYjPvezTffHJcakcz777+PjRs34sCBA3k/EZqCYkIIIYSQPFBRUYHu7u6473V3d8NoNKKwsBAejwcAsHXrVkyePDluO57n2b9bWlrYv5uamvDggw9i586d7HtGozFlmxUVFQCAd955Bz09PaipqWGvR6NRfO9738OvfvUrnDp1akTHOhYoKCaEEELIuKE2mzFz754xbX+0LF26dEg5tG3btrFUiblz54LneXR0dCRNlZgxYwb7d2dnJzQaTdz3Bre5Y8eOuLzl2Da/9rWvDZvn/LWvfQ1f//rX0zq+sUZBMSGEEELGDU6lGrWJbkrzeDw4fvw4+7q9vR0tLS0oKSlBTU0N1q9fj7Nnz+LFF18EcL4G8NNPP40HHngAt912G9566y388Y9/xNatWwEAxcXFuO+++7Bu3ToIgoBly5bB5XJhz549MBqNWLt2bdp9vPvuu3HllVfiySefxOrVq/HKK6/gvffew/PPPw8AKC0tRWlpadzPaLVaVFRUYPbs2SM9NWOCgmJCCCGEkDHw3nvvYcWKFexrqcrD2rVrsXnzZnR1daGjo4O9Xltbi61bt2LdunXYuHEjqqur8dvf/paVYwPOl0yzWq3YsGEDTp48CbPZjEWLFuGhhx4aUR8vu+wyvPzyy3j44Yfx0EMPYebMmdiyZQsuvPDCER517uJEURTHuhP5yu12w2QyweVyxeXfEEJyjyiKtFw0IeNQIBBAe3s7amtrUVBQMNbdIWMk2X0gN16jkWJCyLhnt9vR2toKh8OBSCQCjUYDi8WCuro6WK3Wse4eIYSQHEBBMSFkXLPb7WhqaoLP54PJZIJWq0U4HEZXVxdcLhcaGhooMCaEEAJ56xASQkgeEkURra2t8Pl8sFqt4HkeKpUKPM/DarXC5/OhtbUVlEVGCCGEgmJCyLjlcrngcDiGzR/mOA5GoxEOhwMul2uMekgIISRXUPoEIWTcCgaDiEQi0Gq1w76u0+kwMDCAYDAoe5/ZnLAnCAI6Ozvh8XhgMBhQXV0NlSr3xzKU6jdNjkyNzhEhyqGgmBAybvE8D41Gg3A4HLeakyQUCkGj0Qz72nCyOWGvra0Nzc3N6OvrQzQahVqtRklJCerr63O69qdS/abJkanROSJEWRQUE0LGLZPJBIvFgq6uLlit1rgRNFEU4Xa7UVlZCZPJlHJf2Zyw19bWhu3btyMYDKKoqIi1ZbfbsX37dgDIycBYqX7T5MjU6BwRorzcfw5HCCEjxHEc6urqoNfrYbfbEQgEIAgCAoEA7HY79Ho96urqUj5uzuaEPUEQ0NzcjGAwCLPZHNeW2WxGMBhEc3MzBEHIuC0lKdVvmhyZGp0jQkYHBcWEkHHNarWioaEBlZWV8Pv96O3thd/vR2VlpezRtGxO2Ovs7ERfXx+KioqG5OGqVCro9Xr09fWhs7Mz47aUpFS/aXJkanSOCBkdlD5BCBn3rFYrLBbLiCckjcaEvUQ8Hg+i0WjStnw+HzweT8ZtDZbJpC2l+p3Nc52v0j1HNBmPEHlopJgQMiFwHAez2Yzy8nKYzea0goLYCXvDSXfCXjIGgwFqtTppW2q1GgaDIa39iqIIp9OJ7u5uOJ3OIY/W7XY7du/ejcbGRuzatQuNjY3YvXs37HZ7VvudzXOdr9I5R5leVzK6du3aheuvvx5VVVXgOA5btmxJ+TM7d+7EokWLwPM8ZsyYgc2bN496P1999VXU1dWhoKAA8+fPx+uvvz5kmyNHjuAzn/kMTCYTioqKsHjxYnR0dIx635REQTEhhKQgTdhzuVxDgklpwp7FYpE1YS+V6upqlJSUwOv1Dsm/FQQBPp8PJSUlqK6ulr3PVIGRNGmrq6sLer0epaWl0Ov16OrqQlNTk6wASql+Z/Nc5yu55ygUCmV8Xcno8nq9WLBgAZ555hlZ27e3t2P16tVYsWIFWlpacM899+Ab3/gG3nzzzRH3YefOnZg2bVrC1/fu3Ysvf/nLuP322/HBBx9gzZo1WLNmDQ4dOsS2OXHiBJYtW4a6ujrs3LkTBw8exCOPPIKCgoIR92ssUPoEISQt2X4UK6fmrZw+ZdJvacKey+VCT08PCgoKoFKp2KS9oqKiuAl7mbSlUqlQX1+P7du3o7+/HwUFBVCr1YhGowgEAigoKEB9fb3sur9SwOv1elFQUICCggIIgoBz587B5XKhvr4ebW1t8Pl8LJDy+XysvJfD4UBrayssFgs4jkt4bEr1O/Zc2+12GI1G6HQ6hEIhuN3uIZMjR/vap0vJthLtS845mj17NruusZVXpMl4Ujk36bqOJ6IgIuAdfhQ9GwqKtOBU8s7pddddh+uuu072vjdt2oTa2lo8+eSTAIA5c+Zg9+7deOqpp7Bq1SoA539nPv7443j++edhs9kwa9YsPPLII7jpppvSPxgAGzduxCc/+Uncf//9AIBHH30U27Ztw9NPP41NmzYBAL7//e/jU5/6FJ544gn2cxdccMGI2htLFBQTQmTLdl1UOTVv5fRJiX5brVbMnDkTzc3NsNlscf1ZuHChom3Nnj0bLpcL+/fvh8vlgiAIUKlUMBgMWLx4sexybFKVgv7+fgiCgL6+PrYvvV6PUCiEDz/8EAMDA9BqtThz5gx8Pl/cNrGTtsLhcNJjU6rf0uRIqa2BgQFoNBpUVlamfV2zec8q2VaqfaU6R1qtVvZkPLPZrOBZGHsBbxi/v3/3mLV/28+XobBYNyr73rdvH1auXBn3vVWrVuGee+5hX2/YsAEvvfQSNm3ahJkzZ2LXrl24+eabYbVaceWVV46ozXvvvXdIm1KqhyAI2Lp1Kx544AGsWrUKH3zwAWpra7F+/XqsWbMm7fbGEgXFhOS4XBkJG426qMn6HVvzlud58DyPaDQaV/O2pKQkZZ8AsG2k/YiimHa/7XY7jh07Bp7nUVVVBVEU2cjpsWPHUFJSEtdWJufIbrejp6cH5eXlKC0tZQG4RqNBT08P7HY720+yc+hyudgouyAI4Hmejd56PB6oVCqcPXsWoigiFAohEokM2UYaCbfZbDh+/HjKc93T04OKigp2bqT/D+53KqkmR8q5H9O5Hpm+h5R8f8jdV7Jz1N3dnbMTFmni38jZbDaUl5fHfa+8vBxutxt+vx8qlQqPPfYYtm/fjqVLlwIApk+fjt27d+O5554bUVCcqE2bzQbg/Hve4/HgZz/7GX7yk5/g8ccfxxtvvIEbbrgBjY2NI2pzrFBQTEgOy5WRsMF1UZV4FJus36WlpWhubobf74darYbP52MBlkajgd/vR1NTE6ZOnZq0T0eOHAEA9Pf3IxqNore3l41eFhYWIhgMyup37IhrNBqF3+8fdj+iKGZ8jlK1FQqF2H6k1IZE1z4QCLBR4qKiItauRqOBWq2G1+vFwMAAy0stLi4eso30+unTp2Wd68HbSMc0kntEmhyZ6ByNpD/DXY9U5zEVJd8f6e4r0TlSejVHpdAqfKNL+uB6zTXXxH0/FArh4osvZl/HTniNRqMIBoNx37v55ptZakQq0hyCz372s1i3bh0AYOHChdi7dy82bdpEQTEhJHNKj4RlIp26qHIexaY6tilTpsButyMajUIQBGg0GjbiGA6H2cgjx3EoKytL2Keuri4Eg0E2+St2FNTr9UKlUqGzszNlv5ONuEr7aW9vZwtVZHKO5LTV2dmJkydP4siRI0mvfSgUQjgcRkFBwbB9kj5gqNXqpMFaNBpFf38/Jk2alPRcA8j4+OWQcz/K7U97ezsOHz6c0XtIyfeHUvtScjVHpdAqfJmrqKhAd3d33Pe6u7thNBpRWFjISh5u3boVkydPjtsu9gNQS0sL+3dTUxMefPBB7Ny5k33PaDSmbLOiogIAYLFYoNFoMHfu3LhtpHznfEJBMSE5SOmRsEwfTSpZO1bOsR07dgzBYBAqlQparZZtw3EctFotQqEQQqEQgsFg0j4Fg0E4nU6oVKqEI6X9/f0IBAJJ+yxnxNXpdMJsNmd8juS01d/fL2sS1YwZM1jgodPphgRGkUgEarUaRUVFiEQiLMVECsKlx9vSiGOyYwuFQgCQlcf1cu5HOf1xu92KTEZT8v2h1L7SnbA42kbjaVMiBUVa3PbzZUp0e8Ttj5alS5cOKYe2bds2lioxd+5c8DyPjo6OpCO0M2bMYP/u7OyERqOJ+97gNnfs2BGXtxzbpk6nw+LFi9HW1hb3c0ePHsXUqVPTOr6xRkExITlIyZEwJUbmlHwUK+fYzp07B0EQhh3BlB4Zi6IIlUqVtE8cxyEajYLn+YQjpcFgkAVQicgdceU4LuNzJLet3t7epKPkDocDU6dOxaRJk+B0OocNeNVqNYxGI8u1drlc8Pl87AOJwWCA0Whk5yfZsel0upTbKPW4Xs79KKc/0ohppu8hJd8fSu5L7oTFbFD6aVMynIobtYluSvN4PDh+/Dj7ur29HS0tLSgpKUFNTQ3Wr1+Ps2fP4sUXXwQA3HHHHXj66afxwAMP4LbbbsNbb72FP/7xj9i6dSuA8ylQ9913H9atWwdBELBs2TK4XC7s2bMHRqMRa9euTbuPd999N6688ko8+eSTWL16NV555RW89957eP7559k2999/P774xS9i+fLlWLFiBd544w387W9/ixt9zgcUFBOSg5QaCVNqZE7JR7Fyjk2aVCblHMaW8RIEAZFIBDqdDuXl5XC5XAn7VFpaioGBgaQjpTqdjgVQieh0upQjrgUFBSgtLU3aHznnSE5barUaoiimvPY6nQ7V1dWIRCIsP1kKeIuKiqBWqzFt2jSIogibzYYpU6awCXcajQY6nQ4OhwOVlZUAzk+4SXZscrZR4nG93PsxVX+MRiOrvJHsPKZ6Dyn5/lA67SHT1RyVQisVDu+9997DihUr2NdSlYe1a9di8+bN6OrqilsAo7a2Flu3bsW6deuwceNGVFdX47e//S0rxwacL5lmtVqxYcMGnDx5EmazGYsWLcJDDz00oj5edtllePnll/Hwww/joYcewsyZM7FlyxZceOGFbJvPfe5z2LRpEzZs2IDvfve7mD17Nv73f/8Xy5aN3Yj9SFBQTEgOUmokTKmROSUfxco5NinA7O3tZSkSUl3gcDgMtVoNq9WKuro6HDlyJGmtVpfLlXSk1Gw2pywwX1BQkHLE1Ww2Y/bs2Un7I+ccyWlLGt1Nde0LCgrYdfP5fCwnWBRFBINB1icAcLvdcDgcMBqNrFybw+GAXq/HnDlz2DaJjk3ONko9rpdzP8rpz6xZs3Dw4MGM30NKvj9GI+0h0WS8bMrViX9j7aqrrhqyAEus4Varu+qqq/DBBx8k/BmO43D33Xfj7rvvlt2HU6dOJd3m85//PD7/+c8n3ea2227DbbfdJqvNXEVBMSE5SKmRMCUn0ij1KFbusVVWVuLYsWMYGBhAIBBg1ScKCwtRXFyMCy64ANOnT4fRaEzYJ4vFgnPnziESibBV1WJTA1QqFaqrq1OeI5PJxEZck+0nVX/knCM5bcWO7qa69hzHxV03aRR4cJ/kXFultlGC3Psx2TbS/aHEqKySqQq5lPaglFyc+EfIYBQUE5KDlBoJU3oijRKPYmOPLdHqcLHHZjAYhtS8jV1BLlWfpLa8Xi/MZvOIVqKL7bPH42FpDNLIlsFgkN0fSaKV+mLbStZn6fzY7XaWMz14BFhqU06fsrmNXKnq2VqtVpSWliZd8VDu/aHE6nly+iNXrqQ9KCXXJv4RMhxOTDZuT5Jyu90wmUxwuVxx5UsIUUqu1CkeDUqtVieHUufxrbfewrvvvotgMMiCdJ7nsXjxYlx99dVZP3Y5+8lX2bz3lWorX9+L2TQa5ygQCKC9vR21tbUpU6HI+JXsPpAbr1FQnAEKikk25MqKdkqKrVc63CinkiuNSZLtJ1H9VJfLxfrT3t6OxsZGhEIhaLValucrTYhbsWIF6uvrU/YjdqW+oqIi1pbX6wXP81i5ciULaOX02ev1Djvans81X+VcD2D4Gt2x26Rz/JneH0r3ZzxT+vcVBcUEUCYopvQJQnKcnEkyuTCRRq5E9Uql1+Su2JWuRPuRUz/18OHDaGlpQTgcRlFREXscrtVqodPp4PP5sH//flxyySVQq9UJ+yAIApqbmxEMBllahNSWVquF0+lEc3MzZs6cyVIpUvV5cFk2o9GoaM3XbJNbz1aJ1QNjZXJ/jEZ/xrN8+n1FJpb0E50IISQD6dQrzZX+nDx5Eh6PBzqdbkh+qEqlgk6ng8fjQWtra9K2Ojs70dfXFxdYx+5Hr9ejr68PnZ2dGfc5m+dQSXLrWHd1dWXl+HOtP4SQ0UNBMSEkq+TUK41EIlmrVyqnP8FgkC03PRyNRgNBEOB2u5O25fF4EI1Gk7YVjUbZUq2Z9Dmb51BJcmt0S2ksibZR6vhzrT+EkNFDQTEhJKti65UOJ9v1SuX0h+d5qFQqRCKRYbeJRCJQqVQp5xYYDAao1eqkbanVahgMhoz7nK81X+Ucm7TgSjaOP9f6QwgZPRQUE0KySqpX6nK5hhStl+qVWiyWrNUrldOf6dOnw2AwIBQKQRCEuG0EQUAoFGJl2ZKprq5GSUkJvF7vsPvx+XwoKSlBdXV1xn3O5jlUkpxjq6qqQmVlZVaOP9f6QwgZPTTRjowb+VaBQUmJat6Oxn7knmc5NX8T1SlOt15pJtdeTv3UuXPnorCwEI2NjfD5fNDpdGwZaumx+ZIlS9gku0T9UalUqK+vx/bt2+F0OqHX61lbUiWO+vr6lNdutGq+ZqPSRypy7w9Afo3uTCq4DD7XiWpCp9OfTPs0GtdjIv/+zFc7d+7EihUr0N/fn3Di4ubNm3HPPffA6XRmtW+Zuuqqq7Bw4UL86le/ymq7FBSTcWEi1wdVqlatknWDU21ntVoxc+ZMNDc3w2azxbW3cOFCxWvMpiJnBTFpX/v374fH40EoFGIpE0uWLGHl2FL1RzqX0rn2+Xxs2ep0rpnSq55ls+avnGOTc3/IOX4l6gvH9qerqyuuPwsWLEh7Nb98rMFMRofNZsOGDRuwdetWdHZ2wmQyYcaMGbj55puxdu1a6PX6hD972WWXsQmeRBkUFJO8l6iGaFdXF1wu17iuD5qo5q3dbsf27dsBQFaQJWc/JSUlss6znOsBAMeOHQPP85g2bVrcyNuxY8dQUlIi65opee3lrCBWX1+PSy65BK2trXC73TAajairq2MjxHL7M3v2bMycOTPj0X2lVj1T6jwquR8590eq45d7L8q9X3U6HaZNmxY3cp1Of5Tsk1LXQ6m2SPpOnjyJyy+/HGazGY899hjmz58Pnufx0Ucf4fnnn8fkyZPxmc98ZtifleqjV1RUZLnXmZPy8HMRBcUkr8mtIToe64OmW/M2k/00NTVh6tSpKc9zaWnpiGu6AsPXKU5kNK69nPqparUa8+bNy7g/KpUKNTU1svqVaZ+TUeo8jvZ+pNfk1rFWsr6wtI2cmtDJrkc2ax7LaevIkSMAMO5+f/7zuV/Dceb0mLVvmTIV1/77d1Nu961vfQsajQbvvfceioqK2PenT5+Oz372s3H56RzH4dlnn8U//vEP7NixA/fffz+uuuqqIekTmzdvxg9+8AM4HA6sWrUKy5YtS9qHUCiEe++9F//7v/+L/v5+lJeX44477sD69esBAE6nE/fddx/+8pe/IBgM4tJLL8VTTz2FBQsWAABOnDiBe++9F/v374fX68WcOXOwYcMGrFy5krUxbdo03H777Th27Bi2bNmCG264AZs3b8aePXvw/e9/H83NzSx17JVXXsGkSZMAnP/b9MADD+C3v/0tdDod7rjjDvzoRz+SdQ1GioJiktfSqdc63orFp1PzNlnwJWc/vb294DhuSFAAxJ/nzs5OWTVdAcBsNmd0zXLt2udaf+RSqt/5uB8596JS96uSfVLq+Lu6uhQ7tlziOHMaXcfaxrobSfX29uKf//wnHnvssbiAONbga/KjH/0IP/vZz/CrX/0KGo0GJ0+ejHu9qakJt99+OzZs2IA1a9bgjTfewA9/+MOk/fj1r3+Nv/71r/jjH/+ImpoanDlzBmfOnGGvf/7zn0dhYSH+8Y9/wGQy4bnnnsMnPvEJHD16FCUlJfB4PPjUpz6Fn/70p+B5Hi+++CKuv/56tLW1xf3d+cUvfoEf/OAHrD8tLS34xCc+gdtuuw0bN26ERqNBY2MjotEo+5k//OEPuPfee9HU1IR9+/bh1ltvxeWXX45rrrlG3kkeAQqKSV6TU0N0YGBgXNYHlVPz1ufzpax5K2c/AwMDKeuwDgwMwOPxyKrpCiDja5Zr1z7X+iOXUv3Ox/3IuReVul+V7FM2jz8X79nx4Pjx4xBFcUh6m8ViQSAQAADcddddePzxx9lrX/nKV/D1r3+dfT04KN64cSM++clP4oEHHgAAzJo1C3v37sUbb7yRsB8dHR2YOXMmli1bBo7jMHXqVPba7t270dzcjJ6eHlZO8Be/+AW2bNmCP/3pT/jmN7+JBQsWsFFjAHj00Ufx2muv4a9//Su+/e1vs+9fffXV+N73vhd3LJdeeimeffZZ9r3BT+AuuugiFkTPnDkTTz/9NHbs2DGqQTGVZCN5bTzXa01FqZq3cvaj0Whk1WE1GAxZq+maa9c+1/ojl1L9zsf9yLkXlaxBnM2ax1RfOT81NzejpaUF8+bNG/Jh5NJLL036s0eOHGF54pKlS5cm/Zlbb70VLS0tmD17Nr773e/in//8J3vtww8/hMfjQWlpKQwGA/uvvb0dJ06cAHB+UOW+++7DnDlzYDabYTAYcOTIEXR0dCTtuzRSnMxFF10U93VlZSV6enqS/kymKCgmeW0812tNRamat3L2U1paipqampTnubq6Oms1XXPt2udaf+RSqt/5uB8596KSNYizWfNYTluVlZVUX3mMzJgxAxzHoa0tPs1j+vTpmDFjBgoLC4f8TKI0i0wsWrQI7e3tePTRR+H3+/GFL3wBN910E4DzAW9lZSVaWlri/mtra8P9998PALjvvvvw2muv4bHHHsM777yDlpYWzJ8/nz2FSNT34Y5vsMFPMDiOG/I3SmmUPkHy2mjVa80HStW8lbOfhoYGlJSUYGBgIOl5VqlUsq4HkF5N1+Hk2rXPtf7IpVS/83U/QOp7Uc42cq6rkn1S4vjnzJmj2LHlEsuUqak3GuP2S0tLcc011+Dpp5/Gd77zHUUC3jlz5qCpqSnue/v370/5c0ajEV/84hfxxS9+ETfddBM++clPoq+vD4sWLYLNZoNGo8G0adOG/dk9e/bg1ltvxec+9zkA5wPpU6dOpWzzoosuwo4dO/DjH/845bbZREExyXtK12vNJ0rVvJW7HznnWe71UOKa5dq1z7X+yKVUv/N1P9m6X5XuUy61lUvkVH7IBc8++ywuv/xyXHrppfjRj36Eiy66CCqVCu+++y5aW1txySWXpLW/7373u7j88svxi1/8Ap/97Gfx5ptvJs0nBoBf/vKXqKysxMUXXwyVSoVXX30VFRUVMJvNWLlyJZYuXYo1a9bgiSeewKxZs3Du3Dls3boVn/vc53DppZdi5syZ+POf/4zrr78eHMfhkUcekTWau379esyfPx/f+ta3cMcdd0Cn06GxsRGf//znYbFY0jpuJVFQTMYFpeq15iOlat7K2Y/c8yxnO6WuWa5d+1zrj1y5dj2yuZ9s3q/Zbi/bx0bku+CCC/DBBx/gsccew/r169HZ2Qme5zF37lzcd999+Na3vpXW/pYsWYL/+q//wg9/+EP84Ac/wMqVK/Hwww/j0UcfTfgzxcXFeOKJJ3Ds2DGo1WosXrwYr7/+Ovu9//rrr+P73/8+vv71r8Nut6OiogLLly9HeXk5gPNB9W233YbLLrsMFosFDz74INxud8q+zpo1C//85z/x0EMPob6+HoWFhWhoaMCXv/zltI5ZaZw4OJGIyOZ2u2EymeByuWA0Gse6O4QQQsiEEwgE0N7ejtraWhQUFIx1d8gYSXYfyI3XaKIdIYQQQgiZ8CgoJoQQQgghEx4FxYQQQgghZMKjoJgQQgghhEx4FBQTQgghhJAJj4JiQgghhOQ9KqY1sSlx/SkoJoQQQkjekpYD9vl8Y9wTMpak6z94eeh00OIdhBBCCMlbarUaZrMZPT09AAC9Xk8Lj0wgoijC5/Ohp6cHZrMZarV6xPuioJgQQgghea2iogIAWGBMJh6z2czug5GioJgQQggheY3jOFRWVqKsrAzhcHisu0OyTKvVZjRCLKGgmBBC0iCKIlwuF4LBIHieh8lkoke1JG10H40OtVqtSHBEJiYKigkhRCa73Y7W1lY4HA5EIhFoNBpYLBbU1dXBarWOdfdInqD7iJDcREExIYTIYLfb0dTUBJ/PB5PJBK1Wi3A4jK6uLrhcLjQ0NFBAQ1Ki+4iQ3EUl2QghJAVRFNHa2gqfzwer1Qqe56FSqcDzPKxWK3w+H1pbW6lOKkmK7iNCchsFxYQQkoLL5YLD4Rg275PjOBiNRjgcDrhcrjHqIckHdB8RktsoKCaEkBSCwSAikUjCovA6nQ6RSATBYDDLPSP5hO4jQnIbBcWEEJICz/PQaDQJSz2FQiFoNBrwPJ/lnpF8QvcRIbmNgmJCCEnBZDLBYrHA5XINyfcURRFutxsWiwUmk2mMekjyAd1HhOQ2CooJISQFjuNQV1cHvV4Pu92OQCAAQRAQCARgt9uh1+tRV1dHdWZJUnQfEZLbOJGmuY6Y2+2GyWSCy+WC0Wgc6+4QQkYZ1ZclSqD7iJDskhuvUZ1iQgiRyWq1ssfftBIZGSm6jwjJTRQUE0JIGjiOg9lsHutukDxH9xEhuYdyigkhhBBCyISXl0Hxhg0bsHjxYhQXF6OsrAxr1qxBW1tb3DZXXXUVOI6L+++OO+6I26ajowOrV6+GXq9HWVkZ7r//fkQikWweCiGEEEIIyQF5mT7x9ttv46677sLixYsRiUTw0EMP4dprr8Xhw4dRVFTEtvu3f/s3/Md//Af7Wq/Xs39Ho1GsXr0aFRUV2Lt3L7q6unDLLbdAq9Xisccey+rxEEIIIYSQsTUuqk/Y7XaUlZXh7bffxvLlywGcHyleuHAhfvWrXw37M//4xz/w6U9/GufOnUN5eTkAYNOmTXjwwQdht9uh0+lStkvVJwghhBBCcpvceC0v0ycGk9aJLykpifv+f//3f8NiseDCCy/E+vXr4fP52Gv79u3D/PnzWUAMAKtWrYLb7cbHH388bDvBYBButzvuP0IIIYQQkv/yMn0iliAIuOeee3D55ZfjwgsvZN//yle+gqlTp6KqqgoHDx7Egw8+iLa2Nvz5z38GANhstriAGAD72mazDdvWhg0b8OMf/3iUjoQQQgghhIyVvA+K77rrLhw6dAi7d++O+/43v/lN9u/58+ejsrISn/jEJ3DixAlccMEFI2pr/fr1uPfee9nXbrcbU6ZMGVnHCSGEEEJIzsjr9Ilvf/vb+Pvf/47GxkZUV1cn3bahoQEAcPz4cQBARUUFuru747aRvq6oqBh2HzzPw2g0xv1HCCGEEELyX14GxaIo4tvf/jZee+01vPXWW6itrU35My0tLQCAyspKAMDSpUvx0Ucfoaenh22zbds2GI1GzJ07d1T6TQghhBBCclNepk/cddddePnll/GXv/wFxcXFLAfYZDKhsLAQJ06cwMsvv4xPfepTKC0txcGDB7Fu3TosX74cF110EQDg2muvxdy5c/G1r30NTzzxBGw2Gx5++GHcdddd4Hl+LA+PEEIIIYRkWV6WZEu0PvwLL7yAW2+9FWfOnMHNN9+MQ4cOwev1YsqUKfjc5z6Hhx9+OC7l4fTp07jzzjuxc+dOFBUVYe3atfjZz34GjUbeZwUqyUYIIYQQktvkxmt5GRTnCgqKCSGEEEJy24SqU0wIIYQQQkgmKCgmhBBCCCETHgXFhBBCCCFkwqOgmBBCCCGETHgUFBNCCCGEkAmPgmJCCCGEEDLhUVBMCCGEEEImPAqKCSGEEELIhEdBMSGEEEIImfAoKCaEEEIIIRMeBcWEEEIIIWTCo6CYEEIIIYRMeBQUE0IIIYSQCY+CYkIIIYQQMuFRUEwIIYQQQiY8CooJIYQQQsiER0ExIYQQQgiZ8CgoJoQQQgghEx4FxYQQQgghZMKjoJgQQgghhEx4FBQTQgghhJAJj4JiQgghhBAy4VFQTAghhBBCJjwKigkhhBBCyIRHQTEhhBBCCJnwKCgmhBBCCCETHgXFhBBCCCFkwqOgmBBCCCGETHgUFBNCCCGEkAmPgmJCCCGEEDLhaca6A4QQQsh4IYoiXC4XgsEgeJ6HyWQCx3Fj3S1CiAwUFBNCCCEKsNvtaG1thcPhQCQSgUajgcViQV1dHaxW61h3jxCSAgXFhBBCSIbsdjuamprg8/lgMpmg1WoRDofR1dUFl8uFhoYGCowJyXGUU0wIIYRkQBRFtLa2wufzwWq1gud5qFQq8DwPq9UKn8+H1tZWiKI41l0lhCRBQTEhhBCSAZfLBYfDMWz+MMdxMBqNcDgccLlcY9RDQogcFBQTQgghGQgGg4hEItBqtcO+rtPpEIlEEAwGs9wzQkg6KCgmhBBCMsDzPDQaDcLh8LCvh0IhaDQa8Dyf5Z4RQtJBQTEhhBCSAZPJBIvFApfLNSRvWBRFuN1uWCwWmEymMeohIUQOCooJIYSQDHAch7q6Ouj1etjtdgQCAQiCgEAgALvdDr1ej7q6OqpXTEiOo6CYEEIIyZDVakVDQwMqKyvh9/vR29sLv9+PyspKKsdGSJ6gOsWEEEKIAqxWK0ujoBXtCMk/FBQTQgghCuE4Dmazeay7QQgZAUqfIIQQQgghEx4FxYQQQgghZMKjoJgQQgghhEx4FBQTQgghhJAJj4JiQgghhBAy4VFQTAghhBBCJjwKigkhhBBCyIRHQTEhhBBCCJnwKCgmhBBCCCETHgXFhBBCCCFkwqOgmBBCCCGETHgUFBNCCCGEkAmPgmJCCCGEEDLhUVBMCCGEEEImPAqKCSGEEELIhEdBMSGEEEIImfA0Y90BQggh+UMURbhcLgSDQfA8D5PJBI7jxrpbhBCSMQqKCSGEyGK329Ha2gqHw4FIJAKNRgOLxYK6ujpYrdax7h4hhGSEgmJCCCEp2e12NDU1wefzwWQyQavVIhwOo6urCy6XCw0NDRQYE0LyGuUUE0IISUoURbS2tsLn88FqtYLneahUKvA8D6vVCp/Ph9bWVoiiONZdJYSQEaOgmBBCSFIulwsOh2PY/GGO42A0GuFwOOByucaoh4QQkjkKigkhhCQVDAYRiUSg1WqHfV2n0yESiSAYDGa5Z4QQohwKigkhhCTF8zw0Gg3C4fCwr4dCIWg0GvA8n+WeEUKIcigoJoQQkpTJZILFYoHL5RqSNyyKItxuNywWC0wm0xj1kBBCMkdBMSGEkKQ4jkNdXR30ej3sdjsCgQAEQUAgEIDdboder0ddXR3VKyaE5DUKigkhhKRktVrR0NCAyspK+P1+9Pb2wu/3o7KyksqxEULGBapTTAghRBar1crSKGhFO0LIeENBMSGEENk4joPZbB7rbhBCiOIofYIQQgghhEx4FBQTQgghhJAJj4JiQgghhBAy4VFQTAghhBBCJjwKigkhhBBCyIRHQTEhhBBCCJnwKCgmhBBCCCETHgXFhBBCCCFkwqOgmBBCCCGETHgUFBNCCCGEkAmPgmJCCCGEEDLhaca6A4RkkyiKcLlcCAaD4HkeJpMJHMflfVtKkdNnucclZztBENDZ2QmPxwODwYDq6mqoVLn9WV2pPkejUbS2tsLtdsNoNKKurg5qtXoUenxePt6PcuTrezrX7v3xen8Qkg4KismEYbfb0draCofDgUgkAo1GA4vFgrq6Olit1rxtSyly+iz3uORs19bWhubmZvT19SEajUKtVqOkpAT19fWYPXv2mJyDVJTqc3NzM/bv3w+PxwNBEKBSqbBjxw4sWbIE9fX1ivc7H+9HOfL1PZ1r9/54vT8ISVduD8kksGHDBixevBjFxcUoKyvDmjVr0NbWFrdNIBDAXXfdhdLSUhgMBtx4443o7u6O26ajowOrV6+GXq9HWVkZ7r//fkQikWweCskSu92OpqYmdHV1Qa/Xo7S0FHq9Hl1dXWhqaoLdbs/LtpQip89yj0vOdm1tbdi+fTvsdjsKCgpgNptRUFAAu92O7du3D3k/5wKl+tzc3IzGxka43W5oNBro9XpoNBq43W40NjaiublZ0X7n4/0oR76+p3Pt3h+v9wchI5GXQfHbb7+Nu+66C/v378e2bdsQDodx7bXXwuv1sm3WrVuHv/3tb3j11Vfx9ttv49y5c7jhhhvY69FoFKtXr0YoFMLevXvxhz/8AZs3b8YPfvCDsTgkMopEUURrayt8Ph+sVit4nodKpQLP87BarfD5fGhtbYUoinnVllLk9PnIkSM4cuRIyuMSBEHWvpqamhAMBmE2m+O2MZvNCAaDaG5uhiAIY31qGEEQ0NzcnHGfo9Eo9u/fj3A4DL1eD51OB5VKBZ1OB71ej3A4jP379yMajSrS73y8H+XI1/e0UveRUsbr/UHISOVlUPzGG2/g1ltvxbx587BgwQJs3rwZHR0deP/99wEALpcLv/vd7/DLX/4SV199NS655BK88MIL2Lt3L/bv3w8A+Oc//4nDhw/jpZdewsKFC3Hdddfh0UcfxTPPPINQKDSWh0cU5nK54HA4hs2R4zgORqMRDocDLpcrr9pSipw+d3V1oaurK+VxdXZ2ptzX6dOn0dvbi6KioiE5lCqVCnq9Hn19fejs7ARw/g+30+lEd3c3nE7nsH+g5WwjR6L9dHZ2oq+vT3afE2ltbYXH42HB8OD96HQ6eDwetLa2jqj/g+Xj/ShHvr6nlbqPlDJe7w9CRmpc5BRLb9iSkhIAwPvvv49wOIyVK1eyberq6lBTU4N9+/ZhyZIl2LdvH+bPn4/y8nK2zapVq3DnnXfi448/xsUXXzyknWAwiGAwyL52u92jdUhEQcFgEJFIBFqtdtjXdTodBgYG4q5tPrSlFDl9lj4opjouj8cja1+ptvH5fPB4PIrmOaeSbD8ejwfRaFRWn5Nxu90QBAEazfC/ejUaDUKhkGK/W/LxfpQjX9/TSt1HShmv9wchI5WXI8WxBEHAPffcg8svvxwXXnghAMBms0Gn08FsNsdtW15eDpvNxraJDYil16XXhrNhwwaYTCb235QpUxQ+GjIaeJ6HRqNBOBwe9vVQKASNRgOe5/OqLaXI6bNOp4NOp0t5XAaDQda+Um2jVqsRiUQUy3NOJdV+IpEI1Gp1yj4bDIak7RiNRqhUqoRzFyKRCFQqFYxGo6x+p5KP96Mc+fqeNhgMitxHShmv9wchI5X3QfFdd92FQ4cO4ZVXXhn1ttavXw+Xy8X+O3PmzKi3STJnMplgsVjgcrmGPFYXRRFutxsWiwUmkymv2lKKnD5XVlaisrIy5XFVV1en3NfUqVNRWloKr9c7JHdSEAT4fD5MmjQJ/f39iuQ5p0qlkJNX6XQ6MWnSpKR9LikpQXV1ddK26urqYDAYEAqFht1PKBSCwWBAXV1d0v3IlY/3oxz5+p6urq5GSUlJxveRUsbr/UHISOV1UPztb38bf//739HY2Bj3S6SiogKhUAhOpzNu++7ublRUVLBtBlejkL6WthmM53kYjca4/0ju4zgOdXV10Ov1sNvtCAQCEAQBgUAAdrsder0edXV1itTkzGZbsTLJqZXT5zlz5mDOnDkpj0ulUrF99fT0wOVyYWBgAC6XCz09PWxfDQ0N4HkeTqczbl9OpxM8z+PCCy9EX1+fInnOqfIh5eRV9vb24sILL2R99nq9CAQC8Hq9rM/19fUp68yq1WosWbIEWq2W7SMcDrN9abVaLFmyRLF6xWN1P462fH1Pq1Qq1NfXJ7335dxHsUb7vZ+P9wchI5WXOcWiKOI73/kOXnvtNezcuRO1tbVxr19yySXQarXYsWMHbrzxRgDny+B0dHRg6dKlAIClS5fipz/9KXp6elBWVgYA2LZtG4xGI+bOnZvdAyKjzmq1oqGhgeWMDgwMQKPRoLKyUvFanNlsC1Amp1Zun+VsY7VaMXPmTDQ3N8Nms8XVYV24cCGsVivbVqrV6vP5oFarYbVaUV9fD7PZjBMnTiiS55wqH1JuXuXkyZOxePFi7N+/Hy6Xi9UXNhgMWLx4sez6svX19fB4PHj33XcRDAYhiiI4jgPP81i8eLHidYqzfT9mSzrHlenCFEqeQ+k+SXTvp1OnOJvvfUImAk7Mw1or3/rWt/Dyyy/jL3/5S9wvEJPJhMLCQgDAnXfeiddffx2bN2+G0WjEd77zHQDA3r17AZwvjbRw4UJUVVXhiSeegM1mw9e+9jV84xvfwGOPPSarH263GyaTCS6Xi0aN80S+rn6ViJQL6/P5YDKZoNVqEQ6H4XK5oNfr0dDQkNYfNSVWtIvtE8/z4DgOoigiGAwO6VOiVb2cTicaGxuh1+uHzWcMBAJsBFgqbTXcNn6/HytWrBgyvyCWnLb8fj8WLFiAw4cPw+v1smOS/l9UVCT7XEvnx+v1IhKJsA8NGo0mrf2ka7yuWCbnflRqYYpcWtFuLN77hOQrufFaXo4U/+Y3vwEAXHXVVXHff+GFF3DrrbcCAJ566imoVCrceOONCAaDWLVqFZ599lm2rVqtxt///nfceeedWLp0KYqKirB27Vr8x3/8R7YOg4wBjuOSBkj51NbgXFjpD5iUCysFAxaLRfYfNzl9TrZNoj5Jrw3uk0qlQk1NzZD9SLmOXV1dw+5HynMGzk+MTbZNqnxIOW1VVFSgs7MTPp8PZWVlKY8rkdjzk8l+RiKb9342JTuuRIFjV1cXXC5X2oGjkucw0b0vx1i99wkZ7/IyKJYzuF1QUIBnnnkGzzzzTMJtpk6ditdff13JrhGSNenUGM3WHzul+iTlOrpcLtjtdhiNRpYy4Xa7WW4ycH4EwG63DzsqLScfUk5bkydPxsGDBzM+rly8ZuPVaASOuYLuI0JGR15PtCNkIpOTCxuJRNKqMZrpIhhK9knKdaysrITf70dvby/8fj8qKyvZCJ+UvxwMBnHq1CkcP34cp06dQjAYxMyZM9POq0zUlsFgUOS4RuOajWeZ3I/jeWEKuo8IGR15OVJMCImvMTpcLmy6NUaVyL1Uuk9Wq5WVjBou19Fut+PYsWPQ6XSYNm0aVCoVmz1/7NgxlJSUpBUYJ2rL6XQqclxKn5/xLNP7cTwvTEH3ESGjg0aKCclTStYYVWoRjNGoeyrlOpaXl8NsNrOAeHB+rslkQnFxMUwmE8rKymTXKZbTllLHRXVh5VHifhzPC1PQfUTI6KCgmJA8pVSNUTmLV8gNLrNZ9zSbj8eVOi6qC5uaUvfjeA4c6T4iZHRQ+gQheUyJGqNKT9rJVt3TbD8el47ryJEj6OrqYktWV1VVjZu6sEqV5cqktF82J2vmc+CYy/cRIfmKgmJC8lyqvNtURiO4zLRPcuRKXuVISr1n4/ykS6l6vnL2k2wbQRAUux/He+CYi/cRIfmMgmJCxoFMaoyOVnA52nVP5dYyVurxeGzNW7PZzGre2mw2uN3uUal5m60FFZSq5ytnPwCSbjN37tysTtbMd1RfmBDlUFBMyASX7eBSKdl8PD4WNW+VXIktGaWOTc5+jhw5AgBJtzl79ixKS0szXpQlFgWOhBA5KCgmZIIbreAyG6Oc2Xo8nu3FEpReiS0ZpY4tdj/A+eWxpWCe53kYjUZ0dXUBQFxlj+Hauuiii9iiLOMtF1hCyyqPT3Rd8xsFxYQQxYPLbI1ySn0f7cfj2ZzUl+1RaaWOTdqPlFLi8/kgCAJUKhUrqxYKhQAgZVsGg2Fc5wJn8/1Bsoeua/6joJgQAkC54DKbo5yS0X48ns1JfdkelVbq2HieRyQSwZkzZyAIAnieh1qtRjQahcfjgc/nQ1FREXiel9WW2Wwel7nAY/H+IKOPruv4QHWKCSFMosUr5FKy5nEuyWbN22wv4avUsRmNRkQiEfj9fhQWFkKj0YDjOGg0GhQWFsLv9wMAKioqZLeV6f2Ya8br+2Oio+s6flBQTAhRTDYX1MimbC6WkO2V2JQ6NrfbHRcARyIRiKIYFyhrtVpUV1dP2EUnxuv7Y6Kj6zp+UFBMyCgRRRFOpxPd3d1wOp0TYpQg3VHObJ4jOW0l20bKu66srITf70dvby/8fj8qKysVfTQ6FiuxpXNsic5RMBiERqNBdXU1DAYDwuEwfD4fwuEwDAYDqqurodFoWL7waJ/HXJTtpwAkO+i6jh+UU0zIKMj2hItcmfGcTn5qNs9RpgtKSNtkY1LfWK3EJufYkp0j6drrdDrU1NSwQEG63tLX4zlfOJVcWXCGKIuu6/hBQTEhCsv2hItcmvEst+ZxKBRCc3NzVs6REgtKxPYnGzVvx2oltmTHluo81tfXx137goIC9rPD1ReeiLWD87UmOEmOruv4oWhQfOzYMbz44ovYt28fbDYb/H4/3nzzTcyYMYNtc+jQIXR0dKCoqAhXXnmlks0TMuayXU4r12Y8yxnlnD17Ntra2rJyjuReD1EUs7owhxxWqxWlpaXo7OyEx+NhKQgqVfaz3uScx7a2NsyePTvrI9z5ZKyeApDRRdd1/FAkKBYEAQ888AA2btwIQRBYjhnHcawupaSjowOf/vSnodFo0N7ejsmTJyvRBUJyQjbLaY3FKmtypBrl1Gq1WTtHcq7HuXPnAKReUEKpEmhyDfcE4PTp00NGirOROiP3vp4/f/64ri+shLF6CkBGF13X8UGRoPjf//3f8fvf/x6iKGLy5MlYunQp/vSnPw277ac+9SnU1tbi1KlT+NOf/oS7775biS4QkhOyuchDtuvZpiNZfmp3d3fWzpGc6yF3QYnYyYGjHYTKfQKQrdSZdO7r8vLyCZkvnI5s5KaT7KPrmv8yDop37NiB3/3ud+A4Dg899BB+/OMfQ61WJ33E9/nPfx5PPPEE3nrrLQqKybiSzQkX2QzARyJRzmg2z5GctnQ6HQDkzOTAdFI+spWXne41m4j5wumiczQ+0XXNbxknpz3//PMAzo8A/+QnP4FarU75M/X19QCAjz/+ONPmCckp2Synle16tkrJ5jmS01ZVVRUqKytT9icUCqGpqQldXV1s2WK9Xo+uri40NTXBbrdn3F9A3hMAu92OlpaWrC0WMBZl4gghJNsyDor37dsHjuNw++23y/6Z6upqAIDNZsu0eUJySjYXecjXQCWb50huW3PmzEm6zeDJgaMZhMp5AuD3+7O6WEA2rxkhhIyVjNMnenp6AADTpk2T/TPSL/tIJJJp84SMiWR5pdKEiyNHjqCrq4s9oq+srMScOXMUe6Sd6zOe5ZwjpSalKNFWsmuW7uTATPKO5aQqcBwHURSh1WohiuKQmsCjkTojncfDhw+jo6ODnaOamhrMnTuXJhKlKVdqixNC/iXjoLioqAhOpzOtR4ednZ0AgJKSkkybJyTrcqkucK7OeM7mQhjZaCud/O1M7w85NU+tVisGBgbgdrvhcrng8/kgCAJUKhX0ej2MRuOopM709fXh9OnT6O3tZccmiiIqKiooKE5DLv0OIYT8S8ZB8fTp03HgwAEcPnwY11xzjayf+cc//gEAmDdvXqbNE5JV6S4EYTab2TY2mw1ut1vx2sG5NuM59hzxPA+e5yGK4pgtzCFn0Y3Y/Qx3zebMmSNropnX68Xhw4czmvwm5wnAggULcODAAbS1tbHgV61WIxqNwuPxwOl0Yvbs2YqmzrS1tWH79u0IBoMoKipix+ZwOLB9+3YAwOzZsxVrb7zKtdrihJB/yTgovvbaa/H+++/jmWeewXe+852UheUPHz6MzZs3g+M4fOpTn8q0eUKyRk5VgCNHjgBA1msH58qMZ+kc9ff3IxqNore3l41gFhYWIhgMsuN3OBwZjZalW6c50eNqOfs5e/YsSktLYbPZEo7eVlRUoLOzU5Frn+oJgMViiWt/8HlRmiAIaG5uRjAYhNlsZr/neZ6HVquF0+lEc3MzZs6cOSaLi+SLXK0tTgg5L+Og+Lvf/S5+/etf48SJE7jjjjvw7LPPQqMZfrfbtm3D17/+dQQCAZSWluLf/u3fMm2ekKyRUxWgq6sLQO4tBJEtLpeLrcAmCELcCKbX64VKpUJnZydOnjyJI0eOwOv1oqCgAAUFBRAEAefOnZM9WpZOneZwOJwwAJeTL9zb24sFCxbA7XYnHL2dPHkyDh48qFjd6GRPAJxOJ/x+P2pqauB2u+Hz+RAMBqFSqVBcXAyj0Qi/36/YfdbZ2Ym+vj4UFRUNCXqllI2+vj50dnaipqYm4/Yk4y3vNpdrixNCFAiKy8vLsWnTJtxyyy343e9+hzfffBOrV69mr2/cuBGiKGLPnj1sdrZKpcLmzZthMBgybZ6QrBmNhSDyUbJAJRAIoL+/H4IgoKioiH1fo9FArVbD6/Wiv78fbW1tbLu+vr64fNhQKCRrtExunq/NZsPx48cTPq6eMWOGrP0UFRUlHb0VBEHxutGJngBIx15aWgqz2Txkop0oiujt7VXsPvN4PIhGo0mPzefzwePxKNIeMD7zbnO9tjghE50iK9p99atfhVarxb//+7/jzJkzeO6559gfs9/+9rcA/vVIz2Aw4A9/+ENc4ExILkkU9Cm9EEQ+ShWohEIhhMNhFBQUDDsSptFo4Pf7WYWHwaPJHo+HjSanGi2Tcz3UajU6OjqSPq4+c+YM1Gq1rGtmNpuTjt6O1aIkBQUFca8Hg0FF7zODwZDyHKnVajbQkekI73jNu83mwjWEkPQpEhQDwBe+8AV84hOfwLPPPou//e1vaGlpiSu5Nm/ePHzmM5/B3XffjbKyMqWaJURRyYI+i8WSsipAZWUlACTNPa2srMy52sFyyAlUdDod+75Opxty/JFIBCqVCh6PB2q1OuFostPpRCAQSNofOVUaJk2ahIGBgaSPqwcGBmAwGOB0OmVds0Sjt3L6o9S1z2ZbwPna8iUlJbDb7dBqtXEpFIIgsA8d1dXVGY/wjue822xfN0JIehSdEVFaWopHHnkEzc3NCAQC6OnpQVdXF4LBID766CP89Kc/pYCY5Cwp6Eu0YpnD4Ui5gMGcOXNSLgSRj4scDA5UEi1ewfM8Jk2aBLVaDZ/Ph0gkwoJhn8/HRhMFQYBWq004mhwKhVgqSiJyFpSYMmVKysf+0WgUNTU1GV+zXFyURKn7TKVSob6+HjzPsw8sUntOpxM8z6O+vh69vb0Zr/qXTt5tvqFFUAjJbYqNFA+mUqniZkgTksvkjk4tW7ZM9kIQcmoHC4LAJqYZDAZUV1fn5Oz92EAFOJ87HJvDKgUqwPlRxUgkgkgkArfbjWg0CrVazWrnlpaWIhgMIhwOQ6vVwu/3s30VFhaynEspFSWZ2IVSOjo62OP6mpoatujGkSNH2Mj14Nxb6XF1RUUFSktLZS1MkeyapbNwS6bXPtFiGlOnTh12kRg57SXbRiq3JgW3LpcLGo2G9WPWrFnYvXs3fD4fWxbb5/OxkWKp2og0wpuordi8W0EQMDAwwI6tuLh4SN5tNifjKfF+zebCNYTQ/ZGeUQuKCckn6YxOyakLLGebtrY2NDc3o6+vjwWOJSUlqK+vz7l6r1KgEgqFYLPZhiwWUVJSwl6vq6vD6dOn4XA4EA6HIYoiOI5DKBRCZWUlZs+eDZfLhXPnzrHJdhJpf1VVVUPyZBPp6+vDqVOn4HA42HkUBAHl5eWYNWsWLBYLTp06xR7zx/ZbpVJh2rRpMJlMOHr0aMqFKZS6ZkrtJ9FiGuXl5XHBlZz25PZJFEU2RyT239J7SKvV4syZM8MuKCK9h7q7uxO2VV5eDo1Gg+7ubvT09MDv97N7qLCwEGVlZSgoKADP81mdjKfk+zWbC9eQiYvuj/RRUEwI0p8VLqcucLJtEi2EYLfbc3IhBJ7nEYlE0NnZOezkOGnRC57n0d3djb6+PkQiEajVaraPSCSCvr4+hMNhAIDX62UBlVQvWBAEeL1eAJCVVylnQYmysjIcPHiQbcPzPMLhMHp7e8HzPMrKynD06NGU+wGQ8pqVlJSkXLilr69PkWsvdzENOfeadGyBQIAFnNFoFD09PcMef2FhIbv+vb292L59OxYvXgyv1wuv14tIJDLkHgkEAigqKsLRo0fx7rvvJuzPypUrAQCnTp2CKIrQ6XRQqVTs3jh16hTq6uoQCoXQ3Nyclcl4o/F+zbS2+HidjEiUQffHyCiyol26OI5DQUEBTCYTZs6ciSVLluCLX/wiLftMxkw2Z4Xn40IIRqMRkUgEfr8/rs8ajQYqlQpOpxMGgwEGgwF/+9vfEIlEUF5eDkEQ2GihtF1zczPLLVWr1VCpVGwkUNreZrNBEASo1eqEj//knMempiZMmzYNRqMR0WgUfr8ffr8fKpUKJSUlUKvV6O7uxqlTp5LuZ//+/eA4LuU1q6mpSbm4S6q25Fx7uffQBRdckHI76dh8Ph+0Wi18Ph+7HtLX0jZ+v5/li0vbSBVFDh06xNJqiouLh0ygHBgYgCAIOHToUMprFgqFIIoiuz84joNKpYoLxLM1GS8X36/jeTIiyRzdHyOXcVB86tSpuK+lEZ/hDPdaU1MTXnrpJXzve9/DI488gvXr12faJULSls1Z4WO1EEIm3G43y/n1+/1xo4DSyKFGo0FbW1vcsQ0+Pr1ej+7ubgSDQZYzHJs+IS384/f70drairKysoSP//x+f8rz6HA4oFKpUFZWNmxOcTAYREdHBxwOR9L92O12cBwHg8GQtC3g/Mh0ohQcOW3JufZy76EDBw7IOkeCIEAURfbhT/pdLU12tNlsbLRWEIS4baQUmb6+viEVRwYLh8Pw+/0pzzVw/j0ZDofjUnCkD69utxsdHR1D3qux51qpRTBy8f1Ki4CQZOj+GLmMg+K1a9cCAA4ePIgPPvgAoiiitLQUCxcuZEPzdrsdLS0t6O3tBcdxWLhwIS688EK43W4cOnQIJ06cQCAQwMMPP4yuri78+te/zrRbhKRFmhXucrkSrlim1KzwsVgIIVNS3dspU6agt7c3bgU1g8GA0tJS+P1+NrEuVbUHQRBYACXlpXIcx772+Xw4d+4c2tvbEz7+s1gsKduSUl6kSheD85SlQFlOn4HUi7KEQqGk28hpS861j72HRFFk51QaTZX243Q6U7bndDoRiURYOT3pHpdGisPhMKsiotVqh91GqhZiMBjYqPPgD07SoiLS9UjUH6mqRGFhIfR6/ZBjE0URfr8/5X6UWgQjF9+vtAgISYbuj5HL+FnPCy+8gBUrVuDjjz/G9OnT8Ze//AXd3d3Ytm0bXn75Zbz88svYtm0buru7sWXLFkybNg0ff/wxrrzySrz22ms4duwYmpqasGDBAoiiiGeeeQb79+9X4tgISYs0K7yyshJ+vx+9vb3w+/2orKxUNP8qdiGE4QxeCCEXSCN0Wq0WNTU1qK2txdSpU1FbW4uamhpoNBpoNBoYjUZZx6ZSqRCJROIei0uPyaXvu1yupCXg7Ha7rLakHOJE20jBW6r9SOk1ibbRaDTQ6XSKtJXq2kv3kM/ng8vlQn9/P5xOJ/r7+9l5U6vVMJvNstqTDDeqBPxrNF/64DJ4G+nDjE6nQ3l5OQwGA8LhMHw+H8LhMAwGA8rKylBUVCTrPErbSOkZOp2OjU7Lva6x6U6iKMLpdKK7uxtOpzPh08zh5OL7NTbdK1GfaBGQiYvuj5HLeKT4gw8+wL/927+hoqIC+/fvT1iGTaVS4TOf+QyWLl2KSy65BHfeeScuuugiXHrppVi8eDG2b9+Oiy66CDabDc8//zyWLFmSadcISZtSs8KTSWchhFwxOL0kdsQ1Nr2krq4OBw4cSHps5eXl6Ovrg8fjYTnJsduEQiH2qDo2N1UiPf7zer0oLi6G0+lM2JbFYkFNTU3SxVRqamogCAKrnJDoenAcl3KbmpoadHd3Z9xWqmtfXV0Ng8GA7u5uqNVqNnorjcRK53nRokVoa2tLej3MZjOcTicrkTfcgivSiJOUejJ4P9LEuvLycni9XkyZMgWhUIhtr9Pp4HA4UFNTA1EUUx4/gKTbyLmuUrpTpjPwc/H9SouAkGTo/hi5jEeKf/nLXyISiWD9+vWy6hJbrVasX78e4XAYv/zlL9n3S0tLceedd0IURezevTvTbhEyYtKs8PLycpjNZsUnIshdCCFXJtkB8hcdUKvVKY+toaEBl112GZvEJS33LNW11Wq1uOiii1I+shYEARdeeGHKtlItpjJnzhw0NDQk3c+SJUtSblNfX4+5c+dm3Jaca89xHEpKSuImJ0rVOwRBYK/LuR6LFi2C1WqFWq1mE+WkYDgQCEClUrEPi2q1mj2alYLhYDAItVrNAs3Y/Gq9Xg/gfICr1+sxd+7clMff0NAgaxs5i+Q4HI6MFxPJxfcrLQJCkqH7Y+QyHinetWsXAODSSy+V/TOLFy8GgCHB77JlywCcn9RBJoaJWlhcKt8k1T2VHndbrdacrFMMyF90IJ1j279/PzweD0KhEFQqFYxGI5YsWYJZs2ahsbExZTWQWbNmwWQypWwrVb+lvsvpczbbSkTKu62trUV3d3dcLV+9Xs9WDnW5XCmvx6xZs+Dz+RCNRjEwMIBAIMBSFwoLC1FcXIxZs2ZBFEUcO3YMHo9nSHsGgwEXXHABpk+fDqPRmBPn2mKxsMVEMp2Bn4vvV6UXASHjC90fI8OJ6SRXDaOwsBChUAi7du3C5ZdfLutn9uzZgyuuuAI8z8Pv97Pvf/jhh7j44otRUFAAn8+XSbeywu12w2QyweVywWg0jnV38g4VFgei0ShaW1vhdrthNBrZaGsuk/tBRs7qX5FIBAcOHIDT6YTZbMaiRYvYAhS7d+9O+PjPbrejsrISy5YtA8dxss6jnH7L6XM220qku7sbu3btQmlpKURRRG9vL2urtLQUHMeht7cXy5cvR3l5ecr2YmuaSqPPUqk8vV6PhoYGAOerBXk8niEpBAaDIS7vXqnjl7NNoracTicaGxuh1+sTVh7x+/1YsWKF7Bn4Sq5AqdSAQK7th+QWuq7nyY3XMh4ptlgsOHfuHLZt2yY7KH7zzTfZz8aSRj8mSkA0kVFh8eE/FPT19eX8hwK5iw6oVKqkJaoGH7/X60UwGGTHL7caiNzzKKff6fZ5NNtKRppI43K54Ha741aP8/v9bEnt2FH2ZO0NHlVK9CFVzjZKHr+cbRK1JQXB0uIpg1fYKy0tZekfcmVyzWIpOSCQ6SIgSveH5BYl7o+JJOOgeMWKFXjppZfw5JNP4tOf/nTKNIp3330Xv/zlL8FxHFasWBH32sGDBwEAlZWVmXaL5DAqLE4fCuQef6rHf0qfx2SjKum0NdqjMyaTCYWFhWhra4NarUZBQQErfzYwMACn04nZs2enNZFGqeXLc4W0CuOZM2dSrsKYTWPx3lfqviZkvMs4KH7wwQfxP//zP/D5fFi+fDm++93v4uabb8a8efPYm04URXz88cf4v//3/+I///M/EQgEoNPp8MADD8Tt67XXXgPHcVi+fHmm3SI5bKIXFp/oHwrSOf5kQZjS5zHZaJnFYpHdlsPhyOqoW6IyaiPdVybLl4+FRAGf3FUYs5n6NhbvfaXu6/H4u4iQwTIOiufNm4ff/e53+PrXv45AIICf//zn+PnPfw6e59myzX19fewRlSiKUKlU+K//+i9ceOGFbD8nTpzAyZMnUVNTg+uvvz7TbpEcNtELi0/0DwXpHn+iIEzJ85hqtGzOnDmy2mpvb8fhw4fZ4hXSghVKj7q5XC74/X5MnTqV1SWOXUzFaDTC7/eP23tIkizg02q1slZhdLvdWTtH2X7vS/e11+tFQUEBCgoKIAgCzp07l9Z9Pd7vI0IkGQfFAHDzzTdj+vTpuOuuu/Dhhx8CAAKBAM6dOzdk24suugjPPPPMkPzjCy64AO3t7Up0h+S42MLiySoLjNfC4mP1oSDbEy4StafU8Su1Hzmjd0ePHmV1fBO15Xa70dbWhv7+fkSjUfT29rIc1sLCQgSDwbRH3VKdw9LSUphMpiGTyGIn341XqT7IzJgxAxqNBtXV1axiROwHh5KSEgQCgayeo2y+96X7ur+/H4IgoK+vLy6nOhQKybqvx/MABSGDKRIUA8Bll12GDz74AM3Nzdi+fTsOHTqE/v5+AMCkSZMwb948fOITn6BFOciELyw+Fh8Ksj2RJll7Sh2/UvuRM3onTQJO1pZUFcPr9Q7JYfV6vVCpVOjs7JQ96pbOORy8fLW0LPd4/WAp54NMR0cHW/K6pqZm2OoT0qIj2ZLN977L5WKVMobLqZaqi0grA07EAQpCBlMsKJbU19ejvr5e6d2ScUQqLC6nssB4NBofCnJpIk2q9urr6xU5fqXOo5zRO47jUFxcDJfLlbAto9GI9vZ2CIKAoqIito1Go4FarYbX60V/fz8CgUDOnMN8JeeDjFQ2zel0Jl2FMZvnKJsDAoFAgI0SJ7ofPR4Py9mfiPcRIYMpHhQTIsdELiyu9IeCXJpII2cEr62tDbNnz874+JU6j3JG77RaLWbPno3Dhw+jp6cHBQUFUKlUbJWooqIiTJ48GUePHkVBQcGwgZpGo0EwGEQoFMqZc5iv5KYh1NTUIBQK5cw5yuaAQCgUQjgcTnk/VldXo6OjI2fOESFjiYJiMmbyqbyT0pT6UJBqRHHu3LlZnUgjdyLR/PnzFTl+6TweOXIEXV1dCIVC0Ol0qKysxJw5c2TtR+7oXW1tLcLhMJqbm2Gz2RCNRqFWq1FSUoKFCxfGnX9pdDl2P5FIBDqdDjqdLqfOYT6Sm4ZQUVGB0tLSnDpH2RoQ0Ol0Ke9HrVaLsrIyVFZW5tQ5ImSsjEpQfOrUKTgcDrYUaDJUfm1iy7XyTtlktVpRWlo64hWy5I4oShNpRFEcklep9ESadCYSlZeXyzp+ORMERVFkE6kikUjK3zuxYkfvEo0C19XVweFw4NixY+B5HtOmTWNl4YLBII4dO4a5c+di0qRJcDqdcTmb0gpxGo0GZrOZPcaXMxFREAQMDAywYL+4uHjIOVTyg2W+rI4W+0HGYrEgFAqx+1qa9Cg99uc4LqP32WjIxoBAQUEBux+laiix1TfUajW7H81m84QdoCAklmJBcVtbGx577DH89a9/hdvtlvUzHMchEoko1QVC8spwaQ+nT5+WPTqTzgSx4VY+0+v1w658lol0JhLJOf5UEwTtdjv++c9/4ty5cywY5jgODocDnZ2duPbaa2WdS6vVipkzZyYcBbZYLNi9e/eQDyDAv5adPnv2LCZPngyXywWv14twOMz6o9VqYTabUV1dDZPJJGsSXXd3N3p6etjgAsdxKCwsRFlZGQoKCtj5VeqDpVKTMbMxqVP6INPd3Y3W1lYIgsBeU6lUKCsrS7riYTrvs9Ey2gMCJpMJ1dXViEQiiEaj8Pv9rPpGUVER1Go1ux+z0R9C8oEiQfGWLVvw1a9+FYFAIK0RGkImKiUmv8kZlVWpVFCr1WwmvhIrnyUjNxUhFAqhubk56fEDSDnZbM+ePejo6IAoiux4BUFAKBRCR0cHdu/ejTVr1qQc8bLb7UlHgTUajayUhpKSErhcLpYqIfUnHA7D5XKB53k4HI6UxwWcf+I2+Li8Xi9OnTqFuro6RSc/xd6PmdRXzvakTunvzXBPDsaiP7kk9gmIz+fDpEmT4u5ryhcmZKiMg+IzZ87g5ptvht/vx+TJk3H//fdDr9fjm9/8JjiOw/bt29HX14f33nsP//f//l+cO3cOy5Ytw49+9COo1WoljoGQvKLUqlZyRmXVajV7nym58lkiciYSzZ49G21tbfD5fOzRt8/nYyOKDocDR44cAYCk56ilpQXHjx+HKIos5QE4P1KoUqkQCARw4sQJ9Pf3s4WEhpPoekivya1T7HK5cPz4cVYGTBq5lkbmotEo2tra4Pf7U177vr4+iKIItVoNlUoFjuPYB5xoNMpeV3JyZKb1lbO5WpvUliiKqKurG5I+IfceyvXV2jJNQxmcvyydI8oXJmR4GQfFv/71r+Hz+VBcXIympiZUVVXh448/Zq+vWLECAHDjjTfiBz/4AW6//Xb8z//8D373u9/hv//7vzNtnpC8o9SqVnJGZSdNmoSBgYGsrnyWaiKRVquFw+GAVqvFmTNnhk3p6OrqAgC2ot1w5+jMmTMsWBicH6pSqaDVatmIcbKgWKk6xVLgL+X9RqNRdlxqtRrBYBAOhwMAUFZWlrCt06dPw+12w2QyIRwOx6VhSB+EPB4POjs7UVNTI/OqJJasnm069ZWzuVpbbFsqlWpInWa591Aur9amVBrKRJ7QTEi6Mg6Kt2/fDo7j8K1vfQtVVVVJty0sLMRLL72Eo0eP4pVXXsENN9yAG2+8MdMuEJJXlFrVSs6o7JQpU/DRRx/BbDbDaDQOmbQFIO2VzwRBSDlpKdkf4u7ubni9Xni9XrZ4QuyiAoFAgI34JZsgKM1HkCaySf9JI8XSo+JwOJz0eNKtU5xoYpder4coiimvq1TiLdFxSfs2mUzQ6/VDgmtRFNlkPkD+aGKi6yannq2c+srZXK0ttq1k5xGA7P5ke8XHZJRO+6B8YULkyTgoPnXqFIDzK9pJYn+RSL+oJCqVCt/97ndx66234ve//z0FxWTCUXJVKzmjskeOHIHb7WYjxZlMtGtra0NzczP6+vriJqPV19dj9uzZcdsm+kOs0+ng8XgQCoVQXFyMaDSKcDjM+jQwMIBIJAKDwZB0gqBer2cjsKIoQhAENqIqBcVqtRplZWVJjymdOsXvv//+sBO7rFYrZsyYgc7OTvh8PkQikSET7TQaDQuikx2XTqeL60/s708ArHKAwWCQPZqY7LoVFhbKqmebqr5yNldrk9pKdl9Lpe9GOulzNFd8TCabaSiEkHgZB8VerxcAMGXKFPY9vV7P/u1yuVBaWhr3M/PmzQMAfPjhh5k2T0jeUXpVq2SjsqIoorCwEG1tbSwAiB2VTWeiXVtbG7Zv345gMIiioiI2emW327F9+3YAGBIYJxONRuF0OuOqRkgBoFarBc/zOH36dMIJgrNmzYLT6URfXx+A8wGcdC6j0Sg717G/m4Yj93oYDIaEQQjHcaioqIDBYEB3dzfUajW0Wm3cxCafz8fK0B07dizpcYmiyFJMYkfhBUFgwRLP87JGE1Ndt0suuUSR+srZXK3NZDKlvK9nzZqFoqIi2Gy2jCd9ZjMwzmYaCiEkXsaFGqVfcLGP1mKD4BMnTgz5GSk/T8qvI2QikdIe9Ho97HY7AoEAq4lrt9tHNCtcGpUtLy8fNocS+NeM/ERfJyMIApqbmxEMBmE2m1keL8/zMJvNCAaDaG5ujhtBlR7zd3d3w+l0svak9I1wOIxAIMCCYY7jEAgEWHAm7SvRBEEpVSFZoDp4lDXRdqmuhzQ5UBAE1NXVYcaMGZg2bRpmzJiBuro6CIKAo0ePshn+UiqHNIItCAI4jkNJSQnrb6Lj4jgODQ0N4HkeTqczrj9OpxM8z6O+vh5Hjx6NC5Cl62G1WuHz+dDa2opoNJryuh0+fBhmsxlqtZqNckvBsM/ni6tnm+l5HI1qB4nu63Sua6rzmM2qSnLSUCKRiGK1xQkh/5JxUCyNDJ08eZJ9r7i4GFOnTgUA/POf/xzyM9u2bQMA+pRLJiwp7aGyshJ+vx+9vb3w+/2orKxUdGTK5XLB7/ejpqYGxcXFCIfD8Pl8CIfDKC4uRk1NDZtol0xnZyf6+vpQVFQ07KQ2vV6Pvr4+dHZ2AjifE7l79240NjZi165daGxsxO7du2G321m+p1arRWFhIQvApFFtrVbLguOpU6fCYDDE9dtgMKCmpoadM5PJBJ7n44JKnudhNBoRDAZZn5JJdT2kigaxE7sMBgOremE0GnHu3DmEw2HU1tZCr9ezwCUSiUCv12PatGks3zvZcfn9fpSXl2PlypWwWq0IBoNwOp0IBoOwWq1YuXIlysvLZY0mSpUskl03aXKgwWAYtk9S/rGcEd5cu691Op3s65pqVDZbYtNQhqNkGgohJF7G6RNLly7Fvn37sH//fnzlK19h3//0pz+NZ555Bj//+c9x+eWXsyoUf/zjH7Fx40ZwHIfLL7880+YJyVvZmBUuBWWlpaVsZDB2QpIoirIm2nk8HkSj0aSjVz6fDx6PJ+UkoTlz5gA4P5GrqKhoyAQ5qQpCJBKB1WqFyWQatt99fX3s2KQAWMqXlbaJnZCWSqrJgalG76Sc28mTJ6OsrGzYSY1nz55lbSU6Lul6zJ49GzNnzhx2clxsf5KtVOh2u2VdNym9wOv1wmw2D7uin9z7Mtfu62Sr/sm5rkqu+ChHNtNQCCHxMg6KP/WpT+HJJ5/En//8Zzz11FOsJur999+PF154AR6PBytXrkRJSQkCgQB8Ph+rv3n//fdnfACESLI5e1yptkZ7VnjsqNNwOaGDR50SHZfBYIBarU5ZE7moqCjlJKGjR4+iqKiIBdEAWFAsbSvltibrd+yEtMFBjSiKrE8Gg0H2+RIEAWfPnoXb7YbRaERxcTELsmPPo9vtZn0wGo3s38D5iV0ajYYFUzzPsxHY2G20Wi2bwCbl7A6+HtJopbSgRuz5lCaa9ff3sw8IGo0GJSUlMJvN0Gg0MBqN7LpJJeqkDw5Se2q1GlVVVbjgggtw5MgRdHV1sT5VVlZizpw5o5JTK3f57uG2GTypb3BqRzAYlDWamu7kQCV/xyTal5yqMrEfUnKpaoaSxutxkdyWcVB81VVX4Yc//CEikQjOnj3L6mbW1NTg1VdfxVe/+lU4nU709vayn+F5Hr/5zW+wZMmSTJsnBEB2lpYdi7YyJY06nTp1ii31Grswg1qtxrRp01IuPVxdXY2SkhLY7fakk7+Ki4tl1fzV6XQIBAJsJFOiVqtRXl4Ok8nEJq0l6ndNTQ1EUYTNZmMjy7ET9lQqFSorK1FdXS3rXDU3N2P//v1spFqlUmHHjh1YsmQJFi9eDIvFgqNHj2JgYICt3slxHAoKClBcXMwmyB08eBBOpzPuuE6dOgWz2YwFCxZAFEUcO3YMHo9nyBLOBoMBs2bNSnk9LBYLCgsL0dLSMmQU0+PxoLu7GwsXLkRdXR0OHDiArq6ulOco9nd0JuS8PzLdxmKxyB5NzcZ+0n3fp9pXqqoy6ZzHfDRej4vkvrSC4ueeew7Lly9njz+B83/ofvjDHw67/XXXXYdjx47hT3/6Ez7++GNEIhHMnDkTX/jCFzB58uTMek7I/y+bS7nm27KxHMehrKwMBw8eZEu7FhYWIhQKoa+vDzzPo6ysLOXSww0NDaivr8f27dvhdDqh1+vZ6JW0NHB9fT3C4bCspae9Xi9sNht7aiQRBAE2mw0GgwHz5s3DsWPHEva7oqIC0WgUHR0dbPRTrVZDEARWtmzy5MlDcmmH09zcjMbGRjaaq9FoEIlE4Ha70djYCABsiebB23g8HgSDQcyfPx89PT1stTnp/IuiyFahc7lc7HwP3o8UbM+fP1/WUtDS4iXDCQaDOHPmDFQqFSZPnozTp08nPUe9vb2sPbPZzNqz2Wxwu92KLvMMJF++W+42ckZT5dzXSu1H7vte7u+QVGko+fa7SK7xelwkP6QVFN95553gOA4WiwXLli3D8uXLsXz5cixcuDDhY43S0lL8+7//uyKdJWSwsVhaNp/qh4qiiJ6eHhiNRlauSgqGSkpKoFar0dPTg+7u7pTHtWzZMgBg9W6lygRWq5XVKXY6nSkfR3Mch97eXjZiGRsUi6LIRn+7urpgNBrZSLTf74dKpUJpaSnLq+3s7GSrx0n/cRwHnU4HtVqNs2fPxqVmDCcajWL//v0Ih8PQ6/VsWylg9fl82LdvH5tkJ6VCRCIRlloSDodx+PBhFujHXv/Yx9wfffQRqqqq4paClvaTzlLQBw4cgM1mS3rtbTYb7HY7zp49m/QcdXZ2suPM5L6W8/6Qs/Sy3OWZly1blnQ01WKxYPfu3Vnbj5z3fbq/QxKlV+Xj7yI5xutxkfyRdvqEKIqw2+3YsmULtmzZAuD8kpqXXXYZC5IXL14sqxQSIZkaq6Vl86V+qNTn4uJiOJ3OIa8bDAacO3cOgLzlcJNN/gLkTRLiOI6NfEmjqBJphNnn8+HkyZOYPHkydDrdkIlUwWAQp0+fRm9vL0wmE9smdqJdMBhkFTGkVIvhRt1aW1vh8XhYHnPsIiBS8ChNmpNGEodbwrm7u5t94JAC/dgAORqNIhQKobu7m/V5pEtBnzhxIq783XAEQcDu3bvR19eX9Bw5HA62AEkm97Wc94ecpZfTWZ7ZarWitLR02PvR6XTKfr8mG5VNZz+p3vdK/Q7Jx99FcozX4yL5I63IdfPmzXjnnXfwzjvv4OjRo+z7LpcLb7zxBt544w0AQEFBARoaGliQvHTpUhQWFirbc0IwdkvLjnZbSgkGg3FLKscuFuH1etmEpFRLKscel0qlYnMHBpMzSYjneQiCwFZQk0aHpSBUFEV4vV5Wtk3K240Vuxxysm1iK2IkmkTmdrtZHWEpaJRIAa5UNk5qa/CH/thlp6XV9KTzIVGpVIhGo7LuodiloAdP6pNqPA8+75LYmroDAwOs+kSicyRd20yXQ5bz/pCz9HI6yzMPl3t6+vRpVjs6nfdrolFZJd/3Su0rH38XyTFej4vkj7SC4ltuuQW33HILgPN5P1KA/M477+DDDz9kf0z8fj/efvttvP322wDO/3JbtGgRC5KXLVsGo9Go8KGQiWgslpbNRltKkZZUlmrOSsGTRqOBWq1mSyoXFRUlXXo4neNKNUmop6cHKpWKrZQ2eERIWvJZCv4SnevByyEPt41arUYkEsHbb7+Nnp6euNHV3t5e9PT0YPLkyeC48wuHSGXhJNIS1NI5S3XtI5FIwnQNqW2NRgO/349wOJx0Keju7m709PQMmYxXVlaWMGgYzGQywel0pjxHPM9nvByynPeHnKWX5S7P7PV6cfjw4YS5p3PnzlXk/Tq48sjgD43pvO+V+h2Sj7+L5Bivx0Xyx4hzHKxWK2644QbccMMNAM7PeN67dy8Lkpubm9kqd6FQCE1NTWhqasLPf/5zqFQqzJ8/H1deeSWeeuopZY6ETEjZXlo2X+uHJluRS1puONmSynKXgpYkexxdUlKCHTt2wO12swoIEkEQWJrC9OnT0dPTk/BcT506NeVyyBaLBWfPnsXZs2eHHFsgEMDZs2dZNYtIJAK1Wj0kH1gQBJbT2NfXl7Ct8vJy2Gw2BIPBIcG1IAiIRqPQ6XSYNGkS7HZ70qWg9Xo9jh49ClEUWe6vNLp/6tQpVi1Cuq7DXV+O43DppZdiYGAgadUQi8WCmpqajJdDrq+vl/X+AJCyrVTbVFRUoLOzM2nu6dmzZ1FaWpqyrVT3dWwFF+mcxX5oVKlUrIJLKkr9Dsnn30XJjNfjIvkj4xXtJAaDAddeey0effRR7Ny5Ey6XC7t378aGDRtw3XXXwWg0ssek0WgULS0t+PWvf61U82SCkh7XZ2Np2Wy2pZRQKASDwQCe54ddwpfnebaABpB46eGRkB5HD156Wq1WY8mSJdBqtfD5fAiFQiwY9vl80Gq1WLJkCebNm8fOtTSKLaVl6PV6zJkzJ+VyyPPmzcPp06fZRDZpOWlp4RCO43Dq1ClWzzcSibA8XynVQa1Wo7S0FAsWLGBteb1eBAIBeL1e1tbSpUtRX1/P6gJLo8aRSAThcBhqtZoFjhzHsXakpaClCXCTJk1Cf38/RFGM+9CgUqmg0WggiiILZpOxWCwwGAyor69Peo4aGhowZ86cjJdDbmtrw+zZs5PuZ86cOSnbkrONVDEjVe7p5MmTM36/ShVc3G43ent7WVlAlUqF3t5euN3uYfO/E+1Lid8h+fi7SI7xelwkf3BilhZ1D4VC2Lx5M5544gm0t7ezx4Gx+Xv5xu12w2QyweVyUTrIGKM6xcNzOp2spFii1Agph5PnebhcrmG3AYAVK1YoOrlluLrABoMBS5YsQX19PQCgra2NVbuQJoiVlJSwaheptlGr1fjb3/4Gg8EwbMpBOByGy+VCSUkJdDodOjs7h6Q0VFdXg+d5LF++HKdPn07Z57feegvvvvsugsEg2w/P81i8eDEWLVqExsZGBAIB9PT0DDnXZWVliEaj6OnpYSkNw6VYRCIRXHDBBTh9+jT6+/vj0kJUKhUmTZqEBQsWYNmyZeA4TtZ5THZfa7VaNDY2spzwwQKBAPx+P1asWIFwOKxYneLBeeBVVVUsX3jXrl2sEslggiCgt7cXy5cvh0qlyuj9Kooidu/enbLWt3Su5VDqd0g+/S5Kx3g9LjJ25MZro1YiIhgMYv/+/di1axfeeecd7N+/H16vF0DyR7mEjEQ2lpYdi7YyFfs4csqUKWxympS36nA4YDQaMTAwAKPRyP49eHliOUtBp6u+vh6XXHIJWltb2QpydXV1rHKD3W7HsWPHoNPpMG3atLilh48dO4aSkhJYrdakFTGOHTuWsh9SWTir1YrKykp2rDzPo7S0FOFwGH6/H16vFz09PSgrK0NFRQX7eUEQ0NPTA7vdDqvViquvvhrLly/HgQMH4HQ6YTabsWjRImg0GrassMFgYOdTClKlBUt6enoQjUZRWFgIvV4/pEKFtHy19HjZYrEgEAiwVesKCgpgMBjiRtRSVQ0BMl/mWpoAlWxZZTltJSP97Ugn99RsNmf0fpUqIpSVlSWshJJuRQSlfofk0++idIzX4yK5T7Gg2OVyYc+ePXjnnXewa9cuvP/++2yCivSLTK1WY/78+Vi2bBmWLVuGK664QqnmCUk4ezyX2xrtpUxjq0FIAbBer0coFILD4WCPxj/88EO43W44nU54PB4WqBkMBphMplGb3CItLmGxWNgjeSC+XungR9NGo3FIvVJRFDEwMAC3283StACwld8CgQBbtEIKMFUqFfx+P4qKilBRUcFKc5WVlbG2hsthtVgs6OvrY9dM+jq2P2q1GrNmzWLbSIE+z/OIRCLo7OxENBplEx45jmMr3EnbSwHf4EoXUtk3aWlmuSNqyaqGDD5eKXA2Go1spDudCVCZvj9iF3AYbjGR2Pxli8Uy5MPe4NzTTPoTWxEhVQUPQP57Wk6f5Owrm7/3smm8HhfJbSMOim02G5tUt2vXLhw6dGjIpA+9Xo/6+noWBC9dupSNPBEy3qX6g5atR4SpqkFIyxcfPnwY0Wg07kmO3+9HX18f5s6dq/jkllSP6+XWKz169GjS5ZmnTZuGw4cPo7e3d0iagRS8XnzxxWhubk5YRm7y5Mk4ePAgq588OKWhoqKC9SdZ+kBpaSlbvU5aSCN2ERO1Wo2ioiKUlpait7c36ZLa0kivUiNqyVIsZs2apegEqFRLL6dawEHKX+7u7kZra+uQ61pWVpZ27mmi92s6HwiyuRQ0IUR5I65TfOLECfb92FGZyy+/nI0CS48MCZloUv1By/ZSpskeR4qiCL/fz3JgpaWYpclvkUgEfr9fsb4AqZdynTFjhqzH9QcOHMC7776bdHnm2tpatLW1saoQ0jFLJeFqa2tRVlaW9INDbIqEIAhsdFcURYRCIXR2diIYDMJms+H48eNJy4QFAgE2uVCtVkOlUkEURYTDYUSjUQSDQSxatAj79+9PuqS2FCwrMaLW1taG7du3IxgMoqioiPXbbrdj+/btAMCeOPT09KCgoCAunaWoqCguCE32gTDVtZ8zZ46sD0STJ0+OW047VropeqmCdDkfCFJV5xjpUtA8z7OFbmipY0JGV1oR62233cb+EADABRdcwEaBly1bxiZsEDKRpfqjX19fHzeTf7iRsGwuZep0OtHd3c0eC8cuPSwtutPd3Q2n04lJkyZl3J6cpVzPnDkTl0IwmLRc9MGDB1Muz7xw4UKUlJTAaDTC6/WyUVCpGkVPTw9mzZqV9INDb28vG2mWKliIosiC7EgkAofDgdOnT6e8rv39/WyEOXbhEq1WC0EQ4HQ6UVVVhZUrVyZdUjv2fGYyUiwIApqbmxEMBmE2m9l55HkeWq0WTqcTzc3N+OpXv4qZM2eiubkZNpstbjR54cKFsibRyRkFPnr0KMuPHo6UHtHW1gZRFFFXVzdsrrzc95CcD6ipFqQZXJ0jk/e09P7o7+9HNBpl9500sS8YDNJSx4SMkhEN42o0Gnz+85/HTTfdhGXLltEnVkL+f3ICvg8//BADAwNZXco0WaDidDrh9/thMBig0WiGTOyKRCLweDxwOByKBMVylnIdGBiAwWCIm1AmiV0u2ufzsZHtWNLiHx6PBydPnkRVVZWsSVKJRl27urpYpZzBKSZS36LRKM6dO4eqqqqEx9XV1cUCvsFBMcdxrNpEX18f5s2bl3JynBKP2Ds7O9HX18dK1MUuQKJWq6HX69HX14dDhw6ho6MDPM9j2rRpcfWVpYmPAJIGmHPnzk157V0uF4Dki3dI94AUxA/O85X7HpLzfm1tbcWyZcuSPklIJ91HzlLQ0jWXamTH1qlWqVTo7OykpY4JGQVpBcVS/cxIJIJXXnkFr7zyCgBg5syZLGVi2bJluOCCC0als4TkOjkBn91uhyiKCf+gKb2UaaqRMGmxBKmPw6U8SUGbEuQu5VpTU4NQKJRyuehEKVoajQbBYJAtYSxnklQiAwMDAMCC2MF5vsD5cxQIBJIelxRYS0F17H5iA2RJsslx6abgCIIwbIAtTawEwHKiY0evCwsLEYlEcOzYMUSj0WE/pEjl0wCkzAVONQrMcRyKi4vhcrkSTqKTPjhluhywnPerFMzKrc4hZ6n0ZAKBACuzJ31QAf61CqXX60V/fz9bHIsQopy0guLe3l58/PHHbHLdO++8g7Nnz+Lo0aM4evQoXnjhBQBAeXl5XFrFxRdfTI95yIQgJ+CTAg4llzJN9Ag9diRMCjB8Ph8bUXQ4HOjt7UVBQQH8fj9LDYjdr9/vR0FBAUpLS9M6F5lOXKqoqEBpaans5aIHi0QibIGJTM+1NEGY4ziWSyuRqloAQEFBQdK2CgoKwPM8Wz46NhUjEokAOB9EppqQLOe6xj5iTzaJzmAwAAAboZVSQqQ+S6kqfr9/SEAsnRNpFBxA3EItg7eRMwqs1Woxe/ZsvP/++8NOorNarZg1axZLncnkusr9gCYFs4meJEj3dDpLpSd6f4RCIYTDYRQUFAx7HqUPe1J98fFqtCvzEDKctNMn5s2bh3nz5uGOO+4AAJw6dYoFyO+88w6OHj0Km82GP/3pT/jf//1fAGDF7aXR5CVLlgwZsSFkPJAT8BUWFqZMDVBqJr/0WFer1eLMmTPD/rH2eDyoqqrCqVOn4PV6hyyFLIoipk2bxoIBOX+slJi4JO03k+Wii4uLMX36dHR3d2d0risrK1kqSWy9YCmglSbNVVVVsVHF4dqqqalhk/ak/cWOykojsdXV1Un7I41wJruu0ghnd3d30kl0V199NcvBlvK4JSqVCtFolP1csuBRCtKSjZZKi50kO0eVlZUwGAwJAyBpJFmJahjplppLxGQyobCwEG1tbbKWSk/2/tDpdOwaSSPnsccmfQgc7oPgeEGVN8hYybg0xLRp0zBt2jTccsstAM7fzLFBspQ/uW3bNjaLWaPR4OKLL8YVV1yBn//855l2gZCcEbtYRrI/1rNnz05aAkxuOSk5VRy8Xi+8Xi8ikUhcfqLH42GVAy699FKEw2H09PTEPZZVqVSoqKjAJZdcAo7jZK9ElunEpdjjTzQ6Jy0X3djYyHKLpeoT0ojj0qVLUVtbi4GBgYzOdSQSQWlpKex2O1v6meM4tjyzVBpt6tSpOH78eMK25syZg/Lychak6vV6dj2CwSAKCwvjKksk+gASDAZlXVe/359yEt2+fftQWFjIUiekihiCICAcDselnSQLHqUgLdVo6axZs3DkyJGUk9YEQUg4iU4qySb3HkpE7vs1nXKEw43uxkr1/pg7dy4mTZoEp9PJqk/E3iNqtRpms3ncDixluzIPIbEUr5dmtVpx44034sYbbwRwPhcvdlGP9957D8FgEM3NzXj33XcpKCbjCsdxsgK+VLWD5S4/m2qSUEdHBwYGBhAOh1FcXDwkP3FgYACiKKK8vBylpaUJl9WVW0ZOTnUBOROX5P7Rk5ZWluoUh0IhqFQqGI3GuKWXM22L53mUlZWB53nYbDY22YvjOOh0OlRUVMBkMqVM+bBaray9pqYm9Pb2soBvcGWJVKOJ0vEWFxezdAwpAJWua29vL5tEN9xkRL1ej/7+fmg0Guj1eoTD4bjqI9KopSiKLM83WfDo8/lSjpZOnz4dRqNxyL1WWVmJOXPmxE1aSzaJbv78+RlfV7nv11TBtcvlgt/vx9SpU+FyuVgdarVajeLiYhiNRvj9fjidzpTvj7Nnz2Ly5MlswqPP52PlBA0GA1QqFaqrqxWvG54L5E58pMobZLSMehFh6fHl2bNncebMGZw6dQrnzp3LaKnnXbt24ec//znef/99dHV14bXXXsOaNWvY67feeiv+8Ic/xP3MqlWr8MYbb7Cv+/r68J3vfAd/+9vfoFKpcOONN2Ljxo0sv46QkZIb8Ga6lKmcSULShB05+0xVy1jOH6sLL7xQkYlL6Ui1XHSqY5NDGlH0eDwoLy+H0+lkgarZbIZarYbFYkmZ8iEpKSnB1KlTWQ6pTqdDTU0Nq+Agp5YvcL7ihdQXKUiPnXjo9/sRjUZTljcTBIEFhMFgkAV0UoWOYDCIyZMn48yZM0mDxwMHDrBrHSuda5pOnq+cJaVTUeIDqtTnwsLCIX/bRFGEVquF3++Hw+GQ9f646KKL4Ha74fV62Qh/oprQ40k6Ex+p8gYZDYoHxaIooqWlhaVPvPPOO7Db7UO2yYTX68WCBQtw22234YYbbhh2m09+8pNs4h+AIY/8vvrVr6Krqwvbtm1DOBzG17/+dXzzm9/Eyy+/nFHfCAEyD8LkkBM8SJO7IpHIsI9ieZ5HUVERywdNlKog94+VNKqZ6cSldKnVasybNy/j/STCcRzKyspw8ODBIbm5/f39bCQ5VcoHEB/wlpWVsf10d3djYGBAVh3ro0ePQqvVwu12s6BXmvAnLWktLc+dqt6zWq1mebU6nS5uZDY2h7W8vBxVVVVJy5LFjpYOHuGURkvb29tx+PBhlr+u1+shCAK6urrgdrsxZ86crC4pDWT+fpWW7z5z5gwEQYgbJfd6vfD7/WwCopz3h8FgiAvUpWOOfXIzHqU78ZEQpWUcFIfDYTQ1NbEAeO/evax8ETA0AL7gggtwxRVXYPny5Vi+fPmI2rzuuutw3XXXJd2G53lUVFQM+9qRI0fwxhtv4N1338Wll14KAPjP//xPfOpTn8IvfvELVFVVjahfJH25OMM4W32SylgN9whZTiktOZOEpAk5PM/D6XSykooajQaTJk1ij2Cln0+Wwyr9sRIEAQ6Hg21jsVjYHytppFIquzUwMMD6UVxcPCSgiUQiOHDgAJxOJ8xm87CrYIbDYezZswf9/f2YNGkSLr/88iF/NKPRaNKRYulcd3R0sH7X1NQMOdeJ+iOKInp6emA0GhGJROD1elnwOWnSpLhFQDiOS9if2BF3o9GIkydPIhAIoKCgALW1tXC73WhpaYHH42HXJhAIxE1Yk6o4BAIB6HQ6CIKAYDDI8nd5nmcj0NLos91uh1arRSgUYqPAOp0OPp8PkyZNQkFBAVwuF7xeL3syIP0/NofVbDajpKRk2GOTypKVlpaiqKiIrfLH8zyqqqqgVqtZPrC0MIXdbmf9MRgMCIVCOHv2LEpLS2Gz2VBaWsrSRHQ6HQwGw5A8Xzn3h1Lv6UTvRem+8Pv9KC4ujptkGBvolpSUxH0AGTwZMfb9YTabUVpamrROtZx7X8njV4oSS2pn2lauy9d+57u0g2KPx4O9e/eyyXTvvvtu3Ke2wUXtL7zwQixfvpwFwrE1UUfTzp07UVZWhkmTJuHqq6/GT37yE1ZSat++fTCbzSwgBoCVK1dCpVKhqakJn/vc54bdp/QYUeJ2u0f3IMa5XJxhrFSf5Czz/Pbbb6Onpyeu5FRvby96enpw5ZVXwmq1Ji2lNWvWrJSThKqqqiCKIg4fPoz+/v64GrSBQACBQADz5s2DyWRK2mfpj1VHRwdsNlvcfk6ePMlyaktLS2GxWHD06FF4PB74/X62nVR1Y9asWTCZTHjrrbfY7w9pm8bGRixevBhXX301AODvf/87WlpaWB1dANi9ezcWLlyIT3/60wCA5uZmllMsBYY7duxgOcV2ux1vvvnmkH7bbDZ0dHRg1apVsFqteOutt9ikNMlbb72F+vp6LFq0CA6Hg+XVxpJGQqXHukePHk3Yn1mzZsHhcODs2bOsri9w/ndJbNAtLbdts9mGTFgrLS1l+aahUIgFxBJp4l1hYSFUKhXq6+vx+uuv49y5c0PKmxUVFeGyyy6D3W6H2+2Gx+MZUqfYbDazHNbh7scDBw6gvr4e5eXl0Gg0OHHiBLq7u+Ou2dmzZ1FeXs7qdLvdbvj9/rj+SKX/NBoNGhoacObMGRw4cGBIaog0WspxnKz7Q+7k0FTbJHsvSscuiiJsNtuQ86zX61n5PYvFglOnTrF84dhrq1KpMG3atITvx9OnT8f1KdW9L/fYskmpyjSZtpXLo+352u/xIK2g+NJLL8WHH34Y94aPDYKlqhJSEHzFFVcosgJWuj75yU/ihhtuQG1tLU6cOIGHHnoI1113Hfbt2we1Wg2bzYaysrK4n9FoNCgpKYHNZku43w0bNuDHP/7xaHd/QsjFGcZK9UnOMs8HDhzA2bNnh0xICgQCOHv2LN5//33U1tYmLaUFQNYkoY8++ggOh4NVSVCpVBBFEaFQCA6HA+FwGA6HI2WfA4EAzpw5w0YPpZHEUCiEM2fOsNEtnufZfmMrQgwMDCAQCGD+/PlobGzE3r17WXARmzO5d+9eAOcXgThw4AD7HSO1F41GWe5qWVkZGhsbh7TldrvR2NgIURRx7tw51m+dTsfOtdTv3bt3w2g0Yu/evXELcUhlxfbs2QOfzxdX7SH2msVWe3j//ffx3nvvJeyPx+PB8ePH4fP5hr133G43QqEQysvL2aP4wZUlfD4fCgsL2fkafH5ic0+ltBjp+7EEQWDBJs/zrPqElIohTd5zuVzgeR5Hjx5Nej+uXLkSLpcL586dG3Jc0mp/oigiEAjA5/OxoFvqdzgchtfrZe8haRJi7MhoJBJhkwebmppS3h8NDQ3svuZ5HjzPQxTFuPc0kHwVvoaGBvT19SU99sWLFw8b6Evn2e/3s2s7OA1HqqPd29vL0nCk96OUYlJQUABBEHDu3DnWp/b29qT3PgDU1tbm1O9ZpSvTZNpWLgaY+drv8SKtoFj6RSMpKChAfX09S4VYunQpioqKFO3gSHzpS19i/54/fz4uuugiXHDBBdi5cyc+8YlPjHi/69evx7333su+drvdmDJlSkZ9nYhycYaxUn2Ss5+Wlha0t7eD47ghK1YVFRVhYGAAJ0+exLlz55KW0mpubsZXv/rVpJOESkpKcOjQIRY4DP6DLYoiPvroI6jV6qR9PnLkCGw2G1vNTepPbCBms9kQiURY9QGdThdXyaCoqAjRaBRHjhzBuXPnWC6stC9pv+FwGPv3748L2gbXIJbmLkgVE6RRNgAsQPD5fNizZw/bvrCwcEj1Db/fj+PHjyMcDrMJibF5wdKxHTx4EGazGdFoNK6G7uAqHtKCEon6c+DAgYQBsSQQCCAUCrE8VGk/Ui1mp9PJqk9I/ZTE/tvlckGlUqG5uRnRaJQ91o8NhCORCPbv3w+O41gKgzQyK020kx7PSx8SEt2P+/fvZwt4JGK329niILE1eKWvg8EgPB4PWlpaEIlEUF5eDkEQ2CiodPz79u1jH3SS3R9FRUUsVaO3t5ftp7CwEMFgUNYqfEeOHMGpU6eSHvvBgwfZ/mMDfen/UjCvVqvZE4FoNAq/3w+/3w+VSoWSkhL2end3N5sk29fXFzeaHAqFcPjwYbS0tCS91/bt2we/358zv2eVWlJbqco8uVjFIl/7PZ6kFRQbDAZcfvnlLAhevHhxXhQQnz59OiwWC44fP45PfOITqKioQE9PT9w2kUgEfX19CfOQAbCRBpKZXJxhrFSf5OxHeiRuNBqH3UaqGevz+VBcXJywlFZfXx86OztRU1OTcJLQxx9/zAK24X6JiqLIgvCqqqqEfT558iQbbZNG4yRSDrDf78eePXvQ19eH4uJitqyx9AddrVYjGAyykmbSCPHgYxtuAYnB20SjUTZyWlBQMOw2Op2OjTwmWh1Mq9XGBamxQXHsOQqHw6wWciLSCKi0SEWy/qTi8XhQWFgIv98/ZHKktOyydA0Gr7AnfR2NRnHo0CG2rHjsYhDS1wBgs9mg0WiSXjNpsrRUEmzwsen1enZdk5FqPCdamhv41z0p3fuD29Pr/z/2/jxIkis/DwQ/vyLC477zPurMrAtA48gqHGSjW+Clloaj1ejg0HRRq5HNGnelkWY4u7ZrMmk4MhlHI+2YbEekZCMuKal1cdlNqUk2mo0W+kADqEIBqCoUqjIrq7Iys/KI+47wuNx9/4j8vXrh4XEkKqsaQMdnlpaZkZ7uz58/d//e732/7+fG/v4+O+dB4+PmzZuQZbkn4l6tViGKIjY3N9kKR7+xv729jUwmM9DWLpfLsckf/8XvS9d13Lt3D5lMBvF43FZT3Gg02GS4Wq3arhSIooi1tTVUKpWBY61SqQy9r5/kc/aoSmof9bE+TS4Wn9V2f55wKFJcKBR6bsDPAnZ2dpDNZpme+cUXX0ShUMD777+P5557DkBHO2gYBltOG+Px4UeZYTxKItmjtGmU/VAkbhDohT9oP7VarSta2M81gsoHW1/Upmkygluv1wcei3SrfBSMiDb9XqvVWFSOtrOSHyJdQC+ZIRCpoTbbgW8DaTmtZE6WZWia1hNJtB6L36fdi4iP+jmdzr4uHhRt7kf4BhFBK9rtNmZnZ5HL5XpcHMLhMHZ3dwGAnTd/Hnzf5fN5VvCBrgn9jZZlaXwMumakox42rgl2/c1LU2hFwFrmmv6Pxlq/Y/H7sgPts1qtwuv19qzISJKEarWKQqGAUCg0dOwPs7Xj+5zGIH/edGy6H4cdj961/dpdrVah6zpUVbXdD5WCbjQanxonh6Mqqf04jvVpwWe13Z8nHIoUf1oIMenyCPfv38e1a9cQDocRDofx9/7e38Of/tN/GpOTk7h37x5+5Vd+BSdPnsTP/MzPAADOnDmDn/3Zn8Vf+2t/Db/xG7+BVquFX/7lX8af//N/fuw88QTwODKMR8EoiWSP2qZR9kOVxur1OiMFBNM0WcIRaToHWWmRr3a/rHhrFjodw0omhtl2OZ1OiKLY94FNhCYUCmF7e3tou3m5grVN1pwFq+SDPgfAJjREiPnldIpE0/Fo2Z7fB1Vw03Wdkex+x1JVFfF4HKVSybY4Q6FQYKTHLqLMk8ZhoLLI8/PzTIvqcDjg9/sZCafzJyJGIM04tZk/J76P+L4nkmoXKaaxDwyuaEdlq6ldg86NxqVVzgGA7WfQsfiKf3agz8kj2G6yQzIDQRCGjv1RbO2IONNEhc6LztUwDASDQVSrVZRKJbYaZK36R1FlchGxazddM7ofrZNUuh9psvYkn7P98CSf+z+qd8yj4rPa7s8THnvxjseBq1ev4ktf+hL7nXS+f+kv/SX8+q//Om7cuIHf/u3fRqFQwPT0NH76p38av/qrv9o1kL761a/il3/5l/HH/tgfY8U7/sk/+SdP/Fx+HPE4SqsOwyjJb9SmaDTaU1p21DaNcm7T09Pw+/24c+eObdTRNE2cOnWK+f7yulsALGs9FothdnZ2YFY8LQvTS5MnCzxoqbLfuR8/fpyRQWukm0iZ3+/Hyy+/zAo89Gv35OQk9vb20Gw2+xJesn4jcmEHin5SWWqe9NLyuaqqCIfDSKVSjBjz7TEMA+FwmOlB7dpD+z5+/DiTIljbW6lUcOLECdZHfCIifafqc7xlZT9cuHABu7u7zP6NrqvH42EODHt7e7arDnQOsizj2LFjuHnzJutr68RB13U4HA5WVpgIKe/2oOs64vE4TLNTIa/fdY1EItjf32cTGes2QGesLCwsYGtri01m6FhEBJeXl5FOpweO/ampKZaI2O9YNGnkZSP8NaOEyXA4PLBS3/z8PLMh7NeeeDzOKtlZg0fURr/fj2effRa5XA5ra2uM3PDSiEKhgLm5OVaFsl+7PR4PywOgSQyBrisVzkomk0/sOTsIT/K5/6N4xxwFPqvt/jzh0xH6PSReffXVrpc8ff3Wb/0WVFXFt771LaRSKTSbTWxubuKf//N/jomJia59hMNh/Jt/829QLpdRLBbxm7/5m+Nqdk8IgtAprep2u5FOp1Gv11nGfDqdPlSG8SiwJi9Q1JOSF6g07dLSEgRBwOrqKu7evYvNzU3cvXsXq6urrM3D2jTquT3//PNM60da1Hq9DkEQMD09jRdeeAEXL15k/sL8fgqFApxOJ1ZWVrC+vo433ngD6XSa+ci6XC6WFb+3tzd02V5RFFZdrd+5nz17FhcuXACALssuXpt6/vx5KIqClZWVge2+dOkSLly40EXW6TrRfp966iksLi4ObPfCwkJXYq+V+AMd/ekrr7zCEqsosUnTNKbP/fKXvzwwlwAAJicnsbi4iFKphFwuxzS4siwjl8uhVCphYmICL774YtcSt6Zp7GdJkvDKK68MTc6dm5vDzMwMcrkcEokEKpUKS0BLJBLI5XIIhUJDn1dEnILBICPlVpJuGAZCoRBOnjzJtLa6rjOSSr8vLy/j0qVLcDqdyOfzPV9OpxPPP/88SwDi5Sz8xCYajSIWi6HVarHj0ASCVkYikcjQsf/iiy/iC1/4Qt9j0X0YjUYZeSSyT4VsyGN62P165syZkdpjvT8oYs/fH/zKjWEYaLfbbBLKk/lQKDRSuwGw60iTEdJ1X7hwAWfPnn1iz9lheJLP/Sf9jjkqfFbb/XnCZzJSPMZnH0dRWnVUjJq8MDMzM1CjOCpGPbdXX311YPEO3ouUtKWSJCEWi2FlZQWnTp3CV7/61YFZ8ffu3RupzXZJf/y5U/Q2Go2iUCgwLSoteweDQbaMu7S0NLDdp0+fRiqVQjgcRqFQ6CJNROL8fj+SySQ7tl2bKGrt8/lYxIwgSRJUVWXRdyJi1ihoLBZDOBzG3NwcstmsrVbP6XRibm6OuQZQdJBcAyKRCERRRCqVwtLSEiYmJpgTB7VdlmVMTExgcXERjUYD2WzW1oXC7Xbj5MmT2NjYYNFhXjdMUUBKxhqERqPBCnOQLILII2mKyRJQEAQEAgF2bZvNJtsmEAig0Wjg9OnTWF9f7/EFliQJS0tLeOaZZ1CpVHD9+vW+1/X8+fPY3NyELMtwuVxdRJ10yWtra/jFX/zFgWNoaWmJjTNqD3+sZ555Bl/5ylfw1ltvMcJp1WaLoojZ2VkcO3YMPp9v4P067F6kMT3s/igUCtA0DfF4HKlUCoVCgZ0/yXN0XWde1ORQQe2mic7s7CxM00QwGGR9zV8POl40Gn1iz9lR8CSf+0/yWEeJz2q7Py8QzGEZP2P0RalUQiAQQLFYhN/v/1E35zOJfolvR4lkMonvf//7jLxYQUujtLRtJyHIZDKYmprCK6+8MnL7Rjm3UbbpV7Fqe3sbX//61+FyuWw1ZvV6nS3D2iWu8YTt3LlzqNfrfc89FAqhXC6z5XsikE6nE5FIBK1WC5qm4Utf+hJLjumncy4UCnjzzTdZQYP9/X22r6mpKeb/urOzw4iZtWIbn9QWjUYBdNwvqN2UgFQoFLCwsMCIhrU6WjabRTAYZFn9+XyeOQnIsoxIJIJAIMCib8FgsK9rQK1Wg9frRaFQYJ7ndF6Tk5Mswkv9aJom7t69yyranTx5krU5m82yY9K5iqLI9NyiKKJUKtnKYegai6KIn//5n8fNmzcZcbLam5EkAwDzYOblDzR5CAaDmJqawuXLl21lKIqi4Etf+hLzxSXvZvI9drlc8Hq9mJ+fx5tvvtlF1K1OF41GA3/qT/0pzM/Pj1StbVBFO5JNkd8v74ft8Xi6PF9HuRdHHdP97o8LFy7g3XffZX3Nr+LQ7x6PB88//zzzsyZtsXlgied2u3H27FlcvnwZhUKBXTNeU0zX7Od+7ufYSsGnqTrak2zPp+3cR8Vntd2fVozK18aR4jF+pHiUDONRMUryAum1KOLqcrm6tvkkVjijnNuwbeySA3O5HJaXl1GpVIZmxVNUkIgkT554kpXNZjE9Pd333ElLS/1jLX5DkVs+eimKIubn53vaxWdYU7TOui9atnc4HLZyDd69gK6r1SOd5Cik+ZQkqUeLR9fVNE2m1ZuamuoivKZpMrcHStqy9pHD4UA2m0W9Xofb7cbu7i5LoqLSynw/0mSD9gl0rNGi0SgrFELgHRpoKd6aGGinqTVNE+l0mpH7/f39ngqD8XgcjUaDeeIC3fIYRVGg6zqTclDfW8cReUs/99xzXVEua0IrlXUe5HRBriqDxj4fLVMUBa+++mrPOAMeRt1GKac+CkYd0/3uD8MwWNVA3u+azp3sEycmJhCJRHrOn6KFuq6za2bdD7lu5PN5prd/Es/Zw+BJtufTdu6j4rPa7s86xqR4jB583maooyQv+P1+lMtlluCVyWTY+Uej0U9khdMvqjQqhiUHzs/Pj5QVT0vVtCxOkTky+qdsfpI/WKOgDoeDkaSjyIrmJymKovT0dbPZZESRlvGtlmN8QRDS61rbTf3mcDgGThz4c7NzjSAiBYC1uVwus899Ph9rZ6PRYH/jI66lUgn1ep0lTt2/f7+rGh3QiXSXy2XmPEKklI/u0vXmI/9WiQmRVtM0WYGOQqHAdNB0vgBYFTVK8ATQ1W6KVjcaja7qeDzoWOVyGaurqzh37lxfj1lN00Yas+12e2glusNEeOna0XWyIp1O49atW9je3mbXdX5+HmfPnu0izv2OdVjXAOpDknbYOcUM8uolhxeanFn3Q5Zsw3yjxxhjjG6MSfEYXfg81lyn5IVBpUNPnz6NGzduYHt7m0XEiDxsbGxgcnISgUBgZCucQY4QpIUcBGtyIL3I+cpG5LE6zKFCEASmqbYujVPk2+fzoVgsolQq2dpEqarKpAGPmhVNk5SPP/6Y6S/5vg4Gg1hcXEQymWRjkD8eJWXJsoyVlRV873vfY5FcHh6PB88++yw2NzcHkhU6t2QyyTScfOUzSZKwuLgI0zSxvr7OylVTm10uF3w+H2ZnZ3H//n32d6sjAG0HgOkErT695F5A50hkh3eMoO/8tbRzA5EkCVNTU9jY2GATBztnCZoMUUTbCr4MtyAIttZy1F7yM+4X5ZqdnUU4HB7oTkK63EGV6KiqVyaTGfi8SqfT+N73vodUKsWuB5VcTqVS+OIXvwgA+KM/+qMuNw9BEJBIJLCzs4Of/umf7qomZnesaDQ6kmuA0+lk9xGtUPB9SGORyGy/fqSJHiWNWqP7wENbvzHGGGN0fCbdJ8Z4PKDI5P7+PtxuNyKRCKsedfnyZVbV6rMIWkadmpqCpmnIZrPQNA1TU1O4ePEijh8/jnq9jgcPHrDIKZXVbTabePDgAer1+kikb21tbaAjxNra2tB9jJIcmM1mcf78+aFOD5Q5Tx66siyj3W6jWCzC6XTipZdegtvtxvb2NouWu91uFhHd3t6G2+3GM888cyRZ0RSVpQgxETSKtGYyGei6DrfbzcgWRUvJYUAQBLjdblSr1b7RsGaziVarxaJtdhHOUqmEWCyGhYUF5ixB5EQQBOYsEY/H4XK5kMlkmP6YXEwqlQoymQyLTtOkgqK4RFJrtRpbbbASWWoPjTcisFYtOBFlKqNNn1m3AdBV+Y4KtBBpEoSO6wmV4aZt7MBbfvVLQaFo8TCnE1EUh7qTnDt3Dru7u6hUKqhWq13jsVqtolKpYGdnBxsbGwOfV6lUCu+//z52d3dhGAZcLhc8Hg9cLhcMw8Du7i6uXr2Kt956i0VeSf9MqzLb29t46623kEqlBh4rk8mM5BrgcrlY8mS/fqTy2oPgcrngdruZowp/D/HOKlaZzxhjjDEY40jxGAB+PGquD1qO1HUdiUSCEROKYFEUzzAMJBIJFoHrB8MwcOXKlYGOEFeuXMGpU6cGSilGrWw0MzOD1157bWCWPmFQ5vzm5iY7Xx787zSx+Pjjj7GxscGWmY8fP45z586NvJJA5XfpPPhIKCVf3blzB5FIpEtfTKDksGAwiA8//JDpKq1JW5qm4d1338Wf/bN/duAqwdLSEtbW1gY6SySTSWxubjIySkvx5AhAbbaWjCYQCaIIs9/vR7PZ7JKzUGSPkrAGOW/w0girvlgQhC5iRRIEoCMhaLVajPgDnbHGl9W2Qz//ZitmZmaGbjPMnSQQCODy5cswDKNvRbd8Po+1tbWBz6tr167h/v37TGbD78fj8aBcLuPevXtMZ00SDb7wRaPRwL1796Cq6tBn4yuvvDLUNYBs2Mh6zpr4SIlzwxK3/X4/JEli45EmN7RyQatT4wTwMcY4HMakeAwAPz411/stR66urkLTNPZi5P1OKfqlaRrTTPbDzs4OcrkcPB5PD+klOUIul8POzg7m5+ePRKO4tLSEkydPDszSX1pawqlTp/pmzmuahoWFBVZli7eu8vv90DQNxWIR9+/fx/Xr11GpVNjLvFwuw+12j0yKV1dXUalU2BKwNXO+1WqhVqshGAxifn4exWIRxWKRvegDgQACgQDy+TxqtRqL6hFxJnIsyzIqlQqy2exAskK65ng83tdZYmtrC9lsFqqq9hBIIiK03E8SB55IUnSQIt3DQFFXkivwkwaaRPDOEVY5B/0/RctVVe3r9sBH0eka8O3gCfcgCIKAQqEwMjHuN2Z5vazds4jKd2ezWcTj8b7Pq0QigVqtZms3SJOCbDbLIu+apvVMviRJQr1ex87ODubm5oY+GwdNvIFOBjy5o9DzhpIZNU2DqqqQZZkl/fYD7YcmZLSyQaTe5XKNtJ8xxhijG2NSPAaAcc31UqnErKV4f1l+WbjdbqNUKg3czyiOEIOy6w+rUQwEAiNn6Q/LnI9EIizhkE8iAzoJWR988AHee+89lpBGfVIul/Hmm28CAFZWVkbu635L7UTmKCI7Pz9vaxPndDphGAaLfFqT8egalkqlgclfpF0e5CxBUV0aG7wWmIgnX+KYCBWf1MYXqygWiywhit+Ppmmsb6mYBT8WKQmREiVpEsFXLqRzoegoTRpov/w4oqgo8JC4W3Wu5I08DHxke1jy26AxS5OlQRXdqK2DkkPtqv3ZtZmvZMgfi//8qJ6NjUYDsiwzX2xe0hQIBBCJRJj8YZT9zM7Osmg7Tch8Ph/C4TDq9frn9nk9xhiPC2NSPAaAcc11iiaRxtVaeYo+H7Yc6fV6D51db+cscfHixaHJgcvLy8hkMkP3MyyCS9d+UKKdIAi4ceMGWq0W3G43I1JEtGq1GrPkGiQvob4mGy+KyhPof6mscjabRSaTgd/vh9vtRrPZRCaTgdvtRjgcxsbGBouaAuhKSCOSSsS+3yrBKGOfj9CSbyztk3yU+fbzyYz0O52Xy+VCpVLp6+Lgcrm6KpnZkUKyoKMESSsponHq8/lYCWe7kuIUeaf294sKkwaavhMB5r/T17Bk3WGuKmfOnBnaZr/fD6fTiVKpxM7fOmY9Hg80TUO9Xu9J1jRNk01AeOcNO1BUmUi6lYDzz8Zh505jrVwuI5/PdyV1GoYBh8PR13fcbsySS4bd6gaNkzHGGGN0jEnxGADGNdeXlpYgyzLq9TqLGBJoCdvlcjE9ZL9IGJ9dT0SLlv0VRenKrh9Vo9jPYzUajeKtt95i+2w2m6jVauxFTJn5w3TggUAAqqpibW2NWbPJssyue6FQQCQSQa1WY5E7XgdMy/qVSmWovAQAlpeX8Ud/9EfMaYEn0eS24PP5sLKyglwu11f2IIoivvvd7zKNph1o+0Hgx75dgQ9KtEsmk0wDbCWFtMpAyWBEcggUbfV6vQiHwxBFkclUCJIkMUJLnrY0Fvlj0WRidnYW6XQac3NzfYvNzM7OYnZ2lmmPaSVDkiQ2gZufn0e1WkWpVOqRTwAdQu92u9mx+Ygyn0hIk4VBVmorKytMC9xvzO7u7mJmZmZgmxcXF1GpVHDnzh1GBIk4VyoVFAoFLC0twe/3M623lVybpomZmRmsra0NJcXBYJA5WFgJuCiKWFxcRLPZxJUrVwbayFGhmc3NTZhmx6+a2lSr1bC5uYnl5WX2nO1XvMT6vOZXNz4Lz+tRbfTGGONJY0yKxwAwmm3Z57nmeqVSQTgcZkvpkiQxEkIRuHA4zIz3BxUDWFlZwR/+4R9if3+/hxh5PB6cO3cO29vbI+m3B4F04Iqi4MGDB7bRMl4HPuxFRA4FVgswiuQRGWw0GrbaS8MwhspLqB8mJyeZLpmIFZFLQRAwOTkJURQHajSTySQCgQCy2WyXJpb/ORAI2FqIWft8eXkZ29vb+OCDD3psy6anp7GwsIDd3V2kUinUarWeSSOV1F1cXGQSE0oMI8cIRVHw1FNPIZvNYmJiAnt7e13XjCrfVatVtlpBZJCOQ7/TeKxWq30j6TRxWF5eRjKZZJZztJ9qtYqJiQmcOXMGe3t77HrYXa+JiQnouo5UKsXs8Hi5BhUI2dnZGWildv36dZTLZTgcDmxvb/cQXrqeTz/9NJLJZJeVmmEYqFariMfjWFpawgcffMD6hQf/+3PPPYdKpYJUKtVTEGV6ehqzs7NYX18fmEhI9+3Ozg4ajQY8Hg8rhkM+z/F4HGtra0Nt5F566SXkcjkmwaEVF3K7abfb7O/vvfce3n333S79/ne+8x1cunQJKysrn9nn9efR9nOMzw/GpHgMhh/nmuvkFuFyubCzs9Pj+zk7OwuXy4VEIoGPPvqIVSajbbLZLJLJJF7lKmvZLX0DYJniwzSKiUSClXoNBoOMnCYSCZRKJZw8eRLVahXVapWRMIrwkleux+NBo9EY+CJSFAX5fJ5pM62aUtL4Ap2ELt6dAwDTvoqiOFK2e7FYhMvlwtzcHBKJBCt0QRHnyclJuFwuRub7yR4oyuZyuViiGU+Iyf5qFK/WXC7Hkq74c2u328y+jyyuKFmO2kxtUFUVzz77LLxeLyMztD+/349Lly7h9OnT+OY3v8mKaYTD4a5jZTIZNsnwer0ol8tdJF1RFPh8PjQaDSiKMvL9ak0apT4yTROVSgUAmMWd9fqTHdrk5CSryMZXxvN4PPB6vZiZmUE2m2Ukjo/MUvR8d3cXpmmyqn08GaXPqKw23TvW6yoIAmvD/Pw8k/xQcihF20ke8dRTT+Hy5cvs+lIRk6eeeqpLB97P6QMA8vk8/H4/S4gjd5JwOMySA9Pp9MBz39nZYUmmgUCAOYHwY9/tdqNSqeDb3/42rl271qPfL5VKXfr9o3xeP4no7TDpzChyrzHGeJwYk+IxujAse/rzCtLo+Xw+TE1NIZ/PsxdoKBSC1+tltnV7e3s9S7aNRgN7e3u4evUqI8zT09M98olisYiPP/4YwWBwqO54e3t7oMSCfIXJf5YnKvSyIdJz+/btvsu6J06cQDKZZHZiPHGiZV0if9Q2q7yE9JCjFCYhvaPb7YbT6exyRHA6nXC73Wi32yMnCVHSmZVcj1o9kGz02u02JiYmbG2yPvroI7btxMSE7XUlK62VlRU899xztsveZMmlaVqXZR8AZtnn9XqZhCUej7OiGkTw6Rp4vd6h9yuNWdM0sby8bCuzWFtbQy6Xg9PpRDAYZP7FVAlR0zTk83k888wzaDabPc4qZIk3NzeHu3fvDrRSK5fLbExZSSgV/zAMA9vb29A0DR6Ppyua7Ha7oWka1tbWmAd1MBjs0dSapolsNssmli6XC8ePH2fkt9FoYH19HceOHetqp1WqQisi9Xp9oDtJOp1GNptlkwS7c8/n88xFxefzwe1297iBULs/+uijkfT7R/W8fhLRWxqLn2fbzzGGo93UUcxoKKY6X4tPRRCa9Pyom8UwJsVj9KBfZO7zDF5XS+SYj/QUi0UsLCwgkUgweYL1xVcul3H37l00m02mfbQmnbndblYwgiyc7PTboVAI5XJ5oMQin8+j2WyyCBmf2EVESpZl3Lt3b+Cy7p07d1jil1VPTQlxZG3FF4/giQNV7KtUKkPHjtPpRLVaRTKZZFE10uDW63Xcv38fExMTQ5OEKJpIkg9eD0vkj0owD4LVRs9Kpt1uNzKZDILBIFRVRb1eZ5MLkpxYrbREUcTMzAyi0Sg7P8DekoufWKmqCo/HA1mWUSgU2OoFga9UODs7O/C8gG6rRUry40ESG5IF8DZvBCoZ7PF4uiKTVvJEldUGWalRRJd34iAQQaxWq9jf32fSEor481FXSnikiaX1vCghz25iCXTus3Q6jY2Nja5S2vyEj+4TvvJfP3cSivryhNh67uQYwSfiWh1YaKWm0WjYTuxoAjiqfn8UUPS2Wq3C5XKx1ZC9vb0jjd7+uNh+jgG0GjqKaQ3FdK1DftMaiqkaimkNlXx3sMPplsekeIwxPs3op1Gs1+uo1Wrw+Xy2D3VVVZkMYZglWywWQyaT6asHnJubw0cffTRwP5T0RVZdVhCR2NvbY1nudsu6tIzdLzrDJ1ItLi72yEscDgdmZ2dZ1GwYfD4fSqVSTySMCGmtVkOpVGKuEf1AFff6eemSjKRfHxJGsdGj4/AWWLyXM2+BNSjqRlZ0w/Zz6tQpvPfeeygUCnC73ex6U7R/ZWUFoigOjfCNYrVI+tZBFmgOhwMOh2NgZDKRSAy1UgOGFwLRdR25XK7LVg7ojrpWKhXWjkeZWOZyObhcLjb5s0pVFEVh5z5oZYe2pap41tUG6sNRylyrqsocLexAcqZSqfTIEV6K3ubzeRiGgVwu15WX0Gw2jyx6++Nu+/l5Q7PePiC7veS3WhwciOBRTNeGb/QEMSbFY4yBThRjmEaRiNEgUBRrmDRienoaJ06cGFhQ4vbt2wP3IwgCi7jZvbAEQUCz2WSeuP0IBtnNEfm1vqjpfyjxbWpqCtlslpGiSCSCVqvFIp/DsLu7y16O9CLnk7bo893dXVtfZQL5Kdt5zFLSXrPZRLlcRjgc7quZHNVGj/xvB1lg8VKVfnZjo1hpnT59GoFAYGClwlH0maPazQWDQVSr1b4WaHzEut9KksvlGmql5na7mYuJ1Y6PxgH5PvOrMQQ+6jo7O8u0vJ90YmmaJnw+HzRNY/pvIsU0gQkGg4hEIigUCn0JOBHQbDbblfhJbaZy7263GysrK3jjjTf6TnhOnTqFq1evMiJtBa97f1R9brFYZAV9rJNmKme+s7NzJNHbH3fbz88imlqH+BZSB6T3INpbSGvQSqMT30EoprQj2c9RYUyKxxgD3QUs+mkU6WWuaVpf31PSgxaLxb6RIFr6pjLCdlXmTNNklktkXcVrQUulEsLhMPb29tgSs121MiIeRGiohLAsy3C73cyGjo9KWR0zyJ82Ho+jWCwiEokw+y16adtZQPUjoZTYFQwG2eTDqimmaCDQ35aKIrxAbyU2Oj693AdF1PjoHfUbf+3JPmx+fh6JRAKhUAj7+/vsvGZnZ9n57+7uDrUbi0QiSCQSzJ6Lby/fj8FgECdOnMAHH3zApBTPPvssS6YkfWYkEumZpGSzWayuruLll18earU4PT0N0zSxtbXFkrn4MsEU2R7FJozs32is81Fw+l4oFJgdGbmakMsJlc7mo65WTTWRxXg8jqmpKdy+fRvb29vs/Ofn53HmzJmuiWU/f2FVVRGLxZjrDJVZJjJM5760tIQrV64glUqxyDLJfTweD55++ml88MEHrFS81Z2l1WohFAqx6wr0L3PNV/rjHSro3mw2m0wW9Kj63Hq9zqLE5MVMExjSkxcKBdTr9b77GBU/7rafn1bUq62+UgetPLj8+6PAHXAgEFMRnvE+tmN8EoxJ8RhjoDeKYadRVFUV8/Pz2NzcZPo7iqqQ+8Hi4iIWFxfxne985xMtfW9tbbGlT7LSWl1d7SGq8Xgcs7OzWF1dRbvdtnUNoGgw6Z1JQsHvR1VVFpHL5/OQZbkrskaJYbFYDJcuXcK3v/1tW9syinDTi24QCaXILMkNeCkGtZ0Sya5cudLXlgoAI+wU2ePPjSQVyWQS9+/fHxhRW1lZwTe+8Q3s7e3Zui9cvHgR4XAYH330EW7fvt01Nra3txGNRvH888/j+vXrcDgcfS3yyG4slUr1va7Uj2tra4w4ESlcW1vDysoKJiYmkMlkoGkarl692pNkSH8vlUojWXcBwIMHD5DJZLquR7PZxPT0NGvToOvB24RVq1WmrebJ4/LyMnZ3d1EoFHqWyev1OiPiVMY7kUj0OH243W5EIhG4XC4kk0lsbm4ik8mwPqJkyNOnTyMajWJzc3Ogv/DS0hJ+//d/H4lEomtca5qGyclJdj+eOnUKV65cYW0iHf0zzzxj6/TB/27FoLLrAHDp0iW8+eabbCJO7hMk1Xj66aeRy+UeWZ9LUXnSWFvva5pskzzrURwqyPrws2gj91mGaZpoVNudaC9HeCkC3KgOtqx8FHhDTgRiKvwxFcG4G4GYisDBd8U5uMjTjwpjUjzGjxX6PdRHjWIsLS2h1WohlUp1RU/Ie5cywolADFv6Jk9aklzwyS10bJIC0MuKtqfEH76kMd9mXddZRJfP9qf/p6QmIn0/+MEPuogDHdPj8eCVV15BoVBALpeztS3L5XLI5XIjVSx74YUXWPUv4GEVOAAsYSkWiyGRSODNN9/sa0u1tLTUQ6R5QsLb5VHkvV+BE5Iu2PVjo9FAsVjE+vo6MpmM7bjKZDKMnFI03roUTcSQCCyAHk9o+nxtbQ1vvPEG6vU6q3BGPsFvvPEGnn/+eSSTSeZ0Qt7FVH3xwYMHaDQaaDQamJiYsC0CQ2Q3FothbW2NWZZZi6lks1nkcjncv3+fXQ/S0JI3tdUmrN+xotEovF4vstmsbT/qug6/3w+fz4fd3d2ulQD6e61WY4T4jTfeYPcy9XUmk8Ebb7wBAIjH47hx48ZAf+HNzU0WKeavQ7vdZhMqAFhfX2e6equLBdkaKorCVmz4ZwP9nSep/cquUz8CYBMQiqCTtd/CwgK+//3vP7I+lyo10qqM3b3o8/ngcDiOxKHix9n283HCNE1o5VY36eXIb6P2mIiv0CG+RHh58uuPqVAcn07iOwhjUjzGjw2GPdRHiWLEYjF88YtfxK1bt7C9vc1e+gsLC6x4BzA4EkRL38lkklmqETFyuVzw+XzMRouIFEkFqJBAvV7H9vY2i/IQKSJQog9FlyiiCqDrZ8MwUC6X8dRTT8Hj8eDy5css6uZwOBCNRnHx4kWcOnUKX/3qVwfall25coUt/Q5a1qUKYtaILP+ZaZp45513BtpSbWxssCVeuwId1J9EiPpFb1OpFDY3N/s6Iui6jrfeequr+INVewp0iGwkEmGV6+zcSUimQI4V1WqVXVdytrh9+zY2NzdRq9VYFUQ++atWq+Gjjz5iSVF8UhuNg2aziWw22zdZi/qYxsAwS7p3330XhUKB+VHz/U1JamQTNuxY/SYWBIpYDtKK53I5vPvuu9A0DZIkdfWRLMvQNA2XL1/G4uLiQH/hRCKBa9euQdd1prnnLdk0TcM777wDTdMGuliQrZ0gCIhEIj19WKvVDi1DGGTtRz7Xj6rPJQkLv+JCoLFNunyqRPio/sI/rrafjwrTNFErNbsS2wr0c1pDq64P38kngCAA3rALwbiKQMyNQFxlEV9/1AVZ+ewR30EYk+Ixfiwwqmn8qFEMXk/brzhEv0hQsVjEvXv3kMlkWClfivJpmsYilg6HgzlD2NlSkbUV6Q6tSUtEislqitrEkzlJktBut7G2toZz5871JfLb29vMtsxuudbtdneVZB60rEsetIFAgBFafunf5XKhUqkMtaUiH1tN65+oQeWJU6kUi4KSJpeitxQxJ0JltaRrt9sol8td50GEjSdQtETPJ5HxxAjokOxEImFrN1ar1SCKItbX15mLCZEbOgYtY9PErp8XM40HqqpIY9+uCMz8/PxQSzp+ZYTOiR9H5PRx+fJltjpid6xwOMz8sPuB+oas0KxjSJIkFmmmfucJHZG8VCrFJCn9/IU3NjZQqVTYOOMnarz92cbGBqanpwdKFWjyZdeHlBw4zB7QCkmSbG3XjkqfS+XEaYzxEW5+9eHWrVtoNBpH5i/cL1nzxx2maaJaaDKiWzxIcCscRHzbjcdEfEUBvrCzW+JwQH79ERWSMprn++cBY1I8xucefFLSsIf6sCgGT67tXvp8xKSfVEPTNKTTaZYAZ7Ukq9fryGazjDD1c43gq8uRrRaBCC8RBNIGEsmg7SmxbFh5Zj6prVgsMtcHIg6qqkLXdZRKJeYgQcvLPBEhcqLrOoLBYFfmP/n3AkAymew5Jx5EMnjSZI2UA2CJfVTgxBp1pQRGirbbkR4iBvx4so4vHpIksQkP3zaPx8Mq9dHvdteV+pf03bxEhMYbXVea/FjPnYh2qVRCPp8fOPbX19eHWtLR5IqXMVilKrquY2Njg1m32R2L5B7DQCswNKnhpUOkg6V+BcB+5z9rt9uo1+sD/YUpyVMQBpcvp/306x+6FoPs6Mje7ShwVPrcarXKJokkySJQv5imiVwuN3RSMPYXHg2mYaJSaHSRXj7Rrd0abFn4SSGKAvwxFf6o2on6cpFfX8QFSfrxIb6DMCbFY3zucVjT+H5RjMOQa9Kq2kk1crkcK8tsFwUlH1LSEA6ypSKy2W63e7yDiVBSJI9cNHiCwZdntkvsCofDWFlZgdfbyRCmIiA8sWm1WqjX63A4HMytoFgsMms7q1yB9J9U7IHaTWSHylVToZB+tlQU2fJ6vajVaj2Exu12M00lWdgRQSLCbpWV2MHu836JVLQc3W63bR0IVFVFu90eWOSBT4i024a+WyPQfDIaQZZlJJPJgWM/nU6zseBwOHpcTGgs8udL44c/f9M0bSUG1mONAv4YdvuiCLE1Eg88lA5RXwySGJDmflD5ciLUR2lrdxQ4Cn0uXz3Rruw0PYvo3rHD2F+4F4ZhopKrdyW0EfktpTXo7cdEfGUBgeiBvIGkDgfk1xd2QhwT36EYk+IxPvUYNeO533aHNY3vtx+eXAPoKofrdDoZud7Y2MDt27f7VoiKRCJdGlorweLJzaDIEyVgURU1Oy3oxMQEcrkcKpVKTySU9IJ+vx+iKA5M7Pryl7/MonRE3ghEAJ1OJ5aWlvDgwQOsra0xWyciB+VyGYVCAadPn0a9XkcqlWLROGpXo9FgxKpWq6FcLrP/txI1l8vFIpQ0weCT1uh/iCRS+62JbRR9pUi6VRrAJx7y18AOVImOZBr89pQgRsSZrhFvAUYJeiR9oYg7TxL5JD6SIti1ze/3Y3Z2FltbWwMj9zR28/k8k4vw1dwMw0AoFGJ2Y9SX1uMRcRp2LB79Jhe8hzX9jbalz3kCZ9XC0mSHbAT72RoeP34cyWSSEVf+WHT9nU4n267ffg5ra3dUiMViCIVCtrZ9PPrZ6PF2hP2eIaFQCD6fb+wvbIGhGyjn6pyNWSfaW0hpKGU0GPrwFZFPAkkWDxLa1C43h0BchTfkgiiOtdmPgjEpHuNTjVEzngdtdxjT+GHVyChxjdeFUhQ0HA6j3W7jzp07AytEUdSWIjPW4hUAGBnnrdzsIk9LS0t45513+tq/Xbx4EcViEd/5zneYbpYn5Iqi4OLFi7h69erAxK533nmnh8DQfgiiKHbJMPpFOQEgHA4jlUoxks23SZIkRKNRzMzM4Nvf/jbLjOchyzLOnz+Pa9euMRJnTdyjFzsRb03TerZRVZU5h1BREfobT/bm5uZQKBRQLBb7jlWv18s0oxRh5PuLdODBYBC7u7tdS/50zRRFwezsLCstXalUevajKApisRji8Tjef//9ngpxROzPnz/PvKhLpRKKxaJt5F5RFJw4cYIlNvLXg2QD8/PzKBQKTL9tV5WOIoulUgmFQoFJbsheLxAIdI1jOh8rJEnqKgJivWY0gSiVSszD2O78HQ4H5ubmcOfOHeZXTO1RFAUTExPs74lEout6EESx4yU+NzfHng39bPSA0WztjhJ2Fnnvvvsus8jrtw1vozesmMhLL72EVCr1Y+kvrOsGytl6F+Gln8uZOgzj8RBfWREfyhtialdymzfohDAmvo8NY1I8xqcWoybHDdtuZWVlpKSUZrOJK1euDKxG1m63sbOzY1v9qVarscQvSpCzqxAliiKCwSByuRxLdONJqK7riMfjWFhYwPb2Nsucp0IIHo+HRXm+8IUvwOPxDLV/m5iY6PJhBTrEcmJiAqqqMq3noMQuQRAQCoWY5RjfZrfbDcMwWBLdwsICI2F8AQe/349SqYRGo8Gqm1m9Ud1uNyupPQgUUbWSIrquRI7IR9puG0puO3/+PNPeEjkHHiYRPvXUU7hx40aXtpoHyTUoIk/74KOOFPlPp9O2BAzokOl8Po+lpSUWRbYjhZOTk6jVan1JFq1s+P1+qKqKtbU1NvHjx2OhUMDS0hIrSEP9xo8RWZbZqocdCaXz93g8cLvd2NjY6JHYaJqGXC6HhYUFNgb67cfv9yMWi6FcLvfsh/oxFosxrS+vC6fxSDp3RVEYSecdM0i/TgU8qGCM9Vhut5ttZxclBx4S+1wuN9TW7rCWY4NWya5cuTLQspAwbBuePPd7hoTD4SfuLzzqCuGjQm8bKGW4aC9Xta2crcN8XMTXKSEQUxG0JLYFYm54go7Hcq5jDMeYFI/xqcSo+t1IJDKSBdjS0tLAh/rS0hKzHOq3H4ruaZrGChMAYEv3hUIBiqIwrWq/RKpSqYRnn30WV69eZeSQjwKrqsqKRZTLZdRqNYRCoS4tLP8iGsX+zev14uLFi7aVz+7cucOiz/0Su6hogMvlgtfrZUlJVP6YShyTnjYSiSAQCNhWBtzZ2UGhUGCRWmvSniB0ComQcwJNFHhZia7reP/9922JFQ/ShRLskvGoatfExASrakbnRlXNKpUKixJT8hUvwwAeVgukz3hdMP1OkpVBIAJH/U3Xnb4Tyb937x4jyXbtuXfvHvL5fNc9Zb3HgI4MKJFIwOVyIRwO90RUq9Uq9vf3WRSfZEi8pIE0vFQRzTRN5uhA59xut9FutxGNRplNmVWqoaoqIpEIq15HiahWOQtdm2KxyMYM30dUYe/69eus2AY5VFAfkh1buVxmkzZyIxFFkfV9pVLB1tYWTNPE8vJyj3wik8ng1q1bTDoxyLLw1KlTfR1DrBi0ahUOh/Huu+8OtCz84Q9/yOzy+m1DNnrDiok8aX/ho/BE5tFu6Sil65yrg8aKWVRydYyQ+/mJoLikh44OFvLr9o+J76cRY1I8xqcSoybH7ezsjLTdhQsXBj7UFUUZup/9/X0AgKqqzB+Vf8mqqsqWS6lKnHU/lCA3NTWF1157DZcvX2bRJXrwX7x4EUtLSwDQ1Wbaxu5FZJodS6xSqdQV6eT7kRLqaD/0O5WK7ue+QN8dDgfq9TrcbjdLggPArORUVUU8HsfOzs7AyoDUR7wvMEXWaNmZIoBEhHgQASPfYGvCF/8ZT0yt+yKyRXrv6elpphGl5Cm/349Go4Ht7W3mJw2gK5pOxJwIHhFKKwEfRuB53Lt3ryvabpU8ZLNZ5qhBfUig61+v17G6ugpN0zA/P498Pt9D+EOhEKtAR9pyGhv0paoqK1tO19Ma3ac+zmQyTOvNT3aIYObzeRw7dox5OZNbiSzL8Pv9LEJZLpexsLDQI8Pw+XwIBAIwDAPRaJTpxu2q1UUiEVy/fn3g9dja2oLT6WTSGrq+NKZpkpHP59nElAc9G7a3t5HNZgfa2uVyOezs7PQt2MGDL+5jl5cQDoeZlRyNa35Vgqzk6OdB26yuruLcuXN9LSQJT8pfeNQVQivaTZ0lthU5/95CqoZKvgE8JuLrUOUDN4eHUgciwi6vcuT9M8bjxZgUj/GpxKjJcZVKZeQkuomJib4PdapoNWg/RNKi0Sj29vZYMQaKeE5PTzOyPIo1k6qqWFhYYCTR4XBgfn4e4XCY/U8sFkMkEukbwQEGawYXFhaYM4WdDjoSibAlcmqbXZtJn7mxscE8dAmC0MnOP336NObm5rC9vT1QqhIOh5mUgyJZBIos2pFh2ocVRMzsEtL4JW+7SCm1j0i4tY8KhQLC4XBXUqUgdFcRpMQyIvl27eQdGkZBo9Fg5Y7tou2pVKrLIs1uQkDn1W630Wg0mIab17qS2wRd52q12qWHpbFKY5y2owkgn+gIdHxvHQ4HarVaT/lut9sNTdMQjUZRLpe75Dy00jA5OYm5uTl89NFHzHWEtxKk/iaiTxUE7UpKUzEUIql8v9CEiKLa1AfWwi0U/SZnlH73EEWPBz0/arWarT7eClrdGZSXUCwWR7KSo3th0DaUBzCKXEEQHq+/8LAVwlQijQ/fuY3jMwZKmXpX1bZK/vG5Xzg9cm/E94AAuzxj4vt5wpgUj/GpxKjJcV6v91CVnfo91Ec5HvmaZjIZFmkjYtBut5HJZODxeEayZqpWq7h9+zZqtRri8TiLhlCVO14vbY0Ub21tsUjxMF3hpUuX0G638eDBg4E6aJJSUGIVbUMuCbFYjGl97QgfWbKJojjUP3V2dha3bt3qWmImUPSZJyeDQP9rLeBAhJovyNCPFFOkdZBWnNpD8gErAeclB0Q0eRJCkTk+wj4IlIjZL9pOhNGOZPMTAa/Xi42NDSSTya7VAIrkbm5uIhKJQFGULtcMfhtN0+B2u1miHEWvSZJAWnFyF6HVCmvJ4FKpxEh9vV7vqURIshBynrh//37XeGu320in0yiXy4hGo5icnGTyqUwmw+51Smq7detW1zXiQZ/RvUvjhJfp0HiihNhB9xDde4OeH5RwOAzFYpFNggflJdBY4CUz1I8k4xGEwXZztFp01HKFT4pisYhUIgOXGUBpB2iWzc5XBWiWgXY9igzaWMfHR35syQmIrjYkVYfiNRGc8GDp/CIWTk/D5bGf7Izx+cOYFI/x2DBK5KHfNnzFpn42SFNTU8xyatTM6FGON2g/m5ubPZpioEPCCoUCPB4PFhcXmb6QX64OhUIsQW53dxe1Wg3hcBi5XI61h36nMs+DEv+ef/55pivkI3ekX9Y0DdeuXWOV4/rpoD0eD06fPo319XWUy+WupD5VVeHz+XD8+HFcvXq1b6TTNE1cv34dX/ziF5n+8NatW9jY2GDnduLECZasCDyM3vJEhP8aBRR9tFseFgQBPp+PrSbYgTTLTqcT2WyW2VIRYVBVFYVCgbk0UBKV1SKOxibJBEhHy2ulqe8LhcLQ8zp58uRAK7GJiQk8ePBgYORZFEVMTU3hu9/9blc0l/fwpTEajUZZcigfoac+9Xg8mJqaQiKRwMzMDBKJBLuuk5OTyOVymJiYYBMLnljzx2q320xqYKcXzmazWFtbQ7VaZRInGl+0v3K5zGQkoij2tSSje5t3JuEj1/xxeZkQ/3deK01VGE3TZOODirFQxDiTybAKlXwfUuRzdnZ26LWv1+ssSkwJrPx4pAkJWRNaV3dolYTaQcSZn8jRuTkcDoTD4U8kV3gUNGot7GykkU9WUC/qaJRNFFMacskqGhVysTh6vYPqd3SkDtGH+l5TaWB14wbqLTr/zoS0WExifbeM8KwbLs+TmxiM8aPFmBSP8VgwSuRh2DbLy8tIJBK2Nkj091Eik5SQNsrxaD9k6s8nthGZJU2xNQpM2e6zs7O4e/duj82TpmmYnJzEzMwMrl+/jlqtho2NjZ7l6snJSaTTaWiaNjDx76233kKlUuny2SVQxK9SqcDlco3UZirlSy9MURShKAoCgQBzIBiESqWC27dv4/z587h//z6uXbvWJekolUpwuVyYnJzs+j8+okjX2U46YYfJyUlsb28zKzH+pa8oCp5++ml88MEHXWWaraCoq6IoyGazPWONvIXD4TCSyWRfi7hoNAqHw8EmXTwRo4mLz+dDvV63dcMguN1unDhxAh999BFWV1d7ktFisRhmZmZw7dq1vi4W1PZ79+6xCUG/iQERfHIDIX0tkVm32w2Px8PG9d27d7s0xdvb25icnMTS0hIbp/2OZZomI/MUGebHvmmaXe4VdiW8qcBJsVjE+vp6X0uykydPwuVyDSwD7nA4mNXiIFB1wVwuZysdcjgcQ+0RV1ZWRkqy44vYlEqlnucDRaTJW5omavwkkyYLAFj1TLuS2eFwGB999NFIBYkOKxFo1FodC7N0rcvLN5+soFF9POWKAcATcHTJG1gRi5gKh6ub8pimibfeegv11tGf/xifTYxJ8RhHjlESJQCMtE2/BxH/+SiZ0aMmb5w6dQpXrlzB/v5+V1W3p59+Gh6Ph5nwk3URbzdG2tPNzU2mUeYz3tvtNpLJJDY3N5FKpZBOp22XtHd2dhAKhRAKhVihD+u5+/1+bG1tdWlbrcujwMNI37A281pTvoIctYt0jYNgGAaSySRqtZqtpKNcLuPNN9/Ec889x/bN25eRNnhUQgwAHo8Hk5OT2N/fZ8SGouWTk5OMhA5Co9FgS8zULh50Dek87NBut5lXdSaTYf/Ho9VqIRQKodVqYW9vr297gsEgk+pYtbnkbtJqtUa6Hv2sz3jous4ijiSd4SUE5P5x//79nokeEf5EIoHt7W0WEbZrG/Uj6e7pOvFjn/SvNDEDegt8UBLc22+/jZs3b/aVDpmmCa/XO5AUq6o6VOdL9xhdTyspJtu/mZkZvPbaawOtzUYBabjJFcPaR/V6HU6nEz6fD36/n7ni8PfvzMwMgIdlnO0mT6TDz2QyA58zg0o416utLicHpvFNaahX+0/YHhWekPOhlRnv4xtzQ3GOJr0CDl/tdIzPP8akeIwjxbBEiXQ6jdu3bwPA0OgEvQD72SDxM/hBmdGjtImOt76+DofDgcXFxa7EnfX1dZw9e5Ydf25uDuVymWmNfT4fms0mGo0Gbty4AV3X4Xa7ATzUuwKdpdHr16+zpWprqWda+iwUCoy8U7TaWh2MiAVftY2XDxAZomSp+fn5nv0Qwdre3oZpmlhaWkKlUmHn5fV6mcfqKJBleahV1I0bN1i77JKb+OIO1Cf8udHPQCf67vF4sLKyYitD2draGhhNBTqEVtM05lhAzhikD65UKuxrEPb29hAIBNj/WYuy0D6z2SwAe2s3XdeRzWZx+/ZtZLNZOJ1OeL1etp9Wq4VsNov19fWRyC5peIeh1WpBURREIpEeO7FKpdKVGEeSEf447XYbq6ur7Bz58UfnyksViLzxsgVFUVjf0//y2mnalmzfbt26NdSSbNiEqFqtDu1H3oli0PigaPEga7NR4HQ6bQk4/ztJckKhEGZmZpDJZNjYJ8lNPp9nKyRer7dH8tNoNFAoFNhqkd1zRlEcKGYr2LubR7Ld8e7lvXwbteH6+E8GE6LTgMMnwOUXIalttMQaPGEFL37xeUxNTxzJUQ5b7XSMzz/GpHiMI8UoM2+yNqNENbttKJJGOlhrspHdDL5fEt0obeLlCvF4vGs7+vvu7i4ikQi2trb62kCR5o+iVlbSQ5IGa2IY3x4iFJRlXiqVbG25KHJtjdzxyWaKomB6ehrFYhGxWKyrH0krHQqFmGvAgwcPbCuREZEbhmw2ywiClQjQi5zs2+jvfJSLkpSob+hlxJMnIgYOh4MRd1mWEY/Hu47n9/tx9+7dkdpNyWvFYtHWbowKqPSLFppmpxBIIpGwtRKjfkylUl0rCNZS0KIosqqI9H/8GHE6nSiXywMjzTyGSV54WM+ZP08qpkJ/t9OwUgEQ3mrPOh55jXC/NvD7pe92OmBN07o03PyEkMjqsAnBKEmPtJ0gCLZyBusxhlmbjQIipaRn5u8P0+xUxCQ7PapuSKD72uPxMCmFdSJDY60TBQfy6TKK6RrqRQNmXQFaDogtwGwoMNthvPmD+490PrYQAMUNOLyAw9dJcjOVBl760vNwekWs37vTJXWbeQyJf4epdjrGjwfGpHiMI8UoM28qXvCo24w6gx+lTeS8MGwZcWFhgVVk83g8zCWAonp+v7+rhC1PfIks8NEyq/uCNemHlqRdLheLoFKW/9zcHPx+f5e0gfZJPwcCARw7dgx3797tq7mem5vD1atXmasA/5Lnq/ONAip+wBMrHrIso9lssmiYrutdBSpIHxkMBhEMBlmBDppUkNRCkiScP3+euRX0u67DosQEIh+6rjMJAa0SkD6bX+4HeiPXrVYL9Xq9hzTS/ikSapoma5vV7YCuTaPR6DsWR1nyJ5BX7TBySKsJdo4pTqeTaX/7eVkTmeeTuOz6mE/+sitxTn1D9zVNKghW2zuaONnZjfHnbBepPYxMh9pME00i/zRRopLsR4Fms8kmQ+12u+v+oIRJj8eDhYWFgfd1NBrFnTt3OmOz2YIsuCC2XEDTATQUqC0nxJYT5R0VZV0E4OvunyM5GxOiy4DDB0SnfSjU0ghOeODyC1A8gCg9HEuGISObLcIVEDExMYGJqfhj90QeNcH681jCegx7jEnxGEeKUa3NADzyNqPO4EdpE710BhGsUqmEZDLJiK+maeylGA6HmT8x//LiH7JEHICHBIG2JRABoJcvbcuDJ83keEAvbH55lcjNxMREl3WVVXMtyzKLbFo1jKTRpAz3QeRKEDploOk8eW0ygaKk8Xgc9Xqd9SNv70UOHa+88gqcTifee+89dn6C0ElseuGFF/Dss88y7XK/6+pyuZgP6yDQeQPoSv4ib15eo21nF0cEixLJ6PrRNSTrLpokNZvNrmPS/xKxGvbyH3U5npde9IMgCPB4PCzy2C/CTW20A59UOAiGYSAUCqFWqzEPZb4dXq8XHo+HJTyS7ITfhog56Wv72Y1Zz/FRQXIPsmjjxwf/zHpUOJ1OeDweeDwetkpktb8D0GNJVyqVIRoK/MoEQvIkCndqcCaPQ2g5gaYDgjG61vYwEEQB/ogLhlJHW6zBH1Ph9AlweAHFI0AQRaTTabhDgF5uweV5NPvMI227IIycqD3GjwfGpHiMI8WoM28ASCQSfbeZnp6GaZoDt7HO4E3zk9utRaNRVqa43wObto3H4yyaZdXnktcrn/Rlt4TsdrtRrVahqipLLuMTkbxeLyvuUSwW2bI+WU1RpTWKtFL7aRuv19sVTRxUBCSXy7EIL2Xj824HvB6WjwYS+AnFc889h/X1dZRKpS7NM08G/X4/fuInfgJXr14dWsL6y1/+Ml5++WW8/vrryOVyCIfD+Nmf/Vm2jMzb9lk13qVSCceOHWOEbhAo8ZKIOoEidfSi7JfgRufvcrnYGKAIO5+sFo1GWVVDPgmTj7BSEpVd1JkcGUgjynvs8teDSPnTTz+NtbW1gVFR8vZNp9MAwEp1E2GvVCpYXFxklRcpWmttN6+R7ufl3Gq1mIUb+e7yBFySJCwsLECWZSSTSbjdbpZ4R/KBdruNWCzGbOF4SYv1PqOxTKSSwPtYD4sY88f1eDy2mmIehmE8kqaYf17Nzs52lWYPhyNI7+cRVGPYvVlFKa2hkgpCS8goZRvQmwaS0AHsds4PwZGPOwiiJMAf7U5o61RxU+ENu1Aud5Ib3W43nM7ecyUfa6/Xi0Kh8Ej2mUeNJ13CeoxPN8akeIwjxSgz7zNnzgAASqXSwNn5KNvQQ/Iwdmt2+3rmmWewtrY2kDjTg52ipladMy2Jk1WS3XKqIHQq4p08eRJXrlxBtVplpIFIhKIouHDhAiMO+XwemqYxgmUYBlRVRavVgsvlQr1eRzabZcSIKpi53W54vV40m82BRUAKhQJrg1WHSRFtiuKVSqUeEkEykXA4DNM0cenSJbzxxhu2S/yKouDSpUuYnJwcqYS1tVrf/v4+tra2cOnSJaysrGB5eRlbW1v44IMPbK3totEoI7z9QJFfO/2truuoVqvwer2IxWLY29vrGw2Nx+NstYASs2gJvNFosAlGIBBg52wFJfvFYjFsbW3ZyhlM08SJEydQKBRw9+7dHgcTIoDHjh1jkddB3sgejwfhcBi3b9/ukcpUq9WuRMb19XXbdgtCJ9k1k8l0rYhYzw0AGyf9JkRnzpzBxMQEvvWtbzH5B9A9Ibhw4QJzvbD6XtOxKDdgd7dDEO3IbywWQ6lUYg4V1vseeJi8Rz7KVss+/j5bW1tj7hO8e81h3CdgAvNTJ3Dv+j52P9qG2VAgtlwQ2ypSbQOCGUYOOjawNtr+RoVgwnQ0YSoNCM4WXH4RgbgKXdLwxddextT0ZN9/HTVhjaoQPqp95lHjSZWwHuPTjzEpHuPIMerM+6i2GdVu7eLFi7h9+zb29/dZRHFqagpnzpxhRHgQcT59+jRu3LgxVPZB+kJKjiPwSXJU4IMvdQt0onYTExM4duwYHjx4wCqR8VXmNE3DxsYG88WtVquMUPPRMnopk39wv/6ZnJxkUUf+/4GHZZ5pib3dbg88L3qZUGTNSrDp7zROBr2IhlXrA8CSAKm4AREj0nlXKhU4nU6WeW8F6XiHaXTz+TwWFxd7nDEIkiRBVVU2OeH1z3Qc0+wUnqAkSSsBFUWRlSdeXl5Gq9VCOp1GvV5n5yWKIqanp/H8888D6Eg9eDs6oDPxmJqawmuvvcYi1oNQqVRw7969rokXgRLabt26hePHj2NjY8OW8EqShMnJSZaQaTeOaJLg9/tx8uTJnnuRKtHRfR2JRBjZ4ic7kUiE9ZPH42ETOeprGquqquL06dPI5/Oo1Wo9bXa73Th58iRu3LiBQCDAotb8OXm9XnZ8O4s46iNJkrC7u4t33nmH5RvQfZZOp/HGG28AACPGpmGiUmgwF4cC5+hQSmtotwwAUTgQHXjtDgtTMAClCcVrYnoxhon5EFY3bqDSysGUmnC5uidgmbqIYDAI1e0auN9RE9asko9Hsc88ajwJucYYn36MSfEYjwWjzLyPYhvTHM1uLRod/nIZRuaj0Sj29vZGqnonCAKmpqZQq9VYpMPtdrPs9Z2dHXi9Xly8eLFreZTKLe/s7KBYLPZYTpGFW61WQ7VaZclb9OLgyQMt9+/s7AzsH4rGkHyCzoe2peViIjXT09NMD0qaZpJ3eL1efOMb34AgCJiZmUG1WmXbeTweFItFXLlyBadOnWIk1u5FpOv6UGu3d955B8FgELquIx6P90g1isUiNjY2GGlRVZVpk0lzTVXnhrkQNJtNJJNJeL1emKbJ5Ca8M0o2m0W1WmX7tsoHyA+ZSkVPTU31SHBqtRoqlQrTgQ+axAHAn/gTfwI3b97E+vo6G0OnT5/GuXPnEIvFcO/evZEs6ba2tgAAPp+vp92apuHevXvI5XKs7LS1Wp9pmkgmk2yf1op2PKnsV+qY1yWvrq5CURQ8++yzthaBW1tbrHDNzMxMz3ikiniFQgGTk5NotVrI5/Nd1SUVRWE5Aaqqwu/3s9LTsixDVVWmWwY6shKKclvHWavVws2bN9FoNJhjjmkCCtzwCT5Uky18/9+v4m60jmK6jlJag94+mlQ2KwQJ8EWciEz5mI+vP+pCTS9AF+vw+XxM0mEYBta++i7q6TKCPvuKl7yOuR8Ok7BGq2WPYp85LqYxxuPCmBSP8dgwysz7UbcZ1Xz9/v37uHXrFmq1GoLBICORiUQCpVKJRR+GkfBhMgyqeqcoCvL5fI+kgQhUIpFAMBiEJEm2VmJUpc3hcLCXNJ/8RlINSlIjn1la5qUEpGazyY7Vr39IS0puELzDAC3F07FVVWXFA9xuN6tKRtrotbU15HI5tlzKJx4S6c7lctjZ2cH8/Hxf3eDq6upQazfSEFO5Xz7KR9Fr0vdS5J6uB+lM7ZLm+oFe1OQ8YC3zTNeb2su320oO6f88Hk/XNjxGXdKVJImtTlj76+OPPx7p3Ei6QESYh6IoTKITCASYnp76j/T0lUqF6citOmd+UtNqtVgk0O5ePHv2LLun6dx4kDyJL6ph14+GYSCfz7McgOnp6Z4cgFqtBr/fz0pEd7x5H5ZppjbSagONfdKI17U6XJIP9YwErajDZSygmXbCqMsdazOz05cKgCaAzb3RrA2HwRQMeEIKdKWBhtSC6VNQdwooCm20UcNUwInnXlzE8sI0RJGuZ6RnP6VSiU0A+lW8pMp6g57Th01Y6/dMHxfTGONHjTEpHuMzjVG0bKVSCWtra6jVaszYnryEo9FoTyGQQSR8WDTZmtRjlQ+Iosgy1we1mbSjgUAAmqb1VKxSVZVpIWm5kgqcUOQLAPv7MPs7sh2zloum49Gx5+bmkM1meyrjRSIRaJrGIuGUmGitxkXnXqlUBuoGSbs8yNqNX1ovFos90UuXy8Us1vjldQJ9dpgkqEGg60vX2CpDoL/RtaGKZ7wWmJwHRrH3omXmarUKl8sFt9vNdNc00TtM0YF+/UAEl0hooVDoqYCoqiorWMNHW/mJnKIoCIVCWF9fHxgJXFtbY5M80hpbC9eQnp7kPHY2cmT/NygHoFwu49y5c7h8+TKSyWSPvt/j8eDc2XO4f2cHUVcIxVQNjQSAutKxNms6YJoCWui8TE0AR1bAWDRgKg3och2GXEdN1pGWJOxJTqw3RFTgQKtxQBxr/GpA5zz/8Y1rcEg3MBV0YT7sxk+ciuK//MIM4r6H/UBa92EVL0cZR0eRsDYupjHGjxpjUjzGZxqjaNlo+c7pdOLBgwe2hTAOE30YFMHL5/MsKaxfdbB6vQ6PxzOwzfSSBzpLk3bVqGj5k7yS+eVnStgju7lhx1IUhe3HSi6pfx0OBxRF6VsZT5Zl+Hw+JkWg4gPAw4Q9epnx0UI73WAkEhlq7UYEplAodBF5ipyTVKHRaDDyZi2mQtdnFJA/MPUnL1UxTZNVMKToPU8cZVlmEblgMAjDMJBKpVAul9k2qqoiHA7D5XLB6XQOnDREo1Gsrq4in8/DMAzmVU1jutlsYnV1FbOzs7h169bQc+OJvHXpm/yERVFkx+MnGO12m/lFB4NBxGIxJJNJaJrGzs3j8SAej0MURRZ17BcJLBaLADpRTPLOtt6vVLiFJr1WMuf3+9nEYpjONRqNIhyOoFkxYWjyQVKbC5KuQkl58f5aFaYeOvivwdraw0J2Sh0XhwNHh0BcRcMs4823v4V8u42tlhcFQ0G91YZq1BAyy5htl3FBKMOJNlqShDa6v5JmCBvmNPbMCJo6sJWtYStbww/WM/i119fwpaUY/qvn5vDl5Th7fg6qeNlut0cuXvGoCWvjYhpj/KgxJsVjfKYxipaNSG+hUGAPeIoq8ST1MNGHYbIPngzxnwFgmsZiscgi13wJ61KphPn5eRiGgUwmw2QRBKqmFwwGWQle0qnyiWZ0XuFwmFW+susf/liBQMBWMxmNRjE/P49kMtm3Mt7U1BSmpqZYhM4u2YokFIlEYmC00OfzwePxsGiTNerabDbh8/nYNbT2NVmHqarKNMX9dL7AQ0u2fiDScOfOHbY/kmyQ5/Di4uKBJnINTQPQJQ+agoyaLqJaB3RBwoR3ErtVB/YTKUAIQhQjUCRAEQxIjRYePCjj9LEgNlIlbK3eQKtuP2k4c+YMs/2iiRE/pkVRxM7ODn7qp36KJSv2gyzLzDnCrqCGYRiIxWIol8ssIdG6AkJR7rm5OaRSKZw/f95WC+zz+ZiDS78oME38tra22Of8uRUKBZw+fRoejweJRAJzc3O2ZeCt1o8wgVYNaFaARslEMa1DNoJ4850tNMqTUM2pnr45CtWvKegw5DoUr4mnV84iNOFmBNjtd0AAgGoaZnoNexu3sLvxMZ6q3MIk0lgQkvAJGvAJLJAbpoL75iQ2zClsmFN4xziLK8YZvHE7hTdupxD2OPBfPjONpz1hFAuD7+vDFK94lIS1cTGNMX7UGJPiMR4bRvGZHMXTc9A2vJYtlUr1JPd4PB6cOnUKW1tbaLVaXWVzZVmGJEksWkcRSV3Xsbq6ygj18vJyj/a037lRNapqtcpIAR91peXxhYUF3Lx5E6urqz0OBPF4nNlSvfHGG0in0z2RYq/Xi2eeeQbvvPPOwGsgiiKWlpZw+/ZtJJPJnoQkr9fbdax8Ps+WywVBYPZvFy9eRDgcRrlcxv7+fo+mlPqp3W4jHA4jk8kwXTO/L1mW4ff7kc1mB1YPzOVyeOaZZ/Duu+92Fb0gYk0evNeuXWP7tpa7pjFCEgW+wAlFikkDO4wU+3w+qKrKLNdarQYEsw3BbEE2W3CKLWQ+fgBHu4TFdhVOoQkXmlBx8F1oQoABc0+EAeHgS4RhiqjCiQpUVEwVFbhRvKbi69deR8oMoiKHUZNqaEleBN0y5kMB+Mpl1I2HUWKn08kmfORjTZ7Z7XYbly5dwltvvWVrJScIAl588UXMzMzg9ddfR7Va7YqCU5T32Wefxfe+9z3bffCfzc3NoVKpIJlMsn0pioJqtQq/388cXMh7u1gssnEUCASYjpjut3a73XUPWe/7UqmEVCrFyZWAdg1wwAulFEcl10DlbgO5Sgu6JgIm/2xR0RE8AMCjJW3JThGCs4VauwBdrsNUGjAdDRhSHbrQgCAKWF46jRdfVSBkbwOZOzBu30Z160PIhftw6WUIAGYOvnAEih6n0MKy8ADLeAAA+GX8R5RMFd8znsa39efw3erT+M0fNuGSRbw248YlPQWH1Pv85LXAozzTH2Wbw2qTnzRGObcnuZ8xjh5jUjzGY8EoPpOjeHqOsk0sFkM8Hu/ys6Vl1EuXLiES6SSY2L3QrbD64oqiiO985zvMF3fYuRHpzeVyyOfzPfsPhUKIx+MsUgb0WjzR50tLS3j99ddZ9jvwUBrgcrlw/PhxvPfeeyy6Y7WuoghzOBwGANy9e7fHcuqZZ55hCYY3btzA7du3e6KACwsLXR6rGxsbffdTKBQQCoVQr9eRyWR69hUMBpmDw6BoYblcxvLyMlKpFG7fvt2jcz5+/DhmZ2fx4YcfMlmG9fpS5JzkDl06XdMETAOKKEAUDTQNDUazhlZDg2m2oRgNKEYDktGCaBqoJQ3cumlAMgz4TROCaQKGAEDo8CpTQA1AzRTQ+dSEAECEBAEqRLggCoAMA7JgQoYBRTAhwoQs1qEINUQFA5OCAVk0IAkGFNGAzP2uCU4Ud3xICWFsIIqUGEVeDKEieuGTRUxIbTiEBnMlIW3yl7/8ZWxubuLBgwc943F2dhZf/vKXAQA3btywlVpMT08zOUK/YheU1EkWbnfv3u259mfOnMHx48exvr6Ojz76CM1GA2i3IRoGRMNAK51GWZJwYmEBRruNQLmMQi4HUTcgmQYE04QIIODzo10TkEhLEHZqKO9W0W47YcALwAtilCns0Qjtae8ngSSbEMQaDKEKU6pBVBrwhhU89dwSpucn8Pbly8jn0tBym/AYJfiNCkJmCVEhjwmpjOBHGQg3Hk68xIPWPkn4BQ1/UnoXf1J6F21TxBVjGf9O/zL+cGsFP9hx4qJjB3NiAZL08PnJW18Oe6YfxTaf1mIaR+Wd/KQ9mMc4HARzFKYwhi1KpRICgQCKxeJQy5ofJ/TzmSwWi3C73bh48SJyuRzeeOONHk/ParUKp9OJ1157DQDYNnaJNK+99hqWlpawtrY2cLsXXngBd+7cYfZg1m3ILmxqagpXr17t8cWlZJ0vfelLOHbs2MBzW1lZwX/8j/8Re3t7fftnenoaS0tLSCQStvIJWvr9+OOPu2yurIhEIggGg+y8rElbdF6BQADXr1/vcZIgGcBLL70EAHj77be7rNdIamC3Tb/9fOlLX8K/+3f/jhWVsC5/iqKI+fl5+Hw+iKKIYrGIcrnMJjw+n4/dS+FwGO+++y7TERLhJ53x+fPncf369e4Ir2nCMJpoGCXoehUw6hD0NtBsQGoZkFsGHE3A2RIgGZ+/yIwpitBFGbooQ5ZETM/Oot5sIVsowBREmKIIiBJMUYQpShBlGUtnz0KUFdxaXYNumpBMQDEMiLoOuaXDCRNz0ShSDx5AarYg6W3Iug6prUPW25Da7YOfdXgdDjQqFUi6DlHXIek6pIN9SYYBRRCAdhtCuw1xwKvHhIC6KwRNjaOmxqCpMdTUODQ1Bk2NwBTtE7EeFVJbg1tLQdXSULU03LWD71oKSqty+HiyYEIQTQgiLN9NCBL3swgIUudnkT6XOl/iwbaGBOiSgpbkgOlS4Q4E0WzVAFGHrAiQFEBEEy49A6egQTz4f2GEqPO+Gca/av8U/o3+ZQScEl71Z+BHDS6XC6+99hrC4fDQZzqAI9mGiOFRRaWPAqO800YhtEe1nzEOj1H52pgUPwLGpLgXpmnirbfe6qsJS6fTmJycxObmJjKZDPP0JBiGgUKhgGg0yrYnyytep6vrOiYmJvALv/AL+Lf/9t8inU6zBCZ+qZWslgKBAEvysUvcMQwDDx48QKVSYQlTvCaWrJueeuoppFKpvmQ2FovhrbfeGpi8RZIGKnJhRb1eR6FQwNra8IpVp0+fhqqqKBQKPSVzKUHv7t27aDQaXVZT1Nc0ASB5gZ2/LJ/sRhMEu/24XC78zb/5N/FP/+k/RbpYRcl0oWI6UTadKBtOlEwH6qYCSRLhcjrRbNQB04SCFnyCBp/QhFdqwi+2sBgPoJ7fh9ioIKDKcEs4WOEW0Go3katm0BQaqNXKMFotSHUTjgbgaoiQ9aNxkxijA9EwIZoGJMOEZJgQDQOSaR58fvCZ+fBLMDoRXdEwIeDgMxOAeRBBP/gOU0BbUdFSvNyXD03Fh5bigdnD5kzLz2b3zyb/uQnTdhsTotGG3K5CbmuQ2zXI7RqUg59FvdVFfIWD/Qr8zyYgorNaIJo4+N7bH5JhQDRNyHrnZ9no9OETn4pJAgTZhCTqEGUTgmxAlEyIcudLkEyIiglRMqHLIm6JC3hbPAeHx4Npl4ZAPI7Y3Cwy1SqCk5MwXS6YLhegKDAB9kwHHuq3+z33h20zNTWFV155ZSRi+6QirqO800Zp91HtZ4xPhlH52lg+McaRYhSfya2tLWSzWXg8HlsPWrfbzXS0FInkyRppHtPpND744APmi0t2YLyEgJbio9Eo6vV636QcKohBjg1WeYAsyyiXy9jY2EA4HO7rYnH79u2hbgaGYSCdTvctKOJwOGyXuu2QTqcRCoVs/0a+sWS5ZtfX9HcALAprBWmlAQzcT0Yz8bf/xbfwTnoWWcPN/u5HBefELfyEsIljYgIRoYRIq4SIWEJUKCIgWKqNGQASgGYIWDV8WM/7sN/0oFxXgZoLTk05ECV0VKFHtTw+hj0MUYABCe3H1s0GgNLBFzqeZkfma9YLHUAL6AwbCYAT6NBeT/9/OkJIeocgK7oBRdehtA3IBz87dAOOtg5HW4fz4LujrUPRjU9OpnUTpg60R7xPZpDGn8F3ez63PmVMQYDpdCLqdKKtyDAcTpzyeABVhel0wlRdMJ0dAu2QJVQNA4bTiYlwGHKlAuOAXJuqChzkJYzqAvQkq94dlXfy2IP5s4ExKR7jSDGKzySR0kHbUIU0WZaZNhR4aO3VbDbRaDSQz+e7fHF5SyneFzcejyOTySCTyTCrsEajwZI3nE4nizJTEhaByLlpmix5qJ+LhV05WTt0krVazJOY19RS/4wCKntMllik+cxms3C5XIhEIgO9ePmiF/0WjeyKMBAqhox7zSDuNv1IGx5g28QFIYE/L93AefE+zgmbmBfTQ8+jbEj4sB3EesuPtOZFq6bCVXVA5KiAOnQvY4zx6YcuidAlEY1DKEBEw4Sz1Yar3YazpcPVasPV0qE2W1CbbaitNhxt/YlGoQXThFCvQ6zXRyIS4SF/N5xO6A4Hkr/+G8iHgpA8XoheL0SfF5LXC9Hr6/zu9WJjdwdirYbpyUmYhgFTVSG6XIhFo0hbfOcfFUflnTz2YP5sYEyKxzhSjOIzyXvf9tuGdy2wm1VT1JgqvlHElteXSpLEPp+amkIoFMKVK1ewv7/flbT39NNPd/n88hXdADC/XJISAOjrYmGNEluXyAiBQACpVIrZq/ERZ6rQNUoBB0VRmCMCVWyjiYPH4+mq7mVHjEf16OW3F0URFUPGFW0Sd1pBAMAZYRt/Wf4GviJexqLYXwcNALoJ3G77cK0Zwp7mR7PqgVp76DmlHHx9WkA6XAgCTEFgP7MvCDAFQIAAwzxIsCM9LaetFQyj82V2+twUBBgCYAgCDEGEIeLg+3jpdIxuGKIAzalAc/a/M0TDgNpsw91swdNowd3ofPccEOdP+6gSGw2IjQaMchn17e2B2/oPvqwwRRExlwu6y4W70SgcwSBEnw+Sz3fw3QvR53/43e+D6PV1vvv9kLxeCBbSelTeyWMP5s8GxqR4jCPFKD6TCwsLME2TefBa9am1Wg2hUAi5XK4ngcxaIWtqaoplvtMyPoHIssvlQqvVwvr6OhwOBxYXF1lEtV6vY319HadPn+7RLvPtpupsZOFFyWxWqyiXywVN07r+1w7nzp3De++9xxINqXBGNpuF0+nEysoKvvWtbw3tb4fDgUKhwKy5+P4pFotwuVwsOs+3k/qaJge8XKQfJElCo23gWiuKa40JhFDC35C+hj8pvYOTYv/EwoYh4mozhI8aYeRqPkhllel+JTyZCLAJQJcVNCQXKpIbRdGHluSCKAuQJRFupwiH0IZHNiEpMkxRAkQJxsH/+nw+5lMMXYev3oCnUoZaLsNVKsFdqSDUbEHKZaFq9SGtGd5WQxCgi/Qldr4LYvfvooi2KHQij6KAtih2fdaSRDQlAW2p87khCBgp62qMzyQMUUTV5UDV5YB1bcYQTDSUFppKE7rUgik2IaIFWW/B31Tgr7sQbsqYbtQwUS9CaJsw2gLMtgijLXS+WgduK59iCIYBqVaDVKuhncthtPU2yz5UtUOi/T5IPj9ErxeLjQaqpglnOAzT7YapqjDcKgxVRbneQHx+Hp52G2azCcGm2BAw9mD+rGBMisf4RHgUn0neF7dQKMDtdrNtqGTrs88+ixs3bmB/fx+1Wq3nAUIFB0RR7LLk4iOffNT0zp07rFgEyROcTid8Ph8ymQzu3bvH/HXtnBxEUYTf74eqqqjX68hmsz2WU263m5WeLZfLffsuGAwim83C7/dD13VomgZN0yCKIsLhMCRJQj6fH+qdK8syq+bmdDqh6zprK1WjSqfTOHfuHG7cuMGkJHz/SJKEhYUFbGxsDLneQCV0Cr+/o8Bp1vEr8r/FX5C+DVXojWY3DRHXmkFcb0SQqfghl1WI5kGBjoFH+eSoSW5UFC9qsgd12Y26rKKpqGjIKqAocEoGPGIbHqEJr9DEFNrgFyBcLheT4OiCAEHX4S2V4CmV4auUEao3sOBy4vj9TTgKhYHOCY8KAYBkmpB080Bbq8MQBNRdLjRkJ3SXE4aqouVyoSYraLicaDidaDocaDqcaDodaDoccPr9+MpXvoI3vvNNlPPr8AgJBMRdBA0N1XYMlWYcjWYERisIoemH1HJDMACYLQAtmGYLMNsA2l0/w2zDNNsAdO7v+sHfjM7nbDoxxqcBoilAbTqgNrsJmy6ayHibWIu1kPM3kfOLKHl9mDMkfFHLYKWu4elGE27T7LgY6h2CfE86i63wz6Cuu+ARRSzNz8Os1bB5exXtShkqALnVhlmrQq9U4Wi14FMUGJUKmsUihEYD0ggrYT8KmJqGtqYBqRT7zIX+tQxJFnL34Lvgch2Qan/ne8AP6SAqPSfJQD6HuiTBGQpB9PvRVBSUdB3ecBhLp06Nk+x+xBiT4jEOjaPwmaQkCPIgrtVqkCQJsVgMKysrOH36NFKpFDKZDNP68kUXFEXB5OQknE4nkxuQNRmB5AgAWDWtfglypVIJoVAIqqpif3+/K2HP4XBgcnISqqqi0Wgw3bCVFFNRiWg0imq12tfPNRQKoVQqIR6P22qKG40GisUi4vE4dnd3+16HYDCIQqEAQRBQrVZ72kOyihMnTqBUKuHevXs9kevFxUUcP34c9+/f7xvVLhlO/LC1iMYDA78sfw1/UfojuIWHujfTBPZabvywHsNmNQSUPJCMTkTyExTi6gtTFGE4VZguN2SvH6bThaYgoSXJgCjBDcDd9R91yHJnPNhqtE0TrnodwWoVoWoVnkIBar4AX7kEd7XWQ3xNHHWRX6CpKKirKjTVhbpLhaaqaHjcaHm9KEsSGi4X6i4Xmg4HeBbv8XgwMTHBimRYG+pR/ZiLnkD+vgEluwBvYRai7oLWVtEwHz72uyYpj6hZMcQGWo4sGo40Go4M6o4Mao4M6koWulSGBBMKTMgwIRktOIx253cTkGFCNk3IhgBZMOE0TDhME07ThGKacMKEyzDhMg2opgnVNOGCAdUwoRoGykIQGUSQRhQpIYIMIlBCs4hNxLG3u4cK9RHrQgFerxczs7MAOpnpqWSyJ8E2Ho/D6XAgk05DcSioVato07MBJmRRgupywtB1/MTLLyOfzeLjmx+hXqvC0HWIpgmnImN+ehoTsRgqxQK2799Ho1ZFvVoB2i1A1zu2gcaT1QQDgGQIiJSciJS6p6sldwvrAT/eDjSQDzQw6arg2ZaGi1odzzYaWDJvYqG0hqvuL8H5yn+H2Usdy0bXwbth3/JuOGHnU5xMwqjV4NB1RFQVixMT8MsyjEoFeqUCo1w5+LkMo1KFUS7DqFaglyuopFIwq1XIjQaEAYGDHwXMeh3teh1I2+dS2KVXUy3FLIC8x/OQSPt8EAMBSD4fpID/gGj7Oz+z7z5IB9sIqjom1Y+IMSke41AYNes3FoshGo0O9JBcWlrCqVOnbKvVEUFTFIURX74yGhFOshOjAhfWB0Kj0YCqqmg2m0gmk30T5NxuN0vMeO6555BMJlm7JyYmkM/nMTExwSrjRSIRW/s3oEPA+2l1qZzyzMzMwIQLQRCQy+UGXgvy9+1XZYwi3vfu3cPu7m6PVto0Tezu7rLSznbYaIdwrTWJ/7P8B/gryuvwCp1+bhkirmlhvKfFUCoFoBxkDR2FQYEJQPL4YLjcUCMxSF4/WrIDbamTdKmqHcFFPp+H2GoBAxJTFEWBoetQqlUEiiX4i0UEikX4SyX4SiU4HuMLtSXLqHo8qHncqLk9qHvcaAeCqDgdKDsc0FQVbZsx4HA4mMtKP7TbbQR9EeR2NQQRhaFJEJpOiG0XxLYLgiEjcx/IIAUgfGQRelmoIyDtIyAlEJT3EZD2Dr7vwy3mu6LvMADUD76OCG1ISAkxFNyLWG8EsKNHkZIi0IXeV5lSr2PGpaKp6xDl3r83DxJdo9EoRFHE8ePHkUgk2H0/OTnJnG1SmQwarTZExQGX8+HUyDAMNAUBgqRA8PrRKFcxtXS2R+7l9HiwdPEiotEos+UKh8PI5XLseKFgEJnEPsJ+H6aiEdy89iG0UglGQ0Nbq8Goa9C1GoxGHXrjCDvVBv6aAn9NwbH9jiOHARMZbwu/FWzg/x2sI66W8bxQwov1NxH+9nVstf8+Fl75MyM990fZZhj495Df7YbTMKCXSqhlMnADWJ6bh1mtYPPjj6GXylBNE3KzCVSr0MtlKM0m3ACEWg16uQx8ioi1Ua3CqFbRxv7h/1lRIPERan+gO1pNJNofONBRByAF/ExzLUhjJ58xKR5jZJimidXVVSZDoIeY0+lELBZjEQAil1TBbBComIMVxWIRmqZhfn6+x1vY6/XC7/dD0zRWRYt3iOBBn9frdRiGMbDM80svvYQPPvgA6+vrjNRqmoZSqYRYLIbZ2Vns7e1BVVVomgan0wlFUZgEQlVVpg0bBErIK5VKKBaLtpHrRqPRpU22wyhZyrqu486dO2i1WiyJj0D67Tt37vT8X9sUcLk1j3lzG3/o/N8wI2RRayv4z9oUPqrG0Cj6WDT4UZPiDKcKw+2FqXoBjxe6U4Xs6PStdKC3tpK6er3OouF8lTVHo4FAsYhAoYBgsYhQqQxvLgdlRDePQ7Xb5YIei0IPR1BxuyFOTeJuqYSCoqDq8aDFEV4ac0R4ByVR8oRYMCSIugtSW+186Q+/b28qkHHyyM9Lh4mmpMEpZTAhbeG4vIYpeRMBeR8eMYcnFYiqwYmkMIm8PIGMPImkOImEHoIOEZIgoWbUBkpcW60WHjx4MDDJNJ/P4+WXX0apVEIul0M0GmVSrlwux8oK3717F81mEy6Xq+ceqtfrcDgcSKfTqNVqiMfjth60q6ureOWVV5i8LJfLdcnL8oUCfOEIvrCygrW1NcjxaRw/97TtviZiMTTKRTy4u452rYJ6qQhDqwF1DWa9BrN5tA4GIgSEKg6EKg5gxwcghl1Fx68HG6gG6pj53t/Fi4nfxys/97/C44kNfe6P8m4YhJ7VyHYbsseD6MIClpeXWnxrYQABAABJREFUH04+XC7EYjFoAzyBAcBsNKCXSp1odLkMvVw++L0Cvcx9L5Uffi+V2M/mp8UxotWCns1Cz2YP/7+CANHrheQ/iEgffIn+AxLNE2o+Qn2wvdhHS/1Zw5gUjzEynqTPIkkKqGqbVWJgmiay2SwajQbTgtolyAEPC04Mq1Nj/X/r+bVaLciyjNnZWWSzWRSLRZaoFggEEIlEsLW11fU/VkkD/V6pVJBKpdj58JFr0lkfFWq1Ws/LHOhMSBwOR8/ye8Fw4VYziL8l/2u8bFzH26UJ/PvyAoyyG8IBC/nE8QRRAnwBtJwqpEAIUiAMSZI7BR4OJlJURdDr9bKSxT1kvlpFpNWCsrODYD4PNZGEP5eDe8hE4rCou5woe32o+H2QpmfgPn4MwtQU9FgMpsfDJA31eh3pdBq7Dx481G5b5Rece0nX2DBFSO0D4qu7IbVVuNsuSLoK0Xg8LxoTBnS5Dl3SoMsaXH4RsRk/anoRtWYRsq4jaai4YS4j0foCtFIaJ/VtXDA3cEG4j2NCAlNCFrJwOPcSO2RNH3bNGLIIoSz4URN8yClTQHAezVb7oZQJAhSXAo/D0VVCfdB9Vq1WWWVKO3kRRSsHyb1kWWbJuvQM4hNaKW+BSpwPezYOk5cpijL0OZtIpTrPPtULw+mGZ3Kuq0qnYOjwyCLOnzyBZqmA3O4OsjvbyO3tQD+iqKirJWEu7QbSbgBhXL+ZwXfe+AVI016c+MLL+PLFn8fx+OkjOZYdBkWcC4XCod5VgssF0eUC4vFP1BbjwDVDL5VhlIocqT74rFyCXix1EWqjVDog1mXgMUzaDw3TZJMCDJDt9YPgcnWINEk77H7mI9P0czDY6ftPCcakeIyR8SR9Fq32NS7LTUPV1yqVCnsx2bkrUKIceR3TS5J/qTmdTrjdbhYhXl5eti3wsb29DUmSUKlUeiK81GZeNmFnJ0cvZooEWok6/T6KG8SooMREO1D5ZMLddghLzY/x3zXewWoljI/LF9nfPlGAUJKghKKQghEY3gCUYBi6YUDL56GoKkSb5Trqz8XFRWxubqKYyyFUrSKQycKTTMCTTMGfy0E+opd7W5JQ9vlQDgRQ9nk7P/v8qPi8aDkcrD2xWAynT5+2jTpStI/6sue6GoDUVqE0PRBbB4S3rUJquyDqjyn9UDAhqQY0vQBdrsOQ69BlDYZchyE1AOGhJZ8zFIJ3MohG1gBaHa4/6WjilK+OSMSDzc067qdVvGus4BvmH0NRd0EzJXjMKmaEDGaFNGaEDDxCAwraUNCGjDYcgg4JOiqmijx80OBCEw60BAcMwQFDdMEpPpRLM1tEU8KEwwnV7elyeSGHmK7THHCf0b1Pkht+4ttut9FoNFAulzE/P9+XYCWTSTbJ1zSt6/iCIMDn80FVVbRarZGfjYMIHcm8Bu2r0WigUCiwfArr6le1WkUNEmYufIFVkgMAw9BRTCaQ2dlGdnsLD+6s4sHaLZjaaP7qgyAZAibyLiDfRvHj7+F3v/pdVCIiQqeP4bkXfgoXn/spOJxHS376RZyftCew6HRCdDoh9ynINAimacLUtA6RLhY7RLpY6hDpUhl6qfgwMk1kuvzwc6NSOZJzeFSQlrrNJSiOAv8f/+OY+cf/6DG16vAYk+IxRsaT9Fkc1b6GtMa0LM2TSSK/9HB0u91IpVJMvkByhUgkwkpAB4PBvpGFSqWCZrOJzc1Ndkxauq9Wq9jc3EQ0Gu2KYvUD2cmRNKTRaEAURfh8Pvj9/qF6Ymv7qF/sPuP7wI5gCIIAvdVGuZjF07UfAGUnPkavpGXExsAZicE9NQvDG4QmyjBME6YkwX9wbuVyGeVyucsNg5EV04QrncZkJoPThSIWbt0CtrYgHUEkpaUoKAcDKAWCKAeDKAX8KHq9qHDk3CrB4YvGOByOgWMfpgA0HVCavocyhwOpg6g7WZT9aGHCdLQgOFsQXC3A0YQhaxBVHcG4B+fPn8Pv/d479qsgHG9XVRUPHjyArussiioIAsrlMmq1GmRZgl9swC82cBI5Nqk0IaBqyKiacVw3ZyHKCmRRgCiYUCQRkgCIMOA26/CJTZh6u1OWG7TaQJOI7qY5nU5omgafz9c1oTNNE5qmwev1Mg0//ze7exfoLTrD/w+/rR3Bcjqd8Hg88Hg8KJVKTMsvSRK7X0kOM6ggj/XZOOh49Jztty9BEJjrDPDQfpLua1mW2SoanScj4KoHJ5+/hFMvvIjp7W3sff3rcMoypKYGvVREu5RHu5iHXin1XphDQDQF+DMm9MwGrrz9z/CO+BsQZoI48dRzuHjp5zB18jRE8fFoWD9LnsCCIEBwuyG63VAmJg79/2a73UlILJUeRqpLJRtifRCt7iLWpR95lFoM9C+5/KPAmBSPMTKepM/iKNZuy8vLKBQKzJuYZBV80Y9GowFJkuB2u7G/v492u81ekKIootFoYH9/H4uLi2i3O0u1iUSiR+cbiUTQbrdRKBSYlRlVz6MXEREKame/ZDtFUeD3+xEIBPpKQ3ocBQb0E/U/D96Ozul0olarsWRERh4MA2I1D7OagCdXgd8U8In8FRxOCMEIZs49hT/5X/9FvH/9OjY3NzuEu1oFDiYqhmGgUqlgcXGRJT6a2SxC6TTCmQxC2RxCuRyUgwhwG59MpqGLIkp+P0qhEMz5eaRUF5IOBzS3u8vBgeD1etFqtWyjRjSenE4njh8/jmQyhaAnilZFQLMMNMommmVAK0jQ6wsImoufoMWDYcKEITVgyHW0pRp0qUN6w5Me5CpJKA65p7x5q9WCT3fi7Nmz+P73v99jIcgjHA7D6XQin8/DMIyefZFVIG8RSPsSYMIrtuBFC7MHEdlqtQr1IAueTzbTtCY8noeR336QJAlnzpzBvXv3UK1W4XK52P1Vr9dhmiZOnTqFjY2NnqRWa4Ecvnqm9dlAn4fDHVMtwzBsk375597s7CybHDscDni9XmSzWUxPT8M0TWxtbfUtyLO4uDjSs5GOt7m5yfIVaF+qqkKSJESjUZTLZWbnaL1mQCcaSlrnfm5BDocDiqKgbRhwBMIQfEGIU3NwiSIE00A1lYRZKUKoVdDKZ4BHSPCTDAF4UMT9B/8Z9//gP8N0yYgvn8ZTz7+KY08/i0B8cvhORsSPkyewIMuQgkFIn0CyyKLUfBSa/5kkH8WS7TbmEcjVJP+n6xqMSfEYI2NUonpUljCjWLvJsgyv18teVPQS55OZKLmOvIzpZaHrOprNJnRdR6vVgq7rLDHHqvOt1WpwOBzQNA2BQICVaaYXEUUmqtUqFhYWsL6+3ve8lpaWWPW9ftIQIt6DZBSyLMPtdnd5Ilv1lcFgEPF4HLdu3Xq4NF2vQS/uwFksQmFBgsNdM8HjgxiJQwzHIfk7x3j11Vfh9vsRj8dx48YNNBoNuN1uuN1uNJtNFDMZRIpFxPf3Ebx5E62bH8M9Ylnsfmi63cgF/MgHQygEgyiGgij7fDAPJixTU1OYmZnB1tWrtlEvQRBw9uxZrK6uPiTFJiAYSldim0vwY+sNCdVcBBnjYKMuPHrEy5CaMJQ6XH4BvqgL24m7aIs16LIGCN2ltp977rlORcSyDk1rscqGhmEwz2sau4uLi8gOSLyZnp5mLghWgkkrGJSoWSwW++7H7XbD6/Wycud85UmS8IRCIcTjcdy9e7fvfpaWlnDx4kXU63WkUik2maNzn5ycxAsvvACXy4W33nrLluwLgoBTp04hnU4jkUigUqn0ECNFURCLxaCqKtbW1pg9JF/tcmVlBUtLS1heXkYikcDa2lpXH4miiFgshuXlZeRyOXz00Ud9C/JYE/D6QRCEnnuIHHRyuRyczs5kJ5lMslUvRVEgyzIj0RSFrlaruH37dl+3oLNnzyIUCiGbzfZMMERRhMsfROz4SSwvL+Ptt99GvVKGs1kHKkW08hnopSKr0HhYCPU20tdu4TvXbgEA3LEIlp57Cce+8Dxmz56H4vjkUdwn/a76rKIrSj15+EmJ2WwygsxLPzraaYpM28g/DvTWACD5fUd9Wo+EMSke41AYhageBv2iM/zxBtn3BINBnDx5Erdu3WIJWlY/49nZWezv78PlckEQBBY9oiiOaZrsZcOTXooyu1wuFItFZgenqipUVWV6ZiLmAFAoFOB0OhGJRFjkjUAexdRHiUQCkUgEiUQC9XodLpcLk5OT7KFNBTl4rSrwcClfkiRWTISWT2k7URRZu6rVKhRBgJ7fBwp7UGufQK8sCJhZOovpc0+hrnqRLJRYtGx+fh5nz55FLBaDaZpIpVLw+/0w83kIN28imEggnEojmM1C1HWY+GSlnDWfF+V4HNrUNLIBPyqxGIoHhI0if8xbWlFgGAZLWiSS2HVKhgzF8CBxW4ORiMDXnIbUViHqLohm76OxUmnhUSt6GWITTr8AQ66jgQoaKEMXazAdTageJ/x+P06fPo1XXnkFb76p4MqVK9AbD689VTs8e/Ysvva1r8HlcsEwDDaREgSBJVVqmoZqtTpwggYAGxsbfa39gIdL78NKgtfrdYTDYbjdblQqFbZPkmO43W5GNgOBgC3BDgQCmJycRDQaxRe/+EV8/PHHWF9fZ/fH6dOncfbsWUQiEezu7jIdv110O5vNYmJigkVIrV7nsixjcnISiUQC3/nOd1Cv16EoCosqp1IpvPHGGwA60XQi+K1Wi0VuyT6RH/etVgvlchnVahWSJCEYDEJRFKRSKZw+fXooEeP3RVFnmuiQ1KtSqbAVKpL10DPN5XIxYr+zs4NarYZIJIJKpYJSqQSHw4FIJIJsNovd3V0Eg0Hs7+93ufjQhKbVaiEUCuGZZ56B2+3G5cuXkc1m0XZ5IE/OIxYM4vTMFG6t7+DG1Q8wre1BNj/ZcnwtncWHr38DH77+DYiKgvlzT+HYM8/h+BdeQHByyvZ/umQhlnfDUb+rxuiF4HBAjkY/mZZa1zvEWH5U/6KjxZgUj3FoHIXPJICh0RnCIPse8hXOZrPY29vrevFJkoSJiQnMzc3h/v37TI9nBZFhepkmEomeF6jH42F/LxQKqNVqXSSLiKwgCKjVaohGo6xCn1WGkc1m8fTTT+P27ds9kaeNjQ3E43G8+OKL2NnZYVFsKymmtlASkV0FPZfLBS2VQOb+dThyRTg+QUBHd/swde4p/Klf+m/gDUeQTqdx+/ZtOGqd6B1PCprb28h8/weQX/8mzt27BzVfOPwBD1D3eFCIxVCKx5H0epENBtA80P9JkgSv14tGo4HWwYTBGuGkstbNehs76xnIjTAcBwlupPUVzc7DuJYGXAh+4rZaYQgt6HLH1aHj7nCQ4CZpgGTgtddew8ZGGuX9fbQOZDaiILKkT4pgXbhwAaIodpHCU6dO4dy5c2zJHOisLPCkEHhYoe/OnTuoDEnEqXHR+n5ODo1GY+j93W63kc1mGWnkkw6JuBMpm5iYgGmaqFQqrN1er5eR2GKxiPv37+P69euoVCrsHqrVaswSMZfLscg0L41wOBxwOp3I5XJs0mDXHvrsypUrrNiOpmlsPxR5vXz5MhYXF1EsFtFqtZi9I8mnisUirl+/jnK5DEVRWDEiPgk3Ho+P7MxDLj+DivskEgl2nelYdF6tVovZQyYSCZimiZs3b3adm6qqiMfjSKfTEMXO2OMj8gDYfgjhcBgLCwsssEAT4pNnz+LFn/5ZXHtQwF//7StAdgd/qvGfcbJ+H3uaDy3j8DTDaLWwee19bF57H2/+1j9HaHoWx599Ace/8AJmls9CkuWhRaSAo3tXjXH0ECTpE0k+HjfGpHiMT4RBRHUUrK2t4Y033mBLjbSsl06nWXSGJ8bD4HA44Ha7e6JTlIBHelbgYQIekSciylStjs8up/+t1Wrw+XwQBIH5EPPLw7quo1wuIxAIMJ2yrussakek4MGDB4hGo7h161Zn+dsSfTMMA6lUCul0Gk6nE6lUqieCR4l94XC4i7CwCLvehphLQtvYg1FrH1olrLvcaAejaPtCMBUH7tda+O7b7+DixYvMMD8YCEDNZiF9dBPi7/z/kNzeRvagX4KHPF5TUZCLRDpf4TBykTB0fyf5gvn1CgJErq+LxSKTC3ScHdyQLH6+YluFZDyeRBpDaHfcHKQaI71TCxFsJdZhigMiZWZnnGWzWVt7r2w2y5Isqa/n5+fZ/ZFKpVCpVHDixAkYhsEmQ6SrB8DGNCU1DovwdjWvjxuK3d+sIM0v3U/8/UGEk0gklSdXVZXdH/V6nd0f77//Pq5evcocHWibcrmMN998E2fOnGEE1TrRpXtYEARWjINpoDk5R71ex8bGBqrVKluN4fuRViASiQQ0TUOhUGBSBZI2aZrGSLJpmuy8+DbXajV2XrxuvV+Uk3dOoMg/D5IBUPu67v2DcyTJS61WQ6lU6tumYDDIXDjsQM+sjY0NJsOIx+NsPJKE4+LFi3hmLob/9H/7Sfz1f/U+fuPBBE4FdvAP5V9HvJnBg2oQ29UgdjU/dNM+6XEQ8ns7eH9vB+///tfhUN2YWj6HhtsHMRxDOBbvkYVQESnqj0e1CB3jxweCOexJN0ZflEoltgzo93+6Mig/zTAMA1/96leRTqcRDAZ7bNQKhQJisRh+8Rd/sW/WOME0TVYhipYIrUkwwWAQ169fR6vV6mu+L0nSwIiYaZoseYgia1aNIgAmx2i32yMdi/bDJyQBDzPeiSDZHSsYDLKXo8vlglkto5m6DymbgXRIhYQsm9ACk2iF4hBUT1ebTdOEJIr4yRMn0PzgA4T39uFcvwOxfHgrIBNAMRBANhpBLhJFNhZFNRhkCXB8RI8giiIECBB1J8S2CrHl6tiatVVIugui7noszg4mdEZ4dUmDoXQS3Qy5DkHWmZKCX1UY5XEaj8eZTIcIIx91jEajWFhYQDKZtE0SSqfTCAQCuH79OiOaPW0/GK9PPfUULl++fGR9MiqIrPHt4eUdg+4PcnWp1Wpd1S1pv4ZhwO129y2lTiCCaxgGS4ylNpBUgH4mKYK1PTTJJgcM1VJGl9ww6PrxE2G78/qlX/olhMPhgVFORVHw5ptvMgmVFfV6HYVCgWmAPR5PT3VNklfQBKFfmyhKbBhG1wSNn6jJsoynn34a1Wq173ikQhiCIKDR1vH3/+A2/uU7W5DRxv9F+k/4v8pfhyLoaBkidmt+bFZD2K4GkW54Bw+kYRAEeKdmEFw8icDiCTj9wZ72jDEGMDpfG0eKx3ji2NnZQS6Xg8fjsS0o4Xa7kcvlsLOzY1vtjgctNSqKwvRz1upw+XyeJdb1M9+XZZmRXdM0e14gwMMqaoqi2BYDIBskilLT//LL2hTBIekFkQfri4ZfMqXoKIHssqrVKmCaEMs51O9vw1nScJhSD4rYxpyvjNv+p1D2TEAQha5ImadcRiyRRGx/H/FkEq5P4OnZkmXkImFkojFkYlHkIhG0uMpHrJ9NEzAB0XBCbDoh8pZmB+RXwOEjTMNgwoAu1WEwucMBCZZrMMSmrYSY7yM6h0GaXCvI+s+qc6Yxm81mWbIVAKYZp+Vzv9+PVCrFNKR2xJDIzmGs/Y4KdE2tbg9EQFutVk/JceBhhJOSX4HO/cNvR/cT3eeDQPuwkl1qI39fWaOttA2RTd7+jL+n6b4nm7RB59Vut5md2+XLl5mzBkk89vb2UCwWsbKywpwTSIbFe6aXSiWEQiEWlaY2EGgcUruJsPdrE0nX6PxpWz7ivLe3x57FduORl4Y4ZQn/08+fx/OLYfzff/cG/knz/4T/bDyDf6T8BpbEHSx6C1j0FgAA1baC+7UYbppPYy/bhNnoX+nRFqaJyt4OKns72Hn7u3CFwvDOHcNOKY/CuXMIHTiLjDHGqBiT4jGeOCgJZ5Cxeq1WG6qFBDrLe9VqFdVqlWkyedeIer3OEs6I+FrN9ymhhY5n9wKhFzyvM7YSWXqB0ovRrkyztViGlRDTvoDOS50mDtZIkNFsoL5/H1IuAaV5OLHwtFrE+WASq+7T+J78FYSkFgQAzkYDk8kU4okE4okEPCPawvFoezxIhEJIx2PIxGIoBIMwLWRDMOTessUHPwvm0fuWkqUZVW97qPXVYEj1Q+XO9Ys8jRolBh6SKtKo8gliFEWlFYB+9oDkFDEoOQ7ASJ7Z/c7lMOdkd458W/iJJpFHqhDJT1BJEkNkmP6Xb5t1/8NA5NdK0vn9Wiev9H/UDl7iYU2e5Se8g85LEARUKhVsb2+zJNxcLtd1bZvNJtbW1rC0tIREIoHV1VVbt4uFhQWk02n27LMrSMRHsQf1NU0M7M6f+pzGpN14DIfDthKM/+LpaZyd8uG//dcf4GbqOP6L5v+Mvyn/Lv4b6fchHbipeOQWzvv3cB57yM0u47uOPwGvN47N1Q9R2tw59PpPPZ9DPZ8D8D7+7eXv4/TFl3Dy+UuYO/8UpE9ZQtcYn06MSfEYTxxer5e9PPoZq1My1TA4HA4mmSDNL/CwslO5XGbloskRgjR2kiTB7/cjGAwimUwCePiSsxJgPpmLX07lXyREtkkeQX8n0H7pZUSf8bAjyF0kvKGhmdiAmE5BPQQXVqUWzgWSOB9MQHc48T+3/wJUOLGceoCJRAITiQRClmIIo0DzeJCZmEB2chLCubMInj2Ly1eusNLFSsPdTXy5BLejhiE2uwgvn+iGIeWIRyWAw0joqCA3E55UNZtN5ngCgNkDyrLMCCXZA9IYG9QemqCNAr6YCz92+Sgk6buHoR9hpc+pkI7V1tDhcLBJozW5lD+vw4KOy/c1HyGmlR+evBKRpr8DYH3DR5RppYnyF5xOJ/M7t54XHZPcduysH0VRxM7ODmZmZrraYY24K4oCj8cDSZKQTCZRLBa7EhbJV50SiPu1ie8LPjHQ2m/kZNHPrjIYDNo+y0/GffiPv/wy/l9fv4mvfbiLX2v/Ar6tP4f/VfkNHBcTXduGy6v4eeEemmf+e/z0X/z/oFatYv2Dd/He299C/vZdiIec/GulIq5/+5u4/u1vwqG6cfzZF3Bq5UUsPvMcHC51+A7G+LHEmBSP8cQxOzvLdHWU/EGgJJBYLIbZ2dmR9zlIOyZJEkKhEFKpVJe0gY/eUHY4H43lo2XWiFE/gkAvR8qSt2pGNU2DqqrsBdvvRSQIAnPLaLVaQKUEI7sJV6EM5RDxk2m1iGdC+zjly0ASTLyefx437x7Hz6d/iHg6DfmQ5aRrbjfyM9PIz8wgOzWDuisMNBxoVUW4Mn4I14MIpV6ApD+eWvaG0IYud7x7BWcLDVQ6UgepDlO0P5fONey/TyJ+g0gfL2MZRB5IItAPoiiyYipWIk6/O51OKIqCfD4PSZJQq9W6CKqu60yPTP9np981TfOg4Eiy/8kfIBAIMPcB3tpOlmXIsoxYLIbd3d0uMmmNJrPExwGdTbIQ0vpbV0AKhQJCoVDXKotd9NLap/Q3aySZL6pj19cOhwNTU1NIJpPQdb2LgNLEemJiAvl8niU18itN9JxQVRXhcBiZTKbvecViMYRCIRYl7leeOZ/PY3V1FZqmwePxsJU1SZLg8XigaRp2d3fhcrmYMwl/bpS8d+HCBZimObBN8Xgc+XyeEXJrVFrXdfh8PjidTnbNqL9pslYoFOD1evvqNN0OGf/ozz6NF09E8Hd+7wY+aJ/GH2/+A/yK/O/xS/LrXdtKZgvqW/8A2PgW3D//v+PpV38GT7/6M9Dbbdy5+R6+/72vI/PxKlzFwxHkplbD6g+/h9Uffg+y4sD8U8/g1MpLOPHcClTfOB9ojIcYk+IxetAvK/qoIIoiVlZW8MYbbzAfWcqortVqzIt1WJId0ImukRdvtVrteVlTwlowGMTdu3eZ2wVFqngz/O3tbab5s5M4UGSGojL0N/5nn8/HjPbtqtI5HA4EAgE4HA7kcrmuiBR/zGg0Co/Hgwc3P4SZ3YZaJa3d8OugiG2c9afwdGgfYVFDNeHE1moM2YQPi9oeFrE3dB8EzenE/vQJaCefQcoVQ0PwsWQ3Yd/JCDrFfjN5DdInqYrHwRR0CM4WTEcTml7oyByUOgy5DkNowTwonBGNRuGWJCST/WUeExMT0HV9YEW3UCjEHC36wefzYXZ2Fjdv3rS9ZoIg4MyZM8jn80gmk10TIX5SFYlEAADVarWHYAIPSTPpzlutVhfpI107aVh5AmwF052PgImJCVZBjXcpoOjpuXPnEIvF8MEHH3StovDnf+LECTx48MBWNkRwuVw4ceIEKpVK33t/cXGR2SLSeQ8CH0Xlt6eoKZFK6/Ug398LFy6gUqmwQiV8Mp7T6cSFCxfw/vvvd5FTPopLZPXChQt4++23mVc5rYbRc3RlZYVFbMkz3Xq9ZFmGpmnY399nVTH5in7VapVFk6vVKutrXhJCsolkMokXX3xx4HP20qVLKBaLePPNN5nEgo5FDhhPP/009vf3mRUeHyluNBpQVRWyLDOtvB0EQcCfeX4OyyEB/8PvXMNqwYn/qf0X8S39BfxD5TcwL6a7/2HvA+Cf/STwxV8BXv6bkGQHzjzzIs488yIA4AdXvoXX/+ir0HeTiORkiIcIFLRbTWy8fwUb71+BIIqYO/cUTq28hFMrL8ITDA0da2N7t883xqR4jC6M4v14FCC7NfIppiXhWCzW41M86EFEpFfXdeTz+a7iHQ6HA5OTk6wS1yBjfapER0VAeJDkYXp6Gvl8Hi6Xq8sbFeg89OlFRy8Wu5e5JElwOp2YmZnBvXv3WLIMH20L+P2ISTru/+AbUMujl1UNKBq+ENrDKWTRTCqofKwikw0AZqevfOhPVlqyCk2No+ydQia6iJJvGk1nFIC3o/NtAWjhUIl8AyGYEJ1tNIQK2mL1IMGtBlHVMb0QB9Cxt0KjgXaj0ZNoSEUbQqEQms2mrXaWqqd5vV6Yptm3mMrx48dx8+bNgUlrjUYDL774IhwOBz788MOuiKgoivjCF76Ar3zlK3jrrbe6xiLB4XAgFAqxaodEvqxjiIpuEBm2lgun4gxE4ARBsK16KEnSyNIJoCONCAQCtu0mm8GvfOUrAND3/I8fP479/X243e4u72MCX7zjtdde63vv03OHXBHsrgeduzXhFUDX/R8KheDz+ZiHOb+P6elp+P1+zMzM4IUXXsA777zT5Yns9XrxwgsvYHp6Gu+++y6b7FplCFQ8Y2pqCi+88ALefvttNgmjnIUXXniB6YTJPoyuNZ0vrSCRewQVPLFuU6vVkMlkmDWkNVJOhH5vbw/RaHRgX/PP2XfffZcVJBJFEX6/H5cuXWL65bm5OWSzWdRqNTb+SKqhaRrTFA96Xl84MYt/+UsO/Pq3P8K/+VjDZeMMfqb5a/jv5d/BX5Feh8hVboTRAt78+8DNrwF/8n8D5i+xP/3Eys9g+dizuHX7Ft7bfhv3H7wPMZHHdNoJRR89Idc0DGx/dA3bH13Dd37z1zF9+gxOX3wJpy6+BH803rXtk3o3jvGjxZgUj8GQTqeZN6pdSVDe+/EosLS0hFOnTg2saDfsQUS162lpl48YUdY0VZ8bZqwvimKXrzGv53U4HF1+oXbLsUDnBZXP521JAdDxUM1ms3jxxRe7kgHb7TYkQUAjcR+lD69iu9YeuXDwvJrHMtIIp+qo3XRhtx6x3U4XFWhqFDU1jpo7Dk2dQNUdR80zgbbcq98WBgfoRoIu1h/qe2UNorMNwdVCbCYIEwaKBz6yBKfihGHoLBLlcDh6qpFJksTGZrVaZRUEybWAJCyKoqBWq+Hs2bMsKYmvRqYoCkKhEEKhUFfikRUU8cvlcojH4/D5fCiVSqw9Pp+PlfBdXl7G+vq6rf+0w+HA9PQ0rl+/zqoRWpe0m80ms8qy844leZHT6WSk0LbfDyK+oVCIEcx+oGV76h8e1Mc7OzsoFosDz9/r9TKvYjtQARKv14v5+fm+9/729vZAOYtpdko0k7NMv+I20WgUgiCgXC53TULoni6Xy6z63tbWFiOh/Djb2tpikXt+ksFHB2l8pFIpvPfee10rDkQQ33vvPRw7dgwulwuhUAg7Ozs9pbfz+TxLXKO8B5o088eiVS4a69QuXj5Ckd61tTW89NJLQ5+zKysreO6557C6uopSqQS/34/l5WVIkoRCoQBZlqEoCubn522LidDPoxDHeDyOv/Nffxn/1VYSf+cP7uD9B8Cvtv8C/kC/iH+o/DOcEPe7L3j6NvCbPwM8+5eA1/4u4O44SsRiMfxk9CfxdPHpTgEbsYUfJn+A7/7w6zDWk5hLuqE2D5G4a5rYW7uFvbVb+O6//D8wefI0Tl98GacuvoyWKD3Rd+MYPzqMSfEYADoP1NXVVabn5SOxsViMPezoRXNUEEWxr+0aT9KdTifLqOYfRJFIBMlkkr30rRnW7XYb6XQaLpcLuVyOPahJI1qtVpmJvcPhYBWceO0olXouFAqMtFijU5SZrijKUNeMcrmMUCjESpCm9veRXPsA5fVbkBvGSGRYhIETyOFYpgB5H4AhoQQPTAiou8KM+NbcE6ipcWjuOOrOECA8BlszsQ1d1uDwAceWZ/Dx+odoooyWWIMpPHyhExlRZAXNlsqqbfEv52aziQcPHjA9OZEvfhsqaet2u5kLg8/nY9ZWdM3K5TK7xuTpyjueGIaBbDaLeDzelYVvBRGiu3fvYnV1lSWIUmS5UqngzTffZNuTPpVvs67rSCaT2NnZYX3BJ7EBD5f9TdPsW0yB0Gg0+rq38Pt78cUX8eGHH7K+sIJWOEqlku1EzjQ7Vef29va6Cmq4XC5Gtun8v/jFL7JJhx1Iiz89PQ2g/70/MzPD+qXf5FOWZczPz3fJnfhIqSzLmJmZwdbWFtMC831NxXZcLhfW1tawt7cHWZbh8/m6pAF7e3td19m6H7JZ83q9+MEPfoBMJmN77plMBr/3e7+Hv/pX/yorEmQHSlojqQSdMy/XoMp51IfUJ/xzmfTANEEZ9JwlkEzGikAgwCziYrFYV3DANE2USiVMTU2h2WziypUrIxFHQRBwbnESv/PfTuB33n+AX3t9DR9UO1rjvyF/DX9d+gZzqGD44LeB1T8AfvYfABf+DHDQL7xk48/FfgF/7vwvYKOwga+vfx0/fO8PEdhuYSGhwqcdLsE3cfcOEnfv4Ptf/f/CHZuAEp/GzIUvsITCx/1uHONHgzEpHgPAQ79fO40ULQGOWqb0KEAkPZ/PM00oER5VVdFoNLC6uoq5uTkWyaBlQ3qJKorCHtq8rpCPQNHv+XyeJcbxtmmiKEKWZRiGgVKp1JdcUJupbO0gGIaBzc1NXDh3Fs39dWz8wX+CWG+PdDM6zDYWiwVMJE3ozhhS6lnUFuPQWPQ3BkN8DO4OoglJ1VE3i53iFa4W4Oy4PbSMzot3fnkZz//EIj548EecH7TUpT+liUqxWOyrGTVNE7lcjkUAiQxYQeSMImrWBDHCtWvX0G63MTExYZtstLGx0ZcQE3Rdx927dxlB5iOvFCl8++232bbknMJH72q1GlZXV9l4srPJ6ifh6Ncmgl0ymmEY2N/fx+TkJCN01gRBQRAQCASwtzdYZ16pVPDhhx+i1WrB7Xaz/ZCLQa1Www9/+MOBEWlq887ODhYXF/tuUyqVuoiglczS5IqK9FBhCl4LTJNUflLF9xFtR+OG7MWsiW/lchn7+/tsItxvP3Qs/nMCXY+9vT0kk0lWohnovR5AJxhg9THn98nfD9bVMf7voigyr+tHAa2AFItFpNNp+P1+pk2m8vZLS0tYW1s7dFBFFAX8uRfm8bPnpvCPv72Gf/XuFv6X9p/HN/UV/APl/8B5cbO7MbUM8LW/Bnz4r4Gf+zUgfsa2zceDx/G3X/jb+BvP/Q28tfsWvnbnd/G9W+9iNuHEQsKNUOVwQrBaOgmkkyh+/CHUSAyhE0sIHT8NVyj8xN+NYzxejEnxGADQVVqUIlX8EpnD4UC5XB4awToqFIvFvtZFfLIJvQDo79aIEZVitSbP8S9QesHwEWB68QJgGkv+ZWQXESDZxVAYOt75g3+PN//JHQj19kglKRRDhlefh+Q8j73ZaWwfc4/wX4eEYMLhEeDwAU4/4PAJcHhNlJs5RCYDB9Z3OpLJHDRN6/ShKcDtdrOXbyKR6Hp52yVAUSLQIPCFVOxAJFIQhK6lZCJSVDnQ6XSiWCwyv2dr8qbb7e4iM8PaRGPGjsxQRJKkDdbVBofDgXq9zrS11HZenzryGDo4LlmAWeUl5FKxvb0Nl8uF+fl5lrxl1dz3kzvYnb+1MhoAJi+qVquMOFqT/3it69bW1kBSnMlkYJomAoEA8xXn20zygWKxiIWFBRSLxS5JFDkhZLNZNJtNOJ1OJiewSnAoITYcDtsGA1RVRaFQYJINq4abJjh2eQh2+OY3v4lms2nrVELPL5q081phvk30GbnT0Ngn0LPO5/PhzBl70nhYxGIxtrKVyWRQLpchyzKmpqZYFb5HCaoE3Ar+3s+fx597YR5/9z99jCubwM83fxV/WfoW/pb8O/AIlvfO/e8Bv/4y8MJfBV79fzBJhRWyKOPVuVfx6tyryLyUwTfufQNfW/8asvs7WEi4sZBwI1Y8XCl4LZuGlk1j78pbcIWjCB0/DYTjT+zdOMbjxZgUjwGg8yKXZRnFYpEtpfIG7X6/nxHkJ4F6vT6SdREtxVoJGMH6crKLZPFLk/RCsTPo58nAsGiwLQwdZuEBXJk0Gu3RakYIYgSyawWiYwnaEUkfDKkJ09GAqTQO7M3quPiTX0CxloZWr3GRoAZKpRJ8YTfm5+fw0UcfIR6PIx6Po1wus0idz+cDAGSzWba0K4oPy8fyIBI3LDJr/T+7yJuu64xgGIbRRfjILooS1QYVijmM/y5V/rJbquYj31SCmNewKooCwzAQDAZRKpVY0hyNP5IeeDyekV+wRPytBJwnyuTTzWtUKck0Go3i7t27Ix3LGrXlYV1dsWp4+QjuMFDfqqoKn8+HxkGiJZ0rFZLQdR1+v58lAvKTeNM0mRUdT4jpPA5z/xLRJ9LK9wGNiWHjmUArSf2cdaxaZX6Vhf+u6zqOHTuGjY2NrokVnZuiKHj55ZcPlWw5DLFYDNFo1DaJjiRsg+6zUYIqZ6f9+Pd//RL+0/U9/C+vr+FfFP44/lC/iL+r/DZ+RrravbGpA1f+OXDjPwBf+n8Cz/8SIPWnNFE1ir9y/q/gL5/7y7ievo6vrX8Nr2++DrHcxPwBQZ7IOw9VMr6ey2A/15HM/MHNqzjzyhdx+tIriMzMjbyPMT5dGJPiMQB0dGOqqmJtbY1paOlhXy6XUSgUsLS0xBLbjgr9MpUpy3uQdVGj0UA4HGYRE2s5V36J2i5LnW8DEWG7l1u/QhuDzwuomA5opoKmLiBWWkcgtwe5PVoUUJAmILsuQlROfCKdGu/nayoNwNmE7NYBZwsQH5K35sFLauHUJNzu4wMjQbdv32Z6Wus4oMqBfr+/qzIbRd9JuyrLMstwHwV8tIwnmMDD60vL3zxZoSgsjYlWqwWHw9FDsIhUHxZ8e6ygyCs/SaMJlyRJWF5exu7uLivVTJAkCVNTUwiFQnjrrbeGtoEIPU/UeYLtcDiwsLCAvb09VgjE7/ez+1rTNDx48OBQ44uIjx0JJyJsXdLnJ52SJGFhYYH1iV1iVyQSYfZfpBXn+528vili7HD0LoU3m014PB5kMhnbSQ/1ESU8UuU3voSxy+WCpmlsLFPCnV0RDCLqwxAOh5kkzDqJ56Vf/Di3utMQzp8/j2PHjtm6Zrz44otYWVnpOt+jsBKzangJFFQZVJBp1KCKIAj4+Wdm8LPnJ/HVd7fxv795F3+9+rfwU/pV/D3ltzAtWEqX1wvAN/8H4Oq/AH7qV4FTPwUMODdBEPBM/Bk8E38G/+PK/4hvbX4Lv7v+u3g9fQNqQ2QEeTLrOpTVW35vB2//h6/i7f/wVUTnFnD6xVew9OJPIDw9ut/+GD96jEnxGD2wI6GPA4Mylck9gF561khhu92Gw+FANBrFiRMnsLq6inq9DofD0RU5FAQBc3Nz2NjYGNiWUSJY/bYpGU6kDQ+qugpd98LdlnHMqGBRb0CoJVCvrgJGeaQ+EeTZDhmW54f2uwHzoFRxjXn56tLBdzQAAcxaqVarwZAkyJAhmA81rKZpwuv1Mu1fv0iQaZpdyTbW60HJNsvLy/jggw+QTCYZWaOXNckaKPo3CnjiaRctpgiknQMBZea73W7kcrme4gz090AggFQqNbQtdC58xJFfzibJAv93Ozz//PM4efIkbt++je3tbdbX8/PzOHPmDEKhEC5fvjy0mMjp06extrbG/Ln5vpEkCSdOnMDc3Bx+8IMfQNO0voUX7EilHchpoNFo9ESBAbAJUT8iKggCotEo5ufnceXKFWYBRuPjO9/5Di5duoQXXngBi4uL7Nz4CTpNsk6cOAG3242trS3myMGvbImiiNnZWWxtbQ08J9rXxx9/zGQSfHtdLtf/n70/DbPjOs9D0bf2PM9DzwMaje7GTIBogIM4iTJFW0ooObbl2I4jO1aia/kcX9tx4usMJze+x7nxjf3YOTnJjY8TW07sRIpFUCMVgYRFUhgaMzF0N3pAT7u79zzPQ50fzW9h7dpVtTcIEGxQ/T2PHhHd1TWsWlX1ru97v/fFgQMHEI1GVU0wurq6sLKyonosQRDwmc98Bn/wB38gS8PigS/J2tGzR7+n+cUvIo4cOYLLly8jlUrB5XLhyJEjTQvEhyElJm3GU3o/3EtSxajT4heeHsZPHevHf3rnDv7jWzp8vLwf/0D3Dfx97TdhEiRzLDoD/MVPQOw7DuHj/wQYfqbtMax6Kz47+ll8dvSzWEgt4GtzX8M3Fr6B2cEIjGUNBiIWDG1Y0B03QSN2/h2MrS4jtrqMM1/5r/APDmPsiY9hz4mn4O7u7XgfO/HhxA4o3gkAWxzeYrHYxNHjtSgdDgeKxeIDayZoJ/+2d+9euN1upFIppj7Bd4VT+ddsNuPpp59GoVDA+vp6UxZHr9ejp6cHw8PDWFhYaHtOSpk//vcQBWhqJuRrLuSrLohVG+wNLR6rizCIBrZdoxpHpfgDiI2E4v740Oj6oDU9Aa1eUnYTG9BUc8gKFcSMWlTNVVj0SZj0abj8Vug0Qou0Ex8ul4sB23K53DQ+Go0GVqsVPp+PZeOUMkGdNNvQR3psbAzr6+tskUKyavl8Hnq9nkngtQuSSKOGMAr6N2UseaDLhu09AFEul9Hf34/Nzc0mCStaNGm1WnR1dTFlErVzsdlsyGQyTYsjHkRZrVbk83nV/Wg0GmaEANxtBuXLzjqdDgcPHsSlS5cU93Po0CGMjo5iZWVFtrnTbDZj7969LONP+rbSxj6z2dxxpry7uxvLy8tNCxIeHI+MjCAQCOC73/2u7IJAEAQcOXIEFy9eZGYRer2e0UoymQxT8Th69ChyuRwikUgT51mj0aCrqwtHjx5FIpHA9evXmSEPZXLj8XgT11otRFFkxh3Sc6beCqPRiOPHj6uaYBw6dAjZbFZWL5vC5XIhHo8z5zs+q86PqcfjweDgIK5cucKkAqVmKvv374dWq20BvPl8HuVymQHehyWz2en74f0kWKxGHX7l46P42ROD+A9vLeD/f9aKr5Sfw2/p/xKf0p5rPZe188CffRr1wY9B++I/A/onZfbaGrucu/BLo7+En+77aVxIXsDroddx1ngWc/05GCoaDITNGNq0ojtmgvYeAHJ0+Q6iy3fwzn/7MvxDuzD2xMcwduJpuLq6O97HTjy82AHFOwHgbqOd1+tV5OjF4/EH0kwgiu3l30KhEHp7e9mHTQrSKRNEgO9HfuRHcOvWLaysrDCu6+DgICYmJnDnzp17Oj8BAlDXQVszb/2vboG2aoJYs0JfN0IDAfJtHUCjFkK18BbE+obCFs1BYNgEN8yFCCyFs9CXE4gYtVjzubDotUFnEtGtycLKyZuJggC9wcXE/ZXMEog3SnzVYrHIslxkfELj2C7aNdv4/X4GJHw+H7LZLEqlEsrlMgRhy13Mbrd3/GEkuoMUfBGIo8wlANYExXMryT0sFovBYDAwUEFAhGTVeCUMpRBFEW63G4VCQTYLSpQRNVc8YKsUHgqFmAkCmcdUq1Vsbm4ik8lgcnISTqcTTqeTqSdQUNOS0+lEOByGz+djHGUC/cT/j0QicDqd0Ol08Hq92NjYYACamsgCgQBTe1Dj2Wo0GhQKBUbZkJp3kAa49HylYzg3N8cyyUoqHufOncPRo0fx7LPPYnp6mjUIks7z+Pg4fD4fZmZm4HA4GBWEKBAejwdarRbhcLgtd1gURSwtLTEqhJQHXq/XcePGDTz77LMAlM2GXC4Xuru7odFoZBepXq8XwWAQuVyOyZqtr6+3UCN6enpgt9uh0Wjg8/mQSqUYRYjmLM2ZSCSiKoE2OTn5vhQh3m908n64n3BbDfitlyfwD54ZwZ+dXcI/OdODLxffxT/T/3mrSgUA7fLbwJ98AsWhj8P8/G8AA08o0irksuk/6/tZfOn5L+Gt+Fv4yq2vYL4/gfn+PAxVDfrDZgxtWNATM98bQF5aRHRpEe/85Z8huGs39px4GmNPPA1noOv9DstOPOB4JEHxW2+9hd/7vd/DpUuXsLGxgVdffRWvvPIK+70oivjn//yf44//+I+RSqXw1FNP4d//+3+P0dFRtk0ikcCv/Mqv4Bvf+AY0Gg1+/Md/HH/4h3/IpJR+2ELKCeN5fACaBNqB++Oo8fJvAJp4fEajkXUqHzx4EJlMhnHwKLOk0Ww5kfGZB7/fjxMnTiCVSiGRSMDhcOD48eMwGo1MG1YaQkMLTd0Ebc0Cbc0MXd3yHhA2QRDv7dFo1BOoFd9Go9o+Iw0A5poFvRkdgullWAoXUdE1sNw3gNhAP+JBH6oAzCYtdpdTih/2QqHAlDdcLhczMiDThmKxiHw+j7179zLZMcpQAmDlaDKeALaysGoi/36/H16vV3Eburd9fX3Q6XTY2Nhgc6S7u5t9tNtJj1EWm0C2VMWCpLgICPEUDboOAjWpVIqBQ5Lg0ul0cLlcqFariEajHWcUibsrBarU1Ef/VsqUNhoNLC4usnu0vLzMOLKDg4NIJpO4evUqYrEYu69kCU12wnq9Hnfu3IHRaEQgEIBWq8Xq6iob5/7+ftRqNcRiMQwODqJWqyGVSkGr1cJutzctHOLxeFNjnJKDHLDVJOZ2u6HRaJDJZNg4EjDls7rUeMdTLOr1Ou7cucPujVwFANhS8ZiZmcG+ffvgdrtlqQGpVAqxWIxd/9LSErMg7uvrQ61Wa1oMKzX+AVvvNqJoUMaYQDIZ7ND5KJlg0LyiCpbUSIYWADabjWkoDwwMYPM98xqj0Yiuri4mV5jJZDA8PAydTseSEWRSQ3OWFsNerxe5XA6ZTAYGgwFerxfxeBxXr15FLpdr+56l6l8n7/R226hRsPho955RC7fVgF99cQ9+6WO78JdTu/GFtw7iycIp/K/ar6FfahcNwLz0BvCf30DGvR+25/4XaPZ9BtDdpQy108N/ee/L6DJ3IaQL4ULpAq7jOhb68ljoy8NQFdAftrwvgBxenEd4cR5v/8Wfomv3HoydeBp7nvgYHD5/R2P9IONhHmu7xyMJivP5PA4dOoRf+IVfwGc/+9mW3//rf/2v8Ud/9Ef4sz/7MwwPD+Of/tN/ipdeegm3bt1iYO9nfuZnsLGxge9973uoVqv4/Oc/jy984Qv4i7/4i4d9Odsi7oUTdr8cNcpCVyoVbG5utvABPR4P+4CQjiwf8XgcIyMjTcf66le/iunpaQZGVlZWcO3aNYyPTWDv7kMwlD3QVM3Q1s13M8CN+1fSEBt51IpnUa9cB9C+o91RKGNsMw5ftoiczYZQXx9CfU8g7vM2ZTGoUUwtSHasWCw2lW1rtRoDCAaDAbFYjGXhCoVCE73EarUiEolgz549uH37NsuE0Qfd4/E02cHK3fvl5WV27+neptNpbGxs3JVuE7ZoHt3d3U3yZEpBqhZ8sx4fZrOZZXoBsCwwn+Uj4EUyflKaQT6fh81m66jpTxRFRo2QA8W1Wq3J5lZpHwBQLBaRSCQwPT3d9PtQKASPx8Pc86gUTkFqG0QTcLlcWFtbw8bGRlODaCgUQnd3N+P4UlmdgBmNkU6nQ6lUgtPpbMq6S4O2JT1eMsygoIY4ksajxYh0jAgY01jQ//htgK17mU6nZXnH586dY9bDtVoNS0tLLRnh9fV1BIPBFqMW/j5I7xGBWH6seRc73lJZzgTD4XAwIxPeWIOOR+CPDEXoPUsmNbQdLeh5FRep1jA9S6VSCYIg4MaNG03PGVUAiKKh1+tV37Plcrmjd3qn730lChbF7Oxs2/dMJ2E16vD3PrYLP/fEIF67MoEvvvMSDsW+iV/RvYouoZXG4kjeAF79AnLf+m0Ix78A6xN/D6LZ3VYPf3Z2FvVaHbsMu+AsOnG4cBiz2llM66eR0qceCEAmo5Dv/5f/hO494+g78BiqdjcypfL7+sbeS+zYVzeHILarL23zEAShKVMsiiJ6enrw67/+6/iN3/gNAFvZq2AwiD/90z/F5z73OUxPT2Pv3r24cOECHn/8cQDA66+/jh/90R/F2toak/lqF5lMBk6nE+l0Gg6H4wO5vocZ/IpZjhN2/PhxAJDlqKXTabYNPUhKq89UKoXvfOc7SKVSLRrERJGghhY1uai9e/fiJ37iJ/CVr3wVMzfm7lIdahzwrZsgdKQEfG9hQgLV0jnki3MA2ssxWUsV7NlMwAQdYiMjuBMMIOV0qnZJd3QeJpMquLTb7bDZbOylz2c6SU4qGAzi0KFDOHPmDLtX/P0wGo148cUX4fF42t57vV6PkydPNrm60ceajuf1epFOp1Wd/2w2G7RarSodgYAYz5Om4IEfNeIpRaeSWgRyeAoHgKaSeyf7aXfPzGYzK5krhV6vZxrLUo4vhd/vx6c+9Sm8+eabCIfDTJqOrrdarUIQBPj9fhQKBSSTScUMt8PhQKlUapK9o5DSDToNqfoCD1aJ9kSNtrzCg16vx/Hjx/Huu++qcnjtdjuKxWJbrni7cxYEAT/+4z8u6/ZGkUql2LyncaZFWbVahUajQTAYxCuvvIJqtar6nt27dy+uXbsGi8Uiq9ZQKpWQSCSQy+WYxJ70eJSxNhgMjDKl9J6dnJzE9PS06nMNdP7eV4vZ2VmcOnWK8cCldu0vvvjiPQFjPkRRxNnFOP78rVl0L/wlvqh9DX5BWYO8KugR734OMxjFbK0XNVGQHSOr1QoArGLDjKLEBkJiCLOGWczr5lHD3XlmqL7HQd6woid2b016fFiCPfDsHodtYBj5SvWexrqTUOKc3+t9fRSiU7z2SGaK1eLOnTvY3NzEiy++yH7mdDpx/PhxnD17Fp/73Odw9uxZuFwuBogB4MUXX4RGo8H58+fxmc985sM49Q892nHCfD4f3nnnnY44arFYTHH16fV6WTZTqSPebDY3dY4LggA0NNDWzVsZ35oZq2fq+G+z5xENOeEVTzzw8dCgArcuBJd2Ay5dCE7NOoypKFYiVdzSeFA0tHeOM1Vq6MmVUfb4ceXpA8g5HPfkWtYu2hkvSJuIpC5oVPa+ePEiisUitFptUzZZp9OhWCzi/PnzGBoaanvvn3jiCWQyGdnGJQAsm0YWtmrnzYdcl342m4XD4WC0BR6cEkDslOfbSUiz0NLr6vSetrtn7YxNgC03P3JXVALpiUSCcYEJXNEigjKKAJoaMOWCGsL4LLNcWf39zGklRZHV1VVV97zLly83zRGl+dHOCrsTIE8KFWpRKpWYuQlVLaiqQIYnxWIRpVIJXV1dbd+zoVBItWrn9Xqxvr6OWq3WZKhCc7NUKiGdTsPj8ai+Z202G9bW1lSfa6po3C83udFoYGpqCuVyuel8jEYj9Ho9UqkUpqamMDo6+r5kEgVBwJMjPjw54sNy/DD+r7c/D+HKn+Fvi9/GgAytQi9W0bX+PXThezgCGxasR7Cmexxx7UCTHn4ul4PBYGBVAD4r79P74Mw58VLwJdgmbfja3NcwnZhGRd/AfF8e8315GCoaDIbfn4pFIbyOQngdOCPA3tOPXKAH1w16PP+JH7lvekMnvT0/jPbVHzlQTBaawWCw6efBYJD9bnNzs6UkpdPp4PF4miw4pUFyRBSdOmE9SqHGCSMeXzvXojt37uDWrVuqyhLUEU9lfrY6L5Vh0jiQXqvDlOuBtm6BrmaGRoHuEF/LQ3Mf01iEiIa2jKK2jCXBAI0miZ80fh1H9Jdg08QBUUQ+bERmxYRQzIlzgQASNqU2u7uhbYiwaE3I7t6LG44tc4st9Yr3Bx7eb4iiyLR4paYTBGTq9ToSiS2VDCod0nYEliKRCDQaDcsaKPETqbFHDWDxzV70Mwq5n8n9m4LGkvipPDeW5xg/qOD3z3NzpU1jDyOUVDAoqEmsWq3CbDZDr9czjWidTgebzcYc3Si7SNl9/hg815aOJXe8TseajiMF0vT3tBAjKUbpYocACn88tfnRjuPdSZw7dw7PPfecIheW11WX08Ombwct4Npxb9spOXR1deHKlSstzzRdF5nnAJB/z5bLzNZ+c3MTLpdL8Z2+sbHVNKy2TSc2x2tra0gkEsxdkg+idCQSCaytrclSVO4lBr1W/NYrR5F/+RC+fuX/iS+//RX8SPavMKmZld3egRwey7+Fx/JvIa7xYsOyF+vW/VjS9iFfKrNERrFYZNUW+rdGo4GuocMnuz6Jz41/DtPxaXxt7mv41uK3kK1mUTE0MNefw1x/DsbKlg7y8MY96iCLIrKhFSC0guTV84ic/Wvsf+YF7J58Aibr++uD4nt77ue+ftTiIweKP8j43d/9XfyLf/EvPuzT+MBDiRPGW0HLhcFgQCaT6aDjeRZCXQe/ZRCpcAHlTQBlPVA2ABUDRFGADsCDbHlsCFXUdUVmaFHXFlHXFVHWlnCl3o21mg2/oftz/G3tmxBEEYWoAZurDmRXTSjW9Ljd5cHKsKMjukPD7kGxbxg53ZbUFLgufaDzzOSDDB48UvAZawJFUi4zuWoRt5d44MQrpeYt4iemUqm2Jgb89cuB33vJSvCmHDxYI/DUqVsd/Y0SeKL/JyAlVU2Qa8B7GEGcV+l9BcBUGfR6PbLZLCujU6TTaZjN5iYwLAWqtJjiZe/Uxqjd9QvCli04NXlKj0VmPaTRS+CSv16ak/w+lf5dr9eZJKC00Y4aizuJZDKpyoWlxT+pYPCUHqoMkDwhf55KYKNd1S4ajbJmRjIoouumhj8a2/7+fqZ2wiv4eL1eJJNJRkmRCwLjAO7brS6XyzGqh9J+CoWCKq3qXsNq1OGnTwxDPP6buLL6Bfz+6e9i98KX8ZJwHkZBfhHrbcThzb2N/bm3UYIRK/oRLFf3YE0/jBQcqL1XNZGrAgDAhHcCv+39bfz647+O7y1/D1+b+xouhrfc+MqGBuYGcpgbyMFU1mBw04KhTSu64vfgpCeKCN26jtCt6/jeH/87DB16DGNPPoORo8dhtFg6HptOvued3NePWnzkQHFX15a0STgcRnf3XR3AcDiMw4cPs22kYv21Wg2JRIL9vVz81m/9Fn7t136N/TuTyaC//4fHzrET1yIq77lcLjRqInKJCkrpBhpFLeoFHUoZD2JZQKx53/srU8t+3m+IqKOuK70Het8Dv+/9T9S0vgDjDTO+XxnHJzQX8KeGv4A1UUJkxY7sihm1khYigFWPHbPdXlR17e1SG24/Sr5uNPRG9vHmrVqBDwcQs/OTZMWkWTo5ly2+YYrUA6TUCNKv9vv9rKTfSbRrSOskeLDGZ58ILNxLGVbOPY8fC6PRyIAcb45A1An6/cMOpXkmCALcbjc2Njaasvc8pzyfz8PhcLBrJoc6HgBTppb/e2ko8ZqlQRzNRqPBnOIoq6/T6Vhpv1QqoVQqtVBViAvNhxKdg35HDp1SFz6iknQS9XpdlgsbjUZx6tQpPPnkk7BYLMhms4xTTGYuxWKRAWCpO9/7VXKgxQ69j+Vc9mjBqNfrMTAw0CKzWS6XGUhXe6d3sk0nbnXUJ6C2H9IDf9AhCAKODLhx5Oc/h2T+s/jq1C0kpv47nsp/D0c1c4p/Z0IZe6q3sKd6CwCQ1boQNu7Cun4YYdMIckYvypVKUxWA/a3OhE+PfBqfHvk0ljPLeHXuVby28BpixS2N9pKxgdnBHGYHczCXNRjcsGBow3pPVtONeg2Lly9g8fIFaPV6DB9+HONPPYNdjx2D3qT+bX2QLoQfpfjIgeLh4WF0dXXhjTfeYCA4k8ng/Pnz+OIXvwgAeOKJJ5BKpXDp0iUcPXoUAPDmm2+i0WiwpgK5ILmWj3oovazlFCrEhohqAShnRMQ3KtBWPSim60gWtaiXAEC6Cr2/pjeiO9S1RdT1RTzz4nGcevvbW05u2i0XN7mgjxjFXM2LjaoBf1L4VxhYDSO1YkY0b2e/T1mMuNnrQ9rSAWi3OoDB3ShrDbBZraxUKqUsEFWBz76ohfScpUHNR/cbfAZUKSibmMvloNVqm3SBq9UqcrkcrFZrx02q0uNTKGX8lLYhwEZgiv/5vYwNGUjwmVICiYIgME1noqLw50AA2eVydaSN+6CCgI3SPDOZTDhx4gTOnz/ProW/LtqWsrLURCQdR6nBBICWbYC784juBx2LzousoHt7exEOh1F5D0zwixqDwYBdu3YhmUwykx7+3tM8pftFiyK586H9UTaMX8hQRpVk/fj989tQkBKIEhf2+vXrDIDTMYm7TYCcNKSB++/47+vrg8fjQTQaVXTZI/fAcDjMtJH5a8tkMujp6WEUCjXVIQBtt2mndc6fMzUG8veMqou8IscHEW6rAT/7/GGIzx3Cu2u/iX/86tfRFz2NTws/wKBG3dnSXk/BXriM3bgMpIGSxoKIthsxfR/sqw7A9izgHm6pKA46BvGrR38Vv/zYL+Pttbfx6tyreCv0Fhri1lwtGhuYGcphZigHS0mLwY0tikUg1XnSqF6tYv7CWcxfOAud0Yiu/Ufg2jcJTf8E0lUgma8gWaggV956L4oisLFpRaFQgNkMmHUC/BYBQYsGATNQyWTQ23NvLoQfhXgkQXEul2tSJbhz5w6uXr0Kj8eDgYEB/Oqv/ip+53d+B6Ojo0ySraenhylUTExM4JOf/CR+6Zd+Cf/hP/wHVKtVfOlLX8LnPve59/VR/yiF0st6uH83tHULjIUAyssFzF8vQSzpUctrIDIsRSv89lnVdmEwa9EwlJCrJDi6QwF1XQkQtg64d+9edO0zonEpi4ZKBlar1WJ4eBhzc3OoNYCFpA0vr53CidWbqGZ0iOMuGK5oNZjp9mLN215NRNQbIPSPoO7yofKePvBTTz2FXC6HM2fOMEoCLw2m1Wpx8OBBzM3NqTaAOZ1O9Pf34+bNm4rl6rGxMSwsLKhmJ8n1TQ3w8mCG/s2uUbxrLEAATI5/RtkrORMRueCpG3LXR2YY2WxWcRuLxdJi7sGfN4HXdo2NOp0OdrudqaFIFTqo3Gy1WlnZX1rSN5lMjGvYTu0AUK8Y6PV6Nl+V7v2RI0dgsVhU59mxY8ewsLDAyun0t/wYUZmdB5m0HV89oN8TDUFaZSA6gkajYeYedE60HzL5cLlcWF5eRq1Wg91ub7JwJok4r9eLcDjMzp0/HzLN8Hg87PmQc4YjR79wOIxSqdSivEFGH9lslvWHyI23zWZry4WNx+NwOBwsC242m5vOmTLhmUymSX1CzWWOmtx485Lu7m5MTEww0xA1l73jx4+z64tGozAajeycyuUyc5kDthJHSvzliYmJttvwmvFKSRWNRtP2nCcnJ99Xk937CUEQcKjfjZ6f/lG8fcaLfx/6FNKpMEYKV/CC5goOCwvQCOoLXFOjgIHGAgaqC8D3vg98D4DJCfgnAP8ewD8O+Ma2/tvRB71GjxcGXsALAy8gnA/j6wtfx6vzr2I1u8r2WTDVMT2cxfRwFtaiFkMbVgxvWOBLd56Qq5XLWLt0FmuXzqIi6LFoHcacdTdWzH1oCNLvsx5A6ztLr7Ggf6WKo5vv4lOHevDUiBc67cO5Nx9mPJKg+OLFi3j++efZv4nS8PM///P40z/9U/zmb/4m8vk8vvCFLyCVSuHpp5/G66+/3rRS/q//9b/iS1/6Ej7+8Y9Do9ky7/ijP/qjh34t2yk21sM4+9cXkU9UoWvYUC9okck0sJEp490ar6naXnWhk9DoBOitIgRjFRpzDQa7CG+PHfuP7EHf0FZ2Ykt/eK0lgzgxMYGf+ImfwM2bN9mHXQlAaLVamEsljC2HYL81h59ObjWOVLnpLwJY89gx0wFVQtBqIXb1o+jwoSEI0FQqsNvtePLJJzE5eddSlDqtCWjQS3/fvn0oFArQ6/Wydsc+nw+BQIBpiZLsEgXJLfn9fqTTaYRCIcVrdzgcTLZKjXvJl82lPE++6Y7UHiqVCgOMxJUkg5dOgspy0oYpQdhyvqvX63A6nbBarbLNr11dXdDpdAiHwwyU81QKuWtRMqagzDeBE+n16/V6GAwGGI1GDA8PIxqNMok7rVYLt9sNv9+Pzc1Ndmw50Evgzmw2o1QqKTrjuVwuPP/887Db7bh69WrLvT98+DA+9alPsZ9duHCBzTPKTB47dgwvvPACzp49C1Hc0qqVavHSvaP7RtcvtUonMEkNeyRNxZ+T1WplGVm+0YwHzGQKlMlk4HA4YLFYWAaW+Ll0T51OJ8xmM9bW1lqoAX19fTAajXj66adhNBrZGPELuMOHD+PHfuzH8M4776BerzN3RV55w263o6enB9lsFmazGZFIpGUuBgIB5tZHltxSGgZxL4Fm/i6BYeLvEu90bm6ubce/KIr4/ve/j2g02kTnicfjCIfDeO6555h0mZLLHv1+dHQUU1NTTM+axvrQoUMsK92JE93x48cxPT2NlZUVBngHBgYYSAfaZ8A7PeeHGX6/Hx978jj8MzOIxbRIlwL4y/Sn8XvpInozl/GC5gqOa6bhFbKd7bCUBlbPbf2PC1FvgeAe2soke4YR9Azjl9y78IvP/CEulSP42uI38b3l76Fcv8vhzZvruLkrg5u7MrDndRjasGB4wwZPtvNvsEGsYjx3G+O52yhpjFiwDGPONoo1Uw9EQRnkVhsCFuNFLMbX8NVLa/BaDfjRA9349KEePD7ohkbz0VSkeOR1ij/MeBR1isWGiGyyhFS4gFS4uPX/kQJSmwVkEx8MH1Iw1ABjBaK+BMFUhdVrwMdffho9QwEIAto66VQqFbz55ptIJBLweDx44YUXGM/t5s2beO211xgw5j+gZlFEz8oqehcW4A+HoVGY6lmTATd6fUjazLK/58M1tBu7P/4yrk7PMP6gRqOB3W7HE088wUDxm2++ibNnzzZlDXU6HZ544gkcOXIEp0+fhsViaXLjMpvNGBoaYuYXwFZJXqvVKjpflctlplkqBSo2mw0mk4mJ+APK5WGiQ0h/Lm0ys9lsKBaLTWVvAjuVSgUHDhzAmTNn2mamTSYTnE4nk4CjD6jFYkGtVkOhUEAgEECtVsP6+noTgNTr9ejp6WFWvmTdLD1vylTy2U4CvQR2ab/0HEulyejvfD4f7HY7Go0GwuFwk1222WxGMBhEqVTC+vp6E4jkj0UZSr/fj1KpxBqy+G3MZjP8fj9efvllVKtVXL9+HTMzM+zej4+P48CBA00l9lqtJuv6Bmw9HydPnlTNTJNBRLlcRrFYbFlcmM1mOJ1O1qxH3FR+XhuNRpjNZthsNgYIadFF/0/gmWho6XS6pWGTl9hzuVyKjm7FYhHPP/88qtUqbty4gZmZGZRKJZhMJoyPj2P//v0MZFJWlqgXlL2WagJrNBqsra2xY/X19aFeryMajSIWizEjFOmigXiZtJilRYGUv1ssFnH06FFcunRJVYOYgOLS0hL7e141olarYWxsDC+99BK7JiV3OLr+fD7PmsLIhMVqtXakK08xOzuL8+fPIxaLsXvm8/lw/PhxjI2N3ZPm7f042n1QIXf9kWwZ376+ge9eW0VybRqPCzOY1MzguGZa1iDk/UYDAqKiC7OCF69bLTjrKCNmUpZmdOR0GN6wYmjdCXf+/YHTgsaMeesuzFl3Y93UfU+a+T1OE372iUH84tPDMHbQb7Md4odWp3gntqKUrzYB3lSk8N6/i6hXH7wkmKipQTBW4e2xoyRmYHZpka8mkKsmUGtUmR2sz+fbahKxAhpNZ936VOYksXn+5enxeJpK+3oAwdA6BpaW0LW2Bq0KOKtpBMwH3bjjd0Fs80JoGIyodA+h57kXce7K1ZaO72w2i9OnTwMAo09IS9G1Wg1nzpyBKIqMm+12u5vH8T2OHu9qJQcwqexIts4ExHh+ptRZq16vt2QKqaxOiwz66EozfAQIkslky/kUCgWUSiU4HA709fUxcwqlzKzJZILL5UI2m2VZYQJRxC30+XzQaDRYXV1lgIofx9XVVYyMjLBGMrlj0TjzYI8y35RZpmsn1zylpq0t3p0ZKysrEMUtm2kCGIVCAUtLSxgYGGCKF9IPPJ23Xq+H1+vF8vIyuy4+G1+r1eB2u1GpVDA1NcW0mAnMhcNhFAqFJoAhCAKjdlit1qbzHxsbY/Jc/KKH/2+NRoO+vj7MzMy0NNXRQjMQCECn0yGRSLTYM1OzXG9vL3NsIyUSAoZut5uBqFgshlQqxbK2dG8pm2u1WpnBi9frZWV/mqPEYaUxovlC10XgjMaIz4JKs5e8JrDP50N3dzfbRqvVIplMYmBgAJVKBeFwuKnxTxRFNs+DwSDj73q9XtZ4RY1udM48x5loDDx4NhgMiMfjTGPaYrGwsaZzymazWFpaQiqVYrbbchJmonhXh9bn8yGXy6FUKsFgMMDn8yEejzfp0FIzoFwomW7EYjGcOnUKoigiGo12rHlLVSxaIMk1bz7skLv+oMOEzz81jM8/NYzl0B68emYUf7H0LP5ZRoC9lsR+4Q72a+7gwHv/33E2WRIaiAgKSQSRxDN5AHlgxqDH12w2fMtmQUbbDDwzthqujaZxbTQNV1aPoXUbhkMuOEudf9stjSIOZm/iYPYm6mYH0l17MWfZjXcrDpRq6t/l9XQJ//r1WfzVpTX87585gOO7vKrb89Fu8fVhxw4ofoSjXm0gHb2b7U2GC0i/99/FbOdSVB2HsEV1qGoKEEwV1LQFNPQliPoy9CYB1VoVZq8XTqdzi28WjjZl1KhD32QywWg0dtRs8uabb7LyMH30Tp8+zcrDJpMJRoMBjpUVDCwtoW9lFYYOOsrjbiMu9wdRFdTLUKKgQcXfjaqnCxabDbdv32YqG1J3r0qlgrNnz7aUl3ngX6/XcfHiRfz8z/88Ll++LGv1S8Yy165dw8LCAnOHo1haWkIwGITdbmccRaPR2EJpIKkls9ksqwpBAIhc7+LxOAPEdN4EpjweD/L5fJNhBH99pMjg9/vh9/uxtrYmO56CsOWgduDAAXzve99jGqgUmUwGRqMRjz/+OL773e8ygCanZxsOh9Hf34/19XXZxZUoiqwJiRQYpNQIi8UCh8OBaDTKwCVfrhaELVkwyt5JgSwtLKgJkUCW1JyEKAJ+v59tT2V4fiFDgGtmZgZra2tM4o6nD7hcLtb0euHChRYr5DfeeAMnTpzA5OQkstksmxtSzjUFZfnJMU6aKafMKpkWSP+e/l0oFBjPnYwlKAqFAnp6ejA6Oorl5WWmlyxdgJHM2IkTJ3Du3Dlcvny5ZZvu7m6MjY1hdnYW4XCYgWnaxmQywW63MxDWiSbw5uYmWxTw88Pv92NiYgKJRAKbm5uy40N0hImJCaytrcmec09PD8bHx1lmOZPJIJ1Ot1gvk110pVKBw+GQ5e+bzWbkcjnEYrGWRTUfpEPbaDRUraDb6dB2Yrpx5swZNi/lzpnXvK1Wq4+krbDFoMWRoA7djTLK5QrSogUZ/TNYxI/hW9EyZjfTCIoJTGiWsVsIYVQIYbdmHSNCCA6hvSGPNMYrVfy/Ekn8ejKJNywWfM1uw3lza+Ndyl7F1bEkru5JwpPRY9+GA7vCDgj5zgGytpiB5845HMc5fMIfQP/RJ6EfPYLFhhPffHcD19bk+18Wonn81H88h598vA+/9fIE3FaD7HYUj4Kl9A4ofgSimKsgtpZDOrwFfLdoD3lk4yV8EOQXnRkw2gGDAzDaBRjsAIxlpAoxhMOb7MOh0+mgfS97V3kPiKZSKej1eqytrSlm1MbHx5uyPErNJtevX2cZVwIMlJ05c+YMdGshDK0s49lXT8LUxiENADS6Bgz9VZzxd2Gz3N6Ao2Z3odw1AFF/N1OVyWRauu2BuzJe6XS6bfa7VCrh5MmTSKVSsr8nZZR8Po/19XX2c75xZ319nXWOkxMdD6qIP0qcR/7v+f0BYFx7ytZKpc2oCYoye9KmNtoX3/CnVK6nn6+vryvqX5bLZVy8eJE17cl9ZIEtRYCVlRVFqkaj0UAikWCZOzlJunK53EQdAdBy/bQtzVUp75akjQiYqV17vV5nHHGeB0/Av16vMx4tARr+XMrlchPv9OzZs6xqQeedyWRY1cLtdsuqR/BjWa1WGU9UDuyWy2UsLCy08L+l28ViMVy9ehWbm5stJiD1eh2bm5tYW1tj1BHKUvOLSrqWTCaDRCLBgDWfSU8kEgiFQlhYWGBjxDfREXdXq9XiwIEDzHRCDfgpZaoEQUAul0M6nZYdQ5oD6XQaa2trbGHJX3utVmPZ3z179sBsNmN2draFGkG2zcFgkJ1Po9FQfJbbZdfK5TKSySSjO/BW0IVCAaurq6ySohadmG6kUinW6yAXxLve3NzE/Pw8crkc21e1WkUoFGpqMtxuwVNDXC4X9Ho9gtUq0uk4DlmK+K1PHIfF4ca7a2ncWk9jfjOF1xIFrGcrCKVKcNXiGNZsYkAIY1AIY1CIsP92CurNyUYR+NF8AT+aL2BNp8VrNhtO2q3YlPZvCEDCWcXbzjjeHovDn9LjiVUTAmE7atXOOciZaAQ3Xz8JvH4S7u4e/OaTz8D+7DG8FdXg69fWcTvcqiP9lYtrODUdwT/5sQl85rFe2bmpRK+RNph+2LEDih+BmDm7iTN/Nd9+w3sIvUkLd9ACZ8ACd5cFTr8ZSxu3kcxvItDdKrsTjWZgsZiZdiEPJHi+ZqlUQiqVUs2oJRIJTE9Pq5babt26hampqaYPuiiKMBcKGFhawsCdJbjSaeTRRulYI8LWXYJjoIgFhwPfiO2BUFaf9qLeiHL3AGq2rY+pgWseauci1ilFPxwOq/7+1q1bTU1r9AEhigGw9ZKxvCfWXqlUWu4ZjTcpASg1f5E0FoFqLVeqo7/P5/Ms80wAjs9wEigOh8OqrpDAFiBeXV1V3ebOnTvsw68k70UNVBRSDisAxqdWA6pk30qcX6kRAi9fZjabmfkE32wliiLjdvPnw98PYOu+ExVFbnFRq9UQi8WaMpJS6SrKfGezWca/5bPJgiCgUqng3Llz+MQnPsFAD907fjsyZWln8yxHm5FGqVTCu+++i3q9zrRm+XtG9sz8cyS9L7TovXz5MiqVCkwmUwvvulKp4NKlS4jH46jX60zpAbhLMSgWi4hGo8ziWCmIYtBoNNhinTJYBoOB2dWTrr3VamX3gV+ARqNRXLp0CbVaDcFgUFYibWpqCrt37246tvRcgC0HOrPZjHQ6rZhNp+Y9taAGQTUraGogVItOTDeoUtFOg3hlZQXhcBi5XK4lc53P57elrTBPQ1Gjhjz99NPY7Wigth6CRxfDEU8NuoAOXq8X/v5DgMmOcq2BcCyO+TsruJxMo1xrwK4pYdhSxoQX6NJlYCmEYMyFoMuFIKTXgPxdi+q+Wh2/nErjH6TSOGc24VWbFW9aLahKx0sAou4qvu6uAmIWw3E9nl4xwhxzoFLrHCAnN9Zx7q/+G4D/Bl//IP7fTz6DxnOH8K9+EMO7kuxxIl/Br33lGt6YjuAPfuowDLrm5MKjYim9A4ofgXAHO3ep4UPQCHD6zXAFzHAFLU3/szgMLZPPHdXi/Hll2R2v14vZ2S2bTKXsHTVxqGXUMpkMVlZWEAgEFEttt2/fZh9zXbmMvrU1DC4twR+OdCRrbvGX4RgqwtFXRF5jwFcie5DedKn+rSgIMPSPwDq6F1VO2orGgVQcHlbwgIz/gPIZFjIGkBtHAkf0MZWCMCr9lkollkkrl8st94wy5PV6nWW2pB99ApTT09NtM0+dGiZQJlEu5F6ccqV9URQVM/IUuVwOZrOZVSIItBH/GQCTWiNDBGlQNk8KoinoZ9KmQDlNYD6DLHdf6T7ymVupTjGwlTFeWlpqAqZy/88vGqRziY7V6WKvWCwyVzrpXCPHsnYGNpVKBfF4nF0Lv0ihuRmPx5vuBb9Io/lerVaRSCSaTJykwVvd8vebgmyOibsvp65CFYdUKgWHw9FUsaEgC+OZmRkUi0UMDAwgk8k0ucxRoyFxw2lBx0vbUTa9t7e3rfVuNptl85EW0/wYEdc8m83C4/Eocj07Md2gMjiZ+EjnUCaTgdvtxtraWlN2n89cS7P72yU6tUO+c+cObt261ZIJ3dzcRCaT2fJA0AFroWn4awXs7mtuRlypWdB99FOwSbOl1SKQXgNSK0B6FUguQ5tawVOpZTyVXEYyHsK3bRZ8zWbDbaMMfUEA7viquOOrQmjkMBnW4siaCY2EE+V65wA5trqM2H//cwB/jp8Y3o2Xe/fjP687ERGb8cm3rm+gWK3j//yZIzDptfc0htvBUnoHFD8C4WoDii0OQwvodQctsPtM0N6DrmA7a1FqEKEPhPTFx+uhqmXU4vF4W2vRcj6P7lAIQ3eW0BMKqTbMUSSdLmgHqjgytAC9tQFRBC6kuvFWdBhCvY3MmsMF3a4JaOxOaPR6mGSujbJUDzN4eob0ZwBY05PFYmnJAhJgpr/lpevoo0j/pg8+8U/5BQHfoFatVmW5sHSPH7SjGw8geXBH190JWCNeNAELCvr7SqWC3t5erK+vMwoERbVaZYoG0WgUkUiEAWQ+e0emLOTCJm1GA9A03vRvKW1DKi2oBkjb7YeoBDyglwZ//+jf0vPuFBDz+6SFBT9HeOthtaB7Qk1q0ooUZXOBu4twORnBTjJOnVjdEojnny/+XOlnBPSU9lMoFJDJZFCr1eD1etkilG+0IxoKqWVIn38C2+RQqHaN+XyezU05/XDKqufzeVWuZ6emG5OTk7hw4YJiUqW3t5fJ5yllrmOxWNvs/sOOTuZIJpPB7OysaiaU+kfuOVuqNwO+0a3/yYS7UsDPJO/gb8fmcGtjCq9GL+Lb5U1kZTSWRQ1wvruO8915GOs5fHJNg9F1CzJpFyqNzuFg5M48cGcePwWg6O7HlDCIeesICrotrPLmTAS/9OWL+I8/9zjMBu0jZSm9A4ofgbD7TDBadLB7TU2g1xW0wBWwwGB+cLdRrSkllUrB7/eriuG73W4UCgWWVZBmVkgTlbr0mzIPogjd0hL0Z87gYxcvwlBsD7AqDgcW+/qwPNCH5x1v4ZBmEQCQqpjwP8JjSOcc6tlhjRZi3zAcuydgNBqZAYVUBomkqaQNVB90yFkvS4GVRqNp4pVSRo26+qn8TJlhft+UiTIajezapJJTorglX1WpVFgTIe80RmDLYrF0rFPcSfDNg0AzdYRKrp2ahQCQBTTA3fHkObV8RpaXQ9vY2GAd/OQomM/nmZUuZdRpH/yx5KgCav/uNJSqNsBdC2il7Dzdf6mRipSGci9Bhio8WKcs+r2EWgWEqgi0OOHnNS2CjEYj7Ha7dLdN0YnVLTUGK9FrADTJ8KnRBxwOR9PxpJlpUq0g7io13fENtDqdDrlcDmtra7KqExQ2m42NESDvFkm/b8f17MR0IxgMqiZVIpFIC/+dQqPZMjepVCpts/sPOzqZI5QNJ/46H5QJpaZitW3eV7bUYAGC+yAE92HfvlewD8Bv1Eo4tXwKJ2e/gvPRK7J/VtYKeG1QBAbz6C1n8KOrGnSFbdjIuFETO5dZMydX8SxW8bHEDxAy9WDOuhsL1l14ey6Gz//pFP7k5489UpbSO6D4EQitVoNf/Dcfe2hcGyqlS8PpdGJkZIRxOUmzlLRa7XY7RkdHsbS0hFgsxh4CAlF6vZ6tkkm+yOfzobGxAfPUFOyXr0AfjbaekCQqej3WBvqxPDSEj33hC5j7+lfwU9WvYFATQUMEppK9eCc6BKGhniUXXV5od00ABiMajQZ6enqY7i2BG/5DRpq/7cJisTR16kvH9l7BHP0dO28OENtsNkZl4LOXlNEhMMZLnvHgkACFz+djcmP8R58yVgMDA0ilUuy85TLXdrsdXV1dLYoa7zc8Hg8SiQQD9fx16/V6tgDrJKTXLM3AbWxssHGTZh0bjQauX7+Ow4cPw+fzIZvNolAoMMtnm80Gu92OQCCA27dvK4Ji6c/kKAbS7TsJaVaaP9bg4CBmZmZa9i8dF8oo8plpfj9EkWkXlMnl6To8MO7Umpyy20r23UajERqNpkkVhI5Fi1mj0Yje3l52LZ1a1/Njk8lkMDAwgEajgUgkwhag/HPWaDQQCAQAgL33RPGuG6IgCOy9Nz4+jkQioXo8s9nMFqKCIMhW21KpVBN/XS56e3uh0+lQKBRY74GU4202m5mJRju+LACmU5zNZlt0igH1pEokEmlabCpl3LdbdDJHeAlNuaBFBHCX2y8nx/egsqUmnQmfGvkUPjXyKaxl13By/iReW3gNm3n5fo+QUYs/3g1gdx4nsgk8H9LBFHViJedGXeys2qyBiP5SCP2lEJ6Nv41Vcx/msrvxC/+xiD/+e0+3HcNOrMIfRuyA4kcktsPLQhAEjI+Ps0wx/+LX6/VwOp2YmJhAMBjEt7/9bSaVxZf0bTYbJicn4dLrUf3Wt2G+eAGu9Y22x65rNNjs7sbS8BA2enrQeC9TGV24jF+ofRk+TQaJshlfC48hnberZ4f1BtT7dgFuP7RcN/fIyAgT6uc/fJVKBT09Pejr68Ps7KwqONBqtdizZw9mZmaa1Bro//V6Pfbs2YOrV6+2vWa73c54o3LHJAmkfD7PmsB4jihllggsy2ULqXGHtI5LpVKT/J0gbElckbGG0+lkMns8p5joMnJ8UqVxamd1rNPp4HQ6m5rSeM5op5lH/kMsBXz0e/qA63S6lmur1WrI5XJYXFyExWJpau6jsFgszIktkUgAkHfQczqdTY1tfIaTzwYCW/xcpTCbzYzLqkSxoEw7z3GVAkwaSyoBK4XFYlFVnwDu6iVXq1XZe0O/V7M3p7Db7Yxvy3NPqQJCUmTEseUXOfScEVAhrruSXfL4+DjS6bSqzXEwGMTrr7/epIhC40/GFADw+uuvM/DH02EsFgsmJyeh1WrbHm9gYIApkChV28icRy1I45rUOKQZbr1eD6vVinA43FH20uPxYGhoCBqNpsnRzuPxtPydXFLFbrfDaDSyXhO5jHsn2f2HHfTdU7tne/bswbvvvquaCaXnOp1OMz65VI7vg8iW9tn78KXHvoQvHvoizm2cw8n5k3hj5Q1UG/LVo3N2I86NA/bRDF5OhzEZMiKXcGMl70IDnQFkLRoYKq5gqLiC2g++j9+d/iY++fJzMOn1HVmFf5ixA4p34p6DwAnfcCQFQpTd4P8G9Tq8i4to/H//NRIXLqC3g4armM+H5aEhrA70oyJ5WXSL63ji2v8BE8q4kOjBW9FhoE12uO4JQjO4G/r3ssPU3OF0OhGPx5skleg6SVJpZGSkLZjT6XSYnJyE3W5n2p4URqMRx44dw8TEBG7fvq2a5TSZTMy4QM0K2mazsWwS8RXJKEWr1cLr9bLMpux4vJdBLhQK7CMlzcrqdDokk8ktGaJgkGn+EgAxGo1MRqq/v5/pJyuF1Wpl3fVKVsd2ux16vR5+v59lsvgPiMfjwfr6OrtPSll5uoZ2jm4EEIlPzWcdiV5AH0XiD9PfFYtFrK6uMuticiWTBp03NZIpZffpnqmBYoPBAJPJhGg0Kgu+NRoNfD4frFYrA5GkDcwfz2azoVwuM8MVJZtrsqaWPtf8dpQVpSyvNKha1O6eaTRbZhSUkZS6B5I9cywWYyCLPyeiTuh0OmxubuLGjRuIRCJN28TjcUQiETz77LNteylIJorc9Hg6EpmxEDDktyEah3QbOp4UqJOWsdfrxbVr19pyePv6+hTnBwBmtNHT04NQKNSk5UzHA9C2v4OXUqNjyzWRtZPT6uvrY/Q7KS+f1F86ua4PI5TuGS2ufD4f1tfX22ZCC4UCZmdnodVqYTKZ2Pckm80ilUphbGzsA8uWajVaPNX7FJ7qfQqpUgrfuvMtvDr3KmaTs7LbZ7UafMVjxVc8wO5KHH8zEcLYhhlraR9WC06IHbW8AzqxDl/8Ni7+l9vQGgxwDo6gEuyFwd8FvdHY8px92LEDinei4xBFkemjKskXTU9PM4MLk8kEAYAzHkff/Dx6FxZh7KA0VPZ4kDt6FOdNRuQUsiG7GnP4aXwL+aoeX908iGi+zYvEaIIwPA69y8tkjigLCmx9QG7cuKEqA3Xz5s22GVBRFJHP55FIJGCz2VimlsYokUigWCyyj4NSFpQ+riQXJo1cLger1YojR46wciz/kSmVSujt7cXo6Chu3rzJwAYP9gn8VioVRo0gniF/PQTwXC4XMpkMA1l8licej8PlcsFkMqGrq4tJNEkz5RrNXUthvuzPl05JccBgMMBgMGBgYEDWNpdKwmohx0uVC2r0kXJqadEAgDV0KTUJZTIZZmPs9XoZCCUJrVwuh3w+j2PHjuHcuXMolUqsRE6ZfJPJhIMHD+L1119XPd9sNotAIMAc5qRBhhKkHEALmnK5zGhBNI70gVfLyvMce6Ugy25BEGC321ueoVKpxOyGSfFEjvZhs9mwZ88epq5CDWh0Lk6nE3v27MHCwgIqlUqLIxrN6WQyiZmZGYRCoRYQUiqVEAqFcOnSJbz00kuqZX967xkMBhw5coRJ4RkMBtjtdvbeA6C6TTvJKX4h2gmHV0mZhcJoNDJnQboHUpk4p9PJFhbtpNTuV06Lvy56fvm+DbPZ3NF1bcfoJJs8Pj6Oy5cvs+2lf/8ww2Vy4WcmfgY/M/EzmI5P42tzX8O373wbmYp8MmPeYMC/6TJAFwSeK2zgU4k7cEXsmMv4ESp2DuLrlQoSc9PA3DT0ZjOGDj+O3qF+eFRMaB527IDineg4OpFVIT6xpVjE4NISeufmYE+1L5fWLRYUjjyGyhNPItfTjWgshtziouy2E41b+Am8jndTXXgjsgtiQ70pwDNxAEVvD2qiCKvVilKpxMCKyWRCPp9HtVplTWRSUwVeBqpdyb5areLSpUvY3NxkwIM+NqIoIhQKwWazYdeuXSxDIM2C2u12jIyM4Nq1a6hWq4xjyHMUi8UiMpkMyuUy4vF4S1axWq0iHo8zNzxqjOOvjfiJjUajyRFNjsNJ/MNisQiHw4FCocDG0GKxIJPJwGazQRRFmEwm9Pf3MwcwCqPRiK6uLiZPBYBxWYG7EnFkWNDV1cVsc+laCXBmMhkEg0Gsra0pKoIQP7qdBBxxXek8pPJmVI7nFwxSbjbRLHjuNh/8v3ft2gWbzYazZ88iGo2ycQwEAjhx4gRSqVRblYZGo4FkMsloDVKlB8pY2+12phxAAITmMKkSOJ1O2Gw2+P1+xGIxJBIJNmc8Hg+zZlcC4HQ+fMadV58gOgptR5bDUudHrVYLq9WKYDAIg8HQwsPmF1BEXaBFipTyQgYha2trEASB8fz5OZvL5ZrskhuNBkKhEOOI2u12aLXajt57fBMVsLXIJmoLSa3xjm7nz59nCwSLxcK0pynrShzdqakpVikhR8TJyUn2e7Wg5zSbzTJQTEFSbBaLBYODgwiHw4oZTpfLhVwu17GcVqPRwNraGnK5HGw2G/r6+thzI70u3ulRel1KPHDpvFM61r2G2vHIeELtnrWrAOj1ehSLRQwODjI3Q+rJsdlsjOrysGXJJrwT+G3vb+M3jv0G3lx5EyfnT+Ls+lmIaE0A1QTglNWCU1YL/P1a/I3UKl6Oz6OQdGMm40e41Dn1pVosYu7s25g7+zZ8A0P4+d/7Px7kZb3v2AHFO9FxULaOymZSMOez2eC4eAmD716DfzPctrgiarVI7h5BaHQUsYEBCHo9LDotvO99rOW4qYcaV/Fi7R18ZXM/1nJtVpcmMwKTz+DYxz+BixcvNoFECvoQkwA9z2/jg7imnWSKQ6EQK6vLCe8vLS3hxRdfxOrqKtMipb8tl8vw+/3MiYyyb9KSNnFq33nnHUX95GQyiRs3bjCgwINH4h1TJptXH+DpAxTEUa7X6wiFQi3HIeUJMgug7Bbtm7iyBEaIB8oDVgI7BFDdbjcWFhYwPz/fMo5dXV04cOAArl+//kBk8qTZcenco+YpQJ7rS/JWVG4m0C8dI6JPpNNp9gGmMU+lUkin0211lSnIFUzKlaaFXDKZRKVSweTkJL7xjW+02GETWDx8+DBWVlawubnZ8nzQHCb9XbXgG+qkzwqBdaoy0EJLuo3JZEJfXx8Dp2Quwi8IM5kMbty40TQO0v3Q/SoWi9DpdFhfX5d97kulEuLxOObm5hTtsgcHB1Gr1ZBOp7GxsdFiOtHd3c3mYCQSQSgUaupJWFxcRG9vL8uQz83NMTMUWmjQO7RSqbCs69jYGEZHR9836Eun02yuStU/KEtfLBbR29uLbDarynG+fv16R3Jas7OzDPDyCyse8HZyXZ3YAXdyrE5D7Xg+nw8zMzMd3TO5oLlJ30+v1wun0ykrxxePxz80WTKj1oiXh1/Gy8MvYyO3gZMLJ/Ha/GsI5UKy20dRx5+47PgTlx1HBAteid3B345XsJL2YSbjR6xs7fjYvl2722/0kGIHFO9Ex0HluNXVVTQaja2SqiDAtrQE77vXEVhYgLaD5qeYz4fEwYOIjO5GxWCA0WiEmbM65ZtZ2MdOFDEpXsCu7Az+ZPMoanX1qavpHoBhZBzmYDcDZ8RN5IPAKwExpUzYvchJ8cehDC0BFSopr66uMl4p30jTaDQQj8fZy5nAIB88cJdr+uIjHA6zrIYU6FFGk6dU8L+X/jevPiGNQqGARCLB6CNE56DsL/18fn6elemVxpRkqJaWlhjFhEAVXXs4HMbKykpbibxOjUKArcwaZS/5bLrVamUKHnJjQ+NGVs9qY5TJZDAzM4Nz584x8wla4GSzWZw+fZopJrQLUnahc6DzIN4p0Qh48M0HLcLq9TrS6bSqpTg9P2pBUmy8bB4fBFysVivm5+fvvkO4DHY6nUa9XmcVJ9L+5fnbRPngF3PSoIw9r9HLjxFx8E0mE2ZnZ3Hjxo2W+0F22cePH0c+n0c4HGbnQ+dcKBSwuLgIn8/HqjONRqPpuae53NXVhUqlwsCg9PppkbO2tsayhcSvfj9BAIsWs9L7QQ1zAFQ51Xq9HtPT023ltNbW1nDu3DnGZSbecTQaxalTpwDczRSrXVcndsCJRILRMNodq120O97ExERH92xxcZE5tZIVNM+73rt3b1s5vu0iS9Zt68YXD30Rf//g38fFzYt4df5VfG/5eyjX5QH7ZbGAy14nzH49XhLN+Mz6NPrTAm5n/JjN+JCsqFPdigYzotHotuAV74Dineg4HA4H+zh212oIXLgA382bMGTVpYEAIGe1Ynl4CMtDQ8i91yiTzWbhes9JDACTXyJnKBaiiCfqZ1HdTOKbmQnV42itVniPPgVH3yBsNhvi8ThWV1eZZaqSNJHUwlmO69hpEFChzAqf4axWqyyzoGYJOzc3x/QvpfsBwPbTSdB+eHUK+n/ibPLAWHosyj62kz9LJBJwOBxIJpNMt1qqi0zgj8CqXNaLSuNzc3PM3UvuvK9evXrP90YpBGFLGcXlcrVQQ0h9gjJrSnQWqjZQSGkoNEaXL19GtVqFxWJh2xAYKxQKbW2yKeRc6Ph7RoDnBz/4Acv0S8+pXq/jnXfeaTJdoW14gEsAtd350PF5UMgDUVEUsbq6Co1GA6vVyhobBWFLmaJWq2Fubg6pVErV5IGeZwKgdM18tppfUNKiir8uAqy3bt1iNCV+gUN20VeuXGFSbPw9o/cVURRogSFtjqOKSCKRgEajYRlHmte0LzLSSKVSD8QEhxbiVBGQcsV598p2nOp2clpdXV24efMmyuUyA/PAViJFr9czm+vR0VHVTDfxt9uZYCwtLd33sTo93uzsbEf3rJ15RygUgtfrxebm5raXJaPQCBpMdk9isnsSv3X8t/D6ndfx6tyruBG/Ibt9sVHFSVRxstuPwUEXXimJ+PTqVaBgwmzGj5m0H9la82LArq+gYXXs2DzvxKMXqZUVdF26jD2XL8MRibTdvqLXY3WgH8vDw4j5fAA32UlCjECZtOGCPmKNeh2P597GwoYGhVpA9XjG/mFoBkeRgRa59XUmc7OyssJc+HjtU8o6yjnV3Q/YIu6pNMvL81Sz2SyzlpW+uEn2S9r09X7PjQA5dZnzhis6nY41RVHmlgdZfPNPJzzXS5cusSYqpXMhkE77lwOPABh/jwfWFAaDoW3m8l6CwJbNZoPVerfsRwCcmv6q1Sqj9vDbkIScnEYx/ZuAYTabbQJ7/Dm8n+vi6RN8NBoNXL58mQF6Uhfhj0eLFPo3nSfNOZ533knQNfHZdrp+eqbT6TQsFkuLZCHREYj2QQof0v3TXKZrV6o4SOes0hjR/eX1sOlcdTodM2fhm2bpvGu1GqMbkFyc9H6IosjUFubn51lDpdwc0el0LBN+v0HqQPwzLDcWtJ0gyEupddJE5nK5kEwmYbVaZe8Z9RG0MxzphL+9srKCWCx238fq9HjRaJQ1Birds2KxiHg8jkAgoMq7PnjwIDKZzLaXJZMLh8GBnxz7Sfzk2E9iLjmHk/Mn8c3FbyJRSshuv1xJ4Q81wL8d7MfjOj+eD4Xwd/MXECvaMZvxYzbrQ75mRE+vEzqXe8fmeScejWhUKsh9//tIn3wNub/+a/S1EfAXBQEbPd1YHh5G6D09YT74EmZfXx8SiQSy2SwrrVJjUCQSgRbAcPgMZhJm1WMKRiOM44cBpwcGSWmLFAVEUWQasbw0kclkgslkYrxcJfDXCShsGgexVYyeKAyUqVLj6FEGjJft4sewncyYNIaHhxkfks8edXd3o1wuo1gssvKg3LXr9fqOuG4kEUYOYFIep1arZVkwWphIj8mPNW8CwYOnB+mcB2xVQcrlMnK5XIuDmCiK6O7uRj6fh9lsbqHZkFQYXSuBeOk2wF2wqHT+9IGlfcjdY7Xf8SEIAtLpdBNFhwd9bOHJUX0o5OZup6H0rND+eSoTvygkSgTRZfj7zp+z9NzajQG/L+l50s+pWsNTiEiakeer0vND52AwGJgBBoCmec8vLLRaLWu+o7K6wWBoWVzRIp0HtO2azZTCaDTCYrEwh1E5XWCLxdJRub6dbB1JFbazuW5nONKJHTCfkb+fY3V6PFrUqN0zWgy1413bbLaO5P86jfuZH/cTo+5R/MNj/xC/euRX8dbaW3h1/lW8HXobDbH1uW+ggalaGFNBHX6vtgePZc34kmMJX6guIlRwYvHwb6K+Y/O8E9s5RFFE6fp1pE++hsy3voV6B2L71f5+ZI8exZ2+Xiyn01tZp3odkAFFjUaDZV3kolarQVPKwzn7DjbKBtltKIJ7DyLr6UINAmzcSp5KW5QFo48Sb5zAvzyIR0gfMWnp916CPraAfHaKMlDtZJCoZKsEVDvN4JHclt/vRyaTYVk4AoLpdBomk0mRn0wgrpMXFk/14P9eLvNMc0GanePL3HSvpOD6Qcfo6Chu3LjR0iAHbCkKHDx4EKdOnYIgCKyxisAS0Sb4ZkW5DxNfyqcMozToA0vjSLxYKcCin7cLMnjggRqFHOdXmim+1/lP9453WuRpD7QgrFQq7P7yf8vbJhM3Who0PjQf+eeNroufU/RsyzWr0rgocc9pjGlR4XQ6WxzmiAvKNxjyzz/NX41GA7fbDbfbzfj5cnbyJG3YSbOZWphMJqYoQoo7/BhZrVb4fL4WbqtSqFEsaCHX7p3WznCkEztgGrP7Pda9HM/lciGfzyveM4fD0VbajvjCLpdLcRzvJe53fjyI0Gv1+Pjgx/HxwY8jWojiG4vfwKtzr2IpsyS7fUNXwiV3CZ93O2EtDuFY1gQU+vBjOzbPO7Edo7q5ifRrX0f6tddQUZBD46PucKB0fBKlEydQ7elBNBrFQFcXIhcvspItv3Kmjw/ZAc/NzbXoh2YyGSRuXYO4MqsqtVbXaiD2jeKpv/NL+O53vwtRpdxIlIF4PA4ATRmTSqWCSqWCQCAAvV7PVu5SLmKtVmNas+1CLatK2QTS/FUS5+dfmlarVZbDarVa2zbaAVsNJ+l0Gn6/v4mvxvMBNzc3GXiRgqJ7yRLu2bMHoVCoiQJA+6L9kPFELpdjH2S6NgCMxiCKYlPpn4KAstVqbdto10kIgoBEIqGo+pBKpZgDIY0JDyRorphMJsbTBJrL1QSu6Nrz+byshXGlUmEUjsh7FCWezkL78nq9LKOtFBqNBocOHcL09LQsgOYXKDTH6Vg81YcWRVJQLQ1B2OJlU2aSnjvitmo0GphMJpZtleOcU5XB6XQiqmD5XqvV4Ha7WWOf3CKWztNoNDIwLvcuojmkdl0ajQYejwfpdJrRZCjoeQ0EAojH47LzlSo9drsdR44cYdnJer3OGgeJY63VatHX14dKpYKpqSnVZrN2wMfpdKKvr49l36mJlJoddTod+vr67onDqkSx6OvrY9J/92M4ci+227FY7L6O1enxuru7AQDLy8uK92xoaAiiKHbMF1Yax06jk2bEh9205rf48Qv7fwGf3/d5XItew8n5k/jOne+gUJPvRcmbk/hrMyDWfwe7wr+Gx3f1bws+9aOnkr0TDzQahQLSr72GlV/4Bcw//wKif/AH6oDYYED2scO487M/i7V//s+Q+cxnkPN6EY1GGSequ7ubfZwoW8Rnbrq6uthLo6lEWy6hdvMSGku3ITaUV81Vqw2lXfvRcPtQKBRgs9lgNBpRKBSYTTGpABiNRgYq+cyXtIwMAE888QTLYPPggLJ6hw8fbruSNRgMLMsL3M2O08efSvIHDhyA0WhEKpVCPp9nxgapVApGoxEHDhxgLzsCWvQhp8yU3W5vm13QaDTYvXs3LBYLotEok7cqlUrsnpH8GzV7UWc0ZVEMBgPT8m137Q6HgzWiyWXMRFGEzWbDE088wXQ7abyprK7X6/Hkk082zSPK6PFZ056eHmb3qxR0Pu3Oe2ZmpmnMpFzvmZkZmEwmVpqVm2cOh6PpQ8Tr9FJ0d3fjqaeegl6vZ/e9Wq2y+6/X6/HEE08weSfKcNL/KNvncDg6uvd0zu2un9zN5O4ZAPT29qKrq0t1Pz6fD263G3a7nVU5iGur0Whgt9ths9nYPFI6Fhle0HNkeE+hhjjGvIwiLab5/fDmJGRfLHcsQRDgdrsVS94UOp0O+/btY88r/wzR83rixImW9570PdPV1cVsnt1uNywWC3p6etDf34+enh72LI6NjTU1bVEjLDVtFQoFZqKkFsQFdrvdsFqt6O/vx/DwMPr7+2G1WuF2u5s4rKK4pTATDoeRSqXuuUIwOTmpOkadGHPQOau9ryYmJnD8+PH7Pta9HG9iYkL1no2Pj2NiYkJ1Pw+KLyyKzc2B73d+fFAhCAIOBw7jf3vyf8PpnzyNf/nUv8TR4FHF7bvEEez2OLYNn3onU/xDGGKjgcKFi0ifPInsd7+LRhtVAQDA3r3o+unPwfHJTyJRKqFMnKj37IF5+R5yNZPTBA4Gg9BoNMhkMk0i5oWNVVRn3wVUJLQaAlAJ9KPu7YLuPTOFfD7PVuuRSIQ1qFHTjsfjYdrKVquVKQvw52Q2m1Eul9Hd3Y19+/bh6tWrTY0uWq0W+/btYyV2QRBku8NNJhP74JNZgPT6qYmwu7ubOZsR71Oj2RJxP3bsGPr6+rC4uAiXy4VwONxSHiaDA5vNhnw+r0ixcDgcsFqtbfmAwFbWRIkzSW5tBAalQQCEX1TIvZQJ/O7Zswf5fB4XLlxgcmGCIDAr7LGxMayvr7edR7TgUOLeUqaSuJXSIHUJOV4t/ZvAeLFYhMvlUpxnBOAAsHOmMaBzJje2XC6neu3T09OKHwhBEFg3vFrU63XMzc119KHR6/Xo6elRPG+z2cx409FotGU++v1+ZmPc29uLdDrd0ivgcDiQy+Wg1WrZXJNa/ZpMJgZsh4aGEIlEmnSBrVYrAoEAW6hS5llpP2azGQMDA9jY2GiZ111dXWyxQU240uuiqpHdbseLL76oaKYRDAabTGvkjmUymVjFhn8eqfTNv0PbNX912pTU7li0iHsQpfgHYTgid85yvFs6p/s9VqfHA9DROD5IvrBSdNIcuF2a1ix6C17Z/Qpe2f0KljPL+Mt3/xLfXPom0vW7lMwf73sOJ448/My2UuyA4h+iqCwvI3XyJBJfexViONx2+5LLic3xCSwNDaLh9+PFgwfhttvht9sVOVHhcJiBNJJV40vjjcaWe5rBYIDf74fdZsXKD/4ahVvX1M/dZESjfwyiyQJwXEWLxQKz2YyVlRUIwpa9LH2M6vU6IpEI/H4/A8JkoMFHo9FAtVrF7du3sby8LFvSX15eht/vZyVhn8+HTCbDPvrkRkQyV+VymTVp8LQHatbI5/OIRCIIBALweDxsPzqdDpFIBF6vF6lUigFWaec4bUMgQMo9puY4AmpkCHL58mWkUim4XC4cOXKkpbFLiTOp1+vR29uL1dVVAGjK2BKvdmhoCJVKBaVSiWXf+AUIjXupVMLCwgIKhQKGhoZYKZmun2TJ2s2jdDqNfD7PGhN5IELXTuei1+tht9tbDGf4hkU1IE9AjSgNpP1MdJNIJIL+/n7UajWMjIxgaGgIa2tr7Pno6+tjFB4yvhkcHGSNfbTAKRQKWF9fZ/fdbrc3GaCQFnI6nW6bCaKyLQFIugb+vtEipVQqYWRkBLt27cLq6iqTnuvv74cgCMywhYwX5ufn2Ta7d++GRqNBPB6HzWZDNptFb28vcywzGo3weDxIJBLwer3IZrNoNBoIBAIt3Gy6P6IoIhgMIhgMIhaLsf1QBj0Wi8HhcCCdTsPn87UYIWQyGTidTjb3+/r6mG4vuSIKwpaxBo2F2WyWtXen52psbAy7d+/GzMwMc70bHx+HVqtletoDAwPo7++XPRZvzKDGz6V9dWKWQfdZjZ+qdizgwZbi79dwpNNzfpDH6vR4D2qb+41OmgO3S9MaH4OOQfzjp/8xfv3Er+Pkta/j9bXvYLm0hF/8+C/CoFOvZj3M2AHFH/GoZzLIfOd1pE+eRPHKlbbbV/V6JCYmED+wH9m+PkAQYGw0WrQflThR1HRUqVRayvuiKCKbzaJWq23xYaNhhL7/P1GMy3MHKfLeABAYADQaoHHXLpYyq4ByIxEBLR7oSbOOVN5dWFhgQEzqoJbP53Hz5k24XC6k02lmoUuZxFKpxDJiZNPLA0I6Jo3dysoKy/ZJgVq1WmXmHnK6pwQAM5kMy95JARIBIMpATk1NtTh2nTt3DidOnMDjjz/exAeU40z6/X4cOHAAGxsbrLmEL0vrdDoMDw+jUCgwqoUoigw08nSUarWKhYUFCILQImEkiiKi0ShWVlaYnrHSPKIFCN/cROPAG37YbDZmr0u/J3USyiry5hbSOcTzU1OpVJNpBs0hWiwBQCaTYXOESqjr6+twOBzQarVYWVlBOBxGNpttUkLJ5XKw2+2MUqHVahlopHOme9epKQllynU6HbOq5u8HgUCyM85kMmxxRzbJJB0FbGXA+extuVzGzZs3EQgEYDKZsGfPHpw9exZXrlxpeoaWl5dZxoxc+0iOkRQbaHFGTUt0PvzzQTbjer0ejz32GN555x1Eo9EmahRVNY4cOYKlpSXW/BQINEs6lkolRsvgJQppPzTGRqMRdrtdNpuaSCQwPj7e0rAldyxpI5HSO7ST5i/aV6cZXqVjSUvx9Jzx+rr3qh+r0bx/wxE+OuHdPqhjdXq8B7XN/cS9zI/tFjSfdDENPll7CdAD58+ef6jNge1iBxR/BEOs1ZA/exbpV08i+8YbENusGEVBQHXfPsx0BZGZmIDe2mzPeK/aj0BrZ7t0f2IkhIVzb0FU6aCv6AUUuseht2/5qdMHloLAWzKZZPquUkBDvFXgrsQSXyKnLJzBYEAymWQfcn4bkjCLxWKYmJhoKqdLGy6CwSBrflMag0aj0WSTLeeQNDs72yT1w18XnR85vymV0QmYv/vuu7IOauTYBQCTk5M4deoUUqkUs2iuVCqMLzs5OYlIJAK3283K4JThs9lsjL4SDAYhCAIDztJmMwLMpVKpiVvO3zMyACGJLKUQBKFp8UELDjoWAJb14gExP47VahUul4vRIeS2oX3Tgko63gTOk8kkXC4XlpeX2UeJv6+pVAqDg4NYX19vcmujbYrFYpNkIIEy6Xy9l+ju7mZuZNIKiSjelQAj/Vdp42s2m0UqlcLY2BgKhQJmZ2cZyCbptXw+j6WlJYyPjzOTCnrW+PNOJBKoVqus+YsWXPQM2Ww2aDQaDA4OsmNRxpYWWZlMhp1PX18fvF4vy5zRfNHpdPB6vejt7UUul2vbtEWZflog85nier3OeJtq2dTJycmOGrY6aSTqtPnrQTTjPUql+J3Yik7nx3ZoWuNjOzYHysUOKP4IRen27S0ZtW98AzWFzm0+8l4vYvv3Y6GvF1q/H/l8Hm6FpiSp9mOlUsGbb76JRCIBj8eDF154gQEp4rnm8/mW0rhBo0Ft9l2sb6yqnlvOaYV21yQM1UKTvi9w1/CBstKkMUwd+dJybCqVYplNyipS8FkzvptdWoIjSgSVQguFAqxWa1MJ3WKxoL+/HzMzMyxLKc3MUQY3/Z5sndlsZllMvV7PuJbUEW8ymdgY8mVvoj3wRhi0f36cSqUSLl26xBy7arUaAyFknnLu3Dn88i//MgDg3Llz7CNIWacTJ04gGAzi1q1bCAQC0Ol0LeXharWKWCyG/v5+WQks4K7WLdEAKHMpLX3TPKJrJwoAP4/I/CCTyTTdS+nCqV6/a/MrJ+XWaDSQyWTg8/kU1Q4AsPJ/o9Fg48hTGsrlMqLRKKtcEFin+0bXThQMcmujrD81ypRKJeRyOXYt0nlIc5jGsZ36hM1mg9/vx8bGhqK8md/vbwHe0uqDKIrs+gE0caFpnsfjcZw/fx61Wg2BQIA9/zqdDlarFel0GlNTU/iRH/kRxjkmWT5arNrtdoyPj+Py5cvsmeMVRmi8ga3mR71ejyNHjrTQUOLxOGZnZ5nyClU4+CY8h8OBvXv3oqurC9/97nfZu43uFynOTE5O4vbt20wVhhaL9HzEYrGmY0UiEWbOQpUCq9Xa0khUq9Vk6UzU/KVmlsE34ymdE5/hVaJYfFil+HaUj0f1WA8jOpkf26VpjeKDqEh8ULEDih/xqCWTyHzjm0ifPInSrVttt6+YTAjt2oXV3SPI+HzQv5c5pA9PJ9qPX/3qVzE9Pd300ZyamsLExAQ+8YlPwGq1bkmrJRJN22iLOVjWlyCWlR27GpoG0l39+PQv/gbOvfFtFKFvKm1T6PV6Bk6p1JzJZFp4pQTQCERTFo4Pul4CIVIgQh83MkEYHR1lDR68sP+hQ4eY8gKBVmnm2mw2s31Vq1UmEwdslViz2SzLMBLfU2qCwe9PruTPg2TKklJ5XhparRa5XG6rpCVxPKN9AHd5bAQw+OanjY0N1nlPVri0OJGCNuJu6nQ62fI4uRCSgxx1wkvD7XbDZrO1ZEnkxoKAmVIjFc15t9vNFljSY1ksFqRSKQiC0CLhRfupVCrIZrMIBAKIRCKsg5/ueyAQYHNUo9Ewqgk/NiSNxoNFHuzT3JTSgOSC7kdXVxczVZHT6iVOO503gXL+vGOxGLt+nrpBAFKv1yORSLB5u7Gx0XR+9LEmnnEgEMDi4mITncdms2FkZIRVbYgmIsdfj0QirLmTFhS0YKIG01gshgMHDgAAFhcXW8b68OHDLDNFcotSDjypZZD81+rqqux8pWPRu2Fzc7Pp3cAfCwDefPPNlkbL06dP49ixY3jhhRfaNn9RM57BYFA9J1pwT09PY2Njgy0curu7MTEx8aGU4h+mvu520PL9IKLT5sDtEo9SRWIHFD+CIVYqyJLL3Pe/D7QpqYo6HcK9vVgd3Y1wby+0RuPWB0YUmWQSsNXUQ7JQStqP586dw/T0dOsxRBG3bt2CKIooFArNWTdRhD6+CUNkDWqtQYKliETgIPY8/nE4tDXmACUXPG1BEASWdZJqEBeLRZhMJiZ7JRfELeQzyVKwRdlq6uinxjI+GzQ3N4eRkRHUajWWlZPup1AowGw2N3FF5a6NmsN49zcKAslGo1E1gyNHB5AGAdf5+XnWGGaz2VhpKxaL4dSpU3jyySeRz+cRDocZCKJrLxQKuHPnDoLBIACwDLDSORmNRuj1+rbleuJdy0UymWy5T2rjQHOcz9jTzwVBYHPA4/EwIEZcYXLRkoJK6f41Gg2z6NXpdE1yYKTBzR9XLqtN84y4xXK2wnq9HmazWVFXmT8v2j8pNfAcb7qeer3OjAnIPII/XiaTYXOcb0qUXj8ZVEjtwun6acF3+/ZtRg9yOp1NRggXLlxAo9FANBplCy9pkylZ6lJliKciESgk1Zm3334b165dY+fGn8/Vq1fZAi6bzTIpOX58stksrl27xsanVqu10GIoE7y5uYn5+XkYjUYMDQ2xY5XLZczNzcHj8cDv9+PNN9/EmTNn2Bzj3yFnzpwBAAaM2zU0UzZe7ZyuX7/OFEPo2uLxOMLhMJ599tmHWop/mCX0R6Vc/37jYTT1Pah4lJoDd0DxIxKiKKJ04ybSJ09uucy1+SACgGn/fjhfeQWZgwdw/tvfBgAG/oC7nFuaiPv378e1a9cUeaVHjhzBX/3VX6kec3p6uqkUq6lVYQwtQpvPqPwVEPSFccv9Ag6c+BHoCnEsLy8rgliKcrnMPvRqQWVCtSC+bbVaZZk6/gMqCAJzmSqVSvB6vU3d9fTvpaUldt5yK2IC6+2yfJRxpX3JgcxOrZfbhSiKDBBT5g0AA6+pVArXr19nTWak2gDc5doWCgVkMhnGz6VyuDQzKYpbhhwEoJUy07zSg1JQ5rLdtfH7pvPmF0AE/ur1Oux2e4v6BvGN20mgNRoNRsGx2WzMtpiy45SB5Sk8UhBCoMXlckGv1ytKklUqFVn3PT7oOorFYpP8IZ+ZJVdDUlIh2T0C42azmZk+8M2ifPAAm8aIpzvxdJ5KpYK5uTk21/gKDAF9AqFU4ZFrMqV9ra2tMZ468Y6z2SwKhQLsdjsWFhbY76WAt1arYWpqCg6Hgy2w6XzouLlcDuvr62xBzDd98q6ZoihieXmZ0RnoA28wGJroDC6XCxcuXGhpoKXjVatVXLhwAc888wxbDKk1NJPUJE/D4efa9PQ01tfXWzju5XIZ6+vruHz5Mo4cOfJQSvEPs4T+KJXr7yc+6Ka+BxV8RYKSDDxlbjs1B+6A4kcgkl/9KhJ/9meozC+03VYXCMD5Nz4N5yuvwLh799YPEwlW3lXKghoMBuzduxd+v19R+3FxcbFt5hG4axeryaVhXFuApq6cya7p63ih+za+bv4s9h17CT02DUo6B1ZXV9seq9FosKYmklGT6pWSXWwngIYy5VKTCPr4+Xw+VKtVFItFXLx4sYWq0dXVxRrQ+PGlkDaBtYt8Ps9kxOT0jh/kqjqdTsPr9cpSR0iQnj7kStnLWq2GxcVFBgSNRmMLp5qMSHK5XBNQ45utHA4Hc49qF53Mx3bb8/eFgD/fbHUvQZnXSCTSomBCPGoaNxprnhpBmWKn04lyuYz9+/fL8mU7teZNpVKo1Wrwer1sn/zHSBRFrK+vs4wmaWZTaDQalsnnr7FdKFUpKPtIFCvpM2QwGJBOp9nY8c2TdD4E9mkeUTMtvx/SCK9UKgwM8/eDxpsWBA6HQ/F8CoVCS/VMGtRoKYoirl+/3nQ+PAXlBz/4gWwTKl0bSSBevnwZk5OTbceZMvnUcEs0MVrMr6+vM6AsB5yXlpZw/Pjxj5y+7qNUrv9hCGoOXFpaYk3FNF/NZjNzBdwOzYE7oPgRiMrSkiogFoxG2F98Ec5XXoH1yScgSBqKqtUqPB4P0/vkS9/UlU5lYzXtx/Pnz3d2wqIIQzQEXXQdamvwuiOPXwrcwB9qfg67H/8keu1bHwni/nYS6XSacUtpFUofI1EUmygI7YI4leQYx4M+o9GIffv24cqVK4yfyWeTKWvFu6fJLUDuJRqNBlwuF1wuFzMooIwaAKyvr9/T/tSCxkouCKgAYOciZ/CRz+dZgx6NifT6KXtcqVTgcDgUgdrS0tIDuS7ioRJIkF4z7zhIUmh8VCoV6PX6jjMYVAbntalpP3SNvFGENAtKnFnS543H43A4HLDb7ahUKojH47BYLB2fD2VgqJGT6B3E2SbQSB8qPoNNC2bSI+Y57PcT5FxI3Hv+GeLl7ugdJR0j+jefCScVD/q3RqNpakLlwTDth4IoB4C8BTwA1itAVTM+40pZsFQqxRYVvKpIoVDAysoKA5fS+84H3Yt21Bi6h7SI458zeseTIo/FYlEE/MViEbFYDKOjox8pfd33cyxR/Gg15G2nEIQt+c13330X5XKZ+QtQxYtkDLfDeO+A4kcgXK+8gsSf/KeWn5uPHoXzlb8Jxyc/Ce17smVyQU1EZrO5pRxrsViYxih9aJW0H6mzXi2EagWmtQVoi61NXRQNiPD2bODvOhbwO42/i8HHfwyDjrtAvlKpdPzRp1W+TqdDOBxuydB4vd6OP+Q9PT04ePAgy5RTxpMy5T6fD6dOnWLlXv7DRk1x/PGl6gD00e70fKicSlbVfJRKpY6arToN/ljSIGBF561k8EF8VJKyom5/Cr7JjqgqZCnNB5WdH1RQJYE4oTwwILBDYEzupUwatp0EgSgpP532S9dGyh9yTmyCsGVhPTIyopi9C4fDHalPBAIBGAwG3L59G7lcruX5sNls6O3tZYsQngdMGVYAHS0s6e/UwDNPSVKichHXVg7A0jNHC3pewYPoFkSponsml3Hm90vPLgF//nwIcDscDuZIJ1fZKJfLWF1dRb1eb9oPVZmKxSKSySSGh4fZ3JADxlQpaJe95I1OlOgs1MSnBvj5cf6gS/EPs6nvXsv1H9WGvO0Sorgle+hwOFgfCi1eqUIZiUSwZ8+eDx0Y74DiRyCMo6Mw7duH0s2b0Pf2wvk3/yacr/xNGDoULed1DZXKsT6fr23p4umnn8b169cVf6/NpmBavwNBhS5RNNbwbN8sPmZI4HdqP4euI5/GLuddQEzl1WAwiI2NjbbXNjAwgHK5zJq23G43+121WmXauZFIRDFDQx+inp4eDA8PK2bKb9y4wYCTXEmO/9jRsShLyWfeSAmhXQSDQWQyGcXGR4/Hg3AHzoSdhNvtbttkKYpbslvS7Atl0Px+P44cOYLLly+zRkslI5CBgQGEw2HF5p7h4WHEYrG2580DMLmsPFER6LhSaTdyPiN+LoFS/p5Jwb1a8JxUKeWAqBVutxu5XA5+v7+lqY9sgGnOKWXv5ECe3Nj09PSwbKBUp5rMQ3w+H5vXdL/4Kgev3a02b2nhRMYp0v3wmXm1hlZaHBB9i59vNIa0mKHnS3rddK50D5WqNtQrQCCRp7cQ1cBkMsHj8SCVSqG/v78p628wGBCLxWCxWFgzn1wQSB8YGGDSe3J8aZLqO3LkiOq9FUWRLVSocsRfI/HCAagCflLHeBjxMPV176Vc/1FvyNsOQXQWWqRLFynlcnnb0Fnu3Q9xJz6U8P/6r8Hzf/472P7Ln0P/d34O+v7+lm1EUUQqlWIyVvyLf3x8HBaLBfF4nPHP+HJsJ80UXq9XvhwlNmAIr8K8OqcKiLO+LH5x6BI+ZkjgX9V/Fva9n4SrlmDSXNTsYbFYEAwG2/I5pdQI+iDT/+j6DQYDLBYLADQ1V/HNU1arlX1ciHPm9XrhcDjYuGSz2SbwK90P/Y4a0XitXmrsoZUxD97lIhAI4Omnn4bRaEQymUQmk0E2m0Umk0EymYTRaMTo6Kis9i4fchJz0tDpdDh8+DA7Vj6fR6lUQj6fZ8c6fvw4Tpw4AZ1Oh83NTUSjUcTjcUSjUWxubkKn02FycrKJJ8tnzHlwAoDNR2pcJNoB3f/h4eG22WLeRU5tG7o20jSm+5zJZGA0GjEyMsLkyaTNZLw7XyfRCd92eHiYObYRICbtajJKaXfPiPagFsSZnZ2dhVarZUotBBbJcGZlZQVAswYyn6Wled1urPmKBn+v+f+22WxwuVxM25koE5VKhdGWfD4f+vv7WRZP2sRH6g46nY6VwOn+0TVTsydZhFN2moAnX/VwOp1MeYLOhQCx3W6H2+3GwMAALBYLW6jR+4QAcSAQYAst4qTTe4EoalRROXbsGDMKoUUR/bdWq8WxY8fY4qTRaGBlZQW3bt3CysoKGwNaxBEVh+43gCbaAI0JvfPpnGj+8Nn6Dzr475DSc89/h5S+Z50eiyQQE4kEq4wIgoBEIoFMJsNcB/mGPKPRyMbF7/ejUChgZmbmgdCGPqy4n3F8UMHTWWgharPZWBLCYDAwDf0PO3YyxY9ARKNRzNTriKXTqL3zjmxpp135x+/3IxAItFj92mw2nDhxoqOVcCgUYoYKDHBXyjCFFqAt5hX/ri6I0A5u4LdNC9ALwO/Vfgr7PvUl7HFrMDU1xTRNpXq/JpNJVusWuNsABADFYhEulwubm5tNzYTEzaxWqwgEAtjc3GzRDga2QFJPTw9Tl1DS9KQudTmOKgEGygRSRkTKve3q6oLT6cShQ4fwzW9+U1EX92/9rb8Fv9+P9fV1XLhwgWnjCsKWbfPExAR2796NGzduIJ/Py5b3iQtLVAalcaTr12i2rJ+JF0nz49ixYxgbG0M0GoXdbmdd7xQ6nQ52ux0ej4epWJAJCU8PIFkwktpTa+4pFApNpXxp8OVpAjP8dpT1NBgM6OnpgdvtVmwg1Wq1uHLlCiwWC2sE5M+Z+Id075X0jnkXvVqt1jRG1LQniiJ6enrgdDpVxxpQf6aloEh6PjQfb9++jUQiAbvdzuyMpbQXWuzR+cnNa6ISUTOqlNJAIJEAhdzHjUraLpcLJpMJm5ubTTq9er0egUCAPR+NRgPhcLilYTEYDOLgwYOsQZAWwdL5odVqEQgEYLVaEQ6Hm8AwuU8SaPZ6vcxQhN5Fdrud/b6rqwter1dxvhaLRZaF5x0UaQ7R/LDZbHjhhRdQKBRw9erVpvcbaSe/8MILAIDZ2VlZPXRaNFEzK4F46ZwtFouwWq0wGo1Mz116z5xOJ6P8PIzoVF/3fukMnZbrqQHyo9qQt11oIY+SNfUOKN7m0UlpB0DbbRKJBC5cuIBqtdqkDVoqlXDhwgU4nU72MVYK4qZ5PJ6tj0c8AlNoEUJDubScM1dxcGgen8FWhuXfVH8CUfcxfMoJVb3fxx9/XFU1gn7n8XiQTCZZ8xut9CkjFA6H4fP54Ha7m2TC+CymRqOB2+1GpVLB97//fUVNz4997GOw2WxMqghoLlkWCgU4HA7s2rULkUgEjz/+eJNsG7mi+Xw+DA8P46WXXsK5c+ewvr7OPno9PT1skTI7O4vp6WnGfeUb/6anp9HT08PcAwnQSDmsVquVlf8JXPDbUONXPp9HJBJh1ss8fSASiSASieDy5cusU1+6TSaTwaVLl9Df3496vQ6XywWHw8F4vDqdDhaLhWUtcrkcBgYGFOkBc3NzAMAyXtImIb4KQAsFAv4EzKgT32AwYGBgQJEWk0wmWdOHHF86m802ZVltNluLo12pVILBYGBZOOkHlnicdB/pg9zV1dU0pyORCKOeqD3T5KxIwEh6zqSgQveeMjRSq2eDwcAWmKVSSXFe0/WTnrN0G/rYkfU4PVu0DY1LrVaDyWRCOByGxWJpohdRtryrqwvDw8Ow2+0tC9Senh6Mj483XYfSoomea41Gg+HhYQbCjUYjurq6kEgk0N3dDVEUsbm5qUiNoJK+IAiK85XeRdFoFE6nk2VkqUrC02Lo/o6OjrLmTqKMAFvv/EQigVOnTqFcLsNqtbL7H41GcerUKTzxxBMwm82oVqsM+Eml5EwmE5xOJ+NCKwH+hw1E2unrPgg6Q6fl+ng8/sjo595rbCdayKNkTb0DirdxiGJ7rUUy0mi3zdLSEtMG5bmt9MKcmprC6OioakmWGu3yuSx0G8swhNdUz38zmMPP+6axv7FFcfjD6mdxx3QQ46YtDjCdM32IjEYj7HY7YrEYrl271pT9kXLvgLtd7MlksqXBhcavWCwy3WUqiRKQIoBJMmuXLl1S1fS8evUqTpw4gdOnT6NQKDTxM4mPeOLECQwPDyOXyyGRSDTpfiYSCVYijMVimJubY+V7/trm5ubgcrkwNTXVoudKH71UKoULFy7A5XIxPV8COFSyBbYaEankS0CRPxZlBckVy+v1ynLOr169iqWlJWg0dw1T+HHOZrNYWlpCX18ftFotA8O8VBRfRqa5pNbcQ5lM4o5SUPlfr9fDbrejWCyyjxYP0iwWC9xuNwMblPkxGo1NZWOXy4WhoSHMzs4in8/DZDKxZkHK0O/evRuFQgGzs7Osu1+n07GGJkEQMDg4iFAo1KR6wI8RXdPa2hoKhQLTG5aCMCrXqj3TtAAkjrRULYW2d7vdrFSvlqEZHx/H1atXmVUwzX0CDI899hhu3LjBrkXKveX3R9cpbUSlRTidHwF6/jnjn3k18LS5udm0KJHOa1r4DgwMYGFhgWXLHQ4HRFFsehaBLSpNNBplTXokTydnzywXGo0Gk5OTOHXqFKPB0LjTuU9OTkIQBPZOl3bbi6Io+76ma+N1w2/evImBgQHMzc2hWCyy3/EqIrt27WIGHu0A/8MOpee+k29eJ/rCcuV6PgjsiqL4oWQwRfGDVbp4UOP4oIKoM4+CNfUOKN7GwWstAmgS1TcajXA4HKwZjVyo+CAQsLKyglgsxniV0oyawWBAIpHA2toaBgYGFB/Y3t5eaGtV1GeuQaOiLlHXiIiNhPHb+gW43gOwf1T7DGb0BzFsLEEQrEgmkzCZTFhZWWHavgSWnE4nE+XnS76UUaJmnXq9jsXFRQZ2eY4vjQXx6SKRCOOS8llHyl5SKZbKinx5nrKFpOkJgNFQiJvncDhw4sQJpi2qViL0+Xx45513kEwmWWmP7geBdyqb0j2Tk1OKxWIs6yxV3iCeI80DuWsn+TrKljYaDdy4cUNWY3VjYwP5fL6JY83PM9I9JSC9sbHR0txE4LG7uxt9fX2qc58yocBdPii/P5oHHo8HCwsLLHPLVwBKpRLcbjdrplErIx49ehS5XI45hfHl+t7eXhw9ehTA1uKTaDEUdG+PHj2KlZUVVcpHtVpl91XJnpek9tSe6Xw+D5fLxRofpfe1Wq2yxsfZ2VlEo1HVJspPfOIT0Ov1LdbDRqMRx44dw6FDhzAzM8MWE/xih2T0ADBVCTkaBlFPMpmMqkZ1sVhsW66mhYfdblelK1itVma9LEfTokzZ6Ogozp8/j/X1dTY/vF5vkz1zuzk0NjaGdDqNs2fPIpVKydJiUqlU23I9va+tVmtLkoLmSSKRwMGDB5HP5xk/l+adRqNBT08PHn/8cQBbgD8Wi8HhcDAHP+JCSzm8H7Yk2YPSF+60XO/z+R56BvNhUBq2o07zo2JNvQOKt3HQalfNypQyM2rlH+JJUoc1/8GmjKBWq0Uul1N9YDemb6D+7jloVOSp0pYqnKNL+N3KJrTvHeYPqj+OOf1BdAlplMtbmcZ8Po94PI5CodB0PsViEfn8Fj9ZFEWW/ZSWh4lqQfxQygpLuZW8PJjb7WYfS35ftVqN6YIqARECfbFYDJOTkzh69ChmZmYYnWB8fLwpm6mW5UqlUqyMTxk/3qJVo9Gw7CfdLzk9VypJ9/b2IhAIIJvNsvtpf0+ij3jgZN5C1AMq+RKAoGY+3mmLQNPq6iqsVmvbBg2iZNBCQ4nDzC861PZFDW4EcikI/PL8TbkGMaoARKNRTE1NtS0jHjhwgFmU09x3u904cOAAe2G/9NJLrOmJxnpgYAB79+5lRhkAmqSuaC5TZp40n5XseSmTR/dKWvqlLNf+/ftx4cIFRnvgKVEWiwWTk5OsAfLUqVOKTpWTk5PsWRwYGGh5PgqFAsLhMGw2G8ue8w2klUqFAbhiscieO7puGgdauDQaDVWN6ng8jnK5rPouovGhfUkrKWS4kc/nsbCwoEjTIuWF69evM944ZRez2SyuX7/OtumExkZmQvQM0DxeXl7G8PAwa7ht976m51BpG7q+5557TrEHgubsw+DwPqh4UFrGnZbrXS7XQ81gPixKw3a1VX4UrKl3QPE2DiqPqlmZUiOFmh4jdXbSB1v6gqBycLValX1g10MhzL35OpK3rqme73J3Di91zeHHSnezyL9X/Uks6cbRrc1CpzMwMftqtdqU3eB5rqQKQOVHqQoBlWypWWZ+fp6BR2mmuNFotAAUXpaLB7Kdgj7aNp/PI5vNyspC0fZyq/BSqcQysxaLhQE4anqj7BmpVVDmjz76er2eXS/9Tu7lx5s0EG+Sb7I0m82MV7i2tsZAGlFK6Njlchn5fB4WiwXFYpEBdH7cisUiox3E43EGPqSh0WgQj8eRSqVUFTgoe0gLID5TTMBHFMUm2T7pggjYWhRcuXKFUUMIcJE1dzweZ3QFAkZUHZACI2pYffLJJyGKIpLJJNxuN5588kno9XqEQiGIogij0dhETQHApMWq1SpbyNlsthZTllwuh1qtxhzfiH8traTodDrs2bMHTqcT58+fRywWY9tQRoZ6BOj/z507x7JDOp2Obbdnzx688847KBQKjFPOj2k0GmWSh3RN0vlO9CUC8jR3aVuaCwaDgb2vlMxEdDodcrkcpqenGZ2F9IjX19eRTqcxMTEBt9uNVCqFfD7fwl+mhj7KxkupCg6Hg1EVCoUCQqEQU+jgFxehUAiXLl2CxWJhFs60oCDgSJQXsoSmxlMp/erSpUs4fvx4k34uudEZDAY4HA6m0c6/+6SLFNIXttlsHYEMv98Pr9cry6cHmoEaUYvo2Xo/QO1+Ms4PqiHrXsr1DyuD+TApDdvZVlmNMrcdYgcUb+NwOByo1WqqVqZWqxXd3d3MFldOj9Hv9+POnTsA7jagUFDWrVarYWNjo+WBFaoVJM+8iXxY2T2trhExMxbFP9QvYqJ0N4v8r6qfw5puFAFNDo0G2MucQCmf4eODgJ/b7UYsFmvJbtM1dHd348iRIzh//jxyuVzTNvTfjcaWfTNxp3m5NsriUGYHQFvQ5/V68eabb7aUmU+fPo1jx46xznG1oEyvVquVpUYQV5U4tdLVPC0mLBYL/H4/+9jJGTOMjo4in89jenqaARUC95VKBRsbG+jt7WWNWdRMKb0fgiAwGgXNR55TKooihoaGUKlUWLabPug87UUURZZxVwPFvIqI1DablzHjpaakQK3RaCCbzWJzcxOiKDKqDT/WXV1drLGpHTB66aWXcPr06ZZ7f/78eRw7dgz9/f0MxNMY84s9vvGqVCrJWioTLcpoNGJxcbFJMYHmZyKRwN69e+F0OlGtVlkGlEDIwMCArPas0oe2k1JrNptFsVhEqVRqatqk7UulElwuF1N5oYoG/5wJgoBgMIiBgQHMz88rztk9e/YgFAqxhWMikWiqkFUqFYRCIfT29iKdTjP1Ff6+ulwu+Hw+ZLNZ1etaX19HPB6HIAhNXHmdTger1YpsNouFhQV4vd62lJdYLMbeu9KFLlkqkwnQ7du3mU40nbfJZILdbsfo6ChruuTVTmgc6/U6gsEgoyC1AxlyWeDl5WVG5ZqZmWF9GfF4vOn7US6X7wmo3W/G+UE2ZN0L2H0YGcyHSWngdZrlKHoajWbb2Cpvt9gBxds4qJzdaChbmRLoI66wnH0ivVwIOPAfYvrgCoKAUCiEvr4+9sCmV+7gzhvfRr1UVDzHtKWK6L4Q/n+FEDzVu/v936t/G5u6Yfg1zVJtPEhSU5aoVqvw+XxMCYLOkc8GDw8PN1Et5ILnCcdiMZZFonEkagnJdt2+fZtlp3hgRKDvypUrOHPmDANmfDn2zJkzANAWGFOjH2WZpdQIAuBK3FT+uohbrGTMcODAAZYd5ekoVPamhZSS9B3dj0ajgYGBAUbloUUIDy6PHj2KUCjUZN4gNbAAtjL1dN/UxqhYLCrKRREYVjKTIPBMoIpK/pQBprFeW1uD2+1mQFYJGC0tLeE73/kOLl++zEwaKDtJ9/7IkSMwmUxNDTy0DSkykI4vzSmg2VKZqA9En5G7Z9RgytNC/H4/y0Rvbm4ik8mwDN/s7CxTMrDZbGy7WCyGU6dO4dixY6zUqkTXiMfjKJVKbNz5cSSt3XK5jLGxMWxubrJMMD1DND8pa602Z0dHRxEKhVTpRTwolpaJa7Ua0uk0+5t2NIRisagIVMxmM9LpdFvKiyAIHVkqx+NxGI1G2evP5XIol8s4cODAFl1tY4OpmtA2pDQzNjam2hRN0a5cPzExoUjlogz82tpaR0DtQVAD7iXD20ncC9j9oDOYD5PSQEkMslXmK8o0B7eLrfJ2ix1QvI2DOLNqVqbU+KOmx5hMJtnLWarnCoBx8+hD1qjXsXrubcTevah6fovdefQOLOOPMnHwj/m/rP4s4roBeDXyYFoJfPFBbnQkN0XZEuo212q1CIVCGBsbk81u8pHP5xlAIZBCwI2knYrFIj7+8Y8jn88rNlsdOnQIX/7yl5t4t8Bdg4xqtYoLFy7gmWeeaZG+4kOqAiEXlE1Ui2w2izt37kCr1TZRZAh81et13LhxA5VKBSaTqSV7R8CbgIVa1Go1VvqmCgRlHujnwF1TAznaiiAIbP7SdkpBWfJ259QuKDPNg1Tp+SSTSRgMBrjdblVgdO3aNZa1ls7her2Od999F16vlwF+fhtaHFitVsRiMTaX6RzpvxuNBgNg1DHP31dqmNzc3GRqEWqlWI/H06RioqRk4HA4mIGOknSXVM+YB32NRoNRPShDS43BgiDAbrfDbrejVCphaWmJ0UmoZ4LmRKPRwO3bt9mCQLpI0Wq1yOfzbKFDFQg+m0rzbnl5GQ6HQ7UUL52jckGAV6PZMvOQng8tgmiu0e/4xRcdSxRFzM7OsgY8eqcLgsD+PTMzg8HBQfh8PpZNpyZVu90Om83WVKlQik7K9bdv32YZeaWxTiaTbd9FD5Ia8KDpDNulXP8wtXpF8a5OMyU+aA57PB5otdptY6u83WIHFG/joDI7PUh80Mu/XC4jHo+r6jFGo1FoNJom21N+P7S91WpFfHMDG2+fQjURVTyvukbEhYkEPmdexo9n7mb8aqIG/6z2eZR0Abg16i/RdkG8NI/Hwzi09KHmJc6uX7/OjAXoo8OXrClLlc1mGYeTXxiQLB2fpSkUCky/UqfTweFw4MCBA1hdXUW5XG6RmwLA+H7lchmXL1/G5OSkKreOjgug6YOu1+tZcyCfSZQbHwCIx+NwOp2KxgyJRILxXInLzX9MiSvZSUxPT7OPJ09jsFqtKJVKmJmZYRQCaqriz53+TVJcakHyXw8ieNoCHzytod1CjRpV1YKqDqSgIOUUE6ClTDOfbeWfS8oIejwexcbQTCaDjY0NpnMsp0xDXNdEIqGqZJDJZGC1WhkFix8Lym4GAgG2GJTTxKbxCYfD6Ovrk+XLlstlLC8vIx6PM41d6fkYDAa2KLDZbLL3TKfTIZ/Ps4UrAWwKotMkk0lmyqFUiu/q6mK0EFro8Q17VLWRo+fwQe+eWk3dUpneW5QBlXtmic7R19cHvV7f0kBL6hHtsredlOuj0SirMCqNNfG+1eJBUwMehYase42HqdX7KNkqb7fYAcXbOKjMnslkVMvsonhXN1ROj5F3WgJaG+1oO1OlhJXT3wGqyi/AjKWKSwej+J3SKg7n725XFvX4R7UvwKC3wSk8mI5W/rr4TK8gCE2lTz74Dz//ESNwzGfb6OcESokXaDKZsGvXLjbW5XIZc3NzTdlquSCVjFQqpeqM12g02Aef/4gS0NTpdE3XJc0I8dfFa3HKGTNQwxdleqRl73Q63fGHJhaLsX3y9BK+zNrV1QWr1cqyszxdRhAEliFrB4pJDeRBBd0bKZ+eaAlkwKHEJ+dpIGpBfM/19fUmHh+5K5ITHd8YRsejucUDMLn7yp+/mjINgedOKAT5fL6JrsFztqnxkgfu0ueMfs4fi0rxdP60mKV9Uvaef6dRnwE1kNI7kD8WVRtogUrzn9+GbKP9fj+zI5crxT/22GMQRRG3bt1iGXwKGvu+vj7k83k2TlJNaMq600KQVF7454z44oVCoa2ZCoFgqkZJQVKnZfZOyvW0qFAba/qGdHosJQrOvVIDtkuG90HFg6aGqEWnOs2PoinJBx07oHgbB19mV+ICU+ZUrctU+vGRZjwEAJrNFaxcvAOoZEOWuvII74ng/0psoIvLgmVFM36z9kW49VoYBWW5tnsNAodSHVJqRtNqtcycgMZHCnpojIC7fED+pcMbREQiEZRKJdlVfDQabSqdywFjyoTqdDp8//vfRzgcbtJzjcViiEQiOHLkCKxWK2w2G9NqJcBGWq3RaLQJsEo/1vSzTspxdA78h5oytvTB7iSoOVCpzEpA1u/3o9FoNEl30cfXYrHA5/Oxl7RSNl2tCe9eg8A4LYwoKOMvCAK6urqYLJnUUEIURbhcrpYFmFKQ3TgdGwADr7SYoGZKaTaZLzu3a/okIxA53m2hUGCugjzoIbkvytYT1zmbzTI6DYFWAtiiuKV2QxUMogJQ0DUYjUbW0JrJZGRpGLSoouoFPbf0XNN4kxKDHAildx5vBS6937S9w+HA7t27VUvxw8PDzJSF5gpljI1GI4aHh7G0tAS9Xo9wONzEpzebzfB6vU3vJqo68Rlnu93OeLadmKnQO/1+yuydlOuNRiNcLhcD/dK5r9VqmS13J8ciCo5cMyJ/zmpVtI9y3As15H7G6GFSNT5qsQOKt3nQC1Lqb08fBuJCRiIRxS5Tm83GQEkLD7NWhWn9DsRcWvEc6oKICxNJDHpj+HIsAhMH0OKiHf+o9v9At74GnVBXlOKShpTGIQ29Xg+bzYZUKsUUIviMUqFQQDAYxFNPPYV3330XmUym5dgEhGw2G/vQywUBxkKhoMgrJcMEKj3Rx47fBxkXEG+Smqn4jGCxWITNZoPX61V1mhodHWXNONKgcaMGt1gspmjMQPxD4oxLARaBeFKf4AG3FHzrdLqWrByND5VZaT6SPJmUHlCr1Toy1HjqqafwzjvvNIFGadBx5caIgpqcpHrYAFjp2m6348UXX8Tbb7+taIQwMDDQJP+mFpSd5YPoBVarlTXv8XOaxpToF6Ojo5ibm1Ns+hweHkYsFkOxWGziClNFJZVKwWazYWxsDJcvX2bGFVI1EK1WC6fTiVwuxxp0pUFzmizOqSGQnz8ajQaBQABer5cpnfBBlKTh4WEGfkulUsvzSkC0r68Pa2tryGazTSDUZDLBbDaju7sb6XSa0cukc58ynCSlp1SKp8Wwx+Nh48DL35F+OxkN0UKcv6+RSARDQ0OszyObzbaYidB9HxwcZHbQSs+sz+fDwMAAwuHwfZXZOynX9/T0QBRFLC8vs+PzZioajQZ9fX0dHctsNmN2dpaBLX6RlkqlMDY21pGRzkc9OqGGbCcVjx+26CxFtBMfSlDZnT5kBJpIq5gc31wuFzKZDNOHNZvNTA82k8nA5XIxYMSHppCFZfEmtCqAOGeu4TsnNvGyfQ2/Fws3AeKQ6MVv1n4FvfoqdMLWz0lOSi2MRiPrwlcKi8XCjDSoGYWoDgTuiHN54sQJlsWixQLfeX7w4EH4fD5otVrGvSSARlxCcsZSKzU2Gg3s27ePZXqoXErnpNVqceDAAczNzbHsL2XFCDSTVXBPTw9TxKDrBcCcpvbt29f25ef3+zE5OQmj0YhUKsVARqlUQiqVgtG4ZSHN004IpNMHm35HH3ppeZz+zasbSMEljSXfZc+XjM1mM6t68IYa58+fx8bGBiwWC7xeLywWCzY2NnD+/Hn2EVWL4eFh1gSmFE6nk1n7Ukg/EG63G8FgEM899xz2798Pv98Ph8MBv9+P/fv347nnnoPH4+moOZLnEtNCiI5H1JrR0VGWkeUpE5S1PXDgAI4dO4be3l5oNFvOfPl8HqVSCRqNBr29vRgbG4Ner4fZbGZax3QfisUizGYz0/vt7e1ltAXgbuWEfub1egGAOTQSqKEqA4HS/v7+pntNutR07PHxcZRKpSaNbQKstVoN5XKZLQqJVsDfD5pbdrsdbrebzWf6t91uZ/O7u7sbfr+fVXr4Z5EynD6fj1GlqBQfDAabDHp47uXg4CB2796NkZER7N69G4ODg6xJjC8z8+8YCnrnra+vM3qRxWJhTdK0oHK73W2f2ePHj2Pv3r2wWCxskUbbRKPRjsvsVK5vtx/SfDaZTGwB2NPTA5PJBLfbfc8lfbn3A0W75z4aVe5l+SiF0nwEHswYdXrvfxiy8/caO5nibRyUISbgItWr1Gi2LIxTqRTTNKaPJ2U0dDod0ul0UwONRhCgi29Cv7kKAcrZ2pVAAZf2J/G7qXV8rNjcOHezMYjfb/wc+vUFCMLdDwWVgiKRiGwDF9kPRyIRxawyXRdl6UiaiM+8UINROp1m1spkvUwfZLJe3rNnD9LpNMxmMyKRCANtgnDXDpkATzux84997GOwWq1Mq5ayqyaTCceOHUNfXx8uX74sy70kgEzZNrUyGmVvTSYTKylT0BgQf/XFF19kttBkDEGA2WQy4cKFC01NWvwcIoBst9thMBgQDoebmvy02i2DFGqUaldmpWYrKrcSdYPncofDYWaoodSpPj09jWAwiFAoxBqv+HA6nQgEAsxURC7rSEClUqmwLKj02gwGAwMkahkcchBT09YmAEv/5u8ZzfVCoYBKpQKfz4dUKtWkPkClbL1eD5/Ph2effRbT09NYWVlp0iAmXrpOp0N/fz+jffAZPq/XyzrOQ6EQoxxJj0c9CwQoKdtJ84y41vTfcsoSNpsNdrsdqVSKUURo3KWqGYlEgj0vpKpB84Nf8CeTySZFHaIXkaJOLpfDrl27WCZSanFus9kwMjLSNhPWCfeSGt8GBgaQyWSaxppoIfl8nnGSpf0flMCgplda7Ck9s/T7B6HA0Gm5nt+G3nU9PT0dHyudTqNYLKqOUaFQ6Egx5UGYVzyqIYrbV8XjhyV2QPE2D96Jjn9h08/L5TKSySTsdnsLeKAPZCqVutu406jDsH4HukxS8ZgNQcSlsRQSfTn8eWQNw9XmUuj36kfxhudncEibR62mZcoV+XweWq0WXV1djPsnpXM4nU643W5sbGw0KS3wHdj04aaGE2pU4jl6xDWkDI6a9bIoiqyUdODAgZZu7lgsxkA2X0ZUEjt/4YUX8Mwzz+Dy5ctIpVJwuVw4cuQIdDodfvCDH9xdfEgUD3iuYjQaxZ49exRB2Pz8PIrFIpPPIbCv0+ma7Hbj8TjGxsYwOjoq61iVSCRY9zuBcuCuKyBl8wRBwMjICHbt2oXV1VWWbezv74cgCIjH4+wlTRI/9NEjs4u+vj7WAMrzVXn6iMFgQD6fx+bmZot7GnCXqkKZNbovvBOfzWZDMBhkhgPkTicdI/p3tVqFzWZjWUzaD3FgS6US4vE4o87INfcYjUZYLBZmFCEN4lbzTm40znSNdP8jkQijEcRiMXbvyS2NusIpqHmJr2JQJlev12NgYEC2u1yn0yGRSDD1Cd71ke4FqT3QAof2wdNdaNtUKqWqLEENf7QAkbv3xJMmaoNUVYboC8lksm3n/MGDB5lyhnTxabPZOsqEdcK9pOtwOp2s6safjyiKWFlZQT6fZ8kJnj5Bx8jlclhbW8PAwIDqM0vxoBQYOnW9u59j0Zh4vV7FMaLkhtfrVXzuf9gVEXZUPD782AHF2zh4yoO0BE4fWFHcshsmrVmef0jC8pTN1JQKMK7MQVNV7jjNG2v4/mMxDJiK+B8bITgazZnk/9T4MSy5n4W3lkCxsnVu1WqVyfrYbDa43W7Mz8+zRhc6Z7J2tlqtTRQQuUYaav6hLCR1RtM2mUwGoig2dUVrtVrs27ev5ZqolEQvHIfD0SRtZLFYMDExwSTe6OVB4ygndq7T6ViGmo9OtHP57ZRAmDQzTBquPNDmmyY1Gg0GBgZa9kMfe9JP5ZuQaPxpzlCDFAHoYrGItbU11iSzZ88eRgEhAEmd5lSOS6VSDLBLGzyJFw80qxRIgyok+Xye8XP5+18sFrG6ugqHw9EEamksaLFosVjYwomun7KjNI9yuRxbOKmFyWRi2S5pFpjGlJrjKPPJUyf4e0UAl3i40msnF775+XnWMCc15iBnNOIM8gtmnjNIc4AAsfT6aUHqdDqZOgI/h+lDbDKZmCICjaNUWYL2p3bvRVGEzWYDAGaVTO8CqkAQSG1ncmCz2ZoyYR8U95L0gulZkmaTqZLTaDSYtJl0oS+KItNxplB6ZvlQej/ca3Syn/s5lnRxITdGNBcehnnFoxofhMHHg5pDPyyxA4q3cdCHjPiu0uYN+uCTiD2v68kLy9frdehTUehCdyCofPzXvUW8dTiGv1XM4jfCcfAiVFVRi9/X/F3Yhh6DP59Cqd6qn0sfgVQqBZPJhGq1yhqcqDRpMplYKZpeokrXRT/nG2mojEt84HZghqJdKYnsTum8qaRMHG2TydSR2Dm/CFDi1hHQUAviQ9JHVEp7AACz2Qyfz6e6H2pqIv4jZaqp0QrYmmcWiwXLy8vQarVNC6tsNsv4vbt27YLD4WgBIXw5jvZZrVYVS/HEhW3XGU0NS8Qrp6B/ZzIZBINBxWY8arLkF4xy50NlebUgFQcaH15VhFcK4BerUoBFx7VarW0NJVZWVlRLqLOzsxgbG2sr78SDXF55RRCa1R6sViujQEibzZxOJ+Mj08JJTl2AACHde5pv0nvvdDpZg5uckgPdI7VjUQaS7JzfbyaMXzArjePhw4cxOzvbFjiTkx0BRD7oGaQFAf3tRyWD934WF9LYUUTYUY3YDrEDirdxGAwG5hZF/DqeQkDgUk3xQazXgMUZ6CPriscRIeLqaBrTIxn883gMfyPXbMGbEq34fdOv4JnjT2B9bQWxahUej4dlRyh7mU6nUSqVmnhp1ERAmalKpYJsNss+wC6Xq+W6UqkU69AnLrW0PEocwEQiAY/HA2ALBMnRJyjUSkmpVApra2vI5/OMskGZPspadmJ3Ojg4CJPJxDiOTeP83r9NJhMGBwcV9wGANWHMzMywyoAgCE0qEkNDQ20zAAQsqWQtHWvifVLmQa5kx0e7chwtfogCI1eKN5vN8Hg8qqYKFouFZR6lZinUtCgIAuO2ejweZjdM2rXEpTebzcjn84rnQ1JkapHJZJqoK7wNN0n9mc1mVu6n85SOo8lkQiAQQDqdZnQJXnkkk8nA7XYjm80yPqySMceBAwfacgYTiQRrmJM2WdI5GgwG+P1+ZDIZZuUtVUPp7u5mTaJKC6ehoSG22JGTr6N7bzKZ2AJMTslhbGwMoiji9u3b0Gg0bAFNc4NXMqD93k8mrBPuJb3flIDzsWPHmD65kqqE3+9HX18fgPtXF9hu8aAWFz/sigg7qhEffuyA4m0c1P2bSqUYT5M4uGQoQJ3cJFPGl/2LyTga01fRyGcVj1E01PHWoRhKnhL+8+YmDpabJZluNIbwV94v4tiuPgwP9iMa3oDZbGbNfIIgMPBCJhTUmEIl/0aj0aQtmkqlcPToUVy8eJE13lCIogiz2Yzx8XFcuXKF8ZJ5W1O9Xg+LxdLUNDU1NcUa7Qj0vfHGGzhx4kQTzYFeLMTjo8wudeUSL5ovfQNg2fh2dqdutxujo6OYnp5uOj/gruvd6Ohok9qDEsAkO2VpRpyAHG9CorQf/nro48u7b5FebqFQwODgINMY5Zu2yKGNFgRqIKRSqbDfkSoCf952ux0ulwuDg4OYn59X/IB6vV7cvHlTdaz56kIikWhptKPMMElLKVED+EyoUhBHt6+vjzVHUfOX3W6Hx+NBKpWC0+lEMplkgJuAMwAGfAYHB3Hjxg3MzMy0nHMgEEB/fz+uX7/O6BLSTKnX62ULmWAwqLpIqb63gKW5Ldew6fF4MDQ0hPn5eUYvslgsTfSi8fFxXL58mf0dH/Tver0Oi8XCsoHS55oqBPw1U/ZdqiFN+yOOOn+sTo1U+GiXlW232OsEOE9OTuLUqVNIpVKwWCxsTtN7eXJyEhqNhqkLFAoFpl1crVaxsbGBdDqN48ePP5LA+EEsLn7YFRE6WVz8sI/RBx07oHgbh9PpRF9fHwOdcs1NwWAQuVwOgiA0df02opuo3r6+lSlWiLC7tMUfFkr481AEQUkZ+n+IL2Bz5Kfxwq6tlxp1vPt8PqyvryObzTaVPnt6elgjktFoZOVEHsxSaai7uxuBQADT09MtH+rBwUEcOnQIN27cYJxSHqRWq1Xkcjk4HA74fD5MTU3h9OnTTDmC6BWZTAanT58GsNWINzs7yzq+KaPo8XiYSgOBD6Iq8E1C1NzXjsslCAKefvpp5PN5bGxstFx/d3c3nn76aQiCoJot0uv12NzcZNQAqaRavV7H5uYm02pV2o/NZmtyNJSjqlAzEQFEuSaZeDzeEY+N5PasVquigQOw1UDn9XoVP6CRSITtj66XggdSvLay9ENB3F+j0cgWl3LUADpOu+uizKlSYxs1rjmdToTDYcYvJovnYDDIZMx4OgUfxJOv1WpYXV1VNeagc1ZbpFAGm88WUxCtwWw2t70f1KyptnAiyTXilEopJqIoolQqoVKpqKoUEDClxjzpOev1eiSTyY6bjTrNyrbLOLcDzp2oSjxIdYHtGA9icfHDHjtj9OHGDijexsGvGkl6igAN8QD5klRfXx9ikQjiV8+jsjSvuu8bw2lcGkvh5UIe/yKWaNIfLohG/PfA/4pnPv15eB2WJopBrVZDKpViElx8CZkskknAngdxVPqnRrtr165hdna2CXjStrOzs/B6vUyWjOgDFFQ+p3L2uXPnUK1WmUoEAAb4CoUCzp07B7vdjjfffJPxGolKEIlEcOrUKezdu5cBYqBZOYLn4XYCDP1+P1566SXcunULKysrrEt/YGAAe/fuZR+/8+fPM3MG0jNdX19HOp3Grl27EI1GWWOSlPZAme319XUsLi4q7ufYsWMsU+h0OmUpBi6Xi/HWdbotVyr6oHm9XvbzTtyo+PJff3+/rNIHlf8EQVD8gFKzCc/R5Kk6lLnlNat5moHJZGKLmJ6eHqTTafT39zMtXoPBAJvNhng83lSOVLo2/rrcbneTakQwGGxqbNvc3MSBAwfYQoLGMR6Pw+fzMWOTsbEx2W3W1tYYBUHNmIMWGI1GQ1HFgJoDCWTS9vT7crmMQqEAh8PBuNVy+wqHw0xdQGnhtL6+znoASO1CqixB74pAIACn09mivgEAoVAIqVSKnY8cbYw0fttd/8POyo6NjTEHPTka14NWFwC2Hzf5fhcXO7EzRh9m7IDibR5+vx+jo6OyGc7Dhw8zRYTl5WVcOXcW4vwNaAo5xf1VdA28czCG1WAB/0syjV9MZ8A/ZotiD24/++/wd59/vuUBJLkh6cca2PowpVIpJmpP2W1pUOn+5s2bTIFAup9qtYqpqSkGsEkqioIyt7VaDZcvX0Yul4PBYGgxV6AMVTabxenTp5HP51nGncA4ZeBmZ2ebFCGk2SlptrJd+P1+PPPMM4ouWjMzM0gmk2g0Gqz0T+XxSqWCW7duMUMQAhf8GJIRxq1bt1hGUm4/t2/fxuTkJL773e8iEom0LECsViueeuopRCIR3Lx5k2nn8tltl8uFffv2deRGRQu5cDisSA/gy39KH1Cz2Qy/34/NzU1ZfqpOp2OSXsVikXGG+WZEyuyOjIzgypUrmJ2dbTkfv9/PzqfdtY2Pj+PWrVst+7lz5w4CgQCef/55AFs6zNJtYrEY/H4/ent7ce3aNdTrddy4caNpLm5sbCAQCDA5OjLmkGpCU+Y3k8kgHA4rVj+oEY/GjyoCANhiU6vVMmpMrVZruf7l5WWMj493pC5AFSxyr5OOtcViYQvXcDjMNMOl10+LIpJakz7X1IhbqVRUqz979ux5oFnZTjLOctskEgm2zYNWF3hUucn3ywP/YYidMfpwYgcUb/OIRqOYm5uD0WjE0NAQAzTlchlzc3PweDxIJBKIzs8Ct69Do0KXiDvK+OvHYqibK/jDSBzPF5rBxhv65zD4d/4DPtnfLfv31Gyk9rGmjnY1RQBqZpM2UAF3ebckR0dd3HxHP2nrlstlhMPhpu2kQduRVBgAxrGlrFWtVkMymWySzFKKdtxTPpReaul0mmW25MrjlA0TxbuuXzyPkgfvBD5oDGg8aT9ra2vo6emBx+NhH2Se4+rxeODxeBAKhRCLxRiw0Gq1aDQaTBO2Wq0iFot1nHVTowd0Ek6nE11dXYhGo6wyQEHn5/V6m4AVf94kAWa32xm/V+keAZ1lFK9fv87s1PmgisP169dx4MAB1WNVKhUkk0l2XXq9nt37QqGAlZUVuFwuWCyWJv4yT1WgrPjt27eZiYzVamXnHI1GcerUKQBbzxMvhyXX/Fcul7G4uIiNjQ3F65dKwMk1APl8PsTj8Sb5P+k4kULHnTt3GFWErj+fz2NpaQmDg4MwGo2MDiU9FoHKjY0NXLx4UfH6C4XCA8vKdjI/ALTd5kGqCzzoLPh2yzjvxE58GLEDirdxKPHP6HfRaBS3bt7Ere99C435aai9vmb7s5jam0B3o4p/ux7Dbq6pJSVa8Zr/H+Bzf/+3YdQrN7HINRtJP9aJRKKpGU2aBQbuAkspIOb/hueL8v8DwKgY1WqVWVrXarUmzWIKAkQEJEm1gvYjCALj2tLP5YAbgfEH8ZEolUosS2y1Wtk+qQmOyv50ndJxop8LwpatMP07n8+z7SkDn0qlMDs7C4PBgCNHjsjSB27evInr16+z8eEpL6R+cv36ddb0qJZ1I16qKG7Z/sopGdxLds5gMLBFA50TT6kh8M8bo9B1NBoNZLNZZsiidj6kk6t0bTdu3MDU1FST8glPZaLqBp2H0rFWVlZYVpMaU/l7XywWWdldjb9cqVRw48YNlMvlpqoNNeOmUilMTU1hcnKSLVL5xSBf/SiXy1hZWUG1Wr0vCbhDhw7hf/7P/8ma++TUaXheO7+Io4Uumfa43W7GXZZzT3Q6nbh586bq9V++fLmJNy43tzrJynbKA243h2ZmZvDUU089EHWBB81NflQzzjuxEw86dkDxNo52/DOLXod3v/plVGIRxX3UNA2c3Z/AQl8ex4ol/H4kBheXLTov7sMZ14+jy9uDYj4Lo8ulmDHgm436+vpa+JBkEkBd+QTWKAjY0M8I2AHNzl/835AcG58pJe6vXq/HyMgIpqenWRZbCsIJAJJaBx2LPx6BcN6UQfqxou14ndF2oTSOlMWUkwKj0j9l0ikDymfK6ToIRBBVhQfzRL2oVquIx+MIBAIMTPDhcDiwuLjIKChKDoO5XA6Li4vo6ekBoCwTtra2xuYsKUBIj9dJdo63jU2n00xejbjsDoeDyc0RZ5XGnMaUxjkSiTArb7nzWV/fkiskjrz0fjgcDszNzTFAxmsd0/9TdWNubg4DAwOKxwqHw8xJUC5oLlosFiZZJ2fMYTKZkM1mW9zcaB8WiwWJRIItvvgqCwX9nGTVgsGgaka1nQQcNdKSOg2vllMqlWA2mxnoJX67tPGTLLu7u7vZwliuwdhutyMajapefyaTYRrSatbt7bKynfCAO5lDsVgMmUzmgagLPEhu8kdVDWMnduL9xA4o3sahxj/Lbaxh8X9+A9VCXuYvtyJtreL0kShS9ip+KpPFP4onQXsqiXq8avosCoHj0BeLrHFFLWPg8/ng8/lw+/Zt5HK5Fj6gzWZj2S8CCnyGD0AThYHAlzRIvol0dKWZWx6kms1mnDhxAqdPn0ahUGhSnyAHrj179uD69estNsdSQE6NfXyDH10HZaLtdntH905tHAl8qpWHdTodA0Z0TpSFpN87nU6kUimWVZYGZccpuykX9EHmGwnlqArUJFmpVGRlwjweD3OIuxfOpNLCgad6UMaQz5qTlTABdxoTWtjQv0nWq931A1Ddhs63HZilRk61Y/GLDaluMunxBoNBxGIxReDk8/kwPz+veqxCoYB8Ps/GhF+EAncXpcRP7+SeqUnAhcNh6HQ69Pf3Ix6Pt1SSvF4va9hzOp1MVlHO+Y0WMUruiT6fD3Nzc22v32KxMMqLmnW7WnTCA+5kDvFjeL/qAg+Km/xRV8PYiZ2419gBxds45Phnoigicu0i1s69BajwM+905/GDA3FA28A/iSXxU9m7zXfT2IWz/p+GxhaAFnd5t5FIhDlpqXHiiGPKA9BsNotSqcQ6raWlU+BuBlin02FgYIDxCoHm5jZB2DKm2NzcBIAW8ExZJTo/0iEmnWICHg6HAydOnEBXVxdmZ2cZT5kHwzxNwOl03nUA5ExR6OPjdrsZx1eNf9cu87J3714mEaZUHnY4HGy/xJslOonVakUgEECtVkM8HmfnI0dVoQy4GoeRgHmpVGIgicalVqsxaglxlAmkE4DLZrNMJsxms3XMmVRbOBiNRuTzecYZl3JvFxcX4Xa7odfrGf9USW6Ofq92/QBUt6Gfy9FZ+PEm4xK1/bQ753q9jp6eHoyMjCgCJ6p8tHPGM5vNMBqNTRUFCloIkl1zpzxXJa48va/0er2qbB1/LCXnN+n1S90TO73+YDCIa9euMd4xjbucdbtSdMID7mQO8WN4v+oC98pNVnpffRBqGDuxE49y7IDibRxSd5t6pYzl099F6s6c4t/UBREXJpKYGczC2ajj9zdjmCxtZQuKogHfs/4NJHxPsQ87n6FaW1tTzRhMT09jaWmJlavpQ0tArV6vI51Ow2q1Mu1kvnRLwNdms6G/vx/pdJo1wBEgpvK4y+Vi0m/EH5byZUkXFtjSIT569KisFBLxN6n7XtoVD2yBma6uLrjdbkUQajKZ2oI5sotWG8dQKITe3l5V/WlyvCN5LzlpM6PRyEC+NOtNwJYUJtTc44aHhxGJRNg58Fly4G6DlMlkQjQaZdxXPsNeKpVgs9nQ29uL5eXltpzJSqWCqakpxYXD448/znSueak9ygYXCgWUSiXGYyfrYCmH1efzYWBgAJubm4rn09PTA1EUVbcZHR1FIpFgYyQnEWg0GjE6OopIJKK4n4GBATQaDQZE5M6ZnM80Go0icGo0GkxqT81BbWxsDO+++y5rjJXTDiadYrU50gnPVfq+kqN9DAwMQBRFxGKxts5v93v9Pp8P9XodDoeDPWfFYhEajQYejwdarbYj6/ZOXMb4OaTkVCgdQ6XFRSdxL85nau8rftEvF/eqhrETO/Goxw4o3sYhCHd1ikNzs0hOvY1KNq24fc5Uw18fiSLmqmCkUsG/DcfQ/14J/aZuHy44PoWcxgHde+CQALFWq2W2ymqcuOXlZcTjcdjtdhgMhpbSZ7lcRjKZZG50UocqYKu8ePjwYSQSCYyOjkKr1WJzc5N99Lq6ulCr1ZBOp2Gz2ZiMGn3A6bwJPPMfXq1Wi3379rUcM5vNMlc2qdUvmStQlrNWq2H//v2KGrME5pR0gScmJjrKvBw8eJCZF1itVjaOoijCYrFgYmICwJbiRzQabToWcSnpGDzHlR8jCp/Px/YjV4ofGBjA9PQ0YrEYWzDwiwdaGJDGMfF46TilUomB6Ww225YzOTY2htnZWdWFw9TUFKOsyNkz0/zbvXs3rl27hnQ6Lesidvz4cXg8HtXrHx8fbxpruW32798PURRx5swZdv1USSCu8+TkJPbt24dcLqe4n4mJCQSDQZw6dUrxnMn5jMZeDjhpNJomBzVptYH2Q251s7OzrHrCNwc2Gg0MDQ3hsccew9TUVEc8V6WsI/++UtrP3r170dXVhVOnTiGZTDbZRZdKJZhMpvd1/XLjuH//fiwvLyMQCMhyiklZpV0WtJProjmkJEXIS/89iOj0nNopxuzdu/eBqWHsxE58FGIHFG/z8Pv98NTLuP3X34GoopO75i/i7UMxlA0NPFso4l9FYrCJInKCDdUX/z9I1HehPjeHWjbLRPQF4a5dsN/vRzabbcubo6wCZQil21AZ3ePxtMhXUYYmGAwiEomwDE9fX1/Tfihr5vf7WZMXn5k0m80wm83o6+vryAOeSqc9PT0IhUItOry9vb0wmUysqUtJY5bAnJq+8O3btzviZ9ps/3d7dx7dVnnmD/wrydoseZctO3EcJyFx3GwEZyEllAKhlGE4FNIOdCgDpT0z0wlTtqFllpZy5nRCl1mgLZR2GCgFhgMdmJLOQCGU5lcgiROzJIHEcfbYkW1ZtmxJluRF9/dH5r1ItiVdRdfSvdL3cw5nOpYivbq6V3r0vs/7PM6k9adXrVol5xWK+4judvE1qsWOfTGGqZsaxd8bGhrQ2tqKgwcPwuPxyDPO4u9iSb20tFSueTw1b1tUtzCbzRgbG5NzvcV5IDqeRSIR1NfXp92Qle6Hg8fjQSwWQ0VFBcLh8LQ0A7vdjlAohOrqamzatCllFzEAinI4093nsssuAwC5DJpYSbDZbFi7dq18e7rHEc+XbszpiGoQu3btwvDwsPx+O51OrF27Vn6ctrY2BINB9Pf3J9T7NplMaGhoQFtbm+IuWumqFCh5nNraWkXjVvL6Ux3HyspKHD16VP68mrrxUWl+O6Csy5jX600a9M5GPm66MblcLrz11ltpV61qampSrpIoWSUgKhQMijVMkiS89tjDOPDm68nvAwnvLRnGvkXDgAH4sn8Edwz5YQIwuPjzqL72QcBZi7rOTuz7v81mZWVlCbNKkUgEdXV1iEQiafPm0s0qmEwmnDp1CpFIJKFLmPiwjUQi6OzsTJsPaDabUV9fj2PHjslL6GKGa2xsTB6zki8bkVMZDAbljXLxYwoGg/IyZ6ovtUAgkFBfeKa6wJIkJdRYTbbjPRgMoqurCxaLBc3NzXJQG4lE5PrTAFLWqG5tbYXT6ZS7B8aXpBMBm9PphMvlSgiGZjreoqZvdXV1woy6SDsRM/bxP6bin0usCogNR6lyJsVmq1Q/HOJnwCsqKmZclRCtmpuamrB48eKkXc3SjSeT+1x22WX41Kc+hXfffRd+vx+VlZW44IILEn4gKnmclpaWtGNOx+v1ypU16uvr5b+Lusler1cOQi+55JJpP4rmzJmTEPCmG7fSKgVKHqe/vx/19fXTVjfix61EquPo9/tVyW9XcnzEhrV0pf/U3rCWakx+vz+jVatsqmEQFQoGxRpmMBhgLytPenvYMon/d/4APK4IzJKEB7w+XBMcxWh1K0o/92+obroQAOQvG5FbJ9r4iuYNojZuuhmD+fPnJ+QDTm3jKmaJBwYG5IBsaovWYDAIj8eDBQsWyDmfM+Xf1dfXIxAIyBuXRDMLEZDZbDZF+YCAsk58DocDp0+fTvmlJmaJxbJz/JjiKx+4XC709/fLzTjEMXI6nTCZTGhubkZPTw9GR0enBfbl5eVy/jaAlDWqz5w5I5ekm5iYmLYZ0Wq14rzzzpNr6Ir3RwQzvb29GBkZwaJFi+S/TZ39F+kKZrNZzoGOr68LQM4xFvne8WNItSErVbBSVlYmvzei1Ff8exafewqcndFuampKeR4oyeFUcp+SkhJ5c2c2lIw5mfiqAVNLqYnzIz4IU7qxK9nrj38+cc2Ojo7KwePUoE/J4yQ7rzMNHpMdR6V5t+ny2+NLkiV7XbO1YS3V7HX848/0mEorVDidzqyrYcwGJa+dSG0MijVu441/hh1/2IPSoVMJf++rimDH6gGM2iZRMzGJh/q9WBazAFd9H6VrvgKYPn5rxQd2SUkJfD6fvEQuZifdbjd8Ph9WrVqVcsZA5EP+7//+L86cOTMtNcLhcGDhwoV47733YLVa5Y1S8akKFosFkUgELpcLgUAgaSvguXPnor29XZ41ttvt8n1EubXu7m5FXzJKOvEBZze1iaB5phqzXq8Xo6Oj8ixsfJ6reJ1iY8+RI0cQCoUSNhiKurLLly/HiRMn0qYPAOnrnq5cuVKu0hDf5thsNqOurg4XXHBB2vzd06dPo6qqCmfOnJFTQ+Lfj9LSUlRVVcmzwDOVEhOl22bKI59KabCyfPnylDmj8bmnWpKLRgjnEoRls7FLPJ/FYsHp06enlTeb+nxaqHagJO9WSX67kiBdBKDpShZmsmEt2/MokwoVlZWVWVXDUBubiVC+MCjWON/gIKItq2DuOAHz+NkA4MCCEXS0DEEyAq3RMTzc50X98huAKx4AnHXTHkNsgJuptWw4HMapU6dQW1sLh8ORdsZgcHBwWvML4OPyZsDHrZwlSUoInsQyffyGHWDmVsCiHe7Urm/A2RmOUCgk11ZOR0knPr/fn7aerQh6p86WiiBUdJcTAWp8wxFx34mJCRw/fly1uqdOpzPl0riS/F1Rxk58kccTs7I1NTVy8wWxYz0+AJ9aDSQVpZuE1Mq9zaVcNUJQq05tJs8XCoUQCoUwMTExrTV5JBKBw+FANBrVVLWDdHm3Sq4PJUG6SNHq7u6esXW7WKVRumFNjfMokwoV4vVqoewam4lQPjEo1jBJkvDRRx/ipOPH6L3AikvfrcXbK3w4VR8GAHwmGMI3xmpR9+Vngca2pI9jNpsxNDSUsrXs0NAQzGYzqqurU5ZBam9vBwA0NDTIy+mizunIyAiOHDkCAHLHtvhd5KJ0l8VigdfrhSQlbwXc1dWVtuubaHebTnwnvlT1U8W4k82qGAwfd5NLNltqNBrR09ODkpISVFZWJk0fER0A1ah7mmqWR0n+rghORa3j+GBe5BH7fD643W4EAgHEYjH5PBI/FIxG47RqINluXALUyb3NlVw2Qsi0Tm0mr2Gm98xisSAYDGJ8fBxOp3PaZ0ggEIAkSQgGgzh48KCmqh1km9+uJEhPlqIl0qr8fj+cTifKy5OnwwlqnUdKf3xqKSWBzUQo3xgUa9jw8DAGB4fQUroK71s/wK8+3YNx89nZ1T8fGcfGypvwjmM1LnUuQmWKxxHtcFN14xofH0cgEEB1dXXSGYPu7m4MDg7C4XDIzRviidaqolzXTKW0xMyi3+9HVVVV0lSFwcFBeVzJur6JdIx0lNRPVVKrtqamRj6WyWZLRWtp0eZ46jG32+0IBoOwWq1p68ICyHpXuJLgKRQKycGCCHIFESzE3y5mj0Uw7HQ65SoiYjwiL3qmahdKN3YJ2eTe5lIuUwMynQVUItUMr7jW40v9TSVJEo4eParJagfZ5LcrCdKVpGiJiYN0772a55HSH59awWYilG8MijVMzGhuqL8VQ8e+gdes47DFJNxp+ATmfeIrGDKYMfF/9XRTCYVCcqCaqrVsKJS8ZTQAedNYulmVsrIyOZ0gvuqBwWBAWVkZ7HZ72rJlkiShrKwM4XAYoVBoxllZpTOTSmdMgI9r1VqtVvn5RGtZ8Rh+vz/pbKnZbMbwcPJa0kJTUxM8Hk/K/G0l4zEYDIpac3s8nqSbGkWwK0pXxafHiP9fLP9Go1EEg8GEHO9YLAan05kwnh07dkwryefz+dDf349LLrkk7calfMlmc08uUxrUngVMt2R93nnnyXXDZ+rCaLVa5VWempqatHnwWql2EP/jQmnTjZmIFK1ULa5Fk550Mj2P0p2z2XbPy6VcpwURTcWgWMPELMbE5CSur/8awv3/jnUVn0dN2QpMGi0Y+78P4nSzGE6nM6GcWrLWsk6nM+3jKGmt6nQ64XA4MDIyIrdNNplMKCsrQ3l5ecKGrWSPI2onnz59GoEktZWnzkxmWz8V+LgusMfjmVY7eMGCBejp6ZHzameaLXW73Th27BgikYgcyAuSJCEcDsNut2PhwoVoamrKajxi9i1d/t3SpUvR29ubtKnAwoULcfLkSbkpxtQvS7HKMGfOHJSUlMxYW3nx4sWora2FJEno6OhAT08PTCbTtOYMPT096OjowJVXXqm5L+VcbmxSg1qzgEqWrE+fPo3S0lL5up4a9InmOOLH1Uy0WO1A/LhIdX0oCdKVtLhW+t5nch4pPWe19uMzmVxfQ0RTMSjWMDGLceLECXgmzVgxfitC/TEcHzgOu90ul/dKN4vR2Ngot0RN11oWSD7zEP84qVqrira68+bNmzFfWEmqQkNDA+rq6tDV1ZWytrKYmVSrfmq62sFidi4UCsm5g+I+DocD559/PmKxmLyjfeqMmiRJaG5ulqtKZDOeqqoqRTvnW1pakn6pGwwGLFiwAHv27JGXgKe+r2NjYygvL0dNTQ327t2btG5ydXU1SkpKcOLECRgMhoQNkiUlJXLXxBMnTsjpM1qRj41NalBjFlDJkrUIZv1+f9Lr2uVyyXnHeqt2kOr6UEJJipbS917p7HUmpeSU0EIJtHxcQ0TxGBRrmMFgQF1dHfbt2ycvmYtmCoODg7BarYoaWMS3RE3XWjbdzEO61qrxbXUHBgZQXl4ud3sbGBhQ3FZXlEoqLy+fNitbU1MDo9GI/v5+LF68OKONGclmTOJny5LVDj506BA2btyYMMslvujjGyG0tbUhEAjA6/UiEonIwaOYbW1ra0uoXHGu4/nggw8QCATkL4hIJJIwOyXuJ0rwpdrUeOGFF+LNN9/E6OiovHogSkyZzWZceOGF6OrqSltftr6+HuFwOGEzVvz5LDrR+Xw+zQTFet/YlO0soNIl66amJvk6num6Pv/889HZ2amragdqNd1Q870Xj5WsZXRdXZ1qpeQErZRA0+PmQCosDIo1LL7phggMRZOE+MBQNLCIxWJJd+mna4na0tIiz5aFQiG5QUYsFsOZM2fkmQfxOLt375aXPk0mE1wuV8Lt69evx8GDB3Hq1Cl55qGpqSlho5WSUkl1dXUoKSmBx+ORH6ehoQHj4+MYGBhAd3d3RhszlNRPFV/gYoOYSPsQj5Nudq62thaf/vSn0240SyV+PEDygFcsVyerjSpaL4vzZaZNjQMDA7j00ksBALt27ZJLtBmNRpSXl+PCCy/EkiVL8Oabb6Ycz8DAQEIKjsi1ju9EJ/6easNWrmW6uUeNqhpKKZm9y3aGT+mSdX19PWpqalJe1+JaUiugUWv2Usl1n+r6yGRTWzbX/dQxAzOXrAwEAqptSNNaCTS9bQ6kwsKgWMPEB3ZdXd2MLYOj0aj8wdfX1zdjrmd8PddU5a3EjImoDTw4OJgQYI2NjckzD9XV1Zg/f76cJ2qz2TB//ny5NTEADA4O4sSJExgYGJDHIxqFKKk+IEol9ff3o6enJyEPuru7G3PnzoXNZkMwGFS8MUNJ/dTh4WF4PB45P1LMbjY0NMBgMMgbPNLNcmW7rK2kGYBoGpKqNqrdbofZbFZ0fNatW4e2tjYcOnQIIyMjKC8vx9KlS2EymeT3I11zAqfTKVfYAJBQoUNUMLDb7XC5XIqOQy5ksrkn23bAmVDyXGrM8GWyZH348OGU17WaAY1as5daqpscL1mgLj6LU5WsPHz4cNrNykrGrdUSaHraHEiFhUGxhsV/WYsNZvHEB9/hw4exZ88eRKNROBwO+Ze+1+vF9u3bAXw8U5ysvNXw8LAcLE9OTsol18SshMlkQnd3N44fP4533303obJAKBTChx9+CK/Xi0suuQSDg4PYvn37tPEMDAxMG0+qUkl+vx99fX2IxWJy9QzR2OPEiROor6+H0+lUNMulpH6q6AwnGpyIHN7R0VEcP34cbrc7ow0e2SwPK2kGUFFRgVgslrI2qtVqlat9KNm4YjKZsGzZsnMaj8gTdbvd8pe6xWKRAyfR3ETkVGuF0pnSdOeQknbASimZvQOgygyf0iXrw4cPK7qu1Qho1Jq9TPc4ra2tqm3sin+umdqpx485VaAe31Ak2ey1qHCT7bi1XAJNC+k1WqeFPPBCw6BYw5R8WRuNRhw4cADRaDQhMLJarXI94Pb2dixevDhlw4NIJIKhoSG5MkT8TKnZbMbExASGhobw3nvvpawssHfvXni93qzH43Q65VnvqZv6RGm5wcFBNDQ0KJrl6unpSTkbIlpGj4+Po7S0VH4+UWt4dHQUIyMjKCsrU/r2ZfWBpaQZgM1mk4PeZLVRbTabvEEqm40rmTQnsNvtsFqtcuqE+PEkOinGl3PTAqUzpenOIbVm1JTO3olSeWqMJ90Mb01NDV599VXF13U2AY1as5dKHketusmZjHlgYCBt+bt0s9cGw9nylulqnSspJccSaPqklTzwQsOgWMOUfFnb7XYEAgE4HI5pQaZY2h4cHER3d3fKBghjY2NyniiAae2ZgbOzEj09PSkrC3R1dWFiYkLxeJIFjp2dnXI94qk5qJIkwWQyYWJiAocPH047yzV37lx88MEHKWdDTp06JS9HztR0RPy9p6dHUSOJbD+wlDQDEK8lXW1UsUEqmzxPpc0Jenp6EA6HsXDhQvj9fnnlQZTqq6ioQDgc1lTxfSUzpUrOIbVm1JTM3p05cwYA5Comaown1QzvqVOn5MY92XzOKKHW7KWSx/H5fFi1alXWdZOVjtnv9ysqf5eu9KXZbEZLSws++uijrMbNEmj6pLU88ELCoFjDlHxZu1wudHV1wWw2z7ixyWKxYHR0VM7xTMZsNmNychITExNJ2zOL6g3JPvjtdjuGhobkx5tJ/HhSBY4jIyOQJEmecYzvsmYymWAymRCNRjEyMoJly5alnOVSkjcoyqVVVlYiHA5Pq+UsqiakO46AOh9YSpoBDA8PyzP5qWqjig1S2eR5Km1OIHK8a2pqUFFRMW1MomW01mae0s2U5jL3VMnsnfihmqsZPiWNe5R8zsRL9oNYrdlLpY/jcDiyzoNW+lwDAwMZlb9LNQu8YMEClJWVZTVulkDTH63mgRcKBsUal+7LOhwOw2QyyYFcfDBnNptRUlIiz9KlMj4+Lud+zjRTKioHpCMC53QNPsbHx+XA0Wq1ygGTCByrq6vlDYDitvgua6KhRHl5uXycks1y+f3+tLMhYuYTOPtFMfXHRTQaVXQc1frAUtIMwG63J3x5pqqNajCkromcjtLmBFNzvKfmQ2bSxCDXsj2H1HpdSmbvRHtz0QZ96vtxLuNJ9SM1k8Y92T6XWrOXmTxOtnWTlT6XwWDIqPxdulngbPO3WQJNf7ScB14IGBTrQKoPPtFit6+vT94cF5/2MDo6CrfbLTfmSMZisSTMEE+dKQU+zq9N1a1NtHgeHh5O2uCjtrYWfr8fQ0NDmJychM/nkwNQu92OaDQqd8UTPwKSNZQQNY+B5BszlMyGNDU1IRaLYWBgQP4xMdO40x1HtT6wlDYDaGlpQXt7u6IvtGzyPJWOp7GxESdPntTtzFM255Bar0vJc4kGOCdPnpTPz/hqIEajUVFjHyHd6sbatWvTNu5Rcn0oea5169apcqwzfc/UvD6SPVdNTU1G5e+UzAJnuyGNJdD0hXngs4tBsU4k++AzGAyorq5Gf38/JiYm5JlNMeMrbk/3S99ms6Gqqgp+vx+xWAw2m00OrkXTjIqKCpSWluLkyZMpu7UtWLAgZYOP5cuX49ChQwgGg9MqGYRCIRiNRng8HqxevRo7d+5M2VBCyQy2ktmQ1tZWuN3ulOMWDU5SUesDS+kMTq6+0JSOx2g05mXmabZ3YedyRk3pcw0ODmL//v1yNQir1Yrx8XH4fD7FjX0AZasbhw8fxtq1a/HGG29gaGho2iZbm82m6PpQ8lydnZ1oaWnJ+lhr8T0TM9JKAvVsV3cywRJo+qnkwDzw2VWQQfF3vvMdPPDAAwl/a2lpwaFDhwCcrbRwzz334LnnnkM0GsWVV16JRx55BG63Ox/DVSRV8XkAaG5uRn9/v5xGITbD1dXVAYCimcnGxkZMTExgYmICoVBI3iDlcDjkfNKWlha53Fuybm0iENu9ezd8Pp8cqIkGHxUVFdi5cydisdi0DXsmkwmhUAhDQ0O49NJLYbPZsHPnTgSDQTmHtaysDBs2bMC6desUHz8lwaMYd6oGJ+mo+YGltBlArr7QlAbguZ55UnMXtpLGHFPfj/huhmpJ9967XC4cOnQI5eXlmJycRDgclhv7VFdXw2QyJTT2SfXalK5urFixAmvXrsWuXbswPDwsz0w7nU6sXbtW0fWRyXOpcQ7l8lxU+lyZBOrZzgJnQslz6SVwzJSeKjkwD3x2FWRQDADLli2Ta2cCSFgOv+uuu/A///M/eOGFF1BRUYHbb78d119/Pd5+++18DDUtJcXn3W436uvrEzqxlZeXK97YJGY6ent74fV6EYvFIEmSXF+2trZW/oD4tIJubaLBh8FgkO/T1NQkd1kbHx+XZ6OnjqOkpATRaBRjY2NYsGABwuEwjh07Js9ILVy4EAsWLMj4OCoJHlM1OFEiXx9YufryVBqA5ypQV3MX9rl+MeajO18mjX0qKytVaWDR29uL/v5+1NfXyz+Gxf/t7++H1+tVtIFU6UqK2+1W5RzK5SyokufSa7qCngLHTOitkgPzwGdXwQbFIi9rquHhYTz++ON49tlncdlllwEAnnjiCbS2tmLXrl248MILcz3UlDItPj812Mp0Y5O4kET+8NS/A+k/+OPHXFdXJ4+5r68PgUAAixYtkv8mam4KYmOfxWJBKBTCvn37MDo6ijlz5kx7nHP5sFISPCZrcKL08dX6wMqkGUAuKQ3AZztQV3MXdqbNMmb7/Uj33sfXsjUYkjf2EV34sm1gYTKZcOrUqWnHGjj7PmS6gVTpSopa55DWZlz1lq6gt8BRKb1WctDrDys9KNiguKurC3PmzIHNZsOGDRuwdetWNDU1oaOjA+Pj49i0aZN836VLl6KpqQk7d+7UVFCcj+LzsVgsaWvR+A+HZB/8Ssbc3d2NyspKDA8Pz5ibbDKZUFFRgdOnT+vuwwpQ5wMr/ji6XC45t1nMzkx9P/Qqm+VYtTY15qNZRipKxqOklq24dg8cOJDyPIr/DBH3ib/2R0ZGUFVVhUAgoPoG0mJe+s1loJ4NvQaOSui5koPefljpRUEGxevXr8eTTz6JlpYWeDwePPDAA7j44otx4MAB9Pb2wmKxTDvB3W43ent7Uz5uNBpNSEMYGRmZjeHL8lV8PllrUbUK5gcCAbhcLrns2dSat0ajES6XC8FgUJcfVkD2H1jiOJrNZvnHQXx1Aa2/fiWyXY5Va1NjvpplZDMepbVsAWBgYAAWiyXpeSQ+Q/r7++UfxoLRaERdXR3mzZuH/fv3q7qBtL+/X654E4vFEIlE4HA4uPSrMXoOHNPReyUHvfyw0pOCDIqvuuoq+X+vXLkS69evx/z58/H8889n1WJ269at0zbwzSYtFp9Xq2C+qMMZCoXktrHxX4xNTU2qfAnnUzYfWNFoFKFQCKFQCBMTEwmz6cFgUD5OWn79qWSyHJtsNlmtTY1aa5aR6TWU6sewuMbSnUdjY2NybvTUwEeSJLlMoVobSBcvXoz29nb09vbKG3qrq6tx/vnnc+lXY/QeOKbCSg40VUEGxVNVVlZiyZIlOHLkCK644gqMjY3B7/cnBCx9fX0z5iDH+9u//Vvcfffd8v8/MjKCefPmzdawZ6X4/GwHGEofZ2odTvF3sZPfbDbj4MGDRfthZbFYEAwGMTY2hrKysmkVOgKBACRJkmtI60kmy7EiTWSm2WSXy6XKUnymzTK00LxDaS3boaEhBINBjI+Pw+l0Jj2PTp48CUmSkqZOKUmxUJr24PV60dXVBavVKtdbFhv2urq6UF1drXpgXKhVE3KhkANHpvPQVEURFAeDQRw9ehQ333wz2traYDab8cYbb2Dz5s0AgM7OTpw6dQobNmxI+Tii81quqF18PtVytVoBRiZjTlWHU5Ikflhh+qxdIVC6HHvs2DEcPHgw5WyyGpsaM2mWkW3uvhJqXUPxUlXImJycxNDQEKqqqpKmTokUi76+vhlTLER1mnTHWvwgEo17wuHwtMY9auenFmrVhFwp5MCRlRxoqoIMiv/mb/4G11xzDebPn48zZ87g/vvvh8lkwhe/+EVUVFTgK1/5Cu6++25UV1ejvLwcf/3Xf40NGzZoapMdMHuVDGYzwMh0zMkC+WL/sBobG4PT6UQoFJpxM6LVapWXvfVG6XLs4cOH084mb9y4MevUIaXnGgA5d99qtco/3qLRaF4aQaS7hgBl55GYBUz3foyNjSV9fZnkyotyh8ka93R3d6uWn1qoVRNyqdA/i1nJgeIVZFDc3d2NL37xi/D5fKitrcXGjRuxa9cu+eT+13/9VxiNRmzevDmheYcWqV3JQK0AQ0mTAz0V3tcaEfQ6nU65Skf8ZsTy8nL5fnqjZDk2FothZGRE0cY2NXZhKz3XRC6sx+NJyIVdtWpVXhpBpCPOI4fDgZGRkRnPI/HDSklJNqXVaZKJRCIYGhpK27gnEomcw1FLVMhVE3Kt0D+LWcmBhIIMip977rmUt9tsNvzkJz/BT37ykxyNKDtqVTJQsntYyXMpWY5U60OmWD+s4pcs582bN2MQotclSyXLsaLCgtLNPWrswlZSf7urqwsWiwXNzc0Jm0NnIxdWjXNfyXmkJDWksrJSrgaTTXWasbExxY17slXIVRPyodA/i1nJgYACDYoLkZILNtnsbfxytVjuje9+lUmAEb8cKXKsJUmacTkymzFn+tr1Ktnrj1+yHBgYQHl5OUpLSzE2NoaBgQFdL1kqWY5taWnBBx98oHhzj1obqZKda/GzjnV1dQmPXV5ePm3WUSsbu5SeRwBSlnVUqxqMxWJR1LhHjQ2khVw1IV8K+bOYCGBQXDBSzd6K5erh4WF5CXVqrVIlu4enbpLx+XxZbZIp9g0w6V5/IS9ZpnttLpcLPT09ijb35OI8ymTWcXx8XJXxqPW6lJ5Hqe6jVjUYm82Gqqoq+P3+pI17Kisrp81En4tCrppARLODQXEBSLeZZN26dbDb7ejs7ITJZILNZpO/iAKBAPx+P1paWtIuxau5SabYN8Aoff2FvGSZ7rUp2dwzMDCQk/NI6axjb28vjhw5kvV41L4+lJxHqe6jVjWYiooKNDY2YmJiImnjnsbGxpxX8SAiAhgU614mLWqB6bvEMwmu1NokU+wbYDJ9/YW8ZJnqtSmZTX7rrbdych4pmXUUm9GyHc9sXR9KzqPZrgYT/zjJGvfkq4oHERGDYp1IlqOoZFnX4/EAAObPn5+0kkE4HM7ZJpli3wBT7K8/E6lmL/1+f86Oo5JZx/jNaNmMR6vnx2xVlZnauEeLVTyIqDgwKNaBVLmFsVgs7SY6EaTW1taioqJi2n0kSYLP58vZJpli3wBT7K8/U8lmL3N5HJXMOma6GU3JxtjZfl2Z0mNVmUJOQSIidTEo1rh0uYWtra0oKSnByMiIPAs8dRPd1Ba1UzexRKPRnG6SKfYNMMX++tWS6+OYbtYxk81oSjbGavX8UCudJ5dpQYWcgkRE6mFQrGFKcgt7enpgs9lw+PBh+YtSBKrBYBB+vx9LliyBw+HIukVtpptkks2EFfsGmPjX73K5ptWOLfTXr5Z8nEdqbEYbGxtDe3t7yo2xxXx95ItWyuiRurT4vmpxTHQWg2INU5pbaDKZAEDeTCfEb65bunRpyjqkam+SSVdOqpg3wIjj2Nvbi0OHDiEWi8m3GY1G+fgU6utXS742UmWzGa2lpQWdnZ0pf+h2dnaipaWlaK+PfCj28pCFSovvqxbHRB9jUKxhSnILfT4fDAYDmpqaprVxLSsrkzfRWSyWnG2SUVpOqtg3wCQLahjsKKe180hJioWSH7orVqzQ1OsqZMVeHrJQafF91eKYKBGDYg1Tklsolm0rKipQWVmZchOd2+2e9U0ymZSTKtYNMOIYxWIxLF26dMbWu4Vckk5tSs+jXC1ZphpPX1+f4k10al2vlFyxl4csVFp8X7U4JpqOQbGGKcmZdLlcCAaDijfRzfYmmUzLSam5AUYveVrxx8hoNE57z1iSLXPpzqNcL1kmG0+mm+i4QWx2abX8HWVHi++rFsdE0zEo1jAlOYrnn38+Ojs7NbMpJ1/lpPSUp6XlkluFSEtLlsW+yVRreC0WJi2+r1ocE01nzPcAKDWRo9jQ0IBwOAyfz4dwOIyGhgasX78edXV1WLp0KUpLS+H1ehGJROSNb16vN+ebcuJnwmYyG+WkRNDj8XhQWlqKmpoalJaWwuPxYPfu3fB6vao9lxrycYyK1dQlS6vVCqPRKC9Zjo6OJnR8nG3ih65Wrtdix2uxMGnxfdXimGg6zhTrQLqcSS1tNsp1uTE95mlxtjB3ZmPJMts0HXG9Hjx4EB6PB2NjY7BYLGhoaEBra6vmVjYKGa/FwqTF91WLY6LpGBTrRLrcQq1sWhMzYX19fTOWGxMz22qNS495WvkqJVaM1F6y1FOaDqXHa7EwafF91eKYaDoGxQVES5ty4mskz/R3teg1T0tLs/uFTM3ucGrlJsc/TmVlpfw4vb29GBkZYVmmHOO1WJi0+L5qcUyUiEExnZNYLIbu7m4Eg0E4nU40NjbCaDTK6QySJKGlpQXBYFBeHnY6nfD5fKqmM8xGS1wtlO4qBFqoBqLWkqVaaTp6TPcpBlq9FrVwDemZFt9XLY6JPsagmDLW2dmJ9vZ2DA4OYnJyEiaTCdXV1Vi3bh3cbjcGBgZgNpvR3d2N0dFRxGIxGI1GlJaWqp7OoHaellZKd+mdVtIM1FqyVCtNR4/pPsVCa9eiVq4hvdPa+wpoc0x0FoNiykhnZye2b9+OaDQKh8MhL/16vV5s374da9euRSgUQigUwsTEBKxWK0wmEyYnJxEMBuV20GqlM6iZp6Wl0l16prXjqMaSpVppOnpN96Hc0to1RFQsGBSTYrFYDO3t7YhGo6isrITReLain9Vqhdlsht/vx4EDBxCNRjE+Po6ysjI5GC0pKYHJZEIgEIAkSbBYLKqNS42gh8va6tDqccx2yVKtNJ3ZSPehwqLVa4ioGDAoJsW6u7sxODgIh8MhB8SCSI/w+/0oKSnJ+Yd1tkEPl7XVoeXjmM2SpVppOizLROlo+RoiKnQMikmxYDCIyclJmM1mSJKEyclJOV/YZDLJS7+lpaUwGAwYHR1NSJ8QwarD4cDY2Jjq48sm6OGytjr0fhyTbWxSK02HZZkKX7JNyErp/Roi0jMGxQVktncqO51OmEwmhMNhjI+PY3x8HJIkwWAwwGw2o6SkBCUlJXA4HCgrK8Pw8DBGR0cRjUZhNBrhdDpRXl4OAJpbHuaytjr0fBzTbWxSq5wSyzIVrlSbkFtaWhQ9hp6vISK9Y1BcILxe76x3yGpsbITT6URfXx9MJhPMZjMMBgMkSUI0GsXo6CjcbjeamprQ19eHefPmTetoNzAwoMnlYS5rq0Ovx1Hpxia1yimxLFPhSbcJGYCiwFiv1xBRIWBQXAC8Xi927NiB/v7+hA5yPp8P/f39uOSSS1QJjA0GA6qrq9Hf3y/PghiNRsRiMUxOTsq3t7a2IhAIYGBgAOXl5SgtLcXY2BgGBgY0uzzMZW116PE4ZrqxSa1ySizLVDiUbEJub2/H4sWL06ZS6PEaIioUyhOdSJMkSUJHRwd6enoQi8Vgs9ngcDhgs9kQi8XQ09ODjo4OVTrJDQ8PAwCam5vhcDgwMTEh5785HA40NzcDOJvztn79ejQ0NCAcDsPn8yEcDqOhoUHTpYTEsrbexq01ejuOmWxsIpqJkk3Ig4OD6O7uVvR4eruGiAoFZ4p1zu/348SJEzAYDHA4HAkl0BwOBwKBAE6cOAG/34+qqipFj5ksN1kEwG63G263G4FAQE7VKCsrA3B2djoajcLtdutyeZjL2urQ03HkxibKVvwm5JlYLBaMjo4iGAwqfkw9XUNEhYJBsc6JGQSn0znjLJfdbkcoFILP51MUFKfabDR1A8jUnLZIJJKwAUSvy8N6HbfW6OU4cmMTZUtsQk51DplMJjidzoweVy/XEFGhYPqEzilJi5AkSdH9xGYjj8eD0tJS1NTUoLS0FB6PB7t378bY2Jg8czH18cQGEJfLxQ0gpCtiYxPPazpXjY2NqK6uRigUStjXAZzNNx4dHUV1dTUaGxvzNEIiUoJBsc65XC7Y7XZEIpEZv9DD4TDsdjtcLlfKx5m62chqtcJoNMqbjUZHR9HZ2YmWlhaUlpbC6/UiEokgFoshEonA6/VyAwjpktjYxPOazpXRaMS6detgtVrh9/sTziG/3w+r1Yp169ZlVK+YiHKP6RM6V1lZiebmZnR2diIUCsnd5CRJwsTEBCRJQnNzc9olOKWbjVasWKG4xups100mErI91/RcO5jXmTaIcmuiTvHo6ChMJhNqa2szqlNMRPnDoFjnDAYD2tra4PP5cObMGTkQNhgMKCkpwZw5c9DW1pb2SzKTzUZKNtGla4RApBa1zjU9bmzidaYtLS0tWLx4cVYd7YgofxgUFwiLxYLS0lJMTk7KQbFovaxEppuNUm0AUdoIgShbap9retrYxOtMm4xGI5qamvI9DCI6B/z5qnMiF1iSJLS2tmLJkiVYtGgRlixZgtbW1oTbU1Frs5GS3GQl4yFKp5jPtWJ+7UREs4VBsc7F5wIbjUbYbDY4nU7YbDYYjUbFjQfU2mzERgiUK8V8rhXza6fMSZIEv9+Pvr4++P1+/lgiSoLpEzqnZuMBNTYbsREC5Uoxn2vF/NopM8w7J1KOQbHOqd14INvNRmyEQJnIpnJCMZ9r5/LaWaWi+DDvnCgzDIp1TuQCezwe1NbWJnzJiVzghoaGjBoPZLPZaDbGQ4Up2xmsYj7XMn3tnC0sPlPzzsU5IvLOxTnhcrn444jo/zAo1jmRCzw8PAyv14vy8nJYLBaMjY1hZGQk540HtDaeqThbpg1qzGBp/VybTZm8dq3OFvJanF2Z5J3rpeIK0WxjUFwAtNZ4QGvjEThbpg1qzmBp9VzLBSWvXauzhbwWZx/zzokyx6C4QGit8YDWxqPV2bJipPYMltbOtVxK99q1OFvIazE3ijnnnuhcMSguIFprPKCV8Wh1tqxYzcYMllbOtXxI9dq1NlvIazF3ijnnnuhcsU4xFbxiqOmqpzqk8TNYM+EMlnq0dqyL4VrUCrVqzxMVE84UU8HT2myZ2vSWn8kZrNzR2rEu9GtRa4o5557oXDAopoJXyLl1eszP1HvVCD1VTdDasS7ka1GrijnnnihTDIqp4Glttkwtes7P1OsMlt5m5QFtHetCvRa1rphz7okywaCYCp7WZsvUosXKApnQ2wyWHmflBa0c60K9FomoMDAopqKgpdkytRRCfqZeZrD0PCsvaOVYF+K1SESFgUExFQ2tzJaphfmZuaP3WXmtKbRrkYgKA4NiKipamS1TA/Mzc6cQZuW1ppCuRSIqDKxTTKRTrEOaO1qr90tEROpjUEykYyI/s6GhAeFwGD6fD+FwGA0NDdvyRncAABHPSURBVJre+KU3YlZ+eHh4WmMUMSvvcrk4K09EpGNMnyDSOeZnzj5WTSAiKnwMiokKAPMzZx+rJhARFTYGxURECnFWnoiocDEoJiLKAGfliYgKEzfaEREREVHRY1BMREREREWPQTERERERFT0GxURERERU9BgUExEREVHRY1BMREREREWPQTERERERFT0GxURERERU9BgUExEREVHRY1BMREREREWPQTERERERFT0GxURERERU9BgUExEREVHRY1BMREREREWPQTERERERFT0GxURERERU9BgUExEREVHRY1BMREREREWPQTERERERFT0GxURERERU9EryPQA9kyQJADAyMpLnkRARERHRTEScJuK2ZBgUZyEQCAAA5s2bl+eREBEREVEqgUAAFRUVSW83SOnCZkoqFovhzJkzKCsrg8FgyPdwFBsZGcG8efNw+vRplJeX53s4BY3HOnd4rHOHxzp3eKxzh8c6N/JxnCVJQiAQwJw5c2A0Js8c5kxxFoxGIxobG/M9jHNWXl7OCz9HeKxzh8c6d3isc4fHOnd4rHMj18c51QyxwI12RERERFT0GBQTERERUdFjUFyErFYr7r//flit1nwPpeDxWOcOj3Xu8FjnDo917vBY54aWjzM32hERERFR0eNMMREREREVPQbFRERERFT0GBQTERERUdFjUExERERERY9BcYHaunUr1q5di7KyMtTV1eFzn/scOjs7E+4TiUSwZcsW1NTUwOl0YvPmzejr68vTiPXr0UcfxcqVK+VC5Bs2bMArr7wi387jPHsefPBBGAwG3HnnnfLfeLzV8Z3vfAcGgyHhv6VLl8q38zirq6enB1/60pdQU1MDu92OFStWYO/evfLtkiTh29/+NhoaGmC327Fp0yZ0dXXlccT61NzcPO28NhgM2LJlCwCe12qanJzEt771LSxYsAB2ux2LFi3CP/7jPyK+voPWzmsGxQVqx44d2LJlC3bt2oXXX38d4+Pj+MxnPoNQKCTf56677sK2bdvwwgsvYMeOHThz5gyuv/76PI5anxobG/Hggw+io6MDe/fuxWWXXYZrr70WH374IQAe59myZ88ePPbYY1i5cmXC33m81bNs2TJ4PB75v7feeku+jcdZPUNDQ7joootgNpvxyiuv4KOPPsI///M/o6qqSr7P97//fTz88MP46U9/it27d8PhcODKK69EJBLJ48j1Z8+ePQnn9Ouvvw4A+MIXvgCA57Wavve97+HRRx/Fj3/8Yxw8eBDf+9738P3vfx8/+tGP5Pto7ryWqCj09/dLAKQdO3ZIkiRJfr9fMpvN0gsvvCDf5+DBgxIAaefOnfkaZsGoqqqS/v3f/53HeZYEAgFp8eLF0uuvvy5dcskl0h133CFJEs9rNd1///3SqlWrZryNx1ld3/zmN6WNGzcmvT0Wi0n19fXSD37wA/lvfr9fslqt0n/+53/mYogF64477pAWLVokxWIxntcqu/rqq6Xbbrst4W/XX3+9dNNNN0mSpM3zmjPFRWJ4eBgAUF1dDQDo6OjA+Pg4Nm3aJN9n6dKlaGpqws6dO/MyxkIwOTmJ5557DqFQCBs2bOBxniVbtmzB1VdfnXBcAZ7Xauvq6sKcOXOwcOFC3HTTTTh16hQAHme1vfzyy1izZg2+8IUvoK6uDqtXr8bPf/5z+fbjx4+jt7c34XhXVFRg/fr1PN5ZGBsbw9NPP43bbrsNBoOB57XKPvnJT+KNN97A4cOHAQAffPAB3nrrLVx11VUAtHlel+TlWSmnYrEY7rzzTlx00UVYvnw5AKC3txcWiwWVlZUJ93W73ejt7c3DKPVt//792LBhAyKRCJxOJ1566SV84hOfwPvvv8/jrLLnnnsO7777Lvbs2TPtNp7X6lm/fj2efPJJtLS0wOPx4IEHHsDFF1+MAwcO8Dir7NixY3j00Udx99134+/+7u+wZ88efP3rX4fFYsEtt9wiH1O3253w73i8s/Pf//3f8Pv9uPXWWwHw80Nt9913H0ZGRrB06VKYTCZMTk7iu9/9Lm666SYA0OR5zaC4CGzZsgUHDhxIyAckdbW0tOD999/H8PAwfvWrX+GWW27Bjh078j2sgnP69GnccccdeP3112Gz2fI9nIImZnMAYOXKlVi/fj3mz5+P559/Hna7PY8jKzyxWAxr1qzBP/3TPwEAVq9ejQMHDuCnP/0pbrnlljyPrnA9/vjjuOqqqzBnzpx8D6UgPf/883jmmWfw7LPPYtmyZXj//fdx5513Ys6cOZo9r5k+UeBuv/12/OY3v8Gbb76JxsZG+e/19fUYGxuD3+9PuH9fXx/q6+tzPEr9s1gsOO+889DW1oatW7di1apVeOihh3icVdbR0YH+/n5ccMEFKCkpQUlJCXbs2IGHH34YJSUlcLvdPN6zpLKyEkuWLMGRI0d4XqusoaEBn/jEJxL+1traKqeriGM6tQoCj/e5O3nyJLZv346vfvWr8t94Xqvr3nvvxX333Ycbb7wRK1aswM0334y77roLW7duBaDN85pBcYGSJAm33347XnrpJfzud7/DggULEm5va2uD2WzGG2+8If+ts7MTp06dwoYNG3I93IITi8UQjUZ5nFV2+eWXY//+/Xj//ffl/9asWYObbrpJ/t883rMjGAzi6NGjaGho4HmtsosuumhayczDhw9j/vz5AIAFCxagvr4+4XiPjIxg9+7dPN7n6IknnkBdXR2uvvpq+W88r9U1OjoKozExzDSZTIjFYgA0el7nZXsfzbqvfe1rUkVFhfT73/9e8ng88n+jo6Pyff7yL/9Sampqkn73u99Je/fulTZs2CBt2LAhj6PWp/vuu0/asWOHdPz4cWnfvn3SfffdJxkMBum1116TJInHebbFV5+QJB5vtdxzzz3S73//e+n48ePS22+/LW3atElyuVxSf3+/JEk8zmpqb2+XSkpKpO9+97tSV1eX9Mwzz0ilpaXS008/Ld/nwQcflCorK6Vf//rX0r59+6Rrr71WWrBggRQOh/M4cn2anJyUmpqapG9+85vTbuN5rZ5bbrlFmjt3rvSb3/xGOn78uPTiiy9KLpdL+sY3viHfR2vnNYPiAgVgxv+eeOIJ+T7hcFj6q7/6K6mqqkoqLS2VrrvuOsnj8eRv0Dp12223SfPnz5csFotUW1srXX755XJALEk8zrNtalDM462OG264QWpoaJAsFos0d+5c6YYbbpCOHDki387jrK5t27ZJy5cvl6xWq7R06VLpZz/7WcLtsVhM+ta3viW53W7JarVKl19+udTZ2Zmn0erbb3/7WwnAjMeP57V6RkZGpDvuuENqamqSbDabtHDhQunv//7vpWg0Kt9Ha+e1QZLiWosQERERERUh5hQTERERUdFjUExERERERY9BMREREREVPQbFRERERFT0GBQTERERUdFjUExERERERY9BMREREREVPQbFRERERFT0GBQTEencjh07YDAY5P/eeeedfA+JiEh3GBQTEencL37xi4T//6mnnsrTSIiI9IttnomIdCwcDsPtdiMQCMDpdCIYDKKqqgoejwdWqzXfwyMi0g3OFBMR6dhLL72EQCAAAHj44YcBAENDQ9i2bVs+h0VEpDsMiomIdEykSqxcuRJf/vKX0dLSkvB3IiJShkExEZFOeTwebN++HQDwpS99KeH/vvrqq/B6vWkfw+fz4Rvf+AZaWlpgt9vhdrtxxRVX4KWXXgIAPPnkk/IGvhMnTiR9nEgkgh//+Me4/PLLUV9fD4vFgrq6OmzatAmPP/44JiYmsny1RESziznFREQ69cMf/hD33nsvjEYjTp06hblz5+L48eNYtGgR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", - "text/plain": [ - "
" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "gam_opt = gam.gridsearch(X_age, y)\n", "ax.plot(age_grid,\n", @@ -1931,7 +773,7 @@ " label='Grid search',\n", " linewidth=4)\n", "ax.legend()\n", - "fig\n" + "fig" ] }, { @@ -1949,34 +791,15 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "a2d25550", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:48.756958Z", - "iopub.status.busy": "2023-07-25T23:59:48.756585Z", - "iopub.status.idle": "2023-07-25T23:59:48.783496Z", - "shell.execute_reply": "2023-07-25T23:59:48.782677Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "4.000000100001664" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "age_term = gam.terms[0]\n", "lam_4 = approx_lam(X_age, age_term, 4)\n", "age_term.lam = lam_4\n", - "degrees_of_freedom(X_age, age_term)\n" + "degrees_of_freedom(X_age, age_term)" ] }, { @@ -1991,28 +814,10 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "id": "bc6322de", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:48.795407Z", - "iopub.status.busy": "2023-07-25T23:59:48.792243Z", - "iopub.status.idle": "2023-07-25T23:59:49.191938Z", - "shell.execute_reply": "2023-07-25T23:59:49.177094Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "ax.scatter(X_age,\n", @@ -2029,7 +834,7 @@ " linewidth=4)\n", "ax.set_xlabel('Age', fontsize=20)\n", "ax.set_ylabel('Wage', fontsize=20);\n", - "ax.legend(title='Degrees of freedom');\n" + "ax.legend(title='Degrees of freedom');" ] }, { @@ -2053,17 +858,9 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "id": "703d2570", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:49.194776Z", - "iopub.status.busy": "2023-07-25T23:59:49.194595Z", - "iopub.status.idle": "2023-07-25T23:59:49.246216Z", - "shell.execute_reply": "2023-07-25T23:59:49.244766Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "ns_age = NaturalSpline(df=4).fit(age)\n", @@ -2072,7 +869,7 @@ " ns_year.transform(Wage['year']),\n", " pd.get_dummies(Wage['education']).values]\n", "X_bh = np.hstack(Xs)\n", - "gam_bh = sm.OLS(y, X_bh).fit()\n" + "gam_bh = sm.OLS(y, X_bh).fit()" ] }, { @@ -2092,29 +889,10 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "766a7b1f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:49.261161Z", - "iopub.status.busy": "2023-07-25T23:59:49.260747Z", - "iopub.status.idle": "2023-07-25T23:59:49.446433Z", - "shell.execute_reply": "2023-07-25T23:59:49.445528Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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q5MnT6rTp0+r06dPq8ePH5vOtdcwYs+ePaZjWbJkUaNGjVJbt25Vu3fvVt9++60qUaKEAqDq1q1rt0GFK1oAt2nTxvQaNWvWVEuWLFH79+9Xa9euVR06dDAVGzeeY6sFsHkL0kqVKqmpU6eq7du3q3/++Uf9+eef6ptvvlFt27ZV6dOnV1WrVtU9h3kL4EKFCqmgoCA1ZMgQ9ddff6k9e/aoqVOnalqhTpo0yerXs2vXLlPhc39/f9W5c2e1fPlytW/fPrVnzx71yy+/qOHDh5taPltrcuHoz4S9739MTIyqXLmy6bmee+45tWrVKrV//361atUq1bx5c9331lpntDt37qiiRYuaznn22WfVDz/8oHbt2qUOHDigNmzYoCZOnKiaNm2q/Pz8VPv27Z2ap7nEmpyYtwAODg5W7733nlq7dq36559/1F9//aWmT5+unn/+eVW0aFHdY8+cOaPp4tSmTRu1YMECtXv3brVv3z61Zs0aNWrUKFPTioEDB9qdqy3mLWhz5cqlvvrqK7V79261Y8cONWLECFM3KlstaJVyTcOI+Ph4TaOVV199Va1evVrt27dPrVq1Sr388su633FrP2937txRuXPnNp3TpUsX9ccff6j9+/erpUuXmjqeGRugALDaYttbvv/mDSOsvdeYM7ZQ7tq1a5LmamTeZQ2A6tevn915AdJgyFbXO1e9vy9atMh0PFu2bGr8+PFq165dateuXWrcuHEqLCxMZcmSxfR8DRs2tDqfr776yvQ8oaGh6qOPPlJr165VBw4cUDt37lSLFi1S7777rqlzpbOtromd0ciO5AS6SinVvXt3zZuP+c3f3199/fXXif7xdvb1jR2orN3MA5XEXteyta7lbeDAgYl2YnNFoBsZGal5w7W8Va5cWe3fvz/RPz6RkZHqpZdesvs1GW+NGjXSPd48uNi7d6/Knj27zcdba1FrbteuXapAgQIOzWXu3Lm6x7si0FVKWhaXKlXK5ms3b95crVu3zm6gq5RS169fV/Xr13fo6+nevbvT8zRypJvfnDlzVHBwsN052AoQT548qQn+7N1GjBhhd672jBo1ytTK1totMDDQ6r+7kas6o/3zzz8qa9asNudRoUIFde3atUR/3g4ePKjpoGd569atm5o1a5bpfnh4uNXn8YbvvzsC3QULFmjmt3z5cruvB0A988wzdp/T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tVJhYaEFVTrb9u3blZ6erjNnzqhx48b68MMPde211yovL495DrNFixbpb3/7mzZv3lzpHPd1+PTo0UNvv/22UlJSdOjQIT3zzDPKyMjQjh07mOcw27t3r+bNm6fHH39cv/zlL7V582Y99thjioqK0pgxYwJz2qpVK9PnmO/QfPTRRzp+/LjGjh0rif//CLesrCz5fD6lpqYqIiJC5eXlmjVrlkaPHi1JtryvCboONXHiRO3YscPUX4fwSklJUV5enoqKivT+++9rzJgxysnJsbos1zlw4IAmTZqk7OxsxcTEWF2Oq51bdZGktLQ09ejRQ23bttWSJUvUoEEDCytzn4qKCnXr1k2//e1vJUk33HCDduzYoddee01jxoyxuDr3mj9/vgYOHKjExESrS3GlJUuWaOHChfrzn/+sTp06KS8vT5MnT1ZiYqJt72taFxzo0Ucf1aeffqq1a9eqTZs2gfH4+HiVlpbq+PHjpvcfPnxY8fHxdVyl80VFRemqq65S165dNXv2bF133XV66aWXmOcw27p1q44cOaIbb7xRkZGRioyMVE5Ojl5++WVFRkaqVatWzHctadq0qa6++mp999133NdhlpCQoGuvvdY0ds011wRaRc7NafC3/5nvmtu3b59WrVqlCRMmBMa4r8PriSeeUFZWlkaOHKkuXbro/vvv15QpUzR79mxJ9ryvCboOYhiGHn30UX344Ydas2aN2rVrZzrftWtX1a9fX6tXrw6M5efna//+/UpPT6/rcl2noqJCJSUlzHOYZWZmavv27crLywu8unXrptGjRwf+zHzXjhMnTmjPnj1KSEjgvg6zXr16Vdr+cdeuXWrbtq0kqV27doqPjzfNt8/n08aNG5nvGlqwYIFatmypQYMGBca4r8Pr1KlTqlfPHB0jIiJUUVEhyab3tSVfgUONPPLII4bX6zXWrVtnHDp0KPA6depU4D0PP/ywkZycbKxZs8bYsmWLkZ6ebqSnp1tYtTNlZWUZOTk5RkFBgbFt2zYjKyvL8Hg8xsqVKw3DYJ5r24W7LhgG8x0uU6dONdatW2cUFBQY69evN/r27Ws0b97cOHLkiGEYzHM4bdq0yYiMjDRmzZpl7N6921i4cKHRsGFD49133w2857nnnjOaNm1qfPzxx8a2bduMwYMHG+3atTNOnz5tYeXOVF5ebiQnJxvTpk2rdI77OnzGjBljtG7d2vj000+NgoICY9myZUbz5s2NJ598MvAeu93XBF0HkXTR14IFCwLvOX36tPGLX/zCiIuLMxo2bGjcddddxqFDh6wr2qHGjRtntG3b1oiKijJatGhhZGZmBkKuYTDPtS046DLf4TFixAgjISHBiIqKMlq3bm2MGDHC+O677wLnmefw+uSTT4zOnTsb0dHRRmpqqvHGG2+YzldUVBi//vWvjVatWhnR0dFGZmamkZ+fb1G1zvb5558bki46f9zX4ePz+YxJkyYZycnJRkxMjNG+fXtjxowZRklJSeA9druvPYZxweMsAAAAAJegRxcAAACuRNAFAACAKxF0AQAA4EoEXQAAALgSQRcAAACuRNAFAACAKxF0AQAA4EoEXQAAALgSQRcAAACuRNAFAIfasGGDIiIiNGjQIKtLAQBb4hHAAOBQEyZMUOPGjTV//nzl5+crMTHR6pIAwFZY0QUABzpx4oQWL16sRx55RIMGDdLbb79tOr98+XJ17NhRMTExuv322/XOO+/I4/Ho+PHjgffk5uYqIyNDDRo0UFJSkh577DGdPHmybn8RAKhFBF0AcKAlS5YoNTVVKSkpuu+++/TWW2/p3D/QFRQUaNiwYRoyZIi++uorPfTQQ5oxY4bp83v27NEdd9yhoUOHatu2bVq8eLFyc3P16KOPWvHrAECtoHUBAByoV69euueeezRp0iSdPXtWCQkJWrp0qW677TZlZWXpL3/5i7Zv3x54/69+9SvNmjVLx44dU9OmTTVhwgRFRETo9ddfD7wnNzdXt956q06ePKmYmBgrfi0ACCtWdAHAYfLz87Vp0yaNGjVKkhQZGakRI0Zo/vz5gfPdu3c3feamm24yHX/11Vd6++231bhx48BrwIABqqioUEFBQd38IgBQyyKtLgAAUD3z58/X2bNnTV8+MwxD0dHRevXVV6t0jRMnTuihhx7SY489VulccnJy2GoFACsRdAHAQc6ePas//vGPeuGFF9S/f3/TuSFDhui9995TSkqKPvvsM9O5zZs3m45vvPFG7dy5U1dddVWt1wwAVqFHFwAc5KOPPtKIESN05MgReb1e07lp06ZpzZo1WrJkiVJSUjRlyhSNHz9eeXl5mjp1qv75z3/q+PHj8nq92rZtm26++WaNGzdOEyZMUKNGjbRz505lZ2dXeVUYAOyOHl0AcJD58+erb9++lUKuJA0dOlRbtmxRcXGx3n//fS1btkxpaWmaN29eYNeF6OhoSVJaWppycnK0a9cuZWRk6IYbbtDMmTPZixeAq7CiCwCXgVmzZum1117TgQMHrC4FAOoMPboA4EK///3v1b17dzVr1kzr16/X3Llz2SMXwGWHoAsALrR79249++yzOnr0qJKTkzV16lRNnz7d6rIAoE7RugAAAABX4stoAAAAcCWCLgAAAFyJoAsAAABXIugCAADAlQi6AAAAcCWCLgAAAFyJoAsAAABXIugCAADAlf4/FmQzLru/+QoAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "age_grid = np.linspace(age.min(),\n", " age.max(),\n", @@ -2134,7 +912,7 @@ "ax.plot(age_grid, bounds_age[:,1], 'r--', linewidth=3)\n", "ax.set_xlabel('Age')\n", "ax.set_ylabel('Effect on wage')\n", - "ax.set_title('Partial dependence of age on wage', fontsize=20);\n" + "ax.set_title('Partial dependence of age on wage', fontsize=20);" ] }, { @@ -2155,28 +933,10 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "2a9ed841", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:49.451802Z", - "iopub.status.busy": "2023-07-25T23:59:49.451326Z", - "iopub.status.idle": "2023-07-25T23:59:49.615361Z", - "shell.execute_reply": "2023-07-25T23:59:49.614953Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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pk3KsWPHlD/++ENp2LCh4ev07t3b4tfImTOnUrlyZWXEiBHKunXrlCNHjih///23smjRIqVBgwavTESNk9hSpUopAJTq1asrixcvVo4ePaps27ZN+fXXX5P82iiKopw4ccLwHuft7a307t1b2blzp3L48GFl5syZSr58+Qxfs1+/fhafQ5/ElitXTvHz81Py5cunTJkyRTl48KBy4MABZdiwYYqfn5/hd+7BgwfJilFRFOX+/fuGOKZPn252e7t27VQJXq9evczuM3r0aMPfVnh4uOq22bNnKxkyZFDatWunzJkzR9m7d69y/PhxZd26dcr3339vOODU6XTK9u3bLcZ49epVw++1l5eX0qNHD2X79u3KkSNHlLlz5yrFixc3/F0l9pmUGu+dJJjEuomkJLExMTFKlSpVDPdbsGCB4bZLly4l+vxbt241JBvW3mSN34Deeecd5eXLl1afz/io+fr164l+7VclsVeuXFHi4+OtPv706dOGI+vvvvvO4n1eN4ldt26d6uja0kzO8OHDVa+RpSRWP4OdPn165ejRoxa/1o0bNwxJ6GeffWZ2u/HMtLe3t8UZzjt37ig5c+ZUAChp06Y1+1CKjo5W8ubNqwAyYx8REWExllmzZhm+1pYtW8xuN511sJSkGh/QrFq1yuz2KVOmGG7v3LmzxTg+//xz1deylMR+9tlnCiCzm9euXbP4PMePHzd8iA0cONDsduMzFnny5LE4M7h3715DstSzZ0+z2+/evWtIlkNCQhJN6G7evGk29tZbbymAzPg9fPjQ4uM2btxo+HudNWuW1ee35sGDB4YYs2fPbjEO49cqR44cFpNl47MCr0N/hqNw4cJW77Nq1SrDz8Z0Fu/hw4eGxP/zzz+3OtOq//vz8PBQLly4YHb7q94n58yZY4hh27ZtZrcbJ7EAlDZt2iT63pUU+oM3T09PZfPmzWa3P3nyxJB8eXh4WDywMp5hLl++vBIWFmZ2n0WLFhnuM378+BTFqj+b8vHHH5vdpk+2mzRpogBQSpcubXafd999VwFkksDU7du3rb5PKYqiPH361HDgUK1aNYv3adasmdXfIUVRlIiICKVSpUqqn6Gp1HrvJMEk1k0klsQ+f/5c2bVrl1KrVi3VB3BiSaYl+j/wxo0bW7xd/9weHh6vTExTM4lNiq+++koBoJQsWdLi7a+bxOpncXx9fZU7d+5YvE9cXJxSsmRJq0nss2fPDB+0kydPTvTrTZs2zZCkGs9aK4o6ie3evbvV51i2bJnhfqanvvUzhX5+fq+cddG/qVtKqPXP7+fnZ3UWPDw83DCTZGkGTP8BnCVLFqsfCM+ePTPMwllKYq9fv654enoqAJS//vor0e+nX79+huTNlHES++eff1p9Dv3BYtmyZc1uGzBggOE51qxZk2gspvbs2WN47OnTpxO9b4sWLRQAyltvvZWsr6EoivLTTz8Zvk5ip4+ND0CWL19udntqJbHz5883fB1ry4L0yU9ISIhZkvr9998bku3E3vdiYmKUHDlyWD2ISYoyZcpY/dszTmLTp09vNpuYXIcOHTI8X5cuXazeb9++fYb7ffnll2a3Gyexp06dsvgc8fHxSvbs2RUAyvvvv5+ieLt27aoAULJmzaoa//fffxVAZkmPHj1q+P/jx48N94mNjVUCAgIUAMo333yToq+/Zs0aw/f56NEj1W137twxvEd89NFHVp/j5MmTiSaxqfXeSYIbu9zQ8OHDVRso0qVLh1q1ahk2S4WEhGDNmjXw9fW1+hwPHz7E5cuXcfbsWcMlc+bMAIBTp04l+vWrVq1q2FSkhf/++w9Xr17FP//8Y4g9ffr0AIBz584hJiYmVb9eXFyc4bWtV68esmfPbvF+Hh4eaNu2rdXn2b17N8LCwgAAH330UaJfs0aNGgBk48uxY8es3s94A52p999/3/C6mG5o+fPPPwEANWvWNPzcXxXLgQMHrN6nbt26CAkJsXhbQEAAChUqBAC4du2a6rZ79+4ZNmO0aNECadKksfgc6dKlQ4sWLax+/fXr1yMuLg5p0qTBu+++a/2bQcL3c/fuXdy8edPifdKnT49GjRpZfY7y5csDMP9+AGDdunUAgPz58+O9995LNBZT+p9LkSJF8MYbbyR6X/33ceTIkWRv8tL/PqRPnx4ffPCB1ft17NjR7DG20Lx5cwQFBQEA5s6da3b7/fv3DZvpWrduDS8vdXVJ/evWuHHjRN/3vLy88OabbwJI/PcZABRFQWhoKC5duqR6n8yRIweAV79PNmnSBAEBAYne51WMX/MOHTpYvV/VqlVRrFgxs8eYeuONN1CqVCmLt+l0OpQtWxaA5d/rpKhZsyYA2Vx34cIFw/ju3bsBAMWLF0f58uWRL18+KIqCPXv2GO5z/PhxQ8e3pGx+i4iIwI0bN1SfA8ZVMkx/Pjt37kRcXBwA+R2ypnTp0ihdurTV21P7vdPdsU4sGeTLlw8fffQRvv76a4sJxd9//41JkyZh27ZtFneG6r1qp7+1N0FbOnPmDH755Rds3Lgx0W5k8fHx+O+//6wmVClx9epVvHjxAgBQsWLFRO9rXB3C1NGjRw3/t7aD1xJr36+Pj0+ib7be3t4oW7Ysdu7ciTNnzliMZfPmzUneSZ7Y6160aNFEHxscHAwAZm1JjeNKyms7depUi7fpv58XL16YJTiJCQ0NRe7cuc3GCxUqBA8P63ME1r6fmJgYnD17FgBQrVq1ZDcb0X8fFy9eTNYO/ydPniTrd14fY7ly5RItj5UlSxbkzZsXN27cMDzGFvz9/fHZZ59h+vTpWL58OSZNmqQ6oFm4cKEhUf/8889Vj42Li8PJkycBADNnzsTMmTOT9DWt/T6vX78e06dPx549exJto2uP90n9a+7j44MyZcoket/KlSvj/PnzuHz5MqKjo+Hj42N2n5T+nSaVPokFpFW6/uvpJwH0yWmtWrVw/fp17Nq1C82aNVPdx9PTE9WqVbP4/I8ePcL48ePxxx9/4PLly4nu/jf9+Rj//uoPQq2pUKGC1YOU1H7vdHeciXVDXbt2xZkzZ3DmzBmcPXsWV65cwdOnT3Ht2jWMGTPG4ofZsGHDUK1aNSxfvjzRBBZAoiWIAKlHa0+//fYbypUrh7lz5ybpzeBV8SeX8ev1qkQhS5YsVm978OBBir6+PoE2FRwcDE9PzyTFY/ozT0ksib2u1mZQ9fQJoX4mRM9RX9ukfj+mpb+ePHli+GBNzoGKXmp/H9boX/ekJL5Zs2ZVPcZW9LO+z549w8qVK1W36WdnK1eujOLFi6tue/LkSYrKjZm+ZoqioGPHjmjcuDHWr1//ykTOHu+T+tc8ODj4lQdn+p+ToihWS/Sl9O80qbJmzYoiRYoAgKqMon4m1jiJtXafsmXLWmyccezYMRQtWhSjRo3CpUuXXlm+yvTnY/yavGoGNbHbU/u9091xJtYNWerYlZjt27dj+PDhAOQU59dff41q1aohd+7cSJs2reHNcciQIRgxYsQrn+9ViVNqunDhArp06YLY2FiEhITgm2++wdtvv428efMiICDAMIs0Z84cw+m2V725vY7XaeNr/MFw/PjxJBeIz5kzp81ieffdd63W27S31Ph+MmXKZKj1mBT58uVL8de0Bf33Ubp0aSxatCjJj9Of4k4uR2pLXa5cOZQtWxYnTpzA3Llz0aZNGwDAoUOHDEtOTGdhAfXfVceOHdGrV68kfT3Tmco5c+bgt99+AwCUKVMGX331FSpXrowcOXIgTZo0hve9Nm3aYOHCha98n0nN90lH+jm9Sq1atXDx4kVDUnrnzh1cvXoVOp3OMFOr//f06dN48uQJ0qdPb6h1azybqxcdHY0WLVrg8ePH8Pb2Ro8ePdC0aVMULlwYGTJkMCwhuXbtGgoUKADAdp8Djvje6cyYxNIrzZ49G4DMDBw8eNDqUaatZ1pSYt68eYiNjYWnpyd2795t9XSYLWM3nlG5f/9+ovdN7PaMGTMa/p85c2aryWlSPX78GHFxcYl+WOrj0Z8mNI7l7t27iI6OTtYBUWpL7df22bNnKFasmF0PtIwFBwfDw8MD8fHxuHfvXrIfr/8+nj9/btOfS3BwMO7du/fK1xxIOBVq+jtkCx07dkS3bt2we/duXL9+Hfny5TPMwqZJkwaffPKJ2WOM41IUJcWvm/59smDBgti/fz/8/f0t3s+e75P67+3x48eIjY1NdDZW/3PS6XR2P1tmrGbNmpg5c6ZhXax+TX/x4sUNnz158uQxLFPZs2cPcuXKZdgvYGk97I4dOwzrdKdNm6Zaq20ssZ+N8Wvy8OHDRA/8Hj58aPU2R3nvdBVcTkCv9M8//wAAateunehpEuM1m68rtWYO9LGXLl060fVcqRm7qQIFChg+0I4cOZLofRO7Xb9pApD1ya8rOjo60c0lsbGxhrWCpm+2+liOHj2aaAciWzPevJQar21UVJRNfxdexdvb2/Ba7927N9mzQcYba2y5jk4f4/HjxxM9Ff/gwQND5z97fGC3bNkS/v7+UBQF8+bNQ2RkJJYuXQoA+PDDDy2eZvbx8UGJEiUAvN7flf695r333rOawCqKguPHj6f4aySX/jWPjo42/C1bc/jwYQCyntvSelh7MU5Cd+3aZbaUwPR+xvfx8PBA9erVzZ5T/7MBgI8//tjq107sb1//OwIg0c2yr3oeR3nvdBVMYumV9B9SERERVu9z4sQJHDp0KNW+pp+fn+H/yW3Haiwpsd+7d8+wY9QWjFtFbtmyxeoMW3x8vKENpyV16tQxrEmbNGlSqpzuSuzrrV692rAOrE6dOqrb9Lvmw8LCLO4Gt5fs2bMbdlWvWLHC6tqxiIgILF++3OrzNGnSxHDgNGHChFSPMzmaNGkCALh+/TrWrl2brMfqfy6KomDixImpHpue/vfh6dOnWLVqldX7/fbbb4bfU9PfIVsICgoyVO6YP38+Vq5caZihs7SUQE//ul24cAGbN29O0ddOynvN2rVrUzTDnlLGr/mcOXOs3u/AgQOGJRf2+DklJlu2bIZqJLt27TLb1KVnnMTq76NviW7K+EDL2s8nPj7eMJtuSa1atQxrfhcuXGj1fqdOnUp0csBR3jtdht2LepEmktqxyxJ9fcW0adMqly9fNrv9wYMHSokSJRKtjacoSrK+/u7duw33N+32YyqxOrE9evQw1Kb9+++/zW6PiIhQ1ceFlbq0r1sn9s8//zQ8f5MmTZTY2Fiz+xjX1ISFOrGKklCjFJCONdbaRCqKooSGhiqzZ882GzdtdrB3716z+9y7d0/JnTu3AkjLV9Mari9fvjR0t0qXLl2iLWEVRQr879q1y2w8qb8Tib3+kyZNMjxP165dLT6+U6dOqtfWUrMDfd1UAMq4ceMSjefatWvK4sWLkxWnscR+Z+/du2doEvCqZge3bt0yG9PXlvT09FSWLVuWaBynT59OtJ6tNcbNDnLmzGmxqcPJkycNTURs3ezAmPF7R9asWRUASoECBRJtGhAaGmqINVu2bFY7qemtW7fOrF6qvhNh9uzZVfVL9a5cuWKoo2rtezauE2ut7XRyVahQQQGkw5SlBgtPnz41xO7h4WHx98247WxiUuvnqf971bfK1el0ZjVV9a+VTqcz1Ie11kntjz/+MLyuo0aNsngf4/dWa6+//rMQsNzs4MWLF69sdpBa750kmMS6iddJYo1b0WbPnl2ZNGmS8vfffyt///238vPPPyvZsmVTdDqd8uabb6ZaEhseHm5oY1iuXDlly5YtysWLF5XLly8rly9fVl68eGG4b2IJweHDhw23pU+fXhk5cqSye/du5dChQ8q0adOUQoUKKQCUqlWr2jSJVRT1G2DlypWVpUuXKseOHVM2btyofPzxxwoAwweOtTfRly9fqloali5dWpkyZYqyb98+5cSJE8qOHTuUyZMnK02bNlV8fHyU8uXLmz2HcdvZPHnyKH5+fsqAAQOUvXv3KocPH1amTJmi+rC1ltAdOHBA8fX1NSRMLVu2VFasWKEcPXpUOXz4sLJ27VplyJAhhg9ISw0aUiOJjYmJUcqWLWt4rgYNGihr1qxRjh07pqxZs0apV6+e2WtrKYl9/Pixkj9/fsN9atSoofz666/KgQMHlOPHjytbt25Vxo4dq9SpU0fx8PBQPvzww2TFaexVDTqM2876+/srPXv2VDZu3KicOHFC2bt3rzJ9+nTl3XffVfLnz2/22CtXrijBwcGqg6ZFixYphw4dUo4ePaps2LBBGTlypKHhQt++fRON1RrjtrNZsmRRfvnlF+XQoUPK33//rQwfPtyQFFpqO6tniyRWURSlcOHCqkRixIgRr3zMH3/8Yeik5ufnp3Tp0kVZu3atcuzYMeXgwYPKypUrlX79+hl+R0ybYvz888+Gr1e4cGHlt99+Uw4dOqTs3r1bGTp0qBIUFKT4+fkZ2kbbK4k1bjvr4+Oj9O3bV9m1a5dy5MgRZdasWarf+Ve1nbVXEmvc/QuAUqJEiUTj0l/Wrl1r8X7Pnz9XQkJCDO9VX3zxhbJp0ybl6NGjytKlS5V33nnH7HPA0ut/+fJlw8Gbvu3sjh07lKNHjyrz5s0zNF4xbnFtSWq8d5JgEusmXieJVRRFad++verNwvji6empTJgw4ZUfzMn9+qZHxsYX4yTkVV/XtJ2r6aVv376v7BCWGklseHi46k3S9FK2bFnl2LFjr/wQCw8PVz744INEvyf9pXbt2maPN/6gOXLkiKFnuKWLpbaoxg4cOGCYVXjVZf78+WaPT40kVlGkm06RIkWsfu169eopmzdvTjSJVRSZBdW3MH3VpX379smOUy8pXebmzZun+Pv7JxqDtWTh4sWLqu5viV2GDx+eaKyJGTlypKF9raWLr6+vxZ+7nq2SWOOOYh4eHhZnrC35888/VQcA1i4eHh7Kjh07VI+Njo42HDBZuvj7+yvLly9P9Hu2RRKrKIqyefNmw6ymtUu3bt2sntmxdxJ7+/Zts9gS+3r6n8mTJ0+sPuemTZsMEyOWLrVq1VLOnj37ytd/y5YthjMlli5Dhw5VBg8erAByMGTN6753kuCaWEqSOXPmYOHChahevToCAgLg6+uLPHnyoHXr1ti/f3+Sy9Ikx+jRozF79mxUr149STVNrRkyZAjWr1+PevXqIUOGDPDx8UHOnDnxwQcfYMuWLRg7dmwqR25ZQEAAdu3ahcmTJ6NixYpIly4dAgICUKZMGYwaNQr79+9P0g7ugIAA/PHHH9i7dy86duyIIkWKICAgAF5eXggODkbFihXRrVs3bNiwAVu3bk30uSpUqIDjx4+jZ8+eKFCgAPz8/JAxY0Y0aNAAGzZseOW6yipVquDy5cuYMWMGGjVqhOzZs8PHxwd+fn7IlSsX6tWrh5EjR+LChQuGkke2kD17dpw4cQI//PADSpYsCX9/f6RPnx5VqlTBtGnTsHHjxiRtVsmaNSv27NmDdevWoWXLlsifPz/SpEkDb29vZM6cGW+99Rb69u2L3bt3J7rGMDW0bdsWV69exaBBg1C+fHmkT58enp6eyJAhA6pUqYKBAwdi06ZNFh9buHBhnDx5EosXL8aHH36I3Llzw9/fHz4+PsiWLRtq1aqF7777DseOHcOQIUNSHOPAgQNx4sQJdOrUybCBMW3atChWrBh69epl85+7NcYdlerWrZvkSh5NmjTB9evXMXbsWLz99tvIkiULvL294e/vj3z58qFx48YYP348bty4gdq1a6se6+3tjfXr12PSpEmoUKEC0qRJA39/fxQsWBBdunTB8ePH0bx581T9PpOqXr16uHLlCgYOHIgyZcogMDAQvr6+yJ07N1q2bIm9e/diypQpiTbosKccOXIYSl0B1jtwGY+XKlUq0aoK9evXx9GjR9GqVStkz57d8Ddds2ZNzJo1C9u3b0fatGlfGVvdunVx9uxZfPHFF8iTJw98fHyQJUsWNGrUCJs2bcKwYcMQHh4OABbX5+o5ynuns9Mpig2LYhKRw2nXrh3mz5+PPHny4MaNG1qHQ5Tqtm7dinr16gEAli1blmjLYaLUVqdOHWzfvh3VqlXD3r17tQ7HpTnGYRcREVEq0c+SZ8yYEU2bNtU4GnInd+/exZ49ewDIbCvZFpNYIiJyGVevXjW0nW3fvr2hGxNRarhy5YrV2yIjI9GuXTvExMQAAJcB2AE7dhERkVO7c+cOXrx4gWvXruHbb79FbGws/Pz80Lt3b61DIxfTsWNHREREoEWLFihfvjyCg4Px7NkzHD16FNOmTTMkuR06dFA1YyHbYBJLREROrWXLloauTXojRoxA9uzZNYqIXNnRo0cT7cr1/vvvY/LkyXaMyH0xiSUiIpeQJk0aFC5cGF999RXatm2rdTjkgsaPH4/Vq1djx44duH37Nh4+fAhFURASEoIqVaqgbdu2aNiwodZhug1WJyAiIiIip+NWM7Hx8fG4e/cuAgICDH3SiYiIiMhxKIqCZ8+eIXv27InWL3arJPbu3bvIlSuX1mEQERER0SvcunUr0WYlbpXEBgQEAJAXJTAwUONoiIiIiMhUeHg4cuXKZcjbrHGrJFa/hCAwMJBJLBEREZEDe9XSTzY7ICIiIiKnwySWiIiIiJwOk1giIiIicjpMYomIiIjI6TCJJSIiIiKnwySWiIiIiJwOk1giIiIicjpMYomIiIjI6TCJJSIiIiKnwySWiIiIiJwOk1giIiIicjpMYomIiIjI6TCJJSIiIiKnwySWiIiIiJwOk1giIiIicjpMYomIiIjI6TCJJSIiIiKnwySWiIiIiJwOk1giIiIicjpMYomIiIjI6TCJJSIiIiKnwySWiIiIiJwOk1giIiIicjpMYomIiIjI6TCJJSIiIiJzP/0EtG0LrFkDvHihdTRmmMQSERERkbm1a4EFC4D33wcyZ5b/OxAmsURERERkbvduYNs2oFs3IEMGoHBhrSNS0SmKomgdhL2Eh4cjKCgIYWFhCAwM1DocIiIiIucQHw/odHKxsaTma142j4SIiIiInJuH4528d7yIiIiIiIhegUksERERETkdJrFERERE5HSYxBIRERGRePIEaNoUmDMHePRI62gSxSSWiIiIiMS6dcCffwIdOgBZsgDvvgs4aCErJrFEREREJFavTvh/fDzg42OXslopwSSWiIiIiKS17ObN6rEPPtAmliRgEktEREREksBGRiZc9/QEmjTRLp5XYBJLREREROqlBABQsyYQHKxNLEnAJJaIiIjI3cXEAH/9pR57/31tYkkiJrFERERE7m73buDpU/VYs2ZaRJJkTGKJiIiI3J3pUoKKFYGcObWJJYmYxBIRERG5s/h4YM0a9ZiDLyUAmMQSERERubdDh4C7d9VjTGKJiIiIyKEtX66+XqwYULSoNrEkA5NYIiIiIncVHw+sWKEea9FCm1iSiUksERERkbs6cAC4c0c91ry5NrEkE5NYIiIiIne1dav6eokScnECTGKJiIiI3NXQocDx48CAAUD+/E6zlAAAdIqiKFoHYS/h4eEICgpCWFgYAgMDtQ6HiIiIyHEoChAdDfj6ahpGUvM1zsQSEREREaDTaZ7AJgeTWCIiIiJyOkxiiYiIiMjpOFUSe+fOHbRq1QoZM2aEv78/3njjDRw9elTrsIiIiIjIzry0DiCp/vvvP1StWhW1a9fGxo0bkTlzZly+fBkZMmTQOjQiIiIi5xEXBzRpArzzjtSEzZ1b64hSxGmqE/Tv3x9///039u7dm+LnYHUCIiIicnu7dgG1aydcr1JF6sWmS6dZSMZcrjrBn3/+iQoVKqB58+YICQlB2bJlMXv27EQfExUVhfDwcNWFiIiIyK0tX66+HhnpMAlscjhNEnvt2jVMnz4dhQoVwubNm9G1a1f07NkT8+fPt/qYUaNGISgoyHDJlSuXHSMmIiIicjBxccAff6jHnKjBgTGnWU7g4+ODChUqYP/+/Yaxnj174siRIzhw4IDFx0RFRSEqKspwPTw8HLly5eJyAiIiInJPO3cCb7+tHrt0CShUSJt4LHC55QTZsmVD8eLFVWPFihXDzZs3rT7G19cXgYGBqgsRERGR2zJdSlC2rEMlsMnhNEls1apVcfHiRdXYpUuXkCdPHo0iIiIiInIi0dHAihXqMSddSgA4URLbu3dvHDx4ED/++COuXLmCxYsXY9asWejWrZvWoRERERE5vs2bgceP1WNMYm2vYsWKWL16NZYsWYKSJUtixIgRmDBhAlq2bKl1aERERESOb+FC9fW33gLy59cmllTgNM0OAKBx48Zo3Lix1mEQEREROZenT4E//1SPtW6tSSipxWlmYomIiIgohVauBIwqNsHb26mXEgBMYomIiIhcn+lSgkaNgOBgbWJJJUxiiYjIupgYKY5uTXi4dPshIsf177/Anj3qMSdfSgAwiSUiImORkcDu3cCIEUDdukD69MDBg9bvP3263Kd6dWDwYGDbNiAiwl7RElFS/P67+nr69DIT6+ScamMXERHZyJUrwPffSyF043VzALB3L1C1quXH7doltSf37ZPLDz8AXl5AjRpAr15A48aAB+dLiDR19ar6eosWgK+vNrGkIr6zEBG5s5s3gU6dgKJFZc2caQILmJ+G1IuNlcTV0viOHUDTpkCJEsBvv1l+XiKyj99+A65fl4PMIkVcYikBAOgURVG0DsJektqLl4jI5d27B/z4IzBrlsykJiYwEHjyBPD0VI+fPQuULg3Ex7/662XNKjOzXbrIqUwi0oY+7dPptI0jEUnN1zgTS0TkThQFmDgRKFAAmDLFcgLr4QGULw/07g2sXi2nIk0TWAAoWRL47z9gwwagXz+gcmXL9wOA0FBgwAD5ugsWJHyQEpF96XQOncAmB2diiYjcRWSkLB0w3eSh5+8P9OgBfP01kDlzyr7Gs2eS+P78s8zUWlO/vswC586dsq9DRC6LM7FERJTg9m2gWjXLCayPD9CzJ3DtGvDTTylPYAEgIABo0wY4fRrYuBF4+23L99u7V9bOEhGlEJNYIiJ34O8vp/5NdeoklQkmTpR1q6lFpwMaNAC2bweOHgWaNVPfPmKEU/dsJ3J4sbFJW6/uxJjEEhG5g4wZ5TS/v79cDwgA1q6VU/q5ctn2a5cvL1977Voge3agQgWZ+SUi21m4UA4UBw0CLlzQOhqb4JpYIiJ3snQpMGwYsGaNlNWyt7AwqXSQL5/l2xVFZo+sbRAjoqR56y3gwIGE6336AOPGaRdPMnBNLBERmfvkE+DUKW0SWAAICrKewALAtGmyDOHxY/vFRORqzpxRJ7CArIl3MUxiiYhcza1bid/uqJ169uwBvvpKWtdWqACcPKl1RETOadYs9fVs2aR7nothEktE5Eo2bgQKFpQasM7k9m2gefOEigU3bsjp0FWrNA2LyOm8eCHrYY19/jng7a1NPDbEJJaIyFUcOAB8+KE0MOjRAxg61HmaCjx4YL4ONjJSEtvZs7WJicgZLV8ua8/1dDqgY0ft4rEhJrFERK7gn3+ARo0k8dP7/nvgjz+0iyk5ypUDjh2T2Vdj8fFA585Sv9ZZEnIiLc2cqb5evz6QN68modgak1giImd3/75shjKtA9uyJfDBB9rElBLZsgE7d1qeNerfX1rbMpElsu70aeDgQfXYF19oE4sdMIklInJm8fFA27ayptTYu+8Cc+cCHk72Nu/jI5tSBg82v23sWKBDB3b6IrLG0oauRo20icUOnOzdjYiIVH75Bdi8WT1WpQqwYoXzbuTQ6WQpxIQJ5rfNnQt89BHw8qXdwyJyaBER5hu6OnRw3veBJGASS0TkrI4dAwYMUI9lywb8+SeQNq02MaWmXr2ABQvMN3ytXSuJbFSUNnEROaLly4Hw8ITrLryhS49JLBGRM3r+HPj0UyAmJmFMpwMWLQIyZ9YurtTWurV0F/PzU4+vXw+0aCGVGIjIfENXgwZAnjzaxGInTGKJiJxRz57A5cvqsW+/Bd5+W5t4bKlxY2DLFsC0/eSff0rSTuTuTp0CDh1Sj3XurE0sdsQklojI2SxdKmtDjVWqJOtIXVX16sCmTUC6dAljvXsD7dtrFxORo3CTDl2mmMQSETmT69fNS+YEBACLF7v0Bg4AwJtvSkeytGmBb74Bxo2TJRRE7u6jj6Scnn79eIcOgJeXtjHZget/h0REriI+HmjVSr15AwCmTwcKFNAmJnurVk1qYebLxwSWSK92bbncuydnaVq21Doiu+BMLBGRs4iOlmUDxrVfW7d2mw8sg/z5mcASWZItGzBwoMtv6NJjEktE5Cz8/KQu7LFjQOXKksxNnap1VI7lzh2+JkRugssJiIicTZkywP79wN27sh6WxJUrQN26wI0bMmvdu7fWERGRDXEmlojIGXl4ADlzah2F4zh1StbL3rgh1/v0AebN0zIiIrIxJrFEROT8jh8H7t9Xj3XoII0SiFxR795SWsuNWzAziSUicmQvXmgdgXNo3x746Sf1WHw88PHHwI4d2sREZCsXLwITJ0q5vTx5gBEjgGfPtI7K7pjEEhE5quvXgdy5JTlje9VX69dPLsaio4FmzYATJzQJicgmxo8HFEX+/+CB1Ex2Q0xiiYgckaIAPXoAjx8D/fsDZcsCu3drHZXjGz0a6NhRPfbsGfDuu8DVq9rERJSaHjwA5s9Xj3Xt6pabPJnEEhE5orVrgfXrE66fOwesWKFdPM5CpwNmzAA+/FA9fv8+UL+++bpZImczdSoQFZVw3dtbDnjdEJNYIiJHExUlu+uNZckC/PCDNvE4G09PYNEioFYt9fjVq0DDhm65dpBcxIsX5nWQW7YEsmfXJh6NMYklInI0U6bIelhjv/wCpE+vSThOyc9PKhOULq0eP35cesxzjTE5o/nzZYmRsb59tYnFATCJJSJyJI8fm8+4VqsGfPKJNvE4s6AgYONGIG9e9fi2bUC7dlK9gMhZREcDP/+sHnv3XaBkSW3icQBMYomIHMmIEcDTp+qxceNkrSclX7ZswJYtQObM6vElS4CxY7WJiSglfv3V/AzN119rE4uDYBJLROQoLl82X+/26adApUraxOMqChUCNmwA0qZNGKteHejcWbuYiJIjIkIOcI29+SZQu7Y28TgIJrFERI5iwAAgNjbhuo8P8OOP2sXjSipUAFavlp3czZoBmzdzjTE5j0mTgNBQ9djo0W5/hsZL6wCIiAjAvn3AH3+ox3r1Ml/PSSlXty6wZw9QsaJUMCByBv/9B4wZox5r0ACoUUObeBwIk1giIq0pivkO44wZgYEDtYnHlVWponUERMkzZoz5OnmeoQHA5QRERNpbvhw4fFg9NnQoT3fbW1SU+cYZIi09fgxMnKgea9FCOvgRk1giIk29fCltZY0VKgR88YU28birZ8+Axo1lw9e//2odDZHImBH46y9ZAgPIMhjTDV5ujMsJiIi0FBoKhIQAN24kjI0ZI5u6yD4ePJBOXseOyfU6dWSNcpYs2sZFBADvvAMcOiTNO86dAwoX1joih6FTFEXROgh7CQ8PR1BQEMLCwhAYGKh1OEREQlGAtWtlDWymTMDu3W6/69iuWreWNrXGSpUCdu0CMmTQJCQid5bUfI1JLBGRo4iLkzVwISFaR+JenjwBatYEzp5Vj7/5JrB1q7q+LBHZXFLzNa6JJSJyFJ6eTGC1EBwsXb3y51ePHzgAfPCBbPgiIofDJJaIiChbNmDbNvnX2JYtQKtWMktOZA9HjsiGT3olJrFEREQAkC+fLB8IDlaPr1wJdOoExMdrExe5j3v3pClHqVLAzp1aR+PwmMQSEdnbqFHA9u1aR0GWlCgBbNwIpEunHp87F+jShYks2dZXXwFhYcDly8DbbwPt26tbUZMKk1giIns6exYYNEjKONWtK6cOybFUqiTVInx91eOzZwPdukk1CaLUtn69ND4xFhMDeLEaqjVMYomI7Om77xKSoG3bZLYlPFzbmMjc228DK1YA3t7q8RkzgB49mMhS6nr+HPjyS/VYcDAwfrw28TgJJrFERPZy8KDM8Bnr0wdgyT/H1KSJzIyZzoRNnQqMHKlNTOSahgwBbt5Uj40bx2olr8AklojIHhQFGDBAPZYxI9C3rzbxUNI0awYsXSrlz/Ty5wfatNEsJHIxR48CEyeqx2rXBtq21SYeJ8IklojIHrZulQ5QxgYO5CysM/jwQ2DxYklkCxaUjmq5c2sdFbmCmBigc2f1hkFfX2DmTHbtSwKuFiYisjVFkYTVWM6c5mvgyHG1aCHJRYUKQI4cWkdDruKbb4ATJ9RjgwcDhQppE4+TYRJLRGRrq1YBx46px4YNA/z8NAmHUqhpU60jIFeydKn5MoISJSSxpSThcgIiIluKjZWKBMYKF+Z6N1cTGwv88IPsMid6lXPngI4d1WO+vsCCBYCPjzYxOSEmsUREtrRoEXDhgnpsxAjWfnQl8fGSkAweLPV/nzzROiJyZOHhwAcfABER6vGpU4Fy5bSJyUkxiSUispWoKGDoUPVY2bLARx9pEw+lPkUBevcG5s+X64cOATVqmJdLIgLk9+Xzz4GLF9XjHTrIhZKFSSwRka3MmmWezPz4I+DBt16Xce+eVC4w9s8/0vXr0CFtYiLHpSgy22r8HlCuHDBlinYxOTG+kxIR2cLz57JG0lj16kD9+trEQ7aRPTuwZ495xYL794GaNWXzDpGeh4dUKtm8GciUCciQAVi5kps8U4hJLBGRLUyfDjx4oB4bNYq1H11RsWLAvn1AkSLq8ago4NNPpRIF29SSsTp1pGLJmjVAvnxaR+O0nDaJHT16NHQ6Hb766iutQyEiMte1q8zE6psZNGoEVK2qbUxkO3nzAgcOSHJiavhw4LPPgMhIu4dFDix3blk/TSnmlEnskSNHMHPmTJQqVUrrUIiILEuXDhg0CLh+Hfj2W/OlBeR6MmQANmyQAxhTS5cC1aoBV67YPy7SjmkFAkpVTpfEPn/+HC1btsTs2bORIUMGrcMhIkpccDAwejRQpozWkZA9eHtLqaRJk8w38B0/Lpt4lizRJjayrwsXpCb0okVaR+KynC6J7datGxo1aoQ6lk7ZmIiKikJ4eLjqQkREZFM6HdCjB7BuHRAQoL7t2TNZWtChA5cXuLLLl4G33wbu3gXatAHmzdM6IpfkVEns0qVLcfz4cYwaNSpJ9x81ahSCgoIMl1y5ctk4QiIiov97911ZJ1u0qPlt58+z4YWr+ucfoHZtKb8GJNSGXbNG07BckdMksbdu3UKvXr3w+++/wy+JpSgGDBiAsLAww+XWrVs2jpKI3Nr9+1pHQI6mRAng6FGgXbuEsfTpZUmBt7dWUZGtrFgBVK4M3LmjHq9cWWZmKVU5TRJ77NgxPHjwAOXKlYOXlxe8vLywe/duTJo0CV5eXoiLizN7jK+vLwIDA1UXIiKbOHAAyJVLTiObltYi95Y2LTB3LrBwoWz4mzsXyJNH66goNcXGygbOFi3MN3NVqABs2pRQqYRSjU5RnKN43bNnz/Dvv/+qxtq3b4+iRYvi22+/RcmSJV/5HOHh4QgKCkJYWBgTWiJKPYoipXL27ZPr6dIBI0YALAFIph49kiL31hw/LvVm06a1X0z0eh49Aj75BNi+3fy2SpUkgeVG9GRJar7mNAtyAgICzBLVtGnTImPGjElKYImIbGbduoQEFpBuXWxqQJYklsA+eSLraP39pcJBw4b8PXJ0x44BH34ImEyyAZB1sFOnshuXDTnNcgIiIocUFwf0768ey5cP6NJFm3jIefXrJ0tR/v0XaNxY1lAePKh1VGRJeDjQp4+sdTVNYL29gRkzgF9/ZQJrY04zE2vJrl27tA6BiNzdggXAuXPqsR9+AHx9tYmHnNOuXcBvv5mPvfkm0LQpMHKkbBIjbSmKbMrr2xcIDTW/PXt2YOVK+bmRzXEmlogopSIjgSFD1GNlysj6OKLkyJ4dqFnT8m1r1wJvvCEVDi5ftmtYZEKnkyTWUgJbrZosL2ACazdMYomIUmrSJOD2bfXYTz+Zd2oiepXChYEdO6RygaWa5ooCzJ8vm74aNwa2bpUxsr+JE9VnWnx95WB2+3Yga1bt4nJDfKclIkqJ0FA5xWvsnXeAunW1iYecn4eHzLZeugSMHw9kzGh+H0UB1q8H6tUDSpYEZs4EXrywe6guT1GAly8t35Y/PzBggPz/3XeBs2eB4cMBHx/7xUcAmMQSEaXM4MHSQlRPp5NZWO4mp9fl5wf07g1cuwYMHSol2yw5d042EFavbt/4XNl//8mGrNKlge++s36/fv2kKsn69UDBgvaLj1SYxBIRJdfJk+abcNq2BcqX1yQcclGBgcCwYcDVq8A330inL0saNLBnVK7nyRNgzhyZVQ0JATp1As6cAWbNAsLCLD/G3x9o1IgHrRpjEktElByKIk0MjNcjpk1rvrSAKLWEhABjxsj66+nTgWLF1Ldb20gYHw907izrbNl2PUFcnDSVmDhRDgCyZAE6dJCmBLGxCfd79kxmZclhOU3HrtTAjl1E9NpWrwY++EA99sMPwKBB2sRD7kdRZGPXxInAzZvA6dOWZwRPnZJqGXpFisi67SpV5KxBkSKAp6fdwtbM06fyGv39N7BnD7B/v9R5TYq6dYEtW2waHplLar7GJJaIKKmiooDixWWtol7u3MCFC3J6kcjeIiOt/+6NGwd8/bX1x6ZNC5QtKwltmTJAoUJyyZzZtU6Th4QADx8m/f6+vjJD26GDLBlgtRG7c7m2s0REmouKkpmZ2bPlVC0gp3mZwJJWEvvd27o18cdGREi7ZOOWyYCsxS1VCti71/LjoqNlBtfWs7j6CgFhYcCjR5KIPniQcAkNlW5Z//4LvPce8PPPlp+nRAlpHJEYPz9ZE9u8uZQwCwhI9W+HUh+TWCKipAoMlHaSX34pu8dfvgRatNA6KiLLPv1UkrHt22XXfVKFh8speGuGDQNGjZKZ3KAguQQGShUFH5+Ei6+v/KvTSUKqKLKe95tvLD/v0KHAmjXy9fUX4zWqibl40fptJUtaTmILFgRq1JAD08aNrVeBIIfFJJaIKLlKlQK2bZMZIlc67UqupW1bucTFASdOyO/swYPA0aPAnTuJP7ZQIeu36btVRUTI5e7dpMf09tvWk9hbt2Ttakr8+6/120qWBLy8ZClQ9eqSuFavDmTLlrKvRQ6DSSwRUUrodNZLHhE5Ek9PoEIFuejdvy8tUvWXixdlrXd0tNyeWO3Te/dSHkti23CMu2Al140b1m9r0wZo357NCFwQk1giIiJ3kyUL0LChXPTi4mQ29MoVIHt264/Vz8SmRGJJrJ9f4o8NDpZNWpkzJ/ybKxeQNy+QJ488t6UzI1yz7rKYxBIRJebly1d/uBK5Ak9PSQjz5k38fuvXyxrbsDBZtxoWJpfISJnJjYqSf/X/ByS51OkSn+H99FOplKBfY6u/BAQAGTIA3t6p9Z2Si2ASS0Rkzf37UoKoe3cpVcTTkUQyS5vYTG1KVaokF6IkYvEzIiJrvv5a1v8NGiR1NF9VpoeIyMWcOSN7Ah0Rk1giIkt27AAWLUq4fv48W1ASkVvRdy6uW1dWe7zOnj5bYBJLRGQqKkpqwRoLCpIOSEREbuK336QqGwAsXQoULQocPqxtTMaYxBIRmfr5Z/Pi6aNGyY5uIiI38PAh8O236rEsWaRMtqNgEktEZOzqVWDkSPVYxYpyTo2IyE3062fe6G3qVMcq1sIklohIT1FkGcHLlwljHh7SatbWfeKJiBzE3r3AvHnqsY8/lrWxjoRJLBGR3m+/AVu2qMe6dwfKldMmHiIiO4uJMd8SEBAAjB+vTTyJYRJLRARI7/U+fdRj2bMDI0ZoEw8RkQYmTgTOnlWPjRhhm9LAr4tJLBGRogAdOgDPnqnHZ82SjkFERG7g1i1g2DD1WJkyQLduWkTzakxiiYhmzgS2b1ePtW8PNGqkTTxERBr46isgIiLhuk4HTJ8OeDlof1cmsUTk3q5fl85cxnLmBH75RZt4iIg0sGEDsGqVeqxTJ6BKFW3iSQomsUTk3r7+Wj31AMgGr6AgbeIhIrKzyEjZw2osUyYpj+3ImMQSkXubNg1o1izheufOQL16moVDRGRvI0fKSSljP/8MBAdrE09SMYklIveWJYucQ/v9d6BsWWDsWK0jIiKym/PngTFj1GPVqwNt22oTT3IwiSUi0umAzz4Djh2TgohERG5A398lJiZhzMtLNnPpdNrFlVRMYomI9JzhXZuIKJUsWgTs2qUe69sXKFFCk3CSjUksERERkZt58kQSVmN58gCDB2sTT0owiSUi93H7NtC8OXDvntaREBFpauBA4OFD9djkyUDatNrEkxJMYonIPcTGyrrXlSuB0qWBTZu0joiISBMHDkiPF2PNmgFNmmgSTooxiSUi9zBiBLB3r/z/4UPg3XelIgERkRuJjQW6dlWPpU0LTJyoTTyvg0ksEbm+nTsliTWWJw/QsKE28RARaWTyZODUKfXYsGFA7tyahPNamMQSkWsLDQVatpRaMnqensCSJUCGDNrFRURkZ7dumW/ceuMNoFcvbeJ5XUxiich1RUcDH31kvpFr5EjgzTe1iYmISCM9eph32Z4xA/D21iae18UklohcV69ewN9/q8fq1we++UabeIiINLJmDbB2rXqsUyfgrbc0CSdVMIklItc0a5ZMMRjLnRtYuBDw4FsfEbmPZ89kFtZYSAgwerQ28aQWvpMTkevZvx/o3l095u8vUxGZM2sSEhGRVoYMkTLZxsaPB4KDtYkntTCJJSLXcvcu8OGH6mbgAPDrr0DZstrERESkkePHgUmT1GN16kjZbGfHJJaIXEdUFPDBB1KRwNjXX7vGOzYRUTLExQFffAHExyeM+foC06cDOp12caUWJrFE5BoURSp4HzqkHq9bFxg1SpuYiIg0NG0acPSoeuy774CCBbWJJ7V5aR0AEVGqiIszX0KQPz+wdCngxbe61PbypUx4v3wp3X7SpZN/fXy0joyIAODOHWDQIPVY0aKuVZyF7+xE5Bq8vIAFCyRx/f57yajWrHH+nQsaio2V9XS7dgGnT0u5Xf3l6VPLj/H2lpc+Rw4pov7GG0DJkvJvnjwsDEFkLz16SFUCYzNnynICV8Eklohch04HDB8OFCgABAZK5kRJFh8PHDkiSeuuXcC+fcDz58l7jpgYSXCfPgX++UcmwvUCAoBq1YBGjeSSN2+qhU5ERlavloux9u2BGjW0icdWdIpi3IvRtYWHhyMoKAhhYWEIDAzUOhwiIofw6BEwZ46U1b1+3X5ft0QJSWYbNwaqVuUsLVFqCAsDiheXQi16mTMD588DGTNqF1dyJDVf40wsEZEbUhTg4EHZ+LFihRR2sLd//pHLmDFAvnzSPejzz4EsWewfC5GrGDBAncACwIQJzpPAJgdnYonI+bx8CfTsCQweDOTKpXU0Tmf9ennpTpxI2v2LFZPTkIUKAVmzAtmyJVzSpgVevJBlBxER8m9YGHDxInDmTMLF2hpaU15eQLNmUhbo7bc5O0uUHH//LUt2jNWvD2zc6FwltZKarzGJJSLnEhcHfPIJsHIlkD07sG4dmxgk0aVLQO/ewIYNid+vcGHgnXeAWrWAmjVff2ZUUWRmaO9eSaA3bgQeP3714woVAvr3B1q3lg1jRGRdVBRQrhxw7lzCWJo0wNmzcqbDmTCJtYBJLJGTUxRpJzttWsJY2rTAH3/IdANZ9OwZMHKktJk0rUKm5+MDtGgBfPklUKWKbWdt4uKAw4fl+GPtWllSkJj8+aW2ZatWTGaJrBkxQtrLGhs7FujbV5t4XgeTWAuYxBI5OUvv0gEBso2+VCltYnJgigIsXix1Ie/ds3yffPmALl1k53LmzPaND5AYDx2S0j/LlgGRkdbvy2SWyLILF4DSpYHo6ISxcuXkb8sZy2QnNV/jaiMicg4zZ5onsD4+UguWCayZ58+Bli0l4bOUwGbNCsyfD1y5AvTrp00CC8iMb5UqwNy5suRg0iSpWmDJtWuy8at4cZnFJSIpjffFF+oE1tMTmD3bORPY5GASS0SOb9UqOc9tTKcDFi2S3T+kcuECULkysGSJ+W3e3jIze+kS0KaNY22cSp9eCrSfOQNs2iTfgyVXrgBNmgANG8r3QeTOZs0C9uxRj/XuLTOxrs6B3r6IiCzYvRv47DOZbjA2ZQrQvLk2MTmwFSuAihXVmzv06teXBHHMGFmF4ah0Oon1wIHEk9mNG6UbWL9+QHi4fWMkcgS3bsnvv7F8+YBhwzQJx+6YxBKR4zp5EnjvPfMipoMHm8/MurmYGKBPH9mcZdplKyhIktuNG4EiRbSJLyWMk9mNGyU5NxUTA/z8s3xfixfLGlsid6AosozAUmvZtGm1icnemMQSkWO6dAmoV898iq1zZ2ktSwZPn0pJrF9+Mb+tVCng6FHgo4+cq06kMZ0OaNBAmjMsWCDreU2Fhsoa4GbNrG9iI3Ilv/8uB3fGPv8cqFtXm3i0wCSWiBzPrVvyTvzwoXr8/felvJazZmM28PixJLB795rf1ratzGIWLGj/uGzBw0Nqxl66JKdQLVUo+PNP2fg1fz5nZcl13b8P9OqlHsuaVUpquRMmsUTkWB4+lBnYmzfV47VqyfliT09NwnJEDx4AtWsDx4+rx318ZLPH3LlS7NzVBAQAP/0kRdzffdf89qdPgXbtgMaNgTt37B0dke317Ak8eaIemz4dyJBBm3i0wiSWiBzLiBGyvd5YhQoyxebnp01MDujuXemmdeaMejxbNmk92amT609YFy4sHcBWrgRCQsxv37BBZmUXLbJ/bES2smYNsHy5eqx5c1lK426YxBKRYxkzRjZz6RUrJgu/HHk7vZ3duiUJrGmunyuXlNqpUEGbuLSg0wEffihdvz77zPz28HBZgtCmjfkGGCJn899/QNeu6rHgYGDyZG3i0RqTWCJyLH5+0ka2dWsgTx5gyxYgUyato3IY168DNWpIrVRj+fJJAusq61+TK1Mm2eiyZo3ljV8LF0rdzKNH7R4aUarp21c2MRqbOBHIkkWbeLTGJJaIHI+XFzBvnmxHz5lT62gcxv370tvhxg31eKFCksDmzatFVI6laVOZlW3d2vy2K1eAt96SzS+mZYeJHN2GDbLO3di770pVDnfFJJaIHJOHh+UpNTf14oWssjBNYIsXl34QzPUTBAdLKa4lSwDTtusxMdKx7N13zYtfEDmq//6Tde7G0qWTmrCuvvY9MUxiiUg7c+dyoWISxMfLzOLhw+rxUqWAXbtkMxeZ++QT6ZdRpYr5bVu2yPKCQ4fsHhZRsn31lWzmNDZ+vKyDd2dOk8SOGjUKFStWREBAAEJCQtCsWTNcvHhR67CIKKXGjZPK3G+/DTx6pHU0Dq1fP2DVKvVY3rySiGXOrElITkO/VnjgQPMZq9u3gerVgRkzWFOWHNeff8qZBWP16wMdO2oTjyNxmiR29+7d6NatGw4ePIitW7ciJiYG9erVQ0REhNahEVFy/fYb8PXX8v+jR2WnEgt6WjR9uuT7xoKCpLSUu27mSC5vb2DkSGDbNvNZ65gY2e3drp0s2SByJI8fS2tZY0FBwK+/uvcyAj2dojjn8efDhw8REhKC3bt3o0aNGkl6THh4OIKCghAWFoZA04VSRGQff/wBtGhhvrNm4UKgVSttYnJQGzYATZqoXyovL2DzZpnApuS7fx/4+GNZR2yqVCmZ8S5QwP5xEVnSsqX0eDE2d64cdLmypOZrTjMTayosLAwAEBwcbPU+UVFRCA8PV12ISEPbtkkxT9MEdswYJrAmTp2SZMv0pfr1VyawryNLFvk11J8IMHb6tNTY3brV/nERmVq1yjyBbdRI2kmTcMokNj4+Hl999RWqVq2KkiVLWr3fqFGjEBQUZLjkcvcV0ERaOnxYWspER6vHBwyQ7eJk8PQp8MEHwPPn6vEhQ/gBlhq8vICffwZWrJAd3saePpXKBZMmcZ0saefhQ6BLF/VYhgzSTprLCBI4ZRLbrVs3nD17FkuXLk30fgMGDEBYWJjhcuvWLTtFSEQq588DDRsCpmvYu3SRxYpkoCiy3+3aNfV4q1bAsGGahOSyPvoIOHJEmsIZi4sDevWSkkZRUdrERu5LUWQdrGkJuMmTgezZtYnJUTldEtu9e3esW7cOO3fuRM5XFEb09fVFYGCg6kJEdnbzJlCvnuxQMNaiBTBlCqcVTEyaBKxerR57801u5LCVokXlJMEHH5jf9ttvwDvvAA8e2D8ucl/z5pm/BzRrZrmtsrtzmiRWURR0794dq1evxo4dO5AvXz6tQyKiV3n4UBLY27fV4/XqyUYuT09t4nJQhw6Zr9XMmBFYtgzw9dUmJneQLp0sLRg61Py2v/8GKlaUerNEtnbtGtCzp3osUyYpA8eDWHNOk8R269YNixYtwuLFixEQEIDQ0FCEhoYiMjJS69CIyJJnz2RxoWk958qVpUKBj482cTmoJ09kcjo2Vj2+cCELmtuDh4cs11ixAkiTRn3bzZtAtWrAunWahEZuIi4OaNPGfC38r7+ynJ41TpPETp8+HWFhYahVqxayZctmuCxbtkzr0IjIVHS0nJ89dkw9Xry4FDg13U3j5uLjZcPWzZvq8QED5DiA7Oejj2T21fTAISICaNoUmDiRG77INn76SX73jHXoIL93ZJnT1olNCdaJJbKTXr1kcaexPHnkHTpHDm1icmA//yxduYzVqAFs3y476cn+7t8HPvzQPKkAgG7dgAkT+LOh1HP0qKx9Nz4Tkz+/LGMJCNAsLM24fJ1YInJgffoARYokXM+cWXqkMoE1c/CgzLgay5wZWLKESZKWsmSRgwhL5YunTgXeew9g6XFKDS9eyO+ZcQLr4QEsWuSeCWxyMIklotSnn3WtUgVIm1aWEBQurHVUDiciQtbAxcUljOl0UuCcpXS05+srPeu//978to0bgapVzZeAECVXv37mWwcGDZKZWUock1giso2MGaU10vbtsr2bzPTvD1y+rB4bPBioU0ebeMicTic/k8WLzfcinj0rx2knTmgTGzm/detkZt9YxYryO0evxjWxREQa2L7dPFmtXBnYt4/LCBzV339Lvc5Hj9Tj6dIBy5dzEx4lz+3bQJky6hLa/v5yUGS8GssdcU0sEdnHvXvcrp1MYWFA+/bqMX9/YP58JrCOrGpVqeVbtKh6/PlzoEkTYPZsbeIi5xMbC7Rsad4DZvx4JrDJwSSWiFLuxg2gbFlpH2ta4JSs+uorwLQL9ujR/PByBvnzA/v3S/UIY3FxQOfOspaRx3T0Kj/8AOzZox778ENpN0tJxySWiFLmyROgQQOpRTRrlpxnjYjQOiqH9+ef0lbSWO3aQPfumoRDKZAhgxTb+PRT89t+/BFo3RqIirJ/XOQcdu0CRoxQj+XJIzP57MqVPExiiSj5Xr6UGkPGW2rXrzevFUUqjx7JbJ2xgABg7lwpqUPOw9dXSiBZ+pX//XdZH/v0qd3DIgf38KEsI4iPTxjz9JSSehkyaBeXs+LbJhElT1ycFDU0rQJfsqTlWkRk0LWrTFwbmzBBZmHI+Xh4yMzrjBnmByE7dwLVq5svGyH3pShAu3bA3bvq8ZEjWU4rpZjEElHSKYo0MvjjD/V4jhzAhg1A+vSahOUMVq8GVq5UjzVubL7Bi5zPF18Af/0lJZGNnT0rycmZM9rERY7ll1/kbdJY3brAN99oE48rYBJLREn3yy/m7WQDA6Xyu2mzeTIICzNf8xoczDVwrqRhQ2D3bun0ZezOHaBaNWDHDm3iIsewbx/w7bfqsSxZgIULuZTodfClI6KkWbYM6NtXPebtLVOMb7yhTUxOYtAg81OIkyYBWbNqEw/ZRvnywIED5lUmwsNlD+Tvv2sTF2nr3j2geXPzAi4LF5of9FDyMIklolfbs0f6o5qaOxd4+237x+NEDhwApk1Tj9WvD3z2mTbxkG3lyyfLxatWVY/HxMhS8lGjWILLncTEAB9/DISGqscHDZKlBPR6mMQSUeLOnQOaNgWio9XjP/4o22zJquhoqUZgnLT4+wPTp3MZgSvLmBHYulXqfpoaOBD48kuWVXYX334L7N2rHqtbFxg+XJt4XA2TWCKy7u5dy7WCunYF+vfXJCRnMnasbO4x9v33MltHrs3fX1rRfvWV+W0zZgAffMCyyq5u2TLZRmAsd25g8WIpq0WvT6co7nNiI6m9eIkIspCvRg3g1Cn1+HvvAatW8V34FS5flqXCxkXvy5QBjhxha1l388svspzc9NO2UiWpahASok1cZDvnzsnP1/hAxcdHlppUqKBdXM4iqfkaZ2KJyLLz54GrV9VjlStLVW4msIlSFCm7ZJzAenhIYzMmsO6nd2+ZlfP1VY8fPiwluC5f1iYuso3wcMsz7VOnMoFNbUxiiciyypVlQ5d+C33BgjJtlCaNtnE5gQULpNi9sZ49gYoVtYmHtNe8uayTNe3KdO2aJLKmvUPIOcXFyVYB42aGAPD550DHjtrE5MqYxBKRdWXLAgcPAjVrSi3YzJm1jsjhPXkCfP21eix3bvNe6eR+qleXZNW0Q9vjx8A778hsLTm3b78F1q1Tj5UrB0yZok08ro5JLBElLk8eYNcumYmlVxo8GHj0SD02bRqQLp028ZBjKVZMjgvLlVOPR0UBn3wC/PQTS3A5q99+A8aNU49lzCid+vz9tYnJ1TGJJSJKJSdOyM5zYx98ADRqpE085JiyZpXuXpZ+L/r3l+IfLMHlXHbvBrp0UY95e8seWFYjsR0msUQErF9vXpGfkiU+HujWTf7V8/c3L7FDBMjM/Jo1krCamjkTaNJENgiR47t6VQ5WTQ88ZsyQAi9kO0xiidzd/v2y66RbN2DIEJ7LTKEFC6Q7l7FBg2Q9LJElXl6yY33sWPPmF5s2SdevGzc0CY2S6OlToHFjWQtv7OuvZTMX2RbrxBK5s5MnpW3sf/8ljHXuLLOyLKOVZE+fAoULAw8fJowVLCiNDkzLKhFZ8scf0pb25Uv1eEiIzNi++aYmYVEiYmIkgd2yRT3epAmwejXfQl8H68QSUeLOngXq1FEnsIDsMPHgW0NyDBmiTmABYNIkJrCUdB9+KGXZTAuAPHgA1K4tXZ7IccTHAx06mCewpUoBv//OBNZe+ElF5I7On5eaPo8fq8cbNQJmzzY/t0lWnTolp4SNNW0q3XqJkqNKFeDQIaB4cfV4VJTUHh06lKt9HEW/fsDCheqxkBDgzz+BgABtYnJHTGKJ3M2lS7KE4MED9Xjt2tLs3dtbm7ickKIA3burN3P5+QETJmgWEjm5fPlkmXr9+ua3ff+9lOEy7QRF9vXzz+altPz9ZdmHaQ1gsi0mseQanj8Hjh+Xeibjx8thMpm7elUS2NBQ9Xj16uzGlQKLFwP79qnHBgwA8ubVJBxyEUFBUjC/e3fz25Yv54YvLc2bZ/7x4ukJrFjBdcta4MYucm5nz8oh8eLFQHS0+rawMMDSzzkuDihSRLpQff458NZb7nH6/N9/pd7LzZvq8SpVZGEXz4ElS0SE/BrduZMwli8f8M8/LGxOqWfKFKBXL/VsPwBkyiSJU61amoTllv76C3j/ffkIMTZ/PtCmjTYxuSpu7CLXpSjAtm1AgwbAG2/IobFpAgtI0mbJ1atymTMHqFYNKFpU2uTcu2fTsDX1zz/yvZomsBUqSDtZJrDJ9tNP6gQWACZOZAJLqat7dynjHBSkHn/0SPZlTpnCdbL2sG8f0KKFeQI7diwTWC0xiSXnoSjA0qVA2bJA3brA5s2J39/a+bZ//lFfv3RJ2uTkyiW1UXbtSo1oHcf+/bJc4PZt9XiZMvIapk+vRVRO7d9/ZV2csXr1pNwOUWpr0AA4fFiOt43FxQE9egAdO8rmL7KN/fuBhg3Ny5/16wf07atNTCSYxJJzCA8HPv4Y+PRT2Q5uiYeHVJavUUMOjU1r1eiZJrF6cXGyEK12bdm5v39/6sSupQ0bLJfRKlkS2LoVCA7WJi4n9+236g80T0/pzOUOq1JIG4ULAwcPynG2Kf1JJa6TTX379skmu2fP1OPt2wOjR2sTEyVgEkuO78wZoGJFWQBmSaZMwLBhslnp33+lifX8+bLW05LWreXdp3Bh619zxw7ZPdGwIXDs2Gt/C5qxNMtapYrMNmfKZO9oXMK+fcCyZeqxrl3NyyIRpbagINkB/9135rcdPQqUKyfH4ZQ6du+WWfDnz9XjTZoAs2bxoNURcGMXObZFi6SDVGSk+W2FCsm5nDZtUrYQUVFktnXOHMlKEqtb06wZ8OOPQLFiyf86WjPejdCokXyvadNqHZVTio8HKlVSH9dkyABcvgxkzKhdXOR+Vq4E2rYFXrwwv+3bb4EffpC2tpQyO3fK8iDT17dxY3nt2cjEtrixi1zDvXvmCWyGDLI29sIF4IsvUr6TRqeT2dbffpNZ3KlTgezZLd93zRrZRGa6ENIZNGkiDQzatZNeiExgU2z+fPOJ+eHDmcCS/X30kSwvsHRC6aefZEWUK+9VtaXt2+V43zSBbdqUCayj4UwsOTZFkVnEtWvleoUKsqzAVoU4IyOBmTOBUaPMmwEAUoqqbl3bfO3XpSiJn9961e2UqGfPJGEwLrFbrJgs0WZ/CNJKeDjQqZPUjzUVEiLFW9g9LunWrQOaNzffxPX++zJ34uOjTVzuhjOx5Bp0OnkXzp9fFh7u22fbSvL+/sBXXwHXrsl0hvHGpwYNHDOBVRTZVdSmTeK1dpjAvpZRo8x7RIwfzwSWtBUYKMnVpEnmv4sPHsiy/h49LK/IIrXp02W21TSB/egjWYXFBNbxvNZM7MuXL+Hn55ea8dgUZ2Kd2NOn2pSCCg8HxoyRPqIHDsiSAkvu3AGyZpVt6vb0+LFsk/3rL7k+c6asIaZUdf26zLoalzFq2FDqdxI5ikOHZBbx1i3z24oVk54wZcrYPSyHFx8v64jHjjW/rUUL2ZrBg1X7stlMbHx8PEaMGIEcOXIgXbp0uHbtGgBg8ODB+O2331IeMbm3mBjzLaDGtKplGhgoOyTu3LGewMbHS0ZTurQsmDJtrWMLL19Kp7IiRRISWEBa+5w5Y/uv72YGDFAnsF5eMgtL5EgqVwZOnJD1nKbOn5dNiT//bJ+3KGcRGSnVGy0lsG3aAL//zgTWkSU7if3hhx8wb948jBkzBj5Gc+slS5bEr7/+mqrBkZuIj5dNR3XqAE+eaB2NZabtcoytWgWcPi31Z5s3lzo3Cxda3jb8umJjgV9/lcoMX38tM7HGXr6UbbWUag4cMC+p1a2bHD8QOZqMGeW4dupUwPREaUyMFOivXVt6vLg7fdezlSvNbxs8WFayscKDg1OSqUCBAsq2bdsURVGUdOnSKVevXlUURVHOnz+vpE+fPrlPZ1dhYWEKACUsLEzrUEgvPl5RvvhCUWQ1p6KUKqUooaFaR5V0sbGKUrx4QvzGl8BARencWVEOHZLv83VERSnKsmWKUqSI5a8FKErmzIqyaVPqfF+kKIr82KpUUb/MGTIoyuPHWkdG9GrnzilK2bKW3y58fRVl5EhFiY7WOkptHD+uKAUKmL8uXl6KMmeO1tFRUvO1ZM/E3rlzBwULFjQbj4+PR0xMTCqk1eRWBg2SdZx6p0/LBipnOd8VGmr9UD08XCpiV64sSxFGjZImCqbds6y5e1fKf33wgUyvfPwxcPGi5fu+/75sk69fP2XfB1m0fLmUMTI2ZAgbnZFzKFZMfn+//dZ8X2dUlLz9li8vLW3dhaLILHWVKsDVq+rbAgOBjRtlmwE5h2QnscWLF8fevXvNxleuXImyZcumSlDkJlatksTOmI+PVAXwcJLCGTlyyCK05csTb9n0zz/AwIFSvDE4GMiXT5JTa6f+P/9cnrtjR6ntam29cO3a8im1ahWQLdvrfz9k8PIl0L+/eqxgQeDLL7WJhyglfHykQeHOnUCePOa3nzkjCd1XX5m3VnU1T59KpYHu3YHoaPVtuXJJ8Zs6dTQJjVIo2ZnCkCFD0L17d/z000+Ij4/HqlWr0KlTJ4wcORJDhgyxRYzkiq5eNT/c9fSUWjH16mkTU0p5eMha2NOnZXFVgwavLmd144Ykp6ZrWvUsnO1QKV9eatZu3y4zvZTqJk0y70U/ZgzL7JBzqlkTOHsW6N3bfI5AUYCJE+VtZ+ZMWXrvag4dAsqWleN9U5UqyVyAtb275MBSslZhz549Sp06dZTMmTMr/v7+StWqVZXNmzenaN2DPXFNrIOIjLS8UGvaNK0jSz03byrKiBGKkj+/9TWsgKJcuWL58SdOWL5/pUqKsnLl66+xpUQ9eCBLmo1f+urV+bKTazh8WLYfWHtbKlFCUTZu1DrK1PHypbwVe3lZ/l779pUtB+RYkpqvsWMX2V+XLup1sADQsqXs6He1gvzx8cCePbK9/cgROXenP48VFCTrYy19z4oC5MwJRETIzHSjRjLDmyWLfeN3U926AdOmqceOHJGGcUSuICZGqvQNG6YuH2esXj0pyVWqlF1DSzVbt8rSAUuVGIKDpY1048b2j4teLan5GpNYsq/ffwdatVKPFSsmOwvSpdMmJnuKiZGCjSdOAGFhQM+e1u97+bJ0J2ORQrs6f15OK8bFJYy1aiXHWESu5vJloE8fabdqTbNmsjmsShW7hfVabt+W72nFCsu3V6sGLFki8wTkmGyWxGbIkAE6CzNHOp0Ofn5+KFiwINq1a4f2Dri9j0msxs6fBypWlNlFvTRpZIorsU1RRHbUpIn6A93PT2ZycuXSLiYiW9uxA+jbFzh50vp9atWSzY716jnmSbPISKk8MGyY+mNGT6eTxiXDh7P+q6OzWceuIUOGwMPDA40aNcLw4cMxfPhwNGrUCB4eHujWrRsKFy6Mrl27Yvbs2a/1DZCLiYiQbaGm7ywzZjCBJYexY4f5jFTfvkxgyfW9/TZw9CgwZ471Qie7dsmqpnLlgLlzHaeawaNHwPffA7lzA998YzmBrVRJvr+RI5nAupJkz8R++OGHqFu3Lrp06aIanzlzJrZs2YI//vgDkydPxqxZs3DGwdpfciZWQ198ITVTjXXsCPBghxxEfLyseT1xImEsJAS4cgUICNAuLiJ7i4iQ9bK//CJlqazx95dKgW3aSPVAT0+7hQgAuHZN2j/PmSOzsJYEB0uJsQ4dnKdyI9lwOUG6dOlw8uRJs4YHV65cQZkyZfD8+XNcvXoVpUqVQoSlwyENMYnVyI4d8g5nrHRp6efp769NTEQmFi6UD2NjM2bI8ReRO3r2TOYexo+X3iuJyZ4d+Owzmal96y3bvbXfvStnS/78UxoTJNYXp2NHKUWeKZNtYiHbsdlyguDgYPz1119m43/99ReC/9/GJiIiAgGcuiA9T091le20aWXFPRNYchCRkdKLwlixYjJ7Q+SuAgJkOc21a8CvvwKFC1u/7927wNix0iwgfXpZPzt8OLB3r/VZ0qR4+RI4dkyWC1SoID1gvvgCWL/eegLboIHUfZ09mwmsq0v2ypDBgweja9eu2LlzJypVqgQAOHLkCDZs2IAZM2YAALZu3YqaNWumbqTkvPRVtgcOBKZMkXM7hQppHRWRwYQJsqPZ2M8/c+0cEQD4+soBXbt2MgM6Z47MghpX8DAWHQ3s3i2XYcNkLHt2IH/+hEuePOaFVxRF1rdeviybKS9fBm7elPFX8fICPv0U+Ppr5y0JRsmXohJbf//9N6ZMmYKL/+/jXqRIEfTo0QNvvfVWqgeYmricwAEcPw6UKcPFSeQwHjyQTkXGm1TefhvYts0xd2ATOYIHD6RM1fz56nXk9pYunczM9urFDZiuhHViLWASS0SmTBsb6HRy+rJsWe1iInImZ85IQrt9u1QASGydamoICgLefVfK4TVqJNfJtSQ1X3utk2UvX75EtL770P8xOSQiZ3HxonnzuFatmMASJccbb8gFkB4ue/cCO3fKnt5Tp5K2HOBVChaU7lrvvSfNCtgDhoAUzMS+ePEC/fr1w/Lly/H48WOz2+OsLZJxAJyJtZPHj6WuCc/FkoNr1gxYuzbhup+fJLa5c2sWEpFLef4cuH5dNocZX+7eVSe3+o+LNGkkYS1USDaSFSok17lX3L3YbCb2m2++wc6dOzF9+nS0bt0aU6dOxZ07dzBz5kyMHj36tYImFxAbK+1cgoOlNku+fFpHRGTR7t3qBBYAevdmAkuUmtKlU8/UEqWmZM/E5s6dGwsWLECtWrUQGBiI48ePo2DBgli4cCGWLFmCDRs22CrW18aZWDv45RdpWg3IIfWoUbLo0N5VsIkSER8PVK4s6/f0MmeWxgZ8ayAi0pbN6sQ+efIE+fPnByDrX588eQIAqFatGvbs2ZPCcMkl3L+fUE8FAF68kAWHsbGahURkyZIl6gQWAIYOZQJLRORMkp3E5s+fH9evXwcAFC1aFMuXLwcgzQ7Sp0+fqsGRkxkwAAgPV4/Nni1FBokchKXGBkWKAJ07axMPERGlTLKT2Pbt2+PUqVMAgP79+2Pq1Knw8/ND79698c0336R6gOQkDh8G5s5Vj7VuLf0HiRzIpElSQN3YmDHc7UxE5Gxeu07sv//+i2PHjqFgwYIo5eBtMrgm1kbi44EqVYAjRxLG0qWTlivZsmkXF5GJhw9lp7PxCYOaNaUcEItpEBE5BptVJ3j58iX8/PwM1/PkyYM8efKkLEpyDfPnqxNYABgyhAksOZzhw81XvIwbxwSWiMgZJTuJTZ8+PSpVqoSaNWuiVq1aeOutt+Dv72+L2MgZhIUB/furxwoXlh6ARA7k4kVgxgz1WKtWQPny2sRDRESvJ9lrYrdt24YGDRrg0KFDaNq0KTJkyIBq1aph0KBB2Lp1qy1iJEc2bJg00TY2cSLg46NJOETWfPstYNyLxc8PGDlSu3iIiOj1JDuJrVatGgYOHIgtW7bg6dOn2LlzJwoWLIgxY8agQYMGtohRZerUqcibNy/8/PxQuXJlHD582OZfk6w4dw6YPFk99t57gB1+D4iSg40NiIhcT7KXEwDApUuXsGvXLsMlKioKjRs3Rq1atVI5PLVly5ahT58+mDFjBipXrowJEyagfv36uHjxIkJCQmz6tcmEosiSAeOpLV9fYPx47WIisiA+HujbVz2WObP5KhgiInIuya5OkCNHDkRGRqJWrVqoVasWatasiVKlSkFnh50RlStXRsWKFTFlyhQAQHx8PHLlyoUePXqgfxI+kVidIBWtWwc0aaIeGzQI+OEHbeIhsmLRIqn2ZmzqVODLL7WJh4iIEmezjl2ZM2fGixcvEBoaitDQUNy/fx+RkZGvFWxSREdH49ixY6hTp45hzMPDA3Xq1MGBAwcsPiYqKgrh4eGqC6WC2FigXz/1WI4c0uyAyIG8eGH+a1m0KNCpkzbxEBFR6kl2Envy5EmEhoaif//+iIqKwsCBA5EpUya89dZbGDRokC1iBAA8evQIcXFxyJIli2o8S5YsCA0NtfiYUaNGISgoyHDJlSuXzeJzK9HRQKNG6s1bo0cDadNqFxORBWPHArdvq8fY2ICIyDW8VrODx48fY9euXVi7di2WLFmC+Ph4xBmvkUxFd+/eRY4cObB//368+eabhvF+/fph9+7dOHTokNljoqKiEBUVZbgeHh6OXLlycTlBarl+XZYQXL4MHDoEeCT7mIjIZu7eBQoVktlYvXfeAbZuZV1YIiJHZrNmB6tWrTJs6Dp37hyCg4NRrVo1jBs3DjVr1nytoBOTKVMmeHp64v79+6rx+/fvI2vWrBYf4+vrC19fX5vF5Pby5QMWL5Zm9ExgycEMGqROYD08ZN8hE1giIteQ7CS2S5cuqFGjBjp37oyaNWvijTfesEVcZnx8fFC+fHls374dzZo1AyAbu7Zv347u3bvbJQaygs0uyMEcPy6N5Ix16AA4eGdsIiL7UxTgyhU5TbV7t5xlvX0bWLhQTl85sGQnsQ9MC9vbUZ8+fdC2bVtUqFABlSpVwoQJExAREYH27dtrFhMRORZFAfr0kX/10qUDvv9eu5iIiBzK48eStG7bJv/evGl+n1u37B9XMqWoTqxWPv74Yzx8+BBDhgxBaGgoypQpg02bNplt9iIbUBSehyWnsGaNTCYYGzgQsLLqiIjIfZw5A4wbJ0sBY2ISv6/prlgH9Fobu5wN68S+hg8+AEqXlqrx6dJpHQ2RRVFRQIkSwNWrCWN58gAXLkibWSIit6MowPbtUq5l8+akP65LF2D6dNvFlQibbewiN7R5M7B6tVxmzABGjADatwc8PbWOjEhlyhR1AgtI9TcmsETkdhQFWLECGDkSOH361ffPmhWoWxd4800gVy6gWDHbx/iaOBNLiYuLA8qWlVMQetmzA5cusS4sOZSHD6WkVlhYwtibbwJ//82VMETkhsLCgMKFAWt7mXx9gTp15FK3LlC8uMO8WXImllLHokXqBBaQ1rJMYMnBDBqkTmABltQiIjcWFCSnp1q0UI9nygR07y69tzNn1ia2VJLsmdiIiAiMHj0a27dvx4MHDxAfH6+6/dq1a6kaYGriTGwyvXwpR3HGOxRLlgROnuRSAnIox48DFSqoKxJ89hnw++/axUREpDlFAT76CFi1Sk5V9e0LtGnj8KUxbTYT27FjR+zevRutW7dGtmzZoOM0h+uaMsW8xMZPPzGBJYeiKEDPnuoENm1aaS9LROTWdDpg6lTgk0+ADz90ucZEyU5iN27ciPXr16Nq1aq2iIccxX//AT/+qB6rVQt4911NwiGyZskSWfdqbOBAIEcObeIhIrKb+HigXz/Zq9Knj+X7ZM0KNG9u37jsJNlJbIYMGRAcHGyLWMiRjBoliayxMWO4wJAcSkSEvH8by5/f+ns5EZHLiIwEWrcG/vhDPpvz5JHZVjeS7HnlESNGYMiQIXhh3JScXMvNm8CkSeqx5s2BihW1iYfIilGjgDt31GPjx7OkFhG5uIcPgbfflgQWkPVUrVoBBw5oG5edJXsmdty4cbh69SqyZMmCvHnzwtvbW3X78ePHUy040sjQoVI1Xs/Ly3xpAZHGrl2T2t3G6tYF3ntPm3jIxPPn0vHn9m050rh9G7h3DwgPT7g8eyb/NmokRx+WTJ8uH8yZMiVc8ucHihaVNSM8O0Tu5tIloGFD86LYsbHAjRtSW9BNJDuJbdasmQ3CIIdx5gwwf7567IsvgIIFtYmHyIq+fdXHWp6ewIQJzGk0ER8vRxTnz8vl4kXg6dOkP/6tt6zftns3sGyZ5dvSpQOKFJGi7MWKyfNUqcKpeHJdBw/KQd+TJ+rxoCCZlX3nHW3i0kiyk9ihQ4faIg5yFP37q7d5p0sHDBmiXTxEFmzbBqxZox7r0UNqdZONKIr0WvfxMb/NwwP45RcgNDRlz53YjulHj6zf9vw5cOyYXPR8fCSRrVlTTrfWqpWymIgczenTsrna9AAxd25gwwbpue1mUtzs4NixYzh//jwAoESJEihbtmyqBUUa2bVL/hCMffMNEBKiSThElkRHS51uY5kzyyoYSkXx8cCpU8COHXI5cAAYPBjo3dvy/YsWtX8Sa0l0NLBnj1w2bACOHk1ZTESO5OpVoF498wS2XDlg3TogWzZNwtJaspPYBw8e4JNPPsGuXbuQPn16AMDTp09Ru3ZtLF26FJmdvPuDW9u0SX09SxZu8yaHM3asnK02NnIk8P+3I3od164BGzdK0rprl/kpyyNHrD+2WDF5jKngYCBnTlm/miMHkCEDEBgIBATIv4GB0lTFmi++kLgePZLL3buyJvD581d/PzVrvvo+RI7u7l1Z8H//vnq8QQNgxQo5Y+qmkp3E9ujRA8+ePcM///yDYsWKAQDOnTuHtm3bomfPnliyZEmqB0l2Mnq0/FH07SstkIYOdes/DnI8168DI0aoxypWBD7/XJt4nJ6iACdOyNqMtWvldGViEkti69SRjSXFismsbIECkrymSfN6MXbtaj6mKPLBfv48cOGC/HvokHwvxl0kE1tKMGaM3LdLFx4BkeN68gSoX1/e/IzVqCFduBy885atJbvtbFBQELZt24aKJuWWDh8+jHr16uFpchbz2xnbziZRfLz8cTRtCphUnyDS0nvvAX/9lXDdwwM4fBgoX167mJyOokgyumiRJK+mXfle5fFjmV11RGFh0vli1y5ZTrBxo8z8mgoPB3Llkn/TpQM6dQK++krWFhI5iogImYE1LZtVtiywc6ds5nJRNms7Gx8fb1ZWCwC8vb0Rb3wETM7Lw0N6LRM5kLVr1QksAHz5JRPYZPvyS2DGjKTfv1Ah2SBVu7bs/reUFDqKoCApPdSwYeL3mzVLElhAliX88ovUxv74Y2n35oYbZMjBREdL4wLTBLZQIVn658IJbHIku9nB22+/jV69euHu3buGsTt37qB37954x81KOxCRfUREAD17qseyZDFfWkBJ8Kr36cyZgTZtpNTezZuy/nTGDEnwcuVy/hpmsbFSi81UXByweDFQqpQk+g8f2j00IoOYGPNENUcOYMsWbrY2kuwkdsqUKQgPD0fevHlRoEABFChQAPny5UN4eDgmT55sixiJyM398IPkU8bGjeNSRqsS66jYpIn5bGqBAsDXXwN790pDgvnzJZHNlcu2cWrBy0uWUbRoYbkqQny8NFgoVEhmaKOj7R4iEdKmBZYulTc6T09ZwrNlC5A3r9aROZRkr4kFAEVRsG3bNly4cAEAUKxYMdSpUyfVg0ttXBNr4uJFqa/4ySeJl7gh0tC5c0Dp0jKBple7NrB9u/NPCqa6u3eByZNl5nTTJqByZcv3695d1ou2aSNLh4oXd88X89o1mZX97TfriX/hwpJINGrknq8RaW/3bmngYe3v2QUlNV9LURLrrJjEmmjWTBYaVqwodYtq1NA6IiIVRZGEdffuhDFvb9lEX7SodnE5nHv3gGHDgLlz5TQkADRvDixfbvn+ERFSNYBJmXj8GJg4Ud4HIyMt3+f994GZM2W5BRHZVFLzNU6/uavduyWBBWSncs2awMKF2sZEZGL+fHUCC0j/DSaw/xcRAXz/vZz6njUrIYEFpAXltWuWH5c2LRNYYxkzyut48SLw2WeW77N6NfDGG8DJk3YNjYisYxLrjuLjZf2bscyZpaQWkYO4d8+8OVSePMCgQdrE41Di4oA5cyR5HTpUkllT8fHA1q32j82Z5coF/P47sH+/nKEyFRgorzlRaps7V5YDUbIwiXVH8+aZt2IcPlzeoIkcgKIA3bqZd1icOvX1a+c7vX37pNVkhw6S6Zvy9QU6d5YmAF98Yf/4XMGbbwIHDwILFgCZMsmYp6ecrUqbVtvYyPWsWycdW8qVk/rGlGRcE+tu/vtPNioY9yMvWlQWGbKxATmIFStk87ixzz6TSTK39fIlMGSIrNu09Lat08kH4fffA9mz2z8+VxUaKs0QypWTg32i1PTvv7JzNSxMrnt6AuPHm9cUdDM2a3bg6emJe/fuIcSkTtnjx48REhKCuLi45EdL9jN4sDqBBWR3LhNYchCPH8vmeWOZM8u+G7d18iTQujVw9qzl2+vVA37+WWqcUurKmhX48091O1tTz59LhRe3P01AyRIXB7Rtm5DA6sfYOCrJkr2cwNrEbVRUFHx8fF47ILKhkyel/qGx99+XvsxEDuKrr4AHD9RjkycnnNV1O7/9BlSqZDmBLVlSSmlt3swE1pZ0OpkhsyQ+XkqVVa+e/Ba+5N7Gjzffufrxx0CvXtrE44SSPBM7adIkAIBOp8Ovv/6KdOnSGW6Li4vDnj17UJRbhh1XfLwsMjQ+wvP3l2LeRA5iwwZg0SL1WNOm5ksL3Erp0uYzMz4+0gGiTx/ryRXZxw8/SOUCAKhQQapCVKumbUzk+E6dMt+lmiePlHFj5ZAkS3IS+8v/kx1FUTBjxgx4Gr1x+vj4IG/evJiRnH7cZF8LF8qOW2MDB8ofDZEDCA8334cUFARMm+bm7+kVKsgyoGHD5HqZMrLh6I03tIyKAOn8NXRowvUHD4C33wamTJHNdUSWvHwJtGqlLomn08nftWmrWUpUkpPY69evAwBq166NVatWIYNp20JyXE+fSnFNY/o2k0QOol8/4PZt9dj48dyjBEAOODdtAt55RzZ3cemWYyhSREpuXb6cMBYTI0djd+7IgYdbH4GRRd99Z7486Jtv2HAoBVidwB307CmLCo2tXw80bKhNPEQmNmyQrp7G6taVpZ7MAf4vJoYbMB3R06fAp5/KQYapL7+U91629Sa9nTvlYNQ49SpdGjh0SMrjEQAbduz68MMP8dNPP5mNjxkzBs2bN0/u05GtnTolxTWNvfceE1hyGPfvA+3bq8fSppUGVG6TwEZFyYuwbJn1+zCBdUzp00udz379zG+bNg1o2RKIjrZ7WOSAnj6VagTGCayvr2wEYAKbIslOYvfs2YOGFhKgd999F3tYpNfx/PWXelOIn5+U1CJyAIoipU1NqxGMHQvkzatJSPYXHi4lsubNkw+4gwe1joiSy9MT+Okny5tyli6V3YmWuqqRe+nRw7yCxahRUmWEUiTZSezz588tltLy9vZGeHh4qgRFqei772R2JzhYrvfvD+TLp21MRP83bZosJTDWpIkbNZqKiJB1FPoJgKgoSXhu3NA0LEqhzp3l/dZ01nzTJjlQ+e8/beIi7a1bZ1565Z13WE7rNSU7iX3jjTewzMIpr6VLl6J48eKpEhSlshYtZBF5ly6WT3kRaeCff8z3FmbJImVR3WIZwcuXQLNm0kbWWESEeqMQOZfmzWXPgWl72v37gdq1pZsHuZfwcPn8NZY+vZx94Xrp15Lsjl2DBw/GBx98gKtXr+Ltt98GAGzfvh1LlizBihUrUj1ASiXZspk3OiDSSFSUtJF9+VI9Pm+edOdyedHRkuxs26YeDwmRWbuyZbWJi1JH3brA9u2y9+DJk4TxU6dkRnbbNoAVftyHosjPfe7chLFffgFy5tQuJheR7EOAJk2aYM2aNbhy5Qq+/PJL9O3bF7dv38a2bdvQrFkzG4RIRK5m4EDg9Gn1WK9eQIMG2sRjV7GxUiNy3Tr1eHAwsHUrE1hXUbmyLBMxrRF39qwks+Q+goKAOXOk3EqePHKQ07at1lG5BJbYcjWK4ibnYslZbdli3um4ZEngyBHZd+jS4uOlCsGCBerxwECZuatQQZu4yHauXwdq1pQNPX5+0iCBrb7d1/PncsmaVetIHJrNSmwBwNOnT/Hrr79i4MCBePL/UyXHjx/HnTt3UhYtpY4XL6R/98qVWkdCZNG//8oyAmO+vsDixW6QwCqK7E42TWDTpJHdbUxgXVO+fMCOHdIUYf16JrDuLl06JrCpKNlrYk+fPo06deogKCgIN27cQMeOHREcHIxVq1bh5s2bWGD6Bk32M2AA8PffcvnsM2l9yHVX5CAiI4H33zff1zJmjJt0UJ05U8oxGPP1lTJ4VatqExPZR8GCwLlzgFeyP3KJKBHJnont06cP2rVrh8uXL8PPaOqkYcOGrBOrpc2bgUmTEq4vXmxeQZ5II4oi1YdOnFCPN2kCdO+uTUx2deCAdM4z5u0NrFoF/H+DLLk4JrDuIyYGuHdP6yjcQrKT2CNHjuALC0Ucc+TIgdDQ0FQJipLp3Dkpo2XMzw8YPVqbeIhMTJ5sXiKxcGFg4UI3qDBz7x7w4YfywWZswQJ2ziOxYYO0qHWfLSqubexYoFgx2czFn6lNJfvjw9fX12JTg0uXLiGzW9TGcTAPHwKNG0sdOmOjRwNFi2oTE5GR3buBPn3UY+nSyf6WoCBNQrKvYcPMZ2W+/Rb45BNNwiEHs2CBtAKfPl2a0ZBzu3IF+P57ICwM6NBBSmtdv651VC4r2Unse++9h++//x4x/59V0Ol0uHnzJr799lt8+OGHqR4gJSIqCvjgA/M/kI8+kg0kRBq7dUvKocbFqccXLpSJCrfwyy9Ay5YJ1+vUAX74Qbt4yHFMmCCllvR/IGPGAOPHaxoSvQZFAbp2VRfA3rEDePRIu5hcXLKT2HHjxuH58+cICQlBZGQkatasiYIFCyIgIAAjR460RYxkiX6RoWm3n4oVgfnz3eAcLTm6yEg5xnr4UD0+eLA0qnIbadJI1j5hgmzwWbqU6yNJFCwIeHqqx/r2BX7/XZt46PUsXmzewKRHD/lcJptIcZ3Yv//+G6dOncLz589Rrlw51KlTJ7VjS3UuVSd21CipGG8sZ07g8GHpzkWkoZgYSWBN6/k3bCib8d32GOvlSzeoJUbJMm+e+SZcLy/542E5Lufx5Iks4TM+as+ZU/asBARoF5eTSmq+lqQkNjg4GJcuXUKmTJnw+eefY+LEiQhwwh+KyySxf/whSwaMpU0rs7JlymgSEpFefLycITXdyFWwoDQ0SJ9ek7CIHNdPP5mvh02TRhaUs36wc+jQQTZyGVuzBmjaVJNwnF2qNjuIjo42bOaaP38+Xpo2PCf7WbrUvFq8TienMZjAksYUBfjqK/MENihI3s+ZwBJZ0K+f/OEYe/FCNu3++68mIVEy7N5tnsC+/z4TWDtI0sKsN998E82aNUP58uWhKAp69uwJf39/i/edY/qDpNShKFJxwHQJAQD8/LPsbiXS2PffSzktY/7+cma0RAltYrKrPXukyciUKUBIiNbRkLPQ6YBx44AHD2RCQu/+faBRI2lg4xalPJxQVBRgWnY0IEBdt51sJkkzsYsWLULDhg3x/PlzAEBYWBj+++8/ixeykfBwYNYs8/FOnczrFxFpYPJkqSZlzMtLVr9Uq6ZJSPYVESFrG1eskIx9xQqtIyJn4uEBzJ1r3vzin39k+ZhpnWFyDKNHAxcvqsdGjpT1sGRzyd7YlS9fPhw9ehQZM2a0VUw24/RrYs+fB956C3j6VK5/+SUwcSJ3OpPmFi0CWrdWj+l0ssn600+1icnuevY0n4Zeu5ZnSSh5nj6V9/nz59Xjn38O/Pqr/GGRY7h4EShVCoiOThirWFE69JlWnaBkSdU1scHBwXj0/zpntWvXho+PT+pESclTrBiwerX0Wx83Tk5ZMoEljU2aBLRpYz4+ZYobJbC7d5snsG+9JaeCiZIjfXrp4GW6HGXOHKlKQ45BUYAuXdQJrKennDFlAms33NjliP6/bMOiWrWAq1dlCQGPyElD8fHAN98AvXqZd1YcMUJOFLiFiAiZJTPm5yenhvlhRimRN68sJDfdezJokKyPJe3Nmwfs2qUe++orbrC2M27sciRhYbJJa9Ik4NAh6y2NcuSwb1xEJqKigHbtpFiGqT595LPWbfTvD1y7ph778UegcGFt4iHXULGibPL64IOEo8ShQ2WGn7QVGWleEi1PHmD4cG3icWPJ3til0+m4sSs1RUbKjubhw4ECBWRB+LNnlqsQEDmAp0+lBrulBPaHH4CxY93oJIG+GoGxqlVlfSzR62rWTJaOeXvLzN+wYW70x+XA/P2BjRuB8uUTxqZNk3rtZFfc2GVrP/4I+PjIL32aNPKvogBHj8ppoePHre863b8fePNN+8RJlAQ3bkjpyn/+UY97ecmek7ZtNQlLG7Gx8iF2+nTCmL8/cOoUUKiQdnGRa1EU4PJlzuw7othYOYg9cwb47Teto3EpSc3Xkr0r6Pr1668VmFuJj0/5eVUPD9nhyCSWHICiSKWBbt2k2puxdOmkjFa9etrEpplff1UnsIActDKBpdSk0zGBdVReXuZNKsiuktzBvGHDhggLCzNcHz16NJ7qSz0BePz4MYoXL56qwTm9yMiUPe7994GzZ1n/lRzCf/9JlYHWrc0T2KxZ5Yy62yWw//0HfPedeqxUKaBHD23iIfdl+kdJ5EaSnMRu3rwZUVFRhus//vgjnjx5YrgeGxuLi6YFf91dUpNYDw/Z0ditG3DwILBqlfVNXUR2tHOn5GbLlpnfVrSonCwoW9b+cWlu+HDg8WP12IQJrEZA9nXypDTWmDZN60iINJHk5QSmS2eTuZTWPXl4yML8yEi5vHgh/0ZHy07GqlXlUrky4IzNF8hlhYVJC9lffjEvnwXI2tdJk9z01/bcOfPNXB9+CNSurU085J7WrgVatpQSbz17ysbg+vW1jso1xcUBCxYArVrJJjtyGKyUb0vBwdKcgMhJREcD06dLnVfTiUYAyJABmDkTaN7c/rE5BEWRNXBxcQljvr5SGo/IXi5ckNJb8fFyPS4OaNFCTo1wWV/qmzwZ6N1bzrbMmiUTT+QQkrycQKfTQWdS2sP0OhE5p/h4KZlVtKjkaJYS2HfekU24bpvAApLlm/ZE//prIF8+beIh91S0qHkZxvBwKR3y8KE2Mbmqq1cTXuvTp2Wz9ejR2sZEBslaTtCuXTv4+voCAF6+fIkuXbog7f/rohmvlyUi5xAbC6xfLzOvx45Zvo+Pj7xn9+olK2Tcmq+vtP/s2lVekH//NS96TmQPw4cDFy8CK1YkjF2/LkvYtm+XrnH0euLjgY4d1ftbFEWWAZJDSHKd2Pbt2yfpCefOnftaAdmSJnViiRzQrVtSIeq334A7d6zf7/33pV17kSL2i81pKApw86asbyfSQmSktCI/fFg93qqVrOHk2dLXM2OGHLAa695dlheQTSU1X0t2swNnxiSW3FlkJLB1KzB7NrBhQ8JyOkveegsYM4YTDkQOLzQUqFRJjkyNjRhhXgaOku7mTan88Px5wliePFL+Ml067eJyEzZrdkBEzkFR5Gzjpk1y2b0bePky8ccUKSJLB5o25SQOkVPImhVYt06OOI0TrsGDpUlCixbaxeasFAXo3Fn9egIyA8AE1qEwiSVyAYoC3L8v+w70lz17ZMlmUlSuDHTpImchvfiuQORcSpWSnZnvvac+xdK2LZA7N1ClinaxOaP584HNm9VjHToAdetqEw9Z5RTLCW7cuIERI0Zgx44dCA0NRfbs2dGqVSsMGjQIPj4+SX4eLieg5IiOlo2+jx5JKcaoKPUlJkZmKz09ZcOTp6dcvLxk/4/+4uenvu7rK5ulfH3lvtZmPOPj1eWFIyMllrt3gXv3Ei43b8oZruRuSg4IkDKTX3whvTbIilGjpCLBZ5+xmQE5tokTzdugZsokTXQKFNAkJKdz964sIzDqSIrs2YF//gHSp9cqKrfjUssJLly4gPj4eMycORMFCxbE2bNn0alTJ0RERGDs2LFah0dOKjoauHwZOH9e6tefPy/Lyh48kITQ+D3MVnQ6SYCN/9XpJIGNjk79r+fhIRVi2raVVrI8M/YK//4LDB0qRyw//ggMGyY1xty+TAM5pJ49ZQ3R9OkJY48eAe++C+zfLwktWadfRmD65j9zJhNYB+UUM7GW/Pzzz5g+fTquXbtm9T5RUVGq0l/h4eHIlSsXZ2Ld1K1bUnlmxw7ZzHvlirpmvavKkQNo0EAu77wjDQsoiTp1kjIOer6+UjcyRw7tYiJKTGws0KSJLIQ3NmCAHIiRddOmSft3Yy1bAosWaROPG3OpmVhLwsLCEBwcnOh9Ro0aheHDh9spInI0z54BGzdK0rp9uyStri5NGuCNN2SJXKlSUn2nRAlu0kqRK1cA05KBXbowgSXH5uUFLF8O1KgBnDwpY127Sh9psu7cOaBvX/VYlizSpYscllPOxF65cgXly5fH2LFj0alTJ6v340ys+4mPl134c+cCf/wh60lfl4eHnHY3Xdfq7S1nn+LjZUZXf4mJUa+dfflS7pca0qYFsmUzvxQqJElr/vw8051qWrdWz8D4+wPXrslucCJHd/eurB3q3l26yvFI1rqoKNndeuqUenzjRjmFRXbnFDOx/fv3x08//ZTofc6fP4+iRYsart+5cwcNGjRA8+bNE01gAcDX19fQYYxc27VrsqF0/vyk78jXy5EDKFZMLoULy8F3SIhcMmcGgoNfLzFUFElso6PlvVL/r/7/8fFyH31CrCjyeePvLzOrxv+ycoCdnDsH/P67eqxHDyaw5Dz0m5G48P3VYmKA0qXVSWzPnkxgnYCmM7EPHz7EY0tN2o3kz5/fUIHg7t27qFWrFqpUqYJ58+bBI5mZBasTuJ6zZ+Us2cqVSZvtDA4GateWS4UK0oI8KMj2cZKTadFC3c4zXTpp6cmNMUSua+lSWTKUMydw5IjMHJAmnGImNnPmzMicOXOS7nvnzh3Url0b5cuXx9y5c5OdwJJrOXMmIXlNjKcnUKeOlPd7+2052OavDiXq5El1AgsAvXszgSXXcvu2rPuuVUvrSBzHJ59Iu8KICCawTsIpTk7euXMHtWrVQp48eTB27Fg8NCqImZWn99zKmTPA8OGy3jUxJUsC7dvLxtIsWewTG7mIoUPV19OnB/r00SQUIpu4fFmO7B8+lF7Ub72ldUSOI3durSOgZHCKJHbr1q24cuUKrly5gpw5c6puc8J9aZQCYWHAoEFSAcXajzwoSPbitG8PlC3LfQyUAqdPA3/+qR77+mvWiCTXcfIkUL++FMQGgEaNZDdsqVKahkWUEk5xYrVdu3ZQFMXihVybogBLlsja1alTLSewQUEyO3vjBjB5MlCuHBNYSiHTjabBwbLBg8hVzJiRkMACUti/fn2pf+wu/v5bDljJ6TlFEkvu6dIlOeP12WdAaKj57enTJySvQ4Zwsoxe07VrsrHDWM+e0p+XyFVMniyzr8ZCQ+XN9u5dbWKyp5s3gWbNpPyY6dp3cjpMYsnhxMbKpq033pAmBab8/GTZIpNXSlU//yw1zvTSppWyWkSuxNtbmiFUq6Yev35ddr+6ciIbGQm8/7604n3xQqqQDBjgHq0bXRSTWHIoN24ANWtKkhodbX57o0ZSwnPYMJbGolQUGmreneuLL2Q5AZGrSZMG+OsvoEwZ9fjFi/IGfOuWJmHZlKIAnTsDx4+rx8+c4fozJ8YklhzGsmXynrp/v/ltOXMCq1bJ+26+fHYPjVxdUBAwbhyQJ49c9/ZmRQJybenTA5s2Sbs/Y1euSCJ744YWUdnOhAnqDnyAdLdZtIh1F50Yf3KkuefPpaLAJ59IFQJjnp6yOfz8eTkLxANmsgl/f6BbNyk9tHChnArIkUPrqIhsK0sWYOdOSeaMXb8O1KjhOpu9tm+XDxJjAQHAmjVcj+bkNO3YZW/s2OV4TpwAPv5YcgdT+fNLZYJKlewfFxGR2wgNBd55R9ZqGcueHdixAyhSRJu4UsOJE7LW9+lT9fjatcB772kSEr1aUvM1zsSSZpYtA6pWtZzAtm4t7z1MYImIbCxrVpmRfeMN9fjdu7K04ORJTcJ6bf/8I1UXTBPYYcOYwLoIJrFkd/HxwHffyfKByEj1bQEBskRpwQKAk+VERHYSEiKJbNmy6vH792XGwdlcuiSzy48fq8ebNgUGD9YmJkp1TGLJrp49Az74ABg50vy2SpVk9rVlS/vHRUTk9jJmlPWjxqfAGjcGfvhBu5hS4vp1SWDv31eP164ta9S4kctl8CdJdnP9urToXrvW/LbOnYG9e4ECBewfF7mpZcuANm3M1wESubMMGYCtW2VjV6lSwOLFssPWWdy+LQns7dvq8apVpaW0v782cZFNMIklu9i/H6hYETh7Vj3u6SntZGfMAHx8tImN3JCiAKNHSyWCEiWkg8+pU1pHReQYAgOBLVuAzZudq2PdixeSwF6/rh6vUAFYvx5Il06buMhmmMSSza1fD9SpY740KThY3ie//JKls8jOdu1Sb1ZZu9b8g4/Infn6yoYva9auBfbssV88SZEmDdCli3qsVClJxtkdxyUxiSWbWrBA1tGbbuAqXhw4fFgqnxDZ3fjx6usFC3K3MlFS3b0LtGsH1KoF9O1r/gavpd69gWnT5P/FisnSCHbec1lMYslmxo8H2rY1b0vdsCFw4ADXv5JGLl4E1q1Tj/Xuzc0eREmhKEDHjlK2SlHkjb5cOZmVcBRdu8qa923bpOoCuSy+a1OqUxSgf385QDfVpo00SWH5LNLMhAnq6xkyyNEWEb3a2rXAxo3qsQsXZNfu4MFAVJR94vjvv8Rvb9FCmjWQS2MSS6kqLk4O0n/6yfy2vn2BuXOlLT2RJh49AubPV4916QKkTatNPETOpkkTYOxYWTNrLC5OSnEVLAhMnmy7JQYvXgBjxsipvFmzbPM1yGkwiaVUExcnE1pz5pjfNmaMvO/xjC1pasYM9YertzfQvbt28RA5G09PmZE4fhwoX9789tu3gZ49pW/4uHFARETqfN2oKGDKFElev/1WZmK7d5e1aeS2mFJQqtAnsL//rh738JCk9ptvtImLyED/IWjsk094ypEoJYoXlwTy++8BLy/z20NDga+/BvLmBYYOlTWzphskkuL5c/kQKVwY6NFDnlcvJgb48EPg3r0Ufxvk3JjE0muzlsD6+gKrVgHt22sTF5HKkiXmHXx699YmFiJX4O0t62APHwZq1rR8n0ePJNGtXDlpZz0ePpSNE337Suew9OmBDh2Amzct3796dcDPL6XfATk5C4dPREmXWAK7Zg3QoIEmYRGp6XdRG6td27xPPBElX9myUnt5715gxAgpa2VJjRqWx/fvl79HX1/pTZ4U9evLGtwKFVIUMrkGzsRSijGBJaexfTtw5ox6zFL5DCJKuerVpYPNwYNAo0bmt7/zjuXHvXwJREcnLYGtXl2aLGzaxASWOBNLKRMfL8sELCWwa9fKQTKRwzCdhS1SBHj3XW1iIXJ1lStLLeYTJ4B582Rm1tfXes3WV5Xl8vICqlWT2o316rHFIxkwiaVkUxTZfLpwoXqcCSw5pHPnzOtasrkBke2VLZuwZCexKgWmSWyaNMCbb8qsa/XqkhSzDB5ZwCSWkm3oUGDqVPUYE1hyWH5+CacNoqOBjBmB1q21jorIvSSWhNaqBRw9KslsmjRAiRIsKE5JolMURdE6CHsJDw9HUFAQwsLCEMiWUSnyyy9Anz7qMW9v4M8/uQaWHNyDB8DMmfJhavpLTEREDiOp+RpnYinJ5s0z/+zX6WSCiwksObyQECkHRERELoGLwihJ1qyRUn2mZs4Emje3ezhERETk5pjE0ivt3Al8/LFUJDD2009Ap07axERERETujUksJersWaBZM9kPY+zbb4F+/TQJiYiIiIhJLFl39y7QsCEQHq4e79QJGDVKm5iIkuTECWDKFOm7TkRELolJLFn07Jk0XLl1Sz3+4YfA9OmsNU0O7uefgR49gJw5pTPXjRtaR0RERKmMSSyZiY0FWrQATp5Uj7/5pjQ48PTUJCyipLlzB1ixQv4fFibdupYt0zYmIiJKdUxiSUVRgC+/lLbUxgoWlFqw/v7axEWUZNOny5GYnr8/dyASEbkgJrGkMno0MHu2eixTJunamSmTNjERJVlkJDBjhnqsTRsgOFibeIiIyGaYxJLB8uXAwIHqMT8/mYEtWFCbmIiSZfFi4PFj9VjPntrEQkRENsUklgBI2+q2bdVjOh2waJGshSVyeIoCTJyoHqtXDyheXJt4iIjIppjEEu7eBZo2BV6+VI+PGyfVCIicwo4dwJkz6rFevbSJhYiIbI5JrJuLjJRmBnfvqse/+AL46istIiJKoV9+UV8vXBho0ECbWIiIyOaYxLoxRQE6dACOHFGP16oFTJ7MWrDkRC5dAtavV4/16gV48C2OiMhV8R3ejY0aBSxZoh7Lnx9YuRLw9tYmJqIUMV0LmyGD+SJvIiJyKUxi3dTq1cCgQeqxgADgr7+AjBm1iYkoRf77D5g3Tz3WuTOQNq0m4RARkX0wiXVDZ88CrVurx3Q6YOlSbuQmJzR7NvDiRcJ1T0+gWzft4iEiIrtgEutmnj4F3n8fiIhQj//8M9CwoSYhEaVcTIws4DbWvDmQK5c28RARkd0wiXUj8fEyA3vlinq8XTugTx9NQiJ6PaGhQI4c6rHevbWJhYiI7MpL6wDIfr7/Hli3Tj1WsaK0mmclAnJKuXIBBw/K5ZdfgHv3gEqVtI6KiIjsQKcoiqJ1EPYSHh6OoKAghIWFITAwUOtw7Oqvv4D33lOPZc4MHDvGM6/kQmJjAS8emxMRObOk5mtcTuAGLl0CWrVSj3l6AsuXM4ElF8MElojIbTCJdXHPnslGrvBw9fjYsdLUgIiIiMgZMYl1YfqOXOfOqcc/+4wt5YmIiMi5MYl1YZMnAytWqMdKl5aymtzIRU4rLAzYuFGO0oiIyG0xiXVRBw4AffuqxzJkAFatAtKk0SYmolQxc6YUNS5VCliwAIiO1joiIiLSAJNYF/ToEdCihWzUNrZoEZA/vzYxEaWKqChgwgT5/9mzQNu2QPfumoZERETaYBLrYuLigJYtgdu31eMDB7IjF7mA33+XWrDGOnXSJhYiItIUk1gXM3IksGWLeqx2bWD4cG3iIUo18fHSH9lYrVrSsYOIiNwOk1gXsnUrMGyYeixbNmDxYpbPJBewfj1w4YJ6rF8/bWIhIiLNMYl1EbdvS+ks4w3bnp7A0qVA1qzaxUWUasaMUV8vWRJo0ECbWIiISHNMYl1AbCzw6aeyocvYjz8CNWpoExNRqtq/H9i3Tz3Wrx9rxRERuTEmsS5g6FDzz/f33gO+/lqbeIhSnela2Fy5gE8+0SYWIiJyCExindyWLcCoUeqxvHmBefMAD/50yRVcuACsXase690b8PbWJh4iInIITHOc2L17QOvW6nWwXl6yDjZDBu3iIkpV48apf8nTpwc6dtQsHCIicgxMYp1UXBzQqhXw4IF6/KefgMqVtYmJKNXduydduYx9+SUQEKBNPERE5DCYxDqpkSOBHTvUY40by1lWIpcxdqy6rayvL9Cjh3bxEBGRw2AS64R27TJvXpAzp6yD5WZtchmhocD06eqxtm1ZM46IiAAwiXU6Dx9KW9n4+IQxT09gyRIgY0bt4iJKdTduqBNWLy+gf3/NwiEiIsfCJNaJKArQvj1w9656fMQIoFo1bWIispkqVYCLF4Fff5WSG+3aAfnyaR0VERE5CKdLYqOiolCmTBnodDqcPHlS63DsavJk6bxprF494NtvtYmHyOa8vYEOHYBLl8xrxRIRkVtzuiS2X79+yJ49u9Zh2N3Jk8A336jHsmSRjdusB0suz9tbSmsRERH9n1OlPxs3bsSWLVswduxYrUOxq4gIaU5kvEkbAObPl0SWiIiIyN14aR1AUt2/fx+dOnXCmjVrkCZNmiQ9JioqClFRUYbr4eHhtgrPpnr1kqWBxr7+GqhfX5t4iIiIiLTmFDOxiqKgXbt26NKlCypUqJDkx40aNQpBQUGGS65cuWwYpW0sWwb89pt6rHx5qRNL5HLmzwfOntU6CiIicgKaJrH9+/eHTqdL9HLhwgVMnjwZz549w4ABA5L1/AMGDEBYWJjhcuvWLRt9J7Zx/TrQubN6LF06Kafl46NNTEQ2c/cu8MUXQKlSwMcfA//8o3VERETkwHSKYtyU3L4ePnyIx48fJ3qf/Pnzo0WLFvjrr7+gM6rkHxcXB09PT7Rs2RLz589P0tcLDw9HUFAQwsLCEBgY+Fqx21psLFCjBnDggHp8wQKgdWttYiKyqV69gEmTEq77+gJ37rAAMhGRm0lqvqZpEptUN2/eVK1nvXv3LurXr4+VK1eicuXKyJkzZ5Kex5mS2KFDge+/V4+1agUsXKhNPEQ2deMGULQoYLSGHV98AcyYoVlIRESkjaTma06xsSt37tyq6+nSpQMAFChQIMkJrDPZtw/44Qf1WP78wNSp2sRDZHPffKNOYL29gYEDtYuHiIgcnlNs7HInT5/KjKtpW9nFiwEHnzwmSpndu4GVK9VjXbsCJgevRERExpxiJtZU3rx54QSrIJJNUYAvvwT+/Vc9Pnw4ULmyNjER2VRcHNC7t3osOFjW0xARESWCM7EOZNEiqTxgrEYNoH9/beIhsrl584ATJ9Rj338viSwREVEinGJjV2px5I1d164BZcoAz54ljKVPD5w6xbOq5KLCw4FChYAHDxLGSpSQHsteTnmSiIiIUkFS8zXOxDqAmBigZUt1AgsAs2YxgSUXNnKkOoEFgF9+YQJLRERJwiTWAfzwA3DwoHqsfXugeXNt4iGyuatXgQkT1GONGwN162oSDhEROR8msRrbv9+8nFbBguqa70Qu5+uvgejohOve3sC4cdrFQ0RETodJrIbCw83LaXl5Ab//Lu1liVzSjh3AmjXqsR49gMKFNQmHiIicE5NYDfXsCVy/rh4bNgyoVEmTcIjsY+5c9fVMmYDBg7WJhYiInBaTWI2sWAHMn68eq1aN5bTIDcydK2W0PD3l+g8/SCkOIiKiZGASq4Hbt6UtvLHAQGDhwoTPdSKX5eUlM6/798t6mo4dtY6IiIicEGvZ2Fl8PNC2LfDff+rxqVOBvHk1CYlIG5UqyZEbERFRCnAm1s7Gj5d9LcY++UTqxBIRERFR0jCJtaNTp4CBA9VjuXIB06YBOp02MRHZnPs0BSQiIjtiEmsnkZEy2xoTkzCm0wELFgAZMmgXF5FNXbwIVKgAHDumdSRERORimMTayYABwD//qMe++QaoVUuTcIhsLzpaNm4dPw5UqQKMGgXExWkdFRERuQgmsXawZQswcaJ6rEwZYMQITcIhsr24OKBNG+DoUbkeGytraUz/EIiIiFKISayNPX4MtGunHvPzk65cPj6ahERaio0Frl41n5Y3FhoK7NsHhIXZL67UFB8vZbOWLVOPFy0KdOmiTUxERORyWGLLhhQF6NwZuHdPPf7zz0Dx4trERHZ2/760WF2/Hjh/HrhxQxLZGjWA3bstP2brVpnF1OmAYsXkVHzlynIpUULqrDoqRZFWdPPmqcfTpAEWL5Z/iYiIUoEDfxo6v/nzgVWr1GMNGgDdumkTD9nJnTvA6tXAypXA3r0yM2nqyhXrj3/2TP5VFODcObnMmSNjgYFAkyZA8+ZA/foyre8oFEVazk2dqh739QX+/BMoW1abuIiIyCUxibWRa9eAHj3UYxkzSi7CclouSFGADRuAMWOAPXteff+7d4GICCBtWvPbnj+3/rjwcFmL8vvvQECAOqH19095/KlhxAj5/o15eQF//AG88442MRERkcvimlgbiI0FWrc2z0VmzwayZdMmJrKR+HiZbi9fHmjcOGkJLAAEBZmvM9Hz9AS8vV/9HM+eySn6998HsmaVXsYHD9q/LmtsLDB8ODB0qHrcw0Pia9TIvvEQEZFb0CmK+1QiDw8PR1BQEMLCwhAYGGizrzNyJPDdd+qxDh2AX3+12ZckLRw+LD/Ys2cTv1/atJLgNmwIFCkCFCwIBAcnPiX/8iVw8iRw6FDC5dq1V8eUJQtw61bSkuDUcPKkbOKyVAd23jzpsUxERJQMSc3XuJzABnx9JYfQNzYoUACYMEHTkMgWMmaUzVqWBAYC770HfPQRUK9e8k/1+/nJhq4qVRLG7t6VWd8VK2StraXjz9at7ZPAvnwJDBsGjB1rufbrtGlMYImIyKa4nMAGvv5azuoWLSpnhhctAtKl0zoqSnUFCgCffaYeK1xYZiAfPAAWLgSaNk29tarZswPdu0tVgzt3gClTgJo11TO6pvXcjPXvDyxdKmtxX5eHh1RcsJTAjh8PdO36+l+D6H/t3Xt0VOW9xvFnhoEwSBJCSCCQQEgrtyCXQkWEKrURikANihdUqhR6CuIpiqCwUBDtERUtSisaRVhKqfRI1FrlskoDLoJXridBuQikXARsCCREIObynj92ExhIEG323rOT72etWbovM/v3vk6nDy/vfjcAXADTCWx08qS0dq31t8ioo7Zvt9ZL69zZmkNy883Wn1yctG+f9fzinJzz12at9M9/SsnJ1r9HRFhzePv2PTPam5j43a/70UfSlVeeGRHu3Nma+N2v3/dqBgAA0sXnNUIscCEbN0oZGdKLL1qjj9X5+GPpxz+u+Xg4mDNHeuCBmo+3aSO1bWsF8AYNrFUFGjSwbj577DFrRLk6v/2t1TfTp1sjvRER9tQPAKg3mBML/CdKS6Xf/c66S6+8XLr8cusGpur06eNsbd9HTSO0lQ4etF7VWbmy5hD7P/9jPYWLp3cAABwWxkNHgEu2bbP+iv3RR8/M+XzwQSk/3926vi9jrEWLf/7z7zfVYdWqmpftiowkwAIAXEGIBSqVl1t32/fqJW3aFHqsoMC7S0z4fNZKAStWWEF8xQprTddBg6z1ar/N3r3S7t321wkAwHfAdAJAstZgvfNOKTv7/GOBgHXT1rRpztdV25o1s0Zkf/5za7uiQtqxQ9q82Vq1oKzMCvPl5da/N2gg9ehhzZcFACCMEGJRvxkjvfqq9dft1T3utUsX687/Xr2cr80Jfr+1qkDnzm5XAgDAd8J0AtRfBQXWklijR58fYH0+a8HfjRvrboAFAMDDGIlF/fSPf1jTB6q7Iz8lxRqd7d/f+boAAMBFYSQW9UtJiTXCmpZWfYAdM0baupUACwBAmGMkFvXPqlXn72ve3Hra1A03OF8PAAD4zhiJRf0SESEtXiw1bHhm37XXWo9sJcACAOAZhFjUPz16SLNmWYF27lzriVStW7tdFQAA+A6YToC6qbxc+vJLKSmp+uNTplgjrx07OlsXAACoFYzEou7ZskXq29eaJlBSUv05gQABFgAADyPEou74+mtr5YHevaVPP7WeRPXEE25XBQAAbECIRd3w3nvW07WeecaaSlDp8cetMAsAAOoUQiy8LSdHGjJEGjpU2rfv/OPt20snTjhfFwAAsBUhFt60f7/1uNju3aXly88/3qiRtQLB1q3W9AIAAFCnsDoBvOX4cWue63PPSadPV3/OT38qvfACN24BAFCHEWLhDUeOSPPmSfPnW0G2Oi1bWgH3zjsln8/R8gAAgLMIsfCGyZOlP/2p+mOXXCI98IA0aZLUtKmzdQEAAFcwJxbeMGnS+fsCAenuu6Xdu6UZMwiwAADUI4RYhI+DB6WjR6s/1rOnlJZ2ZnvECGnbNun5561pBAAAoF4hxMJdp05Jy5ZZy2S1bWvdkFWTqVOlMWOkzz+X3nhD6tDBuToBAEBY8RljjNtFOKWoqEjR0dEqLCxUVFSU2+XUX8XF0ooVVnh97z3rSVuVUlKkXbskP3++AgCgPrrYvMaNXXBGfr60cqX05ptWgK1peaw9e6T337eWyQIAAKgBIRb2MMZ6mta771qjrR99JFVUfPv7mja1giwhFgAAXAAhFrXv//7PmuN64MDFne/3S1ddZa3vetNN1pJZAAAAF0CIRe37wQ+kf/3rwuc0aCBdc421ykB6uhQf70hpAACgbiDE4rs7fNhaHeDKK6Vevc4/fsklVkBdsSJ0f5Mm0s9+Jg0fLv3iF1JsrDP1AgCAOocQi4tTUCBlZkpLl0pr11rzW//rv6SMjOrPHzrUCrHJydbUgqFDpQEDpMaNHSwaAADUVSyxhQvbtk2aO9d65GtJSeix5s2tUdmGDc9/39Gj1rEuXSSfz5laAQCA511sXmMxTpzPGOnvf5cGD5a6dpVeeeX8ACtZo7OrV1f/GbGxUmoqARYAANiC6QQ4wxjp9delJ56wlse6kKZNrRuyWrVypDQAAICzEWJh2bZNGj9eWreu5nMaNbJuyLr1Vum666Rg0Ln6AAAAzkKIre9On5ZmzpR+/3uprKz6c2Jjpbvvtl6MvAIAgDBAiK3vAgFp1arqA2zHjtKkSdKoUYy6AgCAsMKNXfVdICC98ELovuRk6c03pc8+s5bRIsACAIAwQ4iF1LevNHastVTW9OnW/Njhw63HwQIAAIQh1omF5ehR61GxnTq5XQkAAKjHWCcWod57T5oyxVpGqzqxsQRYAADgGdzYVdcZI82bZ92gVVEhJSZKEye6XRUAAMB/xFMjse+995769OmjYDComJgYpaenu11S+HvoIenee60AK0n33Se9+66rJQEAAPynPBNiMzMzNWrUKI0ePVpbt27V+vXrddttt7ldVnh78UXp8cdD9xlDiAUAAJ7niRu7ysrKlJycrFmzZmnMmDHf+3Pq1Y1dy5dLw4adGYGt9Oij1uisz+dOXQAAABdQp27s2rRpkw4ePCi/36+ePXsqISFBgwcPVm5u7gXfV1JSoqKiopBXvbB5s3TzzecH2Jdekh5+mAALAAA8zxMhds+ePZKkRx55RA899JDeffddxcTEaMCAASooKKjxfbNnz1Z0dHTVKykpyamS3bNvnzRkiPT116H7H3pI+vWv3akJAACglrkaYqdOnSqfz3fB1/bt21Xx7xHF6dOn68Ybb1SvXr20aNEi+Xw+vfHGGzV+/rRp01RYWFj12r9/v1NNc0dhoRVgDx0K3X/77dY0AgAAgDrC1SW27r//ft11110XPCclJUWH/h3KunTpUrU/IiJCKSkp2rdvX43vjYiIUERERK3UGvZKS6URI6Rzp1hcfbX0yitMIQAAAHWKqyE2Li5OcXFx33per169FBERoR07dqh///6SpNLSUuXl5aldu3Z2l+kNM2ZIq1eH7uvUSXrrLam+BHkAAFBveOJhB1FRURo3bpxmzpyppKQktWvXTnPmzJEk3XTTTS5XFwY+/VR66qnQffHx1goFMTHu1AQAAGAjT4RYSZozZ44CgYBGjRqlU6dOqU+fPsrKylJMfQ9pJSXS6NGhKxE0bCj97W9S+/bu1QUAAGAjz4TYhg0b6umnn9bTTz/tdinhpbzcmve6bduZfTNmSJdf7l5NAAAANvPEElu4gCZNpOefl7KypORkqWdP6cEH3a4KAADAVp4ZicW3+OlPpZwcKT/fmk4AAABQhxFi65KmTa0XAABAHcd0AgAAAHgOIdZrvvnGerQsAABAPUaI9ZqXX5ZSU6UXX5SMcbsaAAAAVxBiveTrr6XHHpOKi6Xx46W0NCkvz+2qAAAAHEeI9ZLnnpOOHDmznZXF1AIAAFAvEWK9oqDg/EfLDh4sXXWVO/UAAAC4iBDrFU8+KRUWhu57/HF3agEAAHAZIdYLDh6U5s0L3XfrrVKPHq6UAwAA4DZCrBc89ph0+vSZ7UDA2gcAAFBPEWLD3a5d0oIFofvGjpV++EN36gEAAAgDhNhw9/DDUnn5me1g0NoHAABQjxFiw9nmzdJf/hK677e/lVq3dqceAACAMEGIDWfTp4duN2smPfigK6UAAACEE0JsuNq6VVqxInTfAw9IMTHu1AMAABBGCLHh6tlnQ7fj4qypBAAAACDEhqWSEmn16tB9EyZIl1ziTj0AAABhhhAbjiIiziytlZpqbY8f73ZVAAAAYYMQG64aN5bGjJFycqRNm6T4eLcrAgAACBuE2HDn80ldurhdBQAAQFghxAIAAMBzCLEAAADwHEJsOMnPd7sCAAAATyDEhovPPrMeJztypPTJJ25XAwAAENYIseHi2Wel0lJp6VKpTx8pPd3tigAAAMIWITYc5OdLixeH7uva1Z1aAAAAPIAQGw4yMqTTp89sN2xoPaELAAAA1SLEuq2iQnr55dB9t94qJSS4Uw8AAIAHEGLdlpUl/fOfofv++7/dqQUAAMAjCLFuW7gwdLtbN6l3b3dqAQAA8AhCrJuOHZPefDN035gx1qNmAQAAUCNCrJuWLJFKSs5sN2ok3X67e/UAAAB4BCHWTedOJUhPl2JjXSkFAADASwixbtm82Xqd7Ve/cqcWAAAAjyHEuuXcUdikJCktzZ1aAAAAPIYQ64bTp635sGe76y6pQQNXygEAAPAaQqwb3n7bWpngbKNHu1IKAACAFxFi3dCtmzR+vBQdbW1fc43Uvr27NQEAAHiIzxhj3C7CKUVFRYqOjlZhYaGioqLcLkc6dcpaJ7ZVK+lnP3O7GgAAANddbF4LOFgTzhUMsi4sAADA98B0AgAAAHgOIRYAAACeQ4gFAACA5xBinVJSIr36qlRY6HYlAAAAnkeIdcqKFdYDDVq2lG64QcrMdLsiAAAAz2J1Aqe8/rr1z5IS6a23pIIC6cYb3a0JAADAoxiJdUJxsfS3v4Xuu/VWd2oBAACoAwixTvjrX60HG1QKBKQRI9yrBwAAwOMIsU6onEpQ6dprpRYt3KkFAACgDiDE2q2gQFq1KnTfyJHu1AIAAFBHEGLtlpkplZWd2W7cWLr+evfqAQAAqAMIsXY7dyrBkCFSVJQ7tQAAANQRhFg7ffmltHZt6D6mEgAAAPzHCLF2+t//lYw5sx0ZKV13nXv1AAAA1BGEWDudO5Vg+HApGHSnFgAAgDqEEGuXPXukTz4J3ccDDgAAAGoFIdYuS5eGbsfGSmlp7tQCAABQxxBi7XLuVIKbbpIaNnSnFgAAgDqGEGsHY6QFC6SJE6VWrax9rEoAAABQa3zGnH37fN1WVFSk6OhoFRYWKsqptVrLy6V166SrrpL8/JkBAADgQi42rwUcrKl+atBAGjDA7SoAAADqFIYGAQAA4DmEWAAAAHgOIRYAAACe45kQu3PnTl1//fVq0aKFoqKi1L9/f61Zs8btsgAAAOACz4TYoUOHqqysTFlZWdq4caO6d++uoUOH6vDhw26XBgAAAId5IsTm5+dr165dmjp1qrp166ZLL71UTzzxhE6ePKnc3Fy3ywMAAIDDPBFiY2Nj1bFjR7322mv6+uuvVVZWpoyMDMXHx6tXr141vq+kpERFRUUhLwAAAHifJ9aJ9fl8Wr16tdLT0xUZGSm/36/4+HitXLlSMTExNb5v9uzZmjVrloOVAgAAwAmujsROnTpVPp/vgq/t27fLGKMJEyYoPj5e69at0yeffKL09HQNGzZMhw4dqvHzp02bpsLCwqrX/v37HWwdAAAA7OLqY2f/9a9/6ejRoxc8JyUlRevWrdPAgQN17NixkMePXXrppRozZoymTp16Uddz5bGzAAAAuGieeOxsXFyc4uLivvW8kydPSpL8/tCBY7/fr4qKCltqAwAAQPjyxI1dffv2VUxMjO68805t3bpVO3fu1JQpU7R3714NGTLE7fIAAADgME+E2BYtWmjlypUqLi7WNddco969eys7O1t//etf1b17d7fLAwAAgMNcnRPrNObEAgAAhLeLzWueGIkFAAAAzkaIBQAAgOcQYgEAAOA5hFgAAAB4DiEWAAAAnkOIBQAAgOcQYgEAAOA5hFgAAAB4DiEWAAAAnkOIBQAAgOcQYgEAAOA5AbcLcJIxRpL1TF4AAACEn8qcVpnbalKvQuyJEyckSUlJSS5XAgAAgAs5ceKEoqOjazzuM98Wc+uQiooKffnll4qMjJTP57P9ekVFRUpKStL+/fsVFRVl+/Vgod/dQb+7g353B/3uDvrdHU73uzFGJ06cUOvWreX31zzztV6NxPr9fiUmJjp+3aioKP7H5gL63R30uzvod3fQ7+6g393hZL9faAS2Ejd2AQAAwHMIsQAAAPAcQqyNIiIiNHPmTEVERLhdSr1Cv7uDfncH/e4O+t0d9Ls7wrXf69WNXQAAAKgbGIkFAACA5xBiAQAA4DmEWAAAAHgOIRYAAACeQ4i9gNmzZ+vHP/6xIiMjFR8fr/T0dO3YsSPknNOnT2vChAmKjY1V06ZNdeONN+rIkSMh5+zbt09DhgxRkyZNFB8frylTpqisrKzqeHZ2tvr166fY2FgFg0F16tRJc+fOdaSN4cipfj/b+vXrFQgE1KNHD7uaFfac6ve1a9fK5/Od9zp8+LAj7Qw3Tn7fS0pKNH36dLVr104RERFKTk7WwoULbW9jOHKq3++6665qv++pqamOtDPcOPl9X7Jkibp3764mTZooISFBv/rVr3T06FHb2xiOnOz3559/Xp07d1YwGFTHjh312muv2dcwgxoNGjTILFq0yOTm5potW7aY6667zrRt29YUFxdXnTNu3DiTlJRk/vGPf5gNGzaYK664wlx55ZVVx8vKykzXrl1NWlqa2bx5s1m+fLlp0aKFmTZtWtU5mzZtMn/+859Nbm6u2bt3r1m8eLFp0qSJycjIcLS94cKpfq907Ngxk5KSYgYOHGi6d+/uRBPDklP9vmbNGiPJ7Nixwxw6dKjqVV5e7mh7w4WT3/df/OIXpk+fPubvf/+72bt3r/nggw9Mdna2Y20NJ071+/Hjx0O+5/v37zfNmzc3M2fOdLK5YcOpfs/OzjZ+v98899xzZs+ePWbdunUmNTXVDB8+3NH2hgun+n3+/PkmMjLSLF261Ozevdu8/vrrpmnTpuadd96xpV2E2O/gq6++MpLM+++/b4yxfpwaNmxo3njjjapzPv/8cyPJfPjhh8YYY5YvX278fr85fPhw1TkvvPCCiYqKMiUlJTVea/jw4eaOO+6wqSXeYne/33LLLeahhx4yM2fOrNch9lx29XtliD127JhzjfEQu/p9xYoVJjo62hw9etTB1niHU7/vb731lvH5fCYvL8/G1niHXf0+Z84ck5KSEnKtefPmmTZt2tjdJE+wq9/79u1rJk+eHHKtSZMmmX79+tnSDqYTfAeFhYWSpObNm0uSNm7cqNLSUqWlpVWd06lTJ7Vt21YffvihJOnDDz/UZZddppYtW1adM2jQIBUVFWnbtm3VXmfz5s364IMPdPXVV9vVFE+xs98XLVqkPXv2aObMmU40xVPs/r736NFDCQkJuvbaa7V+/Xq7m+MZdvX7O++8o969e+upp55SmzZt1KFDB02ePFmnTp1yqmlhzanf91deeUVpaWlq166dXU3xFLv6vW/fvtq/f7+WL18uY4yOHDmiZcuW6brrrnOqaWHNrn4vKSlR48aNQ64VDAb1ySefqLS0tNbbQYi9SBUVFbr33nvVr18/de3aVZJ0+PBhNWrUSM2aNQs5t2XLllXz+w4fPhzyH7zyeOWxsyUmJioiIkK9e/fWhAkTNHbsWJta4x129vuuXbs0depU/elPf1IgELC5Jd5iZ78nJCToxRdfVGZmpjIzM5WUlKQBAwZo06ZNNrcq/NnZ73v27FF2drZyc3P11ltv6dlnn9WyZct0991329yq8OfE77skffnll1qxYgW/7f9mZ7/369dPS5Ys0S233KJGjRqpVatWio6O1vPPP29zq8Kfnf0+aNAgLViwQBs3bpQxRhs2bNCCBQtUWlqq/Pz8Wm8L/899kSZMmKDc3FxlZ2fbdo1169apuLhYH330kaZOnaof/vCHGjlypG3X8wK7+r28vFy33XabZs2apQ4dOtTqZ9cFdn7fO3bsqI4dO1ZtX3nlldq9e7fmzp2rxYsX1/r1vMTOfq+oqJDP59OSJUsUHR0tSfr973+vESNGaP78+QoGg7V+Ta9w4vddkl599VU1a9ZM6enptl7HK+zs988++0wTJ07UjBkzNGjQIB06dEhTpkzRuHHj9Morr9T69bzEzn5/+OGHdfjwYV1xxRUyxqhly5a688479dRTT8nvr/1xU0ZiL8I999yjd999V2vWrFFiYmLV/latWumbb77R8ePHQ84/cuSIWrVqVXXOuXf3VW5XnlOpffv2uuyyy/TrX/9a9913nx555JHab4yH2NnvJ06c0IYNG3TPPfcoEAgoEAjo0Ucf1datWxUIBJSVlWVv48KYU9/3s11++eX64osvaqkF3mR3vyckJKhNmzZVAVaSOnfuLGOMDhw4YEeTPMGp77sxRgsXLtSoUaPUqFEjG1riLXb3++zZs9WvXz9NmTJF3bp106BBgzR//nwtXLhQhw4dsrFl4c3ufg8Gg1q4cKFOnjypvLw87du3T8nJyYqMjFRcXFztN8iWmbZ1REVFhZkwYYJp3bq12blz53nHKydCL1u2rGrf9u3bq50IfeTIkapzMjIyTFRUlDl9+nSN1541a5Zp165d7TXGQ5zo9/LycpOTkxPyGj9+vOnYsaPJyckJuWOzvnDz+56WllZv7xp2qt8zMjJMMBg0J06cqDrn7bffNn6/35w8edKu5oUtp7/vlTc05uTk2NQib3Cq32+44QZz8803h3z2Bx98YCSZgwcP2tG0sObm7/tVV11lRo4cWYutOYMQewHjx4830dHRZu3atSFLpJz9gz9u3DjTtm1bk5WVZTZs2GD69u1r+vbtW3W8ckmKgQMHmi1btpiVK1eauLi4kCUp/vjHP5p33nnH7Ny50+zcudMsWLDAREZGmunTpzva3nDhVL+fq76vTuBUv8+dO9e8/fbbZteuXSYnJ8dMnDjR+P1+s3r1akfbGy6c6vcTJ06YxMREM2LECLNt2zbz/vvvm0svvdSMHTvW0faGC6d/Z+644w7Tp08fR9oWzpzq90WLFplAIGDmz59vdu/ebbKzs03v3r3N5Zdf7mh7w4VT/b5jxw6zePFis3PnTvPxxx+bW265xTRv3tzs3bvXlnYRYi9AUrWvRYsWVZ1z6tQpc/fdd5uYmBjTpEkTM3z4cHPo0KGQz8nLyzODBw82wWDQtGjRwtx///2mtLS06vi8efNMamqqadKkiYmKijI9e/Y08+fPr7frZjrV7+eq7yHWqX5/8sknzQ9+8APTuHFj07x5czNgwACTlZXlVDPDjpPf988//9ykpaWZYDBoEhMTzaRJk+rlKKwxzvb78ePHTTAYNC+99JITTQtrTvb7vHnzTJcuXUwwGDQJCQnm9ttvNwcOHHCimWHHqX7/7LPPTI8ePUwwGDRRUVHm+uuvN9u3b7etXb5/Nw4AAADwDG7sAgAAgOcQYgEAAOA5hFgAAAB4DiEWAAAAnkOIBQAAgOcQYgEAAOA5hFgAAAB4DiEWAAAAnkOIBQAAgOcQYgEgDBhjlJaWpkGDBp13bP78+WrWrJkOHDjgQmUAEJ4IsQAQBnw+nxYtWqSPP/5YGRkZVfv37t2rBx54QH/4wx+UmJhYq9csLS2t1c8DACcRYgEgTCQlJem5557T5MmTtXfvXhljNGbMGA0cOFA9e/bU4MGD1bRpU7Vs2VKjRo1Sfn5+1XtXrlyp/v37q1mzZoqNjdXQoUO1e/fuquN5eXny+Xz6y1/+oquvvlqNGzfWkiVL3GgmANQKnzHGuF0EAOCM9PR0FRYW6oYbbtBjjz2mbdu2KTU1VWPHjtUvf/lLnTp1Sg8++KDKysqUlZUlScrMzJTP51O3bt1UXFysGTNmKC8vT1u2bJHf71deXp7at2+v5ORkPfPMM+rZs6caN26shIQEl1sLAN8PIRYAwsxXX32l1NRUFRQUKDMzU7m5uVq3bp1WrVpVdc6BAweUlJSkHTt2qEOHDud9Rn5+vuLi4pSTk6OuXbtWhdhnn31WEydOdLI5AGALphMAQJiJj4/Xb37zG3Xu3Fnp6enaunWr1qxZo6ZNm1a9OnXqJElVUwZ27dqlkSNHKiUlRVFRUUpOTpYk7du3L+Sze/fu7WhbAMAuAbcLAACcLxAIKBCwfqKLi4s1bNgwPfnkk+edVzkdYNiwYWrXrp1efvlltW7dWhUVFeratau++eabkPMvueQS+4sHAAcQYgEgzP3oRz9SZmamkpOTq4Lt2Y4ePaodO3bo5Zdf1k9+8hNJUnZ2ttNlAoCjmE4AAGFuwoQJKigo0MiRI/Xpp59q9+7dWrVqlUaPHq3y8nLFxMQoNjZWL730kr744gtlZWVp0qRJbpcNALYixAJAmGvdurXWr1+v8vJyDRw4UJdddpnuvfdeNWvWTH6/X36/X0uXLtXGjRvVtWtX3XfffZozZ47bZQOArVidAAAAAJ7DSCwAAAA8hxALAAAAzyHEAgAAwHMIsQAAAPAcQiwAAAA8hxALAAAAzyHEAgAAwHMIsQAAAPAcQiwAAAA8hxALAAAAzyHEAgAAwHP+H7x7PA6acDRWAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "year_grid = np.linspace(2003, 2009, 100)\n", "year_grid = np.linspace(Wage['year'].min(),\n", @@ -2197,7 +957,7 @@ "ax.plot(year_grid, bounds_year[:,1], 'r--', linewidth=3)\n", "ax.set_xlabel('Year')\n", "ax.set_ylabel('Effect on wage')\n", - "ax.set_title('Partial dependence of year on wage', fontsize=20);\n" + "ax.set_title('Partial dependence of year on wage', fontsize=20);" ] }, { @@ -2216,17 +976,9 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "ccf068b1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:49.617403Z", - "iopub.status.busy": "2023-07-25T23:59:49.617260Z", - "iopub.status.idle": "2023-07-25T23:59:49.637989Z", - "shell.execute_reply": "2023-07-25T23:59:49.637017Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "gam_full = LinearGAM(s_gam(0) +\n", @@ -2235,7 +987,7 @@ "Xgam = np.column_stack([age,\n", " Wage['year'],\n", " Wage['education'].cat.codes])\n", - "gam_full = gam_full.fit(Xgam, y)\n" + "gam_full = gam_full.fit(Xgam, y)" ] }, { @@ -2253,34 +1005,16 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "38b719f1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:49.642419Z", - "iopub.status.busy": "2023-07-25T23:59:49.642108Z", - "iopub.status.idle": "2023-07-25T23:59:49.817915Z", - "shell.execute_reply": "2023-07-25T23:59:49.816775Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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ig7Wqi5t2kg//+xd++EH88HZypWd78dudR6PR7r5Zp9PZRjSggXWev365vO/fvnPf+zr3N0HgJKtTBlpxAhp+HDrsWeekdq3d74nIMj8CvyGYWjAgAF54fjkyZO65557VL58eUnymu8vrOrVq6t69er+tGORmJioMWPGaN++farxxwLvycnJiomJKdaHiYskMVH64ANrfdUqqXt3Z3vZskVavdpav+oqc8MtH23fLu3YYa136eLXs7/m7rl240b16km9evlxQgCAq9x9tzR2rPXZuK+/llaulK64Ijh9AUHi10hP//79VaNGjbxZ9379+ql27dp5X9eoUUO33357oHvNs2PHDqWkpGjHjh3KyclRSkqKUlJSdPSPDaK6du2qiy66SLfddpvWr1+vr776So899piGDBkSvDv451LQUjXBGOv56CP7up/jPHbZXJI6dfLrdAXf3f/HP8xVGgAAJVv58tJDD9kfGzPG2V6AEOAxQu2J20IYMGCAJk+ebKkvWrRIHTp0kCT9+uuvuvfee7V48WKVL19e/fv317hx43zaeCsjI0OxsbFKT09XTExMoNq3l51tju7k39W2c2fzjoRTDEO68EIp/ypLpUubD/L6se/CLbfY/x0iLc18fMEn+/ZJ8fHW5ULLl5d++02qVMnn/gAALpSRYf7k12ZzTq1bZy5CAVdwNK+FqZB5aNcX7777rgzDsLxOh31JqlevnubNm6fjx49r//79euGFF0J7l93ISOnyy631VauknBzn+khJsYZ9yVxOx4+wbxj2d/gvvtiPsC+ZW6bb7Q1wxx2EfQDAn2JipPvvtz/GXi0oYcIy8LuW3VjP0aPmLoFOKWg3Qj/HeX74wbwpn59f4zyZmdLrr1vrHk/Bf6gDAEqu++83d3jMb/Zs84YaUEIQ+ENJKKzH//jj5vcbOlQ6/RB1uXLmTsB+COj8/vTp0h+rLXm59lrpggv8OCEAwNWqVjWf77Lz+OPO9gIEEYE/lBS0aoCTO+56POZfPF59Vdq9W/ryS+nFF80ZeT/YBX6Px89V0d5/377OUpwAgII8/LA53pNfcjLr8qPEIPCHkipVzAdm8wvWBlyRkebs/j33+PXLc3KkxYut9Usv9XNrgSFDpBtuMNdYPu2SS6SOHf3qDwBQAlSpYr8mvyQ99hi776JEIPCHGruxnm3b7EdZQlxKiv3i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AQAAABcj8AMAAAAuRuAHAAAAXIzADwAAALgYgR8AAABwMQI/AAAA4GIEfgAAAMDFCPwAAACAixH4AQAAABcj8AOAS6xYsUIRERHq0aNHsFsBAIQQj2EYRrCbAAAU3eDBg1WhQgVNmjRJqampql27drBbAgCEAO7wA4ALHD16VNOmTdO9996rHj166N133/U6/vnnn+uCCy5QmTJl1LFjR02ePFkej0eHDx/Oe8+yZcvUrl07lS1bVvHx8br//vt17NgxZ38jAICAI/ADgAtMnz5dTZo0UePGjdWvXz+9/fbbOv0D3O3bt+uGG25Qr169tH79et19990aNWqU16/ftm2bunfvrt69e2vDhg2aNm2ali1bpqFDhwbjtwMACCBGegDABdq2baubbrpJw4YNU3Z2tmrVqqUZM2aoQ4cOSkpK0ty5c7Vx48a89z/22GMaM2aMDh06pEqVKmnw4MGKiIjQG2+8kfeeZcuWqX379jp27JjKlCkTjN8WACAAuMMPAGEuNTVV3333nW655RZJUmRkpPr06aNJkyblHW/VqpXXr7n88su9vl6/fr3effddVahQIe/VrVs35ebmavv27c78RgAAxSIy2A0AAIpm0qRJys7O9npI1zAMRUdH67XXXivUOY4ePaq7775b999/v+VYQkJCwHoFADiPwA8AYSw7O1vvvfeeXnzxRXXt2tXrWK9evTR16lQ1btxY8+bN8zq2evVqr68vvfRS/fDDDzr//POLvWcAgLOY4QeAMDZr1iz16dNH+/btU2xsrNexRx55RAsXLtT06dPVuHFjPfjggxo0aJBSUlI0fPhw/fbbbzp8+LBiY2O1YcMGXXHFFRo4cKAGDx6s8uXL64cfflBycnKhf0oAAAhNzPADQBibNGmSunTpYgn7ktS7d2+tWbNGR44c0ccff6yZM2eqWbNmmjBhQt4qPdHR0ZKkZs2aacmSJfrpp5/Url07tWjRQk888QRr+QOAC3CHHwBKoDFjxmjixInauXNnsFsBABQzZvgBoAR4/fXX1apVK1WtWlXLly/X+PHjWWMfAEoIAj8AlABbtmzRM888o4MHDyohIUHDhw/XyJEjg90WAMABjPQAAAAALsZDuwAAAICLEfgBAAAAFyPwAwAAAC5G4AcAAABcjMAPAAAAuBiBHwAAAHAxAj8AAADgYgR+AAAAwMX+H8yDWKVnhkgGAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "plot_gam(gam_full, 0, ax=ax)\n", "ax.set_xlabel('Age')\n", "ax.set_ylabel('Effect on wage')\n", - "ax.set_title('Partial dependence of age on wage - default lam=0.6', fontsize=20);\n" + "ax.set_title('Partial dependence of age on wage - default lam=0.6', fontsize=20);" ] }, { @@ -2296,24 +1030,16 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "02142f6e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:49.823446Z", - "iopub.status.busy": "2023-07-25T23:59:49.822838Z", - "iopub.status.idle": "2023-07-25T23:59:49.864597Z", - "shell.execute_reply": "2023-07-25T23:59:49.863709Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "age_term = gam_full.terms[0]\n", "age_term.lam = approx_lam(Xgam, age_term, df=4+1)\n", "year_term = gam_full.terms[1]\n", "year_term.lam = approx_lam(Xgam, year_term, df=4+1)\n", - "gam_full = gam_full.fit(Xgam, y)\n" + "gam_full = gam_full.fit(Xgam, y)" ] }, { @@ -2329,39 +1055,10 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "id": "94587b05", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:49.871560Z", - "iopub.status.busy": "2023-07-25T23:59:49.871033Z", - "iopub.status.idle": "2023-07-25T23:59:50.059620Z", - "shell.execute_reply": "2023-07-25T23:59:50.058456Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Partial dependence of year on wage')" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAq8AAALFCAYAAADtDgqhAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACwSElEQVR4nOzdd3gUVRcG8HfTAyQhlAChhS5I7wJSBOlIBxGposBHUUQQkN6biEgTpCO99947oaP0Jh2kJCSE1Pv9cc2SZGc2u8lmtuT9Pc8+kLmzm5O2e/bOvefohBACRERERER2wMnaARARERERmYrJKxERERHZDSavRERERGQ3mLwSERERkd1g8kpEREREdoPJKxERERHZDSavRERERGQ3mLwSERERkd1g8kpEREREdoPJK9ml4cOHQ6fTQafTpdjnqF69OnQ6HapXr55inwMA7t69q/9aFi5cmKKfK7U5cOCA/nt74MABa4dD/4mOjsavv/6K8uXLw9vbW/8zatKkibVDIyI7wOTVgcV94U54S5MmDXLnzo0mTZpg2bJliIqKsna4RJRKtGnTBt999x1Onz6NN2/eWDscIrIzTF5TqbCwMPzzzz/YuHEj2rZti0qVKuHJkydWjWnhwoX65Pru3btWjYWIUsaxY8ewevVqAECDBg2we/duXLx4EZcuXcK0adOsHB0R2QMXawdA2ujevTv+97//6T8OCQlBYGAgfv75Z9y9exenT59G48aNceLEiRS9FG8pw4cPx/Dhw60dBhGZac+ePQAAZ2dnLFu2DN7e3laOiIjsDZPXVMLPzw9FixaNd6xixYpo27Ytypcvj5s3b+LUqVPYsmULGjVqZKUoicjRPXz4EACQJUsWJq5ElCRcNpDK+fr6YuDAgfqPd+zYYcVoiMjRhYeHAwBcXV2tHAkR2Ssmr4Ty5cvr/3/v3j39/0NDQ7Fy5Up06dIFJUuWhI+PD1xdXZE5c2ZUq1YNkydPRkhIiNHHjl3DGnuJf9++fWjZsiVy5swJV1dXBAQE6DeWderUSX+/PHnyGGwyi7tbPLFqAxEREdi8eTN69uyJcuXKwdfXF66ursiYMSMqVKiA4cOH499//03Cd8t80dHRmDlzJipUqABvb2/4+PigdOnSmDx5sv6F3FQbNmxAy5YtkStXLnh4eCB9+vQoW7YsRowYgVevXqner2PHjtDpdAgICAAgZ7++//57FCxYEGnSpEHmzJnRoEEDk9+8BAUFYdy4cahcuTIyZ84MNzc3ZMuWDY0aNcKaNWsghFC9b8LfidOnT6NNmzbIkSMH3N3dkT17drRr1w5XrlxJNI6wsDCMHTsWJUqUQNq0aZExY0ZUrlwZc+fORUxMjElfCyB/RosWLULDhg3h7+8Pd3d3ZMyYEVWqVMGUKVMQFhamet+EVSliv7f58+eHp6cnMmbMiDp16mD79u0mxfL8+XOMHDkSlStXhp+fH1xdXeHr64sKFSqgf//+uHjxoup93717h+nTp6NmzZrImjUr3Nzc4Ofnh1q1amHevHkW25h56dIlfPPNNyhQoADSpEkDLy8vfPjhh+jTp4/qevXYn/uiRYsAyOeahH/jpoiMjETWrFmh0+lQt27dRM+/fPmy/vEnTpyoeM6TJ0/w008/oWzZssiQIQPc3d2RM2dOtGrVSr/MQc2rV6+wYMECfPnllyhSpAjSpUsHNzc3ZM2aFXXq1MGcOXMQERGhen+laiPr1q1D/fr14e/vDxcXlyRXPHn+/DkGDx6MUqVKIX369PDw8EBAQADatWuHI0eOGL1vQEAAdDodOnbsCAC4du0avv76awQEBMDd3R1ZsmRB06ZNceLEiSTFBgA9e/aETqdDtmzZFMfjfm+cnJzw8uVLg3OioqLg5eUFnU6HAQMGGIyfOHECgwcPRvXq1fV/E97e3ihSpAi6d++Ov//+26RY//nnH3Tv3h158uSBh4cH/P390aRJE+zfvx+A6RVwkvPcSXEIclj79+8XAAQAMWzYMNXzrl69qj+vbt26+uPVqlXTH1e75cmTR1y5ckX1seN+/kGDBhncP3fu3PHiNHbbv3+//nGHDRumP66kQ4cOiT5exowZxZEjR1Rjj/36q1WrpnpOYt68eSM+/vhj1RhKly4tzp49q/94wYIFio/z8uVL8cknnxj9evz8/MTx48eNfj9y584tTp8+Lfz8/FQf5/vvvzf6Ne3Zs0dkzJjRaCz169cXb968Ubx/3N+JGTNmCBcXF8XHSJMmjTh48KBqHI8fPxaFCxdWjaFOnTpi586dir8/cd27d0+UKFHC6NeTP39+ce3aNcX7x/09OXLkiMiUKZPq40yaNMno93bp0qUibdq0RmPJnTu34n3Pnz8vcufObfS+5cqVE0+ePDEaQ2LGjh0rnJycVD+Hu7u7WLRokcH9TPkbN1W/fv0EAOHk5CQePHhg9Nw+ffoIAMLFxUU8fvzYYNyU7/lXX30lIiMjFR8/se85AFGqVCnFzy2EEHfu3NGfN3/+fNGuXTuD+yflOWjnzp3C29vbaFw9evQQ0dHRRr+uDh06iHXr1ok0adIoPoazs7NYsWKF2fEJIcSqVav0j6P0OrJw4cJ4n2v9+vUG55w4cUI/vn379nhjCxYsSPRn4+zsLGbMmGE0zr1794p06dIp3l+n04kxY8Yk+pokRPKfO+k9Jq8OzNTkdfXq1frzOnfurD9euXJlUaxYMfHTTz+J9evXi5MnT4oTJ06IlStXis8//1z/AlaoUCERFham+Nixj1usWDH9v/PnzxenTp0SBw8eFL/++qsICQkRly5dEqNHj9afv3PnTnHp0qV4t5CQEP3jJvZE0bZtW5E3b17Rt29fsXLlSnH8+HFx+vRpsWbNGtGtWzfh5uYmAIjMmTOLp0+fKj6GJZLXxo0b6+MsX768WL58uQgMDBRbt24VLVu21CcUsecoJa/v3r0TpUuX1j/RtmvXTixfvlycOHFCHD58WIwZM0b/hOjr6yvu3r1r8BixyWvmzJlFQECAcHd3FwMGDBCHDh0SJ0+eFNOmTRPZsmXTxzF16lTFr+fIkSPC1dVVABBZsmQRo0ePFps3bxZnzpwRmzdvFl9++aX+MZo1a6b4GLHjFStWFE5OTqJEiRJi/vz54vTp0+LQoUOiT58++t+tXLlyifDwcIPHiIyMFGXKlNE/Vu3atcX69etFYGCgWLdunahVq5bB91Ypef33339Fzpw59UlXz549xerVq8Xp06fF/v37xcCBA/Uv2nnz5hWvX782eIzY35OCBQuKTJkyCT8/PzF+/Hhx5MgRcerUKTFlyhSRPn16fQJ1+fJlxe/L4sWL9bF6eHiIXr16iW3btomzZ8+KQ4cOienTp4vatWuLPHnyGNz3xo0bwsfHRwAQ3t7eYuDAgfrvx86dO0WPHj30bxIqVKggIiIiFGNIzIwZM/QxZs6cWUyePFkcP35cHDlyRAwfPlyfBOp0OrF169Z49439O479m/D39zf4GzfVtWvX9HGMHTtW9byIiAiROXNmAUA0atTIYHzlypVCp9Ppf75TpkwRO3bsEGfOnBFr164V9evX13+ePn36KH6OHDlyiAoVKohRo0aJLVu2iNOnT4ujR4+KpUuXirp16yaagMZNXosXLy4AiI8//lgsW7ZMBAYGij179og//vjD5O+NEEKcO3dO/xzn6uoq+vTpI/bv3y9OnTolfv/9d5EnTx795+zfv7/iY8Qmr6VLlxYeHh4iT548Yvr06eLEiRPi+PHjYvjw4cLDw0P/O/fs2TOzYhRCiKdPn+rjmDVrlsF4x44d4yV23377rcE548eP1/9tBQcHxxubO3eu8PX1FR07dhTz588Xhw8fFmfPnhVbtmwRI0eO1L/R1Ol0Yu/evYox3rp1S/977eLiInr16iX27t0rTp8+LRYsWCCKFCmi/7sy9ppkiedOeo/JqwMzJXmNjIwUFStW1J+3ePFi/dj169eNPv7u3bv1SYbak2vcJ56aNWuKd+/eqT5e3HfJd+7cMfq5E0teb968KWJiYlTvf/HiRf076cGDByuek9zkdcuWLfHeTSvN3IwYMSLe90gpeY2dsU6fPr0IDAxU/Fx3797VJ59ffPGFwXjcmWhXV1fFGc2HDx+KHDlyCAAibdq0Bi9GERERIiAgQAByhj40NFQxljlz5ug/165duwzGE84yKCWncd/IrFu3zmB8+vTp+vFvvvlGMY7OnTvH+1xKyesXX3whADmbefv2bcXHOXv2rP7Fa9CgQQbjca9Q5M6dW3Em8PDhw/okqXfv3gbjjx490ifJfn5+RhO5f/75x+BYpUqVBCBn+J4/f654v+3bt+v/XufMmaP6+GqePXumj9Hf318xjrjfq+zZsysmyXGvAiRH7BWNggULqp6zbt06/c8m4azd8+fP9Ql/586dVWdWY//+nJycxNWrVw3GE3uenD9/vj6GPXv2GIzHTV4BiPbt2xt97jJF7Js2Z2dnsXPnToPxly9f6pMuJycnxTdUcWeUy5QpI4KCggzOWbp0qf6cKVOmJCnW2KsnrVu3NhiLTbIbNWokAIgSJUoYnFOvXj0ByMmBhB48eKD6PCWEEK9fv9a/YahSpYriOU2aNFH9HRJCiNDQUFG+fPl4P8OELPXcSe8xeXVgxpLXkJAQceDAAVG9evV4L7zGkkslsX/YDRs2VByPfWwnJ6dEE1JLJq+m+O677wQAUbRoUcXx5CavsbM27u7u4uHDh4rnREdHi6JFi6omr2/evNG/wP72229GP9/MmTP1yWncWWoh4ievPXv2VH2MlStX6s9LeIk7dmbQw8Mj0VmW2CdzpUQ69vE9PDxUZ72Dg4P1M0dKM16xL7xZsmRRfSF48+aNftZNKXm9c+eOcHZ2FgDE5s2bjX49/fv31ydtCcVNXjdt2qT6GLFvEkuVKmUwNnDgQP1jbNiwwWgsCR06dEh/34sXLxo9t1WrVgKAqFSpklmfQwghJkyYoP88xi4Tx33jsWrVKoNxSyWvixYt0n8eteU/sUmPn5+fQXI6cuRIfZJt7HkvMjJSZM+eXfXNiylKliyp+rcXN3lNnz69weyhuU6ePKl/vG7duqmed+TIEf15//vf/wzG4yavFy5cUHyMmJgY4e/vLwCIpk2bJine7t27CwAia9as8Y7fu3dPAHJWNDAwUP//Fy9e6M+JiooSXl5eAoDo169fkj7/hg0b9F/nv//+G2/s4cOH+ueIFi1aqD7G+fPnjSavlnrupPe4YSuVGDFiRLyNEenSpUP16tX1m6D8/PywYcMGuLu7qz7G8+fPcePGDVy+fFl/y5w5MwDgwoULRj9/5cqV9ZuFrOHVq1e4desW/vrrL33s6dOnBwD8/fffiIyMtOjni46O1n9va9euDX9/f8XznJyc0KFDB9XHOXjwIIKCggAALVq0MPo5q1atCkBuaDlz5ozqeXE3xiXUtGlT/fcl4UaVTZs2AQCqVaum/7knFsvx48dVz/n000/h5+enOObl5YUCBQoAAG7fvh1v7PHjx/pNFq1atUKaNGkUHyNdunRo1aqV6uffunUroqOjkSZNGtSrV0/9i8H7r+fRo0f4559/FM9Jnz49GjRooPoYZcqUAWD49QDAli1bAAB58+bFZ599ZjSWhGJ/LoUKFUKxYsWMnhv7dZw+fdrszVuxvw/p06dHs2bNVM/r0qWLwX1SQsuWLeHj4wMAWLBggcH406dP9Zvk2rVrBxeX+JUhY79vDRs2NPq85+Ligo8++giA8d9nABBC4MmTJ7h+/Xq858ns2bMDSPx5slGjRvDy8jJ6TmLifs+/+uor1fMqV66MwoULG9wnoWLFiqF48eKKYzqdDqVKlQKg/HttimrVqgGQm+auXr2qP37w4EEAQJEiRVCmTBnkyZMHQggcOnRIf87Zs2f1HdpM2dQWGhqKu3fvxnsdiFv1IuHPZ//+/YiOjgYgf4fUlChRAiVKlFAdt/RzJ7HOa6qXJ08etGjRAj/88INiInH06FFMmzYNe/bsUdzpGSuxnftqT34p6dKlS/jll1+wfft2o93DYmJi8OrVK9VEKilu3bqFt2/fAgDKlStn9Ny41R4SCgwM1P9fbUeuErWv183NzeiTrKurK0qVKoX9+/fj0qVLirHs3LnT5J3hxr7vH3zwgdH7ZsiQAQAM2ofGjcuU7+2MGTMUx2K/nrdv3xokNsY8efIEuXLlMjheoEABODmpzweofT2RkZG4fPkyAKBKlSpmNwmJ/TquXbtm1o79ly9fmvU7Hxtj6dKljZa5ypIlCwICAnD37l39fVKCp6cnvvjiC8yaNQurVq3CtGnT4r2RWbJkiT5B79y5c7z7RkdH4/z58wCA33//Hb///rtJn1Pt93nr1q2YNWsWDh06ZLTdrRbPk7Hfczc3N5QsWdLouRUqVMCVK1dw48YNREREwM3NzeCcpP6dmio2eQVkS/PYzxf75j82Ka1evTru3LmDAwcOoEmTJvHOcXZ2RpUqVRQf/99//8WUKVOwdu1a3Lhxw+hu/oQ/n7i/v7FvPtWULVtW9c2JpZ87iaWyUo3u3bvj0qVLuHTpEi5fvoybN2/i9evXuH37NiZOnKj4IjZ8+HBUqVIFq1atMpq4AjBaSgiQ9WS1NG/ePJQuXRoLFiww6UkgsfjNFff7lViCkCVLFtWxZ8+eJenzxybOCWXIkAHOzs4mxZPwZ56UWIx9X9VmTGPFJoKxMx+xbPV7a+rXk7CE18uXL/UvqOa8QYll6a9DTez33ZSEN2vWrPHuk1JiZ3nfvHmDNWvWxBuLnY2tUKECihQpEm/s5cuXSSoblvB7JoRAly5d0LBhQ2zdujXRBE6L58nY73mGDBkSfVMW+3MSQqiW2kvq36mpsmbNikKFCgFAvHKIsTOvcZNXtXNKlSql2PDizJkz+OCDDzBu3Dhcv3490TJUCX8+cb8nic2YGhu39HMnceY11VDqsGXM3r17MWLECADyUuYPP/yAKlWqIFeuXEibNq3+SXHo0KEYNWpUoo+XWMJkSVevXkW3bt0QFRUFPz8/9OvXD5988gkCAgLg5eWlnzWaP3++/rJaYk9qyZGcdrtxXxDOnj1rcmH3HDlypFgs9erVU62XqTVLfD2ZMmXS12o0RZ48eZL8OVNC7NdRokQJLF261OT7xV7KNpcttY8uXbo0SpUqhXPnzmHBggVo3749AODkyZP6pSUJZ12B+H9XXbp0wbfffmvS50s4Mzl//nzMmzcPAFCyZEl89913qFChArJnz440adLon/fat2+PJUuWJPo8Y8nnSVv6OSWmevXquHbtmj4ZffjwIW7dugWdTqefmY399+LFi3j58iXSp0+vr1Ubd/Y2VkREBFq1aoUXL17A1dUVvXr1QuPGjVGwYEH4+vrql4rcvn0b+fLlA5ByrwO2+Nxp75i8kqK5c+cCkDMBJ06cUH1XmdIzK0mxcOFCREVFwdnZGQcPHlS97JWSscedQXn69KnRc42NZ8yYUf//zJkzqyalpnrx4gWio6ONvkjGxhN7OTBuLI8ePUJERIRZb4QszdLf2zdv3qBw4cKavsGKK0OGDHByckJMTAweP35s9v1jv46QkJAU/blkyJABjx8/TvR7Dry/5JnwdygldOnSBT169MDBgwdx584d5MmTRz/rmiZNGnz++ecG94kblxAiyd+32OfJ/Pnz49ixY/D09FQ8T8vnydiv7cWLF4iKijI6+xr7c9LpdJpfHYurWrVq+P333/XrXmPX7BcpUkT/2pM7d279cpRDhw4hZ86c+v0ASutd9+3bp1+HO3PmzHhrseMy9rOJ+z15/vy50Td8z58/Vx2zledOR8JlA6Tor7/+AgDUqFHD6OWQuGsyk8tSMwWxsZcoUcLoei1Lxp5Qvnz59C9kp0+fNnqusfHYzRCAXH+cXBEREUY3jURFRenXAiZ8ko2NJTAw0GjHoJQWd1OSJb634eHhKfq7kBhXV1f99/rw4cNmz/7E3TCTkuvkYmM8e/as0Uvuz54903fq0+KFum3btvD09IQQAgsXLkRYWBhWrFgBAGjevLni5WQ3Nzd8+OGHAJL3dxX7XPPZZ5+pJq5CCJw9ezbJn8Ncsd/ziIgI/d+ymlOnTgGQ67WV1rtqJW7yeeDAAYMlAwnPi3uOk5MTPv74Y4PHjP3ZAEDr1q1VP7exv/3Y3xEARjfBJvY4tvLc6UiYvJKi2Ben0NBQ1XPOnTuHkydPWuxzenh46P9vbtvUuEyJ/fHjx/odoCkhbkvHXbt2qc6oxcTE6NtlKqlVq5Z+zdm0adMsclnL2Odbv369fp1XrVq14o3F7oIPCgpS3N2tFX9/f/0u6dWrV6uuDQsNDcWqVatUH6dRo0b6N0xTp061eJzmaNSoEQDgzp072Lhxo1n3jf25CCHw66+/Wjy2WLG/D69fv8a6detUz5s3b57+9zTh71BK8PHx0VfiWLRoEdasWaOfkVNaMhAr9vt29epV7Ny5M0mf25Tnmo0bNyZpRj2p4n7P58+fr3re8ePH9UsrtPg5GZMtWzZ9dZEDBw4YbNaKFTd5jT0ntnV5QnHfYKn9fGJiYvSz50qqV6+uX9O7ZMkS1fMuXLhgdFLAVp47HYrmxblIM6Z22FISWx8xbdq04saNGwbjz549Ex9++KHR2nZCCLM+/8GDB/XnJ+zOk5CxOq+9evXS15Y9evSowXhoaGi8+rZQqSub3DqvmzZt0j9+o0aNRFRUlME5cWtiQqHOqxDva4wCssOMWjtHIYR48uSJmDt3rsHxhE0KDh8+bHDO48ePRa5cuQQgW7MmrMH67t07fTeqdOnSGW3dKoQszH/gwAGD46b+Thj7/k+bNk3/ON27d1e8/9dffx3ve6vUpCC27ikA8fPPPxuN5/bt22LZsmVmxRmXsd/Zx48f64v7J9ak4P79+wbHYmtDOjs7i5UrVxqN4+LFi0br0aqJ26QgR44cis0Yzp8/r2/+kdJNCuKK+9yRNWtWAUDky5fPaLH/J0+e6GPNli2bauezWFu2bDGodxrbOdDf3z9e/dFYN2/e1NdBVfua49Z5VWsPba6yZcsKQHaEUmqM8Pr1a33sTk5Oir9vcdvDGmOpn2fs32tsS1udTmdQEzX2e6XT6fT1XdU6n61du1b/fR03bpziOXGfW9W+/7GvhYByk4K3b98m2qTAUs+d9B6TVweWnOQ1bstYf39/MW3aNHH06FFx9OhRMWnSJJEtWzah0+nERx99ZLHkNTg4WN9usHTp0mLXrl3i2rVr4saNG+LGjRvi7du3+nONJQKnTp3Sj6VPn16MGTNGHDx4UJw8eVLMnDlTFChQQAAQlStXTtHkVYj4T3wVKlQQK1asEGfOnBHbt28XrVu3FgD0LzRqT57v3r2L13qwRIkSYvr06eLIkSPi3LlzYt++feK3334TjRs3Fm5ubqJMmTIGjxG3PWzu3LmFh4eHGDhwoDh8+LA4deqUmD59erwXWbVE7vjx48Ld3V2fKLVt21asXr1aBAYGilOnTomNGzeKoUOH6l8YlRorWCJ5jYyMFKVKldI/Vt26dcWGDRvEmTNnxIYNG0Tt2rUNvrdKyeuLFy9E3rx59edUrVpV/PHHH+L48ePi7NmzYvfu3WLy5MmiVq1awsnJSTRv3tysOONKrLFG3Pawnp6eonfv3mL79u3i3Llz4vDhw2LWrFmiXr16Im/evAb3vXnzpsiQIUO8N0tLly4VJ0+eFIGBgWLbtm1izJgx+kYJffv2NRqrmrjtYbNkySJ++eUXcfLkSXH06FExYsQIfTKo1B42Vkokr0IIUbBgwXgJxKhRoxK9z9q1a/Wdzzw8PES3bt3Exo0bxZkzZ8SJEyfEmjVrRP/+/fW/IwmbWUyaNEn/+QoWLCjmzZsnTp48KQ4ePCiGDRsmfHx8hIeHh769s1bJa9z2sG5ubqJv377iwIED4vTp02LOnDnxfucTaw+rVfIat1sXAPHhhx8ajSv2tnHjRsXzQkJChJ+fn/65qmvXrmLHjh0iMDBQrFixQtSsWdPgdUDp+3/jxg39m7bY9rD79u0TgYGBYuHChfqGKXFbUSuxxHMnvcfk1YElJ3kVQohOnTrFe5KIe3N2dhZTp05N9AXZ3M+f8J1w3Fvc5COxz5uw7WrCW9++fRPt6GWJ5DU4ODjek2PCW6lSpcSZM2cSffEKDg4WzZo1M/o1xd5q1KhhcP+4LzCnT5/W9/RWuim1L43r+PHj+lmExG6LFi0yuL8lklchZPebQoUKqX7u2rVri507dxpNXoWQs56xrUYTu3Xq1MnsOGOZ0hVu4cKFwtPT02gMaknCtWvX4nVrM3YbMWKE0ViNGTNmjL7NrNLN3d1d8eceK6WS17gdwJycnBRnqJVs2rQpXuKvdnNychL79u2Ld9+IiAj9GyWlm6enp1i1apXRrzklklchhNi5c6d+FlPt1qNHD9UrOVonrw8ePDCIzdjni/2ZvHz5UvUxd+zYoZ8QUbpVr15dXL58OdHv/65du/RXRpRuw4YNE0OGDBGAfBOkJrnPnfQe17ySqvnz52PJkiX4+OOP4eXlBXd3d+TOnRvt2rXDsWPHTC4vY47x48dj7ty5+Pjjj02qSapm6NCh2Lp1K2rXrg1fX1+4ubkhR44caNasGXbt2oXJkydbOHJlXl5eOHDgAH777TeUK1cO6dKlg5eXF0qWLIlx48bh2LFjJu3I9vLywtq1a3H48GF06dIFhQoVgpeXF1xcXJAhQwaUK1cOPXr0wLZt27B7926jj1W2bFmcPXsWvXv3Rr58+eDh4YGMGTOibt262LZtW6LrJitWrIgbN25g9uzZaNCgAfz9/eHm5gYPDw/kzJkTtWvXxpgxY3D16lV96aKU4O/vj3PnzmH06NEoWrQoPD09kT59elSsWBEzZ87E9u3bTdqEkjVrVhw6dAhbtmxB27ZtkTdvXqRJkwaurq7InDkzKlWqhL59++LgwYNG1xBaQocOHXDr1i389NNPKFOmDNKnTw9nZ2f4+vqiYsWKGDRoEHbs2KF434IFC+L8+fNYtmwZmjdvjly5csHT0xNubm7Ili0bqlevjsGDB+PMmTMYOnRokmMcNGgQzp07h6+//lq/MTFt2rQoXLgwvv322xT/uauJ2wHp008/NbkyR6NGjXDnzh1MnjwZn3zyCbJkyQJXV1d4enoiT548aNiwIaZMmYK7d++iRo0a8e7r6uqKrVu3Ytq0aShbtizSpEkDT09P5M+fH926dcPZs2fRsmVLi36dpqpduzZu3ryJQYMGoWTJkvD29oa7uzty5cqFtm3b4vDhw5g+fbrRxhpayp49u75kFaDeMSvu8eLFixutklCnTh0EBgbiyy+/hL+/v/5vulq1apgzZw727t2LtGnTJhrbp59+isuXL6Nr167InTs33NzckCVLFjRo0AA7duzA8OHDERwcDACK629j2cpzpyPQCZGCBS6JyCZ07NgRixYtQu7cuXH37l1rh0Nkcbt370bt2rUBACtXrjTaGpjI0mrVqoW9e/eiSpUqOHz4sLXDcXi28ZaLiIgoGWJnxTNmzIjGjRtbORpKTR49eoRDhw4BkLOrlPKYvBIRkV27deuWvj1sp06d9N2TiCzh5s2bqmNhYWHo2LEjIiMjAYCX+zXCDltERGR3Hj58iLdv3+L27dv48ccfERUVBQ8PD/Tp08faoZGD6dKlC0JDQ9GqVSuUKVMGGTJkwJs3bxAYGIiZM2fqk9uvvvoqXhMVSjlMXomIyO60bdtW32Up1qhRo+Dv72+liMiRBQYGGu2i1bRpU/z2228aRpS6MXklIiK7lSZNGhQsWBDfffcdOnToYO1wyAFNmTIF69evx759+/DgwQM8f/4cQgj4+fmhYsWK6NChA+rXr2/tMFMVVhsgIiIiIrvh8DOvMTExePToEby8vPR9zImIiIjIdggh8ObNG/j7+ydaf9jhk9dHjx4hZ86c1g6DiIiIiBJx//79RJuMOHzy6uXlBUB+M7y9va0cDRERERElFBwcjJw5c+rzNmMcPnmNXSrg7e3N5JWIiIjIhpmyxJNNCoiIiIjIbjB5JSIiIiK7weSViIiIiOwGk1ciIiIishtMXomIiIjIbjB5JSIiIiK7weSViIiIiOwGk1ciIiIishtMXomIiIjIbjB5JSIiIiK7weSViIiIiOwGk1ciIiIishtMXomIiIjIbjB5JSIiIiK7weSViIiIiOwGk1ciIiIishtMXomIiIjIbjB5JSIiIiK7weSViIiIiOwGk1ciIiIishtMXomIiIjIbjB5JSIiIiK7weSViIiIiKSYGGtHkCgmr0REREQEREYCdesCs2ZZOxKjmLwSERERpXZCAD16ALt3A//7H9C7NxAVZe2oFDF5JSIiIkrtpk4F5s59//FvvwGNGgFBQVYLSQ2TVyIiIqLUbMsWoG9fw+M7dgCtW2sfTyKYvBIRERGlVhcvAm3ayGUDCaVNC4wfr31MiWDySkRERJQaPX0qlwaEhBiO6XTAn38CJUtqHlZimLwSERERpTYhIUCTJsA//yiPT5gANG6saUimYvJKRERElJq8egV8+ilw4oTyeOfOwA8/aBuTGVysHQARERERaeT5c6B2beD8eeXxatVknVedTtOwzMHklYiIiCg1ePhQzrheuaI8ni8fsHYt4OambVxmYvJKRERE5Oju3gVq1gRu31Yez5oV2LoVyJhR07CSgskrERERkSMLCQGqVgXu31cez5UL2LsXyJ9f27iSiBu2iIiIiBxZunTAjz8qj+XPDxw+bDeJK8DklYiIiMjx9eghy1/F9eGHwKFDcubVjjB5JSIiIkoN+vcHhgyR/y9TBjh4EMiWzboxJQHXvBIRERGlFiNGAFmyAF9+Cfj4WDuaJGHySkRERGTvbt0CnJ2BgADj5+l0cgmBHeOyASIiIiJ7FRoKDB4s16/aeVJqKiavRERERPZGCGDlSuCDD4AxY4DwcGDbNmDLFmtHluKYvBIRERHZi+ho2QWrYkXg88+BBw/ij3/3nUxkHRiTVyIiIiJb9+4dMGcOULgw0KIFcOqU8nm3bgFTpmgbm8a4YYuIiIjIVj14ACxcCPz2G/DsWeLnOzkBr1+ndFRWxeSViIiIyJYEBwPr1gFLlgD798v1raaoWhWYNg0oUSJl47MyJq9ERERE1vbmDbBnD7BqFbBxIxAWZvp9s2cHJk8GWreWpbAcHJNXIiIiImsRAmjcGNixA4iMNO++efMCffsCHTsCadKkSHi2iMkrERERkbXEzpSak7iWKSNbvTZrBrikvlSO1QaIiIiILO35c2DXLmD79sTPrV8/8XOcnIB69YC9e4HTp4FWrVJl4gpw5pWIiIgo6aKjgdu3gb/+Ai5eBM6elbf79+V46dIy6TTG2HiJEkC7dkCbNoC/v+XitmNMXomIiIgSEx4O3LwJXL8OXLsmk9XLl4GrV2UNVjWXLgEREYCbm/o5uXMDRYoAf/8tP86RA/jiC+DLL4FixSz7dTgAJq9EREREsZ4+Bc6dk4lq3GT17l0gJsb8x4uMlIluqVLGz+vdG3j1Si4hKFYsVVQNSComr0RERESxVqyQLVYt6dy5xJPXrl0t+zkdGJNXIiIichzR0cDDh3IdasKbv78s/m9M/vyWj+nsWaBzZ8s/birF5JWIiIjsS3Dw+4T01q34Ceq9e+plp3LmTPyxCxRIXmweHnKTVZkycrNW6dLAhx8m7zEpHiavREREZJsuXQLOnJEJauzt9m3g33+T9ngPHsiNV+7u6ucEBMiyVImtb3VxAQoVkolp3Fv+/Km2hJVW+N0lIiIi2zR9OjBnjuUeTwg5M1uwoPo5bm5y9/+dO/JjPz95fqFC8W958wKurpaLjUzG5JWIiIhShhBy9/716+9vN27I22efAWPHGr9/vnyWj+n2bePJKwAsWAB4e8vP7+1t+RgoWZi8EhERUfKEhLwvKXXtWvxk9c0b5fvkyZP441pq81SaNHKmNG9eIF26xM+vVs0yn5dSBJNXIiIiSpwQcs3o1avxb9euyd395rp+PfFzTJ151elkYf/YBDVvXpkc58kjH8PPj3VTHQiTVyIiIkpc5crA8eOWe7zbt4GoKOObm/Lmff9/T0+ZiMbe4iaqAQHGN2GRQ2HySkRElBoFBwNXrsjZ05IlZXknY3LntmzyGhUlN08Zm1318gKOHpUzqFmzcvaUADB5JSIiclxCAI8fywT1ypX3yeqVK8CjR+/PGzo08eT1gw8sE1P69LKWqqn1VCtVssznJYfB5JWIiMjehYcDN2/K9acJ16SqbZiK68qVxM8xJ3n18JA7+hPeChQAMmbkDColC5NXIiKShJCXct+9e39zcZF1L93d5b+urkw8bMG8ecDFi+93+N+7l3hRfWOSmrzmyCGPJ6yBmjOnLPRPlAKYvBIRpQYvXgAXLsgORY8eydvDh+///+aNTFZNSYAqVZLrEI159UpuyMmaVe70ZjF300RGyp9BYpuPfv1Vdp+ylOvXgehowNlZ/ZyCBYEhQ2Sy+sEH8mNTyk4RWRiTVyIiR3bqFNCiBXD/vuUeM23axM85cABo1kz+X6eTCWz27PFvOXLE/zc1FIOPipJvFu7dA+7elf/G/v/WLeCff4C5c4FOnYw/TsGClk1eIyJkRyljdVU9PYGRIy33OYmSiMkrEZEjy5bNsokrIDfcJObp0/f/j+2y9PQpcPas+n28vGQSmy3b+5u/v/w3a1agQgVZbN4WRUYCz5/Lr/HZM/nvkyeyLurDh+//ffJEznAac/t24p+vUKGkx5o9O1C4sJw9LVz4/S1LlqQ/JpGGmLwSEdmjmBiZlObObfy8HDmADBmAly8t97l9fRM/58kT8x/3zZv3m4yU3Lkj63mqiYyUu+Z9fOQsYZo08f91c5PrMJ2d5S32/1FR8W+RkXImMjQUqFlTJs/GFCwo251ayq1biZ+TWPLq6ipnUWPXo8Ymqx98kDpmuMmhMXklIrInT5/Kvutz5siPb940vjFGpwNKlQL27rVcDCmVvCYmc2bj40FBwPjxlv2c27YlnrwKYdnPacrMa8GC8t8sWWRyWrDg+38LF5Z1UY0V/yeyY/zNJiKydULINaSzZwPr18uZwVi7dwN16hi/v1Ly6uLy/rJ89uxydtbTU5Y4ir25u8tL3OHhciYy9t/q1ROP2dLJa5o0ia+1ff3asp8TkLOviTElmTeHKTOvZcrIr9fHx7Kfm8gOMHklIrJVQsjkdPBg4PRp5XN+/z3x5LV2bZmElSoFFC8uL71nzpyypYx+/BFo3FgWyI+tbBB7e/LE/LJOic26AvabvLq4yNJSAQHv257GxBj/+bi6MnGlVIvJKxGRLTpyBPjpJ+DQIePnbdokk0N/f/VzPv1U3rT00UfypiQqSi5/iLuRKfb/jx69T3iDg9/fx5TkNSjIMrHHZUrymtgGtriVFnLkkLfcueUtIED+7IyVqCKieKyavB46dAiTJk3CmTNn8PjxY6xfvx5NmjSJd86VK1fw448/4uDBg4iKikKRIkWwdu1a5MqVyzpBExGlpDNn5Ezrjh2mnR8dDSxdCvTvn7JxWZKLy/tkrnx59fPevpWJ7OPHpjVGsNbMa506shpClizy5uf3/t9s2RKv2UpEZrFq8hoaGooSJUqgc+fOaBZbDzCOW7duoUqVKvjqq68wYsQIeHt746+//oKHh4cVoiUiSkEvXsgEdP58087X6eRygG7dgIYNUzY2a0mTRl5Gz5fPtPObNQNCQmTVgrAwmfyGhb3/f2wDgOjo+P86O8uE2tVV/hv7/zRpEq/mAACdOyfv6yQis+iEsPQ2yaTR6XQGM6+ff/45XF1dsWTJkiQ/bnBwMHx8fBAUFARvlgchIlsjBLBkCdC3L/Dvv4mfnzkz8NVXwNdfy7WRREQOwJx8zWYbD8fExGDr1q0oWLAg6tSpAz8/P1SoUAEbNmwwer/w8HAEBwfHuxER2aTr14FatYAOHRJPXP38gKlTZQemceOYuBJRqmWzyeuzZ88QEhKC8ePHo27duti1axeaNm2KZs2a4eDBg6r3GzduHHx8fPS3nDlzahg1EZEJIiNlm81ixYB9+4yf6+srk9Xbt4Fvv5UlrIiIUjGbXTbw6NEjZM+eHW3atMGyZcv053322WdImzYtli9frvg44eHhCA8P138cHByMnDlzctkAEdmGqCigalXg+HHj56VNC3z/vbyZ0o6ViMiOmbNswGZLZWXKlAkuLi4oUqRIvOOFCxfGkSNHVO/n7u4Od+7sJCJb5eIilwoYS14bNwamTQNYVYWIyIDNLhtwc3NDuXLlcO3atXjHr1+/jtym7P4kIrJVQ4cCFSsaHs+RQ3bQ2rCBiSsRkQqrzryGhITg5s2b+o/v3LmD8+fPI0OGDMiVKxf69euH1q1bo2rVqqhRowZ27NiBzZs348CBA9YLmogouVxcgD//BEqUkKWdnJyA3r3lOlgvL2tHR0Rk06y65vXAgQOoUaOGwfEOHTpg4cKFAID58+dj3LhxePDgAQoVKoQRI0agcePGJn8OlsoiIpu1eDEwdqxsMlC2rLWjISKyGnPyNZvZsJVSmLwSkc0SAoiIYAcmIkr1HKLOKxGRXbp5U27IevAg8XN1OiauRERmYvJKRGQpW7fKy/979wItWgBxyvYREZFlMHklIkouIYAxY4CGDYGgIHns5Em5CYuIiCyKySsRUXKEh8v2roMHG47NmQP88Yf2MREROTAmr0RESfXiBfDpp8CSJern/PEHEB2tXUxERA6OySsRUVJcuyYbDRw+rH7Ol18C+/YBzs7axUVE5OCYvBIRmevAAeCjj2RlASXOzsCvv8o6rmnSaBoaEZGjs2qHLSIiu7N0KdC5MxAZqTzu7Q2sWgXUqaNtXEREqQRnXomITCEEMHky0K6deuKaOzdw9CgTVyKiFMTklYgoMTExQN++QL9+6udUqCDLYxUtql1cRESpEJcNEBEZEx4OdOoELF+ufk7LlsCiRYCnp3ZxERGlUpx5JSJSExwMNGhgPHH98UdgxQomrkREGuHMKxGRkmfPgLp1gXPnlMd1OllRoFcvbeMiIkrlmLwSESUUEwPUq6eeuLq5ycYErVppGxcREXHZABGRAScnYPx4wNXVcMzbG9ixg4krEZGVMHklIlLy6afAsmUykY2VNStw6BBQo4b14iIiSuWYvBIRqWnRApgzR/6/QAHg+HGgRAnrxkRElMpxzSsRkTFffSWXD9SpA2TJYu1oiIhSPSavRESJad/e2hEQEdF/uGyAiFKvZ8+sHQEREZmJySsRpU4zZgD58sl1rEREZDeYvBJR6jNhAtCzJxASYryeKxER2Rwmr0SUeggBDBkCDBjw/lhQEFC7NvD339aLi4iITMbklYhSByGA778HRo82HPv3X1nX9dUr7eMiIiKzsNoAETm+mBige/f3NVuVfP894OurXUxERJQkTF6JyLFFRQGdOwNLliiP63TAzJlAt27axkVEREnC5JWIHFdEBNC2LbBmjfK4kxOwcCHQrp2mYRERUdIxeSUix/TunWzvunWr8rirK7B8OdC8ubZxERFRsjB5JSLHExoKNGkC7NmjPO7uDqxbB9Svr2lYRESUfExeicixBAcDDRoAR44oj6dJA2zaBNSsqW1cRERkEUxeichxvHwJ1KkDBAYqj3t7A9u2AZUraxsXERFZDJNXInIMT5/KWq2XLimPZ8gA7NwJlC2rbVxERGRRTF6JyP49eADUqgVcu6Y87ucH7N4NFC+ubVxERGRxTF6JyL7dvQt88glw547yePbswN69QKFCmoZFREQpg8krEdk3b28gXTrlsYAAYN8+IE8eTUMiIqKU42TtAIiIkiVDBrkkIOHMasGCwOHDTFyJiBwMk1cisn9ZssiarrGJarFiwKFDQI4c1o2LiIgsjskrETmGHDnk2tbGjYH9+2VCS0REDodrXonIceTJA2zYYO0oiIgoBXHmlYiIiIjsBpNXIrJ9s2YBPXoAQlg7EiIisjIuGyAi2yUEMG4c8NNP8uP06YExY6waEhERWRdnXonINgkB9O//PnEFgLFjgcmTrRcTERFZHZNXIrI90dHA118rJ6r9+gF//KF9TEREZBO4bICIbEt4ONC2LbB2rfo5r15pFw8REdkUJq9EZDuCg4GmTWVLVyU6HfD773JWloiIUiUmr0RkG54+BerXB86eVR53dQWWLgVatdI2LiIisilMXonI+m7fBurUAW7eVB739ATWrQPq1tU2LiIisjlMXonIui5ckEnpkyfK4z4+wNatQOXK2sZFREQ2idUGiMh6Dh4EqlZVT1yzZQMOH2biSkREekxeicg61qwBateWm7SUFCgAHDsGFCumbVxERGTTmLwSkfamTZMbryIilMfLlAGOHAECAjQNi4iIbB+TVyLSTkyM7Jr17beyg5aSWrWA/fsBPz9tYyMiIrvADVtEpA0hgI4dgSVL1M9p3RpYtAhwd9csLCIisi+ceSUibeh0xjde9e4N/PknE1ciIhvw11/Ay5fWjkIZk1ci0k7XrsDgwYbHJ00Cpk4FnJ01D4mIiOI7e1YWgqlTBwgKsnY0hpi8EpG2Ro6UywcA2TVr2TLghx/kzCwREVnVqVNAzZpy1jUwUJbhfvPG2lHFx+SViLSl0wFz5sj1rTt2AG3aWDsiIiKCrE5Yqxbw+vX7YydOyM7doaFWC8sAk1ci0p6rK7BiBfDJJ9aOhIiIABw6JJcJKM2yHjkCjBmjfUxqmLwSkeXExAC3blk7CiIiMsO+fUC9ekBIiPJ4/frA0KHaxmQMk1cisozQUKBlS6B8eeD6dWtHQ0REJti1C2jQAHj7Vnn8s8+AdesADw9t4zKGySsRJd+jR0C1avIZ7uVL+Tb9+XNrR0VEREZs3Qo0agS8e6c83rw5sHq17VUwZPJKRMlz7pycbT1z5v2xW7eAxo2BsDDrxUVERKo2bgSaNlXv0v3553JrgpubtnGZgskrESXdxo1AlSrAw4eGY8ePA19/rX1MRERk1Nq1QIsWQGSk8ni7drIZoouN9mFl8kpE5hMCmDxZvm1XWyiVMaNsSkBERDZj5UpZqTAqSnm8c2dgwQLbTVwBwIZDIyKbFB4uk9JFi9TP+eADYMsWIF8+7eIiIiKj/vwTaN9eFoZR0rUrMHMm4GTjU5tMXonIdE+fAs2ayUrWamrWlCv8fX21i4uIiIxatAjo1EleOFPSqxfw66/20ezQxnNrIrIZFy7IjVnGEtdvvgG2b2fiSkRkQ+bNM564fv+9/SSuAJNXIjLF+vVApUrAP/8oj+t0wM8/A7Nny+5ZRERkE2bPBrp0UU9cf/xRbmGwl8QVYPJKRMYIAYwaJZcKqG3M8vICNm+Wb93t6dmPiMjB/fYb0L27+vjgwcC4cfb31M01r0SkLCQE6NhR1lRRkzcvsGkT8OGHmoVFRESJmzIF6NtXfXzECNtq+WoOJq9EZOjOHdlk4NIl9XOqVwfWrJElsYiIyGZMmAAMGKA+Pno08NNP2sVjaVw2QETx/fUXUK6c8cS1WzfZEJuJKxGRTRk92njiOnGifSeuAJNXIkqoQAFZp1WJszMwfTowaxY3ZhER2RAhgOHDgSFD1M+ZMgXo10+zkFIMk1ciis/NTa5zzZEj/vGMGYHdu4EePawTFxERKRJCzqaOGKF+zm+/AX36aBdTSrJq8nro0CE0atQI/v7+0Ol02LBhg+q53bp1g06nw9SpUzWLjyjVypIF2LAB8PCQHxcvDpw+DdSoYdWwiIgoPiHkbOq4cernzJ4N9OypXUwpzarJa2hoKEqUKIEZM2YYPW/9+vU4ceIE/P39NYqMiFCmjKxs3aIFcPQokCePtSMiIqI4hAC+/VaW2Vai0wF//CHbvjoSq1YbqFevHurVq2f0nIcPH6JXr17YuXMnGjRooFFkRAQA+OILoE0b+ysCSETk4GJi5Cqu2bOVx52cgPnzgQ4dtI1LCza95jUmJgbt2rVDv3798KGJdSTDw8MRHBwc70ZEcbx7JxdGhYaadj4TVyIimxIdLbtxqyWuzs7AkiWOmbgCNp68TpgwAS4uLujdu7fJ9xk3bhx8fHz0t5w5c6ZghER25v59oGpVuSXVWL9AIiKySVFRsn/MvHnK4y4uwPLl8sKZo7LZ5PXMmTP49ddfsXDhQujMmPkZOHAggoKC9Lf79++nYJREduTAAbmO9fRp+fGKFbJuChER2YXISJmULl2qPO7qKnvHtGypbVxas9nk9fDhw3j27Bly5coFFxcXuLi44N69e+jbty8CAgJU7+fu7g5vb+94N6JUTQjgl1+AWrWA58/jj/XvD+zZY524iIjIZOHhMildvVp53N1dFolp3FjTsKzCZtvDtmvXDrVq1Yp3rE6dOmjXrh06depkpaiI7ExoKPD11/IakpKYGDl+/TqbDhAR2aiwMKB5c2D7duVxDw9g40agdm1t47IWqyavISEhuHnzpv7jO3fu4Pz588iQIQNy5cqFjAlaT7q6uiJr1qwoVKiQ1qES2Z9bt4BmzYCLF9XPKVRIvlVn4kpEZJNCQ+Vs6t69yuNp0wJbtgDVq2sallVZNXkNDAxEjThFz7///nsAQIcOHbBw4UIrRUXkALZtA9q2BV6/Vj+nSRNg0SKAS2uIiGxScDDQsCFw+LDyuJeXnI2tXFnbuKzNqslr9erVIczY7Xz37t2UC4bIEcTEAGPGAMOGqVcS0OmAUaOAgQNlIUAiIrI5L18Cdeu+32ObUPr0wM6dQPnymoZlE2x2zSsRmen1a6B9e2DzZvVz0qcHli0DEmkOQkRE1vPsGfDpp+qrvjJmBHbvBkqV0jYuW8HklcgRXL4s17feuKF+TrFiwPr1QL582sVFRERmefgQqFkTuHZNedzPT65/LVpU27hsCa8ZEtm7lSuBChWMJ65ffAEcP87ElYjIht25A3z8sXrimj07cPBg6k5cASavRPYrKgr44Qfg88+Bt2+Vz3F2BqZOlRWt06bVNDwiIjLdtWsycb1zR3k8IEBu3PrgA03DsklcNkBkj549A1q3ll2z1Pj5AatWAdWqaRYWERGZ7/x5WaM1YR+ZWAULyqUCOXJoGpbN4swrkT0KCQEuXFAfr1gROHuWiSsRkY07dkzWaFVLXIsVAw4dYuIaF5NXInuUN6+sGqDTGY516yZnZLNn1zwsIiIy3Z49sqpAUJDyeNmywP79QJYs2sZl65i8EtmrunVlvdZY7u7A/PnArFny/0REZLM2bAAaNFDfslC5skxuEzQbJXDNK5F9GzhQVrA+dw5Ytw4oU8baERERUSKWLAE6dQKio5XHa9eWT+ncZ6uMySuRPXNyki1eIyOBTJmsHQ0RESVi2jTg22/Vx5s1k6vCeAFNHZcNENkiIWQxP1P4+DBxJSKycULIzt3GEtcOHWTpbiauxjF5JbI1b9/KNq/Vq8u330REZNdiYoCePYGRI9XP6dVLbltw4TXxRDF5JbIld+8CVarIpgIA0KWLLABIRER2KSICaNsWmDlT/ZzBg4Fff5UrwShx/DYR2Yo9e2RdlHPn3h8LC5MLoF6+tF5cRESUJKGhQOPGwIoV6udMniwLxyhVPiRlTF6JrE0I+exVpw7w4oXh+J07wJdfyvOIiMguvHgB1KoF7NihPO7sDCxcCPTtq2lYDoErK4is6e1b4KuvjL8t9/GRi6X4tpyIyC7cuyfnI65dUx53d5fduz/7TNu4HAWTVyJruXsXaNrU+JrWokWB9euB/Pm1ioqIiJLh4kXZQ+bxY+VxLy9g82Z2704OLhsgsoZ9++T6VmOJa8uWwPHjTFyJiOzEgQPAxx+rJ65+frIKIhPX5GHySqQlIeSW0tq1lde3AnK76YQJsthfunTaxkdEREmyerVcKhAcrDweEAAcOQKUKqVpWA6JywaItPLuHdCtm+yIpSZ9ern+tU4dzcIiIqLkmTYN+O479X21JUsC27cDWbNqGZXjYvJKpIVHj+T61lOn1M8pWhTYsAHIl0+zsIiIKOmio4EffgCmTlU/p2ZNYN06wNtbs7AcHpcNEKW0kyfl+lZjiWuzZnJ9KxNXIiK78Pat3JpgLHFt0wbYto2Jq6Vx5pUoJS1aBHzzjWyxokSnk9WpBw1iKSzSREyM7H0RFiZffN++lf93cpIvsF5e8l83N2tHSmS7nj2TZa5OnlQ/p08fWcKbXbMsj8krUUo5ehTo2FF93NsbWLYMaNBAs5AodQgNBS5dAm7eBG7dev/vrVvyRdcU7u7yV9TfX14QSHjLnZsvypQ6Xb8O1KsH3L6tfs6kSXI5AaUMJq9EKaVSJeDrr4G5cw3HChYENm0CChXSPi5yOMHB8r3SwYOyVM+ZM0BUVPIeMzwceP5c3i5cMBz38QHKlQPKl39/y5YteZ+TyNYdPGi8Y7e7O7B4MdCqlbZxpTY6IRy752RwcDB8fHwQFBQEby46Ia1FRMjV+keOvD9Wty6wfLmsLECURHfvAn/+Kff4nT0rlwNYW86cwCefyGIZn34KZMpk7YiILGf+fFkwJjJSeTxjRmDjRqByZW3jchTm5GtMXolS2rNncsPW/fvyOtL48bKpNZGZXr8G1qwBliwBDh2ydjTG6XRAmTIyka1XD/joIy4zIPsUHQ0MGCDXr6rJl0+WwipQQLu4HA2T1ziYvJJNOHcOuHwZaNfO2pGQHTp6VNaR3LhRXs63R/7+QPPm8nJqpUpMZMk+vHkDtG0r27mqqVhRrgLLnFm7uBwRk9c4mLwSkT0SAtizBxgzRq6zSw53dyBvXtlpOHduuRErTRp58/SUt5gYuXY29vbmjWwCd+eO3Oj1+rVFviwAMpFt0QL4/HP5ws9CG2SL7t2TFQUuXlQ/p3lzeSXE01O7uBwVk9c4mLxSigkOlssAxozhW26ymJgYOcszZgxw+rT59/fxAapWlb3Ty5SRCau/f/JnOl++fF+54OJFWbb49GmZ5CbHBx8AnTsD7dsDWbIk77GILOXQIVnD1Vh1jp9+AkaO5FUES2HyGgeTV0oR//wDNGwo6xFVqgTs3Qt4eFg7KrJzu3cDffvKXytTOTvLzVF16siEtXhx7ZZUx8QA167JRPbYMWDXLrmRLCmcneWfVOfOQP36gAtr4ZAVCAHMmgV8+616xQ43N2DePODLL7WNzdExeY2DyStZXGAg0KgR8OTJ+2Nt2sit37z+SUlw9y7w/ffA+vWm36dsWfni+fnntjNjKQRw4wawc6e87d8vmyCYK3t2oHt3WWnOz8/ycRIpCQ8HevSQiakaPz9Z4eOjjzQLK9Vg8hoHk1eyqPXr5er9sDDDsaFDgREjtI+J7FZYGDBhgry9e5f4+RkyyIZt7dsDhQunfHzJFR4uL0qsXi3/dIKCzLu/m5vc4NWrl6wjS5RSHj2S9VuNdcwqWlQu6QkI0CysVIXJaxxMXskihAB+/hno31/+X0nWrMDffwO+vtrGRnZpwwbgu+/kppDEZM0qlxN06wakS5fSkaWMiAi5LGL1avm1m5vIlisn2222bMklBWRZR4/KDYRxL6Yl9NlncmMW04iUY06+xmXGRImJipLXkvr1U09cixWTb9mZuFIiXr0CvvgCaNo08cQ1Vy5gxgy54/+HH+w3cQXkLGqDBsDChTJJWL4cqFXL9JU2p0/L71v+/MCvvwIhISkaLqUCQgBTpsi14sYS12HD5JUDJq62gzOvRMaEhsr1rMaK/NWtC6xcyWc2StTu3UCnTsDDh8bPy5ABGDVKrvl0ddUmNmu5exdYtAhYsMC0WehYvr5yXWyvXnJmmsgcQUHyb9HYOvN06eRsa5MmmoWVqnHmlcgSnj0DatQwnrh27y7HmbiSEW/fAr17A7VrG09cdTq5NOD6deB//3P8xBWQ6weHDQNu35YdiurXN2029tUrYOxYWbe2e3c5O01kivPnZRk5Y4lrgQLyYhoTV9vE5JVIyfXrcjupWqFNnQ745Rd5TZcL8MiIwECgdGngt9+Mn1e5MnDmjCzTkzGjNrHZEicneRFj61b559enj6xZm5iICGD2bJlsdOgAXL2a8rGSfRJCVhL46CNZs1hNvXqy/FuRItrFRuZh8kqU0LFjsnbr7dvK456ewLp1crcNS2ORCiFkUlWpkqyFqsbXV142P3wYKFVKu/hsWf78ci3iw4fye1iwYOL3iY4GFi+WCUeLFrIjM1GsoCC5ZrpLF/XKHjqdLBizeTOQPr2m4ZGZmLwSxbVpE1CzpuyLqSRTJlm8kteSyIiwMOCrr+Tl7MhI9fNq15YNCdq35/sgJWnTAl27AleuyAoFVaokfh8hgLVr5Wz3Z5/JmW9K3U6cAEqWBFasUD8nUyZZm3joUO2afFDSMXklijV/viz0p/a2PH9+4PhxoEIFbeMiu3LvnkyyFixQP8fTE5g+HdixQxbkJ+OcnIDGjeXs9PHj8s/UlGR/82ZZYqtBA3kZmFKX6GjZZrlKFeOd3z76SM7Uf/qpZqFRMjF5JRICGD9eTpVFRyufU6GCXE6QP7+2sZFd2b1bbgQ5e1b9nHLl5Atljx6cbU2KihXlzOrVq3K3uClLzrdtk3/CdevK5Jcc34MH8iLa4MHqT+uAXFt98CCQI4d2sVHyMXklGjoUGDhQfbxxY2DfPiBzZu1iIrsS28Oibl31FScAMGCALIheqJB2sTmqggXlxZJbt4CePQEPj8Tvs3OnXINct668lEyORwhZ3qpYMZmUqvH1lW+CpkxJHVU9HA2TV6LatdVf+bp1k89wadJoGxPZjehoWWv0hx+AmBjlc7y85B6/ceP4QmlpuXLJSg5378oGeKY0cti5U14qrlePSawjefJENv9o3x54/Vr9vKpVgQsX5PITsk9MXok+/liu5HdK8OcwfDgwcyZX75Oq0FD5Yjljhvo5H3wg11s2bapdXKlRlizAhAkyif3pJ/mGITE7djCJdRQrVwJFiwIbN6qf4+wMjBwpL6TlzKldbGR5TF6JALk04Pff5f91Ollsc9gwLkokVU+fJt7Donlzmbh+8IF2caV2GTMCo0fLjXNDh5pWK5ZJrP16/hxo1Qr4/HPjS3Zy5wYOHQKGDOF8hCNge1iiuCZOBPLlk1kHkYpr12Sio9bVSaeTSwT69+f7H2t7/Rr49VfZUyQoyLT71K0r37tWrJiioVEyxMTIih79+wMvXxo/t21bWd2DtVttmzn5GpNXIiIzHDsGNGwo25Mq8fAAli3jMgFb8/o1MG2a3KBjahJbp46cqatcOUVDIzP9/bfcjnD4sPHzMmeWF9T4t2gfzMnXuGyAUgdjleKJTLR3r6wFqZa4xvaw4Iul7UmfXi4juHtXLmc3ZTnBzp2yRugnn8ifq2NP9di+sDBZ+qpkycQT1xYtgL/+4t+io2LySo7v8mW56DCxZzsiI7ZskcXu375VHi9QQNYQ5aVm25Y+vVwScPeu/NeUJHb/fpnAfvyxTGiZxGpLCNlhrVgx2XTA2FxEhgzA8uXAqlWsbujImLySYzt/HqheHbh9W17rNVY9nkjF6tVyBic8XHn8o4/Yw8LepE8vZ2DNmYk9elSuhy1fXlbQM1b8nizjwgXZbKBpU1nT15jmzeVs6+efc625o2PySo4rMFBOl8RuQQ0OlovYrlyxblxkVxYulC+GUVHK402byuUEmTJpGhZZSNyZWFOT2MBAeVm6SBFg3jz1NzWUdE+fAl9/DZQqJWe+jcmdW14ZWbMGyJpVm/jIupi8kmM6fly+XU+4OPHff4FatWQdHaJEzJwpW5CqNR9o105envT01DYusry4SezIkbIDU2KuXwe6dAHy5pUd1oKDUzpKx/fmjSx1VqAA8McfxpdoODvLagN//SWX9FDqweSVHM+RI7JrltorSaFCcmEUkRHTpwM9eqiPd+smZ2VdXDQLiTSQPr2sMHD3rix3ZsqM+qNHssNajhxAnz7qJdRIXWiorFSYJ4/8/r95Y/z8ChXkKrAJE4C0abWJkWwHk1dyLPv3y6UBISHK43XqAFu3mtZ+h1Kt33+XLV/VfP+9nJVN2JSNHIe3NzBggExif/7ZtMvRb94AU6fKtc/Nm8v30dzcZVxYmKzBmzcv8OOPxhsNAEC2bPJN47FjQPHimoRINohPveQ49u4F6tdX3w7esKHcssprvGTEggVyVlXNsGHA5MncEJJapE0r36zcvi0b7+XNm/h9YmKAdetkdYJy5eS62NDQlI/Vnrx69b4nzPffA8+eGT/fw0OWybp+HejQgW8cUzs2KSDHcOCATFzDwpTHmzYFVqwA3Nw0DYvsy9KlQPv26rNlEycC/fppGxPZlqgouTFo/Hi5E95U3t7yd6trV6Bo0ZSLz9bdvi1np+fPNz2hb9NGfr9z5UrR0MjK2KSAUpdDh+RqfbXEtXVrYOVKJq5k1KpVckZHLXH9+WcmriTXOH/+OXDuHLBtG1C1qmn3Cw6W66iLFZONDxYsSD0bvISQZbabN5cbsX77zbTEtWZNufd22TImrhQfZ17Jvh05Igsvqj0TfvmlfJXgrhoyYsMGWfpIrW7n2LHAwIGahkR25MwZOZu4YoV6STUlHh5A48byaapOHcDVNcVCtIqHD4HFi+VT8I0bpt/v44+BUaOAatVSLjayPebka0xeyX4dPy6rCqhtzmrfXl6bcnbWNi6yK3v2yBUnal17hg+X61yJEvPoETBjBjB7NvDypXn3zZRJXiRq2lTO5tprIhsWJvfEzp8vu5GplZlTUrGiTFpr1uSa8tSIyWscTF4d1MmTssm8Wj2Vtm2BRYuYuJJRgYFAjRrq738GDZI1J/lCSuZ4+xb480+ZxCalqV/69PINVePG8sKSrb90vXghmwRs3CgTVrU9s2pq1ZKlxmrX5t9aasbkNQ4mrw7o3DmZcQQFKY9//jmwZAmXCpBRV6/Ky5P//qs83rcvMGkSX0wpeQIDZRK7bJn6snxjXF3l72m1avJWoYJcbmBNkZGy8/ahQ8DmzXI9qzkzrID8ur74QlYaYMkrApi8xsPk1cFcuSKvqallHC1bylcJJq5kxIMHQKVKwP37yuM9ewLTpjFxJct5/VpWs5g3TyZ+SeXuLhPYatVk69RixWT5rpQsHfXypZwzOHxYbjM4cSLppb8yZJCl6Hr2lDVbiWIxeY2DyasDEUIuijp1Snm8WTO5Y8JeF4uRJl68kDNZV64oj3/5pVxxwjqSlFIuX5aJ7J9/yjdSyZUmjSy/VayYbCCYLVv8W/r06m/EYmJkYv3ihbw9fw7cvCn/Pq5elbfnz5MXn5OT3JDWqRPw2WcyASdKiMlrHExeHczt23I1/9278Y83bixrHbEcFhkRGirX1504oTzeoAGwfj3f/5A2YmKAgwflKqcNG2Th/pTg5iYTRmfn+LfISDmrau4lf1Plzw907iz3zmbPnjKfgxwHk9c4mLw6oAcP5Gatq1flx3XqyJ0CfDtPRkRFyfc427Ypj1eqBOzeLWexiLQWGSkvyW/aJJ/O7tyxdkRJ8+GH8u+scWPZXYxLb8hUTF7jYPLqoJ49k0mrtzewfTszDjJKCLnObs4c5fGiReXmE19fbeMiUiKEXFqwaZPsen38OPDunbWjUubkJN/4NWkiE9b8+a0dEdkrJq9xMHl1YK9fy2dO/lwpEePHqzcZCAgAjh4F/P01DYnIZOHhwOnTconBwYPAsWNJ3zCVXGnSyK0HVarIteMVKgBeXtaJhRwLk9c4mLwSpW7Ll8uSPEoyZ5aJa4EC2sZElBzR0XJT1aVL8W+3bqm3NzaXTiff2H3wwftbiRJA6dJcE04pg8lrHExeiVKvQ4fk8uiICMOxNGmAAwfkujwiR/DuHfDkCfD4cfzb8+dyzXd09Pt/o6Plpq0MGWR3r4wZ39/8/eUbOk9Pa39FlJqYk6+xGCbZnsGDZb2Xdu2sHQnZsatX5To8pcTVyUnOyDJxJUfi4SFnSwMCrB0JUcpi8kq25ZdfgDFj5P+fPZNtjojM9PQpUK+eeumhX3+V9SaJiMj+sAw32Y6lS2WvwFg//AD072+5RVyUKrx7BzRtalgKOFbfvrK7DxER2Scmr2Qbdu2S7VcSmjQJ+OYb7eMhuyQE8PXXsrSQkhYtgIkTtY2JiIgsi8krWd+FC0Dz5nIngZIaNbSNh+zW+PFyAl/JRx8Bixez7SsRkb2z6tP4oUOH0KhRI/j7+0On02HDhg36scjISPz4448oVqwY0qZNC39/f7Rv3x6PHj2yXsBkeQ8eyJ6cISHK41Onqtc5Iopj3Tpg0CDlsbx5ZcF37p4mIrJ/Vk1eQ0NDUaJECcyYMcNg7O3btzh79iyGDBmCs2fPYt26dbh27Ro+4y4LxxEUBNSvDzx8qDw+cCDw7bfaxkR26dw59eIU3t7Ali2yHBAREdk/m6nzqtPpsH79ejRp0kT1nNOnT6N8+fK4d+8ecuXKZdLjss6rjYqIkDOue/Yoj3foACxYwMbYlKjHj4Hy5eUkfkJOTsC2bbKTMBER2S6HrfMaFBQEnU6H9OnTq54THh6O8PBw/cfBwcEaREZmEUJuwlJLXGvWlE3ombhSIsLCZC1XpcQVkKtOmLgSETkWu9m68O7dO/z4449o06aN0Yx83Lhx8PHx0d9y5sypYZRkkpEjgUWLlMeKFgXWrgXc3LSNieyOEEDXrsCpU8rj3bqxJBYRkSOyi+Q1MjISrVq1ghACs2bNMnruwIEDERQUpL/dv39foyjJJH/+CQwfrjzm7y+v8fr4aBoS2aepU4ElS5THatYEpk3j5D0RkSOy+WUDsYnrvXv3sG/fvkTXQbi7u8Pd3V2j6Mgsx48DX32lPJYuHbB1K8CZcjLBnj2yh4WSggWB1asBV1dtYyIiIm3YdPIam7jeuHED+/fvR8aMGa0dEiXVvXtycWKc9ch6zs7AmjVAyZJaR0V26PZtoHVrICbGcMzbW5bE8vXVPi4iItJGspLXd+/ewcPDI8n3DwkJwc2bN/Uf37lzB+fPn0eGDBmQLVs2tGjRAmfPnsWWLVsQHR2NJ0+eAAAyZMgAN66JtB9v3gCNGgHPnimPz57NXTVkkpAQoHFj4OVLwzGdDli+HChUSPu4iIhIO2aveY2JicGoUaOQPXt2pEuXDrdv3wYADBkyBPPmzTPrsQIDA1GqVCmUKlUKAPD999+jVKlSGDp0KB4+fIhNmzbhwYMHKFmyJLJly6a/HTt2zNywyVqio2WTgUuXlMf79gW6dNE2JrJLQgAdOwKXLyuPjxkjywYTEZFjMzt5HT16NBYuXIiJEyfGm/0sWrQo/vjjD7Meq3r16hBCGNwWLlyIgIAAxTEhBKpXr25u2GQt06fLCvFKGjYEJkzQNh6yW2PHykIUSlq2BAYM0DYeIiKyDrOT18WLF2POnDlo27YtnJ2d9cdLlCiBq1evWjQ4cgDffAO0amV4vFgxYNkyud6VKBHbtwNDhiiPFS/OfhZERKmJ2cnrw4cPkT9/foPjMTExiIyMtEhQ5EA8PYEVK4Bhw94f8/MDNm8GvLysFxfZjdu3gbZt5bKBhDJmBDZsANKm1TwsIiKyErOT1yJFiuDw4cMGx9esWaNfu0oUj04na7suXy5ruG7YAOTObe2oyA68fQs0bw68emU45uwMrFoF5MmjfVxERA5NabbAhphdbWDo0KHo0KEDHj58iJiYGKxbtw7Xrl3D4sWLsUVtbSMRAHz+OVCvHpsQkEmEkF2yzp9XHp80CfjkE01DIiJybJGRwE8/ybKWv/5q7WhUmT3z2rhxY2zevBl79uxB2rRpMXToUFy5cgWbN2/Gp59+mhIxkiNh4kommjlTvYPW558D332naThERI7t0SM5IzBpkmxRuHKltSNSpRPCxueGkyk4OBg+Pj4ICgpKtDsXEdmGY8eAatWAqCjDsaJFgRMnuM6ViMhi9u6VZS3j1mNPlw4IDNSseLY5+ZrZM69Eim7elDVdiZLpyROgRQvlxNXbG1i3jokrEZFFxMQAo0cDtWsbNhIKCZFPxm/fWic2I8xOXn19fZEhQwaDW8aMGZE9e3ZUq1YNCxYsSIlYyVbdvw9UqgQ0aKC8s4bIRFFRsvXr48fK40uXAgUKaBsTEZFDCguTbduHDFHutw0AN24AJ09qGpYpzE5ehw4dCicnJzRo0AAjRozAiBEj0KBBAzg5OaFHjx4oWLAgunfvjrlz56ZEvGRrwsPldvDnz4GdO4Fy5YC//rJ2VGSnBg0CDh1SHhsyRHYZJiKiZHr3Tiaumzern5Mnj1zDVaOGZmGZyuxqA0eOHMHo0aPRrVu3eMd///137Nq1C2vXrkXx4sUxbdo0fP311xYLlGxUnz7A6dPvP751C6hQAVi8GGjWzHpxkd1Zv17uE1BSt278UsFERJRE794BTZsCu3apn/PZZ8DChYCvr2ZhmcPsmdedO3eiVq1aBsdr1qyJnTt3AgDq16+P27dvJz86sm1LlgCzZhkeDw2VY469F5As6MYNoGNH5bGAAODPP9mMjYgo2WKvlu7YoTzu7AxMnCjrsdto4gokIXnNkCEDNitMM2/evBkZMmQAAISGhsKL3ZMc26VLQNeuymOFCgGLFrFfJ5kkthFBcLDhmLs7sGYN8N9TCxERJVV4uNyAtW2b8niGDMC+fUC/fjb/+m32soEhQ4age/fu2L9/P8qXLw8AOH36NLZt24bZs2cDAHbv3o1q1apZNlKyHUFBMtsICzMcS5tWbgdnWTIygRBA9+7yvZCS334DypTRNiYiIocTEQG0agWoNZPKkEGWyypZUtOwkipJdV6PHj2K6dOn49q1awCAQoUKoVevXqhUqZLFA0wu1nm1MCFk4rp+vfL4smVAmzbaxkR2a84c9Qn8Dh2ABQtsfgKAiMi2xcTIMi5r1iiP+/oCe/YApUtrG1cC5uRrZs+8AkDlypVRuXLlJAVHdm7yZPXEtVcvJq5ksjNn5K+MkuLFZYctJq5ERMk0bJh64po+PbB7t9UTV3MlKXmN9e7dO0RERMQ7xtlNB3b4MDBwoPJYxYoysSUywevXQMuW8kpWQt7ewNq1QJo0modFRORYli+XTQiU+PjIxNUO12aZvWHr7du36NmzJ/z8/JA2bVr4+vrGu5GDev5cNpRX6qKVKROwejXg5qZ9XGR3hAA6dQLu3FEeX7gQyJ9f05CIiBzP6dNA587KY97eMnEtW1bbmCzE7OS1X79+2LdvH2bNmgV3d3f88ccfGDFiBPz9/bF48eKUiJGsLSZGLkB89MhwzMkJWLECyJFD+7jILv3yi6zCouSHH2T5QSIiSqa3bwFPT8Pjrq6yOUG5ctrHZCFmJ6+bN2/GzJkz0bx5c7i4uODjjz/G4MGDMXbsWPz5558pESNZ2+TJwPbtymOjRgE1a2obD9mtY8eAH39UHqtSBRg7Vtt4iIgcVrVqwKlTQOHC8Y/PmgVUrWqdmCzE7OT15cuXyJs3LwC5vvXly5cAgCpVquCQWl9Hsl/HjsmenUrq1AEGDNA2HrJb//4rN7xGRRmOZc4sJ/BdXbWPi4jIYeXPDxw/DtSrJz/+7jvgq6+sGpIlmJ285s2bF3f+W6z2wQcfYNWqVQDkjGz69OktGhxZ2YsX6utcs2WTLWCdzP4VolQoJgb48kvgwQPDMZ1OVljLnl37uIiIHJ6Pj1wmMGeOeg9uO2N25tGpUydcuHABADBgwADMmDEDHh4e6NOnD/r162fxAMlKYnfV3L9vOObkJHcw+vlpHxfZpbFjgf+6RxsYNgxQ6DhNRESW4uwMfP014JKsIlM2I0lNCuK6d+8ezpw5g/z586N48eKWisti2KQgiaZMAfr2VR4bMQIYOlTbeMhu7d8vk9OYGMOxWrVki21nZ+3jIiIi25GiTQrevXsHDw8P/ce5c+dG7ty5zY+SbFv27LKURsKG8598Avz0k3ViIrvz9CnwxRfKiau/P/Dnn0xciYjIPGYvG0ifPj2qVq2KIUOGYO/evQhT6m9P9q91a+DCBeCjj94fy5KF2QaZLDpaJq5PnhiOOTsDK1dy5QkRUbItXQocPGjtKDRldvK6Z88e1K1bFydPnkTjxo3h6+uLKlWq4KeffsLu3btTIkayloAA4NAhYMgQuU5m6VIga1ZrR0V2YtQoYN8+5bGxY2VpLCIiSoZLl4AuXeRV0eHDlcu5OKBkrXmNiorC6dOn8fvvv+PPP/9ETEwMopV2plsR17xayD//ALlyWTsKshO7d8tKakrPLg0bAhs3slAFEVGyhIbKRgNXrrw/VrWqvEJqh42DUnTNKwBcv34dBw4c0N/Cw8PRsGFDVK9ePSkPR/aAiSuZ6NEjoG1b5cQ1Vy5g0SImrkREyfbdd/ETV0BeLS1ZErh2DciY0RpRacLs5DV79uwICwtD9erVUb16dfz4448oXrw4dDpdSsRHRHYkKgpo0wZ4/txwzMVFrnPNkEH7uIiIHMqaNcAffyiPdejg0IkrkIQ1r5kzZ8bbt2/x5MkTPHnyBE+fPuWmLSICIJdcqTXamzgRqFhR03CIiBzP06dAt27KY2XKAOPGaRuPFZidvJ4/fx5PnjzBgAEDEB4ejkGDBiFTpkyoVKkSfmIJJftz7JhcgEiUTDt3yo1YSpo0kVe4iIgoGYSQieuLF4Zj6dLJPttubtrHpbFkbdh68eIFDhw4gI0bN2L58uXcsGVvgoOB4sWBe/eA7t2Bn38GPD2tHRXZoYcP5TKrf/81HAsIAM6eBXx9tY6KiMjBLF0KtGunPLZkiezDbafMydfMnnldt24devfujeLFiyNLlizo3r07QkJC8PPPP+Ps2bNJDpqsoHdvmbgCwKxZctfipUvWjYnsTuw6V6XE1dUVWLWKiSsRUbI9fAj07Kk81qyZ3CmbSpg98+rn54eqVauievXqqFatGooVK5ZSsVkEZ15VrFkDtGxpeNzdHTh6VK6bITLBoEHqS6ymTQN69dI2HiIihyMEUL++7KedUObMwOXLdt/1JUVLZT179izJgZGNePQI6NpVeaxiRXn9l8gE27erJ67Nm6tPEhARkRnmzVNOXAFg9my7T1zNxWqLqU1MDNCpE/DypeGYt7cswsn2r2SCBw/Ul17lzSufa1lBj4gome7eBfr0UR774gu5ZCCVYfKa2syYAezapTw2cyaQO7e28ZBdiooCPv9cecOrm5tc5+rjo31cREQOJSYG+OorICTEcCxbNuC337SPyQYweU1N/v4b6N9feax1a/kOjsgEP/0kl0Yr+flnLpkmIrKIP/4A9u1THps7N9V2fWHymlpERMidiO/eGY5lzy6rDfAaL5lgyxbZcEBJixZAjx7axkNE5JAePgT69VMe69wZaNBA23hsCJPX1GLECOD8eeWxRYtYy4hM8s8/svOgkrx55SQB3wMRESWTEHImIDjYcCxnTmDKFO1jsiFmVxsIDQ3F+PHjsXfvXjx79gwxMTHxxm/fvm2x4MhCTpwAxo9XHvvuO6BmTU3DIfsUESFXlyjt9eM6VyIiC1qzRr375Zw5qf7J1uzktUuXLjh48CDatWuHbNmyQcdpFtsWGgq0by8XfSf04YepogcyWcbAgfJ9kJJffuE6VyIiizlzRvn4l18CdetqG4sNMrtJQfr06bF161ZUrlw5pWKyqFTfpKBXL2D6dMPjrq7AqVOs6Uom2bgRaNJEeax1a2D5ci4XICKyqL17gW++AWKvaGfKBFy5Iv91QCnaHtbX1xcZUunuNruzd69y4goAw4YxcSWT3LkDdOyoPFaggLyCxcSViMjCataULdt/+AFwcpItCx00cTWX2TOvS5cuxcaNG7Fo0SKkSZMmpeKymFQ78xoUBBQrBty/bzhWoQJw5AjgYvaqEUplwsOBKlWAwEDDMQ8PuYygRAnt4yIiSlWuXQMKFnTomYIUbQ/7888/49atW8iSJQsCAgLg6uoab/zs2bPmPiSlhG+/VU5cPT2BxYuZuJJJ+vZVTlwBOQnAxJWISAOFClk7AptidgbTRG3hG9mODRtk+SslEybId29EiVi5UjZkU9K2LdCli7bxEBERAUlIXocNG5YScZAlPX0qaxdFRMQ//sknrCBPJrl2TT05LVQImD3boa9eERGRDUvyteMzZ87gypUrAIAPP/wQpUqVslhQlExduwKVK8sSWefOyWPe3sCCBXLRN5ERb9/KTllKrbQ9PWX5wXTptI+LiMghRUVxKZ+ZzM5knj17hk8++QTlypVD79690bt3b5QpUwY1a9bE8+fPUyJGSoqiReVumiFDAGdn4NdfgVy5rB0V2YEePYDLl5XHZs+Wv1pERGQB9+/Lsi0LF8quWmQSs5PXXr164c2bN/jrr7/w8uVLvHz5EpcvX0ZwcDB69+6dEjFSUrm5ASNHykxEracnURzz58vnUCVdusjJfCIispBevYC7d4FOneTSvmvXrB2RXTC7VJaPjw/27NmDcuXKxTt+6tQp1K5dG69fv7ZkfMmWaktlEZnp4kVZRe3dO8OxkiWBY8fksgEiIrKADRuApk3jH3NzAwYPlrdUtrEgRZsUxMTEGJTHAgBXV1fEKLUgJSKbFxQENG+unLh6ewOrVzNxJSKymOBgoGdPw+MREbIzTCpLXM1ldvL6ySef4Ntvv8WjR4/0xx4+fIg+ffqgZs2aFg2OiFKeELKD1s2byuMLFgD582saEhGRYxsyBHj40PB4pkzApEnax2NnzE5ep0+fjuDgYAQEBCBfvnzIly8f8uTJg+DgYPz2228pESOpEQK4etXaUZCd+/lnefVKyXffAc2aaRkNEZGDO30aUMuXpkwBMmbUNh47ZPaaVwAQQmDPnj24+l/iVLhwYdSqVcviwVmCQ695nTsX6N4d+OkneXNzs3ZEZGcOHpTts6OjDccqVpTj/LUiIrKQqCigXDng/HnDsZo1gd27U+2SAXPytSQlr/bEYZPXe/dkzaLYYpwlS8quWsWLWzUssh+PHwOlSsmeFgllyiRLBOfIoX1cREQO65dfgO+/Nzzu7i4rA6XiNVopumGLbEBMDNC5c/wq8ufPA2XLqvfzJIojMhJo3Vo5cXVyAlasYOJKRGRR9+/Lta5KhgxJ1YmruZi82qPZs4F9+wyPR0YCAQGah0P2Z9Ag4PBh5bFRo+TVKyIisqDevYHQUMPjhQsD/fppH48dY/Jqb27dUv8l79QJaNBA23jI7qxdC0yerDzWsCEwYIC28RARObxNm9R3xs6ezc0FZmLyak9iYmSC+vat4ViOHHItDZERV67IslhKAgKAxYvlsgEiIrKQkBDlmq6AfE2vWlXbeByA2S9Tzs7OePbsmcHxFy9ewNnZ2SJBkYpp09Sv9c6bB/j4aBsP2ZXgYNnMJe5S6Vju7nJG1tdX+7iIiBza8OFyvWtCGTMCEydqHo4jMDt5VStOEB4eDjdOe6ec69eBgQOVx7p2BWrX1jYesisxMUD79upts6dPB0qX1jYmIiKHd+ECMHWq8tjkybK0C5nNxdQTp02bBgDQ6XT4448/kC5dOv1YdHQ0Dh06hA8++MDyEZIswtmxo3LvzoAAduOgRI0fD2zcqDz29ddAly7axkNE5PBiYuTkklIh7WrVgA4dtI/JQZicvP7y33pKIQRmz54db4mAm5sbAgICMHv2bMtHSLLjxvHjymPz5wNeXtrGQ3Zl505g8GDlsfLl1Ru9kJ2LiQFOnACePYt/e/NGbg5xd39/c3MDMmQA8uaV5XoCAriBhCi5fv8dOHnS8Lirq9yklUqbEViCycnrnTt3AAA1atTAunXr4MvFcdq4fFk98+jZE6hRQ9t4yK7cuQO0aSM7CSeUOTOwZo3MXchBVasmO/qYy8kJyJlTJrLFisnHqVpVJrhElLjHj9VLt/z4I8Ar1cnCDlu2LCJC9ug8d85wLF8+uZYmbVrt4yK78PYtULmychdCZ2fZhZDvfexUZKScvUlM9uzAo0eW+7zFiwPbtsnHJSJ1Bw4ALVoAL17EP54vH3DpEuDpaZWwbFmKdthq3rw5JkyYYHB84sSJaNmypbkPR8aMHq2cuOp0wMKFTFxJlRCyCZtS4grIDa5MXO3M06fAnDlA3bpy1saUeQc/P8vGcO8ekDWrZR+TyBFVrw5cvWpYm3DWLCauFmB28nro0CHUr1/f4Hi9evVw6NAhiwRFAE6fBsaOVR7r2xeoUkXbeMiuTJgArFypPNa6NdCnj7bxUBIJARw9Kmdw/P3l5o+dO4Hbt4HAwMTvb+nk9eOP5bQ9ESUuUyZgwQJg/36gYEGgbVvg00+tHZVDMDt5DQkJUSyJ5erqiuDgYIsEleqFhcm6Rko7FD/8UPbvJFKxbZts/6rkww+BP/7gPgGbFxkJLF8OVKgg36iuXSs3YMW1dm3ij5MwedXp5AZPD4+k/RJUr574OeHh8spQeLj5j0/kiKpXBy5elDUJySLMTl6LFSuGlQpTOitWrECRIkUsElSq99NP8nJDQi4usgWSh4f2MZFduHZNfYOWr68slxWnyh3ZmtBQWfoub17giy/kFRg1a9cmvnTg+++BPXvkC+eTJ3IdfXCwfIMcHS0/fvMGeP5crjFZs0ZO23/zDfDJJ4Y1KKtVS/xrWLZMdg0KCJA12l6/Tvw+RI7O3R1In97aUTgMszdsbd68Gc2aNcMXX3yBTz75BACwd+9eLF++HKtXr0aTJk1SIs4ks7sNW/fvywXdkZGGYyNGAEOHah8T2YWgIDlRp9SIwMkJ2LGDV6xsVnQ0sGSJfONqzgarS5eAokVTLi4hZE/hAwdkub4FC+SbaDUxMTKeK1feH/Pykssd+vWz/DIGInIY5uRrSao2sHXrVowdOxbnz5+Hp6cnihcvjmHDhqGaKe/KNWZ3ySsgZ1vat48/+1q2LHDsmGk7jCnViY4GGjcGtm5VHv/5ZzkJRzZo7165jv3CBdPvU6YM0Ly5nOG0pQ1UmzbJX0QlXl4yOf/2W149IiIDKZ682hO7TF4BeVlv8GDgl19ksfBz54DCha0dFdmogQPlFVolX34pV5twnauN+ftvoH9/9XccCWXIIGcwv/lGXpK3RVWqyA1mxgQEyKUJLVvyl5IcQ0QEm3pYQIqWygKA169f448//sCgQYPw8uVLAMDZs2fx8OFDsx7n0KFDaNSoEfz9/aHT6bBhw4Z440IIDB06FNmyZYOnpydq1aqFGzduJCVk++PpKafL9u+XnTiYuJKKxYvVE9eyZWV1JeYINiQyEhg5EihRwrTE9YMP5HPA/fuyAomtJq6vX8viwom5e1eWvKhcWbn7EJG9+eILoFUrua6cNGF28nrx4kUULFgQEyZMwKRJk/D6v8X469atw8CBA816rNDQUJQoUQIzZsxQHJ84cSKmTZuG2bNn4+TJk0ibNi3q1KmDd+/emRu2/apWzbBOHNF/jhwBvv5aeSxLFmD9epYUtCmXLsmFycOGJd75qkoVWTrir7/kjGuaNNrEmFTp0wNnzgC7dgG1aiV+/vHjsgnL//4nN40R2aONG+XmydWr5STT3LmGlUHI8oSZatasKfr16yeEECJdunTi1q1bQgghjh49KnLnzm3uw+kBEOvXr9d/HBMTI7JmzSomTZqkP/b69Wvh7u4uli9fbvLjBgUFCQAiKCgoybER2aLbt4XIlEkIuasm/s3VVYijR60dIcXz8KEQ7u7KP7C4twIFhFi/XoiYGGtHnDxnzgjRvHniXy8gRO7cQuzaZe2IicwTFCRE9uyGv89Vqwpx9661o7M75uRrZs+8nj59Gl27djU4nj17djyx4JT5nTt38OTJE9SK8w7ex8cHFSpUwPHjx1XvFx4ejuDg4Hg3IkcTHAw0agT8+6/y+O+/A5UqaRsTJSK2yYCaDBmAX38FLl8GmjSx/7UepUvL0ltHjwLlyxs/9949oHZteRkhKEib+IiSa9AgQGm55OXLvOSVwsxOXt3d3RUTwuvXryNz5swWCQqAPhHOkiVLvONZsmQxmiSPGzcOPj4++lvOnDktFpPFRURYOwKyQ1FRwOefy6vJSvr3l5vQyQaNHQvkzx//mLOzLAVx8ybQu7fjbfyoVEkuEfjzTyCx5+M//pCltrZv1yY2oqQ6fhyYOVN5bMoUloVLYWYnr5999hlGjhyJyP/qkOp0Ovzzzz/48ccf0bx5c4sHaK6BAwciKChIf7t//761Q1L29q0sdzN8eOJr34ji+OEH9df2xo2BceO0jYfMkDatrJUaO6tapAhw4oTcnOnra93YUpKTk9zUcu0aMHq08VmpBw+A+vVl+TC+wSdbFBEhrxIoFWuqVUuWuqQUZXby+vPPPyMkJAR+fn4ICwtDtWrVkD9/fnh5eWHMmDEWCyzrf7ULnz59Gu/406dP9WNK3N3d4e3tHe9mk/r1k5cWRoyQ/cJv3bJ2RGQHZs6UV5aVlCgBLF0q8wSyYVWqyMRswAC5walsWWtHpB1PT1nr9dKlxLt1LV0K/FfNhsimTJigfOnLw0NWBrH3JT92wEirFGU+Pj7YvXs3jh49igsXLiAkJASlS5eOtzbVEvLkyYOsWbNi7969KFmyJABZA+zkyZPo3r27RT+X5lavjn+54cQJoGRJYNo0WVmAv/ikYNMmoFcv5bGsWYHNm9n61erCw2UbyMRMnJi6/87z5QP27ZMv9P37y7a4cel0cpmBLTVgIALeXz1QMny4/N2mFGfSHE2GDBnw7387Qzp37ow3b96gcuXK+N///of+/fsnOXENCQnB+fPncf78eQByk9b58+fxzz//QKfT4bvvvsPo0aOxadMmXLp0Ce3bt4e/v7/NtaA1y82bwFdfGR4PCZEJbXS09jGRzTt9Wq5zVarA4uEhq7XY8vLuVGHmTKBYMdNmC1Nz4hrLyUmWybp0CahZM/7YkCGmldsi0lJMDNCli/JylhIl2MZQS6aUL0ibNq2+JJaTk5N49uxZ8uoh/Gf//v0CgMGtQ4cOQghZLmvIkCEiS5Yswt3dXdSsWVNcu3bNrM9hU6WywsKEKFVKuVRMmjRCmPm1Uepw65YQfn7qVYZWrLB2hKlcTIwQAwa8/4HUqydEdLS1o7IvMTFCzJwpS4lVry5EVJS1IyIy9Ntvyk/CTk5CnD5t7ejsnjn5mkntYT/99FM8ffoUZcqUwaJFi9C6dWt4qiy4nz9/vuUyawuwqfaw//sfMGuW8tiiRVzkTQZevJCbta9fVx4fN04unSQriYyUMzGLF8c/PmyYvIRI5rlwQe7SzpbN2pEQxXf3rqyEkXCJCwB8951s5U7JYvH2sEuXLkX9+vUREhICAAgKCsKrV68Ub6Ri5Ur1xLVTJyauZCAsTFYPUEtcu3YFfvxR25gojpAQWWw3YeIKyI2YprR+pfhKlDA9cb15M2VjIYolhKwuoJS45smjvgaWUoxJM69x5cmTB4GBgciYMWNKxWRRNjHzev26LIv1X/IfT9Gisr+3rbd+JE1FR8s1rmvWKI83aABs2AC4mL3lkizi2TP5QwgMVD9n0iRZ14wsb/Nm2chh2DC5PpZriCklzZsnr7Ao2bPHcM02JYnFZ17jbtiqUaMG3BytiHZKCgsDWrVSTlzTppWVB5i4UhxCAD17qieuZcoAK1YwcbWa27flWg61xNXFBViyhIlrSrl8WdaMjYmRyevnn8u62UQp4eFDWdpOyddfM3G1EpOS14iICH1XrUWLFuHdu3cpGpTDEEJe271wQXl89mzggw+0jYls3tCh8ldDSUAAsGULS2JZze3bQPXq6nWZ06WTywW+/FLTsFKN58/lUo24kwGrVgGffKLeK5koqYQAundXblmcPbu8ukJWYdLczUcffYQmTZqgTJkyEEKgd+/edrNhy6omTZIzMEq6dOELHBmYOlV9+ZSvL7BtG0tfWs3du0CNGoBa1z4/P9n6rHRpTcNKNaKigBYt5M8hoZMngcqVgZ075Ts8IktYsUIuUVEyezbg46NtPKRn9oYtnU7HDVum2LRJfRt48eKyIQFRHIsXA336KI/F1nItXFjbmOg/9+7JxPWff5TH8+eXvc6ZuKYcFxegdWvA2Vl5/Pp14KOP1K90EZnj2TP1rjBt2wING2obD8XDDVsp4dIluSZOaZ2rtzdw6hRQqJA2sZBd2LwZaNpUuUeFszOwfr28WkpW8M8/cqnAnTvK42XKyClxPz9Nw0q19u2TM7BqkyXe3nI3Y40amoZFDub1a6B3b8Orp35+wN9/A3aSA9kTi2/YiuvOnTt2k7haxfPnwGefKSeuTk7yMgQTV4rj0CG5p0+tudr8+Uxcreb+fZkEqSWuZcvK3cZMXLXzySdymUCePMrjwcFA3bpyLSxRUqVPLy+HrV0LZM78/vj06UxcbYDJyWv9+vURFGfR8vjx4/H69Wv9xy9evECRIkUsGpzdCQ8HmjVTXpMFAJMnA/XqaRoS2bZjx2TFJbU9kL/8whLAVvP4sUxcb99WHi9TBti1S77IkbYKFJB/PKVKKY9HRMgqBGq1tYlM1ayZrHDRpIn8f4sW1o6IYMayAWdnZzx+/Bh+/80weHt74/z588ibNy8A4OnTp/D390e02vSRlWi6bOCbb4C5c5XHvvpKjrEeIf3n1CnZvv3NG+XxwYOBUaO0jYn+ExwMVK2qvn6ydGk54+rrq21cFN+bNzKh2LNH/ZyJE4F+/bSLiRyTEHKWQWWzOiVfiiwbSJjjmrlUNnVo00b5xezjj4GZM5m4kt6ZM0Dt2uqJa7duwMiR2sZE/4mIkAmRWuJasiSwezcTV1vg5SVLk33xhfo5/fvLerB8zaLk0OmYuNoQs9e8khE1asjptLi1WwMC5JoZNnag/5w/D3z6qXLpQEBe7Zw+ne91rGbhQmDvXuWxEiXkLF+GDJqGREa4uSXeFGLkSFlongkskUMwOXnV6XTQJXg1TfgxQZbMOXFCbhhIl05uI4+72JtStUuX5FIBtY3SzZvLPQJq1YBIA19/Dfz4o+HxwoVl4srNGrbHyUnW1Z44Uf2cX36RlzRsbGkbEZnP5AaTQgh07NgR7u7uAIB3796hW7duSJs2LQAgPDw8ZSK0Rz4+Mmm9cgUoWtTa0ZCNuHxZdhJ88UJ5vHFjYNkywNVV27goAZ0OGD9edtD59ls5W+fvD+zYAWTKZO3oyJh+/eSkwf/+pzw+Zw4QGipn19lfmWJt3AiULw9ky2btSMhEJm/Y6tSpk0kPuGDBgmQFZGlWqfNKlEDsGteXL5XHGzSQq0v+e29ItmLNGqBHD7nGtXhxa0dDplq8GOjUCYiJUR7v18/4LC2lHhcuyMQ1XTpZnaJVK2tHlGqZk6+Z3aTA3jB5JWs7ehSoX19uYFdSp46sqe7hoWlYZKrQUOC/K0xkR9aulZtoIyPjHy9QADhwQM6mU+oWFiZrNf/99/tjrVsDM2ZweZAVpGiTAiIy3d69csZVLXGtVUt2z2LiasOYuNqn5s0N3xXmzw/s38/ElaQffoifuALAypXyKovakzbZBCavRClkyxa5HODtW+XxmjXlUitWXyFKIfXry9a9adMC+fLJxDV7dmtHRbZg0yZZwlJJ27ayzTDZLCavRClg9WqgaVPZdE1JgwYyuU2TRtu46D9CyKYhYWHWjoRSWo0ashPagQNAjhzWjoZswaNHQOfOymOlSwOjR2sbD5mNySuRhc2eLWu1RkUpj7doAaxbx6UCVjV1quyIV7Uq8OCBtaOhlFapEhNXkmJigA4dlMu+pEkjS76wLrvNY/JKZCFCyEY+3burb3Ju3x5YvpzPjVa1a9f7gvaBgXLDxrFj1o2JbIfaHy85hl9+UW8nPG0aUKiQtvFQkjB5JbKAqCiga1fjLV27dQMWLGB5Sau6eVPuJo6boDx9Ki8tL1livbjINkyaZPyyCdm3s2eBgQOVx1q0UF9KQDaHL6NEyfT2razIs2mT+jl9+8rXRTals6K3b+VC5NevDcciI1kaJ7UbP/59YuPkBCxdyneajiQoSNZwTVg6DZBLSubM4RO0HeFfJlEyvHwJNGpk/Krz2LHAgAF8XrS63r1lmzMl48bJnemUOo0eDQwZ8v7jlStlj2b2anYMQshZ1Vu3DMd0OvlGxddX+7goyZi8EiXRzZtAw4bAtWvK487OwB9/AB07ahoWKVm6FJg3T3msTRugf39t4yHbMX58/MQ11rJl8o94wQImsPZu6lS5S1bJwIFAtWqahkPJxzWvRElw+DBQoYJ64pomjVxGwMTVBly9KhccKylZUr7D4LR46vXxx+qNKJYsAb7+mpu47NmxY+pvTitVAoYP1zQcsgwmr0RmWrJENhh4+VJ5PGNGYN8+XoW2CW/fAi1byhavCXl5AatWsdhuale5smxkoPZ7sGCB8RIiZLv+/Vdu0FTagJcpk1we4uqqfVyUbExeiUwUEwMMHizLXSmt+QeA3LmBo0flrCzZgG+/VV/nOneu7HNPVLUqsHWreru7OXOAXr3k2kmyDzExwJdfKtdx1unkshDW/rVbTF6JTBAWBnzxBTBmjPo5ZcsCx4+zTKDNWLpULglQ0r27nJEhilW9OrB5s3r3kJkzge++YwJrL8aMAXbuVB4bOhT49FNt4yGL0gnh2H+JwcHB8PHxQVBQELzZq5iS4J9/ZIWls2fVz2nWTC4n4BVoG3HtGlCmjPJygZIl5bsMtjgjJbt3yxIiar2dWffO9p09K2cTlNKbWrWAHTu4Cc8GmZOvceaVyIiDB+VzoLHE9ccfgdWrmbjajIgIOU1ubJ0rE1dS8+mnwPr16m3wfv4ZGDSIM7C2rFQpYMQIw+P+/sCffzJxdQBMXokUCAFMny7fpD9/rnyOi4usvjR+vKxpTjZi5Ej1dxtc50qmqFcPWLNGfTNPbHktJrC2SaeTP5+1a9/PKjg7yzeufn7WjY0sgi+5RAm8ewd89ZXcn6HWJdLXF9i1i90Ebc6xY7LhgBKucyVzNGr0vlmBkjFj5NpJJrC2q1kz+ZyQOzcwYYKsLEEOgWteieL45x9ZWenUKfVzChcGNm7kBJ7NefNGrme9fdtwrEgRIDBQfTc5kZrVq2Uji+ho5fGhQ5UvUZPtCAoCvL25TtnGcc0rURLs2CGXShlLXJs0AU6eZOJqk77/XjlxdXWVlQeYuFJStGwpd2OqrQ0aOZLJq63z8WHi6mCYvFKqFx0tJ0/q11dvPADI16e1a+WeH7JBzZoBWbMaHh85Ur4rIUqqNm2AxYvVE9jhw4EtWzQNiSg1Y/JKqdrz50DdusCoUepL17y85DKBoUO5Mcum1asHXLokk9hYVaoA/fpZLyZyHG3bAosWKc/gffMNW+pZw82bwI0b1o6CrIAvxZRqHT0qJ+T27FE/p2BBuUzgs8+0i4uSIVMmuUt84UIge3Y5W8ayOGQpX35pmMB27QrMmsV3tlp7+hSoUweoVAk4fdra0ZDG+NdGqU50tNwoXK0a8PCh+nktW8rnxMKFtYuNLECnAzp0AG7dAvLksXY05GjatQMWLJC/Z927y85bTFy19eYN0KCBXOP+779AjRpy0wKlGi7WDoBIS48fy8mTffvUz3FxkXXIe/XiGn+75u5u7QjIUXXoIHdtVqzIxFVrERFAixbAmTPvj4WGytJm8+fLNxfk8PhXR6nG9u1AiRLGE9ccOYBDh4DevZm4EpERlSoxcdVaTIwsrr1rl+FYVBQwY4Z6cW5yKPzLI4cXESH37NSvr94tC5BdIc+eBT76SLvYiMjBvX6tXiOWzDNggGzvqqRAAWDzZnnpjBwek1dyaFevymR08mT1c5ydgdGj5cxs5szaxUZJ9Pw5sHWrtaMgStyrV3I95hdfyHfRlHQTJwKTJimPZc0K7NzJJ/BUhMkrOSQhgNmzgdKl1dvcA0DOnMDBg8BPP3FTut3o3Rto2FAuXn7xwtrRECkLCpK74c+fB1atkmsyQ0KsHZV9mjQJ+PFH5TEvL2DbNm7OTGWYvJLDefYMaNxYbgQOC1M/r2lT+brCdtd2ZONGYMUK+f8//5RtX9essW5MRAm9eSPXKcUt4bRrF1CrFt9wmWvSJKB/f+UxV1dg/Xo2IUmFmLySQ9m+HSheXC59UuPuLtf1r10LZMigXWyUTK9eyXckcT17Jmua/fyzdWIiUtK6NXDsmOHxkyeBjz8GHjzQPiZ7ZCxxBWQd55o1tYuHbAaTV3IIISEyr6lfX9auVlOkiHz9+N//WE3A7vTtK2udJZQ+vVxTSGQrBgwAvL2Vx65ckZd7rl3TNiZ7k1jiOmsW8Pnn2sVDNoXJK9m9Y8eAkiXlGldjevUCAgNluSyyMwcOyMLwSqZOBbJl0zIaIuOqVpWL6bNkUR7/5x/ZuvjoUW3jsheTJxtPXGfOBLp10y4esjlMXsluRUQAAwfKq3C3bqmflyWLXM8/bRrg6aldfGQh4eHqL1R16wLt22sbD5EpSpaUyanaRqJ//wU++US99FNqFBMjZ6379VM/Z+ZMw+VDlOoweSW7dPEiUL48MH68fL5T06iRPLdePe1iIwubOFH5Emu6dMDvv3P9B9mufPlkAlusmPJ4RISsmjFkiPEnstQgPFx+LyZMUD+HiSv9h8kr2ZWoKGDMGKBsWeDCBfXz0qSRS6I2bgT8/LSLjyzsxg35A1cyejSQK5e28RCZK1s2uYTAWFmT0aOBNm2Ml0dxZKGh8irK8uXq58yYwcSV9Ji8kt34+2/ZcGDwYCAyUv28jz6SiW23bpyUs2tCAD16yBmZhEqXBnr21D4moqTw9ZWlsho3Vj9n1SqgenXlTYmOztNTNhpQM2OG3GVL9B8mr2TzoqPlxtPSpeWGKzWursC4ccDhw0D+/NrFRylkxQpg927D405OcrkAu0qQPUmTRtbnM7ae89QpoEwZOVObmjg5AQsXAtWqxT/u6gosWcLElQwweSWbdu2a3JDVv7/yBFysYsVkPfABA5jTOITXr4E+fZTHevSQ60aI7I2zs1zD/ccfgIuL8jmPH8uNXGPHpq51sO7usuFAkSLyY29vYMcOuQ6WKAEmr2SToqNl3fmSJYHjx9XPc3KSXQNPn2YJLIcycKBywd5s2eT6QCJ79tVXchmBr6/yeEyM7Fldv77s1pVa+PrK0jDly8uNbp98Yu2IyEapvPUjsp5r14DOnZUb1MRVqJC80lSxoiZhkVZOnJDLApT8+qt68Xcie1Kjhvxdb9hQbkxUEhMjlxukJrlzy+8LNyyQEZx5JZsRd7bVWOKq0wHffw+cO8fE1eFER8sdxUIYjtWrB7RooX1MRCmlYEGZqNWtaziWLRuwdKljrIMSApg7V14iMwUTV0oEk1eyCbFrW3/4AXj3Tv28fPnkXoaff2bDAYc0Zw5w/rzhcU9PueOYL2rkaDJkALZulbtNYxNVJydg2TLHqPN3/TpQuzbwzTdAq1ZyPTtRMjF5JauKjpadAEuUML62FQB695YlsD7+WJvYSGP//ivX+SkZOlS9UxGRvXNykrtN9+8HsmcHRoyQZbPsWViY/LstVgzYs0ceu3tXrglTurJCZAaueSWruXoV6NRJXjUzJm9e2da+alVt4iIrGTQIePXK8HihQnKdCJGj+/hj2RLQx8e08//6CyhcWCa/tmTHDlmHWalv9/r1slf3t99qHxc5DBv7jafUIDpaVospWTLxxLV3b/lczsQ1FejaFahQwfD4tGmAm5v28RBZQ4YMpq1zvXULKFdOzmyuWmUbZbWOH5c9uevVU05cY/XvD9y/r11c5HCYvJKmrlyRXRJ//NF43dbYta2//gqkTatdfGRFZcrInXoLFgCZM8tjzZrJ9XJE9J4Q8s1eWJhsPdi6tVx7tWaN9kmsEMD27bLBQKVKwJYtxs/Plg1YvRrImVOb+MghMXklTcTOtpYqBZw8qX6eTgd89x1nW1MtJyegY0e5yaNPH2DKFGtHRGR7Fi8G9u6Nf+zyZaBlS3lJa9YsuYY8Jb19C/z5p/x89esDhw4ZP9/JSS4VuHoV+OyzlI2NHJ5OCMdeOR0cHAwfHx8EBQXBm/UhreLqVZmPGEtaAaBAAWD+fKBKFU3CIiKyP8+eyXWuL18aP8/FRV61aNMGaNwY8PJK/ud+8ULOrK5fL5sshIWZdr8KFWRCXapU8mMgh2VOvsYNW5RioqPlxNmQIcaXCOh0cpJt1KjUV4+biMgst2/LTlSJJa9RUbJb1bZtstRcjRpyaUGJEkDx4nK2QK1FbUIPHwLt2snZ1eho02NNnx4YPx74+mvb21RGdo0zr5Qirl+Xs62Jlb8qWFAucaxUSZOwiIjsX1SUbGAwapRMZpPCw0MmsO7ustJH06bq5756JTeSmcrXV1Yb6N0byJQpafFRqmNOvsa3QmRRMTFyc3jJksYTV50O6NtX1qNn4kpEZAYXFzk7cPUqMG8eEBBg/mO8ewdcugQEBia+PtbXF8iSJfHHzJ5ddpC5dw8YOZKJK6UYJq9kMXfvAjVryjX5xpZCFSgAHD4smxOwS1YqdfeueZcficiQq6ss+n/9ukxik9ov25TSXB98YHxs/nw5C/z995ZZX0tkBJNXSjYhgD/+kOUGDxxQPy92bev587JcFqVS4eFArVpA2bKyHhoRJU9sEnv8uKyvOmYMUKSI6fdPSvJatKjc0HDmjCzX1akT6zGTZrhhi5LlyRO5Fj+x0n758gELF7KSAEEW740tYF69uqzlOmmSbKVGRMmTN69cwzpwoFwWsGKF3Gh16RIQHKx8H1M2U5UoIWcdmjSRt/z5LRk1kVm4YYuSbP164JtvEl8u1bOn3HDKZgOEp0/lupE3b+Ifd3OTs0alS1snLiJHJ4Rci3rxInDhgvz32TO5fGfoUDYDIatjqSxKUcHBcl3rwoXGz8uVSy6DqllTk7DIHvz0k2HiCshZnZIlNQ+HKNXQ6eTGroAANgkgu8fklcxy+LAs93fvnvHzvvpK1njlZDfpnTsn380omTqVdSCJiMgkfLUgk0RGAoMHy/bVxhLXrFnl+tc//mDiSnEIIafrlVYptWnDemlERGQyzrxSom7dAtq2Tby9a7NmwO+/s7QfKVizRk7bJ+TpCUyYoH08RERkt2x65jU6OhpDhgxBnjx54OnpiXz58mHUqFFw8D1mNkMIYMkSuRTRWOLq5QUsWiTzEyauZODdO6BfP+Wxfv2AnDm1jYeIiOyaTc+8TpgwAbNmzcKiRYvw4YcfIjAwEJ06dYKPjw969+5t7fAcWlAQ0L07sHy58fOqVgUWLwZy59YmLrJDv/6qvNYke3agf3/t4yEiIrtm08nrsWPH0LhxYzRo0AAAEBAQgOXLl+PUqVNWjsyxBQYCrVsbb5nt6gqMHi1bvJpS35pSqWfPgLFjlccmTGD9NCIiMptNLxuoVKkS9u7di+vXrwMALly4gCNHjqBevXqq9wkPD0dwcHC8G5lGCDlJVqmS8cS1YEFZkrN/fyaulIjhw5ULo1eoAHzxhebhEBGR/bPpmdcBAwYgODgYH3zwAZydnREdHY0xY8agbdu2qvcZN24cRowYoWGUjuHVK9ldcMMG4+d16SKrGnHCjBJ15QowZ47y2JQpsu4kERGRmWx65nXVqlX4888/sWzZMpw9exaLFi3C5MmTsWjRItX7DBw4EEFBQfrb/fv3NYzYPp04AZQqZTxx9fWVG7LmzmXiSibq109270moZUuWxiIioiSz6fawOXPmxIABA9CjRw/9sdGjR2Pp0qW4evWqSY/B9rDqhACmTQN++AGIilI/r0oVYNkybgonM+zZA3z6qeFxNzc5I5s3r/YxERGRzTInX7Ppmde3b9/CKUHXHWdnZ8TExFgpIscREiKXHH73nXriqtMBgwYB+/czcSUzREfLnXxKevdm4kpERMli02teGzVqhDFjxiBXrlz48MMPce7cOUyZMgWdO3e2dmh27do12VDg77/Vz8mcGVi6FKhdW7u4yEEsWgRcvGh4PGNG4KeftI+HiIgcik0vG3jz5g2GDBmC9evX49mzZ/D390ebNm0wdOhQuLm5mfQYXDYQ37p1QMeOwJs36ufUqAH8+SeQLZtmYZGjCAmR5SgePzYcmzYN6NVL+5iIiMjmmZOv2XTyaglMXqXoaLkEYOJE9XN0OmDIEGDoUJbAoiTatAlo2hRIuLSnYEHg8mVZIJiIiCgBh1nzSpbx+jXQsKHxxNXXF9i6FRgxgokrJcNnnwHnzxuuN5k0iYkrERFZBJNXB3f9OlCxIrBjh/o5pUsDZ84ARno/EJmuWDFg505g+3bgww+B6tWBRo2sHRURETkIm96wRcmzc6ds8xoUpH5O587AjBmAh4d2cVEqUbcuUKsW8PIlGxIQEZHFcObVAQkhGxjVr6+euLq5yYYD8+YxcaUU5OIC+PlZOwoiInIgnHl1MBERQLduwIIF6udkywasXy/byxMRERHZEyavDuT1a6B5c2DfPvVzypaVbWCzZ9cqKiIiIiLL4bIBB3HvHlC5svHEtW1b4NAhJq5ERERkv5i8OoDAQLkEQK1jlk4HTJgALFkCeHpqGxs5sLAwYNYsuVaFiIhII0xe7dymTUC1asDTp8rj6dLJc/r354ZvsrBffwX+9z+gcGFg9Wq5U5CIiCiFMXm1Y7NmAU2aAG/fKo9nzw4cOSIbFBBZ1PPnwLhx8v+3bwOtWgGVKgFHj1o3LiIicnhMXu2QELIT1v/+pz7ZVbw4cOIEUKKEtrFRKjFqFBAcHP/YiRNAv36cgSUiohTFagN2JiYG+PZbYPp09XPq1gVWrgQSaQ1MlDQ3b8ppfyWTJ3N9ChERpSjOvNqRiAjgyy+NJ65duwKbNzNxpRQ0cCAQFWV4vFkzuXSAiIgoBXHm1U6Ehsoarjt3qp8zbhzw44+c+KIUdOIEsGaN4XEXF2D8eO3jISKiVIfJqx149Uq2ej1xQnncyUm2eu3cWdu4KJURQq5pVdKtG1CggLbxEBFRqsTk1ca9eAF8+ilw7pzyuLs7sGKFrDpAlKI2bpTlKxLy8gKGDtU+HiIiSpWYvNqwZ8+AWrWAS5eUx728ZA3X6tU1DYtSo8hIuSZFyYABQObM2sZDRESpFpNXG/XkCVCzpnrXrMyZgR07gNKltY2LUql584Dr1w2P+/sD332neThERJR6MXm1QY8eAZ98Aly7pjyeKxewZw+XGJJG3rwBhg1THhs1CkiTRtt4iIgoVWPyamPu35eJ682byuN58gD79wO5c2sbF6VikyfLNSwJFS0KdOigfTxERJSqMXm1IQ8fyvWrt28rjxcoAOzbB+TIoWlYlJo9fiyTVyUTJwLOztrGQ0REqR6bFNiIp0/lGle1xPWDD4ADB5i4ksaGDgXevjU8XrOmbOVGRESkMSavNiC2HJbaGteiRWXi6u+vaViU2v31FzB/vvLYxInshkFERFbB5NXKgoKAOnXUy2GVLCnXuGbJomlYRED//kBMjOHxtm1Z5oKIiKyGa16tKCREds46c0Z5vFgxWVUgY0Zt4yLCvn3Atm2Gx93dgTFjtI+HiIjoP5x5tZKwMOCzz4Bjx5THCxUCdu9m4kpWcuMG4OFheLx3b5a6ICIiq2LyagVRUUCrVnI5gJK8eYG9e7lUgKyoa1fZlKB9+/drWzNkAAYNsm5cRESU6jF51ZgQMi/YskV5PEcOmbhmz65tXEQGcuYEFi2S61pq1gSGDAHSp7d2VERElMpxzavGhg5V38CdJYtMXAMCNA2JyLhSpeQaFiGsHQkRERGTVy3NnAmMHq08ljGj3JxVsKC2MRGZRKdjaSwiIrIJXDagkXXrgJ49lcfSpAG2b5f1XImIiIhIHZNXDRw6BHzxhfJVVxcXYO1aoFw57eMiIiIisjdMXlPYX3/Jkljh4crj8+axyyYRERGRqZi8pqBnz4CGDWUXLSXjx8tKRERWdfgw8MMPwKtX1o6EiIgoUUxeU8i7d0DTpsDdu8rjvXvL7ptEVhUTA3z/PfDzz0D+/MBvvwGRkdaOioiISBWT1xQgBPD11+rds1q1An75hZu3yQYsXw4EBsr/v3wp31UVLarcGpaIiMgGMHlNAePGAUuXKo99/DGweDHgxO88WVtYGDBwoOHx69eBv//WPh4iIiITMIWysDVrgJ9+Uh7Lm1eWzHJ31zYmIkW//ALcv294PE8eoFcv7eMhIiIyAZNXCwoMVN+A5e0NbN4MZMqkbUxEip4+lZcIlIwfz3dYRERks5i8WsjDh0DjxvJKbELOzsCqVUCRItrHRaRo2DAgJMTw+EcfAS1bah8PERGRiZi8WkBoKNCoEfDokfL4r78CdepoGxORqr/+AubOVR77+WfuJCQiIpvG5NUCZs4Ezp1THuvZE+jRQ9t4iFQJIUtjxcQYjrVqJWdeiYiIbBiTVwv4/nugXz/D43XqyD0xRDZj2zZg1y7D425ucq0rERGRjWPyagHOzsDEibLVq4uLPFa4MLBy5fuPiawuIkK+01LSu7esMkBERGTjmLxaUOfOwJ49QKFCwJYtgI+PtSMiimPGDFnDNaHMmYHBg7WPh4iIKAk4L2hh1arJ/TDOztaOhCiO58+BESOUx8aM4TstIiKyG5x5TQFMXMnmDB0KBAUZHi9RQl4yICIishNMXokc3cWLwJw5ymO//sp3W0REZFeYvBI5MiGAPn2US2M1by7XuRAREdkRJq9EjmzTJmDfPsPj7u7ApEnax0NERJRMTF6JHFVEBNC3r/LY99+zNBYREdklJq9EjsrVFRg1CsiWLf7xrFmBgQOtExMREVEyMXklclQ6HdCmDXDtGvDDD+87ZowbB3h5WTc2IiKiJGLySuTovLzk+tYLF4BevYD27a0dERERUZKxSQFRalGkCDBtmrWjICIiShbOvBIRERGR3WDySkRERER2g8krEREREdkNJq9EjuL8eWtHQERElOKYvBI5goMHgVKlgCZNgDt3rB0NERFRimHySmTvIiOBHj3k/zdulFUFRowAwsKsGxcREVEKYPJKZO8mTwb++uv9x+/eAcOHA5UqATExVguLiIgoJTB5JbJnt24BI0cqj3XoADjxT5yIiBwLX9mI7JUQQLducqY1oeLF3y8lICIiciBMXons1Z9/Anv2GB7X6YC5cwFXV+1jIiIiSmFMXons0YsXQJ8+ymM9egDly2sbDxERkUaYvBLZo379gH//NTzu7w+MGaN9PERERBph8kpkbw4cABYsUB777TfA21vTcIiIiLTE5JXInrx7B3Ttqjz22WdA06baxkNERKQxJq9E9mTMGOD6dcPj6dIB06fLzVpEREQOjMkrkb04cwYYN055bPRoIGdObeMhIiKyAiavRPYgPBzo2BGIjjYcK1MG6NlT85CIiIisgckrkT0YORK4fNnwuIuLrOnq7Kx9TERERFbA5JXI1p0+DYwfrzz2009AqVLaxkNERGRFNp+8Pnz4EF9++SUyZswIT09PFCtWDIGBgdYOi0gb794BHToAMTGGYyVKAIMGaR8TERGRFblYOwBjXr16hcqVK6NGjRrYvn07MmfOjBs3bsDX19faoRFp4+efgStXDI+7uACLFgFubtrHREREZEU2nbxOmDABOXPmxII4Bdnz5MljxYiINNa7N/DgATB7dvzjQ4fKmVciIqJUxqaXDWzatAlly5ZFy5Yt4efnh1KlSmHu3LlG7xMeHo7g4OB4NyK75eUFzJoF7Nr1vhRW6dLAgAHWjYuIiMhKbDp5vX37NmbN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uSclJWnJkiUaMWKEmjVrpjZt2ig8PFwvvviizV35PzvnnpKSogULFmjbtm0yxignJ0cLFixQRUWFDh8+bEs//M99AampqcrLy1N2drZt+9iwYYPKy8v1l7/8RY888oiuvPJKjRw50rb9uYFdc6+srNSoUaM0c+ZMde3atV5fuyGw8/3erVs3devWrfr3/fv3V35+vubOnavFixfX+/7cws6ZV1VVyePxaMmSJQoPD5ckPfvss7rzzjuVlpYmr9db7/t0Cyc+2yXp1VdfVUREhIYNG2brftzCzrl//vnnmjhxoh5//HGlpKTo0KFDmjZtmsaPH6+FCxfW+/7cxM65/+53v1NxcbGuu+46GWMUFRWlu+++W7Nnz1ZAgD3HSDnyWocJEybovffe09q1axUTE1P9fJs2bXT69GkdO3asxvqSkhK1adOmes0Pv7F39vdn15zVqVMn9ejRQ7/5zW80efJk/f73v6//ZlzEzrmXlZUpJydHEyZMUGBgoAIDA/XEE0/os88+U2BgoLKysuxtzo859X7/vn79+mnv3r311IH72D3z6OhotWvXrjq4SlJcXJyMMTpw4IAdLbmCU+91Y4wWLVqksWPHqlmzZjZ04i52z33WrFlKSkrStGnT1LNnT6WkpCgtLU2LFi3SoUOHbOzMv9k9d6/Xq0WLFunbb79VYWGh9u/fr44dOyo0NFStWrWypynbzqZ1saqqKpOammratm1rdu/efc72syc5L1++vPq5L7/8staTnEtKSqrXpKenm7CwMHPy5Mnz7nvmzJmmQ4cO9deMizgx98rKSpObm1vjcf/995tu3bqZ3NzcGt/CbCx8+X5PTk5ulN8Edmrm6enpxuv1mrKysuo1K1asMAEBAebbb7+1qz2/5fR7/eyXFHNzc23qyB2cmvsdd9xh7rrrrhqvvWnTJiPJfPXVV3a05td8+dk+YMAAM3LkyHrspibCay3uv/9+Ex4ebtatW1fjciff/7AfP368ad++vcnKyjI5OTkmMTHRJCYmVm8/e3mJQYMGmR07dpgPP/zQtGrVqsblJV544QWzcuVKs3v3brN7926zYMECExoaaqZPn+5ov/7Cqbn/UGO/2oBTc587d65ZsWKF2bNnj8nNzTUTJ040AQEB5uOPP3a0X3/g1MzLyspMTEyMufPOO83OnTvN+vXrTZcuXcy4ceMc7ddfOP0ZM2bMGHPttdc60ps/c2ruGRkZJjAw0KSlpZn8/HyTnZ1t+vTpY/r16+dov/7Cqbnv2rXLLF682Ozevdts2bLFjBgxwrRs2dIUFBTY1hvhtRaSan1kZGRUrzlx4oR54IEHTIsWLUxISIgZPny4OXToUI3XKSwsNIMHDzZer9dcfvnl5sEHHzQVFRXV2+fNm2fi4+NNSEiICQsLM7179zZpaWmN8rqXxjg39x9q7OHVqbk//fTT5oorrjDBwcGmZcuWZuDAgSYrK8upNv2Kk+/1L774wiQnJxuv12tiYmLMlClTGuVRV2OcnfuxY8eM1+s1r7zyihOt+TUn5z5v3jxz1VVXGa/Xa6Kjo83o0aPNgQMHnGjT7zg1988//9z06tXLeL1eExYWZm6//Xbz5Zdf2tqb558NAgAAAH6PL2wBAADANQivAAAAcA3CKwAAAFyD8AoAAADXILwCAADANQivAAAAcA3CKwAAAFyD8AoAAADXILwCAADANQivAOAjxhglJycrJSXlnG1paWmKiIjQgQMHfFAZAPgvwisA+IjH41FGRoa2bNmi9PT06ucLCgr00EMP6Y9//KNiYmLqdZ8VFRX1+noA4DTCKwD4UGxsrJ5//nlNnTpVBQUFMsbo3nvv1aBBg9S7d28NHjxYzZs3V1RUlMaOHavDhw9X/9kPP/xQ119/vSIiIhQZGalbb71V+fn51dsLCwvl8Xj0xhtv6MYbb1RwcLCWLFniizYBoN54jDHG10UAQGM3bNgwHT9+XHfccYeefPJJ7dy5U/Hx8Ro3bpx++ctf6sSJE3r44Yd15swZZWVlSZIyMzPl8XjUs2dPlZeX6/HHH1dhYaF27NihgIAAFRYWqlOnTurYsaOeeeYZ9e7dW8HBwYqOjvZxtwBw6QivAOAHvv76a8XHx+vo0aPKzMxUXl6eNmzYoNWrV1evOXDggGJjY7Vr1y517dr1nNc4fPiwWrVqpdzcXCUkJFSH1+eee04TJ050sh0AsA2nDQCAH2jdurV++9vfKi4uTsOGDdNnn32mtWvXqnnz5tWP7t27S1L1qQF79uzRyJEj1blzZ4WFhaljx46SpP3799d47T59+jjaCwDYKdDXBQAALIGBgQoMtD6Wy8vLNXToUD399NPnrDv7Y/+hQ4eqQ4cOmj9/vtq2bauqqiolJCTo9OnTNdZfdtll9hcPAA4hvAKAH7rmmmuUmZmpjh07Vgfa7zty5Ih27dql+fPn64YbbpAkZWdnO10mADiO0wYAwA+lpqbq6NGjGjlypLZu3ar8/HytXr1a99xzjyorK9WiRQtFRkbqlVde0d69e5WVlaUpU6b4umwAsB3hFQD8UNu2bbVx40ZVVlZq0KBB6tGjhyZNmqSIiAgFBAQoICBAy5Yt07Zt25SQkKDJkydrzpw5vi4bAGzH1QYAAADgGhx5BQAAgGsQXgEAAOAahFcAAAC4BuEVAAAArkF4BQAAgGsQXgEAAOAahFcAAAC4BuEVAAAArkF4BQAAgGsQXgEAAOAahFcAAAC4xv8D4WuGJnocPZoAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "plot_gam(gam_full,\n", @@ -2369,7 +1066,7 @@ " ax=ax)\n", "ax.set_xlabel('Year')\n", "ax.set_ylabel('Effect on wage')\n", - "ax.set_title('Partial dependence of year on wage', fontsize=20)\n" + "ax.set_title('Partial dependence of year on wage', fontsize=20)" ] }, { @@ -2377,33 +1074,15 @@ "id": "5b373d5c", "metadata": {}, "source": [ - "Finally we plot `education`, which is categorical. The partial dependence plot is different, and more suitable for the set of fitted constants for each level of this variable. " + "Finally we plot `education`, which is categorical. The partial dependence plot is different, and more suitable for the set of fitted constants for each level of this variable." ] }, { "cell_type": "code", - "execution_count": 35, + "execution_count": null, "id": "bba4c757", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:50.065747Z", - "iopub.status.busy": "2023-07-25T23:59:50.064570Z", - "iopub.status.idle": "2023-07-25T23:59:50.193175Z", - "shell.execute_reply": "2023-07-25T23:59:50.192814Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAroAAALBCAYAAAC3GAIbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABqeUlEQVR4nO3dd3gU5f7+8TshlUASAgFCDUWk9xYIRYxUKYLlcMBDERUPNrCBIkVF7AUBRaWIClZEEQEB6VKDCBYQEQ4oCSAloaVAnt8f/DLfhOxusmGTJeP7dV17EaZ+ZnZ25t5np/gYY4wAAAAAm/H1dgEAAABAQSDoAgAAwJYIugAAALAlgi4AAABsiaALAAAAWyLoAgAAwJYIugAAALAlgi4AAABsiaALAAAAWyLowmMmTJggHx8f+fj4FNg8OnbsKB8fH3Xs2LHA5iFJBw4csJZlzpw5BTqvf5rVq1db63b16tXeLgf/38WLF/X666+rZcuWCg0Ntd6jPn36eLs0IJvCOg4UFXPmzLE+rwcOHPB2OVcdgm4hy3qQv/xVvHhxVa1aVX369NG8efN04cIFb5cL4B+if//+evDBB7V161adPn3a2+UAgEcQdK8i58+f18GDB/Xll19qwIABatOmjRITE71aE98UAfv7/vvv9emnn0qSevTooeXLl2vnzp3atWuXpkyZ4uXqgH8efvnyHIKuF91zzz3atWuX9dq4caPeeOMNRUdHS5K2bt2q3r17yxjj3ULzaMKECTLGFJl6AVyyYsUKSVKxYsU0b948xcXFqUGDBqpfv76qVKni5eoAuDJ48GDr2JuZH/B//LxdwD9Z2bJlVb9+/WzdWrdurQEDBqhly5b6/ffftWXLFn399dfq2bOnl6oEYHd//fWXJKlcuXIKDQ31cjUA4Dm06F6FSpUqpTFjxlj/X7p0qRerAWB3qampkiR/f38vVwIAnkXQvUq1bNnS+vt///uf9ffZs2f18ccfa9iwYWrcuLHCwsLk7++vyMhIdejQQS+99JLOnDnjctqZ5/1MmDBBkvTdd9/plltuUeXKleXv76/o6Gjr/KAhQ4ZY41WrVi3HBXRZzx3K7a4LaWlpWrRoke699161aNFCpUqVkr+/v0qXLq1WrVppwoQJ+vvvv/Oxttx38eJFTZ8+Xa1atVJoaKjCwsLUtGlTvfTSS9ZBP68WLlyoW265RVWqVFFQUJDCw8PVvHlzTZw4USdPnnQ63uDBg+Xj42P91PTXX39p1KhRqlWrlooXL67IyEj16NEjz190kpKSNHnyZLVt21aRkZEKCAhQVFSUevbsqc8++8zlKSWXbxNbt25V//79ValSJQUGBqpixYq6/fbb9euvv+Zax/nz5/Xss8+qUaNGCgkJUenSpdW2bVu98847ysjIyNOySJfeo/fee0833nijKlSooMDAQJUuXVqxsbF65ZVXdP78eafjXn5Vdua6rVmzpoKDg1W6dGl16dJFS5YsyVMtx44d01NPPaW2bduqbNmy8vf3V6lSpdSqVSs9+uij2rlzp9NxU1JSNHXqVF1//fUqX768AgICVLZsWcXFxWnmzJkeu+h0165duuuuu3TNNdeoePHiKlmypOrVq6eRI0c6Pb8+831/7733JF3a11z+Gc+rG2+8UT4+PmrdurXD/lnPOYyIiHC4LSQmJlrDvPXWW9n6ZWRk6LvvvtPDDz+stm3bqkyZMvL391d4eLgaN26shx9+WAcPHsxTrT/99JP+85//qFKlSgoKClKVKlU0cOBAbd++XVLOz6YziYmJeuKJJ9S8eXNFREQoMDBQlStX1q233mqdDuIJixYt0s0332x9HkuXLq2YmBg999xzLvf3l19jkZGRobfffltt2rRRqVKlFBISooYNG2rSpEk6d+6cR2r1xPa+adMm3XLLLSpfvryCgoJUrVo13XXXXdqzZ0+u4+b1uhJ37qzzzTffaODAgapevbpCQkKsmvr166c5c+Y4XHd//PGHXn75ZfXs2VPR0dEKDg5WcHCwqlatqttuu83pfj2zruuuu87qdt111+X4XGatOa/LfOzYMY0dO1ZNmjRReHi4goKCFB0drdtvv13r1693uQ6io6Pl4+OjwYMHS5L27NmjO++8U9HR0QoMDFS5cuV00003adOmTS6n4xUGhWrVqlVGkpFkxo8f73S43bt3W8N17drV6t6hQweru7NXtWrVzK+//up02lnn//jjj+cYv2rVqtnqdPVatWqVNd3x48db3R0ZNGhQrtMrXbq0Wb9+vdPaM5e/Q4cOTofJzenTp027du2c1tC0aVOzfft26/+zZ892OJ0TJ06YTp06uVyesmXLmo0bN7pcH1WrVjVbt241ZcuWdTqdUaNGuVymFStWmNKlS7uspXv37ub0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AaePTTTGmMTERPPOO+/k6H75AyPWrVuXY5iEhARTpUoVI116ktPl97hNSUmxniJWokQJl4/nNebSQxJWr16do3tetwlX63/KlCnWdO655x6H4995553Z1q2j+0NmfRrUyy+/7LKeP/74w8ybN8+tOrNytc0mJCRYD1rI7YERhw4dytEt877FxYoVMx9//LHLOnbu3Onyfr/OZH1gRKVKlRw+GGPHjh3Wg1gK8oERWd1www3WfXMz/738s5a5LyxZsqT14I7XX3/d4fRefvll632aP39+jv4XLlww/fv3z3XbatiwoZGcPzDi6NGjuT4wIjEx0VqfUVFRTp+ql+nrr7/O171psz4wonPnzg7ft5kzZ1rD5PbAiCt9HG5urnR7T01NtR6wU6pUKYcP2fj555+tbcrZ5zs9Pd1EREQY6dL92B3d6zjrvcmdLfOoUaOs/vfee6/TB0akpaVl2y///fff1vbctWtXh+N99dVX1j10pUuP1b3c//73P6t/bveVzu19bt68udH/v9fyihUrcvQ/deqU9RQ4X19fh/u6rI8AdsXT+xJPIOgWsisJulkfC1yhQgUzZcoUs2HDBrNhwwbz4osvmqioKOPj45PtkY6OuDP/5ORk64lGTZs2Nd9++63Zs2eP2bt3r9m7d685d+6cNayr0JD18aDh4eFm0qRJZs2aNWbz5s1m+vTp1iMd27ZtW6BB15j/+8IgXbqx/UcffWTi4+PNkiVLzG233WYkWTsGZzvBlJQU06pVK2uYRo0amalTp5r169ebH374wXz33XfmjTfeML179zYBAQGmWbNmOaaR9RHAVatWNUFBQWbMmDFm3bp1ZsuWLWbq1KnWzbddhb6NGzeawMBA6yAzYMAA8+mnn5pt27aZLVu2mC+//NKMGzfO2pE5esiFJ4Juenq69ejUzJ38woULrce0du7cOce6dRRGjh8/ni1stG/f3rz77rtm48aNZvv27Wb58uXmpZdeMnFxccbX19f069fPrTqzyu0hJ1kfARwcHGzuv/9+s2TJEvPDDz+YdevWmTfffNN069bNVK9ePce4v//+u3XAzfxi9cEHH5jNmzebbdu2mW+++cZMmjTJemjFQw895LJWZ7I+ArhcuXLm1VdfNZs3bzYbNmwwEydOtEKZo0cAZ/L0wenyL4s9evTIMcz58+et7Tbz5SwQHjp0yBo2KCjIPPbYY2bFihVm69atZs6cOdajp7PuPxxtW+vWrbOezJX5CODMz9v06dNN5cqVjb+/v/UEtejoaIf1fP7551aYCQoKMsOHDzdffvmliY+PN5s2bTKfffaZefTRR63tOLeHnziT+UjyzP3vBx98YLZt22aWL19u7rjjDrceAVzQQdcT2/tnn32W7TgxefJks3HjRvP999+bZ5991oSFhZmwsDBTs2ZNl5/vrA97adOmjVm4cKHZvn27WbJkiRk6dKjx9fW1nuTmbJkdPQL47bffNhs3bjTx8fHmyy+/NA8//LCpWLFijvF79OhhjRcXF2c+//xzax3ccccdplixYuaaa66xHp7jLDxmPhWzWrVq5ssvvzS7d++2jr3JycnWcO48AjggIMA89NBDZvXq1Wbr1q3m7bffzra/ze0RwARd5OpKgq4xxgwZMiTbgSHrq1ixYua1117L9eDt7vyztl5e/sp6MMltvpc/Wvfy10MPPZTrB9YTQTc5OTnbAfHyV5MmTUx8fHyuO/7k5GTTt29fl8uU+bruuutyjJ91h7B161ZTpkwZp+M7ekRtVhs3brRadnN7vffeeznGz+s2kdv6/+uvv8y1117rdN6dO3c2y5YtcxlGjLnUmtquXbs8Lc+QIUPcrjNTXp7mN2fOHBMcHOyyBmc79T179mR7yp6r18SJE13W6sqkSZOsAOfoFRgY6PB9z+Tpg1PWpyxJOZ/olynrE+wiIiJcPiJ81qxZLpfxtttuMytWrMh125ozZ47x9/d3OA0/Pz/zzjvvmNtvv91IMrVr13Zaz1dffZUt2Dl7+fr6mu+++86t9Zfp/Pnz5qabbnI5/QoVKpgffvjB4fiFGXSN8cz2/uKLL1oB/vJX8eLFzddff53r5/vs2bNWoHb06tixo/npp59yXeZjx46Z9u3b57osl49/8OBB65c4R68qVaqYn3/+OdfwmPlkzdzmmZf3edmyZdken+zoNWLECKe/ThJ0kWdXGnSNMeb999837dq1MyVLljSBgYGmatWq5vbbbzebN282xuR+8HZ3/hkZGeadd94x7dq1MxEREdl+cnEn6BpjzOLFi03nzp1NqVKlTEBAgKlUqZLp27ev+fbbb40xuX9gPRF0jbnU+vjGG2+YFi1amBIlSpiSJUuaxo0bm8mTJ5vz58+7teNft26dGTZsmLn22mtNyZIljZ+fn4mIiDAtWrQwI0aMMN98843DUyQu3yEcPHjQ3H///aZGjRomKCjIlC5d2nTt2tV88803eVqmlJQU89Zbb5kePXqYChUqmICAABMUFGQqV65sOnfubCZNmuTw50BjPBd0jTHm3Llz5plnnjH169c3wcHBJjw83LRu3dpMnz7dXLx40a1HW3799ddmwIABpnr16qZ48eLG39/fREZGmjZt2piHHnrI6akangy6xhhz+PBh88QTT5hmzZqZ8PBwU6xYMVOqVCnTunVr8/jjj5tff/3V6bgXLlww8+bNM/369TNVqlQxwcHBJiAgwERFRZmOHTuasWPHmvj4eJfzz4sff/zR3HnnnaZGjRomODjYhISEmDp16pgHHngg18d3e/rglJqaap1SIcls3brV4XBZ13+fPn1yne6GDRtMnz59TGRkpPH39zdRUVGma9eu1k/led22fvzxRzNgwADrc1KxYkVz6623Wqcz9O7d20g5H2V8uaSkJPPSSy+ZTp06mXLlyhl/f38THBxsqlWrZm688UbzyiuvuHx8b1599dVXpm/fvla9pUqVMq1atTKTJ082p0+fdjpeYQddYzyzvW/YsMH07dvXlC1b1jrGDR061Pzyyy/GmLzvhyZNmmQaNGhggoODTWhoqGnRooWZOnWquXDhglvLvGDBAnPzzTebSpUqmcDAQBMUFGSqV69ubrnlFvPhhx86PD3i77//No888oipVauWCQwMNGFhYaZRo0Zm/Pjx5sSJE8aYvIXHzz//3HTu3NmULVvW+Pn55TvoGnPp1JzHH3/cNG7c2ISGhprAwEBTpUoVM2DAAIenzmVVlIOujzGFcAM3ADkMHjxY7733nqpWreryKmIAhatmzZrat2+fBg4c6PLCNQBXP+66AADA/7d161bt27dPkqxboAEougi6AIB/jN9//91pv+PHj+vOO++UdOlev67ugwqgaODJaACAf4wbbrhB1apV00033aSGDRsqLCxMJ0+e1IYNGzR9+nTr/tpjx47N9oQsAEUTQRcA8I9hjNGqVau0atUqp8P897//1eOPP16IVQEoKARdAMA/xnvvvadFixZp7dq1SkhI0LFjx+Tn56fy5csrNjZWd911l9q0aePtMgF4CHddAAAAgC3RonuZjIwMHT58WCVLlnT4zHUAAAB4lzFGp0+fVoUKFeTr6/zeCgTd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UpEJum+++aYaNmyo0NBQhYaGKiYmRkuWLLH6p6SkaMSIESpdurRKlCihfv366ciRI16sGAAAAN5UZIJupUqV9Nxzzyk+Pl7btm1Tp06d1Lt3b/3888+SpJEjR2rRokX69NNPtWbNGh0+fFh9+/b1ctUAAADwFh9jjPF2EfkVERGhF198UTfffLMiIyM1b9483XzzzZKk3bt3q06dOtq4caNat26d52kmJycrLCxMSUlJCg0NLajSAQBAAYgevdjbJfwjHXiuR6HOL695rci06GZ18eJFffTRRzp79qxiYmIUHx+v9PR0xcXFWcPUrl1bVapU0caNG11OKzU1VcnJydleAAAAKPqKVNDdtWuXSpQoocDAQA0fPlxffPGF6tatq8TERAUEBCg8PDzb8OXKlVNiYqLLaU6ePFlhYWHWq3LlygW4BAAAACgsRSroXnvttdqxY4c2b96se+65R4MGDdIvv/xyRdMcM2aMkpKSrNehQ4c8VC0AAAC8yc/bBbgjICBANWvWlCQ1a9ZMW7du1euvv67bbrtNaWlpOnXqVLZW3SNHjqh8+fIupxkYGKjAwMCCLBsAAABeUKRadC+XkZGh1NRUNWvWTP7+/lq5cqXVb8+ePTp48KBiYmK8WCEAAAC8pci06I4ZM0bdunVTlSpVdPr0ac2bN0+rV6/WsmXLFBYWpjvuuEOjRo1SRESEQkNDdd999ykmJsatOy4AAADAPopM0D169Kj+85//KCEhQWFhYWrYsKGWLVumG264QZL06quvytfXV/369VNqaqq6dOmi6dOne7lqAAAAeEuRvo9uQeA+ugAAFF3cR9c7uI8uAAAAUIgIugAAALClInOOLgAAdpSQkKCEhIRCm19UVJSioqIKbX6ANxF0AQDwohkzZmjixImFNr/x48drwoQJhTY/wJsIugAAeNHdd9+tXr165Xn48+fPKzY2VpK0fv16BQcHuzU/WnPxT0LQBQDAi9w9leDs2bPW340bN1ZISEhBlAXYAhejAQAAwJYIugAAALAlgi4AAABsiaALAAAAWyLoAgAAwJYIugAAALAlgi4AAABsiaALAAAAWyLoAgAAwJYIugAAALAlgi4AAABsiaALAAAAWyLoAgAAwJYIugAAALAlgi4AAABsiaALAAAAWyLoAgAAwJb8vF0AAADeEj16sbdLcFtGWor1d50nl8o3IMiL1eTPged6eLsE/EPQogsAAABbIugCAADAlgi6AAAAsCWCLgAAAGyJoAsAAABbIugCAADAlgi6AAAAsKUrCropKSm5DwQAAAB4gdtBNyMjQ08//bQqVqyoEiVK6I8//pAkPfnkk5o5c6bHCwQAAADyw+2g+8wzz2jOnDl64YUXFBAQYHWvX7++3n33XY8WBwAAAOSX20F37ty5evvttzVgwAAVK1bM6t6oUSPt3r3bo8UBAAAA+eV20P3rr79Us2bNHN0zMjKUnp7ukaIAAACAK+V20K1bt67WrVuXo/tnn32mJk2aeKQoAAAA4Er5uTvCuHHjNGjQIP3111/KyMjQggULtGfPHs2dO1dff/11QdQIAAAAuM3tFt3evXtr0aJFWrFihUJCQjRu3Dj9+uuvWrRokW644YaCqBEAAABwm9stupLUrl07LV++3NO1AAAAAB7Dk9EAAABgS2636JYqVUo+Pj45uvv4+CgoKEg1a9bU4MGDNWTIEI8UCAAAAORHvi5GmzRpkrp166aWLVtKkrZs2aKlS5dqxIgR2r9/v+655x5duHBBd955p8cLBgAAAPLC7aC7fv16PfPMMxo+fHi27jNmzNC3336rzz//XA0bNtSUKVMIugAA5OLCmRO6eOZEnoc36WnW32lH/pCPf4CLoXMqViJCfiUi3BoHKKrcDrrLli3T888/n6P79ddfr4ceekiS1L17d40ePfrKqwMAwObO7FiipA3z8zXukXmPuj1OWNv+Co8dkK/5AUWN20E3IiJCixYt0siRI7N1X7RokSIiLn1DPHv2rEqWLOmZCgEAsLESjbspuGarQptfMVpz8Q/idtB98skndc8992jVqlXWObpbt27VN998o7feekuStHz5cnXo0MGzlQIAYEN+nEoAFBi3g+6dd96punXraurUqVqwYIEk6dprr9WaNWvUpk0bSbJOYQAAAAC8JV8PjGjbtq3atm3r6VoAAAAAj8lX0M2UkpKitLS0bN1CQ0OvqCAAAADAE9x+Mtq5c+d07733qmzZsgoJCVGpUqWyvQAAAICrgdtB95FHHtF3332nN998U4GBgXr33Xc1ceJEVahQQXPnzi2IGgEAAAC3uX3qwqJFizR37lx17NhRQ4YMUbt27VSzZk1VrVpVH374oQYM4N58AAAA8D63W3RPnDih6tWrS7p0Pu6JE5ee5hIbG6u1a9d6tjoAAAAgn9wOutWrV9f+/fslSbVr19Ynn3wi6VJLb3h4uEeLAwAAAPLL7aA7ZMgQ/fjjj5Kk0aNHa9q0aQoKCtLIkSP1yCOPeLxAAAAAID/cPkc366N/4+LitHv3bsXHx6tmzZpq2LChR4sDAAAA8svtoJuSkqKgoCDr/1WrVlXVqlU9WhQAAABwpdwOuuHh4WrZsqU6dOigjh07qk2bNgoODi6I2gAAAIB8c/sc3RUrVqhr167avHmzevfurVKlSik2NlZPPPGEli9fXhA1AgAAAG5zO+jGxsbq8ccf17fffqtTp05p1apVqlmzpl544QV17dq1IGoEAAAA3Ob2qQuS9Ntvv2n16tXWKzU1VTfeeKM6duzo4fIAAACA/HE76FasWFHnz59Xx44d1bFjRz322GNq2LChfHx8CqI+AAAAIF/cPnUhMjJS586dU2JiohITE3XkyBGdP3++IGoDAAAA8s3toLtjxw4lJiZq9OjRSk1N1eOPP64yZcqoTZs2euKJJwqiRgAAAMBt+TpHNzw8XL169VLbtm3Vpk0bffnll5o/f742b96sSZMmebpGAAAAwG1uB90FCxZYF6H98ssvioiIUGxsrF5++WV16NChIGoEAAAA3OZ20B0+fLjat2+vu+66Sx06dFCDBg0Koi4AAADgirgddI8ePVoQdQAAAAAe5fbFaAAAAEBRUGSC7uTJk9WiRQuVLFlSZcuWVZ8+fbRnz55sw6SkpGjEiBEqXbq0SpQooX79+unIkSNeqhgAAADeVGSC7po1azRixAht2rRJy5cvV3p6ujp37qyzZ89aw4wcOVKLFi3Sp59+qjVr1ujw4cPq27evF6sGAACAt+Tr9mLesHTp0mz/nzNnjsqWLav4+Hi1b99eSUlJmjlzpubNm6dOnTpJkmbPnq06depo06ZNat26tTfKBgAAgJcUmRbdyyUlJUmSIiIiJEnx8fFKT09XXFycNUzt2rVVpUoVbdy40el0UlNTlZycnO0FAACAos/tFt2zZ8/queee08qVK3X06FFlZGRk6//HH394rDhnMjIy9OCDD6pt27aqX7++JCkxMVEBAQEKDw/PNmy5cuWUmJjodFqTJ0/WxIkTC7JcAAAAeIHbQXfYsGFas2aNbr/9dkVFRcnHx6cg6nJpxIgR+umnn7R+/forntaYMWM0atQo6//JycmqXLnyFU8XAAAA3uV20F2yZIkWL16stm3bFkQ9ubr33nv19ddfa+3atapUqZLVvXz58kpLS9OpU6eyteoeOXJE5cuXdzq9wMBABQYGFmTJAAAA8AK3z9EtVaqUdV5sYTLG6N5779UXX3yh7777TtWqVcvWv1mzZvL399fKlSutbnv27NHBgwcVExNT2OUCAADAy9wOuk8//bTGjRunc+fOFUQ9To0YMUIffPCB5s2bp5IlSyoxMVGJiYk6f/68JCksLEx33HGHRo0apVWrVik+Pl5DhgxRTEwMd1wAAAD4B3L71IWXX35Z+/btU7ly5RQdHS1/f/9s/bdv3+6x4rJ68803JUkdO3bM1n327NkaPHiwJOnVV1+Vr6+v+vXrp9TUVHXp0kXTp08vkHoAAABwdXM76Pbp06cAysidMSbXYYKCgjRt2jRNmzatECoCAADA1cztoDt+/PiCqAMAAADwqHw/GS0+Pl6//vqrJKlevXpq0qSJx4oCAAAArpTbQffo0aP617/+pdWrV1u38Tp16pSuu+46ffTRR4qMjPR0jQAAAIDb3L7rwn333afTp0/r559/1okTJ3TixAn99NNPSk5O1v33318QNQIAAABuc7tFd+nSpVqxYoXq1Kljdatbt66mTZumzp07e7Q4AAAAIL/cbtHNyMjIcUsxSfL391dGRoZHigIAAACulNtBt1OnTnrggQd0+PBhq9tff/2lkSNH6vrrr/docQAAAEB+uR10p06dquTkZEVHR6tGjRqqUaOGqlWrpuTkZL3xxhsFUSMAAADgNrfP0a1cubK2b9+uFStWaPfu3ZKkOnXqKC4uzuPFAQAAAPmVr/vo+vj46IYbbtANN9zg6XoAAAAAj3D71AUAAACgKCDoAgAAwJYIugAAALAlgi4AAABsye2gW6xYMR09ejRH9+PHj6tYsWIeKQoAAAC4Um4HXWOMw+6pqakKCAi44oIAAAAAT8jz7cWmTJki6dKtxd59912VKFHC6nfx4kWtXbtWtWvX9nyFAAAAQD7kOei++uqrki616L711lvZTlMICAhQdHS03nrrLc9XCAAAAORDnoPu/v37JUnXXXedFixYoFKlShVYUQAAAMCVcvvJaKtWrSqIOgAAAACPcvtitH79+un555/P0f2FF17QLbfc4pGiAAAAgCvldtBdu3atunfvnqN7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+B8mIyNDhw8fVsmSJeXj4+Ptcq5qycnJqly5sg4dOqTQ0FBvlwMP4D21J95X++E9tR/eU/cYY3T69GlVqFBBvr7Oz8SlRfcyvr6+qlSpkrfLKFJCQ0P5UNoM76k98b7aD++p/fCe5p2rltxMXIwGAAAAWyLoAgAAwJYIusi3wMBAjR8/XoGBgd4uBR7Ce2pPvK/2w3tqP7ynBYOL0QAAAGBLtOgCAADAlgi6AAAAsCWCLgAAAGyJoFvE3H///YqOjpaPj4927NhRoPPy8fHRqVOnsnWLjo625rtr1y516tRJjRo1Uv369dWiRQv99NNPDqd15swZPfjgg6pZs6YaNGigRo0aaeDAgdq/f79Hai1TpowOHDjgkWldLVJSUtSnTx/VqlVLjRo10g033KDff/89T+MOHjxYr732WrZuEyZM0IMPPihJSk9P1/3336969eqpUaNGqlu3rl555RWn0/voo4/UokULXXPNNWrevLnatWunzz//PL+Lls3DDz+sCRMmeGRahaVz585q2LChGjdurHbt2umHH37I03hr1qxRTEyMGjdurLp166pt27Y6cuRIAVfr3Mcff6zmzZvr2muvVbNmzdSzZ0/t2rXL5TirV69W48aNJUkHDhxQeHh4wRfqJbNnz5aPj48WLlyY53GK4jpdvny52rdvr+rVq6t58+Zq2bKl3n77bY9Me+rUqRo8eLBHppUpOjpa1157rRo3bqzGjRvr448/zvO4xhhVq1ZN119/vcvhCqJuT7v55ps1Z84ch/18fHzUoEEDNWzYULVq1VL//v31yy+/FG6BVwkeGFHE3HzzzXr00UcVGxvrkemdO3dOPj4+Cg4Odnvc/v376+mnn9ZNN90kSTp06JDDq0WNMerevbvq1KmjXbt2KTg4WBkZGfrss8+0b98+VatWLdvwGRkZkuTySSf/FHfddZe6desmHx8fTZ06VcOGDdPq1auveLqvv/66Dh8+rB9//FF+fn5KSUnRvn37HA777rvv6qWXXtKCBQtUt25dSdKePXv01VdfORz+woUL8vOz967lk08+scLIF198ocGDB+vHH390Oc6FCxd00003acWKFWratKmkS+sxJCSkoMt1aPbs2Zo8ebIWLlxova/x8fE6fPiwGjRo4JWariYHDhzQO++8o9atW+d5nKK4Tr/99lsNHjxYn332mdq0aSNJ+vPPP/XOO+84HP5q+Xx//PHH1pcDd6xcuVLh4eHauXOn9u/fn+P4Yyfr1q1TeHi4MjIy9Pbbb6tt27bavn27x5b5atkWckOSKGLat29/xU9uu3Dhgr755hsNHDhQtWvX1l9//ZWv6fz555+qWLGi9f/KlSurbNmyOYZbuXKlDhw4oKlTp1qB2tfXV7feeqvi4uIkXWpt7Nevn7p06aL69esrISFBDz/8sFq0aKHGjRurffv22rNnjzXNr776SnXq1FHDhg316KOP5qv+q11QUJC6d+9uPYq6devWHmu1/vPPP1W2bFlrJxUUFKR69eo5HHbChAl67bXXrAO3JF177bV65JFHJP1fC9Rjjz2mpk2baurUqVq5cqViYmLUpEkT1atXTzNnzrTGTUhIUJcuXVS3bl3FxcXpzz//9MgyFaasLW5JSUl5elz46dOnlZycrPLly1vdrr32WpUoUUKS9PvvvysuLs5qKc7aiujj46NJkyapVatWio6O1sKFCzV58mQ1b95c11xzTbYvP8uWLVNsbKyaNWumli1batWqVQ7rGT9+fI73tVmzZurSpYs1naZNm6phw4bq0KFDnlqDtm7dqk6dOql58+Zq0qSJPv30U6vfjBkzVKtWLTVt2lRPP/10tnXmajxvyMjI0LBhw/TGG2+4daunorhOn3rqKY0bN84KuZJUqVIlTZw40fq/j4+Pxo8frxYtWmjMmDHatWuXYmNj1bRpU9WtW1fPPPOMNezp06d122236dprr1VsbGyurdmFbebMmbrzzjv173//W7NmzbK6u6q7Vq1a2rZtm/X/OXPmWA08r7zyinWcatGihTZu3GgNFx0drXHjxikmJkbVqlXLtp7++usv3XzzzVar65NPPmnVceedd6ply5Zq2LCh7rrrLqWlpUmSdu/erTZt2qhevXrq06ePkpOT87TMvr6+Gj58uLp06aLp06fnaT4xMTGqV6+e+vbtq86dO1stx4MHD9bQoUPVvn171a9fX5L0/vvvq1WrVmratKnat2+f7Uv/Sy+9pJYtW6pp06bq2rWr/ve//+WpZo8yKJKqVq1qfvjhhzwPn5GRYdatW2fuueceEx0dbf7973+br776yqSmpjodR5KpX7++adSokfXy9/e35vvSSy+Z4sWLm06dOpnHH3/cbN++3eF0nn/+edOrVy+X9Y0fP95ERUWZxMREq9vRo0etv+fPn2+6dOlijDHmyJEjJiIiwvz888/GGGNmzJhhJJn9+/fnZVUUWQMHDjT3339/noYdNGiQqVChQrb3rly5cuaBBx4wxhjz008/mUqVKpnatWubYcOGmfnz55sLFy7kmM6RI0eMJHPixAmn89q/f7+RZN577z2r24kTJ6zpHT9+3FSpUsUcOnTIGGPMzTffbMaOHWuMMebPP/80ZcqUMePHj8/Tcl1Nbr/9dlOpUiVTqVIls3PnzjyN88ADD5gSJUqYbt26maeeesrs2bPH6teyZUvz1ltvGWOM+e2330xERIQ5cOCAMebSZ/G1114zxhizYsUKExISYmbPnm2MMeaTTz4xzZs3N8YYs2/fPtO6dWuTlJRkjDFm7969pnz58iYlJSVbHbm9r5mfsczl+uCDD0ydOnVMRkaGWbVqlWnUqJEx5tJ7HxYWZowx5uTJk6Zx48bm8OHDxhhjjh07ZipXrmz+/PNPs2vXLlO+fHmTkJBgjDFm3LhxJvPw42o8b3nxxRfNuHHjjDHGdOjQwXzxxRe5jlNU12lwcLDTfXcmSWbixInW/5OTk61t6ty5c6Zx48Zm48aNxhhjHn74YXP77bebjIwMc+rUKVO7dm0zaNCg3FafW6pWrWoaNGhg6tevb4YOHZrtWOHK8ePHTXh4uDl58qT58ccfTaVKlczFixdzrXvSpElmxIgR1nTat29vvvrqK2NM9uPUxo0bzbXXXputzvvuu88Yc+k9CA0Ntd6Djh07mmeffdYaNnM6d955p7UvzcjIMHfccYd54YUXjDHGNG/e3Lz77rvGGGN27txpAgICrP3A5SSZkydPZuv2yiuvmG7duuVpPrNmzTLGGPPLL7+YwMBAaz6DBg0yDRs2NMnJycYYY9avX2+6detmbQ9r1641devWNcYY8+GHH5phw4ZZx4K5c+ea7t27O6y3IBF0iyh3g27v3r1NyZIlzZtvvmnOnTuXp3EcfVAun29iYqKZN2+eGT58uAkJCTEfffRRjulcHnTXrl1rGjVqZGrUqGGefPJJY8yloHvHHXdkG+/DDz80rVu3NvXq1TN16tQx5cqVM8YY8+WXX5qOHTtaw124cMEEBATYOuhOmjTJtG7d2pw9ezZPww8aNMi8+uqr2bqNHz/eCrrGGJOammpWrlxpnn76aVOrVi2HOyBHB++OHTua+vXrm1q1ahljLh2Y/f39rQOGMZcC1k033WTq1atnGjVqZEJCQsySJUuMMcaUKlXKCnDGGDN06NAiGXQzzZkzxzp45MWBAwfM7NmzzcCBA03x4sXNunXrTHJysvHz8zPp6enWcL169TLvv/++MebSZzEz0Jw6dcpIMufPn7emlxmMpk2bZsqUKZPtC06FChXMb7/9lq2G3ELZV199ZTp06JCtW1hYmDl06JDTULZ48WITGhqabd6VK1c2K1euNK+//roZPHiwNa1Dhw5ZoczVeN6wa9cu07p1a5OWlmaM8VzQvVrX6eVB99///rf1xTjzC5Mk64tq5rIOHDjQ1K9f3zRs2NCUKlXKvPnmm8YYY5o0aWJWr15tDfvUU095POj+73//M8YYk5aWZh599NE8f/6mTJli+vfvb/2/WbNm5ptvvjHGuK770KFDpkyZMiYlJcXs27fPlC9f3vqsLlu2zLRv397a10myjrFVq1a1vgAYY0zjxo3NunXrzOnTp42fn5/DhqbIyMhsDUy1atUyd911l0lKSjJ+fn7ZGiQ6derkVtB9+eWXrXXlznyuv/76bEH36aeftvo98sgjORpVypcvb86dO2duueUWEx0dbXWvX7++qV+/vsN6C9LVf3IFPOK5557T+++/r9dee02LFi1S//791bt3b5UsWfKKpluuXDn1799f/fv3V9WqVfXhhx/qtttuyzZMkyZNNHXqVKWnp8vf31/t2rXTjh07NGHChGwXu2X+hCtJBw8e1L333qutW7eqRo0a2rlzp9q3b++whrz8bFyUZZ4fu2LFChUvXtxj0w0ICFCnTp3UqVMnDRs2TFFRUTpx4oQiIiKsYcqWLauKFStqy5Yt1s+vq1at0oEDB7KdH1e8ePFs51QPHz5c3bt31+effy4fHx81bdpUKSkpDuso6u/foEGDNHz4cB0/flylS5fOdfiqVatq8ODBGjx4sEJCQvTJJ5+oUaNGOYa7fL0EBQVJkooVK5bj/xcuXJB06Xz4G264QfPmzXNZQ9myZVWpUiVt3LhR3bt3z30h88AYo3r16un777/P0e/yi1SzLpur8bxh3bp1OnDggK655hpJUmJiou666y4lJCTonnvucTpeUV2nTZo00ZYtW9SkSRNJ0ocffmhNL/N6CSn7/vnxxx9XmTJl9MMPP8jPz099+/Yt1M93lSpVJEn+/v568MEHVatWrTyNN3PmTCUmJio6OlrSpZ/vZ86cqW7duuUYNmvdlSpVUvPmzfXll1/q559/1sCBA+Xn56e0tDT17dtXq1atUosWLZScnKywsDClpqZap+llfk6l7J9VZ4wx+vzzz3Msk6PTFNxdt1u3brVON7iS+WTdFowxGjRokJ599tkc4xljNGbMGN11111u1elpnKP7D1G7dm1NmjRJu3fv1tixY7V582Y1aNBAN998s44ePZqvaX7xxRdKT0+XdOm83507d6pGjRo5houLi1PlypX1wAMP6Pz581b3s2fPOp12UlKS/P39FRUVJWOMpk6davWLiYnRzp07tXv3bknSrFmzrHOL7OaVV17R/PnztXz5co9eib127VolJCRY/4+Pj1dERITDeYwbN04jR4601rfk+r2TpJMnT6pq1ary8fHR2rVrs52zFRcXZ50bl5CQ4PSitqvVqVOndPjwYev/CxcuVOnSpbN9QXDkzJkzWrJkicz/fxjl+fPn9euvv6pGjRoqWbKkmjZtqtmzZ0u6dL7u+vXrnX65c6ZLly5asWKFdu7caXXbsmWLw2EnTJigUaNGZXtff/jhB3377bdq3bq1du3aZYWpjz76SBUrVsx2Tv7l2rRpo/3792vFihVWtx07digtLU3XXXedli1bZu1rsp6z7Wo8b7jnnnuUkJCgAwcO6MCBA2rdurXefvttlyE3U1Fcp08++aSeeuopbdq0yeqWl893pUqV5Ofnpz179mj58uVWv7i4OM2ePVvGGCUnJ2v+/Pkup+Wus2fPZmsgmT9/vhXSXYmPj9exY8d0+PBh673dt2+fli1bpmPHjuVa95AhQzRr1izNnTtXQ4cOlXTpzjhpaWlW8H7jjTfytAwlSpRQ+/bt9fLLL1vdjh07Jknq06ePnn/+eSsQnzx5Ur///rtCQ0PVpEkTzZ07V5L0888/a/369XmaX0ZGht555x0tXbrU2o5dzadRo0b64IMPJF26YNbVfHr16qUPPvhABw8etOaVeT5znz599NZbb+nEiROSLt3tJ693qPEkWnSLmLvvvluLFy9WYmKiunTpopIlS1q3nBo2bJh69eqlXr16uZxGTEyMYmJi9Nprr2nFihXWgdddCxYs0OjRoxUYGKiLFy+qZcuW2S5gyOTj46MlS5Zo7Nixql+/vkJCQlSyZElVr15dY8aMcTjtBg0a6F//+pfq1aun0qVLq0+fPla/yMhIzZo1SzfddJMCAgLUtWvXPLWkFTV//vmnHnroIVWvXl3XXXedpEvPQt+8ebOkSwG0QoUKGj58uNvTPnjwoB588EGlpKQoICBAJUqU0JdffunwThd33XWXQkJCNHDgQCUlJSkyMlJBQUGaNm2a0+k/99xz+u9//6unn35ajRs3VqtWrax+r7/+ugYPHqy6deuqYsWK6tSpk9v1e1NSUpJuueUWnT9/Xr6+voqMjNTXX39ttXo4+xwaY/TWW2/pgQceUHBwsNLT09W1a1eNGDFC0qWWtOHDh2vq1Kny8fHRu+++ax1A86pmzZqaN2+e7r77bp07d05paWlq0qSJwxbeO+64Q8HBwRowYIDOnDkjPz8/1ahRQ5MnT1ZkZKQ+/PBD/ec//9GFCxdUqlQpffrppy5bkEqVKqXFixfr4Ycf1kMPPaT09HRVqVJFCxcuVIMGDTR27Fi1bdtWJUuWVNeuXRUWFpbreFcjV5+7orhOu3btqpkzZ+qRRx7R4cOHFRkZqYCAAL3xxhtOf/EbO3asbr/9dr333nuqUaNGts/wk08+qWHDhql27dqKjIxUbGysUlNT3VzLzh05ckT9+vXTxYsXZYxR9erVrfAnOf/8zZw5U//617+y7ePCw8N1ww036P3338+17t69e+uee+7RNddcozp16kiSQkND9cwzz6hly5YqU6aM/vWvf+V5Od5//33dd999qlevnvz9/dW7d29NnDhRr776qkaPHq3GjRvL19dXfn5+euGFF1SzZk3NnTtXQ4YM0csvv6xrrrkm1y/C7dq1k4+Pj1JSUtS0aVNt2LDBuuNCbvMZOnSoXnzxRdWsWVMtWrRw2tDSrl07vfDCC7rpppt04cIFpaWlqUePHmrevLkGDBig48ePW8evCxcuaOjQoXn6YuJJPia/KQcAgDw6ffq0FZxef/11LV26VEuWLPFyVUUb6xQF4cyZMwoJCZGPj4/279+vmJgYbd26VZUrV/Z2aflCiy4AoMCNHj1aGzZsUHp6uipUqKAZM2Z4u6Qij3WKgvD9999bt4+8ePGiXn311SIbciVadAEAAGBTXIwGAAAAWyLoAgAAwJYIugAAALAlgi4AAABsiaALAAAAWyLoAsBVxsfH56p4YMLgwYOzPawFAIoagi4AFKDBgwfLx8cnx6tr167eLs1y4MAB+fj4aMeOHdm6v/7665ozZ45XagIAT+CBEQBQwLp27arZs2dn6xYYGOilavIu85GyAFBU0aILAAUsMDBQ5cuXz/YqVaqUJGnv3r1q3769goKCVLduXS1fvjzbuKtXr5aPj49OnTpldduxY4d8fHx04MABq9uGDRvUsWNHFS9eXKVKlVKXLl108uRJSdLSpUsVGxur8PBwlS5dWjfeeKP27dtnjVutWjVJUpMmTeTj46OOHTtKynnqQmpqqu6//36VLVtWQUFBio2N1datW3PUunLlSjVv3lzFixdXmzZttGfPHk+sRgBwG0EXALwkIyNDffv2VUBAgDZv3qy33npLjz32mNvT2bFjh66//nrVrVtXGzdu1Pr169WzZ09dvHhRknT27FmNGjVK27Zt08qVK+Xr66ubbrpJGRkZkqQtW7ZIklasWKGEhAQtWLDA4XweffRRff7553rvvfe0fft21axZU126dNGJEyeyDffEE0/o5Zdf1rZt2+Tn56ehQ4e6vUwA4AmcugAABezrr79WiRIlsnV7/PHH1bx5c+3evVvLli1ThQoVJEnPPvusunXr5tb0X3jhBTVv3lzTp0+3utWrV8/6u1+/ftmGnzVrliIjI/XLL7+ofv36ioyMlCSVLl1a5cuXdziPs2fP6s0339ScOXOs+t555x0tX75cM2fO1COPPGINO2nSJHXo0EGSNHr0aPXo0UMpKSkKCgpya7kA4ErRogsABey6667Tjh07sr2GDx+uX3/9VZUrV7ZCriTFxMS4Pf3MFl1n9u7dq/79+6t69eoKDQ1VdHS0JOngwYN5nse+ffuUnp6utm3bWt38/f3VsmVL/frrr9mGbdiwofV3VFSUJOno0aN5nhcAeAotugBQwEJCQlSzZs18jevre6k9whhjdUtPT882THBwsMtp9OzZU1WrVtU777yjChUqKCMjQ/Xr11daWlq+asqNv7+/9bePj48kWadJAEBhokUXALykTp06OnTokBISEqxumzZtyjZM5mkFWYe5/DZgDRs21MqVKx3O4/jx49qzZ4/Gjh2r66+/XnXq1LEuUssUEBAgSdY5vY7UqFFDAQEB2rBhg9UtPT1dW7duVd26dV0sJQB4Dy26AFDAUlNTlZiYmK2bn5+f4uLiVKtWLQ0aNEgvvviikpOT9cQTT2QbrmbNmqpcubImTJigSZMm6bffftPLL7+cbZgxY8aoQYMG+u9//6vhw4crICBAq1at0i233KKIiAiVLl1ab7/9tqKionTw4EGNHj062/hly5ZVcHCwli5dqkqVKikoKCjHrcVCQkJ0zz336JFHHlFERISqVKmiF154QefOndMdd9zhwbUFAJ5Diy4AFLClS5cqKioq2ys2Nla+vr764osvdP78ebVs2VLDhg3TpEmTso3r7++v+fPna/fu3WrYsKGef/55PfPMM9mGqVWrlr799lv9+OOPatmypWJiYvTll1/Kz89Pvr6++uijjxQfH6/69etr5MiRevHFF7ON7+fnpylTpmjGjBmqUKGCevfu7XA5nnvuOfXr10+33367mjZtqt9//13Lli2zbpUGAFcbH5P1xC8AAADAJmjRBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADYEkEXAAAAtkTQBQAAgC0RdAEAAGBLBF0AAADY0v8DaaNSfzeUZowAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax = plot_gam(gam_full, 2)\n", @@ -2411,7 +1090,7 @@ "ax.set_ylabel('Effect on wage')\n", "ax.set_title('Partial dependence of wage on education',\n", " fontsize=20);\n", - "ax.set_xticklabels(Wage['education'].cat.categories, fontsize=8);\n" + "ax.set_xticklabels(Wage['education'].cat.categories, fontsize=8);" ] }, { @@ -2429,37 +1108,17 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": null, "id": "32368085", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:50.195157Z", - "iopub.status.busy": "2023-07-25T23:59:50.195021Z", - "iopub.status.idle": "2023-07-25T23:59:50.248546Z", - "shell.execute_reply": "2023-07-25T23:59:50.247091Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "LinearGAM(callbacks=[Deviance(), Diffs()], fit_intercept=True, \n", - " max_iter=100, scale=None, terms=s(0) + l(1) + f(2) + intercept, \n", - " tol=0.0001, verbose=False)" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "gam_0 = LinearGAM(age_term + f_gam(2, lam=0))\n", "gam_0.fit(Xgam, y)\n", "gam_linear = LinearGAM(age_term +\n", " l_gam(1, lam=0) +\n", " f_gam(2, lam=0))\n", - "gam_linear.fit(Xgam, y)\n" + "gam_linear.fit(Xgam, y)" ] }, { @@ -2476,93 +1135,12 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": null, "id": "e7ba9957", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:50.254777Z", - "iopub.status.busy": "2023-07-25T23:59:50.254341Z", - "iopub.status.idle": "2023-07-25T23:59:50.273076Z", - "shell.execute_reply": "2023-07-25T23:59:50.272340Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
deviancedfdeviance_diffdf_diffFpvalue
03.714362e+062991.004005NaNNaNNaNNaN
13.696746e+062990.00519017616.5428400.99881514.2651310.002314
23.693143e+062987.0072543602.8936552.9979360.9720070.435579
\n", - "
" - ], - "text/plain": [ - " deviance df deviance_diff df_diff F pvalue\n", - "0 3.714362e+06 2991.004005 NaN NaN NaN NaN\n", - "1 3.696746e+06 2990.005190 17616.542840 0.998815 14.265131 0.002314\n", - "2 3.693143e+06 2987.007254 3602.893655 2.997936 0.972007 0.435579" - ] - }, - "execution_count": 37, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "anova_gam(gam_0, gam_linear, gam_full)\n" + "metadata": {}, + "outputs": [], + "source": [ + "anova_gam(gam_0, gam_linear, gam_full)" ] }, { @@ -2584,95 +1162,10 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": null, "id": "ffc0099a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:50.279669Z", - "iopub.status.busy": "2023-07-25T23:59:50.279267Z", - "iopub.status.idle": "2023-07-25T23:59:50.327162Z", - "shell.execute_reply": "2023-07-25T23:59:50.326222Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
deviancedfdeviance_diffdf_diffFpvalue
03.975443e+062991.000589NaNNaNNaNNaN
13.850247e+062990.000704125196.1373170.999884101.2701061.681120e-07
23.693143e+062987.007254157103.9783022.99345042.4478125.669414e-07
\n", - "
" - ], - "text/plain": [ - " deviance df deviance_diff df_diff F \\\n", - "0 3.975443e+06 2991.000589 NaN NaN NaN \n", - "1 3.850247e+06 2990.000704 125196.137317 0.999884 101.270106 \n", - "2 3.693143e+06 2987.007254 157103.978302 2.993450 42.447812 \n", - "\n", - " pvalue \n", - "0 NaN \n", - "1 1.681120e-07 \n", - "2 5.669414e-07 " - ] - }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "gam_0 = LinearGAM(year_term +\n", " f_gam(2, lam=0))\n", @@ -2694,65 +1187,12 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": null, "id": "08026a6b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:50.332475Z", - "iopub.status.busy": "2023-07-25T23:59:50.332022Z", - "iopub.status.idle": "2023-07-25T23:59:50.342074Z", - "shell.execute_reply": "2023-07-25T23:59:50.339526Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "LinearGAM \n", - "=============================================== ==========================================================\n", - "Distribution: NormalDist Effective DoF: 12.9927\n", - "Link Function: IdentityLink Log Likelihood: -24117.907\n", - "Number of Samples: 3000 AIC: 48263.7995\n", - " AICc: 48263.94\n", - " GCV: 1246.1129\n", - " Scale: 1236.4024\n", - " Pseudo R-Squared: 0.2928\n", - "==========================================================================================================\n", - "Feature Function Lambda Rank EDoF P > x Sig. Code \n", - "================================= ==================== ============ ============ ============ ============\n", - "s(0) [465.0491] 20 5.1 1.11e-16 *** \n", - "s(1) [2.1564] 7 4.0 8.10e-03 ** \n", - "f(2) [0] 5 4.0 1.11e-16 *** \n", - "intercept 1 0.0 1.11e-16 *** \n", - "==========================================================================================================\n", - "Significance codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n", - "\n", - "WARNING: Fitting splines and a linear function to a feature introduces a model identifiability problem\n", - " which can cause p-values to appear significant when they are not.\n", - "\n", - "WARNING: p-values calculated in this manner behave correctly for un-penalized models or models with\n", - " known smoothing parameters, but when smoothing parameters have been estimated, the p-values\n", - " are typically lower than they should be, meaning that the tests reject the null too readily.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/16/8y65_zv174qgdp4ktlmpv12h0000gq/T/ipykernel_33473/2135516388.py:1: UserWarning: KNOWN BUG: p-values computed in this summary are likely much smaller than they should be. \n", - " \n", - "Please do not make inferences based on these values! \n", - "\n", - "Collaborate on a solution, and stay up to date at: \n", - "github.com/dswah/pyGAM/issues/163 \n", - "\n", - " gam_full.summary()\n" - ] - } - ], - "source": [ - "gam_full.summary()\n" + "metadata": {}, + "outputs": [], + "source": [ + "gam_full.summary()" ] }, { @@ -2767,19 +1207,12 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": null, "id": "9191d615", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:50.348263Z", - "iopub.status.busy": "2023-07-25T23:59:50.347814Z", - "iopub.status.idle": "2023-07-25T23:59:50.369772Z", - "shell.execute_reply": "2023-07-25T23:59:50.368479Z" - } - }, + "metadata": {}, "outputs": [], "source": [ - "Yhat = gam_full.predict(Xgam)\n" + "Yhat = gam_full.predict(Xgam)" ] }, { @@ -2793,63 +1226,23 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": null, "id": "92007a5f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:50.375102Z", - "iopub.status.busy": "2023-07-25T23:59:50.374536Z", - "iopub.status.idle": "2023-07-25T23:59:50.481702Z", - "shell.execute_reply": "2023-07-25T23:59:50.479739Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "LogisticGAM(callbacks=[Deviance(), Diffs(), Accuracy()], \n", - " fit_intercept=True, max_iter=100, \n", - " terms=s(0) + l(1) + f(2) + intercept, tol=0.0001, verbose=False)" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "gam_logit = LogisticGAM(age_term + \n", " l_gam(1, lam=0) +\n", " f_gam(2, lam=0))\n", - "gam_logit.fit(Xgam, high_earn)\n" + "gam_logit.fit(Xgam, high_earn)" ] }, { "cell_type": "code", - "execution_count": 42, + "execution_count": null, "id": "4dd6aa2f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:50.491174Z", - "iopub.status.busy": "2023-07-25T23:59:50.490770Z", - "iopub.status.idle": "2023-07-25T23:59:50.634371Z", - "shell.execute_reply": "2023-07-25T23:59:50.633430Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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O+8YDw8Pl+MoUKCAWbFiRYZ1HD161FSqVCnDGqKjo83ChQtdbj+p/fXXX6ZGjRq281OuXDmzZ88el8On3k5Wr15tihYtmuF4JkyYYLtsP/vsM+Pn52dbS8mSJV0Ou3XrVlOyZEnbYevVq2diY2Nta7ial19+2eTLly/DaXh7e5sZM2akGy4z7/HMGj9+vJFkPDw8XG5no0ePTjPeLVu2pGvz1VdfWf2v3Iel3r9k9CpQoICZNWuWbZ2ffvqp8fT0dDm8p6enmT59epr3ZkYys1306NHDJCcnZ2r5uXL+/Hlz77332k4jPDzc5bI0xpiPP/7Yardz505z2223ZTie+vXrm7Nnz15zrcZkzfb+xhtvZLgt+/n5mXnz5tl+DqSe5/3792c4nf3791vtMtrH//PPP7bLLKPh//zzz0y9tx599NF020fqujI7zczM88KFC42/v7/tOPv27WsuXbrkcnjneu3SpYuZNWuWKVCggMtx5M+f33z11VcZLvecQGDOozIbmL/55hurXffu3a3ujRs3NtWqVTPPPfec+f777826devM2rVrzcyZM81DDz1k7WgqVKhgzp8/73LczvFWq1bN+nfatGlm/fr1ZsWKFWbixInm7NmzZvv27eall16y2i9cuNBs3749zSv1DvZqgblTp06mTJkyZtCgQWbmzJkmJibGbNiwwXz77bemd+/exsvLy0gywcHB5tixYy7HkRWB+Z577knzIfHll1+ajRs3mnnz5pn777/f2qnb7UwvXLhgateube0gOnfubL788kuzdu1as2rVKjN27FgrwBYuXNgcOHAg3TicH8rBwcGmVKlSxtvb2wwdOtSsXLnSrFu3zkyaNMmEhYVZdbz11lsu52f16tVWAAgNDTUvvfSSmTNnjtm0aZOZM2eOefTRR61xdOjQweU4nP0bNmxo8uXLZ2rUqGGmTZtmNmzYYFauXGkGDBhgbVslSpQwiYmJ6caRnJxs6tSpY42rdevW5vvvvzcbN240s2bNMlFRUemWravA/M8//5iIiAgjXQ56/fr1M998843ZsGGDWbZsmRk2bJi1sy5Tpow5ffp0unE4t5Py5cubokWLmpCQEPPKK6+Y1atXm/Xr15s33njDBAYGGulywNuxY4fL5fLJJ59Ytfr4+Jgnn3zS/PTTT2bz5s1m5cqVZvLkyaZ169amdOnS6Ybdu3evCQgIMJKMv7+/GTZsmLU8Fi5caPr27Wt9MWnQoIFJSkpyWcPVvPPOO1aNwcHB5rXXXjMxMTFm9erVZvTo0VaoczgcZt68eWmGdb6Pne+J8PDwdO/xzFq/fr1Vx/z589P1b9GiRZoP1jfffDNdm969e1vb8ZWee+45ExYWZv73v/+ZTz/91KxZs8Zs2rTJzJ492wwZMsQULFjQWk+//fabyxrXrFlj8ufPb6TL4XrEiBHW++2dd94xxYsXN15eXqZWrVpGyjgwz5w50zgcDmsbfOONN8yCBQvMpk2bzHfffWfatm1rzeeAAQMyvQyv9MADD1jjqVGjhvnkk0/Mhg0bzMKFC023bt2sGoKCgszff/+dbvjUQapRo0YmX758pkuXLmbevHlm06ZN5vvvvzeRkZFWm6FDh15zrVmxvc+aNcuqJSAgwLz88svml19+Mb/88ot56aWXjL+/vwkMDDS33nprtgfmhIQE6zNSkqlTp455//33zZo1a8zGjRvN999/bwYMGGDCw8PTDb93717j5eVl7rrrLjNp0iSzePFis3nzZrN48WLz7rvvmipVqljjHTlyZJphk5KSzPbt2820adOsNtOmTUv3vjx16lSm53nLli3W56unp6cZMGCAWbZsmVm/fr15//33TenSpa3hhwwZ4nJ5OQNz7dq1jY+PjyldurSZPHmyWbt2rYmJiTGjR482Pj4+1vo/fvx4hsv+eiMw51GZCczJycmmYcOGVrtPPvnE6vf777/bjn/RokVWsPnwww9dtkn9oXXbbbeZCxcuZDi+zO58jLl6YP7jjz9MSkpKhsNv27bN+tAbMWKEyzb/NTDPnTvXqrFt27Yuj/6MGTMmw2/yTs4j84GBgWbjxo0up3XgwAEr8D7yyCPp+qc+4u7p6enyyO3hw4dN8eLFjXT56MqVO6GkpCRTqlQpI13+JSIhIcFlLVOnTrWm9fPPP6frn3p+27Zt6zIQp/7y5Ooo3uTJk63+vXr1cllH9+7d00zLVWB+5JFHrLDy559/uhzP5s2brSA4fPjwdP1T/xJTsmRJl2Fi1apVVuB46qmn0vU/cuSIFcxDQkJsw+PBgwfTdWvUqJGRZGrVqmVOnDjhcrj58+db79epU6dmOP6MHD9+3KoxPDzcZR2pl9Utt9ziMqhk5ojq1Vy8eNEUKlTISDLPPvtsmn4XLlywPkzvuusuI8ncc8896cbh/HXigQceSNdv//79tl8qDh06ZG655RYjXT5y50rNmjWtL2Jr165N1//YsWOmTJkyabadK504ccIKht27d8/wCLJzH5EvXz6ze/fuDOvOSOp91W233ebyPZn6fe1qmaXef0syn376abo2Fy5cMFWrVjXS5V/4rvWI+H/d3hMTE014eLgVll196dm+fXuao6TZGZgHDBhg9e/bt2+Gn12JiYnpjpifPXvWHDlyJMNpp6SkmK5du1r7dVdf+lNnhYx+iXO62jw7D1Lkz5/fLFy4MF3/kydPmsqVK1vbq6sDCKl/OahTp46Ji4tL1+azzz6z2rzxxhu2NV9PBOY8yi4wnz171ixfvjzNkZiSJUvaBlpX2rdvbySZO++802V/57jz5ct31RCclYE5M/r3728kmapVq7rs/18Ds/PIj7e3tzl8+LDLNpcuXbI+QFztTM+cOWN9YL799tu203v33XetQHzlz52pA3O/fv0yHMfMmTOtdleePuA8Aurj43PVb/T169fPMLw7x+/j45Ph0f34+HjrKIWro2bOHW5oaGiGwf3MmTMmODg4ww+C/fv3W0cA58yZYzs/Q4YMsYLilVIH5h9//DHDcTi/mNaqVStdv2HDhlnjmD17tm0tV1q5cqU17LZt22zbOo8iNmrUyK1pGGPMq6++ak3H7mfQ1F92vv7663T9syIwG2PMHXfcYaTLRxBTW7FihRWEli5daqTLv7yk/vn32LFjVo3vvPPONU3/rbfeMtLlI1xXBpy1a9da4x88eHCG4/jhhx9sA/MLL7xgffmw2zcnJydbAd7Vl7qrcS5LT09Pl1+EnJy/3Hh4eKQLaan33xn9umSMMVOmTLHa/frrr27XmhXb+9dff22N47XXXstw+NTbfHYF5lOnTllfROvUqWMuXrxoO0/X4t9//7X2dd9++226/lkVmNetW2f16927d4bjWL16tdXuf//7X7r+qQNzRttISkqK9aXn3nvvta35euKivxvAmDFj0pzEX7BgQbVo0cK6kC4kJESzZ8+Wt7d3huM4ceKE9u7dqx07dliv4OBgSdKvv/5qO/3GjRvn6D0bT506pX379mnnzp1W7YGBgZKk3377TcnJyVk6vUuXLlnLtnXr1goPD3fZLl++fOrSpUuG41mxYoXi4uIkSR07drSdZrNmzSRJycnJ2rRpU4btUl9ceaV7773XWi5XXkj0448/SpKaN29urfer1RITE5Nhm9tvv10hISEu+xUqVEi33nqrpMsXtKR29OhR/fbbb5KkBx54QAUKFHA5joIFC+qBBx7IcPrz5s3TpUuXVKBAAd1xxx0Zz4z+b36OHDmS4cVegYGBateuXYbjqFOnjqT08yNJc+fOlSSVKVNGd999t20tV3KulwoVKqhatWq2bZ3zsWHDBrcvAHRuD4GBgerQoUOG7Xr27JlumOzQvHlzSdKmTZvSXIy2YsUKSVKTJk3UqFEj+fr66tSpU2kulnS2kZSpRx7Hx8dr//79afYfzu3O2S+11PPduXPnDMfbrl07FSlSJMP+znV755132u6bPTw8FBkZKcn+PefKxYsXreXRunVrRUREZNj28ccft4axe8BFp06dMuznfB9Irt8LV5MV27tz/TgcDtv9b7du3dy6GPVaLF261LqQ76mnnlL+/Pn/0/iSk5P1999/a9euXda2euTIEWs7u9pn9X+Rervv0aNHhu0aN26sSpUqpRvmStWqVVP16tVd9nM4HKpVq5aka9uOsgv3Yb6BlS5dWh07dtTgwYNdhpc1a9Zo0qRJWrx4sU6ePJnheK52x4mMNvrstH37dr355puaP3++7VMMU1JSdOrUqQzD27XYt2+ftROsV6+ebdvUdym50saNG63/h4WFZXr6Gc2vl5eXatSokeFwnp6eqlWrlpYtW6bt27e7rGXhwoWZ/hCxW+4VK1a0HTYoKEiS0j06OXVdmVm277zzjst+zvk5d+6cPDwyv5uLjY11+YCNW2+9VfnyZXx8IaP5SU5O1o4dOyRdDnnufkA752PPnj2ZHjY5OVknT550a5t31li7dm3bW8KFhoaqVKlSOnDggDVMdnAG3YsXL2r16tVq06aNJFlBrkWLFvL29lbDhg21bNkyLV++XDVr1kzTJjg4WJUrV3Y5/r/++kuvvfaa5syZk+buQa78888/KlOmjPW3c769vb1VpUqVDIfLnz+/atasqSVLlqTrd+nSJW3dulWS9P777+v999+3rcHJ3Se2/vnnn9a+qkGDBrZtU/e3W7d2723n+0BK/17IjKzY3p37kNKlS6to0aIZDhccHKxSpUql+0KUlbZs2WL9v2nTptc0juTkZE2dOlWffvqptmzZoqSkpAzbZufdoZzbhJeXl/Ve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YIPADAAAANggMAMAAAA2CMwAAACADQIzAAAAYIPADAAAANggMAMAAAA2CMwAAACADQIzAAAAYMMjpwsAAAD/zdGjR3X06NHrNr2wsDCFhYVdt+ndrFivuQeBGYAtdtg3Htbpjef999/XmDFjrtv0Ro0apdGjR1+36d2sWK+5B4EZgC122Dce1umN54knntDdd9+d6fbnz59XkyZNJEmrV6+Wr6+vW9PjC9D1wXrNPRzGGJPTRdxo4uPjFRAQoLi4OPn7++d0OblWQkKCChYsKEk6e/as/Pz8crgiuOLu0cis2GGz085erFOw/70xsV7d405e4wgzAFvuhp2EhATr/zVr1mSHnQuxTgHAPdwlAwAAALBBYAYAAABsEJgBAAAAGwRmAAAAwMZ/CswXLlzIqjoAAACAXMntwJySkqIXX3xRt9xyiwoWLKg///xTkvT888/ro48+yvICAQAAgJzkdmB+6aWXNH36dI0fP15eXl5W96pVq+rDDz/M0uIAAACAnOZ2YP7kk080depUderUSfnz57e616hRQ7t3787S4gAAAICc5nZgPnz4sMqVK5eue0pKipKTk7OkKAAAACC3cDswV65cWatWrUrX/dtvv1WtWrWypCgAAAAgt3D70dgjR45Uly5ddPjwYaWkpGjWrFnas2ePPvnkE82dOzc7agQAAAByjNtHmO+55x7NmTNHixcvlp+fn0aOHKldu3Zpzpw5uv3227OjRgAAACDHuH2EWZKaNm2qRYsWZXUtAAAAQK7Dk/4AAAAAG24fYS5cuLAcDke67g6HQz4+PipXrpy6du2qbt26ZUmBAAAAQE66pov+xo4dqzvuuEP169eXJK1fv14LFixQ3759tX//fvXp00cXL17U448/nuUFAwAAANeT24F59erVeumll9S7d+803d9//339/PPP+u6771S9enVNmjSJwAwAAIA8z+1zmBcuXKioqKh03W+77TYtXLhQktS2bVv9+eef/706AAAAIIe5HZiDgoI0Z86cdN3nzJmjoKAgSVJCQoIKFSr036sDAAAAcpjbp2Q8//zz6tOnj5YtW2adw7xhwwb99NNPmjJliiRp0aJFat68edZWCgAAAOQAtwPz448/rsqVK2vy5MmaNWuWJKlChQpasWKFGjVqJEkaNGhQ1lYJAAAA5JBrenBJ48aN1bhx46yuBQAAAMh1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WbNmLmvIzM/heZXz/OHFixerQIECWTZeLy8vtWrVSq1atVLPnj0VFhamkydPKigoyGoTEhKiW265RevXr7d+Vl62bJkOHDiQ5vzBAgUKpDnfvHfv3mrbtq2+++47ORwO1a5dWxcuXHBZx42w7rp06aLevXvr33//VZEiRa7avmTJkuratau6du0qPz8/ff3116pRo0a6dlcuGx8fH0lS/vz50/198eJFSZevF7j99tv1xRdf2NYQEhKi4sWLKyYmRm3btr36TGaCMUZVqlTRL7/8kq7flRcDp543u+Gut1WrVunAgQO69dZbJUmxsbHq1auXjh49qj59+mQ4XF5dnrVq1dL69etVq1YtSdLnn39ujc95LYmUdt88fPhwFS1aVFu2bJGHh4c6dOhwXd/fJUqUkCR5enqqf//+Kl++fKaG++ijjxQbG6tSpUpJunxawkcffaQ77rgjXdvUdRcvXlx169bVDz/8oJ07d+rRRx+Vh4eHkpKS1KFDBy1btkz16tVTfHy8AgIClJiYaJ166HyPSmnfpxkxxui7775LN0+uTr9wd9lu2LDBOo3iv0wn9bZgjFGXLl308ssvpxvOGKNhw4apV69ebtWZHTiHGW6pWLGixo4dq927d2vEiBFat26dqlWrpo4dO+r48ePXNM7vv/9eycnJki6fF71t2zaVLVs2XbuoqChFRETo6aef1vnz563uCQkJGY47Li5Onp6eCgsLkzFGkydPtvpFRkZq27Zt2r17tyRp2rRp1vlXN5I33nhDX375pRYtWpSlV86vXLlSR48etf7etGmTgoKCXE5j5MiRGjBggLWsJfv1JkmnTp1SyZIl5XA4tHLlyjTntEVFRVnnDh49ejTDiwdzs9OnT+vIkSPW37Nnz1aRIkXSfNlw5ezZs5o/f77M/39I6/nz57Vr1y6VLVtWhQoVUu3atfXxxx9Lunw+8+rVqzP8kpiR6OhoLV68WNu2bbO6rV+/3mXb0aNHa+DAgWnW7ZYtW/Tzzz+rYcOG2r59uxXMvvrqK91yyy1prlm4UqNGjbR//34tXrzY6rZ161YlJSWpZcuWWrhwobWvSX1eu91w11ufPn109OhRHThwQAcOHFDDhg01depU27DslBeX5/PPP68XXnhBa9eutbpl5v1dvHhxeXh4aM+ePVq0aJHVLyoqSh9//LGMMYqPj9eXX35pOy53JSQkpDnI8uWXX1ph386mTZt04sQJHTlyxFq3+/bt08KFC3XixImr1t2tWzdNmzZNn3zyibp37y7p8p2MkpKSrAD/9ttvZ2oeChYsqGbNmun111+3up04cUKS1L59e7366qtWsD516pT++OMP+fv7q1atWvrkk08kSTt37tTq1aszNb2UlBR98MEHWrBggbUd202nRo0a+uyzzyRdvijZbjp33323PvvsMx08eNCalvN87/bt22vKlCk6efKkpMt3Z8rs3YSyGkeYb1JPPPGE5s2bp9jYWEVHR6tQoULW7cZ69uypu+++W3fffbftOCIjIxUZGam33npLixcvtj7A3TVr1iwNHTpU3t7eunTpkurXr5/mYhEnh8Oh+fPna8SIEapatar8/PxUqFAhlSlTRsOGDXM57mrVqumhhx5SlSpVVKRIEbVv397qFxwcrGnTpunee++Vl5eX2rRpk6kje3nJ33//rUGDBqlMmTJq2bKlJMnb21vr1q2TdDnIhoeHq3fv3m6P++DBg+rfv78uXLggLy8vFSxYUD/88IPLu5L06tVLfn5+evTRRxUXF6fg4GD5+PjonXfeyXD8r7zyiv73v//pxRdfVM2aNdWgQQOr38SJE9W1a1dVrlxZt9xyi1q1auV2/TktLi5O999/v86fP698+fIpODhYc+fOtY7EZPQ+NMZoypQpevrpp+Xr66vk5GS1adNGffv2lXT56F7v3r01efJkORwOffjhh9aHcWaVK1dOX3zxhZ544gmdO3dOSUlJqlWrlssjzj169JCvr686deqks2fPysPDQ2XLltW4ceMUHByszz//XI899pguXryowoUL65tvvrE9qlW4cGHNmzdPgwcP1qBBg5ScnKwSJUpo9uzZqlatmkaMGKHGjRurUKFCatOmjQICAq46XG5j977Li8uzTZs2+uijj/TMM8/oyJEjCg4OlpeXl95+++0Mf30cMWKEOnfurBkzZqhs2bJp3sPPP/+8evbsqYoVKyo4OFhNmjRRYmKim0s5Y8eOHdN9992nS5cuyRijMmXKWCFSyvi999FHH+mhhx5Ks48LDAzU7bffrk8//fSqdd9zzz3q06ePbr31VlWqVEmS5O/vr5deekn169dX0aJF9dBDD2V6Pj799FM9+eSTqlKlijw9PXXPPfdozJgxevPNNzV06FDVrFlT+fLlk4eHh8aPH69y5crpk08+Ubdu3fT666/r1ltvveqX6aZNm8rhcOjChQuqXbu21qxZY90h42rT6d69uyZMmKBy5cqpXr16GR6wadq0qcaPH697771XFy9eVFJSktq1a6e6deuqU6dO+vfff63Pr4sXL6p79+6Z+oKT1RzmWlMOAADX2ZkzZ6wQNnHiRC1YsEDz58/P4aryLpYnssPZs2fl5+cnh8Oh/fv3KzIyUhs2bFBEREROl3bNOMIMAMgzhg4dqjVr1ig5OVnh4eF6//33c7qkPI3liezwyy+/WLcNvXTpkt588808HZYljjADAAAAtrjoDwAAALBBYAYAAABsEJgBAAAAGwRmAAAAwAaBGQAAALBBYAaAG5TD4cgVD+7o2rVrmocGAUBeQ2AGgDyga9eucjgc6V5t2rTJ6dIsBw4ckMPh0NatW9N0nzhxoqZPn54jNQFAVuDBJQCQR7Rp00Yff/xxmm7e3t45VE3mOR+3DAB5FUeYASCP8Pb2VrFixdK8ChcuLEnau3evmjVrJh8fH1WuXFmLFi1KM+zy5cvlcDh0+vRpq9vWrVvlcDh04MABq9uaNWvUokULFShQQIULF1Z0dLROnTolSVqwYIGaNGmiwMBAFSlSRHfeeaf27dtnDVu6dGlJUq1ateRwONSiRQtJ6U/JSExM1FNPPaWQkBD5+PioSZMm2rBhQ7palyxZorp166pAgQJq1KiR9uzZkxWLEQDcRmAGgDwuJSVFHTp0kJeXl9atW6cpU6bo2WefdXs8W7du1W233abKlSsrJiZGq1ev1l133aVLly5JkhISEjRw4EBt3LhRS5YsUb58+XTvvfcqJSVFkrR+/XpJ0uLFi3X06FHNmjXL5XSGDBmi7777TjNmzNDmzZtVrlw5RUdH6+TJk2naPffcc3r99de1ceNGeXh4qHv37m7PEwBkBU7JAIA8Yu7cuSpYsGCabsOHD1fdunW1e/duLVy4UOHh4ZKkl19+WXfccYdb4x8/frzq1q2rd9991+pWpUoV6//33XdfmvbTpk1TcHCwfvvtN1WtWlXBwcGSpCJFiqhYsWIup5GQkKD33ntP06dPt+r74IMPtGjRIn300Ud65plnrLZjx45V8+bNJUlDhw5Vu3btdOHCBfn4+Lg1XwDwX3GEGQDyiJYtW2rr1q1pXr1799auXbsUERFhhWVJioyMdHv8ziPMGdm7d68efvhhlSlTRv7+/ipVqpQk6eDBg5mexr59+5ScnKzGjRtb3Tw9PVW/fn3t2rUrTdvq1atb/w8LC5MkHT9+PNPTAoCswhFmAMgj/Pz8VK5cuWsaNl++y8dHjDFWt+Tk5DRtfH19bcdx1113qWTJkvrggw8UHh6ulJQUVa1aVUlJSddU09V4enpa/3c4HJJknf4BANcTR5gBII+rVKmSDh06pKNHj1rd1q5dm6aN83SJ1G2uvP1b9erVtWTJEpfT+Pfff7Vnzx6NGDFCt912mypVqmRdDOjk5eUlSdY5z66ULVtWXl5eWrNmjdUtOTlZGzZsUOXKlW3mEgByDkeYASCPSExMVGxsbJpuHh4eioqKUvny5dWlSxdNmDBB8fHxeu6559K0K1eunCIiIjR69GiNHTtWv//+u15//fU0bYYNG6Zq1arpf//7n3r37i0vLy8tW7ZM999/v4KCglSkSBFNnTpVYWFhOnjwoIYOHZpm+JCQEPn6+mrBggUqXry4fHx80t1Szs/PT3369NEzzzyjoKAglShRQuPHj9e5c+fUo0ePLFxaAJB1OMIMAHnEggULFBYWlubVpEkT5cuXT99//73Onz+v+vXrq2fPnho7dmyaYT09PfXll19q9+7dql69ul599VW99NJLadqUL19eP//8s3799VfVr19fkZGR+uGHH+Th4aF8+fLpq6++0qZNm1S1alUNGDBAEyZMSDO8h4eHJk2apPfff1/h4eG65557XM7HK6+8ovvuu0+dO3dW7dq19ccff2jhwoXWLfIAILdxmNQntAEAAABIgyPMAAAAgA0CMwAAAGCDwAwAAADYIDADAAAANgjMAAAAgA0CMwAAAGCDwAwAAADYIDADAAAANgjMAAAAgA0CMwAAAGCDwAwAAADY+H+kuTVKTY8uzQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax = plot_gam(gam_logit, 2)\n", @@ -2857,7 +1250,7 @@ "ax.set_ylabel('Effect on wage')\n", "ax.set_title('Partial dependence of wage on education',\n", " fontsize=20);\n", - "ax.set_xticklabels(Wage['education'].cat.categories, fontsize=8);\n" + "ax.set_xticklabels(Wage['education'].cat.categories, fontsize=8);" ] }, { @@ -2871,94 +1264,12 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": null, "id": "5a6e8754", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:50.639993Z", - "iopub.status.busy": "2023-07-25T23:59:50.639680Z", - "iopub.status.idle": "2023-07-25T23:59:50.659950Z", - "shell.execute_reply": "2023-07-25T23:59:50.659078Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
education1. < HS Grad2. HS Grad3. Some College4. College Grad5. Advanced Degree
high_earn
False268966643663381
True0572245
\n", - "
" - ], - "text/plain": [ - "education 1. < HS Grad 2. HS Grad 3. Some College 4. College Grad \\\n", - "high_earn \n", - "False 268 966 643 663 \n", - "True 0 5 7 22 \n", - "\n", - "education 5. Advanced Degree \n", - "high_earn \n", - "False 381 \n", - "True 45 " - ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pd.crosstab(Wage['high_earn'], Wage['education'])\n" + "metadata": {}, + "outputs": [], + "source": [ + "pd.crosstab(Wage['high_earn'], Wage['education'])" ] }, { @@ -2975,22 +1286,14 @@ "we could subset the model matrix, though this will not remove the\n", "column from `Xgam`. While we can deduce which column corresponds\n", "to this feature, for reproducibility’s sake we reform the model matrix\n", - "on this smaller subset.\n" + "on this smaller subset." ] }, { "cell_type": "code", - "execution_count": 44, + "execution_count": null, "id": "c92b60be", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:50.664968Z", - "iopub.status.busy": "2023-07-25T23:59:50.664462Z", - "iopub.status.idle": "2023-07-25T23:59:50.672960Z", - "shell.execute_reply": "2023-07-25T23:59:50.672194Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "only_hs = Wage['education'] == '1. < HS Grad'\n", @@ -2998,7 +1301,7 @@ "Xgam_ = np.column_stack([Wage_['age'],\n", " Wage_['year'],\n", " Wage_['education'].cat.codes-1])\n", - "high_earn_ = Wage_['high_earn']\n" + "high_earn_ = Wage_['high_earn']" ] }, { @@ -3014,36 +1317,15 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": null, "id": "e525e8d0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:50.678086Z", - "iopub.status.busy": "2023-07-25T23:59:50.677710Z", - "iopub.status.idle": "2023-07-25T23:59:50.738388Z", - "shell.execute_reply": "2023-07-25T23:59:50.737375Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "LogisticGAM(callbacks=[Deviance(), Diffs(), Accuracy()], \n", - " fit_intercept=True, max_iter=100, \n", - " terms=s(0) + s(1) + f(2) + intercept, tol=0.0001, verbose=False)" - ] - }, - "execution_count": 45, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "gam_logit_ = LogisticGAM(age_term +\n", " year_term +\n", " f_gam(2, lam=0))\n", - "gam_logit_.fit(Xgam_, high_earn_)\n" + "gam_logit_.fit(Xgam_, high_earn_)" ] }, { @@ -3057,28 +1339,10 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": null, "id": "c3e66cf9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:50.744284Z", - "iopub.status.busy": "2023-07-25T23:59:50.743537Z", - "iopub.status.idle": "2023-07-25T23:59:50.893111Z", - "shell.execute_reply": "2023-07-25T23:59:50.892009Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAwgAAALBCAYAAAD8lYbfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABgYElEQVR4nO3dd3gU5f7+8XtDKgESAgFC7whIh9BCE6R5KKKccxQVUKp6VMQCqBQVUFRs4BGRKooVUVS6CIQaqqBSJQeBUAQhgCQB8vz+4Jvnl5Bkk5BNBsj7dV17QXanfGZ29pm5p7qMMUYAAAAAIMnL6QIAAAAAXD8ICAAAAAAsAgIAAAAAi4AAAAAAwCIgAAAAALAICAAAAAAsAgIAAAAAi4AAAAAAwCIgAAAAALAICMmMHj1aLpdLLpcrx8bRunVruVwutW7dOsfGIUnR0dF2WmbOnJmj48prfvrpJztvf/rpJ6fLwf+5fPmy3n77bYWHh6tQoUL2O+revXumh+GpNiA3fue50V4BQEZYJ6ZWvnx5uVwu9enTx+lSrlmWA0LyBeHqV/78+VWuXDl1795dn3zyiS5dupQTNQNAKvfcc4+eeOIJRUVF6ezZs06XAwDADcujRxAuXLiggwcP6ptvvlGvXr3UrFkzHT161JOjyLKZM2faABMdHe1oLQByxtq1a/XFF19Iku644w4tXbpUP//8s3bs2KF33nnH4eqA60Nurw85yoWbSW6dAXK98M5Oz4MHD9bDDz9s/z537pw2bdqkN954Q9HR0YqKilK3bt20fv36G6KBGD16tEaPHu10GQCyaNmyZZKkfPny6ZNPPlGhQoUcrYfD7ACQd90MO6SzFRCKFSumW2+9NcV7TZo0Ua9evRQeHq59+/Zp48aN+u6779SlS5dsFQoA6Tl8+LAkqXjx4o6HAwAAbnQ5cpFy4cKFNXz4cPv3okWLcmI0ACBJio+PlyT5+Pg4XAkAADe+HLuLUXh4uP3///73P/v/8+fP67PPPlO/fv1Ut25dBQUFycfHR6GhoWrVqpVef/11nTt3zu2wk85pTDod6Mcff1TPnj1VpkwZ+fj4qHz58vZi6r59+9r+KlSokOrC6uSnAmR0vmRCQoIWLFigRx99VI0aNVLhwoXl4+OjIkWKqHHjxho9erT+/PPPa5hbWXf58mW99957aty4sQoVKqSgoCDVr19fr7/+ut1Yyqz58+erZ8+eKlu2rPz9/RUcHKyGDRtqzJgx+uuvv9Ltr0+fPnK5XCpfvrykK3txn3zySVWtWlX58+dXaGio7rjjjkwHxDNnzmj8+PFq3ry5QkND5evrq7CwMHXp0kVffvmljDHp9nv1MhEVFaV77rlHpUuXlp+fn0qVKqX7779fv/32W4Z1XLhwQePGjVOdOnUUGBioIkWKqHnz5po6daoSExMzNS3Sle9o1qxZ+sc//qGSJUvKz89PRYoUUUREhCZOnKgLFy6k2+/V5zomzdvKlSsrICBARYoUUYcOHbRw4cJM1XLixAm9+OKLat68uYoVKyYfHx8VLlxYjRs31jPPPKOff/453X7j4uI0adIktW3bViVKlJCvr6+KFSumdu3aadq0aR67GcGOHTs0YMAAValSRfnz51fBggVVs2ZNDRkyJN3DtUnf+6xZsyRdaWuu/o1nR1xcnF577TXVr19fBQsWVMGCBRUeHq5Jkya5ne7Mnqs6e/ZstWrVSoULF1aBAgVUq1Ytvfjii4qNjU0xfZk59fFaa82K7PxGc6vtT6/b7LQJkrRlyxYNGjRI1apVU4ECBRQYGKhq1app8ODB2rNnT7r9XX3ef3x8vN566y01adJERYsWzfT3e7Wvv/5a3bt3t9NTsGBBVaxYUS1atNALL7ygjRs32m6vZX0oSevXr9fzzz+v1q1b299+oUKFVKNGDQ0ePFi//vqr22keM2aMfS+tG5sk/11n9q4vV693rnb58mXNnDlTHTp0sDUHBQWpSpUqatu2rcaNG5du3Zl14sQJPf/886pXr56Cg4Pl7++v8uXL6/7771dkZKTbfq+ezt27d6t///4qX768/Pz8VLx4cd15551av359tmpM7lqX3STZXSd66rtNci3rs+xsvyXVtXLlSknSypUrUy3LV9ec2WlesGCB7r77bvs7LlKkiJo2bapXXnnFbXt4dbuSmJioDz74QM2aNVPhwoUVGBio2rVra+zYsfr777/d1pAuk0UrVqwwkowkM2rUqHS727Vrl+2uY8eO9v1WrVrZ99N7VahQwfz222/pDjv5+EeMGJGq/3LlyqWo091rxYoVdrijRo2y76eld+/eGQ6vSJEiJjIyMt3ak6a/VatW6XaTkbNnz5oWLVqkW0P9+vXNli1b7N8zZsxIczinTp0yt912m9vpKVasmFm3bp3b+VGuXDkTFRVlihUrlu5wnnzySbfTtGzZMlOkSBG3tXTu3NmcPXs2zf6TLxOTJ0823t7eaQ4jf/78ZuXKlenWERMTY6pXr55uDR06dDCLFy9Oc/lJ7n//+5+pU6eO2+mpXLmy2b17d5r9J19OIiMjTdGiRdMdzmuvveZ23s6ZM8cEBga6raVcuXJp9rtt2zZTrlw5t/02atTIHD161G0NGRk3bpzx8vJKdxx+fn5m1qxZqfrLzG88K5K3AUePHjV169ZNd7hdunQxly9fTnM4Gf3OExISTLdu3dIddpUqVUx0dHSK5Tqnas2s7P5Gc6vtT6vb7LQJly9fNkOGDDEulyvdur29vc2UKVPS7H/GjBm2u6ioqDS/J3fr0qtdunTJ9OzZM8N52aBBA9vPtawPk9ed3itfvnxm8uTJbqfZ3evAgQO2n6R2pnfv3m6nP/l652oZrRuTXnfddVem5/fVFi9ebAoVKuR2+I888ki6v7fk0zlv3jyTP3/+dOftp59+es11GpP9ZdcYz6wTPfHdJrnW9Vl2tt8y0+/V48xomi9cuGDuvPNOt8MsWbKk2bp1a5r9J/+N/fLLL6Zt27bpDic8PNycO3cu3XmanhwLCF988YXt7sEHH7TvN2/e3NSqVcs899xz5uuvvzYbNmww69evN5999pn597//bTcSqlWrZi5cuJB20f833Fq1atl/p0+fbjZu3GhWrlxp3n77bXPu3DmzY8cO8/LLL9vuFy9ebHbs2JHilXymZRQQevXqZSpWrGiGDh1qPvvsM7Nu3ToTFRVlvvzySzNo0CDj6+trJJnQ0FBz7NixNIfhiYCQfMMiPDzczJ0712zatMl8//33dsXRqFEj201aASEuLs7Ur1/fNkT333+/mTt3rlm/fr1ZvXq1GTt2rN0YKFy4sImOjk41jKQfTWhoqClfvrzx8/Mzw4YNM6tWrTIbNmww77zzjgkLC7N1vPXWW2lOT2RkpPHx8TGSTPHixc3LL79sFixYYDZv3mwWLFhg7rvvPjuMHj16pDmMpM+bNGlivLy8TJ06dcz06dNNVFSUWbVqlRkyZIhdtsqWLWvi4+NTDePixYumQYMGdljt27c3X3/9tdm0aZOZN2+eadeuXap5m1Zj+Oeff5oyZcoY6cqG7aOPPmq++OILExUVZVasWGGGDx9uVwoVK1Y0p0+fTjWMpOWkatWqpmjRoqZYsWLmlVdeMZGRkWbjxo1m4sSJJjg42DbwO3fuTHO+zJ4929bq7+9v/vOf/5gffvjBbNmyxaxatcpMmjTJtG/f3lSoUCFVv3v37jVBQUFGkilUqJAZPny4nR+LFy82jzzyiN3oaty4sUlISEizhoxMnjzZ1hgaGmpef/11s27dOhMZGWlGjx5tVwYul8t8//33KfpN+h0n/SZKliyZ6jeeFcnbgGbNmhlfX1/z2GOPmaVLl5rNmzebTz75JMXK8v33309zOBn9zgcPHmyHUbNmTTNjxgwTFRVlli9fbh599FGTL18+07hxY7dtradqzQxP/EZzq+2/utvstAnGGPPwww/bYbVs2dJMnz7d/PTTT2bjxo1m6tSppmbNmvbzb775JlX/yVfktWvXNi6XyzzwwAPm+++/N5s3bzZff/21+eGHHzL9Xbz77rt2eBEREWbmzJlm9erVZsuWLWbp0qXmjTfeMLfffrsJDw+3/VzL+nDq1KmmcOHCpk+fPmb69Ol2HN9995158cUX7U4Ll8tlli9fnqLGv/76y+zYsSPFcn71uHbs2JGizfDERuTQoUPt+P7xj3+YuXPnmjVr1pjNmzebhQsXmnHjxplmzZqZu+++O9PzO7mtW7fa9byPj48ZMmSIWbFihdm4caOZMmWKqVChgh3/M888k+Ywkqazfv36xt/f31SoUMFMmjTJrF+/3qxbt86MHj3a+Pv723b3+PHj11SrMdlfdj21TvRUQMjO+iw722+HDh0yO3bsMA0bNjSSTMOGDVMty1fv7Mtomv/5z3/aaalTp46ZPXu2iYqKMosXLzZ9+/a1oS4kJMQcOnQoVf/J25VmzZoZLy8v07t37xTtStOmTW03w4YNczvv05IjAeHixYumSZMmtrvZs2fbz/bs2eN2+EuXLrWN9ocffph20cmSUdu2bU1cXFy6w0s+E5PvrUhLRgFh3759JjExMd3+f/75Z1OgQAEjyTz//PNpdpPdgPDdd9/ZGjt37mwuXryYqpsxY8akmEdpBYSkvW/BwcFm06ZNaY4rOjrabuDfe++9qT5Pnqp9fHzS3At3+PBhU7p0aSPJBAYGpmrsEhISTPny5Y105UjT+fPn06zlgw8+sONasmRJqs+TT2/nzp3TXNknXznOmzcv1eeTJk2ynw8YMCDNOh588MEU40qrMbz33nttI/f777+nOZwtW7bYDd8RI0ak+jz53tZy5cql2UCsXr3aNiKPPfZYqs+PHDlig0ixYsXcbiwfPHgw1XvNmjUzkky9evXMiRMn0uxv4cKF9vf6wQcfpDv89Bw/ftzWWLJkyTTrSD6vSpUqlWYQycyep8xI3gb4+Pik+f2ePHnSFC9e3G7wpcXd73zLli32e2vatKn5+++/U3WTfAdLZgJCdmrNiKd+o7nd9nuiTViyZIn9PL2aLly4YI/ElitXLlWbfPXe9PSGk1lJe8gbN26cZvuf5OTJk6ney8r68NChQ+l+18YYc/r0aVO7dm0bVNKS0To1OU9sRCbtmMkoAKQ1bzIjaUM4X758ZvHixak+P3XqlKlRo4aRZLy8vNLccZP8iGyDBg3MmTNnUnUzZ84c283EiROvqVZPLLueWid64rvN7vost7ff3E1z8u24tm3bptk2JW9P//nPf6b6/Op25aOPPkrVTVxcnLn11luNdOXoiLv2Ii0eDQjnzp0zP/30k2ndunWKjRt3jXhaunfvbqQrewDSLPr/hu3l5ZVhI+fJgJAZTzzxhJFkbr311jQ/z25A6Ny5s5Gu7Jk+fPhwmt1cvnzZLhRpBYSzZ8/aPcPvvvuu2/G99957dgPk6kNUyQPCo48+mu4wPvvsM9vd1afDJO0R8Pf3z3BPSXh4eLphJWn4/v7+6R69iY2NtXsJhgwZkurzpIa9ePHi6a4Yz549a0JDQ9NtDA8cOGDy5ctnJJkFCxa4nZ5nnnnGbhhfLXlA+Pbbb9MdRlIQr1evXqrPhg8fbocxf/58t7VcbdWqVbbfn3/+2W23SXtCmjVrlqVxGGPMq6++asfj7nB68g25zz//PNXnOREQ3J0WN2zYMCNd2Xvq7ghQWr/zQYMG2XGkd+THGJPi8HNGASE7tWbEU7/RzPBk2++JNiFp4ymjU1J+/fXXdMNR8nXQbbfd5nY4mVGlSpV0681IVtaHmTF//nw7vD///DPV57kdEJKOciU/kuQpGzZssNMyaNCgdLuLjIy03T388MOpPk8eELZv357mMBITE03JkiWNJHPnnXdeU72eWHY9sU40xjPfbXbWZ5nlye03d9PcqVMnu12VVphJknSExtvb2xw5ciTFZ8l/y+kdtTXGmPfffz/D5S092bpIecyYMSku0ihQoIBat25tL3QqVqyY5s+fLz8/v3SHceLECe3du1c7d+60r9DQUEnS9u3b3Y6/efPmGV7MkpP++usv7d+/X7/88outPTg4WJL066+/6uLFix4d3+XLl+28bd++vUqWLJlmd15eXurdu3e6w1m5cqXOnDkjSbr77rvdjrNly5aSpIsXL2rz5s3pdpf84rer3XnnnXa+JN2vPsm3334rSWrVqpX93jOqZd26del2c/vtt6tYsWJpflawYEFVqVJFkvT777+n+CwmJsZeuPbPf/5T+fPnT3MYBQoU0D//+c90x//999/r8uXLyp8/vzp16pT+xOj/T8+RI0d08ODBNLsJDg7WHXfcke4wGjRoICn19EjSd999J0mqWLGiunbt6raWqyV9L9WqVVOtWrXcdps0HVFRUVm+GDZpeQgODlaPHj3S7a5fv36p+slpvXr1SvezpPlujNGBAweyNNyk+uvVq6eaNWum290DDzyQ6WHmVK2S53+jSXKr7b/WNiE2Nta2txm1k9WrV1fRokUluZ92d99TZoWFhUm6cnFjbt0UQ7pykXl0dHSK9V3yu4Zl9J3lhqR589lnn137hZnpSN7uPPTQQ+l217x5c1WvXj1VP1erVauWateuneZnLpdL9erVk5R2254RTyy7nlonekp21mdpye3ttySXLl2yFzu3b99eZcqUSbfb/v37237cPVsnM+2/lPVlKVvPQUhPhQoVdPfdd+upp55Ks2Fes2aN3nnnHS1btkynTp1KdzgZNX7p/bhy0o4dO/Tmm29q4cKFbp8SnZiYqL/++ivdFdO12L9/v230GjVq5Lbb5HeRutqmTZvs/5Ma1MxIb3p9fX1Vp06ddPvz8fFRvXr1tGLFCu3YsSPNWhYvXpzpO864m++33HKL235DQkIkSWfPnk3xfvK6MjNvJ0+enOZnSdPz999/y9s78z+vo0ePqmzZsqner1Kliry80s/x6U3PxYsXtXPnTklSRERElu/mkzQdu3fvznS/Fy9e1KlTp7K0zCfVWL9+fbe3KC1evLjKly+v6Oho209Oc7csJc13KfW8dycuLk779u2TlLLhTkvDhg0zPdycqDWJJ3+jTrT919ombN261d6h5Z577tE999yTqfG5a588sc7q3bu3Vq1apX379qly5crq0aOHbr/9drVo0UKlS5fO9vCT+/PPPzVx4kR99dVX2rt3r9u7VOVmWElP79699dJLL2nt2rWqUKGCevbsqbZt2yoiIiLDcJuRpHbH19dXdevWddtt48aN9dtvv2nv3r1KSEiQr69vqm6udbnMDE8su55aJ3pCdtdnSZzcfkvy+++/2+24xo0bu+02+efu1ns51f577EnKLpdL/v7+Klq0qIKCgtLtZ/To0SlufeaOu9tASleet5Cbpk2bpkGDBmV6L2lG9WdV8hVqRgtu8eLF0/3s+PHj1zT+9PbIhISEKF++fJmq5+qNgmupxd18TW8vR5Kkje3Lly+neP96nbeZnZ6rbzV36tQpuzLPSghM4unpSE/SfM9MQ1yiRAlFR0e73bD0JHfzPnlou3pZcuf06dP2/xltsGRlgyYnak3iqd+oU23/tbYJOfEb8MQ668EHH9T+/fs1YcIEnTlzRjNmzNCMGTMkSZUqVVK3bt30yCOPqGLFitkaz+bNm9WhQwedPHkyU917en13LV544QUdPnxYM2bM0PHjxzV58mS74VqzZk3dddddevjhh9224elJandCQkIy3PlTokQJSVeO2v31119pju9al8vM8MSy66l1oidkd30mOb/9liQr8zVpObq6v6vlVPvv8Scpu7N8+XK7gqhYsaKeeuopRUREqGzZsgoMDLQ/upEjR+qll17KcHgZbZR60q5du+zCVaxYMT399NO67bbbVL58eRUsWNDu/Zw+fbo9/Ohub0t2Zef+7skXki1btmT64VLp7Z3yRC2dOnXShAkTrnk4nuSJ6SlatKhWrFiR6f4qVKhwzePMCUnTUadOHc2ZMyfT/ZUqVeqaxpfd5xUg53jiN3ojtv3J28kpU6aoWbNmmerPXQjwVN1jx47VgAED9PHHH2v58uVav369/v77b+3fv18TJ07Uu+++q3feeUeDBg26puEnJCTon//8p06ePCkfHx/95z//Ubdu3VS1alUVLlzYnjb8+++/q1KlSpJydn2XWT4+Ppo2bZqGDh2quXPn6scff9SmTZuUkJCgX375Rb/88osmTpyoOXPmqFu3btc0jhuhrfL0snsjTLM719v2W5Lrfb7myClG6Zk6daqkKwvh+vXr091Dllt7CLNi5syZunTpkvLly6eVK1eme0gnJ2tP/uM9duyY227dfV6kSBH7/9DQ0Gwflj558qQuX77sduWXVE/yw11JtRw5ckQJCQlZCpue5ul5e/bsWVWvXj1X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c/ny5TT7z82AkN1l1xjPrROz890md63rM09sv509ezZFCHQ3zoy+5wsXLpg777zTbU0lS5Y0W7duTbP/3AgIuXqKkXTlsMlHH32kFi1aqGDBgvLz81O5cuV0//33a+3atXr88cc9Ps5XXnlFU6dOVYsWLTJ1z/70jBw5Ut9//73at2+vwoULy9fXV6VLl1aPHj20ZMkSvf766x6uPG0FCxbUTz/9pHfffVeNGjVSgQIFVLBgQdWtW1fjx4/X2rVrM3XFe8GCBfXVV19p9erV6tevn6pVq6aCBQvK29tbISEhatSokR555BH98MMPWrp0qdthNWzYUFu2bNFjjz2mSpUqyd/fX0WKFFHHjh31ww8/ZHgee5MmTbR37169//77uuOOO1SyZEn5+vrK399fZcqUUfv27TV27Fjt2rUrS0+YzaqSJUtq69atevnll3XrrbcqICBAwcHBatKkid577z0tXLgwUxedlShRQqtWrdJ3332nXr162QuTfHx8FBoaqmbNmmno0KFauXKl2/NZPaF3797av3+/nnvuOTVo0EDBwcHKly+fChcurCZNmmjEiBFatGhRmv1WrVpV27Zt0yeffKK77rpLZcuWVUBAgHx9fRUWFqbWrVvr+eef1+bNmzVy5MhrrnHEiBHaunWr+vfvby/GDwwMVPXq1fX444/n+Pee23x9ffXtt99qxowZioiIUFBQkPLnz6/q1atrxIgR2rx5c4o7kbh7tkxuye5v1Im23xNcLpdGjhypPXv26JlnnlHDhg3teqRgwYKqUaOGevXqpVmzZikmJsbeSCKn7Ny5U6+++qq6dOmiGjVqqEiRIsqXL59tp0aNGqXdu3erY8eOafaf2fVhhw4dtGnTJt13330qWbKkbbtatWqlDz74QMuXL7enfLgzZ84cTZgwQeHh4QoKCnL74MeePXtq7dq1uvPOOxUaGipfX1+VKVNGvXv3VlRUlNunApcrV04bN27U6NGj1b59e1WrVk3BwcHy9vZW0aJF1bJlS7322mvatWtXhg8pdKd9+/bat2+fRowYobp166pQoULy8/NT2bJl1atXL61evVqTJk1yO525xRPLrqfWidn5bpO71vWZJ7bfChQoYNuq6tWrZ/gsC3f8/f01b948ffvtt+rRo4dtTwsXLqzGjRtr/Pjx2r17d4YP5ctJLmOug5sX44bUp08f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FiaXy+VkOQAAAECe52hAWLhwob7//ns1b97cyTIAAAAA/B9Hn4NQuHBhhYRwji8AAABwvXA0ILz00ksaOXKk/v77byfLAAAAAPB/HD3F6I033tD+/ftVvHhxlS9fXj4+Pik+37Jli0OVAQAAAHmTowGhe/fuTo4eAAAAwFUcDQijRo1ycvQAAAAArnJdPCht8+bN+u233yRJNWvWVL169RyuCAAAAMibHA0Ix48f17///W/99NNPCg4OliSdPn1abdq00aeffqrQ0FAnywMAAADyHEfvYvSf//xHZ8+e1S+//KJTp07p1KlT2rlzp2JjY/XYY485WRoAAACQJzl6BGHRokVatmyZqlevbt+rUaOGJk+erPbt2ztYGQAAAJA3OXoEITExMdWtTSXJx8dHiYmJDlQEAAAA5G2OBoTbbrtNjz/+uI4cOWLfO3z4sIYMGaK2bds6WBkAAACQNzkaECZNmqTY2FiVL19elSpVUqVKlVShQgXFxsbq3XffdbI0AAAAIE9y9BqEMmXKaMuWLVq2bJl27dolSapevbratWvnZFkAAABAnuX4cxBcLpduv/123X777U6XAgAAAOR5jp5iBAAAAOD6QkAAAAAAYBEQAAAAAFgEBAAAAACWowEhX758On78eKr3T548qXz58jlQEQAAAJC3ORoQjDFpvh8fHy9fX99crgYAAACAI7c5feeddyRducXphx9+qAIFCtjPLl++rFWrVumWW25xojQAAAAgT3MkILz55puSrhxBeP/991OcTuTr66vy5cvr/fffd6I0AAAAIE9zJCAcOHBAktSmTRvNmzdPhQsXdqIMAAAAAFdx9EnKK1ascHL0AAAAAK7i6EXKd911l1599dVU70+YMEE9e/Z0oCIAAAAgb3M0IKxatUqdO3dO9X6nTp20atUqByoCAAAA8jZHA8K5c+fSvJ2pj4+PYmNjHagIAAAAyNscDQi1atXSZ599lur9Tz/9VDVq1HCgIgAAACBvc/Qi5RdeeEE9evTQ/v37ddttt0mSli9frrlz5+qLL75wsjQAAAAgT3I0IHTp0kXz58/XuHHj9OWXXyogIEC1a9fWsmXL1KpVKydLAwAAAPIkRwOCJN1xxx264447nC4DAAAAgBy+BkGSTp8+rQ8//FAjRozQqVOnJElbtmzR4cOHHa4MAAAAyHscPYLw888/q127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c2fPnlVQUJDTZdxQbppTjDJrx44devzxx7V9+3adP39eYWFh6tixo55//nmVKlUqU8NITEzUkSNHVLBgQblcrhyuOO+JjY1VmTJl9Mcff3BIENnG8gRPY5mCJ7E85RxjjM6ePauSJUvKy+umuew2V+S5gIDrH+cMwpNYnuBpLFPwJJYnXI+IUwAAAAAsAgIAAAAAi4CA646fn59GjRolPz8/p0vBTYDlCZ7GMgVPYnnC9YhrEAAAAABYHEEAAAAAYBEQAAAAAFgEBAAAAAAWAQFuxcXFqXv37qpatarq1Kmj22+/Xfv27ctUv3369NFbb72V4r3Ro0friSeekCRdvHhRjz32mGrWrKk6deqoRo0amjhxYrrD+/TTT9WoUSNVqVJFDRs2VIsWLfTVV19d66Sl8NRTT2n06NEeGVZe0L59e9WuXVt169ZVixYttHXr1kz1t3LlSjVt2lR169ZVjRo11Lx5cx07diyHq03fZ599poYNG6patWpq0KCBunTpoh07drjt56efflLdunUlSdHR0QoODs75QvOYGTNmyOVyaf78+Znu50b8LpcuXaqWLVuqYsWKatiwocLDw/XBBx94ZNiTJk1Snz59PDKs60H58uVVrVo11a1bV3Xr1tVnn32W6X6NMapQoYLatm3rtrsbYZ7dfffdmjlzZpqfuVwu1apVS7Vr11bVqlV1zz336Ndff83dAnHT8Ha6AFz/BgwYoE6dOsnlcmnSpEnq16+ffvrpp2wP9+2339aRI0e0fft2eXt7Ky4uTvv370+z2w8//FCvv/665s2bpxo1akiSdu/erW+//TbN7i9duiRvbxbvnPL555/bjamvv/5affr00fbt2932c+nSJd15551atmyZ6tevL+nKdxgYGJjT5aZpxowZGj9+vObPn2+Xqc2bN+vIkSOqVauWIzXhyob61KlT1aRJk0z3cyN+l0uWLFGfPn305ZdfqlmzZpKkQ4cOaerUqWl2T5t2JQQmBbqsWL58uYKDg/Xzzz/rwIEDqlChgueLu06sXr1awcHBSkxM1AcffKDmzZtry5YtHptmlsO8gyMIcMvf31+dO3eWy+WSJDVp0kTR0dEeGfahQ4dUrFgx29j4+/urZs2aaXY7evRovfXWW3blL0nVqlXT008/Len/7/179tlnVb9+fU2aNEnLly9X06ZNVa9ePdWsWVPTpk2z/cbExKhDhw6qUaOG2rVrp0OHDnlkmvKK5Htaz5w5Y5cPd86ePavY2FiVKFHCvletWjUVKFBAkrRv3z61a9fOHplIvvfY5XJp7Nixaty4scqXL6/58+dr/PjxatiwoapUqZIisC5evFgRERFq0KCBwsPDtWLFijTrGTVqVKplqkGDBurQoYMdTv369VW7dm21atUqU3vioqKidNttt6lhw4aqV6+evvjiC/vZlClTVLVqVdWvX18vvfRSinnmrr+8JDExUf369dO7776bpVs+3ojf5YsvvqiRI0facCBJpUuX1pgxY+zfLpdLo0aNUqNGjTR8+HDt2LFDERERql+/vmrUqKGXX37Zdnv27Fn961//UrVq1RQREZHh0ZO8ZNq0aerfv7/uvfdeTZ8+3b7vbp5VrVpVmzZtsn/PnDlTd955pyRp4sSJatSokerWratGjRpp3bp1trvy5ctr5MiRatq0qSpUqJDiOzp8+LDuvvtuu5f/hRdesHX0799f4eHhql27tgYMGKCEhARJ0q5du9SsWTPVrFlT3bt3V2xsbKam2cvLS4MGDVKHDh303nvvZWo8TZs2Vc2aNdWjRw+1b9/eHqno06ePHnzwQbVs2VK33nqrJOmjjz5S48aNVb9+fbVs2TLFDqLXX39d4eHhql+/vjp27Kj//e9/maoZ1xkDZMF9991nHnvssUx127t3b1OyZElTp04d+ypevLh5/PHHjTHG7Ny505QuXdrccsstpl+/fmbu3Lnm0qVLqYZz7NgxI8mcOnUq3XEdOHDASDKzZs2y7506dcoO7+TJk6Zs2bLmjz/+MMYYc/fdd5vnn3/eGGPMoUOHTNGiRc2oUaMyNV244v777zelS5c2pUuXNj///HOm+nn88cdNgQIFTKdOncyLL75odu/ebT8LDw8377//vjHGmD179piQkBATHR1tjDFGknnrrbeMMcYsW7bMBAYGmhkzZhhjjPn8889Nw4YNjTHG7N+/3zRp0sScOXPGGGPM3r17TYkSJUxcXFyKOjJapo4dO2ZCQkLsdM2ZM8dUr17dJCYmmhUrVpg6deoYY64sd0FBQcYYY/766y9Tt25dc+TIEWOMMSdOnDBlypQxhw4dMjt27DAlSpQwMTExxhhjRo4caZKaX3f95TWvvfaaGTlypDHGmFatWpmvv/46w35u1O8yICDAbNmyxe20STJjxoyxf8fGxtpl+e+//zZ169Y169atM8YY89RTT5n777/fJCYmmtOnT5tbbrnF9O7dO6PZd8MoV66cqVWrlrn11lvNgw8+aI4fP56p/k6ePGmCg4PNX3/9ZbZv325Kly5tLl++bIxxP8/Gjh1rHnnkETucli1bmm+//dYYY1KMe926daZatWop6vzPf/5jjLny/RcqVMh+/61btzbjxo2z3SYNp3///nbdlZiYaB566CEzYcIEY4wxDRs2NB9++KExxpiff/7Z+Pr62rbvapLMX3/9leK9iRMnmk6dOmVqPNOnTzfGGPPrr78aPz8/O57evXub2rVrm9jYWGOMMZGRkaZTp052WVy1apWpUaOGMcaYjz/+2PTr18+ue2fPnm06d+6cZr24vnGcCJk2btw47du3T8uXL890P08//bS95kC6ciTg9OnTkqSaNWtq//79ioyM1Nq1azVq1Ch99NFH+v777zMcbps2bfTnn38qISFBu3fvliT5+Pjovvvus92cPHlSDz30kPbs2SNvb2+dPHlSO3fuVOnSpbV8+XK9/vrrkqRSpUqpa9eumZ4mXDF79mxJ0qxZs/Tss8/qhx9+yLCft956S0OGDNGKFSu0fPly1atXT4sXL1adOnW0ZcsWrVmzRpJUpUoVRUREaPXq1SpXrpwk6V//+pckqWHDhjp//rz+/e9/S5LCw8O1d+9eSdKiRYu0b98+tWzZ0o7Ty8tLBw8eVJUqVTI9bRs2bFCtWrXs6Sm9evXSI488osOHD6fbz9q1a/X777+rU6dOKd7fvXu3du7cqY4dO9qjJ/3799eLL76YYX+lSpXKdM03up07d+qrr77SqlWrPDrcG+W77NWrl3755RcdPXpUe/bsUaFChSRJDz74oO3mwoULevjhh7Vt2zZ5eXnpjz/+0LZt29SkSRMtX75cb775plwul4KCgnTvvfeme8rmjWjVqlUqW7asLl68qOeff169e/fOVJvz8ccfq1OnTgoODlZwcLCKFy+uxYsXq1OnTm7n2QMPPKB69erpjTfe0OHDh7Vnzx77vW7dulVjx47VyZMn5e3trd27d+vChQsKCAiQJN17772SpKJFi6pixYo6cOCAgoKCFBkZqcWLF9vaQkNDJUnz58/XunXr7DV4Fy5cUL58+RQbG6tt27bZ6yJq1aqliIiILM03k+xRVxmN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+fLlaY7j5MmT2r17t55//nm1bdtW1atXtxcvJ/H19ZUke81CWipVqiRfX1+tWbPGvnfx4kVFRUWpRo0abqYSAHC94AgCAFwn4uPjdfTo0RTveXt7q127dqpatap69+6t1157TbGxsXruuedSdFe5cmWVKVNGo0eP1tixY7Vnzx698cYbKboZPny4atWqpYcffliDBg2Sr6+vVqxYoZ49eyokJERFihTRBx98oLCwMB08eFDDhg1L0X+xYsUUEBCgRYsWqXTp0vL39091i9PAwEANHjxYTz/9tEJCQlS2bFlNmDBBf//9tx566CEPzi0AQE7hCAIAXCcWLVqksLCwFK+IiAh5eXnp66+/1oULFxQeHq5+/fpp7NixKfr18fHR3LlztWvXLtWuXVuvvvqqXn755RTdVK1aVUuWLNH27dsVHh6upk2b6ptvvpG3t7e8vLz06aefavPmzbr11ls1ZMgQvfbaayn69/b21jvvvKMpU6aoZMmS6tatW5rT8corr+iuu+7S/fffr/r162vfvn1avHixvWUrAOD65jLJT1gFAAAAkKdxBAEAAACARUAAAAAAYBEQAAAAAFgEBAAAAAAWAQEAAACARUAAAAAAYBEQAAAAAFgEBAAAAAAWAQEAAACARUAAAAAAYBEQAAAAAFj/D5/1g4LUksHRAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax = plot_gam(gam_logit_, 2)\n", @@ -3086,73 +1350,36 @@ "ax.set_ylabel('Effect on wage')\n", "ax.set_title('Partial dependence of high earner status on education', fontsize=20);\n", "ax.set_xticklabels(Wage['education'].cat.categories[1:],\n", - " fontsize=8);\n" + " fontsize=8);" ] }, { "cell_type": "code", - "execution_count": 47, + "execution_count": null, "id": "fd924348", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:50.897946Z", - "iopub.status.busy": "2023-07-25T23:59:50.897534Z", - "iopub.status.idle": "2023-07-25T23:59:51.054702Z", - "shell.execute_reply": "2023-07-25T23:59:51.054277Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAt0AAALFCAYAAAAfsl8EAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACbOUlEQVR4nOzdd3xT1f/H8XdKB6uDvTfKlr1BUBAQRVDciLgn6ldxgBP33uAegLgHKooge++99xIoKKNlt7T398f5JW1pViE3o309H4/7SJt7b/JJ2ty8c3LuOQ7LsiwBAAAAsE1UqAsAAAAA8jtCNwAAAGAzQjcAAABgM0I3AAAAYDNCNwAAAGAzQjcAAABgM0I3AAAAYDNCNwAAAGAzQjcAAABgM0J3GBk6dKgcDoccDodt99G5c2c5HA517tzZtvuQpG3btrkey4gRI2y9r4Jm2rRprud22rRpoS4H/y8jI0PvvvuuWrVqpYSEBNffqE+fPn7fRqCOAcF4nQfjeAUA+UnEhe7sgeP0pWjRoqpWrZr69Omjb775RqdOnQp1uQAKiOuuu07/+9//tHDhQh0+fDjU5QAAwkzEhW5vjh8/rh07dui3335Tv3791K5dOyUnJ4e0phEjRrg+FGzbti2ktQCwx5w5c/Tjjz9Kki655BJNnDhRK1as0MqVK/Xee++FuDogPAT7/ZBvYxBuokNdwNm4++67dc8997h+P3LkiBYtWqQ333xT27Zt08KFC9W7d2/NmzcvIl50Q4cO1dChQ0NdBoA8mjRpkiSpUKFC+uabb5SQkBDSeuh2BADhJ6JDd9myZdWwYcMc17Vp00b9+vVTq1attGnTJi1YsEB//PGHevXqFaIqAeR3u3btkiSVK1cu5IEbABCe8lX3EqcSJUpoyJAhrt/Hjx8fwmoA5HcnT56UJMXExIS4EgBAuMqXoVuSWrVq5fp5+/btrp+PHj2q77//XrfddpuaNGmixMRExcTEqEyZMurUqZPeeOMNHTlyxOttO/uIObuCTJkyRVdddZWqVKmimJgYVa9e3XXC58033+zar0aNGrlO/sz+NbCv/mdpaWkaO3asBg4cqJYtW6pEiRKKiYlRqVKl1Lp1aw0dOlT//fffGTxbeZeRkaEPPvhArVu3VkJCghITE9WsWTO98cYbrgDir19//VVXXXWVqlatqsKFCyspKUktWrTQs88+q4MHD3rc76abbpLD4VD16tUlmdbGhx56SOeee66KFi2qMmXK6JJLLvH7Q1dKSopefvlltW/fXmXKlFFsbKwqVKigXr166aeffpJlWR73Pf1/YuHChbruuutUuXJlxcXFqVKlSurfv7/Wrl3rs47jx4/rpZdeUuPGjVWsWDGVKlVK7du316effqrMzEy/Hotk/kYjR47UpZdeqooVKyouLk6lSpVShw4d9NZbb+n48eMe9z199Avnc1u7dm0VKVJEpUqVUvfu3fXXX3/5Vcu///6r5557Tu3bt1fZsmUVExOjEiVKqHXr1nr00Ue1YsUKj/ueOHFCw4YNU5cuXVS+fHnFxsaqbNmy6tq1qz7//POAnTC9cuVK3XHHHTrnnHNUtGhRxcfHq0GDBnrwwQc99j91/t1HjhwpyRxrTn+Nn40TJ07o9ddfV7NmzRQfH6/4+Hi1atVKw4YN8/q4/R29ZNSoUerUqZNKlCih4sWLq1GjRnruueeUmpqa4/H50+3tTGvNi7N5jQbr2O9p27M5JkjSkiVLdNddd6lOnToqXry4ihUrpjp16ujuu+/Whg0bPO53ej/qkydP6p133lGbNm1UunRpv/++pxszZoz69Onjejzx8fGqWbOmOnbsqKeeekoLFixwbXsm74eSNG/ePD355JPq3Lmz67WfkJCg+vXr6+6779aaNWu8PuZnn33WdZ27wReyv66rV68uh8Ohm266yevjPv1953QZGRkaMWKEunfv7qo5MTFR55xzjrp06aKXXnrJY93++vfff/Xkk0+qadOmSkpKUuHChVW9enX1799fs2bN8rrv6Y9z/fr1uv3221W9enXFxcWpXLlyuvzyyzVv3rwzrq9Zs2ZyOByqV6+ez23379+vuLg4ORyOHN2Fs4uk171PVoSZOnWqJcmSZD3zzDMet1u3bp1rux49eriu79Spk+t6T0uNGjWstWvXerzt7Pf/+OOP59q/WrVqOer0tkydOtV1u88884zrencGDBjg8/ZKlSplzZo1y2PtzsffqVMnj9v4cvjwYatjx44ea2jWrJm1ZMkS1+9ffvml29s5cOCAdeGFF3p9PGXLlrXmzp3r9fmoVq2atXDhQqts2bIeb+ehhx7y+pgmTZpklSpVymstPXv2tA4fPux2/+z/E8OHD7eio6Pd3kbRokWt6dOne6xjz549Vr169TzW0L17d2vChAlu/3+y2759u9W4cWOvj6d27drW+vXr3e6f/f9k1qxZVunSpT3ezuuvv+71uR09erRVrFgxr7VUq1bN7b7Lli2zqlWr5nXfli1bWsnJyV5r8OWll16yoqKiPN5HXFycNXLkyFz7+fMaz4vsx4Dk5GSrSZMmHm+3V69eVkZGhtvb8fU6T0tLs3r37u3xts855xxr27ZtOf6v7arVX2f7Gg3Wsd/dtmdzTMjIyLAefPBBy+FweKw7Ojra+vjjj93u/+WXX7q2W7hwodu/k7f30tOdOnXKuuqqq3w+l82bN3ftcybvh9nr9rQUKlTIGj58uNfH7G3ZunWrax/ncWbAgAFeH3/2953T+XpvdC59+/b1+/k+3YQJE6yEhASvt3/vvfd6fL1lf5y//PKLVbRoUY/P7XfffXdGNQ4fPtx1O57ev53efffdHP+fp4u0170v+TZ0//jjj67tbrnlFtf17du3txo1amQ98cQT1pgxY6z58+db8+bNs77//nvr2muvdb3x1qlTxzp+/Ljb23bebqNGjVyXX3zxhbVgwQJr+vTp1rvvvmsdOXLEWrlypfXCCy+4tp8wYYK1cuXKHMuRI0dct+srdPfr18+qWbOmNWjQIOv777+35s6day1cuND66aefrLvuusuKjY21JFllypSx9u7d6/Y2AhG6s79Zt2rVyvr222+tRYsWWX/++afrYNyyZUvXNu5C94kTJ6xmzZq5Xtz9+/e3vv32W2vevHnWzJkzrRdffNH1QitRooS1bdu2XLfhPPiVKVPGql69uhUXF2cNHjzYmjFjhjV//nzrvffesypUqOCq45133nH7eGbNmmXFxMRYkqxy5cpZL7zwgjV27Fhr8eLF1tixY60bbrjBdRtXXHGF29twrm/Tpo0VFRVlNW7c2Priiy+shQsXWjNmzLAefPBB1/9W1apVrZMnT+a6jfT0dKt58+au2+rWrZs1ZswYa9GiRdYvv/xide3aNddz6y50//fff1aVKlUsyYTFgQMHWj/++KO1cOFCa+rUqdaQIUNcB9qaNWtahw4dynUbzv+Tc8891ypdurRVtmxZ65VXXrFmzZplLViwwHrrrbespKQk1xv+qlWr3D4vo0aNctVauHBh67777rPGjRtnLVmyxJoxY4Y1bNgwq1u3blaNGjVy7btx40YrMTHRkmQlJCRYQ4YMcT0fEyZMsO69915XkGndurWVlpbmtgZfsr9BlClTxnrjjTesuXPnWrNmzbKGDh3q+sDgcDisP//8M8e+ztex8zVRsWLFXK/xvMh+DGjXrp0VGxtr3X///dbEiROtxYsXW998802OD2UfffSR29vx9Tq/++67XbfRoEED68svv7QWLlxoTZ482Ro4cKBVqFAhq3Xr1l6PtYGq1R+BeI0G69h/+rZnc0ywLMu65557XLd1/vnnW1988YU1bdo0a8GCBdann35qNWjQwLX+t99+y7V/9gB63nnnWQ6Hw7rxxhutP//801q8eLE1ZswYa9y4cX7/Ld5//33X7XXo0MEaMWKENXPmTGvJkiXWxIkTrTfffNO66KKLrFatWrn2OZP3w08//dQqUaKEddNNN1lffPGF6z7++OMP67nnnnM1BDgcDmvy5Mk5ajx48KC1cuXKHP/np9/XypUrcxwzAhG6Bw0a5Lq/Sy+91Pr222+t2bNnW4sXL7b++usv66WXXrLatWtnXXnllX4/39ktXbrU9T4fExNjPfjgg9bUqVOtBQsWWB9//LFVo0YN1/0/+uijbm/D+TibNWtmFS5c2KpRo4Y1bNgwa968edbcuXOtoUOHWoULF3Ydd/ft25fnOg8dOmQVKVLEkmTdcccdXrd1fgg877zzcq2LxNe9L/kydKenp1tt2rRxbTdq1CjXug0bNni9/YkTJ7r+CJ999pnbbbJ/wunSpYt14sQJj7eX/YCX/VO1O75C96ZNm6zMzEyP+69YscIqXry4Jcl68skn3W5ztqH7jz/+cNXYs2dPKz09Pdc2zz77bI7nyF3odn5aTEpKshYtWuT2vrZt2+YKzddff32u9dlb/mNiYty2Fu3atcuqXLmyJckqVqxYrgNIWlqaVb16dUsy34gcPXrUbS2ffPKJ677+/vvvXOuzP96ePXu6fQPN/obzyy+/5Fo/bNgw13pPB6pbbrklx325C93XX3+9601hy5Ytbm9nyZIlrjD5+OOP51qfvXWgWrVq1j///JNrm5kzZ7pa3+6///5c63fv3u0K92XLlvUaQHfs2JHrunbt2lmSrKZNm1r//vuv2/3++usv1+v1k08+8Xj7nuzbt89VY8WKFd3Wkf25qlSpkttw7+2NOC+yHwNiYmLc/n33799vlStXzuMblWV5f50vWbLE9Xdr27atdezYsVzbZG+08Cd0n02tvgTqNRrsY38gjgl///23a72nmo4fP+76xrBatWq5jsmnt/p6uh1/OVtyW7du7fb477R///5c1+Xl/fCff/7x+Le2LBPszjvvPFf4d8fXe2p2gQjdzsYOX6Ha3XPjD2eDS6FChawJEybkWn/gwAGrfv36liQrKirKbWNI9m8OmzdvbqWkpOTaZvTo0a5t3nrrrTOqtX///pYkKzEx0e0xxrKsHN+Iv/322znWRerr3pd8FbqPHDliTZs2zercuXOOwJDXJ6hPnz6uT6ruOG87KirK54EjkKHbH//73/8sSVbDhg3drj/b0N2zZ09LMi2ou3btcrtNRkaG1bBhQ4+h+/Dhw64WzPfff9/r/X3wwQeuN/XsrSCWlTN0Dxw40ONtfP/9967tTu8K4WyJLVy4sM9P9K1atfL4AcB5+4ULF/b4LUNqaqqrleLBBx/Mtd55sCxXrpzHA8zhw4etMmXKeAzdW7dutQoVKmRJssaOHev18Tz66KOusHm67KH7999/93gbzg+3TZs2zbVuyJAhrtv49ddfvdZyuhkzZrj2XbFihddtr776aksyra159eqrr7rux9tXqdnD0Q8//JBrvR2h21uXqMGDB1uSaeXz9k2Fu9f5XXfd5boPT99QWJZlXX755X6H7rOp1ZdAvUb9EchjfyCOCc4w7as7wpo1azwGj+zvQRdeeKHX2/HHOeec47FeX/LyfuiPX3/91XV7//33X671wQ7dzlbZvLR8+mv+/Pmux3LXXXd53G7WrFmu7e65555c67OH7uXLl7u9jczMTKtixYqWJOvyyy8/o3qnT5/uup/Ro0e73ea+++6zJFmxsbG5GlYi9XXvS0SfSPnss8/mOCmiePHi6ty5s+tkjLJly+rXX39VXFycx9v4999/tXHjRq1atcq1lClTRpK0fPlyr/ffvn37vHWgD7CDBw9q8+bNWr16tav2pKQkSdKaNWuUnp4e0PvLyMhwPbfdunVTxYoV3W4XFRWlAQMGeLyd6dOnKyUlRZJ05ZVXer3P888/X5KUnp6uxYsXe9wu+wk6p7v88stdz4tzPGWn33//XZLUqVMn19/dVy1z5871uM1FF12ksmXLul0XHx+vc845R5K0ZcuWHOv27NnjOrnm6quvVtGiRd3eRvHixXX11Vd7vP8///xTGRkZKlq0qC6++GLPD0ZZj2f37t3asWOH222SkpJ0ySWXeLyN5s2bS8r9eCTpjz/+kCTVrFlTl112mddaTuf8u9SpU0eNGjXyuq3zcSxcuDDPJ+w5/x+SkpJ0xRVXeNzutttuy7WP3fr16+dxnfN5tyxLW7duzdPtOutv2rSpGjRo4HG7G2+80e/btKtWKfCvUadgHfvP9JiQmprqOt76Ok7Wq1dPpUuXluT9sXv7O/mrQoUKkqSxY8cG7cR9yZwQt23bthzvd9lHC/L1NwsG53Pz/fff69ixYwG97ezHnVtvvdXjdu3bt3edwOjtWNWoUSOdd955btc5HA41bdpUkvtjuz/OP/98nXvuuZKkL7/8Mtf6tLQ0ffPNN5KkXr16uf5/nSL9de9JRI/T7UmNGjV05ZVX6uGHH3Z7sJs9e7bee+89TZo0SQcOHPB4O74OKJ7+Ye20cuVKvf322/rrr7+8zraZmZmpgwcPejzYn4nNmze7DiQtW7b0um320WNOt2jRItfPzoOUPzw93tjYWDVu3NjjfjExMWratKmmTp2qlStXuq1lwoQJfo804e15r1u3rtd9S5YsKUm5pgnPXpc/z+3w4cPdrnM+nmPHjik62v+Xd3JysqpWrZrr+nPOOUdRUZ4/m3t6POnp6Vq1apUkqUOHDnkexcP5ONavX+/3vunp6Tpw4ECe/uedNTZr1szrcH/lypVT9erVtW3bNtc+dvP2v+R83qXcz703J06c0KZNmyRlhWFPWrRo4fft2lGrUyBfo6E49p/pMWHp0qWu0Yquu+46XXfddX7dn7fjUyDeswYMGKAZM2Zo06ZNql27tq644gpddNFF6tixoypXrnzWt5/df//9p7feeks///yzNm7c6HWUimB+APBkwIABev755zVnzhzVqFFDV111lbp06aIOHTr4DI6+OI87sbGxatKkiddtW7durbVr12rjxo1KS0tTbGxsrm3O9P8yL2699VY99thjmjJlirZv365q1aq51v3+++/av3+/JOmWW27JtW+kv+49iejQnX1GSofDocKFC6t06dJKTEz0uM/QoUNzDCPkjbch1SQzHngwff7557rrrrv8bs3zVX9eZf9n9RVsypUr53Hdvn37zuj+PbUclCxZUoUKFfKrntNfcGdSi7fn1VMLtZMzwGZkZOS4PlyfW38fz+lDGR44cMD1BpmXD1ZOgX4cnjifd3+Cevny5bVt2zavB+1A8vbcZ/8gdPr/kjeHDh1y/ewrBOQlJNhRq1OgXqOhOvaf6THBjtdAIN6zbrnlFm3evFmvvfaaUlJS9OWXX7paMmvVqqXevXvr3nvvVc2aNc/qfhYvXqzu3bu7gpkvgX6/OxNPPfWUdu3apS+//FL79u3T8OHDXQ0kDRo0UN++fXXPPfd4PYZ74jzulCxZ0meDSvny5SWZb5cOHjzo9v7O9P8yLwYMGKAnn3xS6enpGjlypJ5++mnXui+++EKSVKlSJXXv3j3XvpH+uvckokO3uxkpvZk8ebLrya9Zs6YefvhhdejQQVWrVlWxYsVc/8hPP/20nn/+eZ+35yvoBdK6detcgbts2bJ65JFHdOGFF6p69eqKj493tdJ98cUXrq+evLUKnK2zGX84+4t4yZIlfk8o4qkVJRC1XHzxxXrttdfO+HYCKRCPp3Tp0po6darf+9WoUeOM79MOzsfRuHFjjR492u/9KlWqdEb3d7bjacM+gXiNRuKxP/tx8uOPP1a7du382s9bMAhU3S+++KLuuOMOff3115o8ebLmzZunY8eOafPmzXrrrbf0/vvv67333tNdd911Rreflpamq6++Wvv371dMTIzuu+8+9e7dW+eee65KlCjh6jK6ZcsW1apVS5K973f+iomJ0eeff65Bgwbp22+/1ZQpU7Ro0SKlpaVp9erVWr16td566y2NHj1avXv3PqP7iKRjVbly5XTppZdqzJgxGjFihJ566ik5HA7t3r1bf//9tyTTjc3d/2V+fd1HdOjOq08//VSSOSjNmzfPY0tOsFqy8mLEiBE6deqUChUqpOnTp3v8asjO2rMfzPfu3et1W2/rS5Uq5fq5TJkyZ/2V5P79+5WRkeH1BeGsJ/tX3c5adu/erbS0tDx9gAu0QD+3hw8fVr169YL6wTC7kiVLKioqSpmZmdqzZ0+e93c+jiNHjtj6dylZsqT27Nnj8zmXsr66PP1/KJI4z22QTN9Gb3ytD5ZAvEYj8dif/ThZtGjRkB6f3KlWrZoef/xxPf7440pPT9fChQv1ww8/6OOPP9aJEyd0zz33qHXr1q6+wXkxZcoUV1/iDz74IMc5FdkF8u/l6Vu70x09etTnbdWvX1/PP/+8nn/+eZ04cUKzZs3SN998o1GjRunIkSO67rrrtHnz5jx9C+g87uzfv1+nTp3y2trtPFY5HI6gfyN/uttuu01jxozR1q1bNX36dHXu3FmjRo1yhWpP52Pl19d9RJ9ImVerV6+WJF1wwQVevzrN3uf4bAXqU6mz9saNG3vtixXI2k9Xq1YtFSlSRJI5ac0bb+uzH4Rnz5591nWlpaV5PQHi1KlTWrZsmSTlevE6a3G2RoRK9pMFA/Hcnjx50tb/BV9iYmJcz/XMmTPz3AqV/SQeb31Uz5azxiVLlnjttrVv3z7XzLbhFn7yonDhwq6WQW8nJkv2HkvyIhCv0VAc+89WkyZNXO8fgThO2ikmJkbt2rXTO++84zo5zrIs/fTTTzm28/f90Pn3kqRrrrnG43a+/l55ef+Nj4+XJK+zIEvyOvunO4ULF1bXrl31xRdf6PXXX5dkujE4TzT3l/O4k5aW5no/88Q5G+g555zjtj93MPXo0cPVsObshuS87Nixo+tE4tPl19d9gQrdzjdVb59Uly5dqvnz5wfsPgsXLuz6Oa/To2fnT+179uxxnfFrh+joaNe00n///bfHFszMzEzXtNjudO3a1dWf7L333gvI14Le7m/MmDGuA2nXrl1zrHOOquHsmxgqFStWdJ1x/uOPP3rsW3b06FH98MMPHm+nV69erjead955J+B15kWvXr0kSVu3btVvv/2Wp32dfxfLsvTuu+8GvDYn5//DoUOH9Msvv3jc7vPPP3f9n57+PxRpunTpIskc67KHm9ONGjUqWCV5FYjXaCiO/WerTJkyatOmjSTpm2++CZtvHnxx/n9JuU9M8/f9MPsHYE9/s8zMTFdLpid5ef91drFbsmSJx/ek1atXa8WKFV5vxxtvz40v2Y87zv7Q7sydO9c1ElY4HKuioqJcrdk//fSTxo8f7/rg4u4ESqf8+rovUKHb+Ylq1qxZrjP4s/v333/Vv3//gN5n9q+PNm/efMa346x948aNmjNnTq71x44d0/XXX2/7ySR33323JHMAu/POO92eZPHyyy/nGiUku6SkJA0cOFCSNGfOHD344INev9Lbu3evPvvsM691ffjhh5o1a1au65OTk/Xwww9LMl/Rnj6U4YABA1SlShVJ0sMPP6wZM2Z4vZ9Zs2Zp+vTpXrc5U87nNjk5WYMGDXK7zYMPPuj1BJM6deroqquukiR99913euutt7ze59atW/Xtt9+eYcXeDRw4UMWKFZMk3XnnnV5H/fjnn39y/N6tWzfXCDivv/661w8akhn9ZezYsXmu8eabb3Z9ABw0aJB27dqVa5vly5frpZdekmT6jPfp0yfP9xNO7rjjDtcHs9tvv93tMePnn3/WmDFjgl2aW4F4jYbi2B8ITz75pCQzfOCVV16Z40TY0508eVLDhw/XiRMnbK1p9OjRXr8VcvbVlXKfK+Lv+2H21s8RI0a43WbIkCFasmSJ11rz8v7bqVMnSWYIVXfHxMOHD3sdqu/AgQMaO3as10Ykb8+NL61atXKNKPTpp59q8uTJubZJSUnRnXfeKcmEXed7SqjdcsstcjgcOnbsmCuAx8fHu96r3Mm3r/uzGuU7BPydBt6d7LOsVaxY0Xrvvfes2bNnW7Nnz7Zef/11q0KFCpbD4bDatm3rdUD9vNx/amqqa0rVZs2aWX///be1fv16a+PGjdbGjRtzzNTkbSD/BQsWuNYlJSVZL774ojV9+nRr/vz51gcffOCasKB9+/ZeJx8IxDTwvXr1ct1H69atre+++841ze0111xjSbJatGjh2sbTNPDZp5lu3LixNWzYMGvWrFnW0qVLrSlTpljvv/++1bt3bys2NtZq3rx5rtvIPg18tWrVrMKFC1tDhgyxZs6caS1YsMAaNmyYa4B/Sdabb77p9vHMnTvXiouLsyQz01e/fv2sH3/80Vq0aJG1YMEC67fffrOefvpp1xSw7ib08fd/wtvzn56ebjVt2tR1Wz169LB+/fVXa/Hixdavv/5qdevWLddz62kWwJo1a7q2Of/8863PPvvMmjt3rmuq5jfeeMPq2rWrFRUV5XbiDX//T3xNPpF9GvgiRYpY999/v/XXX39ZS5cutWbOnGl9+OGH1sUXX2zVrFkz176bNm2ySpYs6dq/V69e1ujRo6358+dbixYtssaNG2e9+OKLrgl6Bg0a5LVWT7JPA1+uXDnr7bfftubPn2/Nnj3bevbZZ12zvLqbBt7JjslxvMl+HHT3P+Dr73fHHXe49m/QoIE1YsQIa9GiRdaUKVNc08A7J5yQZA0dOtS2Wv1xtq/RUBz7A3FMsCzLeuCBB1y3Vb58eWvo0KHWpEmTrKVLl1qzZs2yRowYYd16661WiRIlLEnW4cOHc+wf6AlpnK+Tu+++2/rqq6+sOXPmWEuWLLH++usv66GHHnJN/128ePFcM7z6+3545MgRq2zZsq6/95133mmNHz/eWrRokfXdd99ZXbp0yfV+5+59ZuPGja713bp1s6ZPn25t2LDBdX/ZZ9Tct2+flZCQ4JqQ5dlnn7XmzZvneo+tXbu2VbhwYdcx+vTX+tatWy1JVvXq1a2HHnrI+v7776158+ZZixYtssaOHWvdcccdrpkPK1WqlOvv5I/s08DHxsZagwYNsqZNm2YtXLjQ+uSTT3Ic931NA382kwCdiYsuushVmyTr1ltv9blPJL7ufSlQoduyLOvmm2/O8YfPvhQqVMh65513fL6Z5PX+nTP/uVuyvwn5ut/Tp1c/fRk0aJDPA2wgQndqamqOg93pS9OmTa3Fixd7PRg6b+eKK67w+picywUXXJBr/+wHhYULF1qlS5f2uL+7acqzmzt3rmsKX1/LyJEjc+0fqDfYXbt2WXXq1PF43926dbMmTJjgM8Ts2bPHNV2zr+Xmm2/Oc51O/gSvESNGuN6IPS2eDuzr16/PMbupt+XZZ5/1Wqs3L774ousN0d0SFxfn9u/uFGmh++TJk9all17q8fHWqFHD2rRpk+v3V155xbZa/XW2r9FgH/sDdUzIzMy0nn32WSs6Otrn4y5WrFiuKbftCN2+lsTEROuvv/5yu7+/74fjx493BXR3S+fOna1Vq1a5fvf0PuOcsdbdcvrz8cMPP7hm9D19KVKkiPXjjz96fK07Q7evpUKFCtaiRYvO+PmfMGGC68OBp+Xee++1MjIy3O4fqtCdfWZoSdbs2bP92i/SXve+FKjuJZLpC/XVV1+pY8eOio+PV1xcnKpVq6b+/ftrzpw5euCBBwJ+n6+88oo+/fRTdezY0a8xpT15+umn9eeff6pbt24qUaKEYmNjVblyZV1xxRX6+++/9cYbbwS4cvfi4+M1bdo0vf/++2rZsqWKFy+u+Ph4NWnSRC+//LLmzJnj1wgP8fHx+vnnnzVz5kzddtttqlOnjuLj4xUdHa2SJUuqZcuWuvfeezVu3DhNnDjR6221aNFCS5Ys0f33369atWqpcOHCKlWqlHr06KFx48b57Bfcpk0bbdy4UR999JEuueQSVaxYUbGxsSpcuLCqVKmibt266cUXX9S6devyNFNfXlWsWFFLly7VCy+8oIYNG6pIkSJKSkpSmzZt9MEHH+ivv/7y68SY8uXLa8aMGfrjjz/Ur18/1axZU0WLFlVMTIzKlCmjdu3aadCgQZo+fbrX/oGBMGDAAG3evFlPPPGEmjdvrqSkJBUqVEglSpRQmzZt9Pjjj2v8+PFu9z333HO1bNkyffPNN+rbt6+qVq2qIkWKKDY2VhUqVFDnzp315JNPavHixTnGgM2rxx9/XEuXLtXtt9/uOmG4WLFiqlevnh544AHb/+7BFhsbq99//11ffvmlOnTooMTERBUtWlT16tXT448/rsWLF+cYPcPb3AfBcrav0VAc+wPB4XDo6aef1oYNG/Too4+qRYsWrveR+Ph41a9fX/369dPIkSO1Z88e18nudlm1apVeffVV9erVS/Xr11epUqVUqFAh13HqmWee0fr169WjRw+3+/v7fti9e3ctWrRIN9xwgypWrOg6dnXq1EmffPKJJk+e7Oq+5s3o0aP12muvqVWrVkpMTPQ62ddVV12lOXPm6PLLL1eZMmUUGxurKlWqaMCAAVq4cKHXmUGrVaumBQsWaOjQoerWrZvq1KmjpKQkRUdHq3Tp0jr//PP1+uuva926dT4npvKmW7du2rRpkx5//HE1adJECQkJiouLU9WqVdWvXz/NnDlTw4YN8/o4Q6FPnz4qXry4JDMxj79DYOa3173j/1M8EHFuuukmjRw5UtWqVdO2bdtCXQ6Qr8yaNUsdO3aUZKaTzn4SGADkxcaNG13Twr/66qt69NFHQ1xRaITXRyEAQFhwnkwWExNzVi1zAOD8RjU6OjpffWuYV4RuAChg/vvvP68jYUyYMEEff/yxJDN0V/ZJdQAgLw4dOqRPPvlEkulm4pymviAqUDNSAgBMv9zevXvrqquuUteuXVWrVi1FRUVp+/bt+v333zV69GhlZGSoSJEiruESAcBf+/btU2pqqnbv3q2hQ4fqwIEDcjgcGjJkSKhLCylCNwAUQKmpqfr888/1+eefu12fkJCgH3/80dUPEwD89eijj+aatO6ee+5Rs2bNQlRReCB0A0AB06JFC40YMULjx4/X8uXL9e+//+rQoUNKSEhQ7dq11aNHDw0cONDr1MkA4EtsbKxq1aql22+/Xffdd1+oywk5Ri8BAAAAbEZLtw+ZmZnavXu34uPjXVMnAwAAIHxYlqXDhw+rYsWKYTdOuROh24fdu3erSpUqoS4DAAAAPuzcuVOVK1cOdRluEbp9iI+Pl2T+iAkJCSGuBgAAAKdLTU1VlSpVXLktHBG6fXB2KUlISCB0AwAAhLFw7gocnp1eAAAAgHyE0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2Cw61AUAACLUqVNSerq5LFRIio2VonlbAQB3ODoCQEGWlibt2SPt2pVz6ddPatLE+759+kh//pnzuqgoKS7OLIULS4mJUsmSUokSWZelSkmVK+dcEhPteoQAEBYI3QCQ31mWtHu3tHattGGDtH69WTZskLZtM+tP16SJ79BdqFDu6zIzpePHzSJJycn+1RgfL1WtKv32m1Srln/7AEAEIXQDQH5iWdL27dKSJdLixeZyyRJp37683U5Kiu9tAtmV5PBhafVqqXRp39tu2SJVq+Y+9ANAmCJ0A0Ck27lTGjNGmjFDmjkz7wHbnUOHfG8T6P7b5cr57mZy9KhUu7ZUpIjUooXUvr3Urp3Utq3ptgIAYYrQDQCRbsUK6YEHAnubwW7plqQ6dXxvs2KFac0/dsx8yJgxI2td3bomhF94odSliwnxABAmCN0AEOnat5ccDvd9s8/UsWO+t7nsMql6ddPNIyNDOnky53L8uGkxP3BAOnjQXHprQT/3XN/3uWyZ53Xr1pnl88/N7w0bSl27muX8802/cQAIEUI3AISjf/+Vfv1Vmj1b+vJLE6o9SUqSGjf2HkhPV66caVmuU0eqWVOqVClrqVjRv4B6zTVmyYuMDPPY/vnHLDt3mssdO6TOnX3vv3Sp//e1apVZ3nlHiokxt9+rl1mqV89b3QBwlhyWFcimkfwnNTVViYmJSklJUUJCQqjLAZCf7d4t/fKL9PPPpttEZqa5fulS3yOJPPCA9N57ua+Pj5eaNpWaNTOX9eqZFuVIHaKvVStp4cKzv51GjUz4vvxyqXlz7x9qAIS9SMhrtHQDQCilppqg/dVX0tSp7ruI/Pyz79B9/vnSsGGmxbtjR3NiYbNm5qTDqHw0+fAzz0gLFkjz5pklNfXMbmflSrO89JK0aJEJ3gBgI1q6fYiET04AIkx6ujRxognav/2WNaa1J/Xrm+H0vDl+3Ex0E6kt2GciI0Nas0aaM8d0w5k504w7nhfVq5shCGnpBiJaJOQ1WroBIFi2bJE++0z64gtp717/91uzxpwgWLeu522KFDFLQVKokOkm0qiRdOed5rotW6TJk6VJk8zl/v3eb+PqqwncAIKC0A0AdkpPl37/XfrkE+nvv8/sNpo18x0eYdSsaZbbbzd94pctk8aPN3+DBQtyd9/x50TQn3+Wvv9eGjBA6tGDSXkAnBG6l/gQCV9XAAhDu3dLH34offpp3lq1ndq2lfr2la64QqpRI/D1FUR790p//imNHWs+AFWsKG3Y4Lulu0cPacIE83OVKtIdd0i33SaVL29/zQD8Egl5jdDtQyT8EQGEmTfekIYMkU6dytt+TZpI/fub1tdKlWwpDf/v+HFp61bTX96bXbukqlWzRpJxio6W+vSR7r5buuACuqgAIRYJeY3uJQAQaPXq+R+4K1eW+vWTbrjBTOaC4ChSxHfglszJrqcHbsn8fX/6ySx165ohG2+8USpaNPC1AsgXaOn2IRI+OQEIM5mZJoht3Oh+fUyMGR/69ttNKyl9hMOTZZlgvm6df9uXLCnddZd0772m6wqAoImEvJaPBm8FgDARFSXdf3/u62vVkl591czA+P33ZnpyAnf4SkszfeorV/Zv+wMHzLjf1aubVu/ly20tD0BkIXQDgL/27ZMee8yMB+3LgAFSQoIJ4Jdfboaw27BBevRRqWxZ+2vF2YuLk1580Yz9PXasdMkl/vXdTk833VKaNJEuvdSMIw6gwKN7iQ+R8HUFAJvt2ye9/ro0fLg5Aa97dzMMnS+//y6dd55p+UT+sG2bGf7x88/N/4W/OnWSnnjCfLvBSZdAwEVCXiN0+xAJf0QANtm3z4xEMny4dOxYznVLlkhNm4amLoReWpoZv/vtt6WFC/3fb8AAacQI28oCCqpIyGt0LwGA0x04IA0ebMbHfv313IFbMn2zUXDFxkrXXSfNny/NmmX6fkf58Zbas6f9tQEIS4RuAHA6dkx65ZWsEx7dhW2nH3+UNm0KXm0ITw6H1L69afXetMkMHVismPttzznHTHgEoEAidANAerr00UdS7dpmUptDh3zvc/nl9M1FTjVqSO+8I23fLj3zjFSiRM71gwczWg1QgBG6ARRclmVarOvXNzML7tnje5++faUVK8ykKLVq2V8jIk+pUtLQoSZ8v/66mS6+ShUzAZIvu3Z5Ht8dQEQjdAMomObPlzp0kK6+2r9uIn37mnGXf/pJatTI/voQ+eLjpYcfNtPN//mn6Qfuy5Ah5kPgwIF5Gx0FQNgjdAMoWHbsMNOut2nj3/jJvXpJy5aZsH3eebaXh3yocGH/PqgtXy6NHm2mmB8+3HyT8vzz3s8tABAxCN0ACoajR804yXXqSN9843v7Dh3MqBS//y41bmx/fcBjj5kuT05HjkhPPy3VrWtmMGWEXyCiEboBFAwZGdIXX0gnTnjfrlEj6Y8/pBkzzKgUQDBMnixNmOB+3c6d0rXXSuefLy1eHNy6AAQMoRtAwZCQ4H1s7cqVpVGjpKVL/Z/uGwiUVaukmBjv28yaJbVsKd16q7R3b3DqAhAwhG4ABccNN0ht2+a8rnhx6YUXpPXrpf79GdINofHAA9LatdI113jfzrLMNzbnnisNG2a+wQEQEQjdAAqOqCgTVBwO8/Ptt5vh2Z54QipaNNTVoaCrVUv67jtpwQLfXZtSU6X77jMt3/PnB6c+AGeF0A0gf1i92r+v3Js1k957z3Qj+eQTM4YyEE5atpRmzjQBvEoV79suXWq+vbnzTmn//uDUB+CMELoBRLZjx8zYxk2aSIMG+bfPwIEM/4fw5nCYribr1pmJdooU8bytZZkPkHXqSCNHMsoJEKYI3QAi17hxUoMG0iuvmLGNv/7ajAIB5BdFi5op5devNyOYeLN/v3TTTVK3btKWLUEpD4D/CN0AIs+//0rXX29GGdm2Lee6u+/2PSwgEGmqVJG+/dZ8qKxTx/u2kyaZSXYAhBVCN4DIYVnSV19J9eqZAOLOxo3Sa68Fty4gWC68UFqxQnrpJc9dTurXNxPtAAgrhG4AkWH7dunii6Ubb/R+wlh0NMOoIX+LjTXnMaxZI/XunXOdwyF9+qkUFxea2gB4ROgGEN4yM80wfw0aeJ6xz6lDBzOaw7PPBqc2IJSqV5d+/dUslSqZ6+65R2rXLoRFAfCE0A0gfG3ZYr5Ov+8+6ehRz9slJZnWvenTpYYNg1YeEBZ69zat3oMHm24n/mCEEyDoCN0Awk9mpjR8uBnWb/p079v27WsCx223mQlvgIIoIUF6+WVz6cvGjVLr1tKiRfbXBcCFdygA4WXbNqlrVzOWtrfW7QoVpF9+kX76yfwMwLeMDOnmm6WFC6U2baTnnjPDbQKwHaEbQHiwLNNFpFEjaepU79vedptp3b788uDUBuQX778vzZ5tfs7IMGOAt28vbdgQ2rqAAoDQDSD0Dh6ULrtMuuMO6cgRz9tVrWrGIP70U9OPG4D/Nm6UHn889/ULFkhNm0offkhfb8BGhG4AoVe0qLRjh/dt7rxTWrVK6tIlODUB+c3rr0vHj7tfd+yYGfnkkkukPXuCWxdQQBC6AYReXJyZQS82Nve6KlWkv/+WPvpIio8Pfm1AfjF8uOlOUqiQ523++sucwDx2bPDqAgoIQjeA8NCokfTiizmvu/1207p90UWhqQnIT2JipKFDpTlzpHPP9bzdf/+Z7l733ee5ZRxAnhG6AYSPBx+Uzj9fKl9e+vNP6ZNP/BsCDYD/WrUyk0jde6/37YYNM9uuWhWcuoB8jtANIHwUKiR9/bW0cqXUs2eoqwHyr6JFTageP977kJurVkktWphtOckSOCuEbgD2++Yb6dJL/RsPuHJlqXRp+2sCIHXvbj7k9u3reZuTJ01Xk8svlw4cCF5tQD5D6AZgnyNHpAEDpH79THeRl18OdUUATleqlPTjj2YozqJFPW/3229maME5c4JXG5CPELoB2GPZMql5c2nUqKzrnn1Wmjs3ZCUB8MDhMJNOLV4sNWniebsdO8x5F6+8ImVmBq08ID8gdAMILMsyQ5O1aZN7lruMDNPqnZoamtoAeFe3rjRvnjRokOdtMjKkGTOCVxOQTxC6AQTOwYOmb+jAgaYfqDtbt0o//BDcugD4Ly5OeuMNc5Jl2bK511esKI0cKUURIeAG34B4xCsGQGDMn2/6e44Z43mbxETpu+/M19gAwlv37qab2IUXZl0XFWVOjC5TJmRlIYwdPCg1a2bOEUAuhG4AZ8eypHfflTp2lLZv97xd69ZmbOBrrglebQDOToUKZkbY554zgfuZZ6ROnUJdFcKRZUk33SQtXy5dfbV0//1SWlqoqworERe6hw8frurVq6tw4cJq3bq1FixY4HX7H3/8UXXr1lXhwoXVqFEjjRs3LkiVAgVASop05ZXS//4npad73u6RR6SZM6UaNYJWGoAAKVRIeuopacEC6YknQl0NwtVbb0m//571+/vvm8aYbdtCVlK4iajQ/f333+uhhx7SM888oyVLlqhx48bq3r279u3b53b7OXPm6LrrrtOtt96qpUuXqk+fPurTp49WMbsWcPaWLjWjk/zyi+dtSpeWxo2TXnvNTEENIHI1b24CuC+HD5vhB5lMp+CYPVt67LHc1y9YYBplIElyWFbkvCpat26tli1batiwYZKkzMxMValSRffdd58GDx6ca/trrrlGR48e1R9//OG6rk2bNmrSpIk++ugjv+4zNTVViYmJSklJUQLTUQPmjfTTT81Xh55OlpSkzp3N7JIVKwatNAAhZlnS9debczcuv1z68ktzLgfyr3//Nefz7NqVe13Zsua8AG+zngZIJOS1iGnpTktL0+LFi9W1a1fXdVFRUeratavmehj3d+7cuTm2l6Tu3bt73F6STp48qdTU1BwLgP937Jh0883SnXd6DtwOh/kqetIkAjdQ0Hz0kQnckjmpukUL08cX+VNmptS/v/vA7XBI334blMAdKSImdP/333/KyMhQuXLlclxfrlw5JScnu90nOTk5T9tL0ssvv6zExETXUqVKlbMvHsgPNm+W2rUzQ4V5Urq09Ndf5qQrf76GBpB/LF6cuyvBpk1mzP4vvwxJSbDZyy9LEya4X/fsszlHvkHkhO5gGTJkiFJSUlzLzp07Q10SEHqnTkk9enhvsWrf3vTz7t49eHUBCA/p6dK117ofreLECemWW6Rbb5WOHw9+bbDHpEnS00+7X3fRRdLjjwe3nggQMaG7dOnSKlSokPbu3Zvj+r1796p8+fJu9ylfvnyetpekuLg4JSQk5FiAAi862swy6XC4X//II9LUqVLlysGtC0B4iImRPvjAfNvlyRdfSG3bmtZvRLaNG6WrrnI/EU7FitLo0Xzb6UbEhO7Y2Fg1b95ckydPdl2XmZmpyZMnq23btm73adu2bY7tJWnixIketwfgRbdu5uvC7BISpF9/ZXQSAKZ1c+lSE6w9Wb7c96hHCH8JCVK9ermvL1TI9Ol3N5MpIid0S9JDDz2kTz/9VCNHjtTatWt199136+jRo7r55pslSTfeeKOGDBni2v6BBx7Q+PHj9eabb2rdunUaOnSoFi1apIEDB4bqIQCR7YknpEsuMT83amT6cPbuHdqaAISPypWl6dOlBx/0vE1qqtS3rzRokPfx/RG+ypUz327edFPO6196yYzNDbciKnRfc801euONN/T000+rSZMmWrZsmcaPH+86WXLHjh3as2ePa/t27drpm2++0SeffKLGjRvrp59+0q+//qqGDRuG6iEAkS0qSvrqK/NmOW+e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0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANgsYkL3gQMH1K9fPyUkJCgpKUm33nqrjhw54nX7++67T3Xq1FGRIkVUtWpV3X///UpJSQli1QAAAEAEhe5+/fpp9erVmjhxov744w/NmDFDd9xxh8ftd+/erd27d+uNN97QqlWrNGLECI0fP1633nprEKsGAAAAJIdlWVaoi/Bl7dq1ql+/vhYuXKgWLVpIksaPH6+ePXvqn3/+UcWKFf26nR9//FE33HCDjh49qujoaL/2SU1NVWJiolJSUpSQkHDGjwEAAAD2iIS8FhEt3XPnzlVSUpIrcEtS165dFRUVpfnz5/t9O84/hLfAffLkSaWmpuZYAAAAgLMREaE7OTlZZcuWzXFddHS0SpYsqeTkZL9u47///tPzzz/vtUuKJL388stKTEx0LVWqVDnjugEAAAApxKF78ODBcjgcXpd169ad9f2kpqbqkksuUf369TV06FCv2w4ZMkQpKSmuZefOnWd9/wAAACjY/OvYbJNBgwbppptu8rpNzZo1Vb58ee3bty/H9adOndKBAwdUvnx5r/sfPnxYPXr0UHx8vMaMGaOYmBiv28fFxSkuLs6v+gEAAAB/hDR0lylTRmXKlPG5Xdu2bXXo0CEtXrxYzZs3lyRNmTJFmZmZat26tcf9UlNT1b17d8XFxen3339X4cKFA1Y7AAAA4K+I6NNdr1499ejRQ7fffrsWLFig2bNna+DAgbr22mtdI5fs2rVLdevW1YIFCySZwN2tWzcdPXpUn3/+uVJTU5WcnKzk5GRlZGSE8uEAAACggAlpS3defP311xo4cKC6dOmiqKgo9e3bV++9955rfXp6utavX69jx45JkpYsWeIa2aR27do5bmvr1q2qXr160GoHAABAwRYR43SHUiSM+wgAAFCQRUJei4juJQAAAEAkI3QDAAAANiN0AwAAADYjdAMAAAA2I3QDAAAANiN0AwAAADYjdAMAAAA2I3QDAAAANiN0AwAA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6TIyd6504EDgbj8uTmrdOmsymrZtpaJFA3f7AACEqzyH7r59+6pVq1Z67LHHclz/2muvaeHChfrxxx8DVhwA+1iWmdhg7tysZelSM252oBQtalqvzz/fLK1bS4ULB+72AQCIFHkO3TNmzNDQoUNzXX/xxRfrzTffDERNAGxw9KgZO3X+fDO6yNy50p49gb2PxETTD/v8801LdrNmEoMaAQBwBqH7yJEjbocGjImJUWqgppEDcFYyMqS1a01XkfnzzbJypbk+kMqXlzp2NMv550sNG0rZzrEGAAD/L8+hu1GjRvr+++/19NNP57j+u+++U/369QNWGAD/WJa0ZYsJ2M5lyZLATUCTXd26UocOWUvNmpLDEfj7AQAgv8lz6H7qqad0xRVXaPPmzbrwwgslSZMnT9a3335Lf27AZpmZ0ubNppuIc1myREpJCfx9xcaaiWjatzf9stu3N1P+AgCAvMtz6O7Vq5d+/fVXvfTSS/rpp59UpEgRnXfeeZo0aZI6depkR41AgXTypLR6tTm5cdkyc7l8uXTkiD33V66cGU3EGbCbNzejjQAAgLPnsDzN6w5JUmpqqhITE5WSkqKEhIRQl4N8yLKk5GQzyczy5WZZsUJaty6wI4lkFx0tNW5sQrZzqV6driIAgMgUCXktzy3dknTo0CH99NNP2rJlix5++GGVLFlSS5YsUbly5VSpUqVA1wjkG4cPS6tWmWXlSrOsWiX995+991utmhmuz7k0ayYVKWLvfQIAgCx5Dt0rVqxQ165dlZiYqG3btum2225TyZIl9csvv2jHjh0aNWqUHXUCEeXIEWnNGtM9xHm5erUZF9tupUubWR6zL+XK2X+/AADAszyH7oceekg33XSTXnvtNcXHx7uu79mzp66//vqAFgeEM8syLdRr1+Zedu4MTg0lS5q+182bm9brFi3oJgIAQDjKc+heuHChPv7441zXV6pUScnJyQEpCggn6elmSL71600/a+flunWBnSLdl4oVpaZNzdKkiQna1aoRsAEAiAR5Dt1xcXFuJ8HZsGGDytg4ntiBAwd03333aezYsYqKilLfvn317rvvqnjx4j73tSxLPXv21Pjx4zVmzBj16dPHtjoRmTIzpV27pI0bzbJhgwnXGzaYwB3oSWW8iY4242Gfd55ZnCG7bNng1QAAAAIrz6H7sssu03PPPacffvhB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dTOmeSSdGAoABRChO1w9/LC0b1/u68uVM9N0AwWdw2FGKqlc2f16yzJ9oPfulZKTsy737cs6gdHZr/vAAXNiY9myvu/3bEJ3kSKmC0t8vLl0nsRZqZLvfZ988szvFwAQcoTucDRlivTll+7XvfcefTEBfzgc5gTOhATfU9jnRceOZqhChyOr24bzZ4fDdPWIi5NiY7MunWGboT0BoMDiHSDcHD9uTp5059JLpauuCm49AHIqXTprPHIAAPxEJ8Bw8/zzZoa50xUvLn3wASdEAQAARCBCdzhZsUJ6/XX36158UapSJbj1AAAAICAI3eEiI0O67Tbp1Knc61q3lu69N/g1AQAAICAI3eEiNdVMQX266Gjp00/NGMYAAACISITucFGihJkI5+uvpTJlsq5/9FGpUaPQ1QUAAICzRugOJw6HdP310tq10oAB0rnnSk89FeqqAAAAcJYYMjAclSoljRhhJvYoXDjU1QAAAOAs0dIdzuLjQ10BAAAAAoDQDQAAANiM0A0AAADYjNANAAAA2IzQDQAAANiM0A0AAADYLGJC94EDB9SvXz8lJCQoKSlJt956q44cOeJ1n+TkZPXv31/ly5dXsWLF1KxZM/38889BqhgAAAAwIiZ09+vXT6tXr9bEiRP1xx9/aMaMGbrjjju87nPjjTdq/fr1+v3337Vy5UpdccUVuvrqq7V06dIgVQ0AAABIDsuyrFAX4cvatWtVv359LVy4UC1atJAkjR8/Xj179tQ///yjihUrut2vePHi+vDDD9W/f3/XdaVKldKrr76q2267za/7Tk1NVWJiolJSUpSQkHD2DwYAAAABFQl5LSJauufOnaukpCRX4Jakrl27KioqSvPnz/e4X7t27fT999/rwIEDyszM1HfffacTJ06oc+fOHvc5efKkUlNTcywAAADA2YiI0J2cnKyyZcvmuC46OlolS5ZUcnKyx/1++OEHpaenq1SpUoqLi9Odd96pMWPGqHbt2h73efnll5WYmOhaqlSpErDHAQAAgIIppKF78ODBcjgcXpd169ad8e0/9dRTOnTokCZNmqRFixbpoYce0tVXX62VK1d63GfIkCFKSUlxLTt37jzj+wcAAAAkKTqUdz5o0CDddNNNXrepWbOmypcvr3379uW4/tSpUzpw4IDKly/vdr/Nmzdr2LBhWrVqlRo0aCBJaty4sWbO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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax = plot_gam(gam_logit_, 1)\n", "ax.set_xlabel('Year')\n", "ax.set_ylabel('Effect on wage')\n", "ax.set_title('Partial dependence of high earner status on year',\n", - " fontsize=20);\n" + " fontsize=20);" ] }, { "cell_type": "code", - "execution_count": 48, + "execution_count": null, "id": "2d3ec90a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:51.056652Z", - "iopub.status.busy": "2023-07-25T23:59:51.056495Z", - "iopub.status.idle": "2023-07-25T23:59:51.177538Z", - "shell.execute_reply": "2023-07-25T23:59:51.177183Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "image/png": "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mzdvhoeHh4pRvcMEm4iIAEjVncWLF2Pbtm04d+4cHj9+jBcvXsDHxwf58uVDw4YN0a9fP4PbihMRWdvnn38OX19f7NixAzdu3MDjx4/x+vVrpE+fHiVLlkSLFi3w2Wef2WRL+DisIkJEREREZEEcwTYiNjYW9+/fh7e3t3aLTyIiIiKyH4qi4OXLl8iaNavN630DTLCNun//PnLkyGHrMIiIiIjIiLt37yJ79uy2DoMJtjHe3t4A5Afm4+Nj42iIiIiI6H1hYWHIkSOHNm+zNSbYRsRNC/Hx8WGCTURERGTH7GU6r+0nqRAREREROREm2EREREREFsQEm4iIiIjIgphgExERERFZEBNsIiIiIiILYoJNRERERGRBTLCJiIiIiCyICTYRERERkQUxwSYiIiIisiAm2EREREREFsQEm4iIiIjIgphgExERERFZEBNsIiIiIiILYoJNRERERGRBTLCJiIiIiCyICTYRERERkQUxwSYiIiIisiAm2EREREREFsQEm4iIiIjIgphgExERERFZEBNsIiIiIiILYoJNRERERGRBTLCJiIiIiCyICTYRERERJU9MDHDhgq2jsBtMsImIiIgo6a5dAz74AKhWDbh719bR2AUm2ERERERkvthYYNo0oFQp4OhRICwM6NYNUBRbR2ZzTLCJiIiIyDy3bgF16gBffAG8efPu/h07gLlzbReXnWCCTURERESmURRg9mygeHFg3z7dfYYMkQQ8BWOCTURERETG3b0LNGgA9O4NvHqlv19AAPD8uXpx2SEm2ERERESkn6IACxcCxYoBO3ca7tuvH3DuHFCmjDqx2alUtg6AiIiIiOzU/ftA9+7Ali2G++XMCSxaBNSurU5cdo4j2ERERESUkKIAv/8OFC1qPLnu3l1qYDO51uIINhERERG9ExIC9OwJ/P234X7ZsgHz5wMNG6oTlwPhCDYRERERyaj1ypUyam0sue7cGbh4kcm1HhzBJiIiIkrpHj4E+vQB1q413M/fX+pcf/SROnE5KI5gExEREaV0R48aT67btQMuXWJybQIm2EREREQpXfPmwKef6m7LlAn46y/gjz+ADBlUDctRMcEmIiIiImD6dJkCEt8nn8iodcuWtonJQTHBJiIiIiIZnZ4zR/6fMSOwejWwapWMYJNZuMiRiIiIiESzZjKS/cknQObMto7GYXEEm4iI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oLKyMtcxKSkp2rp1qzZs2KCsrCydPXtWw4cP92Jq39O6dWstWrRIOTk5OnDggB5//HENHTpUn3/+uSTmuKZkZ2drxYoV6ty5s9t+5ts6DzzwgM6dO+fadu/e7Rpjnq1z8eJF9e7dW/Xq1dNHH32kI0eO6JVXXlHTpk1dx7z00ktaunSpli9frn379qlhw4YaOHCgrl275sXkvic7O9vtms7MzJQkjRw5UhLXtZUWL16s9PR0LVu2TF988YUWL16sl156Sa+//rrrmIC9rg38yoULF4wkk5WVZYwxpri42NSrV89s2LDBdcwXX3xhJJm9e/d6K6ZfaNq0qXnrrbeY4xpy6dIlc++995rMzEzz6KOPmunTpxtjuKatNH/+fNOlSxePY8yztebMmWN++tOf3nTc6XSayMhIs2TJEte+4uJiExISYt577z07Ivqt6dOnm/bt2xun08l1bbEhQ4aYCRMmuO0bPny4GTNmjDEmsK9r7mD7mZKSEklSs2bNJEk5OTm6fv26+vfv7zomPj5esbGx2rt3r1cy+rrKykq9//77KisrU0JCAnNcQ5KTkzVkyBC3eZW4pq12/PhxRUdHq127dhozZoxOnToliXm22pYtW9S9e3eNHDlSLVu2VNeuXfXmm2+6xgsLC1VUVOQ232FhYerZsyfzfRcqKir09ttva8KECXI4HFzXFuvVq5e2b9+uY8eOSZIOHjyo3bt3a/DgwZIC+7oO8nYAWMfpdGrGjBnq3bu3HnzwQUlSUVGRgoODFR4e7nZsq1atVFRU5IWUvuvQoUNKSEjQtWvX1KhRI23evFn333+/cnNzmWOLvf/++/r73/+u7OzsamNc09bp2bOn1qxZo7i4OJ07d04LFixQnz59dPjwYebZYl9++aXS09M1c+ZMPf3008rOzta0adMUHByscePGuea0VatWbucx33fnww8/VHFxscaPHy+Jvz+slpqaqtLSUsXHx6tu3bqqrKxUWlqaxowZI0kBfV1TsP1IcnKyDh8+7PYMJawTFxen3NxclZSUaOPGjRo3bpyysrK8HcvvnD59WtOnT1dmZqbq16/v7Th+7bu7TJLUuXNn9ezZU23atNH69esVGhrqxWT+x+l0qnv37vrDH/4gSeratasOHz6s5cuXa9y4cV5O578yMjI0ePBgRUdHezuKX1q/fr3eeecdvfvuu3rg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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", "ax = plot_gam(gam_logit_, 0)\n", "ax.set_xlabel('Age')\n", "ax.set_ylabel('Effect on wage')\n", - "ax.set_title('Partial dependence of high earner status on age', fontsize=20);\n" + "ax.set_title('Partial dependence of high earner status on age', fontsize=20);" ] }, { @@ -3172,28 +1399,10 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": null, "id": "4f2bc0eb", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:51.179519Z", - "iopub.status.busy": "2023-07-25T23:59:51.179374Z", - "iopub.status.idle": "2023-07-25T23:59:51.330925Z", - "shell.execute_reply": "2023-07-25T23:59:51.330552Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "lowess = sm.nonparametric.lowess\n", "fig, ax = subplots(figsize=(8,8))\n", @@ -3209,27 +1418,15 @@ " linewidth=4)\n", "ax.set_xlabel('Age', fontsize=20)\n", "ax.set_ylabel('Wage', fontsize=20);\n", - "ax.legend(title='span', fontsize=15);\n" + "ax.legend(title='span', fontsize=15);" ] } ], "metadata": { "jupytext": { "cell_metadata_filter": "-all", - "formats": "ipynb,Rmd", + "formats": "ipynb,md:myst", "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch8-baggboost-lab.ipynb b/docs/source/labs/Ch8-baggboost-lab.ipynb index 2fb8cfa..04147cd 100644 --- a/docs/source/labs/Ch8-baggboost-lab.ipynb +++ b/docs/source/labs/Ch8-baggboost-lab.ipynb @@ -2,36 +2,25 @@ "cells": [ { "cell_type": "markdown", - "id": "257f1382", - "metadata": {}, - "source": [ - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "2ade0554", + "id": "7b0242c6", "metadata": {}, "source": [ "# Tree-Based Methods\n", + "\n", + "\n", + " \"Open\n", + "\n", + "\n", + "\n", "We import some of our usual libraries at this top\n", "level." ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "4cc7120f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:52.562040Z", - "iopub.status.busy": "2023-07-25T23:59:52.561717Z", - "iopub.status.idle": "2023-07-25T23:59:53.673192Z", - "shell.execute_reply": "2023-07-25T23:59:53.672771Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", @@ -40,7 +29,7 @@ "from statsmodels.datasets import get_rdataset\n", "import sklearn.model_selection as skm\n", "from ISLP import load_data, confusion_table\n", - "from ISLP.models import ModelSpec as MS\n" + "from ISLP.models import ModelSpec as MS" ] }, { @@ -54,17 +43,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "864fa15e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:53.675446Z", - "iopub.status.busy": "2023-07-25T23:59:53.675242Z", - "iopub.status.idle": "2023-07-25T23:59:53.720701Z", - "shell.execute_reply": "2023-07-25T23:59:53.720361Z" - }, - "lines_to_next_cell": 2 - }, + "metadata": {}, "outputs": [], "source": [ "from sklearn.tree import (DecisionTreeClassifier as DTC,\n", @@ -76,7 +57,7 @@ "from sklearn.ensemble import \\\n", " (RandomForestRegressor as RF,\n", " GradientBoostingRegressor as GBR)\n", - "from ISLP.bart import BART\n" + "from ISLP.bart import BART" ] }, { @@ -102,22 +83,15 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "bfb4c83b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:53.722793Z", - "iopub.status.busy": "2023-07-25T23:59:53.722661Z", - "iopub.status.idle": "2023-07-25T23:59:53.727612Z", - "shell.execute_reply": "2023-07-25T23:59:53.727266Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "Carseats = load_data('Carseats')\n", "High = np.where(Carseats.Sales > 8,\n", " \"Yes\",\n", - " \"No\")\n" + " \"No\")" ] }, { @@ -128,28 +102,20 @@ "We now use `DecisionTreeClassifier()` to fit a classification tree in\n", "order to predict `High` using all variables but `Sales`.\n", "To do so, we must form a model matrix as we did when fitting regression\n", - "models. " + "models." ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "5d9e7a14", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:53.729444Z", - "iopub.status.busy": "2023-07-25T23:59:53.729340Z", - "iopub.status.idle": "2023-07-25T23:59:53.738990Z", - "shell.execute_reply": "2023-07-25T23:59:53.738679Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "model = MS(Carseats.columns.drop('Sales'), intercept=False)\n", "D = model.fit_transform(Carseats)\n", "feature_names = list(D.columns)\n", - "X = np.asarray(D)\n" + "X = np.asarray(D)" ] }, { @@ -168,37 +134,15 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "970c4515", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:53.740700Z", - "iopub.status.busy": "2023-07-25T23:59:53.740605Z", - "iopub.status.idle": "2023-07-25T23:59:53.745991Z", - "shell.execute_reply": "2023-07-25T23:59:53.745690Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
DecisionTreeClassifier(criterion='entropy', max_depth=3, random_state=0)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "DecisionTreeClassifier(criterion='entropy', max_depth=3, random_state=0)" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "clf = DTC(criterion='entropy',\n", " max_depth=3,\n", " random_state=0) \n", - "clf.fit(X, High)\n" + "clf.fit(X, High)" ] }, { @@ -220,31 +164,12 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "2d9a51dc", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:53.747622Z", - "iopub.status.busy": "2023-07-25T23:59:53.747497Z", - "iopub.status.idle": "2023-07-25T23:59:53.750600Z", - "shell.execute_reply": "2023-07-25T23:59:53.750316Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0.79" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "accuracy_score(High, clf.predict(X))\n" + "metadata": {}, + "outputs": [], + "source": [ + "accuracy_score(High, clf.predict(X))" ] }, { @@ -267,31 +192,13 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "cbc04b67", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:53.752228Z", - "iopub.status.busy": "2023-07-25T23:59:53.752135Z", - "iopub.status.idle": "2023-07-25T23:59:53.755654Z", - "shell.execute_reply": "2023-07-25T23:59:53.755371Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0.4710647062649358" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "resid_dev = np.sum(log_loss(High, clf.predict_proba(X)))\n", - "resid_dev\n" + "resid_dev" ] }, { @@ -310,34 +217,15 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "809830c7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:53.757328Z", - "iopub.status.busy": "2023-07-25T23:59:53.757207Z", - "iopub.status.idle": "2023-07-25T23:59:54.066251Z", - "shell.execute_reply": "2023-07-25T23:59:54.065834Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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rho0aJDjrdVZsmRRunTpNH78+CTlAgAgNZjsdrvd6BAAAM+zfft2lS5dWtu2bVOpUqWMjvPEmjRporNnz2ru3Ll65plnUux+4uPjVblyZaVLl07Lly9Psft5Uu7y/xMA4JrYsQUA4CnMnDkzVe4n4et+AADA/fiMLQAAAADApbFjCwDwaDt37tSNGzfk5+dndBRJUmxsrN566y1dvXpVVapUue/7aM+dO6eWLVvqzp07KlasmL799luZTCZVrVrVcUCoTZs26dy5c9qxY4c+/fRTx+0WKFBA8+bNS+2HBABAimPHFgDg0Xbu3KmNGzfed/qDvqc2NQwdOlStW7fW+vXr9euvv2r//v2Jzh88eLA6duyomJgYpUmTxvF52+joaFmtVo0ePVqBgYHKnj27goODHUeADgsLU/369Y14SAAApDiKLQDALfXo0UMWi0X+/v7asmWLJKlIkSLq1q2b/Pz81LVrV0nSt99+qzFjxshisejKlSvKly+f2rVrp7feeksHDx5UYGCgAgIC1K5dO9ntdlmtVlWpUkXh4eEqWbKkYmJidPHiRcd340pS27ZttWHDhifKvX79etWsWVOSVLNmTa1duzbR+UeOHFHp0qUl3fuu3jVr1iQ6f/r06WratGmi0+x2uxYvXqw6deo8USYAAJwdb0UGALidqKgoxcfHy2q16sKFC2rUqJFiYmJ048YNvffeexo+fLhKlCihv//+W126dFFsbKw++ugjSdKZM2f06aefKleuXAoPD9fw4cNVunRpdejQQYsWLVLWrFl16dIlLV++XOfPn1d4eLi2bNmi559/XgcPHtTLL7+s3bt3q2LFioky9enTR5s2bUp0WuHChfX9998nOu369evKkCGDpHtfH3TixIlE5xcrVkzR0dFq1aqVVqxY4bhsgvnz5993P2vXrtUbb7yhjBkzPvmTCgCAE6PYAgDczt69e7V8+XLHLurVq1clST4+PipQoIAk6aWXXtKlS5fuu+4rr7yiXLlySZJOnDjh2B318/PToUOHVLZsWZUqVUpeXl7KlSuXbt68KUlq06aNJk2apGLFij3wLb9ffvllkrL7+Pjo1q1bSp8+va5cuaIcOXIkOr9Pnz7q2LGjpk2bpgIFCui5555znLd582a9/vrrypo1a6LrzJgx475dXAAA3AlvRQYAuJ3ChQurdu3ajs+XJuxgmkymRJez2+3y9vbW3bt3Had5eXk5/vuVV17Rtm3bJEkbN250lOIdO3bIZrPpzz//VPr06SVJlStX1tq1azVlyhS9/fbb92Xq06ePLBZLoj8dOnS473IBAQGKjIyUdG/nOSAgINH52bNn1/Tp07Vy5UrFx8erbt26jvOmT5+uZs2aJbp8XFycVq1apbCwsEc8awAAuC6KLQDA7dSoUUN2u10Wi0VBQUHq16/fQy/r5+enxYsXq0GDBo6d3QRDhgxR165dFRAQoNu3b6t27dqSpGeffVZ16tRRaGiohgwZIkkym82qVq2a0qZN69jx/acvv/zSUbQT/vz7bciS1LNnT40bN07+/v4qUaKEihQpIklq1aqVJGnFihUKCgpScHCwSpUqpeLFi0u6d7CrqKgox+dzE0RHRyswMFDe3t5JffoAAHA5Jrvdbjc6BADA82zfvl2lS5fWtm3bVKpUKaPjJJnVatWcOXM0atSo+8777LPPVLRo0US7qJ7CVf9/AgDcAzu2AAAkgw8//FCbNm1y7OoCAIDUw8GjAAB4DAmfj/23ESNGpH4YAAAgiR1bAACeitVqVadOnVLlvq5cuSJfX1/NmTNHkmSz2fT+++8rICBAjRs3dhyh+dixY7JYLPLz89O4ceNSJRsAAEai2AIA4CK+/vprlStXzvH3qKgomc1mrVu3Tm+++aYmTpwoSerdu7eGDRumdevWafz48bp48aJRkQEASBUUWwCAWzt+/LgqVKigoKAg1apVS9K9r8UJCgpS2bJl1b9/f0n3dl5DQkJUv359FS5cWBEREapVq5aKFi2q7du3S5KKFCmiTp06yd/fXx9++OF997V69WpVqlRJAQEBGjRokCRp8eLFKlOmzCOPzvwof/75p44fP64yZco4Tlu3bp3jKMg1a9bU2rVrJUmHDx9WmTJl5OXlJYvFoi1btjzx/QIA4Ar4jC0AwK1ZrVY1bNhQ3bp1k81mkySFh4erWbNmstvt8vf3d3yf7M2bNxUdHa1FixZp0KBB2rp1q2JiYjR27FiNHTtW169fV5s2bVSyZEnVqVPHUXile9+J26tXL1mtVmXMmFENGjTQoUOHFBERobFjx6pUqVKO+/+nsLAwx1uIEzRr1kzvvvtuotO++OIL9erVS/PmzXOcdvHiRWXPnl2SlC1bNsfO7D+/8OCfpwMA4K4otgAAt9aoUSN9/vnnat68ud544w316NFDq1ev1vDhw2Wz2XTs2DGdOXNGklSiRAmZTCblzp1bxYoVk9lsVu7cuR3FMG3atCpZsqQkqUyZMjpy5Iiee+45SVJsbKyOHz+uGjVqSJIuX76sU6dOqX///ho2bJiuXbumpk2b3vc9s1FRUY98DCdOnNDly5dVvHjxRMU2e/bsunz5sqR7n7/NkSOHJMlkMjku88/TAQBwVxRbAIBbM5vNGjJkiCSpSpUqCg8PV79+/bR69Wplz55dFStWdOxw/rMQ/vO/E86Pi4vTrl27VKJECW3dulWhoaG6evWqJMnX11cFChRQVFSUMmTIIJvNJrvdrtu3b2vs2LG6ffu2ihYtel+xTcqO7Y4dO3Ts2DGFhobq6NGjypw5swoVKqRKlSopMjJSoaGhioyMVEBAgCSpQIEC2r59u0qUKKE1a9aoZ8+eyfV0AgDglCi2AAC3tmTJEo0cOVJeXl7KlSuXXnvtNTVp0kRBQUEqXLiwfHx8knxbGTNm1KRJk7RlyxaVLl1apUuXltVqlXSvCH/xxRcKCwuTyWRSmjRpNG3aNA0fPlwbN25UXFyc2rZte99tJmXHtl69eqpXr54kaeDAgSpatKiKFCmiQoUKadGiRQoICFCuXLk0adIkSdKXX36pNm3aKC4uTu+88w47tgAAt2ey//ODOAAApJLt27erdOnS2rZtm0qVKmV0nCQpWrSo9u7da3QMp+SK/z8BAO6DoyIDAAAAAFwaxRYAgCRitxYAAOdEsQUAAAAAuDSKLQDAY7zzzjvaunVrit/PwIEDVaRIEa1YsUKXL19W5cqVFRAQIH9/f8d33y5btkwVK1ZUYGCgateurWvXrkmSrl27platWqly5coKDg7+z/vp1KmTcuXKpU6dOiU6ffz48apSpYosFotWrFjhOP3KlSvy9fXVnDlzJElLly5VwYIF9fXXXyfnwwcAINVxVGQAAFLAoEGDFBISops3b2rKlCnKnTu3Dh48qA8++EArVqxQcHCwQkNDJd0rwjNnzlTbtm01aNAgtW3bVhUrVnzkfXz88ceqX7++5s6d6zhtz549+vXXX7Vy5cr7Lv/111+rXLlyjr/XqFFDFy5cUGxsbDI8YgAAjMOOLQDApXXr1s2xK3nmzBmFhIRIkqpWrSqLxSI/Pz8dOXIk0XWsVqtjlzM2NlYWi0WStGvXLlWuXFkWi0Xt27dXcnxxQIYMGZQ7d25Jkre3t9KkSeP47wTXr19X4cKFJUkbNmzQjBkzFBgYqJEjR/7nbb/wwguJvm9XkubNmycvLy9VqVJFzZo106VLlyRJf/75p44fP64yZco89WMCAMDZUGwBAC6tRYsWmjZtmiRpxowZatq0qSRp/vz5slqtGjBggIYPH56k2+rataumTZsmq9WqTJkyKTo6OtH5s2bNksViue/PnTt3Hnnbdrtd3bp1U8+ePR2nTZ8+XSVKlNDatWuVP39+SdK2bdtUv359rVq1SgsWLND+/fuTlD3B2bNndf36da1cuVLBwcEaMmSIJOmLL75Qr169Huu2AABwFbwVGQDg0kqVKqWDBw/q5s2bmj9/vqKionTjxg117NhRx44dU1xcnJ555plE1/nnLuc/d2X37t2rJk2aSLr3WdeiRYsmul7jxo3VuHHjJ8rZpUsXWSwWBQUFOU5r1qyZmjVrppEjR2rYsGH66quv9OyzzzouExwcrL179zp2c5Mie/bsKlasmCQpNDRU8+bN04kTJ3T58mUVL15c8+bNe6L8AAA4M4otAMDl1a5dW0OHDtWLL76oLFmyaN68ecqWLZvWrVunZcuWadSoUYkunz17dv3++++SpB07djhOL1asmGbPni1fX19JUlxcXKLrzZo1S2PGjLnv/qOjoxO9tfjfBg8erDRp0qhr166O027fvq106dJJkrJly6a//vpLkuTn56fdu3erePHi2rp1q8LCwnT37l1duHBBuXLleuRzERgYqBUrVqh58+baunWr8ubNqx07dujYsWMKDQ3V0aNHlTlzZhUqVEhFihR55O0BAOAKKLYAAJfXvHlz5c+f33G03/Lly2vw4MGqVq3aA8tbsWLFZDabFRwcrPLlyztOHzFihJo2baq7d+/KbDZr5MiRia7/JDu2p0+fVr9+/eTv7y+LxaLcuXNr2rRpGj9+vCIiIiTdK7YTJ06UJA0ZMkTt2rXTzZs35e/vr9KlS+vo0aP6+OOPNXv27ES3/cUXX2jevHk6f/68jhw5ouXLl6tatWpaunSpLBaL0qRJoylTpuiFF15QvXr1JN07UFXRokUptQAAt2KyJ8eRMQAAeEzbt29X6dKltW3bNpUqVcroOMnqm2++0fTp0/XFF184Dmb1NGbOnKksWbKoevXqyZDu/yxdulQDBgxQ+/bt1a5du6e6LXf+/wkAcH4UWwCAIShC7oX/nwAAI3FUZAAAAACAS6PYAgAAAABcGgePAgAY6sCBA0ZHQDLg/yMAwEgUWwCAIXx9feXj46MWLVoYHQXJxMfHx/FVSQAApCYOHgUAMMypU6cUGxtryH3v2bNHHTt2VN68efXdd98pU6ZMhuR4WteuXVOnTp104sQJjR49WkWLFjUsi6+vr/LkyWPY/QMAPBfFFgDgcTZv3qxq1aqpWLFiioqKUubMmY2O9FSuXr2q0NBQ7d27V9HR0SpXrpzRkQAASFUcPAoA4FE2bdqkqlWrqnjx4m5RaiUpc+bMWrZsmYoVK6aqVatq8+bNRkcCACBVUWwBAB5j48aNqlatmt544w23KbUJMmfOrKioKJUoUUJVq1bVpk2bjI4EAECqodgCADzChg0bVK1aNZUsWVKRkZEu+5na/5I5c2ZFRkaqZMmSqlq1qjZu3Gh0JAAAUgXFFgDg9tavX6/Q0FC9+eabbltqE2TKlElLly5V6dKlVa1aNW3YsMHoSAAApDiKLQDAra1bt06hoaEqU6aMlixZoowZMxodKcUllNs333xT1apV07p164yOBABAiqLYAgDc1tq1axUWFqZy5cp5TKlNkDFjRi1dulRly5ZVWFiY1q5da3QkAABSDMUWAOCW1qxZo7CwMJUvX16LFy+Wj4+P0ZFSnY+Pj5YsWaJy5cqpevXqWrNmjdGRAABIERRbAIDbiYmJUfXq1VWxYkWPLbUJfHx8tHjxYlWoUEHVq1eX1Wo1OhIAAMmOYgsAcCurV69WjRo15O/vr4ULFypDhgxGRzKcj4+PFi1apIoVK6p69eqKiYkxOhIAAMmKYgsAcBurVq1SzZo1ValSJS1YsIBS+w8ZMmTQwoULFRAQoBo1amj16tVGRwIAINlQbAEAbmHlypWqWbOmAgMDKbUPkVBuAwMDVaNGDa1cudLoSAAAJAuKLQDA5UVHR6tWrVoKDg7W/PnzlT59eqMjOa306dNr/vz5CgoKUq1atbRixQqjIwEA8NQotgAAl7Z8+XLVrl1blStX1rx58yi1SZA+fXrNmzdPwcHBql27tqKjo42OBADAU6HYAgBc1rJlyxQeHq6QkBDNnTtX6dKlMzqSy0got5UrV1bt2rW1fPlyoyMBAPDEKLYAAJcUFRWl8PBwVa1aVXPmzKHUPoF06dJp7ty5qlq1qsLDw7Vs2TKjIwEA8EQotgAAlxMZGak6deooLCyMUvuU0qVLp4iICFWrVk3h4eGKjIw0OhIAAI+NYgsAcClLlixR3bp1Vb16dc2ePVve3t5GR3J5CeU2LCxMdevW1dKlS42OBADAY6HYAgBcxuLFi1WvXj3VqFGDUpvMvL29NXv2bNWoUUN169bVkiVLjI4EAECSUWwBAC5h0aJFql+/vmrXrq1Zs2Ypbdq0RkdyO97e3po1a5Zq1aqlevXqafHixUZHAgAgSSi2AACnt2DBAjVo0EDh4eGaMWMGpTYFpU2bVjNnzlTt2rVVv359LVy40OhIAAA8EsUWAODU5s+fr4YNG6pOnTqaPn06pTYVpE2bVjNmzFCdOnXUoEEDLViwwOhIAAD8J4otAMBpzZs3T40aNVL9+vUptaksbdq0mjZtmurVq6eGDRtq/vz5RkcCAOChKLYAAKc0Z84cNWrUSA0aNNDPP/+sNGnSGB3J4ySU2wYNGqhRo0aaO3eu0ZEAAHggii0AwOlERESoSZMmaty4saZOnUqpNVCaNGk0depUNWzYUI0bN9acOXOMjgQAwH0otgAApzJ79mw1bdpUTZo00eTJkym1TiBNmjSaMmWKGjdurCZNmigiIsLoSAAAJMJvCwAApzFz5ky1aNFCzZo108SJE+Xl5WV0JPx/CeXWbDaradOmstlsaty4sdGxAACQRLEFADiJGTNmqEWLFmrRooUmTJhAqXVCXl5emjRpkkwmk5o1aya73a4mTZoYHQsAAIotAMB406dP11tvvaW33npLP/30E6XWiXl5eWnixIkymUxq3ry5bDabmjVrZnQsAICHo9gCAAz1888/q2XLlmrZsqXGjRtHqXUBXl5emjBhgsxms9566y3Z7XY1b97c6FgAAA9GsQUAGGbq1Klq2bKlWrVqpXHjxsls5piGrsLLy0s//fSTTCaT3n77bdntdrVo0cLoWAAAD0WxBQAYYvLkyWrVqpXatGmjsWPHUmpdkNls1vjx42U2m/X222/LZrPp7bffNjoWAMADUWwBAKlu0qRJat26tdq2basffviBUuvCzGazfvzxR5lMJr3zzjuy2+1q2bKl0bEAAB6GYgsASFUTJkxQ27Zt9e677+r777+n1LoBs9ns2HVv1aqVbDabWrVqZXQsAIAHodgCAFLNTz/9pHbt2ql9+/YaPXo0pdaNmM1mjRkzRiaTSW3atJHdblfr1q2NjgUA8BAUWwBAqhg3bpzeffdddejQQaNGjZLJZDI6EpKZ2Wx27MK3adNGNptNbdu2NToWAMADUGwBACnuxx9/VPv27dWxY0d99913lFo3ZjabNXr0aJlMJrVr1052u13t2rUzOhYAwM1RbAEAKWrs2LF677339MEHH+jbb7+l1HoAk8mkUaNGyWw2691335Xdbte7775rdCwAgBuj2AIAUsyYMWPUoUMHdenSRSNGjKDUehCTyaSRI0fKbDarffv2stlseu+994yOBQBwUxRbAECKGD16tDp16qSuXbtq+PDhlFoPZDKZ9M0338hkMun999+XzWZThw4djI4FAHBDFFsAQLIbNWqUPvjgA3344Yf63//+R6n1YCaTybFb37FjR9ntdnXs2NHoWAAAN0OxBQAkq5EjR6pLly7q3r27hg0bRqmFTCaThg8fLrPZrE6dOslms+mDDz4wOhYAwI1QbAEAyebbb79V165d9dFHH+mrr76i1MLBZDLp66+/lslkUufOnWW329W5c2ejYwEA3ATFFgCQLEaMGKFu3bqpZ8+eGjJkCKUW9zGZTBo2bJjMZrO6dOkim82mrl27Gh0LAOAGKLYAgKc2fPhwde/eXb1799bgwYMptXgok8mkoUOHymw268MPP5TdbteHH35odCwAgIuj2AIAnsrXX3+tHj16qE+fPvriiy8otXgkk8mkL7/8UiaTSd26dZPNZlP37t2NjgUAcGEUWwDAExs2bJh69uypvn376rPPPqPUIslMJpMGDx4ss9msjz76SHa7XR999JHRsQAALopiCwB4IkOHDlXv3r3Vr18/DRo0iFKLx2YymfT555/LbDarR48estls6tmzp9GxAAAuiGILAHhsX375pT7++GP1799fAwcOpNTiiZlMJn366acymUzq1auXbDabevfubXQsAICLodgCAB7L4MGD1bdvXw0cOFADBgwwOg7cQEK5NZvN6tOnj+x2u/r06WN0LACAC6HYAgCS7PPPP3e89bh///5Gx4GbSdj9//jjj2Wz2dS3b1+jIwEAXATFFgCQJJ9++qkGDBigTz/9VP369TM6DtzUgAEDZDKZ9Mknn8hms/FvDQCQJBRbAMAjDRo0SAMHDtTnn3/OLhpSXP/+/WU2m9Wv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AHg2d/w9V5JOnDihdOnSJZqRn3/+uUJCQmSxWLRnz55El7fZbHr//fcVEBCgxo0b6+bNm6kd2aNRbCFJunPnjuLi4h7rOhkyZJDVapXVatU777wjSWrWrJnjtJIlS6p+/fqJrnPx4kWNHz9ea9eu1bBhw9S7d+/kegjAf/r77791+fJlnT17VtevX0/224+Pj09UbJ9//nl9+eWXD738xIkTkz3DtWvXHuvyOXLkUHR0tBo0aJDo9BEjRmjNmjXatGmTRo8erdu3b9933ffff9/xWgdSk9VqVadOnRx/37p1q2MGzZ07V+XKlVNgYKD8/f11+fJlWa1W5c6dW8OGDdPWrVtVvXp1x3XHjRunvn37Jul+ly5dqoIFC+rrr79O1seT4NixY7JYLPLz89O4cePuO58FJeDJPcnvuZL0xRdfKCAgwPH3JUuWyGw2a8WKFbJarSpWrFiiy0dFRclsNmvdunV68803U2TW4+EotgawWCzq1q2bgoODExW/7t27q2LFigoKCtL27dt1/fp11a9fX4GBgQoNDdWff/4pScqXL59at26t4sWLa8yYMXr77bf1xhtvOAbhb7/9purVqys4OFgNGzbUrVu3Hprll19+UYcOHVS5cmVduXLlsR7HnTt3ZLFYFB4erhMnTiQ67+rVq9q7d6/8/PwSnb5lyxZZLBalSZNGZcqU0aFDhx7rPoEnNX/+fNWvX1/169fXwoULJd0rgjVr1lRISIiGDBkiSfrrr78UFBTkuF779u21du3aB76urFaratSoofr16+vzzz/XsmXL1L59e7Vq1SrR6vWAAQNUvnx5BQcHa+7cuZKkokWLSpLeeecdtW/fXmFhYbJYLI7Xa9euXeXn56f3339fBQsWfOjjiouL08KFC9WwYUO1b9/+sZ6T9OnTK2fOnPed7u3tLUm6deuWXnvtNcff/2n8+PHy9/fXN99881j3CaSk/v37KyYmRmvWrFFUVJQyZswoSapbt6569OihN998U6+++qoiIiL0119/6ccff9Qnn3ySpNuuUaPGYy3GPu4CWu/evTVs2DCtW7dO48eP18WLF++7DAtKcAXu8nvunj17lCVLFr344ouO0+bOnau//vpLwcHBeu+99+5b+F23bp1j9tesWVNr1659rPvE06HYGiQ0NFSrV69WXFyc9uzZoyVLlujSpUvasGGDYmJi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zOkzzzyDZ555BoDxrrDTp0+Hv78/vv76a/znP/+Bi4sLnn32WbRu3bpeY1AzJc8tYPl6dXd3x5w5czBkyBC4uLhgwYIF9X4uLVDyfBoMhlozsLbXu0Dtc68KkoNlZ2dLAKTs7GxHP3WDLViwQIqIiJDWr19f59csW7ZMWr16tUWPl5WVJUVFRUmvvvrqHb9WqcdNqeO6HVvPY10efvhhqVevXnV+XknHTkljqYsl81YfmZmZ0ieffNKgx5g+fbrUvXt3qbCwsMbHlXQ8lTSWujRkbh955JEGPXddf4eVetyUOq66WDK38+bNk3Jycqx+jsrKSik+Pl6655576vwapR43pY7rdjin9aeWsdp6bletWiWFh4dL//rXv8wfU8uxMFHbeKuz9evd2uazLnIdNxa2KqHU46bUcamBko6dksaiBUo6nkoai5oo9bgpdVxKp9TjptRxqYGajp2axmpvajsWahuvUsh13BR7V2QiIiIiIiIiS7CwJSIiIiIiIlVjYUtERERERESqJttdkQ8ePCjXU6uS0o+X0senREo8Zkockxop8TgqcUxKpvTjpfTxKY3Sj5fSx6dEajxmahyzran1GKh13HKR63g5vLD19/eHr68vJkyY4OinVj1fX1/Fvc8f57NhlDKnnEfb49yqn1LmsDrOp/U4n9qjxDmtDee5JrXMG8C5awg55tlFkiTJoc8I4NSpUygoKHD006qev78/OnToIPcwbsH5tJ6S5pTzaFucW/VT0hxWx/m0DudTe5Q6p7XhPN+gpnkDOHfWkmOeZSlsiYiIiIiIiGyFN48iIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGqsbAlIiIiIiIiVWNhS0RERERERKrGwpaIiIiIiIhUjYUtERERERERqRoLWyIiIiIiIlI1FrZERERERESkaixsiYiIiIiISNVY2BIREREREZGq/R+2OWkJl9t4ugAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "ax = subplots(figsize=(12,12))[1]\n", "plot_tree(clf,\n", " feature_names=feature_names,\n", - " ax=ax);\n" + " ax=ax);" ] }, { @@ -358,51 +246,14 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "abe8c7fc", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:54.068192Z", - "iopub.status.busy": "2023-07-25T23:59:54.068071Z", - "iopub.status.idle": "2023-07-25T23:59:54.071170Z", - "shell.execute_reply": "2023-07-25T23:59:54.070769Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "|--- ShelveLoc[Good] <= 0.50\n", - "| |--- Price <= 92.50\n", - "| | |--- Income <= 57.00\n", - "| | | |--- weights: [7.00, 3.00] class: No\n", - "| | |--- Income > 57.00\n", - "| | | |--- weights: [7.00, 29.00] class: Yes\n", - "| |--- Price > 92.50\n", - "| | |--- Advertising <= 13.50\n", - "| | | |--- weights: [183.00, 41.00] class: No\n", - "| | |--- Advertising > 13.50\n", - "| | | |--- weights: [20.00, 25.00] class: Yes\n", - "|--- ShelveLoc[Good] > 0.50\n", - "| |--- Price <= 135.00\n", - "| | |--- US[Yes] <= 0.50\n", - "| | | |--- weights: [6.00, 11.00] class: Yes\n", - "| | |--- US[Yes] > 0.50\n", - "| | | |--- weights: [2.00, 49.00] class: Yes\n", - "| |--- Price > 135.00\n", - "| | |--- Income <= 46.00\n", - "| | | |--- weights: [6.00, 0.00] class: No\n", - "| | |--- Income > 46.00\n", - "| | | |--- weights: [5.00, 6.00] class: Yes\n", - "\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ "print(export_text(clf,\n", " feature_names=feature_names,\n", - " show_weights=True))\n" + " show_weights=True))" ] }, { @@ -423,29 +274,10 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "f7a1f736", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:54.072938Z", - "iopub.status.busy": "2023-07-25T23:59:54.072835Z", - "iopub.status.idle": "2023-07-25T23:59:54.079362Z", - "shell.execute_reply": "2023-07-25T23:59:54.079048Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0.685])" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "validation = skm.ShuffleSplit(n_splits=1,\n", " test_size=200,\n", @@ -454,15 +286,7 @@ " D,\n", " High,\n", " cv=validation)\n", - "results['test_score']\n" - ] - }, - { - "cell_type": "markdown", - "id": "45f99d7e", - "metadata": {}, - "source": [ - " " + "results['test_score']" ] }, { @@ -479,17 +303,9 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "c663a623", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:54.081283Z", - "iopub.status.busy": "2023-07-25T23:59:54.081145Z", - "iopub.status.idle": "2023-07-25T23:59:54.083681Z", - "shell.execute_reply": "2023-07-25T23:59:54.083365Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "(X_train,\n", @@ -507,38 +323,19 @@ "id": "9e618049", "metadata": {}, "source": [ - "We first refit the full tree on the training set; here we do not set a `max_depth` parameter, since we will learn that through cross-validation.\n" + "We first refit the full tree on the training set; here we do not set a `max_depth` parameter, since we will learn that through cross-validation." ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "c2f2a403", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:54.085505Z", - "iopub.status.busy": "2023-07-25T23:59:54.085354Z", - "iopub.status.idle": "2023-07-25T23:59:54.089710Z", - "shell.execute_reply": "2023-07-25T23:59:54.089437Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0.735" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "clf = DTC(criterion='entropy', random_state=0)\n", "clf.fit(X_train, High_train)\n", - "accuracy_score(High_test, clf.predict(X_test))\n" + "accuracy_score(High_test, clf.predict(X_test))" ] }, { @@ -547,28 +344,20 @@ "metadata": {}, "source": [ "Next we use the `cost_complexity_pruning_path()` method of\n", - "`clf` to extract cost-complexity values. " + "`clf` to extract cost-complexity values." ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "b2505658", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:54.091391Z", - "iopub.status.busy": "2023-07-25T23:59:54.091299Z", - "iopub.status.idle": "2023-07-25T23:59:54.094646Z", - "shell.execute_reply": "2023-07-25T23:59:54.094353Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "ccp_path = clf.cost_complexity_pruning_path(X_train, High_train)\n", "kfold = skm.KFold(10,\n", " random_state=1,\n", - " shuffle=True)\n" + " shuffle=True)" ] }, { @@ -582,29 +371,10 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "09a7bd33", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:54.096582Z", - "iopub.status.busy": "2023-07-25T23:59:54.096441Z", - "iopub.status.idle": "2023-07-25T23:59:54.355162Z", - "shell.execute_reply": "2023-07-25T23:59:54.354839Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0.685" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "grid = skm.GridSearchCV(clf,\n", " {'ccp_alpha': ccp_path.ccp_alphas},\n", @@ -612,7 +382,7 @@ " cv=kfold,\n", " scoring='accuracy')\n", "grid.fit(X_train, High_train)\n", - "grid.best_score_\n" + "grid.best_score_" ] }, { @@ -625,35 +395,16 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "a75dea32", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:54.357064Z", - "iopub.status.busy": "2023-07-25T23:59:54.356931Z", - "iopub.status.idle": "2023-07-25T23:59:55.201547Z", - "shell.execute_reply": "2023-07-25T23:59:55.201208Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7YAAAOwCAYAAAAKo+iFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeViN+f8/8OdJaS+RpLRRKioqhAajMNY6WWdhhkHHGAazLww+ZjGLGWZsJ4OM3eAcyb5vWSJSCaFUQysl7cv5/eHnfBlb0Tn3OfV8XNdc10zn3Pf9vM89577P634vt0ihUChAREREREREpKV0hA5ARERERERE9CpY2BIREREREZFWY2FLREREREREWo2FLREREREREWk1FrZERERERESk1VjYEhERERERkVZjYUtERERERERajYUtERERERERaTUWtkRERERERKTVWNgSERERERGRVmNhS0RERERERFqNhS0RERERERFpNRa2REREREREpNVY2BIREREREZFWY2FLREREREREWo2FLREREREREWk1FrZERERERESk1VjYEhERERERkVZjYUtERERERERajYUtERERERERaTUWtkRERERERKTVWNgSERERERGRVmNhS0RERERERFqNhS0RERERERFpNRa2REREREREpNVY2BIREREREZFWY2FLREREREREWo2FLREREREREWk1FrZERERERESk1VjYEhERERERkVZjYUtERERERERajYUtERERERERaTUWtkRERERERKTVWNgSERERERGRVmNhS0RERERERFqNhS0RERERERFpNRa2REREREREpNVY2BIREREREZFWY2FLREREREREWo2FLREREREREWk1FrZERERERESk1VjYEhERERERkVZjYUtERERERERajYUtERERERERaTVdoQMQEZHmSk1NRU5OjtAxXsjS0hL29vZCxyAiIiKBsLAlIqKnSk1Nhbu7O4qKioSO8kJGRkZITExkcUtERFRPsbAlIqKnysnJQVFREdasWQN3d/fHXgsLC4O1tTUsLCzQrVs3pKSkoEWLFtDVffFlpaqqCjo6j4+EKSoqwoYNG2BiYoLhw4fjyJEjyMjIwIgRIwAAP//8MwYMGIC2bds+sb7ExESMHDkSOTk5LGyJiIjqKRa2RET0XO7u7vDx8Xnsb7a2tmjdujV8fX2x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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "ax = subplots(figsize=(12, 12))[1]\n", "best_ = grid.best_estimator_\n", "plot_tree(best_,\n", " feature_names=feature_names,\n", - " ax=ax);\n" + " ax=ax);" ] }, { @@ -667,31 +418,12 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "3f1e3d19", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:55.203613Z", - "iopub.status.busy": "2023-07-25T23:59:55.203475Z", - "iopub.status.idle": "2023-07-25T23:59:55.206296Z", - "shell.execute_reply": "2023-07-25T23:59:55.205961Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "30" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "best_.tree_.n_leaves\n" + "metadata": {}, + "outputs": [], + "source": [ + "best_.tree_.n_leaves" ] }, { @@ -707,88 +439,16 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "30f5c2f9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:55.208077Z", - "iopub.status.busy": "2023-07-25T23:59:55.207947Z", - "iopub.status.idle": "2023-07-25T23:59:55.214493Z", - "shell.execute_reply": "2023-07-25T23:59:55.214148Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.72\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
TruthNoYes
Predicted
No9432
Yes2450
\n", - "
" - ], - "text/plain": [ - "Truth No Yes\n", - "Predicted \n", - "No 94 32\n", - "Yes 24 50" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "print(accuracy_score(High_test,\n", " best_.predict(X_test)))\n", "confusion = confusion_table(best_.predict(X_test),\n", " High_test)\n", - "confusion\n" + "confusion" ] }, { @@ -796,9 +456,7 @@ "id": "adbe5709", "metadata": {}, "source": [ - "Now 72.0% of the test observations are correctly classified, which is slightly worse than the error for the full tree (with 35 leaves). So cross-validation has not helped us much here; it only pruned off 5 leaves, at a cost of a slightly worse error. These results would change if we were to change the random number seeds above; even though cross-validation gives an unbiased approach to model selection, it does have variance.\n", - "\n", - " " + "Now 72.0% of the test observations are correctly classified, which is slightly worse than the error for the full tree (with 35 leaves). So cross-validation has not helped us much here; it only pruned off 5 leaves, at a cost of a slightly worse error. These results would change if we were to change the random number seeds above; even though cross-validation gives an unbiased approach to model selection, it does have variance." ] }, { @@ -813,23 +471,16 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "1ca6bc7a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:55.216363Z", - "iopub.status.busy": "2023-07-25T23:59:55.216227Z", - "iopub.status.idle": "2023-07-25T23:59:55.224376Z", - "shell.execute_reply": "2023-07-25T23:59:55.224038Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "Boston = load_data(\"Boston\")\n", "model = MS(Boston.columns.drop('medv'), intercept=False)\n", "D = model.fit_transform(Boston)\n", "feature_names = list(D.columns)\n", - "X = np.asarray(D)\n" + "X = np.asarray(D)" ] }, { @@ -838,21 +489,14 @@ "metadata": {}, "source": [ "First, we split the data into training and test sets, and fit the tree\n", - "to the training data. Here we use 30% of the data for the test set.\n" + "to the training data. Here we use 30% of the data for the test set." ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "15cfb553", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:55.226102Z", - "iopub.status.busy": "2023-07-25T23:59:55.226001Z", - "iopub.status.idle": "2023-07-25T23:59:55.228520Z", - "shell.execute_reply": "2023-07-25T23:59:55.228200Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "(X_train,\n", @@ -861,7 +505,7 @@ " y_test) = skm.train_test_split(X,\n", " Boston['medv'],\n", " test_size=0.3,\n", - " random_state=0)\n" + " random_state=0)" ] }, { @@ -874,35 +518,17 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "d18820a3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:55.230261Z", - "iopub.status.busy": "2023-07-25T23:59:55.230165Z", - "iopub.status.idle": "2023-07-25T23:59:55.529885Z", - "shell.execute_reply": "2023-07-25T23:59:55.529499Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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T82aNUtQBgAAHAnFFgDgVP79e7Vxu63//vhpvL29dfz4cf3888+aPHmyjh49qipVqqhjx47KmjVrgnds/fz8rC/8dObMGWXOnPmpj7du3TpVrFhRadKksV4W9yJRt2/fVoMGDVSyZEnrdUFBQVqyZMlzPwcAABwRxRYAgBdgMpnk7e0tb29vxcTEaP369fr777+VNWvWBO/Y+vn5aePGjTKbzYqOjra+4vGGDRt05coV66nHc+fOVceOHeMd27dvX+3du1cpUqTQqFGjlDJlSknS4cOH5eHhobx58ybiZwsAgH0wWSwWi9EhAADO58CBAypevLj279/P+9g6AL6fAAAj8arIAAAAAAC7RrEFAAAAANg1ii0AAAAAwK5RbAEA+JfAwEAFBQUZHSNBIiMjVaVKFVWqVEnlypXTr7/+Gu/6oUOHytPT84njoqOjra+wbDab5e7ursOHD0uSfvvtN1WtWlW+vr768MMPJT16/99MmTJZb79q1aqk/+QAAEggXhUZAOA0Hj58+MTb/ST148S9RuN/vZXQy2abN2+eypcvr2HDhmnHjh0aMWKEli5dKkm6cOGCTp48+dTjUqVKpbCwMEnS+fPnVbVqVb333nuKjo5W7969tWTJknjv9ys9es/fzZs3v3BGAACSGju2AACbEBERofLly8vHx0dms1mRkZH6+++/5efnpypVqqhz587y9/eXJLVt21Y7duyQJIWFhal9+/aSpO+++06+vr4qUaKEBg8ebL3vnDlzqkuXLqpSpYpu3rypxo0by9fXVz4+Pjpx4oQkafny5SpatKhq166t/fv3PzNnTEyMOnToIF9fX3l7e2vXrl3WTJ06dVKtWrUUHBwsT09PDRo0SH5+fjp//ryaNm2qSpUqqXz58tb7//cxL6NgwYK6deuWJOn69et67bXXrNcFBgbG+zo8S1BQkFq0aCFJ2r17t9KlS6fWrVvLbDbHew/e3377TRUqVFDLli115cqVl8oLAEBSYMcWAGATQkJCVLlyZQUGBkp6tNPZs2dPtWvXTi1atNCMGTOsJfRZ2rdvr08//VQWi0XlypVThw4dlDNnTl28eFF9+vRRrly51L9/f9WvX19NmzbVkSNH1LdvXy1btkz9+/fXnj17lC5dOvn6+j7zMaZPn668efPqxx9/1JUrV1S7dm1ruc2ePbsmT54sSercubOqV6+uL774Qt99950KFCighQsXKjw8XG3atNHu3bufOOZxnTt31tGjR+NdljZt2nhFU5K8vLw0ZMgQFSlSRDdu3NC2bdskSYcOHZIkFS5c+LlfM+nRru/atWslPdrlPXDggA4ePCiLxaLy5curYsWKevPNN3XmzBmlS5dOM2bMUO/evTV79uz/vG8AAJIDxRYAYBMaN26skSNHqkWLFsqZM6cCAwMVHh6ubt26SZLKlSun+fPnS4p/Wu/jb8e+dOlSTZs2TSaTSWfPntX58+eVM2dOZc+eXbly5ZIkHT58WFu3btUPP/xgva8rV67otddes556W6ZMmWfmPHz4sHbu3KkNGzZIkm7cuGG9ztvb2/qxq6urypUrJ0k6fvy4GjRoIEnKnz+/rl279tRjHjdp0qTnfLX+z5gxY1S/fn317t1bu3fvVpcuXbR+/XoNHTpUEyZM+M/j9+/fr6xZs+qdd96RJGXOnFllypRRxowZJUnvv/++Tp06JS8vL7m5uUmSWrRoobFjxyYoHwAAyYFiCwCwCS4uLho5cqQkqV27dgoODla+fPn0yy+/KG/evNYdTulR+Tp37pwkae/evdbLhwwZouPHj8vNzU3ly5e3lt7Hf3e1cOHCKlu2rOrVqyfp0Ysoubq66u+//9atW7eULl067dmzR0WKFHlqzsKFC8vT01M9e/a0Hh/n8ccxmUzWAl6gQAFt375d/v7+Cg8PV5YsWZ56zOMSumMrSdmyZbP+P65onz592nqK9l9//aUuXbpo4sSJTxw7d+5ctWrVyvrnMmXKaNCgQYqJiZHFYtGxY8eUM2dO3bx501r8Q0NDlS9fvqfmBgDACBRbAIBNWLNmjcaPHy9XV1e5ubnJ29tbJUqUUPPmzTVz5sx4RbN9+/Zq3ry55s+fr9y5c1svr1+/vsqXL68CBQoobdq0T32cQYMG6ZNPPtH48eMlSQEBAerXr5++/PJLVaxYUTly5FDmzJmfmbNDhw7q2rWrfHx8JEnFihX7z93LDh06qG3btqpYsaIePHhgfeznSeiObbdu3dSqVSvNnDlT9+7d0+jRoyXJ+grHkuTp6WkttaNGjVKNGjX03nvv6cGDB1qxYoWGDx9uvW2GDBnUu3dv+fj4KDo6Wt27d1eWLFmst0uXLp3c3Nw0derUBOUDACA5mCyPn8MFAEAyOXDggIoXL679+/fLy8vrP28fERGh9u3b86q8NupFv58AACQmdmwBAHiG1q1bW095lh6dAr1s2TIDEwEAgKeh2AIA7EKuXLmSfbd2zpw5yfp4AADg5fA+tgAAvAJPT89keZwZM2bI29tbFStWVK1atazvXdu2bVsVK1ZMZrNZ9evXj3dMdHS0PD09NWLEiGTJCACAUSi2AADYgZYtW2rHjh3atm2bihUrprlz51qvGz9+vMLCwp44TXrixIkqVKhQckcFACDZUWwBAA4pIiJC5cuXl4+Pj8xmsyIjI7Vt2zb5+PioQoUKql27tu7duydJMpvN6tmzpwICAmQ2mzV//nwFBASoaNGiOnHihPU2Xbp0UeXKleXn56fLly/He7yYmBh16NBBvr6+8vb21q5duyRJI0aMUKlSpeTr6/tK7/2aKlUq68d37txR4cKFrX/u1auXKlSoYH2fX+nR++tu3rz5iV1cAAAcEcUWAOCQQkJCVLlyZYWGhiosLEwZM2ZU8eLFFRoaqu3bt6tgwYJatGiR9faVKlVScHCwPD09tXfvXgUHB6t3796aMWOG9TalS5fWpk2b1KJFC3311VfxHm/69OnKmzevQkJCtHz5cvXq1UuSNG/ePIWGhiokJEQ9evR4Imf9+vVlNpvj/Rf3/rP/NnnyZBUpUkQ7duywFtuvv/5ae/bs0erVq/XNN9/o5MmTkqQvvvhC/fr1e6WvIQAA9oIXjwIAOKTGjRtr5MiRatGihXLmzKnAwEAdOXJEgwcP1v379/X3338rffr01tsXL15ckpQ9e3blzZvX+vHWrVuttylXrpz1/8uXL4/3eIcPH9bOnTu1YcMGSY92TCVpwoQJ6tKlix48eKBPPvlE3t7e8Y57kVdZ7tSpkzp16qRRo0bpq6++0pgxY5Q1a1ZJUsaMGRUQEKCDBw8qZcqUOnv2rCpWrKgzZ84k+P4BALBXFFsAgENycXHRyJEjJUnt2rVTcHCwpk2bps8//1xly5ZV37599fhbuZtMpqd+/Phtdu/eLU9PT+3evVv58+eP93iFCxeWp6enevbsKenRCzdJUtmyZeXn56dz586pXr162r9/f7zj6tevr+vXr8e7zNPTU9OmTYt3WVRUlNzd3SVJmTJlUlRUlKRHBTpjxoyKiYnRjh071KRJEx04cEAXL15U1apVdeHCBd2/f19FihRR3bp1E/4FBADAjlBsAQAOac2aNRo/frxcXV3l5uYmb29v3blzRx999JEKFCig9OnTx9uxTYgDBw5o9uzZevjwoRYsWBDvug4dOqhr167y8fGRJBUrVkxjx45VvXr1FBUVpaioKHXp0uWJ+0zoju3w4cO1c+dOSY/eTzfuFOkmTZrozp07iomJUdOmTfXBBx/ogw8+sP5u7axZs3T+/HlKLQDAoZksjy9FAwCQTA4cOKDixYtr//798vLyMjrOfzKbzQoKClL27NmNjmKT7O37CQBwLLx4FAAAAADArnEqMgAACRAWFmZ0BAAA8Azs2AIAAAAA7BrFFgDg9CIiIuTv759sjxcYGKjSpUurfPny6t69u/WVlz/++GOVKVNGZcqU0ahRo5447ty5c/He7zZlypSKjIy0Xh8eHq6UKVNqx44dkh7tMr/55pvW2+/Zsyd5PkEAAJIZpyIDAJDMmjdvrsDAQEmP3m83JCREfn5+6t27t/Lly6fY2FiVL19ejRo1sr6nriS988471lOid+7cqREjRihTpkzW6wMDA2U2m+M9Vo0aNZ546yAAABwNO7YAAIfUu3dvLV26VJL04MEDvf/++4qJidHAgQPl6+srLy8vTZ48+Ynj2rZtG2/Hs3379pKk33//Xf7+/vL19VWjRo109+7dl86WL18+68dubm5ydXWNd7mLi4tSpEhhvfxp5syZo1atWln/vG3bNuXKlUtvv/12vNtt3LhR3t7e6ty58ytlBgDAllFsAQAOqW3btpo9e7YkKTg4WL6+vkqZMqUGDRqkkJAQ7dq1S+PGjVNMTEyC7q9z586aMWOGQkJCZDabNXXq1HjXR0dHxztNOO6/wYMHP/M+w8LCdP78eVWsWDHe5UFBQcqRI4dy5cr11OOio6O1fv1663vTWiwWjRw5Uv369Yt3u+LFi+vEiRPasWOHsmbNqtGjRyfocwUAwN5wKjIAwCEVKVJEV65c0eXLlzV79mwNGDBAkjR58mStWLFCrq6uunz5si5fvhzvOJPJZP348bd6P3LkiFq3bi1Jun///hOn/KZKleqFXjn5wIEDGjBggNasWSMXl/9bZ16/fr3mzJmjVatWPfPY1atXy9fXV6lTp5YkLVy4UP7+/sqYMWO826VLl876ccuWLdWzZ88E5wMAwJ5QbAEADqtFixaaOHGiIiIiVKxYMUVGRmrmzJk6dOiQYmJilD9//njlVZIyZ86sc+fOSZL27t1rvbxIkSJasGCB3nzzTUmPdk0fFx0drSpVqjyRwdvbWyNGjIh32bFjx/Txxx9rxYoVypIli/Xybdu2acSIEVq3bp3c3d2f+XnNnTtX3bt3t/754MGD2rdvnzZv3qzDhw/r+PHjmj9/vrJkyaIMGTJIkkJCQpQ/f/7nfr0AALBXFFsAgMNq3ry5cuTIoeHDh0uSMmbMqEKFCsnb21uFChWKVyrjtG/fXs2bN9f8+fOVO3du6+UTJ05U27Ztracu9+3bV1WrVrVe/yI7tp06ddKtW7fUsmVLSVKvXr1Uu3ZttW7dWunTp1edOnUkSWPGjFGpUqXUo0cPDRo0SNmyZdO1a9d06NCheDvGj59i3LZtW7Vv31558uTRpEmTNHPmTKVOnVqZM2fWjBkzEvaFAwDAzpgs/16qBgAgGRw4cEDFixfX/v375eXlZXQcvCK+nwAAI/HiUQAAAAAAu0axBQAAAADYNYotAAAAAMCu8eJRAABDHTt2zOgISAR8HwEARqLYAgAMkTVrVnl4eFhfGRj2z8PDQ1mzZjU6BgDACfGqyAAAw5w7d05Xr1415LEPHz6sLl26KG/evBo/frzSpk1rSI5XdefOHXXt2lVnzpzRpEmTVKRIEcOyZM2aVe+8845hjw8AcF4UWwCA09m9e7cCAgL03nvvaf369UqXLp3RkV7J7du3VbVqVf3+++/auHGjSpcubXQkAACSFS8eBQBwKrt27VKVKlX0/vvvO0SplaR06dJpw4YNeu+991S5cmXt2rXL6EgAACQrii0AwGns3LlTVapUUdGiRR2m1MZJly6d1q9fr6JFiyogIEA7d+40OhIAAMmGYgsAcAo///yzAgIC5OXlpXXr1tnt79Q+T7p06bRu3ToVK1ZMAQEB+vnnn42OBABAsqDYAgAc3vbt2xUQEKASJUo4bKmNkzZtWq1du1bFixdX1apVtWPHDqMjAQCQ5Ci2AACHtm3bNlWrVk2lSpXSmjVrlCZNGqMjJbm4cluiRAlVrVpV27dvNzoSAABJimILAHBYW7duVfXq1VW6dGmnKbVx0qRJo7Vr16pUqVKqVq2atm3bZnQkAACSDMUWAOCQwsLCVL16dZUpU0arV6+Wh4eH0ZGSnYeHh9asWaPSpUurWrVq2rp1q9GRAABIEhRbAIDDCQ0NVfXq1VW+fHmnLbVxPDw8tHr1apUrV07Vq1dXWFiY0ZEAAEh0FFsAgEMJCQlRjRo1VKFCBa1cuVKpU6c2OpLhPDw8tGrVKpUvX17Vq1dXSEiI0ZEAAEhUFFsAgMPYvHmzatSooYoVK2rFihWU2sekTp1aK1euVIUKFVSzZk1t2bLF6EgAACQaii0AwCFs2rRJtWrVktlsptQ+Q1y5rVSpkmrWrKnNmzcbHQkAgERBsQUA2L2NGzeqdu3a8vX11fLly+Xu7m50JJvl7u6u5cuXy8fHR7Vq1dKmTZuMjgQAwCuj2AIA7FpwcLBq164tPz8/LVu2jFKbAO7u7lq2bJl8fX1Vq1YtBQcHGx0JAIBXQrEFANitDRs2qE6dOqpcubKWLl0qNzc3oyPZjbhy6+/vrzp16mjDhg1GRwIA4KVRbAEAdmndunWqU6eOqlSpoiVLllBqX4Kbm5uWLl2qKlWqqG7dulq/fr3RkQAAeCkUWwCA3Vm7dq3q1aunatWqUWpfkZubmxYvXqyAgADVrVtX69atMzoSAAAvjGILALAra9asUb169VS9enUtWrRIqVKlMjqS3Ysrt9WqVVO9evW0Zs0aoyMBAPBCKLYAALuxevVq1a9fXzVr1qTUJrJUqVJp0aJFqlGjhurXr6/Vq1cbHQkAgASj2AIA7MLKlSvVoEED1a5dWz/99JNSpkxpdCSHkypVKv3000+qVauWGjRooFWrVhkdCQCABKHYAgBs3ooVK9SwYUPVqVNHCxYsoNQmoZQpU2rhwoWqXbu2GjZsqJUrVxodCQCA/0SxBQDYtOXLl6tRo0aqV6+e5s+fT6lNBilTptSCBQtUt25dNWzYUMuXLzc6EgAAz0WxBQDYrKVLl6px48Zq0KABpTaZpUyZUvPmzVP9+vXVuHFjLVu2zOhIAAA8E8UWAGCTlixZoiZNmqhhw4YKCgpSihQpjI7kdOLKbcOGDdW4cWMtXbrU6EgAADwVxRYAYHMWL16spk2bqkmTJpo7dy6l1kApUqTQ3Llz1bhxYzVp0kSLFy82OhIAAE/gJwUAgE356aef1KJFCzVt2lSzZs2i1NqAFClSaM6cOTKZTGrWrJksFosaN25sdCwAAKz4aQEAYDMWLlyoFi1aqEWLFpo5c6ZcXV2NjoT/L67curi4qHnz5rJYLGrSpInRsQAAkESxBQDYiPnz56tVq1Zq2bKlZsyYQam1Qa6urpo1a5ZMJpOaN2+u2NhYNWvWzOhYAABQbAEAxps3b55at26tVq1aafr06ZRaG+bq6qqZM2fKZDKpZcuWslgsat68udGxAABOjmILADBUUFCQ2rRpozZt2ujHH3+k1NoBV1dXzZgxQy4uLmrVqpViY2PVsmVLo2MBAJwYxRYAYJg5c+aobdu2+vDDD/Xjjz/KxYUX67cXrq6umj59ukwmk9q0aSOLxaJWrVoZHQsA4KQotgAAQ8yePVsffvihPvroI02ZMoVSa4dcXFw0bdo0ubi4qE2bNoqNjVWbNm2MjgUAcEIUWwBAsps5c6Y++ugjtW/fXj/88AOl1o65uLho6tSpMplM+vDDD2WxWNS2bVujYwEAnAzFFgCQrGbMmKH27dvr448/1qRJkyi1DsDFxcW6696uXTtZLBZ9+OGHRscCADgRii0AINlMmzZNHTp00CeffKKJEydSah2Ii4uLJk+eLJPJpI8++kixsbH66KOPjI4FAHASFFsAQLL48ccf9fHHH6tz586aMGGCTCaT0ZGQyFxcXKy78O3bt5fFYlH79u2NjgUAcAIUWwBAkps6dao6duyoLl26aPz48ZRaB+bi4qKJEyfKZDKpQ4cOio2N1ccff2x0LACAg6PYAgCS1A8//KBOnTqpW7du+u677yi1TsBkMmnChAlycXFRx44dZbFY1LFjR6NjAQAcGMUWAJBkJk2apC5duujTTz/VuHHjKLVOxGQy6fvvv5eLi4s++eQTxcbGqlOnTkbHAgA4KIotACBJTJw4UV27dlWPHj00duxYSq0TMplM+vbbb2UymdS5c2dZLBZ17tzZ6FgAAAdEsQUAJLrx48ere/fu6tmzp7755htKrRMzmUzW3fouXbooNjZWXbt2NToWAMDBUGwBAInq+++/16effqrPPvtMX331FaUWMplMGjt2rFxcXNStWzdZLBZ169bN6FgAAAdCsQUAJJpvv/1WPXv2VJ8+fTR69GhKLaxMJpO+/vprubi4qHv37oqNjdWnn35qdCwAgIOg2AIAEsW4cePUq1cv9e3bV6NGjaLU4gkmk0ljxoyRyWRSjx49FBsbq549exodCwDgACi2AIBX9s0336h3797q37+/Ro4cSanFM5lMJo0ePVouLi7q1auXLBaLevXqZXQsAICdo9gCAF7J119/rT59+mjgwIEaMWIEpRb/yWQy6csvv5SLi4s+++wzWSwWffbZZ0bHAgDYMYotAOCljRkzRv369dOgQYP0v//9j1KLBDOZTPriiy9kMpnUu3dvxcbGqk+fPkbHAgDYKYotAOCljB49Wv3799eQIUP0+eefU2rxwkwmk0aMGCEXFxf17dtXFotFffv2NToWAMAOUWwBAC/syy+/1MCBAzVs2DAFBgYaHQd2zGQyafjw4XJxcVG/fv0UGxur/v37Gx0LAGBnKLYAgBfyxRdfaPDgwQoMDNSwYcOMjgMHYDKZrLv+AwYMUGxsrAYOHGh0LACAHaHYAgASbMSIEdZTj4cOHWp0HDiYwMBAmUwmDRo0SBaLRYMGDTI6EgDATlBsAQAJMnz4cA0bNkzDhw/XkCFDjI4DBzVs2DCZTCYNHjxYsbGx/F0DACQIxRYA8J8CAwP1+eefa8SIEeyiIckNHTpULi4uGjJkiGJjYznlHQDwnyi2AIBnslgsCgwM1PDhwzVy5EgNGDDA6EhwEoMHD5aLi4v1tGRepAwA8DwUWwDAU1ksFg0bNkz/+9//9OWXX/JKtUh2AwcOlMlk0sCBA63llreVAgA8DcUWAPAEi8WiIUOG6IsvvtDo0aN5b1EYZsCAAXJxcVH//v0VGxur4cOHU24BAE+g2AIA4rFYLBo8eLBGjhypr776Sr179zY6Epxcv3795OLior59+8piseh///sf5RYAEA/FFgBgZbFYNHDgQI0aNUpff/21PvvsM6MjAZKkPn36yGQyqU+fPoqNjdUXX3xBuQUAWFFsAQCSHpXa/v37a8yYMRo7dqx69uxpdCQgnt69e8vFxUWfffaZYmNj9eWXX1JuAQCSKLYAAD0qtf369dNXX32lcePGqUePHkZHAp6qV69eMplM6tWrlywWi0aNGkW5BQBQbAHA2VksFvXp00fffPONvvvuO3Xv3t3oSMBz9ezZUy4uLurRo4diY2M1ZswYyi0AODmKLQA4MYvFos8++0zjxo3T+PHj1bVrV6MjAQny6aefysXFRd27d1dsbKy+/vpryi0AODGKLQA4KYvFol69eunbb7/VhAkT1KVLF6MjAS+kW7duMplM6tatmywWi7755hvKLQA4KYotADghi8WiHj166Pvvv9fEiRPVuXNnoyMBL6Vr164ymUzq2rWrYmNjNW7cOMotADghii0AOBmLxaJPP/1U48eP1+TJk/XJJ58YHQl4JV26dJGLi4s6d+4si8Wib7/9lnILAE6GYgsATsRisahbt26aOHGipkyZoo8//tjoSECi6NSpk1xcXPTJJ58oNjZW33//PeUWAJwIxRYAnERsbKy6du2qyZMna+rUqerQoYPRkYBE1bFjR5lMJnXs2FGxsbGaMGEC5RYAnATFFgCcQGxsrLp06aIpU6Zo2rRp+uijj4yOBCSJjz/+WC4uLurQoYMsFosmTJggFxcXo2MBAJIYxRYAHFxsbKw6d+6sqVOnatq0aWrXrp3RkYAk1b59e5lMJmu5nThxIuUWABwcxRYAHFhsbKw++eQTTZs2TdOnT9eHH35odCQgWXz00UcymUxq3769YmNjNXnyZMotADgwii0AOKjY2Fh17NhR06dP18yZM9WmTRujIwHJql27dnJxcVG7du0UGxurKVOmUG4BwEFRbAHAAcXGxqpDhw6aOXOmZs2apdatWxsdCTBE27ZtZTKZ9OGHH8pisWjq1KmUWwBwQBRbAHAwDx8+VPv27TVnzhzNmTNHLVu2NDoSYKg2bdrIxcVFbdq0UWxsrKZNm0a5BQAHQ7EFAAfy8OFDffTRR5o7d67mzJmjFi1aGB0JsAmtWrWSyWRSmzZtZLFYNG3aNLm6uhodCwCQSCi2AOAgHj58qHbt2ikoKEhz585V8+bNjY4E2JSWLVvKxcVFrVq1ksVi0fTp0ym3AOAgKLYA4AAePnyotm3bav78+Zo3b56aNm1qdCTAJjVv3lwmk0ktW7ZUbGysZs6cSbkFAAdAsQUAO/fw4UO1adNGCxcu1Pz589WkSROjIwE2rVmzZnJxcVGLFi1ksVg0a9Ysyi0A2DmKLQDYsQcPHqhNmzb66aeftGDBAjVq1MjoSIBdaNKkiUwmk5o3b67Y2FjNnj1bKVLwYxEA2Cv+BQcAO/XgwQO1atVKixcv1sKFC9WwYUOjIwF2pXHjxjKZTGrWrJksFovmzJlDuQUAO8W/3gBghx48eKCWLVtq6dKl+umnn9SgQQOjIwF2qVGjRnJxcVHTpk1lsVg0d+5cyi0A2CGTxWKxGB0CAJBwMTExatGihZYvX65FixapXr16RkcC7N6yZcvUpEkT1a9fX/PmzaPcAoCdodgCgB2JiYlR8+bNtWLFCi1evFh169Y1OhLgMJYvX67GjRurXr16mjdvnlKmTGl0JABAAlFsAcBOxMTEqFmzZlq1apUWL16sOnXqGB0JcDgrV65Uo0aNVLt2bS1YsIByCwB2gmILAHYgOjpaTZs21Zo1a7R06VLVqlXL6EiAw1q1apUaNmyoWrVqaeHChZRbALADFFsAsHHR0dFq0qSJ1q1bp6VLl6pmzZpGRwIc3urVq9WgQQPVrFlTCxcuVKpUqYyOBAB4DootANiw6OhoNW7cWOvXr9eyZctUo0YNoyMBTmPNmjVq0KCBqlWrpkWLFlFuAcCGUWwBwEbdv39fjRo1UnBwsJYvX67q1asbHQlwOuvWrVO9evVUtWpVLV68mHILADaKYgsANuj+/ftq2LChNm3apBUrVqhq1apGRwKc1vr161WvXj1VqVJFixcvlpubm9GRAAD/QrEFABtz//59NWjQQJs3b9bKlSsVEBBgdCTA6W3YsEF169aVv7+/li5dSrkFABvjYnQAAMD/iYqKUv369bVlyxatWrWKUgvYiKpVq2rlypXavHmz6tevr6ioKKMjAQAew44tANiIqKgo1atXT2FhYVq1apUqV65sdCQA/7Jx40bVqVNHPj4+WrZsmdzd3Y2OBAAQxRYAbEJUVJTq1q2rbdu2afXq1fLz8zM6EoBn2Lx5s2rVqiWz2azly5dTbgHABlBsAcBg9+7dU926dbV9+3atWbNGvr6+RkcC8B+2bNmiWrVqqUKFClqxYoVSp05tdCQAcGoUWwAw0N27d1WnTh39/PPPWrt2rXx8fIyOBCCBQkJCVLNmTXl7e2vlypWUWwAwEMUWAAxy9+5d1a5dW7t27dLatWtlNpuNjgTgBYWFhalGjRoqV66cVq5cKQ8PD6MjAYBTotgCgAHu3r2rWrVqaffu3Vq3bp0qVapkdCQAL2nr1q2qXr26ypYtq1WrVlFuAcAAvN0PACSzf/75RzVr1tQvv/yi9evXU2oBO1epUiWtX79eu3fvVs2aNfXPP/8YHQkAnA47tgCQjOJK7b59+7R+/Xp5e3sbHQlAItm+fbuqVaumkiVLas2aNUqTJo3RkQDAaVBsASCZ3LlzRzVq1NCBAwe0YcMGlS9f3uhIABLZjh07VK1aNRUvXlxr166l3AJAMqHYAkAyuHPnjqpXr66DBw9qw4YNKleunNGRACSRn3/+WVWrVpWXl5fWrl2rtGnTGh0JABwexRYAktjt27dVvXp1/fbbbwoODlbZsmWNjgQgie3cuVNVq1ZV0aJFtW7dOsotACQxii0AJKHbt2+rWrVqOnz4sIKDg1WmTBmjIwFIJrt27VJAQIA++OADrVu3TunSpTM6EgA4LIotACSRW7duqVq1avr999+1ceNGlS5d2uhIAJLZ7t27FRAQoCJFimj9+vVKnz690ZEAwCFRbAEgCdy6dUtVq1bV0aNHtXHjRpUqVcroSAAMsmfPHlWpUkWFChXShg0bKLcAkAQotgCQyG7evKmqVavq2LFj2rRpk0qWLGl0JAAG27t3rypXrqyCBQtqw4YNypAhg9GRAMChUGwBIBHduHFDAQEBOnHihDZt2qQSJUoYHQmAjdi3b58qV66s/PnzKzg4mHILAImIYgsAieTGjRuqUqWKTp06pU2bNql48eJGRwJgY/bv3y9/f3/ly5dPwcHBypgxo9GRAMAhUGwBIBFERkaqSpUqOn36tDZv3iwvLy+jIwGwUQcOHJC/v788PT21ceNGyi0AJAIXowMAgL2LjIxU5cqVdebMGW3ZsoVSC+C5vLy8tGXLFp0+fVqVK1dWZGSk0ZEAwO6xYwsAr+D69euqXLmyIiIitGXLFhUtWtToSADsxMGDB+Xn56fcuXNr06ZNypQpk9GRAMBusWMLAC/p+vXr8vf31x9//KGQkBBKLYAXUrRoUYWEhCgiIkL+/v66fv260ZEAwG5RbAHgJVy7dk1+fn76888/FRISog8++MDoSADs0AcffKCQkBCdO3dOfn5+unbtmtGRAMAucSoyALygq1evyt/fXxcuXFBISIjee+89oyMBsHOHDx+Wr6+vsmfPrs2bNytLlixGRwIAu8KOLQC8gKtXr8rPz08XL15UaGgopRZAonjvvfcUGhqqCxcuyM/PT1evXjU6EgDYFYotACTQlStX5Ovrq0uXLik0NFRFihQxOhIAB1KkSBGFhobqr7/+kq+vr65cuWJ0JACwGxRbAEiAy5cvy9fXV5cvX1ZoaKgKFy5sdCQADqhw4cIKDQ3V33//LT8/P8otACQQxRYA/kNcqb1y5YpCQ0NVqFAhoyMBcGCFChVSaGhovAU1AMDz8eJRAPAcf//9t3x9fXX9+nWFhoaqQIECRkcC4CSOHz8uHx8fZc6cWSEhIXr99deNjgQANosdWwB4hkuXLsnHx0eRkZEKCwuj1AJIVgUKFFBoaKiuX78uX19f/f3330ZHAgCbRbEFgKf466+/5OPjo5s3byosLEz58+c3OhIAJ1SgQAGFhYUpMjJSPj4+unTpktGRAMAmUWwB4F/iSu3t27cVFhamfPnyGR0JgBPLnz+/wsLCdPPmTfn4+Oivv/4yOhIA2Bx+xxYAHnPx4kX5+Pjon3/+UVhYmDw9PY2OBACSpJMnT8rHx0dp06ZVaGio3nzzTaMjAYDNYMcWAP6/CxcuyGw26+7du5RaADbn3XffVVhYmP755x+ZzWZdvHjR6EgAYDMotgAg6fz58zKbzYqKiqLUArBZnp6eCgsL071792Q2m3XhwgWjIwGATeBUZABOL67UxsTEKDQ0VHny5DE6EgA815kzZ2Q2m+Xm5qbQ0FBlz57d6EgAYCh2bAE4tT///FNms1kPHjxQWFgYpRaAXciTJ4/CwsIUHR0ts9msP//80+hIAGAoii0Ap3Xu3Ll4pTZ37txGRwKABIsrtw8ePJDZbNa5c+eMjgQAhqHYAnBKf/zxh8xms2JjY7V161blypXL6EgA8MJy586tsLAwxcbGUm4BODWKLQCnExERIbPZLEkKCwtTzpw5jQ0EAK8gV65cCgsLk8Vikdls1h9//GF0JABIdhRbAE4lrtS6uLhQagE4jJw5c2rr1q2SJLPZrIiICGMDAUAyo9gCcBpnz55VpUqVlCJFCoWFhemdd94xOhIAJJp33nlHW7dulYuLi8xms86ePWt0JABINhRbAE7hzJkzqlSpklKmTKmwsDDlyJHD6EgAkOhy5MihsLAwpUiRQmazWWfOnDE6EgAkC4otAId3+vRpmc1mubu7a+vWrbzfIwCHFlduU6VKRbkF4DQotgAc2qlTp6ylNjQ0VG+//bbRkQAgyWXPnl1hYWFyd3dXpUqVdPr0aaMjAUCSotgCcFgnT56U2WyWh4eHwsLCKLUAnMrbb7+t0NBQeXh4qFKlSjp16pTRkQAgyVBsATikuFKbNm1ahYWF6a233jI6EgAku7hymzZtWpnNZp08edLoSACQJCi2ABxOeHi4KlWqpPTp0yssLExvvvmm0ZEAwDBvvfWWQkNDlS5dOpnNZp04ccLoSACQ6Ci2ABxKeHi4fHx8lDFjRoWGhuqNN94wOhIAGO7NN99UaGio0qdPL7PZrPDwcKMjAUCiotgCcBjHjx+X2WxWpkyZKLUA8C9vvPGGwsLClClTJvn4+Oj48eNGRwKAREOxBeAQjh07JrPZrCxZsig0NFSvv/660ZEAwOa8/vrrCgkJsZbbY8eOGR0JABIFxRaA3Tt69KjMZrOyZcumkJAQvfbaa0ZHAgCb9frrrys0NFRZsmSRj4+Pjh49anQkAHhlFFsAdu3IkSPy8fGx7kJQagHgv7322msKDQ3Va6+9RrkF4BAotgDs1u+//y4fHx+98cYbCgkJUbZs2YyOBAB2I1u2bNqyZYtef/11mc1m/f7770ZHAoCXRrEFYJcOHz4sHx8fvfXWW9qyZYuyZs1qdCQAsDtxv8Lx5ptvytfXl3ILwG5RbAHYnUOHDsnX11fZs2en1ALAK8qaNatCQkL09ttvy8fHR4cPHzY6EgC8MIotALvy22+/ydfXVzly5NCWLVuUJUsWoyMBgN3LkiWLNm/erBw5csjHx0e//fab0ZEA4IVQbAHYjYMHD8rX11c5c+bU5s2blTlzZqMjAYDDiCu377zzjvz8/Ci3AOwKxRaAXfj111/l5+en3LlzU2oBIIlkzpxZmzdvVq5cueTr66uDBw8aHQkAEoRiC8DmHThwQH5+fsqTJ482b96sTJkyGR0JABxW5syZtWnTJuXJk0e+vr46cOCA0ZEA4D9RbAHYtP3798vPz0+enp7atGmTMmbMaHQkAHB4mTJl0qZNm+Tp6Sl/f3/KLQCbR7EFYLP27dsnf39/5c+fn1ILAMksY8aM2rhxo9599135+flp//79RkcCgGei2AKwSXv37pW/v78KFCig4OBgZciQwehIAOB04spt/vz55e/vr7179xodCQCeimILwObs2bNH/v7+KlSoEKUWAAyWIUMGBQcHq0CBAqpcubL27NljdCQAeALFFoBN+eWXX1S5cmUVKVJEGzZsUPr06Y2OBABOL67cFipUSJUrV9Yvv/xidCQAiIdiC8Bm7Nq1S5UrV9Z7771HqQUAG5M+fXoFBwerSJEiqlKlinbv3m10JACwotgCsAk7d+5UQECAPvjgA61fv17p0qUzOhIA4F/SpUunDRs26L333lOVKlW0a9cuoyMBgCSKLQAb8PPPPysgIEBFixal1AKAjUuXLp3Wr1+vDz74QAEBAdq5c6fRkQCAYgvAWDt27FDVqlXl5eWldevWKW3atEZHAgD8h7hyW7RoUQUEBOjnn382OhIAJ0exBWCY7du3q2rVqipRogSlFgDsTNq0abVu3ToVL15cAQEB2rFjh9GRADgxii0AQ2zbtk3VqlVTqVKltGbNGqVJk8boSACAF5Q2bVqtXbtWJUuWVNWqVbV9+3ajIwFwUhRbAMlu69atqlatmkqXLk2pBQA7lyZNGq1Zs0alSpVStWrVtHXrVqMjAXBCFFsAySosLEzVq1dX2bJltXr1anl4eBgdCQDwiuLKbenSpVW9enWFhYUZHQmAk6HYAkg2ISEhql69usqVK0epBQAH4+HhodWrV6tcuXKqUaOGQkNDjY4EwIlQbAEkiy1btqhmzZry9vbWqlWrlDp1aqMjAQASmYeHh1atWqXy5curRo0aCgkJMToSACdBsQWQ5DZv3qyaNWuqYsWKWrlyJaUWABxY6tSptXLlSlWoUEE1atTQli1bjI4EwAlQbAEkqU2bNqlWrVoym81asWIFpRYAnEBcua1UqZJq1qypzZs3Gx0JgIOj2AJIMsHBwapVq5Z8fHy0fPlyubu7Gx0JAJBM3N3dtWLFCpnNZtWqVUsbN240OhIAB0axBZAkNmzYoDp16sjf359SCwBOyt3dXcuXL5evr69q166t4OBgoyMBcFAUWwCJbv369apbt64qV66spUuXys3NzehIAACDuLu7a9myZfL391edOnW0YcMGoyMBcEAUWwCJat26dapbt66qVKmiJUuWUGoBAHJzc9PSpUtVuXJl1alTR+vWrTM6EgAHQ7EFkGjWrFmjevXqqVq1apRaAEA8bm5uWrJkiapWrap69epp7dq1RkcC4EAotgASxerVq1W/fn1Vr15dixYtUqpUqYyOBACwMW5ublq8eLGqVaum+vXra82aNUZHAuAgKLYAXtmqVavUoEED1axZUz/99BOlFgDwTKlSpdKiRYtUvXp11a9fX6tXrzY6EgAHQLEF8MKioqK0b98+SdLKlSvVsGFD1a5dm1ILAEiQuHJbq1YtNWjQQCtXrpQk7du3T1FRUQanA2CPKLYAXtiXX36pBg0aaPny5WrYsKHq1KmjBQsWKGXKlEZHAwDYiZQpU2rhwoWqXbu2GjVqpBUrVqhBgwb68ssvjY4GwA6ZLBaLxegQAOyHxWJRgQIF9Pbbb2v79u2qV6+e5s2bR6kFALyUmJgYNW/eXCtWrFCFChV08eJFHTt2TCaTyehoAOwIO7YAXsihQ4d04sQJhYWFycvLS5K0bds2g1MBAOxV3Azx8vLS1q1bFR4ersOHDxucCoC9odgCeCFffPGF9eM9e/bo4sWLypw5s4GJAAD2LHPmzPrrr7+0Z88exZ1IOGLECINTAbA3FFsAL+TevXt66623NHbsWJ0/f147duxQsWLFjI4FALBTxYoV044dO3T+/HmNHTtWb731lu7du2d0LAB2ht+xBQAAAADYNXZsAQAAAAB2LYXRAYCkdO7cOV29etXoGEhEWbNm1TvvvGN0DABweMxQx8MMhSOj2MJhnTt3TgULFtTdu3eNjoJE5OHhoWPHjjGYASAJMUMdEzMUjoxiC4d19epV3b17V0FBQSpYsKDRcZAIjh07ppYtW+rq1asMZQBIQsxQx8MMhaOj2MLhFSxY0Pp+qwAAIOGYoQDsBS8eBbyEiIgI+fv7P/P6WbNm6datW8+9j7CwMB06dCixo8UzcOBA5cyZ86lZr127pkyZMikoKOiZx4eEhMhkMun8+fOSpPv376t169aqUKGC6tatq5s3b0qSAgMDVbBgQZnNZpnNZkVHRyfNJwQAQDKYOnWqdaYVKFBADRo0eOZtW7duHW/ONmjQQJUqVVKJEiU0btw46+WpU6e23ufUqVOTND/gjCi2QBJIimJ7586dF87RtWtXhYaGPvW6ESNGyNvb+5nHxsbG6uuvv1aJEiWsl82ePVu5cuXS9u3bVb16dY0dO9Z63aBBgxQWFqawsDClSpXqhbMCAPC4hw8fJsr9xMbGvvDvCn/88cfWmVaxYkU1adLkqbc7cODAE/N+wYIF2rp1q3bv3q1Jkybp9u3bkqS3337bep8ff/zxy30yAJ6JYgu8ohkzZqhkyZLy9fVVv379FBISooMHD6pRo0Zq3769IiMj5e/vL7PZrHLlyun48eO6fv26Zs2apS+++EJms/mZpfXOnTsKCgpSrVq11Lt37xfO9tZbb8nF5cmn+alTp3Tt2jUVL178mccGBQWpdu3aSpMmjfWy0NBQ1atXT5JUt27deKV5zJgx8vb2jrc6DQDAi4iIiFDJkiXVunVrtWzZUrNmzVL9+vXVsGFDFSxYUIsWLVLDhg1VtGhRff/998+9r0OHDqlv377y9vbWkSNHXipPVFSUNm7cqNq1az/1+uHDh2vQoEHxLotb3L17967eeecdeXh4SJIuXbqkSpUqqW7dujpz5sxL5QHwbPyOLfCKZs2apcWLFytXrlyKjY2Vi4uLihYtqqCgIGXPnl0xMTFat26dUqVKpfXr12v06NGaOXOm2rZtK09PT7Vs2fKJ+9y4caPmzJmjq1evqnbt2poxY4ayZcsmSdqzZ4/69u37xDFdu3ZVw4YNE5R56NCh+t///qe5c+c+9fp79+5pzpw52rBhgxYuXGi9PO70ZUnKlCmTrl27Jknq1q2bhg0bpvv376tOnToqWrSofHx8EpQFAIDHRUREaPPmzcqQIYNmzZql2NhYLVu2TDt27FCTJk108uRJubi4qEiRIurevXu8Y69cuaIZM2YoODhY+fPnV/PmzTV69GiZTCZJUufOnXX06NF4x6RNm1Zr1qx5apbVq1fL399f7u7uT1y3Zs0aeXl5Wefz4+rUqaNdu3apU6dOcnV1tX5eWbNm1ZYtW9SuXTuFhYW9zJcHwDNQbIFXNG7cOP3vf//TvXv31LRp0ydWdW/cuKEuXbro0qVLio6OVrp06f7zPufNm6fTp0+rW7duql27ttKmTWu9rlSpUq80DHfu3KksWbIob968z7zNt99+q08++UQpUsT/JyJLliyKjIxUrly5dOPGDWXJksV6uSS5u7urQYMG2rdvH8UWAPBSihQpogwZMlj/HHd2Ufbs2VWgQAHrDujThIeHa8aMGapVq5Zat26t999/P971kyZNeqEsc+bMeeoZUw8fPtTYsWO1evVqXbly5YnrV65cqX/++cd6GnOhQoWUNWtWSZKfn586duz4QjkA/DeKLfCKChYsqOnTpysqKkrvvvuuateurVSpUunBgweSHp3SW6xYMQ0YMEDr1q2z/l7q47f5t9mzZ+vatWv66aefVK9ePWXNmlVt27ZVQEDAK+/Y7tu3T4cOHVLVqlV16tQppUmTRnnz5lXZsmWttzly5Ii2bt2qadOm6dChQ2rVqpXWrFkjs9msVatWqVixYlq1apXMZrOkR+U9Y8aMslgsCg0NVbNmzV70ywgAgCRZdzjjxO22/vvjp/H29tbx48f1888/a/LkyTp69KiqVKmijh07KmvWrC+0Y3vlyhUdO3ZMFStWfOK6S5cuKTIyUg0aNNC9e/d05MgRDR8+XIMHD9bDhw+VMmVKpU6d2vrfnTt3lDp1arm6uur3339X5syZX+RLAiABKLbAK+rcubPOnj2r6OhoffLJJ5Kk+vXrq127dipevLjatm2r5s2ba/v27SpUqJD1uMqVK6tHjx5as2aN5syZ88QKdJYsWdS5c2fr/e/YsUPSi+3Yfvfdd1q8eLGOHTsmf39/TZo0Sd27d7eeuhUYGChPT0+VLVtWly5d0ldffaVvvvkm3islm81mzZ07V2nSpFHbtm3Vvn17VaxYUZkyZdLs2bMlST169FB4eLgsFosqVKjwzN9FAgAgqZlMJnl7e8vb21sxMTFav369/v77b2XNmvWFdmwXLlyoxo0bxyvTs2bN0ttvv63KlSvr119/lfToFOP27dtr6NChun37tmrVqiXp0TsJNG3aVLlz59aePXvUsWNH61lbU6ZMScTPGIAkmSwWi8XoEEBSOHDggIoXL679+/fzHnwOgu8pACQP/r11PHxP4eh4VWQAAAAAgF2j2AIAAAAA7BrFFgAAAABg1yi2gEECAwPjvUiTLduwYYPKly8vs9ksX19f/fnnn5IefQ4FCxaU2WyW2WxWdHT0E8du2bJFZcuWVdmyZbVgwQLr5f7+/sqWLZtGjBhhvezEiRPy8vJS2rRprS+WBQDAv9nTDI2MjFSVKlVUqVIllStXzvqiUwmZoeXKlVOlSpVUsmRJ6wyNjo5W48aNVaFCBZUqVUqbNm2SJJ05c0YVK1a03t8ff/yRfJ8kYAMotkAie/jwYbI/jsViUUJeB+5ls/n6+urnn39WWFiYWrZsqe+//9563aBBgxQWFqawsDClSpXqicfr1auX1qxZo5CQEI0ePVq3b9+W9OiVJb/66qt4t8+ePbu2bNmSoLctAgA4HkecofPmzVP58uW1detWjRkzJt6C7vNmqCSFhYVp69at2rJliwYOHChJ2rhxo9KkSaPt27dr6dKl6t+/v6RH79H70UcfKSwsTO3bt483qwFnQLGFU4mIiFD58uXl4+Mjs9msyMhI/f333/Lz81OVKlXUuXNn+fv7S5Latm1r3TWMGxLSo7fQ8fX1VYkSJTR48GDrfefMmVNdunRRlSpVdPPmTTVu3Fi+vr7y8fHRiRMnJEnLly9X0aJFVbt2be3fv/+ZOWNiYtShQwf5+vrK29tbu3btsmbq1KmTatWqpeDgYHl6emrQoEHy8/PT+fPn1bRpU1WqVEnly5e33v+/j3kZjw/bGzduxHvD+zFjxsjb21vjxo174rhTp04pV65cypIli1KnTq1y5cpp7969kh6V2H/z8PBQpkyZXiojACBpMUNfboYWLFhQt27dkiRdv35dr732mvW6581Q6f/m7+3bt1W4cGFJUt68eXX//n1ZLBZFRkZa769w4cK6cePGUx8HcAa8jy2cSkhIiCpXrqzAwEBJj1Zpe/bsqXbt2qlFixaaMWOGdYA+S/v27fXpp5/KYrGoXLly6tChg3LmzKmLFy+qT58+ypUrl/r376/69euradOmOnLkiPr27atly5apf//+2rNnj9KlSydfX99nPsb06dOVN29e/fjjj7py5Ypq165tHczZs2fX5MmTJT16D93q1avriy++0HfffacCBQpo4cKFCg8PV5s2bbR79+4njnnci7xR/fLly/XFF1/o5s2bWr9+vSSpW7duGjZsmO7fv686deqoaNGi8vHxsR5z7dq1eEU1U6ZMunbt2nO/vgAA28QMjS+hM9TLy0tDhgxRkSJFdOPGDW3btk3Sf89QSbp3754CAgJ05MgRjRo1SpKUJ08e3b17VwUKFNCNGze0cuVKSZKfn58CAgI0ffp0RUVFac+ePc/9XgCOhmILp9K4cWONHDlSLVq0UM6cORUYGKjw8HB169ZN0qPfZZk/f74kxXtD9sdPUVq6dKmmTZsmk8mks2fP6vz588qZM6eyZ8+uXLlySZIOHz6srVu36ocffrDe15UrV/Taa68pQ4YMkqQyZco8M+fhw4e1c+dObdiwQZKsK7CS5O3tbf3Y1dVV5cqVkyQdP35cDRo0kCTlz58/XoF8/JjHvcgb1derV0/16tXTwoULNXDgQC1atEhZsmSRJLm7u6tBgwbat29fvKGcJUsWRUZGWv9848YN6zEAAPvCDI0voTN0zJgxql+/vnr37q3du3erS5cuWr9+/X/OUElKnTq1tm3bpqtXr6pkyZJq3LixFi5cqOzZs2vFihWKiIhQvXr19Ouvv6pfv3763//+p4YNG2rhwoUaMGDAUws54KgotnAqLi4uGjlypCSpXbt2Cg4OVr58+fTLL78ob9681tVZScqcObPOnTsnSdbTZyVpyJAhOn78uNzc3FS+fHnrwHZ1dbXepnDhwipbtqzq1asn6dELPbi6uurvv//WrVu3lC5dOu3Zs0dFihR5as7ChQvL09NTPXv2tB4f5/HHMZlM1h8eChQooO3bt8vf31/h4eHx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lcfCloiIiIiIiAyNhS0REREREREZGgtbIiIiIiIiMjSbXu4nJSXFli9HFVTWODBezsEcR8bTOTCezufkyZMAGFNnYS2OjK3x3B4zxtA5MIc6n/LE0iZnRT516hQ6dOiAzMzMyr4U2YinpydSUlLQqlWrYvcxXs7H1dUVBQUFWg+DbITxdD5ubm7qtZLJ+Mw5FgDzqYF5enpi8+bNiImJYQydCHOo8ymtrinKJoUtUFgsXb582RYvRTbQsGHDUoPPeDmXc+fOAYB6QW8yNsbT+WRnZ8Pd3V3rYZCNFM2xzKfGZY4jY+hcmEOdz53qGjObFbZEREREREREWuDJo4iIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGj/BxWf2d82Buy4AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "reg = DTR(max_depth=3)\n", "reg.fit(X_train, y_train)\n", "ax = subplots(figsize=(12,12))[1]\n", "plot_tree(reg,\n", " feature_names=feature_names,\n", - " ax=ax);\n" + " ax=ax);" ] }, { @@ -928,16 +554,9 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "619f8d94", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:55.531947Z", - "iopub.status.busy": "2023-07-25T23:59:55.531809Z", - "iopub.status.idle": "2023-07-25T23:59:55.575222Z", - "shell.execute_reply": "2023-07-25T23:59:55.574850Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "ccp_path = reg.cost_complexity_pruning_path(X_train, y_train)\n", @@ -949,7 +568,7 @@ " refit=True,\n", " cv=kfold,\n", " scoring='neg_mean_squared_error')\n", - "G = grid.fit(X_train, y_train)\n" + "G = grid.fit(X_train, y_train)" ] }, { @@ -963,32 +582,13 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "779a14b6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:55.577111Z", - "iopub.status.busy": "2023-07-25T23:59:55.576968Z", - "iopub.status.idle": "2023-07-25T23:59:55.580045Z", - "shell.execute_reply": "2023-07-25T23:59:55.579754Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "28.06985754975404" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "best_ = grid.best_estimator_\n", - "np.mean((y_test - best_.predict(X_test))**2)\n" + "np.mean((y_test - best_.predict(X_test))**2)" ] }, { @@ -1009,43 +609,15 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "2b04030b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:55.581772Z", - "iopub.status.busy": "2023-07-25T23:59:55.581667Z", - "iopub.status.idle": "2023-07-25T23:59:55.879963Z", - "shell.execute_reply": "2023-07-25T23:59:55.879563Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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T82aNUtQBgAAHAnFFgDgVP79e7Vxu63//vhpvL29dfz4cf3888+aPHmyjh49qipVqqhjx47KmjVrgnds/fz8rC/8dObMGWXOnPmpj7du3TpVrFhRadKksV4W9yJRt2/fVoMGDVSyZEnrdUFBQVqyZMlzPwcAABwRxRYAgBdgMpnk7e0tb29vxcTEaP369fr777+VNWvWBO/Y+vn5aePGjTKbzYqOjra+4vGGDRt05coV66nHc+fOVceOHeMd27dvX+3du1cpUqTQqFGjlDJlSknS4cOH5eHhobx58ybiZwsAgH0wWSwWi9EhAADO58CBAypevLj279/P+9g6AL6fAAAj8arIAAAAAAC7RrEFAAAAANg1ii0AAAAAwK5RbAEA+JfAwEAFBQUZHSNBIiMjVaVKFVWqVEnlypXTr7/+Gu/6oUOHytPT84njoqOjra+wbDab5e7ursOHD0uSfvvtN1WtWlW+vr768MMPJT16/99MmTJZb79q1aqk/+QAAEggXhUZAOA0Hj58+MTb/ST148S9RuN/vZXQy2abN2+eypcvr2HDhmnHjh0aMWKEli5dKkm6cOGCTp48+dTjUqVKpbCwMEnS+fPnVbVqVb333nuKjo5W7969tWTJknjv9ys9es/fzZs3v3BGAACSGju2AACbEBERofLly8vHx0dms1mRkZH6+++/5efnpypVqqhz587y9/eXJLVt21Y7duyQJIWFhal9+/aSpO+++06+vr4qUaKEBg8ebL3vnDlzqkuXLqpSpYpu3rypxo0by9fXVz4+Pjpx4oQkafny5SpatKhq166t/fv3PzNnTEyMOnToIF9fX3l7e2vXrl3WTJ06dVKtWrUUHBwsT09PDRo0SH5+fjp//ryaNm2qSpUqqXz58tb7//cxL6NgwYK6deuWJOn69et67bXXrNcFBgbG+zo8S1BQkFq0aCFJ2r17t9KlS6fWrVvLbDbHew/e3377TRUqVFDLli115cqVl8oLAEBSYMcWAGATQkJCVLlyZQUGBkp6tNPZs2dPtWvXTi1atNCMGTOsJfRZ2rdvr08//VQWi0XlypVThw4dlDNnTl28eFF9+vRRrly51L9/f9WvX19NmzbVkSNH1LdvXy1btkz9+/fXnj17lC5dOvn6+j7zMaZPn668efPqxx9/1JUrV1S7dm1ruc2ePbsmT54sSercubOq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V65cypIli1KnTq1y5cpp7969kh6V2H/z8PBQpkyZXiojACBpMUNfboYWLFhQt27dkiRdv35dr732mvW6581Q6f/m7+3bt1W4cGFJUt68eXX//n1ZLBZFRkZa769w4cK6cePGUx8HcAa8jy2cSkhIiCpXrqzAwEBJj1Zpe/bsqXbt2qlFixaaMWOGdYA+S/v27fXpp5/KYrGoXLly6tChg3LmzKmLFy+qT58+ypUrl/r376/69euradOmOnLkiPr27atly5apf//+2rNnj9KlSydfX99nPsb06dOVN29e/fjjj7py5Ypq165tHczZs2fX5MmTJT16D93q1avriy++0HfffacCBQpo4cKFCg8PV5s2bbR79+4njnnci7xR/fLly/XFF1/o5s2bWr9+vSSpW7duGjZsmO7fv686deqoaNGi8vHxsR5z7dq1eEU1U6ZMunbt2nO/vgAA28QMjS+hM9TLy0tDhgxRkSJFdOPGDW3btk3Sf89QSbp3754CAgJ05MgRjRo1SpKUJ08e3b17VwUKFNCNGze0cuVKSZKfn58CAgI0ffp0RUVFac+ePc/9XgCOhmILp9K4cWONHDlSLVq0UM6cORUYGKjw8HB169ZN0qPfZZk/f74kxXtD9sdPUVq6dKmmTZsmk8mks2fP6vz588qZM6eyZ8+uXLlySZIOHz6srVu36ocffrDe15UrV/Taa68pQ4YMkqQyZco8M+fhw4e1c+dObdiwQZKsK7CS5O3tbf3Y1dVV5cqVkyQdP35cDRo0kCTlz58/XoF8/JjHvcgb1derV0/16tXTwoULNXDgQC1atEhZsmSRJLm7u6tBgwbat29fvKGcJUsWRUZGWv9848YN6zEAAPvCDI0voTN0zJgxql+/vnr37q3du3erS5cuWr9+/X/OUElKnTq1tm3bpqtXr6pkyZJq3LixFi5cqOzZs2vFihWKiIhQvXr19Ouvv6pfv3763//+p4YNG2rhwoUaMGDAUws54KgotnAqLi4uGjlypCSpXbt2Cg4OVr58+fTLL78ob9681tVZScqcObPOnTsnSdbTZyVpyJAhOn78uNzc3FS+fHnrwHZ1dbXepnDhwipbtqzq1asn6dELPbi6uurvv//WrVu3lC5dOu3Zs0dFihR5as7ChQvL09NTPXv2tB4f5/HHMZlM1h8eChQooO3bt8vf31/h4eHx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lcfCloiIiIiIiAyNhS0REREREREZGgtbIiIiIiIiMjSbXu4nJSXFli9HFVTWODBezsEcR8bTOTCezufkyZMAGFNnYS2OjK3x3B4zxtA5MIc6n/LE0iZnRT516hQ6dOiAzMzMyr4U2YinpydSUlLQqlWrYvcxXs7H1dUVBQUFWg+DbITxdD5ubm7qtZLJ+Mw5FgDzqYF5enpi8+bNiImJYQydCHOo8ymtrinKJoUtUFgsXb582RYvRTbQsGHDUoPPeDmXc+fOAYB6QW8yNsbT+WRnZ8Pd3V3rYZCNFM2xzKfGZY4jY+hcmEOdz53qGjObFbZEREREREREWuDJo4iIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGgsbImIiIiIiMjQWNgSERERERGRobGwJSIiIiIiIkNjYUtERERERESGxsKWiIiIiIiIDI2FLRERERERERkaC1siIiIiIiIyNBa2REREREREZGj/BxWf2d82Buy4AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "ax = subplots(figsize=(12,12))[1]\n", "plot_tree(G.best_estimator_,\n", " feature_names=feature_names,\n", - " ax=ax);\n" - ] - }, - { - "cell_type": "markdown", - "id": "cf40b6ac", - "metadata": {}, - "source": [ - " \n", - " " + " ax=ax);" ] }, { @@ -1070,35 +642,13 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "7dedce31", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:55.882069Z", - "iopub.status.busy": "2023-07-25T23:59:55.881917Z", - "iopub.status.idle": "2023-07-25T23:59:56.036284Z", - "shell.execute_reply": "2023-07-25T23:59:56.035918Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
RandomForestRegressor(max_features=12, random_state=0)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "RandomForestRegressor(max_features=12, random_state=0)" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "bag_boston = RF(max_features=X_train.shape[1], random_state=0)\n", - "bag_boston.fit(X_train, y_train)\n" + "bag_boston.fit(X_train, y_train)" ] }, { @@ -1114,43 +664,15 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "1f2c7336", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:56.038138Z", - "iopub.status.busy": "2023-07-25T23:59:56.037994Z", - "iopub.status.idle": "2023-07-25T23:59:56.137043Z", - "shell.execute_reply": "2023-07-25T23:59:56.136608Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "14.634700151315787" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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Nv54NBrVsWPHdPTo0Yzrq+mzk+veZHPRRRdJUlV8dmbMmKEzzzxTS5Ys0datW3X++efrBz/4AZ8Z5b432VTTZ2b37t06fPiwFi9erOnTp2v69OnauXOn7rnnHk2fPl1z586t2s9OoXszOjo65Xeq6bNTDMJmmTU3NysajerZZ58dfyyZTOrVV1/N2EeEMf/5n/+pI0eOKBaLeT0U1xmGoRtvvFFPPPGEnnvuOTU3N2f8fMmSJaqtrc347Ozdu1f79++v+M9OoXuTzZ49eySpKj47k6XTaY2MjFT1ZyYX895kU02fmcsuu0yvv/669uzZM/71+7//+7r22mvH/7laPzuF7k22LV3V9NkpBsvoLnjvvfcy/nbT39+vPXv2qLGxUQsWLNAtt9yi73znOzrrrLPU3Nys22+/XfPmzdOVV17p3aDLJN+9aWxsVEdHh9atW6doNKp9+/bpG9/4hs4880ytWrXKw1GXx8aNG7Vjxw499dRTamhoGN8XFYlEdMIJJygSiej666/Xpk2b1NjYqHA4rJtuukltbW1atmyZx6N3V6F7s2/fPu3YsUOf+9zn1NTUpF//+te69dZbdemll2ZtWVJJNm/erMsvv1wLFizQ0NCQduzYoRdeeEE/+9nPqvozI+W/N9X8mZGkhoaGjD3PkjRz5kw1NTWNP16tn51C96baPztF8bocvhI9//zzhqQpX9ddd51hGGPtj26//XZj7ty5Rl1dnXHZZZcZe/fu9XbQZZLv3rz//vvGZz/7WeOUU04xamtrjdNPP9244YYbjHg87vWwyyLbfZFkPPzww+PXfPDBB8af/dmfGbNnzzZOPPFE46qrrjIGBga8G3SZFLo3+/fvNy699FKjsbHRqKurM84880zjv/7X/2okEglvB14GX/7yl43TTz/dmDFjhnHKKacYl112mfHP//zP4z+v1s+MYeS/N9X8mcllcjufav7sTDbx3vDZsS9kGIZRznALAACA6sGeTQAAALiGsAkAAADXEDYBAADgGsImAAAAXEPYBAAAgGsImwAAAHANYRMAAACuIWwCAADANYRNAAAAuIawCQAAANcQNgEAAOCa/x9BJ6QzTrxS2AAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "ax = subplots(figsize=(8,8))[1]\n", "y_hat_bag = bag_boston.predict(X_test)\n", "ax.scatter(y_hat_bag, y_test)\n", - "np.mean((y_test - y_hat_bag)**2)\n" + "np.mean((y_test - y_hat_bag)**2)" ] }, { @@ -1167,29 +689,10 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "0bba2439", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:56.139013Z", - "iopub.status.busy": "2023-07-25T23:59:56.138880Z", - "iopub.status.idle": "2023-07-25T23:59:56.900124Z", - "shell.execute_reply": "2023-07-25T23:59:56.899813Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "14.605662565263161" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "bag_boston = RF(max_features=X_train.shape[1],\n", " n_estimators=500,\n", @@ -1216,34 +719,15 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "id": "90457fbe", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:56.901939Z", - "iopub.status.busy": "2023-07-25T23:59:56.901808Z", - "iopub.status.idle": "2023-07-25T23:59:57.011478Z", - "shell.execute_reply": "2023-07-25T23:59:57.011100Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "20.04276446710527" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "RF_boston = RF(max_features=6,\n", " random_state=0).fit(X_train, y_train)\n", "y_hat_RF = RF_boston.predict(X_test)\n", - "np.mean((y_test - y_hat_RF)**2)\n" + "np.mean((y_test - y_hat_RF)**2)" ] }, { @@ -1259,116 +743,10 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "id": "8aae1857", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:57.013904Z", - "iopub.status.busy": "2023-07-25T23:59:57.013556Z", - "iopub.status.idle": "2023-07-25T23:59:57.022162Z", - "shell.execute_reply": "2023-07-25T23:59:57.021838Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
importance
lstat0.356203
rm0.332163
ptratio0.067270
crim0.055404
indus0.053851
dis0.041582
nox0.035225
tax0.025355
age0.021506
rad0.004784
chas0.004203
zn0.002454
\n", - "
" - ], - "text/plain": [ - " importance\n", - "lstat 0.356203\n", - "rm 0.332163\n", - "ptratio 0.067270\n", - "crim 0.055404\n", - "indus 0.053851\n", - "dis 0.041582\n", - "nox 0.035225\n", - "tax 0.025355\n", - "age 0.021506\n", - "rad 0.004784\n", - "chas 0.004203\n", - "zn 0.002454" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "feature_imp = pd.DataFrame(\n", " {'importance':RF_boston.feature_importances_},\n", @@ -1387,9 +765,7 @@ "\n", "The results indicate that across all of the trees considered in the\n", "random forest, the wealth level of the community (`lstat`) and the\n", - "house size (`rm`) are by far the two most important variables.\n", - "\n", - " " + "house size (`rm`) are by far the two most important variables." ] }, { @@ -1417,40 +793,16 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "887b4fa9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-25T23:59:57.024067Z", - "iopub.status.busy": "2023-07-25T23:59:57.023921Z", - "iopub.status.idle": "2023-07-26T00:00:00.413857Z", - "shell.execute_reply": "2023-07-26T00:00:00.413519Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
GradientBoostingRegressor(learning_rate=0.001, n_estimators=5000,\n",
-       "                          random_state=0)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "GradientBoostingRegressor(learning_rate=0.001, n_estimators=5000,\n", - " random_state=0)" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "boost_boston = GBR(n_estimators=5000,\n", " learning_rate=0.001,\n", " max_depth=3,\n", " random_state=0)\n", - "boost_boston.fit(X_train, y_train)\n" + "boost_boston.fit(X_train, y_train)" ] }, { @@ -1465,28 +817,10 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "6c56696c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:00.415790Z", - "iopub.status.busy": "2023-07-26T00:00:00.415651Z", - "iopub.status.idle": "2023-07-26T00:00:00.945897Z", - "shell.execute_reply": "2023-07-26T00:00:00.945457Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAApsAAAKTCAYAAABWwcMJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABfSUlEQVR4nO3deXhU5d3G8Xuy7wtLEpYAESL7DiIgaDUKat0AUUstLtVqwbVutBWXtqK+ahVFsbaKtgpiFUQLCqKiyL6vIiirkLAmgUAWkvP+8TDZSEImmZkzk/l+rutc58zMmZlfnNe+t8/qsCzLEgAAAOABQXYXAAAAgIaLsAkAAACPIWwCAADAYwibAAAA8BjCJgAAADyGsAkAAACPIWwCAADAY0LsLqCykpIS7d27V7GxsXI4HHaXAwAAgEosy9LRo0fVvHlzBQXV3Hbpc2Fz7969Sk1NtbsMAAAAnMHu3bvVsmXLGu/xubAZGxsryRQfFxdnczUAAACoLDc3V6mpqaW5rSY+FzadXedxcXGETQAAAB9WmyGPTBACAACAxxA2AQAA4DGETQAAAHiMz43ZBAAAgaW4uFhFRUV2l4FKwsLCzrisUW0QNgEAgC0sy1JmZqays7PtLgVVCAoKUlpamsLCwur1OYRNAABgC2fQTEpKUlRUFJu5+BDnJjv79u1Tq1at6vXbEDYBAIDXFRcXlwbNxo0b210OqtC0aVPt3btXJ0+eVGhoaJ0/hwlCAADA65xjNKOiomyuBNVxdp8XFxfX63MImwAAwDZ0nfsud/02hE0AAAB4DGETAADAZm3atNGLL75Y6/u//vprORwOv5jJT9gEAACoJYfDUePx+OOP1+lzly9frttvv73W9w8YMED79u1TfHx8nb7Pm5iNDgAAUEv79u0rvX7//fc1fvx4bdmypfS5mJiY0mvLslRcXKyQkDPHraZNm7pUR1hYmFJSUlx6j11o2QQAAKillJSU0iM+Pl4Oh6P08ffff6/Y2FjNmTNHvXv3Vnh4uBYuXKgff/xRV111lZKTkxUTE6O+ffvqiy++qPC5lbvRHQ6H/vnPf+qaa65RVFSU0tPTNWvWrNLXK3ejT5kyRQkJCfr888/VsWNHxcTEaOjQoRXC8cmTJ3X33XcrISFBjRs31sMPP6zRo0fr6quv9uQ/MsImAADwDZYl5eXZc1iW+/6ORx55RE8//bQ2b96sbt266dixY7rssss0f/58rV69WkOHDtUVV1yhXbt21fg5TzzxhEaOHKl169bpsssu06hRo3T48OFq7z9+/Liee+45/fvf/9Y333yjXbt26YEHHih9/ZlnntG7776rt956S999951yc3M1c+ZMd/3Z1aIbHQAA+ITjx6VyvdBedeyYFB3tns968skndfHFF5c+btSokbp37176+C9/+YtmzJihWbNmaezYsdV+zk033aQbbrhBkvTUU09p4sSJWrZsmYYOHVrl/UVFRZo8ebLatm0rSRo7dqyefPLJ0tdffvlljRs3Ttdcc40k6ZVXXtHs2bPr/ofWEi2bAAAAbtSnT58Kj48dO6YHHnhAHTt2VEJCgmJiYrR58+Yztmx269at9Do6OlpxcXHav39/tfdHRUWVBk1JatasWen9OTk5ysrK0jnnnFP6enBwsHr37u3S31YXtGwCAACfEBVlWhjt+m53ia7URPrAAw9o3rx5eu6559SuXTtFRkZqxIgRKiwsrPFzKm8R6XA4VFJS4tL9ljvHB9QRYRMAAPgEh8N9Xdm+5LvvvtNNN91U2n197Ngx7dixw6s1xMfHKzk5WcuXL9fgwYMlmW0oV61apR49enj0uwmbAAAAHpSenq6PPvpIV1xxhRwOhx599NEaWyg95a677tKECRPUrl07dejQQS+//LKOHDni8S1DGbMJAADgQS+88IISExM1YMAAXXHFFRoyZIh69erl9Toefvhh3XDDDfrNb36j/v37KyYmRkOGDFFERIRHv9dh+UJnfjm5ubmKj49XTk6O4uLi7C4HAAB4QH5+vrZv3660tDSPhx1UraSkRB07dtTIkSP1l7/85bTXa/qNXMlrdKMDAAAEgJ07d2ru3Lk6//zzVVBQoFdeeUXbt2/Xr371K49+L93oAAAAASAoKEhTpkxR3759NXDgQK1fv15ffPGFOnbs6NHvDfiWzddfl955R7rhBqmGdVUBAAD8Wmpqqr777juvf2/Ah83MTGnRIqlzZ7srAQAAaHgCvhu9VStz3rnT3joAAAAaIsLmqbB5hh2jAAAAUAcBHzZbtzbnXbsk31oECgAAwP8FfNhs2dKcjx+XDh2ytxYAAICGJuDDZkSE1CbpuGKVS1c6AACAmwV82NSDD2r7/mg9qP8jbAIAALgZYbNpU0lSmrYzIx0AANTI4XDUeDz++OP1+uyZM2e6rVZfEfDrbKpNG0kmbK6mZRMAANRg3759pdfvv/++xo8fry1btpQ+FxMTY0dZPo2WzbQ0c9J2utEBAECNUlJSSo/4+Hg5HI4Kz02bNk0dO3ZURESEOnTooFdffbX0vYWFhRo7dqyaNWumiIgItW7dWhMmTJAktTnV+HXNNdfI4XCUPm4IaNk8FTaba58yd+RLirC3HgAAApVlmeVh7BAVJTkc9fqId999V+PHj9crr7yinj17avXq1brtttsUHR2t0aNHa+LEiZo1a5amT5+uVq1aaffu3dq9e7ckafny5UpKStJbb72loUOHKjg42B1/lU8gbDZurOKoGAUfP6aS7Tsltbe7IgAAAtPx45Jd3dDHjknR0fX6iMcee0zPP/+8hg0bJklKS0vTpk2b9Prrr2v06NHatWuX0tPTdd5558nhcKi1c7FvSU1PzSFJSEhQSkpKverwNXSjOxyyWreRJMUe2q78fHvLAQAA/icvL08//vijbr31VsXExJQef/3rX/Xjjz9Kkm666SatWbNG7du319133625c+faXLV30LIpKbhdmrR5g9K0XXv2SO3a2V0RAAABKCrKtDDa9d31cOxU3W+88Yb69etX4TVnl3ivXr20fft2zZkzR1988YVGjhypjIwM/fe//63Xd/s6wqYkR7lJQjt3EjYBALCFw1Hvrmy7JCcnq3nz5vrpp580atSoau+Li4vTddddp+uuu04jRozQ0KFDdfjwYTVq1EihoaEqLi72YtXeQdiUSicJtdEOZqQDAIA6eeKJJ3T33XcrPj5eQ4cOVUFBgVasWKEjR47o/vvv1wsvvKBmzZqpZ8+eCgoK0gcffKCUlBQlJCRIMjPS58+fr4EDByo8PFyJiYn2/kFuwphNieWPAABAvf32t7/VP//5T7311lvq2rWrzj//fE2ZMkVpp3JGbGysnn32WfXp00d9+/bVjh07NHv2bAUFmTj2/PPPa968eUpNTVXPnj3t/FPcymFZlmV3EeXl5uYqPj5eOTk5iouL886Xrl0r9eihg2qsh24+qDff9M7XAgAQqPLz87V9+3alpaUpIoJlB31RTb+RK3mNlk2ptGWziQ7pwE9HbS4GAACg4SBsSlJcnIriGpnr7dvtrQUAAKABIWyeUtLKtG6G7d0h3xpYAAAA4L8Im6eEpreRJLU8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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "test_error = np.zeros_like(boost_boston.train_score_)\n", "for idx, y_ in enumerate(boost_boston.staged_predict(X_test)):\n", @@ -1502,7 +836,7 @@ " test_error,\n", " 'r',\n", " label='Test')\n", - "ax.legend();\n" + "ax.legend();" ] }, { @@ -1515,31 +849,13 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "8a636f63", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:00.947856Z", - "iopub.status.busy": "2023-07-26T00:00:00.947708Z", - "iopub.status.idle": "2023-07-26T00:00:00.959031Z", - "shell.execute_reply": "2023-07-26T00:00:00.958695Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "14.481405918831591" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "y_hat_boost = boost_boston.predict(X_test);\n", - "np.mean((y_test - y_hat_boost)**2)\n" + "np.mean((y_test - y_hat_boost)**2)" ] }, { @@ -1556,29 +872,10 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "4e2ab3c7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:00.960939Z", - "iopub.status.busy": "2023-07-26T00:00:00.960794Z", - "iopub.status.idle": "2023-07-26T00:00:03.124886Z", - "shell.execute_reply": "2023-07-26T00:00:03.124529Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "14.501514553719565" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "boost_boston = GBR(n_estimators=5000,\n", " learning_rate=0.2,\n", @@ -1587,7 +884,7 @@ "boost_boston.fit(X_train,\n", " y_train)\n", "y_hat_boost = boost_boston.predict(X_test);\n", - "np.mean((y_test - y_hat_boost)**2)\n" + "np.mean((y_test - y_hat_boost)**2)" ] }, { @@ -1596,9 +893,7 @@ "metadata": {}, "source": [ "In this case, using $\\lambda=0.2$ leads to a almost the same test MSE\n", - "as $\\lambda=0.001$.\n", - "\n", - " " + "as $\\lambda=0.001$." ] }, { @@ -1623,35 +918,13 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "b0b41c04", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:03.126938Z", - "iopub.status.busy": "2023-07-26T00:00:03.126803Z", - "iopub.status.idle": "2023-07-26T00:00:04.882575Z", - "shell.execute_reply": "2023-07-26T00:00:04.882239Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
BART(burnin=5, ndraw=15, random_state=0)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "BART(burnin=5, ndraw=15, random_state=0)" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "bart_boston = BART(random_state=0, burnin=5, ndraw=15)\n", - "bart_boston.fit(X_train, y_train)\n" + "bart_boston.fit(X_train, y_train)" ] }, { @@ -1664,32 +937,13 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "id": "fda8fffc", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:04.884481Z", - "iopub.status.busy": "2023-07-26T00:00:04.884344Z", - "iopub.status.idle": "2023-07-26T00:00:05.801195Z", - "shell.execute_reply": "2023-07-26T00:00:05.800892Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "20.739185417498764" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "yhat_test = bart_boston.predict(X_test.astype(np.float32))\n", - "np.mean((y_test - yhat_test)**2)\n" + "np.mean((y_test - yhat_test)**2)" ] }, { @@ -1703,64 +957,22 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": null, "id": "be77f0e4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:05.803030Z", - "iopub.status.busy": "2023-07-26T00:00:05.802900Z", - "iopub.status.idle": "2023-07-26T00:00:05.806091Z", - "shell.execute_reply": "2023-07-26T00:00:05.805780Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "crim 25.466667\n", - "zn 30.600000\n", - "indus 24.933333\n", - "chas 21.133333\n", - "nox 27.333333\n", - "rm 28.800000\n", - "age 23.466667\n", - "dis 26.000000\n", - "rad 25.000000\n", - "tax 21.733333\n", - "ptratio 26.800000\n", - "lstat 31.866667\n", - "dtype: float64" - ] - }, - "execution_count": 35, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "var_inclusion = pd.Series(bart_boston.variable_inclusion_.mean(0),\n", " index=D.columns)\n", - "var_inclusion\n" + "var_inclusion" ] } ], "metadata": { "jupytext": { "cell_metadata_filter": "-all", - "formats": "ipynb,Rmd", + "formats": "ipynb,md:myst", "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch9-svm-lab.ipynb b/docs/source/labs/Ch9-svm-lab.ipynb index 94aa676..4a7215e 100644 --- a/docs/source/labs/Ch9-svm-lab.ipynb +++ b/docs/source/labs/Ch9-svm-lab.ipynb @@ -1,20 +1,17 @@ { "cells": [ - { - "cell_type": "markdown", - "id": "67b2823a", - "metadata": {}, - "source": [ - "\n", - "\n" - ] - }, { "cell_type": "markdown", "id": "d45c6d2b", "metadata": {}, "source": [ "# Support Vector Machines\n", + "\n", + "\n", + " \"Open\n", + "\n", + "\n", + "\n", "In this lab, we use the `sklearn.svm` library to demonstrate the support\n", "vector classifier and the support vector machine.\n", "\n", @@ -23,23 +20,15 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "eeaa5be0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:07.016487Z", - "iopub.status.busy": "2023-07-26T00:00:07.016196Z", - "iopub.status.idle": "2023-07-26T00:00:07.822651Z", - "shell.execute_reply": "2023-07-26T00:00:07.822165Z" - }, - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from matplotlib.pyplot import subplots, cm\n", "import sklearn.model_selection as skm\n", - "from ISLP import load_data, confusion_table\n" + "from ISLP import load_data, confusion_table" ] }, { @@ -53,21 +42,14 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "41a59634", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:07.824899Z", - "iopub.status.busy": "2023-07-26T00:00:07.824653Z", - "iopub.status.idle": "2023-07-26T00:00:07.850806Z", - "shell.execute_reply": "2023-07-26T00:00:07.850496Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from sklearn.svm import SVC\n", "from ISLP.svm import plot as plot_svm\n", - "from sklearn.metrics import RocCurveDisplay\n" + "from sklearn.metrics import RocCurveDisplay" ] }, { @@ -81,19 +63,12 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "c9a175d7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:07.852684Z", - "iopub.status.busy": "2023-07-26T00:00:07.852555Z", - "iopub.status.idle": "2023-07-26T00:00:07.854324Z", - "shell.execute_reply": "2023-07-26T00:00:07.854058Z" - } - }, + "metadata": {}, "outputs": [], "source": [ - "roc_curve = RocCurveDisplay.from_estimator # shorthand\n" + "roc_curve = RocCurveDisplay.from_estimator # shorthand" ] }, { @@ -121,29 +96,10 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "a7216b47", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:07.855974Z", - "iopub.status.busy": "2023-07-26T00:00:07.855853Z", - "iopub.status.idle": "2023-07-26T00:00:07.959154Z", - "shell.execute_reply": "2023-07-26T00:00:07.958758Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "rng = np.random.default_rng(1)\n", "X = rng.standard_normal((50, 2))\n", @@ -153,7 +109,7 @@ "ax.scatter(X[:,0],\n", " X[:,1],\n", " c=y,\n", - " cmap=cm.coolwarm);\n" + " cmap=cm.coolwarm);" ] }, { @@ -166,35 +122,13 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "ed329198", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:07.961084Z", - "iopub.status.busy": "2023-07-26T00:00:07.960943Z", - "iopub.status.idle": "2023-07-26T00:00:07.965329Z", - "shell.execute_reply": "2023-07-26T00:00:07.964984Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/html": [ - "
SVC(C=10, kernel='linear')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "SVC(C=10, kernel='linear')" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "svm_linear = SVC(C=10, kernel='linear')\n", - "svm_linear.fit(X, y)\n" + "svm_linear.fit(X, y)" ] }, { @@ -210,34 +144,16 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "95494b8b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:07.967158Z", - "iopub.status.busy": "2023-07-26T00:00:07.967019Z", - "iopub.status.idle": "2023-07-26T00:00:08.140288Z", - "shell.execute_reply": "2023-07-26T00:00:08.139902Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "plot_svm(X,\n", " y,\n", " svm_linear,\n", - " ax=ax)\n" + " ax=ax)" ] }, { @@ -255,29 +171,10 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "98c2236f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:08.142381Z", - "iopub.status.busy": "2023-07-26T00:00:08.142228Z", - "iopub.status.idle": "2023-07-26T00:00:08.288040Z", - "shell.execute_reply": "2023-07-26T00:00:08.287728Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "svm_linear_small = SVC(C=0.1, kernel='linear')\n", "svm_linear_small.fit(X, y)\n", @@ -285,7 +182,7 @@ "plot_svm(X,\n", " y,\n", " svm_linear_small,\n", - " ax=ax)\n" + " ax=ax)" ] }, { @@ -301,31 +198,12 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "b498f594", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:08.290027Z", - "iopub.status.busy": "2023-07-26T00:00:08.289879Z", - "iopub.status.idle": "2023-07-26T00:00:08.292670Z", - "shell.execute_reply": "2023-07-26T00:00:08.292365Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[1.17303943, 0.77348227]])" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "svm_linear.coef_\n" + "metadata": {}, + "outputs": [], + "source": [ + "svm_linear.coef_" ] }, { @@ -339,29 +217,10 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "b65e80d6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:08.294425Z", - "iopub.status.busy": "2023-07-26T00:00:08.294292Z", - "iopub.status.idle": "2023-07-26T00:00:08.321864Z", - "shell.execute_reply": "2023-07-26T00:00:08.321564Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "{'C': 1}" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "kfold = skm.KFold(5, \n", " random_state=0,\n", @@ -372,7 +231,7 @@ " cv=kfold,\n", " scoring='accuracy')\n", "grid.fit(X, y)\n", - "grid.best_params_\n" + "grid.best_params_" ] }, { @@ -387,31 +246,12 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "bba8fad7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:08.323686Z", - "iopub.status.busy": "2023-07-26T00:00:08.323561Z", - "iopub.status.idle": "2023-07-26T00:00:08.326172Z", - "shell.execute_reply": "2023-07-26T00:00:08.325868Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0.46, 0.46, 0.72, 0.74, 0.74, 0.74, 0.74])" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "grid.cv_results_[('mean_test_score')]\n" + "metadata": {}, + "outputs": [], + "source": [ + "grid.cv_results_[('mean_test_score')]" ] }, { @@ -428,21 +268,14 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "ad64269d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:08.327966Z", - "iopub.status.busy": "2023-07-26T00:00:08.327837Z", - "iopub.status.idle": "2023-07-26T00:00:08.329944Z", - "shell.execute_reply": "2023-07-26T00:00:08.329652Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "X_test = rng.standard_normal((20, 2))\n", "y_test = np.array([-1]*10+[1]*10)\n", - "X_test[y_test==1] += 1\n" + "X_test[y_test==1] += 1" ] }, { @@ -457,78 +290,14 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "5107fca1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:08.331702Z", - "iopub.status.busy": "2023-07-26T00:00:08.331566Z", - "iopub.status.idle": "2023-07-26T00:00:08.336742Z", - "shell.execute_reply": "2023-07-26T00:00:08.336418Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Truth-11
Predicted
-184
126
\n", - "
" - ], - "text/plain": [ - "Truth -1 1\n", - "Predicted \n", - "-1 8 4\n", - " 1 2 6" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "best_ = grid.best_estimator_\n", "y_test_hat = best_.predict(X_test)\n", - "confusion_table(y_test_hat, y_test)\n" + "confusion_table(y_test_hat, y_test)" ] }, { @@ -544,79 +313,15 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "0320d9e0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:08.338628Z", - "iopub.status.busy": "2023-07-26T00:00:08.338505Z", - "iopub.status.idle": "2023-07-26T00:00:08.343289Z", - "shell.execute_reply": "2023-07-26T00:00:08.342971Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Truth-11
Predicted
-120
1810
\n", - "
" - ], - "text/plain": [ - "Truth -1 1\n", - "Predicted \n", - "-1 2 0\n", - " 1 8 10" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "svm_ = SVC(C=0.001,\n", " kernel='linear').fit(X, y)\n", "y_test_hat = svm_.predict(X_test)\n", - "confusion_table(y_test_hat, y_test)\n" + "confusion_table(y_test_hat, y_test)" ] }, { @@ -635,32 +340,14 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "84d7e778", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:08.345118Z", - "iopub.status.busy": "2023-07-26T00:00:08.344986Z", - "iopub.status.idle": "2023-07-26T00:00:08.440282Z", - "shell.execute_reply": "2023-07-26T00:00:08.439921Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "X[y==1] += 1.9;\n", "fig, ax = subplots(figsize=(8,8))\n", - "ax.scatter(X[:,0], X[:,1], c=y, cmap=cm.coolwarm);\n" + "ax.scatter(X[:,0], X[:,1], c=y, cmap=cm.coolwarm);" ] }, { @@ -673,78 +360,14 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "abb1f8be", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:08.442154Z", - "iopub.status.busy": "2023-07-26T00:00:08.442019Z", - "iopub.status.idle": "2023-07-26T00:00:08.447154Z", - "shell.execute_reply": "2023-07-26T00:00:08.446831Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Truth-11
Predicted
-1250
1025
\n", - "
" - ], - "text/plain": [ - "Truth -1 1\n", - "Predicted \n", - "-1 25 0\n", - " 1 0 25" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "svm_ = SVC(C=1e5, kernel='linear').fit(X, y)\n", "y_hat = svm_.predict(X)\n", - "confusion_table(y_hat, y)\n" + "confusion_table(y_hat, y)" ] }, { @@ -755,40 +378,21 @@ "We fit the\n", "support vector classifier and plot the resulting hyperplane, using a\n", "very large value of `C` so that no observations are\n", - "misclassified. " + "misclassified." ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "2e4ed2f5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:08.448970Z", - "iopub.status.busy": "2023-07-26T00:00:08.448846Z", - "iopub.status.idle": "2023-07-26T00:00:08.571150Z", - "shell.execute_reply": "2023-07-26T00:00:08.570802Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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666Tx+PRggULdP/99+vQoUN2l+Uo3/ve97R8+fLR03hWrlypF154we6yHOvrX/+6DMPQo48+ancpCYngOYdWr16tn/3sZzp06JB++ctf6ujRo/rQhz5kd1mOcfDgQUUiET355JPav3+/vv3tb+v73/++vvCFL9hdmmMMDw/rwQcf1Kc+9Sm7S3GEZ599Vo899pi+9KUv6c0339SVV16pNWvWqK2tze7SHKO/v19XXnmlnnjiCbtLcaStW7fqkUce0euvv66XXnpJIyMjet/73qf+/n67S3OMsrIyff3rX9euXbv0pz/9Sbfeeqvuu+8+7d+/3+7SHGfnzp168skntXz5crtLSVwm4mbTpk2mYRjm8PCw3aU41je+8Q1z8eLFdpfhOD/+8Y/N/Px8u8uw3fXXX28+8sgjo/fD4bBZWlpqrl+/3saqnEuSuXHjRrvLcLS2tjZTkrl161a7S3E0n89n/vCHP7S7DEcJBALmRRddZL700kvmLbfcYn7mM5+xu6SExIhnnHR1demnP/2pbrrpJqWnp9tdjmP19vaqsLDQ7jLgQMPDw9q1a5duv/320cdcLpduv/12bd++3cbKkMh6e3sliZ87kwiHw9qwYYP6+/u1cuVKu8txlEceeUR33333uJ9JmD2C5xz73Oc+p9zcXM2bN08NDQ3atGmT3SU5Vn19vb773e/qL/7iL+wuBQ7U0dGhcDis4uLicY8XFxerpaXFpqqQyCKRiB599FHV1tZq2bJldpfjKHv37lVeXp4yMzP1yU9+Uhs3btRll11md1mOsWHDBr355ptav3693aUkPILnND7/+c/LMIwpPw4ePDh6/Wc/+1m99dZbevHFF+V2u7Vu3TqZSX4q6WzfI0lqamrSnXfeqQcffFCf+MQnbKrcGufz/gCYe4888oj27dunDRs22F2K41xyySXavXu33njjDX3qU5/SQw89pHfeecfushyhsbFRn/nMZ/TTn/5UWVlZdpeT8DirfRrt7e3q7Oyc8prq6mplZGSc8/ipU6dUXl6uP/7xj0k9ZTHb96i5uVmrVq3SjTfeqKeeekouV3L//XM+30NPPfWUHn30UfX09MS5OucaHh5WTk6OfvGLX+j+++8fffyhhx5ST08PswkTMAxDGzduHPd+IerTn/60Nm3apFdeeUWLFy+2uxzHu/3227VkyRI9+eSTdpdiu+eee04PPPCA3G736GPhcFiGYcjlcikYDI57DlNLs7sApysqKlJRUdF5fW4kEpEkBYPBuSzJcWbzHjU1NWn16tVasWKFfvzjHyd96JQu7HsolWVkZGjFihXavHnzaJCKRCLavHmzPv3pT9tbHBKGaZr6y7/8S23cuFFbtmwhdM5QJBJJ+t9dM3Xbbbdp79694x57+OGHdemll+pzn/scoXOWCJ5z5I033tDOnTv1nve8Rz6fT0ePHtXf//3fa8mSJUk92jkbTU1NWrVqlSorK/Wtb31L7e3to8+VlJTYWJlzNDQ0qKurSw0NDQqHw9q9e7ckaenSpcrLy7O3OBs89thjeuihh3Tttdfq+uuv13e+8x319/fr4Ycftrs0x+jr61N9ff3o/ePHj2v37t0qLCxURUWFjZU5wyOPPKJnnnlGmzZtksfjGe0Pzs/PV3Z2ts3VOcPjjz+u97///aqoqFAgENAzzzyjLVu2qK6uzu7SHMHj8ZzTExxby0Gv8Hmwd1F98nj77bfN1atXm4WFhWZmZqZZVVVlfvKTnzRPnTpld2mO8eMf/9iUNOEHoh566KEJ35+XX37Z7tJs893vftesqKgwMzIyzOuvv958/fXX7S7JUV5++eUJv2ceeughu0tzhMl+5vz4xz+2uzTH+PM//3OzsrLSzMjIMIuKiszbbrvNfPHFF+0uy9HYTun80eMJAAAASyR/gx0AAAAcgeAJAAAASxA8AQAAYAmCJwAAACxB8AQAAIAlCJ4AAACwBMETAAAAliB4AgAAwBIETwAAAFiC4AkAAABLEDwBAABgif8fhxsgoomPxScAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "plot_svm(X,\n", " y,\n", " svm_,\n", - " ax=ax)\n" + " ax=ax)" ] }, { @@ -805,78 +409,14 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "164a611c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:08.573074Z", - "iopub.status.busy": "2023-07-26T00:00:08.572945Z", - "iopub.status.idle": "2023-07-26T00:00:08.578056Z", - "shell.execute_reply": "2023-07-26T00:00:08.577758Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Truth-11
Predicted
-1250
1025
\n", - "
" - ], - "text/plain": [ - "Truth -1 1\n", - "Predicted \n", - "-1 25 0\n", - " 1 0 25" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "svm_ = SVC(C=0.1, kernel='linear').fit(X, y)\n", "y_hat = svm_.predict(X)\n", - "confusion_table(y_hat, y)\n" + "confusion_table(y_hat, y)" ] }, { @@ -892,35 +432,16 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "c67591a1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:08.579932Z", - "iopub.status.busy": "2023-07-26T00:00:08.579791Z", - "iopub.status.idle": "2023-07-26T00:00:08.710958Z", - "shell.execute_reply": "2023-07-26T00:00:08.710610Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "plot_svm(X,\n", " y,\n", " svm_,\n", - " ax=ax)\n" + " ax=ax)" ] }, { @@ -945,22 +466,15 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "322be574", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:08.712863Z", - "iopub.status.busy": "2023-07-26T00:00:08.712722Z", - "iopub.status.idle": "2023-07-26T00:00:08.714989Z", - "shell.execute_reply": "2023-07-26T00:00:08.714695Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "X = rng.standard_normal((200, 2))\n", "X[:100] += 2\n", "X[100:150] -= 2\n", - "y = np.array([1]*150+[2]*50)\n" + "y = np.array([1]*150+[2]*50)" ] }, { @@ -973,45 +487,16 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "04fda182", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:08.716729Z", - "iopub.status.busy": "2023-07-26T00:00:08.716589Z", - "iopub.status.idle": "2023-07-26T00:00:08.810747Z", - "shell.execute_reply": "2023-07-26T00:00:08.810365Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp4AAAKTCAYAAACw6AhNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAADO3UlEQVR4nOzddXwT9xsH8M/dJfU2dRfc3Rk2bDBkwBjz7Tfm/mPM3X9zH3OBbTAfsAGD4cPd3Vrq7m2a5O5+f4QWSps0bdNI+3m/XoyRu949TSVPvvI8gqqqKoiIiIiImpjo7ACIiIiIqGVg4klEREREDsHEk4iIiIgcgoknERERETkEE08iIiIicggmnkRERETkEEw8iYiIiMghNM4OwBpFUZCWlgZ/f38IguDscIiIiIjoIqqqori4GNHR0RBF62OaLp14pqWlIS4uztlhEBEREVEdkpOTERsba/Ucl048/f39AZg/kYCAACdHQ0REREQXKyoqQlxcXFXeZo1LJ56V0+sBAQFMPImIiIhcmC3LIrm5iIiIiIgcgoknERERETkEE08iIiIicggmnkRERETkEEw8iYiIiMghmHgSERERkUMw8SQiIiIih2DiSUREREQOwcSTiIiIiByCiScREREROQQTTyIiIiJyCCaeREREROQQTDyJiIiIyCGYeBIRERGRQzDxJCIiIiKHYOJJRERERA7BxJOIiIiIHIKJJxERERE5BBNPIiIiInIIJp5ERERE5BAaZwdAROSKzpwtxZoN2SguMSE6ygvjLo2ALkDr7LCIiNwaE08iogsYjAr+9/5RrPo3G5IICIIAWVHxyben8cDtbTF9YoyzQyQiclucaiciusCbHx/H6g3ZAABZAUyyClUFTCYV7312Eqs3ZDk5QiIi98XEk4jonPRMPZavyYSq1n5cEIBvFiRCtXQCERFZxcSTiOicf7fkQBAsH1dVICmlHMmp5Y4LioioGWHiSUR0TrlehihayTzPKSuXHRANEVHzw8STiOichDgfyLL1aXRJEhAd6eWgiIiImhcmnkRE5wwdEAKdv8bidLskChg1NAwB/iyrRETUEEw8iYjO0WpFPDO7E0RBgHjRb0dJBIKDtLhvZhvnBEdE1Aww8SQiusDgfiGY80ZP9OsZhMqBTw8PERPHRuHLd/sgNMTTqfEREbkzQXXhuiBFRUXQ6XQoLCxEQECAs8MhohamqMSIsjIZQTotPD0lZ4dDROSS6pOvsXMREZEFAX5aBPhxPScRkb1wqp2IiIiIHIKJJxERERE5BBNPIiJyS6qqwmhU2MKUyI1wjScREbmV/AIDflyYjD9XZKCk1AQfbwkTxkTi+ivjEB7KqgNErowjnkRE5DYys/W4ddYu/LQoBSWlJgDmFqYLl6Zi5oM7cTa1zMkREpE1TDyJiMhtvDnnBPLyDVCU6o/LClBSasIr7x51TmBEZBMmnkRE5BbSM/XYtisPslL7cVkBDh8vxokzJY4NjIhsxsSTiIjcwqlE2xLKE6eYeBK5KiaeRETkFrRa216yPDz40kbkqvjTSUREbqFHFx28vay/bGkkAf17BTkoIiKqLyaeRETkFry9JFw9JRaCheOCAEweFwVdANucErkqJp5EROQ2br2uFSaMiQQASJIAQTD/DQAjBofigdvbOjM8IqqDoLpwy4eioiLodDoUFhYiICDA2eEQEZGLOH6qGMtWZyIntwJBgR4YPyoCXTr4QxAsjYcSUVOpT77GzkVEROR2OrT1R4e2/s4Og4jqiVPtREREROQQTDyJiIiIyCGYeBIRERGRQzDxJCIiIiKHYOJJRERERA7BxJOIiIiIHIKJJxERERE5BBNPIiIiInIIJp5ERERE5BBMPImIiIjIIZh4EhEREZFDMPEkIiIiIodg4klEREREDsHEk4iIiIgcgoknERERETkEE08iIiIicggmnkRERETkEEw8iYiIiMghmHgSERERkUMw8SQiIiIih2DiSUREREQOwcSTiIiIiByCiScREREROQQTTyIiIiJyCCaeREREROQQTDyJiIiIyCGYeBIRERGRQzDxJCIiIiKHYOJJRERERA7BxJOIiIiIHIKJJxERERE5BBNPIiIiInIIJp5ERERE5BBMPImIiIjIIZh4EhEREZFDMPEkIiIiIodg4klEREREDsHEk4iIiIgcgoknERERETkEE08iIiIicggmnkRERETkEEw8iYiIiMghmHgSERERkUNonB0AEREREVmWlVOBxcvTsHVnHmRFRc+uOkybEI1Wcb7ODq3emHgSERERuagde/Lw+CuHYDIpUBTzY2eSSvHH0jQ8dl8HTB4X5dwA64lT7UREREQuKCevAk+8cghG4/mkEwBkBVBV4I2Pj+Pw8SLnBdgADks8X3/9dQiC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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "ax.scatter(X[:,0],\n", " X[:,1],\n", " c=y,\n", - " cmap=cm.coolwarm)\n" + " cmap=cm.coolwarm)" ] }, { @@ -1026,31 +511,10 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "0c2690d1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:08.812539Z", - "iopub.status.busy": "2023-07-26T00:00:08.812440Z", - "iopub.status.idle": "2023-07-26T00:00:08.816647Z", - "shell.execute_reply": "2023-07-26T00:00:08.816383Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
SVC(C=1, gamma=1)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "SVC(C=1, gamma=1)" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "(X_train, \n", " X_test,\n", @@ -1060,7 +524,7 @@ " test_size=0.5,\n", " random_state=0)\n", "svm_rbf = SVC(kernel=\"rbf\", gamma=1, C=1)\n", - "svm_rbf.fit(X_train, y_train)\n" + "svm_rbf.fit(X_train, y_train)" ] }, { @@ -1069,39 +533,21 @@ "metadata": {}, "source": [ "The plot shows that the resulting SVM has a decidedly non-linear\n", - "boundary. " + "boundary." ] }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "3eb171e8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:08.818364Z", - "iopub.status.busy": "2023-07-26T00:00:08.818238Z", - "iopub.status.idle": "2023-07-26T00:00:09.069609Z", - "shell.execute_reply": "2023-07-26T00:00:09.069226Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp4AAAKTCAYAAACw6AhNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACWF0lEQVR4nOzdd3hb5d0+8PscyRqWl7z3SBzHznTiGAKEEVbYBAolXVDoevuWvu3bDZ100f12/rppCy0NLXuHQIGQhICz7cRJvPe2bNmyJFvS+f0hSx6SZTmRjtb9uS5f2EdH1oMTx7e/z/N8H0GSJAlEREREREEmhnoARERERBQbGDyJiIiISBYMnkREREQkCwZPIiIiIpIFgycRERERyYLBk4iIiIhkweBJRERERLJQhnoAvjgcDnR3dyMxMRGCIIR6OEREREQ0jyRJGBsbQ25uLkTRd00zrINnd3c3CgoKQj0MIiIiIlpER0cH8vPzfd4T1sEzMTERAPDai0eRoEsM8WiIiIiIaL5x0xiuuK7Sndt8Cevg6ZpeT9AlIiGBwZOIiIgoXPmzLJKbi4iIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSERERkSwYPImIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSERERkSwYPImIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSERERkSwYPImIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSERERkSwYPImIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSERERkSwYPImIiIhIFgyeREQUlibMJqyuysTqqkxMmE2hHg4RBQCDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSEVFYkRwSDrYO40cvnXJfe+1kH6xT9hCOiogCQRnqARAREbnY7A78eNdp7G8aAmxW9/XfvdmMF04O48Fb1kKfoA7hCInoXLDiSUREYeOxmg683TQEAHBI0pzHekat+MHLp7w9jYgiBCueREQUEvN7c9psDjxzsBn26Sl1yWZxPybZLLABqGs340R7P0oydB6fL17reY2IwguDJxERhUT1lhK/72177B73++/9h/d7ThzqP9chEVGQcaqdiIiIiGTBiicREYVEzd6WOR9PTjnwkb/VwDLlAOCcXndVOovueAiCUgMA+N6ta1CWlSjvYIkoIBg8iYgoJOavyYzXAtdvKMYzR7vhkADHrMcEpQZKlRYl6fGoLMoCBEHewRJRQHCqnYiIwsYHNxdhTW4yAECclS0FAdDHx+Er11QwdBJFMFY8iYgobKiUCjxw82q81TCA5w+3oHn6+gfOL8KNG4uRoIkL6fiI6Nyw4klERGFFqRCxtTwL37llrfvazRtyGTqJogCDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZcFc7ERGFpXitjsdgEkUZVjyJiIiISBYMnkREREQkCwZPIiIiIpIFgycRERERyYLBk4iIiIhkweBJRERERLJg8CQiIiIiWTB4EhEREZEsGDyJiIiISBYMnkREREQkCwZPIiIiIpIFgycRERERyYLBk4iIiIhkweBJRERERLJg8CQiIiIiWTB4EhEREZEsGDyJiIiISBYMnkREREQkCwZPIiIiIpIFgycRERERyYLBk4iIiIhkweBJRERERLJg8CQiIiIiWTB4EhEREZEsGDyJiIiISBYMnkREREQkCwZPIiIiIpIFgycRERERyYLBk4iIiIhkweBJRERERLJg8CQiIiIiWTB4EhEREZEsGDyJiIiISBYMnkREREQkCwZPIiIiIpIFgycRERERyYLBk4iIiIhkIVvw/MEPfgBBEPDZz35WrpckIiIiojAiS/CsqanB73//e6xbt06OlyMiIiKiMBT04Dk+Po4PfOAD+OMf/wi9Xh/slyMiIiKiMBX04PmpT30K119/Pa688spF77VarTAajXPeiIiIiCg6KIP5yXfu3InDhw+jpqbGr/sffPBBPPDAA8EcEhERERGFSNAqnh0dHfjMZz6Df/zjH9BoNH4957777sPo6Kj7raOjI1jDIyIiIiKZBa3ieejQIfT392Pjxo3ua3a7HXv27MGvf/1rWK1WKBSKOc9Rq9VQq9XBGhIRERERhVDQgucVV1yB2traOdfuvvtulJeX48tf/rJH6CQiIiKi6Ba04JmYmIg1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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "plot_svm(X_train,\n", " y_train,\n", " svm_rbf,\n", - " ax=ax)\n" + " ax=ax)" ] }, { @@ -1118,28 +564,10 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "9a6b905b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:09.071637Z", - "iopub.status.busy": "2023-07-26T00:00:09.071503Z", - "iopub.status.idle": "2023-07-26T00:00:09.226780Z", - "shell.execute_reply": "2023-07-26T00:00:09.226403Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp4AAAKTCAYAAACw6AhNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACRNElEQVR4nOzddXhc55k28PucYc0IRsxgybZk5tghQ8AOQ5M2pZS70BR3u23KnBS2Xynbbbe06bZN2jA7DjmxHcdsS7Zky2JmaUDD53x/jNCaGcmW5gzdv+vyZWnmzMxji2698LyCLMsyiIiIiIjCTIx0AURERESUGBg8iYiIiEgRDJ5EREREpAgGTyIiIiJSBIMnERERESmCwZOIiIiIFMHgSURERESKUEe6gFAkSUJnZyeSk5MhCEKkyyEiIiKiC8iyDKvVivz8fIhi6DHNqA6enZ2dKCoqinQZRERERDSLtrY2FBYWhrwmqoNncnIyAODVF07AZEyOcDVEREREdCGb3YprblwzkdtCiergOT69bjImw2Ri8CQiIiKKVnNZFsnNRURERESkCAZPIiIiIlIEgycRERERKYLBk4iIiIgUweBJRERERIpg8CQiIiIiRTB4EhEREZEiGDyJiIiISBEMnkRERESkCAZPIiIiIlIEgycRERERKYLBk4iIiIgUweBJRERERIpg8CQiIiIiRTB4EhEREZEiGDyJiIiISBEMnkRERESkCAZPIiIiIlIEgycRERERKYLBk4iIiIgUweBJRERERIpg8CQiIiIiRTB4EhEREZEiGDyJiIiISBEMnkRERESkCAZPIiIiIlIEgycRERERKYLBk4iIiIgUweBJRERERIpg8CQiIiIiRTB4EhEREZEiGDyJiIiISBEMnkRERESkCAZPIiIiIlIEgycRERERKYLBk4iIiIgUweBJRERERIpg8CQiIiIiRTB4EhEREZEiGDyJiIiISBEMnkRERESkCAZPIiIiIlIEgycRERERKYLBk4iIiIgUweBJRERERIpg8CQiIiIiRagjXQAREdFUsiTjaOsQXqrpRtewAykGDbYvzcbWpVnQaVSRLo+I5oHBk4iIoobXJ+HHu8/iQMMAREGAJMsQhh2o6bTgiePteOCOlTCbdJEuk4guEafaiYgoajx6uA1vNwwAACRZBgCM/YWuERcefKkuUqUR0QJg8CQioqjg8frw7MlOyEHul2QZZ7qsaOi1KVoXES0cBk8iIooKLQOjsLt9Ia8RBaC6fUShiohooTF4EhFRVJCDDXVeQJrrhUQUdRg8iYgoKhRnJEGvCf1jSZKBZQUpClVERAuNwZOIiKKCTqPCDStyIQqB7xcFAeVZRlTmJCtbGBEtGAZPIiKKGh/YXIIV+akAMC2ACgJgTtLgy7uq/O8QUUxiH08iIooaWrUK375tOd6q7xtrIO9Esl6NHVU52Lk8Bya9JtIlEtE8MHgSEVFUUatEbK/MwfbKnEiXQkQLjFPtRERERKQIBk8iIiIiUgSDJxEREREpgsGTiIiIiBTB4ElEREREimDwJCIiIiJFMHgSERERkSIYPImIiIhIEQyeRERERKQIBk8iIiIiUgSDJxEREREpgsGTiIiIiBTB4ElEREREimDwJCIiIiJFMHgSERERkSIYPImIiIhIEQyeRERERKQIBk8iIiIiUgSDJxEREREpgsGTiIiIiBTB4ElEREREimDwJCIiIiJFMHgSERERkSIYPImIiIhIEQyeRERERKQIBk8iIiIiUgSDJxEREREpgsGTiIiIiBTB4ElEREREimDwJCIiIiJFMHgSERERkSIYPImIiIhIEQyeRERERKQIBk8iIiIiUgSDJxEREREpgsGTiIiIiBTB4ElEREREimDwJCIiIiJFMHgSERERkSIYPImIiIhIEQyeRERERKQIBk8iIiIiUoRiwfPBBx+EIAj43Oc+p9RLEhEREVEUUSR4Hj58GL/5zW+watUqJV6OiIiIiKJQ2IOnzWbD+9//fvzP//wPzGZzuF+OiIiIiKJU2IPnpz71Kdx000249tprZ73W5XLBYrFM+0NERERE8UEdzid/5JFHcOzYMRw+fHhO1z/wwAP49re/Hc6SiIiIiChCwjbi2dbWhs9+9rP4y1/+Ar1eP6fH3H///RgZGZn409bWFq7yiIiIiEhhYRvxPHr0KHp7e7Fu3bqJ23w+H95880386le/gsvlgkqlmvYYnU4HnU4XrpKIiIiIKILCFjyvueYaVFdXT7vtIx/5CCorK/GlL31pRugkIiIiovgWtuCZnJyMFStWTLvNaDQiIyNjxu1EREREFP94chERERERKSKsu9ov9MYbbyj5ckREREQURTjiSURERESKYPAkIiIiIkUweBIRERGRIhg8iYiIiEgR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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "svm_rbf = SVC(kernel=\"rbf\", gamma=1, C=1e5)\n", "svm_rbf.fit(X_train, y_train)\n", @@ -1147,7 +575,7 @@ "plot_svm(X_train,\n", " y_train,\n", " svm_rbf,\n", - " ax=ax)\n" + " ax=ax)" ] }, { @@ -1162,28 +590,10 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "5ab01d6c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:09.228682Z", - "iopub.status.busy": "2023-07-26T00:00:09.228544Z", - "iopub.status.idle": "2023-07-26T00:00:09.323984Z", - "shell.execute_reply": "2023-07-26T00:00:09.323680Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "{'C': 1, 'gamma': 0.5}" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "kfold = skm.KFold(5, \n", " random_state=0,\n", @@ -1195,7 +605,7 @@ " cv=kfold,\n", " scoring='accuracy');\n", "grid.fit(X_train, y_train)\n", - "grid.best_params_\n" + "grid.best_params_" ] }, { @@ -1210,84 +620,10 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "166a6acb", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:09.325768Z", - "iopub.status.busy": "2023-07-26T00:00:09.325629Z", - "iopub.status.idle": "2023-07-26T00:00:09.556381Z", - "shell.execute_reply": "2023-07-26T00:00:09.555990Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Truth12
Predicted
1696
2619
\n", - "
" - ], - "text/plain": [ - "Truth 1 2\n", - "Predicted \n", - "1 69 6\n", - "2 6 19" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp4AAAKTCAYAAACw6AhNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACWlUlEQVR4nOzdd1xb590+/uscCSQhMcReZtjYBhtsbEzilTjOcrYzm3QlTcczfm2f9ulO906a9unT+e1O23Q8TtsMZxNnOfEM8QSDbbDZewiE0ABJ5/eHkEAgCWyjo3W9Xy+/AkdH0h0PuPjc9/25BUmSJBARERERBZkY6gEQERERUWxg8CQiIiIiWTB4EhEREZEsGDyJiIiISBYMnkREREQkCwZPIiIiIpIFgycRERERyUIZ6gEE4nQ60d3djcTERAiCEOrhEBEREdEskiRhbGwMubm5EMXANc2wDp7d3d1YsmRJqIdBRERERPPo6OhAfn5+wHvCOngmJiYCAF578Th02sQQj4aIiIiIZjONj+Gamyo9uS2QsA6e7ul1nTYROh2DJxEREVG4WsiySG4uIiIiIiJZMHgSERERkSwYPImIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSERERkSwYPImIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSERERkSwYPImIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSERERkSwYPImIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSERERkSwYPImIiIhIFgyeRERERCQLBk8iIiIikgWDJxERERHJgsGTiIiIiGTB4ElEREREsmDwJCIiIiJZMHgSEVFYMlvGsboqE6urMmG2jId6OES0CBg8iYiIiEgWDJ5EREREJAsGTyIiIiKSBYMnEREREcmCwZOIiMKK5JTwbuswHn3ptOfaaw19sE06QjgqIloMylAPgIiIyM3ucOKHNWdw4NwQYLd5rv9673m80DCMh++ogF6nCuEIiehSsOJJRERh44naDhw8NwQAcEqS12M9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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "best_svm = grid.best_estimator_\n", "fig, ax = subplots(figsize=(8,8))\n", @@ -1297,7 +633,7 @@ " ax=ax)\n", "\n", "y_hat_test = best_svm.predict(X_test)\n", - "confusion_table(y_hat_test, y_test)\n" + "confusion_table(y_hat_test, y_test)" ] }, { @@ -1344,29 +680,10 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "0607fc41", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:09.558386Z", - "iopub.status.busy": "2023-07-26T00:00:09.558248Z", - "iopub.status.idle": "2023-07-26T00:00:09.656670Z", - "shell.execute_reply": "2023-07-26T00:00:09.656343Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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X/tISUlRenq6ypcvX1hlAgAAoIQqVZwHj4uLU0ZGhipVqpSlvVKlSjp48GC+9vH888+rSpUqWQLxX6Wmpio1NdX5OjEx0f2CAQAAUKIU+5zZgnj99de1aNEiffnll/L398+xz8SJE2W3252PsLCwIq4SAAAAhaVYw2xISIi8vb0VGxubpT02NlahoaF5bvv222/r9ddf16pVq3TTTTfl2m/06NFKSEhwPn777TeP1A4AAIDiV6xh1tfXVy1bttTatWudbQ6HQ2vXrlXbtm1z3e7NN9/UK6+8ohUrVqhVq1Z5HsPPz0/BwcFZHgAAALg2FOucWUmKiopS//791apVK7Vu3VpTpkxRcnKyBg4cKEnq16+fqlatqokTJ0qS3njjDY0dO1affPKJwsPDFRMTI0kKCgpSUObKAQAAALguFHuY7dmzp/744w+NHTtWMTExatasmVasWOG8KOzUqVPy8vq/AeQPPvhAaWlpevjhh7PsJzo6WuPGjSvK0gEAAFDMin2d2aLGOrMAAAAlm2XWmQUAAAAKgjALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLM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ztJHurKawl//AVIYCLMAABSVzCUbrzGbNm3SgAEDnH/eT0pK0okTJ4q0BrvdrkqVKmnbtm26/fbbJUkZGRnauXOnmjVrlut2me/t37/f+fx///ufvv76ay1atEiNGjVy9s3IyNCtt96qVatWqVOnTqpXr54uX76s3bt3q0WLFs5+O3fulHQlxEpXgt97772n999/X8OHD89Ww/nz53OdN1uQaQZt27bV+fPntWPHDucI9XfffSeHw5Hl+qTchISEOLc5d+6cHnjggWx9Mu/KOnv2bPn7+2eZfiJJe/fu1cMPP3zVYxUEYRYAABRInTp1tGTJEnXp0kU2m01jxozJc4S1sAwbNkwTJ05U7dq1Vb9+fU2dOlV//vlnnst7VahQQS1atNDGjRudYXbBggW64YYb1KNHj2zbdu7cWbNmzVKnTp3UqFEjdezYUY8//rgmTZqkmjVr6tChQ/rnP/+pnj17OqcAtGnTRs8995z+9a9/6fTp0+revbuqVKmiI0eOaMaMGbr11ltzDLnSlWkG7mrQoIE6deqkQYMGacaMGUpPT9fQoUP16KOPqkqVKpKk06dP6+6779b8+fOdUzTmzJmjBg0aqEKFCtqyZYuGDx+uESNGqF69es59T5s2Te3atVNQUJBWr16tf//733r99dezhPITJ07o9OnTioiIcPsz5AdhFgAAFMjkyZP1+OOPq127dgoJCdHzzz+vxMTEIq/j+eefV0xMjPr16ydvb2899dRTioyMlLe3d57bPfnkk5o/f77zYrXZs2ere/fuOYbghx56SH379lVcXJxCQkK0ePFiRUdH6x//+IfOnDmjatWqqXv37hozZkyW7d544w21bNlS06dP14wZM+RwOFSrVi09/PDD6t+/v+d+CH+zcOFCDR06VHfffbe8vLz00EMP6b333nO+n56erkOHDmWZ13ro0CGNHj1a8fHxCg8P14svvqgRI0Zk2e9PP/2k6OhoJSUlqX79+vrwww/Vt2/fLH0+/fRTdezYsUCBPD9spqCTTSwmMTFRdrtdCQkJRXs3MADAdeXSpUvOK9/9/f2Lu5zrksPhUIMGDdSjRw+98sorufa7ePGi6tWrp8WLF+d6R1G4Ji0tTXXq1NEnn3yi9u3b59gnr++IK3mNkVkAAHBNOHnypFatWqUOHTooNTVV06ZN0/Hjx9W7d+88twsICND8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0OOPP66EhAQtXry4SI7/dx9//LHatWun6tWrZ2nP/F1JTU3V8uXLNWTIEPn4+Gj06NEFOp6vr2++zkdJ+b0sCQ4ePCiHw6EPP/xQtWvX1t69ezVo0CAlJyfr7bffdvYbMGCA3nvvPfXt27cYqwVKDkZmgWuQn5+fQkNDszy8vb01efJkNWnSRIGBgQoLC9MzzzyjpKSkXPezZ88e3XnnnSpTpoyCg4PVsmVLbd++3fn+xo0bddtttykgIEBhYWF69tlnlZycnGdtNptNoaGhqlKliu699149++yzWrNmjS5evCiHw6Hx48erWrVq8vPzU7NmzbRixQrntmlpaRo6dKgqV64sf39/Va9eXRMnTsyy78w/69aoUUOS1Lx5c9lsNt1xxx2Sso52fvTRR6pSpUq2P9l27dpVjz/+uPP1119/rRYtWsjf3181a9bUyy+/fNXRy1KlSik0NFRVq1ZVRESEHnnkEa1evdr5fkZGRpZRuHr16undd991vj9u3DjNmzdPX3/9tXP0dP369ZKk3377TT169FDZsmVVvnx5de3aVSdOnMiznkWLFqlLly7Z2jN/V6pXr67BgwcrIiJCS5culST9+eef6tevn8qVK6fSpUvr3nvv1a+//urc9uTJk+rSpYvKlSunwMBANWrUSMuXL5eUdZrB+vXrNXDgQCUkJDg/y7hx4yRlnQLQu3dv9ezZM0t96enpCgkJ0fz58yVJDodDEydOdP7cmjZtqi+++CLPz/53+f0efPXVV6pTp478/f0VGRmp3377Lcv77vxe5CXzHxYdO3ZUzZo19cADD2jkyJFasmRJln5dunTR9u3bdfToUbePBVxLCLPAdcTLy0vvvfee9u3bp3nz5um7777Tc889l2v/Pn36qFq1atq2bZt27NihUaNGycfHR5J09OhRderUSQ899JB+/vlnLV68WBs3btTQoUNdqikgIEAOh0OXL1/Wu+++q0mTJuntt9/Wzz//rMjISD3wwAPOAPXee+9p6dKl+uyzz3To0CEtXLhQ4eHhOe73p59+kiStWbNGZ8+ezRYIJOmRRx7R//73P61bt87ZFh8frxUrVqhPnz6SpA0bNqhfv34aPny49u/frw8//FBz587Va6+9lu/PeOLECa1cuVK+vr7ONofDoWrVqunzzz/X/v37NXbsWL3wwgv67LPPJEkjR45Ujx49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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "roc_curve(best_svm,\n", @@ -1374,7 +691,7 @@ " y_train,\n", " name='Training',\n", " color='r',\n", - " ax=ax);\n" + " ax=ax);" ] }, { @@ -1389,28 +706,10 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "id": "5211a882", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:09.658742Z", - "iopub.status.busy": "2023-07-26T00:00:09.658594Z", - "iopub.status.idle": "2023-07-26T00:00:09.805114Z", - "shell.execute_reply": "2023-07-26T00:00:09.804797Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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j8LsDz/8oMaNG2v9+vVasGCB0tLSJElbtmxRbGysVwsEAAAA8uNRmB02bJhee+01rVixQv7+/o7222+/XT///LPXigMAAAAK4lGY/e2333T//ffnaa9UqZKSk5OvuCgAAADAFR6F2XLlyunYsWN52jdv3qxq1apdcVEAAACAKzwKs4888ohefPFFJSUlyWazyW63a+3atRo6dKh69+7t7RoBAAAApzwKs+PGjVP9+vUVERGhtLQ0NWzYULfeeqvatm2rESNGeLtGAAAAwCmbMcZ4unFiYqK2bt2qtLQ0NWvWTHXq1PFmbYUiNTVVoaGhSklJUUhISOEeLD1dKlv20s9paVKZMoV7PAAAgKuAO3mtlCcHWLNmjW6++WZde+21uvbaaz0qEgAAALhSHk0zuP3221WzZk299NJL2r59u7drAgAAAFziUZg9evSo/vWvf+mHH35Qo0aN1LRpU7311ls6fPiwt+sDAAAA8uVRmA0LC9PAgQO1du1a7d27Vw899JBmz56tyMhI3X777d6uEQAAAHDKozD7ZzVr1tSwYcP0+uuvq3Hjxvrhhx+8URcAAABwWVcUZteuXatnn31WVatWVY8ePdSoUSMtXrzY7f1MmTJFkZGRCgwMVOvWrbVhwwaXtps7d65sNpu6du3q9jEBAABgfR6F2eHDh6tmzZq6/fbblZiYqHfffVdJSUn65JNP1KlTJ7f2NW/ePMXExCg2Nlbx8fFq0qSJoqOjdeLEiQK3O3DggIYOHapbbrnFk7cAAACAq4BH68y2a9dOPXv21MMPP6ywsLArKqB169a68cYbNXnyZEmS3W5XRESEBg0apGHDhjndJjs7W7feeqsef/xxrV69WmfOnNHChQtdOh7rzAIAAJRshb7O7Nq1az0q7K8yMzO1adMmDR8+3NHm4+OjqKgorVu3Lt/txowZo0qVKumJJ57Q6tWrvVILAAAArMflMLto0SLddddd8vPz06JFiwrse99997m0z+TkZGVnZ6ty5cq52itXrqydO3c63WbNmjWaOXOmEhISXDrGhQsXdOHCBcfz1NRUl7YDAABAyedymO3atauSkpJUqVKlAi+4stlsys7O9kZteZw9e1a9evXSjBkzXJ7eMH78eL3yyiuFUg8AAACKl8th1m63O/35SoSFhcnX11fHjx/P1X78+HFVqVIlT/+9e/fqwIED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1atXT++++67j9dGjR2v27Nn6+uuvHaOnq1atkiQdOnRIDz/8sMqVK6cKFSqoS5cuOnDgQIH1zJ07V507d87TnvO7UqNGDfXv319RUVFatGiRJOn06dPq3bu3ypcvr9KlS+uuu+7S77//7tj24MGD6ty5s8qXL68yZcro+uuv15IlSyTlnmawatUq9e3bVykpKY73Mnr0aEm5pwD06NFD3bp1y1VfVlaWwsLCNGfOHEmS3W7X+PHjHZ9bkyZN9OWXXxb43v/K1e/BwoULVadOHQUGBio6OlqHDh3K9bonvxcFyfmHRceOHVWrVi3dd999Gjp0qBYsWJCrX+fOnbVx40bt3bvX42MBVxPCLPA34uPjo/fee0/btm3T7Nmz9f333+uFF17It3/Pnj1VvXp1/fLLL9q0aZOGDRsmPz8/SdLevXvVqVMnPfjgg/r11181b948rVmzRgMHDnSrpqCgINntdl28eFHvvvuuJkyYoLffflu//vqroqOjdd999zkC1HvvvadFixZp/vz52rVrlz799FNFRkY63e+GDRskSd99952OHTuWJxBI0kMPPaQ//vhDK1eudLSdOnVKS5cuVc+ePSVJq1evVu/evTV48GBt375d//73vzVr1iyNHTvW5fd44MABLVu2TP7+/o42u92u6tWr64svvtD27ds1atQovfTSS5o/f74kaejQoXr44YfVqVMnHTt2TMeOHVPbtm2VlZWl6OhoBQcHa/Xq1Vq7dq3Kli2rTp065fpz9J+dOnVK27dvV8uWLS9ba1BQkGM/jz32mDZu3KhFixZp3bp1Msbo7rvvVlZWliRpwIABunDhgn788Uf99ttveuONN1S2bNk8+2zbtq0mTZqkkJAQx3sZOnRonn49e/bUf//731zBctmyZcrIyND9998vSRo/frzmzJmjadOmadu2bRoyZIgeffRR/fDDD5d9bzlc+R5kZGRo7NixmjNnjtauXaszZ87okUcecbzuye/Fbbfdpscee8zlOiUpJSVFFSpUyNV27bXXqnLlylq9erVb+wKuWgbAVaVPnz7G19fXlClTxvH4xz/+4bTvF198Ya655hrH848//tiEhoY6ngcHB5tZs2Y53faJJ54wTz31VK621atXGx8fH3Pu3Dmn2/x1/7t37zZ169Y1LVu2NMYYEx4ebsaOHZtrmxtvvNE8++yzxhhjBg0aZG6//XZjt9ud7l+S+eqrr4wxxuzfv99IMps3b87Vp0+fPqZLly6O5126dDGPP/644/m///1vEx4ebrKzs40xxtxxxx1m3LhxufbxySefmKpVqzqtwRhjYmNjjY+PjylTpowJDAw0kowkM3HixHy3McaYAQMGmAcffDDfWnOOXa9evVyfwYULF0xQUJBZtmyZ0/1u3rzZSDKJiYm52v+8f7vdblasWGECAgLM0KFDze7du40ks3btWkf/5ORkExQUZObPn2+MMaZx48Zm9OjRTo+5cuVKI8mcPn3aGJP33OeoUaOGeeedd4wxxmRlZZmwsDAzZ84cx+vdu3c33bp1M8YYc/78eVO6dGnz008/5drHE088Ybp37+60jr8ewxln3wNJ5ueff3a07dixw0gy69evN8a49nvx599HY4zp1auXGTZsWL51/NXvv/9uQkJCzPTp0/O81qxZs3w/e+DvhjmzwFWoQ4cOmjp1quN5mTJlJF0apRw/frx27typ1NRUXbx4UefPn1dGRoZKly6dZz8xMTF68skn9cknnzj+VF67dm1Jl6Yg/Prrr7kuRDHGyG63a//+/WrQoIHT2lJSUlS2bFnZ7XadP39eN998sz788EOlpqbq6NGjateuXa7+7dq105YtWyRdGim88847Va9ePXXq1En33nuvOnbseEWfVc+ePdWvXz998MEHCggI0KeffqpHHnlEPj4+jve5du3aXCNu2dnZBX5uklSvXj0tWrRI58+f1//93/8pISFBgwYNytVnypQp+uijj5SYmKhz584pMzNTTZs2LbDeLVu2aM+ePQoODs7Vfv78+Xz/7Hzu3DlJUmBgYJ7XvvnmG5UtW1ZZWVmy2+3q0aOHRo8erbi4OJUqVUqtW7d29L3mmmtUr1497dixQ5L03HPPqX///lq+fLmioqL04IMP6oYbbiiw/oKUKlVKDz/8sD799FP16tVL6enp+vrrrzV37lxJ0p49e5SRkaE777wz13aZmZlq1qyZy8dx5XtQqlQp3XjjjY5t6tevr3LlymnHjh1q1aqVR78XOVMlXHHkyBF16tRJDz30kPr165fn9aCgIGVkZLi8P+BqRpgFrkJlypTRddddl6vtwIEDuvfee9W/f3+NHTtWFSpU0Jo1a/TEE08oMzPT6f98R48erR49emjx4sX69ttvFRsbq7lz5+r+++9XWlqann76aT333HN5trv22mvzrS04OFjx8fHy8fFR1apVFRQUJElKTU297Ptq3ry59u/fr2+//VbfffedHn74YUVFRbk9Z/LPOnfuLGOMFi9erBtvvFGrV6/WO++843g9LS1Nr7zyih544IE82zoLhzlyVgeQpNdff1333HOPXnnlFb366quSLs1hHTp0qCZMmKA2bdooODhYb731ltavX19gvWlpaWrRooXTq9nzu5gqLCxM0qU5sH/tk/MPH39/f4WHh6tUKdf/t/Dkk08qOjpaixcv1vLlyzV+/HhNmDAhT2h3R8+ePdW+fXudOHFCK1asUFBQkDp16iRJjukHixcvVrVq1XJtFxAQ4NL+PfkeOOPp74Urjh49qg4dOqht27aaPn260z6nTp3i4jng/yPMAn8TmzZtkt1u14QJExyjjjnzMwtSt25d1a1bV0OGDFH37t318ccf6/7771fz5s21ffv2PKH5cnx8fJxuExISovDwcK1du1bt27d3tK9du1atWrXK1a9bt27q1q2b/vGPf6hTp046depUnnmFOfNTs7OzC6wnMDBQDzzwgD799FPt2bNH9erVU/PmzR2vN2/eXLt27XL7ff7ViBEjdPvtt6t///6O99m2bVs9++yzjj5/HVn19/fPU3/z5s01b948VapUSSEhIS4du3bt2goJCdH27dtVt27dXK85+4ePJDVo0EAXL17U+vXr1bZtW0nSH3/8oV27dqlhw4aOfhEREXrmmWf0zDPPaPjw4ZoxY4bTMOvsvTjTtm1bRUREaN68efr222/10EMPOeZpN2zYUAEBAUpMTMz1O+IOV78HFy9e1MaNGx2/e7t27dKZM2ccf3Hw1u/FXx05ckQdOnRQixYt9PHHHztq/LOcUXh3RqOBqxkXgAF/E9ddd52ysrL0/vvva9++ffrkk080bdq0fPufO3dOAwcO1KpVq3Tw4EGtXbtWv/zyi+N/5i+++KJ++uknDRw4UAkJCfr999/19ddfu30B2J89//zzeuONNzRv3jzt2rVLw4YNU0JCggYPHizp0lXon3/+uXbu3Kndu3friy++UJUqVZyuX1qpUiUFBQVp6dKlOn78uFJSUvI9bs+ePbV48WJ99NFHjgu/cowaNUpz5szRK6+8om3btmnHjh2aO3euRowY4dZ7a9OmjW644QaNGzdOklSnTh1t3LhRy5Yt0+7duzVy5Ej98ssvubaJjIzUr7/+ql27dik5OVlZWVnq2bOnwsLC1KVLF61evVr79+/XqlWr9Nxzz+nw4cNOj+3j46OoqCitWbPG5Xrr1KmjLl26qF+/flqzZo22bNmiRx99VNWqVVOXLl0kSf/85z+1bNky7d+/X/Hx8Vq5cmW+00siIyOVlpamuLg4JScnF/gn8h49emjatGlasWJFrvMRHBysoUOHasiQIZo9e7b27t2r+Ph4vf/++5o9e7ZL78vV74Gfn58GDRqk9evXa9OmTXrsscd00003OcKtJ78XvXv3LnDJsyNHjui2227Ttddeq7ffflsnT55UUlKSkpKScvX7+eefFRAQoDZt2rj0noGrXnFP2gXgXc4uGsoxceJEU7VqVRMUFGSio6PNnDlz8r1I58KFC+aRRx4xERERxt/f34SHh5uBAwfmurhrw4YN5s477zRly5Y1ZcqUMTfccEOeC7j+LL+LgHJkZ2eb0aNHm2rVqhk/Pz/TpEkT8+233zpenz59umnatKkpU6aMCQkJMXfccYeJj493vK6/XHAzY8YMExERYXx8fEz79u3z/Xyys7NN1apVjSSzd+/ePHUtXbrUtG3b1gQFBZmQkBDTqlUrpxfl5IiNjTVNmjTJ0/7555+bgIAAk5iYaM6fP28ee+wxExoaasqVK2f69+9vhg0blmu7EydOOD5fSWblypXGGGOOHTtmevfubcLCwkxAQICpVauW6devn0lJScm3piVLlphq1ao5LmzL77P4s1OnTplevXqZ0NBQx+/M7t27Ha8PHDjQ1K5d2wQEBJiKFSuaXr16meTkZGNM3gvAjDHmmWeeMddcc42RZGJjY40xzi/O2r59u5FkatSokediP7vdbiZNmmTq1atn/Pz8TMWKFU10dLT54Ycf8n0ffz2Gq9+D//znP6ZWrVomICDAREVFmYMHD+ba7+V+L/76+9i+fXvTp0+ffOvMufDM2ePPnnrqKfP000/nux/g78ZmjDHFkKEBAEXIGKPWrVs7povAmpKTk1WvXj1t3LjRsZYy8HfHNAMA+Buw2WyaPn26V25Vi+Jz4MABffDBBwRZ4E8YmQUAAIBlMTILAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAy/p/uAQWoOwHLOAAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "svm_flex = SVC(kernel=\"rbf\", \n", " gamma=50,\n", @@ -1422,7 +721,7 @@ " y_train,\n", " name='Training $\\gamma=50$',\n", " color='r',\n", - " ax=ax);\n" + " ax=ax);" ] }, { @@ -1438,16 +737,9 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "id": "12acc4ff", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:09.807019Z", - "iopub.status.busy": "2023-07-26T00:00:09.806879Z", - "iopub.status.idle": "2023-07-26T00:00:09.811100Z", - "shell.execute_reply": "2023-07-26T00:00:09.810783Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "roc_curve(svm_flex,\n", @@ -1456,7 +748,7 @@ " name='Test $\\gamma=50$',\n", " color='b',\n", " ax=ax)\n", - "fig;\n" + "fig;" ] }, { @@ -1469,28 +761,10 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "21c81913", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:09.812971Z", - "iopub.status.busy": "2023-07-26T00:00:09.812862Z", - "iopub.status.idle": "2023-07-26T00:00:09.916772Z", - "shell.execute_reply": "2023-07-26T00:00:09.916366Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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Npuef/55lSpVSo899pjmzZunu+++O0eKBAAAADLiUpj19fXV+fPnndq6du0qLy8vderUSRMnTvRkbQAAAECWXAqztWvX1urVq1WvXj2n9s6dO8sYo169enm0OAAAACArLoXZAQMG6Oeff85wWZcuXWSM0fTp0z1SGAAAAHAj3DQhJ3HTBAAAAJdx0wQAAADcFgizAAAAsCzCLAAAACyLMAsAAADLIswCAADAstwOsz///LO2bNni1LZly5ZMp+4CAAAAPM2leWb/7v7771eVKlW0d+9eR1uPHj108OBBpaWleaQ4AAAAICtuh9mjR4+qYMGCTm2rVq1SamrqTRcFAAAAZIfbYbZ06dLp2kqUKHFTxQAAAACu4AIwAAAAWFa2z8wWKVJENpstW+vGxcW5XRAAAACQXdkOs5MnT87BMgAAAADXZTvM9urVKyfrAAAAAFzm9pjZw4cP6+WXX1aXLl10+vRpSdIPP/ygPXv2eKw4AAAAICtuhdmffvpJNWvW1KZNm7Ro0SIlJiZKknbu3KkxY8Z4tEAAAAAgM26F2REjRuj111/XihUr5OPj42h/4IEH9Msvv3isOAAAACArboXZXbt2qUOHDunaw8LCdPbs2ZsuCgAAAMgOt8Js4cKFFR0dna59+/btKlmy5E0XBQAAAGSHW2G2c+fOeuGFFxQTEyObzSa73a7169dr+PDh6tmzp6drBAAAADLkVpgdP368qlSposjISCUmJqpatWq677771LhxY7388suerhEAAADIkM0YY9zd+MSJE9q9e7cSExNVp04dVaxY0ZO15YiEhASFhIQoPj5ewcHBObuzpCQpKOjq14mJUmCgFboGAADIU67ktWzfNCEjd955pyIjIyUp27e6BQAAADzF7ZsmfPbZZ6pRo4b8/Pzk5+enGjVq6NNPP/VkbQAAAECW3DozO3r0aE2aNEmDBw9Wo0aNJEkbN27U0KFDdeLECb366qseLRIAAADIiFtjZosVK6b3339fXbp0cWr/8ssvNXjw4Hw91yxjZgEAAPI3V/KaW8MMUlNTVb9+/XTt9erV05UrV9zpEgAAAHCZW2G2R48emjp1arr2Tz75RN26dbvpogAAAIDsyPaY2WHDhjm+ttls+vTTT7V8+XL94x//kCRt2rRJJ06c4KYJAAAAyDXZDrPbt293el6vXj1J0uHDhyVJoaGh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GNlstnTtf/75p0JCQlzqq1OnTjpz5oxGjx6tmJgY1a5dW0uXLnVcFHbixAl5ed30jcoAAABwC7IZY0x2V65Tp45sNpt27typ6tWrq0CB/2XhtLQ0HT16VK1atdKCBQtypFhPSEhIUEhIiOLj43N8yEHS6SQFhQdKkhJjkxQYFpij+wMAALgVuJLXXDoze20Wgx07digqKkpBQUGOZT4+PipTpoweffRR1ysGAAAA3OBSmB0zZowkqUyZMurUqZP8/PxypCgAAAAgO9waM9urVy9P1wEAAAC4LNthtmjRojp48KBCQ0NVpEiRDC8AuyYuLs4jxQEAAABZyXaYfffdd1WoUCHH11mFWQAAACA3uDSbwa2A2QwAAADyN1fymlsTuG7btk27du1yPP/222/Vvn17vfjii0pJSXGnSwAAAMBlboXZf/3rXzp48KAk6ciRI+rUqZMCAgL01Vdf6fnnn/dogQAAAEBm3AqzBw8eVO3atSVJX331lZo2baovvvhCs2bN0n/+8x9P1gcAAABkyq0wa4yR3W6XJK1cuVKtW7eWJEVGRurs2bOeqw4AAADIglthtn79+nr99df1+eef66efftLDDz8sSTp69KjCw8M9WiAAAACQGbfC7OTJk7Vt2zYNGjRIL730kipUqCBJWrhwoRo3buzRAgEAAIDMeHRqrkuXLsnb21sFCxb0VJcex9RcAAAA+Zsrec2t29les3XrVu3bt0+SVK1aNdWtW/dmugMAAABc4laYPX36tDp16qSffvpJhQsXliSdP39ezZo107x581SsWDFP1ggAAABkyK0xs4MHD1ZiYqL27NmjuLg4xcXFaffu3UpISNAzzzzj6RoBAACADLl1Znbp0qVauXKlqlat6mirVq2apkyZopYtW3qsOAAAACArbp2ZtdvtGV7kVbBgQcf8swAAAEBOcyvMPvDAAxoyZIhOnTrlaDt58qSGDh2qBx980GPFAQAAAFlxK8x++OGHSkhIUJkyZVS+fHmVL19eZcuWVUJCgj744ANP1wgAAABkyK0xs5GRkdq2bZtWrVrlmJqratWqat68uUeLAwAAALLicpidP3++vvvuO6WkpOjBBx/U4MGDc6IuAAAA4IZcCrNTp07VwIEDVbFiRfn7+2vRokU6fPiw3n777ZyqDwAAAMiUS2NmP/zwQ40ZM0YHDhzQjh07NHv2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Dz8Ym81mTp48meE2y5YtM15eXk456fz588ZmszmO6ccff2zCwsJMWlqaY51rP3O///67o+3y5cvG19fXrFy5MsN9Zfh76P9zJa9xZhYAcFVyshQUlDeP5ORslRgXF6elS5dq4MCBCgwMTLf82ke+NWvW1N13360ZM2Y4LZ85c6YaN26sKlWqZNj/5s2bJUkrV65UdHS0Fi1a5MIbKE2cOFH169fX9u3b9fTTT2vAgAE6cOCApKvToUVFRalQoUJau3at1q9fr6CgILVq1UopKSmO7WfNmqUZM2Zo3bp1iouL09dff53lPrdu3aqOHTuqc+fO2rVrl8aOHatRo0Zp1qxZ2a7teu+9954aNWqk/v37Kzo6WtHR0YqMjHQsHzFihN544w3t27dPd911lxITE9W6dWutWrVK27dvV6tWrdSmTRudOHEiy9pfeeUVdezYUb/99ptat26tbt26ZfmRe3Jyst555x19/vnn+vnnn3XixAkNHz7csfzNN9/U3LlzNXPmTK1fv14JCQnpPuq/3m+//ab4+HjVr18/3bKZM2fq4YcfVkhIiLp3767PPvssy74yM3fuXAUFBenpp5/OcHlmQxUkqXr16goKCsr08dBDD2W67caNG1W4cGGn19a8eXN5eXlp06ZNGW5z+fJl2Ww2+fr6Otr8/Pzk5eWldevWOda5/la0/v7+kuRYR7p6dr127dpau3ZtpjV6xA3j7i2GM7MAkMkZkcRE4/illduPDM6yZuTaGa5FixbdcN1p06aZoKAgc+HCBWOMMQkJCSYgIMB8+umnmW5z9OhRI8ls377dqT27Z2a7d+/ueG63201YWJiZOnWqMcaYzz//3FSuXNnY/3YW+vLly8bf398sW7bMGGNM8eLFzVtvveVYnpqaakqVKpXlmcWuXbuaFi1aOLU999xzplq1atmuLSMZveZrZ0u/+eabTLe7pnr16uaDDz5wquH6M7Mvv/yy43liYqKRZH744Qenff39zKwkc+jQIcc2U6ZMMeHh4Y7n4eHh5u2333Y8v3LlirnzzjuzfP++/vpr4+3t7XRcjDEmLS3NREZGOl7rmTNnjI+Pjzly5IhjneyemX3ooYfMXXfdlWkNWTl27Jj5/fffM338+eefmW47btw4U6lSpXTtxYoVMx999FGG25w+fdoEBwebIUOGmKSkJJOYmGgGDRpkJJkn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mHvuuedmXoLHZPR76BpX8lqen5kFAOQPyclSUFDePJKTs1djXFycli5dqoEDByowMDDd8msfI9esWVN33313ujN3M2fOVOPGjVWlSpUM+792O/WVK1cqOjpaixYtyv4bKGnixImqX7++tm/frqeffloDBgzQgQMHJEmpqamKiopSoUKFtHbtWq1fv15BQUFq1aqVUlJSHNvPmjVLM2bM0Lp16xQXF6evv/46y31u3bpVHTt2VOfOnbVr1y6NHTtWo0aNSvcRc1a1Xe+9995To0aN1L9/f0VHRys6OlqRkZE6f/68HnjgAdWpU0dbtmzR0qVLFRsbq44dO0qSoqOj1aVLF/Xt21f79u3TmjVr9Mgjj8gYo+HDh6tjx45q1aqVo8/GjRtnuP+1a9eqXr166dqNMZo5c6a6d++uKlWqqEKFClq4cGGW709G7Ha75s2bp27duqlEiRLplgcFBalAgYxnL127dq2CgoKyfMydOzfTfbszX/7ly5fl5+fn1Obv768///xTx48fd6nfBg0aaPPmzU7Tllpdns4zCwCAKw4dOiRjTKZh9O/69eun4cOH6/3331dQUJAuXLighQsX6v333890m2LFikmS7rjjjkxnyclK69at9fTTT0uSXnjhBb377rtavXq1KleurPnz58tut+vTTz+VzXb1ouCZM2eqcOHCWrNmjVq2bKnJkydr5MiReuSRRyRJ06ZNy/LjZ+nqnTQffPBBjRo1SpJUqVIl7d27V2+//bZ69+6drdquFxISIh8fHwUEBDi9Dx9++KHq1Kmj8ePHO9pmzJihyMhIHTx4UImJibpy5YoeeeQRlS5dWtLVfyyu8ff31+XLl2/43h4/fjzDkLly5UolJycrKipKktS9e3d99tln6tGjR5b9Xe/s2bM6d+5ctr6Prle/fv0bjqm+fj78v8tsvvyEhARdvHhR/v7+6baJiorS0KFD1bt3bzVr1kyHDh1yXMgVHR2tMmXKZLvfEiVKKCUlRTExMY5jZHWEWQCAJCkgQEpMzLt9Z4dx4aKcLl26aOjQoVqwYIH69u2r+fPny8vLS506dXKzyhu76667HF/bbDZFRETo9OnTkqSdO3fq0KFDKlSokNM2ly5d0uHDhxUfH6/o6Gg1bNjQsaxAgQKqX79+lq973759ateunVNbkyZNNHnyZKWlpcnb2/uGtWXXzp07tXr1agUFBaVbdvjwYbVs2VIPPvigatasqaioKLVs2VKPPfaYihQp4tJ+Ll68mO5MpHQ1OHfq1Mlx1rRLly567rnndPjwYZUvXz7b/bvyfXQ9f39/VahQwe3t3dG/f38dPnxY//znP5Wamqrg4GANGTJEY8eOlZeXax+yXwu1ydn9OMQCCLMAAEmSzSZl8Ml9vlKxYkXZbLZM7xL5d8HBwXrsscc0c+ZM9e3bVzNnzlTHjh0zDGI34uXllS4AZTQbwvUXldlsNtntdklSYmKi6tWrl+FH0NfOCOekrGrLrsTERLVp00ZvvvlmumXFixeXt7e3VqxYoQ0bNmj58uX64IMP9NJLL2nTpk0qW7ZstvcTGhqqc+fOObVdG3KRmpqqqVOnOtrT0tI0Y8YMjRs3TtLV457RxVvnz59XSEiIpKvvd+HChbP1fXS9tWvX6qGHHspynY8//ljdunXLcFlm8+UHBwdneFZWunqs3nzzTY0fP14xMTEqVqyYY5rScuXKudRvXFycpNz5nsstjJkFAFhG0aJFFRUVpSlTpigpKSnd8vPnzzs979evn9atW6fvv/9eGzZsyPDq+L/z8fGRdDUg/V2xYsWcZtZJS0vT7t27Xaq9bt26+v333xUWFqYKFSo4Pa7dpbJ48eLatGmTY5srV65o69atWfZbtWpVrV+/3qlt/fr1qlSpkuOsrDt8fHzSvQ9169bVnj17VKZMmXSv4doYZpvNpiZNmuiVV17R9u3b5ePj4xj3m1GfGalTp4727t3r1DZ37lyVKlVKO3fu1I4dOxyPa+OMr/VbuXJlbdu2LV2f27ZtU6VKlSRd/eekc+fOmjt3rk6dOpVu3WvDJTJybZhBVo+2bdtm+tpcnS//77y9vVWyZEn5+Pjoyy+/VKNGjRyhNLv97t69W6VKlVJoaOgN92cZHr0szQKYzQAAsr6KOL87fPiwiYiIMNWqVTMLFy40Bw8eNHv37jXvvfeeqVKlitO6drvdVKhQwRQpUiTdsoykpqYaf39/8/rrr5uYmBhz/vx5Y4wx06ZNMwEBAeb77783+/btM/379zfBwcHpZjN49913nfqrVauWGTNmjDHGmKSkJFOxYkVz//33m59//tkcOXLErF692gwePNj88ccfxhhj3njjDVO0aFHz9ddfO/ZTqFChLGcz2Lp1q/Hy8jKvvvqqOXDggJk1a5bx9/c3M2fOzHZtGenfv7+5++67zdGjR82ZM2dMWlqaOXnypClWrJh57LHHzObNm82hQ4fM0qVLTe/evc2VK1fML7/8YsaNG2d+/fVXc/z4cbNgwQLj4+NjlixZYowxZty4cebOO+80+/fvN2fOnDEpKSkZ7vu3334zBQoUMHFxcU71vvDCC+nWPX/+vPHx8THff/+9Mebq94efn58ZPHiw2blzp9m/f7+ZOHGiKVCggPnhhx8c2/3111+mSpUqplSpUmb27Nlmz5495uDBg+azzz4zFSpUcMyM4WlHjhwxAQEB5rnnnjP79u0zU6ZMMd7e3mbp0qWOdT744APzwAMPOJ6fOXPGTJ061ezbt89s377dPPPMM8bPz89s2rTJpX6NuTpTRd++fXPktbnKU7MZEGYB4DZk5TBrjDGnTp0yAwcONKVLlzY+Pj6mZMmSpm3bthlO9TR+/Hgjybz11lvZ6nv69OkmMjLSeHl5OabmSklJMQMGDDBFixY1YWFhZsKECRlOzXWjwBgdHW169uxpQkNDja+vrylXrpzp37+/429SamqqGTJkiAkODjaFCxc2w4YNc2lqroIFC5o777zTvP32207L3QmzBw4cMP/4xz+Mv7+/09RcBw8eNB06dDCFCxc2/v7+pkqVKubZZ581drvd7N2710RFRZlixYoZX19fU6lSJfPBBx84+jx9+rRp0aKFCQoKynJqLmOMadCggZk2bZoxxpgtW7YYSWbz5s0ZrvvQQw+ZDh06OJ5v3rzZtGjRwhQrVsyEhISYhg0bmq+//jrddufPnzcjRowwFStWND4+PiY8PNw0b97cfP31144pr3LC6tWrTe3atY2Pj48pV66c0z8exhgzZswYU7p0acfzM2fOmH/84x8mMDDQBAQEmAcffND88ssvLvd78eJFExISYjZu3JgDr8p1ngqzNmNy8BYX+VBCQoJCQkIUHx+fq7e2BYD85NKlSzp69KjKli2b4YU2QF5bvHixnnvuOe3evdvli5yQsalTp+rrr7/W8uXL87oUSVn/HnIlr3EBGAAAyHcefvhh/f777zp58qQiIyPzupxbQsGCBfXBBx/kdRkeR5gFAAD50rPPPpvXJdxSnnjiibwuIUdw3h4AAACWRZgFAACAZRFmAeA2dptdAwwgH/HU7x/CLADchq7dDepWuqUlAGtJSUmRpJu6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atasqcDAQEVGRurpp59WYmJipv3s3LlTzZo1U6FChRQcHKx69eppy5YtjuXr1q3TvffeK39/f0VGRuqZZ55RUlJSlrXZbDZFRESoRIkSeuihh/TMM89o5cqVunjxoux2u1599VWVKlVKvr6+ql27tpYuXerYNiUlRYMGDVLx4sXl5+en0qVLa8KECU59X/tYt2zZspKkOnXqyGaz6f7775fkfLbzk08+UYkSJdJ9ZNuuXTv17dvX8fzbb79V3bp15efnp3LlyumVV1654dnLAgUKKCIiQiVLllTz5s31+OOPa8WKFY7laWlpTmfhKleurPfee8+xfOzYsZo9e7a+/fZbx9nTNWvWSJL++OMPdezYUYULF1bRokXVrl07HTt2LMt65s2bpzZt2qRrv/a9Urp0aQ0YMEDNmzfXd999J0k6d+6cevbsqSJFiiggIEAPPfSQfv/9d8e2x48fV5s2bVSkSBEFBgaqevXqWrJkiSTnYQZr1qxRnz59FB8f73gtY8eOleQ8BKBr167q1KmTU32pqakKDQ3VnDlzJEl2u10TJkxwvG+1atXSwoULs3zt18vuz8E333yjihUrys/PT1FRUfrjjz+clrvzfZGVa/9YtGzZUuXKlVPbtm01fPhwLVq0yGm9Nm3aaMuWLTp8+LDb+wJuJYRZ4Dbi5eWl999/X3v27NHs2bP1448/6vnnn890/W7duqlUqVL69ddftXXrVo0YMUIFCxaUJB0+fFitWrXSo48+qt9++03z58/XunXrNGjQIJdq8vf3l91u15UrV/Tee+9p4sSJeuedd/Tbb78pKipKbdu2dQSo999/X999950WLFigAwcOaO7cuSpTpkyG/W7evFmStHLlSkVHR6cLBJL0+OOP66+//tLq1asdbXFxcVq6dKm6desmSVq7dq169uypIUOGaO/evfr44481a9YsjRs3Ltuv8dixY1q2bJl8fHwcbXa7XaVKldJXX32lvXv3avTo0XrxxRe1YMECSdLw4cPVsWNHtWrVStHR0YqOjlbjxo2VmpqqqKgoFSpUSGvXrtX69esVFBSkVq1aOX0c/XdxcXHau3ev6tevf8Na/f39Hf307t1bW7Zs0XfffaeNGzfKGKPWrVsrNTVVkjRw4EBdvnxZP//8s3bt2qU333xTQUFB6fps3LixJk+erODgYMdrGT58eLr1unXrpv/+979OwXLZsmVKTk5Whw4dJEkTJkzQnDlzNG3aNO3Zs0dDhw5V9+7d9dNPP93wtV2TnZ+D5ORkjRs3TnPmzNH69et1/vx5de7c2bHcne+L+++/X7179852nZIUHx+vokWLOrXdeeedCg8P19q1a13qC7hlGQC3lF69ehlvb28TGBjoeDz22GMZrvvVV1+ZO+64w/F85syZJiQkxPG8UKFCZtasWRlu269fP/Pkk086ta1du9Z4eXmZixcvZrjN9f0fPHjQVKpUydSvX98YY0yJEiXMuHHjnLa5++67zdNPP22MMWbw4MHmgQceMHa7PcP+JZmvv/7aGGPM0aNHjSSzfft2p3V69epl2rVr53jerl0707dvX8fzjz/+2JQoUcKkpaUZY4x58MEHzfjx4536+Pzzz03x4sUzrMEYY8aMGWO8vLxMYGCg8fPzM5KMJDNp0qRMtzHGmIEDB5pHH30001qv7bty5cpO78Hly5eNv7+/WbZsWYb9bt++3UgyJ06ccGr/e/92u92sWLHC+Pr6muHDh5uDBw8aSWb9+vWO9c+ePWv8/f3NggULjDHG1KxZ04wdOzbDfa5evdpIMufOnTPGpD/215QuXdq8++67xhhjUlNTTWhoqJkzZ45jeZcuXUynTp2MMcZcunTJBAQEmA0bNjj10a9fP9OlS5cM67h+HxnJ6OdAkvnll18cbfv27TOSzKZNm4wx2fu++Pv3ozHG9OjRw4wYMSLTOq73+++/m+DgYPPJJ5+kW1anTp1M33vgdsOYWeAW1KxZM02dOtXxPDAwUNLVs5QTJkzQ/v37lZCQoCtXrujSpUtKTk5WQEBAun6GDRumJ554Qp9//rnjo/Ly5ctLujoE4bfffnO6EMUYI7vdrqNHj6pq1aoZ1hYfH6+goCDZ7XZdunRJ99xzjz799FMlJCTo1KlTatKkidP6TZo00c6dOyVdPVPYokULVa5cWa1atdI///lPtWzZ8qbeq27duql///766KOP5Ovrq7lz56pz587y8vJyvM7169c7nXFLS0vL8n2TpMqVK+u7777TpUuX9H//93/asWOHBg8e7LTOlClTNGPGDJ04cUIXL15USkqKateunWW9O3fu1KFDh1SoUCGn9kuXLmX6sfPFixclSX5+fumWff/99woKClJqaqrsdru6du2qsWPHatWqVSpQoIAaNmzoWPeOO+5Q5cqVtW/fPknSM888owEDBmj58uVq3ry5Hn30Ud11111Z1p+VAgUKqGPHjpo7d6569OihpKQkffvtt5o3b54k6dChQ0pOTlaLFi2ctktJSVGdOnWyvZ/s/BwUKFBAd999t2ObKlWqqHDhwtq3b58aNGjg1vfFtaES2XHy5Em1atVKjz/+uPr3759uub+/v5KTk7PdH3ArI8wCt6DAwEBVqFDBqe3YsWP65z//qQEDBmjcuHEqWrSo1q1bp379+iklJSXDP75jx45V165dtXjxYv3www8aM2aM5s2bpw4dOigxMVH/+te/9Mwzz6Tb7s4778y0tkKFCmnbtm3y8vJS8eLF5e/vL0lKSEi44euqW7eujh49qh9++EErV65Ux44d1bx5c5fHTP5dmzZtZIzR4sWLdffdd2vt2rV69913HcsTExP1yiuv6JFHHkm3bUbh8JprswNI0htvvKGHH35Yr7zyil577TVJV8ewDh8+XBMnTlSjRo1UqFAhvf3229q0aVOW9SYmJqpevXoZXs2e2cVUoaGhkq6Ogb1+nWv/+Pj4+KhEiRIqUCD7fxaeeOIJRUVFafHixVq+fLkmTJigiRMnpgvtrujWrZuaNm2q06dPa8WKFfL391erVq0kyTH8YPHixSpZsqTTdr6+vtnq352fg4y4+32RHadOnVKzZs3UuHFjffLJJxmuExcXx8VzwP9HmAVuE1u3bpXdbtfEiRMdZx2vjc/MSqVKlVSpUiUNHTpUXbp00cyZM9WhQwfVrVtXe/fuTReab8TLyyvDbYKDg1WiRAmtX79eTZs2dbSvX79eDRo0cFqvU6dO6tSpkx577DG1atVKcXFx6cYVXhufmpaWlmU9fn5+euSRRzR37lwdOnRIlStXVt26dR3L69atqwMHDrj8Oq/38ssv64EHHtCAAQMcr7Nx48Z6+umnHetcf2bVx8cnXf1169bV/PnzFRYWpuDg4Gztu3z58goODtbevXtVqVIlp2UZ/eMjSVWrVtWVK1e0adMmNW7cWJL0119/6cCBA6pWrZpjvcjISD311FN66qmnNHLkSE2fPj3DMJvRa8lI48aNFRkZqfnz5+uHH37Q448/7hinXa1aNfn6+urEiRNO3yOuyO7PwZUrV7RlyxbH996BAwd0/vx5xycOnvq+uN7JkyfVrFkz1atXTzNnznTU+HfXzsK7cjYauJVxARhwm6hQoYJSU1P1wQcf6MiRI/r88881bdq0TNe/ePGiBg0apDVr1uj48eNav369fv31V8cf8xdeeEEbNmzQoEGDtGPHDv3+++/69ttvXb4A7O+ee+45vfnmm5o/f74OHDigESNGaMeOHRoyZIikq1ehf/nll9q/f78OHjyor776ShERERnOXxoWFiZ/f38tXbpUsbGxio+Pz3S/3bp10+LFizVjxgzHhV/XjB49WnPmzNErr7yiPXv2aN++fZo3b55efvlll15bo0aNdNddd2n8+PGSpIoVK2rLli1atmyZDh48qFGjRunXX3912qZMmTL67bffdODAAZ09e1apqanq1q2bQkND1a5dO61du1ZHjx7VmjVr9Mwzz+jPP//McN9eXl5q3ry51q1bl+16K1asqHbt2ql///5at26ddu7cqe7du6tkyZJq166dJOnZZ5/VsmXLdPToUW3btk2rV6/OdHhJmTJllJiYqFWrVuns2bNZfkTetWtXTZs2TStWrHA6HoUKFdLw4cM1dOhQzZ49W4cPH9a2bdv0wQcfaPbs2dl6Xdn9OShYsKAGDx6sTZs2aevWrerdu7f+8Y9/OMKtO98XPXv2zHLKs5MnT+r+++/XnXfeqXfeeUdnzpxRTEyMYmJinNb75Zdf5Ovrq0aNGmXrNQO3vLwetAvAszK6aOiaSZMmmeLFixt/f38TFRVl5syZk+lFOpcvXzadO3c2kZGRxsfHx5QoUcIMGjTI6eKuzZs3mxYtWpigoCATGBho7rrrrnQXcP1dZhcBXZOWlmbGjh1rSpYsaQoWLGhq1aplfvjhB8fyTz75xNSuXdsEBgaa4OBg8+CDD5pt27Y5luu6C26mT59uIiMjjZeXl2natGmm709aWpopXry4kWQOHz6crq6lS5eaxo0bG39/fxMcHGwaNGiQ4UU514wZM8bUqlUrXfuXX35pfH19zYkTJ8ylS5dM7969TUhIiClcuLAZMGCAGTFihNN2p0+fdry/kszq1auNMcZER0ebnj17mtDQUOPr62vKlStn+vfvb+Lj4zOtacmSJaZkyZKOC9syey/+Li4uzvTo0cOEhIQ4vmcOHjzoWD5o0CBTvnx54+vra4oVK2Z69Ohhzp49a4xJfwGYMcY89dRT5o477jCSzJgxY4wxGV+ctXfvXiPJlC5dOt3Ffna73UyePNlUrlzZFCxY0BQrVsxERUWZn376KdPXcf0+svtz8J///MeUK1fO+Pr6mubNm5vjx4879Xuj74vrvx+bNm1qevXqlWmd1y48y+jxd08++aT517/+lWk/wO3GZowxeZChAQC5yBijhg0bOoaLwJrOnj2rypUra8uWLY65lIHbHcMMAOA2YLPZ9Mknn3jkVrXIO8eOHdNHH31EkAX+hjOzAAAAsCzOzAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCy/h+qqwIe4pXQBwAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", "for (X_, y_, c, name) in zip(\n", @@ -1504,7 +778,7 @@ " y_,\n", " name=name,\n", " ax=ax,\n", - " color=c)\n" + " color=c)" ] }, { @@ -1524,35 +798,17 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "2fff4fa8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:09.918766Z", - "iopub.status.busy": "2023-07-26T00:00:09.918630Z", - "iopub.status.idle": "2023-07-26T00:00:10.011719Z", - "shell.execute_reply": "2023-07-26T00:00:10.011390Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "rng = np.random.default_rng(123)\n", "X = np.vstack([X, rng.standard_normal((50, 2))])\n", "y = np.hstack([y, [0]*50])\n", "X[y==0,1] += 2\n", "fig, ax = subplots(figsize=(8,8))\n", - "ax.scatter(X[:,0], X[:,1], c=y, cmap=cm.coolwarm);\n" + "ax.scatter(X[:,0], X[:,1], c=y, cmap=cm.coolwarm);" ] }, { @@ -1565,29 +821,10 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "5396f2df", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:10.013499Z", - "iopub.status.busy": "2023-07-26T00:00:10.013374Z", - "iopub.status.idle": "2023-07-26T00:00:10.566891Z", - "shell.execute_reply": "2023-07-26T00:00:10.566514Z" - }, - "lines_to_next_cell": 0 - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "metadata": {}, + "outputs": [], "source": [ "svm_rbf_3 = SVC(kernel=\"rbf\",\n", " C=10,\n", @@ -1599,7 +836,7 @@ " y,\n", " svm_rbf_3,\n", " scatter_cmap=cm.tab10,\n", - " ax=ax)\n" + " ax=ax)" ] }, { @@ -1629,31 +866,13 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "f63c575e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:10.568858Z", - "iopub.status.busy": "2023-07-26T00:00:10.568713Z", - "iopub.status.idle": "2023-07-26T00:00:10.643719Z", - "shell.execute_reply": "2023-07-26T00:00:10.643399Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "((63, 2308), (20, 2308))" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "Khan = load_data('Khan')\n", - "Khan['xtrain'].shape, Khan['xtest'].shape\n" + "Khan['xtrain'].shape, Khan['xtest'].shape" ] }, { @@ -1670,108 +889,20 @@ "large number of features relative to the number of observations. This\n", "suggests that we should use a linear kernel, because the additional\n", "flexibility that will result from using a polynomial or radial kernel \n", - "is unnecessary. " + "is unnecessary." ] }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "32091338", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:10.645715Z", - "iopub.status.busy": "2023-07-26T00:00:10.645573Z", - "iopub.status.idle": "2023-07-26T00:00:10.679454Z", - "shell.execute_reply": "2023-07-26T00:00:10.679131Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Truth1234
Predicted
18000
202300
300120
400020
\n", - "
" - ], - "text/plain": [ - "Truth 1 2 3 4\n", - "Predicted \n", - "1 8 0 0 0\n", - "2 0 23 0 0\n", - "3 0 0 12 0\n", - "4 0 0 0 20" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "khan_linear = SVC(kernel='linear', C=10)\n", "khan_linear.fit(Khan['xtrain'], Khan['ytrain'])\n", "confusion_table(khan_linear.predict(Khan['xtrain']),\n", - " Khan['ytrain'])\n" + " Khan['ytrain'])" ] }, { @@ -1789,101 +920,13 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "id": "d9058023", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T00:00:10.681354Z", - "iopub.status.busy": "2023-07-26T00:00:10.681208Z", - "iopub.status.idle": "2023-07-26T00:00:10.694453Z", - "shell.execute_reply": "2023-07-26T00:00:10.694155Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Truth1234
Predicted
13000
20620
30040
40005
\n", - "
" - ], - "text/plain": [ - "Truth 1 2 3 4\n", - "Predicted \n", - "1 3 0 0 0\n", - "2 0 6 2 0\n", - "3 0 0 4 0\n", - "4 0 0 0 5" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], + "metadata": {}, + "outputs": [], "source": [ "confusion_table(khan_linear.predict(Khan['xtest']),\n", - " Khan['ytest'])\n" + " Khan['ytest'])" ] }, { @@ -1898,20 +941,8 @@ "metadata": { "jupytext": { "cell_metadata_filter": "-all", - "formats": "ipynb,Rmd", + "formats": "ipynb,md:myst", "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" } }, "nbformat": 4, From d5c88a4b76fe88a2d6a57d5f5e2b438e805fc0d4 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 25 Jul 2023 22:02:13 -0700 Subject: [PATCH 048/195] also building helpers and datasets so they are populated on github --- docs/{fix_labs.py => fix_and_run_notebooks.py} | 10 ++++++++++ 1 file changed, 10 insertions(+) rename docs/{fix_labs.py => fix_and_run_notebooks.py} (84%) diff --git a/docs/fix_labs.py b/docs/fix_and_run_notebooks.py similarity index 84% rename from docs/fix_labs.py rename to docs/fix_and_run_notebooks.py index 7e69d15..b40cd02 100644 --- a/docs/fix_labs.py +++ b/docs/fix_and_run_notebooks.py @@ -59,6 +59,16 @@ os.system(f'jupytext --sync {base}.ipynb; rm {base}.md') + cmd = f'jupyter nbconvert --execute --inplace {nbfile}' + if labname[:3] == 'Ch2': + cmd += ' --allow-errors' + os.system(cmd) + + +for nbfile in glob('source/helpers/*nb') + glob('source/datasets/*nb'): + cmd = f'jupyter nbconvert --execute --inplace {nbfile}' + os.system(cmd) + # add a warning for ridge # at ## Ridge Regression and the Lasso From d44e6e6f48fbb9db4c2ad4368f92df7b271f96b9 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Wed, 26 Jul 2023 09:12:09 -0400 Subject: [PATCH 049/195] cleaned up labs, colab button added --- .gitmodules | 3 + docs/ISLP_labs | 1 + docs/fix_and_run_notebooks.py | 50 +- docs/source/conf.py | 2 +- docs/source/datasets/Auto.ipynb | 48 +- docs/source/datasets/Bikeshare.ipynb | 48 +- docs/source/datasets/Boston.ipynb | 48 +- docs/source/datasets/BrainCancer.ipynb | 57 +- docs/source/datasets/Caravan.ipynb | 39 +- docs/source/datasets/Carseats.ipynb | 48 +- docs/source/datasets/College.ipynb | 48 +- docs/source/datasets/Credit.ipynb | 48 +- docs/source/datasets/Default.ipynb | 57 +- docs/source/datasets/Fund.ipynb | 39 +- docs/source/datasets/Hitters.ipynb | 48 +- docs/source/datasets/Khan.ipynb | 39 +- docs/source/datasets/NCI60.ipynb | 39 +- docs/source/datasets/NYSE.ipynb | 48 +- docs/source/datasets/OJ.ipynb | 48 +- docs/source/datasets/Portfolio.ipynb | 48 +- docs/source/datasets/Publication.ipynb | 48 +- docs/source/datasets/Smarket.ipynb | 48 +- docs/source/datasets/USArrests.ipynb | 173 +- docs/source/datasets/Wage.ipynb | 48 +- docs/source/datasets/Weekly.ipynb | 48 +- docs/source/helpers/cluster.ipynb | 63 +- docs/source/helpers/pygam.ipynb | 93 +- docs/source/helpers/survival.ipynb | 48 +- docs/source/helpers/svm.ipynb | 57 +- docs/source/installation.myst | 16 +- docs/source/labs/Ch10-deeplearning-lab.ipynb | 7566 ++++++++++++++++- docs/source/labs/Ch11-surv-lab.ipynb | 329 +- docs/source/labs/Ch12-unsup-lab.ipynb | 538 +- docs/source/labs/Ch13-multiple-lab.ipynb | 293 +- docs/source/labs/Ch14-surv-lab.ipynb | 995 +++ docs/source/labs/Ch2-statlearn-lab.ipynb | 1040 ++- docs/source/labs/Ch3-linreg-lab.ipynb | 338 +- docs/source/labs/Ch4-classification-lab.ipynb | 725 +- docs/source/labs/Ch5-resample-lab.ipynb | 248 +- docs/source/labs/Ch6-varselect-lab.ipynb | 529 +- docs/source/labs/Ch7-nonlin-lab.ipynb | 455 +- docs/source/labs/Ch8-baggboost-lab.ipynb | 329 +- docs/source/labs/Ch9-svm-lab.ipynb | 320 +- 43 files changed, 13872 insertions(+), 1281 deletions(-) create mode 100644 .gitmodules create mode 160000 docs/ISLP_labs create mode 100644 docs/source/labs/Ch14-surv-lab.ipynb diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..891a60a --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "docs/ISLP_labs"] + path = docs/ISLP_labs + url = https://github.com/intro-stat-learning/ISLP_labs diff --git a/docs/ISLP_labs b/docs/ISLP_labs new file mode 160000 index 0000000..322b7ec --- /dev/null +++ b/docs/ISLP_labs @@ -0,0 +1 @@ +Subproject commit 322b7ec7ac3906157f808da84c23b9388996f23c diff --git a/docs/fix_and_run_notebooks.py b/docs/fix_and_run_notebooks.py index b40cd02..13d7f51 100644 --- a/docs/fix_and_run_notebooks.py +++ b/docs/fix_and_run_notebooks.py @@ -4,14 +4,23 @@ for f in glob('source/labs/Ch14*'): os.remove(f) - +version = 'v1' +main = 'main' +os.system(f''' +cd ISLP_labs; +git checkout {version}; +cp * ../source/labs; +git checkout {main}; +pip install -r ../source/labs/frozen_requirements.txt; +pip install -r ../source/labs/torch_requirements.txt; +''') for nbfile in glob('source/labs/*nb'): base = os.path.splitext(nbfile)[0] labname = os.path.split(base)[1] colab_code = f''' - + Open In Colab @@ -40,36 +49,23 @@ if labname[:4] != 'Ch10': + # clear outputs for all but Ch10 os.system(f'jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace {nbfile}') - os.system(f'jupytext --set-formats ipynb,md:myst {nbfile}; jupytext --sync {nbfile}') - - myst = open(f'{base}.md').read().strip() - - new_myst = [] - for l in myst.split('\n'): - if l.strip()[:9] != '# Chapter': - if 'Lab:' in l: - l = '# ' + l[6:] + '\n' + colab_code - new_myst.append(l) - - myst = '\n'.join(new_myst) # remove the "Chapter %d - - open(f'{base}.md', 'w').write(myst) - - os.system(f'jupytext --sync {base}.ipynb; rm {base}.md') + os.system(f'jupytext --set-formats ipynb,md:myst {nbfile}; jupytext --sync {nbfile}') - cmd = f'jupyter nbconvert --execute --inplace {nbfile}' - if labname[:3] == 'Ch2': - cmd += ' --allow-errors' - os.system(cmd) + myst = open(f'{base}.md').read().strip() + new_myst = [] + for l in myst.split('\n'): + if l.strip()[:9] != '# Chapter': + if 'Lab:' in l: + l = l.replace('Lab:', '') + '\n' + colab_code + new_myst.append(l) -for nbfile in glob('source/helpers/*nb') + glob('source/datasets/*nb'): - cmd = f'jupyter nbconvert --execute --inplace {nbfile}' - os.system(cmd) + myst = '\n'.join(new_myst) # remove the "Chapter %d + open(f'{base}.md', 'w').write(myst) -# add a warning for ridge -# at ## Ridge Regression and the Lasso + os.system(f'jupytext --sync {base}.ipynb; rm {base}.md') diff --git a/docs/source/conf.py b/docs/source/conf.py index d36b86a..f4521cd 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -28,7 +28,7 @@ graphviz_dot = '/opt/homebrew/bin/dot' numpydoc_class_members_toctree = False nb_execution_mode = "auto" -nb_execution_timeout = 60*3 #*100 +nb_execution_timeout = 60*20 #*100 nb_execution_excludepatterns = ['Ch10*'] nb_execution_allow_errors = True diff --git a/docs/source/datasets/Auto.ipynb b/docs/source/datasets/Auto.ipynb index b88ea02..b588844 100644 --- a/docs/source/datasets/Auto.ipynb +++ b/docs/source/datasets/Auto.ipynb @@ -44,7 +44,14 @@ "cell_type": "code", "execution_count": null, "id": "182ea1d1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:43.883548Z", + "iopub.status.busy": "2023-07-26T12:47:43.883261Z", + "iopub.status.idle": "2023-07-26T12:47:44.433075Z", + "shell.execute_reply": "2023-07-26T12:47:44.432801Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -56,7 +63,14 @@ "cell_type": "code", "execution_count": null, "id": "979abd7e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:44.434662Z", + "iopub.status.busy": "2023-07-26T12:47:44.434558Z", + "iopub.status.idle": "2023-07-26T12:47:44.436577Z", + "shell.execute_reply": "2023-07-26T12:47:44.436322Z" + } + }, "outputs": [], "source": [ "Auto.shape" @@ -66,7 +80,14 @@ "cell_type": "code", "execution_count": null, "id": "7444c0f0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:44.438047Z", + "iopub.status.busy": "2023-07-26T12:47:44.437943Z", + "iopub.status.idle": "2023-07-26T12:47:44.439951Z", + "shell.execute_reply": "2023-07-26T12:47:44.439712Z" + } + }, "outputs": [], "source": [ "Auto.columns" @@ -76,7 +97,14 @@ "cell_type": "code", "execution_count": null, "id": "59b6e919", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:44.441257Z", + "iopub.status.busy": "2023-07-26T12:47:44.441161Z", + "iopub.status.idle": "2023-07-26T12:47:44.449658Z", + "shell.execute_reply": "2023-07-26T12:47:44.449426Z" + } + }, "outputs": [], "source": [ "Auto.describe().iloc[:,:4]" @@ -91,6 +119,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/Bikeshare.ipynb b/docs/source/datasets/Bikeshare.ipynb index ddb1053..ab42024 100644 --- a/docs/source/datasets/Bikeshare.ipynb +++ b/docs/source/datasets/Bikeshare.ipynb @@ -56,7 +56,14 @@ "cell_type": "code", "execution_count": null, "id": "bcdb89b6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:19.462730Z", + "iopub.status.busy": "2023-07-26T12:47:19.461535Z", + "iopub.status.idle": "2023-07-26T12:47:20.022610Z", + "shell.execute_reply": "2023-07-26T12:47:20.022326Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -68,7 +75,14 @@ "cell_type": "code", "execution_count": null, "id": "72075fb0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:20.024144Z", + "iopub.status.busy": "2023-07-26T12:47:20.024034Z", + "iopub.status.idle": "2023-07-26T12:47:20.026016Z", + "shell.execute_reply": "2023-07-26T12:47:20.025777Z" + } + }, "outputs": [], "source": [ "Bikeshare.shape" @@ -78,7 +92,14 @@ "cell_type": "code", "execution_count": null, "id": "45396d69", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:20.027480Z", + "iopub.status.busy": "2023-07-26T12:47:20.027378Z", + "iopub.status.idle": "2023-07-26T12:47:20.029427Z", + "shell.execute_reply": "2023-07-26T12:47:20.029199Z" + } + }, "outputs": [], "source": [ "Bikeshare.columns" @@ -88,7 +109,14 @@ "cell_type": "code", "execution_count": null, "id": "26c24d9a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:20.030734Z", + "iopub.status.busy": "2023-07-26T12:47:20.030638Z", + "iopub.status.idle": "2023-07-26T12:47:20.042031Z", + "shell.execute_reply": "2023-07-26T12:47:20.041787Z" + } + }, "outputs": [], "source": [ "Bikeshare.describe().iloc[:,:4]" @@ -105,6 +133,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/Boston.ipynb b/docs/source/datasets/Boston.ipynb index 569f5b4..027585a 100644 --- a/docs/source/datasets/Boston.ipynb +++ b/docs/source/datasets/Boston.ipynb @@ -49,7 +49,14 @@ "cell_type": "code", "execution_count": null, "id": "b8bb96f0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:31.625524Z", + "iopub.status.busy": "2023-07-26T12:47:31.625196Z", + "iopub.status.idle": "2023-07-26T12:47:32.177553Z", + "shell.execute_reply": "2023-07-26T12:47:32.177240Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -61,7 +68,14 @@ "cell_type": "code", "execution_count": null, "id": "ab4b03f8", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:32.179272Z", + "iopub.status.busy": "2023-07-26T12:47:32.179157Z", + "iopub.status.idle": "2023-07-26T12:47:32.181230Z", + "shell.execute_reply": "2023-07-26T12:47:32.180964Z" + } + }, "outputs": [], "source": [ "Boston.shape" @@ -71,7 +85,14 @@ "cell_type": "code", "execution_count": null, "id": "74890e1f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:32.182653Z", + "iopub.status.busy": "2023-07-26T12:47:32.182557Z", + "iopub.status.idle": "2023-07-26T12:47:32.184501Z", + "shell.execute_reply": "2023-07-26T12:47:32.184276Z" + } + }, "outputs": [], "source": [ "Boston.columns" @@ -81,7 +102,14 @@ "cell_type": "code", "execution_count": null, "id": "90ecf46f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:32.185826Z", + "iopub.status.busy": "2023-07-26T12:47:32.185735Z", + "iopub.status.idle": "2023-07-26T12:47:32.198310Z", + "shell.execute_reply": "2023-07-26T12:47:32.198074Z" + } + }, "outputs": [], "source": [ "Boston.describe()" @@ -98,6 +126,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/BrainCancer.ipynb b/docs/source/datasets/BrainCancer.ipynb index cb75946..89e8b2c 100644 --- a/docs/source/datasets/BrainCancer.ipynb +++ b/docs/source/datasets/BrainCancer.ipynb @@ -39,7 +39,14 @@ "cell_type": "code", "execution_count": null, "id": "519fa8cf", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:09.619445Z", + "iopub.status.busy": "2023-07-26T12:47:09.618768Z", + "iopub.status.idle": "2023-07-26T12:47:10.149955Z", + "shell.execute_reply": "2023-07-26T12:47:10.149508Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -51,7 +58,14 @@ "cell_type": "code", "execution_count": null, "id": "ac7f1920", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:10.151658Z", + "iopub.status.busy": "2023-07-26T12:47:10.151541Z", + "iopub.status.idle": "2023-07-26T12:47:10.153944Z", + "shell.execute_reply": "2023-07-26T12:47:10.153658Z" + } + }, "outputs": [], "source": [ "BrainCancer.shape" @@ -61,7 +75,14 @@ "cell_type": "code", "execution_count": null, "id": "64b3177f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:10.155433Z", + "iopub.status.busy": "2023-07-26T12:47:10.155323Z", + "iopub.status.idle": "2023-07-26T12:47:10.157819Z", + "shell.execute_reply": "2023-07-26T12:47:10.157458Z" + } + }, "outputs": [], "source": [ "BrainCancer.columns" @@ -71,7 +92,14 @@ "cell_type": "code", "execution_count": null, "id": "8132496d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:10.159542Z", + "iopub.status.busy": "2023-07-26T12:47:10.159420Z", + "iopub.status.idle": "2023-07-26T12:47:10.166890Z", + "shell.execute_reply": "2023-07-26T12:47:10.166610Z" + } + }, "outputs": [], "source": [ "BrainCancer.describe()" @@ -81,7 +109,14 @@ "cell_type": "code", "execution_count": null, "id": "ed04719d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:10.168420Z", + "iopub.status.busy": "2023-07-26T12:47:10.168324Z", + "iopub.status.idle": "2023-07-26T12:47:10.171157Z", + "shell.execute_reply": "2023-07-26T12:47:10.170862Z" + } + }, "outputs": [], "source": [ "BrainCancer['diagnosis'].value_counts()" @@ -98,6 +133,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/Caravan.ipynb b/docs/source/datasets/Caravan.ipynb index f093422..ab39457 100644 --- a/docs/source/datasets/Caravan.ipynb +++ b/docs/source/datasets/Caravan.ipynb @@ -27,7 +27,14 @@ "cell_type": "code", "execution_count": null, "id": "1f9a6aaa", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:12.041705Z", + "iopub.status.busy": "2023-07-26T12:47:12.040979Z", + "iopub.status.idle": "2023-07-26T12:47:12.637566Z", + "shell.execute_reply": "2023-07-26T12:47:12.637297Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -39,7 +46,14 @@ "cell_type": "code", "execution_count": null, "id": "88755969", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:12.639146Z", + "iopub.status.busy": "2023-07-26T12:47:12.639031Z", + "iopub.status.idle": "2023-07-26T12:47:12.640881Z", + "shell.execute_reply": "2023-07-26T12:47:12.640666Z" + } + }, "outputs": [], "source": [ "Caravan.shape" @@ -49,7 +63,14 @@ "cell_type": "code", "execution_count": null, "id": "52ea2641", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:12.642281Z", + "iopub.status.busy": "2023-07-26T12:47:12.642186Z", + "iopub.status.idle": "2023-07-26T12:47:12.644243Z", + "shell.execute_reply": "2023-07-26T12:47:12.644020Z" + } + }, "outputs": [], "source": [ "Caravan.columns[:20]" @@ -66,6 +87,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/Carseats.ipynb b/docs/source/datasets/Carseats.ipynb index dfd36d4..92ff1b4 100644 --- a/docs/source/datasets/Carseats.ipynb +++ b/docs/source/datasets/Carseats.ipynb @@ -37,7 +37,14 @@ "cell_type": "code", "execution_count": null, "id": "984643c9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:26.781289Z", + "iopub.status.busy": "2023-07-26T12:47:26.780964Z", + "iopub.status.idle": "2023-07-26T12:47:27.314225Z", + "shell.execute_reply": "2023-07-26T12:47:27.313885Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -49,7 +56,14 @@ "cell_type": "code", "execution_count": null, "id": "663f5f6a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:27.316055Z", + "iopub.status.busy": "2023-07-26T12:47:27.315854Z", + "iopub.status.idle": "2023-07-26T12:47:27.318176Z", + "shell.execute_reply": "2023-07-26T12:47:27.317912Z" + } + }, "outputs": [], "source": [ "Carseats.shape" @@ -59,7 +73,14 @@ "cell_type": "code", "execution_count": null, "id": "386299b2", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:27.319606Z", + "iopub.status.busy": "2023-07-26T12:47:27.319504Z", + "iopub.status.idle": "2023-07-26T12:47:27.321648Z", + "shell.execute_reply": "2023-07-26T12:47:27.321403Z" + } + }, "outputs": [], "source": [ "Carseats.columns" @@ -69,7 +90,14 @@ "cell_type": "code", "execution_count": null, "id": "5c8c69c8", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:27.323205Z", + "iopub.status.busy": "2023-07-26T12:47:27.323091Z", + "iopub.status.idle": "2023-07-26T12:47:27.331921Z", + "shell.execute_reply": "2023-07-26T12:47:27.331627Z" + } + }, "outputs": [], "source": [ "Carseats.describe().iloc[:,:4]" @@ -86,6 +114,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/College.ipynb b/docs/source/datasets/College.ipynb index af1027d..27a4d1d 100644 --- a/docs/source/datasets/College.ipynb +++ b/docs/source/datasets/College.ipynb @@ -58,7 +58,14 @@ "cell_type": "code", "execution_count": null, "id": "680ceb3e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:17.006699Z", + "iopub.status.busy": "2023-07-26T12:47:17.006226Z", + "iopub.status.idle": "2023-07-26T12:47:17.561114Z", + "shell.execute_reply": "2023-07-26T12:47:17.560739Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -70,7 +77,14 @@ "cell_type": "code", "execution_count": null, "id": "ccdf3e4f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:17.563075Z", + "iopub.status.busy": "2023-07-26T12:47:17.562947Z", + "iopub.status.idle": "2023-07-26T12:47:17.565074Z", + "shell.execute_reply": "2023-07-26T12:47:17.564824Z" + } + }, "outputs": [], "source": [ "College.shape" @@ -80,7 +94,14 @@ "cell_type": "code", "execution_count": null, "id": "09f59747", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:17.566389Z", + "iopub.status.busy": "2023-07-26T12:47:17.566297Z", + "iopub.status.idle": "2023-07-26T12:47:17.568257Z", + "shell.execute_reply": "2023-07-26T12:47:17.568025Z" + } + }, "outputs": [], "source": [ "College.columns" @@ -90,7 +111,14 @@ "cell_type": "code", "execution_count": null, "id": "6a48dfd5", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:17.569585Z", + "iopub.status.busy": "2023-07-26T12:47:17.569492Z", + "iopub.status.idle": "2023-07-26T12:47:17.582384Z", + "shell.execute_reply": "2023-07-26T12:47:17.582154Z" + } + }, "outputs": [], "source": [ "College.describe().iloc[:,:4]" @@ -107,6 +135,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/Credit.ipynb b/docs/source/datasets/Credit.ipynb index f5e51a9..d604aaa 100644 --- a/docs/source/datasets/Credit.ipynb +++ b/docs/source/datasets/Credit.ipynb @@ -43,7 +43,14 @@ "cell_type": "code", "execution_count": null, "id": "c4895446", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:39.024610Z", + "iopub.status.busy": "2023-07-26T12:47:39.024341Z", + "iopub.status.idle": "2023-07-26T12:47:39.593395Z", + "shell.execute_reply": "2023-07-26T12:47:39.593133Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -55,7 +62,14 @@ "cell_type": "code", "execution_count": null, "id": "c738c66b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:39.595074Z", + "iopub.status.busy": "2023-07-26T12:47:39.594871Z", + "iopub.status.idle": "2023-07-26T12:47:39.596893Z", + "shell.execute_reply": "2023-07-26T12:47:39.596667Z" + } + }, "outputs": [], "source": [ "Credit.shape" @@ -65,7 +79,14 @@ "cell_type": "code", "execution_count": null, "id": "d612f5a7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:39.598266Z", + "iopub.status.busy": "2023-07-26T12:47:39.598173Z", + "iopub.status.idle": "2023-07-26T12:47:39.600134Z", + "shell.execute_reply": "2023-07-26T12:47:39.599913Z" + } + }, "outputs": [], "source": [ "Credit.columns" @@ -75,7 +96,14 @@ "cell_type": "code", "execution_count": null, "id": "45633b1a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:39.601442Z", + "iopub.status.busy": "2023-07-26T12:47:39.601344Z", + "iopub.status.idle": "2023-07-26T12:47:39.609927Z", + "shell.execute_reply": "2023-07-26T12:47:39.609656Z" + } + }, "outputs": [], "source": [ "Credit.describe().iloc[:,:4]" @@ -92,6 +120,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/Default.ipynb b/docs/source/datasets/Default.ipynb index 64357ef..8023d39 100644 --- a/docs/source/datasets/Default.ipynb +++ b/docs/source/datasets/Default.ipynb @@ -27,7 +27,14 @@ "cell_type": "code", "execution_count": null, "id": "ab810dee", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:36.566964Z", + "iopub.status.busy": "2023-07-26T12:47:36.566691Z", + "iopub.status.idle": "2023-07-26T12:47:37.127499Z", + "shell.execute_reply": "2023-07-26T12:47:37.127183Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -39,7 +46,14 @@ "cell_type": "code", "execution_count": null, "id": "086ef3a2", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:37.129114Z", + "iopub.status.busy": "2023-07-26T12:47:37.129003Z", + "iopub.status.idle": "2023-07-26T12:47:37.131023Z", + "shell.execute_reply": "2023-07-26T12:47:37.130778Z" + } + }, "outputs": [], "source": [ "Default.shape" @@ -49,7 +63,14 @@ "cell_type": "code", "execution_count": null, "id": "6600c13b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:37.132471Z", + "iopub.status.busy": "2023-07-26T12:47:37.132373Z", + "iopub.status.idle": "2023-07-26T12:47:37.134281Z", + "shell.execute_reply": "2023-07-26T12:47:37.134067Z" + } + }, "outputs": [], "source": [ "Default.columns" @@ -59,7 +80,14 @@ "cell_type": "code", "execution_count": null, "id": "09e98840", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:37.135578Z", + "iopub.status.busy": "2023-07-26T12:47:37.135480Z", + "iopub.status.idle": "2023-07-26T12:47:37.141213Z", + "shell.execute_reply": "2023-07-26T12:47:37.140974Z" + } + }, "outputs": [], "source": [ "Default.describe()" @@ -69,7 +97,14 @@ "cell_type": "code", "execution_count": null, "id": "425f0cb1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:37.142597Z", + "iopub.status.busy": "2023-07-26T12:47:37.142519Z", + "iopub.status.idle": "2023-07-26T12:47:37.145148Z", + "shell.execute_reply": "2023-07-26T12:47:37.144915Z" + } + }, "outputs": [], "source": [ "Default['student'].value_counts()" @@ -86,6 +121,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/Fund.ipynb b/docs/source/datasets/Fund.ipynb index fce1859..2e5dcb5 100644 --- a/docs/source/datasets/Fund.ipynb +++ b/docs/source/datasets/Fund.ipynb @@ -15,7 +15,14 @@ "cell_type": "code", "execution_count": null, "id": "5eba8e49", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:59.809785Z", + "iopub.status.busy": "2023-07-26T12:46:59.809389Z", + "iopub.status.idle": "2023-07-26T12:47:00.410897Z", + "shell.execute_reply": "2023-07-26T12:47:00.410627Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -27,7 +34,14 @@ "cell_type": "code", "execution_count": null, "id": "ced3b335", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:00.412492Z", + "iopub.status.busy": "2023-07-26T12:47:00.412385Z", + "iopub.status.idle": "2023-07-26T12:47:00.414444Z", + "shell.execute_reply": "2023-07-26T12:47:00.414168Z" + } + }, "outputs": [], "source": [ "Fund.shape" @@ -37,7 +51,14 @@ "cell_type": "code", "execution_count": null, "id": "bfff1ac6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:00.415891Z", + "iopub.status.busy": "2023-07-26T12:47:00.415789Z", + "iopub.status.idle": "2023-07-26T12:47:00.417755Z", + "shell.execute_reply": "2023-07-26T12:47:00.417529Z" + } + }, "outputs": [], "source": [ "Fund.columns" @@ -54,6 +75,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/Hitters.ipynb b/docs/source/datasets/Hitters.ipynb index 6f261cd..5af634c 100644 --- a/docs/source/datasets/Hitters.ipynb +++ b/docs/source/datasets/Hitters.ipynb @@ -64,7 +64,14 @@ "cell_type": "code", "execution_count": null, "id": "4fa187f0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:34.072657Z", + "iopub.status.busy": "2023-07-26T12:47:34.072382Z", + "iopub.status.idle": "2023-07-26T12:47:34.654518Z", + "shell.execute_reply": "2023-07-26T12:47:34.654230Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -76,7 +83,14 @@ "cell_type": "code", "execution_count": null, "id": "04535ffb", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:34.656071Z", + "iopub.status.busy": "2023-07-26T12:47:34.655969Z", + "iopub.status.idle": "2023-07-26T12:47:34.657899Z", + "shell.execute_reply": "2023-07-26T12:47:34.657674Z" + } + }, "outputs": [], "source": [ "Hitters.shape" @@ -86,7 +100,14 @@ "cell_type": "code", "execution_count": null, "id": "6875aac6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:34.659335Z", + "iopub.status.busy": "2023-07-26T12:47:34.659236Z", + "iopub.status.idle": "2023-07-26T12:47:34.661182Z", + "shell.execute_reply": "2023-07-26T12:47:34.660944Z" + } + }, "outputs": [], "source": [ "Hitters.columns" @@ -96,7 +117,14 @@ "cell_type": "code", "execution_count": null, "id": "9e2cffc8", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:34.662645Z", + "iopub.status.busy": "2023-07-26T12:47:34.662543Z", + "iopub.status.idle": "2023-07-26T12:47:34.674958Z", + "shell.execute_reply": "2023-07-26T12:47:34.674698Z" + } + }, "outputs": [], "source": [ "Hitters.describe().iloc[:,:4]" @@ -113,6 +141,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/Khan.ipynb b/docs/source/datasets/Khan.ipynb index f12a5ca..c1ce7bf 100644 --- a/docs/source/datasets/Khan.ipynb +++ b/docs/source/datasets/Khan.ipynb @@ -43,7 +43,14 @@ "cell_type": "code", "execution_count": null, "id": "bfda6cad", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:53.879692Z", + "iopub.status.busy": "2023-07-26T12:46:53.879072Z", + "iopub.status.idle": "2023-07-26T12:46:54.473904Z", + "shell.execute_reply": "2023-07-26T12:46:54.473562Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -55,7 +62,14 @@ "cell_type": "code", "execution_count": null, "id": "70514dc5", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:54.475443Z", + "iopub.status.busy": "2023-07-26T12:46:54.475340Z", + "iopub.status.idle": "2023-07-26T12:46:54.477103Z", + "shell.execute_reply": "2023-07-26T12:46:54.476883Z" + } + }, "outputs": [], "source": [ "for X in ['xtest', 'xtrain']:\n", @@ -66,7 +80,14 @@ "cell_type": "code", "execution_count": null, "id": "e9df5de8", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:54.478408Z", + "iopub.status.busy": "2023-07-26T12:46:54.478336Z", + "iopub.status.idle": "2023-07-26T12:46:54.480540Z", + "shell.execute_reply": "2023-07-26T12:46:54.480299Z" + } + }, "outputs": [], "source": [ "for Y in ['ytest', 'ytrain']:\n", @@ -84,6 +105,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/NCI60.ipynb b/docs/source/datasets/NCI60.ipynb index bbb576f..b38f981 100644 --- a/docs/source/datasets/NCI60.ipynb +++ b/docs/source/datasets/NCI60.ipynb @@ -26,7 +26,14 @@ "cell_type": "code", "execution_count": null, "id": "c88c2eaf", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:07.189429Z", + "iopub.status.busy": "2023-07-26T12:47:07.188891Z", + "iopub.status.idle": "2023-07-26T12:47:07.734853Z", + "shell.execute_reply": "2023-07-26T12:47:07.734392Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -38,7 +45,14 @@ "cell_type": "code", "execution_count": null, "id": "0e6279ad", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:07.736643Z", + "iopub.status.busy": "2023-07-26T12:47:07.736477Z", + "iopub.status.idle": "2023-07-26T12:47:07.740295Z", + "shell.execute_reply": "2023-07-26T12:47:07.739954Z" + } + }, "outputs": [], "source": [ "NCI60['labels'].value_counts()" @@ -48,7 +62,14 @@ "cell_type": "code", "execution_count": null, "id": "ed5ddd2f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:07.741963Z", + "iopub.status.busy": "2023-07-26T12:47:07.741866Z", + "iopub.status.idle": "2023-07-26T12:47:07.744496Z", + "shell.execute_reply": "2023-07-26T12:47:07.744146Z" + } + }, "outputs": [], "source": [ "NCI60['data'].shape" @@ -65,6 +86,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/NYSE.ipynb b/docs/source/datasets/NYSE.ipynb index 5f9dbd5..4fb6ea5 100644 --- a/docs/source/datasets/NYSE.ipynb +++ b/docs/source/datasets/NYSE.ipynb @@ -33,7 +33,14 @@ "cell_type": "code", "execution_count": null, "id": "fcff6c95", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:24.365935Z", + "iopub.status.busy": "2023-07-26T12:47:24.365648Z", + "iopub.status.idle": "2023-07-26T12:47:24.910157Z", + "shell.execute_reply": "2023-07-26T12:47:24.909886Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -45,7 +52,14 @@ "cell_type": "code", "execution_count": null, "id": "84426961", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:24.911976Z", + "iopub.status.busy": "2023-07-26T12:47:24.911859Z", + "iopub.status.idle": "2023-07-26T12:47:24.913899Z", + "shell.execute_reply": "2023-07-26T12:47:24.913685Z" + } + }, "outputs": [], "source": [ "NYSE.shape" @@ -55,7 +69,14 @@ "cell_type": "code", "execution_count": null, "id": "e6194a8c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:24.915295Z", + "iopub.status.busy": "2023-07-26T12:47:24.915180Z", + "iopub.status.idle": "2023-07-26T12:47:24.917209Z", + "shell.execute_reply": "2023-07-26T12:47:24.916991Z" + } + }, "outputs": [], "source": [ "NYSE.columns" @@ -65,7 +86,14 @@ "cell_type": "code", "execution_count": null, "id": "0c7bf3d7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:24.918571Z", + "iopub.status.busy": "2023-07-26T12:47:24.918468Z", + "iopub.status.idle": "2023-07-26T12:47:24.924914Z", + "shell.execute_reply": "2023-07-26T12:47:24.924671Z" + } + }, "outputs": [], "source": [ "NYSE.describe()" @@ -82,6 +110,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/OJ.ipynb b/docs/source/datasets/OJ.ipynb index e18a4de..55ffeb9 100644 --- a/docs/source/datasets/OJ.ipynb +++ b/docs/source/datasets/OJ.ipynb @@ -61,7 +61,14 @@ "cell_type": "code", "execution_count": null, "id": "609742da", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:14.553008Z", + "iopub.status.busy": "2023-07-26T12:47:14.551694Z", + "iopub.status.idle": "2023-07-26T12:47:15.102658Z", + "shell.execute_reply": "2023-07-26T12:47:15.102334Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -73,7 +80,14 @@ "cell_type": "code", "execution_count": null, "id": "6f195dcd", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:15.104419Z", + "iopub.status.busy": "2023-07-26T12:47:15.104301Z", + "iopub.status.idle": "2023-07-26T12:47:15.106415Z", + "shell.execute_reply": "2023-07-26T12:47:15.106177Z" + } + }, "outputs": [], "source": [ "OJ.shape" @@ -83,7 +97,14 @@ "cell_type": "code", "execution_count": null, "id": "aaafb83b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:15.107821Z", + "iopub.status.busy": "2023-07-26T12:47:15.107723Z", + "iopub.status.idle": "2023-07-26T12:47:15.109747Z", + "shell.execute_reply": "2023-07-26T12:47:15.109486Z" + } + }, "outputs": [], "source": [ "OJ.columns" @@ -93,7 +114,14 @@ "cell_type": "code", "execution_count": null, "id": "774dfa86", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:15.111066Z", + "iopub.status.busy": "2023-07-26T12:47:15.110974Z", + "iopub.status.idle": "2023-07-26T12:47:15.123225Z", + "shell.execute_reply": "2023-07-26T12:47:15.122965Z" + } + }, "outputs": [], "source": [ "OJ.describe().iloc[:,:4]" @@ -110,6 +138,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/Portfolio.ipynb b/docs/source/datasets/Portfolio.ipynb index 6d6a60d..1a6d711 100644 --- a/docs/source/datasets/Portfolio.ipynb +++ b/docs/source/datasets/Portfolio.ipynb @@ -22,7 +22,14 @@ "cell_type": "code", "execution_count": null, "id": "3adff220", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:02.309375Z", + "iopub.status.busy": "2023-07-26T12:47:02.308873Z", + "iopub.status.idle": "2023-07-26T12:47:02.849537Z", + "shell.execute_reply": "2023-07-26T12:47:02.849247Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -34,7 +41,14 @@ "cell_type": "code", "execution_count": null, "id": "b02a9e67", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:02.851392Z", + "iopub.status.busy": "2023-07-26T12:47:02.851244Z", + "iopub.status.idle": "2023-07-26T12:47:02.853779Z", + "shell.execute_reply": "2023-07-26T12:47:02.853348Z" + } + }, "outputs": [], "source": [ "Portfolio.shape" @@ -44,7 +58,14 @@ "cell_type": "code", "execution_count": null, "id": "3e83a0ed", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:02.855660Z", + "iopub.status.busy": "2023-07-26T12:47:02.855540Z", + "iopub.status.idle": "2023-07-26T12:47:02.858065Z", + "shell.execute_reply": "2023-07-26T12:47:02.857779Z" + } + }, "outputs": [], "source": [ "Portfolio.columns" @@ -54,7 +75,14 @@ "cell_type": "code", "execution_count": null, "id": "3ebec412", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:02.859606Z", + "iopub.status.busy": "2023-07-26T12:47:02.859503Z", + "iopub.status.idle": "2023-07-26T12:47:02.865754Z", + "shell.execute_reply": "2023-07-26T12:47:02.865418Z" + } + }, "outputs": [], "source": [ "Portfolio.describe()" @@ -71,6 +99,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/Publication.ipynb b/docs/source/datasets/Publication.ipynb index a4a6dfa..de4a449 100644 --- a/docs/source/datasets/Publication.ipynb +++ b/docs/source/datasets/Publication.ipynb @@ -45,7 +45,14 @@ "cell_type": "code", "execution_count": null, "id": "61d7c2b3", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:29.196850Z", + "iopub.status.busy": "2023-07-26T12:47:29.196559Z", + "iopub.status.idle": "2023-07-26T12:47:29.727827Z", + "shell.execute_reply": "2023-07-26T12:47:29.727421Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -57,7 +64,14 @@ "cell_type": "code", "execution_count": null, "id": "4d72460d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:29.729844Z", + "iopub.status.busy": "2023-07-26T12:47:29.729686Z", + "iopub.status.idle": "2023-07-26T12:47:29.732275Z", + "shell.execute_reply": "2023-07-26T12:47:29.732008Z" + } + }, "outputs": [], "source": [ "Publication.shape" @@ -67,7 +81,14 @@ "cell_type": "code", "execution_count": null, "id": "fd34224c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:29.734028Z", + "iopub.status.busy": "2023-07-26T12:47:29.733885Z", + "iopub.status.idle": "2023-07-26T12:47:29.736365Z", + "shell.execute_reply": "2023-07-26T12:47:29.736014Z" + } + }, "outputs": [], "source": [ "Publication.columns" @@ -77,7 +98,14 @@ "cell_type": "code", "execution_count": null, "id": "51bfb0aa", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:29.738169Z", + "iopub.status.busy": "2023-07-26T12:47:29.738046Z", + "iopub.status.idle": "2023-07-26T12:47:29.747027Z", + "shell.execute_reply": "2023-07-26T12:47:29.746722Z" + } + }, "outputs": [], "source": [ "Publication.describe().iloc[:,:4]" @@ -94,6 +122,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/Smarket.ipynb b/docs/source/datasets/Smarket.ipynb index cced2a9..0be4dd9 100644 --- a/docs/source/datasets/Smarket.ipynb +++ b/docs/source/datasets/Smarket.ipynb @@ -41,7 +41,14 @@ "cell_type": "code", "execution_count": null, "id": "3d920337", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:21.928355Z", + "iopub.status.busy": "2023-07-26T12:47:21.927766Z", + "iopub.status.idle": "2023-07-26T12:47:22.480597Z", + "shell.execute_reply": "2023-07-26T12:47:22.480297Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -53,7 +60,14 @@ "cell_type": "code", "execution_count": null, "id": "25d90138", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:22.482125Z", + "iopub.status.busy": "2023-07-26T12:47:22.482016Z", + "iopub.status.idle": "2023-07-26T12:47:22.484017Z", + "shell.execute_reply": "2023-07-26T12:47:22.483801Z" + } + }, "outputs": [], "source": [ "Smarket.shape" @@ -63,7 +77,14 @@ "cell_type": "code", "execution_count": null, "id": "0e8c57de", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:22.485456Z", + "iopub.status.busy": "2023-07-26T12:47:22.485359Z", + "iopub.status.idle": "2023-07-26T12:47:22.487416Z", + "shell.execute_reply": "2023-07-26T12:47:22.487186Z" + } + }, "outputs": [], "source": [ "Smarket.columns" @@ -73,7 +94,14 @@ "cell_type": "code", "execution_count": null, "id": "2d455f1e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:22.488803Z", + "iopub.status.busy": "2023-07-26T12:47:22.488706Z", + "iopub.status.idle": "2023-07-26T12:47:22.497401Z", + "shell.execute_reply": "2023-07-26T12:47:22.497165Z" + } + }, "outputs": [], "source": [ "Smarket.describe().iloc[:,-4:]" @@ -90,6 +118,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/USArrests.ipynb b/docs/source/datasets/USArrests.ipynb index 1107424..d860098 100644 --- a/docs/source/datasets/USArrests.ipynb +++ b/docs/source/datasets/USArrests.ipynb @@ -28,9 +28,16 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "feab45d4-ce30-4ea9-800c-bbe9e7c11f6d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:56.351520Z", + "iopub.status.busy": "2023-07-26T12:46:56.350481Z", + "iopub.status.idle": "2023-07-26T12:46:58.021100Z", + "shell.execute_reply": "2023-07-26T12:46:58.019698Z" + } + }, "outputs": [], "source": [ "from statsmodels.datasets import get_rdataset\n", @@ -39,157 +46,51 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "bdfffad4-6ab1-45da-8d62-8a7c4326fb24", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(50, 4)" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:58.027241Z", + "iopub.status.busy": "2023-07-26T12:46:58.026857Z", + "iopub.status.idle": "2023-07-26T12:46:58.034424Z", + "shell.execute_reply": "2023-07-26T12:46:58.033781Z" } - ], + }, + "outputs": [], "source": [ "USArrests.shape" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "02f28a67-e8b9-4a17-ad0d-88672e1de26d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['Murder', 'Assault', 'UrbanPop', 'Rape'], dtype='object')" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:58.038173Z", + "iopub.status.busy": "2023-07-26T12:46:58.037943Z", + "iopub.status.idle": "2023-07-26T12:46:58.041828Z", + "shell.execute_reply": "2023-07-26T12:46:58.041345Z" } - ], + }, + "outputs": [], "source": [ "USArrests.columns" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "711db396-64d6-4fbd-9be4-bebe4117216f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
MurderAssaultUrbanPopRape
count50.0000050.00000050.00000050.000000
mean7.78800170.76000065.54000021.232000
std4.3555183.33766114.4747639.366385
min0.8000045.00000032.0000007.300000
25%4.07500109.00000054.50000015.075000
50%7.25000159.00000066.00000020.100000
75%11.25000249.00000077.75000026.175000
max17.40000337.00000091.00000046.000000
\n", - "
" - ], - "text/plain": [ - " Murder Assault UrbanPop Rape\n", - "count 50.00000 50.000000 50.000000 50.000000\n", - "mean 7.78800 170.760000 65.540000 21.232000\n", - "std 4.35551 83.337661 14.474763 9.366385\n", - "min 0.80000 45.000000 32.000000 7.300000\n", - "25% 4.07500 109.000000 54.500000 15.075000\n", - "50% 7.25000 159.000000 66.000000 20.100000\n", - "75% 11.25000 249.000000 77.750000 26.175000\n", - "max 17.40000 337.000000 91.000000 46.000000" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:58.044543Z", + "iopub.status.busy": "2023-07-26T12:46:58.044381Z", + "iopub.status.idle": "2023-07-26T12:46:58.057559Z", + "shell.execute_reply": "2023-07-26T12:46:58.057142Z" } - ], + }, + "outputs": [], "source": [ "USArrests.describe()" ] @@ -216,7 +117,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.13" + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/Wage.ipynb b/docs/source/datasets/Wage.ipynb index b95d853..28bb484 100644 --- a/docs/source/datasets/Wage.ipynb +++ b/docs/source/datasets/Wage.ipynb @@ -53,7 +53,14 @@ "cell_type": "code", "execution_count": null, "id": "6832d321", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:04.731864Z", + "iopub.status.busy": "2023-07-26T12:47:04.731413Z", + "iopub.status.idle": "2023-07-26T12:47:05.295785Z", + "shell.execute_reply": "2023-07-26T12:47:05.295452Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -65,7 +72,14 @@ "cell_type": "code", "execution_count": null, "id": "1c1ad3f3", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:05.297482Z", + "iopub.status.busy": "2023-07-26T12:47:05.297357Z", + "iopub.status.idle": "2023-07-26T12:47:05.299508Z", + "shell.execute_reply": "2023-07-26T12:47:05.299247Z" + } + }, "outputs": [], "source": [ "Wage.shape" @@ -75,7 +89,14 @@ "cell_type": "code", "execution_count": null, "id": "d56ab6a4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:05.300989Z", + "iopub.status.busy": "2023-07-26T12:47:05.300875Z", + "iopub.status.idle": "2023-07-26T12:47:05.303024Z", + "shell.execute_reply": "2023-07-26T12:47:05.302786Z" + } + }, "outputs": [], "source": [ "Wage.columns" @@ -85,7 +106,14 @@ "cell_type": "code", "execution_count": null, "id": "5f021939", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:05.304606Z", + "iopub.status.busy": "2023-07-26T12:47:05.304487Z", + "iopub.status.idle": "2023-07-26T12:47:05.311771Z", + "shell.execute_reply": "2023-07-26T12:47:05.311522Z" + } + }, "outputs": [], "source": [ "Wage.describe()" @@ -102,6 +130,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/datasets/Weekly.ipynb b/docs/source/datasets/Weekly.ipynb index 69f26d6..15a1050 100644 --- a/docs/source/datasets/Weekly.ipynb +++ b/docs/source/datasets/Weekly.ipynb @@ -41,7 +41,14 @@ "cell_type": "code", "execution_count": null, "id": "d19dd431", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:41.468580Z", + "iopub.status.busy": "2023-07-26T12:47:41.468291Z", + "iopub.status.idle": "2023-07-26T12:47:41.999679Z", + "shell.execute_reply": "2023-07-26T12:47:41.999341Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -53,7 +60,14 @@ "cell_type": "code", "execution_count": null, "id": "17d2cda4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:42.002632Z", + "iopub.status.busy": "2023-07-26T12:47:42.002470Z", + "iopub.status.idle": "2023-07-26T12:47:42.004871Z", + "shell.execute_reply": "2023-07-26T12:47:42.004611Z" + } + }, "outputs": [], "source": [ "Weekly.shape" @@ -63,7 +77,14 @@ "cell_type": "code", "execution_count": null, "id": "f822715b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:42.006534Z", + "iopub.status.busy": "2023-07-26T12:47:42.006422Z", + "iopub.status.idle": "2023-07-26T12:47:42.008496Z", + "shell.execute_reply": "2023-07-26T12:47:42.008187Z" + } + }, "outputs": [], "source": [ "Weekly.columns" @@ -73,7 +94,14 @@ "cell_type": "code", "execution_count": null, "id": "9a5f4d04", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:47:42.010010Z", + "iopub.status.busy": "2023-07-26T12:47:42.009911Z", + "iopub.status.idle": "2023-07-26T12:47:42.019036Z", + "shell.execute_reply": "2023-07-26T12:47:42.018706Z" + } + }, "outputs": [], "source": [ "Weekly.describe().iloc[:,:4]" @@ -98,6 +126,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/helpers/cluster.ipynb b/docs/source/helpers/cluster.ipynb index 31798a0..4aa7de3 100644 --- a/docs/source/helpers/cluster.ipynb +++ b/docs/source/helpers/cluster.ipynb @@ -13,22 +13,17 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "d5df152d", - "metadata": {}, - "outputs": [ - { - "ename": "ModuleNotFoundError", - "evalue": "No module named 'sklearn'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[1], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mnumpy\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mnp\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01msklearn\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcluster\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m AgglomerativeClustering\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mscipy\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcluster\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mhierarchy\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m dendrogram\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mISLP\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcluster\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m compute_linkage\n", - "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'sklearn'" - ] + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:42.214971Z", + "iopub.status.busy": "2023-07-26T12:46:42.214537Z", + "iopub.status.idle": "2023-07-26T12:46:42.860533Z", + "shell.execute_reply": "2023-07-26T12:46:42.860243Z" } - ], + }, + "outputs": [], "source": [ "import numpy as np\n", "from sklearn.cluster import AgglomerativeClustering\n", @@ -46,9 +41,16 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "0135c1fb", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:42.862401Z", + "iopub.status.busy": "2023-07-26T12:46:42.862250Z", + "iopub.status.idle": "2023-07-26T12:46:42.864336Z", + "shell.execute_reply": "2023-07-26T12:46:42.864118Z" + } + }, "outputs": [], "source": [ "rng = np.random.default_rng(1)\n", @@ -68,7 +70,14 @@ "cell_type": "code", "execution_count": null, "id": "17c52650", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:42.865831Z", + "iopub.status.busy": "2023-07-26T12:46:42.865731Z", + "iopub.status.idle": "2023-07-26T12:46:42.867386Z", + "shell.execute_reply": "2023-07-26T12:46:42.867147Z" + } + }, "outputs": [], "source": [ "clust = AgglomerativeClustering(distance_threshold=0,\n", @@ -80,7 +89,14 @@ "cell_type": "code", "execution_count": null, "id": "a3ae2622", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:42.868746Z", + "iopub.status.busy": "2023-07-26T12:46:42.868668Z", + "iopub.status.idle": "2023-07-26T12:46:42.872497Z", + "shell.execute_reply": "2023-07-26T12:46:42.872240Z" + } + }, "outputs": [], "source": [ "clust.fit(X)" @@ -98,7 +114,14 @@ "cell_type": "code", "execution_count": null, "id": "64e726a4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:42.873930Z", + "iopub.status.busy": "2023-07-26T12:46:42.873845Z", + "iopub.status.idle": "2023-07-26T12:46:43.195508Z", + "shell.execute_reply": "2023-07-26T12:46:43.195084Z" + } + }, "outputs": [], "source": [ "linkage = compute_linkage(clust)\n", @@ -127,7 +150,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.10" + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/helpers/pygam.ipynb b/docs/source/helpers/pygam.ipynb index aab61d1..b452294 100644 --- a/docs/source/helpers/pygam.ipynb +++ b/docs/source/helpers/pygam.ipynb @@ -16,7 +16,14 @@ "cell_type": "code", "execution_count": null, "id": "9a52fb27", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:47.820912Z", + "iopub.status.busy": "2023-07-26T12:46:47.820490Z", + "iopub.status.idle": "2023-07-26T12:46:48.577304Z", + "shell.execute_reply": "2023-07-26T12:46:48.577007Z" + } + }, "outputs": [], "source": [ "import numpy as np\n", @@ -46,7 +53,14 @@ "cell_type": "code", "execution_count": null, "id": "4bddce77", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:48.579295Z", + "iopub.status.busy": "2023-07-26T12:46:48.579114Z", + "iopub.status.idle": "2023-07-26T12:46:48.581608Z", + "shell.execute_reply": "2023-07-26T12:46:48.581355Z" + } + }, "outputs": [], "source": [ "rng = np.random.default_rng(1)\n", @@ -69,7 +83,14 @@ "cell_type": "code", "execution_count": null, "id": "3f8946e0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:48.583287Z", + "iopub.status.busy": "2023-07-26T12:46:48.583187Z", + "iopub.status.idle": "2023-07-26T12:46:48.618486Z", + "shell.execute_reply": "2023-07-26T12:46:48.614888Z" + } + }, "outputs": [], "source": [ "terms = [s(f, lam=0.01) for f in range(3)]\n", @@ -91,7 +112,14 @@ "cell_type": "code", "execution_count": null, "id": "c5b38706", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:48.624580Z", + "iopub.status.busy": "2023-07-26T12:46:48.624177Z", + "iopub.status.idle": "2023-07-26T12:46:48.814238Z", + "shell.execute_reply": "2023-07-26T12:46:48.808746Z" + } + }, "outputs": [], "source": [ "ax = plot(gam, 0)" @@ -109,7 +137,14 @@ "cell_type": "code", "execution_count": null, "id": "e4d2b6f0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:48.825281Z", + "iopub.status.busy": "2023-07-26T12:46:48.824327Z", + "iopub.status.idle": "2023-07-26T12:46:48.897739Z", + "shell.execute_reply": "2023-07-26T12:46:48.897447Z" + } + }, "outputs": [], "source": [ "ax.scatter(X[:,0], \n", @@ -131,7 +166,14 @@ "cell_type": "code", "execution_count": null, "id": "82374baa", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:48.899404Z", + "iopub.status.busy": "2023-07-26T12:46:48.899288Z", + "iopub.status.idle": "2023-07-26T12:46:48.916570Z", + "shell.execute_reply": "2023-07-26T12:46:48.915079Z" + } + }, "outputs": [], "source": [ "[degrees_of_freedom(X,\n", @@ -153,7 +195,14 @@ "cell_type": "code", "execution_count": null, "id": "0576d1f3", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:48.924539Z", + "iopub.status.busy": "2023-07-26T12:46:48.924174Z", + "iopub.status.idle": "2023-07-26T12:46:48.955630Z", + "shell.execute_reply": "2023-07-26T12:46:48.954722Z" + } + }, "outputs": [], "source": [ "lam_vals = [approx_lam(X,\n", @@ -174,7 +223,14 @@ "cell_type": "code", "execution_count": null, "id": "3a8b546e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:48.961056Z", + "iopub.status.busy": "2023-07-26T12:46:48.960521Z", + "iopub.status.idle": "2023-07-26T12:46:48.989331Z", + "shell.execute_reply": "2023-07-26T12:46:48.987244Z" + } + }, "outputs": [], "source": [ "fixed_terms = [s(f, lam=l) for \n", @@ -189,7 +245,14 @@ "cell_type": "code", "execution_count": null, "id": "f2cfbea2", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:48.995461Z", + "iopub.status.busy": "2023-07-26T12:46:48.994945Z", + "iopub.status.idle": "2023-07-26T12:46:49.130069Z", + "shell.execute_reply": "2023-07-26T12:46:49.129127Z" + } + }, "outputs": [], "source": [ "ax = plot(fixed_gam, 0)\n", @@ -210,6 +273,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/helpers/survival.ipynb b/docs/source/helpers/survival.ipynb index 7cb30a3..f90123e 100644 --- a/docs/source/helpers/survival.ipynb +++ b/docs/source/helpers/survival.ipynb @@ -15,7 +15,14 @@ "cell_type": "code", "execution_count": null, "id": "0932cabc", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:45.058072Z", + "iopub.status.busy": "2023-07-26T12:46:45.057742Z", + "iopub.status.idle": "2023-07-26T12:46:45.657730Z", + "shell.execute_reply": "2023-07-26T12:46:45.657332Z" + } + }, "outputs": [], "source": [ "import numpy as np\n", @@ -40,7 +47,14 @@ "cell_type": "code", "execution_count": null, "id": "d82896bb", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:45.659634Z", + "iopub.status.busy": "2023-07-26T12:46:45.659493Z", + "iopub.status.idle": "2023-07-26T12:46:45.661327Z", + "shell.execute_reply": "2023-07-26T12:46:45.661109Z" + } + }, "outputs": [], "source": [ "cum_haz = lambda t: t\n", @@ -51,7 +65,14 @@ "cell_type": "code", "execution_count": null, "id": "c9f9d590", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:45.662631Z", + "iopub.status.busy": "2023-07-26T12:46:45.662534Z", + "iopub.status.idle": "2023-07-26T12:46:45.672267Z", + "shell.execute_reply": "2023-07-26T12:46:45.672017Z" + } + }, "outputs": [], "source": [ "T = np.array([sim_time(np.log(2), cum_haz, rng) for _ in range(500)])" @@ -69,7 +90,14 @@ "cell_type": "code", "execution_count": null, "id": "2d8478dc", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:45.673768Z", + "iopub.status.busy": "2023-07-26T12:46:45.673685Z", + "iopub.status.idle": "2023-07-26T12:46:45.934676Z", + "shell.execute_reply": "2023-07-26T12:46:45.934321Z" + } + }, "outputs": [], "source": [ "kmf = KaplanMeierFitter(label=\"Simulated data\")\n", @@ -111,6 +139,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/helpers/svm.ipynb b/docs/source/helpers/svm.ipynb index 593d840..eb950b5 100644 --- a/docs/source/helpers/svm.ipynb +++ b/docs/source/helpers/svm.ipynb @@ -14,7 +14,14 @@ "cell_type": "code", "execution_count": null, "id": "2746a357", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:51.026740Z", + "iopub.status.busy": "2023-07-26T12:46:51.026289Z", + "iopub.status.idle": "2023-07-26T12:46:51.779743Z", + "shell.execute_reply": "2023-07-26T12:46:51.779280Z" + } + }, "outputs": [], "source": [ "import numpy as np\n", @@ -34,7 +41,14 @@ "cell_type": "code", "execution_count": null, "id": "4728535b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:51.781697Z", + "iopub.status.busy": "2023-07-26T12:46:51.781546Z", + "iopub.status.idle": "2023-07-26T12:46:51.783810Z", + "shell.execute_reply": "2023-07-26T12:46:51.783514Z" + } + }, "outputs": [], "source": [ "rng = np.random.default_rng(1)\n", @@ -56,7 +70,14 @@ "cell_type": "code", "execution_count": null, "id": "74da6860", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:51.785373Z", + "iopub.status.busy": "2023-07-26T12:46:51.785272Z", + "iopub.status.idle": "2023-07-26T12:46:51.789605Z", + "shell.execute_reply": "2023-07-26T12:46:51.789351Z" + } + }, "outputs": [], "source": [ "svm = SVC(kernel='linear')\n", @@ -67,7 +88,14 @@ "cell_type": "code", "execution_count": null, "id": "d87b6f75", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:51.790987Z", + "iopub.status.busy": "2023-07-26T12:46:51.790907Z", + "iopub.status.idle": "2023-07-26T12:46:51.883284Z", + "shell.execute_reply": "2023-07-26T12:46:51.882993Z" + } + }, "outputs": [], "source": [ "plot(X, Y, svm)" @@ -89,7 +117,14 @@ "cell_type": "code", "execution_count": null, "id": "bc58956a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:46:51.884984Z", + "iopub.status.busy": "2023-07-26T12:46:51.884867Z", + "iopub.status.idle": "2023-07-26T12:46:52.011375Z", + "shell.execute_reply": "2023-07-26T12:46:52.011081Z" + } + }, "outputs": [], "source": [ "plot(X, Y, svm, features=(3, 4))" @@ -106,6 +141,18 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/installation.myst b/docs/source/installation.myst index d1c30aa..a1aaf6d 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -36,7 +36,6 @@ conda activate islp On windows, create a `Python` environment called `islp` in the Anaconda app. This can be done by selecting `Environments` on the left hand side of the app's screen. After creating the environment, open a terminal within that environment by clicking on the "Play" button. - # Installing `ISLP` Having completed the steps above, we use `pip` to install the `ISLP` package: @@ -103,7 +102,18 @@ pip install jupyterlab ### Windows -Either use the same `pip` command above or install JupyterLab from the `Home` tab. Ensure that the environment -is your `islp` environment. This information appears near the top left in the Anaconda `Home` page. +Either use the same `pip` command above or install JupyterLab from the +`Home` tab. Ensure that the environment is your `islp` +environment. This information appears near the top left in the +Anaconda `Home` page. + +# Google Colab + +The notebooks for the labs can be run in [Google +Colab](https://colab.research.google.com) with a few caveats: +- Labs that use files in the filesystem will require one to mount your + Google Drive. See [help](https://colab.research.google.com/notebooks/io.ipynb) +- The packages will have to be reinstalled each time a new runtime is started. +For most labs, inserting `pip install ISLP` at the top of the notebook will suffice, though Colab will ask you to restart after installation. diff --git a/docs/source/labs/Ch10-deeplearning-lab.ipynb b/docs/source/labs/Ch10-deeplearning-lab.ipynb index 61de0ed..75458eb 100644 --- a/docs/source/labs/Ch10-deeplearning-lab.ipynb +++ b/docs/source/labs/Ch10-deeplearning-lab.ipynb @@ -5,10 +5,13 @@ "id": "fd22c2e6", "metadata": {}, "source": [ + "# Deep Learning\n", "\n", - "# Chapter 10\n", + "\n", + " \"Open\n", + "\n", + "\n", "\n", - "# Lab: Deep Learning\n", "In this section we demonstrate how to fit the examples discussed\n", "in the text. We use the `Python` `torch` package, along with the\n", "`pytorch_lightning` package which provides utilities to simplify\n", @@ -23,11 +26,9 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "aeb913e2", - "metadata": { - "lines_to_next_cell": 2 - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np, pandas as pd\n", @@ -60,7 +61,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "3a3e91e7", "metadata": {}, "outputs": [], @@ -68,7 +69,7 @@ "import torch\n", "from torch import nn\n", "from torch.optim import RMSprop\n", - "from torch.utils.data import TensorDataset\n" + "from torch.utils.data import TensorDataset" ] }, { @@ -86,7 +87,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "3f4fdb8c", "metadata": {}, "outputs": [], @@ -94,7 +95,7 @@ "from torchmetrics import (MeanAbsoluteError,\n", " R2Score)\n", "from torchinfo import summary\n", - "from torchvision.io import read_image\n" + "from torchvision.io import read_image" ] }, { @@ -111,13 +112,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "71cc6f03", "metadata": {}, "outputs": [], "source": [ "from pytorch_lightning import Trainer\n", - "from pytorch_lightning.loggers import CSVLogger\n" + "from pytorch_lightning.loggers import CSVLogger" ] }, { @@ -131,14 +132,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "fd1290f1", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Global seed set to 0\n" + ] + } + ], "source": [ "from pytorch_lightning.utilities.seed import seed_everything\n", "seed_everything(0, workers=True)\n", - "torch.use_deterministic_algorithms(True, warn_only=True)\n" + "torch.use_deterministic_algorithms(True, warn_only=True)" ] }, { @@ -153,11 +162,9 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "c85308d1", - "metadata": { - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "from torchvision.datasets import MNIST, CIFAR100\n", @@ -188,7 +195,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "4de9f03c", "metadata": {}, "outputs": [], @@ -196,7 +203,7 @@ "from ISLP.torch import (SimpleDataModule,\n", " SimpleModule,\n", " ErrorTracker,\n", - " rec_num_workers)\n" + " rec_num_workers)" ] }, { @@ -217,7 +224,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "4ef95fe3", "metadata": {}, "outputs": [], @@ -225,7 +232,7 @@ "from ISLP.torch.imdb import (load_lookup,\n", " load_tensor,\n", " load_sparse,\n", - " load_sequential)\n" + " load_sequential)" ] }, { @@ -246,15 +253,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "493821a9", - "metadata": { - "lines_to_next_cell": 2 - }, + "metadata": {}, "outputs": [], "source": [ "from glob import glob\n", - "import json\n" + "import json" ] }, { @@ -268,15 +273,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "a427e224", - "metadata": { - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "Hitters = load_data('Hitters').dropna()\n", - "n = Hitters.shape[0]\n" + "n = Hitters.shape[0]" ] }, { @@ -296,16 +299,14 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "feac4b15", - "metadata": { - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "model = MS(Hitters.columns.drop('Salary'), intercept=False)\n", "X = model.fit_transform(Hitters).to_numpy()\n", - "Y = Hitters['Salary'].to_numpy()\n" + "Y = Hitters['Salary'].to_numpy()" ] }, { @@ -332,7 +333,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "6a75a640", "metadata": {}, "outputs": [], @@ -357,10 +358,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "32d8de64", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "259.71528833146243" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "hit_lm = LinearRegression().fit(X_train, Y_train)\n", "Yhat_test = hit_lm.predict(X_test)\n", @@ -377,12 +389,12 @@ "The specialized solver we used in Section 6.5.2 uses only mean squared error. So here, with a bit more work, we create a cross-validation grid and perform the cross-validation directly. \n", "\n", "We encode a pipeline with two steps: we first normalize the features using a `StandardScaler()` transform,\n", - "and then fit the lasso without further normalization. " + "and then fit the lasso without further normalization." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "46786db6", "metadata": {}, "outputs": [], @@ -405,11 +417,9 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "2b55b38b", - "metadata": { - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "X_s = scaler.fit_transform(X_train)\n", @@ -430,7 +440,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "cc44c559", "metadata": {}, "outputs": [], @@ -457,12 +467,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "1bd1fd13", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "257.2382010799497" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "trained_lasso = grid.best_estimator_\n", "Yhat_test = trained_lasso.predict(X_test)\n", @@ -483,12 +502,12 @@ "Typically this is done in `pytorch` by sub-classing a generic\n", "representation of a network, which is the approach we take here.\n", "Although this example is simple, we will go through the steps in some detail, since it will serve us well\n", - "for the more complex examples to follow.\n" + "for the more complex examples to follow." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "4b2ccc5a", "metadata": {}, "outputs": [], @@ -506,7 +525,7 @@ "\n", " def forward(self, x):\n", " x = self.flatten(x)\n", - " return torch.flatten(self.sequential(x))\n" + " return torch.flatten(self.sequential(x))" ] }, { @@ -546,12 +565,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "108ad1f1", "metadata": {}, "outputs": [], "source": [ - "hit_model = HittersModel(X.shape[1])\n" + "hit_model = HittersModel(X.shape[1])" ] }, { @@ -564,9 +583,7 @@ "for the weights and *intercept* of the map (often called the *bias*). This layer\n", "is then mapped to a ReLU layer followed by a 40% dropout layer, and finally a\n", "linear map down to 1 dimension, again with a bias. The total number of\n", - "trainable parameters is therefore $50\\times 19+50+50+1=1051$.\n", - "\n", - " " + "trainable parameters is therefore $50\\times 19+50+50+1=1051$." ] }, { @@ -576,23 +593,62 @@ "source": [ "The package `torchinfo` provides a `summary()` function that neatly summarizes\n", "this information. We specify the size of the input and see the size\n", - "of each tensor as it passes through layers of the network. " + "of each tensor as it passes through layers of the network." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "2f20059e", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " action_fn=lambda data: sys.getsizeof(data.storage()),\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " return super().__sizeof__() + self.nbytes()\n" + ] + }, + { + "data": { + "text/plain": [ + "===================================================================================================================\n", + "Layer (type:depth-idx) Input Shape Output Shape Param #\n", + "===================================================================================================================\n", + "HittersModel [175, 19] [175] --\n", + "├─Flatten: 1-1 [175, 19] [175, 19] --\n", + "├─Sequential: 1-2 [175, 19] [175, 1] --\n", + "│ └─Linear: 2-1 [175, 19] [175, 50] 1,000\n", + "│ └─ReLU: 2-2 [175, 50] [175, 50] --\n", + "│ └─Dropout: 2-3 [175, 50] [175, 50] --\n", + "│ └─Linear: 2-4 [175, 50] [175, 1] 51\n", + "===================================================================================================================\n", + "Total params: 1,051\n", + "Trainable params: 1,051\n", + "Non-trainable params: 0\n", + "Total mult-adds (M): 0.18\n", + "===================================================================================================================\n", + "Input size (MB): 0.01\n", + "Forward/backward pass size (MB): 0.07\n", + "Params size (MB): 0.00\n", + "Estimated Total Size (MB): 0.09\n", + "===================================================================================================================" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "summary(hit_model, \n", " input_size=X_train.shape,\n", " col_names=['input_size',\n", " 'output_size',\n", - " 'num_params'])\n" + " 'num_params'])" ] }, { @@ -618,11 +674,9 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "6ca3030d", - "metadata": { - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "X_train_t = torch.tensor(X_train.astype(np.float32))\n", @@ -640,14 +694,14 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "86723b3e", "metadata": {}, "outputs": [], "source": [ "X_test_t = torch.tensor(X_test.astype(np.float32))\n", "Y_test_t = torch.tensor(Y_test.astype(np.float32))\n", - "hit_test = TensorDataset(X_test_t, Y_test_t)\n" + "hit_test = TensorDataset(X_test_t, Y_test_t)" ] }, { @@ -675,7 +729,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "999279fd", "metadata": {}, "outputs": [], @@ -707,7 +761,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "7bd9cc5c", "metadata": {}, "outputs": [], @@ -716,7 +770,7 @@ " hit_test,\n", " batch_size=32,\n", " num_workers=min(4, max_num_workers),\n", - " validation=hit_test)\n" + " validation=hit_test)" ] }, { @@ -735,13 +789,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "5be2f822", "metadata": {}, "outputs": [], "source": [ "hit_module = SimpleModule.regression(hit_model,\n", - " metrics={'mae':MeanAbsoluteError()})\n" + " metrics={'mae':MeanAbsoluteError()})" ] }, { @@ -762,7 +816,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "87334d33", "metadata": {}, "outputs": [], @@ -793,12 +847,707 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "1a474999", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", + " rank_zero_warn(\n", + "\n", + " | Name | Type | Params\n", + "---------------------------------------\n", + "0 | model | HittersModel | 1.1 K \n", + "1 | loss | MSELoss | 0 \n", + "---------------------------------------\n", + "1.1 K Trainable params\n", + "0 Non-trainable params\n", + "1.1 K Total params\n", + "0.004 Total estimated model params size (MB)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7f1f820ee6fa4d81a3736b68611f3bac", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + } + ], "source": [ "hit_trainer = Trainer(deterministic=True,\n", " max_epochs=50,\n", @@ -825,14 +1574,49 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "e3b24643", - "metadata": { - "lines_to_next_cell": 2 - }, - "outputs": [], - "source": [ - "hit_trainer.test(hit_module, datamodule=hit_dm)\n" + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ce9e57deabef4f55aba22efb507872f1", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Testing: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " Test metric DataLoader 0\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " test_loss 103304.8515625\n", + " test_mae 224.26962280273438\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'test_loss': 103304.8515625, 'test_mae': 224.26962280273438}]" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "hit_trainer.test(hit_module, datamodule=hit_dm)" ] }, { @@ -852,7 +1636,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "f9b266e7", "metadata": {}, "outputs": [], @@ -871,11 +1655,9 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "c5752a0b", - "metadata": { - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "def summary_plot(results,\n", @@ -914,12 +1696,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "ff0c9fa0", - "metadata": { - "lines_to_next_cell": 2 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhwAAAISCAYAAACH9BYMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABWZklEQVR4nO3de3wU5aH/8e8mQCRggrmQCwnEC3JRQEXF1KIglHApPzRwVOQoKgcqBguiaDn1hu0Raz0K3sDzaxX7q4ACQatVOIgJIEZFFEGLVGk0gEkQKQkJEmDz/P4Iu2WT7O4s2dlL+Lxfr3nBzkxmnp1sZr77zPM84zDGGAEAANgoJtwFAAAArR+BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYLmICx6OPPiqHw6EZM2a45x0+fFgFBQVKTk5Wx44dNXbsWFVWVnr8XFlZmUaNGqX4+Hh17txZs2bN0rFjx0JcegAA4EtEBI5Nmzbp+eefV9++fT3m33nnnXrjjTe0bNkyrVu3Tt99953y8/Pdy51Op0aNGqUjR47o/fff10svvaRFixbpgQceCPVbAAAAPjjC/fC2mpoaXXTRRXruuef029/+VhdccIHmzZunqqoqpaamavHixRo3bpwk6csvv1SvXr1UUlKiyy67TG+//bZ+/vOf67vvvlNaWpokaeHChbr33nv1/fffq127duF8awAA4Lg24S5AQUGBRo0apaFDh+q3v/2te/7mzZt19OhRDR061D2vZ8+e6tq1qztwlJSUqE+fPu6wIUl5eXmaOnWqvvjiC1144YXN7rOurk51dXXu1/X19dq/f7+Sk5PlcDhseJcAALROxhgdPHhQmZmZionxfuMkrIFj6dKl+uSTT7Rp06YmyyoqKtSuXTt16tTJY35aWpoqKirc65wYNlzLXcu8mTt3rubMmdPC0gMAAJddu3YpKyvL6/KwBY5du3Zp+vTpWrNmjU477bSQ7nv27NmaOXOm+3VVVZW6du2qXbt2KSEhIaRlAQAgmlVXVys7O1unn366z/XCFjg2b96svXv36qKLLnLPczqdWr9+vZ555hmtXr1aR44c0YEDBzxqOSorK5Weni5JSk9P10cffeSxXVcvFtc6zYmLi1NcXFyT+QkJCQQOAABOgr8mCWHrpTJkyBBt27ZNW7ZscU8XX3yxJkyY4P5/27ZttXbtWvfP7NixQ2VlZcrNzZUk5ebmatu2bdq7d697nTVr1ighIUG9e/cO+XsCAADNC1sNx+mnn67zzz/fY16HDh2UnJzsnj9p0iTNnDlTSUlJSkhI0B133KHc3FxddtllkqRhw4apd+/euvHGG/XYY4+poqJC9913nwoKCpqtwQAAAOER9l4qvjz55JOKiYnR2LFjVVdXp7y8PD333HPu5bGxsXrzzTc1depU5ebmqkOHDpo4caIefvjhMJYaAAA0FvZxOCJBdXW1EhMTVVVVRRsOACHjdDp19OjRcBcD8Ck2NlZt2rTx2kbD6jU0oms4AKC1qqmp0e7du8V3PkSD+Ph4ZWRktGhATQIHAISY0+nU7t27FR8fr9TUVAYcRMQyxujIkSP6/vvvVVpaqu7du/sc3MsXAgcAhNjRo0dljFFqaqrat28f7uIAPrVv315t27bVt99+qyNHjpz02FkR8fA2ADgVUbOBaHGytRoe2whCOQAAAHwicAAAANsROAAgSjmdThUXF2vJkiUqLi6W0+kMd5EClpOTo3nz5llev7i4WA6HQwcOHLCtTLAHgQMAolBhYaFycnI0ePBg3XDDDRo8eLBycnJUWFhoy/4cDofP6aGHHjqp7W7atElTpkyxvP5PfvITlZeXKzEx8aT2h/ChlwoARJnCwkKNGzeuyRgee/bs0bhx47R8+XLl5+cHdZ/l5eXu/7/yyit64IEHtGPHDve8jh07uv9vjJHT6VSbNv4vMampqQGVo127dj4fzonIRQ0HAISZMUa1tbWWpurqav3yl79sdsAw17zp06erurra0vasDjyWnp7unhITE+VwONyvv/zyS51++ul6++231b9/f8XFxem9997Tzp07NWbMGKWlpaljx4665JJL9M4773hst/EtFYfDoT/84Q+65pprFB8fr+7du+svf/mLe3njWyqLFi1Sp06dtHr1avXq1UsdO3bU8OHDPQLSsWPH9Mtf/lKdOnVScnKy7r33Xk2cOFFXX321xd8QgoHAAQBhdujQIXXs2NHSlJiYqD179njdljFGu3fvVmJioqXtHTp0KGjv41e/+pUeffRRbd++XX379lVNTY1GjhyptWvX6tNPP9Xw4cM1evRolZWV+dzOnDlzdO2112rr1q0aOXKkJkyYoP3793td/9ChQ3r88cf1//7f/9P69etVVlamu+++2738d7/7nV5++WW9+OKL2rhxo6qrq/Xaa68F623DIgIHACAoHn74Yf3sZz/T2WefraSkJPXr10+/+MUvdP7556t79+76zW9+o7PPPtujxqI5N998s8aPH69zzjlHjzzyiGpqavTRRx95Xf/o0aNauHChLr74Yl100UWaNm2a1q5d617+9NNPa/bs2brmmmvUs2dPPfPMM+rUqVOw3jYsog0HAIRZfHy8ampqLK27fv16jRw50u96b731lq644gpL+w6Wiy++2ON1TU2NHnroIf31r39VeXm5jh07ph9//NFvDUffvn3d/+/QoYMSEhK0d+9er+vHx8fr7LPPdr/OyMhwr19VVaXKykpdeuml7uWxsbHq37+/6uvrA3p/aBkCBwCEmcPhUIcOHSytO2zYMGVlZWnPnj3Ntr9wOBzKysrSsGHDFBsbG+yi+tT4Pdx9991as2aNHn/8cZ1zzjlq3769xo0bpyNHjvjcTtu2bT1eOxwOn+GgufV5KF7k4ZYKAESR2NhYzZ8/X1LTodFdr+fNmxfysNGcjRs36uabb9Y111yjPn36KD09Xd98801Iy5CYmKi0tDRt2rTJPc/pdOqTTz4JaTlA4ACAqJOfn6/ly5erS5cuHvOzsrJs6RJ7srp3767CwkJt2bJFn332mW644Yaw3Ma44447NHfuXL3++uvasWOHpk+frn/+8588yybEuKUCAFEoPz9fY8aM0YYNG1ReXq6MjAwNHDgwImo2XJ544gndeuut+slPfqKUlBTde++9qq6uDnk57r33XlVUVOimm25SbGyspkyZory8vIg6VqcCh+FGl6qrq5WYmKiqqiolJCSEuzgAWrnDhw+rtLRUZ5555kk/6hsnr76+Xr169dK1116r3/zmN+EuTlTw9Zm1eg2lhgMA0Kp9++23+t///V9deeWVqqur0zPPPKPS0lLdcMMN4S7aKYU2HACAVi0mJkaLFi3SJZdcossvv1zbtm3TO++8o169eoW7aKcUajgAAK1adna2Nm7cGO5inPKo4QAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwCildMpFRdLS5Y0/Ot0hrtEfg0aNEgzZsxwv87JydG8efN8/ozD4dBrr73W4n0HaztWXHHFFVq8eHFI9tUS+/btU+fOnbV7927b90XgAIBoVFgo5eRIgwdLN9zQ8G9OTsN8G4wePVrDhw9vdtmGDRvkcDi0devWgLe7adMmTZkypaXF8/DQQw/pggsuaDK/vLxcI0aMCOq+mvOXv/xFlZWVuv766wP+2ZtvvlkOh8PrlJOTc9Lluvnmm3X11Vd7zEtJSdFNN92kBx988KS3axWBAwCiTWGhNG6c1Phb6Z49DfNtCB2TJk3SmjVrmv0m/OKLL+riiy9W3759A95uamqq4uPjg1FEv9LT0xUXF2f7fp566indcsstiokJ/BI7f/58lZeXuyep4fi6Xm/atCnYxdUtt9yil19+Wfv37w/6tk9E4ACAcDNGqq21NlVXS7/8ZcPPNLcdSZo+vWE9K9uz+PzOn//850pNTdWiRYs85tfU1GjZsmWaNGmSfvjhB40fP15dunRRfHy8+vTpoyVLlvjcbuNbKl999ZWuuOIKnXbaaerdu7fWrFnT5GfuvfdenXvuuYqPj9dZZ52l+++/X0ePHpUkLVq0SHPmzNFnn33mrhVwlbnxLZVt27bpqquuUvv27ZWcnKwpU6aopqbGvdxVI/D4448rIyNDycnJKigocO+rOd9//73effddjR492uf79iYxMVHp6enuSZI6derkfl1ZWakRI0aoY8eOSktL04033qh9+/a5f3758uXq06eP+z0NHTpUtbW1euihh/TSSy/p9ddfdx+X4uJiSdJ5552nzMxMrVy58qTKbBWBAwDC7dAhqWNHa1NiYkNNhjfGNNR8JCZa296hQ5aK2KZNG910001atGiRTnzI+LJly+R0OjV+/HgdPnxY/fv311//+ld9/vnnmjJlim688UZ99NFHlvZRX1+v/Px8tWvXTh9++KEWLlyoe++9t8l6p59+uhYtWqS//e1vmj9/vv7v//2/evLJJyVJ1113ne666y6dd9557lqB6667rsk2amtrlZeXpzPOOEObNm3SsmXL9M4772jatGke6xUVFWnnzp0qKirSSy+9pEWLFjUJXSd67733FB8f3+Q5La6Q4G0677zz/B6fAwcO6KqrrtKFF16ojz/+WKtWrVJlZaWuvfZaSQ23jMaPH69bb71V27dvV3FxsfLz82WM0d13361rr71Ww4cPdx+Xn/zkJ+5tX3rppdqwYYPfMrQEz1IBAFhy66236ve//73WrVunQYMGSWqo7h87dqwSExOVmJiou+++273+HXfcodWrV+vVV1/VpZde6nf777zzjr788kutXr1amZmZkqRHHnmkSbuL++67z/3/nJwc3X333Vq6dKnuuecetW/fXh07dlSbNm3cNQTNWbx4sQ4fPqw//elP6tChgyTpmWee0ejRo/W73/1OaWlpkqQzzjhDzzzzjGJjY9WzZ0+NGjVKa9eu1eTJk5vd7rfffqu0tLQmt1P+8Ic/6Mcff/RanrZt2/o4MnKX78ILL9QjjzzinvfCCy8oOztbf//731VTU6Njx44pPz9f3bp1kyT16dPHvW779u1VV1fX7HHJzMzUp59+6rcMLUHgAIBwi4+XTqjK92n9emnkSP/rvfWWdMUV1vZtUc+ePfWTn/xEL7zwggYNGqSvv/5aGzZs0MMPPyxJcjqdeuSRR/Tqq69qz549OnLkiOrq6iy30di+fbuys7PdYUOScnNzm6z3yiuv6KmnntLOnTvdF9mEhATL78O1r379+rnDhiRdfvnlqq+v144dO9yB47zzzlNsbKx7nYyMDG3bts3rdn/88UeddtppTeZ36dIloPI157PPPlNRUZE6duzYZNnOnTs1bNgwDRkyRH369FFeXp6GDRumcePG6YwzzvC77fbt2+uQxdquk8UtFQAIN4dD6tDB2jRsmJSV1fAz3raVnd2wnpXteduOF5MmTdKKFSt08OBBvfjiizr77LN15ZVXSpJ+//vfa/78+br33ntVVFSkLVu2KC8vT0eOHGnpEXIrKSnRhAkTNHLkSL355pv69NNP9etf/zqo+zhR45oHh8Oh+vp6r+unpKTon//8Z5P5wbilUlNTo9GjR2vLli0ek6vdS2xsrNasWaO3335bvXv31tNPP60ePXqotLTU77b379+v1NRUv+u1BDUcABBNYmOl+fMbeqM4HJ6NPl3hYd68hvVscO2112r69OlavHix/vSnP2nq1KlyHN/vxo0bNWbMGP37v/+7pIY2GX//+9/Vu3dvS9vu1auXdu3apfLycmVkZEiSPvjgA4913n//fXXr1k2//vWv3fO+/fZbj3XatWsnp58xSXr16qVFixaptrbWXcuxceNGxcTEqEePHpbK25wLL7xQFRUV+uc//+lRsxCMWyoXXXSRVqxYoZycHLVp0/zl2+Fw6PLLL9fll1+uBx54QN26ddPKlSs1c+ZMn8fl888/d98msws1HAAQbfLzpeXLpcbV9FlZDfPz823bdceOHXXddddp9uzZKi8v18033+xe1r17d61Zs0bvv/++tm/frl/84heqrKy0vO2hQ4fq3HPP1cSJE/XZZ59pw4YNHsHCtY+ysjItXbpUO3fu1FNPPdWkd0VOTo5KS0u1ZcsW7du3T3V1dU32NWHCBJ122mmaOHGiPv/8cxUVFemOO+7QjTfe6L6dcjIuvPBCpaSkaOPGjR7zu3TponPOOcfr5Gpz4UtBQYH279+v8ePHa9OmTdq5c6dWr16tW265RU6nUx9++KEeeeQRffzxxyorK1NhYaG+//57dwPWnJwcbd26VTt27NC+ffvcvW0OHTqkzZs3a9iwYSf9vq0gcABANMrPl775RioqkhYvbvi3tNTWsOEyadIk/fOf/1ReXp5He4v77rtPF110kfLy8jRo0CClp6c3GWjKl5iYGK1cuVI//vijLr30Uv3Hf/yH/uu//stjnf/zf/6P7rzzTk2bNk0XXHCB3n//fd1///0e64wdO1bDhw/X4MGDlZqa2mzX3Pj4eK1evVr79+/XJZdconHjxmnIkCF65plnAjsYjcTGxrrHtQi2zMxMbdy4UU6nU8OGDVOfPn00Y8YMderUSTExMUpISND69es1cuRInXvuubrvvvv03//93+5Gt5MnT1aPHj108cUXKzU11R2KXn/9dXXt2lUDBw4MeplP5DDGYifsVqy6ulqJiYmqqqoKuOERAATq8OHDKi0t1ZlnntlsA0NEt4qKCp133nn65JNPLNVchNtll12mX/7yl7rhhhu8ruPrM2v1GkoNBwAAQZSenq4//vGPKisrC3dR/Nq3b5/y8/M1fvx42/dFo1EAAIIskFtJ4ZSSkqJ77rknJPuihgMAANiOwAEAAGxH4ACAMKHNPqJFMD6rBA4ACDHXUNl2jY4JBJtr2HMrA5R5Q6NRAAixNm3aKD4+Xt9//73atm3b5EFfQKQwxujQoUPau3evOnXq5PFcmUAROAAgxBwOhzIyMlRaWtpkWG4gEnXq1Mnn03etCGvgWLBggRYsWKBvvvlGUsNT+R544AH3qGiDBg3SunXrPH7mF7/4hRYuXOh+XVZWpqlTp7qfoDdx4kTNnTvX6zjzABAJ2rVrp+7du3NbBRGvbdu2LarZcAnrVTkrK0uPPvqounfvLmOMXnrpJY0ZM0affvqp+8l5kydPdj/6WJLHY46dTqdGjRql9PR0vf/++yovL9dNN92ktm3b6pFHHgn5+wGAQMTExDDSKE4ZETe0eVJSkn7/+99r0qRJGjRokC644ALNmzev2XXffvtt/fznP9d3333nftjOwoULde+99+r7779Xu3btmv25uro6j4f5VFdXKzs7m6HNAQAIUNQNbe50OrV06VLV1tYqNzfXPf/ll19WSkqKzj//fM2ePdvdUlaSSkpK1KdPH48n++Xl5am6ulpffPGF133NnTtXiYmJ7ik7O9ueNwUAACRFQKPRbdu2KTc3V4cPH1bHjh21cuVK9e7dW5J0ww03qFu3bsrMzNTWrVt17733aseOHSosLJTU8ICcxo8Rdr2uqKjwus/Zs2dr5syZ7teuGg4AAGCPsAeOHj16aMuWLaqqqtLy5cs1ceJErVu3Tr1799aUKVPc6/Xp00cZGRkaMmSIdu7cqbPPPvuk9xkXF6e4uLhgFB8AAFgQ9lsq7dq10znnnKP+/ftr7ty56tevn+bPn9/sugMGDJAkff3115IanshXWVnpsY7rdUu77wAAgOAJe+BorL6+3qNB54m2bNkiScrIyJAk5ebmatu2bdq7d697nTVr1ighIcF9WwYAAIRfWG+pzJ49WyNGjFDXrl118OBBLV68WMXFxVq9erV27typxYsXa+TIkUpOTtbWrVt155136oorrlDfvn0lScOGDVPv3r1144036rHHHlNFRYXuu+8+FRQUcMsEAIAIEtbAsXfvXt10000qLy9XYmKi+vbtq9WrV+tnP/uZdu3apXfeeUfz5s1TbW2tsrOzNXbsWN13333un4+NjdWbb76pqVOnKjc3Vx06dNDEiRM9xu0AAADhF3HjcISD1T7EAADAU9SNwwEAAFovAgcAALAdgQMAANiOwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYjsABAABsR+AAAAC2I3AAAADbETgAAIDtCBwAAMB2BA4AAGA7AgcAALAdgQMAANiOwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA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9tXZZ5+t4uJiDRky5KS3GxcXp7i4uGAUEQAAWBDRNRyNnXXWWUpJSdHXX38tSUpPT9fevXs91jl27Jj279/vtd0HAAAIvagKHLt379YPP/ygjIwMSVJubq4OHDigzZs3u9d59913VV9frwEDBoSrmAAAoJGw3lKpqalx11ZIUmlpqbZs2aKkpCQlJSVpzpw5Gjt2rNLT07Vz507dc889Ouecc5SXlydJ6tWrl4YPH67Jkydr4cKFOnr0qKZNm6brr7/eaw8VAAAQeg5jjAnXzouLizV48OAm8ydOnKgFCxbo6quv1qeffqoDBw4oMzNTw4YN029+8xulpaW5192/f7+mTZumN954QzExMRo7dqyeeuopdezY0XI5qqurlZiYqKqqKiUkJATlvQEAcCqweg0Na+CIFAQOAABOjtVraFS14QAAANGJwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYjsABAABsR+AAAAC2I3AAAADbETgAAIDtCBwAAMB2BA4AAGA7AgcAALAdgQMAANiOwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYjsABAABsR+AAAAC2I3AAAADbETgAAIDtCBwAAMB2BA4AAGC7sAaO9evXa/To0crMzJTD4dBrr73msdwYowceeEAZGRlq3769hg4dqq+++spjnf3792vChAlKSEhQp06dNGnSJNXU1ITwXQAAAH/CGjhqa2vVr18/Pfvss80uf+yxx/TUU09p4cKF+vDDD9WhQwfl5eXp8OHD7nUmTJigL774QmvWrNGbb76p9evXa8qUKaF6CwAAwAKHMcaEuxCS5HA4tHLlSl199dWSGmo3MjMzddddd+nuu++WJFVVVSktLU2LFi3S9ddfr+3bt6t3797atGmTLr74YknSqlWrNHLkSO3evVuZmZnN7quurk51dXXu19XV1crOzlZVVZUSEhLsfaMAALQi1dXVSkxM9HsNjdg2HKWlpaqoqNDQoUPd8xITEzVgwACVlJRIkkpKStSp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XC/qA0dKSopiY2NVWVnpMb+yslLp6enN/kxcXJzi4uI85nXq1MmW8iUkJET8B8yFstqDstojmsoqRVd5Kas9WnNZfdVsuER9o9F27dqpf//+Wrt2rXtefX291q5dq9zc3DCWDAAAuER9DYckzZw5UxMnTtTFF1+sSy+9VPPmzVNtba1uueWWcBcNAAColQSO6667Tt9//70eeOABVVRU6IILLtCqVauaNCQNpbi4OD344INNbt1EIspqD8pqj2gqqxRd5aWs9qCsDRzGXz8WAACAFor6NhwAACDyETgAAIDtCBwAAMB2BA4AAGA7AocNnn32WeXk5Oi0007TgAED9NFHH4W7SM166KGH5HA4PKaePXuGu1iSpPXr12v06NHKzMyUw+HQa6+95rHcGKMHHnhAGRkZat++vYYOHaqvvvoqIst68803NznOw4cPD0tZ586dq0suuUSnn366OnfurKuvvlo7duzwWOfw4cMqKChQcnKyOnbsqLFjxzYZWC9Syjpo0KAmx/a2224LeVkXLFigvn37ugdLys3N1dtvv+1eHinH1EpZI+WYNufRRx+Vw+HQjBkz3PMi6dieqLmyRsqx9Xfut+uYEjiC7JVXXtHMmTP14IMP6pNPPlG/fv2Ul5envXv3hrtozTrvvPNUXl7unt57771wF0mSVFtbq379+unZZ59tdvljjz2mp556SgsXLtSHH36oDh06KC8vT4cPHw5xSf2XVZKGDx/ucZyXLFkSwhL+y7p161RQUKAPPvhAa9as0dGjRzVs2DDV1ta617nzzjv1xhtvaNmyZVq3bp2+++475efnR2RZJWny5Mkex/axxx4LeVmzsrL06KOPavPmzfr444911VVXacyYMfriiy8kRc4xtVJWKTKOaWObNm3S888/r759+3rMj6Rj6+KtrFLkHFtf537bjqlBUF166aWmoKDA/drpdJrMzEwzd+7cMJaqeQ8++KDp169fuIvhlySzcuVK9+v6+nqTnp5ufv/737vnHThwwMTFxZklS5aEoYT/0risxhgzceJEM2bMmLCUx5+9e/caSWbdunXGmIbj2LZtW7Ns2TL3Otu3bzeSTElJSbiKaYxpWlZjjLnyyivN9OnTw1coH8444wzzhz/8IaKPqYurrMZE5jE9ePCg6d69u1mzZo1H+SLx2HorqzGRc2x9nfvtPKbUcATR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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = subplots(1, 1, figsize=(6, 6))\n", "ax = summary_plot(hit_results,\n", @@ -950,26 +1741,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "1ee2b61b", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor(224.2696, grad_fn=)" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "hit_model.eval() \n", "preds = hit_module(X_test_t)\n", "torch.abs(Y_test_t - preds).mean()" ] }, - { - "cell_type": "markdown", - "id": "8140eb0d", - "metadata": {}, - "source": [ - " " - ] - }, { "cell_type": "markdown", "id": "64fa7609", @@ -984,11 +1776,9 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "id": "0ca069a3", - "metadata": { - "lines_to_next_cell": 2 - }, + "metadata": {}, "outputs": [], "source": [ "del(Hitters,\n", @@ -999,7 +1789,7 @@ " X_test, X_train,\n", " Y_test, Y_train,\n", " X_test_t, Y_test_t,\n", - " hit_trainer, hit_module)\n" + " hit_trainer, hit_module)" ] }, { @@ -1017,10 +1807,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "id": "af6a0a33", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Dataset MNIST\n", + " Number of datapoints: 60000\n", + " Root location: data\n", + " Split: Train\n", + " StandardTransform\n", + "Transform: ToTensor()" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "(mnist_train, \n", " mnist_test) = [MNIST(root='data',\n", @@ -1028,7 +1834,7 @@ " download=True,\n", " transform=ToTensor())\n", " for train in [True, False]]\n", - "mnist_train\n" + "mnist_train" ] }, { @@ -1056,7 +1862,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "id": "0df8a0c8", "metadata": {}, "outputs": [], @@ -1065,7 +1871,7 @@ " mnist_test,\n", " validation=0.2,\n", " num_workers=max_num_workers,\n", - " batch_size=256)\n" + " batch_size=256)" ] }, { @@ -1079,18 +1885,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "id": "0c7dd6ee", - "metadata": { - "lines_to_next_cell": 2 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X: torch.Size([256, 1, 28, 28])\n", + "Y: torch.Size([256])\n", + "X: torch.Size([256, 1, 28, 28])\n", + "Y: torch.Size([256])\n" + ] + } + ], "source": [ "for idx, (X_ ,Y_) in enumerate(mnist_dm.train_dataloader()):\n", " print('X: ', X_.shape)\n", " print('Y: ', Y_.shape)\n", " if idx >= 1:\n", - " break\n" + " break" ] }, { @@ -1107,7 +1922,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 37, "id": "63e48c70", "metadata": {}, "outputs": [], @@ -1147,12 +1962,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 38, "id": "92405826", "metadata": {}, "outputs": [], "source": [ - "mnist_model = MNISTModel()\n" + "mnist_model = MNISTModel()" ] }, { @@ -1166,10 +1981,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 39, "id": "2c8f7a48", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "torch.Size([256, 10])" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "mnist_model(X_).size()" ] @@ -1186,10 +2012,56 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 40, "id": "9f502df8", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " action_fn=lambda data: sys.getsizeof(data.storage()),\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " return super().__sizeof__() + self.nbytes()\n" + ] + }, + { + "data": { + "text/plain": [ + "===================================================================================================================\n", + "Layer (type:depth-idx) Input Shape Output Shape Param #\n", + "===================================================================================================================\n", + "MNISTModel [256, 1, 28, 28] [256, 10] --\n", + "├─Sequential: 1-1 [256, 1, 28, 28] [256, 10] --\n", + "│ └─Sequential: 2-1 [256, 1, 28, 28] [256, 256] --\n", + "│ │ └─Flatten: 3-1 [256, 1, 28, 28] [256, 784] --\n", + "│ │ └─Linear: 3-2 [256, 784] [256, 256] 200,960\n", + "│ │ └─ReLU: 3-3 [256, 256] [256, 256] --\n", + "│ │ └─Dropout: 3-4 [256, 256] [256, 256] --\n", + "│ └─Sequential: 2-2 [256, 256] [256, 128] --\n", + "│ │ └─Linear: 3-5 [256, 256] [256, 128] 32,896\n", + "│ │ └─ReLU: 3-6 [256, 128] [256, 128] --\n", + "│ │ └─Dropout: 3-7 [256, 128] [256, 128] --\n", + "│ └─Linear: 2-3 [256, 128] [256, 10] 1,290\n", + "===================================================================================================================\n", + "Total params: 235,146\n", + "Trainable params: 235,146\n", + "Non-trainable params: 0\n", + "Total mult-adds (M): 60.20\n", + "===================================================================================================================\n", + "Input size (MB): 0.80\n", + "Forward/backward pass size (MB): 0.81\n", + "Params size (MB): 0.94\n", + "Estimated Total Size (MB): 2.55\n", + "===================================================================================================================" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "summary(mnist_model,\n", " input_data=X_,\n", @@ -1211,13 +2083,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 41, "id": "d1a7590f", "metadata": {}, "outputs": [], "source": [ "mnist_module = SimpleModule.classification(mnist_model)\n", - "mnist_logger = CSVLogger('logs', name='MNIST')\n" + "mnist_logger = CSVLogger('logs', name='MNIST')" ] }, { @@ -1230,19 +2102,495 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 42, "id": "e2fe6de3", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", + " rank_zero_warn(\n", + "\n", + " | Name | Type | Params\n", + "-------------------------------------------\n", + "0 | model | MNISTModel | 235 K \n", + "1 | loss | CrossEntropyLoss | 0 \n", + "-------------------------------------------\n", + "235 K Trainable params\n", + "0 Non-trainable params\n", + "235 K Total params\n", + "0.941 Total estimated model params size (MB)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "82f9178e94874e7e9cbb3b27cc1c351f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "`Trainer.fit` stopped: `max_epochs=30` reached.\n" + ] + } + ], "source": [ "mnist_trainer = Trainer(deterministic=True,\n", " max_epochs=30,\n", " logger=mnist_logger,\n", " callbacks=[ErrorTracker()])\n", "mnist_trainer.fit(mnist_module,\n", - " datamodule=mnist_dm)\n" + " datamodule=mnist_dm)" ] }, { @@ -1277,12 +2625,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 43, "id": "73755987", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhoAAAISCAYAAACK6mZLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABArElEQVR4nO3df1xW9f3/8ecFCoIKmj8AgUTNTEux/MGoWVoW5uZUYpm2NCtdTk3z22bmr7TPdKtWWrbammlroSah9VllM4I0syx/u9SlUagB5pwgmKgX5/sHH655AcL161yHCx732+264XWuc877dZ3rkveTc97nHJthGIYAAABMEGR1AQAAoOEiaAAAANMQNAAAgGkIGgAAwDQEDQAAYBqCBgAAMA1BAwAAmIagAQAATEPQAAAApiFoAAAA01gaNDZt2qRhw4apQ4cOstlsWr9+fZ3L5OTk6LrrrlNoaKiuuOIKrVy50vQ6AQCAZywNGqWlpUpMTNQLL7zg0vy5ubn6yU9+okGDBmnXrl2aPn26HnjgAb3//vsmVwoAADxhqy83VbPZbFq3bp1GjBhxyXlmzpypd955R/v27XNMu+uuu3Tq1Clt2LDBD1UCAAB3NLG6AHds3bpVgwcPdpqWkpKi6dOnX3KZsrIylZWVOZ6Xl5fr5MmTatOmjWw2m1mlAgDQ4BiGodOnT6tDhw4KCnLtoEhABY2CggJFRUU5TYuKilJxcbF++OEHhYWFVVtm8eLFWrBggb9KBACgwTty5Iji4uJcmjeggoYnZs2apRkzZjieFxUV6fLLL9eRI0cUERFhYWUAAASW4uJixcfHq2XLli4vE1BBIzo6WoWFhU7TCgsLFRERUePeDEkKDQ1VaGhotekREREEDQAAPODO0IOAuo5GcnKysrKynKZt3LhRycnJFlUEAABqY2nQKCkp0a5du7Rr1y5JFaev7tq1S3l5eZIqDnuMHTvWMf+DDz6or7/+Wr/5zW904MAB/fGPf9Qbb7yhhx9+2IryAQBAHSwNGl988YWuvfZaXXvttZKkGTNm6Nprr9W8efMkSfn5+Y7QIUmdOnXSO++8o40bNyoxMVF/+MMf9Je//EUpKSmW1A8AAGpXb66j4S/FxcWKjIxUUVERYzQAAHCDJ31oQI3RAAAAgYWgAQAATEPQAAAApiFoAAAA0xA0AACAaQgaAADANAQNAABgGoIGAAAwDUEDAACYhqABAABMQ9AAAACmIWgAAADTEDQAAIBpCBoAAMA0BA0AAGAaggYAADANQQMAAJimidUFAAAaKbtd2rxZys+XYmKkAQOk4GCrq2oY6tG2JWgAAPwvM1OaNk06evS/0+LipKVLpdTU2pf1phOtRx2wabzZtiawGYZh+L1VCxUXFysyMlJFRUWKiIiwuhwADZUVHVqgdKKZmVJamlS1+7HZKn5mZFy6Q/SmE7WqA/bn5+LNtnWBJ30oQQNorBpTR+jvdq34a93bTtRf28hulxISnOu8mM1WUXdubvX2vQ0o3nTAgfC5eLNtXeRRH2o0MkVFRYYko6ioyOpSAOu8+aZhxMUZRsWv3YpHXFzF9Pra5oULhpGdbRjp6RU/L1wwv11P2nzzTcOw2Zzbkyqm2Wy1t+tprd606U27huH+NsrOrl5nTY/s7OrtVK2x6nuNj6+5fW+W9Wb7+Ptz8XTbusGTPpSgATQ23v7yMwz3OxerOkJ/d/redGie1uqLTtSf2yg93bXOMD3deTlvOlFvlg2kz8XTbesGgoYLCBpo1Lz95WcY7ncuVnWEVnT6Vvy17k0nGkjbyJtO1NNlA+1zqad7NLiOBlAf2O1STo60alXFT7vdnHY2b7708Vup4tfQkSMV89Wk8jh31XUcO1YxPTPTt23a7RXHtw2j5uUkafr0mreXp+1602Z+/qXbq20+b7aRp216064322jAgIpxApVjI6qy2aT4+Ir5LhYTc+k665rP02UD7XPxdNuajKABWC0zs2IA16BB0pgxFT8TEmrutGviTkjx5pefp52LFb9wvWnXmzY97dC82UbedMBWbKPg4IqBkFL1DrHy+ZIl1QcretOJerpsoH0unm5bkxE0YD5//bVeH7j7Xj3ZQ1B1eXdCije//DztXKz4hetNu960acVf6950wFZsI6nibIuMDCk21nl6XNylz/7wphP1dNlA+1wkz7at2Tw+UBOgGKPhZ1ac3WCVQBi7UNlmTcvV1aa3x7k9adMXx7ndbdfb49yVn0vVds36XDxt08ptdHH7npzVU/X/TXy8a79T3F020D6Xquvw5CytOjAY1AUEDS/4+0yDQOLJe7V6EJ+7v/x8MXLf379wrej0K9t1tzP0dBt506aV28gb3nSinv4eC4TPxQ8IGi4gaHjI33+tX7weE1K5T3n6Xr0ZRe+Lv7rd/eXni07fil+4VnT6huH/v9Y9bdPTdn2wjS5cuGBkZ2cb6enpRnZ2tnGhPv7/NgxLP5fyKu2WW7xHmKDhAoKGB/z91/rF7QbCYRdP36s328gX58t7czEqTzsXf3aE3rbrbZuesipce7iNPO0I33zzTSMuLs6Q5HjExcUZb5ocUDxd9kJZmbHz2WeNLVOmGDuffda4UFZmeptvvvmmcXlsrHGTZNwlGTdJxuWxsaZvo9oQNFxA0HCTFX+tG0ZgHXYJtLEL3mpMHXAg7FGzkKcd4ZtvvmnYbDankCHJsNlshs1mq3V5bwKKp8ta1aYV26guBA0XEDTcZMVf67447OLPDiIQxy54iw640fO0I7xw4UK1TrDq8vHx8TX+Be5t5+vJsla0adU2cgVBwwUEDTcF4l/r/j7kEqhjF2Aqj3fRW3BYwN1lvekIs7OzL7ncxY/sKv+/vWnT02WtaNOqbeQqgoYLCBpusuKvdW8Ou1h1yCVQxy7AFIG0i96TZT3tCA3DMNLT011aNr3K/29v2vR0WSvatGobuYpLkDcm/roIljcXnfH0wjGeXqzGm8sie8vbi+QEB0sDB0qjR1f8dPXKfamp0jffSNnZUnp6xc/cXGsuymMyu92unJwcrVq1Sjk5ObL74cJvnrSZmZmptLQ0Ha1ycbNjx44pLS1NmZe4mJqny1mxbL6LF+yqab4YF/9/V53PmzY9XdaKNiVrtpGpPI41AapB7NHw96EBf/+1bvVFhLzB2IVaeTP63qzBbb5sM9B20Xu6rDd/OVe2WdM4ArPaDLQ9GlZsI1dx6MQFAR80rDw04M9d9J6EGz/cIhmes2L0fSV3A46nbQZah+btWAB3O8Kq27fq8rVtX2/a9HRZK9q0ahu5iqDhgoAOGlafjeHvv9bdDTf1YY+GBQLhokdWjL6/uG13Ao43bXp6bN3T5axc1pOOsK7PJT4+3qWzODxp09NlrWjTqm3kCoKGCwI6aATa2Ri+4E648dUpnwF0+MOKQwqGUf/PUKjkScBpTLvofbF93e0IL+ZJSPamTU+XtaLNSv7eRnUhaLigXgUNdzu0QDwbw9+8HU8SQGHM20MK/hovYcXo+8r350nA8UWbgbKL3he72q3Yo2bJlUEtOu3YU1wZ1EL1Jmh40qF5ukfDF4dcAom316WwIIy5+0vB20MK/hwv4U3HHWh7Fy7eRoGyi97sXe1oWAgaLqgXQcPTDi2Qz8bwN0/PdPEyjPlqN2ddnb43naG/x0t4U6s3f3F7GnB88Vd+oO2iN3NXOxoWgoYLLA8a3nZonI1hDh+EMU8Cg6edvredqLthoWITeRYYrBh970293rRZ9X0H0i76QBhUDOsRNFxgedDwxd4FzsbwPS/DmCeBwYpO36rxElaMvvdFwOGvfMAZQcMFlgcNX+1dsOJsjIbMizAWSIcUrBovYRjWjb73JuDwVz7gjKDhAsuDhlV7F7w9G6Oh+78wVn6Jz6NcumQY87QD9qbTNwzPOlGrxktcvA5/d9zsmQB8h6DhAsuDhpV7F/x9dU8LedKhbf31rw27ZNirfCaV07b++tc1LmflDZDc7UStGi9hNfZMAL5B0HCB5UHDMKzduxBAF6PylDf3qBgpGXlVgsa3kpH6fx14fRokefF63OlErRgvAaBhIGi4oF4EDcNoVHsXvGHFPSqCJOMmybjr/34GmXhIwao9BFaMlwAQ+AgaLvB50Aike4dYxF9XoLTiHhUX1+rNBZOs2ENAWADgLoKGC3waNALoctVW8ecVKL0Z82DFeImL0ekDCASe9KE2wzAMNSLFxcWKjIxUUVGRIiIiPF9RZqaUllYRLy5ms1X8zMiQUlM9X38DkJmZqbS0NFX9itn+bxtlZGQotYZtZLfblZCQoKNHj9a4XpvNpri4OOXm5io4ONgxfdWqVRozZkyddaWnp2v06NE1tnns2LFq9dbWZk21b968Wfn5+YqJidGAAQNqnR8AAoknfWiQyTU1THa7NG1a9ZAh/Xfa9OkV8zVSdrtd06ZNq7HTrpw2ffp02WvYRps3b75kyKhc/siRI9q8ebPT9JiYGJdqq2m+4OBgLV26VNJ/g1ClyudLliypMzQEBwdr4MCBGj16tAYOHEjIANDoETQ8sXmzVEtHKMOQjhypmK8BsdvtysnJ0apVq5STk1NjSKjkaViQpPz8fJfqqTrfgAEDFBcXVy0oVLLZbIqPj9eAAQNqfD01NVUZGRmKjY11mh4XF3fJvS8AgNo1sbqAgORiR+jyfAEgMzNT06ZNcwoPcXFxWrp0aY0dsKdhQfJ8z0TlXom0tDTZbDanvSmu7pVITU3V8OHDOfwBAD7CHg1PuNgRujxfPVc51qLqHopjx44pLS1NmZmZ1Zbx5jCGN3smfLFXgsMfAOA7DAb1hN0uJSRIx47VPE7DZpPi4qTcXCnAOylPB2Z6O7iyMtxIqnHPRF2hgUGZAOB7DAb1l+Bg6f8GDqrqX92Vz5csCfiQIXk+1sLbwZXe7plgrwQA1A8EDU+lplacwlqlI1RcXL0+tdWdAZ2Sd2MtvA0Lqamp+uabb5Sdna309HRlZ2crNzeXQZkAEEA4dOItu73i7JL8/IoxGQMG1Ns9Ge4O6JSknJwcDRo0qM51Z2dna+DAgTW+xmEMAGgYPOlDCRqNhLcXz/L2QlYAgMDHGA3UyJuLZ/nqQlYAgMaJoNEIeHPxLIkLWQEAPMcFuxoBbwZ0VuJCVgAATxA0GgFvLp51scpTRgEAcBWHThoBb+8BAgCApwgajQADOgEAViFoBCh3L7zFgE4AgBW4jkYA8uTCW5W4eBYAwFNcsMsFgR40PL3wFgAA3uKCXQ2cNxfeAgDACgSNAOLthbcAAPA3gkYA8cWFtwAA8CeCRgDx1YW3AADwF4JGAOHCWwCAQEPQCCBceAsAEGgIGgGGC28BAAIJ19EIUFx4CwDgb570ody9NUBxJ1UAQCDg0AkAADCN5UHjhRdeUEJCgpo1a6akpCRt27btkvOeP39eCxcuVJcuXdSsWTMlJiZqw4YNfqwWAAC4w9KgsWbNGs2YMUPz58/Xjh07lJiYqJSUFB0/frzG+efMmaM//elPev755/Xll1/qwQcf1MiRI7Vz504/V+4b7t6BFQCAQGPpYNCkpCT169dPy5YtkySVl5crPj5eU6dO1aOPPlpt/g4dOmj27NmaPHmyY9odd9yhsLAw/e1vf3OpzfoyGNSbO7ACAGCFgLqp2rlz57R9+3YNHjz4v8UEBWnw4MHaunVrjcuUlZWpWbNmTtPCwsL08ccfX7KdsrIyFRcXOz2sVnkH1qr3LTl27JjS0tKUmZlpUWUAAPiWZUHjxIkTstvtioqKcpoeFRWlgoKCGpdJSUnRM888o6+++krl5eXauHGjMjMza723x+LFixUZGel4xMfH+/R9uIs7sAIAGhPLB4O6Y+nSperatauuuuoqhYSEaMqUKRo/fryCgi79NmbNmqWioiLH48iRI36suDruwAoAaEwsCxpt27ZVcHCwCgsLnaYXFhYqOjq6xmXatWun9evXq7S0VN9++60OHDigFi1aqHPnzpdsJzQ0VBEREU4PK3EHVgBAY2JZ0AgJCVGfPn2UlZXlmFZeXq6srCwlJyfXumyzZs0UGxurCxcu6M0339Tw4cPNLtdnuAMrAKAxsfTQyYwZM/Tyyy/r1Vdf1f79+zVp0iSVlpZq/PjxkqSxY8dq1qxZjvk/++wzZWZm6uuvv9bmzZs1ZMgQlZeX6ze/+Y1Vb8Ft3IEVANCYWHoJ8lGjRun777/XvHnzVFBQoN69e2vDhg2OAaJ5eXlO4y/Onj2rOXPm6Ouvv1aLFi00dOhQvfbaa2rVqpVF78B9lXdgTUtLk81mcxoUyh1YAQANDTdVs0hN19GIj4/XkiVLuI4GAKBe8qQPJWhYiDuwAgACCXdvDTDcgRUA0NAF1HU0AABAYCFoAAAA0xA0AACAaQgaAADANAQNAABgGoIGAAAwDUEDAACYhqABAABMQ9AAAACmIWgAAADTEDQAAIBpCBoAAMA0BA0AAGAaggYAADANQQMAAJiGoAEAAExD0AAAAKYhaAAAANMQNAAAgGkIGgAAwDQEDQAAYBqCBgAAMA1BAwAAmIagAQAATEPQAAAApiFoAAAA0xA0AACAaQgaAADANAQNAABgGoIGAAAwDUEDAACYhqABAABMQ9AAAACmIWgAAADTEDQAAIBpCBoAAMA0BA0AAGAaggYAADANQQMAAJiGoAEAAExD0AAAAKYhaAAAANMQNAAAgGkIGgAAwDQEDQAAYBqCBgAAMA1BAwAAmIagAQAATEPQAAAApiFoAAAA0xA0AACAaQgaAADANAQNAABgGoIGAAAwDUEDAACYhqABAABMQ9AAAACmIWgAAADTEDQAAIBpCBoAAMA0BA0AAGAaggYAADANQQMAAJiGoAEAAExD0AAAAKYhaAAAANMQNAAAgGkIGgAAwDQEDQAAYBqCBgAAMA1BAwAAmIagAQAATEPQAAAApiFoAAAA0xA0AACAaQgaAADANAQNAABgGoIGAAAwDUEDAACYhqABAABMY3nQeOGFF5SQkKBmzZopKSlJ27Ztq3X+JUuWqFu3bgoLC1N8fLwefvhhnT171k/VAgAAd1gaNNasWaMZM2Zo/vz52rFjhxITE5WSkqLjx4/XOH96eroeffRRzZ8/X/v379fy5cu1Zs0aPfbYY36uHAAAuMLSoPHMM89owoQJGj9+vHr06KGXXnpJ4eHheuWVV2qc/5NPPtENN9ygMWPGKCEhQbfddptGjx5d514QAABgDcuCxrlz57R9+3YNHjz4v8UEBWnw4MHaunVrjctcf/312r59uyNYfP3113r33Xc1dOjQS7ZTVlam4uJipwcAAPCPJlY1fOLECdntdkVFRTlNj4qK0oEDB2pcZsyYMTpx4oR+/OMfyzAMXbhwQQ8++GCth04WL16sBQsW+LR2AADgGssHg7ojJydHixYt0h//+Eft2LFDmZmZeuedd/TEE09ccplZs2apqKjI8Thy5IhPa7Lb7crJydGqVauUk5Mju93u0/UDABDILNuj0bZtWwUHB6uwsNBpemFhoaKjo2tcZu7cubrnnnv0wAMPSJJ69uyp0tJSTZw4UbNnz1ZQUPXcFBoaqtDQUN+/AUmZmZmaNm2ajh496pgWFxenpUuXKjU11ZQ2AQAIJJbt0QgJCVGfPn2UlZXlmFZeXq6srCwlJyfXuMyZM2eqhYng4GBJkmEY5hVbg8zMTKWlpTmFDEk6duyY0tLSlJmZ6dd6AACojyw9dDJjxgy9/PLLevXVV7V//35NmjRJpaWlGj9+vCRp7NixmjVrlmP+YcOG6cUXX9Tq1auVm5urjRs3au7cuRo2bJgjcPiD3W7XtGnTagw3ldOmT5/OYRQAQKNn2aETSRo1apS+//57zZs3TwUFBerdu7c2bNjgGCCal5fntAdjzpw5stlsmjNnjo4dO6Z27dpp2LBh+u1vf+vXujdv3lxtT8bFDMPQkSNHtHnzZg0cONB/hQEAUM/YDH8fc7BYcXGxIiMjVVRUpIiICI/WsWrVKo0ZM6bO+dLT0zV69GiP2gAAoL7xpA8NqLNO6ouYmBifzgcAQENF0PDAgAEDFBcXJ5vNVuPrNptN8fHxGjBggJ8rAwCgfiFoeCA4OFhLly6VpGpho/L5kiVL/DpAFQCA+oig4aHU1FRlZGQoNjbWaXpcXJwyMjK4jgYAAGIwqNfrs9vt2rx5s/Lz8xUTE6MBAwawJwMA0CB50odaenprQxAcHMwprAAAXAKHTgAAgGkIGgAAwDQEDQAAYBqCBgAAMI3bQSMhIUELFy5UXl6eGfUAAIAGxO2gMX36dGVmZqpz58669dZbtXr1apWVlZlRGwAACHAeBY1du3Zp27Zt6t69u6ZOnaqYmBhNmTJFO3bsMKNGAAAQoLy+YNf58+f1xz/+UTNnztT58+fVs2dPPfTQQxo/fvwl7wViJV9fsAsAgMbCrxfsOn/+vNatW6cVK1Zo48aN+tGPfqT7779fR48e1WOPPaYPPvhA6enpnq4eAAA0AG4HjR07dmjFihVatWqVgoKCNHbsWD377LO66qqrHPOMHDlS/fr182mhAAAg8LgdNPr166dbb71VL774okaMGKGmTZtWm6dTp0666667fFIgAAAIXG4Hja+//lodO3asdZ7mzZtrxYoVHhcFAAAaBrfPOjl+/Lg+++yzatM/++wzffHFFz4pCgAANAxuB43JkyfryJEj1aYfO3ZMkydP9klRAACgYXA7aHz55Ze67rrrqk2/9tpr9eWXX/qkKAAA0DC4HTRCQ0NVWFhYbXp+fr6aNPH4bFkAANAAuR00brvtNs2aNUtFRUWOaadOndJjjz2mW2+91afFAQCAwOb2Loinn35aN954ozp27Khrr71WkrRr1y5FRUXptdde83mBAAAgcLkdNGJjY7Vnzx69/vrr2r17t8LCwjR+/HiNHj26xmtqAACAxsujQRXNmzfXxIkTfV0LAABoYDwevfnll18qLy9P586dc5r+s5/9zOuiAABAw+DRlUFHjhypvXv3ymazqfLmr5V3arXb7b6tEAAABCy3zzqZNm2aOnXqpOPHjys8PFz//Oc/tWnTJvXt21c5OTkmlAgAAAKV23s0tm7dqg8//FBt27ZVUFCQgoKC9OMf/1iLFy/WQw89pJ07d5pRJwAACEBu79Gw2+1q2bKlJKlt27b67rvvJEkdO3bUwYMHfVsdAAAIaG7v0bjmmmu0e/duderUSUlJSXryyScVEhKiP//5z+rcubMZNQIAgADldtCYM2eOSktLJUkLFy7UT3/6Uw0YMEBt2rTRmjVrfF4gAAAIXDaj8rQRL5w8eVKtW7d2nHlSnxUXFysyMlJFRUWKiIiwuhwAAAKGJ32oW2M0zp8/ryZNmmjfvn1O0y+77LKACBkAAMC/3AoaTZs21eWXX861MgAAgEvcPutk9uzZeuyxx3Ty5Ekz6gEAAA2I24NBly1bpkOHDqlDhw7q2LGjmjdv7vT6jh07fFYcAAAIbG4HjREjRphQBgAAaIh8ctZJIOGsEwAAPGP6WScAAADucPvQSVBQUK2nsnJGCgAAqOR20Fi3bp3T8/Pnz2vnzp169dVXtWDBAp8VBgAAAp/Pxmikp6drzZo1euutt3yxOtMwRgMAAM9YOkbjRz/6kbKysny1OgAA0AD4JGj88MMPeu655xQbG+uL1QEAgAbC7TEaVW+eZhiGTp8+rfDwcP3tb3/zaXEAACCwuR00nn32WaegERQUpHbt2ikpKUmtW7f2aXEAACCwuR007r33XhPKAAAADZHbYzRWrFihtWvXVpu+du1avfrqqz4pCgAANAxuB43Fixerbdu21aa3b99eixYt8klRAACgYXA7aOTl5alTp07Vpnfs2FF5eXk+KQoAADQMbgeN9u3ba8+ePdWm7969W23atPFJUQAAoGFwO2iMHj1aDz30kLKzs2W322W32/Xhhx9q2rRpuuuuu8yoEQAABCi3zzp54okn9M033+iWW25RkyYVi5eXl2vs2LGM0QAAAE48vtfJV199pV27diksLEw9e/ZUx44dfV2bKbjXCQAAnvGkD3V7j0alrl27qmvXrp4uDgAAGgG3x2jccccd+v3vf19t+pNPPqmf//znPikKAAA0DG4HjU2bNmno0KHVpt9+++3atGmTT4oCAAANg9tBo6SkRCEhIdWmN23aVMXFxT4pCgAANAxuB42ePXtqzZo11aavXr1aPXr08ElRAACgYXB7MOjcuXOVmpqqw4cP6+abb5YkZWVlKT09XRkZGT4vEAAABC63g8awYcO0fv16LVq0SBkZGQoLC1NiYqI+/PBDXXbZZWbUCAAAApTH19GoVFxcrFWrVmn58uXavn277Ha7r2ozBdfRAADAM570oW6P0ai0adMmjRs3Th06dNAf/vAH3Xzzzfr00089XR0AAGiA3Dp0UlBQoJUrV2r58uUqLi7WnXfeqbKyMq1fv56BoAAAoBqX92gMGzZM3bp10549e7RkyRJ99913ev75582sDQAABDiX92i89957euihhzRp0iQuPQ4AAFzi8h6Njz/+WKdPn1afPn2UlJSkZcuW6cSJE2bWBgAAApzLQeNHP/qRXn75ZeXn5+uXv/ylVq9erQ4dOqi8vFwbN27U6dOnzawTAAAEIK9Obz148KCWL1+u1157TadOndKtt96qt99+25f1+RyntwIA4Bm/nt4qSd26ddOTTz6po0ePatWqVd6sCgAANEBeX7Ar0LBHAwAAz/h9jwYAAEBtCBoAAMA0BA0AAGAaggYAADANQQMAAJiGoAEAAExD0AAAAKYhaAAAANPU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eL+7n/70p2rXrp1WrlzpNL2kpERr167ViBEjNHr0aMXGxio8PFw9e/bUqlWral1n1UMnX331lW688UY1a9ZMPXr00MaNG6stM3PmTF155ZUKDw9X586dNXfuXJ0/f16StHLlSi1YsEC7d++WzWaTzWZz1Fv10MnevXt18803KywsTG3atNHEiRNVUlLieP3ee+/ViBEj9PTTTysmJkZt2rTR5MmTHW0BAOoPLkFelzNnpBYtfLMuw6jY0xEZ6dr8JSVS8+Z1ztakSRONHTtWK1eu1OzZs2Wz2SRJa9euld1u1y9+8QutXbtWM2fOVEREhN555x3dc8896tKli/r371/n+svLy5WamqqoqCh99tlnKioqchrPUally5ZauXKlOnTooL1792rChAlq2bKlfvOb32jUqFHat2+fNmzYoA8++ECSFFnDdigtLVVKSoqSk5P1+eef6/jx43rggQc0ZcoUpyCVnZ2tmJgYZWdn69ChQxo1apR69+6tCRMm1Pl+AAD+wx6NBuK+++7T4cOH9dFHHzmmrVixQnfccYc6duyoRx55RL1791bnzp01depUDRkyRG+88YZL6/7ggw904MAB/fWvf1ViYqJuvPFGLVq0qNp8c+bM0fXXX6+EhAQNGzZMjzzyiKONsLAwtWjRQk2aNFF0dLSio6MVFhZWbR3p6ek6e/as/vrXv+qaa67RzTffrGXLlum1115TYWGhY77WrVtr2bJluuqqq/TTn/5UP/nJT5SVleXuZgMAmIw9GnUJD6/Ys+CKTZukoUPrnu/dd6Ubb3StbRddddVVuv766/XKK69o4MCBOnTokDZv3qyFCxfKbrdr0aJFeuONN3Ts2DGdO3dOZWVlLo/B2L9/v+Lj49WhQwfHtOTk5GrzrVmzRs8995wOHz6skpISXbhwQRERES6/h8q2EhMT1fyiPTk33HCDysvLdfDgQUVFRUmSrr76agUHBzvmiYmJ0d69e91qCwBgPvZo1MVmqzh84crjttukuLiKZS61rvj4ivlcWd+l1nMJ999/v958802dPn1aK1asUJcuXXTTTTfpqaee0tKlSzVz5kxlZ2dr165dSklJ0blz53ywgSps3bpVd999t4YOHaq///3v2rlzp2bPnu3TNi7WtGlTp+c2m03l5eWmtAUA8BxBw5eCg6WlSyv+XTUkVD5fsqRiPhPceeedCgoKUnp6uv7617/qvvvuk81m05YtWzR8+HD94he/UGJiojp37qx//etfLq+3e/fuOnLkiPLz8x3TPv30U6d5PvnkE3Xs2FGzZ89W37591bVrV3377bdO84SEhMhex/VEunfvrt27d6u0tNQxbcuWLQoKClK3bt1crhkAUD8QNHwtNVXKyJBiY52nx8VVTE9NNa3pFi1aaNSoUZo1a5by8/N17733SpK6du2qjRs36pNPPtH+/fv1y1/+0mm8Q10GDx6sK6+8UuPGjdPu3bu1efNmzZ4922merl27Ki8vT6tXr9bhw4f13HPPad26dU7zJCQkKDc3V7t27dKJEydUVlZWra27775bzZo107hx47Rv3z5lZ2dr6tSpuueeexyHTQAAgYOgYYbUVOmbb6TsbCk9veJnbq6pIaPS/fffr//85z9KSUlxjKmYM2eOrrvuOqWkpGjgwIGKjo7WiBEjXF5nUFCQ1q1bpx9++EH9+/fXAw88oN/+9rdO8/zsZz/Tww8/rClTpqh379765JNPNHfuXKd57rjjDg0ZMkSDBg1Su3btajzFNjw8XO+//75Onjypfv36KS0tTbfccouWLVvm/sYAAFjOZhguXqyhgSguLlZkZKSKioqqDVQ8e/ascnNz1alTJzVr1syiCmEGPlsA8F5tfeilsEcDAACYhqABAABMQ9AAAACmIWgAAADTEDRq0MjGxzYKfKYAYA2CxkUqrzZ55swZiyuBr1V+plWvKAoAMBf3OrlIcHCwWrVqpePHj0uquKaDzc3LgKN+MQxDZ86c0fHjx9WqVSun+6MAAMxH0KgiOjpakhxhAw1Dq1atHJ8tAMB/CBpV2Gw2xcTEqH379jp//rzV5cAHmjZtyp4MALAIQeMSgoOD6ZwAAPBSvRgM+sILLyghIUHNmjVTUlKStm3bdsl5V65cKZvN5vTgktIAANRPlgeNNWvWaMaMGZo/f7527NihxMREpaSk1DpGIiIiQvn5+Y5H1duRAwCA+sHyoPHMM89owoQJGj9+vHr06KGXXnpJ4eHheuWVVy65jM1mU3R0tOPB7cMBAKifLB2jce7cOW3fvl2zZs1yTAsKCtLgwYO1devWSy5XUlKijh07qry8XNddd50WLVqkq6++usZ5y8rKVFZW5nheVFQkqeIOdAAAwHWVfac7F0G0NGicOHFCdru92h6JqKgoHThwoMZlunXrpldeeUW9evVSUVGRnn76aV1//fX65z//qbi4uGrzL168WAsWLKg2PT4+3jdvAgCARub06dOKjIx0ad6AO+skOTlZycnJjufXX3+9unfvrj/96U964oknqs0/a9YszZgxw/G8vLxcJ0+eVJs2bXx2Ma7i4mLFx8fryJEjioiI8Mk6Gxq2Ud3YRnVjG9WNbVQ3tlHdLrWNDMPQ6dOn1aFDB5fXZWnQaNu2rYKDg1VYWOg0vbCw0OWLKzVt2lTXXnutDh06VOProaGhCg0NdZrWqlUrj+qtS0REBF/aOrCN6sY2qhvbqG5so7qxjepW0zZydU9GJUsHg4aEhKhPnz7KyspyTCsvL1dWVpbTXova2O127d27VzExMWaVCQAAPGT5oZMZM2Zo3Lhx6tu3r/r3768lS5aotLRU48ePlySNHTtWsbGxWrx4sSRp4cKF+tGPfqQrrrhCp06d0lNPPaVvv/1WDzzwgJVvAwAA1MDyoDFq1Ch9//33mjdvngoKCtS7d29t2LDBMUA0Ly9PQUH/3fHyn//8RxMmTFBBQYFat26tPn366JNPPlGPHj2segsKDQ3V/Pnzqx2iwX+xjerGNqob26hubKO6sY3q5sttZDPcOUcFAADADZZfsAsAADRcBA0AAGAaggYAADANQQMAAJiGoOED7tzmvrF5/PHHZbPZnB5XXXWV1WVZatOmTRo2bJg6dOggm82m9evXO71uGIbmzZunmJgYhYWFafDgwfrqq6+sKdYidW2je++9t9r3asiQIdYUa4HFixerX79+atmypdq3b68RI0bo4MGDTvOcPXtWkydPVps2bdSiRQvdcccd1S6O2JC5so0GDhxY7Xv04IMPWlSx/7344ovq1auX46JcycnJeu+99xyv++o7RNDwkie3uW9srr76auXn5zseH3/8sdUlWaq0tFSJiYl64YUXanz9ySef1HPPPaeXXnpJn332mZo3b66UlBSdPXvWz5Vap65tJElDhgxx+l6tWrXKjxVa66OPPtLkyZP16aefauPGjTp//rxuu+02lZaWOuZ5+OGH9b//+79au3atPvroI3333XdKTU21sGr/cmUbSdKECROcvkdPPvmkRRX7X1xcnH73u99p+/bt+uKLL3TzzTdr+PDh+uc//ynJh98hA17p37+/MXnyZMdzu91udOjQwVi8eLGFVdUf8+fPNxITE60uo96SZKxbt87xvLy83IiOjjaeeuopx7RTp04ZoaGhxqpVqyyo0HpVt5FhGMa4ceOM4cOHW1JPfXT8+HFDkvHRRx8ZhlHxnWnatKmxdu1axzz79+83JBlbt261qkxLVd1GhmEYN910kzFt2jTriqqHWrdubfzlL3/x6XeIPRpeqLzN/eDBgx3TXLnNfWPz1VdfqUOHDurcubPuvvtu5eXlWV1SvZWbm6uCggKn71RkZKSSkpL4TlWRk5Oj9u3bq1u3bpo0aZL+/e9/W12SZYqKiiRJl112mSRp+/btOn/+vNP36KqrrtLll1/eaL9HVbdRpddff11t27bVNddco1mzZunMmTNWlGc5u92u1atXq7S0VMnJyT79Dll+ZdBA5slt7hubpKQkrVy5Ut26dVN+fr4WLFigAQMGaN++fWrZsqXV5dU7BQUFklTjd6ryNVQcNklNTVWnTp10+PBhPfbYY7r99tu1detWBQcHW12eX5WXl2v69Om64YYbdM0110iq+B6FhIRUu4FkY/0e1bSNJGnMmDHq2LGjOnTooD179mjmzJk6ePCgMjMzLazWv/bu3avk5GSdPXtWLVq00Lp169SjRw/t2rXLZ98hggZMdfvttzv+3atXLyUlJaljx4564403dP/991tYGQLZXXfd5fh3z5491atXL3Xp0kU5OTm65ZZbLKzM/yZPnqx9+/Y1+rFPtbnUNpo4caLj3z179lRMTIxuueUWHT58WF26dPF3mZbo1q2bdu3apaKiImVkZGjcuHH66KOPfNoGh0684Ivb3Dc2rVq10pVXXqlDhw5ZXUq9VPm94Tvlns6dO6tt27aN7ns1ZcoU/f3vf1d2drbi4uIc06Ojo3Xu3DmdOnXKaf7G+D261DaqSVJSkiQ1qu9RSEiIrrjiCvXp00eLFy9WYmKili5d6tPvEEHDC764zX1jU1JSosOHDysmJsbqUuqlTp06KTo62uk7VVxcrM8++4zvVC2OHj2qf//7343me2UYhqZMmaJ169bpww8/VKdOnZxe79Onj5o2ber0PTp48KDy8vIazfeorm1Uk127dklSo/ke1aS8vFxlZWW+/Q75drxq47N69WojNDTUWLlypfHll18aEydONFq1amUUFBRYXVq98P/+3/8zcnJyjNzcXGPLli3G4MGDjbZt2xrHjx+3ujTLnD592ti5c6exc+dOQ5LxzDPPGDt37jS+/fZbwzAM43e/+53RqlUr46233jL27NljDB8+3OjUqZPxww8/WFy5/9S2jU6fPm088sgjxtatW43c3Fzjgw8+MK677jqja9euxtmzZ60u3S8mTZpkREZGGjk5OUZ+fr7jcebMGcc8Dz74oHH55ZcbH374ofHFF18YycnJRnJysoVV+1dd2+jQoUPGwoULjS+++MLIzc013nrrLaNz587GjTfeaHHl/vPoo48aH330kZGbm2vs2bPHePTRRw2bzWb84x//MAzDd98hgoYPPP/888bll19uhISEGP379zc+/fRTq0uqN0aNGmXExMQYISEhRmxsrDFq1Cjj0KFDVpdlqezsbENStce4ceMMw6g4xXXu3LlGVFSUERoaatxyyy3GwYMHrS3az2rbRmfOnDFuu+02o127dkbTpk2Njh07GhMmTGhU4b6mbSPJWLFihWOeH374wfjVr35ltG7d2ggPDzdGjhxp5OfnW1e0n9W1jfLy8owbb7zRuOyyy4zQ0FDjiiuuMH79618bRUVF1hbuR/fdd5/RsWNHIyQkxGjXrp1xyy23OEKGYfjuO8Rt4gEAgGkYowEAAExD0AAAAKYhaAAAANMQNAAAgGkIGgAAwDQEDQAAYBqCBgAAMA1BAwAAmIagAaBBsNlsWr9+vdVlAKiCoAHAa/fee69sNlu1x5AhQ6wuDYDFmlhdAICGYciQIVqxYoXTtNDQUIuqAVBfsEcDgE+EhoYqOjra6dG6dWtJFYc1XnzxRd1+++0KCwtT586dlZGR4bT83r17dfPNNyssLExt2rTRxIkTVVJS4jTPK6+8oquvvlqhoaGKiYnRlClTnF4/ceKERo4cqfDwcHXt2lVvv/22uW8aQJ0IGgD8Yu7cubrjjju0e/du3X333brrrru0f/9+SVJpaalSUlLUunVrff7551q7dq0++OADpyDx4osvavLkyZo4caL27t2rt99+W1dccYVTGwsWLNCdd96pPXv2aOjQobr77rt18uRJv75PAFX47oazABqrcePGGcHBwUbz5s2dHr/97W8Nw6i4ZfeDDz7otExSUpIxadIkwzAM489//rPRunVro6SkxPH6O++8YwQFBTlu/96hQwdj9uzZl6xBkjFnzhzH85KSEkOS8d577/nsfQJwH2M0APjEoEGD9OKLLzpNu+yyyxz/Tk5OdnotOTlZu3btkiTt379fiYmJat68ueP1G264QeXl5Tp48KBsNpu+++473XLLLbXW0KtXL8e/mzdvroiICB0/ftzTtwTABwgaAHyiefPm1Q5l+EpYWJhL8zVt2tTpuc1mU3l5uRklAXARYzQA+MWnn35a7Xn37t0lSd27d9fu3btVWlrqeH3Lli0KCgpSt27d1LJlSyUkJCgrK8uvNQPwHns0APhEWVmZCgoKnKY1adJEbdu2lSStXbtWffv21Y9//GO9/vrr2rZtm5YvXy5JuvvuuzV//nyNGzdOjz/+uL7//ntNnTpV99xzj6KioiRJjz/+uB588EG1b99et99+u06fPq0tW7Zo6tSp/n2jANxC0ADgExs2bFBMTIzTtG7duunAgQOSKs4IWb16tX71q18pJiZGq1atUo8ePSRJ4eHhev/99zVt2jT169dP4eHhuuOOO/TMM8841jVu3DidPXtWzz77rB555BG1bdtWaWlp/nuDADxiMwzDsLoIAA2bzWbTunXrNGLECKtLAeBnjNEAAACmIWgAAADTMEYDgOk4Qgs0XuzRAAAApiFoAAAA0xA0AACAaQgaAADANAQNAABgGoIGAAAwDUEDAACYhqABAABM8/8BLDxhn6oHWGsAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "mnist_results = pd.read_csv(mnist_logger.experiment.metrics_file_path)\n", "fig, ax = subplots(1, 1, figsize=(6, 6))\n", @@ -1292,7 +2649,7 @@ " ylabel='Accuracy')\n", "ax.set_ylim([0.5, 1])\n", "ax.set_ylabel('Accuracy')\n", - "ax.set_xticks(np.linspace(0, 30, 7).astype(int));\n" + "ax.set_xticks(np.linspace(0, 30, 7).astype(int));" ] }, { @@ -1306,10 +2663,47 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 44, "id": "f5269c40", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b584fa2b09df4c20939181c016e85bc5", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Testing: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " Test metric DataLoader 0\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " test_accuracy 0.9681000113487244\n", + " test_loss 0.14706705510616302\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'test_loss': 0.14706705510616302, 'test_accuracy': 0.9681000113487244}]" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "mnist_trainer.test(mnist_module,\n", " datamodule=mnist_dm)" @@ -1330,7 +2724,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 45, "id": "97a0b304", "metadata": {}, "outputs": [], @@ -1350,12 +2744,524 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 46, "id": "ea685183", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", + " rank_zero_warn(\n", + "\n", + " | Name | Type | Params\n", + "-------------------------------------------\n", + "0 | model | MNIST_MLR | 7.9 K \n", + "1 | loss | CrossEntropyLoss | 0 \n", + "-------------------------------------------\n", + "7.9 K Trainable params\n", + "0 Non-trainable params\n", + "7.9 K Total params\n", + "0.031 Total estimated model params size (MB)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "02fd79458dc34808bb403f8b8475a62d", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "9c827fce3589462294778b990fc78f2f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a9fcb28681b34dc6921cad2630ca648f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "e2dd237b55d14ad4a871888e4ecde25d", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5d8dc977673646d9ad09d0c5b7e4903a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "`Trainer.fit` stopped: `max_epochs=30` reached.\n" + ] + } + ], "source": [ "mlr_trainer = Trainer(deterministic=True,\n", " max_epochs=30,\n", @@ -1373,12 +3279,47 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 47, "id": "c0bd63e3", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "92b4035b1656456d88d929aac0d46d71", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Testing: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " Test metric DataLoader 0\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " test_accuracy 0.9240999817848206\n", + " test_loss 0.3186827003955841\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'test_loss': 0.3186827003955841, 'test_accuracy': 0.9240999817848206}]" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "mlr_trainer.test(mlr_module,\n", " datamodule=mnist_dm)" @@ -1397,11 +3338,9 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 48, "id": "6b0d3daa", - "metadata": { - "lines_to_next_cell": 2 - }, + "metadata": {}, "outputs": [], "source": [ "del(mnist_test,\n", @@ -1428,10 +3367,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 49, "id": "67517b11", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Files already downloaded and verified\n", + "Files already downloaded and verified\n" + ] + } + ], "source": [ "(cifar_train, \n", " cifar_test) = [CIFAR100(root=\"data\",\n", @@ -1442,7 +3390,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 50, "id": "ee7b040e", "metadata": {}, "outputs": [], @@ -1473,18 +3421,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 51, "id": "bd9e74ad", - "metadata": { - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "cifar_dm = SimpleDataModule(cifar_train,\n", " cifar_test,\n", " validation=0.2,\n", " num_workers=max_num_workers,\n", - " batch_size=128)\n" + " batch_size=128)" ] }, { @@ -1497,18 +3443,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 52, "id": "a553b926", - "metadata": { - "lines_to_next_cell": 2 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X: torch.Size([128, 3, 32, 32])\n", + "Y: torch.Size([128])\n", + "X: torch.Size([128, 3, 32, 32])\n", + "Y: torch.Size([128])\n" + ] + } + ], "source": [ "for idx, (X_ ,Y_) in enumerate(cifar_dm.train_dataloader()):\n", " print('X: ', X_.shape)\n", " print('Y: ', Y_.shape)\n", " if idx >= 1:\n", - " break\n" + " break" ] }, { @@ -1525,12 +3480,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 53, "id": "94885e68", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, axes = subplots(5, 5, figsize=(10,10))\n", "rng = np.random.default_rng(4)\n", @@ -1543,7 +3507,7 @@ " [1,2,0]),\n", " interpolation=None)\n", " axes[i,j].set_xticks([])\n", - " axes[i,j].set_yticks([])\n" + " axes[i,j].set_yticks([])" ] }, { @@ -1564,7 +3528,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 54, "id": "cdc2528a", "metadata": {}, "outputs": [], @@ -1584,7 +3548,7 @@ " self.pool = nn.MaxPool2d(kernel_size=(2,2))\n", "\n", " def forward(self, x):\n", - " return self.pool(self.activation(self.conv(x)))\n" + " return self.pool(self.activation(self.conv(x)))" ] }, { @@ -1609,7 +3573,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 55, "id": "845be1ae", "metadata": {}, "outputs": [], @@ -1632,7 +3596,7 @@ " def forward(self, x):\n", " val = self.conv(x)\n", " val = torch.flatten(val, start_dim=1)\n", - " return self.output(val)\n" + " return self.output(val)" ] }, { @@ -1645,12 +3609,67 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 56, "id": "be768cbb", - "metadata": { - "lines_to_next_cell": 2 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " action_fn=lambda data: sys.getsizeof(data.storage()),\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " return super().__sizeof__() + self.nbytes()\n" + ] + }, + { + "data": { + "text/plain": [ + "===================================================================================================================\n", + "Layer (type:depth-idx) Input Shape Output Shape Param #\n", + "===================================================================================================================\n", + "CIFARModel [128, 3, 32, 32] [128, 100] --\n", + "├─Sequential: 1-1 [128, 3, 32, 32] [128, 256, 2, 2] --\n", + "│ └─BuildingBlock: 2-1 [128, 3, 32, 32] [128, 32, 16, 16] --\n", + "│ │ └─Conv2d: 3-1 [128, 3, 32, 32] [128, 32, 32, 32] 896\n", + "│ │ └─ReLU: 3-2 [128, 32, 32, 32] [128, 32, 32, 32] --\n", + "│ │ └─MaxPool2d: 3-3 [128, 32, 32, 32] [128, 32, 16, 16] --\n", + "│ └─BuildingBlock: 2-2 [128, 32, 16, 16] [128, 64, 8, 8] --\n", + "│ │ └─Conv2d: 3-4 [128, 32, 16, 16] [128, 64, 16, 16] 18,496\n", + "│ │ └─ReLU: 3-5 [128, 64, 16, 16] [128, 64, 16, 16] --\n", + "│ │ └─MaxPool2d: 3-6 [128, 64, 16, 16] [128, 64, 8, 8] --\n", + "│ └─BuildingBlock: 2-3 [128, 64, 8, 8] [128, 128, 4, 4] --\n", + "│ │ └─Conv2d: 3-7 [128, 64, 8, 8] [128, 128, 8, 8] 73,856\n", + "│ │ └─ReLU: 3-8 [128, 128, 8, 8] [128, 128, 8, 8] --\n", + "│ │ └─MaxPool2d: 3-9 [128, 128, 8, 8] [128, 128, 4, 4] --\n", + "│ └─BuildingBlock: 2-4 [128, 128, 4, 4] [128, 256, 2, 2] --\n", + "│ │ └─Conv2d: 3-10 [128, 128, 4, 4] [128, 256, 4, 4] 295,168\n", + "│ │ └─ReLU: 3-11 [128, 256, 4, 4] [128, 256, 4, 4] --\n", + "│ │ └─MaxPool2d: 3-12 [128, 256, 4, 4] [128, 256, 2, 2] --\n", + "├─Sequential: 1-2 [128, 1024] [128, 100] --\n", + "│ └─Dropout: 2-5 [128, 1024] [128, 1024] --\n", + "│ └─Linear: 2-6 [128, 1024] [128, 512] 524,800\n", + "│ └─ReLU: 2-7 [128, 512] [128, 512] --\n", + "│ └─Linear: 2-8 [128, 512] [128, 100] 51,300\n", + "===================================================================================================================\n", + "Total params: 964,516\n", + "Trainable params: 964,516\n", + "Non-trainable params: 0\n", + "Total mult-adds (G): 2.01\n", + "===================================================================================================================\n", + "Input size (MB): 1.57\n", + "Forward/backward pass size (MB): 63.54\n", + "Params size (MB): 3.86\n", + "Estimated Total Size (MB): 68.97\n", + "===================================================================================================================" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "cifar_model = CIFARModel()\n", "summary(cifar_model,\n", @@ -1690,13 +3709,12 @@ "We saw earlier that entries of a module’s parameters are tensors. In passing\n", "the parameters to the optimizer we are doing more than\n", "simply passing arrays; part of the structure of the graph\n", - "is encoded in the tensors themselves.\n", - " " + "is encoded in the tensors themselves." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 57, "id": "67e3e2d9", "metadata": {}, "outputs": [], @@ -1704,22 +3722,498 @@ "cifar_optimizer = RMSprop(cifar_model.parameters(), lr=0.001)\n", "cifar_module = SimpleModule.classification(cifar_model,\n", " optimizer=cifar_optimizer)\n", - "cifar_logger = CSVLogger('logs', name='CIFAR100')\n" + "cifar_logger = CSVLogger('logs', name='CIFAR100')" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 58, "id": "1ea339ff", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "\n", + " | Name | Type | Params\n", + "-------------------------------------------\n", + "0 | model | CIFARModel | 964 K \n", + "1 | loss | CrossEntropyLoss | 0 \n", + "-------------------------------------------\n", + "964 K Trainable params\n", + "0 Non-trainable params\n", + "964 K Total params\n", + "3.858 Total estimated model params size (MB)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "fdb66e85a34e49afafdf51191e247d54", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "`Trainer.fit` stopped: `max_epochs=30` reached.\n" + ] + } + ], "source": [ "cifar_trainer = Trainer(deterministic=True,\n", " max_epochs=30,\n", " logger=cifar_logger,\n", " callbacks=[ErrorTracker()])\n", "cifar_trainer.fit(cifar_module,\n", - " datamodule=cifar_dm)\n" + " datamodule=cifar_dm)" ] }, { @@ -1739,12 +4233,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 59, "id": "0a9068d9", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhgAAAISCAYAAACOH7Z2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABIy0lEQVR4nO3de3xU5b3v8e9kgBAQInJJAjMwYKnihYty2WCjRFG8lIJjKgIVvJXqQUxkuzcgIl4qqFV3orjlaBXaHrlIGKyn3g7SRKKgogjqS8CNhhLShEupCaAEWFnnj2FSJpkkc1kzk0k+79drXmHWrDXrmSS6vnnW8/wem2mapgAAACyUFO8GAACAloeAAQAALEfAAAAAliNgAAAAyxEwAACA5QgYAADAcgQMAABgOQIGAACwHAEDAABYjoABAAAsF9eAsWHDBo0bN049e/aUzWbT66+/3uQxRUVFuuiii5ScnKyf/OQnWrZsWdTbCQAAQhPXgHH06FENGjRIzz//fFD7l5SU6LrrrlNWVpa2bt2q3Nxc3XHHHXr33Xej3FIAABAKW3NZ7Mxms2nt2rWaMGFCg/vMnj1bb775pr766qvabTfddJO+//57vfPOOzFoJQAACEabeDcgFJs2bdKYMWP8to0dO1a5ubkNHlNdXa3q6ura5zU1NTp06JC6du0qm80WraYCANDimKapw4cPq2fPnkpKavwmSEIFjIqKCqWlpfltS0tLU1VVlX788UelpKTUO2bRokV6+OGHY9VEAABavNLSUjkcjkb3SaiAEY65c+dq1qxZtc8rKyvVu3dvlZaWqnPnznFsGQAAiaWqqkpOp1OdOnVqct+EChjp6enat2+f37Z9+/apc+fOAXsvJCk5OVnJycn1tnfu3JmAAQBAGIIZYpBQdTBGjhyp9evX+21bt26dRo4cGacWAQCAQOIaMI4cOaKtW7dq69atkrzTULdu3ao9e/ZI8t7emDp1au3+d955p7777jv953/+p3bs2KH//u//1muvvaZ77703Hs0HAAANiGvA+PTTTzVkyBANGTJEkjRr1iwNGTJEDz74oCSpvLy8NmxIUt++ffXmm29q3bp1GjRokJ5++mn9/ve/19ixY+PSfgAAEFizqYMRK1VVVUpNTVVlZSVjMAAgQqZp6uTJkzIMI95NgUXatm0ru90e8LVQrqEJNcgTANB8HD9+XOXl5frhhx/i3RRYyGazyeFw6IwzzojofQgYAICQ1dTUqKSkRHa7XT179lS7du0oXtgCmKapAwcOaO/everfv3+DPRnBIGAAAEJ2/Phx1dTUyOl0qkOHDvFuDizUvXt37d69WydOnIgoYCTUNFUAQPPSVLloJB6reqL4zQAAAJYjYAAAAMsRMAAAcWUYhoqKirRixQoVFRUl5JRXl8ulvLy8oPcvKiqSzWbT999/H7U2xRsBAwAQNx6PRy6XS1lZWZo8ebKysrLkcrnk8Xiicj6bzdbo46GHHgrrfTdv3qzp06cHvf+oUaNUXl6u1NTUsM6XCJhFAgCIC4/Ho+zsbNWt91hWVqbs7GwVFBTI7XZbes7y8vLaf69atUoPPvigdu7cWbvt9NoPpmnKMAy1adP0pbJ79+4htaNdu3ZKT08P6ZhEQw8GAMASpmnq6NGjQT2qqqp0zz331AsXvveRpJycHFVVVQX1fsEWpU5PT699pKamymaz1T7fsWOHOnXqpLffflsXX3yxkpOT9cEHH+jbb7/V+PHjlZaWpjPOOEPDhg3Te++95/e+dW+R2Gw2/f73v9f111+vDh06qH///nrjjTdqX697i2TZsmU688wz9e6772rAgAE644wzdPXVV/sFopMnT+qee+7RmWeeqa5du2r27NmaNm2aJkyYEORPKLYIGAAAS/zwww8644wzgnqkpqaqrKyswfcyTVN79+5VampqUO9nZTXROXPm6PHHH9f27ds1cOBAHTlyRNdee63Wr1+vzz//XFdffbXGjRvnt1ZWIA8//LBuvPFGffHFF7r22ms1ZcoUHTp0qMH9f/jhBz311FP605/+pA0bNmjPnj267777al9/4okn9Oqrr2rp0qX68MMPVVVVpddff92qj205AgYAAKd55JFHdOWVV+rss8/WWWedpUGDBuk3v/mNLrjgAvXv31+PPvqozj77bL8eiUBuueUWTZo0ST/5yU+0cOFCHTlyRJ988kmD+584cUJLlizR0KFDddFFF+nuu+/W+vXra19/7rnnNHfuXF1//fU699xztXjxYp155plWfWzLMQYDAGCJDh066MiRI0Htu2HDBl177bVN7vfWW2/p0ksvDercVhk6dKjf8yNHjuihhx7Sm2++qfLycp08eVI//vhjkz0YAwcOrP13x44d1blzZ+3fv7/B/Tt06KCzzz679nlGRkbt/pWVldq3b5+GDx9e+7rdbtfFF1+smpqakD5frBAwAACWsNls6tixY1D7XnXVVXI4HCorKws4fsK34NZVV10VUbnqcNT9DPfdd5/WrVunp556Sj/5yU+UkpKi7OxsHT9+vNH3adu2rd9zm83WaBgItH8iL3jOLRIAQMzZ7Xbl5+dLql+a2vc8Ly8v5uEikA8//FC33HKLrr/+el144YVKT0/X7t27Y9qG1NRUpaWlafPmzbXbDMPQli1bYtqOUBAwAABx4Xa7VVBQoF69evltdzgcUZmiGq7+/fvL4/Fo69at2rZtmyZPnhyX2xIzZ87UokWL9Oc//1k7d+5UTk6O/vnPfzbbVWy5RQIAiBu3263x48eruLhY5eXlysjIUGZmZrPoufB55plndNttt2nUqFHq1q2bZs+eraqqqpi3Y/bs2aqoqNDUqVNlt9s1ffp0jR07tll9r05nMxP5Bk8YqqqqlJqaqsrKSnXu3DnezQGAhHTs2DGVlJSob9++at++fbyb0yrV1NRowIABuvHGG/Xoo49a9r6N/WxDuYbSgwEAQAL429/+pv/3//6fLrvsMlVXV2vx4sUqKSnR5MmT4920gBiDAQBAAkhKStKyZcs0bNgwXXLJJfryyy/13nvvacCAAfFuWkD0YAAAkACcTqc+/PDDeDcjaPRgAAAAyxEwAACA5QgYAADAcgQMAABgOQIGAACwHAEDAABYjoABAIgvw5CKiqQVK7xfDSPeLWrU6NGjlZubW/vc5XIpLy+v0WNsNptef/31iM9t1fvEAgEDABA/Ho/kcklZWdLkyd6vLpd3exSMGzdOV199dcDXiouLZbPZ9MUXX4T0nps3b9b06dOtaF6thx56SIMHD663vby8XNdcc42l54oWAgYAID48Hik7W9q71397WZl3exRCxu23365169Zpb91zSlq6dKmGDh2qgQMHhvSe3bt3V4cOHaxqYqPS09OVnJwck3NFioABALCGaUpHjwb3qKqS7rnHe0yg95GknBzvfsG8X5Drdv785z9X9+7dtWzZMr/tR44c0erVqzVhwgRNmjRJvXr1UocOHXThhRdqxYoVjb5n3Vsk//M//6NLL71U7du313nnnad169bVO2b27Nn66U9/qg4dOqhfv36aP3++Tpw4IUlatmyZHn74YW3btk02m002m622vXVvkXz55Ze6/PLLlZKSoq5du2r69Ok6cuRI7eu33HKLJkyYoKeeekoZGRnq2rWrZsyYUXuuaKJUOADAGj/8IJ1xhjXvZZreno3U1OD2P3JE6tixyd3atGmjqVOnatmyZZo3b55sNpskafXq1TIMQ7/61a+0evVqzZ49W507d9abb76pm2++WWeffbaGDx/e5PvX1NTI7XYrLS1NH3/8sSorK/3Ga/h06tRJy5YtU8+ePfXll1/q17/+tTp16qT//M//1MSJE/XVV1/pnXfe0XvvvSdJSg3wfTh69KjGjh2rkSNHavPmzdq/f7/uuOMO3X333X4BqrCwUBkZGSosLNSuXbs0ceJEDR48WL/+9a+b/DyRoAcDANCq3Hbbbfr222/1/vvv125bunSpbrjhBvXp00f33XefBg8erH79+mnmzJm6+uqr9dprrwX13u+995527NihP/7xjxo0aJAuvfRSLVy4sN5+DzzwgEaNGiWXy6Vx48bpvvvuqz1HSkqKzjjjDLVp00bp6elKT09XSkpKvfdYvny5jh07pj/+8Y+64IILdPnll2vx4sX605/+pH379tXu16VLFy1evFjnnnuufv7zn+u6667T+vXrQ/22hYweDACANTp08PYkBGPDBunaa5ve7623pEsvDe7cQTr33HM1atQovfLKKxo9erR27dql4uJiPfLIIzIMQwsXLtRrr72msrIyHT9+XNXV1UGPsdi+fbucTqd69uxZu23kyJH19lu1apWeffZZffvttzpy5IhOnjypzp07B/0ZfOcaNGiQOp7Wc3PJJZeopqZGO3fuVFpamiTp/PPPl91ur90nIyNDX375ZUjnCgc9GAAAa9hs3tsUwTyuukpyOLzHNPReTqd3v2Der6H3acDtt9+uNWvW6PDhw1q6dKnOPvtsXXbZZfrd736n/Px8zZ49W4WFhdq6davGjh2r48ePW/AN8tq0aZOmTJmia6+9Vn/5y1/0+eefa968eZae43Rt27b1e26z2VRTUxOVc52OgAEAiD27XcrP9/67bjjwPc/L8+4XBTfeeKOSkpK0fPly/fGPf9Rtt90mm82mDz/8UOPHj9evfvUrDRo0SP369dM333wT9PsOGDBApaWlKi8vr9320Ucf+e2zceNG9enTR/PmzdPQoUPVv39//e1vf/Pbp127djKaqAcyYMAAbdu2TUePHq3d9uGHHyopKUnnnHNO0G2OFgIGACA+3G6poEDq1ct/u8Ph3e52R+3UZ5xxhiZOnKi5c+eqvLxct9xyiySpf//+WrdunTZu3Kjt27frN7/5jd94hqaMGTNGP/3pTzVt2jRt27ZNxcXFmjdvnt8+/fv31549e7Ry5Up9++23evbZZ7V27Vq/fVwul0pKSrR161YdPHhQ1dXV9c41ZcoUtW/fXtOmTdNXX32lwsJCzZw5UzfffHPt7ZF4ImAAAOLH7ZZ275YKC6Xly71fS0qiGi58br/9dv3zn//U2LFja8dMPPDAA7rooos0duxYjR49Wunp6ZowYULQ75mUlKS1a9fqxx9/1PDhw3XHHXfoscce89vnF7/4he69917dfffdGjx4sDZu3Kj58+f77XPDDTfo6quvVlZWlrp37x5wqmyHDh307rvv6tChQxo2bJiys7N1xRVXaPHixaF/M6LAZppBTh5uIaqqqpSamqrKysqQB9QAALyOHTumkpIS9e3bV+3bt493c2Chxn62oVxD6cEAAACWI2AAAADLETAAAIDlCBgAAMByBAwAQNha2TyBVsGqnykBAwAQMl91yB9++CHOLYHVfBVF7REWOWMtEgBAyOx2u84880zt379fkrcmgy3Ect1ofmpqanTgwAF16NBBbdpEFhEIGACAsKSnp0tSbchAy5CUlKTevXtHHBgJGACAsNhsNmVkZKhHjx46ceJEvJsDi7Rr105JSZGPoCBgAAAiYrfbI75fj5aHQZ4AAMByBAwAAGA5AgYAALAcAQMAAFiOgAEAACxHwAAAAJYjYAAAAMsRMAAAgOUIGAAAwHIEDAAAYDkCBgAAsBwBAwAAWI6AAQAALEfAAAAAliNgAAAAyxEwAACA5QgYAADAcgQMAABgOQIGAACwHAEDAABYjoABAAAsR8AAAACWI2AAAADLETAAAIDlCBgAAMByBAwAAGA5AgYAALAcAQMAAFiOgAEAACxHwAAAAJYjYAAAAMsRMAAAgOXiHjCef/55uVwutW/fXiNGjNAnn3zS6P55eXk655xzlJKSIqfTqXvvvVfHjh2LUWsBAEAw4howVq1apVmzZmnBggXasmWLBg0apLFjx2r//v0B91++fLnmzJmjBQsWaPv27Xr55Ze1atUq3X///TFuOQAAaExcA8YzzzyjX//617r11lt13nnnacmS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V+qFF17QhAkT1LZt23r79O3bVzfddFOobw0AiCErVihldVI0JOSA8d1336lPnz6N7tOxY0ctXbo07EYBAEIXam8CK5QimkIeg7F//359/PHH9bZ//PHH+vTTTy1pFAAgNOGsC5KZmSmHw1FvoKaPzWaT0+lUZmZmtJqNFizkgDFjxgyVlpbW215WVqYZM2ZY0igAQPDCmQkiMRsE0RVywPj6668D1roYMmSIvv76a0saBQAITiQzQSRmgyB6Qh6DkZycrH379qlfv35+28vLy9WmDYuzAkAshbIuSEODMVmhFNEQciK46qqrNHfuXP35z39WamqqJOn777/X/fffryuvvNLyBgJAaxLqQE0rZoJIzAaB9UIOGE899ZQuvfRS9enTR0OGDJEkbd26VWlpafrTn/5keQMBoLUItWS3xEwQNF9hrUVy9OhRvfrqq9q2bZtSUlI0cOBATZo0KWBNjOaGQlsAmiPfQM26/0v2DbZsaDwE64IglkK5hoa92FmiImAAaG58IaGhsRRNhQRfOJHkFzKaCidAqKJaydPn66+/1p49e3T8+HG/7b/4xS/CfUsAaJUiHajpmwkS6PZKXl4e4QJxEVYlz+uvv15ffvmlbDZbbVr2JeWGpkIBAAKzYqAmM0HQ3IQcMHJyctS3b1+tX79effv21SeffKJ//OMf+vd//3c99dRT0WgjALRoVg3UZCYImpOQC21t2rRJjzzyiLp166akpCQlJSXpZz/7mRYtWqR77rknGm0EgBaNkt1oiUIOGIZhqFOnTpKkbt266e9//7skqU+fPtq5c6e1rQOABGUYhoqKirRixQoVFRU1evuYkt1oiUIOGBdccIG2bdsmSRoxYoSefPJJffjhh3rkkUfqVfcEgNYonIXHKNmNlibkaarvvvuujh49KrfbrV27dunnP/+5vvnmG3Xt2lWrVq3S5ZdfHq22WoJpqgCiKdx6Fj6hVvIEYinmdTAOHTqkLl26NHj/sDkhYACIlkjrWQDNXSjX0JBukZw4cUJt2rTRV1995bf9rLPOSohwAQDRFEo9C6ClCylgtG3bVr1796bWBQAEYNXCY0BLEPIgz3nz5un+++/XoUOHotEeAEhYLDwG/EvIYzCGDBmiXbt26cSJE+rTp486duzo9/qWLVssbaDVGIMBIFihDrhk4TG0dFFdi2TChAnhtgsAEkY4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s3T//fdr8+bNuueee9SuXTtNmzYtauedM2eOqqqqdO6558put8swDD322GOaMmVK1M55uoqKCkkK+Dvlew0AEgEBI4HNmDFDX331lT744IOonqe0tFQ5OTlat26d2rdvH9Vz+dTU1Gjo0KFauHChJGnIkCH66quvtGTJkqgGjNdee02vvvqqli9frvPPP19bt25Vbm6uevbsGdXzAkBLwy2SCISz3LxV7r77bv3lL39RYWGhHA5HVM/12Wefaf/+/brooovUpk0btWnTRu+//76effZZtWnTRoZhWH7OjIwMnXfeeX7bBgwYoD179lh+rtP9x3/8h+bMmaObbrpJF154oW6++Wbde++9tYvtRZvv9yYev1MAYCUCRgTCWW4+UqZp6u6779batWv117/+VX379o3KeU53xRVX6Msvv9TWrVtrH0OHDtWUKVO0detW2e12y895ySWX1Jt++80336hPnz6Wn+t0P/zwg9/iepJkt9tVU1MT1fP69O3bV+np6X6/U1VVVfr444+j9jsFANHALZIINbXcvNVmzJih5cuX689//rM6depUe18+NTVVKSkpUTlnp06d6o3x6Nixo7p27Rq1sR/33nuvRo0apYULF+rGG2/UJ598ohdffFEvvvhiVM7nM27cOD322GPq3bu3zj//fH3++ed65plndNttt1l2jiNHjmjXrl21z0tKSrR161adddZZ6t27t3Jzc/Xb3/5W/fv3V9++fTV//nz17NlTEyZMsKwNABB18Z7G0hI899xzZu/evc127dqZw4cPNz/66KOonUtSwMfSpUujds5Aoj1N1TRN8//+3/9rXnDBBWZycrJ57rnnmi+++GJUz2eapllVVWXm5OSYvXv3Ntu3b2/269fPnDdvnlldXW3ZOQoLCwP+DKdNm2aapneq6vz58820tDQzOTnZvOKKK8ydO3dadn4AiAWWawcAAJZjDAYAALAcAQMAAFiOgAEAACxHwAAAAJYjYAAAAMsRMAAAgOUIGAAAwHIEDAAAYDkCBoAWwWaz6fXXX493MwCcQsAAELFbbrlFNput3uPqq6+Od9MAxAmLnQGwxNVXX62lS5f6bUtOTo5TawDEGz0YACyRnJys9PR0v0eXLl0keW9fvPDCC7rmmmuUkpKifv36qaCgwO/4L7/8UpdffrlSUlLUtWtXTZ8+XUeOHPHb55VXXtH555+v5ORkZWRk6O677/Z7/eDBg7r++uvVoUMH9e/fX2+88UZ0PzSABhEwAMTE/PnzdcMNN2jbtm2aMmWKbrrpJm3fvl2SdPToUY0dO1ZdunTR5s2btXr1ar333nt+AeKFF17QjBkzNH36dH355Zd644039JOf/MTvHA8//LBuvPFGffHFF7r22ms1ZcoUHTp0KKafE8Ap8V7OFUDimzZtmmm3282OHTv6PR577DHTNE1TknnnnXf6HTNixAjzrrvuMk3TNF988UWzS5cu5pEjR2pff/PNN82kpCSzoqLCNE3T7Nmzpzlv3rwG2yDJfOCBB2qfHzlyxJRkvv3225Z9TgDBYwwGAEtkZWXphRde8Nt21lln1f575MiRfq+NHDlSW7dulSRt375dgwYNUseOHWtfv+SSS1RTU6OdO3fKZrPp73//u6644opG2zBw4MDaf3fs2FGdO3fW/v37w/1IACJAwABgiY4dO9a7ZWGVlJSUoPZr27at33ObzaaamppoNAlAExiDASAmPvroo3rPBwwYIEkaMGCAtm3bpqNHj9a+/uGHHyopKUnnnHOOOnXqJJfLpfXr18e0zQDCRw8GAEtUV1eroqLCb1ubNm3UrVs3SdLq1as1dOhQ/exnP9Orr76qTz75RC+//LIkacqUKVqwYIGmTZumhx56SAcOHNDMmTN18803Ky0tTZL00EMP6c4771SPHj10zTXX6PDhw/rwww81c+bM2H5QAEEhYACwxDvvvKOMjAy/beecc4527NghyTvDY+XKlfpf/+t/KSMjQytWrNB5550nSerQoYPeffdd5eTkaNiwYerQoYNuuOEGPfPMM7XvNW3aNB07dkz/9V//pfvuu0/dunVTdnZ27D4ggJDYTNM0490IAC2bzWbT2rVrNWHChHg3BUCMMAYDAABYjoABAAAsxxgMAFHHnVig9aEHAwAAWI6AAQAALEfAAAAAliNgAAAAyxEwAACA5QgYAADAcgQMAABgOQIGAACw3P8HolEDqe22hVEAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "log_path = cifar_logger.experiment.metrics_file_path\n", "cifar_results = pd.read_csv(log_path)\n", @@ -1768,15 +4271,50 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 60, "id": "e71eff9b", - "metadata": { - "lines_to_next_cell": 2 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "3e804034c1964ed38bbe2ca376491f54", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Testing: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " Test metric DataLoader 0\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " test_accuracy 0.40880000591278076\n", + " test_loss 2.4764862060546875\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'test_loss': 2.4764862060546875, 'test_accuracy': 0.40880000591278076}]" + ] + }, + "execution_count": 60, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "cifar_trainer.test(cifar_module,\n", - " datamodule=cifar_dm)\n" + " datamodule=cifar_dm)" ] }, { @@ -1801,12 +4339,508 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 61, "id": "58eae430", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: True\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "\n", + " | Name | Type | Params\n", + "-------------------------------------------\n", + "0 | model | CIFARModel | 964 K \n", + "1 | loss | CrossEntropyLoss | 0 \n", + "-------------------------------------------\n", + "964 K Trainable params\n", + "0 Non-trainable params\n", + "964 K Total params\n", + "3.858 Total estimated model params size (MB)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ebeb3882e14340e8b43876442c7e36d9", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchmetrics/utilities/checks.py:49: UserWarning: MPS: no support for int64 min/max ops, casting it to int32 (Triggered internally at /Users/runner/work/pytorch/pytorch/pytorch/aten/src/ATen/native/mps/operations/ReduceOps.mm:1271.)\n", + " if ignore_index is None and target.min() < 0:\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "`Trainer.fit` stopped: `max_epochs=30` reached.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "3436eeffcb544f009e93641c9b125c58", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Testing: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "try:\n", " for name, metric in cifar_module.metrics.items():\n", @@ -1855,12 +4889,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 62, "id": "638a1c8c", - "metadata": { - "lines_to_next_cell": 2 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchvision/transforms/functional.py:1603: UserWarning: The default value of the antialias parameter of all the resizing transforms (Resize(), RandomResizedCrop(), etc.) will change from None to True in v0.17, in order to be consistent across the PIL and Tensor backends. To suppress this warning, directly pass antialias=True (recommended, future default), antialias=None (current default, which means False for Tensors and True for PIL), or antialias=False (only works on Tensors - PIL will still use antialiasing). This also applies if you are using the inference transforms from the models weights: update the call to weights.transforms(antialias=True).\n", + " warnings.warn(\n" + ] + }, + { + "data": { + "text/plain": [ + "torch.Size([6, 3, 224, 224])" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "resize = Resize((232,232))\n", "crop = CenterCrop(224)\n", @@ -1883,19 +4934,226 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 63, "id": "7776ed1e", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " action_fn=lambda data: sys.getsizeof(data.storage()),\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " return super().__sizeof__() + self.nbytes()\n" + ] + }, + { + "data": { + "text/plain": [ + "===================================================================================================================\n", + "Layer (type:depth-idx) Input Shape Output Shape Param #\n", + "===================================================================================================================\n", + "ResNet [6, 3, 224, 224] [6, 1000] --\n", + "├─Conv2d: 1-1 [6, 3, 224, 224] [6, 64, 112, 112] 9,408\n", + "├─BatchNorm2d: 1-2 [6, 64, 112, 112] [6, 64, 112, 112] 128\n", + "├─ReLU: 1-3 [6, 64, 112, 112] [6, 64, 112, 112] --\n", + "├─MaxPool2d: 1-4 [6, 64, 112, 112] [6, 64, 56, 56] --\n", + "├─Sequential: 1-5 [6, 64, 56, 56] [6, 256, 56, 56] --\n", + "│ └─Bottleneck: 2-1 [6, 64, 56, 56] [6, 256, 56, 56] --\n", + "│ │ └─Conv2d: 3-1 [6, 64, 56, 56] [6, 64, 56, 56] 4,096\n", + "│ │ └─BatchNorm2d: 3-2 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", + "│ │ └─ReLU: 3-3 [6, 64, 56, 56] [6, 64, 56, 56] --\n", + "│ │ └─Conv2d: 3-4 [6, 64, 56, 56] [6, 64, 56, 56] 36,864\n", + "│ │ └─BatchNorm2d: 3-5 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", + "│ │ └─ReLU: 3-6 [6, 64, 56, 56] [6, 64, 56, 56] --\n", + "│ │ └─Conv2d: 3-7 [6, 64, 56, 56] [6, 256, 56, 56] 16,384\n", + "│ │ └─BatchNorm2d: 3-8 [6, 256, 56, 56] [6, 256, 56, 56] 512\n", + "│ │ └─Sequential: 3-9 [6, 64, 56, 56] [6, 256, 56, 56] 16,896\n", + "│ │ └─ReLU: 3-10 [6, 256, 56, 56] [6, 256, 56, 56] --\n", + "│ └─Bottleneck: 2-2 [6, 256, 56, 56] [6, 256, 56, 56] --\n", + "│ │ └─Conv2d: 3-11 [6, 256, 56, 56] [6, 64, 56, 56] 16,384\n", + "│ │ └─BatchNorm2d: 3-12 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", + "│ │ └─ReLU: 3-13 [6, 64, 56, 56] [6, 64, 56, 56] --\n", + "│ │ └─Conv2d: 3-14 [6, 64, 56, 56] [6, 64, 56, 56] 36,864\n", + "│ │ └─BatchNorm2d: 3-15 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", + "│ │ └─ReLU: 3-16 [6, 64, 56, 56] [6, 64, 56, 56] --\n", + "│ │ └─Conv2d: 3-17 [6, 64, 56, 56] [6, 256, 56, 56] 16,384\n", + "│ │ └─BatchNorm2d: 3-18 [6, 256, 56, 56] [6, 256, 56, 56] 512\n", + "│ │ └─ReLU: 3-19 [6, 256, 56, 56] [6, 256, 56, 56] --\n", + "│ └─Bottleneck: 2-3 [6, 256, 56, 56] [6, 256, 56, 56] --\n", + "│ │ └─Conv2d: 3-20 [6, 256, 56, 56] [6, 64, 56, 56] 16,384\n", + "│ │ └─BatchNorm2d: 3-21 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", + "│ │ └─ReLU: 3-22 [6, 64, 56, 56] [6, 64, 56, 56] --\n", + "│ │ └─Conv2d: 3-23 [6, 64, 56, 56] [6, 64, 56, 56] 36,864\n", + "│ │ └─BatchNorm2d: 3-24 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", + "│ │ └─ReLU: 3-25 [6, 64, 56, 56] [6, 64, 56, 56] --\n", + "│ │ └─Conv2d: 3-26 [6, 64, 56, 56] [6, 256, 56, 56] 16,384\n", + "│ │ └─BatchNorm2d: 3-27 [6, 256, 56, 56] [6, 256, 56, 56] 512\n", + "│ │ └─ReLU: 3-28 [6, 256, 56, 56] [6, 256, 56, 56] --\n", + "├─Sequential: 1-6 [6, 256, 56, 56] [6, 512, 28, 28] --\n", + "│ └─Bottleneck: 2-4 [6, 256, 56, 56] [6, 512, 28, 28] --\n", + "│ │ └─Conv2d: 3-29 [6, 256, 56, 56] [6, 128, 56, 56] 32,768\n", + "│ │ └─BatchNorm2d: 3-30 [6, 128, 56, 56] [6, 128, 56, 56] 256\n", + "│ │ └─ReLU: 3-31 [6, 128, 56, 56] [6, 128, 56, 56] --\n", + "│ │ └─Conv2d: 3-32 [6, 128, 56, 56] [6, 128, 28, 28] 147,456\n", + "│ │ └─BatchNorm2d: 3-33 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", + "│ │ └─ReLU: 3-34 [6, 128, 28, 28] [6, 128, 28, 28] --\n", + "│ │ └─Conv2d: 3-35 [6, 128, 28, 28] [6, 512, 28, 28] 65,536\n", + "│ │ └─BatchNorm2d: 3-36 [6, 512, 28, 28] [6, 512, 28, 28] 1,024\n", + "│ │ └─Sequential: 3-37 [6, 256, 56, 56] [6, 512, 28, 28] 132,096\n", + "│ │ └─ReLU: 3-38 [6, 512, 28, 28] [6, 512, 28, 28] --\n", + "│ └─Bottleneck: 2-5 [6, 512, 28, 28] [6, 512, 28, 28] --\n", + "│ │ └─Conv2d: 3-39 [6, 512, 28, 28] [6, 128, 28, 28] 65,536\n", + "│ │ └─BatchNorm2d: 3-40 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", + "│ │ └─ReLU: 3-41 [6, 128, 28, 28] [6, 128, 28, 28] --\n", + "│ │ └─Conv2d: 3-42 [6, 128, 28, 28] [6, 128, 28, 28] 147,456\n", + "│ │ └─BatchNorm2d: 3-43 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", + "│ │ └─ReLU: 3-44 [6, 128, 28, 28] [6, 128, 28, 28] --\n", + "│ │ └─Conv2d: 3-45 [6, 128, 28, 28] [6, 512, 28, 28] 65,536\n", + "│ │ └─BatchNorm2d: 3-46 [6, 512, 28, 28] [6, 512, 28, 28] 1,024\n", + "│ │ └─ReLU: 3-47 [6, 512, 28, 28] [6, 512, 28, 28] --\n", + "│ └─Bottleneck: 2-6 [6, 512, 28, 28] [6, 512, 28, 28] --\n", + "│ │ └─Conv2d: 3-48 [6, 512, 28, 28] [6, 128, 28, 28] 65,536\n", + "│ │ └─BatchNorm2d: 3-49 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", + "│ │ └─ReLU: 3-50 [6, 128, 28, 28] [6, 128, 28, 28] --\n", + "│ │ └─Conv2d: 3-51 [6, 128, 28, 28] [6, 128, 28, 28] 147,456\n", + "│ │ └─BatchNorm2d: 3-52 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", + "│ │ └─ReLU: 3-53 [6, 128, 28, 28] [6, 128, 28, 28] --\n", + "│ │ └─Conv2d: 3-54 [6, 128, 28, 28] [6, 512, 28, 28] 65,536\n", + "│ │ └─BatchNorm2d: 3-55 [6, 512, 28, 28] [6, 512, 28, 28] 1,024\n", + "│ │ └─ReLU: 3-56 [6, 512, 28, 28] [6, 512, 28, 28] --\n", + "│ └─Bottleneck: 2-7 [6, 512, 28, 28] [6, 512, 28, 28] --\n", + "│ │ └─Conv2d: 3-57 [6, 512, 28, 28] [6, 128, 28, 28] 65,536\n", + "│ │ └─BatchNorm2d: 3-58 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", + "│ │ └─ReLU: 3-59 [6, 128, 28, 28] [6, 128, 28, 28] --\n", + "│ │ └─Conv2d: 3-60 [6, 128, 28, 28] [6, 128, 28, 28] 147,456\n", + "│ │ └─BatchNorm2d: 3-61 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", + "│ │ └─ReLU: 3-62 [6, 128, 28, 28] [6, 128, 28, 28] --\n", + "│ │ └─Conv2d: 3-63 [6, 128, 28, 28] [6, 512, 28, 28] 65,536\n", + "│ │ └─BatchNorm2d: 3-64 [6, 512, 28, 28] [6, 512, 28, 28] 1,024\n", + "│ │ └─ReLU: 3-65 [6, 512, 28, 28] [6, 512, 28, 28] --\n", + "├─Sequential: 1-7 [6, 512, 28, 28] [6, 1024, 14, 14] --\n", + "│ └─Bottleneck: 2-8 [6, 512, 28, 28] [6, 1024, 14, 14] --\n", + "│ │ └─Conv2d: 3-66 [6, 512, 28, 28] [6, 256, 28, 28] 131,072\n", + "│ │ └─BatchNorm2d: 3-67 [6, 256, 28, 28] [6, 256, 28, 28] 512\n", + "│ │ └─ReLU: 3-68 [6, 256, 28, 28] [6, 256, 28, 28] --\n", + "│ │ └─Conv2d: 3-69 [6, 256, 28, 28] [6, 256, 14, 14] 589,824\n", + "│ │ └─BatchNorm2d: 3-70 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-71 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-72 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-73 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", + "│ │ └─Sequential: 3-74 [6, 512, 28, 28] [6, 1024, 14, 14] 526,336\n", + "│ │ └─ReLU: 3-75 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ └─Bottleneck: 2-9 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ │ └─Conv2d: 3-76 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-77 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-78 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-79 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", + "│ │ └─BatchNorm2d: 3-80 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-81 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-82 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-83 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", + "│ │ └─ReLU: 3-84 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ └─Bottleneck: 2-10 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ │ └─Conv2d: 3-85 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-86 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-87 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-88 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", + "│ │ └─BatchNorm2d: 3-89 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-90 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-91 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-92 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", + "│ │ └─ReLU: 3-93 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ └─Bottleneck: 2-11 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ │ └─Conv2d: 3-94 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-95 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-96 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-97 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", + "│ │ └─BatchNorm2d: 3-98 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-99 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-100 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-101 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", + "│ │ └─ReLU: 3-102 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ └─Bottleneck: 2-12 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ │ └─Conv2d: 3-103 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-104 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-105 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-106 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", + "│ │ └─BatchNorm2d: 3-107 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-108 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-109 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-110 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", + "│ │ └─ReLU: 3-111 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ └─Bottleneck: 2-13 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "│ │ └─Conv2d: 3-112 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-113 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-114 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-115 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", + "│ │ └─BatchNorm2d: 3-116 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", + "│ │ └─ReLU: 3-117 [6, 256, 14, 14] [6, 256, 14, 14] --\n", + "│ │ └─Conv2d: 3-118 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", + "│ │ └─BatchNorm2d: 3-119 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", + "│ │ └─ReLU: 3-120 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", + "├─Sequential: 1-8 [6, 1024, 14, 14] [6, 2048, 7, 7] --\n", + "│ └─Bottleneck: 2-14 [6, 1024, 14, 14] [6, 2048, 7, 7] --\n", + "│ │ └─Conv2d: 3-121 [6, 1024, 14, 14] [6, 512, 14, 14] 524,288\n", + "│ │ └─BatchNorm2d: 3-122 [6, 512, 14, 14] [6, 512, 14, 14] 1,024\n", + "│ │ └─ReLU: 3-123 [6, 512, 14, 14] [6, 512, 14, 14] --\n", + "│ │ └─Conv2d: 3-124 [6, 512, 14, 14] [6, 512, 7, 7] 2,359,296\n", + "│ │ └─BatchNorm2d: 3-125 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", + "│ │ └─ReLU: 3-126 [6, 512, 7, 7] [6, 512, 7, 7] --\n", + "│ │ └─Conv2d: 3-127 [6, 512, 7, 7] [6, 2048, 7, 7] 1,048,576\n", + "│ │ └─BatchNorm2d: 3-128 [6, 2048, 7, 7] [6, 2048, 7, 7] 4,096\n", + "│ │ └─Sequential: 3-129 [6, 1024, 14, 14] [6, 2048, 7, 7] 2,101,248\n", + "│ │ └─ReLU: 3-130 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", + "│ └─Bottleneck: 2-15 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", + "│ │ └─Conv2d: 3-131 [6, 2048, 7, 7] [6, 512, 7, 7] 1,048,576\n", + "│ │ └─BatchNorm2d: 3-132 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", + "│ │ └─ReLU: 3-133 [6, 512, 7, 7] [6, 512, 7, 7] --\n", + "│ │ └─Conv2d: 3-134 [6, 512, 7, 7] [6, 512, 7, 7] 2,359,296\n", + "│ │ └─BatchNorm2d: 3-135 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", + "│ │ └─ReLU: 3-136 [6, 512, 7, 7] [6, 512, 7, 7] --\n", + "│ │ └─Conv2d: 3-137 [6, 512, 7, 7] [6, 2048, 7, 7] 1,048,576\n", + "│ │ └─BatchNorm2d: 3-138 [6, 2048, 7, 7] [6, 2048, 7, 7] 4,096\n", + "│ │ └─ReLU: 3-139 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", + "│ └─Bottleneck: 2-16 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", + "│ │ └─Conv2d: 3-140 [6, 2048, 7, 7] [6, 512, 7, 7] 1,048,576\n", + "│ │ └─BatchNorm2d: 3-141 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", + "│ │ └─ReLU: 3-142 [6, 512, 7, 7] [6, 512, 7, 7] --\n", + "│ │ └─Conv2d: 3-143 [6, 512, 7, 7] [6, 512, 7, 7] 2,359,296\n", + "│ │ └─BatchNorm2d: 3-144 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", + "│ │ └─ReLU: 3-145 [6, 512, 7, 7] [6, 512, 7, 7] --\n", + "│ │ └─Conv2d: 3-146 [6, 512, 7, 7] [6, 2048, 7, 7] 1,048,576\n", + "│ │ └─BatchNorm2d: 3-147 [6, 2048, 7, 7] [6, 2048, 7, 7] 4,096\n", + "│ │ └─ReLU: 3-148 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", + "├─AdaptiveAvgPool2d: 1-9 [6, 2048, 7, 7] [6, 2048, 1, 1] --\n", + "├─Linear: 1-10 [6, 2048] [6, 1000] 2,049,000\n", + "===================================================================================================================\n", + "Total params: 25,557,032\n", + "Trainable params: 25,557,032\n", + "Non-trainable params: 0\n", + "Total mult-adds (G): 24.54\n", + "===================================================================================================================\n", + "Input size (MB): 3.61\n", + "Forward/backward pass size (MB): 1066.99\n", + "Params size (MB): 102.23\n", + "Estimated Total Size (MB): 1172.83\n", + "===================================================================================================================" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "resnet_model = resnet50(weights=ResNet50_Weights.DEFAULT)\n", "summary(resnet_model,\n", " input_data=imgs,\n", " col_names=['input_size',\n", " 'output_size',\n", - " 'num_params'])\n" + " 'num_params'])" ] }, { @@ -1908,12 +5166,196 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 64, "id": "5c8e359d", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "ResNet(\n", + " (conv1): Conv2d(3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False)\n", + " (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " (maxpool): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)\n", + " (layer1): Sequential(\n", + " (0): Bottleneck(\n", + " (conv1): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " (downsample): Sequential(\n", + " (0): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " )\n", + " )\n", + " (1): Bottleneck(\n", + " (conv1): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " (2): Bottleneck(\n", + " (conv1): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " )\n", + " (layer2): Sequential(\n", + " (0): Bottleneck(\n", + " (conv1): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " (downsample): Sequential(\n", + " (0): Conv2d(256, 512, kernel_size=(1, 1), stride=(2, 2), bias=False)\n", + " (1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " )\n", + " )\n", + " (1): Bottleneck(\n", + " (conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " (2): Bottleneck(\n", + " (conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " (3): Bottleneck(\n", + " (conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " )\n", + " (layer3): Sequential(\n", + " (0): Bottleneck(\n", + " (conv1): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " (downsample): Sequential(\n", + " (0): Conv2d(512, 1024, kernel_size=(1, 1), stride=(2, 2), bias=False)\n", + " (1): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " )\n", + " )\n", + " (1): Bottleneck(\n", + " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " (2): Bottleneck(\n", + " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " (3): Bottleneck(\n", + " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " (4): Bottleneck(\n", + " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " (5): Bottleneck(\n", + " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " )\n", + " (layer4): Sequential(\n", + " (0): Bottleneck(\n", + " (conv1): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " (downsample): Sequential(\n", + " (0): Conv2d(1024, 2048, kernel_size=(1, 1), stride=(2, 2), bias=False)\n", + " (1): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " )\n", + " )\n", + " (1): Bottleneck(\n", + " (conv1): Conv2d(2048, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " (2): Bottleneck(\n", + " (conv1): Conv2d(2048, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv3): Conv2d(512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (relu): ReLU(inplace=True)\n", + " )\n", + " )\n", + " (avgpool): AdaptiveAvgPool2d(output_size=(1, 1))\n", + " (fc): Linear(in_features=2048, out_features=1000, bias=True)\n", + ")" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "resnet_model.eval()" ] @@ -1932,12 +5374,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 65, "id": "80f19869", "metadata": {}, "outputs": [], "source": [ - "img_preds = resnet_model(imgs)\n" + "img_preds = resnet_model(imgs)" ] }, { @@ -1953,13 +5395,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 66, "id": "6892597d", "metadata": {}, "outputs": [], "source": [ "img_probs = np.exp(np.asarray(img_preds.detach()))\n", - "img_probs /= img_probs.sum(1)[:,None]\n" + "img_probs /= img_probs.sum(1)[:,None]" ] }, { @@ -1972,7 +5414,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 67, "id": "3eb1e1b0", "metadata": {}, "outputs": [], @@ -1982,7 +5424,7 @@ " labs.items()],\n", " columns=['idx', 'label'])\n", "class_labels = class_labels.set_index('idx')\n", - "class_labels = class_labels.sort_index()\n" + "class_labels = class_labels.sort_index()" ] }, { @@ -1997,19 +5439,54 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 68, "id": "0e89d251", - "metadata": { - "lines_to_next_cell": 2 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Image: book_images/flamingo.jpg\n", + " label prob\n", + "0 flamingo 0.591760\n", + "1 spoonbill 0.012386\n", + "2 American_egret 0.002105\n", + "Image: book_images/hawk.jpg\n", + " label prob\n", + "0 great_grey_owl 0.287958\n", + "1 kite 0.039478\n", + "2 fountain 0.029384\n", + "Image: book_images/hawk_cropped.jpeg\n", + " label prob\n", + "0 kite 0.301841\n", + "1 jay 0.121659\n", + "2 magpie 0.015511\n", + "Image: book_images/huey.jpg\n", + " label prob\n", + "0 Lhasa 0.151153\n", + "1 Shih-Tzu 0.129804\n", + "2 Tibetan_terrier 0.102400\n", + "Image: book_images/kitty.jpg\n", + " label prob\n", + "0 tabby 0.173628\n", + "1 tiger_cat 0.110415\n", + "2 doormat 0.093447\n", + "Image: book_images/weaver.jpg\n", + " label prob\n", + "0 jacamar 0.287284\n", + "1 bee_eater 0.046768\n", + "2 bulbul 0.037507\n" + ] + } + ], "source": [ "for i, imgfile in enumerate(imgfiles):\n", " img_df = class_labels.copy()\n", " img_df['prob'] = img_probs[i]\n", " img_df = img_df.sort_values(by='prob', ascending=False)[:3]\n", " print(f'Image: {imgfile}')\n", - " print(img_df.reset_index().drop(columns=['idx']))\n" + " print(img_df.reset_index().drop(columns=['idx']))" ] }, { @@ -2026,11 +5503,9 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 69, "id": "69456669", - "metadata": { - "lines_to_next_cell": 2 - }, + "metadata": {}, "outputs": [], "source": [ "del(cifar_test,\n", @@ -2064,24 +5539,33 @@ "* `load_sparse()`, a sparse matrix version usable by `sklearn`, since we will compare with a lasso fit;\n", "* `load_sequential()`, a padded\n", "version of the original sequence representation, limited to the last\n", - "500 words of each review.\n", - "\n" + "500 words of each review." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 70, "id": "70b3ece2", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 1, 14, 22, 16, 43, 530, 973, 1622, 1385, 65, 458,\n", + " 4468], dtype=int32)" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "(imdb_seq_train,\n", " imdb_seq_test) = load_sequential(root='data/IMDB')\n", "padded_sample = np.asarray(imdb_seq_train.tensors[0][0])\n", "sample_review = padded_sample[padded_sample > 0][:12]\n", - "sample_review[:12]\n" + "sample_review[:12]" ] }, { @@ -2103,10 +5587,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 71, "id": "349b2af7", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "\" this film was just brilliant casting location scenery story direction everyone's\"" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "lookup = load_lookup(root='data/IMDB')\n", "' '.join(lookup[i] for i in sample_review)" @@ -2126,11 +5621,9 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 72, "id": "ffa8da37", - "metadata": { - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "max_num_workers=10\n", @@ -2140,7 +5633,7 @@ " imdb_test,\n", " validation=2000,\n", " num_workers=min(6, max_num_workers),\n", - " batch_size=512)\n" + " batch_size=512)" ] }, { @@ -2153,11 +5646,9 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 73, "id": "11eeeabb", - "metadata": { - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "class IMDBModel(nn.Module):\n", @@ -2177,7 +5668,7 @@ " self.activation,\n", " self.output]:\n", " val = _map(val)\n", - " return torch.flatten(val)\n" + " return torch.flatten(val)" ] }, { @@ -2190,17 +5681,57 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 74, "id": "5fe55a29", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " action_fn=lambda data: sys.getsizeof(data.storage()),\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " return super().__sizeof__() + self.nbytes()\n" + ] + }, + { + "data": { + "text/plain": [ + "===================================================================================================================\n", + "Layer (type:depth-idx) Input Shape Output Shape Param #\n", + "===================================================================================================================\n", + "IMDBModel [25000, 10003] [25000] --\n", + "├─Linear: 1-1 [25000, 10003] [25000, 16] 160,064\n", + "├─ReLU: 1-2 [25000, 16] [25000, 16] --\n", + "├─Linear: 1-3 [25000, 16] [25000, 16] 272\n", + "├─ReLU: 1-4 [25000, 16] [25000, 16] --\n", + "├─Linear: 1-5 [25000, 16] [25000, 1] 17\n", + "===================================================================================================================\n", + "Total params: 160,353\n", + "Trainable params: 160,353\n", + "Non-trainable params: 0\n", + "Total mult-adds (G): 4.01\n", + "===================================================================================================================\n", + "Input size (MB): 1000.30\n", + "Forward/backward pass size (MB): 6.60\n", + "Params size (MB): 0.64\n", + "Estimated Total Size (MB): 1007.54\n", + "===================================================================================================================" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "imdb_model = IMDBModel(imdb_test.tensors[0].size()[1])\n", "summary(imdb_model,\n", " input_size=imdb_test.tensors[0].size(),\n", " col_names=['input_size',\n", " 'output_size',\n", - " 'num_params'])\n" + " 'num_params'])" ] }, { @@ -2222,7 +5753,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 75, "id": "e1ebbc70", "metadata": {}, "outputs": [], @@ -2230,7 +5761,7 @@ "imdb_optimizer = RMSprop(imdb_model.parameters(), lr=0.001)\n", "imdb_module = SimpleModule.binary_classification(\n", " imdb_model,\n", - " optimizer=imdb_optimizer)\n" + " optimizer=imdb_optimizer)" ] }, { @@ -2245,10 +5776,496 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 76, "id": "9feddeb2", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", + " rank_zero_warn(\n", + "\n", + " | Name | Type | Params\n", + "--------------------------------------------\n", + "0 | model | IMDBModel | 160 K \n", + "1 | loss | BCEWithLogitsLoss | 0 \n", + "--------------------------------------------\n", + "160 K Trainable params\n", + "0 Non-trainable params\n", + "160 K Total params\n", + "0.641 Total estimated model params size (MB)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1892: PossibleUserWarning: The number of training batches (45) is smaller than the logging interval Trainer(log_every_n_steps=50). Set a lower value for log_every_n_steps if you want to see logs for the training epoch.\n", + " rank_zero_warn(\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "44936d415c7e4ad6b38cd97c733a90be", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "`Trainer.fit` stopped: `max_epochs=30` reached.\n" + ] + } + ], "source": [ "imdb_logger = CSVLogger('logs', name='IMDB')\n", "imdb_trainer = Trainer(deterministic=True,\n", @@ -2269,12 +6286,47 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 77, "id": "887d7dad", - "metadata": { - "lines_to_next_cell": 2 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "03f177eef9fe4ed090eef15f0a005581", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Testing: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " Test metric DataLoader 0\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " test_accuracy 0.8543599843978882\n", + " test_loss 1.1992340087890625\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'test_loss': 1.1992340087890625, 'test_accuracy': 0.8543599843978882}]" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "test_results = imdb_trainer.test(imdb_module, datamodule=imdb_dm)\n", "test_results" @@ -2294,7 +6346,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 78, "id": "055a9aeb", "metadata": {}, "outputs": [], @@ -2303,7 +6355,7 @@ " (X_valid, Y_valid),\n", " (X_test, Y_test)) = load_sparse(validation=2000,\n", " random_state=0,\n", - " root='data/IMDB')\n" + " root='data/IMDB')" ] }, { @@ -2318,16 +6370,14 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 79, "id": "e3e1e181", - "metadata": { - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "lam_max = np.abs(X_train.T * (Y_train - Y_train.mean())).max()\n", "lam_val = lam_max * np.exp(np.linspace(np.log(1),\n", - " np.log(1e-4), 50))\n" + " np.log(1e-4), 50))" ] }, { @@ -2338,23 +6388,21 @@ "With `LogisticRegression()` the regularization parameter\n", "$C$ is specified as the inverse of $\\lambda$. There are several\n", "solvers for logistic regression; here we use `liblinear` which\n", - "works well with the sparse input format. " + "works well with the sparse input format." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 80, "id": "dd64350c", - "metadata": { - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "logit = LogisticRegression(penalty='l1', \n", " C=1/lam_max,\n", " solver='liblinear',\n", " warm_start=True,\n", - " fit_intercept=True)\n" + " fit_intercept=True)" ] }, { @@ -2367,7 +6415,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 81, "id": "0bf8b868", "metadata": {}, "outputs": [], @@ -2379,7 +6427,7 @@ " logit.C = 1/l\n", " logit.fit(X_train, Y_train)\n", " coefs.append(logit.coef_.copy())\n", - " intercepts.append(logit.intercept_)\n" + " intercepts.append(logit.intercept_)" ] }, { @@ -2393,15 +6441,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 82, "id": "28256828", - "metadata": { - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "coefs = np.squeeze(coefs)\n", - "intercepts = np.squeeze(intercepts)\n" + "intercepts = np.squeeze(intercepts)" ] }, { @@ -2415,11 +6461,9 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 83, "id": "a5945618", - "metadata": { - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "%%capture\n", @@ -2443,7 +6487,7 @@ " label=data_)\n", "axes[0].legend()\n", "axes[0].set_xlabel(r'$-\\log(\\lambda)$', fontsize=20)\n", - "axes[0].set_ylabel('Accuracy', fontsize=20)\n" + "axes[0].set_ylabel('Accuracy', fontsize=20)" ] }, { @@ -2458,12 +6502,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 84, "id": "74704884", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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66+/Xvfee688Ho/eeustXXTRRTIMQ3feeWc/HAGQWktLi1599VPZ08N7FpGp8MgvSf/8pzRhgtTcbFcPD4ftNS2rquyRliQtAQAAAABAHsnLxOWdd96pSy+9VBdffLEk6fe//70eeeQR3Xvvvbr++ut3at/S0qJJkybp/PPPlyRNmDBB3/rWt/T8889nNW6gNw455BBNmPCKVr0fUSzJn6ppROWuOFnaf2ti0uezLwAAAAAAAHks76aKb9myRf/61790yimnJK4rKCjQKaecomeffbbb+3g8Hv3rX/9KTCd/77339Oijj2rq1Kk97mfz5s3q6OjocgGyadSoUbq1ekzSpKUkRSxTVUcuy1JUAAAgmzgnBQAAA1neJS4/+eQTRaNRjRkzpsv1Y8aM0UcffdTtfc4//3zddNNNOvnkk1VYWKgDDzxQkydP1g9+8IMe93PzzTerqKgocRk/fnxGjwNIpbNTqr1ncNI2LkXkVUhlr96dpagAAEA2cU4KAAAGsrxLXO6KQCCgX/7yl/rd736nl156SQ0NDXrkkUf085//vMf73HDDDWpvb09cVq9encWIMVCtW7dOa9eulSQ9/rjUEj5YkjRIdiEpU52SrK1byaMWNWqajI/D/RIvAADoW5yTAgCAgSytNS4PP/xwzZw5UzNmzNDo0aMzFVNSo0aNksvlSiR34tauXauxY8d2e58f//jHqqqqUk1NjSTpiCOO0Pr163XZZZfphz/8oQoKds7f7rHHHtpjjz0yfwBADyzL0ne+8x0FAgH94Q9/0Nlnn60Hv/47ffvpb+ofOlObNER1qlJYbrkVVpXqVKZmGaZpF+EBAAC7Hc5JAQDAQJZW4vL111/XNddco+uvv15nnXWWLr74Yk2dOrXbRGCmDBo0SMcee6yefvppnX322ZKkWCymp59+Wpdffnm399mwYcNOMblcLkl2sgjoD5ZlKRgMqr6+XuFwWJ9//rkCgYAkaebMmZoyZYoqfniYTnt6gvbUBkmST807dxSJ2JXDAQAAAAAAdiNpJS6PPvpovfzyy+rs7NTDDz+shx9+WGPHjtWFF16oiy++WIccckim4uzi6quvVnV1tY477jidcMIJqq2t1fr16xNVxi+88EKNGzdON998sySpvLxcd955p44++mideOKJeuedd/TjH/9Y5eXliQQmkE1tbW3y+/0KhUIy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9DepQgAAAAAAALibxTAMozQnWLx4sbp37y673S5JqlKlitq0aaPIyEhJ0sGDB7V27VqdPXtWhmHIarXq22+/1e2331766svRyZMnVa1aNZ04cUJBQUFml3NVMQxDHTt21PLlyyV1lNRfVRWm3spUf81UdSXryVtuUVJysiwWi9nlAgBQYfF9xvPxHgIAAE92ud9lil6quQS6dOmihQsXqn///jpw4IBOnz6t5OTkfH1ystHatWtr5syZ6tSpU2kfFlcRi8WiJ598UsuXL1e8ktVfybpNUoOL+8c1bKjE+fMJLQEAAAAAALxIqYNLSbr11lu1c+dOzZgxQ9988402bNigw4cPS5JCQ0PVunVr9ezZU/369VNAQIA7HhJXkcOHpWGPN9NTGq4XNVvBliPyzTNQ+JnwcBFZAgAAAAAAeBe3BJeSFBAQoMGDB2vw4MHF9t2wYYNmzJihf//73+56eHixyZOP6fDxJnpP4xWoOnrLeD7ffsvq1VKvXlJSksSoSwAAAAAAAK9QqsV5LsfBgwf1z3/+U82bN1fbtm313nvvlddDw8NN/U/uauH9NfPSDna7lJIi/eESBQAAAAAAAPBcbhtxWZBz585p3rx5mjFjhv73v//J4XBIcl7zkusRoiS2brXr98MNJUmttF7NtLXgjlarNHOmFB9fjtUBAAAAAACgrJRJcLl06VLNmDFD8+bN0+nTpyXlLtATGRmpe+65R/fdd19ZPDS8zN///ruk6yQVMtoyh80mZWaWT1EAAAAAAAAoc24LLn/++WfNmDFDn3zyifbt2ycpN6ysU6eO7rvvPt1///2Ki4tjtCVKxOGQvv46SJLkK5se0meFd7ZapbCwcqoMAAAAAAAAZa1UweWRI0f02WefacaMGVq3bp2k3LCyevXqOn78uCwWi9555x317t279NXiqvLVV0d07pwzjOyqHxShjMI722xS//7lVBkAAAAAAADK2mUHl9nZ2fr66681Y8YMff/998rOznaFlf7+/urevbv69eunHj16qFKlSm4vGFePb76p4Wp3D10gHS6ko6+vFBcndexYPoUBAAAAAACgzJU4uFy5cqVmzJihOXPm6Ngx5yrPOYvstG/fXv369VPv3r0VHBxcZsXi6nHunPTFF85LClStKj36XmfpzxOcOy0WyTCc08NtNmdomZjo3A4AAAAAAACvUOLgMufalDmjKxs1aqR+/fqpb9++ioqKKqv6cJVavdoZXkrS/fdLleZMz915221S5crOa1r27+8caUloCQAAAAAA4FUue6p41apV9d577ykhIaEs6gEkSfHx0oED0uzZ0s0NMqRe8507atWSvv/eOdoSAAAAAAAAXsvncjobhqHTp0/rkUceUevWrTVu3DgdPHiwrGrDVerAgQO6+eab9dVXH2jgwNO6adUE5xLjkvT444SWAAAAAAAAV4ESB5fLli3Tww8/rGuuuUaGYSgtLU3PPvus6tWrp9tvv10zZszQ6dOny7JWXCU++ugjrVq1So899pj+/dZb0gcfOHf4+kqDBplbHAAAAAAAAMpFiYPLjh07aurUqcrIyNAnn3yibt26ycfHR3a7Xf/73/80cOBARURE6KGHHtJ3330nu91elnVLkiZOnKioqCgFBgYqJiZGq1evLrRvp06dZLFYLrn16NGjzOtEydntdn3wwceSJIvFoiEREVJGhnPnPfc4p4oDAAAAAADA613WVHFJCgwM1EMPPaQFCxZo7969evvttxUdHS3DMHT27FnNmTNHPXv2VGRkZFnU6/L5559r5MiRGjNmjNavX68WLVqoW7duyszMLLD/vHnzdPDgQddty5Yt8vX11QMPPFCmdeLyfPhhqvbuXSVpvNq3H6LQOXNydw4dalpdAAAAAAAAKF8WI2eZ8FLauHGjpk+frs8++0wZF0fIWS6u9BwZGan77rtP999/vzp06OCOh1NMTIxuuukmTZgwQZLkcDhUt25dPfnkk3r++eeLPf7dd9/Vyy+/rIMHD6pKlSqX7L9w4YIuXLjgun/y5EnVrVtXJ06cUFBQkFueAy51ww1faMeO+yVJgx7dpA9uXCRNmiT5+Uk//cTq4QAAlMLJkydVrVo1vs94EL6TAgAAb3K530cve8RlYVq0aKFx48Zp3759+uabb9S7d28FBATIMAwdOHBAEyZMUKdOnRQZGamhQ4dqyZIlV/xYWVlZWrdunbp06eLa5uPjoy5dumjFihUlOsdHH32kBx98sMDQUpLGjh2ratWquW5169a94npRNMMwtGzZMj344J+1Y0fMxa02vfLqjdJf/iL98ou0aBGhJQAAuOrwnRQAAFzN3DbisiAnT57U559/rpkzZ+rHH39UzkPlXF/SZrNd0XkPHDig2rVrKzU1VbGxsa7t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Vdzre7nfRz1yxGVoaKh8fX2VkZGRb3tGRoYiIiJKdA4/Pz+1atVKv/76a4H7AwICFBAQkG9b9erVr6heXL6goCB+gXgo3jvPxvvnuXjvPFd5v3eMtPQsZn4n5fdK2eM1Llu8vmWL17fs8RqXLV7fslXU63s530c98l/t/v7+atOmjZYsWeLa5nA4tGTJknwjMItit9u1efNmRUZGllWZAAAAAAAAAK6QR464lKSRI0cqISFBbdu2Vbt27fTuu+/qzJkzGjhwoCRpwIABql27tsaOHStJ+vvf/66bb75Z1113nY4fP65//vOf2r17twYNGmTm0wAAAAAAAABQAI8NLvv06aNDhw7p5ZdfVnp6ulq2bKnvv//etWDPnj178s2VP3bsmAYPHqz09HQFBwerTZs2Sk1NVZMmTcx6CihAQECAxowZc8mUKFR8vHeejffPc/HeeS7eO1RUfDbLHq9x2eL1LVu8vmWP17hs8fqWLXe/vh65OA8AAAAAAAAA7+aR17gEAAAAAAAA4N0ILgEAAAAAAABUOASXAAAAAAAAACocgksAAAAAAAAAFQ7BJSqcN998UxaLRU8//bTZpaCE9u/fr379+ikkJESVKlVSdHS01q5da3ZZKIbdbtdLL72kBg0aqFKlSrr22mv12muviTXbKqbk5GT17NlTtWrVksVi0VdffZVvv2EYevnllxUZGalKlSqpS5cu2rFjhznFIp+i3rvs7GyNGjVK0dHRqlKlimrVqqUBAwbowIED5hWMq97EiRMVFRWlwMBAxcTEaPXq1WaX5BVeeeUVWSyWfLfGjRubXZZH429j2Sru9X344Ycv+Uzfcccd5hTrgcaOHaubbrpJVatWVVhYmO6++25t3749X5/z589r2LBhCgkJ0TXXXKP77rtPGRkZJlXsWUry+nbq1OmSz/ATTzxhUsWeZ9KkSWrevLmCgoIUFBSk2NhYLViwwLXfXZ9fgktUKGvWrNH777+v5s2bm10KSujYsWNq3769/Pz8tGDBAv3000/617/+peDgYLNLQzHeeustTZo0SRMmTNC2bdv01ltv6e2339b48ePNLg0FOHPmjFq0aKGJEycWuP/tt9/We++9p8mTJ2vVqlWqUqWKunXrpvPnz5dzpfijot67s2fPav369XrppZe0fv16zZs3T9u3b9ddd91lQqWA9Pnnn2vkyJEaM2aM1q9frxYtWqhbt27KzMw0uzSv0LRpUx08eNB1W758udkleTT+Npat4l5fSbrjjjvyfaY/++yzcqzQsyUlJWnYsGFauXKlFi1apOzsbHXt2lVnzpxx9XnmmWf09ddfa+7cuUpKStKBAwd07733mli15yjJ6ytJgwcPzvcZfvvtt02q2PPUqVNHb775ptatW6e1a9fqtttuU69evbR161ZJbvz8GkAFcerUKeP66683Fi1aZMTHxxsjRowwuySUwKhRo4xbbrnF7DJwBXr06GE88sgj+bbde++9Rt++fU2qCCUlyfjyyy9d9x0OhxEREWH885//dG07fvy4ERAQYHz22WcmVIjC/PG9K8jq1asNScbu3bvLpyggj3bt2hnDhg1z3bfb7UatWrWMsWPHmliVdxgzZozRokULs8vwWvxtLFsF/f1KSEgwevXqZUo93igzM9OQZCQlJRmG4fy8+vn5GXPnznX12bZtmyHJWLFihVlleqw/vr6GYZA7lIHg4GDjww8/dOvnlxGXqDCGDRumHj16qEuXLmaXgsswf/58tW3bVg888IDCwsLUqlUrffDBB2aXhRKIi4vTkiVL9Msvv0iSNm7cqOXLl+vOO+80uTJcrt9//13p6en5fn9Wq1ZNMTExWrFihYmV4UqcOHFCFotF1atXN7sUXGWysrK0bt26fL9LfHx81KVLF36XuMmOHTtUq1YtNWzYUH379tWePXvMLslr8bexfCxbtkxhYWFq1KiRhgwZoiNHjphdksc6ceKEJKlGjRqSpHXr1ik7OzvfZ7hx48aqV68en+Er8MfXN8cnn3yi0NBQNWvWTKNHj9bZs2fNKM/j2e12zZ49W2fOnFFsbKxbP79WdxcLXInZs2dr/fr1WrNmjdml4DL99ttvmjRpkkaOHKkXXnhBa9as0VNPPSV/f38lJCSYXR6K8Pzzz+vkyZNq3LixfH19Zbfb9frrr6tv375ml4bLlJ6eLkkKDw/Ptz08PNy1D57h/PnzGjVqlB566CEFBQWZXQ6uMocPH5bdbi/wd8nPP/9sUlXeIyYmRtOmTVOjRo108OBBvfrqq+rQoYO2bNmiqlWrml2e1+FvY9m74447dO+996pBgwbauXOnXnjhBd15551asWKFfH19zS7PozgcDj399NNq3769mjVrJsn5Gfb397/kH5l8hi9fQa+vJP35z39W/fr1VatWLW3atEmjRo3S9u3bNW/ePBOr9SybN29WbGyszp8/r2uuuUZffvmlmjRporS0NLd9fgkuYbq9e/dqxIgRWrRokQIDA80uB5fJ4XCobdu2euONNyRJrVq10pYtWzR58mSCywpuzpw5+uSTT/Tpp5+qadOmSktL09NPP61atWrx3gEmyM7OVu/evWUYhiZNmmR2OQDcLO+MhubNmysmJkb169fXnDlz9Oijj5pYGXBlHnzwQVc7OjpazZs317XXXqtly5apc+fOJlbmeYYNG6YtW7Zw3dsyUtjr+9hjj7na0dHRioyMVOfOnbVz505de+215V2mR2rUqJHS0tJ04sQJffHFF0pISFBSUpJbH4Op4jDdunXrlJmZqdatW8tqtcpqtSopKUnvvfeerFar7Ha72SWiCJGRkWrSpEm+bTfeeCNTnzzAs88+q+eff14PPvigoqOj1b9/fz3zzDMaO3as2aXhMkVEREjSJav0ZWRkuPahYssJLXfv3q1FixYx2hKmCA0Nla+vL79Lykn16tV1ww036NdffzW7FK/E38by17BhQ4WGhvKZvkzDhw/XN998o6VLl6pOnTqu7REREcrKytLx48fz9eczfHkKe30LEhMTI0l8hi+Dv7+/rrvuOrVp00Zjx45VixYt9J///Metn1+CS5iuc+fO2rx5s9LS0ly3tm3bqm/fvkpLS2OaQQXXvn17bd++Pd+2X375RfXr1zepIpTU2bNn5eOT/8+Ar6+vHA6HSRXhSjVo0EARERFasmSJa9vJkye1atUqxcbGmlgZSiIntNyxY4cWL16skJAQs0vCVcrf319t2rTJ97vE4XBoyZIl/C4pA6dPn9bOnTsVGRlpdileib+N5W/fvn06cuQIn+kSMgxDw4cP15dffqn//e9/atCgQb79bdq0kZ+fX77P8Pbt27Vnzx4+wyVQ3OtbkLS0NEniM1wKDodDFy5ccOvnl6niMF3VqlXzXWdCkqpUqaKQkJBLtqPieeaZZxQXF6c33nhDvXv31urVqzVlyhRNmTLF7NJQjJ49e+r1119XvXr11LRpU23YsEHjxo3TI488YnZpKMDp06fz/ff3999/V1pammrUqKF69erp6aef1j/+8Q9df/31atCggV566SXVqlVLd999t3lFQ1LR711kZKTuv/9+rV+/Xt98843sdrvruj81atSQv7+/WWXjKjVy5EglJCSobdu2ateund59912dOXNGAwcONLs0j/fXv/5VPXv2VP369XXgwAGNGTNGvr6+euihh8wuzWPxt7FsFfX61qhRQ6+++qruu+8+RUREaOfOnXruued03XXXqVu3biZW7TmGDRumTz/9VImJiapatarr73+1atVUqVIlVatWTY8++qhGjhypGjVqKCgoSE8++aRiY2N18803m1x9xVfc67tz5059+umn6t69u0JCQrRp0yY988wz6tixo5o3b25y9Z5h9OjRuvPOO1WvXj2dOnVKn376qZYtW6aFCxe69/Pr1nXPATeJj483RowYYXYZKKGvv/7aaNasmREQEGA0btzYmDJlitkloQROnjxpjBgxwqhXr54RGBhoNGzY0Pjb3/5mXLhwwezSUIClS5caki65JSQkGIZhGA6Hw3jppZeM8PBwIyAgwOjcubOxfft2c4uGYRhFv3e///57gfskGUuXLjW7dFylxo8fb9SrV8/w9/c32rVrZ6xcudLskrxCnz59jMjISMPf39+oXbu20adPH+PXX381uyyPxt/GslXU63v27Fmja9euRs2aNQ0/Pz+jfv36xuDBg4309HSzy/YYhf39//jjj119zp07ZwwdOtQIDg42KleubNxzzz3GwYMHzSvagxT3+u7Zs8fo2LGjUaNGDSMgIMC47rrrjGeffdY4ceKEuYV7kEceecSoX7++4e/vb9SsWdPo3Lmz8cMPP7j2u+vzazEMw7jcVBUAAAAAAAAAyhLXuAQAAAAAAABQ4RBcAgAAAAAAAKhwCC4BAAAAAAAAVDgElwAAAAAAAAAqHIJLAAAAAAAAABUOwSUAAAAAAACACofgEgAAAAAAAECFQ3AJAAAAAAAAoMIhuAQAAAAAAOVu165dslgsslgsmjZtmtnlAKiACC4BAAAAAChHy5YtcwV2Jb09/fTTZpcNAOWO4BIASmjatGmuL467du0yu5wSycrK0vXXXy+LxaIvvvii0H6GYSgoKEg+Pj4KDw9Xnz59tGfPnmLPP2zYMFksFiUkJLizbAAAAAAAZDW7AABA2fnPf/6jX3/9Vc2aNdN9991XaL+dO3fq1KlTkqTMzEzNmTNHP//8szZu3Fjk+UeNGqUPP/xQM2fO1FNPPaU2bdq4tX4AAABvN2TIEA0dOrTYfqGhoeVQDQBULASXAOClTp06pbfeekuS9OKLL8pisRTaNzIyUps3b9b+/fs1dOhQ/fbbb9q0aZM2btyoFi1aFHpcvXr1lJCQoA8++EAvvfSSvvvuO7c/DwAAAG8WFhamZs2amV0GAFRITBUHAC81adIkHTlyRPXq1dMDDzxQZN8qVaqoWbNm6tatm1577TXX9rS0tGIf5y9/+YskacGCBVq3bl2pagYAAAAAIAfBJQB4IbvdrgkTJkiSHnroIfn4lPzXfWxsrKu9ZcuWYvs3atRIrVu3liSNHz/+MisFAADAlYiKipLFYtHDDz8sSVqzZo0eeugh1a1bV4GBgapbt64GDhyon3/+uUTn+/rrr3X//ferTp06CggIUEhIiGJjY/Xmm2/q9OnTJTrHli1b9OSTTyo6OlrBwcHy8/NTRESEunTporffflsHDx4s9hyLFi1Sz549FRERoYCAADVo0EBDhgzRvn37SlQDAO9CcAkAXmjRokXau3evJKlv376XdWxUVJSqVKkiqWTBZd7HmDt3rutamQAAACgfU6dOVVxcnGbPnq19+/bpwoUL2rdvn6ZNm6aWLVtq7ty5hR57/vx53Xvvvbrrrrv03//+V/v371dWVpaOHj2qlStXavTo0WrUqFGRM3HsdrtGjhyp5s2ba8KECdqyZYuOHz8um82mjIwMLVmyRKNGjdLo0aOLfB6jR49W165d9c033ygjI0NZWVnatWuXJk+erNatW2vbtm1X+hIB8FAElwDgRllZWfq///s/3XrrrapZs6b8/f0VERGh7t27a9asWXI4HMWe48iRI3ruuefUqFEjVapUSeHh4br99tv15ZdfSirZ6uZz5syRJF1//fWKjo6+rOdgsVh07bXXSip5cJmz8M/Zs2eVmJh4WY8HAACAK5eWlqYnnnhCYWFhGj9+vFatWqWkpCSNGjVKAQEBunDhgvr27au1a9cWeHxCQoLre2aLFi00Y8YMrVmzRgsXLtTAgQNlsVh04MABde7cWfv37y/wHI899pj+/e9/yzAMRUZG6vXXX9fSpUu1fv16LVy4UK+99lqR102XpA8++EBvvvmm4uPj9emnn2rt2rVavHixBgwYIEk6dOiQHnnkkVK8UgA8EYvzAICb7Nq1S3feeecl03EyMjK0YMECLViwQO+//74SExNVo0aNAs+xefNm3X777crIyHBtO3/+vBYvXqzFixfrscceyzeVuzBLly6VJN18882X/TxWrFihzZs3S5L27dunEydOqFq1akUeU79+fUVERCg9PV0LFixQv379LvtxAQAArkaZmZklvjyPn5/fJds3btyo+vXra+XKlYqIiHBt79ixo7p166auXbsqOztbQ4cO1erVq/Md++2337r+4d25c2d999138vf3d+3v2rWrYmNj9dhjj+no0aMaOXKkPv/883znmD9/vqZOnSrJecmh7777TtWrV8/Xp2vXrnrxxRddM4IKkpqaqsGDB+v999/Pt6hk586d5e/vrw8//FArV67Uhg0b1KpVq2JeLQDeghGXAOAGp0+fVufOnV2h5d1336358+dr7dq1mjt3ruLj4yVJy5cvV8+ePWW32y85x/Hjx3XHHXe4Qsv+/ftrwYIFWrt2rWbPnq3Y2FhNmTJFkydPLrKWffv2uUZi3nTTTZf1PGw2m5544gkZhuHatnXr1hId265dO0lSUlLSZT0mAADA1WzSpEmKjo4u9lbYaEdJ+te//pUvtMxx6623avDgwZKc18D846jLiRMnSpL8/Pz08ccf5wstcwwePFhdunSRJM2bN++S61S++eabkqTKlSvriy++uCS0zKtu3bqF7ouMjNT48ePzhZY5/vrXv7raKSkphZ4DgPchuAQAN3j11Vf122+/SZJefPFFffnll+rZs6fatGmj+++/X0uXLnVdBzI1NVVTpkwp8BwHDhyQJL377ruaMWOG7rjjDrVp00Z9+vRRSkqKevXqpVWrVhVZS2pqqqt9uf+N/ve//61Nmzbl21bS6eJt2rSRJO3fvz/fiFEAAACUneDgYPXq1avQ/XmnVy9evNjVttlsrn84d+3atchQMSf8tNlsWrZsmWv7kSNHtHLlSklSnz59VKtWrSt6DpJ0//33KyAgoMB9jRo10jXXXCNJru/cAK4OBJcAUEoXLlzQhx9+KElq2rSpXnnllUv6WCwW/d///Z9CQkIkybXid95zTJs2TZJzlOSIESMuOYevr6/ef/99BQYGFllP3hUXw8LCSvw8du/e7ao9Li7Otb2kwWXex+ILJQAAQMmMGTNGhmEUe4uKiirw+FatWslqLfwqcC1btnSNpMy5HJDk/L529uxZSVJMTEyRNebdn/e7YVpammumTocOHYp+osVo3LhxkfuDg4MliYUggasMwSUAlNK6det0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", + "text/plain": [ + "
" + ] + }, + "execution_count": 84, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "imdb_results = pd.read_csv(imdb_logger.experiment.metrics_file_path)\n", "summary_plot(imdb_results,\n", @@ -2493,11 +6547,9 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 85, "id": "b1ecfca8", - "metadata": { - "lines_to_next_cell": 2 - }, + "metadata": {}, "outputs": [], "source": [ "del(imdb_model,\n", @@ -2534,12 +6586,12 @@ "`ISLP` library. Notably, since more than 90% of the documents\n", "had fewer than 500 words, we set the document length to 500. For\n", "longer documents, we used the last 500 words, and for shorter\n", - "documents, we padded the front with blanks.\n" + "documents, we padded the front with blanks." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 86, "id": "5503cb3f", "metadata": {}, "outputs": [], @@ -2549,7 +6601,7 @@ " validation=2000,\n", " batch_size=300,\n", " num_workers=min(6, max_num_workers)\n", - " )\n" + " )" ] }, { @@ -2582,11 +6634,9 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 87, "id": "8b683641", - "metadata": { - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "class LSTMModel(nn.Module):\n", @@ -2613,17 +6663,55 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 88, "id": "702aa8de", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " action_fn=lambda data: sys.getsizeof(data.storage()),\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " return super().__sizeof__() + self.nbytes()\n" + ] + }, + { + "data": { + "text/plain": [ + "===================================================================================================================\n", + "Layer (type:depth-idx) Input Shape Output Shape Param #\n", + "===================================================================================================================\n", + "LSTMModel [10, 500] [10] --\n", + "├─Embedding: 1-1 [10, 500] [10, 500, 32] 320,096\n", + "├─LSTM: 1-2 [10, 500, 32] [10, 500, 32] 8,448\n", + "├─Linear: 1-3 [10, 32] [10, 1] 33\n", + "===================================================================================================================\n", + "Total params: 328,577\n", + "Trainable params: 328,577\n", + "Non-trainable params: 0\n", + "Total mult-adds (M): 45.44\n", + "===================================================================================================================\n", + "Input size (MB): 50.00\n", + "Forward/backward pass size (MB): 2.56\n", + "Params size (MB): 1.31\n", + "Estimated Total Size (MB): 53.87\n", + "===================================================================================================================" + ] + }, + "execution_count": 88, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "lstm_model = LSTMModel(X_test.shape[-1])\n", "summary(lstm_model,\n", " input_data=imdb_seq_train.tensors[0][:10],\n", " col_names=['input_size',\n", " 'output_size',\n", - " 'num_params'])\n" + " 'num_params'])" ] }, { @@ -2637,30 +6725,366 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 89, "id": "e48aa272", "metadata": {}, "outputs": [], "source": [ "lstm_module = SimpleModule.binary_classification(lstm_model)\n", - "lstm_logger = CSVLogger('logs', name='IMDB_LSTM')\n" + "lstm_logger = CSVLogger('logs', name='IMDB_LSTM')" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 90, "id": "143be7e8", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", + " rank_zero_warn(\n", + "\n", + " | Name | Type | Params\n", + "--------------------------------------------\n", + "0 | model | LSTMModel | 328 K \n", + "1 | loss | BCEWithLogitsLoss | 0 \n", + "--------------------------------------------\n", + "328 K Trainable params\n", + "0 Non-trainable params\n", + "328 K Total params\n", + "1.314 Total estimated model params size (MB)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1ee0aabd8caf403c93b8c4ba0a1c2507", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "`Trainer.fit` stopped: `max_epochs=20` reached.\n" + ] + } + ], "source": [ "lstm_trainer = Trainer(deterministic=True,\n", " max_epochs=20,\n", " logger=lstm_logger,\n", " callbacks=[ErrorTracker()])\n", "lstm_trainer.fit(lstm_module,\n", - " datamodule=imdb_seq_dm)\n" + " datamodule=imdb_seq_dm)" ] }, { @@ -2674,10 +7098,47 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 91, "id": "9272e2ba", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "92a1cacbb1944d74b3f3c0670eb84b63", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Testing: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " Test metric DataLoader 0\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " test_accuracy 0.8452399969100952\n", + " test_loss 0.7559056878089905\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'test_loss': 0.7559056878089905, 'test_accuracy': 0.8452399969100952}]" + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "lstm_trainer.test(lstm_module, datamodule=imdb_seq_dm)" ] @@ -2692,12 +7153,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 92, "id": "5d9d387e", - "metadata": { - "lines_to_next_cell": 2 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.5, 1.0)" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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HTp06ITb6dixY8B9h8NxwsDQUP+GfjZAYxxvVdO68RWhNmaB8/84nnCaVhxMDEy1UTiNLH/jjTd03XXX6fLLL9fQoUMVHx+vzz77rFVriI2NVVxcnN555x1/m9fr1datW1u1DoSHk62vIElZWVnyer2tXdpxBXvWDcJb3VG3qVOnauzYsSGxb2hthBCbhcvI8kGDBsnj8Wjbtm3avn27pk2bZuQUyOzZs7Vo0SL985//1K5du5SZmalvvvmGab6oJxxXNQ2nLyaACYSQILB7KeVgeOSRR9SjRw+df/75mjhxotLS0nTuuee2eh1z5szR1KlTNX36dKWkpKhr165KS0vjInOoJ1zHV4TLFxPABK6iexSutGpebW2thgwZoiuvvFL333+/bdvldxv+6i4LcDIFBQUhudJkOKyYCpyM3VfRZWAqjPr888/173//Wz/5yU9UU1OjJ554QkVFRZo2bZrp0hBiwnlJcSl8lhUHWhOnY2BURESEli1bptGjR+uCCy7Qjh079PLLL2vIkCGmS0OIYXwF0PZwJARGJSYm6o033jBdBsIE6ysAbQshBEBYYX0FoO0ghAAImmANxmR8BdA2EEIABEWwl1cHEP4YmArAduF2+XoAZhBCANgqHJdXB2AGIQSArcJxeXUAZhBCgsXrlTZulFas8P0Z4t/6xo4dq6ysLP/9pKQk5eTknPA5DodDa9eubfFr27UdhIZwXV4dQOsjhASDxyMlJUnjxknTpvn+TErytQfBxIkTNWHChAYfKywslMPh0Hvvvdekbb7zzju66aab7CjP75577tGIESPqtZeWlurSSy+19bVgDpevB9BYhBC7eTxSRoZ07OHokhJfexCCyPXXX68NGzY0eAh86dKlGjVqlIYNG9akbfbp00fR0dF2lXhC8fHxioqKapXXQvBx+XoAjUUIORnLkqqrG3errJRuu833nIa2I0mZmb5+jdleI68t+LOf/Ux9+vTRsmXLAtqrqqq0atUqTZ48WVOnTlVCQoKio6M1dOhQrVix4oTbPPZ0zMcff6wf//jH6tSpk84880xt2LCh3nPmzJmj008/XdHR0Ro4cKAWLFigw4cPS5KWLVume++9V9u3b5fD4ZDD4fDXe+zpmB07dujCCy9U586d1atXL910002qqqryP37ddddp8uTJevjhh+VyudSrVy/NmjXL/1owi+XVATQW64SczHffSV272rMty/IdIYmNbVz/qiqpS5eTduvQoYOmT5+uZcuWad68ef7/6FetWiWv16trrrlGq1at0pw5cxQTE6N169bp2muv1amnnqoxY8acdPu1tbVKT09XXFyc3n77bVVUVASMH6nTrVs3LVu2TP369dOOHTt04403qlu3brrzzjs1ZcoUvf/++1q/fr1efvllSVJsAz+H6upqpaWlKSUlRe+884727dunG264QbfeemtAyCooKJDL5VJBQYF2796tKVOmaMSIEbrxxhtP+n4QfCyvDqBRrHamoqLCkmRVVFTUe+zgwYPWBx98YB08ePCHxqoqy/LFh9a/VVU1+n3t3LnTkmQVFBT421JTU61rrrmmwf4//elPrf/93//13//JT35iZWZm+u/379/fevTRRy3LsqyXXnrJ6tChg1VSUuJ//MUXX7QkWWvWrDluTQ899JA1cuRI//2FCxdaw4cPr9fv6O08/fTTVo8ePayqo977unXrrIiICKusrMyyLMuaMWOG1b9/f+vIkSP+Pr/4xS+sKVOmHLeWBn+3CLojR45YBQUF1vLly62CgoKA3xmA8HOifWhzcCTkZKKjfUckGuO116TLLjt5vxdekH7848a9diOdccYZOv/88/XMM89o7Nix2r17twoLC3XffffJ6/XqgQce0D/+8Q+VlJTo0KFDqqmpafSYj507dyoxMVH9+vXzt6WkpNTrt3LlSj322GP65JNPVFVVpSNHjigmJqbR76HutYYPH64uRx0BuuCCC1RbW6tdu3YpLi5OknTWWWcFHM53uVzasWNHk14Lwcfy6gBOhDEhJ+Nw+E6JNOZ2ySWS2+17zvG2lZjo69eY7R1vO8dx/fXXa/Xq1fr222+1dOlSnXrqqfrJT36ihx56SLm5uZozZ44KCgq0bds2paWl6dChQzb8gHw2bdqkq6++Wpdddpn+9a9/6d1339W8efNsfY2jdezYMeC+w+FQbW1tUF4LABAchBA7OZ3Sfwfk1QsQdfdzcnz9guDKK69URESEli9frr/85S/6n//5HzkcDr3xxhuaNGmSrrnmGg0fPlwDBw7URx991OjtDhkyRMXFxQHrOrz11lsBfd588031799f8+bN06hRozRo0CB9/vnnAX0iIyNPukrmkCFDtH37dlVXV/vb3njjDUVERGjw4MGNrhkA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k0PImjVrAu4fPnxY7777rp599lnde++9thUGAADaNtvGhCxfvlwrV67UP//5Tzs2FzSMCQEAoHlCdkzIeeedp/z8fLs2BwAA2jhbQsjBgwf12GOPKSEhwY7NAQCAdqDJY0KOvVCdZVn69ttvFR0drb/97W+2FgcAANquJoeQRx99NCCEREREqE+fPkpOTlaPHj1sLQ4AALRdTQ4h1113XRDKAAAA7U2Tx4QsXbpUq1atqte+atUqPfvss7YUBQAA2r4mh5BFixapd+/e9dr79u2rBx54wJaiAABA29fkELJnzx4NGDCgXnv//v21Z88eW4oCAABtX5NDSN++ffXee+/Va9++fbt69eplS1EAAKDta3IImTp1qm677TYVFBTI6/XK6/XqlVdeUWZmpq666qpg1AgAANqgJs+Ouf/++/XZZ5/poosuUocOvqfX1tZq+vTpjAkBAACN1uxrx3z88cfatm2bOnfurKFDh6p///521xYUXDsGAIDmsXsf2uQjIXUGDRqkQYMGtbgAAADQPjV5TMgVV1yh3/3ud/XaH3zwQf3iF7+wpSgAAND2NTmEvPbaa7rsssvqtV966aV67bXXbCkKAAC0fU0OIVVVVYqMjKzX3rFjR1VWVtpSFAAAaPuaHEKGDh2qlStX1mt/7rnndOaZZ9pSFAAAaPuaPDB1wYIFSk9P1yeffKILL7xQkpSfn6/ly5crLy/P9gIBAEDb1OQQMnHiRK1du1YPPPCA8vLy1LlzZw0fPlyvvPKKevbsGYwaAQBAG9TsdULqVFZWasWKFVqyZIm2bNkir9drV21BwTohAAA0j9370CaPCanz2muvacaMGerXr59+//vf68ILL9Rbb73V4oIAAED70KTTMWVlZVq2bJmWLFmiyspKXXnllaqpqdHatWsZlAoAAJqk0UdCJk6cqMGDB+u9995TTk6OvvjiCz3++OPBrA0AALRhjT4S8uKLL+q2227TLbfcwnLtAACgxRp9JOT111/Xt99+q5EjRyo5OVlPPPGE9u/fH8zaAABAG9boEHLeeefpT3/6k0pLS/XLX/5Szz33nPr166fa2lpt2LBB3377bTDrBAAAbUyLpuju2rVLS5Ys0V//+lcdOHBAF198sZ5//nk767MdU3QBAGiekJmiK0mDBw/Wgw8+qL1792rFihUtLgYAALQfLV6sLNxwJAQA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4yHkkUce0Y033qiZM2fqzDPP1FNPPaXo6Gg988wzx32Ow+FQfHy8/xYXF9eKFQMAADt0MPnihw4d0pYtWzR37lx/W0REhMaPH69NmzYd93lVVVXq37+/amtrde655+qBBx7QWWed1WDfmpoa1dTU+O9XVFRIkiorK216FwAAtA91+07LsmzZntEQsn//fnm93npHMuLi4vThhx82+JzBgwfrmWee0bBhw1RRUaGHH35Y559/vv7f//t/crvd9fovWrRI9957b732xMREe94EAADtzFdffaXY2NgWb8doCGmOlJQUpaSk+O+ff/75GjJkiP74xz/q/vvvr9d/7ty5ys7O9t+vra3V119/rV69esnhcNhSU2VlpRITE1VcXKyYmBhbtonWwe8ufPG7C1/87sJXRUWFTjnlFPXs2dOW7RkNIb1795bT6VR5eXlAe3l5ueLj4xu1jY4dO+qcc87R7t27G3w8KipKUVFRAW3du3dvVr0nExMTwwcqTPG7C1/87sIXv7vwFRFhz5BSowNTIyMjNXLkSOXn5/vbamtrlZ+fH3C040S8Xq927Nghl8sVrDIBAEAQGD8dk52drRkzZmjUqFEaM2aMcnJyVF1drZkzZ0qSpk+froSEBC1atEiSdN999+m8887TaaedpgMHDuihhx7S559/rhtuuMHk2wAAAE1kPIRMmTJFX375pe6++26VlZVpxIgRWr9+vX+w6p49ewIO+3zzzTe68cYbVVZWph49emjkyJF68803deaZZ5p6C4qKitLChQvrnfZB6ON3F7743YUvfnfhy+7fncOya54NAABAExhfrAwAALRPhBAAAGAEIQQAABhBCAEAAEYQQmywePFiJSUlqVOnTkpOTtbmzZtNl4STuOeee+RwOAJuZ5xxhumy0IDXXntNEydOVL9+/eRwOLR27dqAxy3L0t133y2Xy6XOnTtr/Pjx+vjjj80UiwAn+91dd9119T6HEyZMMFMsAixatEijR49Wt27d1LdvX02ePFm7du0K6PP9999r1qxZ6tWrl7p27aorrrii3uKjJ0MIaaGVK1cqOztbCxcu1NatWzV8+HClpaVp3759pkvDSZx11lkqLS31315//XXTJaEB1dXVGj58uBYvXtzg4w8++KAee+wxPfXUU3r77bfVpUsXpaWl6fvvv2/lSnGsk/3uJGnChAkBn8MVK1a0YoU4nldffVWzZs3SW2+9pQ0bNujw4cO65JJLVF1d7e9z++236//+7/+0atUqvfrqq/riiy+Unp7etBey0CJjxoyxZs2a5b/v9Xqtfv36WYsWLTJYFU5m4cKF1vDhw02XgSaSZK1Zs8Z/v7a21oqPj7ceeughf9uBAwesqKgoa8WKFQYqxPEc+7uzLMuaMWOGNWnSJCP1oGn27dtnSbJeffVVy7J8n7OOHTtaq1at8vfZuXOnJcnatGlTo7fLkZAWOHTokLZs2aLx48f72yIiIjR+/Hht2rTJYGVojI8//lj9+vXTwIEDdfXVV2vPnj2mS0ITFRUVqaysLOAzGBsbq+TkZD6DYWLjxo3q27evBg8erFtuuUVfffWV6ZLQgIqKCknyX7huy5YtOnz4cMBn74wzztApp5zSpM8eIaQF9u/fL6/X61/dtU5cXJzKysoMVYXGSE5O1rJly7R+/Xo9+eSTKioqUmpqqr799lvTpaEJ6j5nfAbD04QJE/SXv/xF+fn5+t3vfqdXX31Vl156qbxer+nScJTa2lplZWXpggsu0Nlnny3J99mLjIysd0HYpn72jC/bDphw6aWX+v8+bNgwJScnq3///vrHP/6h66+/3mBlQPtx1VVX+f8+dOhQDRs2TKeeeqo2btyoiy66yGBlONqsWbP0/vvvB2XcHEdCWqB3795yOp31RgOXl5crPj7eUFVoju7du+v000/X7t27TZeCJqj7nPEZbBsGDhyo3r178zkMIbfeeqv+9a9/qaCgQG63298eHx+vQ4cO6cCBAwH9m/rZI4S0QGRkpEaOHKn8/Hx/W21trfLz85WSkmKwMjRVVVWVPvnkE7lcLtOloAkGDBig+Pj4gM9gZWWl3n77bT6DYWjv3r366quv+ByGAMuydOutt2rNmjV65ZVXNGDAgIDHR44cqY4dOwZ89nbt2qU9e/Y06bPH6ZgWys7O1owZMzRq1CiNGTNGOTk5qq6u1syZM02XhhO44447NHHiRPXv319ffPGFFi5cKKfTqalTp5ouDceoqqoK+GZcVFSkbdu2qWfPnjrllFOUlZWl3/zmNxo0aJAGDBigBQsWqF+/fpo8ebK5oiHpxL+7nj176t5779UVV1yh+Ph4ffLJJ7rzzjt12mmnKS0tzWDVkHynYJYvX65//vOf6tatm3+cR2xsrDp37qzY2Fhdf/31ys7OVs+ePRUTE6PZs2crJSVF5513XuNfyO5pPO3R448/bp1yyilWZGSkNWbMGOutt94yXRJOYsqUKZbL5bIiIyOthIQEa8qUKdbu3btNl4UGFBQUWJLq3WbMmGFZlm+a7oIFC6y4uDgrKirKuuiii6xdu3aZLRqWZZ34d/fdd99Zl1xyidWnTx+rY8eOVv/+/a0bb7zRKisrM102LKvB35ska+nSpf4+Bw8etH71q19ZPXr0sKKjo63LL7/cKi0tbdLrOP77YgAAAK2KMSEAAMAIQggAADCCEAIAAIwghAAAACMIIQAAwAhCCAAAMIIQAgAAjCCEAAAAIwghANoEh8OhtWvXmi4DQBMQQgC02HXXXSeHw1HvNmHCBNOlAQhhXMAOgC0mTJigpUuXBrRFRUUZqgZAOOBICABbREVFKT4+PuDWo0cPSb5TJU8++aQuvfRSde7cWQMHDlReXl7A83fs2KELL7xQnTt3Vq9evXTTTTepqqoqoM8zzzyjs846S1FRUXK5XLr11lsDHt+/f78uv/xyRUdHa9CgQXr++eeD+6YBtAghBECrWLBgga644gpt375dV199ta666irt3LlTklRdXa20tDT16NFD77zzjlatWqWXX345IGQ8+eSTmjVrlm666Sbt2LFDzz//vE477bSA17j33nt15ZVX6r333tNll12mq6++Wl9//XWrvk8ATWDrtX8BtEszZsywnE6n1aVLl4Dbb3/7W8uyfJcFv/nmmwOek5ycbN1yyy2WZVnW008/bfXo0cOqqqryP75u3TorIiLCf2n3fv36WfPmzTtuDZKs+fPn++9XVVVZkqwXX3zRtvcJwF6MCQFgi3HjxunJJ58MaOvZs6f/7ykpKQGPpaSkaNu2bZKknTt3avjw4erSpYv/8QsuuEC1tbXatWuXHA6HvvjiC1100UUnrGHYsGH+v3fp0kUxMTHat29fc98SgCAjhACwRZcuXeqdHrFL586dG9WvY8eOAfcdDodqa2uDURIAGzAmBECreOutt+rdHzJkiCRpyJAh2r59u6qrq/2Pv/HGG4qIiNDgwYPVrVs3JSUlKT8/v1VrBhBcHAkBYIuamhqVlZUFtHXo0EG9e/eWJK1atUqjRo3Sj370I/3973/X5s2btWTJEknS1VdfrYULF2rGjBm655579OWXX2r27Nm69tprFRcXJ0m65557dPPNN6tv37669NJL9e233+qNN97Q7NmzW/eNArANIQSALdavXy+XyxXQNnjwYH344YeSfDNXnnvuOf3qV7+Sy+XSihUrdOaZZ0qSoqOj9dJLLykzM1OjR49WdHS0rrjiCj3yyCP+bc2YMUPff/+9Hn30Ud1xxx3q3bu3MjIyWu8NArCdw7Isy3QRANo2h8OhNWvWaPLkyaZLARBCGBMCAACMIIQAAAAjGBMCIOg46wugIRwJAQAARhBCAACAEYQQAABgBCEEAAAYQQgBAABGEEIAAIARhBAAAGAEIQQAABjx/wG5wSkEXrsU0AAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "lstm_results = pd.read_csv(lstm_logger.experiment.metrics_file_path)\n", "fig, ax = subplots(1, 1, figsize=(6, 6))\n", @@ -2707,16 +7187,14 @@ " ylabel='Accuracy')\n", "ax.set_xticks(np.linspace(0, 20, 5).astype(int))\n", "ax.set_ylabel('Accuracy')\n", - "ax.set_ylim([0.5, 1])\n" + "ax.set_ylim([0.5, 1])" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 93, "id": "7c6d1072", - "metadata": { - "lines_to_next_cell": 2 - }, + "metadata": {}, "outputs": [], "source": [ "del(lstm_model,\n", @@ -2724,7 +7202,7 @@ " lstm_logger,\n", " imdb_seq_dm,\n", " imdb_seq_train,\n", - " imdb_seq_test)\n" + " imdb_seq_test)" ] }, { @@ -2740,7 +7218,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 94, "id": "8e2d1d5c", "metadata": {}, "outputs": [], @@ -2751,7 +7229,7 @@ " with_mean=True,\n", " with_std=True).fit_transform(NYSE[cols]),\n", " columns=NYSE[cols].columns,\n", - " index=NYSE.index)\n" + " index=NYSE.index)" ] }, { @@ -2765,7 +7243,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 95, "id": "6f6d0e12", "metadata": {}, "outputs": [], @@ -2776,7 +7254,7 @@ " newcol[lag:] = X[col].values[:-lag]\n", " X.insert(len(X.columns), \"{0}_{1}\".format(col, lag), newcol)\n", "X.insert(len(X.columns), 'train', NYSE['train'])\n", - "X = X.dropna()\n" + "X = X.dropna()" ] }, { @@ -2790,16 +7268,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 96, "id": "d3c961ec", - "metadata": { - "lines_to_next_cell": 2 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['DJ_return_1', 'log_volume_1', 'log_volatility_1', 'DJ_return_2',\n", + " 'log_volume_2', 'log_volatility_2', 'DJ_return_3', 'log_volume_3',\n", + " 'log_volatility_3', 'DJ_return_4', 'log_volume_4', 'log_volatility_4',\n", + " 'DJ_return_5', 'log_volume_5', 'log_volatility_5'],\n", + " dtype='object')" + ] + }, + "execution_count": 96, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Y, train = X['log_volume'], X['train']\n", "X = X.drop(columns=['train'] + cols)\n", - "X.columns\n" + "X.columns" ] }, { @@ -2813,10 +7304,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 97, "id": "cb89da88", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0.4128912938562521" + ] + }, + "execution_count": 97, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "M = LinearRegression()\n", "M.fit(X[train], Y[train])\n", @@ -2835,11 +7337,9 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 98, "id": "55d921d7", - "metadata": { - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "X_day = pd.merge(X, \n", @@ -2859,12 +7359,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 99, "id": "4e87eeb9", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.45633025715446285" + ] + }, + "execution_count": 99, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "M.fit(X_day[train], Y[train])\n", "M.score(X_day[~train], Y[~train])" @@ -2895,24 +7404,37 @@ "observation to be earliest in time, so we must reverse the current order. Hence we loop over\n", "`range(5,0,-1)` below, which is\n", "an example of using a `slice()` to index\n", - "iterable objects. The general notation is `start:end:step`. " + "iterable objects. The general notation is `start:end:step`." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 100, "id": "3689b318", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['DJ_return_5', 'log_volume_5', 'log_volatility_5', 'DJ_return_4',\n", + " 'log_volume_4', 'log_volatility_4', 'DJ_return_3', 'log_volume_3',\n", + " 'log_volatility_3', 'DJ_return_2', 'log_volume_2', 'log_volatility_2',\n", + " 'DJ_return_1', 'log_volume_1', 'log_volatility_1'],\n", + " dtype='object')" + ] + }, + "execution_count": 100, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ordered_cols = []\n", "for lag in range(5,0,-1):\n", " for col in cols:\n", " ordered_cols.append('{0}_{1}'.format(col, lag))\n", "X = X.reindex(columns=ordered_cols)\n", - "X.columns\n" + "X.columns" ] }, { @@ -2925,12 +7447,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 101, "id": "5633e521", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(6046, 5, 3)" + ] + }, + "execution_count": 101, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X_rnn = X.to_numpy().reshape((-1,5,3))\n", "X_rnn.shape" @@ -2952,7 +7483,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 102, "id": "979a6066", "metadata": {}, "outputs": [], @@ -2989,7 +7520,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 103, "id": "3528f4e7", "metadata": {}, "outputs": [], @@ -2999,7 +7530,7 @@ " X_rnn_t = torch.tensor(X_rnn[mask].astype(np.float32))\n", " Y_t = torch.tensor(Y[mask].astype(np.float32))\n", " datasets.append(TensorDataset(X_rnn_t, Y_t))\n", - "nyse_train, nyse_test = datasets\n" + "nyse_train, nyse_test = datasets" ] }, { @@ -3012,18 +7543,54 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 104, "id": "795c283e", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " action_fn=lambda data: sys.getsizeof(data.storage()),\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", + " return super().__sizeof__() + self.nbytes()\n" + ] + }, + { + "data": { + "text/plain": [ + "===================================================================================================================\n", + "Layer (type:depth-idx) Input Shape Output Shape Param #\n", + "===================================================================================================================\n", + "NYSEModel [1770, 5, 3] [1770] --\n", + "├─RNN: 1-1 [1770, 5, 3] [1770, 5, 12] 204\n", + "├─Dropout: 1-2 [1770, 12] [1770, 12] --\n", + "├─Linear: 1-3 [1770, 12] [1770, 1] 13\n", + "===================================================================================================================\n", + "Total params: 217\n", + "Trainable params: 217\n", + "Non-trainable params: 0\n", + "Total mult-adds (M): 1.83\n", + "===================================================================================================================\n", + "Input size (MB): 0.11\n", + "Forward/backward pass size (MB): 0.86\n", + "Params size (MB): 0.00\n", + "Estimated Total Size (MB): 0.97\n", + "===================================================================================================================" + ] + }, + "execution_count": 104, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "summary(nyse_model,\n", " input_data=X_rnn_t,\n", " col_names=['input_size',\n", " 'output_size',\n", - " 'num_params'])\n" + " 'num_params'])" ] }, { @@ -3038,11 +7605,9 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 105, "id": "31640121", - "metadata": { - "lines_to_next_cell": 0 - }, + "metadata": {}, "outputs": [], "source": [ "nyse_dm = SimpleDataModule(nyse_train,\n", @@ -3062,16 +7627,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 106, "id": "af6795f5", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.Size([64]) torch.Size([64])\n", + "torch.Size([64]) torch.Size([64])\n", + "torch.Size([64]) torch.Size([64])\n" + ] + } + ], "source": [ "for idx, (x, y) in enumerate(nyse_dm.train_dataloader()):\n", " out = nyse_model(x)\n", " print(y.size(), out.size())\n", " if idx >= 2:\n", - " break\n" + " break" ] }, { @@ -3086,7 +7661,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 107, "id": "0d04344c", "metadata": {}, "outputs": [], @@ -3095,7 +7670,7 @@ " lr=0.001)\n", "nyse_module = SimpleModule.regression(nyse_model,\n", " optimizer=nyse_optimizer,\n", - " metrics={'r2':R2Score()})\n" + " metrics={'r2':R2Score()})" ] }, { @@ -3104,17 +7679,1870 @@ "metadata": {}, "source": [ "Fitting the model should by now be familiar.\n", - "The results on the test data are very similar to the linear AR model. " + "The results on the test data are very similar to the linear AR model." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 108, "id": "485d7bb1", - "metadata": { - "lines_to_next_cell": 2 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", + " rank_zero_warn(\n", + "\n", + " | Name | Type | Params\n", + "------------------------------------\n", + "0 | model | NYSEModel | 217 \n", + "1 | loss | MSELoss | 0 \n", + "------------------------------------\n", + "217 Trainable params\n", + "0 Non-trainable params\n", + "217 Total params\n", + "0.001 Total estimated model params size (MB)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "bf9eb739cc954760813987d94e79fb8e", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ce04cc5cab594022a6b0e9a1f429ba10", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a45ddcb60d7b4bd69dfaa5e0338d7dcb", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c95a6371f5af4aeaa0a58a5f5b85db44", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "89e3e03d38994cf1a1093722c2c4fe1a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "951e5cbfbb804e779bbbaf4b4a351ae2", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5d3d473df90f4dd3aeb829d52d35d641", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7395df14478d4bed859a3f9cf8ccbead", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ef61c7b225144a7398cff81780b0e60b", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "404284c1c9ea41628cb9bb6f4d031cd3", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b651d8b168ee452a98c397148c7d1aea", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7c66168b0e85424c8abe2446f7f9e5a9", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "6998335a07b341f39fd4ebf1c93d162f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "076763c8702042028a8d216e15fef774", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "abb0d6faecc24e059b3e68671dc38ad5", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "140dcdd80e2443619f46d24a17ed9d50", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "991f4ae3b2b249848b57f5015f5fe6c7", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "95da57cb36fb4ebaa0d52fa94d6c4b32", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5d6915797540439da8b0448c860eb604", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "e5855d2022474bb7923ec7915138699b", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "209f7ce81cd24ef2976c054769619f84", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1924729f28a84ff3b7c9c8607cea1de7", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "58b7467b4a7c4b10aee2d9bf3eb3fafc", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ce9b0241a7384110a1b0291f01f3780b", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7ec8d539b2ab4f58beb3b5f49764fff3", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "41c8e961dac34415a4ccceb8babbcf01", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "8ac4d97ce9634218bdf232cca63d6069", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ffea75eb7ccc4af3b66af673c485401b", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "80c06a18bd4e4b159ff4f0bd1b333994", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "911f58a64ce24c9b8825fdd6372580eb", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "37e309ed15c34ebf9ad329024eda3c23", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "59a073d533f0447fa920155ad6e9aa1a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5175feb3fd374cd89de5c62e3d3b1b08", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ce0ca0dae31c498ea244ccdcfae501e7", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "bd510768c59f427787f55d787ea8e5cc", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "95dfb50b714949bf8e28d8bbe00736bf", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "437d2e7134b24877afc41e5355fb686c", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "4fc6d6a6db814fcca6cdc78e63f3f816", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "45a341642e2d4080ad9554826fe775f0", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b5a45975a73c4d3f9b6d19dc27d249f5", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "742d6b44d2a14afba4b98a4e4ce75e2c", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "60e2119e8ae348ab9368218e4fef8c7c", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "aac8c13ba5864e6cb2d62a2c6a5dde86", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "0022bae4698c4f52b7515abb1a444d4c", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ff5051151de94de98de6be6b6ee5c6b6", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "38bf027d00494f90a40bb178fe6db007", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d6cf38392f8c448883140a325ca52878", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ae0806202fe441d68d48773578f252c2", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "2a788a24e8f843e18e6013d7d76d1041", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1b46aad0207543afad9d9ac4670605c2", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "0e90e2cf3add47c7958f4025508c0f40", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "3750b847af554f3ebe96677e2d2580d1", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "dd50a1b812d04368968cf4c4ecf3f639", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a5c7d28ab7c44c0aae170b05a3c6e923", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c32ddfe9a7f44ee8a1485716dd209ca1", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "47a99671fd634e1799addd33bfaca5ab", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "98482279444c4db9bc48fbfe02dfb7dc", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a56dbc5229434698a43139dc4ff3a460", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b52732b1d1e94f46a1cd037b29d27ce0", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "4f1264a1828b4d55b74f0dccd97919c5", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "59bf88e571724091ab98f7258dbe4780", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "632942952df344ee98d2423705e060c5", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "152694e1fe214fe899cbeba080d5fec7", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "92e87ecd035e4a98af8940873c217a08", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5cfb6d3324224105bb51a11ee3610e99", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "4b11d5fcedba4da68bec988d9c1af1a8", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "39bf95953cd84ff1b5206301be0caba9", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "4507f5f3b42c4f79815e72a55cd57101", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c47d400fe5ac44098a50f94c59223d71", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "8b580013d7f0447a96878fa0982eda94", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "49e3e8b33931437bb03110aacac4c11d", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "82e34b2ab25a4d52bd58dd791fab350b", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "0233c4562c014826845209456bb8d5f4", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Testing: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " Test metric DataLoader 0\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " test_loss 0.6207807064056396\n", + " test_r2 0.41084879636764526\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'test_loss': 0.6207807064056396, 'test_r2': 0.41084879636764526}]" + ] + }, + "execution_count": 108, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "nyse_trainer = Trainer(deterministic=True,\n", " max_epochs=200,\n", @@ -3143,7 +9571,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 109, "id": "91d6633a", "metadata": {}, "outputs": [], @@ -3167,7 +9595,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 110, "id": "87137503", "metadata": {}, "outputs": [], @@ -3176,7 +9604,7 @@ " day_test,\n", " num_workers=min(4, max_num_workers),\n", " validation=day_test,\n", - " batch_size=64)\n" + " batch_size=64)" ] }, { @@ -3189,7 +9617,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 111, "id": "3cf09a55", "metadata": {}, "outputs": [], @@ -3203,12 +9631,12 @@ " nn.Dropout(0.5),\n", " nn.Linear(32, 1))\n", " def forward(self, x):\n", - " return torch.flatten(self._forward(x))\n" + " return torch.flatten(self._forward(x))" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 112, "id": "930576f3", "metadata": {}, "outputs": [], @@ -3218,7 +9646,7 @@ " lr=0.001)\n", "nl_module = SimpleModule.regression(nl_model,\n", " optimizer=nl_optimizer,\n", - " metrics={'r2':R2Score()})\n" + " metrics={'r2':R2Score()})" ] }, { @@ -3232,12 +9660,281 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 113, "id": "b9ae8d0e", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "\n", + " | Name | Type | Params\n", + "-------------------------------------------\n", + "0 | model | NonLinearARModel | 705 \n", + "1 | loss | MSELoss | 0 \n", + "-------------------------------------------\n", + "705 Trainable params\n", + "0 Non-trainable params\n", + "705 Total params\n", + "0.003 Total estimated model params size (MB)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1e278bfc60e6404f98175752ac8f6482", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IOPub message rate exceeded.\n", + "The Jupyter server will temporarily stop sending output\n", + "to the client in order to avoid crashing it.\n", + "To change this limit, set the config variable\n", + "`--ServerApp.iopub_msg_rate_limit`.\n", + "\n", + "Current values:\n", + "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", + "ServerApp.rate_limit_window=3.0 (secs)\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " Test metric DataLoader 0\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " test_loss 0.5648325681686401\n", + " test_r2 0.4639463424682617\n", + "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" + ] + }, + { + "data": { + "text/plain": [ + "[{'test_loss': 0.5648325681686401, 'test_r2': 0.4639463424682617}]" + ] + }, + "execution_count": 113, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "nl_trainer = Trainer(deterministic=True,\n", " max_epochs=20,\n", @@ -3245,23 +9942,30 @@ "nl_trainer.fit(nl_module, datamodule=day_dm)\n", "nl_trainer.test(nl_module, datamodule=day_dm) " ] - }, - { - "cell_type": "markdown", - "id": "fd356e46", - "metadata": {}, - "source": [ - " \n", - "\n", - " \n" - ] } ], "metadata": { "jupytext": { "cell_metadata_filter": "-all", - "main_language": "python", - "notebook_metadata_filter": "-all" + "formats": "ipynb,md:myst", + "main_language": "python" + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch11-surv-lab.ipynb b/docs/source/labs/Ch11-surv-lab.ipynb index f85f01f..07c4a5d 100644 --- a/docs/source/labs/Ch11-surv-lab.ipynb +++ b/docs/source/labs/Ch11-surv-lab.ipynb @@ -7,7 +7,7 @@ "source": [ "# Survival Analysis\n", "\n", - "\n", + "\n", " \"Open\n", "\n", "\n", @@ -28,7 +28,14 @@ "cell_type": "code", "execution_count": null, "id": "91ac40fd", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:03.064349Z", + "iopub.status.busy": "2023-07-26T05:18:03.064029Z", + "iopub.status.idle": "2023-07-26T05:18:04.312445Z", + "shell.execute_reply": "2023-07-26T05:18:04.312016Z" + } + }, "outputs": [], "source": [ "from matplotlib.pyplot import subplots\n", @@ -51,7 +58,14 @@ "cell_type": "code", "execution_count": null, "id": "99782418", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:04.315115Z", + "iopub.status.busy": "2023-07-26T05:18:04.314859Z", + "iopub.status.idle": "2023-07-26T05:18:04.379768Z", + "shell.execute_reply": "2023-07-26T05:18:04.379303Z" + } + }, "outputs": [], "source": [ "from lifelines import \\\n", @@ -77,7 +91,14 @@ "cell_type": "code", "execution_count": null, "id": "3137149a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:04.382594Z", + "iopub.status.busy": "2023-07-26T05:18:04.382386Z", + "iopub.status.idle": "2023-07-26T05:18:04.389761Z", + "shell.execute_reply": "2023-07-26T05:18:04.389375Z" + } + }, "outputs": [], "source": [ "BrainCancer = load_data('BrainCancer')\n", @@ -97,7 +118,14 @@ "cell_type": "code", "execution_count": null, "id": "45963c92", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:04.392289Z", + "iopub.status.busy": "2023-07-26T05:18:04.392117Z", + "iopub.status.idle": "2023-07-26T05:18:04.396285Z", + "shell.execute_reply": "2023-07-26T05:18:04.395840Z" + } + }, "outputs": [], "source": [ "BrainCancer['sex'].value_counts()" @@ -107,7 +135,14 @@ "cell_type": "code", "execution_count": null, "id": "73be61f6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:04.400201Z", + "iopub.status.busy": "2023-07-26T05:18:04.399975Z", + "iopub.status.idle": "2023-07-26T05:18:04.403967Z", + "shell.execute_reply": "2023-07-26T05:18:04.403581Z" + } + }, "outputs": [], "source": [ "BrainCancer['diagnosis'].value_counts()" @@ -117,7 +152,14 @@ "cell_type": "code", "execution_count": null, "id": "572f0b9e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:04.406232Z", + "iopub.status.busy": "2023-07-26T05:18:04.406110Z", + "iopub.status.idle": "2023-07-26T05:18:04.409773Z", + "shell.execute_reply": "2023-07-26T05:18:04.409374Z" + } + }, "outputs": [], "source": [ "BrainCancer['status'].value_counts()" @@ -152,7 +194,14 @@ "cell_type": "code", "execution_count": null, "id": "92c39707", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:04.411840Z", + "iopub.status.busy": "2023-07-26T05:18:04.411663Z", + "iopub.status.idle": "2023-07-26T05:18:04.539774Z", + "shell.execute_reply": "2023-07-26T05:18:04.539439Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", @@ -190,7 +239,14 @@ "cell_type": "code", "execution_count": null, "id": "3fc7848c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:04.542265Z", + "iopub.status.busy": "2023-07-26T05:18:04.542002Z", + "iopub.status.idle": "2023-07-26T05:18:04.674613Z", + "shell.execute_reply": "2023-07-26T05:18:04.674126Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", @@ -217,7 +273,14 @@ "cell_type": "code", "execution_count": null, "id": "bf30d26f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:04.679625Z", + "iopub.status.busy": "2023-07-26T05:18:04.679410Z", + "iopub.status.idle": "2023-07-26T05:18:04.743501Z", + "shell.execute_reply": "2023-07-26T05:18:04.743166Z" + } + }, "outputs": [], "source": [ "logrank_test(by_sex['Male']['time'],\n", @@ -243,7 +306,14 @@ "cell_type": "code", "execution_count": null, "id": "2ab78e07", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:04.746088Z", + "iopub.status.busy": "2023-07-26T05:18:04.745814Z", + "iopub.status.idle": "2023-07-26T05:18:04.773972Z", + "shell.execute_reply": "2023-07-26T05:18:04.773498Z" + } + }, "outputs": [], "source": [ "coxph = CoxPHFitter # shorthand\n", @@ -275,7 +345,14 @@ "cell_type": "code", "execution_count": null, "id": "4716b7b0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:04.776775Z", + "iopub.status.busy": "2023-07-26T05:18:04.776463Z", + "iopub.status.idle": "2023-07-26T05:18:04.783362Z", + "shell.execute_reply": "2023-07-26T05:18:04.782865Z" + } + }, "outputs": [], "source": [ "cox_fit.log_likelihood_ratio_test()" @@ -300,7 +377,14 @@ "cell_type": "code", "execution_count": null, "id": "c2767d88", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:04.785790Z", + "iopub.status.busy": "2023-07-26T05:18:04.785586Z", + "iopub.status.idle": "2023-07-26T05:18:04.824235Z", + "shell.execute_reply": "2023-07-26T05:18:04.823739Z" + } + }, "outputs": [], "source": [ "cleaned = BrainCancer.dropna()\n", @@ -338,7 +422,14 @@ "cell_type": "code", "execution_count": null, "id": "ede1d219", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:04.826852Z", + "iopub.status.busy": "2023-07-26T05:18:04.826662Z", + "iopub.status.idle": "2023-07-26T05:18:04.831013Z", + "shell.execute_reply": "2023-07-26T05:18:04.830464Z" + } + }, "outputs": [], "source": [ "levels = cleaned['diagnosis'].unique()\n", @@ -364,7 +455,14 @@ "cell_type": "code", "execution_count": null, "id": "dc032a71", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:04.833522Z", + "iopub.status.busy": "2023-07-26T05:18:04.833389Z", + "iopub.status.idle": "2023-07-26T05:18:04.840549Z", + "shell.execute_reply": "2023-07-26T05:18:04.840260Z" + } + }, "outputs": [], "source": [ "modal_df = pd.DataFrame(\n", @@ -386,7 +484,14 @@ "cell_type": "code", "execution_count": null, "id": "e7c1fe43", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:04.843157Z", + "iopub.status.busy": "2023-07-26T05:18:04.843004Z", + "iopub.status.idle": "2023-07-26T05:18:04.852876Z", + "shell.execute_reply": "2023-07-26T05:18:04.852545Z" + } + }, "outputs": [], "source": [ "modal_X = all_MS.transform(modal_df)\n", @@ -406,7 +511,14 @@ "cell_type": "code", "execution_count": null, "id": "f89fbed7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:04.855400Z", + "iopub.status.busy": "2023-07-26T05:18:04.855197Z", + "iopub.status.idle": "2023-07-26T05:18:04.864584Z", + "shell.execute_reply": "2023-07-26T05:18:04.864194Z" + } + }, "outputs": [], "source": [ "predicted_survival = fit_all.predict_survival_function(modal_X)\n", @@ -427,7 +539,14 @@ "cell_type": "code", "execution_count": null, "id": "8f0329b4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:04.867553Z", + "iopub.status.busy": "2023-07-26T05:18:04.867105Z", + "iopub.status.idle": "2023-07-26T05:18:04.987503Z", + "shell.execute_reply": "2023-07-26T05:18:04.986681Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", @@ -451,7 +570,14 @@ "cell_type": "code", "execution_count": null, "id": "3045bfc0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:04.990450Z", + "iopub.status.busy": "2023-07-26T05:18:04.990225Z", + "iopub.status.idle": "2023-07-26T05:18:05.181343Z", + "shell.execute_reply": "2023-07-26T05:18:05.178676Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", @@ -478,7 +604,14 @@ "cell_type": "code", "execution_count": null, "id": "d070f716", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:05.184743Z", + "iopub.status.busy": "2023-07-26T05:18:05.184569Z", + "iopub.status.idle": "2023-07-26T05:18:05.222538Z", + "shell.execute_reply": "2023-07-26T05:18:05.221996Z" + } + }, "outputs": [], "source": [ "posres_df = MS(['posres',\n", @@ -505,7 +638,14 @@ "cell_type": "code", "execution_count": null, "id": "2bbcdd0c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:05.225196Z", + "iopub.status.busy": "2023-07-26T05:18:05.224969Z", + "iopub.status.idle": "2023-07-26T05:18:05.270258Z", + "shell.execute_reply": "2023-07-26T05:18:05.269721Z" + } + }, "outputs": [], "source": [ "model = MS(Publication.columns.drop('mech'),\n", @@ -553,7 +693,14 @@ "cell_type": "code", "execution_count": null, "id": "b8ece43a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:05.272852Z", + "iopub.status.busy": "2023-07-26T05:18:05.272613Z", + "iopub.status.idle": "2023-07-26T05:18:05.277670Z", + "shell.execute_reply": "2023-07-26T05:18:05.277169Z" + } + }, "outputs": [], "source": [ "rng = np.random.default_rng(10)\n", @@ -584,7 +731,14 @@ "cell_type": "code", "execution_count": null, "id": "3e4f766f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:05.279951Z", + "iopub.status.busy": "2023-07-26T05:18:05.279774Z", + "iopub.status.idle": "2023-07-26T05:18:05.289519Z", + "shell.execute_reply": "2023-07-26T05:18:05.288948Z" + } + }, "outputs": [], "source": [ "model = MS(['Operators',\n", @@ -609,7 +763,14 @@ "cell_type": "code", "execution_count": null, "id": "72f42d14", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:05.292713Z", + "iopub.status.busy": "2023-07-26T05:18:05.292424Z", + "iopub.status.idle": "2023-07-26T05:18:05.299084Z", + "shell.execute_reply": "2023-07-26T05:18:05.298414Z" + } + }, "outputs": [], "source": [ "X[:5]" @@ -627,7 +788,14 @@ "cell_type": "code", "execution_count": null, "id": "8b921536", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:05.301800Z", + "iopub.status.busy": "2023-07-26T05:18:05.301580Z", + "iopub.status.idle": "2023-07-26T05:18:05.340807Z", + "shell.execute_reply": "2023-07-26T05:18:05.311843Z" + } + }, "outputs": [], "source": [ "true_beta = np.array([0.04, -0.3, 0, 0.2, -0.2])\n", @@ -667,7 +835,14 @@ "cell_type": "code", "execution_count": null, "id": "96ce0f99", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:05.399214Z", + "iopub.status.busy": "2023-07-26T05:18:05.386941Z", + "iopub.status.idle": "2023-07-26T05:18:05.423513Z", + "shell.execute_reply": "2023-07-26T05:18:05.417411Z" + } + }, "outputs": [], "source": [ "cum_hazard = lambda t: 1e-5 * t**2 / 2" @@ -690,7 +865,14 @@ "cell_type": "code", "execution_count": null, "id": "63d78ff9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:05.450050Z", + "iopub.status.busy": "2023-07-26T05:18:05.449814Z", + "iopub.status.idle": "2023-07-26T05:18:05.587170Z", + "shell.execute_reply": "2023-07-26T05:18:05.586673Z" + } + }, "outputs": [], "source": [ "W = np.array([sim_time(l, cum_hazard, rng)\n", @@ -712,7 +894,14 @@ "cell_type": "code", "execution_count": null, "id": "fe008dbf", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:05.590252Z", + "iopub.status.busy": "2023-07-26T05:18:05.589902Z", + "iopub.status.idle": "2023-07-26T05:18:05.596018Z", + "shell.execute_reply": "2023-07-26T05:18:05.595604Z" + } + }, "outputs": [], "source": [ "D['Failed'] = rng.choice([1, 0],\n", @@ -725,7 +914,14 @@ "cell_type": "code", "execution_count": null, "id": "c3a2bec7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:05.598122Z", + "iopub.status.busy": "2023-07-26T05:18:05.597969Z", + "iopub.status.idle": "2023-07-26T05:18:05.601009Z", + "shell.execute_reply": "2023-07-26T05:18:05.600579Z" + } + }, "outputs": [], "source": [ "D['Failed'].mean()" @@ -743,7 +939,14 @@ "cell_type": "code", "execution_count": null, "id": "2b27af56", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:05.603318Z", + "iopub.status.busy": "2023-07-26T05:18:05.603142Z", + "iopub.status.idle": "2023-07-26T05:18:05.827076Z", + "shell.execute_reply": "2023-07-26T05:18:05.826151Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", @@ -767,7 +970,14 @@ "cell_type": "code", "execution_count": null, "id": "9625598d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:05.830554Z", + "iopub.status.busy": "2023-07-26T05:18:05.830059Z", + "iopub.status.idle": "2023-07-26T05:18:06.008529Z", + "shell.execute_reply": "2023-07-26T05:18:06.008079Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", @@ -795,7 +1005,14 @@ "cell_type": "code", "execution_count": null, "id": "75a744ef", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:06.012649Z", + "iopub.status.busy": "2023-07-26T05:18:06.012037Z", + "iopub.status.idle": "2023-07-26T05:18:06.033832Z", + "shell.execute_reply": "2023-07-26T05:18:06.033320Z" + } + }, "outputs": [], "source": [ "multivariate_logrank_test(D['Wait time'],\n", @@ -815,7 +1032,14 @@ "cell_type": "code", "execution_count": null, "id": "9badb3e3", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:06.036375Z", + "iopub.status.busy": "2023-07-26T05:18:06.036170Z", + "iopub.status.idle": "2023-07-26T05:18:06.055850Z", + "shell.execute_reply": "2023-07-26T05:18:06.055183Z" + } + }, "outputs": [], "source": [ "multivariate_logrank_test(D['Wait time'],\n", @@ -838,7 +1062,14 @@ "cell_type": "code", "execution_count": null, "id": "026e9ff8", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:06.058057Z", + "iopub.status.busy": "2023-07-26T05:18:06.057906Z", + "iopub.status.idle": "2023-07-26T05:18:06.184883Z", + "shell.execute_reply": "2023-07-26T05:18:06.184356Z" + } + }, "outputs": [], "source": [ "X = MS(['Wait time',\n", @@ -861,7 +1092,14 @@ "cell_type": "code", "execution_count": null, "id": "7cab3789", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:06.187428Z", + "iopub.status.busy": "2023-07-26T05:18:06.187255Z", + "iopub.status.idle": "2023-07-26T05:18:06.315832Z", + "shell.execute_reply": "2023-07-26T05:18:06.314374Z" + } + }, "outputs": [], "source": [ "X = MS(['Wait time',\n", @@ -887,7 +1125,14 @@ "cell_type": "code", "execution_count": null, "id": "5cc4b898", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:06.320288Z", + "iopub.status.busy": "2023-07-26T05:18:06.319261Z", + "iopub.status.idle": "2023-07-26T05:18:06.585074Z", + "shell.execute_reply": "2023-07-26T05:18:06.577564Z" + } + }, "outputs": [], "source": [ "X = MS(D.columns,\n", @@ -921,6 +1166,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,md:myst", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch12-unsup-lab.ipynb b/docs/source/labs/Ch12-unsup-lab.ipynb index 7c7f483..6b956a8 100644 --- a/docs/source/labs/Ch12-unsup-lab.ipynb +++ b/docs/source/labs/Ch12-unsup-lab.ipynb @@ -5,9 +5,9 @@ "id": "80f16ff6", "metadata": {}, "source": [ - "# : Unsupervised Learning\n", + " # Unsupervised Learning\n", "\n", - "\n", + "\n", " \"Open\n", "\n", "\n", @@ -23,7 +23,14 @@ "cell_type": "code", "execution_count": null, "id": "24559be0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:08.163850Z", + "iopub.status.busy": "2023-07-26T05:18:08.163726Z", + "iopub.status.idle": "2023-07-26T05:18:09.209261Z", + "shell.execute_reply": "2023-07-26T05:18:09.208715Z" + } + }, "outputs": [], "source": [ "import numpy as np\n", @@ -48,7 +55,14 @@ "cell_type": "code", "execution_count": null, "id": "06fff57d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:09.212356Z", + "iopub.status.busy": "2023-07-26T05:18:09.212070Z", + "iopub.status.idle": "2023-07-26T05:18:09.327611Z", + "shell.execute_reply": "2023-07-26T05:18:09.327246Z" + } + }, "outputs": [], "source": [ "from sklearn.cluster import \\\n", @@ -78,7 +92,14 @@ "cell_type": "code", "execution_count": null, "id": "f425e07e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:09.329909Z", + "iopub.status.busy": "2023-07-26T05:18:09.329763Z", + "iopub.status.idle": "2023-07-26T05:18:10.559326Z", + "shell.execute_reply": "2023-07-26T05:18:10.558692Z" + } + }, "outputs": [], "source": [ "USArrests = get_rdataset('USArrests').data\n", @@ -97,7 +118,14 @@ "cell_type": "code", "execution_count": null, "id": "b127d014", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:10.561457Z", + "iopub.status.busy": "2023-07-26T05:18:10.561326Z", + "iopub.status.idle": "2023-07-26T05:18:10.564289Z", + "shell.execute_reply": "2023-07-26T05:18:10.563966Z" + } + }, "outputs": [], "source": [ "USArrests.columns" @@ -115,7 +143,14 @@ "cell_type": "code", "execution_count": null, "id": "c7343f72", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:10.566649Z", + "iopub.status.busy": "2023-07-26T05:18:10.566503Z", + "iopub.status.idle": "2023-07-26T05:18:10.570319Z", + "shell.execute_reply": "2023-07-26T05:18:10.569890Z" + } + }, "outputs": [], "source": [ "USArrests.mean()" @@ -135,7 +170,14 @@ "cell_type": "code", "execution_count": null, "id": "34501140", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:10.572610Z", + "iopub.status.busy": "2023-07-26T05:18:10.572485Z", + "iopub.status.idle": "2023-07-26T05:18:10.575894Z", + "shell.execute_reply": "2023-07-26T05:18:10.575543Z" + } + }, "outputs": [], "source": [ "USArrests.var()" @@ -167,7 +209,14 @@ "cell_type": "code", "execution_count": null, "id": "daf119e8", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:10.578199Z", + "iopub.status.busy": "2023-07-26T05:18:10.578025Z", + "iopub.status.idle": "2023-07-26T05:18:10.581928Z", + "shell.execute_reply": "2023-07-26T05:18:10.581446Z" + } + }, "outputs": [], "source": [ "scaler = StandardScaler(with_std=True,\n", @@ -189,7 +238,14 @@ "cell_type": "code", "execution_count": null, "id": "a0eda7c9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:10.584181Z", + "iopub.status.busy": "2023-07-26T05:18:10.584070Z", + "iopub.status.idle": "2023-07-26T05:18:10.586440Z", + "shell.execute_reply": "2023-07-26T05:18:10.586052Z" + } + }, "outputs": [], "source": [ "pcaUS = PCA()" @@ -210,7 +266,14 @@ "cell_type": "code", "execution_count": null, "id": "1430fb3c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:10.588957Z", + "iopub.status.busy": "2023-07-26T05:18:10.588809Z", + "iopub.status.idle": "2023-07-26T05:18:10.593315Z", + "shell.execute_reply": "2023-07-26T05:18:10.592971Z" + } + }, "outputs": [], "source": [ "pcaUS.fit(USArrests_scaled)" @@ -230,7 +293,14 @@ "cell_type": "code", "execution_count": null, "id": "6131d8d1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:10.595542Z", + "iopub.status.busy": "2023-07-26T05:18:10.595388Z", + "iopub.status.idle": "2023-07-26T05:18:10.598527Z", + "shell.execute_reply": "2023-07-26T05:18:10.598057Z" + } + }, "outputs": [], "source": [ "pcaUS.mean_" @@ -249,7 +319,14 @@ "cell_type": "code", "execution_count": null, "id": "08246aad", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:10.600656Z", + "iopub.status.busy": "2023-07-26T05:18:10.600536Z", + "iopub.status.idle": "2023-07-26T05:18:10.603024Z", + "shell.execute_reply": "2023-07-26T05:18:10.602498Z" + } + }, "outputs": [], "source": [ "scores = pcaUS.transform(USArrests_scaled)" @@ -270,7 +347,14 @@ "cell_type": "code", "execution_count": null, "id": "b682b632", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:10.605166Z", + "iopub.status.busy": "2023-07-26T05:18:10.605000Z", + "iopub.status.idle": "2023-07-26T05:18:10.607923Z", + "shell.execute_reply": "2023-07-26T05:18:10.607498Z" + } + }, "outputs": [], "source": [ "pcaUS.components_ " @@ -292,7 +376,14 @@ "cell_type": "code", "execution_count": null, "id": "c165e990", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:10.610624Z", + "iopub.status.busy": "2023-07-26T05:18:10.610442Z", + "iopub.status.idle": "2023-07-26T05:18:10.736284Z", + "shell.execute_reply": "2023-07-26T05:18:10.735735Z" + } + }, "outputs": [], "source": [ "i, j = 0, 1 # which components\n", @@ -323,7 +414,14 @@ "cell_type": "code", "execution_count": null, "id": "848c9f35", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:10.738926Z", + "iopub.status.busy": "2023-07-26T05:18:10.738771Z", + "iopub.status.idle": "2023-07-26T05:18:10.848441Z", + "shell.execute_reply": "2023-07-26T05:18:10.847972Z" + } + }, "outputs": [], "source": [ "scale_arrow = s_ = 2\n", @@ -352,7 +450,14 @@ "cell_type": "code", "execution_count": null, "id": "34fdfe21", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:10.852220Z", + "iopub.status.busy": "2023-07-26T05:18:10.851752Z", + "iopub.status.idle": "2023-07-26T05:18:10.859190Z", + "shell.execute_reply": "2023-07-26T05:18:10.857389Z" + } + }, "outputs": [], "source": [ "scores.std(0, ddof=1)" @@ -371,7 +476,14 @@ "cell_type": "code", "execution_count": null, "id": "31b43c57", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:10.861366Z", + "iopub.status.busy": "2023-07-26T05:18:10.861239Z", + "iopub.status.idle": "2023-07-26T05:18:10.864540Z", + "shell.execute_reply": "2023-07-26T05:18:10.863998Z" + } + }, "outputs": [], "source": [ "pcaUS.explained_variance_" @@ -390,7 +502,14 @@ "cell_type": "code", "execution_count": null, "id": "68e47d3a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:10.867030Z", + "iopub.status.busy": "2023-07-26T05:18:10.866863Z", + "iopub.status.idle": "2023-07-26T05:18:10.869949Z", + "shell.execute_reply": "2023-07-26T05:18:10.869455Z" + } + }, "outputs": [], "source": [ "pcaUS.explained_variance_ratio_" @@ -412,7 +531,14 @@ "cell_type": "code", "execution_count": null, "id": "e87fe198", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:10.872333Z", + "iopub.status.busy": "2023-07-26T05:18:10.872213Z", + "iopub.status.idle": "2023-07-26T05:18:11.030288Z", + "shell.execute_reply": "2023-07-26T05:18:11.029440Z" + } + }, "outputs": [], "source": [ "%%capture\n", @@ -440,7 +566,14 @@ "cell_type": "code", "execution_count": null, "id": "409fb0c6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.033250Z", + "iopub.status.busy": "2023-07-26T05:18:11.033097Z", + "iopub.status.idle": "2023-07-26T05:18:11.153804Z", + "shell.execute_reply": "2023-07-26T05:18:11.153245Z" + } + }, "outputs": [], "source": [ "ax = axes[1]\n", @@ -468,7 +601,14 @@ "cell_type": "code", "execution_count": null, "id": "e563e41b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.157597Z", + "iopub.status.busy": "2023-07-26T05:18:11.157216Z", + "iopub.status.idle": "2023-07-26T05:18:11.162432Z", + "shell.execute_reply": "2023-07-26T05:18:11.162026Z" + } + }, "outputs": [], "source": [ "a = np.array([1,2,8,-3])\n", @@ -498,7 +638,14 @@ "cell_type": "code", "execution_count": null, "id": "f83ad0bc", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.164364Z", + "iopub.status.busy": "2023-07-26T05:18:11.164225Z", + "iopub.status.idle": "2023-07-26T05:18:11.167031Z", + "shell.execute_reply": "2023-07-26T05:18:11.166724Z" + } + }, "outputs": [], "source": [ "X = USArrests_scaled\n", @@ -520,7 +667,14 @@ "cell_type": "code", "execution_count": null, "id": "cb9bdc46", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.169269Z", + "iopub.status.busy": "2023-07-26T05:18:11.169096Z", + "iopub.status.idle": "2023-07-26T05:18:11.172167Z", + "shell.execute_reply": "2023-07-26T05:18:11.171624Z" + } + }, "outputs": [], "source": [ "V" @@ -530,7 +684,14 @@ "cell_type": "code", "execution_count": null, "id": "f23c101e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.174404Z", + "iopub.status.busy": "2023-07-26T05:18:11.174265Z", + "iopub.status.idle": "2023-07-26T05:18:11.177096Z", + "shell.execute_reply": "2023-07-26T05:18:11.176712Z" + } + }, "outputs": [], "source": [ "pcaUS.components_" @@ -548,7 +709,14 @@ "cell_type": "code", "execution_count": null, "id": "4cc49622", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.179219Z", + "iopub.status.busy": "2023-07-26T05:18:11.179054Z", + "iopub.status.idle": "2023-07-26T05:18:11.182070Z", + "shell.execute_reply": "2023-07-26T05:18:11.181699Z" + } + }, "outputs": [], "source": [ "(U * D[None,:])[:3]" @@ -558,7 +726,14 @@ "cell_type": "code", "execution_count": null, "id": "c96c9fe1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.184051Z", + "iopub.status.busy": "2023-07-26T05:18:11.183934Z", + "iopub.status.idle": "2023-07-26T05:18:11.186945Z", + "shell.execute_reply": "2023-07-26T05:18:11.186473Z" + } + }, "outputs": [], "source": [ "scores[:3]" @@ -582,7 +757,14 @@ "cell_type": "code", "execution_count": null, "id": "574409d6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.189376Z", + "iopub.status.busy": "2023-07-26T05:18:11.189199Z", + "iopub.status.idle": "2023-07-26T05:18:11.192254Z", + "shell.execute_reply": "2023-07-26T05:18:11.191873Z" + } + }, "outputs": [], "source": [ "n_omit = 20\n", @@ -615,7 +797,14 @@ "cell_type": "code", "execution_count": null, "id": "89f190ae", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.194569Z", + "iopub.status.busy": "2023-07-26T05:18:11.194458Z", + "iopub.status.idle": "2023-07-26T05:18:11.197204Z", + "shell.execute_reply": "2023-07-26T05:18:11.196762Z" + } + }, "outputs": [], "source": [ "def low_rank(X, M=1):\n", @@ -640,7 +829,14 @@ "cell_type": "code", "execution_count": null, "id": "322f339c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.199355Z", + "iopub.status.busy": "2023-07-26T05:18:11.199208Z", + "iopub.status.idle": "2023-07-26T05:18:11.201784Z", + "shell.execute_reply": "2023-07-26T05:18:11.201348Z" + } + }, "outputs": [], "source": [ "Xhat = Xna.copy()\n", @@ -661,7 +857,14 @@ "cell_type": "code", "execution_count": null, "id": "7e106d1a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.204020Z", + "iopub.status.busy": "2023-07-26T05:18:11.203890Z", + "iopub.status.idle": "2023-07-26T05:18:11.206286Z", + "shell.execute_reply": "2023-07-26T05:18:11.205915Z" + } + }, "outputs": [], "source": [ "thresh = 1e-7\n", @@ -693,7 +896,14 @@ "cell_type": "code", "execution_count": null, "id": "7cb05ce4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.208518Z", + "iopub.status.busy": "2023-07-26T05:18:11.208345Z", + "iopub.status.idle": "2023-07-26T05:18:11.212476Z", + "shell.execute_reply": "2023-07-26T05:18:11.211847Z" + } + }, "outputs": [], "source": [ "while rel_err > thresh:\n", @@ -725,7 +935,14 @@ "cell_type": "code", "execution_count": null, "id": "6f245188", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.214882Z", + "iopub.status.busy": "2023-07-26T05:18:11.214746Z", + "iopub.status.idle": "2023-07-26T05:18:11.217935Z", + "shell.execute_reply": "2023-07-26T05:18:11.217596Z" + } + }, "outputs": [], "source": [ "np.corrcoef(Xapp[ismiss], X[ismiss])[0,1]" @@ -764,7 +981,14 @@ "cell_type": "code", "execution_count": null, "id": "345fb41e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.220117Z", + "iopub.status.busy": "2023-07-26T05:18:11.219983Z", + "iopub.status.idle": "2023-07-26T05:18:11.222355Z", + "shell.execute_reply": "2023-07-26T05:18:11.221948Z" + } + }, "outputs": [], "source": [ "np.random.seed(0);\n", @@ -785,7 +1009,14 @@ "cell_type": "code", "execution_count": null, "id": "3a8c21a2", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.224388Z", + "iopub.status.busy": "2023-07-26T05:18:11.224258Z", + "iopub.status.idle": "2023-07-26T05:18:11.262343Z", + "shell.execute_reply": "2023-07-26T05:18:11.261799Z" + } + }, "outputs": [], "source": [ "kmeans = KMeans(n_clusters=2,\n", @@ -805,7 +1036,14 @@ "cell_type": "code", "execution_count": null, "id": "e3e35b5d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.265599Z", + "iopub.status.busy": "2023-07-26T05:18:11.265438Z", + "iopub.status.idle": "2023-07-26T05:18:11.268983Z", + "shell.execute_reply": "2023-07-26T05:18:11.268283Z" + } + }, "outputs": [], "source": [ "kmeans.labels_" @@ -826,7 +1064,14 @@ "cell_type": "code", "execution_count": null, "id": "d928650a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.271491Z", + "iopub.status.busy": "2023-07-26T05:18:11.271353Z", + "iopub.status.idle": "2023-07-26T05:18:11.409914Z", + "shell.execute_reply": "2023-07-26T05:18:11.409365Z" + } + }, "outputs": [], "source": [ "fig, ax = plt.subplots(1, 1, figsize=(8,8))\n", @@ -855,7 +1100,14 @@ "cell_type": "code", "execution_count": null, "id": "92e5175c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.412487Z", + "iopub.status.busy": "2023-07-26T05:18:11.412250Z", + "iopub.status.idle": "2023-07-26T05:18:11.548124Z", + "shell.execute_reply": "2023-07-26T05:18:11.547642Z" + } + }, "outputs": [], "source": [ "kmeans = KMeans(n_clusters=3,\n", @@ -885,7 +1137,14 @@ "cell_type": "code", "execution_count": null, "id": "4911ecc7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.551298Z", + "iopub.status.busy": "2023-07-26T05:18:11.551122Z", + "iopub.status.idle": "2023-07-26T05:18:11.570392Z", + "shell.execute_reply": "2023-07-26T05:18:11.569843Z" + } + }, "outputs": [], "source": [ "kmeans1 = KMeans(n_clusters=3,\n", @@ -939,7 +1198,14 @@ "cell_type": "code", "execution_count": null, "id": "1b42a700", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.573065Z", + "iopub.status.busy": "2023-07-26T05:18:11.572885Z", + "iopub.status.idle": "2023-07-26T05:18:11.577747Z", + "shell.execute_reply": "2023-07-26T05:18:11.577317Z" + } + }, "outputs": [], "source": [ "HClust = AgglomerativeClustering\n", @@ -962,7 +1228,14 @@ "cell_type": "code", "execution_count": null, "id": "50ef7eea", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.580226Z", + "iopub.status.busy": "2023-07-26T05:18:11.580003Z", + "iopub.status.idle": "2023-07-26T05:18:11.583835Z", + "shell.execute_reply": "2023-07-26T05:18:11.583381Z" + } + }, "outputs": [], "source": [ "hc_avg = HClust(distance_threshold=0,\n", @@ -988,7 +1261,14 @@ "cell_type": "code", "execution_count": null, "id": "bf7a2408", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.586413Z", + "iopub.status.busy": "2023-07-26T05:18:11.586258Z", + "iopub.status.idle": "2023-07-26T05:18:11.591990Z", + "shell.execute_reply": "2023-07-26T05:18:11.591553Z" + } + }, "outputs": [], "source": [ "D = np.zeros((X.shape[0], X.shape[0]));\n", @@ -1024,7 +1304,14 @@ "cell_type": "code", "execution_count": null, "id": "a118c0ab", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.595666Z", + "iopub.status.busy": "2023-07-26T05:18:11.595400Z", + "iopub.status.idle": "2023-07-26T05:18:11.876074Z", + "shell.execute_reply": "2023-07-26T05:18:11.875555Z" + } + }, "outputs": [], "source": [ "cargs = {'color_threshold':-np.inf,\n", @@ -1051,7 +1338,14 @@ "cell_type": "code", "execution_count": null, "id": "b1ff41c0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:11.878711Z", + "iopub.status.busy": "2023-07-26T05:18:11.878497Z", + "iopub.status.idle": "2023-07-26T05:18:12.156685Z", + "shell.execute_reply": "2023-07-26T05:18:12.156217Z" + } + }, "outputs": [], "source": [ "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", @@ -1075,7 +1369,14 @@ "cell_type": "code", "execution_count": null, "id": "c2752a96", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:12.159239Z", + "iopub.status.busy": "2023-07-26T05:18:12.159059Z", + "iopub.status.idle": "2023-07-26T05:18:12.163542Z", + "shell.execute_reply": "2023-07-26T05:18:12.163127Z" + } + }, "outputs": [], "source": [ "cut_tree(linkage_comp, n_clusters=4).T" @@ -1097,7 +1398,14 @@ "cell_type": "code", "execution_count": null, "id": "1407f7a4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:12.165971Z", + "iopub.status.busy": "2023-07-26T05:18:12.165813Z", + "iopub.status.idle": "2023-07-26T05:18:12.170809Z", + "shell.execute_reply": "2023-07-26T05:18:12.170332Z" + } + }, "outputs": [], "source": [ "cut_tree(linkage_comp, height=5)" @@ -1116,7 +1424,14 @@ "cell_type": "code", "execution_count": null, "id": "2d74f224", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:12.173359Z", + "iopub.status.busy": "2023-07-26T05:18:12.173198Z", + "iopub.status.idle": "2023-07-26T05:18:12.457460Z", + "shell.execute_reply": "2023-07-26T05:18:12.457026Z" + } + }, "outputs": [], "source": [ "scaler = StandardScaler()\n", @@ -1153,7 +1468,14 @@ "cell_type": "code", "execution_count": null, "id": "b7f7da12", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:12.461207Z", + "iopub.status.busy": "2023-07-26T05:18:12.460949Z", + "iopub.status.idle": "2023-07-26T05:18:12.680696Z", + "shell.execute_reply": "2023-07-26T05:18:12.680192Z" + } + }, "outputs": [], "source": [ "X = np.random.standard_normal((30, 3))\n", @@ -1186,7 +1508,14 @@ "cell_type": "code", "execution_count": null, "id": "b94424fc", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:12.683099Z", + "iopub.status.busy": "2023-07-26T05:18:12.682918Z", + "iopub.status.idle": "2023-07-26T05:18:12.688821Z", + "shell.execute_reply": "2023-07-26T05:18:12.688474Z" + } + }, "outputs": [], "source": [ "NCI60 = load_data('NCI60')\n", @@ -1212,7 +1541,14 @@ "cell_type": "code", "execution_count": null, "id": "cea54566", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:12.691075Z", + "iopub.status.busy": "2023-07-26T05:18:12.690934Z", + "iopub.status.idle": "2023-07-26T05:18:12.693705Z", + "shell.execute_reply": "2023-07-26T05:18:12.693319Z" + } + }, "outputs": [], "source": [ "nci_data.shape" @@ -1230,7 +1566,14 @@ "cell_type": "code", "execution_count": null, "id": "4dac41bb", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:12.695954Z", + "iopub.status.busy": "2023-07-26T05:18:12.695815Z", + "iopub.status.idle": "2023-07-26T05:18:12.700521Z", + "shell.execute_reply": "2023-07-26T05:18:12.700074Z" + } + }, "outputs": [], "source": [ "nci_labs.value_counts()" @@ -1252,7 +1595,14 @@ "cell_type": "code", "execution_count": null, "id": "d8ebadd6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:12.702785Z", + "iopub.status.busy": "2023-07-26T05:18:12.702646Z", + "iopub.status.idle": "2023-07-26T05:18:12.866311Z", + "shell.execute_reply": "2023-07-26T05:18:12.856469Z" + } + }, "outputs": [], "source": [ "scaler = StandardScaler()\n", @@ -1277,7 +1627,14 @@ "cell_type": "code", "execution_count": null, "id": "63b5efe3", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:12.882679Z", + "iopub.status.busy": "2023-07-26T05:18:12.878318Z", + "iopub.status.idle": "2023-07-26T05:18:13.099177Z", + "shell.execute_reply": "2023-07-26T05:18:13.098712Z" + } + }, "outputs": [], "source": [ "cancer_types = list(np.unique(nci_labs))\n", @@ -1325,7 +1682,14 @@ "cell_type": "code", "execution_count": null, "id": "e20c3cc1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:13.101683Z", + "iopub.status.busy": "2023-07-26T05:18:13.101534Z", + "iopub.status.idle": "2023-07-26T05:18:13.327522Z", + "shell.execute_reply": "2023-07-26T05:18:13.327041Z" + } + }, "outputs": [], "source": [ "fig, axes = plt.subplots(1, 2, figsize=(15,6))\n", @@ -1379,7 +1743,14 @@ "cell_type": "code", "execution_count": null, "id": "622de805", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:13.330190Z", + "iopub.status.busy": "2023-07-26T05:18:13.330013Z", + "iopub.status.idle": "2023-07-26T05:18:13.332964Z", + "shell.execute_reply": "2023-07-26T05:18:13.332533Z" + } + }, "outputs": [], "source": [ "def plot_nci(linkage, ax, cut=-np.inf):\n", @@ -1410,7 +1781,14 @@ "cell_type": "code", "execution_count": null, "id": "54d40449", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:13.336193Z", + "iopub.status.busy": "2023-07-26T05:18:13.335972Z", + "iopub.status.idle": "2023-07-26T05:18:14.886877Z", + "shell.execute_reply": "2023-07-26T05:18:14.886190Z" + } + }, "outputs": [], "source": [ "fig, axes = plt.subplots(3, 1, figsize=(15,30)) \n", @@ -1444,7 +1822,14 @@ "cell_type": "code", "execution_count": null, "id": "dc80afc8", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:14.891531Z", + "iopub.status.busy": "2023-07-26T05:18:14.890910Z", + "iopub.status.idle": "2023-07-26T05:18:14.903469Z", + "shell.execute_reply": "2023-07-26T05:18:14.903077Z" + } + }, "outputs": [], "source": [ "linkage_comp = compute_linkage(hc_comp)\n", @@ -1469,7 +1854,14 @@ "cell_type": "code", "execution_count": null, "id": "40ff59f9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:14.905992Z", + "iopub.status.busy": "2023-07-26T05:18:14.905760Z", + "iopub.status.idle": "2023-07-26T05:18:15.399751Z", + "shell.execute_reply": "2023-07-26T05:18:15.399237Z" + } + }, "outputs": [], "source": [ "fig, ax = plt.subplots(figsize=(10,10))\n", @@ -1500,7 +1892,14 @@ "cell_type": "code", "execution_count": null, "id": "1587e83b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:15.401922Z", + "iopub.status.busy": "2023-07-26T05:18:15.401768Z", + "iopub.status.idle": "2023-07-26T05:18:17.931480Z", + "shell.execute_reply": "2023-07-26T05:18:17.924183Z" + } + }, "outputs": [], "source": [ "nci_kmeans = KMeans(n_clusters=4, \n", @@ -1537,7 +1936,14 @@ "cell_type": "code", "execution_count": null, "id": "b09ceeab", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:17.955945Z", + "iopub.status.busy": "2023-07-26T05:18:17.954718Z", + "iopub.status.idle": "2023-07-26T05:18:18.488264Z", + "shell.execute_reply": "2023-07-26T05:18:18.487809Z" + } + }, "outputs": [], "source": [ "hc_pca = HClust(n_clusters=None,\n", @@ -1564,6 +1970,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,md:myst", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch13-multiple-lab.ipynb b/docs/source/labs/Ch13-multiple-lab.ipynb index 5685600..f86882c 100644 --- a/docs/source/labs/Ch13-multiple-lab.ipynb +++ b/docs/source/labs/Ch13-multiple-lab.ipynb @@ -7,7 +7,7 @@ "source": [ "# Multiple Testing\n", "\n", - "\n", + "\n", " \"Open\n", "\n", "" @@ -25,7 +25,14 @@ "cell_type": "code", "execution_count": null, "id": "1f928b2d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:21.791802Z", + "iopub.status.busy": "2023-07-26T10:52:21.791660Z", + "iopub.status.idle": "2023-07-26T10:52:23.360588Z", + "shell.execute_reply": "2023-07-26T10:52:23.359991Z" + } + }, "outputs": [], "source": [ "import numpy as np\n", @@ -48,7 +55,14 @@ "cell_type": "code", "execution_count": null, "id": "eb4b32aa", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:23.363356Z", + "iopub.status.busy": "2023-07-26T10:52:23.362843Z", + "iopub.status.idle": "2023-07-26T10:52:23.365980Z", + "shell.execute_reply": "2023-07-26T10:52:23.365438Z" + } + }, "outputs": [], "source": [ "from scipy.stats import \\\n", @@ -79,7 +93,14 @@ "cell_type": "code", "execution_count": null, "id": "e12ac0cd", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:23.368340Z", + "iopub.status.busy": "2023-07-26T10:52:23.368164Z", + "iopub.status.idle": "2023-07-26T10:52:23.371202Z", + "shell.execute_reply": "2023-07-26T10:52:23.370779Z" + } + }, "outputs": [], "source": [ "rng = np.random.default_rng(12)\n", @@ -102,7 +123,14 @@ "cell_type": "code", "execution_count": null, "id": "04d0f49e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:23.373512Z", + "iopub.status.busy": "2023-07-26T10:52:23.373319Z", + "iopub.status.idle": "2023-07-26T10:52:23.378383Z", + "shell.execute_reply": "2023-07-26T10:52:23.377960Z" + } + }, "outputs": [], "source": [ "result = ttest_1samp(X[:,0], 0)\n", @@ -131,7 +159,14 @@ "cell_type": "code", "execution_count": null, "id": "d1f0c695", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:23.380819Z", + "iopub.status.busy": "2023-07-26T10:52:23.380641Z", + "iopub.status.idle": "2023-07-26T10:52:23.408797Z", + "shell.execute_reply": "2023-07-26T10:52:23.408278Z" + } + }, "outputs": [], "source": [ "p_values = np.empty(100)\n", @@ -159,7 +194,14 @@ "cell_type": "code", "execution_count": null, "id": "7a9594a0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:23.411256Z", + "iopub.status.busy": "2023-07-26T10:52:23.411053Z", + "iopub.status.idle": "2023-07-26T10:52:23.422652Z", + "shell.execute_reply": "2023-07-26T10:52:23.422286Z" + } + }, "outputs": [], "source": [ "pd.crosstab(decision,\n", @@ -194,7 +236,14 @@ "cell_type": "code", "execution_count": null, "id": "25f7fc5d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:23.425157Z", + "iopub.status.busy": "2023-07-26T10:52:23.424798Z", + "iopub.status.idle": "2023-07-26T10:52:23.455752Z", + "shell.execute_reply": "2023-07-26T10:52:23.455052Z" + } + }, "outputs": [], "source": [ "true_mean = np.array([1]*50 + [0]*50)\n", @@ -233,7 +282,14 @@ "cell_type": "code", "execution_count": null, "id": "369b5bd3", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:23.458631Z", + "iopub.status.busy": "2023-07-26T10:52:23.458434Z", + "iopub.status.idle": "2023-07-26T10:52:23.710141Z", + "shell.execute_reply": "2023-07-26T10:52:23.709635Z" + } + }, "outputs": [], "source": [ "m = np.linspace(1, 501)\n", @@ -271,7 +327,14 @@ "cell_type": "code", "execution_count": null, "id": "9ce7a19f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:23.713438Z", + "iopub.status.busy": "2023-07-26T10:52:23.713214Z", + "iopub.status.idle": "2023-07-26T10:52:23.754484Z", + "shell.execute_reply": "2023-07-26T10:52:23.754038Z" + } + }, "outputs": [], "source": [ "Fund = load_data('Fund')\n", @@ -321,7 +384,14 @@ "cell_type": "code", "execution_count": null, "id": "de6cffed", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:23.756665Z", + "iopub.status.busy": "2023-07-26T10:52:23.756493Z", + "iopub.status.idle": "2023-07-26T10:52:23.759438Z", + "shell.execute_reply": "2023-07-26T10:52:23.759028Z" + } + }, "outputs": [], "source": [ "reject, bonf = mult_test(fund_mini_pvals, method = \"bonferroni\")[:2]\n", @@ -341,7 +411,14 @@ "cell_type": "code", "execution_count": null, "id": "0de71500", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:23.761459Z", + "iopub.status.busy": "2023-07-26T10:52:23.761287Z", + "iopub.status.idle": "2023-07-26T10:52:23.764317Z", + "shell.execute_reply": "2023-07-26T10:52:23.763952Z" + } + }, "outputs": [], "source": [ "bonf, np.minimum(fund_mini_pvals * 5, 1)" @@ -364,7 +441,14 @@ "cell_type": "code", "execution_count": null, "id": "f7e87bdb", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:23.766793Z", + "iopub.status.busy": "2023-07-26T10:52:23.766606Z", + "iopub.status.idle": "2023-07-26T10:52:23.810152Z", + "shell.execute_reply": "2023-07-26T10:52:23.809736Z" + } + }, "outputs": [], "source": [ "mult_test(fund_mini_pvals, method = \"holm\", alpha=0.05)[:2]" @@ -383,7 +467,14 @@ "cell_type": "code", "execution_count": null, "id": "e88be376", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:23.812384Z", + "iopub.status.busy": "2023-07-26T10:52:23.812232Z", + "iopub.status.idle": "2023-07-26T10:52:23.815971Z", + "shell.execute_reply": "2023-07-26T10:52:23.815576Z" + } + }, "outputs": [], "source": [ "fund_mini.mean()" @@ -403,7 +494,14 @@ "cell_type": "code", "execution_count": null, "id": "41149af6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:23.817997Z", + "iopub.status.busy": "2023-07-26T10:52:23.817852Z", + "iopub.status.idle": "2023-07-26T10:52:23.821301Z", + "shell.execute_reply": "2023-07-26T10:52:23.820976Z" + } + }, "outputs": [], "source": [ "ttest_rel(fund_mini['Manager1'],\n", @@ -437,7 +535,14 @@ "cell_type": "code", "execution_count": null, "id": "61aabda7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:23.823367Z", + "iopub.status.busy": "2023-07-26T10:52:23.823190Z", + "iopub.status.idle": "2023-07-26T10:52:24.308715Z", + "shell.execute_reply": "2023-07-26T10:52:24.308222Z" + } + }, "outputs": [], "source": [ "returns = np.hstack([fund_mini.iloc[:,i] for i in range(5)])\n", @@ -467,7 +572,14 @@ "cell_type": "code", "execution_count": null, "id": "cbcad4de", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:24.311170Z", + "iopub.status.busy": "2023-07-26T10:52:24.310960Z", + "iopub.status.idle": "2023-07-26T10:52:24.410742Z", + "shell.execute_reply": "2023-07-26T10:52:24.410212Z" + } + }, "outputs": [], "source": [ "fig, ax = plt.subplots(figsize=(8,8))\n", @@ -490,7 +602,14 @@ "cell_type": "code", "execution_count": null, "id": "b5842190", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:24.413638Z", + "iopub.status.busy": "2023-07-26T10:52:24.413455Z", + "iopub.status.idle": "2023-07-26T10:52:24.827343Z", + "shell.execute_reply": "2023-07-26T10:52:24.826609Z" + } + }, "outputs": [], "source": [ "fund_pvalues = np.empty(2000)\n", @@ -512,7 +631,14 @@ "cell_type": "code", "execution_count": null, "id": "7c9d8bed", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:24.830214Z", + "iopub.status.busy": "2023-07-26T10:52:24.830015Z", + "iopub.status.idle": "2023-07-26T10:52:24.834953Z", + "shell.execute_reply": "2023-07-26T10:52:24.834464Z" + } + }, "outputs": [], "source": [ "fund_qvalues = mult_test(fund_pvalues, method = \"fdr_bh\")[1]\n", @@ -538,7 +664,14 @@ "cell_type": "code", "execution_count": null, "id": "bfa39f7c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:24.837627Z", + "iopub.status.busy": "2023-07-26T10:52:24.837419Z", + "iopub.status.idle": "2023-07-26T10:52:24.840834Z", + "shell.execute_reply": "2023-07-26T10:52:24.840316Z" + } + }, "outputs": [], "source": [ "(fund_qvalues <= 0.1).sum()" @@ -563,7 +696,14 @@ "cell_type": "code", "execution_count": null, "id": "70b69b47", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:24.843470Z", + "iopub.status.busy": "2023-07-26T10:52:24.843237Z", + "iopub.status.idle": "2023-07-26T10:52:24.846889Z", + "shell.execute_reply": "2023-07-26T10:52:24.846276Z" + } + }, "outputs": [], "source": [ "(fund_pvalues <= 0.1 / 2000).sum()" @@ -594,7 +734,14 @@ "cell_type": "code", "execution_count": null, "id": "4c0ddea1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:24.849388Z", + "iopub.status.busy": "2023-07-26T10:52:24.849238Z", + "iopub.status.idle": "2023-07-26T10:52:24.852847Z", + "shell.execute_reply": "2023-07-26T10:52:24.852354Z" + } + }, "outputs": [], "source": [ "sorted_ = np.sort(fund_pvalues)\n", @@ -621,7 +768,14 @@ "cell_type": "code", "execution_count": null, "id": "0314eac9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:24.855721Z", + "iopub.status.busy": "2023-07-26T10:52:24.855334Z", + "iopub.status.idle": "2023-07-26T10:52:25.156072Z", + "shell.execute_reply": "2023-07-26T10:52:25.155438Z" + } + }, "outputs": [], "source": [ "fig, ax = plt.subplots()\n", @@ -652,7 +806,14 @@ "cell_type": "code", "execution_count": null, "id": "b59b8137", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:25.158998Z", + "iopub.status.busy": "2023-07-26T10:52:25.158769Z", + "iopub.status.idle": "2023-07-26T10:52:25.243020Z", + "shell.execute_reply": "2023-07-26T10:52:25.242512Z" + } + }, "outputs": [], "source": [ "Khan = load_data('Khan') \n", @@ -680,7 +841,14 @@ "cell_type": "code", "execution_count": null, "id": "96fb2f61", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:25.245359Z", + "iopub.status.busy": "2023-07-26T10:52:25.245172Z", + "iopub.status.idle": "2023-07-26T10:52:25.250139Z", + "shell.execute_reply": "2023-07-26T10:52:25.249644Z" + } + }, "outputs": [], "source": [ "D2 = D[lambda df:df['Y'] == 2]\n", @@ -714,7 +882,14 @@ "cell_type": "code", "execution_count": null, "id": "fdc229fa", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:25.252510Z", + "iopub.status.busy": "2023-07-26T10:52:25.252319Z", + "iopub.status.idle": "2023-07-26T10:52:26.208474Z", + "shell.execute_reply": "2023-07-26T10:52:26.207894Z" + } + }, "outputs": [], "source": [ "B = 10000\n", @@ -746,7 +921,14 @@ "cell_type": "code", "execution_count": null, "id": "e3894695", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:26.210995Z", + "iopub.status.busy": "2023-07-26T10:52:26.210826Z", + "iopub.status.idle": "2023-07-26T10:52:26.458716Z", + "shell.execute_reply": "2023-07-26T10:52:26.458144Z" + } + }, "outputs": [], "source": [ "fig, ax = plt.subplots(figsize=(8,8))\n", @@ -787,7 +969,14 @@ "cell_type": "code", "execution_count": null, "id": "3b7392cb", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T10:52:26.461754Z", + "iopub.status.busy": "2023-07-26T10:52:26.461349Z", + "iopub.status.idle": "2023-07-26T12:21:43.650925Z", + "shell.execute_reply": "2023-07-26T12:21:43.650584Z" + } + }, "outputs": [], "source": [ "m, B = 100, 10000\n", @@ -826,7 +1015,14 @@ "cell_type": "code", "execution_count": null, "id": "cac15616", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:21:43.653105Z", + "iopub.status.busy": "2023-07-26T12:21:43.652856Z", + "iopub.status.idle": "2023-07-26T12:21:43.895651Z", + "shell.execute_reply": "2023-07-26T12:21:43.895292Z" + } + }, "outputs": [], "source": [ "cutoffs = np.sort(np.abs(T_vals))\n", @@ -860,7 +1056,14 @@ "cell_type": "code", "execution_count": null, "id": "9661eb10", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:21:43.897943Z", + "iopub.status.busy": "2023-07-26T12:21:43.897797Z", + "iopub.status.idle": "2023-07-26T12:21:43.901002Z", + "shell.execute_reply": "2023-07-26T12:21:43.900637Z" + } + }, "outputs": [], "source": [ "sorted(idx[np.abs(T_vals) >= cutoffs[FDRs < 0.1].min()])" @@ -879,7 +1082,14 @@ "cell_type": "code", "execution_count": null, "id": "18ad4900", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:21:43.902778Z", + "iopub.status.busy": "2023-07-26T12:21:43.902684Z", + "iopub.status.idle": "2023-07-26T12:21:43.905535Z", + "shell.execute_reply": "2023-07-26T12:21:43.905228Z" + } + }, "outputs": [], "source": [ "sorted(idx[np.abs(T_vals) >= cutoffs[FDRs < 0.2].min()])" @@ -899,7 +1109,14 @@ "cell_type": "code", "execution_count": null, "id": "28c276b6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T12:21:43.907278Z", + "iopub.status.busy": "2023-07-26T12:21:43.907150Z", + "iopub.status.idle": "2023-07-26T12:21:43.988689Z", + "shell.execute_reply": "2023-07-26T12:21:43.988352Z" + } + }, "outputs": [], "source": [ "fig, ax = plt.subplots()\n", @@ -914,6 +1131,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,md:myst", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch14-surv-lab.ipynb b/docs/source/labs/Ch14-surv-lab.ipynb new file mode 100644 index 0000000..031562d --- /dev/null +++ b/docs/source/labs/Ch14-surv-lab.ipynb @@ -0,0 +1,995 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "c1af8696", + "metadata": {}, + "source": [ + "# Dummy\n", + "\n", + "## Survival Analysis\n", + "\n", + "\n", + " \"Open\n", + "\n", + "\n", + "\n", + "\n", + "### Some preliminary details\n", + "\n", + "We will want to be able to see plots in the notebook. We\n", + "will therefore include the following as introduced in\n", + "Chapter 2:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0bce7ad7", + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "id": "98e95e67", + "metadata": {}, + "source": [ + "#### New imports\n", + "\n", + "We again collect the new imports\n", + "needed for this lab." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3741ca31", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "from lifelines import \\\n", + " (KaplanMeierFitter,\n", + " CoxPHFitter)\n", + "from lifelines.statistics import \\\n", + " (logrank_test,\n", + " multivariate_logrank_test)\n", + "from ISLP.survival import sim_time" + ] + }, + { + "cell_type": "markdown", + "id": "c1dff6d8", + "metadata": {}, + "source": [ + "In this lab, we perform survival analyses on three separate data\n", + "sets. In the first section we analyze the `BrainCancer`\n", + "data .
\n", + "Next, we examine the `Publication`\n", + "data . Finally, we explore explores\n", + "a simulated call center data set.\n", + "\n", + "We begin by importing some of our libraries at this top\n", + "level. This makes the code more readable, as scanning the first few\n", + "lines of the notebook tell us what libraries are used in this\n", + "notebook." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6402fd76", + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import pandas as pd\n", + "from ISLP.models import ModelSpec as MS\n", + "from ISLP import load_data" + ] + }, + { + "cell_type": "markdown", + "id": "90eb295f", + "metadata": {}, + "source": [ + "### Brain Cancer Data" + ] + }, + { + "cell_type": "markdown", + "id": "26338f8e", + "metadata": {}, + "source": [ + "We begin with the `BrainCancer` data set, contained in the `ISLP` package." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b43f8c6f", + "metadata": {}, + "outputs": [], + "source": [ + "BrainCancer = load_data('BrainCancer')\n", + "BrainCancer.columns" + ] + }, + { + "cell_type": "markdown", + "id": "61eed2f0", + "metadata": {}, + "source": [ + "The rows index the 88 patients, while the columns contain the 8 predictors.\n", + "We first briefly examine the data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4307ef61", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "BrainCancer['sex'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "19c25475", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "BrainCancer['diagnosis'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d9fa6491", + "metadata": {}, + "outputs": [], + "source": [ + "BrainCancer['status'].value_counts()" + ] + }, + { + "cell_type": "markdown", + "id": "bd1e89cb", + "metadata": {}, + "source": [ + "Before beginning an analysis, it is important to know how the\n", + "`status` variable has been coded. Most software\n", + "uses the convention that a `status` of 1 indicates an\n", + "uncensored observation, and a `status` of 0 indicates a censored\n", + "observation. But some scientists might use the opposite coding. For\n", + "the `BrainCancer` data set 35 patients died before the end of\n", + "the study.\n", + "\n", + "To begin the analysis, we re-create a Kaplan-Meier survival curve shown in the book. The main\n", + "package we will use for survival analysis\n", + "is `lifelines`.\n", + "The variable `time` corresponds to $y_i$, the time to the $i$th event (either censoring or\n", + "death). The first argument to `km.fit` are the event times with the\n", + "second argument being the censoring variable with a 1 indicating an observed\n", + "failure time. The `plot` method plots a curve with pointwise confidence\n", + "intervals. By default, they produce 90% confidence intervals. This can be changed\n", + "by setting the `alpha` argument to 1 minus the desired\n", + "confidence level." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "16b708ff", + "metadata": {}, + "outputs": [], + "source": [ + "km = KaplanMeierFitter()\n", + "km_brain = km.fit(BrainCancer['time'],\n", + " BrainCancer['status'])\n", + "km_brain.plot(label='Kaplan Meier estimate')" + ] + }, + { + "cell_type": "markdown", + "id": "71d6ef47", + "metadata": {}, + "source": [ + "Next we create Kaplan-Meier survival curves that are stratified by\n", + "`sex`, in order to reproduce a second figure from the book.\n", + "We do this by using the `groupby` method of a DataFrame.\n", + "This method returns a generator that can\n", + "be iterated over in the `for` loop. In this case,\n", + "the items in the `for` loop are 2-tuples representing\n", + "the groups: the first entry is the value\n", + "of the grouping column `sex` while the 2nd value\n", + "is the DataFrame consisting of all rows in the\n", + "DataFrame matching that value of `sex`.\n", + "We will want to use this data below\n", + "in the log-rank test, hence we store this\n", + "information in the dictionary `by_sex`. Finally,\n", + "we have also used the notion of\n", + " to automatically\n", + "label the different lines in the plot. String\n", + "interpolation is a powerful technique to format strings –\n", + "`python` has many ways to facilitate such operations." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cd07dfd6", + "metadata": {}, + "outputs": [], + "source": [ + "by_sex = {}\n", + "for sex, df in BrainCancer.groupby('sex'):\n", + " by_sex[sex] = df\n", + " km_sex = km.fit(df['time'],\n", + " df['status'])\n", + " km_sex.plot(label='Sex=%s' % sex)" + ] + }, + { + "cell_type": "markdown", + "id": "8d40bd2f", + "metadata": {}, + "source": [ + "As discussed in the book, we can perform a\n", + "log-rank test to compare the survival of males to females. We use\n", + "the `logrank_test` function from the `lifelines.statistics` module.\n", + "The first two arguments are the event times, with the second\n", + "denoting the corresponding (optional) censoring indicators." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4e80bc9", + "metadata": {}, + "outputs": [], + "source": [ + "logrank_test(by_sex['Male']['time'],\n", + " by_sex['Female']['time'],\n", + " by_sex['Male']['status'],\n", + " by_sex['Female']['status'])" + ] + }, + { + "cell_type": "markdown", + "id": "3e025210", + "metadata": {}, + "source": [ + "The resulting $p$-value is $0.23$, indicating no evidence of a\n", + "difference in survival between the two sexes.\n", + "\n", + "Next, we fit Cox proportional hazards models using the `CoxPHFitter` estimator\n", + "from `lifelines`.\n", + "To begin, we consider a model that uses `sex` as the only predictor." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b57ac5fa", + "metadata": {}, + "outputs": [], + "source": [ + "coxph = CoxPHFitter # shorthand\n", + "sex_df = BrainCancer[['time', 'status', 'sex']]\n", + "model_df = MS(['time', 'status', 'sex'],\n", + " intercept=False).fit_transform(sex_df)\n", + "cox_fit = coxph().fit(model_df,\n", + " 'time',\n", + " 'status')\n", + "cox_fit.summary[['coef', 'se(coef)', 'p']]" + ] + }, + { + "cell_type": "markdown", + "id": "da8b9eff", + "metadata": {}, + "source": [ + "The first argument to `fit` should be a data frame containing\n", + "at least the event time (the second argument `time` in this case)\n", + "as well as an optional censoring variable (the argument `status` in this case).\n", + "Note also that the Cox model does not include an intercept, which is why\n", + "we used the `intercept=False` argument to `ModelSpec` above.\n", + "It is possible to obtain the likelihood ratio test comparing this model to the one\n", + "with no features as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9991b523", + "metadata": {}, + "outputs": [], + "source": [ + "cox_fit.log_likelihood_ratio_test()" + ] + }, + { + "cell_type": "markdown", + "id": "fc76fd07", + "metadata": {}, + "source": [ + "Regardless of which test we use, we see that there is no clear\n", + "evidence for a difference in survival between males and females. As\n", + "we learned in this chapter, the score test from the Cox model is\n", + "exactly equal to the log rank test statistic!\n", + "\n", + "Now we fit a model that makes use of additional predictors. We first note\n", + "that one of our `diagnosis` values is missing, hence\n", + "we drop that observation before continuing." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "391157a9", + "metadata": {}, + "outputs": [], + "source": [ + "cleaned = BrainCancer.dropna()\n", + "all_MS = MS(cleaned.columns,\n", + " intercept=False)\n", + "all_df = all_MS.fit_transform(cleaned)\n", + "fit_all = coxph().fit(all_df, \n", + " 'time', \n", + " 'status')\n", + "fit_all.summary[['coef', 'se(coef)', 'p']]" + ] + }, + { + "cell_type": "markdown", + "id": "18659bcd", + "metadata": {}, + "source": [ + "The `diagnosis` variable has been coded so that the baseline\n", + "corresponds to HG glioma. The results indicate that the risk associated with HG glioma\n", + "is more than eight times (i.e. $e^{2.15}=8.62$) the risk associated\n", + "with meningioma. In other words, after adjusting for the other\n", + "predictors, patients with HG glioma have much worse survival compared\n", + "to those with meningioma. In addition, larger values of the Karnofsky\n", + "index, `ki`, are associated with lower risk, i.e. longer survival.\n", + "\n", + "Finally, we plot estimated survival curves for each diagnosis category,\n", + "adjusting for the other predictors. To make these plots, we set the\n", + "values of the other predictors equal to the mean for quantitative variables\n", + "and equal to the mode for categorical. To do this, we use the\n", + "`apply()` method across rows (i.e. `axis=0`) with a function\n", + "`representative` that checks if a column is categorical\n", + "or not." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c2c32bdf", + "metadata": {}, + "outputs": [], + "source": [ + "levels = cleaned['diagnosis'].unique()\n", + "def representative(series):\n", + " if hasattr(series.dtype, 'categories'):\n", + " return pd.Series.mode(series)\n", + " else:\n", + " return series.mean()\n", + "modal_data = cleaned.apply(representative, \n", + " axis=0)" + ] + }, + { + "cell_type": "markdown", + "id": "2f5e9767", + "metadata": {}, + "source": [ + "We make four\n", + "copies of the column means and assign the `diagnosis` column to be the four different\n", + "diagnoses." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7a6fc4b9", + "metadata": {}, + "outputs": [], + "source": [ + "modal_df = pd.DataFrame([modal_data.iloc[0] for _ in range(len(levels))])\n", + "modal_df['diagnosis'] = levels\n", + "modal_df" + ] + }, + { + "cell_type": "markdown", + "id": "dd013465", + "metadata": {}, + "source": [ + "We then construct the design matrix based on the model specification `all_MS` used to fit\n", + "the model, dropping the `time` and `status` variables as these are not\n", + "used to predict the survival functioin." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f1e6cb80", + "metadata": {}, + "outputs": [], + "source": [ + "modal_X = all_MS.transform(modal_df)#.drop(columns=['time', 'status'])\n", + "modal_X.index = levels\n", + "modal_X" + ] + }, + { + "cell_type": "markdown", + "id": "d98548ee", + "metadata": {}, + "source": [ + "The estimated survival\n", + "function can be found using the `predict_survival_function()` method." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8753eaa2", + "metadata": {}, + "outputs": [], + "source": [ + "predicted_survival = fit_all.predict_survival_function(modal_X)\n", + "predicted_survival" + ] + }, + { + "cell_type": "markdown", + "id": "a814ddee", + "metadata": {}, + "source": [ + "This returns a data frame,\n", + "whose plot methods yields the different survival curves. To avoid clutter in\n", + "the plots, we do not display confidence intervals." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ddccc3ac", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = plt.subplots(1, 1, figsize=(10, 10))\n", + "predicted_survival.plot(ax=ax);" + ] + }, + { + "cell_type": "markdown", + "id": "53997de5", + "metadata": {}, + "source": [ + "### Publication Data" + ] + }, + { + "cell_type": "markdown", + "id": "47103217", + "metadata": {}, + "source": [ + "The `Publication` data can be\n", + "found in the `ISLP` package.\n", + "We begin by plotting the Kaplan-Meier curves\n", + "stratified on the `posres` variable, which records whether the\n", + "study had a positive or negative result." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "01217472", + "metadata": {}, + "outputs": [], + "source": [ + "Publication = load_data('Publication')\n", + "by_result = {}\n", + "for result, df in Publication.groupby('posres'):\n", + " by_result[result] = df\n", + " km_result = km.fit(df['time'], df['status'])\n", + " km_result.plot(label='Result=%d' % result)" + ] + }, + { + "cell_type": "markdown", + "id": "7929b6e9", + "metadata": {}, + "source": [ + "As discussed previously, the $p$-values from fitting Cox’s\n", + "proportional hazards model to the `posres` variable are quite\n", + "large, providing no evidence of a difference in time-to-publication\n", + "between studies with positive versus negative results." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2e966bd6", + "metadata": {}, + "outputs": [], + "source": [ + "posres_df = MS(['posres',\n", + " 'time',\n", + " 'status'], intercept=False).fit_transform(Publication)\n", + "posres_fit = coxph().fit(posres_df,\n", + " 'time',\n", + " 'status')\n", + "posres_fit.summary[['coef', 'se(coef)', 'p']]" + ] + }, + { + "cell_type": "markdown", + "id": "1020fe19", + "metadata": {}, + "source": [ + "As expected, the log-rank test provides an identical conclusion." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "42572496", + "metadata": {}, + "outputs": [], + "source": [ + "logrank_test(by_result[0]['time'],\n", + " by_result[1]['time'],\n", + " by_result[0]['status'],\n", + " by_result[1]['status'])" + ] + }, + { + "cell_type": "markdown", + "id": "c06a3106", + "metadata": {}, + "source": [ + "However, the results change dramatically when we include other\n", + "predictors in the model. Here we have excluded the funding mechanism\n", + "variable." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7c22a546", + "metadata": {}, + "outputs": [], + "source": [ + "model = MS(Publication.columns.drop('mech'),\n", + " intercept=False)\n", + "coxph().fit(model.fit_transform(Publication),\n", + " 'time',\n", + " 'status').summary[['coef', 'se(coef)', 'p']]" + ] + }, + { + "cell_type": "markdown", + "id": "2efd14bf", + "metadata": {}, + "source": [ + "We see that there are a number of statistically significant variables,\n", + "including whether the trial focused on a clinical endpoint, the impact\n", + "of the study, and whether the study had positive or negative results.\n", + "\n", + "### Call Center Data" + ] + }, + { + "cell_type": "markdown", + "id": "9dbf298f", + "metadata": {}, + "source": [ + "In this section, we will simulate survival data using the relationship\n", + "between cumulative hazard and\n", + "the survival function explored in an exercise.\n", + "Our simulated data will represent the observed\n", + "wait times (in seconds) for 2,000 customers who have phoned a call\n", + "center. In this context, censoring occurs if a customer hangs up\n", + "before his or her call is answered.\n", + "\n", + "There are three covariates: `Operators` (the number of call\n", + "center operators available at the time of the call, which can range\n", + "from $5$ to $15$), `Center` (either A, B, or C), and\n", + "`Time` of day (Morning, Afternoon, or Evening). We generate data\n", + "for these covariates so that all possibilities are equally likely: for\n", + "instance, morning, afternoon and evening calls are equally likely, and\n", + "any number of operators from $5$ to $15$ is equally likely. We use the\n", + "`ModelSpec` function from the `ISLP.models` package introduced\n", + "in Chapter 3." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "72e4c0c1", + "metadata": {}, + "outputs": [], + "source": [ + "np.random.seed(10)\n", + "N = 2000\n", + "Operators = np.random.choice(np.arange(5, 16),\n", + " N,\n", + " replace=True)\n", + "Center = np.random.choice(['A', 'B', 'C'], \n", + " N,\n", + " replace=True)\n", + "Time = np.random.choice(['Morn.', 'After.', 'Even.'], \n", + " N,\n", + " replace=True)\n", + "D = pd.DataFrame({'Operators': Operators,\n", + " 'Center': pd.Categorical(Center),\n", + " 'Time': pd.Categorical(Time)}) \n", + "model = MS(['Operators',\n", + " 'Center',\n", + " 'Time'],\n", + " intercept=False)\n", + "X = model.fit_transform(D)" + ] + }, + { + "cell_type": "markdown", + "id": "a3f7c728", + "metadata": {}, + "source": [ + "It is worthwhile to take a peek at the design matrix `X`, so\n", + "that we can be sure that we understand how the variables have been coded. By default,\n", + "the levels of categorical variables are sorted and the first column of the usual one-hot encoding\n", + "of the variable is dropped." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4b8f4b9f", + "metadata": {}, + "outputs": [], + "source": [ + "X[:5]" + ] + }, + { + "cell_type": "markdown", + "id": "06cd05ca", + "metadata": {}, + "source": [ + "Next, we specify the coefficients and the hazard function." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "982ae944", + "metadata": {}, + "outputs": [], + "source": [ + "true_beta = np.array([0.04, -0.3, 0, 0.2, -0.2])\n", + "true_linpred = X.dot(true_beta)\n", + "hazard = lambda t: 1e-5 * t" + ] + }, + { + "cell_type": "markdown", + "id": "5054aa25", + "metadata": {}, + "source": [ + "We use the function\n", + "`sim_time` from the `ISLP.survival` package. This function\n", + "uses the relationship between the survival function\n", + "and cumulative hazard $S(t) = \\exp(-H(t))$ and the specific\n", + "form of the cumulative hazard function in the Cox model\n", + "to simulate data based on values of the linear predictor\n", + "`true_linpred` and the cumulative hazard. We can generate\n", + "if we know the inverse of the cumulative hazard function." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e8939727", + "metadata": {}, + "outputs": [], + "source": [ + "cum_hazard = lambda t: 1e-5 * t**2 / 2" + ] + }, + { + "cell_type": "markdown", + "id": "c0ed581d", + "metadata": {}, + "source": [ + "Here, we have set the coefficient associated with `Operators` to\n", + "equal $0.04$; in other words, each additional operator leads to a\n", + "$e^{0.04}=1.041$-fold increase in the “risk” that the call will be\n", + "answered, given the `Center` and `Time` covariates. This\n", + "makes sense: the greater the number of operators at hand, the shorter\n", + "the wait time! The coefficient associated with `Center == B` is\n", + "$-0.3$, and `Center == A` is treated as the baseline. This means\n", + "that the risk of a call being answered at Center B is 0.74 times the\n", + "risk that it will be answered at Center A; in other words, the wait\n", + "times are a bit longer at Center B.\n", + "\n", + "We are now ready to generate data under the Cox proportional hazards\n", + "model. We’ll truncate the maximum time to 1000 seconds to keep\n", + "simulated wait times reasonable." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a850809e", + "metadata": {}, + "outputs": [], + "source": [ + "W = np.array([sim_time(l, cum_hazard)\n", + " for l in true_linpred])\n", + "D['Wait time'] = np.clip(W, 0, 1000)" + ] + }, + { + "cell_type": "markdown", + "id": "3f481113", + "metadata": {}, + "source": [ + "We now simulate our censoring variable, for which we assume\n", + "90% of calls were answered (`Failed==1`) before the\n", + "customer hungup (`Failed==0`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c93cd8c3", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "D['Failed'] = np.random.choice([1, 0],\n", + " N,\n", + " p=[0.9, 0.1])\n", + "D[:5]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bac8ff69", + "metadata": {}, + "outputs": [], + "source": [ + "D['Failed'].mean()" + ] + }, + { + "cell_type": "markdown", + "id": "75699d8c", + "metadata": {}, + "source": [ + "We now plot Kaplan-Meier survival curves. First, we stratify by `Center`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cafb21e9", + "metadata": {}, + "outputs": [], + "source": [ + "by_center = {}\n", + "for center, df in D.groupby('Center'):\n", + " by_center[center] = df\n", + " km_center = km.fit(df['Wait time'], df['Failed'])\n", + " km_center.plot(label='Center=%s' % center)\n", + "ax = plt.gca()\n", + "ax.set_title(\"Probability of Still Being on Hold\")" + ] + }, + { + "cell_type": "markdown", + "id": "6c477316", + "metadata": {}, + "source": [ + "Next, we stratify by `Time`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d404c129", + "metadata": {}, + "outputs": [], + "source": [ + "by_time = {}\n", + "for time, df in D.groupby('Time'):\n", + " by_time[time] = df\n", + " km_time = km.fit(df['Wait time'], df['Failed'])\n", + " km_time.plot(label='Time=%s' % time)\n", + "ax = plt.gca()\n", + "ax.set_title(\"Probability of Still Being on Hold\")" + ] + }, + { + "cell_type": "markdown", + "id": "dcca1dbd", + "metadata": {}, + "source": [ + "It seems that calls at Call Center B take longer to be answered than\n", + "calls at Centers A and C. Similarly, it appears that wait times are\n", + "longest in the morning and shortest in the evening hours. We can use a\n", + "log-rank test to determine whether these differences are statistically\n", + "significant using `multivariate_logrank_test`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b928758d", + "metadata": {}, + "outputs": [], + "source": [ + "multivariate_logrank_test(D['Wait time'],\n", + " D['Center'],\n", + " D['Failed'])" + ] + }, + { + "cell_type": "markdown", + "id": "285f5644", + "metadata": {}, + "source": [ + "Next, we consider the effect of `Time`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "976558e5", + "metadata": {}, + "outputs": [], + "source": [ + "multivariate_logrank_test(D['Wait time'],\n", + " D['Time'],\n", + " D['Failed'])" + ] + }, + { + "cell_type": "markdown", + "id": "e56b7df7", + "metadata": {}, + "source": [ + "As in the case of a categorical variable with 2 outcomes, these\n", + "results are similar to the likelihood ratio test\n", + "from the Cox proportional hazards model. First, let’s\n", + "look at the results for `Center`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "36f7fa13", + "metadata": {}, + "outputs": [], + "source": [ + "X = MS(['Wait time',\n", + " 'Failed',\n", + " 'Center'],\n", + " intercept=False).fit_transform(D)\n", + "F = coxph().fit(X, 'Wait time', 'Failed')\n", + "F.log_likelihood_ratio_test()" + ] + }, + { + "cell_type": "markdown", + "id": "68ab32c8", + "metadata": {}, + "source": [ + "Next, the results for `Time`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e03b31e6", + "metadata": {}, + "outputs": [], + "source": [ + "X = MS(['Wait time',\n", + " 'Failed',\n", + " 'Time'],\n", + " intercept=False).fit_transform(D)\n", + "F = coxph().fit(X, 'Wait time', 'Failed')\n", + "F.log_likelihood_ratio_test()" + ] + }, + { + "cell_type": "markdown", + "id": "fda76031", + "metadata": {}, + "source": [ + "We find that differences between centers are highly significant, as\n", + "are differences between times of day.\n", + "\n", + "Finally, we fit a complete Cox’s proportional hazards model to the data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e5022c12", + "metadata": {}, + "outputs": [], + "source": [ + "X = MS(D.columns,\n", + " intercept=False).fit_transform(D)\n", + "fit_queuing = coxph().fit(\n", + " X,\n", + " 'Wait time',\n", + " 'Failed')\n", + "fit_queuing.summary[['coef', 'se(coef)', 'p']]" + ] + }, + { + "cell_type": "markdown", + "id": "847ebaa7", + "metadata": {}, + "source": [ + "The $p$-values for Center B and evening time\n", + "are very small. It is also clear that the\n", + "hazard — that is, the instantaneous risk that a call will be\n", + "answered — increases with the number of operators. Since we\n", + "generated the data ourselves, we know that the true coefficients for\n", + "Center B, Center C, Operators\n", + "evening time, and morning time are $-0.3$,\n", + "$0$, $0.04$, and $0.2$, $-0.2$, respectively. The coefficient estimates\n", + "resulting from the Cox model are fairly accurate." + ] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "all", + "formats": "ipynb,md:myst", + "notebook_metadata_filter": "all" + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/source/labs/Ch2-statlearn-lab.ipynb b/docs/source/labs/Ch2-statlearn-lab.ipynb index d49a478..1247790 100644 --- a/docs/source/labs/Ch2-statlearn-lab.ipynb +++ b/docs/source/labs/Ch2-statlearn-lab.ipynb @@ -7,7 +7,7 @@ "source": [ "# Introduction to Python\n", "\n", - "\n", + "\n", " \"Open\n", "\n", "" @@ -98,7 +98,14 @@ "cell_type": "code", "execution_count": null, "id": "88d0bfff", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:13.653253Z", + "iopub.status.busy": "2023-07-26T05:29:13.653107Z", + "iopub.status.idle": "2023-07-26T05:29:13.659825Z", + "shell.execute_reply": "2023-07-26T05:29:13.659469Z" + } + }, "outputs": [], "source": [ "print('fit a model with', 11, 'variables')" @@ -116,7 +123,14 @@ "cell_type": "code", "execution_count": null, "id": "ebe7aca8", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:13.662377Z", + "iopub.status.busy": "2023-07-26T05:29:13.662207Z", + "iopub.status.idle": "2023-07-26T05:29:13.664797Z", + "shell.execute_reply": "2023-07-26T05:29:13.664422Z" + } + }, "outputs": [], "source": [ "print?" @@ -134,7 +148,14 @@ "cell_type": "code", "execution_count": null, "id": "df2f8168", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:13.666990Z", + "iopub.status.busy": "2023-07-26T05:29:13.666828Z", + "iopub.status.idle": "2023-07-26T05:29:13.670697Z", + "shell.execute_reply": "2023-07-26T05:29:13.670233Z" + } + }, "outputs": [], "source": [ "3 + 5" @@ -156,7 +177,14 @@ "cell_type": "code", "execution_count": null, "id": "4cc5c2c1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:13.673136Z", + "iopub.status.busy": "2023-07-26T05:29:13.672979Z", + "iopub.status.idle": "2023-07-26T05:29:13.675685Z", + "shell.execute_reply": "2023-07-26T05:29:13.675286Z" + } + }, "outputs": [], "source": [ "\"hello\" + \" \" + \"world\"" @@ -187,7 +215,14 @@ "cell_type": "code", "execution_count": null, "id": "e5d81180", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:13.677943Z", + "iopub.status.busy": "2023-07-26T05:29:13.677800Z", + "iopub.status.idle": "2023-07-26T05:29:13.680585Z", + "shell.execute_reply": "2023-07-26T05:29:13.680100Z" + } + }, "outputs": [], "source": [ "x = [3, 4, 5]\n", @@ -210,7 +245,14 @@ "cell_type": "code", "execution_count": null, "id": "425a714c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:13.682740Z", + "iopub.status.busy": "2023-07-26T05:29:13.682602Z", + "iopub.status.idle": "2023-07-26T05:29:13.685374Z", + "shell.execute_reply": "2023-07-26T05:29:13.684966Z" + } + }, "outputs": [], "source": [ "y = [4, 9, 7]\n", @@ -265,7 +307,14 @@ "cell_type": "code", "execution_count": null, "id": "2f88669a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:13.688017Z", + "iopub.status.busy": "2023-07-26T05:29:13.687702Z", + "iopub.status.idle": "2023-07-26T05:29:13.902613Z", + "shell.execute_reply": "2023-07-26T05:29:13.901721Z" + } + }, "outputs": [], "source": [ "import numpy as np " @@ -293,7 +342,14 @@ "cell_type": "code", "execution_count": null, "id": "e8ec382a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:13.908393Z", + "iopub.status.busy": "2023-07-26T05:29:13.907922Z", + "iopub.status.idle": "2023-07-26T05:29:13.914563Z", + "shell.execute_reply": "2023-07-26T05:29:13.912356Z" + } + }, "outputs": [], "source": [ "x = np.array([3, 4, 5])\n", @@ -324,7 +380,14 @@ "cell_type": "code", "execution_count": null, "id": "04de39ad", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:13.919758Z", + "iopub.status.busy": "2023-07-26T05:29:13.919275Z", + "iopub.status.idle": "2023-07-26T05:29:13.929618Z", + "shell.execute_reply": "2023-07-26T05:29:13.928417Z" + } + }, "outputs": [], "source": [ "x + y" @@ -343,7 +406,14 @@ "cell_type": "code", "execution_count": null, "id": "fee5d798", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:13.934509Z", + "iopub.status.busy": "2023-07-26T05:29:13.934172Z", + "iopub.status.idle": "2023-07-26T05:29:13.941331Z", + "shell.execute_reply": "2023-07-26T05:29:13.939888Z" + } + }, "outputs": [], "source": [ "x = np.array([[1, 2], [3, 4]])\n", @@ -365,7 +435,14 @@ "cell_type": "code", "execution_count": null, "id": "5871ca00", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:13.946610Z", + "iopub.status.busy": "2023-07-26T05:29:13.945948Z", + "iopub.status.idle": "2023-07-26T05:29:13.952982Z", + "shell.execute_reply": "2023-07-26T05:29:13.951422Z" + } + }, "outputs": [], "source": [ "x.ndim" @@ -385,7 +462,14 @@ "cell_type": "code", "execution_count": null, "id": "5a32759c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:13.958221Z", + "iopub.status.busy": "2023-07-26T05:29:13.957674Z", + "iopub.status.idle": "2023-07-26T05:29:13.965373Z", + "shell.execute_reply": "2023-07-26T05:29:13.964551Z" + } + }, "outputs": [], "source": [ "x.dtype" @@ -406,7 +490,14 @@ "cell_type": "code", "execution_count": null, "id": "55f01b16", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:13.970795Z", + "iopub.status.busy": "2023-07-26T05:29:13.970020Z", + "iopub.status.idle": "2023-07-26T05:29:13.977698Z", + "shell.execute_reply": "2023-07-26T05:29:13.976971Z" + } + }, "outputs": [], "source": [ "np.array([[1, 2], [3.0, 4]]).dtype" @@ -426,7 +517,14 @@ "cell_type": "code", "execution_count": null, "id": "2a9de618", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:13.983003Z", + "iopub.status.busy": "2023-07-26T05:29:13.982433Z", + "iopub.status.idle": "2023-07-26T05:29:13.987748Z", + "shell.execute_reply": "2023-07-26T05:29:13.986808Z" + } + }, "outputs": [], "source": [ "np.array?" @@ -444,7 +542,14 @@ "cell_type": "code", "execution_count": null, "id": "33e3e6ea", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:13.997637Z", + "iopub.status.busy": "2023-07-26T05:29:13.996561Z", + "iopub.status.idle": "2023-07-26T05:29:14.002488Z", + "shell.execute_reply": "2023-07-26T05:29:14.001948Z" + } + }, "outputs": [], "source": [ "np.array([[1, 2], [3, 4]], float).dtype" @@ -463,7 +568,14 @@ "cell_type": "code", "execution_count": null, "id": "623f8434", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.004972Z", + "iopub.status.busy": "2023-07-26T05:29:14.004832Z", + "iopub.status.idle": "2023-07-26T05:29:14.007701Z", + "shell.execute_reply": "2023-07-26T05:29:14.007253Z" + } + }, "outputs": [], "source": [ "x.shape" @@ -487,7 +599,14 @@ "cell_type": "code", "execution_count": null, "id": "235738a7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.010160Z", + "iopub.status.busy": "2023-07-26T05:29:14.009950Z", + "iopub.status.idle": "2023-07-26T05:29:14.013139Z", + "shell.execute_reply": "2023-07-26T05:29:14.012702Z" + } + }, "outputs": [], "source": [ "x = np.array([1, 2, 3, 4])\n", @@ -506,7 +625,14 @@ "cell_type": "code", "execution_count": null, "id": "7f3494e1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.015464Z", + "iopub.status.busy": "2023-07-26T05:29:14.015347Z", + "iopub.status.idle": "2023-07-26T05:29:14.018540Z", + "shell.execute_reply": "2023-07-26T05:29:14.017992Z" + } + }, "outputs": [], "source": [ "x = np.array([1, 2, 3, 4])\n", @@ -533,7 +659,14 @@ "cell_type": "code", "execution_count": null, "id": "0ca8f936", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.020924Z", + "iopub.status.busy": "2023-07-26T05:29:14.020756Z", + "iopub.status.idle": "2023-07-26T05:29:14.023635Z", + "shell.execute_reply": "2023-07-26T05:29:14.023118Z" + } + }, "outputs": [], "source": [ "x = np.array([1, 2, 3, 4, 5, 6])\n", @@ -565,7 +698,14 @@ "cell_type": "code", "execution_count": null, "id": "23fba624", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.026491Z", + "iopub.status.busy": "2023-07-26T05:29:14.026156Z", + "iopub.status.idle": "2023-07-26T05:29:14.029404Z", + "shell.execute_reply": "2023-07-26T05:29:14.028872Z" + } + }, "outputs": [], "source": [ "x_reshape[0, 0] " @@ -584,7 +724,14 @@ "cell_type": "code", "execution_count": null, "id": "1a1df926", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.031676Z", + "iopub.status.busy": "2023-07-26T05:29:14.031560Z", + "iopub.status.idle": "2023-07-26T05:29:14.034395Z", + "shell.execute_reply": "2023-07-26T05:29:14.033993Z" + } + }, "outputs": [], "source": [ "x_reshape[1, 2] " @@ -605,7 +752,14 @@ "cell_type": "code", "execution_count": null, "id": "4bfcc1e1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.036755Z", + "iopub.status.busy": "2023-07-26T05:29:14.036603Z", + "iopub.status.idle": "2023-07-26T05:29:14.039645Z", + "shell.execute_reply": "2023-07-26T05:29:14.039150Z" + } + }, "outputs": [], "source": [ "print('x before we modify x_reshape:\\n', x)\n", @@ -636,7 +790,14 @@ "cell_type": "code", "execution_count": null, "id": "973c562a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.042240Z", + "iopub.status.busy": "2023-07-26T05:29:14.042111Z", + "iopub.status.idle": "2023-07-26T05:29:14.226949Z", + "shell.execute_reply": "2023-07-26T05:29:14.226329Z" + } + }, "outputs": [], "source": [ "my_tuple = (3, 4, 5)\n", @@ -656,7 +817,14 @@ "cell_type": "code", "execution_count": null, "id": "56b5c382", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.229928Z", + "iopub.status.busy": "2023-07-26T05:29:14.229597Z", + "iopub.status.idle": "2023-07-26T05:29:14.233213Z", + "shell.execute_reply": "2023-07-26T05:29:14.232504Z" + } + }, "outputs": [], "source": [ "x_reshape.shape, x_reshape.ndim, x_reshape.T" @@ -678,7 +846,14 @@ "cell_type": "code", "execution_count": null, "id": "2e624622", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.235702Z", + "iopub.status.busy": "2023-07-26T05:29:14.235564Z", + "iopub.status.idle": "2023-07-26T05:29:14.238916Z", + "shell.execute_reply": "2023-07-26T05:29:14.238262Z" + } + }, "outputs": [], "source": [ "np.sqrt(x)" @@ -696,7 +871,14 @@ "cell_type": "code", "execution_count": null, "id": "6f45bd25", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.241171Z", + "iopub.status.busy": "2023-07-26T05:29:14.241044Z", + "iopub.status.idle": "2023-07-26T05:29:14.244021Z", + "shell.execute_reply": "2023-07-26T05:29:14.243599Z" + } + }, "outputs": [], "source": [ "x**2" @@ -714,7 +896,14 @@ "cell_type": "code", "execution_count": null, "id": "6980f628", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.246394Z", + "iopub.status.busy": "2023-07-26T05:29:14.246080Z", + "iopub.status.idle": "2023-07-26T05:29:14.249174Z", + "shell.execute_reply": "2023-07-26T05:29:14.248827Z" + } + }, "outputs": [], "source": [ "x**0.5" @@ -741,7 +930,14 @@ "cell_type": "code", "execution_count": null, "id": "89e32100", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.251585Z", + "iopub.status.busy": "2023-07-26T05:29:14.251451Z", + "iopub.status.idle": "2023-07-26T05:29:14.254814Z", + "shell.execute_reply": "2023-07-26T05:29:14.254443Z" + } + }, "outputs": [], "source": [ "x = np.random.normal(size=50)\n", @@ -760,7 +956,14 @@ "cell_type": "code", "execution_count": null, "id": "e3428155", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.257670Z", + "iopub.status.busy": "2023-07-26T05:29:14.257502Z", + "iopub.status.idle": "2023-07-26T05:29:14.259844Z", + "shell.execute_reply": "2023-07-26T05:29:14.259473Z" + } + }, "outputs": [], "source": [ "y = x + np.random.normal(loc=50, scale=1, size=50)" @@ -779,7 +982,14 @@ "cell_type": "code", "execution_count": null, "id": "df70172e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.262323Z", + "iopub.status.busy": "2023-07-26T05:29:14.262139Z", + "iopub.status.idle": "2023-07-26T05:29:14.266530Z", + "shell.execute_reply": "2023-07-26T05:29:14.266141Z" + } + }, "outputs": [], "source": [ "np.corrcoef(x, y)" @@ -800,7 +1010,14 @@ "cell_type": "code", "execution_count": null, "id": "1d996956", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.269539Z", + "iopub.status.busy": "2023-07-26T05:29:14.269386Z", + "iopub.status.idle": "2023-07-26T05:29:14.272569Z", + "shell.execute_reply": "2023-07-26T05:29:14.271780Z" + } + }, "outputs": [], "source": [ "print(np.random.normal(scale=5, size=2))\n", @@ -826,7 +1043,14 @@ "cell_type": "code", "execution_count": null, "id": "37b3a30b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.275409Z", + "iopub.status.busy": "2023-07-26T05:29:14.275284Z", + "iopub.status.idle": "2023-07-26T05:29:14.279259Z", + "shell.execute_reply": "2023-07-26T05:29:14.278925Z" + } + }, "outputs": [], "source": [ "rng = np.random.default_rng(1303)\n", @@ -856,7 +1080,14 @@ "cell_type": "code", "execution_count": null, "id": "b4f99e0e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.282826Z", + "iopub.status.busy": "2023-07-26T05:29:14.282508Z", + "iopub.status.idle": "2023-07-26T05:29:14.285616Z", + "shell.execute_reply": "2023-07-26T05:29:14.285268Z" + } + }, "outputs": [], "source": [ "rng = np.random.default_rng(3)\n", @@ -868,7 +1099,14 @@ "cell_type": "code", "execution_count": null, "id": "dbd70319", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.287760Z", + "iopub.status.busy": "2023-07-26T05:29:14.287646Z", + "iopub.status.idle": "2023-07-26T05:29:14.290801Z", + "shell.execute_reply": "2023-07-26T05:29:14.290395Z" + } + }, "outputs": [], "source": [ "np.var(y), y.var(), np.mean((y - y.mean())**2)" @@ -887,7 +1125,14 @@ "cell_type": "code", "execution_count": null, "id": "bf281844", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.292985Z", + "iopub.status.busy": "2023-07-26T05:29:14.292843Z", + "iopub.status.idle": "2023-07-26T05:29:14.295775Z", + "shell.execute_reply": "2023-07-26T05:29:14.295412Z" + } + }, "outputs": [], "source": [ "np.sqrt(np.var(y)), np.std(y)" @@ -906,7 +1151,14 @@ "cell_type": "code", "execution_count": null, "id": "f751b1dd", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.297946Z", + "iopub.status.busy": "2023-07-26T05:29:14.297809Z", + "iopub.status.idle": "2023-07-26T05:29:14.300890Z", + "shell.execute_reply": "2023-07-26T05:29:14.300481Z" + } + }, "outputs": [], "source": [ "X = rng.standard_normal((10, 3))\n", @@ -925,7 +1177,14 @@ "cell_type": "code", "execution_count": null, "id": "cbf92de5", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.303121Z", + "iopub.status.busy": "2023-07-26T05:29:14.303004Z", + "iopub.status.idle": "2023-07-26T05:29:14.306153Z", + "shell.execute_reply": "2023-07-26T05:29:14.305697Z" + } + }, "outputs": [], "source": [ "X.mean(axis=0)" @@ -943,7 +1202,14 @@ "cell_type": "code", "execution_count": null, "id": "efacc213", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.308317Z", + "iopub.status.busy": "2023-07-26T05:29:14.308171Z", + "iopub.status.idle": "2023-07-26T05:29:14.311023Z", + "shell.execute_reply": "2023-07-26T05:29:14.310704Z" + } + }, "outputs": [], "source": [ "X.mean(0)" @@ -986,7 +1252,14 @@ "cell_type": "code", "execution_count": null, "id": "637fb67d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.313130Z", + "iopub.status.busy": "2023-07-26T05:29:14.312981Z", + "iopub.status.idle": "2023-07-26T05:29:14.818758Z", + "shell.execute_reply": "2023-07-26T05:29:14.818230Z" + } + }, "outputs": [], "source": [ "from matplotlib.pyplot import subplots\n", @@ -1010,7 +1283,14 @@ "cell_type": "code", "execution_count": null, "id": "109d681d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.821437Z", + "iopub.status.busy": "2023-07-26T05:29:14.821210Z", + "iopub.status.idle": "2023-07-26T05:29:14.906268Z", + "shell.execute_reply": "2023-07-26T05:29:14.905878Z" + } + }, "outputs": [], "source": [ "output = subplots(figsize=(8, 8))\n", @@ -1030,7 +1310,14 @@ "cell_type": "code", "execution_count": null, "id": "e905982c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.908936Z", + "iopub.status.busy": "2023-07-26T05:29:14.908699Z", + "iopub.status.idle": "2023-07-26T05:29:14.995469Z", + "shell.execute_reply": "2023-07-26T05:29:14.994686Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", @@ -1059,7 +1346,14 @@ "cell_type": "code", "execution_count": null, "id": "27133a4e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:14.997995Z", + "iopub.status.busy": "2023-07-26T05:29:14.997801Z", + "iopub.status.idle": "2023-07-26T05:29:15.089963Z", + "shell.execute_reply": "2023-07-26T05:29:15.089604Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", @@ -1081,7 +1375,14 @@ "cell_type": "code", "execution_count": null, "id": "ef41f90d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:15.092622Z", + "iopub.status.busy": "2023-07-26T05:29:15.092487Z", + "iopub.status.idle": "2023-07-26T05:29:15.212584Z", + "shell.execute_reply": "2023-07-26T05:29:15.211918Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", @@ -1111,7 +1412,14 @@ "cell_type": "code", "execution_count": null, "id": "16a9cb99", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:15.215419Z", + "iopub.status.busy": "2023-07-26T05:29:15.215027Z", + "iopub.status.idle": "2023-07-26T05:29:15.330192Z", + "shell.execute_reply": "2023-07-26T05:29:15.328644Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", @@ -1134,7 +1442,14 @@ "cell_type": "code", "execution_count": null, "id": "6707420e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:15.334119Z", + "iopub.status.busy": "2023-07-26T05:29:15.333963Z", + "iopub.status.idle": "2023-07-26T05:29:15.405814Z", + "shell.execute_reply": "2023-07-26T05:29:15.405400Z" + } + }, "outputs": [], "source": [ "fig.set_size_inches(12,3)\n", @@ -1160,7 +1475,14 @@ "cell_type": "code", "execution_count": null, "id": "6c78ef8b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:15.408333Z", + "iopub.status.busy": "2023-07-26T05:29:15.408192Z", + "iopub.status.idle": "2023-07-26T05:29:15.732292Z", + "shell.execute_reply": "2023-07-26T05:29:15.731605Z" + } + }, "outputs": [], "source": [ "fig, axes = subplots(nrows=2,\n", @@ -1181,7 +1503,14 @@ "cell_type": "code", "execution_count": null, "id": "a18402fb", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:15.734889Z", + "iopub.status.busy": "2023-07-26T05:29:15.734697Z", + "iopub.status.idle": "2023-07-26T05:29:15.959530Z", + "shell.execute_reply": "2023-07-26T05:29:15.959066Z" + } + }, "outputs": [], "source": [ "axes[0,1].plot(x, y, 'o')\n", @@ -1212,7 +1541,14 @@ "cell_type": "code", "execution_count": null, "id": "80e18950", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:15.962416Z", + "iopub.status.busy": "2023-07-26T05:29:15.962231Z", + "iopub.status.idle": "2023-07-26T05:29:17.048215Z", + "shell.execute_reply": "2023-07-26T05:29:17.047676Z" + } + }, "outputs": [], "source": [ "fig.savefig(\"Figure.png\", dpi=400)\n", @@ -1231,7 +1567,14 @@ "cell_type": "code", "execution_count": null, "id": "fe8c404d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.051216Z", + "iopub.status.busy": "2023-07-26T05:29:17.051042Z", + "iopub.status.idle": "2023-07-26T05:29:17.330983Z", + "shell.execute_reply": "2023-07-26T05:29:17.330378Z" + } + }, "outputs": [], "source": [ "axes[0,1].set_xlim([-1,1])\n", @@ -1262,7 +1605,14 @@ "cell_type": "code", "execution_count": null, "id": "a99034cb", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.333539Z", + "iopub.status.busy": "2023-07-26T05:29:17.333339Z", + "iopub.status.idle": "2023-07-26T05:29:17.452013Z", + "shell.execute_reply": "2023-07-26T05:29:17.451505Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", @@ -1284,7 +1634,14 @@ "cell_type": "code", "execution_count": null, "id": "c613a5df", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.454682Z", + "iopub.status.busy": "2023-07-26T05:29:17.454485Z", + "iopub.status.idle": "2023-07-26T05:29:17.604571Z", + "shell.execute_reply": "2023-07-26T05:29:17.604143Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", @@ -1311,7 +1668,14 @@ "cell_type": "code", "execution_count": null, "id": "bef21527", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.607805Z", + "iopub.status.busy": "2023-07-26T05:29:17.607474Z", + "iopub.status.idle": "2023-07-26T05:29:17.731227Z", + "shell.execute_reply": "2023-07-26T05:29:17.730768Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", @@ -1340,7 +1704,14 @@ "cell_type": "code", "execution_count": null, "id": "4435ed50", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.733591Z", + "iopub.status.busy": "2023-07-26T05:29:17.733437Z", + "iopub.status.idle": "2023-07-26T05:29:17.736896Z", + "shell.execute_reply": "2023-07-26T05:29:17.736428Z" + } + }, "outputs": [], "source": [ "seq1 = np.linspace(0, 10, 11)\n", @@ -1361,7 +1732,14 @@ "cell_type": "code", "execution_count": null, "id": "7a2c664a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.739070Z", + "iopub.status.busy": "2023-07-26T05:29:17.738902Z", + "iopub.status.idle": "2023-07-26T05:29:17.742002Z", + "shell.execute_reply": "2023-07-26T05:29:17.741608Z" + } + }, "outputs": [], "source": [ "seq2 = np.arange(0, 10)\n", @@ -1384,7 +1762,14 @@ "cell_type": "code", "execution_count": null, "id": "810eafdf", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.744281Z", + "iopub.status.busy": "2023-07-26T05:29:17.744099Z", + "iopub.status.idle": "2023-07-26T05:29:17.747188Z", + "shell.execute_reply": "2023-07-26T05:29:17.746807Z" + } + }, "outputs": [], "source": [ "\"hello world\"[3:6]" @@ -1403,7 +1788,14 @@ "cell_type": "code", "execution_count": null, "id": "f7a9f652", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.749618Z", + "iopub.status.busy": "2023-07-26T05:29:17.749428Z", + "iopub.status.idle": "2023-07-26T05:29:17.752320Z", + "shell.execute_reply": "2023-07-26T05:29:17.751846Z" + } + }, "outputs": [], "source": [ "\"hello world\"[slice(3,6)]" @@ -1432,7 +1824,14 @@ "cell_type": "code", "execution_count": null, "id": "24427538", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.754673Z", + "iopub.status.busy": "2023-07-26T05:29:17.754528Z", + "iopub.status.idle": "2023-07-26T05:29:17.758000Z", + "shell.execute_reply": "2023-07-26T05:29:17.757315Z" + } + }, "outputs": [], "source": [ "A = np.array(np.arange(16)).reshape((4, 4))\n", @@ -1452,7 +1851,14 @@ "cell_type": "code", "execution_count": null, "id": "18684ed5", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.760251Z", + "iopub.status.busy": "2023-07-26T05:29:17.760111Z", + "iopub.status.idle": "2023-07-26T05:29:17.763156Z", + "shell.execute_reply": "2023-07-26T05:29:17.762782Z" + } + }, "outputs": [], "source": [ "A[1,2]" @@ -1475,7 +1881,14 @@ "cell_type": "code", "execution_count": null, "id": "34d27b73", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.765326Z", + "iopub.status.busy": "2023-07-26T05:29:17.765144Z", + "iopub.status.idle": "2023-07-26T05:29:17.768118Z", + "shell.execute_reply": "2023-07-26T05:29:17.767768Z" + } + }, "outputs": [], "source": [ "A[[1,3]]" @@ -1495,7 +1908,14 @@ "cell_type": "code", "execution_count": null, "id": "1bb799c5", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.770122Z", + "iopub.status.busy": "2023-07-26T05:29:17.769970Z", + "iopub.status.idle": "2023-07-26T05:29:17.773095Z", + "shell.execute_reply": "2023-07-26T05:29:17.772652Z" + } + }, "outputs": [], "source": [ "A[:,[0,2]]" @@ -1515,7 +1935,14 @@ "cell_type": "code", "execution_count": null, "id": "de853e7c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.775350Z", + "iopub.status.busy": "2023-07-26T05:29:17.775182Z", + "iopub.status.idle": "2023-07-26T05:29:17.778160Z", + "shell.execute_reply": "2023-07-26T05:29:17.777807Z" + } + }, "outputs": [], "source": [ "A[[1,3],[0,2]]" @@ -1533,7 +1960,14 @@ "cell_type": "code", "execution_count": null, "id": "e71bf672", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.780228Z", + "iopub.status.busy": "2023-07-26T05:29:17.780099Z", + "iopub.status.idle": "2023-07-26T05:29:17.783205Z", + "shell.execute_reply": "2023-07-26T05:29:17.782588Z" + } + }, "outputs": [], "source": [ "np.array([A[1,0],A[3,2]])" @@ -1551,7 +1985,14 @@ "cell_type": "code", "execution_count": null, "id": "458fe5c9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.785646Z", + "iopub.status.busy": "2023-07-26T05:29:17.785525Z", + "iopub.status.idle": "2023-07-26T05:29:17.812781Z", + "shell.execute_reply": "2023-07-26T05:29:17.812287Z" + } + }, "outputs": [], "source": [ "A[[1,3],[0,2,3]]" @@ -1571,7 +2012,14 @@ "cell_type": "code", "execution_count": null, "id": "703832ac", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.815878Z", + "iopub.status.busy": "2023-07-26T05:29:17.815556Z", + "iopub.status.idle": "2023-07-26T05:29:17.819079Z", + "shell.execute_reply": "2023-07-26T05:29:17.818526Z" + } + }, "outputs": [], "source": [ "A[[1,3]][:,[0,2]]" @@ -1592,7 +2040,14 @@ "cell_type": "code", "execution_count": null, "id": "dbf328b7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.821663Z", + "iopub.status.busy": "2023-07-26T05:29:17.821485Z", + "iopub.status.idle": "2023-07-26T05:29:17.825110Z", + "shell.execute_reply": "2023-07-26T05:29:17.824596Z" + } + }, "outputs": [], "source": [ "idx = np.ix_([1,3],[0,2,3])\n", @@ -1615,7 +2070,14 @@ "cell_type": "code", "execution_count": null, "id": "65784eb0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.827692Z", + "iopub.status.busy": "2023-07-26T05:29:17.827506Z", + "iopub.status.idle": "2023-07-26T05:29:17.830968Z", + "shell.execute_reply": "2023-07-26T05:29:17.830460Z" + } + }, "outputs": [], "source": [ "A[1:4:2,0:3:2]" @@ -1646,7 +2108,14 @@ "cell_type": "code", "execution_count": null, "id": "3ddb0d83", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.833837Z", + "iopub.status.busy": "2023-07-26T05:29:17.833652Z", + "iopub.status.idle": "2023-07-26T05:29:17.836642Z", + "shell.execute_reply": "2023-07-26T05:29:17.836240Z" + } + }, "outputs": [], "source": [ "keep_rows = np.zeros(A.shape[0], bool)\n", @@ -1665,7 +2134,14 @@ "cell_type": "code", "execution_count": null, "id": "90e72009", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.839230Z", + "iopub.status.busy": "2023-07-26T05:29:17.839048Z", + "iopub.status.idle": "2023-07-26T05:29:17.844524Z", + "shell.execute_reply": "2023-07-26T05:29:17.841903Z" + } + }, "outputs": [], "source": [ "keep_rows[[1,3]] = True\n", @@ -1686,7 +2162,14 @@ "cell_type": "code", "execution_count": null, "id": "fb3b6534", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.847591Z", + "iopub.status.busy": "2023-07-26T05:29:17.847413Z", + "iopub.status.idle": "2023-07-26T05:29:17.851043Z", + "shell.execute_reply": "2023-07-26T05:29:17.850650Z" + } + }, "outputs": [], "source": [ "np.all(keep_rows == np.array([0,1,0,1]))" @@ -1714,7 +2197,14 @@ "cell_type": "code", "execution_count": null, "id": "b146db22", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.854162Z", + "iopub.status.busy": "2023-07-26T05:29:17.853950Z", + "iopub.status.idle": "2023-07-26T05:29:17.860504Z", + "shell.execute_reply": "2023-07-26T05:29:17.860073Z" + } + }, "outputs": [], "source": [ "A[np.array([0,1,0,1])]" @@ -1732,7 +2222,14 @@ "cell_type": "code", "execution_count": null, "id": "6bf7b4a3", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.864709Z", + "iopub.status.busy": "2023-07-26T05:29:17.864481Z", + "iopub.status.idle": "2023-07-26T05:29:17.869279Z", + "shell.execute_reply": "2023-07-26T05:29:17.868135Z" + } + }, "outputs": [], "source": [ "A[keep_rows]" @@ -1760,7 +2257,14 @@ "cell_type": "code", "execution_count": null, "id": "288011d9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.875531Z", + "iopub.status.busy": "2023-07-26T05:29:17.874719Z", + "iopub.status.idle": "2023-07-26T05:29:17.880224Z", + "shell.execute_reply": "2023-07-26T05:29:17.879831Z" + } + }, "outputs": [], "source": [ "keep_cols = np.zeros(A.shape[1], bool)\n", @@ -1781,7 +2285,14 @@ "cell_type": "code", "execution_count": null, "id": "3e3b1954", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.885549Z", + "iopub.status.busy": "2023-07-26T05:29:17.885336Z", + "iopub.status.idle": "2023-07-26T05:29:17.890989Z", + "shell.execute_reply": "2023-07-26T05:29:17.890528Z" + } + }, "outputs": [], "source": [ "idx_mixed = np.ix_([1,3], keep_cols)\n", @@ -1845,7 +2356,14 @@ "cell_type": "code", "execution_count": null, "id": "d02bfb28", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:17.893962Z", + "iopub.status.busy": "2023-07-26T05:29:17.893772Z", + "iopub.status.idle": "2023-07-26T05:29:18.126793Z", + "shell.execute_reply": "2023-07-26T05:29:18.126353Z" + } + }, "outputs": [], "source": [ "import pandas as pd\n", @@ -1865,7 +2383,14 @@ "cell_type": "code", "execution_count": null, "id": "ca6090af", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.129214Z", + "iopub.status.busy": "2023-07-26T05:29:18.129036Z", + "iopub.status.idle": "2023-07-26T05:29:18.133861Z", + "shell.execute_reply": "2023-07-26T05:29:18.133327Z" + } + }, "outputs": [], "source": [ "Auto = pd.read_csv('Auto.data', delim_whitespace=True)" @@ -1893,7 +2418,14 @@ "cell_type": "code", "execution_count": null, "id": "7220aa87", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.136921Z", + "iopub.status.busy": "2023-07-26T05:29:18.136464Z", + "iopub.status.idle": "2023-07-26T05:29:18.140452Z", + "shell.execute_reply": "2023-07-26T05:29:18.139936Z" + } + }, "outputs": [], "source": [ "Auto['horsepower']" @@ -1914,7 +2446,14 @@ "cell_type": "code", "execution_count": null, "id": "ca1939f0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.142925Z", + "iopub.status.busy": "2023-07-26T05:29:18.142803Z", + "iopub.status.idle": "2023-07-26T05:29:18.146461Z", + "shell.execute_reply": "2023-07-26T05:29:18.145934Z" + } + }, "outputs": [], "source": [ "np.unique(Auto['horsepower'])" @@ -1942,7 +2481,14 @@ "cell_type": "code", "execution_count": null, "id": "cfb084e7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.149045Z", + "iopub.status.busy": "2023-07-26T05:29:18.148875Z", + "iopub.status.idle": "2023-07-26T05:29:18.153953Z", + "shell.execute_reply": "2023-07-26T05:29:18.153625Z" + } + }, "outputs": [], "source": [ "Auto = pd.read_csv('Auto.data',\n", @@ -1964,7 +2510,14 @@ "cell_type": "code", "execution_count": null, "id": "2e02b6a5", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.156574Z", + "iopub.status.busy": "2023-07-26T05:29:18.155920Z", + "iopub.status.idle": "2023-07-26T05:29:18.159130Z", + "shell.execute_reply": "2023-07-26T05:29:18.158724Z" + } + }, "outputs": [], "source": [ "Auto.shape" @@ -1985,7 +2538,14 @@ "cell_type": "code", "execution_count": null, "id": "d391f8d0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.161446Z", + "iopub.status.busy": "2023-07-26T05:29:18.161286Z", + "iopub.status.idle": "2023-07-26T05:29:18.165230Z", + "shell.execute_reply": "2023-07-26T05:29:18.164876Z" + } + }, "outputs": [], "source": [ "Auto_new = Auto.dropna()\n", @@ -2006,7 +2566,14 @@ "cell_type": "code", "execution_count": null, "id": "a222ca60", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.167288Z", + "iopub.status.busy": "2023-07-26T05:29:18.167156Z", + "iopub.status.idle": "2023-07-26T05:29:18.171499Z", + "shell.execute_reply": "2023-07-26T05:29:18.171112Z" + } + }, "outputs": [], "source": [ "Auto = Auto_new # overwrite the previous value\n", @@ -2029,7 +2596,14 @@ "cell_type": "code", "execution_count": null, "id": "a75921ac", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.173985Z", + "iopub.status.busy": "2023-07-26T05:29:18.173779Z", + "iopub.status.idle": "2023-07-26T05:29:18.180116Z", + "shell.execute_reply": "2023-07-26T05:29:18.179681Z" + } + }, "outputs": [], "source": [ "Auto[:3]" @@ -2047,7 +2621,14 @@ "cell_type": "code", "execution_count": null, "id": "7469ff2b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.183321Z", + "iopub.status.busy": "2023-07-26T05:29:18.183157Z", + "iopub.status.idle": "2023-07-26T05:29:18.201363Z", + "shell.execute_reply": "2023-07-26T05:29:18.200939Z" + } + }, "outputs": [], "source": [ "idx_80 = Auto['year'] > 80\n", @@ -2066,7 +2647,14 @@ "cell_type": "code", "execution_count": null, "id": "ac455404", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.203476Z", + "iopub.status.busy": "2023-07-26T05:29:18.203352Z", + "iopub.status.idle": "2023-07-26T05:29:18.209504Z", + "shell.execute_reply": "2023-07-26T05:29:18.209134Z" + } + }, "outputs": [], "source": [ "Auto[['mpg', 'horsepower']]" @@ -2085,7 +2673,14 @@ "cell_type": "code", "execution_count": null, "id": "f41235d4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.211995Z", + "iopub.status.busy": "2023-07-26T05:29:18.211814Z", + "iopub.status.idle": "2023-07-26T05:29:18.215209Z", + "shell.execute_reply": "2023-07-26T05:29:18.214581Z" + } + }, "outputs": [], "source": [ "Auto.index" @@ -2104,7 +2699,14 @@ "cell_type": "code", "execution_count": null, "id": "31caba24", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.217421Z", + "iopub.status.busy": "2023-07-26T05:29:18.217292Z", + "iopub.status.idle": "2023-07-26T05:29:18.225169Z", + "shell.execute_reply": "2023-07-26T05:29:18.224781Z" + } + }, "outputs": [], "source": [ "Auto_re = Auto.set_index('name')\n", @@ -2115,7 +2717,14 @@ "cell_type": "code", "execution_count": null, "id": "594bedfa", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.227488Z", + "iopub.status.busy": "2023-07-26T05:29:18.227297Z", + "iopub.status.idle": "2023-07-26T05:29:18.230280Z", + "shell.execute_reply": "2023-07-26T05:29:18.229861Z" + } + }, "outputs": [], "source": [ "Auto_re.columns" @@ -2137,7 +2746,14 @@ "cell_type": "code", "execution_count": null, "id": "9a59b083", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.232510Z", + "iopub.status.busy": "2023-07-26T05:29:18.232342Z", + "iopub.status.idle": "2023-07-26T05:29:18.238242Z", + "shell.execute_reply": "2023-07-26T05:29:18.237748Z" + } + }, "outputs": [], "source": [ "rows = ['amc rebel sst', 'ford torino']\n", @@ -2156,7 +2772,14 @@ "cell_type": "code", "execution_count": null, "id": "54457a11", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.240468Z", + "iopub.status.busy": "2023-07-26T05:29:18.240293Z", + "iopub.status.idle": "2023-07-26T05:29:18.245745Z", + "shell.execute_reply": "2023-07-26T05:29:18.245311Z" + } + }, "outputs": [], "source": [ "Auto_re.iloc[[3,4]]" @@ -2174,7 +2797,14 @@ "cell_type": "code", "execution_count": null, "id": "8a4f3faf", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.247984Z", + "iopub.status.busy": "2023-07-26T05:29:18.247834Z", + "iopub.status.idle": "2023-07-26T05:29:18.254533Z", + "shell.execute_reply": "2023-07-26T05:29:18.254012Z" + } + }, "outputs": [], "source": [ "Auto_re.iloc[:,[0,2,3]]" @@ -2193,7 +2823,14 @@ "cell_type": "code", "execution_count": null, "id": "8f1e6e56", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.256972Z", + "iopub.status.busy": "2023-07-26T05:29:18.256754Z", + "iopub.status.idle": "2023-07-26T05:29:18.261662Z", + "shell.execute_reply": "2023-07-26T05:29:18.261232Z" + } + }, "outputs": [], "source": [ "Auto_re.iloc[[3,4],[0,2,3]]" @@ -2211,7 +2848,14 @@ "cell_type": "code", "execution_count": null, "id": "f1d0e795", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.263825Z", + "iopub.status.busy": "2023-07-26T05:29:18.263676Z", + "iopub.status.idle": "2023-07-26T05:29:18.268126Z", + "shell.execute_reply": "2023-07-26T05:29:18.267724Z" + } + }, "outputs": [], "source": [ "Auto_re.loc['ford galaxie 500', ['mpg', 'origin']]" @@ -2233,7 +2877,14 @@ "cell_type": "code", "execution_count": null, "id": "392f10a1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.270321Z", + "iopub.status.busy": "2023-07-26T05:29:18.270149Z", + "iopub.status.idle": "2023-07-26T05:29:18.277370Z", + "shell.execute_reply": "2023-07-26T05:29:18.276917Z" + } + }, "outputs": [], "source": [ "idx_80 = Auto_re['year'] > 80\n", @@ -2252,7 +2903,14 @@ "cell_type": "code", "execution_count": null, "id": "5f5b7906", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.279435Z", + "iopub.status.busy": "2023-07-26T05:29:18.279296Z", + "iopub.status.idle": "2023-07-26T05:29:18.287423Z", + "shell.execute_reply": "2023-07-26T05:29:18.286943Z" + } + }, "outputs": [], "source": [ "Auto_re.loc[lambda df: df['year'] > 80, ['weight', 'origin']]" @@ -2275,7 +2933,14 @@ "cell_type": "code", "execution_count": null, "id": "b13c5728", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.289828Z", + "iopub.status.busy": "2023-07-26T05:29:18.289661Z", + "iopub.status.idle": "2023-07-26T05:29:18.296360Z", + "shell.execute_reply": "2023-07-26T05:29:18.295846Z" + } + }, "outputs": [], "source": [ "Auto_re.loc[lambda df: (df['year'] > 80) & (df['mpg'] > 30),\n", @@ -2298,7 +2963,14 @@ "cell_type": "code", "execution_count": null, "id": "d5a2c3be", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.298956Z", + "iopub.status.busy": "2023-07-26T05:29:18.298779Z", + "iopub.status.idle": "2023-07-26T05:29:18.306530Z", + "shell.execute_reply": "2023-07-26T05:29:18.305978Z" + } + }, "outputs": [], "source": [ "Auto_re.loc[lambda df: (df['displacement'] < 300)\n", @@ -2330,7 +3002,14 @@ "cell_type": "code", "execution_count": null, "id": "a6278441", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.308697Z", + "iopub.status.busy": "2023-07-26T05:29:18.308549Z", + "iopub.status.idle": "2023-07-26T05:29:18.311058Z", + "shell.execute_reply": "2023-07-26T05:29:18.310729Z" + } + }, "outputs": [], "source": [ "total = 0\n", @@ -2358,7 +3037,14 @@ "cell_type": "code", "execution_count": null, "id": "2aa065a8", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.313814Z", + "iopub.status.busy": "2023-07-26T05:29:18.313627Z", + "iopub.status.idle": "2023-07-26T05:29:18.316245Z", + "shell.execute_reply": "2023-07-26T05:29:18.315821Z" + } + }, "outputs": [], "source": [ "total = 0\n", @@ -2394,7 +3080,14 @@ "cell_type": "code", "execution_count": null, "id": "832c1b7d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.318251Z", + "iopub.status.busy": "2023-07-26T05:29:18.318060Z", + "iopub.status.idle": "2023-07-26T05:29:18.321951Z", + "shell.execute_reply": "2023-07-26T05:29:18.321594Z" + } + }, "outputs": [], "source": [ "total = 0\n", @@ -2434,7 +3127,14 @@ "cell_type": "code", "execution_count": null, "id": "2ca2e7cd", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.324105Z", + "iopub.status.busy": "2023-07-26T05:29:18.323988Z", + "iopub.status.idle": "2023-07-26T05:29:18.330121Z", + "shell.execute_reply": "2023-07-26T05:29:18.329787Z" + } + }, "outputs": [], "source": [ "rng = np.random.default_rng(1)\n", @@ -2453,7 +3153,14 @@ "cell_type": "code", "execution_count": null, "id": "d8ae1dcc", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.332238Z", + "iopub.status.busy": "2023-07-26T05:29:18.331972Z", + "iopub.status.idle": "2023-07-26T05:29:18.335469Z", + "shell.execute_reply": "2023-07-26T05:29:18.335131Z" + } + }, "outputs": [], "source": [ "for col in D.columns:\n", @@ -2490,7 +3197,14 @@ "cell_type": "code", "execution_count": null, "id": "30a8a663", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.338919Z", + "iopub.status.busy": "2023-07-26T05:29:18.338751Z", + "iopub.status.idle": "2023-07-26T05:29:18.449864Z", + "shell.execute_reply": "2023-07-26T05:29:18.449132Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", @@ -2509,7 +3223,14 @@ "cell_type": "code", "execution_count": null, "id": "81fdedb1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.452711Z", + "iopub.status.busy": "2023-07-26T05:29:18.452267Z", + "iopub.status.idle": "2023-07-26T05:29:18.556826Z", + "shell.execute_reply": "2023-07-26T05:29:18.556309Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", @@ -2532,7 +3253,14 @@ "cell_type": "code", "execution_count": null, "id": "61850515", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.559255Z", + "iopub.status.busy": "2023-07-26T05:29:18.559034Z", + "iopub.status.idle": "2023-07-26T05:29:18.680294Z", + "shell.execute_reply": "2023-07-26T05:29:18.679833Z" + } + }, "outputs": [], "source": [ "ax = Auto.plot.scatter('horsepower', 'mpg');\n", @@ -2553,7 +3281,14 @@ "cell_type": "code", "execution_count": null, "id": "f2e0c165", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.682678Z", + "iopub.status.busy": "2023-07-26T05:29:18.682519Z", + "iopub.status.idle": "2023-07-26T05:29:18.726894Z", + "shell.execute_reply": "2023-07-26T05:29:18.726384Z" + } + }, "outputs": [], "source": [ "fig = ax.figure\n", @@ -2577,7 +3312,14 @@ "cell_type": "code", "execution_count": null, "id": "35c72e77", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.729555Z", + "iopub.status.busy": "2023-07-26T05:29:18.729403Z", + "iopub.status.idle": "2023-07-26T05:29:18.935439Z", + "shell.execute_reply": "2023-07-26T05:29:18.934984Z" + } + }, "outputs": [], "source": [ "fig, axes = subplots(ncols=3, figsize=(15, 5))\n", @@ -2607,7 +3349,14 @@ "cell_type": "code", "execution_count": null, "id": "2b6fb1ad", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.937842Z", + "iopub.status.busy": "2023-07-26T05:29:18.937680Z", + "iopub.status.idle": "2023-07-26T05:29:18.941712Z", + "shell.execute_reply": "2023-07-26T05:29:18.941344Z" + } + }, "outputs": [], "source": [ "Auto.cylinders = pd.Series(Auto.cylinders, dtype='category')\n", @@ -2627,7 +3376,14 @@ "cell_type": "code", "execution_count": null, "id": "1f19f48c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:18.944261Z", + "iopub.status.busy": "2023-07-26T05:29:18.944131Z", + "iopub.status.idle": "2023-07-26T05:29:19.068255Z", + "shell.execute_reply": "2023-07-26T05:29:19.067715Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", @@ -2646,7 +3402,14 @@ "cell_type": "code", "execution_count": null, "id": "929b6901", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:19.071259Z", + "iopub.status.busy": "2023-07-26T05:29:19.071061Z", + "iopub.status.idle": "2023-07-26T05:29:19.195022Z", + "shell.execute_reply": "2023-07-26T05:29:19.194542Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", @@ -2665,7 +3428,14 @@ "cell_type": "code", "execution_count": null, "id": "8d48f1e9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:19.197491Z", + "iopub.status.busy": "2023-07-26T05:29:19.197276Z", + "iopub.status.idle": "2023-07-26T05:29:19.318988Z", + "shell.execute_reply": "2023-07-26T05:29:19.318622Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", @@ -2688,7 +3458,14 @@ "cell_type": "code", "execution_count": null, "id": "400690e6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:19.321439Z", + "iopub.status.busy": "2023-07-26T05:29:19.321240Z", + "iopub.status.idle": "2023-07-26T05:29:20.519159Z", + "shell.execute_reply": "2023-07-26T05:29:20.518700Z" + } + }, "outputs": [], "source": [ "pd.plotting.scatter_matrix(Auto);" @@ -2707,7 +3484,14 @@ "cell_type": "code", "execution_count": null, "id": "6bbeca8b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:20.521548Z", + "iopub.status.busy": "2023-07-26T05:29:20.521429Z", + "iopub.status.idle": "2023-07-26T05:29:20.804202Z", + "shell.execute_reply": "2023-07-26T05:29:20.803825Z" + } + }, "outputs": [], "source": [ "pd.plotting.scatter_matrix(Auto[['mpg',\n", @@ -2727,7 +3511,14 @@ "cell_type": "code", "execution_count": null, "id": "1727f604", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:20.809656Z", + "iopub.status.busy": "2023-07-26T05:29:20.809455Z", + "iopub.status.idle": "2023-07-26T05:29:20.816572Z", + "shell.execute_reply": "2023-07-26T05:29:20.816157Z" + } + }, "outputs": [], "source": [ "Auto[['mpg', 'weight']].describe()" @@ -2745,7 +3536,14 @@ "cell_type": "code", "execution_count": null, "id": "39bf4091", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:29:20.819204Z", + "iopub.status.busy": "2023-07-26T05:29:20.818991Z", + "iopub.status.idle": "2023-07-26T05:29:20.824216Z", + "shell.execute_reply": "2023-07-26T05:29:20.823857Z" + } + }, "outputs": [], "source": [ "Auto['cylinders'].describe()\n", @@ -2769,6 +3567,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,md:myst", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch3-linreg-lab.ipynb b/docs/source/labs/Ch3-linreg-lab.ipynb index ab4e953..faefdc7 100644 --- a/docs/source/labs/Ch3-linreg-lab.ipynb +++ b/docs/source/labs/Ch3-linreg-lab.ipynb @@ -7,7 +7,7 @@ "source": [ "# Linear Regression\n", "\n", - "\n", + "\n", " \"Open\n", "\n", "\n", @@ -22,7 +22,14 @@ "cell_type": "code", "execution_count": null, "id": "ca5277a6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:48.562599Z", + "iopub.status.busy": "2023-07-26T05:16:48.562472Z", + "iopub.status.idle": "2023-07-26T05:16:49.062186Z", + "shell.execute_reply": "2023-07-26T05:16:49.061609Z" + } + }, "outputs": [], "source": [ "import numpy as np\n", @@ -47,7 +54,14 @@ "cell_type": "code", "execution_count": null, "id": "675f24e6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:49.064676Z", + "iopub.status.busy": "2023-07-26T05:16:49.064483Z", + "iopub.status.idle": "2023-07-26T05:16:49.739307Z", + "shell.execute_reply": "2023-07-26T05:16:49.738853Z" + } + }, "outputs": [], "source": [ "import statsmodels.api as sm" @@ -72,7 +86,14 @@ "cell_type": "code", "execution_count": null, "id": "a0ee23c2", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:49.741758Z", + "iopub.status.busy": "2023-07-26T05:16:49.741609Z", + "iopub.status.idle": "2023-07-26T05:16:49.744969Z", + "shell.execute_reply": "2023-07-26T05:16:49.744551Z" + } + }, "outputs": [], "source": [ "from statsmodels.stats.outliers_influence \\\n", @@ -96,7 +117,14 @@ "cell_type": "code", "execution_count": null, "id": "b35eb887", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:49.747166Z", + "iopub.status.busy": "2023-07-26T05:16:49.746991Z", + "iopub.status.idle": "2023-07-26T05:16:49.867818Z", + "shell.execute_reply": "2023-07-26T05:16:49.867356Z" + } + }, "outputs": [], "source": [ "from ISLP import load_data\n", @@ -121,7 +149,14 @@ "cell_type": "code", "execution_count": null, "id": "961908f7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:49.870378Z", + "iopub.status.busy": "2023-07-26T05:16:49.870231Z", + "iopub.status.idle": "2023-07-26T05:16:49.874355Z", + "shell.execute_reply": "2023-07-26T05:16:49.873851Z" + } + }, "outputs": [], "source": [ "dir()" @@ -147,7 +182,14 @@ "cell_type": "code", "execution_count": null, "id": "662caa15", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:49.876620Z", + "iopub.status.busy": "2023-07-26T05:16:49.876476Z", + "iopub.status.idle": "2023-07-26T05:16:49.880485Z", + "shell.execute_reply": "2023-07-26T05:16:49.880074Z" + } + }, "outputs": [], "source": [ "A = np.array([3,5,11])\n", @@ -167,7 +209,14 @@ "cell_type": "code", "execution_count": null, "id": "ebb7d126", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:49.882618Z", + "iopub.status.busy": "2023-07-26T05:16:49.882477Z", + "iopub.status.idle": "2023-07-26T05:16:49.885324Z", + "shell.execute_reply": "2023-07-26T05:16:49.884886Z" + } + }, "outputs": [], "source": [ "A.sum()" @@ -198,7 +247,14 @@ "cell_type": "code", "execution_count": null, "id": "1ea46cee", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:49.887855Z", + "iopub.status.busy": "2023-07-26T05:16:49.887580Z", + "iopub.status.idle": "2023-07-26T05:16:49.892800Z", + "shell.execute_reply": "2023-07-26T05:16:49.892442Z" + } + }, "outputs": [], "source": [ "Boston = load_data(\"Boston\")\n", @@ -222,7 +278,14 @@ "cell_type": "code", "execution_count": null, "id": "26c0ba88", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:49.895108Z", + "iopub.status.busy": "2023-07-26T05:16:49.894938Z", + "iopub.status.idle": "2023-07-26T05:16:49.901385Z", + "shell.execute_reply": "2023-07-26T05:16:49.900996Z" + } + }, "outputs": [], "source": [ "X = pd.DataFrame({'intercept': np.ones(Boston.shape[0]),\n", @@ -242,7 +305,14 @@ "cell_type": "code", "execution_count": null, "id": "d4dd511b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:49.903600Z", + "iopub.status.busy": "2023-07-26T05:16:49.903426Z", + "iopub.status.idle": "2023-07-26T05:16:49.906235Z", + "shell.execute_reply": "2023-07-26T05:16:49.905900Z" + } + }, "outputs": [], "source": [ "y = Boston['medv']\n", @@ -269,7 +339,14 @@ "cell_type": "code", "execution_count": null, "id": "eef9f8e3", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:49.908149Z", + "iopub.status.busy": "2023-07-26T05:16:49.908028Z", + "iopub.status.idle": "2023-07-26T05:16:49.973872Z", + "shell.execute_reply": "2023-07-26T05:16:49.973443Z" + } + }, "outputs": [], "source": [ "summarize(results)" @@ -315,7 +392,14 @@ "cell_type": "code", "execution_count": null, "id": "557170d4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:49.976562Z", + "iopub.status.busy": "2023-07-26T05:16:49.976352Z", + "iopub.status.idle": "2023-07-26T05:16:49.982733Z", + "shell.execute_reply": "2023-07-26T05:16:49.982315Z" + } + }, "outputs": [], "source": [ "design = MS(['lstat'])\n", @@ -339,7 +423,14 @@ "cell_type": "code", "execution_count": null, "id": "b83ec097", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:49.985396Z", + "iopub.status.busy": "2023-07-26T05:16:49.985228Z", + "iopub.status.idle": "2023-07-26T05:16:49.992390Z", + "shell.execute_reply": "2023-07-26T05:16:49.991020Z" + } + }, "outputs": [], "source": [ "design = MS(['lstat'])\n", @@ -372,7 +463,14 @@ "cell_type": "code", "execution_count": null, "id": "d4dce5f6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:49.995458Z", + "iopub.status.busy": "2023-07-26T05:16:49.995307Z", + "iopub.status.idle": "2023-07-26T05:16:50.003927Z", + "shell.execute_reply": "2023-07-26T05:16:50.003569Z" + } + }, "outputs": [], "source": [ "results.summary()" @@ -391,7 +489,14 @@ "cell_type": "code", "execution_count": null, "id": "a0edf555", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.006397Z", + "iopub.status.busy": "2023-07-26T05:16:50.006253Z", + "iopub.status.idle": "2023-07-26T05:16:50.009669Z", + "shell.execute_reply": "2023-07-26T05:16:50.009037Z" + } + }, "outputs": [], "source": [ "results.params" @@ -413,7 +518,14 @@ "cell_type": "code", "execution_count": null, "id": "fdc5a3f3", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.012044Z", + "iopub.status.busy": "2023-07-26T05:16:50.011931Z", + "iopub.status.idle": "2023-07-26T05:16:50.016842Z", + "shell.execute_reply": "2023-07-26T05:16:50.016427Z" + } + }, "outputs": [], "source": [ "new_df = pd.DataFrame({'lstat':[5, 10, 15]})\n", @@ -433,7 +545,14 @@ "cell_type": "code", "execution_count": null, "id": "2c6acbf0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.019127Z", + "iopub.status.busy": "2023-07-26T05:16:50.018964Z", + "iopub.status.idle": "2023-07-26T05:16:50.022350Z", + "shell.execute_reply": "2023-07-26T05:16:50.021918Z" + } + }, "outputs": [], "source": [ "new_predictions = results.get_prediction(newX);\n", @@ -452,7 +571,14 @@ "cell_type": "code", "execution_count": null, "id": "c472ef33", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.024574Z", + "iopub.status.busy": "2023-07-26T05:16:50.024433Z", + "iopub.status.idle": "2023-07-26T05:16:50.027837Z", + "shell.execute_reply": "2023-07-26T05:16:50.027439Z" + } + }, "outputs": [], "source": [ "new_predictions.conf_int(alpha=0.05)" @@ -470,7 +596,14 @@ "cell_type": "code", "execution_count": null, "id": "3e2ffc7a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.029978Z", + "iopub.status.busy": "2023-07-26T05:16:50.029838Z", + "iopub.status.idle": "2023-07-26T05:16:50.032847Z", + "shell.execute_reply": "2023-07-26T05:16:50.032491Z" + } + }, "outputs": [], "source": [ "new_predictions.conf_int(obs=True, alpha=0.05)" @@ -509,7 +642,14 @@ "cell_type": "code", "execution_count": null, "id": "4e56a1d3", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.035185Z", + "iopub.status.busy": "2023-07-26T05:16:50.035076Z", + "iopub.status.idle": "2023-07-26T05:16:50.037782Z", + "shell.execute_reply": "2023-07-26T05:16:50.037389Z" + } + }, "outputs": [], "source": [ "def abline(ax, b, m):\n", @@ -535,7 +675,14 @@ "cell_type": "code", "execution_count": null, "id": "7f43ffe7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.040033Z", + "iopub.status.busy": "2023-07-26T05:16:50.039836Z", + "iopub.status.idle": "2023-07-26T05:16:50.042447Z", + "shell.execute_reply": "2023-07-26T05:16:50.042026Z" + } + }, "outputs": [], "source": [ "def abline(ax, b, m, *args, **kwargs):\n", @@ -567,7 +714,14 @@ "cell_type": "code", "execution_count": null, "id": "3f7b67c9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.044790Z", + "iopub.status.busy": "2023-07-26T05:16:50.044610Z", + "iopub.status.idle": "2023-07-26T05:16:50.159032Z", + "shell.execute_reply": "2023-07-26T05:16:50.158476Z" + } + }, "outputs": [], "source": [ "ax = Boston.plot.scatter('lstat', 'medv')\n", @@ -611,7 +765,14 @@ "cell_type": "code", "execution_count": null, "id": "b35a2fd3", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.161898Z", + "iopub.status.busy": "2023-07-26T05:16:50.161592Z", + "iopub.status.idle": "2023-07-26T05:16:50.274404Z", + "shell.execute_reply": "2023-07-26T05:16:50.273842Z" + } + }, "outputs": [], "source": [ "ax = subplots(figsize=(8,8))[1]\n", @@ -640,7 +801,14 @@ "cell_type": "code", "execution_count": null, "id": "82673b80", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.276799Z", + "iopub.status.busy": "2023-07-26T05:16:50.276637Z", + "iopub.status.idle": "2023-07-26T05:16:50.384102Z", + "shell.execute_reply": "2023-07-26T05:16:50.383325Z" + } + }, "outputs": [], "source": [ "infl = results.get_influence()\n", @@ -679,7 +847,14 @@ "cell_type": "code", "execution_count": null, "id": "54596dc4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.387053Z", + "iopub.status.busy": "2023-07-26T05:16:50.386874Z", + "iopub.status.idle": "2023-07-26T05:16:50.400398Z", + "shell.execute_reply": "2023-07-26T05:16:50.399938Z" + } + }, "outputs": [], "source": [ "X = MS(['lstat', 'age']).fit_transform(Boston)\n", @@ -704,7 +879,14 @@ "cell_type": "code", "execution_count": null, "id": "75c78238", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.402974Z", + "iopub.status.busy": "2023-07-26T05:16:50.402819Z", + "iopub.status.idle": "2023-07-26T05:16:50.406561Z", + "shell.execute_reply": "2023-07-26T05:16:50.406042Z" + } + }, "outputs": [], "source": [ "terms = Boston.columns.drop('medv')\n", @@ -724,7 +906,14 @@ "cell_type": "code", "execution_count": null, "id": "f14b9e1a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.409092Z", + "iopub.status.busy": "2023-07-26T05:16:50.408922Z", + "iopub.status.idle": "2023-07-26T05:16:50.427019Z", + "shell.execute_reply": "2023-07-26T05:16:50.426146Z" + } + }, "outputs": [], "source": [ "X = MS(terms).fit_transform(Boston)\n", @@ -748,7 +937,14 @@ "cell_type": "code", "execution_count": null, "id": "0a2714b1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.430858Z", + "iopub.status.busy": "2023-07-26T05:16:50.430692Z", + "iopub.status.idle": "2023-07-26T05:16:50.449487Z", + "shell.execute_reply": "2023-07-26T05:16:50.448800Z" + } + }, "outputs": [], "source": [ "minus_age = Boston.columns.drop(['medv', 'age']) \n", @@ -792,7 +988,14 @@ "cell_type": "code", "execution_count": null, "id": "961c9128", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.454906Z", + "iopub.status.busy": "2023-07-26T05:16:50.454582Z", + "iopub.status.idle": "2023-07-26T05:16:50.464023Z", + "shell.execute_reply": "2023-07-26T05:16:50.463522Z" + } + }, "outputs": [], "source": [ "vals = [VIF(X, i)\n", @@ -818,7 +1021,14 @@ "cell_type": "code", "execution_count": null, "id": "4886f9e9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.466225Z", + "iopub.status.busy": "2023-07-26T05:16:50.466081Z", + "iopub.status.idle": "2023-07-26T05:16:50.472696Z", + "shell.execute_reply": "2023-07-26T05:16:50.472188Z" + } + }, "outputs": [], "source": [ "vals = []\n", @@ -843,7 +1053,14 @@ "cell_type": "code", "execution_count": null, "id": "b54d2da1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.475003Z", + "iopub.status.busy": "2023-07-26T05:16:50.474857Z", + "iopub.status.idle": "2023-07-26T05:16:50.488206Z", + "shell.execute_reply": "2023-07-26T05:16:50.487746Z" + } + }, "outputs": [], "source": [ "X = MS(['lstat',\n", @@ -870,7 +1087,14 @@ "cell_type": "code", "execution_count": null, "id": "1b71633a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.490521Z", + "iopub.status.busy": "2023-07-26T05:16:50.490379Z", + "iopub.status.idle": "2023-07-26T05:16:50.504489Z", + "shell.execute_reply": "2023-07-26T05:16:50.504059Z" + } + }, "outputs": [], "source": [ "X = MS([poly('lstat', degree=2), 'age']).fit_transform(Boston)\n", @@ -907,7 +1131,14 @@ "cell_type": "code", "execution_count": null, "id": "6d30a306", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.506891Z", + "iopub.status.busy": "2023-07-26T05:16:50.506725Z", + "iopub.status.idle": "2023-07-26T05:16:50.513731Z", + "shell.execute_reply": "2023-07-26T05:16:50.513303Z" + } + }, "outputs": [], "source": [ "anova_lm(results1, results3)" @@ -946,7 +1177,14 @@ "cell_type": "code", "execution_count": null, "id": "9a5ec13f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.516035Z", + "iopub.status.busy": "2023-07-26T05:16:50.515894Z", + "iopub.status.idle": "2023-07-26T05:16:50.640835Z", + "shell.execute_reply": "2023-07-26T05:16:50.640080Z" + } + }, "outputs": [], "source": [ "ax = subplots(figsize=(8,8))[1]\n", @@ -983,7 +1221,14 @@ "cell_type": "code", "execution_count": null, "id": "09bbc0c6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.643135Z", + "iopub.status.busy": "2023-07-26T05:16:50.643008Z", + "iopub.status.idle": "2023-07-26T05:16:50.649451Z", + "shell.execute_reply": "2023-07-26T05:16:50.649047Z" + } + }, "outputs": [], "source": [ "Carseats = load_data('Carseats')\n", @@ -1013,7 +1258,14 @@ "cell_type": "code", "execution_count": null, "id": "2e1da1fa", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:50.651966Z", + "iopub.status.busy": "2023-07-26T05:16:50.651596Z", + "iopub.status.idle": "2023-07-26T05:16:50.678716Z", + "shell.execute_reply": "2023-07-26T05:16:50.678209Z" + } + }, "outputs": [], "source": [ "allvars = list(Carseats.columns.drop('Sales'))\n", @@ -1050,6 +1302,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,md:myst", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch4-classification-lab.ipynb b/docs/source/labs/Ch4-classification-lab.ipynb index b8e8dd8..c5f4d47 100644 --- a/docs/source/labs/Ch4-classification-lab.ipynb +++ b/docs/source/labs/Ch4-classification-lab.ipynb @@ -7,7 +7,7 @@ "source": [ "# Logistic Regression, LDA, QDA, and KNN\n", "\n", - "\n", + "\n", " \"Open\n", "\n", "" @@ -38,7 +38,14 @@ "cell_type": "code", "execution_count": null, "id": "71523a7f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:52.147230Z", + "iopub.status.busy": "2023-07-26T05:16:52.147074Z", + "iopub.status.idle": "2023-07-26T05:16:53.319384Z", + "shell.execute_reply": "2023-07-26T05:16:53.318779Z" + } + }, "outputs": [], "source": [ "import numpy as np\n", @@ -62,7 +69,14 @@ "cell_type": "code", "execution_count": null, "id": "901ed7c5", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.322482Z", + "iopub.status.busy": "2023-07-26T05:16:53.322239Z", + "iopub.status.idle": "2023-07-26T05:16:53.343077Z", + "shell.execute_reply": "2023-07-26T05:16:53.342596Z" + } + }, "outputs": [], "source": [ "from ISLP import confusion_table\n", @@ -89,7 +103,14 @@ "cell_type": "code", "execution_count": null, "id": "8b56ee0f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.345526Z", + "iopub.status.busy": "2023-07-26T05:16:53.345383Z", + "iopub.status.idle": "2023-07-26T05:16:53.358625Z", + "shell.execute_reply": "2023-07-26T05:16:53.357838Z" + } + }, "outputs": [], "source": [ "Smarket = load_data('Smarket')\n", @@ -109,7 +130,14 @@ "cell_type": "code", "execution_count": null, "id": "62d49b47", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.361002Z", + "iopub.status.busy": "2023-07-26T05:16:53.360735Z", + "iopub.status.idle": "2023-07-26T05:16:53.364261Z", + "shell.execute_reply": "2023-07-26T05:16:53.363501Z" + } + }, "outputs": [], "source": [ "Smarket.columns" @@ -132,7 +160,14 @@ "cell_type": "code", "execution_count": null, "id": "bc34e7b7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.366253Z", + "iopub.status.busy": "2023-07-26T05:16:53.366125Z", + "iopub.status.idle": "2023-07-26T05:16:53.372926Z", + "shell.execute_reply": "2023-07-26T05:16:53.372328Z" + } + }, "outputs": [], "source": [ "Smarket.corr()" @@ -154,7 +189,14 @@ "cell_type": "code", "execution_count": null, "id": "9f075144", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.376785Z", + "iopub.status.busy": "2023-07-26T05:16:53.376551Z", + "iopub.status.idle": "2023-07-26T05:16:53.491023Z", + "shell.execute_reply": "2023-07-26T05:16:53.490615Z" + } + }, "outputs": [], "source": [ "Smarket.plot(y='Volume');" @@ -182,7 +224,14 @@ "cell_type": "code", "execution_count": null, "id": "2ab15aa3", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.493500Z", + "iopub.status.busy": "2023-07-26T05:16:53.493302Z", + "iopub.status.idle": "2023-07-26T05:16:53.566736Z", + "shell.execute_reply": "2023-07-26T05:16:53.566181Z" + } + }, "outputs": [], "source": [ "allvars = Smarket.columns.drop(['Today', 'Direction', 'Year'])\n", @@ -217,7 +266,14 @@ "cell_type": "code", "execution_count": null, "id": "0faa6a6c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.569154Z", + "iopub.status.busy": "2023-07-26T05:16:53.568975Z", + "iopub.status.idle": "2023-07-26T05:16:53.572426Z", + "shell.execute_reply": "2023-07-26T05:16:53.572078Z" + } + }, "outputs": [], "source": [ "results.params" @@ -236,7 +292,14 @@ "cell_type": "code", "execution_count": null, "id": "108aff98", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.574612Z", + "iopub.status.busy": "2023-07-26T05:16:53.574492Z", + "iopub.status.idle": "2023-07-26T05:16:53.578308Z", + "shell.execute_reply": "2023-07-26T05:16:53.577846Z" + } + }, "outputs": [], "source": [ "results.pvalues" @@ -262,7 +325,14 @@ "cell_type": "code", "execution_count": null, "id": "54b4b96c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.580578Z", + "iopub.status.busy": "2023-07-26T05:16:53.580429Z", + "iopub.status.idle": "2023-07-26T05:16:53.583750Z", + "shell.execute_reply": "2023-07-26T05:16:53.583333Z" + } + }, "outputs": [], "source": [ "probs = results.predict()\n", @@ -286,7 +356,14 @@ "cell_type": "code", "execution_count": null, "id": "46c2887c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.586085Z", + "iopub.status.busy": "2023-07-26T05:16:53.585953Z", + "iopub.status.idle": "2023-07-26T05:16:53.588706Z", + "shell.execute_reply": "2023-07-26T05:16:53.588288Z" + } + }, "outputs": [], "source": [ "labels = np.array(['Down']*1250)\n", @@ -311,7 +388,14 @@ "cell_type": "code", "execution_count": null, "id": "0f816c4d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.590957Z", + "iopub.status.busy": "2023-07-26T05:16:53.590766Z", + "iopub.status.idle": "2023-07-26T05:16:53.598268Z", + "shell.execute_reply": "2023-07-26T05:16:53.597798Z" + } + }, "outputs": [], "source": [ "confusion_table(labels, Smarket.Direction)" @@ -336,7 +420,14 @@ "cell_type": "code", "execution_count": null, "id": "23668517", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.600706Z", + "iopub.status.busy": "2023-07-26T05:16:53.600511Z", + "iopub.status.idle": "2023-07-26T05:16:53.603872Z", + "shell.execute_reply": "2023-07-26T05:16:53.603421Z" + } + }, "outputs": [], "source": [ "(507+145)/1250, np.mean(labels == Smarket.Direction)" @@ -372,7 +463,14 @@ "cell_type": "code", "execution_count": null, "id": "86a02d7c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.606055Z", + "iopub.status.busy": "2023-07-26T05:16:53.605931Z", + "iopub.status.idle": "2023-07-26T05:16:53.609917Z", + "shell.execute_reply": "2023-07-26T05:16:53.609576Z" + } + }, "outputs": [], "source": [ "train = (Smarket.Year < 2005)\n", @@ -419,7 +517,14 @@ "cell_type": "code", "execution_count": null, "id": "f23b1c7b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.612185Z", + "iopub.status.busy": "2023-07-26T05:16:53.612009Z", + "iopub.status.idle": "2023-07-26T05:16:53.618057Z", + "shell.execute_reply": "2023-07-26T05:16:53.617645Z" + } + }, "outputs": [], "source": [ "X_train, X_test = X.loc[train], X.loc[~train]\n", @@ -449,7 +554,14 @@ "cell_type": "code", "execution_count": null, "id": "82f849b9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.620635Z", + "iopub.status.busy": "2023-07-26T05:16:53.620266Z", + "iopub.status.idle": "2023-07-26T05:16:53.623107Z", + "shell.execute_reply": "2023-07-26T05:16:53.622634Z" + } + }, "outputs": [], "source": [ "D = Smarket.Direction\n", @@ -470,7 +582,14 @@ "cell_type": "code", "execution_count": null, "id": "e216583a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.625601Z", + "iopub.status.busy": "2023-07-26T05:16:53.625081Z", + "iopub.status.idle": "2023-07-26T05:16:53.631930Z", + "shell.execute_reply": "2023-07-26T05:16:53.631398Z" + } + }, "outputs": [], "source": [ "labels = np.array(['Down']*252)\n", @@ -490,7 +609,14 @@ "cell_type": "code", "execution_count": null, "id": "5538dc17", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.634500Z", + "iopub.status.busy": "2023-07-26T05:16:53.634318Z", + "iopub.status.idle": "2023-07-26T05:16:53.638177Z", + "shell.execute_reply": "2023-07-26T05:16:53.637615Z" + } + }, "outputs": [], "source": [ "np.mean(labels == L_test), np.mean(labels != L_test)" @@ -529,7 +655,14 @@ "cell_type": "code", "execution_count": null, "id": "016110f9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.640626Z", + "iopub.status.busy": "2023-07-26T05:16:53.640465Z", + "iopub.status.idle": "2023-07-26T05:16:53.650498Z", + "shell.execute_reply": "2023-07-26T05:16:53.649952Z" + } + }, "outputs": [], "source": [ "model = MS(['Lag1', 'Lag2']).fit(Smarket)\n", @@ -558,7 +691,14 @@ "cell_type": "code", "execution_count": null, "id": "70984cd6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.653494Z", + "iopub.status.busy": "2023-07-26T05:16:53.652768Z", + "iopub.status.idle": "2023-07-26T05:16:53.656801Z", + "shell.execute_reply": "2023-07-26T05:16:53.656039Z" + } + }, "outputs": [], "source": [ "(35+106)/252,106/(106+76)" @@ -594,7 +734,14 @@ "cell_type": "code", "execution_count": null, "id": "4b745fd8", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.659702Z", + "iopub.status.busy": "2023-07-26T05:16:53.659530Z", + "iopub.status.idle": "2023-07-26T05:16:53.664523Z", + "shell.execute_reply": "2023-07-26T05:16:53.664140Z" + } + }, "outputs": [], "source": [ "newdata = pd.DataFrame({'Lag1':[1.2, 1.5],\n", @@ -625,7 +772,14 @@ "cell_type": "code", "execution_count": null, "id": "cd533313", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.668435Z", + "iopub.status.busy": "2023-07-26T05:16:53.668202Z", + "iopub.status.idle": "2023-07-26T05:16:53.670675Z", + "shell.execute_reply": "2023-07-26T05:16:53.670317Z" + } + }, "outputs": [], "source": [ "lda = LDA(store_covariance=True)" @@ -646,7 +800,14 @@ "cell_type": "code", "execution_count": null, "id": "953dc6ac", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.673288Z", + "iopub.status.busy": "2023-07-26T05:16:53.673119Z", + "iopub.status.idle": "2023-07-26T05:16:53.681150Z", + "shell.execute_reply": "2023-07-26T05:16:53.680147Z" + } + }, "outputs": [], "source": [ "X_train, X_test = [M.drop(columns=['intercept'])\n", @@ -680,7 +841,14 @@ "cell_type": "code", "execution_count": null, "id": "8917085e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.683917Z", + "iopub.status.busy": "2023-07-26T05:16:53.683495Z", + "iopub.status.idle": "2023-07-26T05:16:53.686711Z", + "shell.execute_reply": "2023-07-26T05:16:53.686302Z" + } + }, "outputs": [], "source": [ "lda.means_" @@ -701,7 +869,14 @@ "cell_type": "code", "execution_count": null, "id": "efb3e9bd", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.689572Z", + "iopub.status.busy": "2023-07-26T05:16:53.689426Z", + "iopub.status.idle": "2023-07-26T05:16:53.693007Z", + "shell.execute_reply": "2023-07-26T05:16:53.692236Z" + } + }, "outputs": [], "source": [ "lda.classes_" @@ -720,7 +895,14 @@ "cell_type": "code", "execution_count": null, "id": "efce91fb", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.698435Z", + "iopub.status.busy": "2023-07-26T05:16:53.698251Z", + "iopub.status.idle": "2023-07-26T05:16:53.701054Z", + "shell.execute_reply": "2023-07-26T05:16:53.700738Z" + } + }, "outputs": [], "source": [ "lda.priors_" @@ -738,7 +920,14 @@ "cell_type": "code", "execution_count": null, "id": "e33cd6c5", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.703175Z", + "iopub.status.busy": "2023-07-26T05:16:53.702968Z", + "iopub.status.idle": "2023-07-26T05:16:53.706047Z", + "shell.execute_reply": "2023-07-26T05:16:53.705603Z" + } + }, "outputs": [], "source": [ "lda.scalings_" @@ -757,7 +946,14 @@ "cell_type": "code", "execution_count": null, "id": "dc8a5178", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.708404Z", + "iopub.status.busy": "2023-07-26T05:16:53.708240Z", + "iopub.status.idle": "2023-07-26T05:16:53.711274Z", + "shell.execute_reply": "2023-07-26T05:16:53.710854Z" + } + }, "outputs": [], "source": [ "lda_pred = lda.predict(X_test)" @@ -777,7 +973,14 @@ "cell_type": "code", "execution_count": null, "id": "31a6782b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.713574Z", + "iopub.status.busy": "2023-07-26T05:16:53.713379Z", + "iopub.status.idle": "2023-07-26T05:16:53.718661Z", + "shell.execute_reply": "2023-07-26T05:16:53.718207Z" + } + }, "outputs": [], "source": [ "confusion_table(lda_pred, L_test)" @@ -799,7 +1002,14 @@ "cell_type": "code", "execution_count": null, "id": "da1bffa3", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.720875Z", + "iopub.status.busy": "2023-07-26T05:16:53.720726Z", + "iopub.status.idle": "2023-07-26T05:16:53.724610Z", + "shell.execute_reply": "2023-07-26T05:16:53.724076Z" + } + }, "outputs": [], "source": [ "lda_prob = lda.predict_proba(X_test)\n", @@ -824,7 +1034,14 @@ "cell_type": "code", "execution_count": null, "id": "3d7eae3c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.726893Z", + "iopub.status.busy": "2023-07-26T05:16:53.726728Z", + "iopub.status.idle": "2023-07-26T05:16:53.730223Z", + "shell.execute_reply": "2023-07-26T05:16:53.729787Z" + } + }, "outputs": [], "source": [ "np.all(\n", @@ -851,7 +1068,14 @@ "cell_type": "code", "execution_count": null, "id": "18fa175c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.732568Z", + "iopub.status.busy": "2023-07-26T05:16:53.732400Z", + "iopub.status.idle": "2023-07-26T05:16:53.735369Z", + "shell.execute_reply": "2023-07-26T05:16:53.734923Z" + } + }, "outputs": [], "source": [ "np.sum(lda_prob[:,0] > 0.9)" @@ -898,7 +1122,14 @@ "cell_type": "code", "execution_count": null, "id": "62499aad", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.737641Z", + "iopub.status.busy": "2023-07-26T05:16:53.737376Z", + "iopub.status.idle": "2023-07-26T05:16:53.742371Z", + "shell.execute_reply": "2023-07-26T05:16:53.741972Z" + } + }, "outputs": [], "source": [ "qda = QDA(store_covariance=True)\n", @@ -917,7 +1148,14 @@ "cell_type": "code", "execution_count": null, "id": "296fdd89", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.744511Z", + "iopub.status.busy": "2023-07-26T05:16:53.744359Z", + "iopub.status.idle": "2023-07-26T05:16:53.747331Z", + "shell.execute_reply": "2023-07-26T05:16:53.746954Z" + } + }, "outputs": [], "source": [ "qda.means_, qda.priors_" @@ -936,7 +1174,14 @@ "cell_type": "code", "execution_count": null, "id": "7fbbefb0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.749983Z", + "iopub.status.busy": "2023-07-26T05:16:53.749838Z", + "iopub.status.idle": "2023-07-26T05:16:53.753016Z", + "shell.execute_reply": "2023-07-26T05:16:53.752436Z" + } + }, "outputs": [], "source": [ "qda.covariance_[0]" @@ -958,7 +1203,14 @@ "cell_type": "code", "execution_count": null, "id": "03094dcd", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.754995Z", + "iopub.status.busy": "2023-07-26T05:16:53.754855Z", + "iopub.status.idle": "2023-07-26T05:16:53.760423Z", + "shell.execute_reply": "2023-07-26T05:16:53.760086Z" + } + }, "outputs": [], "source": [ "qda_pred = qda.predict(X_test)\n", @@ -978,7 +1230,14 @@ "cell_type": "code", "execution_count": null, "id": "25022d1a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.762503Z", + "iopub.status.busy": "2023-07-26T05:16:53.762361Z", + "iopub.status.idle": "2023-07-26T05:16:53.765264Z", + "shell.execute_reply": "2023-07-26T05:16:53.764918Z" + } + }, "outputs": [], "source": [ "np.mean(qda_pred == L_test)" @@ -1015,7 +1274,14 @@ "cell_type": "code", "execution_count": null, "id": "f73eb202", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.767345Z", + "iopub.status.busy": "2023-07-26T05:16:53.767204Z", + "iopub.status.idle": "2023-07-26T05:16:53.771774Z", + "shell.execute_reply": "2023-07-26T05:16:53.771427Z" + } + }, "outputs": [], "source": [ "NB = GaussianNB()\n", @@ -1034,7 +1300,14 @@ "cell_type": "code", "execution_count": null, "id": "8e860cc3", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.773771Z", + "iopub.status.busy": "2023-07-26T05:16:53.773609Z", + "iopub.status.idle": "2023-07-26T05:16:53.776397Z", + "shell.execute_reply": "2023-07-26T05:16:53.776019Z" + } + }, "outputs": [], "source": [ "NB.classes_" @@ -1052,7 +1325,14 @@ "cell_type": "code", "execution_count": null, "id": "c28bf3b5", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.778509Z", + "iopub.status.busy": "2023-07-26T05:16:53.778344Z", + "iopub.status.idle": "2023-07-26T05:16:53.781156Z", + "shell.execute_reply": "2023-07-26T05:16:53.780778Z" + } + }, "outputs": [], "source": [ "NB.class_prior_" @@ -1072,7 +1352,14 @@ "cell_type": "code", "execution_count": null, "id": "84a9f086", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.783409Z", + "iopub.status.busy": "2023-07-26T05:16:53.783220Z", + "iopub.status.idle": "2023-07-26T05:16:53.786972Z", + "shell.execute_reply": "2023-07-26T05:16:53.786412Z" + } + }, "outputs": [], "source": [ "NB.theta_" @@ -1090,7 +1377,14 @@ "cell_type": "code", "execution_count": null, "id": "885f5165", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.789289Z", + "iopub.status.busy": "2023-07-26T05:16:53.789145Z", + "iopub.status.idle": "2023-07-26T05:16:53.792294Z", + "shell.execute_reply": "2023-07-26T05:16:53.791863Z" + } + }, "outputs": [], "source": [ "NB.var_" @@ -1110,7 +1404,14 @@ "cell_type": "code", "execution_count": null, "id": "61473094", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.794766Z", + "iopub.status.busy": "2023-07-26T05:16:53.794585Z", + "iopub.status.idle": "2023-07-26T05:16:53.798951Z", + "shell.execute_reply": "2023-07-26T05:16:53.798539Z" + } + }, "outputs": [], "source": [ "X_train[L_train == 'Down'].mean()" @@ -1128,7 +1429,14 @@ "cell_type": "code", "execution_count": null, "id": "db203a23", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.801373Z", + "iopub.status.busy": "2023-07-26T05:16:53.801183Z", + "iopub.status.idle": "2023-07-26T05:16:53.805590Z", + "shell.execute_reply": "2023-07-26T05:16:53.805195Z" + } + }, "outputs": [], "source": [ "X_train[L_train == 'Down'].var(ddof=0)" @@ -1147,7 +1455,14 @@ "cell_type": "code", "execution_count": null, "id": "b387227e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.808068Z", + "iopub.status.busy": "2023-07-26T05:16:53.807902Z", + "iopub.status.idle": "2023-07-26T05:16:53.813920Z", + "shell.execute_reply": "2023-07-26T05:16:53.813575Z" + } + }, "outputs": [], "source": [ "nb_labels = NB.predict(X_test)\n", @@ -1168,7 +1483,14 @@ "cell_type": "code", "execution_count": null, "id": "f14ebe61", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.816106Z", + "iopub.status.busy": "2023-07-26T05:16:53.815946Z", + "iopub.status.idle": "2023-07-26T05:16:53.819614Z", + "shell.execute_reply": "2023-07-26T05:16:53.819281Z" + } + }, "outputs": [], "source": [ "NB.predict_proba(X_test)[:5]" @@ -1195,7 +1517,14 @@ "cell_type": "code", "execution_count": null, "id": "41a12f4a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.821819Z", + "iopub.status.busy": "2023-07-26T05:16:53.821654Z", + "iopub.status.idle": "2023-07-26T05:16:53.835418Z", + "shell.execute_reply": "2023-07-26T05:16:53.834963Z" + } + }, "outputs": [], "source": [ "knn1 = KNeighborsClassifier(n_neighbors=1)\n", @@ -1218,7 +1547,14 @@ "cell_type": "code", "execution_count": null, "id": "1dd2f3e4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.840858Z", + "iopub.status.busy": "2023-07-26T05:16:53.840380Z", + "iopub.status.idle": "2023-07-26T05:16:53.844994Z", + "shell.execute_reply": "2023-07-26T05:16:53.844563Z" + } + }, "outputs": [], "source": [ "(83+43)/252, np.mean(knn1_pred == L_test)" @@ -1237,7 +1573,14 @@ "cell_type": "code", "execution_count": null, "id": "8ec72efc", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.848486Z", + "iopub.status.busy": "2023-07-26T05:16:53.848323Z", + "iopub.status.idle": "2023-07-26T05:16:53.859379Z", + "shell.execute_reply": "2023-07-26T05:16:53.859009Z" + } + }, "outputs": [], "source": [ "knn3 = KNeighborsClassifier(n_neighbors=3)\n", @@ -1273,7 +1616,14 @@ "cell_type": "code", "execution_count": null, "id": "98fef4ed", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.862002Z", + "iopub.status.busy": "2023-07-26T05:16:53.861826Z", + "iopub.status.idle": "2023-07-26T05:16:53.880744Z", + "shell.execute_reply": "2023-07-26T05:16:53.880217Z" + } + }, "outputs": [], "source": [ "Caravan = load_data('Caravan')\n", @@ -1296,7 +1646,14 @@ "cell_type": "code", "execution_count": null, "id": "1af72c0b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.883491Z", + "iopub.status.busy": "2023-07-26T05:16:53.883258Z", + "iopub.status.idle": "2023-07-26T05:16:53.886241Z", + "shell.execute_reply": "2023-07-26T05:16:53.885825Z" + } + }, "outputs": [], "source": [ "348 / 5822" @@ -1314,7 +1671,14 @@ "cell_type": "code", "execution_count": null, "id": "9ea841e4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.888642Z", + "iopub.status.busy": "2023-07-26T05:16:53.888457Z", + "iopub.status.idle": "2023-07-26T05:16:53.891757Z", + "shell.execute_reply": "2023-07-26T05:16:53.891278Z" + } + }, "outputs": [], "source": [ "feature_df = Caravan.drop(columns=['Purchase'])" @@ -1356,7 +1720,14 @@ "cell_type": "code", "execution_count": null, "id": "6e26b14f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.893952Z", + "iopub.status.busy": "2023-07-26T05:16:53.893809Z", + "iopub.status.idle": "2023-07-26T05:16:53.896350Z", + "shell.execute_reply": "2023-07-26T05:16:53.895913Z" + } + }, "outputs": [], "source": [ "scaler = StandardScaler(with_mean=True,\n", @@ -1387,7 +1758,14 @@ "cell_type": "code", "execution_count": null, "id": "bd178f38", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.898581Z", + "iopub.status.busy": "2023-07-26T05:16:53.898422Z", + "iopub.status.idle": "2023-07-26T05:16:53.907100Z", + "shell.execute_reply": "2023-07-26T05:16:53.906252Z" + } + }, "outputs": [], "source": [ "scaler.fit(feature_df)\n", @@ -1407,7 +1785,14 @@ "cell_type": "code", "execution_count": null, "id": "18929b37", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.909697Z", + "iopub.status.busy": "2023-07-26T05:16:53.909376Z", + "iopub.status.idle": "2023-07-26T05:16:53.917328Z", + "shell.execute_reply": "2023-07-26T05:16:53.916861Z" + } + }, "outputs": [], "source": [ "feature_std = pd.DataFrame(\n", @@ -1434,7 +1819,14 @@ "cell_type": "code", "execution_count": null, "id": "9d439d0b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.919758Z", + "iopub.status.busy": "2023-07-26T05:16:53.919493Z", + "iopub.status.idle": "2023-07-26T05:16:53.924297Z", + "shell.execute_reply": "2023-07-26T05:16:53.923909Z" + } + }, "outputs": [], "source": [ "(X_train,\n", @@ -1460,7 +1852,14 @@ "cell_type": "code", "execution_count": null, "id": "9b8c0171", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.926683Z", + "iopub.status.busy": "2023-07-26T05:16:53.926533Z", + "iopub.status.idle": "2023-07-26T05:16:53.979689Z", + "shell.execute_reply": "2023-07-26T05:16:53.979266Z" + } + }, "outputs": [], "source": [ "knn1 = KNeighborsClassifier(n_neighbors=1)\n", @@ -1494,7 +1893,14 @@ "cell_type": "code", "execution_count": null, "id": "f31b6e26", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.982811Z", + "iopub.status.busy": "2023-07-26T05:16:53.982601Z", + "iopub.status.idle": "2023-07-26T05:16:53.989512Z", + "shell.execute_reply": "2023-07-26T05:16:53.989071Z" + } + }, "outputs": [], "source": [ "confusion_table(knn1_pred, y_test)" @@ -1515,7 +1921,14 @@ "cell_type": "code", "execution_count": null, "id": "4a8c37aa", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.992418Z", + "iopub.status.busy": "2023-07-26T05:16:53.992103Z", + "iopub.status.idle": "2023-07-26T05:16:53.995535Z", + "shell.execute_reply": "2023-07-26T05:16:53.995078Z" + } + }, "outputs": [], "source": [ "9/(53+9)" @@ -1540,7 +1953,14 @@ "cell_type": "code", "execution_count": null, "id": "153662f8", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:53.999510Z", + "iopub.status.busy": "2023-07-26T05:16:53.999082Z", + "iopub.status.idle": "2023-07-26T05:16:54.130823Z", + "shell.execute_reply": "2023-07-26T05:16:54.130318Z" + } + }, "outputs": [], "source": [ "for K in range(1,6):\n", @@ -1587,7 +2007,14 @@ "cell_type": "code", "execution_count": null, "id": "55b99a3f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:54.134280Z", + "iopub.status.busy": "2023-07-26T05:16:54.133924Z", + "iopub.status.idle": "2023-07-26T05:16:54.790553Z", + "shell.execute_reply": "2023-07-26T05:16:54.788632Z" + } + }, "outputs": [], "source": [ "logit = LogisticRegression(C=1e10, solver='liblinear')\n", @@ -1620,7 +2047,14 @@ "cell_type": "code", "execution_count": null, "id": "0c2ea9f5", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:54.800869Z", + "iopub.status.busy": "2023-07-26T05:16:54.800067Z", + "iopub.status.idle": "2023-07-26T05:16:54.901396Z", + "shell.execute_reply": "2023-07-26T05:16:54.824967Z" + } + }, "outputs": [], "source": [ "logit_labels = np.where(logit_pred[:,1]>0.25, 'Yes', 'No')\n", @@ -1631,7 +2065,14 @@ "cell_type": "code", "execution_count": null, "id": "3a6bf0a4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:55.014712Z", + "iopub.status.busy": "2023-07-26T05:16:55.014300Z", + "iopub.status.idle": "2023-07-26T05:16:55.022432Z", + "shell.execute_reply": "2023-07-26T05:16:55.021283Z" + } + }, "outputs": [], "source": [ "9/(20+9)" @@ -1652,7 +2093,14 @@ "cell_type": "code", "execution_count": null, "id": "769300df", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:55.026479Z", + "iopub.status.busy": "2023-07-26T05:16:55.026122Z", + "iopub.status.idle": "2023-07-26T05:16:55.040298Z", + "shell.execute_reply": "2023-07-26T05:16:55.039107Z" + } + }, "outputs": [], "source": [ "Bike = load_data('Bikeshare')" @@ -1670,7 +2118,14 @@ "cell_type": "code", "execution_count": null, "id": "02b351f5", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:55.043729Z", + "iopub.status.busy": "2023-07-26T05:16:55.043547Z", + "iopub.status.idle": "2023-07-26T05:16:55.047018Z", + "shell.execute_reply": "2023-07-26T05:16:55.046428Z" + } + }, "outputs": [], "source": [ "Bike.shape, Bike.columns" @@ -1690,7 +2145,14 @@ "cell_type": "code", "execution_count": null, "id": "926c908d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:55.049121Z", + "iopub.status.busy": "2023-07-26T05:16:55.049011Z", + "iopub.status.idle": "2023-07-26T05:16:55.569728Z", + "shell.execute_reply": "2023-07-26T05:16:55.567494Z" + } + }, "outputs": [], "source": [ "X = MS(['mnth',\n", @@ -1726,7 +2188,14 @@ "cell_type": "code", "execution_count": null, "id": "064b24d1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:55.575305Z", + "iopub.status.busy": "2023-07-26T05:16:55.575124Z", + "iopub.status.idle": "2023-07-26T05:16:55.582612Z", + "shell.execute_reply": "2023-07-26T05:16:55.580612Z" + } + }, "outputs": [], "source": [ "hr_encode = contrast('hr', 'sum')\n", @@ -1745,7 +2214,14 @@ "cell_type": "code", "execution_count": null, "id": "27c1aa54", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:55.591223Z", + "iopub.status.busy": "2023-07-26T05:16:55.589141Z", + "iopub.status.idle": "2023-07-26T05:16:56.075120Z", + "shell.execute_reply": "2023-07-26T05:16:56.073529Z" + } + }, "outputs": [], "source": [ "X2 = MS([mnth_encode,\n", @@ -1787,7 +2263,14 @@ "cell_type": "code", "execution_count": null, "id": "dd0114c8", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:56.092324Z", + "iopub.status.busy": "2023-07-26T05:16:56.087118Z", + "iopub.status.idle": "2023-07-26T05:16:56.137844Z", + "shell.execute_reply": "2023-07-26T05:16:56.135218Z" + } + }, "outputs": [], "source": [ "np.sum((M_lm.fittedvalues - M2_lm.fittedvalues)**2)" @@ -1806,7 +2289,14 @@ "cell_type": "code", "execution_count": null, "id": "292585a1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:56.147457Z", + "iopub.status.busy": "2023-07-26T05:16:56.146798Z", + "iopub.status.idle": "2023-07-26T05:16:56.159395Z", + "shell.execute_reply": "2023-07-26T05:16:56.157990Z" + } + }, "outputs": [], "source": [ "np.allclose(M_lm.fittedvalues, M2_lm.fittedvalues)" @@ -1830,7 +2320,14 @@ "cell_type": "code", "execution_count": null, "id": "e05e0575", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:56.169355Z", + "iopub.status.busy": "2023-07-26T05:16:56.168352Z", + "iopub.status.idle": "2023-07-26T05:16:56.190269Z", + "shell.execute_reply": "2023-07-26T05:16:56.186463Z" + } + }, "outputs": [], "source": [ "coef_month = S2[S2.index.str.contains('mnth')]['coef']\n", @@ -1849,7 +2346,14 @@ "cell_type": "code", "execution_count": null, "id": "9f04a25e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:56.213429Z", + "iopub.status.busy": "2023-07-26T05:16:56.210143Z", + "iopub.status.idle": "2023-07-26T05:16:56.249114Z", + "shell.execute_reply": "2023-07-26T05:16:56.246382Z" + } + }, "outputs": [], "source": [ "months = Bike['mnth'].dtype.categories\n", @@ -1875,7 +2379,14 @@ "cell_type": "code", "execution_count": null, "id": "20c7c054", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:56.310254Z", + "iopub.status.busy": "2023-07-26T05:16:56.306244Z", + "iopub.status.idle": "2023-07-26T05:16:56.486315Z", + "shell.execute_reply": "2023-07-26T05:16:56.485755Z" + } + }, "outputs": [], "source": [ "fig_month, ax_month = subplots(figsize=(8,8))\n", @@ -1899,7 +2410,14 @@ "cell_type": "code", "execution_count": null, "id": "3f83f4bf", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:56.489411Z", + "iopub.status.busy": "2023-07-26T05:16:56.489143Z", + "iopub.status.idle": "2023-07-26T05:16:56.493292Z", + "shell.execute_reply": "2023-07-26T05:16:56.492665Z" + } + }, "outputs": [], "source": [ "coef_hr = S2[S2.index.str.contains('hr')]['coef']\n", @@ -1921,7 +2439,14 @@ "cell_type": "code", "execution_count": null, "id": "86e9a741", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:56.496145Z", + "iopub.status.busy": "2023-07-26T05:16:56.495966Z", + "iopub.status.idle": "2023-07-26T05:16:56.609790Z", + "shell.execute_reply": "2023-07-26T05:16:56.609280Z" + } + }, "outputs": [], "source": [ "fig_hr, ax_hr = subplots(figsize=(8,8))\n", @@ -1949,7 +2474,14 @@ "cell_type": "code", "execution_count": null, "id": "a9448278", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:56.612317Z", + "iopub.status.busy": "2023-07-26T05:16:56.612179Z", + "iopub.status.idle": "2023-07-26T05:16:57.099663Z", + "shell.execute_reply": "2023-07-26T05:16:57.097888Z" + } + }, "outputs": [], "source": [ "M_pois = sm.GLM(Y, X2, family=sm.families.Poisson()).fit()" @@ -1967,7 +2499,14 @@ "cell_type": "code", "execution_count": null, "id": "ec8505be", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:57.113476Z", + "iopub.status.busy": "2023-07-26T05:16:57.110476Z", + "iopub.status.idle": "2023-07-26T05:16:57.156419Z", + "shell.execute_reply": "2023-07-26T05:16:57.148075Z" + } + }, "outputs": [], "source": [ "S_pois = summarize(M_pois)\n", @@ -1993,7 +2532,14 @@ "cell_type": "code", "execution_count": null, "id": "0b8a5edf", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:57.169051Z", + "iopub.status.busy": "2023-07-26T05:16:57.167599Z", + "iopub.status.idle": "2023-07-26T05:16:57.482769Z", + "shell.execute_reply": "2023-07-26T05:16:57.482137Z" + } + }, "outputs": [], "source": [ "fig_pois, (ax_month, ax_hr) = subplots(1, 2, figsize=(16,8))\n", @@ -2023,7 +2569,14 @@ "cell_type": "code", "execution_count": null, "id": "d487c7ed", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:57.485339Z", + "iopub.status.busy": "2023-07-26T05:16:57.484975Z", + "iopub.status.idle": "2023-07-26T05:16:57.605612Z", + "shell.execute_reply": "2023-07-26T05:16:57.605058Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", @@ -2061,6 +2614,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,md:myst", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch5-resample-lab.ipynb b/docs/source/labs/Ch5-resample-lab.ipynb index 8d35e84..df0614f 100644 --- a/docs/source/labs/Ch5-resample-lab.ipynb +++ b/docs/source/labs/Ch5-resample-lab.ipynb @@ -7,7 +7,7 @@ "source": [ "# Cross-Validation and the Bootstrap\n", "\n", - "\n", + "\n", " \"Open\n", "\n", "\n", @@ -23,7 +23,14 @@ "cell_type": "code", "execution_count": null, "id": "60fad148", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:58.904948Z", + "iopub.status.busy": "2023-07-26T05:16:58.904833Z", + "iopub.status.idle": "2023-07-26T05:16:59.817459Z", + "shell.execute_reply": "2023-07-26T05:16:59.816977Z" + } + }, "outputs": [], "source": [ "import numpy as np\n", @@ -47,7 +54,14 @@ "cell_type": "code", "execution_count": null, "id": "2478aeb4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:59.820190Z", + "iopub.status.busy": "2023-07-26T05:16:59.819944Z", + "iopub.status.idle": "2023-07-26T05:16:59.822616Z", + "shell.execute_reply": "2023-07-26T05:16:59.822236Z" + } + }, "outputs": [], "source": [ "from functools import partial\n", @@ -83,7 +97,14 @@ "cell_type": "code", "execution_count": null, "id": "99c95faf", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:59.824651Z", + "iopub.status.busy": "2023-07-26T05:16:59.824498Z", + "iopub.status.idle": "2023-07-26T05:16:59.830661Z", + "shell.execute_reply": "2023-07-26T05:16:59.830199Z" + } + }, "outputs": [], "source": [ "Auto = load_data('Auto')\n", @@ -104,7 +125,14 @@ "cell_type": "code", "execution_count": null, "id": "41b0717d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:59.832904Z", + "iopub.status.busy": "2023-07-26T05:16:59.832740Z", + "iopub.status.idle": "2023-07-26T05:16:59.837926Z", + "shell.execute_reply": "2023-07-26T05:16:59.837164Z" + } + }, "outputs": [], "source": [ "hp_mm = MS(['horsepower'])\n", @@ -127,7 +155,14 @@ "cell_type": "code", "execution_count": null, "id": "d7ea3c0d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:59.840693Z", + "iopub.status.busy": "2023-07-26T05:16:59.840426Z", + "iopub.status.idle": "2023-07-26T05:16:59.847201Z", + "shell.execute_reply": "2023-07-26T05:16:59.846618Z" + } + }, "outputs": [], "source": [ "X_valid = hp_mm.transform(Auto_valid)\n", @@ -153,7 +188,14 @@ "cell_type": "code", "execution_count": null, "id": "a02a2d05", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:59.849828Z", + "iopub.status.busy": "2023-07-26T05:16:59.849638Z", + "iopub.status.idle": "2023-07-26T05:16:59.852938Z", + "shell.execute_reply": "2023-07-26T05:16:59.852364Z" + } + }, "outputs": [], "source": [ "def evalMSE(terms,\n", @@ -189,7 +231,14 @@ "cell_type": "code", "execution_count": null, "id": "51d93dea", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:59.855432Z", + "iopub.status.busy": "2023-07-26T05:16:59.855267Z", + "iopub.status.idle": "2023-07-26T05:16:59.867911Z", + "shell.execute_reply": "2023-07-26T05:16:59.867517Z" + } + }, "outputs": [], "source": [ "MSE = np.zeros(3)\n", @@ -215,7 +264,14 @@ "cell_type": "code", "execution_count": null, "id": "83432f06", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:59.870663Z", + "iopub.status.busy": "2023-07-26T05:16:59.870321Z", + "iopub.status.idle": "2023-07-26T05:16:59.884091Z", + "shell.execute_reply": "2023-07-26T05:16:59.883749Z" + } + }, "outputs": [], "source": [ "Auto_train, Auto_valid = train_test_split(Auto,\n", @@ -280,7 +336,14 @@ "cell_type": "code", "execution_count": null, "id": "bcfc433f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:16:59.886618Z", + "iopub.status.busy": "2023-07-26T05:16:59.886459Z", + "iopub.status.idle": "2023-07-26T05:17:00.662796Z", + "shell.execute_reply": "2023-07-26T05:17:00.662228Z" + } + }, "outputs": [], "source": [ "hp_model = sklearn_sm(sm.OLS,\n", @@ -329,7 +392,14 @@ "cell_type": "code", "execution_count": null, "id": "f951ffc8", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:00.665287Z", + "iopub.status.busy": "2023-07-26T05:17:00.665106Z", + "iopub.status.idle": "2023-07-26T05:17:01.422477Z", + "shell.execute_reply": "2023-07-26T05:17:01.422022Z" + } + }, "outputs": [], "source": [ "cv_error = np.zeros(5)\n", @@ -367,7 +437,14 @@ "cell_type": "code", "execution_count": null, "id": "e3610b5a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:01.424821Z", + "iopub.status.busy": "2023-07-26T05:17:01.424682Z", + "iopub.status.idle": "2023-07-26T05:17:01.427733Z", + "shell.execute_reply": "2023-07-26T05:17:01.427314Z" + } + }, "outputs": [], "source": [ "A = np.array([3, 5, 9])\n", @@ -389,7 +466,14 @@ "cell_type": "code", "execution_count": null, "id": "1627460d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:01.429812Z", + "iopub.status.busy": "2023-07-26T05:17:01.429700Z", + "iopub.status.idle": "2023-07-26T05:17:01.457253Z", + "shell.execute_reply": "2023-07-26T05:17:01.456715Z" + } + }, "outputs": [], "source": [ "cv_error = np.zeros(5)\n", @@ -435,7 +519,14 @@ "cell_type": "code", "execution_count": null, "id": "8a636468", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:01.460096Z", + "iopub.status.busy": "2023-07-26T05:17:01.459902Z", + "iopub.status.idle": "2023-07-26T05:17:01.466995Z", + "shell.execute_reply": "2023-07-26T05:17:01.466500Z" + } + }, "outputs": [], "source": [ "validation = ShuffleSplit(n_splits=1,\n", @@ -460,7 +551,14 @@ "cell_type": "code", "execution_count": null, "id": "746aeccd", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:01.468986Z", + "iopub.status.busy": "2023-07-26T05:17:01.468832Z", + "iopub.status.idle": "2023-07-26T05:17:01.495719Z", + "shell.execute_reply": "2023-07-26T05:17:01.495353Z" + } + }, "outputs": [], "source": [ "validation = ShuffleSplit(n_splits=10,\n", @@ -516,7 +614,14 @@ "cell_type": "code", "execution_count": null, "id": "daa53d0c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:01.498336Z", + "iopub.status.busy": "2023-07-26T05:17:01.498116Z", + "iopub.status.idle": "2023-07-26T05:17:01.504124Z", + "shell.execute_reply": "2023-07-26T05:17:01.503427Z" + } + }, "outputs": [], "source": [ "Portfolio = load_data('Portfolio')\n", @@ -542,7 +647,14 @@ "cell_type": "code", "execution_count": null, "id": "578c9564", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:01.507072Z", + "iopub.status.busy": "2023-07-26T05:17:01.506919Z", + "iopub.status.idle": "2023-07-26T05:17:01.510768Z", + "shell.execute_reply": "2023-07-26T05:17:01.510184Z" + } + }, "outputs": [], "source": [ "alpha_func(Portfolio, range(100))" @@ -563,7 +675,14 @@ "cell_type": "code", "execution_count": null, "id": "5754d6d5", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:01.512875Z", + "iopub.status.busy": "2023-07-26T05:17:01.512759Z", + "iopub.status.idle": "2023-07-26T05:17:01.516640Z", + "shell.execute_reply": "2023-07-26T05:17:01.516258Z" + } + }, "outputs": [], "source": [ "rng = np.random.default_rng(0)\n", @@ -587,7 +706,14 @@ "cell_type": "code", "execution_count": null, "id": "8320a49c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:01.519014Z", + "iopub.status.busy": "2023-07-26T05:17:01.518877Z", + "iopub.status.idle": "2023-07-26T05:17:01.521841Z", + "shell.execute_reply": "2023-07-26T05:17:01.521433Z" + } + }, "outputs": [], "source": [ "def boot_SE(func,\n", @@ -624,7 +750,14 @@ "cell_type": "code", "execution_count": null, "id": "e656aa1f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:01.523933Z", + "iopub.status.busy": "2023-07-26T05:17:01.523801Z", + "iopub.status.idle": "2023-07-26T05:17:01.855578Z", + "shell.execute_reply": "2023-07-26T05:17:01.855121Z" + } + }, "outputs": [], "source": [ "alpha_SE = boot_SE(alpha_func,\n", @@ -672,7 +805,14 @@ "cell_type": "code", "execution_count": null, "id": "c5d14195", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:01.857907Z", + "iopub.status.busy": "2023-07-26T05:17:01.857723Z", + "iopub.status.idle": "2023-07-26T05:17:01.860405Z", + "shell.execute_reply": "2023-07-26T05:17:01.859990Z" + } + }, "outputs": [], "source": [ "def boot_OLS(model_matrix, response, D, idx):\n", @@ -699,7 +839,14 @@ "cell_type": "code", "execution_count": null, "id": "7e0523f0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:01.862645Z", + "iopub.status.busy": "2023-07-26T05:17:01.862482Z", + "iopub.status.idle": "2023-07-26T05:17:01.864654Z", + "shell.execute_reply": "2023-07-26T05:17:01.864299Z" + } + }, "outputs": [], "source": [ "hp_func = partial(boot_OLS, MS(['horsepower']), 'mpg')" @@ -724,7 +871,14 @@ "cell_type": "code", "execution_count": null, "id": "32836e93", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:01.866661Z", + "iopub.status.busy": "2023-07-26T05:17:01.866518Z", + "iopub.status.idle": "2023-07-26T05:17:01.885141Z", + "shell.execute_reply": "2023-07-26T05:17:01.884669Z" + } + }, "outputs": [], "source": [ "rng = np.random.default_rng(0)\n", @@ -747,7 +901,14 @@ "cell_type": "code", "execution_count": null, "id": "14ce3afa", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:01.887739Z", + "iopub.status.busy": "2023-07-26T05:17:01.887564Z", + "iopub.status.idle": "2023-07-26T05:17:03.352633Z", + "shell.execute_reply": "2023-07-26T05:17:03.352273Z" + } + }, "outputs": [], "source": [ "hp_se = boot_SE(hp_func,\n", @@ -776,7 +937,14 @@ "cell_type": "code", "execution_count": null, "id": "6b1213ac", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:03.356355Z", + "iopub.status.busy": "2023-07-26T05:17:03.356184Z", + "iopub.status.idle": "2023-07-26T05:17:03.453023Z", + "shell.execute_reply": "2023-07-26T05:17:03.452622Z" + } + }, "outputs": [], "source": [ "hp_model.fit(Auto, Auto['mpg'])\n", @@ -827,7 +995,14 @@ "cell_type": "code", "execution_count": null, "id": "af99b778", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:03.455469Z", + "iopub.status.busy": "2023-07-26T05:17:03.455201Z", + "iopub.status.idle": "2023-07-26T05:17:05.757186Z", + "shell.execute_reply": "2023-07-26T05:17:05.756703Z" + } + }, "outputs": [], "source": [ "quad_model = MS([poly('horsepower', 2, raw=True)])\n", @@ -849,7 +1024,14 @@ "cell_type": "code", "execution_count": null, "id": "0206281e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:05.759524Z", + "iopub.status.busy": "2023-07-26T05:17:05.759220Z", + "iopub.status.idle": "2023-07-26T05:17:05.769493Z", + "shell.execute_reply": "2023-07-26T05:17:05.768995Z" + } + }, "outputs": [], "source": [ "M = sm.OLS(Auto['mpg'],\n", @@ -863,6 +1045,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,md:myst", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch6-varselect-lab.ipynb b/docs/source/labs/Ch6-varselect-lab.ipynb index 7d79f3a..c84a41a 100644 --- a/docs/source/labs/Ch6-varselect-lab.ipynb +++ b/docs/source/labs/Ch6-varselect-lab.ipynb @@ -11,7 +11,7 @@ { "cell_type": "code", "execution_count": null, - "id": "394db52b", + "id": "d985770e", "metadata": { "tags": [ "hide-cell" @@ -34,7 +34,7 @@ "```\n", "\n", "\n", - "\n", + "\n", " \"Open\n", "\n", "\n", @@ -48,7 +48,14 @@ "cell_type": "code", "execution_count": null, "id": "564883b2", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:07.048830Z", + "iopub.status.busy": "2023-07-26T05:17:07.048718Z", + "iopub.status.idle": "2023-07-26T05:17:08.239907Z", + "shell.execute_reply": "2023-07-26T05:17:08.239413Z" + } + }, "outputs": [], "source": [ "import numpy as np\n", @@ -76,7 +83,14 @@ "cell_type": "code", "execution_count": null, "id": "9aa8d3ee", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:08.242431Z", + "iopub.status.busy": "2023-07-26T05:17:08.242231Z", + "iopub.status.idle": "2023-07-26T05:17:09.939443Z", + "shell.execute_reply": "2023-07-26T05:17:09.938977Z" + } + }, "outputs": [], "source": [ "from sklearn.pipeline import Pipeline\n", @@ -120,7 +134,14 @@ "cell_type": "code", "execution_count": null, "id": "05371e33", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:09.942405Z", + "iopub.status.busy": "2023-07-26T05:17:09.942257Z", + "iopub.status.idle": "2023-07-26T05:17:09.952925Z", + "shell.execute_reply": "2023-07-26T05:17:09.952485Z" + } + }, "outputs": [], "source": [ "Hitters = load_data('Hitters')\n", @@ -141,7 +162,14 @@ "cell_type": "code", "execution_count": null, "id": "aa5bc5b8", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:09.955373Z", + "iopub.status.busy": "2023-07-26T05:17:09.955215Z", + "iopub.status.idle": "2023-07-26T05:17:09.959055Z", + "shell.execute_reply": "2023-07-26T05:17:09.958533Z" + } + }, "outputs": [], "source": [ "Hitters = Hitters.dropna();\n", @@ -163,7 +191,14 @@ "cell_type": "code", "execution_count": null, "id": "10494837", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:09.961940Z", + "iopub.status.busy": "2023-07-26T05:17:09.961736Z", + "iopub.status.idle": "2023-07-26T05:17:09.964700Z", + "shell.execute_reply": "2023-07-26T05:17:09.964271Z" + } + }, "outputs": [], "source": [ "def nCp(sigma2, estimator, X, Y):\n", @@ -187,7 +222,14 @@ "cell_type": "code", "execution_count": null, "id": "b8173cef", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:09.967518Z", + "iopub.status.busy": "2023-07-26T05:17:09.967341Z", + "iopub.status.idle": "2023-07-26T05:17:09.983184Z", + "shell.execute_reply": "2023-07-26T05:17:09.982693Z" + } + }, "outputs": [], "source": [ "design = MS(Hitters.columns.drop('Salary')).fit(Hitters)\n", @@ -208,7 +250,14 @@ "cell_type": "code", "execution_count": null, "id": "0cc8d7bd", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:09.985554Z", + "iopub.status.busy": "2023-07-26T05:17:09.985389Z", + "iopub.status.idle": "2023-07-26T05:17:09.987653Z", + "shell.execute_reply": "2023-07-26T05:17:09.987280Z" + } + }, "outputs": [], "source": [ "neg_Cp = partial(nCp, sigma2)" @@ -238,7 +287,14 @@ "cell_type": "code", "execution_count": null, "id": "440b4c50", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:09.989896Z", + "iopub.status.busy": "2023-07-26T05:17:09.989765Z", + "iopub.status.idle": "2023-07-26T05:17:09.992061Z", + "shell.execute_reply": "2023-07-26T05:17:09.991502Z" + } + }, "outputs": [], "source": [ "strategy = Stepwise.first_peak(design,\n", @@ -262,7 +318,14 @@ "cell_type": "code", "execution_count": null, "id": "b33a8617", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:09.994597Z", + "iopub.status.busy": "2023-07-26T05:17:09.994397Z", + "iopub.status.idle": "2023-07-26T05:17:10.882860Z", + "shell.execute_reply": "2023-07-26T05:17:10.882342Z" + } + }, "outputs": [], "source": [ "hitters_MSE = sklearn_selected(OLS,\n", @@ -283,7 +346,14 @@ "cell_type": "code", "execution_count": null, "id": "e7f554cf", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:10.885149Z", + "iopub.status.busy": "2023-07-26T05:17:10.884996Z", + "iopub.status.idle": "2023-07-26T05:17:11.423862Z", + "shell.execute_reply": "2023-07-26T05:17:11.423408Z" + } + }, "outputs": [], "source": [ "hitters_Cp = sklearn_selected(OLS,\n", @@ -322,7 +392,14 @@ "cell_type": "code", "execution_count": null, "id": "fb7091b8", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:11.426460Z", + "iopub.status.busy": "2023-07-26T05:17:11.426313Z", + "iopub.status.idle": "2023-07-26T05:17:11.428837Z", + "shell.execute_reply": "2023-07-26T05:17:11.428385Z" + } + }, "outputs": [], "source": [ "strategy = Stepwise.fixed_steps(design,\n", @@ -343,7 +420,14 @@ "cell_type": "code", "execution_count": null, "id": "56adc728", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:11.431149Z", + "iopub.status.busy": "2023-07-26T05:17:11.431007Z", + "iopub.status.idle": "2023-07-26T05:17:11.925588Z", + "shell.execute_reply": "2023-07-26T05:17:11.925166Z" + } + }, "outputs": [], "source": [ "full_path.fit(Hitters, Y)\n", @@ -369,7 +453,14 @@ "cell_type": "code", "execution_count": null, "id": "387267d9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:11.928605Z", + "iopub.status.busy": "2023-07-26T05:17:11.928329Z", + "iopub.status.idle": "2023-07-26T05:17:12.168674Z", + "shell.execute_reply": "2023-07-26T05:17:12.165742Z" + } + }, "outputs": [], "source": [ "mse_fig, ax = subplots(figsize=(8,8))\n", @@ -419,7 +510,14 @@ "cell_type": "code", "execution_count": null, "id": "0047ba88", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:12.180601Z", + "iopub.status.busy": "2023-07-26T05:17:12.179903Z", + "iopub.status.idle": "2023-07-26T05:17:14.657028Z", + "shell.execute_reply": "2023-07-26T05:17:14.656647Z" + } + }, "outputs": [], "source": [ "K = 5\n", @@ -453,7 +551,14 @@ "cell_type": "code", "execution_count": null, "id": "27b0eb63", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:14.659368Z", + "iopub.status.busy": "2023-07-26T05:17:14.659240Z", + "iopub.status.idle": "2023-07-26T05:17:14.663478Z", + "shell.execute_reply": "2023-07-26T05:17:14.663025Z" + } + }, "outputs": [], "source": [ "cv_mse = []\n", @@ -477,7 +582,14 @@ "cell_type": "code", "execution_count": null, "id": "a45fe587", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:14.665854Z", + "iopub.status.busy": "2023-07-26T05:17:14.665694Z", + "iopub.status.idle": "2023-07-26T05:17:14.764103Z", + "shell.execute_reply": "2023-07-26T05:17:14.763688Z" + } + }, "outputs": [], "source": [ "ax.errorbar(np.arange(n_steps), \n", @@ -504,7 +616,14 @@ "cell_type": "code", "execution_count": null, "id": "c71c2079", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:14.766668Z", + "iopub.status.busy": "2023-07-26T05:17:14.766176Z", + "iopub.status.idle": "2023-07-26T05:17:15.254311Z", + "shell.execute_reply": "2023-07-26T05:17:15.253748Z" + } + }, "outputs": [], "source": [ "validation = skm.ShuffleSplit(n_splits=1, \n", @@ -530,7 +649,14 @@ "cell_type": "code", "execution_count": null, "id": "2ff34edf", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:15.257176Z", + "iopub.status.busy": "2023-07-26T05:17:15.256855Z", + "iopub.status.idle": "2023-07-26T05:17:15.361521Z", + "shell.execute_reply": "2023-07-26T05:17:15.360872Z" + } + }, "outputs": [], "source": [ "ax.plot(np.arange(n_steps), \n", @@ -563,7 +689,14 @@ "cell_type": "code", "execution_count": null, "id": "845f3fa0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:15.364952Z", + "iopub.status.busy": "2023-07-26T05:17:15.364689Z", + "iopub.status.idle": "2023-07-26T05:17:15.379444Z", + "shell.execute_reply": "2023-07-26T05:17:15.379028Z" + } + }, "outputs": [], "source": [ "D = design.fit_transform(Hitters)\n", @@ -584,7 +717,14 @@ "cell_type": "code", "execution_count": null, "id": "e9f943e7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:15.381427Z", + "iopub.status.busy": "2023-07-26T05:17:15.381284Z", + "iopub.status.idle": "2023-07-26T05:17:18.000267Z", + "shell.execute_reply": "2023-07-26T05:17:17.999357Z" + } + }, "outputs": [], "source": [ "path = fit_path(X, \n", @@ -604,7 +744,14 @@ "cell_type": "code", "execution_count": null, "id": "657ac171", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:18.003862Z", + "iopub.status.busy": "2023-07-26T05:17:18.003705Z", + "iopub.status.idle": "2023-07-26T05:17:18.006563Z", + "shell.execute_reply": "2023-07-26T05:17:18.006222Z" + } + }, "outputs": [], "source": [ "path[3]" @@ -643,7 +790,14 @@ "cell_type": "code", "execution_count": null, "id": "e576ad54", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:18.008980Z", + "iopub.status.busy": "2023-07-26T05:17:18.008783Z", + "iopub.status.idle": "2023-07-26T05:17:18.078116Z", + "shell.execute_reply": "2023-07-26T05:17:18.077656Z" + } + }, "outputs": [], "source": [ "Xs = X - X.mean(0)[None,:]\n", @@ -685,7 +839,14 @@ "cell_type": "code", "execution_count": null, "id": "3ef15192", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:18.080752Z", + "iopub.status.busy": "2023-07-26T05:17:18.080552Z", + "iopub.status.idle": "2023-07-26T05:17:18.094265Z", + "shell.execute_reply": "2023-07-26T05:17:18.093783Z" + } + }, "outputs": [], "source": [ "soln_path = pd.DataFrame(soln_array.T,\n", @@ -709,7 +870,14 @@ "cell_type": "code", "execution_count": null, "id": "40b67c85", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:18.097009Z", + "iopub.status.busy": "2023-07-26T05:17:18.096807Z", + "iopub.status.idle": "2023-07-26T05:17:18.336481Z", + "shell.execute_reply": "2023-07-26T05:17:18.335993Z" + } + }, "outputs": [], "source": [ "path_fig, ax = subplots(figsize=(8,8))\n", @@ -735,7 +903,14 @@ "cell_type": "code", "execution_count": null, "id": "d14bd86c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:18.338709Z", + "iopub.status.busy": "2023-07-26T05:17:18.338591Z", + "iopub.status.idle": "2023-07-26T05:17:18.342588Z", + "shell.execute_reply": "2023-07-26T05:17:18.342104Z" + } + }, "outputs": [], "source": [ "beta_hat = soln_path.loc[soln_path.index[39]]\n", @@ -754,7 +929,14 @@ "cell_type": "code", "execution_count": null, "id": "759e215a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:18.344904Z", + "iopub.status.busy": "2023-07-26T05:17:18.344761Z", + "iopub.status.idle": "2023-07-26T05:17:18.347862Z", + "shell.execute_reply": "2023-07-26T05:17:18.347417Z" + } + }, "outputs": [], "source": [ "np.linalg.norm(beta_hat)" @@ -774,7 +956,14 @@ "cell_type": "code", "execution_count": null, "id": "b58d5ccb", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:18.350171Z", + "iopub.status.busy": "2023-07-26T05:17:18.350022Z", + "iopub.status.idle": "2023-07-26T05:17:18.353142Z", + "shell.execute_reply": "2023-07-26T05:17:18.352734Z" + } + }, "outputs": [], "source": [ "beta_hat = soln_path.loc[soln_path.index[59]]\n", @@ -796,7 +985,14 @@ "cell_type": "code", "execution_count": null, "id": "74b5cae2", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:18.355548Z", + "iopub.status.busy": "2023-07-26T05:17:18.355367Z", + "iopub.status.idle": "2023-07-26T05:17:18.370341Z", + "shell.execute_reply": "2023-07-26T05:17:18.369949Z" + } + }, "outputs": [], "source": [ "ridge = skl.ElasticNet(alpha=lambdas[59], l1_ratio=0)\n", @@ -817,7 +1013,14 @@ "cell_type": "code", "execution_count": null, "id": "a89989c3", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:18.372736Z", + "iopub.status.busy": "2023-07-26T05:17:18.372583Z", + "iopub.status.idle": "2023-07-26T05:17:18.375751Z", + "shell.execute_reply": "2023-07-26T05:17:18.375223Z" + } + }, "outputs": [], "source": [ "np.linalg.norm(ridge.coef_)" @@ -845,7 +1048,14 @@ "cell_type": "code", "execution_count": null, "id": "3eb41945", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:18.377750Z", + "iopub.status.busy": "2023-07-26T05:17:18.377627Z", + "iopub.status.idle": "2023-07-26T05:17:18.385518Z", + "shell.execute_reply": "2023-07-26T05:17:18.385025Z" + } + }, "outputs": [], "source": [ "validation = skm.ShuffleSplit(n_splits=1,\n", @@ -877,7 +1087,14 @@ "cell_type": "code", "execution_count": null, "id": "635bc363", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:18.387843Z", + "iopub.status.busy": "2023-07-26T05:17:18.387682Z", + "iopub.status.idle": "2023-07-26T05:17:18.396692Z", + "shell.execute_reply": "2023-07-26T05:17:18.396288Z" + } + }, "outputs": [], "source": [ "ridge.alpha = 1e10\n", @@ -907,7 +1124,14 @@ "cell_type": "code", "execution_count": null, "id": "e117267f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:18.399267Z", + "iopub.status.busy": "2023-07-26T05:17:18.399145Z", + "iopub.status.idle": "2023-07-26T05:17:18.894315Z", + "shell.execute_reply": "2023-07-26T05:17:18.893964Z" + } + }, "outputs": [], "source": [ "param_grid = {'ridge__alpha': lambdas}\n", @@ -932,7 +1156,14 @@ "cell_type": "code", "execution_count": null, "id": "0037e9e4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:18.896714Z", + "iopub.status.busy": "2023-07-26T05:17:18.896538Z", + "iopub.status.idle": "2023-07-26T05:17:22.201859Z", + "shell.execute_reply": "2023-07-26T05:17:22.201489Z" + } + }, "outputs": [], "source": [ "grid = skm.GridSearchCV(pipe, \n", @@ -957,7 +1188,14 @@ "cell_type": "code", "execution_count": null, "id": "71f0f5c5", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:22.203851Z", + "iopub.status.busy": "2023-07-26T05:17:22.203701Z", + "iopub.status.idle": "2023-07-26T05:17:22.319890Z", + "shell.execute_reply": "2023-07-26T05:17:22.318803Z" + } + }, "outputs": [], "source": [ "ridge_fig, ax = subplots(figsize=(8,8))\n", @@ -983,7 +1221,14 @@ "cell_type": "code", "execution_count": null, "id": "fb265379", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:22.322704Z", + "iopub.status.busy": "2023-07-26T05:17:22.322434Z", + "iopub.status.idle": "2023-07-26T05:17:25.602424Z", + "shell.execute_reply": "2023-07-26T05:17:25.601831Z" + } + }, "outputs": [], "source": [ "grid_r2 = skm.GridSearchCV(pipe, \n", @@ -1004,7 +1249,14 @@ "cell_type": "code", "execution_count": null, "id": "79616f48", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:25.604857Z", + "iopub.status.busy": "2023-07-26T05:17:25.604672Z", + "iopub.status.idle": "2023-07-26T05:17:25.718682Z", + "shell.execute_reply": "2023-07-26T05:17:25.718164Z" + } + }, "outputs": [], "source": [ "r2_fig, ax = subplots(figsize=(8,8))\n", @@ -1034,7 +1286,14 @@ "cell_type": "code", "execution_count": null, "id": "11e55883", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:25.721504Z", + "iopub.status.busy": "2023-07-26T05:17:25.721335Z", + "iopub.status.idle": "2023-07-26T05:17:26.086495Z", + "shell.execute_reply": "2023-07-26T05:17:26.085843Z" + } + }, "outputs": [], "source": [ "ridgeCV = skl.ElasticNetCV(alphas=lambdas, \n", @@ -1058,7 +1317,14 @@ "cell_type": "code", "execution_count": null, "id": "d107f961", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:26.090198Z", + "iopub.status.busy": "2023-07-26T05:17:26.090011Z", + "iopub.status.idle": "2023-07-26T05:17:26.211437Z", + "shell.execute_reply": "2023-07-26T05:17:26.210939Z" + } + }, "outputs": [], "source": [ "tuned_ridge = pipeCV.named_steps['ridge']\n", @@ -1087,7 +1353,14 @@ "cell_type": "code", "execution_count": null, "id": "21d65d1f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:26.214203Z", + "iopub.status.busy": "2023-07-26T05:17:26.213975Z", + "iopub.status.idle": "2023-07-26T05:17:26.217529Z", + "shell.execute_reply": "2023-07-26T05:17:26.216950Z" + } + }, "outputs": [], "source": [ "np.min(tuned_ridge.mse_path_.mean(1))" @@ -1108,7 +1381,14 @@ "cell_type": "code", "execution_count": null, "id": "11373de9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:26.219927Z", + "iopub.status.busy": "2023-07-26T05:17:26.219801Z", + "iopub.status.idle": "2023-07-26T05:17:26.222854Z", + "shell.execute_reply": "2023-07-26T05:17:26.222347Z" + } + }, "outputs": [], "source": [ "tuned_ridge.coef_" @@ -1150,7 +1430,14 @@ "cell_type": "code", "execution_count": null, "id": "72181964", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:26.225411Z", + "iopub.status.busy": "2023-07-26T05:17:26.225192Z", + "iopub.status.idle": "2023-07-26T05:17:26.228812Z", + "shell.execute_reply": "2023-07-26T05:17:26.228380Z" + } + }, "outputs": [], "source": [ "outer_valid = skm.ShuffleSplit(n_splits=1, \n", @@ -1170,7 +1457,14 @@ "cell_type": "code", "execution_count": null, "id": "4c3054b5", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:26.231904Z", + "iopub.status.busy": "2023-07-26T05:17:26.231669Z", + "iopub.status.idle": "2023-07-26T05:17:26.556426Z", + "shell.execute_reply": "2023-07-26T05:17:26.556096Z" + } + }, "outputs": [], "source": [ "results = skm.cross_validate(pipeCV, \n", @@ -1201,7 +1495,14 @@ "cell_type": "code", "execution_count": null, "id": "72bb0c1d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:26.560895Z", + "iopub.status.busy": "2023-07-26T05:17:26.560717Z", + "iopub.status.idle": "2023-07-26T05:17:26.616139Z", + "shell.execute_reply": "2023-07-26T05:17:26.615605Z" + } + }, "outputs": [], "source": [ "lassoCV = skl.ElasticNetCV(n_alphas=100, \n", @@ -1218,7 +1519,14 @@ "cell_type": "code", "execution_count": null, "id": "69adc7ac", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:26.618605Z", + "iopub.status.busy": "2023-07-26T05:17:26.618409Z", + "iopub.status.idle": "2023-07-26T05:17:26.629654Z", + "shell.execute_reply": "2023-07-26T05:17:26.629177Z" + } + }, "outputs": [], "source": [ "lambdas, soln_array = skl.Lasso.path(Xs, \n", @@ -1244,7 +1552,14 @@ "cell_type": "code", "execution_count": null, "id": "2aa75789", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:26.632157Z", + "iopub.status.busy": "2023-07-26T05:17:26.631965Z", + "iopub.status.idle": "2023-07-26T05:17:26.833444Z", + "shell.execute_reply": "2023-07-26T05:17:26.832719Z" + } + }, "outputs": [], "source": [ "path_fig, ax = subplots(figsize=(8,8))\n", @@ -1268,7 +1583,14 @@ "cell_type": "code", "execution_count": null, "id": "e38c9bed", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:26.836589Z", + "iopub.status.busy": "2023-07-26T05:17:26.836233Z", + "iopub.status.idle": "2023-07-26T05:17:26.841023Z", + "shell.execute_reply": "2023-07-26T05:17:26.840686Z" + } + }, "outputs": [], "source": [ "np.min(tuned_lasso.mse_path_.mean(1))" @@ -1286,7 +1608,14 @@ "cell_type": "code", "execution_count": null, "id": "53c42724", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:26.843812Z", + "iopub.status.busy": "2023-07-26T05:17:26.843647Z", + "iopub.status.idle": "2023-07-26T05:17:26.968792Z", + "shell.execute_reply": "2023-07-26T05:17:26.968349Z" + } + }, "outputs": [], "source": [ "lassoCV_fig, ax = subplots(figsize=(8,8))\n", @@ -1315,7 +1644,14 @@ "cell_type": "code", "execution_count": null, "id": "5f4942ba", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:26.971271Z", + "iopub.status.busy": "2023-07-26T05:17:26.971065Z", + "iopub.status.idle": "2023-07-26T05:17:26.974897Z", + "shell.execute_reply": "2023-07-26T05:17:26.973908Z" + } + }, "outputs": [], "source": [ "tuned_lasso.coef_" @@ -1363,7 +1699,14 @@ "cell_type": "code", "execution_count": null, "id": "72a876bb", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:26.977635Z", + "iopub.status.busy": "2023-07-26T05:17:26.977456Z", + "iopub.status.idle": "2023-07-26T05:17:26.983252Z", + "shell.execute_reply": "2023-07-26T05:17:26.982747Z" + } + }, "outputs": [], "source": [ "pca = PCA(n_components=2)\n", @@ -1389,7 +1732,14 @@ "cell_type": "code", "execution_count": null, "id": "e0e821c6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:26.985960Z", + "iopub.status.busy": "2023-07-26T05:17:26.985773Z", + "iopub.status.idle": "2023-07-26T05:17:26.991831Z", + "shell.execute_reply": "2023-07-26T05:17:26.991247Z" + } + }, "outputs": [], "source": [ "pipe = Pipeline([('scaler', scaler), \n", @@ -1414,7 +1764,14 @@ "cell_type": "code", "execution_count": null, "id": "1ac6886c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:26.994661Z", + "iopub.status.busy": "2023-07-26T05:17:26.994482Z", + "iopub.status.idle": "2023-07-26T05:17:27.138949Z", + "shell.execute_reply": "2023-07-26T05:17:27.138448Z" + } + }, "outputs": [], "source": [ "param_grid = {'pca__n_components': range(1, 20)}\n", @@ -1437,7 +1794,14 @@ "cell_type": "code", "execution_count": null, "id": "5e0c5a96", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:27.141752Z", + "iopub.status.busy": "2023-07-26T05:17:27.141555Z", + "iopub.status.idle": "2023-07-26T05:17:27.257460Z", + "shell.execute_reply": "2023-07-26T05:17:27.256920Z" + } + }, "outputs": [], "source": [ "pcr_fig, ax = subplots(figsize=(8,8))\n", @@ -1474,7 +1838,14 @@ "cell_type": "code", "execution_count": null, "id": "9df0fb7f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:27.260143Z", + "iopub.status.busy": "2023-07-26T05:17:27.259963Z", + "iopub.status.idle": "2023-07-26T05:17:27.267101Z", + "shell.execute_reply": "2023-07-26T05:17:27.266627Z" + } + }, "outputs": [], "source": [ "Xn = np.zeros((X.shape[0], 1))\n", @@ -1501,7 +1872,14 @@ "cell_type": "code", "execution_count": null, "id": "458c21a4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:27.269230Z", + "iopub.status.busy": "2023-07-26T05:17:27.269087Z", + "iopub.status.idle": "2023-07-26T05:17:27.272035Z", + "shell.execute_reply": "2023-07-26T05:17:27.271586Z" + } + }, "outputs": [], "source": [ "pipe.named_steps['pca'].explained_variance_ratio_" @@ -1534,7 +1912,14 @@ "cell_type": "code", "execution_count": null, "id": "f49d464e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:27.274642Z", + "iopub.status.busy": "2023-07-26T05:17:27.274472Z", + "iopub.status.idle": "2023-07-26T05:17:27.279195Z", + "shell.execute_reply": "2023-07-26T05:17:27.278730Z" + } + }, "outputs": [], "source": [ "pls = PLSRegression(n_components=2, \n", @@ -1555,7 +1940,14 @@ "cell_type": "code", "execution_count": null, "id": "8e118b5b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:27.281479Z", + "iopub.status.busy": "2023-07-26T05:17:27.281289Z", + "iopub.status.idle": "2023-07-26T05:17:27.395617Z", + "shell.execute_reply": "2023-07-26T05:17:27.395127Z" + } + }, "outputs": [], "source": [ "param_grid = {'n_components':range(1, 20)}\n", @@ -1578,7 +1970,14 @@ "cell_type": "code", "execution_count": null, "id": "0f98407c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:27.398116Z", + "iopub.status.busy": "2023-07-26T05:17:27.397950Z", + "iopub.status.idle": "2023-07-26T05:17:27.513229Z", + "shell.execute_reply": "2023-07-26T05:17:27.512778Z" + } + }, "outputs": [], "source": [ "pls_fig, ax = subplots(figsize=(8,8))\n", @@ -1607,6 +2006,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,md:myst", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch7-nonlin-lab.ipynb b/docs/source/labs/Ch7-nonlin-lab.ipynb index 54807a8..de4c75b 100644 --- a/docs/source/labs/Ch7-nonlin-lab.ipynb +++ b/docs/source/labs/Ch7-nonlin-lab.ipynb @@ -7,7 +7,7 @@ "source": [ "# Non-Linear Modeling\n", "\n", - "\n", + "\n", " \"Open\n", "\n", "\n", @@ -22,7 +22,14 @@ "cell_type": "code", "execution_count": null, "id": "77af2dc4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:29.006535Z", + "iopub.status.busy": "2023-07-26T05:17:29.006365Z", + "iopub.status.idle": "2023-07-26T05:17:30.236882Z", + "shell.execute_reply": "2023-07-26T05:17:30.236365Z" + } + }, "outputs": [], "source": [ "import numpy as np, pandas as pd\n", @@ -49,7 +56,14 @@ "cell_type": "code", "execution_count": null, "id": "b57d1d51", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:30.240347Z", + "iopub.status.busy": "2023-07-26T05:17:30.240127Z", + "iopub.status.idle": "2023-07-26T05:17:30.254879Z", + "shell.execute_reply": "2023-07-26T05:17:30.254420Z" + } + }, "outputs": [], "source": [ "from pygam import (s as s_gam,\n", @@ -81,7 +95,14 @@ "cell_type": "code", "execution_count": null, "id": "65f0e562", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:30.257519Z", + "iopub.status.busy": "2023-07-26T05:17:30.257098Z", + "iopub.status.idle": "2023-07-26T05:17:30.265239Z", + "shell.execute_reply": "2023-07-26T05:17:30.264877Z" + } + }, "outputs": [], "source": [ "Wage = load_data('Wage')\n", @@ -104,7 +125,14 @@ "cell_type": "code", "execution_count": null, "id": "a391fae6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:30.267640Z", + "iopub.status.busy": "2023-07-26T05:17:30.267444Z", + "iopub.status.idle": "2023-07-26T05:17:30.380537Z", + "shell.execute_reply": "2023-07-26T05:17:30.378736Z" + } + }, "outputs": [], "source": [ "poly_age = MS([poly('age', degree=4)]).fit(Wage)\n", @@ -147,7 +175,14 @@ "cell_type": "code", "execution_count": null, "id": "d672f40e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:30.388859Z", + "iopub.status.busy": "2023-07-26T05:17:30.387288Z", + "iopub.status.idle": "2023-07-26T05:17:30.401783Z", + "shell.execute_reply": "2023-07-26T05:17:30.398614Z" + } + }, "outputs": [], "source": [ "age_grid = np.linspace(age.min(),\n", @@ -175,7 +210,14 @@ "cell_type": "code", "execution_count": null, "id": "56174265", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:30.414085Z", + "iopub.status.busy": "2023-07-26T05:17:30.411883Z", + "iopub.status.idle": "2023-07-26T05:17:30.434639Z", + "shell.execute_reply": "2023-07-26T05:17:30.432466Z" + } + }, "outputs": [], "source": [ "def plot_wage_fit(age_df, \n", @@ -224,7 +266,14 @@ "cell_type": "code", "execution_count": null, "id": "1a10422f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:30.447621Z", + "iopub.status.busy": "2023-07-26T05:17:30.446550Z", + "iopub.status.idle": "2023-07-26T05:17:30.730675Z", + "shell.execute_reply": "2023-07-26T05:17:30.730133Z" + } + }, "outputs": [], "source": [ "plot_wage_fit(age_df, \n", @@ -264,7 +313,14 @@ "cell_type": "code", "execution_count": null, "id": "8105e672", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:30.732769Z", + "iopub.status.busy": "2023-07-26T05:17:30.732623Z", + "iopub.status.idle": "2023-07-26T05:17:30.781558Z", + "shell.execute_reply": "2023-07-26T05:17:30.779955Z" + } + }, "outputs": [], "source": [ "models = [MS([poly('age', degree=d)]) \n", @@ -304,7 +360,14 @@ "cell_type": "code", "execution_count": null, "id": "095fca7f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:30.790773Z", + "iopub.status.busy": "2023-07-26T05:17:30.789916Z", + "iopub.status.idle": "2023-07-26T05:17:30.829956Z", + "shell.execute_reply": "2023-07-26T05:17:30.827755Z" + } + }, "outputs": [], "source": [ "summarize(M)" @@ -324,7 +387,14 @@ "cell_type": "code", "execution_count": null, "id": "0b576607", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:30.839811Z", + "iopub.status.busy": "2023-07-26T05:17:30.837704Z", + "iopub.status.idle": "2023-07-26T05:17:30.856244Z", + "shell.execute_reply": "2023-07-26T05:17:30.854399Z" + } + }, "outputs": [], "source": [ "(-11.983)**2" @@ -346,7 +416,14 @@ "cell_type": "code", "execution_count": null, "id": "7242df77", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:30.866948Z", + "iopub.status.busy": "2023-07-26T05:17:30.865892Z", + "iopub.status.idle": "2023-07-26T05:17:30.922189Z", + "shell.execute_reply": "2023-07-26T05:17:30.920195Z" + } + }, "outputs": [], "source": [ "models = [MS(['education', poly('age', degree=d)])\n", @@ -375,7 +452,14 @@ "cell_type": "code", "execution_count": null, "id": "c7972aea", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:30.932685Z", + "iopub.status.busy": "2023-07-26T05:17:30.932050Z", + "iopub.status.idle": "2023-07-26T05:17:31.040926Z", + "shell.execute_reply": "2023-07-26T05:17:31.003239Z" + } + }, "outputs": [], "source": [ "X = poly_age.transform(Wage)\n", @@ -399,7 +483,14 @@ "cell_type": "code", "execution_count": null, "id": "84f172f2", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:31.067292Z", + "iopub.status.busy": "2023-07-26T05:17:31.066686Z", + "iopub.status.idle": "2023-07-26T05:17:31.149946Z", + "shell.execute_reply": "2023-07-26T05:17:31.109686Z" + } + }, "outputs": [], "source": [ "newX = poly_age.transform(age_df)\n", @@ -419,7 +510,14 @@ "cell_type": "code", "execution_count": null, "id": "fcf376bd", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:31.174590Z", + "iopub.status.busy": "2023-07-26T05:17:31.158361Z", + "iopub.status.idle": "2023-07-26T05:17:31.302984Z", + "shell.execute_reply": "2023-07-26T05:17:31.302329Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", @@ -465,7 +563,14 @@ "cell_type": "code", "execution_count": null, "id": "c4d00900", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:31.305474Z", + "iopub.status.busy": "2023-07-26T05:17:31.305329Z", + "iopub.status.idle": "2023-07-26T05:17:31.336068Z", + "shell.execute_reply": "2023-07-26T05:17:31.334266Z" + } + }, "outputs": [], "source": [ "cut_age = pd.qcut(age, 4)\n", @@ -513,7 +618,14 @@ "cell_type": "code", "execution_count": null, "id": "d3817102", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:31.345711Z", + "iopub.status.busy": "2023-07-26T05:17:31.343152Z", + "iopub.status.idle": "2023-07-26T05:17:31.444719Z", + "shell.execute_reply": "2023-07-26T05:17:31.422743Z" + } + }, "outputs": [], "source": [ "bs_ = BSpline(internal_knots=[25,40,60], intercept=True).fit(age)\n", @@ -537,7 +649,14 @@ "cell_type": "code", "execution_count": null, "id": "c06c0f27", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:31.504387Z", + "iopub.status.busy": "2023-07-26T05:17:31.502827Z", + "iopub.status.idle": "2023-07-26T05:17:31.545517Z", + "shell.execute_reply": "2023-07-26T05:17:31.543597Z" + } + }, "outputs": [], "source": [ "bs_age = MS([bs('age', internal_knots=[25,40,60])])\n", @@ -558,7 +677,14 @@ "cell_type": "code", "execution_count": null, "id": "8cb32db0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:31.554111Z", + "iopub.status.busy": "2023-07-26T05:17:31.553059Z", + "iopub.status.idle": "2023-07-26T05:17:31.605969Z", + "shell.execute_reply": "2023-07-26T05:17:31.601942Z" + } + }, "outputs": [], "source": [ "bs_age = MS([bs('age',\n", @@ -590,7 +716,14 @@ "cell_type": "code", "execution_count": null, "id": "f26b715f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:31.613882Z", + "iopub.status.busy": "2023-07-26T05:17:31.613189Z", + "iopub.status.idle": "2023-07-26T05:17:31.632577Z", + "shell.execute_reply": "2023-07-26T05:17:31.631063Z" + } + }, "outputs": [], "source": [ "BSpline(df=6).fit(age).internal_knots_" @@ -616,7 +749,14 @@ "cell_type": "code", "execution_count": null, "id": "d6109816", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:31.640827Z", + "iopub.status.busy": "2023-07-26T05:17:31.640229Z", + "iopub.status.idle": "2023-07-26T05:17:31.697215Z", + "shell.execute_reply": "2023-07-26T05:17:31.695639Z" + } + }, "outputs": [], "source": [ "bs_age0 = MS([bs('age',\n", @@ -660,7 +800,14 @@ "cell_type": "code", "execution_count": null, "id": "7c73a3da", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:31.706944Z", + "iopub.status.busy": "2023-07-26T05:17:31.705664Z", + "iopub.status.idle": "2023-07-26T05:17:31.757111Z", + "shell.execute_reply": "2023-07-26T05:17:31.754514Z" + } + }, "outputs": [], "source": [ "ns_age = MS([ns('age', df=5)]).fit(Wage)\n", @@ -680,7 +827,14 @@ "cell_type": "code", "execution_count": null, "id": "d73789b4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:31.766336Z", + "iopub.status.busy": "2023-07-26T05:17:31.764642Z", + "iopub.status.idle": "2023-07-26T05:17:31.949222Z", + "shell.execute_reply": "2023-07-26T05:17:31.947680Z" + } + }, "outputs": [], "source": [ "plot_wage_fit(age_df,\n", @@ -710,7 +864,14 @@ "cell_type": "code", "execution_count": null, "id": "3e70b87d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:31.962335Z", + "iopub.status.busy": "2023-07-26T05:17:31.958770Z", + "iopub.status.idle": "2023-07-26T05:17:32.190885Z", + "shell.execute_reply": "2023-07-26T05:17:32.188959Z" + } + }, "outputs": [], "source": [ "X_age = np.asarray(age).reshape((-1,1))\n", @@ -736,7 +897,14 @@ "cell_type": "code", "execution_count": null, "id": "efe03b12", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:32.212724Z", + "iopub.status.busy": "2023-07-26T05:17:32.212362Z", + "iopub.status.idle": "2023-07-26T05:17:33.141120Z", + "shell.execute_reply": "2023-07-26T05:17:33.140497Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", @@ -764,7 +932,14 @@ "cell_type": "code", "execution_count": null, "id": "acff2af2", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:33.143621Z", + "iopub.status.busy": "2023-07-26T05:17:33.143494Z", + "iopub.status.idle": "2023-07-26T05:17:34.781067Z", + "shell.execute_reply": "2023-07-26T05:17:34.758430Z" + } + }, "outputs": [], "source": [ "gam_opt = gam.gridsearch(X_age, y)\n", @@ -793,7 +968,14 @@ "cell_type": "code", "execution_count": null, "id": "a2d25550", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:34.825629Z", + "iopub.status.busy": "2023-07-26T05:17:34.825425Z", + "iopub.status.idle": "2023-07-26T05:17:35.011756Z", + "shell.execute_reply": "2023-07-26T05:17:35.006694Z" + } + }, "outputs": [], "source": [ "age_term = gam.terms[0]\n", @@ -816,7 +998,14 @@ "cell_type": "code", "execution_count": null, "id": "bc6322de", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:35.024537Z", + "iopub.status.busy": "2023-07-26T05:17:35.022461Z", + "iopub.status.idle": "2023-07-26T05:17:35.863008Z", + "shell.execute_reply": "2023-07-26T05:17:35.862422Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", @@ -860,7 +1049,14 @@ "cell_type": "code", "execution_count": null, "id": "703d2570", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:35.865454Z", + "iopub.status.busy": "2023-07-26T05:17:35.865140Z", + "iopub.status.idle": "2023-07-26T05:17:35.892627Z", + "shell.execute_reply": "2023-07-26T05:17:35.889738Z" + } + }, "outputs": [], "source": [ "ns_age = NaturalSpline(df=4).fit(age)\n", @@ -891,7 +1087,14 @@ "cell_type": "code", "execution_count": null, "id": "766a7b1f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:35.908556Z", + "iopub.status.busy": "2023-07-26T05:17:35.902581Z", + "iopub.status.idle": "2023-07-26T05:17:36.057026Z", + "shell.execute_reply": "2023-07-26T05:17:36.055296Z" + } + }, "outputs": [], "source": [ "age_grid = np.linspace(age.min(),\n", @@ -935,7 +1138,14 @@ "cell_type": "code", "execution_count": null, "id": "2a9ed841", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:36.068318Z", + "iopub.status.busy": "2023-07-26T05:17:36.067032Z", + "iopub.status.idle": "2023-07-26T05:17:36.214624Z", + "shell.execute_reply": "2023-07-26T05:17:36.214052Z" + } + }, "outputs": [], "source": [ "year_grid = np.linspace(2003, 2009, 100)\n", @@ -978,7 +1188,14 @@ "cell_type": "code", "execution_count": null, "id": "ccf068b1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:36.216725Z", + "iopub.status.busy": "2023-07-26T05:17:36.216587Z", + "iopub.status.idle": "2023-07-26T05:17:36.383722Z", + "shell.execute_reply": "2023-07-26T05:17:36.379206Z" + } + }, "outputs": [], "source": [ "gam_full = LinearGAM(s_gam(0) +\n", @@ -1007,7 +1224,14 @@ "cell_type": "code", "execution_count": null, "id": "38b719f1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:36.404487Z", + "iopub.status.busy": "2023-07-26T05:17:36.401365Z", + "iopub.status.idle": "2023-07-26T05:17:36.620141Z", + "shell.execute_reply": "2023-07-26T05:17:36.619756Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", @@ -1032,7 +1256,14 @@ "cell_type": "code", "execution_count": null, "id": "02142f6e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:36.622262Z", + "iopub.status.busy": "2023-07-26T05:17:36.622071Z", + "iopub.status.idle": "2023-07-26T05:17:36.728386Z", + "shell.execute_reply": "2023-07-26T05:17:36.725088Z" + } + }, "outputs": [], "source": [ "age_term = gam_full.terms[0]\n", @@ -1057,7 +1288,14 @@ "cell_type": "code", "execution_count": null, "id": "94587b05", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:36.738456Z", + "iopub.status.busy": "2023-07-26T05:17:36.737408Z", + "iopub.status.idle": "2023-07-26T05:17:36.927722Z", + "shell.execute_reply": "2023-07-26T05:17:36.917522Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", @@ -1081,7 +1319,14 @@ "cell_type": "code", "execution_count": null, "id": "bba4c757", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:36.975410Z", + "iopub.status.busy": "2023-07-26T05:17:36.975007Z", + "iopub.status.idle": "2023-07-26T05:17:37.089224Z", + "shell.execute_reply": "2023-07-26T05:17:37.088696Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", @@ -1110,7 +1355,14 @@ "cell_type": "code", "execution_count": null, "id": "32368085", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:37.091963Z", + "iopub.status.busy": "2023-07-26T05:17:37.091763Z", + "iopub.status.idle": "2023-07-26T05:17:37.181347Z", + "shell.execute_reply": "2023-07-26T05:17:37.177854Z" + } + }, "outputs": [], "source": [ "gam_0 = LinearGAM(age_term + f_gam(2, lam=0))\n", @@ -1137,7 +1389,14 @@ "cell_type": "code", "execution_count": null, "id": "e7ba9957", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:37.190026Z", + "iopub.status.busy": "2023-07-26T05:17:37.188398Z", + "iopub.status.idle": "2023-07-26T05:17:37.218825Z", + "shell.execute_reply": "2023-07-26T05:17:37.206670Z" + } + }, "outputs": [], "source": [ "anova_gam(gam_0, gam_linear, gam_full)" @@ -1164,7 +1423,14 @@ "cell_type": "code", "execution_count": null, "id": "ffc0099a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:37.237108Z", + "iopub.status.busy": "2023-07-26T05:17:37.233509Z", + "iopub.status.idle": "2023-07-26T05:17:37.451340Z", + "shell.execute_reply": "2023-07-26T05:17:37.449175Z" + } + }, "outputs": [], "source": [ "gam_0 = LinearGAM(year_term +\n", @@ -1189,7 +1455,14 @@ "cell_type": "code", "execution_count": null, "id": "08026a6b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:37.465361Z", + "iopub.status.busy": "2023-07-26T05:17:37.464408Z", + "iopub.status.idle": "2023-07-26T05:17:37.476379Z", + "shell.execute_reply": "2023-07-26T05:17:37.473563Z" + } + }, "outputs": [], "source": [ "gam_full.summary()" @@ -1209,7 +1482,14 @@ "cell_type": "code", "execution_count": null, "id": "9191d615", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:37.488339Z", + "iopub.status.busy": "2023-07-26T05:17:37.487573Z", + "iopub.status.idle": "2023-07-26T05:17:37.520050Z", + "shell.execute_reply": "2023-07-26T05:17:37.516172Z" + } + }, "outputs": [], "source": [ "Yhat = gam_full.predict(Xgam)" @@ -1228,7 +1508,14 @@ "cell_type": "code", "execution_count": null, "id": "92007a5f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:37.533259Z", + "iopub.status.busy": "2023-07-26T05:17:37.531878Z", + "iopub.status.idle": "2023-07-26T05:17:38.910096Z", + "shell.execute_reply": "2023-07-26T05:17:38.906703Z" + } + }, "outputs": [], "source": [ "gam_logit = LogisticGAM(age_term + \n", @@ -1241,7 +1528,14 @@ "cell_type": "code", "execution_count": null, "id": "4dd6aa2f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:38.924790Z", + "iopub.status.busy": "2023-07-26T05:17:38.922174Z", + "iopub.status.idle": "2023-07-26T05:17:39.053438Z", + "shell.execute_reply": "2023-07-26T05:17:39.047514Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", @@ -1266,7 +1560,14 @@ "cell_type": "code", "execution_count": null, "id": "5a6e8754", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:39.066631Z", + "iopub.status.busy": "2023-07-26T05:17:39.064606Z", + "iopub.status.idle": "2023-07-26T05:17:39.115103Z", + "shell.execute_reply": "2023-07-26T05:17:39.111772Z" + } + }, "outputs": [], "source": [ "pd.crosstab(Wage['high_earn'], Wage['education'])" @@ -1293,7 +1594,14 @@ "cell_type": "code", "execution_count": null, "id": "c92b60be", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:39.164808Z", + "iopub.status.busy": "2023-07-26T05:17:39.164544Z", + "iopub.status.idle": "2023-07-26T05:17:39.168909Z", + "shell.execute_reply": "2023-07-26T05:17:39.168184Z" + } + }, "outputs": [], "source": [ "only_hs = Wage['education'] == '1. < HS Grad'\n", @@ -1319,7 +1627,14 @@ "cell_type": "code", "execution_count": null, "id": "e525e8d0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:39.173520Z", + "iopub.status.busy": "2023-07-26T05:17:39.173179Z", + "iopub.status.idle": "2023-07-26T05:17:39.334235Z", + "shell.execute_reply": "2023-07-26T05:17:39.329778Z" + } + }, "outputs": [], "source": [ "gam_logit_ = LogisticGAM(age_term +\n", @@ -1341,7 +1656,14 @@ "cell_type": "code", "execution_count": null, "id": "c3e66cf9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:39.345416Z", + "iopub.status.busy": "2023-07-26T05:17:39.344660Z", + "iopub.status.idle": "2023-07-26T05:17:39.468357Z", + "shell.execute_reply": "2023-07-26T05:17:39.465567Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", @@ -1357,7 +1679,14 @@ "cell_type": "code", "execution_count": null, "id": "fd924348", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:39.479166Z", + "iopub.status.busy": "2023-07-26T05:17:39.477744Z", + "iopub.status.idle": "2023-07-26T05:17:39.605116Z", + "shell.execute_reply": "2023-07-26T05:17:39.604574Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", @@ -1372,7 +1701,14 @@ "cell_type": "code", "execution_count": null, "id": "2d3ec90a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:39.607454Z", + "iopub.status.busy": "2023-07-26T05:17:39.607274Z", + "iopub.status.idle": "2023-07-26T05:17:39.737422Z", + "shell.execute_reply": "2023-07-26T05:17:39.736830Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8, 8))\n", @@ -1401,7 +1737,14 @@ "cell_type": "code", "execution_count": null, "id": "4f2bc0eb", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:39.740507Z", + "iopub.status.busy": "2023-07-26T05:17:39.740171Z", + "iopub.status.idle": "2023-07-26T05:17:39.902495Z", + "shell.execute_reply": "2023-07-26T05:17:39.902127Z" + } + }, "outputs": [], "source": [ "lowess = sm.nonparametric.lowess\n", @@ -1427,6 +1770,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,md:myst", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch8-baggboost-lab.ipynb b/docs/source/labs/Ch8-baggboost-lab.ipynb index 04147cd..43349ee 100644 --- a/docs/source/labs/Ch8-baggboost-lab.ipynb +++ b/docs/source/labs/Ch8-baggboost-lab.ipynb @@ -7,7 +7,7 @@ "source": [ "# Tree-Based Methods\n", "\n", - "\n", + "\n", " \"Open\n", "\n", "\n", @@ -20,7 +20,14 @@ "cell_type": "code", "execution_count": null, "id": "4cc7120f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:41.271445Z", + "iopub.status.busy": "2023-07-26T05:17:41.271226Z", + "iopub.status.idle": "2023-07-26T05:17:42.756473Z", + "shell.execute_reply": "2023-07-26T05:17:42.756027Z" + } + }, "outputs": [], "source": [ "import numpy as np\n", @@ -45,7 +52,14 @@ "cell_type": "code", "execution_count": null, "id": "864fa15e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:42.759051Z", + "iopub.status.busy": "2023-07-26T05:17:42.758860Z", + "iopub.status.idle": "2023-07-26T05:17:42.832228Z", + "shell.execute_reply": "2023-07-26T05:17:42.831597Z" + } + }, "outputs": [], "source": [ "from sklearn.tree import (DecisionTreeClassifier as DTC,\n", @@ -85,7 +99,14 @@ "cell_type": "code", "execution_count": null, "id": "bfb4c83b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:42.836883Z", + "iopub.status.busy": "2023-07-26T05:17:42.836681Z", + "iopub.status.idle": "2023-07-26T05:17:42.843170Z", + "shell.execute_reply": "2023-07-26T05:17:42.842647Z" + } + }, "outputs": [], "source": [ "Carseats = load_data('Carseats')\n", @@ -109,7 +130,14 @@ "cell_type": "code", "execution_count": null, "id": "5d9e7a14", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:42.845711Z", + "iopub.status.busy": "2023-07-26T05:17:42.845521Z", + "iopub.status.idle": "2023-07-26T05:17:42.856897Z", + "shell.execute_reply": "2023-07-26T05:17:42.856518Z" + } + }, "outputs": [], "source": [ "model = MS(Carseats.columns.drop('Sales'), intercept=False)\n", @@ -136,7 +164,14 @@ "cell_type": "code", "execution_count": null, "id": "970c4515", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:42.859418Z", + "iopub.status.busy": "2023-07-26T05:17:42.859055Z", + "iopub.status.idle": "2023-07-26T05:17:42.866816Z", + "shell.execute_reply": "2023-07-26T05:17:42.866395Z" + } + }, "outputs": [], "source": [ "clf = DTC(criterion='entropy',\n", @@ -166,7 +201,14 @@ "cell_type": "code", "execution_count": null, "id": "2d9a51dc", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:42.868805Z", + "iopub.status.busy": "2023-07-26T05:17:42.868636Z", + "iopub.status.idle": "2023-07-26T05:17:42.872257Z", + "shell.execute_reply": "2023-07-26T05:17:42.871848Z" + } + }, "outputs": [], "source": [ "accuracy_score(High, clf.predict(X))" @@ -194,7 +236,14 @@ "cell_type": "code", "execution_count": null, "id": "cbc04b67", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:42.874181Z", + "iopub.status.busy": "2023-07-26T05:17:42.874073Z", + "iopub.status.idle": "2023-07-26T05:17:42.878254Z", + "shell.execute_reply": "2023-07-26T05:17:42.877678Z" + } + }, "outputs": [], "source": [ "resid_dev = np.sum(log_loss(High, clf.predict_proba(X)))\n", @@ -219,7 +268,14 @@ "cell_type": "code", "execution_count": null, "id": "809830c7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:42.880423Z", + "iopub.status.busy": "2023-07-26T05:17:42.880256Z", + "iopub.status.idle": "2023-07-26T05:17:43.233297Z", + "shell.execute_reply": "2023-07-26T05:17:43.232754Z" + } + }, "outputs": [], "source": [ "ax = subplots(figsize=(12,12))[1]\n", @@ -248,7 +304,14 @@ "cell_type": "code", "execution_count": null, "id": "abe8c7fc", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:43.235787Z", + "iopub.status.busy": "2023-07-26T05:17:43.235629Z", + "iopub.status.idle": "2023-07-26T05:17:43.238645Z", + "shell.execute_reply": "2023-07-26T05:17:43.238197Z" + } + }, "outputs": [], "source": [ "print(export_text(clf,\n", @@ -276,7 +339,14 @@ "cell_type": "code", "execution_count": null, "id": "f7a1f736", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:43.241246Z", + "iopub.status.busy": "2023-07-26T05:17:43.241128Z", + "iopub.status.idle": "2023-07-26T05:17:43.248339Z", + "shell.execute_reply": "2023-07-26T05:17:43.247882Z" + } + }, "outputs": [], "source": [ "validation = skm.ShuffleSplit(n_splits=1,\n", @@ -305,7 +375,14 @@ "cell_type": "code", "execution_count": null, "id": "c663a623", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:43.250854Z", + "iopub.status.busy": "2023-07-26T05:17:43.250675Z", + "iopub.status.idle": "2023-07-26T05:17:43.253625Z", + "shell.execute_reply": "2023-07-26T05:17:43.253117Z" + } + }, "outputs": [], "source": [ "(X_train,\n", @@ -330,7 +407,14 @@ "cell_type": "code", "execution_count": null, "id": "c2f2a403", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:43.256072Z", + "iopub.status.busy": "2023-07-26T05:17:43.255891Z", + "iopub.status.idle": "2023-07-26T05:17:43.261392Z", + "shell.execute_reply": "2023-07-26T05:17:43.260822Z" + } + }, "outputs": [], "source": [ "clf = DTC(criterion='entropy', random_state=0)\n", @@ -351,7 +435,14 @@ "cell_type": "code", "execution_count": null, "id": "b2505658", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:43.264289Z", + "iopub.status.busy": "2023-07-26T05:17:43.264075Z", + "iopub.status.idle": "2023-07-26T05:17:43.268404Z", + "shell.execute_reply": "2023-07-26T05:17:43.267912Z" + } + }, "outputs": [], "source": [ "ccp_path = clf.cost_complexity_pruning_path(X_train, High_train)\n", @@ -373,7 +464,14 @@ "cell_type": "code", "execution_count": null, "id": "09a7bd33", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:43.270876Z", + "iopub.status.busy": "2023-07-26T05:17:43.270706Z", + "iopub.status.idle": "2023-07-26T05:17:43.553527Z", + "shell.execute_reply": "2023-07-26T05:17:43.553080Z" + } + }, "outputs": [], "source": [ "grid = skm.GridSearchCV(clf,\n", @@ -397,7 +495,14 @@ "cell_type": "code", "execution_count": null, "id": "a75dea32", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:43.556004Z", + "iopub.status.busy": "2023-07-26T05:17:43.555851Z", + "iopub.status.idle": "2023-07-26T05:17:44.479893Z", + "shell.execute_reply": "2023-07-26T05:17:44.479062Z" + } + }, "outputs": [], "source": [ "ax = subplots(figsize=(12, 12))[1]\n", @@ -420,7 +525,14 @@ "cell_type": "code", "execution_count": null, "id": "3f1e3d19", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:44.483391Z", + "iopub.status.busy": "2023-07-26T05:17:44.483211Z", + "iopub.status.idle": "2023-07-26T05:17:44.486537Z", + "shell.execute_reply": "2023-07-26T05:17:44.486111Z" + } + }, "outputs": [], "source": [ "best_.tree_.n_leaves" @@ -441,7 +553,14 @@ "cell_type": "code", "execution_count": null, "id": "30f5c2f9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:44.489160Z", + "iopub.status.busy": "2023-07-26T05:17:44.489048Z", + "iopub.status.idle": "2023-07-26T05:17:44.498333Z", + "shell.execute_reply": "2023-07-26T05:17:44.497705Z" + } + }, "outputs": [], "source": [ "print(accuracy_score(High_test,\n", @@ -473,7 +592,14 @@ "cell_type": "code", "execution_count": null, "id": "1ca6bc7a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:44.500404Z", + "iopub.status.busy": "2023-07-26T05:17:44.500198Z", + "iopub.status.idle": "2023-07-26T05:17:44.510037Z", + "shell.execute_reply": "2023-07-26T05:17:44.509664Z" + } + }, "outputs": [], "source": [ "Boston = load_data(\"Boston\")\n", @@ -496,7 +622,14 @@ "cell_type": "code", "execution_count": null, "id": "15cfb553", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:44.512140Z", + "iopub.status.busy": "2023-07-26T05:17:44.511989Z", + "iopub.status.idle": "2023-07-26T05:17:44.515238Z", + "shell.execute_reply": "2023-07-26T05:17:44.514701Z" + } + }, "outputs": [], "source": [ "(X_train,\n", @@ -520,7 +653,14 @@ "cell_type": "code", "execution_count": null, "id": "d18820a3", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:44.517521Z", + "iopub.status.busy": "2023-07-26T05:17:44.517330Z", + "iopub.status.idle": "2023-07-26T05:17:44.858666Z", + "shell.execute_reply": "2023-07-26T05:17:44.858062Z" + } + }, "outputs": [], "source": [ "reg = DTR(max_depth=3)\n", @@ -556,7 +696,14 @@ "cell_type": "code", "execution_count": null, "id": "619f8d94", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:44.861023Z", + "iopub.status.busy": "2023-07-26T05:17:44.860905Z", + "iopub.status.idle": "2023-07-26T05:17:44.914455Z", + "shell.execute_reply": "2023-07-26T05:17:44.913988Z" + } + }, "outputs": [], "source": [ "ccp_path = reg.cost_complexity_pruning_path(X_train, y_train)\n", @@ -584,7 +731,14 @@ "cell_type": "code", "execution_count": null, "id": "779a14b6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:44.917435Z", + "iopub.status.busy": "2023-07-26T05:17:44.917262Z", + "iopub.status.idle": "2023-07-26T05:17:44.920852Z", + "shell.execute_reply": "2023-07-26T05:17:44.920436Z" + } + }, "outputs": [], "source": [ "best_ = grid.best_estimator_\n", @@ -611,7 +765,14 @@ "cell_type": "code", "execution_count": null, "id": "2b04030b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:44.923340Z", + "iopub.status.busy": "2023-07-26T05:17:44.923189Z", + "iopub.status.idle": "2023-07-26T05:17:45.244796Z", + "shell.execute_reply": "2023-07-26T05:17:45.244381Z" + } + }, "outputs": [], "source": [ "ax = subplots(figsize=(12,12))[1]\n", @@ -644,7 +805,14 @@ "cell_type": "code", "execution_count": null, "id": "7dedce31", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:45.248119Z", + "iopub.status.busy": "2023-07-26T05:17:45.247930Z", + "iopub.status.idle": "2023-07-26T05:17:45.416858Z", + "shell.execute_reply": "2023-07-26T05:17:45.416407Z" + } + }, "outputs": [], "source": [ "bag_boston = RF(max_features=X_train.shape[1], random_state=0)\n", @@ -666,7 +834,14 @@ "cell_type": "code", "execution_count": null, "id": "1f2c7336", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:45.418831Z", + "iopub.status.busy": "2023-07-26T05:17:45.418689Z", + "iopub.status.idle": "2023-07-26T05:17:45.525786Z", + "shell.execute_reply": "2023-07-26T05:17:45.525224Z" + } + }, "outputs": [], "source": [ "ax = subplots(figsize=(8,8))[1]\n", @@ -691,7 +866,14 @@ "cell_type": "code", "execution_count": null, "id": "0bba2439", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:45.528244Z", + "iopub.status.busy": "2023-07-26T05:17:45.528120Z", + "iopub.status.idle": "2023-07-26T05:17:46.372586Z", + "shell.execute_reply": "2023-07-26T05:17:46.372196Z" + } + }, "outputs": [], "source": [ "bag_boston = RF(max_features=X_train.shape[1],\n", @@ -721,7 +903,14 @@ "cell_type": "code", "execution_count": null, "id": "90457fbe", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:46.375077Z", + "iopub.status.busy": "2023-07-26T05:17:46.374893Z", + "iopub.status.idle": "2023-07-26T05:17:46.498984Z", + "shell.execute_reply": "2023-07-26T05:17:46.498519Z" + } + }, "outputs": [], "source": [ "RF_boston = RF(max_features=6,\n", @@ -745,7 +934,14 @@ "cell_type": "code", "execution_count": null, "id": "8aae1857", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:46.501498Z", + "iopub.status.busy": "2023-07-26T05:17:46.501332Z", + "iopub.status.idle": "2023-07-26T05:17:46.511203Z", + "shell.execute_reply": "2023-07-26T05:17:46.510809Z" + } + }, "outputs": [], "source": [ "feature_imp = pd.DataFrame(\n", @@ -795,7 +991,14 @@ "cell_type": "code", "execution_count": null, "id": "887b4fa9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:46.513662Z", + "iopub.status.busy": "2023-07-26T05:17:46.513485Z", + "iopub.status.idle": "2023-07-26T05:17:50.160797Z", + "shell.execute_reply": "2023-07-26T05:17:50.160288Z" + } + }, "outputs": [], "source": [ "boost_boston = GBR(n_estimators=5000,\n", @@ -819,7 +1022,14 @@ "cell_type": "code", "execution_count": null, "id": "6c56696c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:50.163556Z", + "iopub.status.busy": "2023-07-26T05:17:50.163389Z", + "iopub.status.idle": "2023-07-26T05:17:50.751622Z", + "shell.execute_reply": "2023-07-26T05:17:50.751113Z" + } + }, "outputs": [], "source": [ "test_error = np.zeros_like(boost_boston.train_score_)\n", @@ -851,7 +1061,14 @@ "cell_type": "code", "execution_count": null, "id": "8a636f63", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:50.753880Z", + "iopub.status.busy": "2023-07-26T05:17:50.753719Z", + "iopub.status.idle": "2023-07-26T05:17:50.765303Z", + "shell.execute_reply": "2023-07-26T05:17:50.764814Z" + } + }, "outputs": [], "source": [ "y_hat_boost = boost_boston.predict(X_test);\n", @@ -874,7 +1091,14 @@ "cell_type": "code", "execution_count": null, "id": "4e2ab3c7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:50.767698Z", + "iopub.status.busy": "2023-07-26T05:17:50.767534Z", + "iopub.status.idle": "2023-07-26T05:17:53.090781Z", + "shell.execute_reply": "2023-07-26T05:17:53.090355Z" + } + }, "outputs": [], "source": [ "boost_boston = GBR(n_estimators=5000,\n", @@ -920,7 +1144,14 @@ "cell_type": "code", "execution_count": null, "id": "b0b41c04", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:53.093602Z", + "iopub.status.busy": "2023-07-26T05:17:53.093377Z", + "iopub.status.idle": "2023-07-26T05:17:54.986360Z", + "shell.execute_reply": "2023-07-26T05:17:54.985944Z" + } + }, "outputs": [], "source": [ "bart_boston = BART(random_state=0, burnin=5, ndraw=15)\n", @@ -939,7 +1170,14 @@ "cell_type": "code", "execution_count": null, "id": "fda8fffc", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:54.988616Z", + "iopub.status.busy": "2023-07-26T05:17:54.988463Z", + "iopub.status.idle": "2023-07-26T05:17:55.919353Z", + "shell.execute_reply": "2023-07-26T05:17:55.918371Z" + } + }, "outputs": [], "source": [ "yhat_test = bart_boston.predict(X_test.astype(np.float32))\n", @@ -959,7 +1197,14 @@ "cell_type": "code", "execution_count": null, "id": "be77f0e4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:55.922114Z", + "iopub.status.busy": "2023-07-26T05:17:55.921834Z", + "iopub.status.idle": "2023-07-26T05:17:55.926261Z", + "shell.execute_reply": "2023-07-26T05:17:55.925458Z" + } + }, "outputs": [], "source": [ "var_inclusion = pd.Series(bart_boston.variable_inclusion_.mean(0),\n", @@ -973,6 +1218,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,md:myst", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, diff --git a/docs/source/labs/Ch9-svm-lab.ipynb b/docs/source/labs/Ch9-svm-lab.ipynb index 4a7215e..7d8ebe5 100644 --- a/docs/source/labs/Ch9-svm-lab.ipynb +++ b/docs/source/labs/Ch9-svm-lab.ipynb @@ -7,7 +7,7 @@ "source": [ "# Support Vector Machines\n", "\n", - "\n", + "\n", " \"Open\n", "\n", "\n", @@ -22,7 +22,14 @@ "cell_type": "code", "execution_count": null, "id": "eeaa5be0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:57.286672Z", + "iopub.status.busy": "2023-07-26T05:17:57.286340Z", + "iopub.status.idle": "2023-07-26T05:17:58.454461Z", + "shell.execute_reply": "2023-07-26T05:17:58.453915Z" + } + }, "outputs": [], "source": [ "import numpy as np\n", @@ -44,7 +51,14 @@ "cell_type": "code", "execution_count": null, "id": "41a59634", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:58.457424Z", + "iopub.status.busy": "2023-07-26T05:17:58.457095Z", + "iopub.status.idle": "2023-07-26T05:17:58.490405Z", + "shell.execute_reply": "2023-07-26T05:17:58.490061Z" + } + }, "outputs": [], "source": [ "from sklearn.svm import SVC\n", @@ -65,7 +79,14 @@ "cell_type": "code", "execution_count": null, "id": "c9a175d7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:58.493151Z", + "iopub.status.busy": "2023-07-26T05:17:58.492879Z", + "iopub.status.idle": "2023-07-26T05:17:58.496409Z", + "shell.execute_reply": "2023-07-26T05:17:58.495164Z" + } + }, "outputs": [], "source": [ "roc_curve = RocCurveDisplay.from_estimator # shorthand" @@ -98,7 +119,14 @@ "cell_type": "code", "execution_count": null, "id": "a7216b47", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:58.499025Z", + "iopub.status.busy": "2023-07-26T05:17:58.498850Z", + "iopub.status.idle": "2023-07-26T05:17:58.613732Z", + "shell.execute_reply": "2023-07-26T05:17:58.613136Z" + } + }, "outputs": [], "source": [ "rng = np.random.default_rng(1)\n", @@ -124,7 +152,14 @@ "cell_type": "code", "execution_count": null, "id": "ed329198", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:58.616777Z", + "iopub.status.busy": "2023-07-26T05:17:58.616601Z", + "iopub.status.idle": "2023-07-26T05:17:58.621468Z", + "shell.execute_reply": "2023-07-26T05:17:58.621124Z" + } + }, "outputs": [], "source": [ "svm_linear = SVC(C=10, kernel='linear')\n", @@ -146,7 +181,14 @@ "cell_type": "code", "execution_count": null, "id": "95494b8b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:58.623538Z", + "iopub.status.busy": "2023-07-26T05:17:58.623369Z", + "iopub.status.idle": "2023-07-26T05:17:58.810058Z", + "shell.execute_reply": "2023-07-26T05:17:58.809447Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", @@ -173,7 +215,14 @@ "cell_type": "code", "execution_count": null, "id": "98c2236f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:58.812870Z", + "iopub.status.busy": "2023-07-26T05:17:58.812658Z", + "iopub.status.idle": "2023-07-26T05:17:58.967044Z", + "shell.execute_reply": "2023-07-26T05:17:58.966462Z" + } + }, "outputs": [], "source": [ "svm_linear_small = SVC(C=0.1, kernel='linear')\n", @@ -200,7 +249,14 @@ "cell_type": "code", "execution_count": null, "id": "b498f594", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:58.969920Z", + "iopub.status.busy": "2023-07-26T05:17:58.969735Z", + "iopub.status.idle": "2023-07-26T05:17:58.973409Z", + "shell.execute_reply": "2023-07-26T05:17:58.972682Z" + } + }, "outputs": [], "source": [ "svm_linear.coef_" @@ -219,7 +275,14 @@ "cell_type": "code", "execution_count": null, "id": "b65e80d6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:58.975865Z", + "iopub.status.busy": "2023-07-26T05:17:58.975747Z", + "iopub.status.idle": "2023-07-26T05:17:59.006899Z", + "shell.execute_reply": "2023-07-26T05:17:59.006545Z" + } + }, "outputs": [], "source": [ "kfold = skm.KFold(5, \n", @@ -248,7 +311,14 @@ "cell_type": "code", "execution_count": null, "id": "bba8fad7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:59.010681Z", + "iopub.status.busy": "2023-07-26T05:17:59.010231Z", + "iopub.status.idle": "2023-07-26T05:17:59.014165Z", + "shell.execute_reply": "2023-07-26T05:17:59.013759Z" + } + }, "outputs": [], "source": [ "grid.cv_results_[('mean_test_score')]" @@ -270,7 +340,14 @@ "cell_type": "code", "execution_count": null, "id": "ad64269d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:59.017638Z", + "iopub.status.busy": "2023-07-26T05:17:59.017453Z", + "iopub.status.idle": "2023-07-26T05:17:59.020397Z", + "shell.execute_reply": "2023-07-26T05:17:59.019642Z" + } + }, "outputs": [], "source": [ "X_test = rng.standard_normal((20, 2))\n", @@ -292,7 +369,14 @@ "cell_type": "code", "execution_count": null, "id": "5107fca1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:59.026576Z", + "iopub.status.busy": "2023-07-26T05:17:59.026365Z", + "iopub.status.idle": "2023-07-26T05:17:59.033664Z", + "shell.execute_reply": "2023-07-26T05:17:59.033173Z" + } + }, "outputs": [], "source": [ "best_ = grid.best_estimator_\n", @@ -315,7 +399,14 @@ "cell_type": "code", "execution_count": null, "id": "0320d9e0", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:59.035936Z", + "iopub.status.busy": "2023-07-26T05:17:59.035645Z", + "iopub.status.idle": "2023-07-26T05:17:59.041475Z", + "shell.execute_reply": "2023-07-26T05:17:59.041054Z" + } + }, "outputs": [], "source": [ "svm_ = SVC(C=0.001,\n", @@ -342,7 +433,14 @@ "cell_type": "code", "execution_count": null, "id": "84d7e778", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:59.043762Z", + "iopub.status.busy": "2023-07-26T05:17:59.043557Z", + "iopub.status.idle": "2023-07-26T05:17:59.144334Z", + "shell.execute_reply": "2023-07-26T05:17:59.143881Z" + } + }, "outputs": [], "source": [ "X[y==1] += 1.9;\n", @@ -362,7 +460,14 @@ "cell_type": "code", "execution_count": null, "id": "abb1f8be", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:59.147029Z", + "iopub.status.busy": "2023-07-26T05:17:59.146868Z", + "iopub.status.idle": "2023-07-26T05:17:59.154787Z", + "shell.execute_reply": "2023-07-26T05:17:59.153508Z" + } + }, "outputs": [], "source": [ "svm_ = SVC(C=1e5, kernel='linear').fit(X, y)\n", @@ -385,7 +490,14 @@ "cell_type": "code", "execution_count": null, "id": "2e4ed2f5", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:59.157293Z", + "iopub.status.busy": "2023-07-26T05:17:59.157100Z", + "iopub.status.idle": "2023-07-26T05:17:59.287805Z", + "shell.execute_reply": "2023-07-26T05:17:59.287264Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", @@ -411,7 +523,14 @@ "cell_type": "code", "execution_count": null, "id": "164a611c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:59.291112Z", + "iopub.status.busy": "2023-07-26T05:17:59.290933Z", + "iopub.status.idle": "2023-07-26T05:17:59.296989Z", + "shell.execute_reply": "2023-07-26T05:17:59.296618Z" + } + }, "outputs": [], "source": [ "svm_ = SVC(C=0.1, kernel='linear').fit(X, y)\n", @@ -434,7 +553,14 @@ "cell_type": "code", "execution_count": null, "id": "c67591a1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:59.299723Z", + "iopub.status.busy": "2023-07-26T05:17:59.299515Z", + "iopub.status.idle": "2023-07-26T05:17:59.442236Z", + "shell.execute_reply": "2023-07-26T05:17:59.441618Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", @@ -468,7 +594,14 @@ "cell_type": "code", "execution_count": null, "id": "322be574", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:59.445260Z", + "iopub.status.busy": "2023-07-26T05:17:59.445043Z", + "iopub.status.idle": "2023-07-26T05:17:59.448424Z", + "shell.execute_reply": "2023-07-26T05:17:59.447969Z" + } + }, "outputs": [], "source": [ "X = rng.standard_normal((200, 2))\n", @@ -489,7 +622,14 @@ "cell_type": "code", "execution_count": null, "id": "04fda182", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:59.451843Z", + "iopub.status.busy": "2023-07-26T05:17:59.451105Z", + "iopub.status.idle": "2023-07-26T05:17:59.552259Z", + "shell.execute_reply": "2023-07-26T05:17:59.551787Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", @@ -513,7 +653,14 @@ "cell_type": "code", "execution_count": null, "id": "0c2690d1", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:59.554419Z", + "iopub.status.busy": "2023-07-26T05:17:59.554263Z", + "iopub.status.idle": "2023-07-26T05:17:59.559300Z", + "shell.execute_reply": "2023-07-26T05:17:59.558839Z" + } + }, "outputs": [], "source": [ "(X_train, \n", @@ -540,7 +687,14 @@ "cell_type": "code", "execution_count": null, "id": "3eb171e8", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:59.561548Z", + "iopub.status.busy": "2023-07-26T05:17:59.561354Z", + "iopub.status.idle": "2023-07-26T05:17:59.836831Z", + "shell.execute_reply": "2023-07-26T05:17:59.836408Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", @@ -566,7 +720,14 @@ "cell_type": "code", "execution_count": null, "id": "9a6b905b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:17:59.839191Z", + "iopub.status.busy": "2023-07-26T05:17:59.838970Z", + "iopub.status.idle": "2023-07-26T05:18:00.004302Z", + "shell.execute_reply": "2023-07-26T05:18:00.003731Z" + } + }, "outputs": [], "source": [ "svm_rbf = SVC(kernel=\"rbf\", gamma=1, C=1e5)\n", @@ -592,7 +753,14 @@ "cell_type": "code", "execution_count": null, "id": "5ab01d6c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:00.007020Z", + "iopub.status.busy": "2023-07-26T05:18:00.006845Z", + "iopub.status.idle": "2023-07-26T05:18:00.113455Z", + "shell.execute_reply": "2023-07-26T05:18:00.112946Z" + } + }, "outputs": [], "source": [ "kfold = skm.KFold(5, \n", @@ -622,7 +790,14 @@ "cell_type": "code", "execution_count": null, "id": "166a6acb", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:00.116122Z", + "iopub.status.busy": "2023-07-26T05:18:00.115942Z", + "iopub.status.idle": "2023-07-26T05:18:00.360989Z", + "shell.execute_reply": "2023-07-26T05:18:00.360361Z" + } + }, "outputs": [], "source": [ "best_svm = grid.best_estimator_\n", @@ -682,7 +857,14 @@ "cell_type": "code", "execution_count": null, "id": "0607fc41", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:00.363471Z", + "iopub.status.busy": "2023-07-26T05:18:00.363318Z", + "iopub.status.idle": "2023-07-26T05:18:00.469265Z", + "shell.execute_reply": "2023-07-26T05:18:00.468690Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", @@ -708,7 +890,14 @@ "cell_type": "code", "execution_count": null, "id": "5211a882", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:00.471742Z", + "iopub.status.busy": "2023-07-26T05:18:00.471575Z", + "iopub.status.idle": "2023-07-26T05:18:00.629647Z", + "shell.execute_reply": "2023-07-26T05:18:00.629119Z" + } + }, "outputs": [], "source": [ "svm_flex = SVC(kernel=\"rbf\", \n", @@ -739,7 +928,14 @@ "cell_type": "code", "execution_count": null, "id": "12acc4ff", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:00.632175Z", + "iopub.status.busy": "2023-07-26T05:18:00.631994Z", + "iopub.status.idle": "2023-07-26T05:18:00.636710Z", + "shell.execute_reply": "2023-07-26T05:18:00.636238Z" + } + }, "outputs": [], "source": [ "roc_curve(svm_flex,\n", @@ -763,7 +959,14 @@ "cell_type": "code", "execution_count": null, "id": "21c81913", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:00.639004Z", + "iopub.status.busy": "2023-07-26T05:18:00.638813Z", + "iopub.status.idle": "2023-07-26T05:18:00.753454Z", + "shell.execute_reply": "2023-07-26T05:18:00.752986Z" + } + }, "outputs": [], "source": [ "fig, ax = subplots(figsize=(8,8))\n", @@ -800,7 +1003,14 @@ "cell_type": "code", "execution_count": null, "id": "2fff4fa8", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:00.756116Z", + "iopub.status.busy": "2023-07-26T05:18:00.755939Z", + "iopub.status.idle": "2023-07-26T05:18:00.855998Z", + "shell.execute_reply": "2023-07-26T05:18:00.855206Z" + } + }, "outputs": [], "source": [ "rng = np.random.default_rng(123)\n", @@ -823,7 +1033,14 @@ "cell_type": "code", "execution_count": null, "id": "5396f2df", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:00.861579Z", + "iopub.status.busy": "2023-07-26T05:18:00.861401Z", + "iopub.status.idle": "2023-07-26T05:18:01.455936Z", + "shell.execute_reply": "2023-07-26T05:18:01.455227Z" + } + }, "outputs": [], "source": [ "svm_rbf_3 = SVC(kernel=\"rbf\",\n", @@ -868,7 +1085,14 @@ "cell_type": "code", "execution_count": null, "id": "f63c575e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:01.458214Z", + "iopub.status.busy": "2023-07-26T05:18:01.458015Z", + "iopub.status.idle": "2023-07-26T05:18:01.539063Z", + "shell.execute_reply": "2023-07-26T05:18:01.538275Z" + } + }, "outputs": [], "source": [ "Khan = load_data('Khan')\n", @@ -896,7 +1120,14 @@ "cell_type": "code", "execution_count": null, "id": "32091338", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:01.541953Z", + "iopub.status.busy": "2023-07-26T05:18:01.541758Z", + "iopub.status.idle": "2023-07-26T05:18:01.578259Z", + "shell.execute_reply": "2023-07-26T05:18:01.577863Z" + } + }, "outputs": [], "source": [ "khan_linear = SVC(kernel='linear', C=10)\n", @@ -922,7 +1153,14 @@ "cell_type": "code", "execution_count": null, "id": "d9058023", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-07-26T05:18:01.582842Z", + "iopub.status.busy": "2023-07-26T05:18:01.582631Z", + "iopub.status.idle": "2023-07-26T05:18:01.598298Z", + "shell.execute_reply": "2023-07-26T05:18:01.597510Z" + } + }, "outputs": [], "source": [ "confusion_table(khan_linear.predict(Khan['xtest']),\n", @@ -943,6 +1181,18 @@ "cell_metadata_filter": "-all", "formats": "ipynb,md:myst", "main_language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" } }, "nbformat": 4, From 5cccd68ff59c1717800d6f162aa26a401c4a2d36 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Wed, 26 Jul 2023 09:25:49 -0400 Subject: [PATCH 050/195] update readthedocs --- .readthedocs.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 3655b23..3bd28b2 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -12,7 +12,13 @@ build: python: "3.9" apt_packages: - r-base - + jobs: + pre_install: + - python docs/fix_and_run_notebooks.py + +submodules: + include: all + # Build documentation in the docs/ directory with Sphinx sphinx: configuration: docs/source/conf.py From b1ac032df7baa3081400736448409df7e242f3ba Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Wed, 26 Jul 2023 09:40:37 -0400 Subject: [PATCH 051/195] make it pre_build instead of pre_install --- .readthedocs.yaml | 3 ++- docs/fix_and_run_notebooks.py | 15 +++++++++------ docs/source/installation.myst | 4 ++-- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 3bd28b2..901b279 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -13,7 +13,8 @@ build: apt_packages: - r-base jobs: - pre_install: + pre_build: + - pip install nbformat - python docs/fix_and_run_notebooks.py submodules: diff --git a/docs/fix_and_run_notebooks.py b/docs/fix_and_run_notebooks.py index 13d7f51..12dc0a0 100644 --- a/docs/fix_and_run_notebooks.py +++ b/docs/fix_and_run_notebooks.py @@ -1,21 +1,24 @@ import os, nbformat from glob import glob -for f in glob('source/labs/Ch14*'): +import __main__ +dirname = os.path.split(__main__.__file__)[0] + +for f in glob(os.path.join(dirname, 'source', 'labs', 'Ch14*')): os.remove(f) version = 'v1' main = 'main' os.system(f''' -cd ISLP_labs; +cd {dirname}/ISLP_labs; git checkout {version}; -cp * ../source/labs; +cp * {dirname}/source/labs; git checkout {main}; -pip install -r ../source/labs/frozen_requirements.txt; -pip install -r ../source/labs/torch_requirements.txt; +pip install -r {dirname}/source/labs/frozen_requirements.txt; +pip install -r {dirname}/source/labs/torch_requirements.txt; ''') -for nbfile in glob('source/labs/*nb'): +for nbfile in glob(os.path.join(dirname, 'source', 'labs', '*nb')): base = os.path.splitext(nbfile)[0] labname = os.path.split(base)[1] diff --git a/docs/source/installation.myst b/docs/source/installation.myst index a1aaf6d..054cee6 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -61,7 +61,7 @@ To ensure you have the same package versions as those built here, run: --- tags: [skip-execution] --- -pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/frozen_requirements.txt +pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v1/frozen_requirements.txt ``` ## Torch requirements @@ -84,7 +84,7 @@ current verisons of the labs. --- tags: [skip-execution] --- -pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/torch_requirements.txt +pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v1/torch_requirements.txt ``` ## Jupyter From 500715b045d34cf4026a0254cfe7850a7005fb44 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Wed, 26 Jul 2023 09:50:50 -0400 Subject: [PATCH 052/195] adding jupytext --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 901b279..bf4c424 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -14,7 +14,7 @@ build: - r-base jobs: pre_build: - - pip install nbformat + - pip install nbformat jupytext - python docs/fix_and_run_notebooks.py submodules: From d147f5102c0c6c6deb59ad2cc1d234daf0f98a57 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Wed, 26 Jul 2023 10:32:52 -0400 Subject: [PATCH 053/195] removing labs from library repo, they are in a submodule --- docs/fix_and_run_notebooks.py | 9 +- docs/source/labs/Auto.csv | 393 - docs/source/labs/Auto.data | 398 - docs/source/labs/Ch10-deeplearning-lab.ipynb | 9973 ----------------- docs/source/labs/Ch11-surv-lab.ipynb | 1185 -- docs/source/labs/Ch12-unsup-lab.ipynb | 1989 ---- docs/source/labs/Ch13-multiple-lab.ipynb | 1150 -- docs/source/labs/Ch14-surv-lab.ipynb | 995 -- docs/source/labs/Ch2-statlearn-lab.ipynb | 3586 ------ docs/source/labs/Ch3-linreg-lab.ipynb | 1321 --- docs/source/labs/Ch4-classification-lab.ipynb | 2633 ----- docs/source/labs/Ch5-resample-lab.ipynb | 1064 -- docs/source/labs/Ch6-varselect-lab.ipynb | 2025 ---- docs/source/labs/Ch7-nonlin-lab.ipynb | 1789 --- docs/source/labs/Ch8-baggboost-lab.ipynb | 1237 -- docs/source/labs/Ch9-svm-lab.ipynb | 1200 -- 16 files changed, 6 insertions(+), 30941 deletions(-) delete mode 100644 docs/source/labs/Auto.csv delete mode 100644 docs/source/labs/Auto.data delete mode 100644 docs/source/labs/Ch10-deeplearning-lab.ipynb delete mode 100644 docs/source/labs/Ch11-surv-lab.ipynb delete mode 100644 docs/source/labs/Ch12-unsup-lab.ipynb delete mode 100644 docs/source/labs/Ch13-multiple-lab.ipynb delete mode 100644 docs/source/labs/Ch14-surv-lab.ipynb delete mode 100644 docs/source/labs/Ch2-statlearn-lab.ipynb delete mode 100644 docs/source/labs/Ch3-linreg-lab.ipynb delete mode 100644 docs/source/labs/Ch4-classification-lab.ipynb delete mode 100644 docs/source/labs/Ch5-resample-lab.ipynb delete mode 100644 docs/source/labs/Ch6-varselect-lab.ipynb delete mode 100644 docs/source/labs/Ch7-nonlin-lab.ipynb delete mode 100644 docs/source/labs/Ch8-baggboost-lab.ipynb delete mode 100644 docs/source/labs/Ch9-svm-lab.ipynb diff --git a/docs/fix_and_run_notebooks.py b/docs/fix_and_run_notebooks.py index 12dc0a0..de76437 100644 --- a/docs/fix_and_run_notebooks.py +++ b/docs/fix_and_run_notebooks.py @@ -3,19 +3,22 @@ import __main__ dirname = os.path.split(__main__.__file__)[0] +print(dirname) for f in glob(os.path.join(dirname, 'source', 'labs', 'Ch14*')): os.remove(f) - + print(f) + stop + version = 'v1' main = 'main' os.system(f''' cd {dirname}/ISLP_labs; git checkout {version}; -cp * {dirname}/source/labs; +mkdir -p {dirname}/source/labs; +cp -r * {dirname}/source/labs; git checkout {main}; pip install -r {dirname}/source/labs/frozen_requirements.txt; -pip install -r {dirname}/source/labs/torch_requirements.txt; ''') for nbfile in glob(os.path.join(dirname, 'source', 'labs', '*nb')): diff --git a/docs/source/labs/Auto.csv b/docs/source/labs/Auto.csv deleted file mode 100644 index 78a4921..0000000 --- a/docs/source/labs/Auto.csv +++ /dev/null @@ -1,393 +0,0 @@ -mpg,cylinders,displacement,horsepower,weight,acceleration,year,origin,name -18.0,8,307.0,130,3504,12.0,70,1,chevrolet chevelle malibu -15.0,8,350.0,165,3693,11.5,70,1,buick skylark 320 -18.0,8,318.0,150,3436,11.0,70,1,plymouth satellite -16.0,8,304.0,150,3433,12.0,70,1,amc rebel sst -17.0,8,302.0,140,3449,10.5,70,1,ford torino -15.0,8,429.0,198,4341,10.0,70,1,ford galaxie 500 -14.0,8,454.0,220,4354,9.0,70,1,chevrolet impala -14.0,8,440.0,215,4312,8.5,70,1,plymouth fury iii -14.0,8,455.0,225,4425,10.0,70,1,pontiac catalina -15.0,8,390.0,190,3850,8.5,70,1,amc ambassador dpl -15.0,8,383.0,170,3563,10.0,70,1,dodge challenger se -14.0,8,340.0,160,3609,8.0,70,1,plymouth 'cuda 340 -15.0,8,400.0,150,3761,9.5,70,1,chevrolet monte carlo -14.0,8,455.0,225,3086,10.0,70,1,buick estate wagon (sw) -24.0,4,113.0,95,2372,15.0,70,3,toyota corona mark ii -22.0,6,198.0,95,2833,15.5,70,1,plymouth duster -18.0,6,199.0,97,2774,15.5,70,1,amc hornet -21.0,6,200.0,85,2587,16.0,70,1,ford maverick -27.0,4,97.0,88,2130,14.5,70,3,datsun pl510 -26.0,4,97.0,46,1835,20.5,70,2,volkswagen 1131 deluxe sedan -25.0,4,110.0,87,2672,17.5,70,2,peugeot 504 -24.0,4,107.0,90,2430,14.5,70,2,audi 100 ls -25.0,4,104.0,95,2375,17.5,70,2,saab 99e -26.0,4,121.0,113,2234,12.5,70,2,bmw 2002 -21.0,6,199.0,90,2648,15.0,70,1,amc gremlin -10.0,8,360.0,215,4615,14.0,70,1,ford f250 -10.0,8,307.0,200,4376,15.0,70,1,chevy c20 -11.0,8,318.0,210,4382,13.5,70,1,dodge d200 -9.0,8,304.0,193,4732,18.5,70,1,hi 1200d -27.0,4,97.0,88,2130,14.5,71,3,datsun pl510 -28.0,4,140.0,90,2264,15.5,71,1,chevrolet vega 2300 -25.0,4,113.0,95,2228,14.0,71,3,toyota corona -19.0,6,232.0,100,2634,13.0,71,1,amc gremlin -16.0,6,225.0,105,3439,15.5,71,1,plymouth satellite custom -17.0,6,250.0,100,3329,15.5,71,1,chevrolet chevelle malibu -19.0,6,250.0,88,3302,15.5,71,1,ford torino 500 -18.0,6,232.0,100,3288,15.5,71,1,amc matador -14.0,8,350.0,165,4209,12.0,71,1,chevrolet impala -14.0,8,400.0,175,4464,11.5,71,1,pontiac catalina brougham -14.0,8,351.0,153,4154,13.5,71,1,ford galaxie 500 -14.0,8,318.0,150,4096,13.0,71,1,plymouth fury iii -12.0,8,383.0,180,4955,11.5,71,1,dodge monaco (sw) -13.0,8,400.0,170,4746,12.0,71,1,ford country squire (sw) -13.0,8,400.0,175,5140,12.0,71,1,pontiac safari (sw) -18.0,6,258.0,110,2962,13.5,71,1,amc hornet sportabout (sw) -22.0,4,140.0,72,2408,19.0,71,1,chevrolet vega (sw) -19.0,6,250.0,100,3282,15.0,71,1,pontiac firebird -18.0,6,250.0,88,3139,14.5,71,1,ford mustang -23.0,4,122.0,86,2220,14.0,71,1,mercury capri 2000 -28.0,4,116.0,90,2123,14.0,71,2,opel 1900 -30.0,4,79.0,70,2074,19.5,71,2,peugeot 304 -30.0,4,88.0,76,2065,14.5,71,2,fiat 124b -31.0,4,71.0,65,1773,19.0,71,3,toyota corolla 1200 -35.0,4,72.0,69,1613,18.0,71,3,datsun 1200 -27.0,4,97.0,60,1834,19.0,71,2,volkswagen model 111 -26.0,4,91.0,70,1955,20.5,71,1,plymouth cricket -24.0,4,113.0,95,2278,15.5,72,3,toyota corona hardtop -25.0,4,97.5,80,2126,17.0,72,1,dodge colt hardtop -23.0,4,97.0,54,2254,23.5,72,2,volkswagen type 3 -20.0,4,140.0,90,2408,19.5,72,1,chevrolet vega -21.0,4,122.0,86,2226,16.5,72,1,ford pinto runabout -13.0,8,350.0,165,4274,12.0,72,1,chevrolet impala -14.0,8,400.0,175,4385,12.0,72,1,pontiac catalina -15.0,8,318.0,150,4135,13.5,72,1,plymouth fury iii -14.0,8,351.0,153,4129,13.0,72,1,ford galaxie 500 -17.0,8,304.0,150,3672,11.5,72,1,amc ambassador sst -11.0,8,429.0,208,4633,11.0,72,1,mercury marquis -13.0,8,350.0,155,4502,13.5,72,1,buick lesabre custom -12.0,8,350.0,160,4456,13.5,72,1,oldsmobile delta 88 royale -13.0,8,400.0,190,4422,12.5,72,1,chrysler newport royal -19.0,3,70.0,97,2330,13.5,72,3,mazda rx2 coupe -15.0,8,304.0,150,3892,12.5,72,1,amc matador (sw) -13.0,8,307.0,130,4098,14.0,72,1,chevrolet chevelle concours (sw) -13.0,8,302.0,140,4294,16.0,72,1,ford gran torino (sw) -14.0,8,318.0,150,4077,14.0,72,1,plymouth satellite custom (sw) -18.0,4,121.0,112,2933,14.5,72,2,volvo 145e (sw) -22.0,4,121.0,76,2511,18.0,72,2,volkswagen 411 (sw) -21.0,4,120.0,87,2979,19.5,72,2,peugeot 504 (sw) -26.0,4,96.0,69,2189,18.0,72,2,renault 12 (sw) -22.0,4,122.0,86,2395,16.0,72,1,ford pinto (sw) -28.0,4,97.0,92,2288,17.0,72,3,datsun 510 (sw) -23.0,4,120.0,97,2506,14.5,72,3,toyouta corona mark ii (sw) -28.0,4,98.0,80,2164,15.0,72,1,dodge colt (sw) -27.0,4,97.0,88,2100,16.5,72,3,toyota corolla 1600 (sw) -13.0,8,350.0,175,4100,13.0,73,1,buick century 350 -14.0,8,304.0,150,3672,11.5,73,1,amc matador -13.0,8,350.0,145,3988,13.0,73,1,chevrolet malibu -14.0,8,302.0,137,4042,14.5,73,1,ford gran torino -15.0,8,318.0,150,3777,12.5,73,1,dodge coronet custom -12.0,8,429.0,198,4952,11.5,73,1,mercury marquis brougham -13.0,8,400.0,150,4464,12.0,73,1,chevrolet caprice classic -13.0,8,351.0,158,4363,13.0,73,1,ford ltd -14.0,8,318.0,150,4237,14.5,73,1,plymouth fury gran sedan -13.0,8,440.0,215,4735,11.0,73,1,chrysler new yorker brougham -12.0,8,455.0,225,4951,11.0,73,1,buick electra 225 custom -13.0,8,360.0,175,3821,11.0,73,1,amc ambassador brougham -18.0,6,225.0,105,3121,16.5,73,1,plymouth valiant -16.0,6,250.0,100,3278,18.0,73,1,chevrolet nova custom -18.0,6,232.0,100,2945,16.0,73,1,amc hornet -18.0,6,250.0,88,3021,16.5,73,1,ford maverick -23.0,6,198.0,95,2904,16.0,73,1,plymouth duster -26.0,4,97.0,46,1950,21.0,73,2,volkswagen super beetle -11.0,8,400.0,150,4997,14.0,73,1,chevrolet impala -12.0,8,400.0,167,4906,12.5,73,1,ford country -13.0,8,360.0,170,4654,13.0,73,1,plymouth custom suburb -12.0,8,350.0,180,4499,12.5,73,1,oldsmobile vista cruiser -18.0,6,232.0,100,2789,15.0,73,1,amc gremlin -20.0,4,97.0,88,2279,19.0,73,3,toyota carina -21.0,4,140.0,72,2401,19.5,73,1,chevrolet vega -22.0,4,108.0,94,2379,16.5,73,3,datsun 610 -18.0,3,70.0,90,2124,13.5,73,3,maxda rx3 -19.0,4,122.0,85,2310,18.5,73,1,ford pinto -21.0,6,155.0,107,2472,14.0,73,1,mercury capri v6 -26.0,4,98.0,90,2265,15.5,73,2,fiat 124 sport coupe -15.0,8,350.0,145,4082,13.0,73,1,chevrolet monte carlo s -16.0,8,400.0,230,4278,9.5,73,1,pontiac grand prix -29.0,4,68.0,49,1867,19.5,73,2,fiat 128 -24.0,4,116.0,75,2158,15.5,73,2,opel manta -20.0,4,114.0,91,2582,14.0,73,2,audi 100ls -19.0,4,121.0,112,2868,15.5,73,2,volvo 144ea -15.0,8,318.0,150,3399,11.0,73,1,dodge dart custom -24.0,4,121.0,110,2660,14.0,73,2,saab 99le -20.0,6,156.0,122,2807,13.5,73,3,toyota mark ii -11.0,8,350.0,180,3664,11.0,73,1,oldsmobile omega -20.0,6,198.0,95,3102,16.5,74,1,plymouth duster -19.0,6,232.0,100,2901,16.0,74,1,amc hornet -15.0,6,250.0,100,3336,17.0,74,1,chevrolet nova -31.0,4,79.0,67,1950,19.0,74,3,datsun b210 -26.0,4,122.0,80,2451,16.5,74,1,ford pinto -32.0,4,71.0,65,1836,21.0,74,3,toyota corolla 1200 -25.0,4,140.0,75,2542,17.0,74,1,chevrolet vega -16.0,6,250.0,100,3781,17.0,74,1,chevrolet chevelle malibu classic -16.0,6,258.0,110,3632,18.0,74,1,amc matador -18.0,6,225.0,105,3613,16.5,74,1,plymouth satellite sebring -16.0,8,302.0,140,4141,14.0,74,1,ford gran torino -13.0,8,350.0,150,4699,14.5,74,1,buick century luxus (sw) -14.0,8,318.0,150,4457,13.5,74,1,dodge coronet custom (sw) -14.0,8,302.0,140,4638,16.0,74,1,ford gran torino (sw) -14.0,8,304.0,150,4257,15.5,74,1,amc matador (sw) -29.0,4,98.0,83,2219,16.5,74,2,audi fox -26.0,4,79.0,67,1963,15.5,74,2,volkswagen dasher -26.0,4,97.0,78,2300,14.5,74,2,opel manta -31.0,4,76.0,52,1649,16.5,74,3,toyota corona -32.0,4,83.0,61,2003,19.0,74,3,datsun 710 -28.0,4,90.0,75,2125,14.5,74,1,dodge colt -24.0,4,90.0,75,2108,15.5,74,2,fiat 128 -26.0,4,116.0,75,2246,14.0,74,2,fiat 124 tc -24.0,4,120.0,97,2489,15.0,74,3,honda civic -26.0,4,108.0,93,2391,15.5,74,3,subaru -31.0,4,79.0,67,2000,16.0,74,2,fiat x1.9 -19.0,6,225.0,95,3264,16.0,75,1,plymouth valiant custom -18.0,6,250.0,105,3459,16.0,75,1,chevrolet nova -15.0,6,250.0,72,3432,21.0,75,1,mercury monarch -15.0,6,250.0,72,3158,19.5,75,1,ford maverick -16.0,8,400.0,170,4668,11.5,75,1,pontiac catalina -15.0,8,350.0,145,4440,14.0,75,1,chevrolet bel air -16.0,8,318.0,150,4498,14.5,75,1,plymouth grand fury -14.0,8,351.0,148,4657,13.5,75,1,ford ltd -17.0,6,231.0,110,3907,21.0,75,1,buick century -16.0,6,250.0,105,3897,18.5,75,1,chevroelt chevelle malibu -15.0,6,258.0,110,3730,19.0,75,1,amc matador -18.0,6,225.0,95,3785,19.0,75,1,plymouth fury -21.0,6,231.0,110,3039,15.0,75,1,buick skyhawk -20.0,8,262.0,110,3221,13.5,75,1,chevrolet monza 2+2 -13.0,8,302.0,129,3169,12.0,75,1,ford mustang ii -29.0,4,97.0,75,2171,16.0,75,3,toyota corolla -23.0,4,140.0,83,2639,17.0,75,1,ford pinto -20.0,6,232.0,100,2914,16.0,75,1,amc gremlin -23.0,4,140.0,78,2592,18.5,75,1,pontiac astro -24.0,4,134.0,96,2702,13.5,75,3,toyota corona -25.0,4,90.0,71,2223,16.5,75,2,volkswagen dasher -24.0,4,119.0,97,2545,17.0,75,3,datsun 710 -18.0,6,171.0,97,2984,14.5,75,1,ford pinto -29.0,4,90.0,70,1937,14.0,75,2,volkswagen rabbit -19.0,6,232.0,90,3211,17.0,75,1,amc pacer -23.0,4,115.0,95,2694,15.0,75,2,audi 100ls -23.0,4,120.0,88,2957,17.0,75,2,peugeot 504 -22.0,4,121.0,98,2945,14.5,75,2,volvo 244dl -25.0,4,121.0,115,2671,13.5,75,2,saab 99le -33.0,4,91.0,53,1795,17.5,75,3,honda civic cvcc -28.0,4,107.0,86,2464,15.5,76,2,fiat 131 -25.0,4,116.0,81,2220,16.9,76,2,opel 1900 -25.0,4,140.0,92,2572,14.9,76,1,capri ii -26.0,4,98.0,79,2255,17.7,76,1,dodge colt -27.0,4,101.0,83,2202,15.3,76,2,renault 12tl -17.5,8,305.0,140,4215,13.0,76,1,chevrolet chevelle malibu classic -16.0,8,318.0,150,4190,13.0,76,1,dodge coronet brougham -15.5,8,304.0,120,3962,13.9,76,1,amc matador -14.5,8,351.0,152,4215,12.8,76,1,ford gran torino -22.0,6,225.0,100,3233,15.4,76,1,plymouth valiant -22.0,6,250.0,105,3353,14.5,76,1,chevrolet nova -24.0,6,200.0,81,3012,17.6,76,1,ford maverick -22.5,6,232.0,90,3085,17.6,76,1,amc hornet -29.0,4,85.0,52,2035,22.2,76,1,chevrolet chevette -24.5,4,98.0,60,2164,22.1,76,1,chevrolet woody -29.0,4,90.0,70,1937,14.2,76,2,vw rabbit -33.0,4,91.0,53,1795,17.4,76,3,honda civic -20.0,6,225.0,100,3651,17.7,76,1,dodge aspen se -18.0,6,250.0,78,3574,21.0,76,1,ford granada ghia -18.5,6,250.0,110,3645,16.2,76,1,pontiac ventura sj -17.5,6,258.0,95,3193,17.8,76,1,amc pacer d/l -29.5,4,97.0,71,1825,12.2,76,2,volkswagen rabbit -32.0,4,85.0,70,1990,17.0,76,3,datsun b-210 -28.0,4,97.0,75,2155,16.4,76,3,toyota corolla -26.5,4,140.0,72,2565,13.6,76,1,ford pinto -20.0,4,130.0,102,3150,15.7,76,2,volvo 245 -13.0,8,318.0,150,3940,13.2,76,1,plymouth volare premier v8 -19.0,4,120.0,88,3270,21.9,76,2,peugeot 504 -19.0,6,156.0,108,2930,15.5,76,3,toyota mark ii -16.5,6,168.0,120,3820,16.7,76,2,mercedes-benz 280s -16.5,8,350.0,180,4380,12.1,76,1,cadillac seville -13.0,8,350.0,145,4055,12.0,76,1,chevy c10 -13.0,8,302.0,130,3870,15.0,76,1,ford f108 -13.0,8,318.0,150,3755,14.0,76,1,dodge d100 -31.5,4,98.0,68,2045,18.5,77,3,honda accord cvcc -30.0,4,111.0,80,2155,14.8,77,1,buick opel isuzu deluxe -36.0,4,79.0,58,1825,18.6,77,2,renault 5 gtl -25.5,4,122.0,96,2300,15.5,77,1,plymouth arrow gs -33.5,4,85.0,70,1945,16.8,77,3,datsun f-10 hatchback -17.5,8,305.0,145,3880,12.5,77,1,chevrolet caprice classic -17.0,8,260.0,110,4060,19.0,77,1,oldsmobile cutlass supreme -15.5,8,318.0,145,4140,13.7,77,1,dodge monaco brougham -15.0,8,302.0,130,4295,14.9,77,1,mercury cougar brougham -17.5,6,250.0,110,3520,16.4,77,1,chevrolet concours -20.5,6,231.0,105,3425,16.9,77,1,buick skylark -19.0,6,225.0,100,3630,17.7,77,1,plymouth volare custom -18.5,6,250.0,98,3525,19.0,77,1,ford granada -16.0,8,400.0,180,4220,11.1,77,1,pontiac grand prix lj -15.5,8,350.0,170,4165,11.4,77,1,chevrolet monte carlo landau -15.5,8,400.0,190,4325,12.2,77,1,chrysler cordoba -16.0,8,351.0,149,4335,14.5,77,1,ford thunderbird -29.0,4,97.0,78,1940,14.5,77,2,volkswagen rabbit custom -24.5,4,151.0,88,2740,16.0,77,1,pontiac sunbird coupe -26.0,4,97.0,75,2265,18.2,77,3,toyota corolla liftback -25.5,4,140.0,89,2755,15.8,77,1,ford mustang ii 2+2 -30.5,4,98.0,63,2051,17.0,77,1,chevrolet chevette -33.5,4,98.0,83,2075,15.9,77,1,dodge colt m/m -30.0,4,97.0,67,1985,16.4,77,3,subaru dl -30.5,4,97.0,78,2190,14.1,77,2,volkswagen dasher -22.0,6,146.0,97,2815,14.5,77,3,datsun 810 -21.5,4,121.0,110,2600,12.8,77,2,bmw 320i -21.5,3,80.0,110,2720,13.5,77,3,mazda rx-4 -43.1,4,90.0,48,1985,21.5,78,2,volkswagen rabbit custom diesel -36.1,4,98.0,66,1800,14.4,78,1,ford fiesta -32.8,4,78.0,52,1985,19.4,78,3,mazda glc deluxe -39.4,4,85.0,70,2070,18.6,78,3,datsun b210 gx -36.1,4,91.0,60,1800,16.4,78,3,honda civic cvcc -19.9,8,260.0,110,3365,15.5,78,1,oldsmobile cutlass salon brougham -19.4,8,318.0,140,3735,13.2,78,1,dodge diplomat -20.2,8,302.0,139,3570,12.8,78,1,mercury monarch ghia -19.2,6,231.0,105,3535,19.2,78,1,pontiac phoenix lj -20.5,6,200.0,95,3155,18.2,78,1,chevrolet malibu -20.2,6,200.0,85,2965,15.8,78,1,ford fairmont (auto) -25.1,4,140.0,88,2720,15.4,78,1,ford fairmont (man) -20.5,6,225.0,100,3430,17.2,78,1,plymouth volare -19.4,6,232.0,90,3210,17.2,78,1,amc concord -20.6,6,231.0,105,3380,15.8,78,1,buick century special -20.8,6,200.0,85,3070,16.7,78,1,mercury zephyr -18.6,6,225.0,110,3620,18.7,78,1,dodge aspen -18.1,6,258.0,120,3410,15.1,78,1,amc concord d/l -19.2,8,305.0,145,3425,13.2,78,1,chevrolet monte carlo landau -17.7,6,231.0,165,3445,13.4,78,1,buick regal sport coupe (turbo) -18.1,8,302.0,139,3205,11.2,78,1,ford futura -17.5,8,318.0,140,4080,13.7,78,1,dodge magnum xe -30.0,4,98.0,68,2155,16.5,78,1,chevrolet chevette -27.5,4,134.0,95,2560,14.2,78,3,toyota corona -27.2,4,119.0,97,2300,14.7,78,3,datsun 510 -30.9,4,105.0,75,2230,14.5,78,1,dodge omni -21.1,4,134.0,95,2515,14.8,78,3,toyota celica gt liftback -23.2,4,156.0,105,2745,16.7,78,1,plymouth sapporo -23.8,4,151.0,85,2855,17.6,78,1,oldsmobile starfire sx -23.9,4,119.0,97,2405,14.9,78,3,datsun 200-sx -20.3,5,131.0,103,2830,15.9,78,2,audi 5000 -17.0,6,163.0,125,3140,13.6,78,2,volvo 264gl -21.6,4,121.0,115,2795,15.7,78,2,saab 99gle -16.2,6,163.0,133,3410,15.8,78,2,peugeot 604sl -31.5,4,89.0,71,1990,14.9,78,2,volkswagen scirocco -29.5,4,98.0,68,2135,16.6,78,3,honda accord lx -21.5,6,231.0,115,3245,15.4,79,1,pontiac lemans v6 -19.8,6,200.0,85,2990,18.2,79,1,mercury zephyr 6 -22.3,4,140.0,88,2890,17.3,79,1,ford fairmont 4 -20.2,6,232.0,90,3265,18.2,79,1,amc concord dl 6 -20.6,6,225.0,110,3360,16.6,79,1,dodge aspen 6 -17.0,8,305.0,130,3840,15.4,79,1,chevrolet caprice classic -17.6,8,302.0,129,3725,13.4,79,1,ford ltd landau -16.5,8,351.0,138,3955,13.2,79,1,mercury grand marquis -18.2,8,318.0,135,3830,15.2,79,1,dodge st. regis -16.9,8,350.0,155,4360,14.9,79,1,buick estate wagon (sw) -15.5,8,351.0,142,4054,14.3,79,1,ford country squire (sw) -19.2,8,267.0,125,3605,15.0,79,1,chevrolet malibu classic (sw) -18.5,8,360.0,150,3940,13.0,79,1,chrysler lebaron town @ country (sw) -31.9,4,89.0,71,1925,14.0,79,2,vw rabbit custom -34.1,4,86.0,65,1975,15.2,79,3,maxda glc deluxe -35.7,4,98.0,80,1915,14.4,79,1,dodge colt hatchback custom -27.4,4,121.0,80,2670,15.0,79,1,amc spirit dl -25.4,5,183.0,77,3530,20.1,79,2,mercedes benz 300d -23.0,8,350.0,125,3900,17.4,79,1,cadillac eldorado -27.2,4,141.0,71,3190,24.8,79,2,peugeot 504 -23.9,8,260.0,90,3420,22.2,79,1,oldsmobile cutlass salon brougham -34.2,4,105.0,70,2200,13.2,79,1,plymouth horizon -34.5,4,105.0,70,2150,14.9,79,1,plymouth horizon tc3 -31.8,4,85.0,65,2020,19.2,79,3,datsun 210 -37.3,4,91.0,69,2130,14.7,79,2,fiat strada custom -28.4,4,151.0,90,2670,16.0,79,1,buick skylark limited -28.8,6,173.0,115,2595,11.3,79,1,chevrolet citation -26.8,6,173.0,115,2700,12.9,79,1,oldsmobile omega brougham -33.5,4,151.0,90,2556,13.2,79,1,pontiac phoenix -41.5,4,98.0,76,2144,14.7,80,2,vw rabbit -38.1,4,89.0,60,1968,18.8,80,3,toyota corolla tercel -32.1,4,98.0,70,2120,15.5,80,1,chevrolet chevette -37.2,4,86.0,65,2019,16.4,80,3,datsun 310 -28.0,4,151.0,90,2678,16.5,80,1,chevrolet citation -26.4,4,140.0,88,2870,18.1,80,1,ford fairmont -24.3,4,151.0,90,3003,20.1,80,1,amc concord -19.1,6,225.0,90,3381,18.7,80,1,dodge aspen -34.3,4,97.0,78,2188,15.8,80,2,audi 4000 -29.8,4,134.0,90,2711,15.5,80,3,toyota corona liftback -31.3,4,120.0,75,2542,17.5,80,3,mazda 626 -37.0,4,119.0,92,2434,15.0,80,3,datsun 510 hatchback -32.2,4,108.0,75,2265,15.2,80,3,toyota corolla -46.6,4,86.0,65,2110,17.9,80,3,mazda glc -27.9,4,156.0,105,2800,14.4,80,1,dodge colt -40.8,4,85.0,65,2110,19.2,80,3,datsun 210 -44.3,4,90.0,48,2085,21.7,80,2,vw rabbit c (diesel) -43.4,4,90.0,48,2335,23.7,80,2,vw dasher (diesel) -36.4,5,121.0,67,2950,19.9,80,2,audi 5000s (diesel) -30.0,4,146.0,67,3250,21.8,80,2,mercedes-benz 240d -44.6,4,91.0,67,1850,13.8,80,3,honda civic 1500 gl -33.8,4,97.0,67,2145,18.0,80,3,subaru dl -29.8,4,89.0,62,1845,15.3,80,2,vokswagen rabbit -32.7,6,168.0,132,2910,11.4,80,3,datsun 280-zx -23.7,3,70.0,100,2420,12.5,80,3,mazda rx-7 gs -35.0,4,122.0,88,2500,15.1,80,2,triumph tr7 coupe -32.4,4,107.0,72,2290,17.0,80,3,honda accord -27.2,4,135.0,84,2490,15.7,81,1,plymouth reliant -26.6,4,151.0,84,2635,16.4,81,1,buick skylark -25.8,4,156.0,92,2620,14.4,81,1,dodge aries wagon (sw) -23.5,6,173.0,110,2725,12.6,81,1,chevrolet citation -30.0,4,135.0,84,2385,12.9,81,1,plymouth reliant -39.1,4,79.0,58,1755,16.9,81,3,toyota starlet -39.0,4,86.0,64,1875,16.4,81,1,plymouth champ -35.1,4,81.0,60,1760,16.1,81,3,honda civic 1300 -32.3,4,97.0,67,2065,17.8,81,3,subaru -37.0,4,85.0,65,1975,19.4,81,3,datsun 210 mpg -37.7,4,89.0,62,2050,17.3,81,3,toyota tercel -34.1,4,91.0,68,1985,16.0,81,3,mazda glc 4 -34.7,4,105.0,63,2215,14.9,81,1,plymouth horizon 4 -34.4,4,98.0,65,2045,16.2,81,1,ford escort 4w -29.9,4,98.0,65,2380,20.7,81,1,ford escort 2h -33.0,4,105.0,74,2190,14.2,81,2,volkswagen jetta -33.7,4,107.0,75,2210,14.4,81,3,honda prelude -32.4,4,108.0,75,2350,16.8,81,3,toyota corolla -32.9,4,119.0,100,2615,14.8,81,3,datsun 200sx -31.6,4,120.0,74,2635,18.3,81,3,mazda 626 -28.1,4,141.0,80,3230,20.4,81,2,peugeot 505s turbo diesel -30.7,6,145.0,76,3160,19.6,81,2,volvo diesel -25.4,6,168.0,116,2900,12.6,81,3,toyota cressida -24.2,6,146.0,120,2930,13.8,81,3,datsun 810 maxima -22.4,6,231.0,110,3415,15.8,81,1,buick century -26.6,8,350.0,105,3725,19.0,81,1,oldsmobile cutlass ls -20.2,6,200.0,88,3060,17.1,81,1,ford granada gl -17.6,6,225.0,85,3465,16.6,81,1,chrysler lebaron salon -28.0,4,112.0,88,2605,19.6,82,1,chevrolet cavalier -27.0,4,112.0,88,2640,18.6,82,1,chevrolet cavalier wagon -34.0,4,112.0,88,2395,18.0,82,1,chevrolet cavalier 2-door -31.0,4,112.0,85,2575,16.2,82,1,pontiac j2000 se hatchback -29.0,4,135.0,84,2525,16.0,82,1,dodge aries se -27.0,4,151.0,90,2735,18.0,82,1,pontiac phoenix -24.0,4,140.0,92,2865,16.4,82,1,ford fairmont futura -36.0,4,105.0,74,1980,15.3,82,2,volkswagen rabbit l -37.0,4,91.0,68,2025,18.2,82,3,mazda glc custom l -31.0,4,91.0,68,1970,17.6,82,3,mazda glc custom -38.0,4,105.0,63,2125,14.7,82,1,plymouth horizon miser -36.0,4,98.0,70,2125,17.3,82,1,mercury lynx l -36.0,4,120.0,88,2160,14.5,82,3,nissan stanza xe -36.0,4,107.0,75,2205,14.5,82,3,honda accord -34.0,4,108.0,70,2245,16.9,82,3,toyota corolla -38.0,4,91.0,67,1965,15.0,82,3,honda civic -32.0,4,91.0,67,1965,15.7,82,3,honda civic (auto) -38.0,4,91.0,67,1995,16.2,82,3,datsun 310 gx -25.0,6,181.0,110,2945,16.4,82,1,buick century limited -38.0,6,262.0,85,3015,17.0,82,1,oldsmobile cutlass ciera (diesel) -26.0,4,156.0,92,2585,14.5,82,1,chrysler lebaron medallion -22.0,6,232.0,112,2835,14.7,82,1,ford granada l -32.0,4,144.0,96,2665,13.9,82,3,toyota celica gt -36.0,4,135.0,84,2370,13.0,82,1,dodge charger 2.2 -27.0,4,151.0,90,2950,17.3,82,1,chevrolet camaro -27.0,4,140.0,86,2790,15.6,82,1,ford mustang gl -44.0,4,97.0,52,2130,24.6,82,2,vw pickup -32.0,4,135.0,84,2295,11.6,82,1,dodge rampage -28.0,4,120.0,79,2625,18.6,82,1,ford ranger -31.0,4,119.0,82,2720,19.4,82,1,chevy s-10 diff --git a/docs/source/labs/Auto.data b/docs/source/labs/Auto.data deleted file mode 100644 index f863a85..0000000 --- a/docs/source/labs/Auto.data +++ /dev/null @@ -1,398 +0,0 @@ -mpg cylinders displacement horsepower weight acceleration year origin name -18.0 8 307.0 130.0 3504. 12.0 70 1 "chevrolet chevelle malibu" -15.0 8 350.0 165.0 3693. 11.5 70 1 "buick skylark 320" -18.0 8 318.0 150.0 3436. 11.0 70 1 "plymouth satellite" -16.0 8 304.0 150.0 3433. 12.0 70 1 "amc rebel sst" -17.0 8 302.0 140.0 3449. 10.5 70 1 "ford torino" -15.0 8 429.0 198.0 4341. 10.0 70 1 "ford galaxie 500" -14.0 8 454.0 220.0 4354. 9.0 70 1 "chevrolet impala" -14.0 8 440.0 215.0 4312. 8.5 70 1 "plymouth fury iii" -14.0 8 455.0 225.0 4425. 10.0 70 1 "pontiac catalina" -15.0 8 390.0 190.0 3850. 8.5 70 1 "amc ambassador dpl" -15.0 8 383.0 170.0 3563. 10.0 70 1 "dodge challenger se" -14.0 8 340.0 160.0 3609. 8.0 70 1 "plymouth 'cuda 340" -15.0 8 400.0 150.0 3761. 9.5 70 1 "chevrolet monte carlo" -14.0 8 455.0 225.0 3086. 10.0 70 1 "buick estate wagon (sw)" -24.0 4 113.0 95.00 2372. 15.0 70 3 "toyota corona mark ii" -22.0 6 198.0 95.00 2833. 15.5 70 1 "plymouth duster" -18.0 6 199.0 97.00 2774. 15.5 70 1 "amc hornet" -21.0 6 200.0 85.00 2587. 16.0 70 1 "ford maverick" -27.0 4 97.00 88.00 2130. 14.5 70 3 "datsun pl510" -26.0 4 97.00 46.00 1835. 20.5 70 2 "volkswagen 1131 deluxe sedan" -25.0 4 110.0 87.00 2672. 17.5 70 2 "peugeot 504" -24.0 4 107.0 90.00 2430. 14.5 70 2 "audi 100 ls" -25.0 4 104.0 95.00 2375. 17.5 70 2 "saab 99e" -26.0 4 121.0 113.0 2234. 12.5 70 2 "bmw 2002" -21.0 6 199.0 90.00 2648. 15.0 70 1 "amc gremlin" -10.0 8 360.0 215.0 4615. 14.0 70 1 "ford f250" -10.0 8 307.0 200.0 4376. 15.0 70 1 "chevy c20" -11.0 8 318.0 210.0 4382. 13.5 70 1 "dodge d200" -9.0 8 304.0 193.0 4732. 18.5 70 1 "hi 1200d" -27.0 4 97.00 88.00 2130. 14.5 71 3 "datsun pl510" -28.0 4 140.0 90.00 2264. 15.5 71 1 "chevrolet vega 2300" -25.0 4 113.0 95.00 2228. 14.0 71 3 "toyota corona" -25.0 4 98.00 ? 2046. 19.0 71 1 "ford pinto" -19.0 6 232.0 100.0 2634. 13.0 71 1 "amc gremlin" -16.0 6 225.0 105.0 3439. 15.5 71 1 "plymouth satellite custom" -17.0 6 250.0 100.0 3329. 15.5 71 1 "chevrolet chevelle malibu" -19.0 6 250.0 88.00 3302. 15.5 71 1 "ford torino 500" -18.0 6 232.0 100.0 3288. 15.5 71 1 "amc matador" -14.0 8 350.0 165.0 4209. 12.0 71 1 "chevrolet impala" -14.0 8 400.0 175.0 4464. 11.5 71 1 "pontiac catalina brougham" -14.0 8 351.0 153.0 4154. 13.5 71 1 "ford galaxie 500" -14.0 8 318.0 150.0 4096. 13.0 71 1 "plymouth fury iii" -12.0 8 383.0 180.0 4955. 11.5 71 1 "dodge monaco (sw)" -13.0 8 400.0 170.0 4746. 12.0 71 1 "ford country squire (sw)" -13.0 8 400.0 175.0 5140. 12.0 71 1 "pontiac safari (sw)" -18.0 6 258.0 110.0 2962. 13.5 71 1 "amc hornet sportabout (sw)" -22.0 4 140.0 72.00 2408. 19.0 71 1 "chevrolet vega (sw)" -19.0 6 250.0 100.0 3282. 15.0 71 1 "pontiac firebird" -18.0 6 250.0 88.00 3139. 14.5 71 1 "ford mustang" -23.0 4 122.0 86.00 2220. 14.0 71 1 "mercury capri 2000" -28.0 4 116.0 90.00 2123. 14.0 71 2 "opel 1900" -30.0 4 79.00 70.00 2074. 19.5 71 2 "peugeot 304" -30.0 4 88.00 76.00 2065. 14.5 71 2 "fiat 124b" -31.0 4 71.00 65.00 1773. 19.0 71 3 "toyota corolla 1200" -35.0 4 72.00 69.00 1613. 18.0 71 3 "datsun 1200" -27.0 4 97.00 60.00 1834. 19.0 71 2 "volkswagen model 111" -26.0 4 91.00 70.00 1955. 20.5 71 1 "plymouth cricket" -24.0 4 113.0 95.00 2278. 15.5 72 3 "toyota corona hardtop" -25.0 4 97.50 80.00 2126. 17.0 72 1 "dodge colt hardtop" -23.0 4 97.00 54.00 2254. 23.5 72 2 "volkswagen type 3" -20.0 4 140.0 90.00 2408. 19.5 72 1 "chevrolet vega" -21.0 4 122.0 86.00 2226. 16.5 72 1 "ford pinto runabout" -13.0 8 350.0 165.0 4274. 12.0 72 1 "chevrolet impala" -14.0 8 400.0 175.0 4385. 12.0 72 1 "pontiac catalina" -15.0 8 318.0 150.0 4135. 13.5 72 1 "plymouth fury iii" -14.0 8 351.0 153.0 4129. 13.0 72 1 "ford galaxie 500" -17.0 8 304.0 150.0 3672. 11.5 72 1 "amc ambassador sst" -11.0 8 429.0 208.0 4633. 11.0 72 1 "mercury marquis" -13.0 8 350.0 155.0 4502. 13.5 72 1 "buick lesabre custom" -12.0 8 350.0 160.0 4456. 13.5 72 1 "oldsmobile delta 88 royale" -13.0 8 400.0 190.0 4422. 12.5 72 1 "chrysler newport royal" -19.0 3 70.00 97.00 2330. 13.5 72 3 "mazda rx2 coupe" -15.0 8 304.0 150.0 3892. 12.5 72 1 "amc matador (sw)" -13.0 8 307.0 130.0 4098. 14.0 72 1 "chevrolet chevelle concours (sw)" -13.0 8 302.0 140.0 4294. 16.0 72 1 "ford gran torino (sw)" -14.0 8 318.0 150.0 4077. 14.0 72 1 "plymouth satellite custom (sw)" -18.0 4 121.0 112.0 2933. 14.5 72 2 "volvo 145e (sw)" -22.0 4 121.0 76.00 2511. 18.0 72 2 "volkswagen 411 (sw)" -21.0 4 120.0 87.00 2979. 19.5 72 2 "peugeot 504 (sw)" -26.0 4 96.00 69.00 2189. 18.0 72 2 "renault 12 (sw)" -22.0 4 122.0 86.00 2395. 16.0 72 1 "ford pinto (sw)" -28.0 4 97.00 92.00 2288. 17.0 72 3 "datsun 510 (sw)" -23.0 4 120.0 97.00 2506. 14.5 72 3 "toyouta corona mark ii (sw)" -28.0 4 98.00 80.00 2164. 15.0 72 1 "dodge colt (sw)" -27.0 4 97.00 88.00 2100. 16.5 72 3 "toyota corolla 1600 (sw)" -13.0 8 350.0 175.0 4100. 13.0 73 1 "buick century 350" -14.0 8 304.0 150.0 3672. 11.5 73 1 "amc matador" -13.0 8 350.0 145.0 3988. 13.0 73 1 "chevrolet malibu" -14.0 8 302.0 137.0 4042. 14.5 73 1 "ford gran torino" -15.0 8 318.0 150.0 3777. 12.5 73 1 "dodge coronet custom" -12.0 8 429.0 198.0 4952. 11.5 73 1 "mercury marquis brougham" -13.0 8 400.0 150.0 4464. 12.0 73 1 "chevrolet caprice classic" -13.0 8 351.0 158.0 4363. 13.0 73 1 "ford ltd" -14.0 8 318.0 150.0 4237. 14.5 73 1 "plymouth fury gran sedan" -13.0 8 440.0 215.0 4735. 11.0 73 1 "chrysler new yorker brougham" -12.0 8 455.0 225.0 4951. 11.0 73 1 "buick electra 225 custom" -13.0 8 360.0 175.0 3821. 11.0 73 1 "amc ambassador brougham" -18.0 6 225.0 105.0 3121. 16.5 73 1 "plymouth valiant" -16.0 6 250.0 100.0 3278. 18.0 73 1 "chevrolet nova custom" -18.0 6 232.0 100.0 2945. 16.0 73 1 "amc hornet" -18.0 6 250.0 88.00 3021. 16.5 73 1 "ford maverick" -23.0 6 198.0 95.00 2904. 16.0 73 1 "plymouth duster" -26.0 4 97.00 46.00 1950. 21.0 73 2 "volkswagen super beetle" -11.0 8 400.0 150.0 4997. 14.0 73 1 "chevrolet impala" -12.0 8 400.0 167.0 4906. 12.5 73 1 "ford country" -13.0 8 360.0 170.0 4654. 13.0 73 1 "plymouth custom suburb" -12.0 8 350.0 180.0 4499. 12.5 73 1 "oldsmobile vista cruiser" -18.0 6 232.0 100.0 2789. 15.0 73 1 "amc gremlin" -20.0 4 97.00 88.00 2279. 19.0 73 3 "toyota carina" -21.0 4 140.0 72.00 2401. 19.5 73 1 "chevrolet vega" -22.0 4 108.0 94.00 2379. 16.5 73 3 "datsun 610" -18.0 3 70.00 90.00 2124. 13.5 73 3 "maxda rx3" -19.0 4 122.0 85.00 2310. 18.5 73 1 "ford pinto" -21.0 6 155.0 107.0 2472. 14.0 73 1 "mercury capri v6" -26.0 4 98.00 90.00 2265. 15.5 73 2 "fiat 124 sport coupe" -15.0 8 350.0 145.0 4082. 13.0 73 1 "chevrolet monte carlo s" -16.0 8 400.0 230.0 4278. 9.50 73 1 "pontiac grand prix" -29.0 4 68.00 49.00 1867. 19.5 73 2 "fiat 128" -24.0 4 116.0 75.00 2158. 15.5 73 2 "opel manta" -20.0 4 114.0 91.00 2582. 14.0 73 2 "audi 100ls" -19.0 4 121.0 112.0 2868. 15.5 73 2 "volvo 144ea" -15.0 8 318.0 150.0 3399. 11.0 73 1 "dodge dart custom" -24.0 4 121.0 110.0 2660. 14.0 73 2 "saab 99le" -20.0 6 156.0 122.0 2807. 13.5 73 3 "toyota mark ii" -11.0 8 350.0 180.0 3664. 11.0 73 1 "oldsmobile omega" -20.0 6 198.0 95.00 3102. 16.5 74 1 "plymouth duster" -21.0 6 200.0 ? 2875. 17.0 74 1 "ford maverick" -19.0 6 232.0 100.0 2901. 16.0 74 1 "amc hornet" -15.0 6 250.0 100.0 3336. 17.0 74 1 "chevrolet nova" -31.0 4 79.00 67.00 1950. 19.0 74 3 "datsun b210" -26.0 4 122.0 80.00 2451. 16.5 74 1 "ford pinto" -32.0 4 71.00 65.00 1836. 21.0 74 3 "toyota corolla 1200" -25.0 4 140.0 75.00 2542. 17.0 74 1 "chevrolet vega" -16.0 6 250.0 100.0 3781. 17.0 74 1 "chevrolet chevelle malibu classic" -16.0 6 258.0 110.0 3632. 18.0 74 1 "amc matador" -18.0 6 225.0 105.0 3613. 16.5 74 1 "plymouth satellite sebring" -16.0 8 302.0 140.0 4141. 14.0 74 1 "ford gran torino" -13.0 8 350.0 150.0 4699. 14.5 74 1 "buick century luxus (sw)" -14.0 8 318.0 150.0 4457. 13.5 74 1 "dodge coronet custom (sw)" -14.0 8 302.0 140.0 4638. 16.0 74 1 "ford gran torino (sw)" -14.0 8 304.0 150.0 4257. 15.5 74 1 "amc matador (sw)" -29.0 4 98.00 83.00 2219. 16.5 74 2 "audi fox" -26.0 4 79.00 67.00 1963. 15.5 74 2 "volkswagen dasher" -26.0 4 97.00 78.00 2300. 14.5 74 2 "opel manta" -31.0 4 76.00 52.00 1649. 16.5 74 3 "toyota corona" -32.0 4 83.00 61.00 2003. 19.0 74 3 "datsun 710" -28.0 4 90.00 75.00 2125. 14.5 74 1 "dodge colt" -24.0 4 90.00 75.00 2108. 15.5 74 2 "fiat 128" -26.0 4 116.0 75.00 2246. 14.0 74 2 "fiat 124 tc" -24.0 4 120.0 97.00 2489. 15.0 74 3 "honda civic" -26.0 4 108.0 93.00 2391. 15.5 74 3 "subaru" -31.0 4 79.00 67.00 2000. 16.0 74 2 "fiat x1.9" -19.0 6 225.0 95.00 3264. 16.0 75 1 "plymouth valiant custom" -18.0 6 250.0 105.0 3459. 16.0 75 1 "chevrolet nova" -15.0 6 250.0 72.00 3432. 21.0 75 1 "mercury monarch" -15.0 6 250.0 72.00 3158. 19.5 75 1 "ford maverick" -16.0 8 400.0 170.0 4668. 11.5 75 1 "pontiac catalina" -15.0 8 350.0 145.0 4440. 14.0 75 1 "chevrolet bel air" -16.0 8 318.0 150.0 4498. 14.5 75 1 "plymouth grand fury" -14.0 8 351.0 148.0 4657. 13.5 75 1 "ford ltd" -17.0 6 231.0 110.0 3907. 21.0 75 1 "buick century" -16.0 6 250.0 105.0 3897. 18.5 75 1 "chevroelt chevelle malibu" -15.0 6 258.0 110.0 3730. 19.0 75 1 "amc matador" -18.0 6 225.0 95.00 3785. 19.0 75 1 "plymouth fury" -21.0 6 231.0 110.0 3039. 15.0 75 1 "buick skyhawk" -20.0 8 262.0 110.0 3221. 13.5 75 1 "chevrolet monza 2+2" -13.0 8 302.0 129.0 3169. 12.0 75 1 "ford mustang ii" -29.0 4 97.00 75.00 2171. 16.0 75 3 "toyota corolla" -23.0 4 140.0 83.00 2639. 17.0 75 1 "ford pinto" -20.0 6 232.0 100.0 2914. 16.0 75 1 "amc gremlin" -23.0 4 140.0 78.00 2592. 18.5 75 1 "pontiac astro" -24.0 4 134.0 96.00 2702. 13.5 75 3 "toyota corona" -25.0 4 90.00 71.00 2223. 16.5 75 2 "volkswagen dasher" -24.0 4 119.0 97.00 2545. 17.0 75 3 "datsun 710" -18.0 6 171.0 97.00 2984. 14.5 75 1 "ford pinto" -29.0 4 90.00 70.00 1937. 14.0 75 2 "volkswagen rabbit" -19.0 6 232.0 90.00 3211. 17.0 75 1 "amc pacer" -23.0 4 115.0 95.00 2694. 15.0 75 2 "audi 100ls" -23.0 4 120.0 88.00 2957. 17.0 75 2 "peugeot 504" -22.0 4 121.0 98.00 2945. 14.5 75 2 "volvo 244dl" -25.0 4 121.0 115.0 2671. 13.5 75 2 "saab 99le" -33.0 4 91.00 53.00 1795. 17.5 75 3 "honda civic cvcc" -28.0 4 107.0 86.00 2464. 15.5 76 2 "fiat 131" -25.0 4 116.0 81.00 2220. 16.9 76 2 "opel 1900" -25.0 4 140.0 92.00 2572. 14.9 76 1 "capri ii" -26.0 4 98.00 79.00 2255. 17.7 76 1 "dodge colt" -27.0 4 101.0 83.00 2202. 15.3 76 2 "renault 12tl" -17.5 8 305.0 140.0 4215. 13.0 76 1 "chevrolet chevelle malibu classic" -16.0 8 318.0 150.0 4190. 13.0 76 1 "dodge coronet brougham" -15.5 8 304.0 120.0 3962. 13.9 76 1 "amc matador" -14.5 8 351.0 152.0 4215. 12.8 76 1 "ford gran torino" -22.0 6 225.0 100.0 3233. 15.4 76 1 "plymouth valiant" -22.0 6 250.0 105.0 3353. 14.5 76 1 "chevrolet nova" -24.0 6 200.0 81.00 3012. 17.6 76 1 "ford maverick" -22.5 6 232.0 90.00 3085. 17.6 76 1 "amc hornet" -29.0 4 85.00 52.00 2035. 22.2 76 1 "chevrolet chevette" -24.5 4 98.00 60.00 2164. 22.1 76 1 "chevrolet woody" -29.0 4 90.00 70.00 1937. 14.2 76 2 "vw rabbit" -33.0 4 91.00 53.00 1795. 17.4 76 3 "honda civic" -20.0 6 225.0 100.0 3651. 17.7 76 1 "dodge aspen se" -18.0 6 250.0 78.00 3574. 21.0 76 1 "ford granada ghia" -18.5 6 250.0 110.0 3645. 16.2 76 1 "pontiac ventura sj" -17.5 6 258.0 95.00 3193. 17.8 76 1 "amc pacer d/l" -29.5 4 97.00 71.00 1825. 12.2 76 2 "volkswagen rabbit" -32.0 4 85.00 70.00 1990. 17.0 76 3 "datsun b-210" -28.0 4 97.00 75.00 2155. 16.4 76 3 "toyota corolla" -26.5 4 140.0 72.00 2565. 13.6 76 1 "ford pinto" -20.0 4 130.0 102.0 3150. 15.7 76 2 "volvo 245" -13.0 8 318.0 150.0 3940. 13.2 76 1 "plymouth volare premier v8" -19.0 4 120.0 88.00 3270. 21.9 76 2 "peugeot 504" -19.0 6 156.0 108.0 2930. 15.5 76 3 "toyota mark ii" -16.5 6 168.0 120.0 3820. 16.7 76 2 "mercedes-benz 280s" -16.5 8 350.0 180.0 4380. 12.1 76 1 "cadillac seville" -13.0 8 350.0 145.0 4055. 12.0 76 1 "chevy c10" -13.0 8 302.0 130.0 3870. 15.0 76 1 "ford f108" -13.0 8 318.0 150.0 3755. 14.0 76 1 "dodge d100" -31.5 4 98.00 68.00 2045. 18.5 77 3 "honda accord cvcc" -30.0 4 111.0 80.00 2155. 14.8 77 1 "buick opel isuzu deluxe" -36.0 4 79.00 58.00 1825. 18.6 77 2 "renault 5 gtl" -25.5 4 122.0 96.00 2300. 15.5 77 1 "plymouth arrow gs" -33.5 4 85.00 70.00 1945. 16.8 77 3 "datsun f-10 hatchback" -17.5 8 305.0 145.0 3880. 12.5 77 1 "chevrolet caprice classic" -17.0 8 260.0 110.0 4060. 19.0 77 1 "oldsmobile cutlass supreme" -15.5 8 318.0 145.0 4140. 13.7 77 1 "dodge monaco brougham" -15.0 8 302.0 130.0 4295. 14.9 77 1 "mercury cougar brougham" -17.5 6 250.0 110.0 3520. 16.4 77 1 "chevrolet concours" -20.5 6 231.0 105.0 3425. 16.9 77 1 "buick skylark" -19.0 6 225.0 100.0 3630. 17.7 77 1 "plymouth volare custom" -18.5 6 250.0 98.00 3525. 19.0 77 1 "ford granada" -16.0 8 400.0 180.0 4220. 11.1 77 1 "pontiac grand prix lj" -15.5 8 350.0 170.0 4165. 11.4 77 1 "chevrolet monte carlo landau" -15.5 8 400.0 190.0 4325. 12.2 77 1 "chrysler cordoba" -16.0 8 351.0 149.0 4335. 14.5 77 1 "ford thunderbird" -29.0 4 97.00 78.00 1940. 14.5 77 2 "volkswagen rabbit custom" -24.5 4 151.0 88.00 2740. 16.0 77 1 "pontiac sunbird coupe" -26.0 4 97.00 75.00 2265. 18.2 77 3 "toyota corolla liftback" -25.5 4 140.0 89.00 2755. 15.8 77 1 "ford mustang ii 2+2" -30.5 4 98.00 63.00 2051. 17.0 77 1 "chevrolet chevette" -33.5 4 98.00 83.00 2075. 15.9 77 1 "dodge colt m/m" -30.0 4 97.00 67.00 1985. 16.4 77 3 "subaru dl" -30.5 4 97.00 78.00 2190. 14.1 77 2 "volkswagen dasher" -22.0 6 146.0 97.00 2815. 14.5 77 3 "datsun 810" -21.5 4 121.0 110.0 2600. 12.8 77 2 "bmw 320i" -21.5 3 80.00 110.0 2720. 13.5 77 3 "mazda rx-4" -43.1 4 90.00 48.00 1985. 21.5 78 2 "volkswagen rabbit custom diesel" -36.1 4 98.00 66.00 1800. 14.4 78 1 "ford fiesta" -32.8 4 78.00 52.00 1985. 19.4 78 3 "mazda glc deluxe" -39.4 4 85.00 70.00 2070. 18.6 78 3 "datsun b210 gx" -36.1 4 91.00 60.00 1800. 16.4 78 3 "honda civic cvcc" -19.9 8 260.0 110.0 3365. 15.5 78 1 "oldsmobile cutlass salon brougham" -19.4 8 318.0 140.0 3735. 13.2 78 1 "dodge diplomat" -20.2 8 302.0 139.0 3570. 12.8 78 1 "mercury monarch ghia" -19.2 6 231.0 105.0 3535. 19.2 78 1 "pontiac phoenix lj" -20.5 6 200.0 95.00 3155. 18.2 78 1 "chevrolet malibu" -20.2 6 200.0 85.00 2965. 15.8 78 1 "ford fairmont (auto)" -25.1 4 140.0 88.00 2720. 15.4 78 1 "ford fairmont (man)" -20.5 6 225.0 100.0 3430. 17.2 78 1 "plymouth volare" -19.4 6 232.0 90.00 3210. 17.2 78 1 "amc concord" -20.6 6 231.0 105.0 3380. 15.8 78 1 "buick century special" -20.8 6 200.0 85.00 3070. 16.7 78 1 "mercury zephyr" -18.6 6 225.0 110.0 3620. 18.7 78 1 "dodge aspen" -18.1 6 258.0 120.0 3410. 15.1 78 1 "amc concord d/l" -19.2 8 305.0 145.0 3425. 13.2 78 1 "chevrolet monte carlo landau" -17.7 6 231.0 165.0 3445. 13.4 78 1 "buick regal sport coupe (turbo)" -18.1 8 302.0 139.0 3205. 11.2 78 1 "ford futura" -17.5 8 318.0 140.0 4080. 13.7 78 1 "dodge magnum xe" -30.0 4 98.00 68.00 2155. 16.5 78 1 "chevrolet chevette" -27.5 4 134.0 95.00 2560. 14.2 78 3 "toyota corona" -27.2 4 119.0 97.00 2300. 14.7 78 3 "datsun 510" -30.9 4 105.0 75.00 2230. 14.5 78 1 "dodge omni" -21.1 4 134.0 95.00 2515. 14.8 78 3 "toyota celica gt liftback" -23.2 4 156.0 105.0 2745. 16.7 78 1 "plymouth sapporo" -23.8 4 151.0 85.00 2855. 17.6 78 1 "oldsmobile starfire sx" -23.9 4 119.0 97.00 2405. 14.9 78 3 "datsun 200-sx" -20.3 5 131.0 103.0 2830. 15.9 78 2 "audi 5000" -17.0 6 163.0 125.0 3140. 13.6 78 2 "volvo 264gl" -21.6 4 121.0 115.0 2795. 15.7 78 2 "saab 99gle" -16.2 6 163.0 133.0 3410. 15.8 78 2 "peugeot 604sl" -31.5 4 89.00 71.00 1990. 14.9 78 2 "volkswagen scirocco" -29.5 4 98.00 68.00 2135. 16.6 78 3 "honda accord lx" -21.5 6 231.0 115.0 3245. 15.4 79 1 "pontiac lemans v6" -19.8 6 200.0 85.00 2990. 18.2 79 1 "mercury zephyr 6" -22.3 4 140.0 88.00 2890. 17.3 79 1 "ford fairmont 4" -20.2 6 232.0 90.00 3265. 18.2 79 1 "amc concord dl 6" -20.6 6 225.0 110.0 3360. 16.6 79 1 "dodge aspen 6" -17.0 8 305.0 130.0 3840. 15.4 79 1 "chevrolet caprice classic" -17.6 8 302.0 129.0 3725. 13.4 79 1 "ford ltd landau" -16.5 8 351.0 138.0 3955. 13.2 79 1 "mercury grand marquis" -18.2 8 318.0 135.0 3830. 15.2 79 1 "dodge st. regis" -16.9 8 350.0 155.0 4360. 14.9 79 1 "buick estate wagon (sw)" -15.5 8 351.0 142.0 4054. 14.3 79 1 "ford country squire (sw)" -19.2 8 267.0 125.0 3605. 15.0 79 1 "chevrolet malibu classic (sw)" -18.5 8 360.0 150.0 3940. 13.0 79 1 "chrysler lebaron town @ country (sw)" -31.9 4 89.00 71.00 1925. 14.0 79 2 "vw rabbit custom" -34.1 4 86.00 65.00 1975. 15.2 79 3 "maxda glc deluxe" -35.7 4 98.00 80.00 1915. 14.4 79 1 "dodge colt hatchback custom" -27.4 4 121.0 80.00 2670. 15.0 79 1 "amc spirit dl" -25.4 5 183.0 77.00 3530. 20.1 79 2 "mercedes benz 300d" -23.0 8 350.0 125.0 3900. 17.4 79 1 "cadillac eldorado" -27.2 4 141.0 71.00 3190. 24.8 79 2 "peugeot 504" -23.9 8 260.0 90.00 3420. 22.2 79 1 "oldsmobile cutlass salon brougham" -34.2 4 105.0 70.00 2200. 13.2 79 1 "plymouth horizon" -34.5 4 105.0 70.00 2150. 14.9 79 1 "plymouth horizon tc3" -31.8 4 85.00 65.00 2020. 19.2 79 3 "datsun 210" -37.3 4 91.00 69.00 2130. 14.7 79 2 "fiat strada custom" -28.4 4 151.0 90.00 2670. 16.0 79 1 "buick skylark limited" -28.8 6 173.0 115.0 2595. 11.3 79 1 "chevrolet citation" -26.8 6 173.0 115.0 2700. 12.9 79 1 "oldsmobile omega brougham" -33.5 4 151.0 90.00 2556. 13.2 79 1 "pontiac phoenix" -41.5 4 98.00 76.00 2144. 14.7 80 2 "vw rabbit" -38.1 4 89.00 60.00 1968. 18.8 80 3 "toyota corolla tercel" -32.1 4 98.00 70.00 2120. 15.5 80 1 "chevrolet chevette" -37.2 4 86.00 65.00 2019. 16.4 80 3 "datsun 310" -28.0 4 151.0 90.00 2678. 16.5 80 1 "chevrolet citation" -26.4 4 140.0 88.00 2870. 18.1 80 1 "ford fairmont" -24.3 4 151.0 90.00 3003. 20.1 80 1 "amc concord" -19.1 6 225.0 90.00 3381. 18.7 80 1 "dodge aspen" -34.3 4 97.00 78.00 2188. 15.8 80 2 "audi 4000" -29.8 4 134.0 90.00 2711. 15.5 80 3 "toyota corona liftback" -31.3 4 120.0 75.00 2542. 17.5 80 3 "mazda 626" -37.0 4 119.0 92.00 2434. 15.0 80 3 "datsun 510 hatchback" -32.2 4 108.0 75.00 2265. 15.2 80 3 "toyota corolla" -46.6 4 86.00 65.00 2110. 17.9 80 3 "mazda glc" -27.9 4 156.0 105.0 2800. 14.4 80 1 "dodge colt" -40.8 4 85.00 65.00 2110. 19.2 80 3 "datsun 210" -44.3 4 90.00 48.00 2085. 21.7 80 2 "vw rabbit c (diesel)" -43.4 4 90.00 48.00 2335. 23.7 80 2 "vw dasher (diesel)" -36.4 5 121.0 67.00 2950. 19.9 80 2 "audi 5000s (diesel)" -30.0 4 146.0 67.00 3250. 21.8 80 2 "mercedes-benz 240d" -44.6 4 91.00 67.00 1850. 13.8 80 3 "honda civic 1500 gl" -40.9 4 85.00 ? 1835. 17.3 80 2 "renault lecar deluxe" -33.8 4 97.00 67.00 2145. 18.0 80 3 "subaru dl" -29.8 4 89.00 62.00 1845. 15.3 80 2 "vokswagen rabbit" -32.7 6 168.0 132.0 2910. 11.4 80 3 "datsun 280-zx" -23.7 3 70.00 100.0 2420. 12.5 80 3 "mazda rx-7 gs" -35.0 4 122.0 88.00 2500. 15.1 80 2 "triumph tr7 coupe" -23.6 4 140.0 ? 2905. 14.3 80 1 "ford mustang cobra" -32.4 4 107.0 72.00 2290. 17.0 80 3 "honda accord" -27.2 4 135.0 84.00 2490. 15.7 81 1 "plymouth reliant" -26.6 4 151.0 84.00 2635. 16.4 81 1 "buick skylark" -25.8 4 156.0 92.00 2620. 14.4 81 1 "dodge aries wagon (sw)" -23.5 6 173.0 110.0 2725. 12.6 81 1 "chevrolet citation" -30.0 4 135.0 84.00 2385. 12.9 81 1 "plymouth reliant" -39.1 4 79.00 58.00 1755. 16.9 81 3 "toyota starlet" -39.0 4 86.00 64.00 1875. 16.4 81 1 "plymouth champ" -35.1 4 81.00 60.00 1760. 16.1 81 3 "honda civic 1300" -32.3 4 97.00 67.00 2065. 17.8 81 3 "subaru" -37.0 4 85.00 65.00 1975. 19.4 81 3 "datsun 210 mpg" -37.7 4 89.00 62.00 2050. 17.3 81 3 "toyota tercel" -34.1 4 91.00 68.00 1985. 16.0 81 3 "mazda glc 4" -34.7 4 105.0 63.00 2215. 14.9 81 1 "plymouth horizon 4" -34.4 4 98.00 65.00 2045. 16.2 81 1 "ford escort 4w" -29.9 4 98.00 65.00 2380. 20.7 81 1 "ford escort 2h" -33.0 4 105.0 74.00 2190. 14.2 81 2 "volkswagen jetta" -34.5 4 100.0 ? 2320. 15.8 81 2 "renault 18i" -33.7 4 107.0 75.00 2210. 14.4 81 3 "honda prelude" -32.4 4 108.0 75.00 2350. 16.8 81 3 "toyota corolla" -32.9 4 119.0 100.0 2615. 14.8 81 3 "datsun 200sx" -31.6 4 120.0 74.00 2635. 18.3 81 3 "mazda 626" -28.1 4 141.0 80.00 3230. 20.4 81 2 "peugeot 505s turbo diesel" -30.7 6 145.0 76.00 3160. 19.6 81 2 "volvo diesel" -25.4 6 168.0 116.0 2900. 12.6 81 3 "toyota cressida" -24.2 6 146.0 120.0 2930. 13.8 81 3 "datsun 810 maxima" -22.4 6 231.0 110.0 3415. 15.8 81 1 "buick century" -26.6 8 350.0 105.0 3725. 19.0 81 1 "oldsmobile cutlass ls" -20.2 6 200.0 88.00 3060. 17.1 81 1 "ford granada gl" -17.6 6 225.0 85.00 3465. 16.6 81 1 "chrysler lebaron salon" -28.0 4 112.0 88.00 2605. 19.6 82 1 "chevrolet cavalier" -27.0 4 112.0 88.00 2640. 18.6 82 1 "chevrolet cavalier wagon" -34.0 4 112.0 88.00 2395. 18.0 82 1 "chevrolet cavalier 2-door" -31.0 4 112.0 85.00 2575. 16.2 82 1 "pontiac j2000 se hatchback" -29.0 4 135.0 84.00 2525. 16.0 82 1 "dodge aries se" -27.0 4 151.0 90.00 2735. 18.0 82 1 "pontiac phoenix" -24.0 4 140.0 92.00 2865. 16.4 82 1 "ford fairmont futura" -36.0 4 105.0 74.00 1980. 15.3 82 2 "volkswagen rabbit l" -37.0 4 91.00 68.00 2025. 18.2 82 3 "mazda glc custom l" -31.0 4 91.00 68.00 1970. 17.6 82 3 "mazda glc custom" -38.0 4 105.0 63.00 2125. 14.7 82 1 "plymouth horizon miser" -36.0 4 98.00 70.00 2125. 17.3 82 1 "mercury lynx l" -36.0 4 120.0 88.00 2160. 14.5 82 3 "nissan stanza xe" -36.0 4 107.0 75.00 2205. 14.5 82 3 "honda accord" -34.0 4 108.0 70.00 2245 16.9 82 3 "toyota corolla" -38.0 4 91.00 67.00 1965. 15.0 82 3 "honda civic" -32.0 4 91.00 67.00 1965. 15.7 82 3 "honda civic (auto)" -38.0 4 91.00 67.00 1995. 16.2 82 3 "datsun 310 gx" -25.0 6 181.0 110.0 2945. 16.4 82 1 "buick century limited" -38.0 6 262.0 85.00 3015. 17.0 82 1 "oldsmobile cutlass ciera (diesel)" -26.0 4 156.0 92.00 2585. 14.5 82 1 "chrysler lebaron medallion" -22.0 6 232.0 112.0 2835 14.7 82 1 "ford granada l" -32.0 4 144.0 96.00 2665. 13.9 82 3 "toyota celica gt" -36.0 4 135.0 84.00 2370. 13.0 82 1 "dodge charger 2.2" -27.0 4 151.0 90.00 2950. 17.3 82 1 "chevrolet camaro" -27.0 4 140.0 86.00 2790. 15.6 82 1 "ford mustang gl" -44.0 4 97.00 52.00 2130. 24.6 82 2 "vw pickup" -32.0 4 135.0 84.00 2295. 11.6 82 1 "dodge rampage" -28.0 4 120.0 79.00 2625. 18.6 82 1 "ford ranger" -31.0 4 119.0 82.00 2720. 19.4 82 1 "chevy s-10" diff --git a/docs/source/labs/Ch10-deeplearning-lab.ipynb b/docs/source/labs/Ch10-deeplearning-lab.ipynb deleted file mode 100644 index 75458eb..0000000 --- a/docs/source/labs/Ch10-deeplearning-lab.ipynb +++ /dev/null @@ -1,9973 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "fd22c2e6", - "metadata": {}, - "source": [ - "# Deep Learning\n", - "\n", - "\n", - " \"Open\n", - "\n", - "\n", - "\n", - "In this section we demonstrate how to fit the examples discussed\n", - "in the text. We use the `Python` `torch` package, along with the\n", - "`pytorch_lightning` package which provides utilities to simplify\n", - "fitting and evaluating models. This code can be impressively fast\n", - "with certain special processors, such as Apple’s new M1 chip. The package is well-structured, flexible, and will feel comfortable\n", - "to `Python` users. A good companion is the site\n", - "[pytorch.org/tutorials](https://pytorch.org/tutorials/beginner/basics/intro.html).\n", - "Much of our code is adapted from there, as well as the `pytorch_lightning` documentation. {The precise URLs at the time of writing are and .}\n", - "\n", - "We start with several standard imports that we have seen in other contexts." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "aeb913e2", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np, pandas as pd\n", - "from matplotlib.pyplot import subplots\n", - "from sklearn.linear_model import \\\n", - " (LinearRegression,\n", - " LogisticRegression,\n", - " Lasso)\n", - "from sklearn.preprocessing import StandardScaler\n", - "from sklearn.model_selection import KFold\n", - "from sklearn.pipeline import Pipeline\n", - "from ISLP import load_data\n", - "from ISLP.models import ModelSpec as MS\n", - "from sklearn.model_selection import \\\n", - " (train_test_split,\n", - " GridSearchCV)" - ] - }, - { - "cell_type": "markdown", - "id": "36a4ac8d", - "metadata": {}, - "source": [ - "### Torch-Specific Imports\n", - "There are a number of imports for `torch`. (These are not\n", - "included with `ISLP`, so must be installed separately.)\n", - "First we import the main library\n", - "and essential tools used to specify sequentially-structured networks." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "3a3e91e7", - "metadata": {}, - "outputs": [], - "source": [ - "import torch\n", - "from torch import nn\n", - "from torch.optim import RMSprop\n", - "from torch.utils.data import TensorDataset" - ] - }, - { - "cell_type": "markdown", - "id": "6e89c676", - "metadata": {}, - "source": [ - "There are several other helper packages for `torch`. For instance,\n", - "the `torchmetrics` package has utilities to compute\n", - "various metrics to evaluate performance when fitting\n", - "a model. The `torchinfo` package provides a useful\n", - "summary of the layers of a model. We use the `read_image()`\n", - "function when loading test images in Section 10.9.4." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "3f4fdb8c", - "metadata": {}, - "outputs": [], - "source": [ - "from torchmetrics import (MeanAbsoluteError,\n", - " R2Score)\n", - "from torchinfo import summary\n", - "from torchvision.io import read_image" - ] - }, - { - "cell_type": "markdown", - "id": "b7b12e5c", - "metadata": {}, - "source": [ - "The package `pytorch_lightning` is a somewhat higher-level\n", - "interface to `torch` that simplifies the specification and\n", - "fitting of\n", - "models by reducing the amount of boilerplate code needed\n", - "(compared to using `torch` alone)." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "71cc6f03", - "metadata": {}, - "outputs": [], - "source": [ - "from pytorch_lightning import Trainer\n", - "from pytorch_lightning.loggers import CSVLogger" - ] - }, - { - "cell_type": "markdown", - "id": "8394fc0a", - "metadata": {}, - "source": [ - "In order to reproduce results we use `seed_everything()`. We will also instruct `torch` to use deterministic algorithms\n", - "where possible." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "fd1290f1", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Global seed set to 0\n" - ] - } - ], - "source": [ - "from pytorch_lightning.utilities.seed import seed_everything\n", - "seed_everything(0, workers=True)\n", - "torch.use_deterministic_algorithms(True, warn_only=True)" - ] - }, - { - "cell_type": "markdown", - "id": "f29a6c10", - "metadata": {}, - "source": [ - "We will use several datasets shipped with `torchvision` for our\n", - "examples: a pretrained network for image classification,\n", - "as well as some transforms used for preprocessing." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "c85308d1", - "metadata": {}, - "outputs": [], - "source": [ - "from torchvision.datasets import MNIST, CIFAR100\n", - "from torchvision.models import (resnet50,\n", - " ResNet50_Weights)\n", - "from torchvision.transforms import (Resize,\n", - " Normalize,\n", - " CenterCrop,\n", - " ToTensor)" - ] - }, - { - "cell_type": "markdown", - "id": "6ca24f46", - "metadata": {}, - "source": [ - "We have provided a few utilities in `ISLP` specifically for this lab.\n", - "The `SimpleDataModule` and `SimpleModule` are simple\n", - "versions of objects used in `pytorch_lightning`, the\n", - "high-level module for fitting `torch` models. Although more advanced\n", - "uses such as computing on graphical processing units (GPUs) and parallel data processing\n", - "are possible in this module, we will not be focusing much on these\n", - "in this lab. The `ErrorTracker` handles\n", - "collections of targets and predictions over each mini-batch\n", - "in the validation or test stage, allowing computation\n", - "of the metric over the entire validation or test data set." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "4de9f03c", - "metadata": {}, - "outputs": [], - "source": [ - "from ISLP.torch import (SimpleDataModule,\n", - " SimpleModule,\n", - " ErrorTracker,\n", - " rec_num_workers)" - ] - }, - { - "cell_type": "markdown", - "id": "d81a775a", - "metadata": {}, - "source": [ - "In addition we have included some helper\n", - "functions to load the\n", - "`IMDb` database, as well as a lookup that maps integers\n", - "to particular keys in the database. We’ve included\n", - "a slightly modified copy of the preprocessed\n", - "`IMDb` data from `keras`, a separate package\n", - "for fitting deep learning models. This saves us significant\n", - "preprocessing and allows us to focus on specifying and fitting\n", - "the models themselves." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "4ef95fe3", - "metadata": {}, - "outputs": [], - "source": [ - "from ISLP.torch.imdb import (load_lookup,\n", - " load_tensor,\n", - " load_sparse,\n", - " load_sequential)" - ] - }, - { - "cell_type": "markdown", - "id": "d8d760ad", - "metadata": {}, - "source": [ - "Finally, we introduce some utility imports not directly related to\n", - "`torch`.\n", - "The `glob()` function from the `glob` module is used\n", - "to find all files matching wildcard characters, which we will use\n", - "in our example applying the `ResNet50` model\n", - "to some of our own images.\n", - "The `json` module will be used to load\n", - "a JSON file for looking up classes to identify the labels of the\n", - "pictures in the `ResNet50` example." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "493821a9", - "metadata": {}, - "outputs": [], - "source": [ - "from glob import glob\n", - "import json" - ] - }, - { - "cell_type": "markdown", - "id": "c415e4e5", - "metadata": {}, - "source": [ - "## Single Layer Network on Hitters Data\n", - "We start by fitting the models in Section 10.6 on the `Hitters` data." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "a427e224", - "metadata": {}, - "outputs": [], - "source": [ - "Hitters = load_data('Hitters').dropna()\n", - "n = Hitters.shape[0]" - ] - }, - { - "cell_type": "markdown", - "id": "f1ca2542", - "metadata": {}, - "source": [ - " We will fit two linear models (least squares and lasso) and compare their performance\n", - "to that of a neural network. For this comparison we will use mean absolute error on a validation dataset.\n", - "\\begin{equation*}\n", - "\\begin{split}\n", - "\\mbox{MAE}(y,\\hat{y}) = \\frac{1}{n} \\sum_{i=1}^n |y_i-\\hat{y}_i|.\n", - "\\end{split}\n", - "\\end{equation*}\n", - "We set up the model matrix and the response." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "feac4b15", - "metadata": {}, - "outputs": [], - "source": [ - "model = MS(Hitters.columns.drop('Salary'), intercept=False)\n", - "X = model.fit_transform(Hitters).to_numpy()\n", - "Y = Hitters['Salary'].to_numpy()" - ] - }, - { - "cell_type": "markdown", - "id": "ad0d90b5", - "metadata": {}, - "source": [ - "The `to_numpy()` method above converts `pandas`\n", - "data frames or series to `numpy` arrays.\n", - "We do this because we will need to use `sklearn` to fit the lasso model,\n", - "and it requires this conversion. \n", - "We also use a linear regression method from `sklearn`, rather than the method\n", - "in Chapter~3 from `statsmodels`, to facilitate the comparisons." - ] - }, - { - "cell_type": "markdown", - "id": "35acacc2", - "metadata": {}, - "source": [ - "We now split the data into test and training, fixing the random\n", - "state used by `sklearn` to do the split." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "6a75a640", - "metadata": {}, - "outputs": [], - "source": [ - "(X_train, \n", - " X_test,\n", - " Y_train,\n", - " Y_test) = train_test_split(X,\n", - " Y,\n", - " test_size=1/3,\n", - " random_state=1)" - ] - }, - { - "cell_type": "markdown", - "id": "edc24bfb", - "metadata": {}, - "source": [ - "### Linear Models\n", - "We fit the linear model and evaluate the test error directly." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "32d8de64", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "259.71528833146243" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "hit_lm = LinearRegression().fit(X_train, Y_train)\n", - "Yhat_test = hit_lm.predict(X_test)\n", - "np.abs(Yhat_test - Y_test).mean()" - ] - }, - { - "cell_type": "markdown", - "id": "d60340ef", - "metadata": {}, - "source": [ - "Next we fit the lasso using `sklearn`. We are using\n", - "mean absolute error to select and evaluate a model, rather than mean squared error.\n", - "The specialized solver we used in Section 6.5.2 uses only mean squared error. So here, with a bit more work, we create a cross-validation grid and perform the cross-validation directly. \n", - "\n", - "We encode a pipeline with two steps: we first normalize the features using a `StandardScaler()` transform,\n", - "and then fit the lasso without further normalization." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "46786db6", - "metadata": {}, - "outputs": [], - "source": [ - "scaler = StandardScaler(with_mean=True, with_std=True)\n", - "lasso = Lasso(warm_start=True, max_iter=30000)\n", - "standard_lasso = Pipeline(steps=[('scaler', scaler),\n", - " ('lasso', lasso)])" - ] - }, - { - "cell_type": "markdown", - "id": "e7ff854a", - "metadata": {}, - "source": [ - "We need to create a grid of values for $\\lambda$. As is common practice, \n", - "we choose a grid of 100 values of $\\lambda$, uniform on the log scale from `lam_max` down to `0.01*lam_max`. Here `lam_max` is the smallest value of\n", - "$\\lambda$ with an all-zero solution. This value equals the largest absolute inner-product between any predictor and the (centered) response. {The derivation of this result is beyond the scope of this book.}" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "2b55b38b", - "metadata": {}, - "outputs": [], - "source": [ - "X_s = scaler.fit_transform(X_train)\n", - "n = X_s.shape[0]\n", - "lam_max = np.fabs(X_s.T.dot(Y_train - Y_train.mean())).max() / n\n", - "param_grid = {'alpha': np.exp(np.linspace(0, np.log(0.01), 100))\n", - " * lam_max}" - ] - }, - { - "cell_type": "markdown", - "id": "977dea00", - "metadata": {}, - "source": [ - "Note that we had to transform the data first, since the scale of the variables impacts the choice of $\\lambda$.\n", - "We now perform cross-validation using this sequence of $\\lambda$ values." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "cc44c559", - "metadata": {}, - "outputs": [], - "source": [ - "cv = KFold(10,\n", - " shuffle=True,\n", - " random_state=1)\n", - "grid = GridSearchCV(lasso,\n", - " param_grid,\n", - " cv=cv,\n", - " scoring='neg_mean_absolute_error')\n", - "grid.fit(X_train, Y_train);" - ] - }, - { - "cell_type": "markdown", - "id": "fca88ebb", - "metadata": {}, - "source": [ - "We extract the lasso model with best cross-validated mean absolute error, and evaluate its\n", - "performance on `X_test` and `Y_test`, which were not used in\n", - "cross-validation." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "1bd1fd13", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "257.2382010799497" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "trained_lasso = grid.best_estimator_\n", - "Yhat_test = trained_lasso.predict(X_test)\n", - "np.fabs(Yhat_test - Y_test).mean()" - ] - }, - { - "cell_type": "markdown", - "id": "f19cd1f2", - "metadata": {}, - "source": [ - "This is similar to the results we got for the linear model fit by least squares. However, these results can vary a lot for different train/test splits; we encourage the reader to try a different seed in code block 12 and rerun the subsequent code up to this point.\n", - "\n", - "### Specifying a Network: Classes and Inheritance\n", - "To fit the neural network, we first set up a model structure\n", - "that describes the network.\n", - "Doing so requires us to define new classes specific to the model we wish to fit.\n", - "Typically this is done in `pytorch` by sub-classing a generic\n", - "representation of a network, which is the approach we take here.\n", - "Although this example is simple, we will go through the steps in some detail, since it will serve us well\n", - "for the more complex examples to follow." - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "4b2ccc5a", - "metadata": {}, - "outputs": [], - "source": [ - "class HittersModel(nn.Module):\n", - "\n", - " def __init__(self, input_size):\n", - " super(HittersModel, self).__init__()\n", - " self.flatten = nn.Flatten()\n", - " self.sequential = nn.Sequential(\n", - " nn.Linear(input_size, 50),\n", - " nn.ReLU(),\n", - " nn.Dropout(0.4),\n", - " nn.Linear(50, 1))\n", - "\n", - " def forward(self, x):\n", - " x = self.flatten(x)\n", - " return torch.flatten(self.sequential(x))" - ] - }, - { - "cell_type": "markdown", - "id": "5da217b2", - "metadata": {}, - "source": [ - "The `class` statement identifies the code chunk as a\n", - "declaration for a class `HittersModel`\n", - "that inherits from the base class `nn.Module`. This base\n", - "class is ubiquitous in `torch` and represents the\n", - "mappings in the neural networks.\n", - "\n", - "Indented beneath the `class` statement are the methods of this class:\n", - "in this case `__init__` and `forward`. The `__init__` method is\n", - "called when an instance of the class is created as in the cell\n", - "below. In the methods, `self` always refers to an instance of the\n", - "class. In the `__init__` method, we have attached two objects to\n", - "`self` as attributes: `flatten` and `sequential`. These are used in\n", - "the `forward` method to describe the map that this module implements.\n", - "\n", - "There is one additional line in the `__init__` method, which\n", - "is a call to\n", - "`super()`. This function allows subclasses (i.e. `HittersModel`)\n", - "to access methods of the class they inherit from. For example,\n", - "the class `nn.Module` has its own `__init__` method, which is different from\n", - "the `HittersModel.__init__()` method we’ve written above.\n", - "Using `super()` allows us to call the method of the base class. For\n", - "`torch` models, we will always be making this `super()` call as it is necessary\n", - "for the model to be properly interpreted by `torch`.\n", - "\n", - "The object `nn.Module` has more methods than simply `__init__` and `forward`. These\n", - "methods are directly accessible to `HittersModel` instances because of this inheritance.\n", - "One such method we will see shortly is the `eval()` method, used\n", - "to disable dropout for when we want to evaluate the model on test data." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "108ad1f1", - "metadata": {}, - "outputs": [], - "source": [ - "hit_model = HittersModel(X.shape[1])" - ] - }, - { - "cell_type": "markdown", - "id": "46d750dd", - "metadata": {}, - "source": [ - "The object `self.sequential` is a composition of four maps. The\n", - "first maps the 19 features of `Hitters` to 50 dimensions, introducing $50\\times 19+50$ parameters\n", - "for the weights and *intercept* of the map (often called the *bias*). This layer\n", - "is then mapped to a ReLU layer followed by a 40% dropout layer, and finally a\n", - "linear map down to 1 dimension, again with a bias. The total number of\n", - "trainable parameters is therefore $50\\times 19+50+50+1=1051$." - ] - }, - { - "cell_type": "markdown", - "id": "e0c250c5", - "metadata": {}, - "source": [ - "The package `torchinfo` provides a `summary()` function that neatly summarizes\n", - "this information. We specify the size of the input and see the size\n", - "of each tensor as it passes through layers of the network." - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "2f20059e", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " action_fn=lambda data: sys.getsizeof(data.storage()),\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " return super().__sizeof__() + self.nbytes()\n" - ] - }, - { - "data": { - "text/plain": [ - "===================================================================================================================\n", - "Layer (type:depth-idx) Input Shape Output Shape Param #\n", - "===================================================================================================================\n", - "HittersModel [175, 19] [175] --\n", - "├─Flatten: 1-1 [175, 19] [175, 19] --\n", - "├─Sequential: 1-2 [175, 19] [175, 1] --\n", - "│ └─Linear: 2-1 [175, 19] [175, 50] 1,000\n", - "│ └─ReLU: 2-2 [175, 50] [175, 50] --\n", - "│ └─Dropout: 2-3 [175, 50] [175, 50] --\n", - "│ └─Linear: 2-4 [175, 50] [175, 1] 51\n", - "===================================================================================================================\n", - "Total params: 1,051\n", - "Trainable params: 1,051\n", - "Non-trainable params: 0\n", - "Total mult-adds (M): 0.18\n", - "===================================================================================================================\n", - "Input size (MB): 0.01\n", - "Forward/backward pass size (MB): 0.07\n", - "Params size (MB): 0.00\n", - "Estimated Total Size (MB): 0.09\n", - "===================================================================================================================" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "summary(hit_model, \n", - " input_size=X_train.shape,\n", - " col_names=['input_size',\n", - " 'output_size',\n", - " 'num_params'])" - ] - }, - { - "cell_type": "markdown", - "id": "05a0eb81", - "metadata": {}, - "source": [ - "We have truncated the end of the output slightly, here and in subsequent uses.\n", - "\n", - "We now need to transform our training data into a form accessible to `torch`.\n", - "The basic\n", - "datatype in `torch` is a `tensor`, which is very similar\n", - "to an `ndarray` from early chapters.\n", - "We also note here that `torch` typically\n", - "works with 32-bit (*single precision*)\n", - "rather than 64-bit (*double precision*) floating point numbers.\n", - "We therefore convert our data to `np.float32` before\n", - "forming the tensor.\n", - "The $X$ and $Y$ tensors are then arranged into a `Dataset`\n", - "recognized by `torch`\n", - "using `TensorDataset()`." - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "6ca3030d", - "metadata": {}, - "outputs": [], - "source": [ - "X_train_t = torch.tensor(X_train.astype(np.float32))\n", - "Y_train_t = torch.tensor(Y_train.astype(np.float32))\n", - "hit_train = TensorDataset(X_train_t, Y_train_t)" - ] - }, - { - "cell_type": "markdown", - "id": "7924f53d", - "metadata": {}, - "source": [ - "We do the same for the test data." - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "86723b3e", - "metadata": {}, - "outputs": [], - "source": [ - "X_test_t = torch.tensor(X_test.astype(np.float32))\n", - "Y_test_t = torch.tensor(Y_test.astype(np.float32))\n", - "hit_test = TensorDataset(X_test_t, Y_test_t)" - ] - }, - { - "cell_type": "markdown", - "id": "0d055846", - "metadata": {}, - "source": [ - "Finally, this dataset is passed to a `DataLoader()` which ultimately\n", - "passes data into our network. While this may seem\n", - "like a lot of overhead, this structure is helpful for more\n", - "complex tasks where data may live on different machines,\n", - "or where data must be passed to a GPU.\n", - "We provide a helper function `SimpleDataModule()` in `ISLP` to make this task easier for\n", - "standard usage.\n", - "One of its arguments is `num_workers`, which indicates\n", - "how many processes we will use\n", - "for loading the data. For small\n", - "data like `Hitters` this will have little effect, but\n", - "it does provide an advantage for the `MNIST` and `CIFAR100` examples below.\n", - "The `torch` package will inspect the process running and determine a\n", - "maximum number of workers. {This depends on the computing hardware and the number of cores available.} We’ve included a function\n", - "`rec_num_workers()` to compute this so we know how many\n", - "workers might be reasonable (here the max was 16)." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "999279fd", - "metadata": {}, - "outputs": [], - "source": [ - "max_num_workers = rec_num_workers()" - ] - }, - { - "cell_type": "markdown", - "id": "9fe60b31", - "metadata": {}, - "source": [ - "The general training setup in `pytorch_lightning` involves\n", - "training, validation and test data. These are each\n", - "represented by different data loaders. During each epoch,\n", - "we run a training step to learn the model and a validation\n", - "step to track the error. The test data is typically\n", - "used at the end of training to evaluate the model.\n", - "\n", - "In this case, as we had split only into test and training,\n", - "we’ll use the test data as validation data with the\n", - "argument `validation=hit_test`. The\n", - "`validation` argument can be a float between 0 and 1, an\n", - "integer, or a\n", - "`Dataset`. If a float (respectively, integer), it is interpreted\n", - "as a percentage (respectively number) of the *training* observations to be used for validation.\n", - "If it is a `Dataset`, it is passed directly to a data loader." - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "7bd9cc5c", - "metadata": {}, - "outputs": [], - "source": [ - "hit_dm = SimpleDataModule(hit_train,\n", - " hit_test,\n", - " batch_size=32,\n", - " num_workers=min(4, max_num_workers),\n", - " validation=hit_test)" - ] - }, - { - "cell_type": "markdown", - "id": "9be1f578", - "metadata": {}, - "source": [ - "Next we must provide a `pytorch_lightning` module that controls\n", - "the steps performed during the training process. We provide methods for our\n", - "`SimpleModule()` that simply record the value\n", - "of the loss function and any additional\n", - "metrics at the end of each epoch. These operations\n", - "are controlled by the methods `SimpleModule.[training/test/validation]_step()`, though\n", - "we will not be modifying these in our examples." - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "5be2f822", - "metadata": {}, - "outputs": [], - "source": [ - "hit_module = SimpleModule.regression(hit_model,\n", - " metrics={'mae':MeanAbsoluteError()})" - ] - }, - { - "cell_type": "markdown", - "id": "78e707d8", - "metadata": {}, - "source": [ - " By using the `SimpleModule.regression()` method, we indicate that we will use squared-error loss as in\n", - "(10.23).\n", - "We have also asked for mean absolute error to be tracked as well\n", - "in the metrics that are logged.\n", - "\n", - "We log our results via `CSVLogger()`, which in this case stores the results in a CSV file within a directory `logs/hitters`. After the fitting is complete, this allows us to load the\n", - "results as a `pd.DataFrame()` and visualize them below. There are\n", - "several ways to log the results within `pytorch_lightning`, though\n", - "we will not cover those here in detail." - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "87334d33", - "metadata": {}, - "outputs": [], - "source": [ - "hit_logger = CSVLogger('logs', name='hitters')" - ] - }, - { - "cell_type": "markdown", - "id": "07663639", - "metadata": {}, - "source": [ - "Finally we are ready to train our model and log the results. We\n", - "use the `Trainer()` object from `pytorch_lightning`\n", - "to do this work. The argument `datamodule=hit_dm` tells the trainer\n", - "how training/validation/test logs are produced,\n", - "while the first argument `hit_module`\n", - "specifies the network architecture\n", - "as well as the training/validation/test steps.\n", - "The `callbacks` argument allows for\n", - "several tasks to be carried out at various\n", - "points while training a model. Here\n", - "our `ErrorTracker()` callback will enable\n", - "us to compute validation error while training\n", - "and, finally, the test error.\n", - "We now fit the model for 50 epochs." - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "1a474999", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (mps), used: False\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", - " rank_zero_warn(\n", - "\n", - " | Name | Type | Params\n", - "---------------------------------------\n", - "0 | model | HittersModel | 1.1 K \n", - "1 | loss | MSELoss | 0 \n", - "---------------------------------------\n", - "1.1 K Trainable params\n", - "0 Non-trainable params\n", - "1.1 K Total params\n", - "0.004 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7f1f820ee6fa4d81a3736b68611f3bac", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - } - ], - "source": [ - "hit_trainer = Trainer(deterministic=True,\n", - " max_epochs=50,\n", - " log_every_n_steps=5,\n", - " logger=hit_logger,\n", - " callbacks=[ErrorTracker()])\n", - "hit_trainer.fit(hit_module, datamodule=hit_dm)" - ] - }, - { - "cell_type": "markdown", - "id": "5e154e47", - "metadata": {}, - "source": [ - "At each step of SGD, the algorithm randomly selects 32 training observations for\n", - "the computation of the gradient. Recall from Section 10.7\n", - "that an epoch amounts to the number of SGD steps required to process $n$\n", - "observations. Since the training set has\n", - "$n=175$, and we specified a `batch_size` of 32 in the construction of `hit_dm`, an epoch is $175/32=5.5$ SGD steps.\n", - "\n", - "After having fit the model, we can evaluate performance on our test\n", - "data using the `test()` method of our trainer." - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "e3b24643", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ce9e57deabef4f55aba22efb507872f1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Testing: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " Test metric DataLoader 0\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " test_loss 103304.8515625\n", - " test_mae 224.26962280273438\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" - ] - }, - { - "data": { - "text/plain": [ - "[{'test_loss': 103304.8515625, 'test_mae': 224.26962280273438}]" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "hit_trainer.test(hit_module, datamodule=hit_dm)" - ] - }, - { - "cell_type": "markdown", - "id": "0220713b", - "metadata": {}, - "source": [ - "The results of the fit have been logged into a CSV file. We can find the\n", - "results specific to this run in the `experiment.metrics_file_path`\n", - "attribute of our logger. Note that each time the model is fit, the logger will output\n", - "results into a new subdirectory of our directory `logs/hitters`.\n", - "\n", - "We now create a plot of the MAE (mean absolute error) as a function of\n", - "the number of epochs.\n", - "First we retrieve the logged summaries." - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "f9b266e7", - "metadata": {}, - "outputs": [], - "source": [ - "hit_results = pd.read_csv(hit_logger.experiment.metrics_file_path)" - ] - }, - { - "cell_type": "markdown", - "id": "b7ff26d7", - "metadata": {}, - "source": [ - "Since we will produce similar plots in later examples, we write a\n", - "simple generic function to produce this plot." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "c5752a0b", - "metadata": {}, - "outputs": [], - "source": [ - "def summary_plot(results,\n", - " ax,\n", - " col='loss',\n", - " valid_legend='Validation',\n", - " training_legend='Training',\n", - " ylabel='Loss',\n", - " fontsize=20):\n", - " for (column,\n", - " color,\n", - " label) in zip([f'train_{col}_epoch',\n", - " f'valid_{col}'],\n", - " ['black',\n", - " 'red'],\n", - " [training_legend,\n", - " valid_legend]):\n", - " results.plot(x='epoch',\n", - " y=column,\n", - " label=label,\n", - " marker='o',\n", - " color=color,\n", - " ax=ax)\n", - " ax.set_xlabel('Epoch')\n", - " ax.set_ylabel(ylabel)\n", - " return ax" - ] - }, - { - "cell_type": "markdown", - "id": "874c2611", - "metadata": {}, - "source": [ - "We now set up our axes, and use our function to produce the MAE plot." - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "ff0c9fa0", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhwAAAISCAYAAACH9BYMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABWZklEQVR4nO3de3wU5aH/8e8mQCRggrmQCwnEC3JRQEXF1KIglHApPzRwVOQoKgcqBguiaDn1hu0Raz0K3sDzaxX7q4ACQatVOIgJIEZFFEGLVGk0gEkQKQkJEmDz/P4Iu2WT7O4s2dlL+Lxfr3nBzkxmnp1sZr77zPM84zDGGAEAANgoJtwFAAAArR+BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYLmICx6OPPiqHw6EZM2a45x0+fFgFBQVKTk5Wx44dNXbsWFVWVnr8XFlZmUaNGqX4+Hh17txZs2bN0rFjx0JcegAA4EtEBI5Nmzbp+eefV9++fT3m33nnnXrjjTe0bNkyrVu3Tt99953y8/Pdy51Op0aNGqUjR47o/fff10svvaRFixbpgQceCPVbAAAAPjjC/fC2mpoaXXTRRXruuef029/+VhdccIHmzZunqqoqpaamavHixRo3bpwk6csvv1SvXr1UUlKiyy67TG+//bZ+/vOf67vvvlNaWpokaeHChbr33nv1/fffq127duF8awAA4Lg24S5AQUGBRo0apaFDh+q3v/2te/7mzZt19OhRDR061D2vZ8+e6tq1qztwlJSUqE+fPu6wIUl5eXmaOnWqvvjiC1144YXN7rOurk51dXXu1/X19dq/f7+Sk5PlcDhseJcAALROxhgdPHhQmZmZionxfuMkrIFj6dKl+uSTT7Rp06YmyyoqKtSuXTt16tTJY35aWpoqKirc65wYNlzLXcu8mTt3rubMmdPC0gMAAJddu3YpKyvL6/KwBY5du3Zp+vTpWrNmjU477bSQ7nv27NmaOXOm+3VVVZW6du2qXbt2KSEhIaRlAQAgmlVXVys7O1unn366z/XCFjg2b96svXv36qKLLnLPczqdWr9+vZ555hmtXr1aR44c0YEDBzxqOSorK5Weni5JSk9P10cffeSxXVcvFtc6zYmLi1NcXFyT+QkJCQQOAABOgr8mCWHrpTJkyBBt27ZNW7ZscU8XX3yxJkyY4P5/27ZttXbtWvfP7NixQ2VlZcrNzZUk5ebmatu2bdq7d697nTVr1ighIUG9e/cO+XsCAADNC1sNx+mnn67zzz/fY16HDh2UnJzsnj9p0iTNnDlTSUlJSkhI0B133KHc3FxddtllkqRhw4apd+/euvHGG/XYY4+poqJC9913nwoKCpqtwQAAAOER9l4qvjz55JOKiYnR2LFjVVdXp7y8PD333HPu5bGxsXrzzTc1depU5ebmqkOHDpo4caIefvjhMJYaAAA0FvZxOCJBdXW1EhMTVVVVRRsOACHjdDp19OjRcBcD8Ck2NlZt2rTx2kbD6jU0oms4AKC1qqmp0e7du8V3PkSD+Ph4ZWRktGhATQIHAISY0+nU7t27FR8fr9TUVAYcRMQyxujIkSP6/vvvVVpaqu7du/sc3MsXAgcAhNjRo0dljFFqaqrat28f7uIAPrVv315t27bVt99+qyNHjpz02FkR8fA2ADgVUbOBaHGytRoe2whCOQAAAHwicAAAANsROAAgSjmdThUXF2vJkiUqLi6W0+kMd5EClpOTo3nz5llev7i4WA6HQwcOHLCtTLAHgQMAolBhYaFycnI0ePBg3XDDDRo8eLBycnJUWFhoy/4cDofP6aGHHjqp7W7atElTpkyxvP5PfvITlZeXKzEx8aT2h/ChlwoARJnCwkKNGzeuyRgee/bs0bhx47R8+XLl5+cHdZ/l5eXu/7/yyit64IEHtGPHDve8jh07uv9vjJHT6VSbNv4vMampqQGVo127dj4fzonIRQ0HAISZMUa1tbWWpurqav3yl79sdsAw17zp06erurra0vasDjyWnp7unhITE+VwONyvv/zyS51++ul6++231b9/f8XFxem9997Tzp07NWbMGKWlpaljx4665JJL9M4773hst/EtFYfDoT/84Q+65pprFB8fr+7du+svf/mLe3njWyqLFi1Sp06dtHr1avXq1UsdO3bU8OHDPQLSsWPH9Mtf/lKdOnVScnKy7r33Xk2cOFFXX321xd8QgoHAAQBhdujQIXXs2NHSlJiYqD179njdljFGu3fvVmJioqXtHTp0KGjv41e/+pUeffRRbd++XX379lVNTY1GjhyptWvX6tNPP9Xw4cM1evRolZWV+dzOnDlzdO2112rr1q0aOXKkJkyYoP3793td/9ChQ3r88cf1//7f/9P69etVVlamu+++2738d7/7nV5++WW9+OKL2rhxo6qrq/Xaa68F623DIgIHACAoHn74Yf3sZz/T2WefraSkJPXr10+/+MUvdP7556t79+76zW9+o7PPPtujxqI5N998s8aPH69zzjlHjzzyiGpqavTRRx95Xf/o0aNauHChLr74Yl100UWaNm2a1q5d617+9NNPa/bs2brmmmvUs2dPPfPMM+rUqVOw3jYsog0HAIRZfHy8ampqLK27fv16jRw50u96b731lq644gpL+w6Wiy++2ON1TU2NHnroIf31r39VeXm5jh07ph9//NFvDUffvn3d/+/QoYMSEhK0d+9er+vHx8fr7LPPdr/OyMhwr19VVaXKykpdeuml7uWxsbHq37+/6uvrA3p/aBkCBwCEmcPhUIcOHSytO2zYMGVlZWnPnj3Ntr9wOBzKysrSsGHDFBsbG+yi+tT4Pdx9991as2aNHn/8cZ1zzjlq3769xo0bpyNHjvjcTtu2bT1eOxwOn+GgufV5KF7k4ZYKAESR2NhYzZ8/X1LTodFdr+fNmxfysNGcjRs36uabb9Y111yjPn36KD09Xd98801Iy5CYmKi0tDRt2rTJPc/pdOqTTz4JaTlA4ACAqJOfn6/ly5erS5cuHvOzsrJs6RJ7srp3767CwkJt2bJFn332mW644Yaw3Ma44447NHfuXL3++uvasWOHpk+frn/+8588yybEuKUCAFEoPz9fY8aM0YYNG1ReXq6MjAwNHDgwImo2XJ544gndeuut+slPfqKUlBTde++9qq6uDnk57r33XlVUVOimm25SbGyspkyZory8vIg6VqcCh+FGl6qrq5WYmKiqqiolJCSEuzgAWrnDhw+rtLRUZ5555kk/6hsnr76+Xr169dK1116r3/zmN+EuTlTw9Zm1eg2lhgMA0Kp9++23+t///V9deeWVqqur0zPPPKPS0lLdcMMN4S7aKYU2HACAVi0mJkaLFi3SJZdcossvv1zbtm3TO++8o169eoW7aKcUajgAAK1adna2Nm7cGO5inPKo4QAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwCildMpFRdLS5Y0/Ot0hrtEfg0aNEgzZsxwv87JydG8efN8/ozD4dBrr73W4n0HaztWXHHFFVq8eHFI9tUS+/btU+fOnbV7927b90XgAIBoVFgo5eRIgwdLN9zQ8G9OTsN8G4wePVrDhw9vdtmGDRvkcDi0devWgLe7adMmTZkypaXF8/DQQw/pggsuaDK/vLxcI0aMCOq+mvOXv/xFlZWVuv766wP+2ZtvvlkOh8PrlJOTc9Lluvnmm3X11Vd7zEtJSdFNN92kBx988KS3axWBAwCiTWGhNG6c1Phb6Z49DfNtCB2TJk3SmjVrmv0m/OKLL+riiy9W3759A95uamqq4uPjg1FEv9LT0xUXF2f7fp566indcsstiokJ/BI7f/58lZeXuyep4fi6Xm/atCnYxdUtt9yil19+Wfv37w/6tk9E4ACAcDNGqq21NlVXS7/8ZcPPNLcdSZo+vWE9K9uz+PzOn//850pNTdWiRYs85tfU1GjZsmWaNGmSfvjhB40fP15dunRRfHy8+vTpoyVLlvjcbuNbKl999ZWuuOIKnXbaaerdu7fWrFnT5GfuvfdenXvuuYqPj9dZZ52l+++/X0ePHpUkLVq0SHPmzNFnn33mrhVwlbnxLZVt27bpqquuUvv27ZWcnKwpU6aopqbGvdxVI/D4448rIyNDycnJKigocO+rOd9//73effddjR492uf79iYxMVHp6enuSZI6derkfl1ZWakRI0aoY8eOSktL04033qh9+/a5f3758uXq06eP+z0NHTpUtbW1euihh/TSSy/p9ddfdx+X4uJiSdJ5552nzMxMrVy58qTKbBWBAwDC7dAhqWNHa1NiYkNNhjfGNNR8JCZa296hQ5aK2KZNG910001atGiRTnzI+LJly+R0OjV+/HgdPnxY/fv311//+ld9/vnnmjJlim688UZ99NFHlvZRX1+v/Px8tWvXTh9++KEWLlyoe++9t8l6p59+uhYtWqS//e1vmj9/vv7v//2/evLJJyVJ1113ne666y6dd9557lqB6667rsk2amtrlZeXpzPOOEObNm3SsmXL9M4772jatGke6xUVFWnnzp0qKirSSy+9pEWLFjUJXSd67733FB8f3+Q5La6Q4G0677zz/B6fAwcO6KqrrtKFF16ojz/+WKtWrVJlZaWuvfZaSQ23jMaPH69bb71V27dvV3FxsfLz82WM0d13361rr71Ww4cPdx+Xn/zkJ+5tX3rppdqwYYPfMrQEz1IBAFhy66236ve//73WrVunQYMGSWqo7h87dqwSExOVmJiou+++273+HXfcodWrV+vVV1/VpZde6nf777zzjr788kutXr1amZmZkqRHHnmkSbuL++67z/3/nJwc3X333Vq6dKnuuecetW/fXh07dlSbNm3cNQTNWbx4sQ4fPqw//elP6tChgyTpmWee0ejRo/W73/1OaWlpkqQzzjhDzzzzjGJjY9WzZ0+NGjVKa9eu1eTJk5vd7rfffqu0tLQmt1P+8Ic/6Mcff/RanrZt2/o4MnKX78ILL9QjjzzinvfCCy8oOztbf//731VTU6Njx44pPz9f3bp1kyT16dPHvW779u1VV1fX7HHJzMzUp59+6rcMLUHgAIBwi4+XTqjK92n9emnkSP/rvfWWdMUV1vZtUc+ePfWTn/xEL7zwggYNGqSvv/5aGzZs0MMPPyxJcjqdeuSRR/Tqq69qz549OnLkiOrq6iy30di+fbuys7PdYUOScnNzm6z3yiuv6KmnntLOnTvdF9mEhATL78O1r379+rnDhiRdfvnlqq+v144dO9yB47zzzlNsbKx7nYyMDG3bts3rdn/88UeddtppTeZ36dIloPI157PPPlNRUZE6duzYZNnOnTs1bNgwDRkyRH369FFeXp6GDRumcePG6YwzzvC77fbt2+uQxdquk8UtFQAIN4dD6tDB2jRsmJSV1fAz3raVnd2wnpXteduOF5MmTdKKFSt08OBBvfjiizr77LN15ZVXSpJ+//vfa/78+br33ntVVFSkLVu2KC8vT0eOHGnpEXIrKSnRhAkTNHLkSL355pv69NNP9etf/zqo+zhR45oHh8Oh+vp6r+unpKTon//8Z5P5wbilUlNTo9GjR2vLli0ek6vdS2xsrNasWaO3335bvXv31tNPP60ePXqotLTU77b379+v1NRUv+u1BDUcABBNYmOl+fMbeqM4HJ6NPl3hYd68hvVscO2112r69OlavHix/vSnP2nq1KlyHN/vxo0bNWbMGP37v/+7pIY2GX//+9/Vu3dvS9vu1auXdu3apfLycmVkZEiSPvjgA4913n//fXXr1k2//vWv3fO+/fZbj3XatWsnp58xSXr16qVFixaptrbWXcuxceNGxcTEqEePHpbK25wLL7xQFRUV+uc//+lRsxCMWyoXXXSRVqxYoZycHLVp0/zl2+Fw6PLLL9fll1+uBx54QN26ddPKlSs1c+ZMn8fl888/d98msws1HAAQbfLzpeXLpcbV9FlZDfPz823bdceOHXXddddp9uzZKi8v18033+xe1r17d61Zs0bvv/++tm/frl/84heqrKy0vO2hQ4fq3HPP1cSJE/XZZ59pw4YNHsHCtY+ysjItXbpUO3fu1FNPPdWkd0VOTo5KS0u1ZcsW7du3T3V1dU32NWHCBJ122mmaOHGiPv/8cxUVFemOO+7QjTfe6L6dcjIuvPBCpaSkaOPGjR7zu3TponPOOcfr5Gpz4UtBQYH279+v8ePHa9OmTdq5c6dWr16tW265RU6nUx9++KEeeeQRffzxxyorK1NhYaG+//57dwPWnJwcbd26VTt27NC+ffvcvW0OHTqkzZs3a9iwYSf9vq0gcABANMrPl775RioqkhYvbvi3tNTWsOEyadIk/fOf/1ReXp5He4v77rtPF110kfLy8jRo0CClp6c3GWjKl5iYGK1cuVI//vijLr30Uv3Hf/yH/uu//stjnf/zf/6P7rzzTk2bNk0XXHCB3n//fd1///0e64wdO1bDhw/X4MGDlZqa2mzX3Pj4eK1evVr79+/XJZdconHjxmnIkCF65plnAjsYjcTGxrrHtQi2zMxMbdy4UU6nU8OGDVOfPn00Y8YMderUSTExMUpISND69es1cuRInXvuubrvvvv03//93+5Gt5MnT1aPHj108cUXKzU11R2KXn/9dXXt2lUDBw4MeplP5DDGYifsVqy6ulqJiYmqqqoKuOERAATq8OHDKi0t1ZlnntlsA0NEt4qKCp133nn65JNPLNVchNtll12mX/7yl7rhhhu8ruPrM2v1GkoNBwAAQZSenq4//vGPKisrC3dR/Nq3b5/y8/M1fvx42/dFo1EAAIIskFtJ4ZSSkqJ77rknJPuihgMAANiOwAEAAGxH4ACAMKHNPqJFMD6rBA4ACDHXUNl2jY4JBJtr2HMrA5R5Q6NRAAixNm3aKD4+Xt9//73atm3b5EFfQKQwxujQoUPau3evOnXq5PFcmUAROAAgxBwOhzIyMlRaWtpkWG4gEnXq1Mnn03etCGvgWLBggRYsWKBvvvlGUsNT+R544AH3qGiDBg3SunXrPH7mF7/4hRYuXOh+XVZWpqlTp7qfoDdx4kTNnTvX6zjzABAJ2rVrp+7du3NbBRGvbdu2LarZcAnrVTkrK0uPPvqounfvLmOMXnrpJY0ZM0affvqp+8l5kydPdj/6WJLHY46dTqdGjRql9PR0vf/++yovL9dNN92ktm3b6pFHHgn5+wGAQMTExDDSKE4ZETe0eVJSkn7/+99r0qRJGjRokC644ALNmzev2XXffvtt/fznP9d3333nftjOwoULde+99+r7779Xu3btmv25uro6j4f5VFdXKzs7m6HNAQAIUNQNbe50OrV06VLV1tYqNzfXPf/ll19WSkqKzj//fM2ePdvdUlaSSkpK1KdPH48n++Xl5am6ulpffPGF133NnTtXiYmJ7ik7O9ueNwUAACRFQKPRbdu2KTc3V4cPH1bHjh21cuVK9e7dW5J0ww03qFu3bsrMzNTWrVt17733aseOHSosLJTU8ICcxo8Rdr2uqKjwus/Zs2dr5syZ7teuGg4AAGCPsAeOHj16aMuWLaqqqtLy5cs1ceJErVu3Tr1799aUKVPc6/Xp00cZGRkaMmSIdu7cqbPPPvuk9xkXF6e4uLhgFB8AAFgQ9lsq7dq10znnnKP+/ftr7ty56tevn+bPn9/sugMGDJAkff3115IanshXWVnpsY7rdUu77wAAgOAJe+BorL6+3qNB54m2bNkiScrIyJAk5ebmatu2bdq7d697nTVr1ighIcF9WwYAAIRfWG+pzJ49WyNGjFDXrl118OBBLV68WMXFxVq9erV27typxYsXa+TIkUpOTtbWrVt155136oorrlDfvn0lScOGDVPv3r1144036rHHHlNFRYXuu+8+FRQUcMsEAIAIEtbAsXfvXt10000qLy9XYmKi+vbtq9WrV+tnP/uZdu3apXfeeUfz5s1TbW2tsrOzNXbsWN13333un4+NjdWbb76pqVOnKjc3Vx06dNDEiRM9xu0AAADhF3HjcISD1T7EAADAU9SNwwEAAFovAgcAALAdgQMAANiOwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYjsABAABsR+AAAAC2I3AAAADbETgAAIDtCBwAAMB2BA4AAGA7AgcAALAdgQMAANiOwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA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9tXZZ5+t4uJiDRky5KS3GxcXp7i4uGAUEQAAWBDRNRyNnXXWWUpJSdHXX38tSUpPT9fevXs91jl27Jj279/vtd0HAAAIvagKHLt379YPP/ygjIwMSVJubq4OHDigzZs3u9d59913VV9frwEDBoSrmAAAoJGw3lKpqalx11ZIUmlpqbZs2aKkpCQlJSVpzpw5Gjt2rNLT07Vz507dc889Ouecc5SXlydJ6tWrl4YPH67Jkydr4cKFOnr0qKZNm6brr7/eaw8VAAAQeg5jjAnXzouLizV48OAm8ydOnKgFCxbo6quv1qeffqoDBw4oMzNTw4YN029+8xulpaW5192/f7+mTZumN954QzExMRo7dqyeeuopdezY0XI5qqurlZiYqKqqKiUkJATlvQEAcCqweg0Na+CIFAQOAABOjtVraFS14QAAANGJwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYjsABAABsR+AAAAC2I3AAAADbETgAAIDtCBwAAMB2BA4AAGA7AgcAALAdgQMAANiOwAEAAGxH4AAAALYjcAAAANsROAAAgO0IHAAAwHYEDgAAYDsCBwAAsB2BAwAA2I7AAQAAbEfgAAAAtiNwAAAA2xE4AACA7QgcAADAdgQOAABgOwIHAACwHYEDAADYjsABAABsR+AAAAC2I3AAAADbETgAAIDtCBwAAMB2BA4AAGC7sAaO9evXa/To0crMzJTD4dBrr73msdwYowceeEAZGRlq3769hg4dqq+++spjnf3792vChAlKSEhQp06dNGnSJNXU1ITwXQAAAH/CGjhqa2vVr18/Pfvss80uf+yxx/TUU09p4cKF+vDDD9WhQwfl5eXp8OHD7nUmTJigL774QmvWrNGbb76p9evXa8qUKaF6CwAAwAKHMcaEuxCS5HA4tHLlSl199dWSGmo3MjMzddddd+nuu++WJFVVVSktLU2LFi3S9ddfr+3bt6t3797atGmTLr74YknSqlWrNHLkSO3evVuZmZnN7quurk51dXXu19XV1crOzlZVVZUSEhLsfaMAALQi1dXVSkxM9HsNjdg2HKWlpaqoqNDQoUPd8xITEzVgwACVlJRIkkpKStSp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XC/qA0dKSopiY2NVWVnpMb+yslLp6enN/kxcXJzi4uI85nXq1MmW8iUkJET8B8yFstqDstojmsoqRVd5Kas9WnNZfdVsuER9o9F27dqpf//+Wrt2rXtefX291q5dq9zc3DCWDAAAuER9DYckzZw5UxMnTtTFF1+sSy+9VPPmzVNtba1uueWWcBcNAAColQSO6667Tt9//70eeOABVVRU6IILLtCqVauaNCQNpbi4OD344INNbt1EIspqD8pqj2gqqxRd5aWs9qCsDRzGXz8WAACAFor6NhwAACDyETgAAIDtCBwAAMB2BA4AAGA7AocNnn32WeXk5Oi0007TgAED9NFHH4W7SM166KGH5HA4PKaePXuGu1iSpPXr12v06NHKzMyUw+HQa6+95rHcGKMHHnhAGRkZat++vYYOHaqvvvoqIst68803NznOw4cPD0tZ586dq0suuUSnn366OnfurKuvvlo7duzwWOfw4cMqKChQcnKyOnbsqLFjxzYZWC9Syjpo0KAmx/a2224LeVkXLFigvn37ugdLys3N1dtvv+1eHinH1EpZI+WYNufRRx+Vw+HQjBkz3PMi6dieqLmyRsqx9Xfut+uYEjiC7JVXXtHMmTP14IMP6pNPPlG/fv2Ul5envXv3hrtozTrvvPNUXl7unt57771wF0mSVFtbq379+unZZ59tdvljjz2mp556SgsXLtSHH36oDh06KC8vT4cPHw5xSf2XVZKGDx/ucZyXLFkSwhL+y7p161RQUKAPPvhAa9as0dGjRzVs2DDV1ta617nzzjv1xhtvaNmyZVq3bp2+++475efnR2RZJWny5Mkex/axxx4LeVmzsrL06KOPavPmzfr444911VVXacyYMfriiy8kRc4xtVJWKTKOaWObNm3S888/r759+3rMj6Rj6+KtrFLkHFtf537bjqlBUF166aWmoKDA/drpdJrMzEwzd+7cMJaqeQ8++KDp169fuIvhlySzcuVK9+v6+nqTnp5ufv/737vnHThwwMTFxZklS5aEoYT/0risxhgzceJEM2bMmLCUx5+9e/caSWbdunXGmIbj2LZtW7Ns2TL3Otu3bzeSTElJSbiKaYxpWlZjjLnyyivN9OnTw1coH8444wzzhz/8IaKPqYurrMZE5jE9ePCg6d69u1mzZo1H+SLx2HorqzGRc2x9nfvtPKbUcATR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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "fig, ax = subplots(1, 1, figsize=(6, 6))\n", - "ax = summary_plot(hit_results,\n", - " ax,\n", - " col='mae',\n", - " ylabel='MAE',\n", - " valid_legend='Validation (=Test)')\n", - "ax.set_ylim([0, 400])\n", - "ax.set_xticks(np.linspace(0, 50, 11).astype(int));" - ] - }, - { - "cell_type": "markdown", - "id": "212c64a3", - "metadata": {}, - "source": [ - "We can predict directly from the final model, and\n", - "evaluate its performance on the test data.\n", - "Before fitting, we call the `eval()` method\n", - "of `hit_model`.\n", - "This tells\n", - "`torch` to effectively consider this model to be fitted, so that\n", - "we can use it to predict on new data. For our model here,\n", - "the biggest change is that the dropout layers will\n", - "be turned off, i.e. no weights will be randomly\n", - "dropped in predicting on new data." - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "1ee2b61b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "tensor(224.2696, grad_fn=)" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "hit_model.eval() \n", - "preds = hit_module(X_test_t)\n", - "torch.abs(Y_test_t - preds).mean()" - ] - }, - { - "cell_type": "markdown", - "id": "64fa7609", - "metadata": {}, - "source": [ - "### Cleanup\n", - "In setting up our data module, we had initiated\n", - "several worker processes that will remain running.\n", - "We delete all references to the torch objects to ensure these processes\n", - "will be killed." - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "0ca069a3", - "metadata": {}, - "outputs": [], - "source": [ - "del(Hitters,\n", - " hit_model, hit_dm,\n", - " hit_logger,\n", - " hit_test, hit_train,\n", - " X, Y,\n", - " X_test, X_train,\n", - " Y_test, Y_train,\n", - " X_test_t, Y_test_t,\n", - " hit_trainer, hit_module)" - ] - }, - { - "cell_type": "markdown", - "id": "ac321b7f", - "metadata": {}, - "source": [ - "## Multilayer Network on the MNIST Digit Data\n", - "The `torchvision` package comes with a number of example datasets,\n", - "including the `MNIST` digit data. Our first step is to retrieve\n", - "the training and test data sets; the `MNIST()` function within\n", - "`torchvision.datasets` is provided for this purpose. The\n", - "data will be downloaded the first time this function is executed, and stored in the directory `data/MNIST`." - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "af6a0a33", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Dataset MNIST\n", - " Number of datapoints: 60000\n", - " Root location: data\n", - " Split: Train\n", - " StandardTransform\n", - "Transform: ToTensor()" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(mnist_train, \n", - " mnist_test) = [MNIST(root='data',\n", - " train=train,\n", - " download=True,\n", - " transform=ToTensor())\n", - " for train in [True, False]]\n", - "mnist_train" - ] - }, - { - "cell_type": "markdown", - "id": "6c8aa040", - "metadata": {}, - "source": [ - "There are 60,000 images in the training data and 10,000 in the test\n", - "data. The images are $28\\times 28$, and stored as a matrix of pixels. We\n", - "need to transform each one into a vector.\n", - "\n", - "Neural networks are somewhat sensitive to the scale of the inputs, much as ridge and\n", - "lasso regularization are affected by scaling. Here the inputs are eight-bit\n", - "grayscale values between 0 and 255, so we rescale to the unit\n", - "interval. {Note: eight bits means $2^8$, which equals 256. Since the convention\n", - "is to start at $0$, the possible values range from $0$ to $255$.}\n", - "This transformation, along with some reordering\n", - "of the axes, is performed by the `ToTensor()` transform\n", - "from the `torchvision.transforms` package.\n", - "\n", - "As in our `Hitters` example, we form a data module\n", - "from the training and test datasets, setting aside 20%\n", - "of the training images for validation." - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "0df8a0c8", - "metadata": {}, - "outputs": [], - "source": [ - "mnist_dm = SimpleDataModule(mnist_train,\n", - " mnist_test,\n", - " validation=0.2,\n", - " num_workers=max_num_workers,\n", - " batch_size=256)" - ] - }, - { - "cell_type": "markdown", - "id": "3dc50b18", - "metadata": {}, - "source": [ - "Let’s take a look at the data that will get fed into our network. We loop through the first few\n", - "chunks of the test dataset, breaking after 2 batches:" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "0c7dd6ee", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "X: torch.Size([256, 1, 28, 28])\n", - "Y: torch.Size([256])\n", - "X: torch.Size([256, 1, 28, 28])\n", - "Y: torch.Size([256])\n" - ] - } - ], - "source": [ - "for idx, (X_ ,Y_) in enumerate(mnist_dm.train_dataloader()):\n", - " print('X: ', X_.shape)\n", - " print('Y: ', Y_.shape)\n", - " if idx >= 1:\n", - " break" - ] - }, - { - "cell_type": "markdown", - "id": "cc80f21e", - "metadata": {}, - "source": [ - "We see that the $X$ for each batch consists of 256 images of size `1x28x28`.\n", - "Here the `1` indicates a single channel (greyscale). For RGB images such as `CIFAR100` below,\n", - "we will see that the `1` in the size will be replaced by `3` for the three RGB channels.\n", - "\n", - "Now we are ready to specify our neural network." - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "63e48c70", - "metadata": {}, - "outputs": [], - "source": [ - "class MNISTModel(nn.Module):\n", - " def __init__(self):\n", - " super(MNISTModel, self).__init__()\n", - " self.layer1 = nn.Sequential(\n", - " nn.Flatten(),\n", - " nn.Linear(28*28, 256),\n", - " nn.ReLU(),\n", - " nn.Dropout(0.4))\n", - " self.layer2 = nn.Sequential(\n", - " nn.Linear(256, 128),\n", - " nn.ReLU(),\n", - " nn.Dropout(0.3))\n", - " self._forward = nn.Sequential(\n", - " self.layer1,\n", - " self.layer2,\n", - " nn.Linear(128, 10))\n", - " def forward(self, x):\n", - " return self._forward(x)" - ] - }, - { - "cell_type": "markdown", - "id": "d5a5ffef", - "metadata": {}, - "source": [ - "We see that in the first layer, each `1x28x28` image is flattened, then mapped to\n", - "256 dimensions where we apply a ReLU activation with 40% dropout.\n", - "A second layer maps the first layer’s output down to\n", - "128 dimensions, applying a ReLU activation with 30% dropout. Finally,\n", - "the 128 dimensions are mapped down to 10, the number of classes in the\n", - "`MNIST` data." - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "92405826", - "metadata": {}, - "outputs": [], - "source": [ - "mnist_model = MNISTModel()" - ] - }, - { - "cell_type": "markdown", - "id": "b16bd23a", - "metadata": {}, - "source": [ - "We can check that the model produces output of expected size based\n", - "on our existing batch `X_` above." - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "2c8f7a48", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "torch.Size([256, 10])" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mnist_model(X_).size()" - ] - }, - { - "cell_type": "markdown", - "id": "da0de828", - "metadata": {}, - "source": [ - "Let’s take a look at the summary of the model. Instead of an `input_size` we can pass\n", - "a tensor of correct shape. In this case, we pass through the final\n", - "batched `X_` from above." - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "9f502df8", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " action_fn=lambda data: sys.getsizeof(data.storage()),\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " return super().__sizeof__() + self.nbytes()\n" - ] - }, - { - "data": { - "text/plain": [ - "===================================================================================================================\n", - "Layer (type:depth-idx) Input Shape Output Shape Param #\n", - "===================================================================================================================\n", - "MNISTModel [256, 1, 28, 28] [256, 10] --\n", - "├─Sequential: 1-1 [256, 1, 28, 28] [256, 10] --\n", - "│ └─Sequential: 2-1 [256, 1, 28, 28] [256, 256] --\n", - "│ │ └─Flatten: 3-1 [256, 1, 28, 28] [256, 784] --\n", - "│ │ └─Linear: 3-2 [256, 784] [256, 256] 200,960\n", - "│ │ └─ReLU: 3-3 [256, 256] [256, 256] --\n", - "│ │ └─Dropout: 3-4 [256, 256] [256, 256] --\n", - "│ └─Sequential: 2-2 [256, 256] [256, 128] --\n", - "│ │ └─Linear: 3-5 [256, 256] [256, 128] 32,896\n", - "│ │ └─ReLU: 3-6 [256, 128] [256, 128] --\n", - "│ │ └─Dropout: 3-7 [256, 128] [256, 128] --\n", - "│ └─Linear: 2-3 [256, 128] [256, 10] 1,290\n", - "===================================================================================================================\n", - "Total params: 235,146\n", - "Trainable params: 235,146\n", - "Non-trainable params: 0\n", - "Total mult-adds (M): 60.20\n", - "===================================================================================================================\n", - "Input size (MB): 0.80\n", - "Forward/backward pass size (MB): 0.81\n", - "Params size (MB): 0.94\n", - "Estimated Total Size (MB): 2.55\n", - "===================================================================================================================" - ] - }, - "execution_count": 40, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "summary(mnist_model,\n", - " input_data=X_,\n", - " col_names=['input_size',\n", - " 'output_size',\n", - " 'num_params'])" - ] - }, - { - "cell_type": "markdown", - "id": "f98b70bb", - "metadata": {}, - "source": [ - "Having set up both the model and the data module, fitting this model is\n", - "now almost identical to the `Hitters` example. In contrast to our regression model, here we will use the\n", - "`SimpleModule.classification()` method which\n", - "uses the cross-entropy loss function instead of mean squared error." - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "id": "d1a7590f", - "metadata": {}, - "outputs": [], - "source": [ - "mnist_module = SimpleModule.classification(mnist_model)\n", - "mnist_logger = CSVLogger('logs', name='MNIST')" - ] - }, - { - "cell_type": "markdown", - "id": "ca665912", - "metadata": {}, - "source": [ - "Now we are ready to go. The final step is to supply training data, and fit the model." - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "id": "e2fe6de3", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (mps), used: False\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", - " rank_zero_warn(\n", - "\n", - " | Name | Type | Params\n", - "-------------------------------------------\n", - "0 | model | MNISTModel | 235 K \n", - "1 | loss | CrossEntropyLoss | 0 \n", - "-------------------------------------------\n", - "235 K Trainable params\n", - "0 Non-trainable params\n", - "235 K Total params\n", - "0.941 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "82f9178e94874e7e9cbb3b27cc1c351f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "`Trainer.fit` stopped: `max_epochs=30` reached.\n" - ] - } - ], - "source": [ - "mnist_trainer = Trainer(deterministic=True,\n", - " max_epochs=30,\n", - " logger=mnist_logger,\n", - " callbacks=[ErrorTracker()])\n", - "mnist_trainer.fit(mnist_module,\n", - " datamodule=mnist_dm)" - ] - }, - { - "cell_type": "markdown", - "id": "6b4a4e0c", - "metadata": {}, - "source": [ - "We have suppressed the output here, which is a progress report on the\n", - "fitting of the model, grouped by epoch. This is very useful, since on\n", - "large datasets fitting can take time. Fitting this model took 245\n", - "seconds on a MacBook Pro with an Apple M1 Pro chip with 10 cores and 16 GB of RAM.\n", - "Here we specified a\n", - "validation split of 20%, so training is actually performed on\n", - "80% of the 60,000 observations in the training set. This is an\n", - "alternative to actually supplying validation data, like we did for the `Hitters` data.\n", - "SGD uses batches\n", - "of 256 observations in computing the gradient, and doing the\n", - "arithmetic, we see that an epoch corresponds to 188 gradient steps." - ] - }, - { - "cell_type": "markdown", - "id": "25528d72", - "metadata": {}, - "source": [ - "`SimpleModule.classification()` includes\n", - "an accuracy metric by default. Other\n", - "classification metrics can be added from `torchmetrics`.\n", - "We will use our `summary_plot()` function to display \n", - "accuracy across epochs." - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "73755987", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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euutt3yxOtMwRgMAAM9YOkbjRz/6kbKysny1OgAA0AD4JGj88MMPeu655xQbG+uL1QEAgAbC7TEaVW+eZhiGTp8+rfDwcP3tb3/zaXEAACCwuR00nn32WaegERQUpHbt2ikpKUmtW7f2aXEAACCwuR007r33XhPKAAAADZHbYzRWrFihtWvXVpu+du1avfrqqz4pCgAANAxuB43Fixerbdu21aa3b99eixYt8klRAACgYXA7aOTl5alTp07Vpnfs2FF5eXk+KQoAADQMbgeN9u3ba8+ePdWm7969W23atPFJUQAAoGFwO2iMHj1aDz30kLKzs2W322W32/Xhhx9q2rRpuuuuu8yoEQAABCi3zzp54okn9M033+iWW25RkyYVi5eXl2vs2LGM0QAAAE48vtfJV199pV27diksLEw9e/ZUx44dfV2bKbjXCQAAnvGkD3V7j0alrl27qmvXrp4uDgAAGgG3x2jccccd+v3vf19t+pNPPqmf//znPikKAAA0DG4HjU2bNmno0KHVpt9+++3atGmTT4oCAAANg9tBo6SkRCEhIdWmN23aVMXFxT4pCgAANAxuB42ePXtqzZo11aavXr1aPXr08ElRAACgYXB7MOjcuXOVmpqqw4cP6+abb5YkZWVlKT09XRkZGT4vEAAABC63g8awYcO0fv16LVq0SBkZGQoLC1NiYqI+/PBDXXbZZWbUCAAAApTH19GoVFxcrFWrVmn58uXavn277Ha7r2ozBdfRAADAM570oW6P0ai0adMmjRs3Th06dNAf/vAH3Xzzzfr00089XR0AAGiA3Dp0UlBQoJUrV2r58uUqLi7WnXfeqbKyMq1fv56BoAAAoBqX92gMGzZM3bp10549e7RkyRJ99913ev75582sDQAABDiX92i89957euihhzRp0iQuPQ4AAFzi8h6Njz/+WKdPn1afPn2UlJSkZcuW6cSJE2bWBgAAApzLQeNHP/qRXn75ZeXn5+uXv/ylVq9erQ4dOqi8vFwbN27U6dOnzawTAAAEIK9Obz148KCWL1+u1157TadOndKtt96qt99+25f1+RyntwIA4Bm/nt4qSd26ddOTTz6po0ePatWqVd6sCgAANEBeX7Ar0LBHAwAAz/h9jwYAAEBtCBoAAMA0BA0AAGAaggYAADANQQMAAJiGoAEAAExD0AAAAKYhaAAAANPU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eL+7n/70p2rXrp1WrlzpNL2kpERr167ViBEjNHr0aMXGxio8PFw9e/bUqlWral1n1UMnX331lW688UY1a9ZMPXr00MaNG6stM3PmTF155ZUKDw9X586dNXfuXJ0/f16StHLlSi1YsEC7d++WzWaTzWZz1Fv10MnevXt18803KywsTG3atNHEiRNVUlLieP3ee+/ViBEj9PTTTysmJkZt2rTR5MmTHW0BAOoPLkFelzNnpBYtfLMuw6jY0xEZ6dr8JSVS8+Z1ztakSRONHTtWK1eu1OzZs2Wz2SRJa9euld1u1y9+8QutXbtWM2fOVEREhN555x3dc8896tKli/r371/n+svLy5WamqqoqCh99tlnKioqchrPUally5ZauXKlOnTooL1792rChAlq2bKlfvOb32jUqFHat2+fNmzYoA8++ECSFFnDdigtLVVKSoqSk5P1+eef6/jx43rggQc0ZcoUpyCVnZ2tmJgYZWdn69ChQxo1apR69+6tCRMm1Pl+AAD+wx6NBuK+++7T4cOH9dFHHzmmrVixQnfccYc6duyoRx55RL1791bnzp01depUDRkyRG+88YZL6/7ggw904MAB/fWvf1ViYqJuvPFGLVq0qNp8c+bM0fXXX6+EhAQNGzZMjzzyiKONsLAwtWjRQk2aNFF0dLSio6MVFhZWbR3p6ek6e/as/vrXv+qaa67RzTffrGXLlum1115TYWGhY77WrVtr2bJluuqqq/TTn/5UP/nJT5SVleXuZgMAmIw9GnUJD6/Ys+CKTZukoUPrnu/dd6Ubb3StbRddddVVuv766/XKK69o4MCBOnTokDZv3qyFCxfKbrdr0aJFeuONN3Ts2DGdO3dOZWVlLo/B2L9/v+Lj49WhQwfHtOTk5GrzrVmzRs8995wOHz6skpISXbhwQRERES6/h8q2EhMT1fyiPTk33HCDysvLdfDgQUVFRUmSrr76agUHBzvmiYmJ0d69e91qCwBgPvZo1MVmqzh84crjttukuLiKZS61rvj4ivlcWd+l1nMJ999/v958802dPn1aK1asUJcuXXTTTTfpqaee0tKlSzVz5kxlZ2dr165dSklJ0blz53ywgSps3bpVd999t4YOHaq///3v2rlzp2bPnu3TNi7WtGlTp+c2m03l5eWmtAUA8BxBw5eCg6WlSyv+XTUkVD5fsqRiPhPceeedCgoKUnp6uv7617/qvvvuk81m05YtWzR8+HD94he/UGJiojp37qx//etfLq+3e/fuOnLkiPLz8x3TPv30U6d5PvnkE3Xs2FGzZ89W37591bVrV3377bdO84SEhMhex/VEunfvrt27d6u0tNQxbcuWLQoKClK3bt1crhkAUD8QNHwtNVXKyJBiY52nx8VVTE9NNa3pFi1aaNSoUZo1a5by8/N17733SpK6du2qjRs36pNPPtH+/fv1y1/+0mm8Q10GDx6sK6+8UuPGjdPu3bu1efNmzZ4922merl27Ki8vT6tXr9bhw4f13HPPad26dU7zJCQkKDc3V7t27dKJEydUVlZWra27775bzZo107hx47Rv3z5lZ2dr6tSpuueeexyHTQAAgYOgYYbUVOmbb6TsbCk9veJnbq6pIaPS/fffr//85z9KSUlxjKmYM2eOrrvuOqWkpGjgwIGKjo7WiBEjXF5nUFCQ1q1bpx9++EH9+/fXAw88oN/+9rdO8/zsZz/Tww8/rClTpqh379765JNPNHfuXKd57rjjDg0ZMkSDBg1Su3btajzFNjw8XO+//75Onjypfv36KS0tTbfccouWLVvm/sYAAFjOZhguXqyhgSguLlZkZKSKioqqDVQ8e/ascnNz1alTJzVr1syiCmEGPlsA8F5tfeilsEcDAACYhqABAABMQ9AAAACmIWgAAADTEDRq0MjGxzYKfKYAYA2CxkUqrzZ55swZiyuBr1V+plWvKAoAMBf3OrlIcHCwWrVqpePHj0uquKaDzc3LgKN+MQxDZ86c0fHjx9WqVSun+6MAAMxH0KgiOjpakhxhAw1Dq1atHJ8tAMB/CBpV2Gw2xcTEqH379jp//rzV5cAHmjZtyp4MALAIQeMSgoOD6ZwAAPBSvRgM+sILLyghIUHNmjVTUlKStm3bdsl5V65cKZvN5vTgktIAANRPlgeNNWvWaMaMGZo/f7527NihxMREpaSk1DpGIiIiQvn5+Y5H1duRAwCA+sHyoPHMM89owoQJGj9+vHr06KGXXnpJ4eHheuWVVy65jM1mU3R0tOPB7cMBAKifLB2jce7cOW3fvl2zZs1yTAsKCtLgwYO1devWSy5XUlKijh07qry8XNddd50WLVqkq6++usZ5y8rKVFZW5nheVFQkqeIOdAAAwHWVfac7F0G0NGicOHFCdru92h6JqKgoHThwoMZlunXrpldeeUW9evVSUVGRnn76aV1//fX65z//qbi4uGrzL168WAsWLKg2PT4+3jdvAgCARub06dOKjIx0ad6AO+skOTlZycnJjufXX3+9unfvrj/96U964oknqs0/a9YszZgxw/G8vLxcJ0+eVJs2bXx2Ma7i4mLFx8fryJEjioiI8Mk6Gxq2Ud3YRnVjG9WNbVQ3tlHdLrWNDMPQ6dOn1aFDB5fXZWnQaNu2rYKDg1VYWOg0vbCw0OWLKzVt2lTXXnutDh06VOProaGhCg0NdZrWqlUrj+qtS0REBF/aOrCN6sY2qhvbqG5so7qxjepW0zZydU9GJUsHg4aEhKhPnz7KyspyTCsvL1dWVpbTXova2O127d27VzExMWaVCQAAPGT5oZMZM2Zo3Lhx6tu3r/r3768lS5aotLRU48ePlySNHTtWsbGxWrx4sSRp4cKF+tGPfqQrrrhCp06d0lNPPaVvv/1WDzzwgJVvAwAA1MDyoDFq1Ch9//33mjdvngoKCtS7d29t2LDBMUA0Ly9PQUH/3fHyn//8RxMmTFBBQYFat26tPn366JNPPlGPHj2segsKDQ3V/Pnzqx2iwX+xjerGNqob26hubKO6sY3q5sttZDPcOUcFAADADZZfsAsAADRcBA0AAGAaggYAADANQQMAAJiGoOED7tzmvrF5/PHHZbPZnB5XXXWV1WVZatOmTRo2bJg6dOggm82m9evXO71uGIbmzZunmJgYhYWFafDgwfrqq6+sKdYidW2je++9t9r3asiQIdYUa4HFixerX79+atmypdq3b68RI0bo4MGDTvOcPXtWkydPVps2bdSiRQvdcccd1S6O2JC5so0GDhxY7Xv04IMPWlSx/7344ovq1auX46JcycnJeu+99xyv++o7RNDwkie3uW9srr76auXn5zseH3/8sdUlWaq0tFSJiYl64YUXanz9ySef1HPPPaeXXnpJn332mZo3b66UlBSdPXvWz5Vap65tJElDhgxx+l6tWrXKjxVa66OPPtLkyZP16aefauPGjTp//rxuu+02lZaWOuZ5+OGH9b//+79au3atPvroI3333XdKTU21sGr/cmUbSdKECROcvkdPPvmkRRX7X1xcnH73u99p+/bt+uKLL3TzzTdr+PDh+uc//ynJh98hA17p37+/MXnyZMdzu91udOjQwVi8eLGFVdUf8+fPNxITE60uo96SZKxbt87xvLy83IiOjjaeeuopx7RTp04ZoaGhxqpVqyyo0HpVt5FhGMa4ceOM4cOHW1JPfXT8+HFDkvHRRx8ZhlHxnWnatKmxdu1axzz79+83JBlbt261qkxLVd1GhmEYN910kzFt2jTriqqHWrdubfzlL3/x6XeIPRpeqLzN/eDBgx3TXLnNfWPz1VdfqUOHDurcubPuvvtu5eXlWV1SvZWbm6uCggKn71RkZKSSkpL4TlWRk5Oj9u3bq1u3bpo0aZL+/e9/W12SZYqKiiRJl112mSRp+/btOn/+vNP36KqrrtLll1/eaL9HVbdRpddff11t27bVNddco1mzZunMmTNWlGc5u92u1atXq7S0VMnJyT79Dll+ZdBA5slt7hubpKQkrVy5Ut26dVN+fr4WLFigAQMGaN++fWrZsqXV5dU7BQUFklTjd6ryNVQcNklNTVWnTp10+PBhPfbYY7r99tu1detWBQcHW12eX5WXl2v69Om64YYbdM0110iq+B6FhIRUu4FkY/0e1bSNJGnMmDHq2LGjOnTooD179mjmzJk6ePCgMjMzLazWv/bu3avk5GSdPXtWLVq00Lp169SjRw/t2rXLZ98hggZMdfvttzv+3atXLyUlJaljx4564403dP/991tYGQLZXXfd5fh3z5491atXL3Xp0kU5OTm65ZZbLKzM/yZPnqx9+/Y1+rFPtbnUNpo4caLj3z179lRMTIxuueUWHT58WF26dPF3mZbo1q2bdu3apaKiImVkZGjcuHH66KOPfNoGh0684Ivb3Dc2rVq10pVXXqlDhw5ZXUq9VPm94Tvlns6dO6tt27aN7ns1ZcoU/f3vf1d2drbi4uIc06Ojo3Xu3DmdOnXKaf7G+D261DaqSVJSkiQ1qu9RSEiIrrjiCvXp00eLFy9WYmKili5d6tPvEEHDC764zX1jU1JSosOHDysmJsbqUuqlTp06KTo62uk7VVxcrM8++4zvVC2OHj2qf//7343me2UYhqZMmaJ169bpww8/VKdOnZxe79Onj5o2ber0PTp48KDy8vIazfeorm1Uk127dklSo/ke1aS8vFxlZWW+/Q75drxq47N69WojNDTUWLlypfHll18aEydONFq1amUUFBRYXVq98P/+3/8zcnJyjNzcXGPLli3G4MGDjbZt2xrHjx+3ujTLnD592ti5c6exc+dOQ5LxzDPPGDt37jS+/fZbwzAM43e/+53RqlUr46233jL27NljDB8+3OjUqZPxww8/WFy5/9S2jU6fPm088sgjxtatW43c3Fzjgw8+MK677jqja9euxtmzZ60u3S8mTZpkREZGGjk5OUZ+fr7jcebMGcc8Dz74oHH55ZcbH374ofHFF18YycnJRnJysoVV+1dd2+jQoUPGwoULjS+++MLIzc013nrrLaNz587GjTfeaHHl/vPoo48aH330kZGbm2vs2bPHePTRRw2bzWb84x//MAzDd98hgoYPPP/888bll19uhISEGP379zc+/fRTq0uqN0aNGmXExMQYISEhRmxsrDFq1Cjj0KFDVpdlqezsbENStce4ceMMw6g4xXXu3LlGVFSUERoaatxyyy3GwYMHrS3az2rbRmfOnDFuu+02o127dkbTpk2Njh07GhMmTGhU4b6mbSPJWLFihWOeH374wfjVr35ltG7d2ggPDzdGjhxp5OfnW1e0n9W1jfLy8owbb7zRuOyyy4zQ0FDjiiuuMH79618bRUVF1hbuR/fdd5/RsWNHIyQkxGjXrp1xyy23OEKGYfjuO8Rt4gEAgGkYowEAAExD0AAAAKYhaAAAANMQNAAAgGkIGgAAwDQEDQAAYBqCBgAAMA1BAwAAmIagAaBBsNlsWr9+vdVlAKiCoAHAa/fee69sNlu1x5AhQ6wuDYDFmlhdAICGYciQIVqxYoXTtNDQUIuqAVBfsEcDgE+EhoYqOjra6dG6dWtJFYc1XnzxRd1+++0KCwtT586dlZGR4bT83r17dfPNNyssLExt2rTRxIkTVVJS4jTPK6+8oquvvlqhoaGKiYnRlClTnF4/ceKERo4cqfDwcHXt2lVvv/22uW8aQJ0IGgD8Yu7cubrjjju0e/du3X333brrrru0f/9+SVJpaalSUlLUunVrff7551q7dq0++OADpyDx4osvavLkyZo4caL27t2rt99+W1dccYVTGwsWLNCdd96pPXv2aOjQobr77rt18uRJv75PAFX47oazABqrcePGGcHBwUbz5s2dHr/97W8Nw6i4ZfeDDz7otExSUpIxadIkwzAM489//rPRunVro6SkxPH6O++8YwQFBTlu/96hQwdj9uzZl6xBkjFnzhzH85KSEkOS8d577/nsfQJwH2M0APjEoEGD9OKLLzpNu+yyyxz/Tk5OdnotOTlZu3btkiTt379fiYmJat68ueP1G264QeXl5Tp48KBsNpu+++473XLLLbXW0KtXL8e/mzdvroiICB0/ftzTtwTABwgaAHyiefPm1Q5l+EpYWJhL8zVt2tTpuc1mU3l5uRklAXARYzQA+MWnn35a7Xn37t0lSd27d9fu3btVWlrqeH3Lli0KCgpSt27d1LJlSyUkJCgrK8uvNQPwHns0APhEWVmZCgoKnKY1adJEbdu2lSStXbtWffv21Y9//GO9/vrr2rZtm5YvXy5JuvvuuzV//nyNGzdOjz/+uL7//ntNnTpV99xzj6KioiRJjz/+uB588EG1b99et99+u06fPq0tW7Zo6tSp/n2jANxC0ADgExs2bFBMTIzTtG7duunAgQOSKs4IWb16tX71q18pJiZGq1atUo8ePSRJ4eHhev/99zVt2jT169dP4eHhuuOOO/TMM8841jVu3DidPXtWzz77rB555BG1bdtWaWlp/nuDADxiMwzDsLoIAA2bzWbTunXrNGLECKtLAeBnjNEAAACmIWgAAADTMEYDgOk4Qgs0XuzRAAAApiFoAAAA0xA0AACAaQgaAADANAQNAABgGoIGAAAwDUEDAACYhqABAABM8/8BLDxhn6oHWGsAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "mnist_results = pd.read_csv(mnist_logger.experiment.metrics_file_path)\n", - "fig, ax = subplots(1, 1, figsize=(6, 6))\n", - "summary_plot(mnist_results,\n", - " ax,\n", - " col='accuracy',\n", - " ylabel='Accuracy')\n", - "ax.set_ylim([0.5, 1])\n", - "ax.set_ylabel('Accuracy')\n", - "ax.set_xticks(np.linspace(0, 30, 7).astype(int));" - ] - }, - { - "cell_type": "markdown", - "id": "ba63a8da", - "metadata": {}, - "source": [ - "Once again we evaluate the accuracy using the `test()` method of our trainer. This model achieves\n", - "97% accuracy on the test data." - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "id": "f5269c40", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b584fa2b09df4c20939181c016e85bc5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Testing: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " Test metric DataLoader 0\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " test_accuracy 0.9681000113487244\n", - " test_loss 0.14706705510616302\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" - ] - }, - { - "data": { - "text/plain": [ - "[{'test_loss': 0.14706705510616302, 'test_accuracy': 0.9681000113487244}]" - ] - }, - "execution_count": 44, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mnist_trainer.test(mnist_module,\n", - " datamodule=mnist_dm)" - ] - }, - { - "cell_type": "markdown", - "id": "bca75042", - "metadata": {}, - "source": [ - "Table 10.1 also reports the error rates resulting from LDA (Chapter 4) and multiclass logistic\n", - "regression. For LDA we refer the reader to Section 4.7.3.\n", - "Although we could use the `sklearn` function `LogisticRegression()` to fit \n", - "multiclass logistic regression, we are set up here to fit such a model\n", - "with `torch`.\n", - "We just have an input layer and an output layer, and omit the hidden layers!" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "id": "97a0b304", - "metadata": {}, - "outputs": [], - "source": [ - "class MNIST_MLR(nn.Module):\n", - " def __init__(self):\n", - " super(MNIST_MLR, self).__init__()\n", - " self.linear = nn.Sequential(nn.Flatten(),\n", - " nn.Linear(784, 10))\n", - " def forward(self, x):\n", - " return self.linear(x)\n", - "\n", - "mlr_model = MNIST_MLR()\n", - "mlr_module = SimpleModule.classification(mlr_model)\n", - "mlr_logger = CSVLogger('logs', name='MNIST_MLR')" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "id": "ea685183", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (mps), used: False\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", - " rank_zero_warn(\n", - "\n", - " | Name | Type | Params\n", - "-------------------------------------------\n", - "0 | model | MNIST_MLR | 7.9 K \n", - "1 | loss | CrossEntropyLoss | 0 \n", - "-------------------------------------------\n", - "7.9 K Trainable params\n", - "0 Non-trainable params\n", - "7.9 K Total params\n", - "0.031 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "02fd79458dc34808bb403f8b8475a62d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9c827fce3589462294778b990fc78f2f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a9fcb28681b34dc6921cad2630ca648f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e2dd237b55d14ad4a871888e4ecde25d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5d8dc977673646d9ad09d0c5b7e4903a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "`Trainer.fit` stopped: `max_epochs=30` reached.\n" - ] - } - ], - "source": [ - "mlr_trainer = Trainer(deterministic=True,\n", - " max_epochs=30,\n", - " callbacks=[ErrorTracker()])\n", - "mlr_trainer.fit(mlr_module, datamodule=mnist_dm)" - ] - }, - { - "cell_type": "markdown", - "id": "c376e402", - "metadata": {}, - "source": [ - "We fit the model just as before and compute the test results." - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "id": "c0bd63e3", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "92b4035b1656456d88d929aac0d46d71", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Testing: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " Test metric DataLoader 0\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " test_accuracy 0.9240999817848206\n", - " test_loss 0.3186827003955841\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" - ] - }, - { - "data": { - "text/plain": [ - "[{'test_loss': 0.3186827003955841, 'test_accuracy': 0.9240999817848206}]" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mlr_trainer.test(mlr_module,\n", - " datamodule=mnist_dm)" - ] - }, - { - "cell_type": "markdown", - "id": "e0e99a86", - "metadata": {}, - "source": [ - "The accuracy is above 90% even for this pretty simple model.\n", - "\n", - "As in the `Hitters` example, we delete some of\n", - "the objects we created above." - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "6b0d3daa", - "metadata": {}, - "outputs": [], - "source": [ - "del(mnist_test,\n", - " mnist_train,\n", - " mnist_model,\n", - " mnist_dm,\n", - " mnist_trainer,\n", - " mnist_module,\n", - " mnist_results,\n", - " mlr_model,\n", - " mlr_module,\n", - " mlr_trainer)" - ] - }, - { - "cell_type": "markdown", - "id": "1e370989", - "metadata": {}, - "source": [ - "## Convolutional Neural Networks\n", - "In this section we fit a CNN to the `CIFAR100` data, which is available in the `torchvision`\n", - "package. It is arranged in a similar fashion as the `MNIST` data." - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "id": "67517b11", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Files already downloaded and verified\n", - "Files already downloaded and verified\n" - ] - } - ], - "source": [ - "(cifar_train, \n", - " cifar_test) = [CIFAR100(root=\"data\",\n", - " train=train,\n", - " download=True)\n", - " for train in [True, False]]" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "id": "ee7b040e", - "metadata": {}, - "outputs": [], - "source": [ - "transform = ToTensor()\n", - "cifar_train_X = torch.stack([transform(x) for x in\n", - " cifar_train.data])\n", - "cifar_test_X = torch.stack([transform(x) for x in\n", - " cifar_test.data])\n", - "cifar_train = TensorDataset(cifar_train_X,\n", - " torch.tensor(cifar_train.targets))\n", - "cifar_test = TensorDataset(cifar_test_X,\n", - " torch.tensor(cifar_test.targets))" - ] - }, - { - "cell_type": "markdown", - "id": "2bba84d8", - "metadata": {}, - "source": [ - "The `CIFAR100` dataset consists of 50,000 training images, each represented by a three-dimensional tensor:\n", - "each three-color image is represented as a set of three channels, each of which consists of\n", - "$32\\times 32$ eight-bit pixels. We standardize as we did for the\n", - "digits, but keep the array structure. This is accomplished with the `ToTensor()` transform.\n", - "\n", - "Creating the data module is similar to the `MNIST` example." - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "id": "bd9e74ad", - "metadata": {}, - "outputs": [], - "source": [ - "cifar_dm = SimpleDataModule(cifar_train,\n", - " cifar_test,\n", - " validation=0.2,\n", - " num_workers=max_num_workers,\n", - " batch_size=128)" - ] - }, - { - "cell_type": "markdown", - "id": "6ee8883b", - "metadata": {}, - "source": [ - "We again look at the shape of typical batches in our data loaders." - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "id": "a553b926", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "X: torch.Size([128, 3, 32, 32])\n", - "Y: torch.Size([128])\n", - "X: torch.Size([128, 3, 32, 32])\n", - "Y: torch.Size([128])\n" - ] - } - ], - "source": [ - "for idx, (X_ ,Y_) in enumerate(cifar_dm.train_dataloader()):\n", - " print('X: ', X_.shape)\n", - " print('Y: ', Y_.shape)\n", - " if idx >= 1:\n", - " break" - ] - }, - { - "cell_type": "markdown", - "id": "2b25a138", - "metadata": {}, - "source": [ - "Before we start, we look at some of the training images; similar code produced\n", - "Figure 10.5 on page 445. The example below also illustrates\n", - "that `TensorDataset` objects can be indexed with integers --- we are choosing\n", - "random images from the training data by indexing `cifar_train`. In order to display correctly,\n", - "we must reorder the dimensions by a call to `np.transpose()`." - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "id": "94885e68", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "fig, axes = subplots(5, 5, figsize=(10,10))\n", - "rng = np.random.default_rng(4)\n", - "indices = rng.choice(np.arange(len(cifar_train)), 25,\n", - " replace=False).reshape((5,5))\n", - "for i in range(5):\n", - " for j in range(5):\n", - " idx = indices[i,j]\n", - " axes[i,j].imshow(np.transpose(cifar_train[idx][0],\n", - " [1,2,0]),\n", - " interpolation=None)\n", - " axes[i,j].set_xticks([])\n", - " axes[i,j].set_yticks([])" - ] - }, - { - "cell_type": "markdown", - "id": "04fda6b8", - "metadata": {}, - "source": [ - "Here the `imshow()` method recognizes from the shape of its argument that it is a 3-dimensional array, with the last dimension indexing the three RGB color channels.\n", - "\n", - "We specify a moderately-sized CNN for\n", - "demonstration purposes, similar in structure to Figure 10.8.\n", - "We use several layers, each consisting of convolution, ReLU, and max-pooling steps.\n", - "We first define a module that defines one of these layers. As in our\n", - "previous examples, we overwrite the `__init__()` and `forward()` methods\n", - "of `nn.Module`. This user-defined module can now be used in ways just like\n", - "`nn.Linear()` or `nn.Dropout()`." - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "id": "cdc2528a", - "metadata": {}, - "outputs": [], - "source": [ - "class BuildingBlock(nn.Module):\n", - "\n", - " def __init__(self,\n", - " in_channels,\n", - " out_channels):\n", - "\n", - " super(BuildingBlock, self).__init__()\n", - " self.conv = nn.Conv2d(in_channels=in_channels,\n", - " out_channels=out_channels,\n", - " kernel_size=(3,3),\n", - " padding='same')\n", - " self.activation = nn.ReLU()\n", - " self.pool = nn.MaxPool2d(kernel_size=(2,2))\n", - "\n", - " def forward(self, x):\n", - " return self.pool(self.activation(self.conv(x)))" - ] - }, - { - "cell_type": "markdown", - "id": "31891282", - "metadata": {}, - "source": [ - "Notice that we used the `padding = \"same\"` argument to\n", - "`nn.Conv2d()`, which ensures that the output channels have the\n", - "same dimension as the input channels. There are 32 channels in the first\n", - "hidden layer, in contrast to the three channels in the input layer. We\n", - "use a $3\\times 3$ convolution filter for each channel in all the layers. Each\n", - "convolution is followed by a max-pooling layer over $2\\times2$\n", - "blocks.\n", - "\n", - "In forming our deep learning model for the `CIFAR100` data, we use several of our `BuildingBlock()`\n", - "modules sequentially. This simple example\n", - "illustrates some of the power of `torch`. Users can\n", - "define modules of their own, which can be combined in other\n", - "modules. Ultimately, everything is fit by a generic trainer." - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "id": "845be1ae", - "metadata": {}, - "outputs": [], - "source": [ - "class CIFARModel(nn.Module):\n", - "\n", - " def __init__(self):\n", - " super(CIFARModel, self).__init__()\n", - " sizes = [(3,32),\n", - " (32,64),\n", - " (64,128),\n", - " (128,256)]\n", - " self.conv = nn.Sequential(*[BuildingBlock(in_, out_)\n", - " for in_, out_ in sizes])\n", - "\n", - " self.output = nn.Sequential(nn.Dropout(0.5),\n", - " nn.Linear(2*2*256, 512),\n", - " nn.ReLU(),\n", - " nn.Linear(512, 100))\n", - " def forward(self, x):\n", - " val = self.conv(x)\n", - " val = torch.flatten(val, start_dim=1)\n", - " return self.output(val)" - ] - }, - { - "cell_type": "markdown", - "id": "1ed2c036", - "metadata": {}, - "source": [ - "We build the model and look at the summary. (We had created examples of `X_` earlier.)" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "id": "be768cbb", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " action_fn=lambda data: sys.getsizeof(data.storage()),\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " return super().__sizeof__() + self.nbytes()\n" - ] - }, - { - "data": { - "text/plain": [ - "===================================================================================================================\n", - "Layer (type:depth-idx) Input Shape Output Shape Param #\n", - "===================================================================================================================\n", - "CIFARModel [128, 3, 32, 32] [128, 100] --\n", - "├─Sequential: 1-1 [128, 3, 32, 32] [128, 256, 2, 2] --\n", - "│ └─BuildingBlock: 2-1 [128, 3, 32, 32] [128, 32, 16, 16] --\n", - "│ │ └─Conv2d: 3-1 [128, 3, 32, 32] [128, 32, 32, 32] 896\n", - "│ │ └─ReLU: 3-2 [128, 32, 32, 32] [128, 32, 32, 32] --\n", - "│ │ └─MaxPool2d: 3-3 [128, 32, 32, 32] [128, 32, 16, 16] --\n", - "│ └─BuildingBlock: 2-2 [128, 32, 16, 16] [128, 64, 8, 8] --\n", - "│ │ └─Conv2d: 3-4 [128, 32, 16, 16] [128, 64, 16, 16] 18,496\n", - "│ │ └─ReLU: 3-5 [128, 64, 16, 16] [128, 64, 16, 16] --\n", - "│ │ └─MaxPool2d: 3-6 [128, 64, 16, 16] [128, 64, 8, 8] --\n", - "│ └─BuildingBlock: 2-3 [128, 64, 8, 8] [128, 128, 4, 4] --\n", - "│ │ └─Conv2d: 3-7 [128, 64, 8, 8] [128, 128, 8, 8] 73,856\n", - "│ │ └─ReLU: 3-8 [128, 128, 8, 8] [128, 128, 8, 8] --\n", - "│ │ └─MaxPool2d: 3-9 [128, 128, 8, 8] [128, 128, 4, 4] --\n", - "│ └─BuildingBlock: 2-4 [128, 128, 4, 4] [128, 256, 2, 2] --\n", - "│ │ └─Conv2d: 3-10 [128, 128, 4, 4] [128, 256, 4, 4] 295,168\n", - "│ │ └─ReLU: 3-11 [128, 256, 4, 4] [128, 256, 4, 4] --\n", - "│ │ └─MaxPool2d: 3-12 [128, 256, 4, 4] [128, 256, 2, 2] --\n", - "├─Sequential: 1-2 [128, 1024] [128, 100] --\n", - "│ └─Dropout: 2-5 [128, 1024] [128, 1024] --\n", - "│ └─Linear: 2-6 [128, 1024] [128, 512] 524,800\n", - "│ └─ReLU: 2-7 [128, 512] [128, 512] --\n", - "│ └─Linear: 2-8 [128, 512] [128, 100] 51,300\n", - "===================================================================================================================\n", - "Total params: 964,516\n", - "Trainable params: 964,516\n", - "Non-trainable params: 0\n", - "Total mult-adds (G): 2.01\n", - "===================================================================================================================\n", - "Input size (MB): 1.57\n", - "Forward/backward pass size (MB): 63.54\n", - "Params size (MB): 3.86\n", - "Estimated Total Size (MB): 68.97\n", - "===================================================================================================================" - ] - }, - "execution_count": 56, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cifar_model = CIFARModel()\n", - "summary(cifar_model,\n", - " input_data=X_,\n", - " col_names=['input_size',\n", - " 'output_size',\n", - " 'num_params'])" - ] - }, - { - "cell_type": "markdown", - "id": "6320d294", - "metadata": {}, - "source": [ - "The total number of trainable parameters is 964,516.\n", - "By studying the size of the parameters, we can see that the channels halve in both\n", - "dimensions\n", - "after each of these max-pooling operations. After the last of these we\n", - "have a layer with 256 channels of dimension $2\\times 2$. These are then\n", - "flattened to a dense layer of size 1,024;\n", - "in other words, each of the $2\\times 2$ matrices is turned into a\n", - "$4$-vector, and put side-by-side in one layer. This is followed by a\n", - "dropout regularization layer, then\n", - "another dense layer of size 512, and finally, the\n", - "output layer.\n", - "\n", - "Up to now, we have been using a default\n", - "optimizer in `SimpleModule()`. For these data,\n", - "experiments show that a smaller learning rate performs\n", - "better than the default 0.01. We use a\n", - "custom optimizer here with a learning rate of 0.001.\n", - "Besides this, the logging and training\n", - "follow a similar pattern to our previous examples. The optimizer\n", - "takes an argument `params` that informs\n", - "the optimizer which parameters are involved in SGD (stochastic gradient descent).\n", - "\n", - "We saw earlier that entries of a module’s parameters are tensors. In passing\n", - "the parameters to the optimizer we are doing more than\n", - "simply passing arrays; part of the structure of the graph\n", - "is encoded in the tensors themselves." - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "id": "67e3e2d9", - "metadata": {}, - "outputs": [], - "source": [ - "cifar_optimizer = RMSprop(cifar_model.parameters(), lr=0.001)\n", - "cifar_module = SimpleModule.classification(cifar_model,\n", - " optimizer=cifar_optimizer)\n", - "cifar_logger = CSVLogger('logs', name='CIFAR100')" - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "id": "1ea339ff", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (mps), used: False\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "\n", - " | Name | Type | Params\n", - "-------------------------------------------\n", - "0 | model | CIFARModel | 964 K \n", - "1 | loss | CrossEntropyLoss | 0 \n", - "-------------------------------------------\n", - "964 K Trainable params\n", - "0 Non-trainable params\n", - "964 K Total params\n", - "3.858 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "fdb66e85a34e49afafdf51191e247d54", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "`Trainer.fit` stopped: `max_epochs=30` reached.\n" - ] - } - ], - "source": [ - "cifar_trainer = Trainer(deterministic=True,\n", - " max_epochs=30,\n", - " logger=cifar_logger,\n", - " callbacks=[ErrorTracker()])\n", - "cifar_trainer.fit(cifar_module,\n", - " datamodule=cifar_dm)" - ] - }, - { - "cell_type": "markdown", - "id": "977e27d9", - "metadata": {}, - "source": [ - "This model takes 10 minutes or more to run and achieves about 42% accuracy on the test\n", - "data. Although this is not terrible for 100-class data (a random\n", - "classifier gets 1% accuracy), searching the web we see results around\n", - "75%. Typically it takes a lot of architecture carpentry,\n", - "fiddling with regularization, and time, to achieve such results.\n", - "\n", - "Let’s take a look at the validation and training accuracy\n", - "across epochs." - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "id": "0a9068d9", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhgAAAISCAYAAACOH7Z2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABIy0lEQVR4nO3de3xU5b3v8e9kgBAQInJJAjMwYKnihYty2WCjRFG8lIJjKgIVvJXqQUxkuzcgIl4qqFV3orjlaBXaHrlIGKyn3g7SRKKgogjqS8CNhhLShEupCaAEWFnnj2FSJpkkc1kzk0k+79drXmHWrDXrmSS6vnnW8/wem2mapgAAACyUFO8GAACAloeAAQAALEfAAAAAliNgAAAAyxEwAACA5QgYAADAcgQMAABgOQIGAACwHAEDAABYjoABAAAsF9eAsWHDBo0bN049e/aUzWbT66+/3uQxRUVFuuiii5ScnKyf/OQnWrZsWdTbCQAAQhPXgHH06FENGjRIzz//fFD7l5SU6LrrrlNWVpa2bt2q3Nxc3XHHHXr33Xej3FIAABAKW3NZ7Mxms2nt2rWaMGFCg/vMnj1bb775pr766qvabTfddJO+//57vfPOOzFoJQAACEabeDcgFJs2bdKYMWP8to0dO1a5ubkNHlNdXa3q6ura5zU1NTp06JC6du0qm80WraYCANDimKapw4cPq2fPnkpKavwmSEIFjIqKCqWlpfltS0tLU1VVlX788UelpKTUO2bRokV6+OGHY9VEAABavNLSUjkcjkb3SaiAEY65c+dq1qxZtc8rKyvVu3dvlZaWqnPnznFsGQAAiaWqqkpOp1OdOnVqct+EChjp6enat2+f37Z9+/apc+fOAXsvJCk5OVnJycn1tnfu3JmAAQBAGIIZYpBQdTBGjhyp9evX+21bt26dRo4cGacWAQCAQOIaMI4cOaKtW7dq69atkrzTULdu3ao9e/ZI8t7emDp1au3+d955p7777jv953/+p3bs2KH//u//1muvvaZ77703Hs0HAAANiGvA+PTTTzVkyBANGTJEkjRr1iwNGTJEDz74oCSpvLy8NmxIUt++ffXmm29q3bp1GjRokJ5++mn9/ve/19ixY+PSfgAAEFizqYMRK1VVVUpNTVVlZSVjMAAgQqZp6uTJkzIMI95NgUXatm0ru90e8LVQrqEJNcgTANB8HD9+XOXl5frhhx/i3RRYyGazyeFw6IwzzojofQgYAICQ1dTUqKSkRHa7XT179lS7du0oXtgCmKapAwcOaO/everfv3+DPRnBIGAAAEJ2/Phx1dTUyOl0qkOHDvFuDizUvXt37d69WydOnIgoYCTUNFUAQPPSVLloJB6reqL4zQAAAJYjYAAAAMsRMAAAcWUYhoqKirRixQoVFRUl5JRXl8ulvLy8oPcvKiqSzWbT999/H7U2xRsBAwAQNx6PRy6XS1lZWZo8ebKysrLkcrnk8Xiicj6bzdbo46GHHgrrfTdv3qzp06cHvf+oUaNUXl6u1NTUsM6XCJhFAgCIC4/Ho+zsbNWt91hWVqbs7GwVFBTI7XZbes7y8vLaf69atUoPPvigdu7cWbvt9NoPpmnKMAy1adP0pbJ79+4htaNdu3ZKT08P6ZhEQw8GAMASpmnq6NGjQT2qqqp0zz331AsXvveRpJycHFVVVQX1fsEWpU5PT699pKamymaz1T7fsWOHOnXqpLffflsXX3yxkpOT9cEHH+jbb7/V+PHjlZaWpjPOOEPDhg3Te++95/e+dW+R2Gw2/f73v9f111+vDh06qH///nrjjTdqX697i2TZsmU688wz9e6772rAgAE644wzdPXVV/sFopMnT+qee+7RmWeeqa5du2r27NmaNm2aJkyYEORPKLYIGAAAS/zwww8644wzgnqkpqaqrKyswfcyTVN79+5VampqUO9nZTXROXPm6PHHH9f27ds1cOBAHTlyRNdee63Wr1+vzz//XFdffbXGjRvnt1ZWIA8//LBuvPFGffHFF7r22ms1ZcoUHTp0qMH9f/jhBz311FP605/+pA0bNmjPnj267777al9/4okn9Oqrr2rp0qX68MMPVVVVpddff92qj205AgYAAKd55JFHdOWVV+rss8/WWWedpUGDBuk3v/mNLrjgAvXv31+PPvqozj77bL8eiUBuueUWTZo0ST/5yU+0cOFCHTlyRJ988kmD+584cUJLlizR0KFDddFFF+nuu+/W+vXra19/7rnnNHfuXF1//fU699xztXjxYp155plWfWzLMQYDAGCJDh066MiRI0Htu2HDBl177bVN7vfWW2/p0ksvDercVhk6dKjf8yNHjuihhx7Sm2++qfLycp08eVI//vhjkz0YAwcOrP13x44d1blzZ+3fv7/B/Tt06KCzzz679nlGRkbt/pWVldq3b5+GDx9e+7rdbtfFF1+smpqakD5frBAwAACWsNls6tixY1D7XnXVVXI4HCorKws4fsK34NZVV10VUbnqcNT9DPfdd5/WrVunp556Sj/5yU+UkpKi7OxsHT9+vNH3adu2rd9zm83WaBgItH8iL3jOLRIAQMzZ7Xbl5+dLql+a2vc8Ly8v5uEikA8//FC33HKLrr/+el144YVKT0/X7t27Y9qG1NRUpaWlafPmzbXbDMPQli1bYtqOUBAwAABx4Xa7VVBQoF69evltdzgcUZmiGq7+/fvL4/Fo69at2rZtmyZPnhyX2xIzZ87UokWL9Oc//1k7d+5UTk6O/vnPfzbbVWy5RQIAiBu3263x48eruLhY5eXlysjIUGZmZrPoufB55plndNttt2nUqFHq1q2bZs+eraqqqpi3Y/bs2aqoqNDUqVNlt9s1ffp0jR07tll9r05nMxP5Bk8YqqqqlJqaqsrKSnXu3DnezQGAhHTs2DGVlJSob9++at++fbyb0yrV1NRowIABuvHGG/Xoo49a9r6N/WxDuYbSgwEAQAL429/+pv/3//6fLrvsMlVXV2vx4sUqKSnR5MmT4920gBiDAQBAAkhKStKyZcs0bNgwXXLJJfryyy/13nvvacCAAfFuWkD0YAAAkACcTqc+/PDDeDcjaPRgAAAAyxEwAACA5QgYAADAcgQMAABgOQIGAACwHAEDAABYjoABAIgvw5CKiqQVK7xfDSPeLWrU6NGjlZubW/vc5XIpLy+v0WNsNptef/31iM9t1fvEAgEDABA/Ho/kcklZWdLkyd6vLpd3exSMGzdOV199dcDXiouLZbPZ9MUXX4T0nps3b9b06dOtaF6thx56SIMHD663vby8XNdcc42l54oWAgYAID48Hik7W9q71397WZl3exRCxu23365169Zpb91zSlq6dKmGDh2qgQMHhvSe3bt3V4cOHaxqYqPS09OVnJwck3NFioABALCGaUpHjwb3qKqS7rnHe0yg95GknBzvfsG8X5Drdv785z9X9+7dtWzZMr/tR44c0erVqzVhwgRNmjRJvXr1UocOHXThhRdqxYoVjb5n3Vsk//M//6NLL71U7du313nnnad169bVO2b27Nn66U9/qg4dOqhfv36aP3++Tpw4IUlatmyZHn74YW3btk02m002m622vXVvkXz55Ze6/PLLlZKSoq5du2r69Ok6cuRI7eu33HKLJkyYoKeeekoZGRnq2rWrZsyYUXuuaKJUOADAGj/8IJ1xhjXvZZreno3U1OD2P3JE6tixyd3atGmjqVOnatmyZZo3b55sNpskafXq1TIMQ7/61a+0evVqzZ49W507d9abb76pm2++WWeffbaGDx/e5PvX1NTI7XYrLS1NH3/8sSorK/3Ga/h06tRJy5YtU8+ePfXll1/q17/+tTp16qT//M//1MSJE/XVV1/pnXfe0XvvvSdJSg3wfTh69KjGjh2rkSNHavPmzdq/f7/uuOMO3X333X4BqrCwUBkZGSosLNSuXbs0ceJEDR48WL/+9a+b/DyRoAcDANCq3Hbbbfr222/1/vvv125bunSpbrjhBvXp00f33XefBg8erH79+mnmzJm6+uqr9dprrwX13u+995527NihP/7xjxo0aJAuvfRSLVy4sN5+DzzwgEaNGiWXy6Vx48bpvvvuqz1HSkqKzjjjDLVp00bp6elKT09XSkpKvfdYvny5jh07pj/+8Y+64IILdPnll2vx4sX605/+pH379tXu16VLFy1evFjnnnuufv7zn+u6667T+vXrQ/22hYweDACANTp08PYkBGPDBunaa5ve7623pEsvDe7cQTr33HM1atQovfLKKxo9erR27dql4uJiPfLIIzIMQwsXLtRrr72msrIyHT9+XNXV1UGPsdi+fbucTqd69uxZu23kyJH19lu1apWeffZZffvttzpy5IhOnjypzp07B/0ZfOcaNGiQOp7Wc3PJJZeopqZGO3fuVFpamiTp/PPPl91ur90nIyNDX375ZUjnCgc9GAAAa9hs3tsUwTyuukpyOLzHNPReTqd3v2Der6H3acDtt9+uNWvW6PDhw1q6dKnOPvtsXXbZZfrd736n/Px8zZ49W4WFhdq6davGjh2r48ePW/AN8tq0aZOmTJmia6+9Vn/5y1/0+eefa968eZae43Rt27b1e26z2VRTUxOVc52OgAEAiD27XcrP9/67bjjwPc/L8+4XBTfeeKOSkpK0fPly/fGPf9Rtt90mm82mDz/8UOPHj9evfvUrDRo0SP369dM333wT9PsOGDBApaWlKi8vr9320Ucf+e2zceNG9enTR/PmzdPQoUPVv39//e1vf/Pbp127djKaqAcyYMAAbdu2TUePHq3d9uGHHyopKUnnnHNO0G2OFgIGACA+3G6poEDq1ct/u8Ph3e52R+3UZ5xxhiZOnKi5c+eqvLxct9xyiySpf//+WrdunTZu3Kjt27frN7/5jd94hqaMGTNGP/3pTzVt2jRt27ZNxcXFmjdvnt8+/fv31549e7Ry5Up9++23evbZZ7V27Vq/fVwul0pKSrR161YdPHhQ1dXV9c41ZcoUtW/fXtOmTdNXX32lwsJCzZw5UzfffHPt7ZF4ImAAAOLH7ZZ275YKC6Xly71fS0qiGi58br/9dv3zn//U2LFja8dMPPDAA7rooos0duxYjR49Wunp6ZowYULQ75mUlKS1a9fqxx9/1PDhw3XHHXfoscce89vnF7/4he69917dfffdGjx4sDZu3Kj58+f77XPDDTfo6quvVlZWlrp37x5wqmyHDh307rvv6tChQxo2bJiys7N1xRVXaPHixaF/M6LAZppBTh5uIaqqqpSamqrKysqQB9QAALyOHTumkpIS9e3bV+3bt493c2Chxn62oVxD6cEAAACWI2AAAADLETAAAIDlCBgAAMByBAwAQNha2TyBVsGqnykBAwAQMl91yB9++CHOLYHVfBVF7REWOWMtEgBAyOx2u84880zt379fkrcmgy3Ect1ofmpqanTgwAF16NBBbdpEFhEIGACAsKSnp0tSbchAy5CUlKTevXtHHBgJGACAsNhsNmVkZKhHjx46ceJEvJsDi7Rr105JSZGPoCBgAAAiYrfbI75fj5aHQZ4AAMByBAwAAGA5AgYAALAcAQMAAFiOgAEAACxHwAAAAJYjYAAAAMsRMAAAgOUIGAAAwHIEDAAAYDkCBgAAsBwBAwAAWI6AAQAALEfAAAAAliNgAAAAyxEwAACA5QgYAADAcgQMAABgOQIGAACwHAEDAABYjoABAAAsR8AAAACWI2AAAADLETAAAIDlCBgAAMByBAwAAGA5AgYAALAcAQMAAFiOgAEAACxHwAAAAJYjYAAAAMsRMAAAgOXiHjCef/55uVwutW/fXiNGjNAnn3zS6P55eXk655xzlJKSIqfTqXvvvVfHjh2LUWsBAEAw4howVq1apVmzZmnBggXasmWLBg0apLFjx2r//v0B91++fLnmzJmjBQsWaPv27Xr55Ze1atUq3X///TFuOQAAaExcA8YzzzyjX//617r11lt13nnnacmS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V+qFF17QhAkT1LZt23r79O3bVzfddFOobw0AiCErVihldVI0JOSA8d1336lPnz6N7tOxY0ctXbo07EYBAEIXam8CK5QimkIeg7F//359/PHH9bZ//PHH+vTTTy1pFAAgNOGsC5KZmSmHw1FvoKaPzWaT0+lUZmZmtJqNFizkgDFjxgyVlpbW215WVqYZM2ZY0igAQPDCmQkiMRsE0RVywPj6668D1roYMmSIvv76a0saBQAITiQzQSRmgyB6Qh6DkZycrH379qlfv35+28vLy9WmDYuzAkAshbIuSEODMVmhFNEQciK46qqrNHfuXP35z39WamqqJOn777/X/fffryuvvNLyBgJAaxLqQE0rZoJIzAaB9UIOGE899ZQuvfRS9enTR0OGDJEkbd26VWlpafrTn/5keQMBoLUItWS3xEwQNF9hrUVy9OhRvfrqq9q2bZtSUlI0cOBATZo0KWBNjOaGQlsAmiPfQM26/0v2DbZsaDwE64IglkK5hoa92FmiImAAaG58IaGhsRRNhQRfOJHkFzKaCidAqKJaydPn66+/1p49e3T8+HG/7b/4xS/CfUsAaJUiHajpmwkS6PZKXl4e4QJxEVYlz+uvv15ffvmlbDZbbVr2JeWGpkIBAAKzYqAmM0HQ3IQcMHJyctS3b1+tX79effv21SeffKJ//OMf+vd//3c99dRT0WgjALRoVg3UZCYImpOQC21t2rRJjzzyiLp166akpCQlJSXpZz/7mRYtWqR77rknGm0EgBaNkt1oiUIOGIZhqFOnTpKkbt266e9//7skqU+fPtq5c6e1rQOABGUYhoqKirRixQoVFRU1evuYkt1oiUIOGBdccIG2bdsmSRoxYoSefPJJffjhh3rkkUfqVfcEgNYonIXHKNmNlibkaarvvvuujh49KrfbrV27dunnP/+5vvnmG3Xt2lWrVq3S5ZdfHq22WoJpqgCiKdx6Fj6hVvIEYinmdTAOHTqkLl26NHj/sDkhYACIlkjrWQDNXSjX0JBukZw4cUJt2rTRV1995bf9rLPOSohwAQDRFEo9C6ClCylgtG3bVr1796bWBQAEYNXCY0BLEPIgz3nz5un+++/XoUOHotEeAEhYLDwG/EvIYzCGDBmiXbt26cSJE+rTp486duzo9/qWLVssbaDVGIMBIFihDrhk4TG0dFFdi2TChAnhtgsAEkY4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s3T//fdr8+bNuueee9SuXTtNmzYtauedM2eOqqqqdO6558put8swDD322GOaMmVK1M55uoqKCkkK+Dvlew0AEgEBI4HNmDFDX331lT744IOonqe0tFQ5OTlat26d2rdvH9Vz+dTU1Gjo0KFauHChJGnIkCH66quvtGTJkqgGjNdee02vvvqqli9frvPPP19bt25Vbm6uevbsGdXzAkBLwy2SCISz3LxV7r77bv3lL39RYWGhHA5HVM/12Wefaf/+/brooovUpk0btWnTRu+//76effZZtWnTRoZhWH7OjIwMnXfeeX7bBgwYoD179lh+rtP9x3/8h+bMmaObbrpJF154oW6++Wbde++9tYvtRZvv9yYev1MAYCUCRgTCWW4+UqZp6u6779batWv117/+VX379o3KeU53xRVX6Msvv9TWrVtrH0OHDtWUKVO0detW2e12y895ySWX1Jt++80336hPnz6Wn+t0P/zwg9/iepJkt9tVU1MT1fP69O3bV+np6X6/U1VVVfr444+j9jsFANHALZIINbXcvNVmzJih5cuX689//rM6depUe18+NTVVKSkpUTlnp06d6o3x6Nixo7p27Rq1sR/33nuvRo0apYULF+rGG2/UJ598ohdffFEvvvhiVM7nM27cOD322GPq3bu3zj//fH3++ed65plndNttt1l2jiNHjmjXrl21z0tKSrR161adddZZ6t27t3Jzc/Xb3/5W/fv3V9++fTV//nz17NlTEyZMsKwNABB18Z7G0hI899xzZu/evc127dqZw4cPNz/66KOonUtSwMfSpUujds5Aoj1N1TRN8//+3/9rXnDBBWZycrJ57rnnmi+++GJUz2eapllVVWXm5OSYvXv3Ntu3b2/269fPnDdvnlldXW3ZOQoLCwP+DKdNm2aapneq6vz58820tDQzOTnZvOKKK8ydO3dadn4AiAWWawcAAJZjDAYAALAcAQMAAFiOgAEAACxHwAAAAJYjYAAAAMsRMAAAgOUIGAAAwHIEDAAAYDkCBoAWwWaz6fXXX493MwCcQsAAELFbbrlFNput3uPqq6+Od9MAxAmLnQGwxNVXX62lS5f6bUtOTo5TawDEGz0YACyRnJys9PR0v0eXLl0keW9fvPDCC7rmmmuUkpKifv36qaCgwO/4L7/8UpdffrlSUlLUtWtXTZ8+XUeOHPHb55VXXtH555+v5ORkZWRk6O677/Z7/eDBg7r++uvVoUMH9e/fX2+88UZ0PzSABhEwAMTE/PnzdcMNN2jbtm2aMmWKbrrpJm3fvl2SdPToUY0dO1ZdunTR5s2btXr1ar333nt+AeKFF17QjBkzNH36dH355Zd644039JOf/MTvHA8//LBuvPFGffHFF7r22ms1ZcoUHTp0KKafE8Ap8V7OFUDimzZtmmm3282OHTv6PR577DHTNE1TknnnnXf6HTNixAjzrrvuMk3TNF988UWzS5cu5pEjR2pff/PNN82kpCSzoqLCNE3T7Nmzpzlv3rwG2yDJfOCBB2qfHzlyxJRkvv3225Z9TgDBYwwGAEtkZWXphRde8Nt21lln1f575MiRfq+NHDlSW7dulSRt375dgwYNUseOHWtfv+SSS1RTU6OdO3fKZrPp73//u6644opG2zBw4MDaf3fs2FGdO3fW/v37w/1IACJAwABgiY4dO9a7ZWGVlJSUoPZr27at33ObzaaamppoNAlAExiDASAmPvroo3rPBwwYIEkaMGCAtm3bpqNHj9a+/uGHHyopKUnnnHOOOnXqJJfLpfXr18e0zQDCRw8GAEtUV1eroqLCb1ubNm3UrVs3SdLq1as1dOhQ/exnP9Orr76qTz75RC+//LIkacqUKVqwYIGmTZumhx56SAcOHNDMmTN18803Ky0tTZL00EMP6c4771SPHj10zTXX6PDhw/rwww81c+bM2H5QAEEhYACwxDvvvKOMjAy/beecc4527NghyTvDY+XKlfpf/+t/KSMjQytWrNB5550nSerQoYPeffdd5eTkaNiwYerQoYNuuOEGPfPMM7XvNW3aNB07dkz/9V//pfvuu0/dunVTdnZ27D4ggJDYTNM0490IAC2bzWbT2rVrNWHChHg3BUCMMAYDAABYjoABAAAsxxgMAFHHnVig9aEHAwAAWI6AAQAALEfAAAAAliNgAAAAyxEwAACA5QgYAADAcgQMAABgOQIGAACw3P8HolEDqe22hVEAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "log_path = cifar_logger.experiment.metrics_file_path\n", - "cifar_results = pd.read_csv(log_path)\n", - "fig, ax = subplots(1, 1, figsize=(6, 6))\n", - "summary_plot(cifar_results,\n", - " ax,\n", - " col='accuracy',\n", - " ylabel='Accuracy')\n", - "ax.set_xticks(np.linspace(0, 10, 6).astype(int))\n", - "ax.set_ylabel('Accuracy')\n", - "ax.set_ylim([0, 1]);" - ] - }, - { - "cell_type": "markdown", - "id": "9c48006a", - "metadata": {}, - "source": [ - "Finally, we evaluate our model on our test data." - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "id": "e71eff9b", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3e804034c1964ed38bbe2ca376491f54", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Testing: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " Test metric DataLoader 0\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " test_accuracy 0.40880000591278076\n", - " test_loss 2.4764862060546875\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" - ] - }, - { - "data": { - "text/plain": [ - "[{'test_loss': 2.4764862060546875, 'test_accuracy': 0.40880000591278076}]" - ] - }, - "execution_count": 60, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cifar_trainer.test(cifar_module,\n", - " datamodule=cifar_dm)" - ] - }, - { - "cell_type": "markdown", - "id": "2d03b891", - "metadata": {}, - "source": [ - "### Hardware Acceleration\n", - "As deep learning has become ubiquitous in machine learning, hardware\n", - "manufacturers have produced special libraries that can\n", - "often speed up the gradient-descent steps.\n", - "\n", - "For instance, Mac OS devices with the M1 chip may have the *Metal* programming framework\n", - "enabled, which can speed up the `torch` \n", - "computations. We present an example of how to use this acceleration.\n", - "\n", - "The main changes are to the `Trainer()` call as well as to the metrics\n", - "that will be evaluated on the data. These metrics must be told where\n", - "the data will be located at evaluation time. This is\n", - "accomplished with a call to the `to()` method of the metrics." - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "id": "58eae430", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (mps), used: True\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "\n", - " | Name | Type | Params\n", - "-------------------------------------------\n", - "0 | model | CIFARModel | 964 K \n", - "1 | loss | CrossEntropyLoss | 0 \n", - "-------------------------------------------\n", - "964 K Trainable params\n", - "0 Non-trainable params\n", - "964 K Total params\n", - "3.858 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ebeb3882e14340e8b43876442c7e36d9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchmetrics/utilities/checks.py:49: UserWarning: MPS: no support for int64 min/max ops, casting it to int32 (Triggered internally at /Users/runner/work/pytorch/pytorch/pytorch/aten/src/ATen/native/mps/operations/ReduceOps.mm:1271.)\n", - " if ignore_index is None and target.min() < 0:\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "`Trainer.fit` stopped: `max_epochs=30` reached.\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3436eeffcb544f009e93641c9b125c58", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Testing: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "try:\n", - " for name, metric in cifar_module.metrics.items():\n", - " cifar_module.metrics[name] = metric.to('mps')\n", - " cifar_trainer_mps = Trainer(accelerator='mps',\n", - " deterministic=True,\n", - " max_epochs=30)\n", - " cifar_trainer_mps.fit(cifar_module,\n", - " datamodule=cifar_dm)\n", - " cifar_trainer_mps.test(cifar_module,\n", - " datamodule=cifar_dm)\n", - "except:\n", - " pass" - ] - }, - { - "cell_type": "markdown", - "id": "0c7227ef", - "metadata": {}, - "source": [ - "This yields approximately two- or three-fold acceleration for each epoch.\n", - "We have protected this code block using `try:` and `except:`\n", - "clauses; if it works, we get the speedup, if it fails, nothing happens." - ] - }, - { - "cell_type": "markdown", - "id": "4328a190", - "metadata": {}, - "source": [ - "## Using Pretrained CNN Models\n", - "We now show how to use a CNN pretrained on the `imagenet` database to classify natural\n", - "images, and demonstrate how we produced Figure 10.10.\n", - "We copied six JPEG images from a digital photo album into the\n", - "directory `book_images`. These images are available\n", - "from the data section of , the ISLP book website. Download `book_images.zip`; when\n", - "clicked it creates the `book_images` directory. \n", - "\n", - "The pretrained network we use is called `resnet50`; specification details can be found on the web.\n", - "We will read in the images, and\n", - "convert them into the array format expected by the `torch`\n", - "software to match the specifications in `resnet50`. \n", - "The conversion involves a resize, a crop and then a predefined standardization for each of the three channels.\n", - "We now read in the images and preprocess them." - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "id": "638a1c8c", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchvision/transforms/functional.py:1603: UserWarning: The default value of the antialias parameter of all the resizing transforms (Resize(), RandomResizedCrop(), etc.) will change from None to True in v0.17, in order to be consistent across the PIL and Tensor backends. To suppress this warning, directly pass antialias=True (recommended, future default), antialias=None (current default, which means False for Tensors and True for PIL), or antialias=False (only works on Tensors - PIL will still use antialiasing). This also applies if you are using the inference transforms from the models weights: update the call to weights.transforms(antialias=True).\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "text/plain": [ - "torch.Size([6, 3, 224, 224])" - ] - }, - "execution_count": 62, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "resize = Resize((232,232))\n", - "crop = CenterCrop(224)\n", - "normalize = Normalize([0.485,0.456,0.406],\n", - " [0.229,0.224,0.225])\n", - "imgfiles = sorted([f for f in glob('book_images/*')])\n", - "imgs = torch.stack([torch.div(crop(resize(read_image(f))), 255)\n", - " for f in imgfiles])\n", - "imgs = normalize(imgs)\n", - "imgs.size()" - ] - }, - { - "cell_type": "markdown", - "id": "a2c5aec2", - "metadata": {}, - "source": [ - "We now set up the trained network with the weights we read in code block~6. The model has 50 layers, with a fair bit of complexity." - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "id": "7776ed1e", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " action_fn=lambda data: sys.getsizeof(data.storage()),\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " return super().__sizeof__() + self.nbytes()\n" - ] - }, - { - "data": { - "text/plain": [ - "===================================================================================================================\n", - "Layer (type:depth-idx) Input Shape Output Shape Param #\n", - "===================================================================================================================\n", - "ResNet [6, 3, 224, 224] [6, 1000] --\n", - "├─Conv2d: 1-1 [6, 3, 224, 224] [6, 64, 112, 112] 9,408\n", - "├─BatchNorm2d: 1-2 [6, 64, 112, 112] [6, 64, 112, 112] 128\n", - "├─ReLU: 1-3 [6, 64, 112, 112] [6, 64, 112, 112] --\n", - "├─MaxPool2d: 1-4 [6, 64, 112, 112] [6, 64, 56, 56] --\n", - "├─Sequential: 1-5 [6, 64, 56, 56] [6, 256, 56, 56] --\n", - "│ └─Bottleneck: 2-1 [6, 64, 56, 56] [6, 256, 56, 56] --\n", - "│ │ └─Conv2d: 3-1 [6, 64, 56, 56] [6, 64, 56, 56] 4,096\n", - "│ │ └─BatchNorm2d: 3-2 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", - "│ │ └─ReLU: 3-3 [6, 64, 56, 56] [6, 64, 56, 56] --\n", - "│ │ └─Conv2d: 3-4 [6, 64, 56, 56] [6, 64, 56, 56] 36,864\n", - "│ │ └─BatchNorm2d: 3-5 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", - "│ │ └─ReLU: 3-6 [6, 64, 56, 56] [6, 64, 56, 56] --\n", - "│ │ └─Conv2d: 3-7 [6, 64, 56, 56] [6, 256, 56, 56] 16,384\n", - "│ │ └─BatchNorm2d: 3-8 [6, 256, 56, 56] [6, 256, 56, 56] 512\n", - "│ │ └─Sequential: 3-9 [6, 64, 56, 56] [6, 256, 56, 56] 16,896\n", - "│ │ └─ReLU: 3-10 [6, 256, 56, 56] [6, 256, 56, 56] --\n", - "│ └─Bottleneck: 2-2 [6, 256, 56, 56] [6, 256, 56, 56] --\n", - "│ │ └─Conv2d: 3-11 [6, 256, 56, 56] [6, 64, 56, 56] 16,384\n", - "│ │ └─BatchNorm2d: 3-12 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", - "│ │ └─ReLU: 3-13 [6, 64, 56, 56] [6, 64, 56, 56] --\n", - "│ │ └─Conv2d: 3-14 [6, 64, 56, 56] [6, 64, 56, 56] 36,864\n", - "│ │ └─BatchNorm2d: 3-15 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", - "│ │ └─ReLU: 3-16 [6, 64, 56, 56] [6, 64, 56, 56] --\n", - "│ │ └─Conv2d: 3-17 [6, 64, 56, 56] [6, 256, 56, 56] 16,384\n", - "│ │ └─BatchNorm2d: 3-18 [6, 256, 56, 56] [6, 256, 56, 56] 512\n", - "│ │ └─ReLU: 3-19 [6, 256, 56, 56] [6, 256, 56, 56] --\n", - "│ └─Bottleneck: 2-3 [6, 256, 56, 56] [6, 256, 56, 56] --\n", - "│ │ └─Conv2d: 3-20 [6, 256, 56, 56] [6, 64, 56, 56] 16,384\n", - "│ │ └─BatchNorm2d: 3-21 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", - "│ │ └─ReLU: 3-22 [6, 64, 56, 56] [6, 64, 56, 56] --\n", - "│ │ └─Conv2d: 3-23 [6, 64, 56, 56] [6, 64, 56, 56] 36,864\n", - "│ │ └─BatchNorm2d: 3-24 [6, 64, 56, 56] [6, 64, 56, 56] 128\n", - "│ │ └─ReLU: 3-25 [6, 64, 56, 56] [6, 64, 56, 56] --\n", - "│ │ └─Conv2d: 3-26 [6, 64, 56, 56] [6, 256, 56, 56] 16,384\n", - "│ │ └─BatchNorm2d: 3-27 [6, 256, 56, 56] [6, 256, 56, 56] 512\n", - "│ │ └─ReLU: 3-28 [6, 256, 56, 56] [6, 256, 56, 56] --\n", - "├─Sequential: 1-6 [6, 256, 56, 56] [6, 512, 28, 28] --\n", - "│ └─Bottleneck: 2-4 [6, 256, 56, 56] [6, 512, 28, 28] --\n", - "│ │ └─Conv2d: 3-29 [6, 256, 56, 56] [6, 128, 56, 56] 32,768\n", - "│ │ └─BatchNorm2d: 3-30 [6, 128, 56, 56] [6, 128, 56, 56] 256\n", - "│ │ └─ReLU: 3-31 [6, 128, 56, 56] [6, 128, 56, 56] --\n", - "│ │ └─Conv2d: 3-32 [6, 128, 56, 56] [6, 128, 28, 28] 147,456\n", - "│ │ └─BatchNorm2d: 3-33 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", - "│ │ └─ReLU: 3-34 [6, 128, 28, 28] [6, 128, 28, 28] --\n", - "│ │ └─Conv2d: 3-35 [6, 128, 28, 28] [6, 512, 28, 28] 65,536\n", - "│ │ └─BatchNorm2d: 3-36 [6, 512, 28, 28] [6, 512, 28, 28] 1,024\n", - "│ │ └─Sequential: 3-37 [6, 256, 56, 56] [6, 512, 28, 28] 132,096\n", - "│ │ └─ReLU: 3-38 [6, 512, 28, 28] [6, 512, 28, 28] --\n", - "│ └─Bottleneck: 2-5 [6, 512, 28, 28] [6, 512, 28, 28] --\n", - "│ │ └─Conv2d: 3-39 [6, 512, 28, 28] [6, 128, 28, 28] 65,536\n", - "│ │ └─BatchNorm2d: 3-40 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", - "│ │ └─ReLU: 3-41 [6, 128, 28, 28] [6, 128, 28, 28] --\n", - "│ │ └─Conv2d: 3-42 [6, 128, 28, 28] [6, 128, 28, 28] 147,456\n", - "│ │ └─BatchNorm2d: 3-43 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", - "│ │ └─ReLU: 3-44 [6, 128, 28, 28] [6, 128, 28, 28] --\n", - "│ │ └─Conv2d: 3-45 [6, 128, 28, 28] [6, 512, 28, 28] 65,536\n", - "│ │ └─BatchNorm2d: 3-46 [6, 512, 28, 28] [6, 512, 28, 28] 1,024\n", - "│ │ └─ReLU: 3-47 [6, 512, 28, 28] [6, 512, 28, 28] --\n", - "│ └─Bottleneck: 2-6 [6, 512, 28, 28] [6, 512, 28, 28] --\n", - "│ │ └─Conv2d: 3-48 [6, 512, 28, 28] [6, 128, 28, 28] 65,536\n", - "│ │ └─BatchNorm2d: 3-49 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", - "│ │ └─ReLU: 3-50 [6, 128, 28, 28] [6, 128, 28, 28] --\n", - "│ │ └─Conv2d: 3-51 [6, 128, 28, 28] [6, 128, 28, 28] 147,456\n", - "│ │ └─BatchNorm2d: 3-52 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", - "│ │ └─ReLU: 3-53 [6, 128, 28, 28] [6, 128, 28, 28] --\n", - "│ │ └─Conv2d: 3-54 [6, 128, 28, 28] [6, 512, 28, 28] 65,536\n", - "│ │ └─BatchNorm2d: 3-55 [6, 512, 28, 28] [6, 512, 28, 28] 1,024\n", - "│ │ └─ReLU: 3-56 [6, 512, 28, 28] [6, 512, 28, 28] --\n", - "│ └─Bottleneck: 2-7 [6, 512, 28, 28] [6, 512, 28, 28] --\n", - "│ │ └─Conv2d: 3-57 [6, 512, 28, 28] [6, 128, 28, 28] 65,536\n", - "│ │ └─BatchNorm2d: 3-58 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", - "│ │ └─ReLU: 3-59 [6, 128, 28, 28] [6, 128, 28, 28] --\n", - "│ │ └─Conv2d: 3-60 [6, 128, 28, 28] [6, 128, 28, 28] 147,456\n", - "│ │ └─BatchNorm2d: 3-61 [6, 128, 28, 28] [6, 128, 28, 28] 256\n", - "│ │ └─ReLU: 3-62 [6, 128, 28, 28] [6, 128, 28, 28] --\n", - "│ │ └─Conv2d: 3-63 [6, 128, 28, 28] [6, 512, 28, 28] 65,536\n", - "│ │ └─BatchNorm2d: 3-64 [6, 512, 28, 28] [6, 512, 28, 28] 1,024\n", - "│ │ └─ReLU: 3-65 [6, 512, 28, 28] [6, 512, 28, 28] --\n", - "├─Sequential: 1-7 [6, 512, 28, 28] [6, 1024, 14, 14] --\n", - "│ └─Bottleneck: 2-8 [6, 512, 28, 28] [6, 1024, 14, 14] --\n", - "│ │ └─Conv2d: 3-66 [6, 512, 28, 28] [6, 256, 28, 28] 131,072\n", - "│ │ └─BatchNorm2d: 3-67 [6, 256, 28, 28] [6, 256, 28, 28] 512\n", - "│ │ └─ReLU: 3-68 [6, 256, 28, 28] [6, 256, 28, 28] --\n", - "│ │ └─Conv2d: 3-69 [6, 256, 28, 28] [6, 256, 14, 14] 589,824\n", - "│ │ └─BatchNorm2d: 3-70 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-71 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-72 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-73 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", - "│ │ └─Sequential: 3-74 [6, 512, 28, 28] [6, 1024, 14, 14] 526,336\n", - "│ │ └─ReLU: 3-75 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ └─Bottleneck: 2-9 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ │ └─Conv2d: 3-76 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-77 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-78 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-79 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", - "│ │ └─BatchNorm2d: 3-80 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-81 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-82 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-83 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", - "│ │ └─ReLU: 3-84 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ └─Bottleneck: 2-10 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ │ └─Conv2d: 3-85 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-86 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-87 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-88 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", - "│ │ └─BatchNorm2d: 3-89 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-90 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-91 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-92 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", - "│ │ └─ReLU: 3-93 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ └─Bottleneck: 2-11 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ │ └─Conv2d: 3-94 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-95 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-96 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-97 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", - "│ │ └─BatchNorm2d: 3-98 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-99 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-100 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-101 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", - "│ │ └─ReLU: 3-102 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ └─Bottleneck: 2-12 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ │ └─Conv2d: 3-103 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-104 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-105 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-106 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", - "│ │ └─BatchNorm2d: 3-107 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-108 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-109 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-110 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", - "│ │ └─ReLU: 3-111 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ └─Bottleneck: 2-13 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "│ │ └─Conv2d: 3-112 [6, 1024, 14, 14] [6, 256, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-113 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-114 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-115 [6, 256, 14, 14] [6, 256, 14, 14] 589,824\n", - "│ │ └─BatchNorm2d: 3-116 [6, 256, 14, 14] [6, 256, 14, 14] 512\n", - "│ │ └─ReLU: 3-117 [6, 256, 14, 14] [6, 256, 14, 14] --\n", - "│ │ └─Conv2d: 3-118 [6, 256, 14, 14] [6, 1024, 14, 14] 262,144\n", - "│ │ └─BatchNorm2d: 3-119 [6, 1024, 14, 14] [6, 1024, 14, 14] 2,048\n", - "│ │ └─ReLU: 3-120 [6, 1024, 14, 14] [6, 1024, 14, 14] --\n", - "├─Sequential: 1-8 [6, 1024, 14, 14] [6, 2048, 7, 7] --\n", - "│ └─Bottleneck: 2-14 [6, 1024, 14, 14] [6, 2048, 7, 7] --\n", - "│ │ └─Conv2d: 3-121 [6, 1024, 14, 14] [6, 512, 14, 14] 524,288\n", - "│ │ └─BatchNorm2d: 3-122 [6, 512, 14, 14] [6, 512, 14, 14] 1,024\n", - "│ │ └─ReLU: 3-123 [6, 512, 14, 14] [6, 512, 14, 14] --\n", - "│ │ └─Conv2d: 3-124 [6, 512, 14, 14] [6, 512, 7, 7] 2,359,296\n", - "│ │ └─BatchNorm2d: 3-125 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", - "│ │ └─ReLU: 3-126 [6, 512, 7, 7] [6, 512, 7, 7] --\n", - "│ │ └─Conv2d: 3-127 [6, 512, 7, 7] [6, 2048, 7, 7] 1,048,576\n", - "│ │ └─BatchNorm2d: 3-128 [6, 2048, 7, 7] [6, 2048, 7, 7] 4,096\n", - "│ │ └─Sequential: 3-129 [6, 1024, 14, 14] [6, 2048, 7, 7] 2,101,248\n", - "│ │ └─ReLU: 3-130 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", - "│ └─Bottleneck: 2-15 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", - "│ │ └─Conv2d: 3-131 [6, 2048, 7, 7] [6, 512, 7, 7] 1,048,576\n", - "│ │ └─BatchNorm2d: 3-132 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", - "│ │ └─ReLU: 3-133 [6, 512, 7, 7] [6, 512, 7, 7] --\n", - "│ │ └─Conv2d: 3-134 [6, 512, 7, 7] [6, 512, 7, 7] 2,359,296\n", - "│ │ └─BatchNorm2d: 3-135 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", - "│ │ └─ReLU: 3-136 [6, 512, 7, 7] [6, 512, 7, 7] --\n", - "│ │ └─Conv2d: 3-137 [6, 512, 7, 7] [6, 2048, 7, 7] 1,048,576\n", - "│ │ └─BatchNorm2d: 3-138 [6, 2048, 7, 7] [6, 2048, 7, 7] 4,096\n", - "│ │ └─ReLU: 3-139 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", - "│ └─Bottleneck: 2-16 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", - "│ │ └─Conv2d: 3-140 [6, 2048, 7, 7] [6, 512, 7, 7] 1,048,576\n", - "│ │ └─BatchNorm2d: 3-141 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", - "│ │ └─ReLU: 3-142 [6, 512, 7, 7] [6, 512, 7, 7] --\n", - "│ │ └─Conv2d: 3-143 [6, 512, 7, 7] [6, 512, 7, 7] 2,359,296\n", - "│ │ └─BatchNorm2d: 3-144 [6, 512, 7, 7] [6, 512, 7, 7] 1,024\n", - "│ │ └─ReLU: 3-145 [6, 512, 7, 7] [6, 512, 7, 7] --\n", - "│ │ └─Conv2d: 3-146 [6, 512, 7, 7] [6, 2048, 7, 7] 1,048,576\n", - "│ │ └─BatchNorm2d: 3-147 [6, 2048, 7, 7] [6, 2048, 7, 7] 4,096\n", - "│ │ └─ReLU: 3-148 [6, 2048, 7, 7] [6, 2048, 7, 7] --\n", - "├─AdaptiveAvgPool2d: 1-9 [6, 2048, 7, 7] [6, 2048, 1, 1] --\n", - "├─Linear: 1-10 [6, 2048] [6, 1000] 2,049,000\n", - "===================================================================================================================\n", - "Total params: 25,557,032\n", - "Trainable params: 25,557,032\n", - "Non-trainable params: 0\n", - "Total mult-adds (G): 24.54\n", - "===================================================================================================================\n", - "Input size (MB): 3.61\n", - "Forward/backward pass size (MB): 1066.99\n", - "Params size (MB): 102.23\n", - "Estimated Total Size (MB): 1172.83\n", - "===================================================================================================================" - ] - }, - "execution_count": 63, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "resnet_model = resnet50(weights=ResNet50_Weights.DEFAULT)\n", - "summary(resnet_model,\n", - " input_data=imgs,\n", - " col_names=['input_size',\n", - " 'output_size',\n", - " 'num_params'])" - ] - }, - { - "cell_type": "markdown", - "id": "0d29ab45", - "metadata": {}, - "source": [ - "We set the mode to `eval()` to ensure that the model is ready to predict on new data." - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "id": "5c8e359d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "ResNet(\n", - " (conv1): Conv2d(3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False)\n", - " (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " (maxpool): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)\n", - " (layer1): Sequential(\n", - " (0): Bottleneck(\n", - " (conv1): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " (downsample): Sequential(\n", - " (0): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " )\n", - " )\n", - " (1): Bottleneck(\n", - " (conv1): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " (2): Bottleneck(\n", - " (conv1): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " )\n", - " (layer2): Sequential(\n", - " (0): Bottleneck(\n", - " (conv1): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " (downsample): Sequential(\n", - " (0): Conv2d(256, 512, kernel_size=(1, 1), stride=(2, 2), bias=False)\n", - " (1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " )\n", - " )\n", - " (1): Bottleneck(\n", - " (conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " (2): Bottleneck(\n", - " (conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " (3): Bottleneck(\n", - " (conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " )\n", - " (layer3): Sequential(\n", - " (0): Bottleneck(\n", - " (conv1): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " (downsample): Sequential(\n", - " (0): Conv2d(512, 1024, kernel_size=(1, 1), stride=(2, 2), bias=False)\n", - " (1): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " )\n", - " )\n", - " (1): Bottleneck(\n", - " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " (2): Bottleneck(\n", - " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " (3): Bottleneck(\n", - " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " (4): Bottleneck(\n", - " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " (5): Bottleneck(\n", - " (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " )\n", - " (layer4): Sequential(\n", - " (0): Bottleneck(\n", - " (conv1): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " (downsample): Sequential(\n", - " (0): Conv2d(1024, 2048, kernel_size=(1, 1), stride=(2, 2), bias=False)\n", - " (1): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " )\n", - " )\n", - " (1): Bottleneck(\n", - " (conv1): Conv2d(2048, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " (2): Bottleneck(\n", - " (conv1): Conv2d(2048, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)\n", - " (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (conv3): Conv2d(512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (bn3): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (relu): ReLU(inplace=True)\n", - " )\n", - " )\n", - " (avgpool): AdaptiveAvgPool2d(output_size=(1, 1))\n", - " (fc): Linear(in_features=2048, out_features=1000, bias=True)\n", - ")" - ] - }, - "execution_count": 64, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "resnet_model.eval()" - ] - }, - { - "cell_type": "markdown", - "id": "228a6411", - "metadata": {}, - "source": [ - "Inspecting the output above, we see that when setting up the\n", - "`resnet_model`, the authors defined a `Bottleneck`, much like our\n", - "`BuildingBlock` module.\n", - "\n", - "We now feed our six images through the fitted network." - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "id": "80f19869", - "metadata": {}, - "outputs": [], - "source": [ - "img_preds = resnet_model(imgs)" - ] - }, - { - "cell_type": "markdown", - "id": "e7bd653f", - "metadata": {}, - "source": [ - "Let’s look at the predicted probabilities for each of the top 3 choices. First we compute\n", - "the probabilities by applying the softmax to the logits in `img_preds`. Note that\n", - "we have had to call the `detach()` method on the tensor `img_preds` in order to convert\n", - "it to our a more familiar `ndarray`." - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "id": "6892597d", - "metadata": {}, - "outputs": [], - "source": [ - "img_probs = np.exp(np.asarray(img_preds.detach()))\n", - "img_probs /= img_probs.sum(1)[:,None]" - ] - }, - { - "cell_type": "markdown", - "id": "b0f07763", - "metadata": {}, - "source": [ - "In order to see the class labels, we must download the index file associated with `imagenet`. {This is avalable from the book website and [s3.amazonaws.com/deep-learning-models/image-models/imagenet_class_index.json](https://s3.amazonaws.com/deep-learning-models/image-models/imagenet_class_index.json).}" - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "id": "3eb1e1b0", - "metadata": {}, - "outputs": [], - "source": [ - "labs = json.load(open('imagenet_class_index.json'))\n", - "class_labels = pd.DataFrame([(int(k), v[1]) for k, v in \n", - " labs.items()],\n", - " columns=['idx', 'label'])\n", - "class_labels = class_labels.set_index('idx')\n", - "class_labels = class_labels.sort_index()" - ] - }, - { - "cell_type": "markdown", - "id": "7779e914", - "metadata": {}, - "source": [ - "We’ll now construct a data frame for each image file\n", - "with the labels with the three highest probabilities as\n", - "estimated by the model above." - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "id": "0e89d251", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Image: book_images/flamingo.jpg\n", - " label prob\n", - "0 flamingo 0.591760\n", - "1 spoonbill 0.012386\n", - "2 American_egret 0.002105\n", - "Image: book_images/hawk.jpg\n", - " label prob\n", - "0 great_grey_owl 0.287958\n", - "1 kite 0.039478\n", - "2 fountain 0.029384\n", - "Image: book_images/hawk_cropped.jpeg\n", - " label prob\n", - "0 kite 0.301841\n", - "1 jay 0.121659\n", - "2 magpie 0.015511\n", - "Image: book_images/huey.jpg\n", - " label prob\n", - "0 Lhasa 0.151153\n", - "1 Shih-Tzu 0.129804\n", - "2 Tibetan_terrier 0.102400\n", - "Image: book_images/kitty.jpg\n", - " label prob\n", - "0 tabby 0.173628\n", - "1 tiger_cat 0.110415\n", - "2 doormat 0.093447\n", - "Image: book_images/weaver.jpg\n", - " label prob\n", - "0 jacamar 0.287284\n", - "1 bee_eater 0.046768\n", - "2 bulbul 0.037507\n" - ] - } - ], - "source": [ - "for i, imgfile in enumerate(imgfiles):\n", - " img_df = class_labels.copy()\n", - " img_df['prob'] = img_probs[i]\n", - " img_df = img_df.sort_values(by='prob', ascending=False)[:3]\n", - " print(f'Image: {imgfile}')\n", - " print(img_df.reset_index().drop(columns=['idx']))" - ] - }, - { - "cell_type": "markdown", - "id": "7f9d3843", - "metadata": {}, - "source": [ - "We see that the model\n", - "is quite confident about `Flamingo.jpg`, but a little less so for the\n", - "other images.\n", - "\n", - "We end this section with our usual cleanup." - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "id": "69456669", - "metadata": {}, - "outputs": [], - "source": [ - "del(cifar_test,\n", - " cifar_train,\n", - " cifar_dm,\n", - " cifar_module,\n", - " cifar_logger,\n", - " cifar_optimizer,\n", - " cifar_trainer)" - ] - }, - { - "cell_type": "markdown", - "id": "64b33c4d", - "metadata": {}, - "source": [ - "## IMDB Document Classification\n", - "We now implement models for sentiment classification (Section 10.4) on the `IMDB`\n", - "dataset. As mentioned above code block~8, we are using\n", - "a preprocessed version of the `IMDB` dataset found in the\n", - "`keras` package. As `keras` uses `tensorflow`, a different\n", - "tensor and deep learning library, we have\n", - "converted the data to be suitable for `torch`. The\n", - "code used to convert from `keras` is\n", - "available in the module `ISLP.torch._make_imdb`. It\n", - "requires some of the `keras` packages to run. These data use a dictionary of size 10,000.\n", - "\n", - "We have stored three different representations of the review data for this lab:\n", - "\n", - "* `load_tensor()`, a sparse tensor version usable by `torch`;\n", - "* `load_sparse()`, a sparse matrix version usable by `sklearn`, since we will compare with a lasso fit;\n", - "* `load_sequential()`, a padded\n", - "version of the original sequence representation, limited to the last\n", - "500 words of each review." - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "id": "70b3ece2", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 1, 14, 22, 16, 43, 530, 973, 1622, 1385, 65, 458,\n", - " 4468], dtype=int32)" - ] - }, - "execution_count": 70, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(imdb_seq_train,\n", - " imdb_seq_test) = load_sequential(root='data/IMDB')\n", - "padded_sample = np.asarray(imdb_seq_train.tensors[0][0])\n", - "sample_review = padded_sample[padded_sample > 0][:12]\n", - "sample_review[:12]" - ] - }, - { - "cell_type": "markdown", - "id": "d6b73c18", - "metadata": {}, - "source": [ - "The datasets `imdb_seq_train` and `imdb_seq_test` are\n", - "both instances of the class `TensorDataset`. The\n", - "tensors used to construct them can be found in the `tensors` attribute, with\n", - "the first tensor the features `X` and the second the outcome `Y`.\n", - "We have taken the first row of features and stored it as `padded_sample`. In the preprocessing\n", - "used to form these data, sequences were padded with 0s in the beginning if they were\n", - "not long enough, hence we remove this padding by restricting to entries where\n", - "`padded_sample > 0`. We then provide the first 12 words of the sample review.\n", - "\n", - "We can find these words in the `lookup` dictionary from the `ISLP.torch.imdb` module." - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "id": "349b2af7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "\" this film was just brilliant casting location scenery story direction everyone's\"" - ] - }, - "execution_count": 71, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "lookup = load_lookup(root='data/IMDB')\n", - "' '.join(lookup[i] for i in sample_review)" - ] - }, - { - "cell_type": "markdown", - "id": "99d5a108", - "metadata": {}, - "source": [ - "For our first model, we have created a binary feature for each\n", - "of the 10,000 possible words in the dataset, with an entry of one\n", - "in the $i,j$ entry if word $j$ appears in review $i$. As most reviews\n", - "are quite short, such a feature matrix has over 98% zeros. These data\n", - "are accessed using `load_tensor()` from the `ISLP` library." - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "id": "ffa8da37", - "metadata": {}, - "outputs": [], - "source": [ - "max_num_workers=10\n", - "(imdb_train,\n", - " imdb_test) = load_tensor(root='data/IMDB')\n", - "imdb_dm = SimpleDataModule(imdb_train,\n", - " imdb_test,\n", - " validation=2000,\n", - " num_workers=min(6, max_num_workers),\n", - " batch_size=512)" - ] - }, - { - "cell_type": "markdown", - "id": "e53eea99", - "metadata": {}, - "source": [ - "We’ll use a two-layer model for our first model." - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "id": "11eeeabb", - "metadata": {}, - "outputs": [], - "source": [ - "class IMDBModel(nn.Module):\n", - "\n", - " def __init__(self, input_size):\n", - " super(IMDBModel, self).__init__()\n", - " self.dense1 = nn.Linear(input_size, 16)\n", - " self.activation = nn.ReLU()\n", - " self.dense2 = nn.Linear(16, 16)\n", - " self.output = nn.Linear(16, 1)\n", - "\n", - " def forward(self, x):\n", - " val = x\n", - " for _map in [self.dense1,\n", - " self.activation,\n", - " self.dense2,\n", - " self.activation,\n", - " self.output]:\n", - " val = _map(val)\n", - " return torch.flatten(val)" - ] - }, - { - "cell_type": "markdown", - "id": "943bf8d4", - "metadata": {}, - "source": [ - "We now instantiate our model and look at a summary." - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "id": "5fe55a29", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " action_fn=lambda data: sys.getsizeof(data.storage()),\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " return super().__sizeof__() + self.nbytes()\n" - ] - }, - { - "data": { - "text/plain": [ - "===================================================================================================================\n", - "Layer (type:depth-idx) Input Shape Output Shape Param #\n", - "===================================================================================================================\n", - "IMDBModel [25000, 10003] [25000] --\n", - "├─Linear: 1-1 [25000, 10003] [25000, 16] 160,064\n", - "├─ReLU: 1-2 [25000, 16] [25000, 16] --\n", - "├─Linear: 1-3 [25000, 16] [25000, 16] 272\n", - "├─ReLU: 1-4 [25000, 16] [25000, 16] --\n", - "├─Linear: 1-5 [25000, 16] [25000, 1] 17\n", - "===================================================================================================================\n", - "Total params: 160,353\n", - "Trainable params: 160,353\n", - "Non-trainable params: 0\n", - "Total mult-adds (G): 4.01\n", - "===================================================================================================================\n", - "Input size (MB): 1000.30\n", - "Forward/backward pass size (MB): 6.60\n", - "Params size (MB): 0.64\n", - "Estimated Total Size (MB): 1007.54\n", - "===================================================================================================================" - ] - }, - "execution_count": 74, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "imdb_model = IMDBModel(imdb_test.tensors[0].size()[1])\n", - "summary(imdb_model,\n", - " input_size=imdb_test.tensors[0].size(),\n", - " col_names=['input_size',\n", - " 'output_size',\n", - " 'num_params'])" - ] - }, - { - "cell_type": "markdown", - "id": "a49a0145", - "metadata": {}, - "source": [ - "We’ll again use\n", - "a smaller learning rate for these data,\n", - "hence we pass an `optimizer` to the\n", - "`SimpleModule`. \n", - "Since the reviews are classified into\n", - "positive or negative sentiment, we use\n", - "`SimpleModule.binary_classification()`. {Our use of\n", - " `binary_classification()` instead of `classification()` is\n", - " due to some subtlety in how `torchmetrics.Accuracy()` works,\n", - "as well as the data type of the targets.}" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "id": "e1ebbc70", - "metadata": {}, - "outputs": [], - "source": [ - "imdb_optimizer = RMSprop(imdb_model.parameters(), lr=0.001)\n", - "imdb_module = SimpleModule.binary_classification(\n", - " imdb_model,\n", - " optimizer=imdb_optimizer)" - ] - }, - { - "cell_type": "markdown", - "id": "18076d4c", - "metadata": {}, - "source": [ - "Having loaded the datasets into a data module\n", - "and created a `SimpleModule`, the remaining steps\n", - "are familiar." - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "id": "9feddeb2", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (mps), used: False\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", - " rank_zero_warn(\n", - "\n", - " | Name | Type | Params\n", - "--------------------------------------------\n", - "0 | model | IMDBModel | 160 K \n", - "1 | loss | BCEWithLogitsLoss | 0 \n", - "--------------------------------------------\n", - "160 K Trainable params\n", - "0 Non-trainable params\n", - "160 K Total params\n", - "0.641 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1892: PossibleUserWarning: The number of training batches (45) is smaller than the logging interval Trainer(log_every_n_steps=50). Set a lower value for log_every_n_steps if you want to see logs for the training epoch.\n", - " rank_zero_warn(\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "44936d415c7e4ad6b38cd97c733a90be", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "`Trainer.fit` stopped: `max_epochs=30` reached.\n" - ] - } - ], - "source": [ - "imdb_logger = CSVLogger('logs', name='IMDB')\n", - "imdb_trainer = Trainer(deterministic=True,\n", - " max_epochs=30,\n", - " logger=imdb_logger,\n", - " callbacks=[ErrorTracker()])\n", - "imdb_trainer.fit(imdb_module,\n", - " datamodule=imdb_dm)" - ] - }, - { - "cell_type": "markdown", - "id": "f28e6658", - "metadata": {}, - "source": [ - "Evaluating the test error yields roughly 86% accuracy." - ] - }, - { - "cell_type": "code", - "execution_count": 77, - "id": "887d7dad", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "03f177eef9fe4ed090eef15f0a005581", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Testing: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " Test metric DataLoader 0\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " test_accuracy 0.8543599843978882\n", - " test_loss 1.1992340087890625\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" - ] - }, - { - "data": { - "text/plain": [ - "[{'test_loss': 1.1992340087890625, 'test_accuracy': 0.8543599843978882}]" - ] - }, - "execution_count": 77, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "test_results = imdb_trainer.test(imdb_module, datamodule=imdb_dm)\n", - "test_results" - ] - }, - { - "cell_type": "markdown", - "id": "d2f87545", - "metadata": {}, - "source": [ - "### Comparison to Lasso\n", - "We now fit a lasso logistic regression model\n", - " using `LogisticRegression()` from `sklearn`. Since `sklearn` does not recognize\n", - "the sparse tensors of `torch`, we use a sparse\n", - "matrix that is recognized by `sklearn.`" - ] - }, - { - "cell_type": "code", - "execution_count": 78, - "id": "055a9aeb", - "metadata": {}, - "outputs": [], - "source": [ - "((X_train, Y_train),\n", - " (X_valid, Y_valid),\n", - " (X_test, Y_test)) = load_sparse(validation=2000,\n", - " random_state=0,\n", - " root='data/IMDB')" - ] - }, - { - "cell_type": "markdown", - "id": "d8324d03", - "metadata": {}, - "source": [ - "Similar to what we did in\n", - "Section 10.9.1,\n", - "we construct a series of 50 values for the lasso reguralization parameter $\\lambda$." - ] - }, - { - "cell_type": "code", - "execution_count": 79, - "id": "e3e1e181", - "metadata": {}, - "outputs": [], - "source": [ - "lam_max = np.abs(X_train.T * (Y_train - Y_train.mean())).max()\n", - "lam_val = lam_max * np.exp(np.linspace(np.log(1),\n", - " np.log(1e-4), 50))" - ] - }, - { - "cell_type": "markdown", - "id": "73e7d53e", - "metadata": {}, - "source": [ - "With `LogisticRegression()` the regularization parameter\n", - "$C$ is specified as the inverse of $\\lambda$. There are several\n", - "solvers for logistic regression; here we use `liblinear` which\n", - "works well with the sparse input format." - ] - }, - { - "cell_type": "code", - "execution_count": 80, - "id": "dd64350c", - "metadata": {}, - "outputs": [], - "source": [ - "logit = LogisticRegression(penalty='l1', \n", - " C=1/lam_max,\n", - " solver='liblinear',\n", - " warm_start=True,\n", - " fit_intercept=True)" - ] - }, - { - "cell_type": "markdown", - "id": "f0e9739a", - "metadata": {}, - "source": [ - "The path of 50 values takes approximately 40 seconds to run." - ] - }, - { - "cell_type": "code", - "execution_count": 81, - "id": "0bf8b868", - "metadata": {}, - "outputs": [], - "source": [ - "coefs = []\n", - "intercepts = []\n", - "\n", - "for l in lam_val:\n", - " logit.C = 1/l\n", - " logit.fit(X_train, Y_train)\n", - " coefs.append(logit.coef_.copy())\n", - " intercepts.append(logit.intercept_)" - ] - }, - { - "cell_type": "markdown", - "id": "95f4fbff", - "metadata": {}, - "source": [ - "The coefficient and intercepts have an extraneous dimension which can be removed\n", - "by the `np.squeeze()` function." - ] - }, - { - "cell_type": "code", - "execution_count": 82, - "id": "28256828", - "metadata": {}, - "outputs": [], - "source": [ - "coefs = np.squeeze(coefs)\n", - "intercepts = np.squeeze(intercepts)" - ] - }, - { - "cell_type": "markdown", - "id": "94e746f6", - "metadata": {}, - "source": [ - "We’ll now make a plot to compare our neural network results with the\n", - "lasso." - ] - }, - { - "cell_type": "code", - "execution_count": 83, - "id": "a5945618", - "metadata": {}, - "outputs": [], - "source": [ - "%%capture\n", - "fig, axes = subplots(1, 2, figsize=(16, 8), sharey=True)\n", - "for ((X_, Y_),\n", - " data_,\n", - " color) in zip([(X_train, Y_train),\n", - " (X_valid, Y_valid),\n", - " (X_test, Y_test)],\n", - " ['Training', 'Validation', 'Test'],\n", - " ['black', 'red', 'blue']):\n", - " linpred_ = X_ * coefs.T + intercepts[None,:]\n", - " label_ = np.array(linpred_ > 0)\n", - " accuracy_ = np.array([np.mean(Y_ == l) for l in label_.T])\n", - " axes[0].plot(-np.log(lam_val / X_train.shape[0]),\n", - " accuracy_,\n", - " '.--',\n", - " color=color,\n", - " markersize=13,\n", - " linewidth=2,\n", - " label=data_)\n", - "axes[0].legend()\n", - "axes[0].set_xlabel(r'$-\\log(\\lambda)$', fontsize=20)\n", - "axes[0].set_ylabel('Accuracy', fontsize=20)" - ] - }, - { - "cell_type": "markdown", - "id": "7dc7e494", - "metadata": {}, - "source": [ - "Notice the use of `%%capture`, which suppresses the displaying of the partially completed figure. This is useful\n", - "when making a complex figure, since the steps can be spread across two or more cells.\n", - "We now add a plot of the lasso accuracy, and display the composed figure by simply entering its name at the end of the cell." - ] - }, - { - "cell_type": "code", - "execution_count": 84, - "id": "74704884", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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66+/Xvfee688Ho/eeustXXTRRTIMQ3feeWc/HAGQWktLi1599VPZ08N7FpGp8MgvSf/8pzRhgtTcbFcPD4ftNS2rquyRliQtAQAAAABAHsnLxOWdd96pSy+9VBdffLEk6fe//70eeeQR3Xvvvbr++ut3at/S0qJJkybp/PPPlyRNmDBB3/rWt/T8889nNW6gNw455BBNmPCKVr0fUSzJn6ppROWuOFnaf2ti0uezLwAAAAAAAHks76aKb9myRf/61790yimnJK4rKCjQKaecomeffbbb+3g8Hv3rX/9KTCd/77339Oijj2rq1Kk97mfz5s3q6OjocgGyadSoUbq1ekzSpKUkRSxTVUcuy1JUAAAgmzgnBQAAA1neJS4/+eQTRaNRjRkzpsv1Y8aM0UcffdTtfc4//3zddNNNOvnkk1VYWKgDDzxQkydP1g9+8IMe93PzzTerqKgocRk/fnxGjwNIpbNTqr1ncNI2LkXkVUhlr96dpagAAEA2cU4KAAAGsrxLXO6KQCCgX/7yl/rd736nl156SQ0NDXrkkUf085//vMf73HDDDWpvb09cVq9encWIMVCtW7dOa9eulSQ9/rjUEj5YkjRIdiEpU52SrK1byaMWNWqajI/D/RIvAADoW5yTAgCAgSytNS4PP/xwzZw5UzNmzNDo0aMzFVNSo0aNksvlSiR34tauXauxY8d2e58f//jHqqqqUk1NjSTpiCOO0Pr163XZZZfphz/8oQoKds7f7rHHHtpjjz0yfwBADyzL0ne+8x0FAgH94Q9/0Nlnn60Hv/47ffvpb+ofOlObNER1qlJYbrkVVpXqVKZmGaZpF+EBAAC7Hc5JAQDAQJZW4vL111/XNddco+uvv15nnXWWLr74Yk2dOrXbRGCmDBo0SMcee6yefvppnX322ZKkWCymp59+Wpdffnm399mwYcNOMblcLkl2sgjoD5ZlKRgMqr6+XuFwWJ9//rkCgYAkaebMmZoyZYoqfniYTnt6gvbUBkmST807dxSJ2JXDAQAAAAAAdiNpJS6PPvpovfzyy+rs7NTDDz+shx9+WGPHjtWFF16oiy++WIccckim4uzi6quvVnV1tY477jidcMIJqq2t1fr16xNVxi+88EKNGzdON998sySpvLxcd955p44++mideOKJeuedd/TjH/9Y5eXliQQmkE1tbW3y+/0KhUIy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9DepQgAAAAAAALibxTAMozQnWLx4sbp37y673S5JqlKlitq0aaPIyEhJ0sGDB7V27VqdPXtWhmHIarXq22+/1e2331766svRyZMnVa1aNZ04cUJBQUFml3NVMQxDHTt21PLlyyV1lNRfVRWm3spUf81UdSXryVtuUVJysiwWi9nlAgBQYfF9xvPxHgIAAE92ud9lil6quQS6dOmihQsXqn///jpw4IBOnz6t5OTkfH1ystHatWtr5syZ6tSpU2kfFlcRi8WiJ598UsuXL1e8ktVfybpNUoOL+8c1bKjE+fMJLQEAAAAAALxIqYNLSbr11lu1c+dOzZgxQ9988402bNigw4cPS5JCQ0PVunVr9ezZU/369VNAQIA7HhJXkcOHpWGPN9NTGq4XNVvBliPyzTNQ+JnwcBFZAgAAAAAAeBe3BJeSFBAQoMGDB2vw4MHF9t2wYYNmzJihf//73+56eHixyZOP6fDxJnpP4xWoOnrLeD7ffsvq1VKvXlJSksSoSwAAAAAAAK9QqsV5LsfBgwf1z3/+U82bN1fbtm313nvvlddDw8NN/U/uauH9NfPSDna7lJIi/eESBQAAAAAAAPBcbhtxWZBz585p3rx5mjFjhv73v//J4XBIcl7zkusRoiS2brXr98MNJUmttF7NtLXgjlarNHOmFB9fjtUBAAAAAACgrJRJcLl06VLNmDFD8+bN0+nTpyXlLtATGRmpe+65R/fdd19ZPDS8zN///ruk6yQVMtoyh80mZWaWT1EAAAAAAAAoc24LLn/++WfNmDFDn3zyifbt2ycpN6ysU6eO7rvvPt1///2Ki4tjtCVKxOGQvv46SJLkK5se0meFd7ZapbCwcqoMAAAAAAAAZa1UweWRI0f02WefacaMGVq3bp2k3LCyevXqOn78uCwWi9555x317t279NXiqvLVV0d07pwzjOyqHxShjMI722xS//7lVBkAAAAAAADK2mUHl9nZ2fr66681Y8YMff/998rOznaFlf7+/urevbv69eunHj16qFKlSm4vGFePb76p4Wp3D10gHS6ko6+vFBcndexYPoUBAAAAAACgzJU4uFy5cqVmzJihOXPm6Ngx5yrPOYvstG/fXv369VPv3r0VHBxcZsXi6nHunPTFF85LClStKj36XmfpzxOcOy0WyTCc08NtNmdomZjo3A4AAAAAAACvUOLgMufalDmjKxs1aqR+/fqpb9++ioqKKqv6cJVavdoZXkrS/fdLleZMz915221S5crOa1r27+8caUloCQAAAAAA4FUue6p41apV9d577ykhIaEs6gEkSfHx0oED0uzZ0s0NMqRe8507atWSvv/eOdoSAAAAAAAAXsvncjobhqHTp0/rkUceUevWrTVu3DgdPHiwrGrDVerAgQO6+eab9dVXH2jgwNO6adUE5xLjkvT444SWAAAAAAAAV4ESB5fLli3Tww8/rGuuuUaGYSgtLU3PPvus6tWrp9tvv10zZszQ6dOny7JWXCU++ugjrVq1So899pj+/dZb0gcfOHf4+kqDBplbHAAAAAAAAMpFiYPLjh07aurUqcrIyNAnn3yibt26ycfHR3a7Xf/73/80cOBARURE6KGHHtJ3330nu91elnVLkiZOnKioqCgFBgYqJiZGq1evLrRvp06dZLFYLrn16NGjzOtEydntdn3wwceSJIvFoiEREVJGhnPnPfc4p4oDAAAAAADA613WVHFJCgwM1EMPPaQFCxZo7969evvttxUdHS3DMHT27FnNmTNHPXv2VGRkZFnU6/L5559r5MiRGjNmjNavX68WLVqoW7duyszMLLD/vHnzdPDgQddty5Yt8vX11QMPPFCmdeLyfPhhqvbuXSVpvNq3H6LQOXNydw4dalpdAAAAAAAAKF8WI2eZ8FLauHGjpk+frs8++0wZF0fIWS6u9BwZGan77rtP999/vzp06OCOh1NMTIxuuukmTZgwQZLkcDhUt25dPfnkk3r++eeLPf7dd9/Vyy+/rIMHD6pKlSqX7L9w4YIuXLjgun/y5EnVrVtXJ06cUFBQkFueAy51ww1faMeO+yVJgx7dpA9uXCRNmiT5+Uk//cTq4QAAlMLJkydVrVo1vs94EL6TAgAAb3K530cve8RlYVq0aKFx48Zp3759+uabb9S7d28FBATIMAwdOHBAEyZMUKdOnRQZGamhQ4dqyZIlV/xYWVlZWrdunbp06eLa5uPjoy5dumjFihUlOsdHH32kBx98sMDQUpLGjh2ratWquW5169a94npRNMMwtGzZMj344J+1Y0fMxa02vfLqjdJf/iL98ou0aBGhJQAAuOrwnRQAAFzN3DbisiAnT57U559/rpkzZ+rHH39UzkPlXF/SZrNd0XkPHDig2rVrKzU1VbGxsa7t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Vdzre7nfRz1yxGVoaKh8fX2VkZGRb3tGRoYiIiJKdA4/Pz+1atVKv/76a4H7AwICFBAQkG9b9erVr6heXL6goCB+gXgo3jvPxvvnuXjvPFd5v3eMtPQsZn4n5fdK2eM1Llu8vmWL17fs8RqXLV7fslXU63s530c98l/t/v7+atOmjZYsWeLa5nA4tGTJknwjMItit9u1efNmRUZGllWZAAAAAAAAAK6QR464lKSRI0cqISFBbdu2Vbt27fTuu+/qzJkzGjhwoCRpwIABql27tsaOHStJ+vvf/66bb75Z1113nY4fP65//vOf2r17twYNGmTm0wAAAAAAAABQAI8NLvv06aNDhw7p5ZdfVnp6ulq2bKnvv//etWDPnj178s2VP3bsmAYPHqz09HQFBwerTZs2Sk1NVZMmTcx6CihAQECAxowZc8mUKFR8vHeejffPc/HeeS7eO1RUfDbLHq9x2eL1LVu8vmWP17hs8fqWLXe/vh65OA8AAAAAAAAA7+aR17gEAAAAAAAA4N0ILgEAAAAAAABUOASXAAAAAAAAACocgksAAAAAAAAAFQ7BJSqcN998UxaLRU8//bTZpaCE9u/fr379+ikkJESVKlVSdHS01q5da3ZZKIbdbtdLL72kBg0aqFKlSrr22mv12muviTXbKqbk5GT17NlTtWrVksVi0VdffZVvv2EYevnllxUZGalKlSqpS5cu2rFjhznFIp+i3rvs7GyNGjVK0dHRqlKlimrVqqUBAwbowIED5hWMq97EiRMVFRWlwMBAxcTEaPXq1WaX5BVeeeUVWSyWfLfGjRubXZZH429j2Sru9X344Ycv+Uzfcccd5hTrgcaOHaubbrpJVatWVVhYmO6++25t3749X5/z589r2LBhCgkJ0TXXXKP77rtPGRkZJlXsWUry+nbq1OmSz/ATTzxhUsWeZ9KkSWrevLmCgoIUFBSk2NhYLViwwLXfXZ9fgktUKGvWrNH777+v5s2bm10KSujYsWNq3769/Pz8tGDBAv3000/617/+peDgYLNLQzHeeustTZo0SRMmTNC2bdv01ltv6e2339b48ePNLg0FOHPmjFq0aKGJEycWuP/tt9/We++9p8mTJ2vVqlWqUqWKunXrpvPnz5dzpfijot67s2fPav369XrppZe0fv16zZs3T9u3b9ddd91lQqWA9Pnnn2vkyJEaM2aM1q9frxYtWqhbt27KzMw0uzSv0LRpUx08eNB1W758udkleTT+Npat4l5fSbrjjjvyfaY/++yzcqzQsyUlJWnYsGFauXKlFi1apOzsbHXt2lVnzpxx9XnmmWf09ddfa+7cuUpKStKBAwd07733mli15yjJ6ytJgwcPzvcZfvvtt02q2PPUqVNHb775ptatW6e1a9fqtttuU69evbR161ZJbvz8GkAFcerUKeP66683Fi1aZMTHxxsjRowwuySUwKhRo4xbbrnF7DJwBXr06GE88sgj+bbde++9Rt++fU2qCCUlyfjyyy9d9x0OhxEREWH885//dG07fvy4ERAQYHz22WcmVIjC/PG9K8jq1asNScbu3bvLpyggj3bt2hnDhg1z3bfb7UatWrWMsWPHmliVdxgzZozRokULs8vwWvxtLFsF/f1KSEgwevXqZUo93igzM9OQZCQlJRmG4fy8+vn5GXPnznX12bZtmyHJWLFihVlleqw/vr6GYZA7lIHg4GDjww8/dOvnlxGXqDCGDRumHj16qEuXLmaXgsswf/58tW3bVg888IDCwsLUqlUrffDBB2aXhRKIi4vTkiVL9Msvv0iSNm7cqOXLl+vOO+80uTJcrt9//13p6en5fn9Wq1ZNMTExWrFihYmV4UqcOHFCFotF1atXN7sUXGWysrK0bt26fL9LfHx81KVLF36XuMmOHTtUq1YtNWzYUH379tWePXvMLslr8bexfCxbtkxhYWFq1KiRhgwZoiNHjphdksc6ceKEJKlGjRqSpHXr1ik7OzvfZ7hx48aqV68en+Er8MfXN8cnn3yi0NBQNWvWTKNHj9bZs2fNKM/j2e12zZ49W2fOnFFsbKxbP79WdxcLXInZs2dr/fr1WrNmjdml4DL99ttvmjRpkkaOHKkXXnhBa9as0VNPPSV/f38lJCSYXR6K8Pzzz+vkyZNq3LixfH19Zbfb9frrr6tv375ml4bLlJ6eLkkKDw/Ptz08PNy1D57h/PnzGjVqlB566CEFBQWZXQ6uMocPH5bdbi/wd8nPP/9sUlXeIyYmRtOmTVOjRo108OBBvfrqq+rQoYO2bNmiqlWrml2e1+FvY9m74447dO+996pBgwbauXOnXnjhBd15551asWKFfH19zS7PozgcDj399NNq3769mjVrJsn5Gfb397/kH5l8hi9fQa+vJP35z39W/fr1VatWLW3atEmjRo3S9u3bNW/ePBOr9SybN29WbGyszp8/r2uuuUZffvmlmjRporS0NLd9fgkuYbq9e/dqxIgRWrRokQIDA80uB5fJ4XCobdu2euONNyRJrVq10pYtWzR58mSCywpuzpw5+uSTT/Tpp5+qadOmSktL09NPP61atWrx3gEmyM7OVu/evWUYhiZNmmR2OQDcLO+MhubNmysmJkb169fXnDlz9Oijj5pYGXBlHnzwQVc7OjpazZs317XXXqtly5apc+fOJlbmeYYNG6YtW7Zw3dsyUtjr+9hjj7na0dHRioyMVOfOnbVz505de+215V2mR2rUqJHS0tJ04sQJffHFF0pISFBSUpJbH4Op4jDdunXrlJmZqdatW8tqtcpqtSopKUnvvfeerFar7Ha72SWiCJGRkWrSpEm+bTfeeCNTnzzAs88+q+eff14PPvigoqOj1b9/fz3zzDMaO3as2aXhMkVEREjSJav0ZWRkuPahYssJLXfv3q1FixYx2hKmCA0Nla+vL79Lykn16tV1ww036NdffzW7FK/E38by17BhQ4WGhvKZvkzDhw/XN998o6VLl6pOnTqu7REREcrKytLx48fz9eczfHkKe30LEhMTI0l8hi+Dv7+/rrvuOrVp00Zjx45VixYt9J///Metn1+CS5iuc+fO2rx5s9LS0ly3tm3bqm/fvkpLS2OaQQXXvn17bd++Pd+2X375RfXr1zepIpTU2bNn5eOT/8+Ar6+vHA6HSRXhSjVo0EARERFasmSJa9vJkye1atUqxcbGmlgZSiIntNyxY4cWL16skJAQs0vCVcrf319t2rTJ97vE4XBoyZIl/C4pA6dPn9bOnTsVGRlpdileib+N5W/fvn06cuQIn+kSMgxDw4cP15dffqn//e9/atCgQb79bdq0kZ+fX77P8Pbt27Vnzx4+wyVQ3OtbkLS0NEniM1wKDodDFy5ccOvnl6niMF3VqlXzXWdCkqpUqaKQkJBLtqPieeaZZxQXF6c33nhDvXv31urVqzVlyhRNmTLF7NJQjJ49e+r1119XvXr11LRpU23YsEHjxo3TI488YnZpKMDp06fz/ff3999/V1pammrUqKF69erp6aef1j/+8Q9df/31atCggV566SXVqlVLd999t3lFQ1LR711kZKTuv/9+rV+/Xt98843sdrvruj81atSQv7+/WWXjKjVy5EglJCSobdu2ateund59912dOXNGAwcONLs0j/fXv/5VPXv2VP369XXgwAGNGTNGvr6+euihh8wuzWPxt7FsFfX61qhRQ6+++qruu+8+RUREaOfOnXruued03XXXqVu3biZW7TmGDRumTz/9VImJiapatarr73+1atVUqVIlVatWTY8++qhGjhypGjVqKCgoSE8++aRiY2N18803m1x9xVfc67tz5059+umn6t69u0JCQrRp0yY988wz6tixo5o3b25y9Z5h9OjRuvPOO1WvXj2dOnVKn376qZYtW6aFCxe69/Pr1nXPATeJj483RowYYXYZKKGvv/7aaNasmREQEGA0btzYmDJlitkloQROnjxpjBgxwqhXr54RGBhoNGzY0Pjb3/5mXLhwwezSUIClS5caki65JSQkGIZhGA6Hw3jppZeM8PBwIyAgwOjcubOxfft2c4uGYRhFv3e///57gfskGUuXLjW7dFylxo8fb9SrV8/w9/c32rVrZ6xcudLskrxCnz59jMjISMPf39+oXbu20adPH+PXX381uyyPxt/GslXU63v27Fmja9euRs2aNQ0/Pz+jfv36xuDBg4309HSzy/YYhf39//jjj119zp07ZwwdOtQIDg42KleubNxzzz3GwYMHzSvagxT3+u7Zs8fo2LGjUaNGDSMgIMC47rrrjGeffdY4ceKEuYV7kEceecSoX7++4e/vb9SsWdPo3Lmz8cMPP7j2u+vzazEMw7jcVBUAAAAAAAAAyhLXuAQAAAAAAABQ4RBcAgAAAAAAAKhwCC4BAAAAAAAAVDgElwAAAAAAAAAqHIJLAAAAAAAAABUOwSUAAAAAAACACofgEgAAAAAAAECFQ3AJAAAAAAAAoMIhuAQAAAAAAOVu165dslgsslgsmjZtmtnlAKiACC4BAAAAAChHy5YtcwV2Jb09/fTTZpcNAOWO4BIASmjatGmuL467du0yu5wSycrK0vXXXy+LxaIvvvii0H6GYSgoKEg+Pj4KDw9Xnz59tGfPnmLPP2zYMFksFiUkJLizbAAAAAAAZDW7AABA2fnPf/6jX3/9Vc2aNdN9991XaL+dO3fq1KlTkqTMzEzNmTNHP//8szZu3Fjk+UeNGqUPP/xQM2fO1FNPPaU2bdq4tX4AAABvN2TIEA0dOrTYfqGhoeVQDQBULASXAOClTp06pbfeekuS9OKLL8pisRTaNzIyUps3b9b+/fs1dOhQ/fbbb9q0aZM2btyoFi1aFHpcvXr1lJCQoA8++EAvvfSSvvvuO7c/DwAAAG8WFhamZs2amV0GAFRITBUHAC81adIkHTlyRPXq1dMDDzxQZN8qVaqoWbNm6tatm1577TXX9rS0tGIf5y9/+YskacGCBVq3bl2pagYAAAAAIAfBJQB4IbvdrgkTJkiSHnroIfn4lPzXfWxsrKu9ZcuWYvs3atRIrVu3liSNHz/+MisFAADAlYiKipLFYtHDDz8sSVqzZo0eeugh1a1bV4GBgapbt64GDhyon3/+uUTn+/rrr3X//ferTp06CggIUEhIiGJjY/Xmm2/q9OnTJTrHli1b9OSTTyo6OlrBwcHy8/NTRESEunTporffflsHDx4s9hyLFi1Sz549FRERoYCAADVo0EBDhgzRvn37SlQDAO9CcAkAXmjRokXau3evJKlv376XdWxUVJSqVKkiqWTBZd7HmDt3rutamQAAACgfU6dOVVxcnGbPnq19+/bpwoUL2rdvn6ZNm6aWLVtq7ty5hR57/vx53Xvvvbrrrrv03//+V/v371dWVpaOHj2qlStXavTo0WrUqFGRM3HsdrtGjhyp5s2ba8KECdqyZYuOHz8um82mjIwMLVmyRKNGjdLo0aOLfB6jR49W165d9c033ygjI0NZWVnatWuXJk+erNatW2vbtm1X+hIB8FAElwDgRllZWfq///s/3XrrrapZs6b8/f0VERGh7t27a9asWXI4HMWe48iRI3ruuefUqFEjVapUSeHh4br99tv15ZdfSirZ6uZz5syRJF1//fWKjo6+rOdgsVh07bXXSip5cJmz8M/Zs2eVmJh4WY8HAACAK5eWlqYnnnhCYWFhGj9+vFatWqWkpCSNGjVKAQEBunDhgvr27au1a9cWeHxCQoLre2aLFi00Y8YMrVmzRgsXLtTAgQNlsVh04MABde7cWfv37y/wHI899pj+/e9/yzAMRUZG6vXXX9fSpUu1fv16LVy4UK+99lqR102XpA8++EBvvvmm4uPj9emnn2rt2rVavHixBgwYIEk6dOiQHnnkkVK8UgA8EYvzAICb7Nq1S3feeecl03EyMjK0YMECLViwQO+//74SExNVo0aNAs+xefNm3X777crIyHBtO3/+vBYvXqzFixfrscceyzeVuzBLly6VJN18882X/TxWrFihzZs3S5L27dunEydOqFq1akUeU79+fUVERCg9PV0LFixQv379LvtxAQAArkaZmZklvjyPn5/fJds3btyo+vXra+XKlYqIiHBt79ixo7p166auXbsqOztbQ4cO1erVq/Md++2337r+4d25c2d999138vf3d+3v2rWrYmNj9dhjj+no0aMaOXKkPv/883znmD9/vqZOnSrJecmh7777TtWrV8/Xp2vXrnrxxRddM4IKkpqaqsGDB+v999/Pt6hk586d5e/vrw8//FArV67Uhg0b1KpVq2JeLQDeghGXAOAGp0+fVufOnV2h5d1336358+dr7dq1mjt3ruLj4yVJy5cvV8+ePWW32y85x/Hjx3XHHXe4Qsv+/ftrwYIFWrt2rWbPnq3Y2FhNmTJFkydPLrKWffv2uUZi3nTTTZf1PGw2m5544gkZhuHatnXr1hId265dO0lSUlLSZT0mAADA1WzSpEmKjo4u9lbYaEdJ+te//pUvtMxx6623avDgwZKc18D846jLiRMnSpL8/Pz08ccf5wstcwwePFhdunSRJM2bN++S61S++eabkqTKlSvriy++uCS0zKtu3bqF7ouMjNT48ePzhZY5/vrXv7raKSkphZ4DgPchuAQAN3j11Vf122+/SZJefPFFffnll+rZs6fatGmj+++/X0uXLnVdBzI1NVVTpkwp8BwHDhyQJL377ruaMWOG7rjjDrVp00Z9+vRRSkqKevXqpVWrVhVZS2pqqqt9uf+N/ve//61Nmzbl21bS6eJt2rSRJO3fvz/fiFEAAACUneDgYPXq1avQ/XmnVy9evNjVttlsrn84d+3atchQMSf8tNlsWrZsmWv7kSNHtHLlSklSnz59VKtWrSt6DpJ0//33KyAgoMB9jRo10jXXXCNJru/cAK4OBJcAUEoXLlzQhx9+KElq2rSpXnnllUv6WCwW/d///Z9CQkIkybXid95zTJs2TZJzlOSIESMuOYevr6/ef/99BQYGFllP3hUXw8LCSvw8du/e7ao9Li7Otb2kwWXex+ILJQAAQMmMGTNGhmEUe4uKiirw+FatWslqLfwqcC1btnSNpMy5HJDk/L529uxZSVJMTEyRNebdn/e7YVpammumTocOHYp+osVo3LhxkfuDg4MliYUggasMwSUAlNK6det0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", - "text/plain": [ - "
" - ] - }, - "execution_count": 84, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "imdb_results = pd.read_csv(imdb_logger.experiment.metrics_file_path)\n", - "summary_plot(imdb_results,\n", - " axes[1],\n", - " col='accuracy',\n", - " ylabel='Accuracy')\n", - "axes[1].set_xticks(np.linspace(0, 30, 7).astype(int))\n", - "axes[1].set_ylabel('Accuracy', fontsize=20)\n", - "axes[1].set_xlabel('Epoch', fontsize=20)\n", - "axes[1].set_ylim([0.5, 1]);\n", - "axes[1].axhline(test_results[0]['test_accuracy'],\n", - " color='blue',\n", - " linestyle='--',\n", - " linewidth=3)\n", - "fig" - ] - }, - { - "cell_type": "markdown", - "id": "7898334d", - "metadata": {}, - "source": [ - "From the graphs we see that the accuracy of the lasso logistic regression peaks at about $0.88$, as it does for the neural network.\n", - "\n", - "Once again, we end with a cleanup." - ] - }, - { - "cell_type": "code", - "execution_count": 85, - "id": "b1ecfca8", - "metadata": {}, - "outputs": [], - "source": [ - "del(imdb_model,\n", - " imdb_trainer,\n", - " imdb_logger,\n", - " imdb_dm,\n", - " imdb_train,\n", - " imdb_test)" - ] - }, - { - "cell_type": "markdown", - "id": "0169cd1b", - "metadata": {}, - "source": [ - "## Recurrent Neural Networks\n", - "In this lab we fit the models illustrated in\n", - "Section 10.5." - ] - }, - { - "cell_type": "markdown", - "id": "6e7f96cc", - "metadata": {}, - "source": [ - "### Sequential Models for Document Classification\n", - "Here we fit a simple LSTM RNN for sentiment prediction to\n", - "the `IMDb` movie-review data, as discussed in Section 10.5.1.\n", - "For an RNN we use the sequence of words in a document, taking their\n", - "order into account. We loaded the preprocessed \n", - "data at the beginning of\n", - "Section 10.9.5.\n", - "A script that details the preprocessing can be found in the\n", - "`ISLP` library. Notably, since more than 90% of the documents\n", - "had fewer than 500 words, we set the document length to 500. For\n", - "longer documents, we used the last 500 words, and for shorter\n", - "documents, we padded the front with blanks." - ] - }, - { - "cell_type": "code", - "execution_count": 86, - "id": "5503cb3f", - "metadata": {}, - "outputs": [], - "source": [ - "imdb_seq_dm = SimpleDataModule(imdb_seq_train,\n", - " imdb_seq_test,\n", - " validation=2000,\n", - " batch_size=300,\n", - " num_workers=min(6, max_num_workers)\n", - " )" - ] - }, - { - "cell_type": "markdown", - "id": "356b76f2", - "metadata": {}, - "source": [ - "The first layer of the RNN is an embedding layer of size 32, which will be\n", - "learned during training. This layer one-hot encodes each document\n", - "as a matrix of dimension $500 \\times 10,003$, and then maps these\n", - "$10,003$ dimensions down to $32$. {The extra 3 dimensions\n", - "correspond to commonly occurring non-word entries in the reviews.}\n", - " Since each word is represented by an\n", - "integer, this is effectively achieved by the creation of an embedding\n", - "matrix of size $10,003\\times 32$; each of the 500 integers in the\n", - "document are then mapped to the appropriate 32 real numbers by\n", - "indexing the appropriate rows of this matrix." - ] - }, - { - "cell_type": "markdown", - "id": "14ddd9a9", - "metadata": {}, - "source": [ - "The second layer is an LSTM with 32 units, and the output\n", - "layer is a single logit for the binary classification task.\n", - "In the last line of the `forward()` method below,\n", - "we take the last 32-dimensional output of the LSTM and map it to our response." - ] - }, - { - "cell_type": "code", - "execution_count": 87, - "id": "8b683641", - "metadata": {}, - "outputs": [], - "source": [ - "class LSTMModel(nn.Module):\n", - " def __init__(self, input_size):\n", - " super(LSTMModel, self).__init__()\n", - " self.embedding = nn.Embedding(input_size, 32)\n", - " self.lstm = nn.LSTM(input_size=32,\n", - " hidden_size=32,\n", - " batch_first=True)\n", - " self.dense = nn.Linear(32, 1)\n", - " def forward(self, x):\n", - " val, (h_n, c_n) = self.lstm(self.embedding(x))\n", - " return torch.flatten(self.dense(val[:,-1]))" - ] - }, - { - "cell_type": "markdown", - "id": "b7903383", - "metadata": {}, - "source": [ - "We instantiate and take a look at the summary of the model, using the\n", - "first 10 documents in the corpus." - ] - }, - { - "cell_type": "code", - "execution_count": 88, - "id": "702aa8de", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " action_fn=lambda data: sys.getsizeof(data.storage()),\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " return super().__sizeof__() + self.nbytes()\n" - ] - }, - { - "data": { - "text/plain": [ - "===================================================================================================================\n", - "Layer (type:depth-idx) Input Shape Output Shape Param #\n", - "===================================================================================================================\n", - "LSTMModel [10, 500] [10] --\n", - "├─Embedding: 1-1 [10, 500] [10, 500, 32] 320,096\n", - "├─LSTM: 1-2 [10, 500, 32] [10, 500, 32] 8,448\n", - "├─Linear: 1-3 [10, 32] [10, 1] 33\n", - "===================================================================================================================\n", - "Total params: 328,577\n", - "Trainable params: 328,577\n", - "Non-trainable params: 0\n", - "Total mult-adds (M): 45.44\n", - "===================================================================================================================\n", - "Input size (MB): 50.00\n", - "Forward/backward pass size (MB): 2.56\n", - "Params size (MB): 1.31\n", - "Estimated Total Size (MB): 53.87\n", - "===================================================================================================================" - ] - }, - "execution_count": 88, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "lstm_model = LSTMModel(X_test.shape[-1])\n", - "summary(lstm_model,\n", - " input_data=imdb_seq_train.tensors[0][:10],\n", - " col_names=['input_size',\n", - " 'output_size',\n", - " 'num_params'])" - ] - }, - { - "cell_type": "markdown", - "id": "f663b95c", - "metadata": {}, - "source": [ - "The 10,003 is suppressed in the summary, but we see it in the\n", - "parameter count, since $10,003\\times 32=320,096$." - ] - }, - { - "cell_type": "code", - "execution_count": 89, - "id": "e48aa272", - "metadata": {}, - "outputs": [], - "source": [ - "lstm_module = SimpleModule.binary_classification(lstm_model)\n", - "lstm_logger = CSVLogger('logs', name='IMDB_LSTM')" - ] - }, - { - "cell_type": "code", - "execution_count": 90, - "id": "143be7e8", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (mps), used: False\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", - " rank_zero_warn(\n", - "\n", - " | Name | Type | Params\n", - "--------------------------------------------\n", - "0 | model | LSTMModel | 328 K \n", - "1 | loss | BCEWithLogitsLoss | 0 \n", - "--------------------------------------------\n", - "328 K Trainable params\n", - "0 Non-trainable params\n", - "328 K Total params\n", - "1.314 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1ee0aabd8caf403c93b8c4ba0a1c2507", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "`Trainer.fit` stopped: `max_epochs=20` reached.\n" - ] - } - ], - "source": [ - "lstm_trainer = Trainer(deterministic=True,\n", - " max_epochs=20,\n", - " logger=lstm_logger,\n", - " callbacks=[ErrorTracker()])\n", - "lstm_trainer.fit(lstm_module,\n", - " datamodule=imdb_seq_dm)" - ] - }, - { - "cell_type": "markdown", - "id": "55dc2b66", - "metadata": {}, - "source": [ - "The rest is now similar to other networks we have fit. We\n", - "track the test performance as the network is fit, and see that it attains 85% accuracy." - ] - }, - { - "cell_type": "code", - "execution_count": 91, - "id": "9272e2ba", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "92a1cacbb1944d74b3f3c0670eb84b63", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Testing: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " Test metric DataLoader 0\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " test_accuracy 0.8452399969100952\n", - " test_loss 0.7559056878089905\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" - ] - }, - { - "data": { - "text/plain": [ - "[{'test_loss': 0.7559056878089905, 'test_accuracy': 0.8452399969100952}]" - ] - }, - "execution_count": 91, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "lstm_trainer.test(lstm_module, datamodule=imdb_seq_dm)" - ] - }, - { - "cell_type": "markdown", - "id": "eee55195", - "metadata": {}, - "source": [ - "We once again show the learning progress, followed by cleanup." - ] - }, - { - "cell_type": "code", - "execution_count": 92, - "id": "5d9d387e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(0.5, 1.0)" - ] - }, - "execution_count": 92, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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HTp06ITb6dixY8B9h8NxwsDQUP+GfjZAYxxvVdO68RWhNmaB8/84nnCaVhxMDEy1UTiNLH/jjTd03XXX6fLLL9fQoUMVHx+vzz77rFVriI2NVVxcnN555x1/m9fr1datW1u1DoSHk62vIElZWVnyer2tXdpxBXvWDcJb3VG3qVOnauzYsSGxb2hthBCbhcvI8kGDBsnj8Wjbtm3avn27pk2bZuQUyOzZs7Vo0SL985//1K5du5SZmalvvvmGab6oJxxXNQ2nLyaACYSQILB7KeVgeOSRR9SjRw+df/75mjhxotLS0nTuuee2eh1z5szR1KlTNX36dKWkpKhr165KS0vjInOoJ1zHV4TLFxPABK6iexSutGpebW2thgwZoiuvvFL333+/bdvldxv+6i4LcDIFBQUhudJkOKyYCpyM3VfRZWAqjPr888/173//Wz/5yU9UU1OjJ554QkVFRZo2bZrp0hBiwnlJcSl8lhUHWhOnY2BURESEli1bptGjR+uCCy7Qjh079PLLL2vIkCGmS0OIYXwF0PZwJARGJSYm6o033jBdBsIE6ysAbQshBEBYYX0FoO0ghAAImmANxmR8BdA2EEIABEWwl1cHEP4YmArAduF2+XoAZhBCANgqHJdXB2AGIQSArcJxeXUAZhBCgsXrlTZulFas8P0Z4t/6xo4dq6ysLP/9pKQk5eTknPA5DodDa9eubfFr27UdhIZwXV4dQOsjhASDxyMlJUnjxknTpvn+TErytQfBxIkTNWHChAYfKywslMPh0Hvvvdekbb7zzju66aab7CjP75577tGIESPqtZeWlurSSy+19bVgDpevB9BYhBC7eTxSRoZ07OHokhJfexCCyPXXX68NGzY0eAh86dKlGjVqlIYNG9akbfbp00fR0dF2lXhC8fHxioqKapXXQvBx+XoAjUUIORnLkqqrG3errJRuu833nIa2I0mZmb5+jdleI68t+LOf/Ux9+vTRsmXLAtqrqqq0atUqTZ48WVOnTlVCQoKio6M1dOhQrVix4oTbPPZ0zMcff6wf//jH6tSpk84880xt2LCh3nPmzJmj008/XdHR0Ro4cKAWLFigw4cPS5KWLVume++9V9u3b5fD4ZDD4fDXe+zpmB07dujCCy9U586d1atXL910002qqqryP37ddddp8uTJevjhh+VyudSrVy/NmjXL/1owi+XVATQW64SczHffSV272rMty/IdIYmNbVz/qiqpS5eTduvQoYOmT5+uZcuWad68ef7/6FetWiWv16trrrlGq1at0pw5cxQTE6N169bp2muv1amnnqoxY8acdPu1tbVKT09XXFyc3n77bVVUVASMH6nTrVs3LVu2TP369dOOHTt04403qlu3brrzzjs1ZcoUvf/++1q/fr1efvllSVJsAz+H6upqpaWlKSUlRe+884727dunG264QbfeemtAyCooKJDL5VJBQYF2796tKVOmaMSIEbrxxhtP+n4QfCyvDqBRrHamoqLCkmRVVFTUe+zgwYPWBx98YB08ePCHxqoqy/LFh9a/VVU1+n3t3LnTkmQVFBT421JTU61rrrmmwf4//elPrf/93//13//JT35iZWZm+u/379/fevTRRy3LsqyXXnrJ6tChg1VSUuJ//MUXX7QkWWvWrDluTQ899JA1cuRI//2FCxdaw4cPr9fv6O08/fTTVo8ePayqo977unXrrIiICKusrMyyLMuaMWOG1b9/f+vIkSP+Pr/4xS+sKVOmHLeWBn+3CLojR45YBQUF1vLly62CgoKA3xmA8HOifWhzcCTkZKKjfUckGuO116TLLjt5vxdekH7848a9diOdccYZOv/88/XMM89o7Nix2r17twoLC3XffffJ6/XqgQce0D/+8Q+VlJTo0KFDqqmpafSYj507dyoxMVH9+vXzt6WkpNTrt3LlSj322GP65JNPVFVVpSNHjigmJqbR76HutYYPH64uRx0BuuCCC1RbW6tdu3YpLi5OknTWWWcFHM53uVzasWNHk14Lwcfy6gBOhDEhJ+Nw+E6JNOZ2ySWS2+17zvG2lZjo69eY7R1vO8dx/fXXa/Xq1fr222+1dOlSnXrqqfrJT36ihx56SLm5uZozZ44KCgq0bds2paWl6dChQzb8gHw2bdqkq6++Wpdddpn+9a9/6d1339W8efNsfY2jdezYMeC+w+FQbW1tUF4LABAchBA7OZ3Sfwfk1QsQdfdzcnz9guDKK69URESEli9frr/85S/6n//5HzkcDr3xxhuaNGmSrrnmGg0fPlwDBw7URx991OjtDhkyRMXFxQHrOrz11lsBfd588031799f8+bN06hRozRo0CB9/vnnAX0iIyNPukrmkCFDtH37dlVXV/vb3njjDUVERGjw4MGNrhkA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k0PImjVrAu4fPnxY7777rp599lnde++9thUGAADaNtvGhCxfvlwrV67UP//5Tzs2FzSMCQEAoHlCdkzIeeedp/z8fLs2BwAA2jhbQsjBgwf12GOPKSEhwY7NAQCAdqDJY0KOvVCdZVn69ttvFR0drb/97W+2FgcAANquJoeQRx99NCCEREREqE+fPkpOTlaPHj1sLQ4AALRdTQ4h1113XRDKAAAA7U2Tx4QsXbpUq1atqte+atUqPfvss7YUBQAA2r4mh5BFixapd+/e9dr79u2rBx54wJaiAABA29fkELJnzx4NGDCgXnv//v21Z88eW4oCAABtX5NDSN++ffXee+/Va9++fbt69eplS1EAAKDta3IImTp1qm677TYVFBTI6/XK6/XqlVdeUWZmpq666qpg1AgAANqgJs+Ouf/++/XZZ5/poosuUocOvqfX1tZq+vTpjAkBAACN1uxrx3z88cfatm2bOnfurKFDh6p///521xYUXDsGAIDmsXsf2uQjIXUGDRqkQYMGtbgAAADQPjV5TMgVV1yh3/3ud/XaH3zwQf3iF7+wpSgAAND2NTmEvPbaa7rsssvqtV966aV67bXXbCkKAAC0fU0OIVVVVYqMjKzX3rFjR1VWVtpSFAAAaPuaHEKGDh2qlStX1mt/7rnndOaZZ9pSFAAAaPuaPDB1wYIFSk9P1yeffKILL7xQkpSfn6/ly5crLy/P9gIBAEDb1OQQMnHiRK1du1YPPPCA8vLy1LlzZw0fPlyvvPKKevbsGYwaAQBAG9TsdULqVFZWasWKFVqyZIm2bNkir9drV21BwTohAAA0j9370CaPCanz2muvacaMGerXr59+//vf68ILL9Rbb73V4oIAAED70KTTMWVlZVq2bJmWLFmiyspKXXnllaqpqdHatWsZlAoAAJqk0UdCJk6cqMGDB+u9995TTk6OvvjiCz3++OPBrA0AALRhjT4S8uKLL+q2227TLbfcwnLtAACgxRp9JOT111/Xt99+q5EjRyo5OVlPPPGE9u/fH8zaAABAG9boEHLeeefpT3/6k0pLS/XLX/5Szz33nPr166fa2lpt2LBB3377bTDrBAAAbUyLpuju2rVLS5Ys0V//+lcdOHBAF198sZ5//nk767MdU3QBAGiekJmiK0mDBw/Wgw8+qL1792rFihUtLgYAALQfLV6sLNxwJAQA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4yHkkUce0Y033qiZM2fqzDPP1FNPPaXo6Gg988wzx32Ow+FQfHy8/xYXF9eKFQMAADt0MPnihw4d0pYtWzR37lx/W0REhMaPH69NmzYd93lVVVXq37+/amtrde655+qBBx7QWWed1WDfmpoa1dTU+O9XVFRIkiorK216FwAAtA91+07LsmzZntEQsn//fnm93npHMuLi4vThhx82+JzBgwfrmWee0bBhw1RRUaGHH35Y559/vv7f//t/crvd9fovWrRI9957b732xMREe94EAADtzFdffaXY2NgWb8doCGmOlJQUpaSk+O+ff/75GjJkiP74xz/q/vvvr9d/7ty5ys7O9t+vra3V119/rV69esnhcNhSU2VlpRITE1VcXKyYmBhbtonWwe8ufPG7C1/87sJXRUWFTjnlFPXs2dOW7RkNIb1795bT6VR5eXlAe3l5ueLj4xu1jY4dO+qcc87R7t27G3w8KipKUVFRAW3du3dvVr0nExMTwwcqTPG7C1/87sIXv7vwFRFhz5BSowNTIyMjNXLkSOXn5/vbamtrlZ+fH3C040S8Xq927Nghl8sVrDIBAEAQGD8dk52drRkzZmjUqFEaM2aMcnJyVF1drZkzZ0qSpk+froSEBC1atEiSdN999+m8887TaaedpgMHDuihhx7S559/rhtuuMHk2wAAAE1kPIRMmTJFX375pe6++26VlZVpxIgRWr9+vX+w6p49ewIO+3zzzTe68cYbVVZWph49emjkyJF68803deaZZ5p6C4qKitLChQvrnfZB6ON3F7743YUvfnfhy+7fncOya54NAABAExhfrAwAALRPhBAAAGAEIQQAABhBCAEAAEYQQmywePFiJSUlqVOnTkpOTtbmzZtNl4STuOeee+RwOAJuZ5xxhumy0IDXXntNEydOVL9+/eRwOLR27dqAxy3L0t133y2Xy6XOnTtr/Pjx+vjjj80UiwAn+91dd9119T6HEyZMMFMsAixatEijR49Wt27d1LdvX02ePFm7du0K6PP9999r1qxZ6tWrl7p27aorrrii3uKjJ0MIaaGVK1cqOztbCxcu1NatWzV8+HClpaVp3759pkvDSZx11lkqLS31315//XXTJaEB1dXVGj58uBYvXtzg4w8++KAee+wxPfXUU3r77bfVpUsXpaWl6fvvv2/lSnGsk/3uJGnChAkBn8MVK1a0YoU4nldffVWzZs3SW2+9pQ0bNujw4cO65JJLVF1d7e9z++236//+7/+0atUqvfrqq/riiy+Unp7etBey0CJjxoyxZs2a5b/v9Xqtfv36WYsWLTJYFU5m4cKF1vDhw02XgSaSZK1Zs8Z/v7a21oqPj7ceeughf9uBAwesqKgoa8WKFQYqxPEc+7uzLMuaMWOGNWnSJCP1oGn27dtnSbJeffVVy7J8n7OOHTtaq1at8vfZuXOnJcnatGlTo7fLkZAWOHTokLZs2aLx48f72yIiIjR+/Hht2rTJYGVojI8//lj9+vXTwIEDdfXVV2vPnj2mS0ITFRUVqaysLOAzGBsbq+TkZD6DYWLjxo3q27evBg8erFtuuUVfffWV6ZLQgIqKCknyX7huy5YtOnz4cMBn74wzztApp5zSpM8eIaQF9u/fL6/X61/dtU5cXJzKysoMVYXGSE5O1rJly7R+/Xo9+eSTKioqUmpqqr799lvTpaEJ6j5nfAbD04QJE/SXv/xF+fn5+t3vfqdXX31Vl156qbxer+nScJTa2lplZWXpggsu0Nlnny3J99mLjIysd0HYpn72jC/bDphw6aWX+v8+bNgwJScnq3///vrHP/6h66+/3mBlQPtx1VVX+f8+dOhQDRs2TKeeeqo2btyoiy66yGBlONqsWbP0/vvvB2XcHEdCWqB3795yOp31RgOXl5crPj7eUFVoju7du+v000/X7t27TZeCJqj7nPEZbBsGDhyo3r178zkMIbfeeqv+9a9/qaCgQG63298eHx+vQ4cO6cCBAwH9m/rZI4S0QGRkpEaOHKn8/Hx/W21trfLz85WSkmKwMjRVVVWVPvnkE7lcLtOloAkGDBig+Pj4gM9gZWWl3n77bT6DYWjv3r366quv+ByGAMuydOutt2rNmjV65ZVXNGDAgIDHR44cqY4dOwZ89nbt2qU9e/Y06bPH6ZgWys7O1owZMzRq1CiNGTNGOTk5qq6u1syZM02XhhO44447NHHiRPXv319ffPGFFi5cKKfTqalTp5ouDceoqqoK+GZcVFSkbdu2qWfPnjrllFOUlZWl3/zmNxo0aJAGDBigBQsWqF+/fpo8ebK5oiHpxL+7nj176t5779UVV1yh+Ph4ffLJJ7rzzjt12mmnKS0tzWDVkHynYJYvX65//vOf6tatm3+cR2xsrDp37qzY2Fhdf/31ys7OVs+ePRUTE6PZs2crJSVF5513XuNfyO5pPO3R448/bp1yyilWZGSkNWbMGOutt94yXRJOYsqUKZbL5bIiIyOthIQEa8qUKdbu3btNl4UGFBQUWJLq3WbMmGFZlm+a7oIFC6y4uDgrKirKuuiii6xdu3aZLRqWZZ34d/fdd99Zl1xyidWnTx+rY8eOVv/+/a0bb7zRKisrM102LKvB35ska+nSpf4+Bw8etH71q19ZPXr0sKKjo63LL7/cKi0tbdLrOP77YgAAAK2KMSEAAMAIQggAADCCEAIAAIwghAAAACMIIQAAwAhCCAAAMIIQAgAAjCCEAAAAIwghANoEh8OhtWvXmi4DQBMQQgC02HXXXSeHw1HvNmHCBNOlAQhhXMAOgC0mTJigpUuXBrRFRUUZqgZAOOBICABbREVFKT4+PuDWo0cPSb5TJU8++aQuvfRSde7cWQMHDlReXl7A83fs2KELL7xQnTt3Vq9evXTTTTepqqoqoM8zzzyjs846S1FRUXK5XLr11lsDHt+/f78uv/xyRUdHa9CgQXr++eeD+6YBtAghBECrWLBgga644gpt375dV199ta666irt3LlTklRdXa20tDT16NFD77zzjlatWqWXX345IGQ8+eSTmjVrlm666Sbt2LFDzz//vE477bSA17j33nt15ZVX6r333tNll12mq6++Wl9//XWrvk8ATWDrtX8BtEszZsywnE6n1aVLl4Dbb3/7W8uyfJcFv/nmmwOek5ycbN1yyy2WZVnW008/bfXo0cOqqqryP75u3TorIiLCf2n3fv36WfPmzTtuDZKs+fPn++9XVVVZkqwXX3zRtvcJwF6MCQFgi3HjxunJJ58MaOvZs6f/7ykpKQGPpaSkaNu2bZKknTt3avjw4erSpYv/8QsuuEC1tbXatWuXHA6HvvjiC1100UUnrGHYsGH+v3fp0kUxMTHat29fc98SgCAjhACwRZcuXeqdHrFL586dG9WvY8eOAfcdDodqa2uDURIAGzAmBECreOutt+rdHzJkiCRpyJAh2r59u6qrq/2Pv/HGG4qIiNDgwYPVrVs3JSUlKT8/v1VrBhBcHAkBYIuamhqVlZUFtHXo0EG9e/eWJK1atUqjRo3Sj370I/3973/X5s2btWTJEknS1VdfrYULF2rGjBm655579OWXX2r27Nm69tprFRcXJ0m65557dPPNN6tv37669NJL9e233+qNN97Q7NmzW/eNArANIQSALdavXy+XyxXQNnjwYH344YeSfDNXnnvuOf3qV7+Sy+XSihUrdOaZZ0qSoqOj9dJLLykzM1OjR49WdHS0rrjiCj3yyCP+bc2YMUPff/+9Hn30Ud1xxx3q3bu3MjIyWu8NArCdw7Isy3QRANo2h8OhNWvWaPLkyaZLARBCGBMCAACMIIQAAAAjGBMCIOg46wugIRwJAQAARhBCAACAEYQQAABgBCEEAAAYQQgBAABGEEIAAIARhBAAAGAEIQQAABjx/wG5wSkEXrsU0AAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "lstm_results = pd.read_csv(lstm_logger.experiment.metrics_file_path)\n", - "fig, ax = subplots(1, 1, figsize=(6, 6))\n", - "summary_plot(lstm_results,\n", - " ax,\n", - " col='accuracy',\n", - " ylabel='Accuracy')\n", - "ax.set_xticks(np.linspace(0, 20, 5).astype(int))\n", - "ax.set_ylabel('Accuracy')\n", - "ax.set_ylim([0.5, 1])" - ] - }, - { - "cell_type": "code", - "execution_count": 93, - "id": "7c6d1072", - "metadata": {}, - "outputs": [], - "source": [ - "del(lstm_model,\n", - " lstm_trainer,\n", - " lstm_logger,\n", - " imdb_seq_dm,\n", - " imdb_seq_train,\n", - " imdb_seq_test)" - ] - }, - { - "cell_type": "markdown", - "id": "7d179385", - "metadata": {}, - "source": [ - "### Time Series Prediction\n", - "We now show how to fit the models in Section 10.5.2\n", - "for time series prediction.\n", - "We first load and standardize the data." - ] - }, - { - "cell_type": "code", - "execution_count": 94, - "id": "8e2d1d5c", - "metadata": {}, - "outputs": [], - "source": [ - "NYSE = load_data('NYSE')\n", - "cols = ['DJ_return', 'log_volume', 'log_volatility']\n", - "X = pd.DataFrame(StandardScaler(\n", - " with_mean=True,\n", - " with_std=True).fit_transform(NYSE[cols]),\n", - " columns=NYSE[cols].columns,\n", - " index=NYSE.index)" - ] - }, - { - "cell_type": "markdown", - "id": "6ad4a748", - "metadata": {}, - "source": [ - "Next we set up the lagged versions of the data, dropping\n", - "any rows with missing values using the `dropna()` method." - ] - }, - { - "cell_type": "code", - "execution_count": 95, - "id": "6f6d0e12", - "metadata": {}, - "outputs": [], - "source": [ - "for lag in range(1, 6):\n", - " for col in cols:\n", - " newcol = np.zeros(X.shape[0]) * np.nan\n", - " newcol[lag:] = X[col].values[:-lag]\n", - " X.insert(len(X.columns), \"{0}_{1}\".format(col, lag), newcol)\n", - "X.insert(len(X.columns), 'train', NYSE['train'])\n", - "X = X.dropna()" - ] - }, - { - "cell_type": "markdown", - "id": "91a924d2", - "metadata": {}, - "source": [ - "Finally, we extract the response, training indicator, and drop the current day’s `DJ_return` and\n", - "`log_volatility` to predict only from previous day’s data." - ] - }, - { - "cell_type": "code", - "execution_count": 96, - "id": "d3c961ec", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['DJ_return_1', 'log_volume_1', 'log_volatility_1', 'DJ_return_2',\n", - " 'log_volume_2', 'log_volatility_2', 'DJ_return_3', 'log_volume_3',\n", - " 'log_volatility_3', 'DJ_return_4', 'log_volume_4', 'log_volatility_4',\n", - " 'DJ_return_5', 'log_volume_5', 'log_volatility_5'],\n", - " dtype='object')" - ] - }, - "execution_count": 96, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Y, train = X['log_volume'], X['train']\n", - "X = X.drop(columns=['train'] + cols)\n", - "X.columns" - ] - }, - { - "cell_type": "markdown", - "id": "1c5f8d2f", - "metadata": {}, - "source": [ - "We first fit a simple linear model and compute the $R^2$ on the test data using\n", - "the `score()` method." - ] - }, - { - "cell_type": "code", - "execution_count": 97, - "id": "cb89da88", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0.4128912938562521" - ] - }, - "execution_count": 97, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "M = LinearRegression()\n", - "M.fit(X[train], Y[train])\n", - "M.score(X[~train], Y[~train])" - ] - }, - { - "cell_type": "markdown", - "id": "b92425ab", - "metadata": {}, - "source": [ - "We refit this model, including the factor variable `day_of_week`.\n", - "For a categorical series in `pandas`, we can form the indicators\n", - "using the `get_dummies()` method." - ] - }, - { - "cell_type": "code", - "execution_count": 98, - "id": "55d921d7", - "metadata": {}, - "outputs": [], - "source": [ - "X_day = pd.merge(X, \n", - " pd.get_dummies(NYSE['day_of_week']),\n", - " on='date')" - ] - }, - { - "cell_type": "markdown", - "id": "afab736a", - "metadata": {}, - "source": [ - " Note that we do not have\n", - "to reinstantiate the linear regression model\n", - "as its `fit()` method accepts a design matrix and a response directly." - ] - }, - { - "cell_type": "code", - "execution_count": 99, - "id": "4e87eeb9", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0.45633025715446285" - ] - }, - "execution_count": 99, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "M.fit(X_day[train], Y[train])\n", - "M.score(X_day[~train], Y[~train])" - ] - }, - { - "cell_type": "markdown", - "id": "43309e3b", - "metadata": {}, - "source": [ - "This model achieves an $R^2$ of about 46%." - ] - }, - { - "cell_type": "markdown", - "id": "93c61d80", - "metadata": {}, - "source": [ - "To fit the RNN, we must reshape the data, as it will expect 5 lagged\n", - "versions of each feature as indicated by the `input_shape` argument\n", - "to the layer `nn.RNN()` below. We first\n", - "ensure the columns of our data frame are such that a reshaped\n", - "matrix will have the variables correctly lagged. We use the\n", - "`reindex()` method to do this.\n", - "\n", - "For an input shape `(5,3)`, each row represents a lagged version of the three variables.\n", - "The `nn.RNN()` layer also expects the first row of each\n", - "observation to be earliest in time, so we must reverse the current order. Hence we loop over\n", - "`range(5,0,-1)` below, which is\n", - "an example of using a `slice()` to index\n", - "iterable objects. The general notation is `start:end:step`." - ] - }, - { - "cell_type": "code", - "execution_count": 100, - "id": "3689b318", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['DJ_return_5', 'log_volume_5', 'log_volatility_5', 'DJ_return_4',\n", - " 'log_volume_4', 'log_volatility_4', 'DJ_return_3', 'log_volume_3',\n", - " 'log_volatility_3', 'DJ_return_2', 'log_volume_2', 'log_volatility_2',\n", - " 'DJ_return_1', 'log_volume_1', 'log_volatility_1'],\n", - " dtype='object')" - ] - }, - "execution_count": 100, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ordered_cols = []\n", - "for lag in range(5,0,-1):\n", - " for col in cols:\n", - " ordered_cols.append('{0}_{1}'.format(col, lag))\n", - "X = X.reindex(columns=ordered_cols)\n", - "X.columns" - ] - }, - { - "cell_type": "markdown", - "id": "9dbcf9f7", - "metadata": {}, - "source": [ - "We now reshape the data." - ] - }, - { - "cell_type": "code", - "execution_count": 101, - "id": "5633e521", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(6046, 5, 3)" - ] - }, - "execution_count": 101, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "X_rnn = X.to_numpy().reshape((-1,5,3))\n", - "X_rnn.shape" - ] - }, - { - "cell_type": "markdown", - "id": "bd3ae3ff", - "metadata": {}, - "source": [ - "By specifying the first size as -1, `numpy.reshape()` deduces its size based on the remaining arguments.\n", - "\n", - "Now we are ready to proceed with the RNN, which uses 12 hidden units, and 10%\n", - "dropout.\n", - "After passing through the RNN, we extract the final time point as `val[:,-1]`\n", - "in `forward()` below. This gets passed through a 10% dropout and then flattened through\n", - "a linear layer." - ] - }, - { - "cell_type": "code", - "execution_count": 102, - "id": "979a6066", - "metadata": {}, - "outputs": [], - "source": [ - "class NYSEModel(nn.Module):\n", - " def __init__(self):\n", - " super(NYSEModel, self).__init__()\n", - " self.rnn = nn.RNN(3,\n", - " 12,\n", - " batch_first=True)\n", - " self.dense = nn.Linear(12, 1)\n", - " self.dropout = nn.Dropout(0.1)\n", - " def forward(self, x):\n", - " val, h_n = self.rnn(x)\n", - " val = self.dense(self.dropout(val[:,-1]))\n", - " return torch.flatten(val)\n", - "nyse_model = NYSEModel()" - ] - }, - { - "cell_type": "markdown", - "id": "14671ab2", - "metadata": {}, - "source": [ - "We fit the model in a similar fashion to previous networks. We\n", - "supply the `fit` function with test data as validation data, so that when\n", - "we monitor its progress and plot the history function we can see the\n", - "progress on the test data. Of course we should not use this as a basis for\n", - "early stopping, since then the test performance would be biased.\n", - "\n", - "We form the training dataset similar to\n", - "our `Hitters` example." - ] - }, - { - "cell_type": "code", - "execution_count": 103, - "id": "3528f4e7", - "metadata": {}, - "outputs": [], - "source": [ - "datasets = []\n", - "for mask in [train, ~train]:\n", - " X_rnn_t = torch.tensor(X_rnn[mask].astype(np.float32))\n", - " Y_t = torch.tensor(Y[mask].astype(np.float32))\n", - " datasets.append(TensorDataset(X_rnn_t, Y_t))\n", - "nyse_train, nyse_test = datasets" - ] - }, - { - "cell_type": "markdown", - "id": "1a731099", - "metadata": {}, - "source": [ - "Following our usual pattern, we inspect the summary." - ] - }, - { - "cell_type": "code", - "execution_count": 104, - "id": "795c283e", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torchinfo/torchinfo.py:477: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " action_fn=lambda data: sys.getsizeof(data.storage()),\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/torch/storage.py:665: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n", - " return super().__sizeof__() + self.nbytes()\n" - ] - }, - { - "data": { - "text/plain": [ - "===================================================================================================================\n", - "Layer (type:depth-idx) Input Shape Output Shape Param #\n", - "===================================================================================================================\n", - "NYSEModel [1770, 5, 3] [1770] --\n", - "├─RNN: 1-1 [1770, 5, 3] [1770, 5, 12] 204\n", - "├─Dropout: 1-2 [1770, 12] [1770, 12] --\n", - "├─Linear: 1-3 [1770, 12] [1770, 1] 13\n", - "===================================================================================================================\n", - "Total params: 217\n", - "Trainable params: 217\n", - "Non-trainable params: 0\n", - "Total mult-adds (M): 1.83\n", - "===================================================================================================================\n", - "Input size (MB): 0.11\n", - "Forward/backward pass size (MB): 0.86\n", - "Params size (MB): 0.00\n", - "Estimated Total Size (MB): 0.97\n", - "===================================================================================================================" - ] - }, - "execution_count": 104, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "summary(nyse_model,\n", - " input_data=X_rnn_t,\n", - " col_names=['input_size',\n", - " 'output_size',\n", - " 'num_params'])" - ] - }, - { - "cell_type": "markdown", - "id": "650e0ec7", - "metadata": {}, - "source": [ - "\\newpage\n", - "We again put the two datasets into a data module, with a\n", - "batch size of 64." - ] - }, - { - "cell_type": "code", - "execution_count": 105, - "id": "31640121", - "metadata": {}, - "outputs": [], - "source": [ - "nyse_dm = SimpleDataModule(nyse_train,\n", - " nyse_test,\n", - " num_workers=min(4, max_num_workers),\n", - " validation=nyse_test,\n", - " batch_size=64)" - ] - }, - { - "cell_type": "markdown", - "id": "1de7ae89", - "metadata": {}, - "source": [ - "We run some data through our model to be sure the sizes match up correctly." - ] - }, - { - "cell_type": "code", - "execution_count": 106, - "id": "af6795f5", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "torch.Size([64]) torch.Size([64])\n", - "torch.Size([64]) torch.Size([64])\n", - "torch.Size([64]) torch.Size([64])\n" - ] - } - ], - "source": [ - "for idx, (x, y) in enumerate(nyse_dm.train_dataloader()):\n", - " out = nyse_model(x)\n", - " print(y.size(), out.size())\n", - " if idx >= 2:\n", - " break" - ] - }, - { - "cell_type": "markdown", - "id": "eecb6d9c", - "metadata": {}, - "source": [ - "We follow our previous example for setting up a trainer for a\n", - "regression problem, requesting the $R^2$ metric\n", - "to be be computed at each epoch." - ] - }, - { - "cell_type": "code", - "execution_count": 107, - "id": "0d04344c", - "metadata": {}, - "outputs": [], - "source": [ - "nyse_optimizer = RMSprop(nyse_model.parameters(),\n", - " lr=0.001)\n", - "nyse_module = SimpleModule.regression(nyse_model,\n", - " optimizer=nyse_optimizer,\n", - " metrics={'r2':R2Score()})" - ] - }, - { - "cell_type": "markdown", - "id": "9a10444d", - "metadata": {}, - "source": [ - "Fitting the model should by now be familiar.\n", - "The results on the test data are very similar to the linear AR model." - ] - }, - { - "cell_type": "code", - "execution_count": 108, - "id": "485d7bb1", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (mps), used: False\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "/Users/jonathantaylor/anaconda3/envs/islp_freeze_39/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1789: UserWarning: MPS available but not used. Set `accelerator` and `devices` using `Trainer(accelerator='mps', devices=1)`.\n", - " rank_zero_warn(\n", - "\n", - " | Name | Type | Params\n", - "------------------------------------\n", - "0 | model | NYSEModel | 217 \n", - "1 | loss | MSELoss | 0 \n", - "------------------------------------\n", - "217 Trainable params\n", - "0 Non-trainable params\n", - "217 Total params\n", - "0.001 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bf9eb739cc954760813987d94e79fb8e", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ce04cc5cab594022a6b0e9a1f429ba10", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a45ddcb60d7b4bd69dfaa5e0338d7dcb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c95a6371f5af4aeaa0a58a5f5b85db44", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "89e3e03d38994cf1a1093722c2c4fe1a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "951e5cbfbb804e779bbbaf4b4a351ae2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5d3d473df90f4dd3aeb829d52d35d641", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7395df14478d4bed859a3f9cf8ccbead", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ef61c7b225144a7398cff81780b0e60b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "404284c1c9ea41628cb9bb6f4d031cd3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b651d8b168ee452a98c397148c7d1aea", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7c66168b0e85424c8abe2446f7f9e5a9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6998335a07b341f39fd4ebf1c93d162f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "076763c8702042028a8d216e15fef774", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "abb0d6faecc24e059b3e68671dc38ad5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "140dcdd80e2443619f46d24a17ed9d50", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "991f4ae3b2b249848b57f5015f5fe6c7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "95da57cb36fb4ebaa0d52fa94d6c4b32", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5d6915797540439da8b0448c860eb604", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e5855d2022474bb7923ec7915138699b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "209f7ce81cd24ef2976c054769619f84", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1924729f28a84ff3b7c9c8607cea1de7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "58b7467b4a7c4b10aee2d9bf3eb3fafc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ce9b0241a7384110a1b0291f01f3780b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7ec8d539b2ab4f58beb3b5f49764fff3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "41c8e961dac34415a4ccceb8babbcf01", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8ac4d97ce9634218bdf232cca63d6069", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ffea75eb7ccc4af3b66af673c485401b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "80c06a18bd4e4b159ff4f0bd1b333994", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "911f58a64ce24c9b8825fdd6372580eb", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "37e309ed15c34ebf9ad329024eda3c23", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "59a073d533f0447fa920155ad6e9aa1a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5175feb3fd374cd89de5c62e3d3b1b08", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ce0ca0dae31c498ea244ccdcfae501e7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bd510768c59f427787f55d787ea8e5cc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "95dfb50b714949bf8e28d8bbe00736bf", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "437d2e7134b24877afc41e5355fb686c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4fc6d6a6db814fcca6cdc78e63f3f816", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "45a341642e2d4080ad9554826fe775f0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b5a45975a73c4d3f9b6d19dc27d249f5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "742d6b44d2a14afba4b98a4e4ce75e2c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "60e2119e8ae348ab9368218e4fef8c7c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "aac8c13ba5864e6cb2d62a2c6a5dde86", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0022bae4698c4f52b7515abb1a444d4c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ff5051151de94de98de6be6b6ee5c6b6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "38bf027d00494f90a40bb178fe6db007", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d6cf38392f8c448883140a325ca52878", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ae0806202fe441d68d48773578f252c2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2a788a24e8f843e18e6013d7d76d1041", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1b46aad0207543afad9d9ac4670605c2", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0e90e2cf3add47c7958f4025508c0f40", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3750b847af554f3ebe96677e2d2580d1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "dd50a1b812d04368968cf4c4ecf3f639", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a5c7d28ab7c44c0aae170b05a3c6e923", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c32ddfe9a7f44ee8a1485716dd209ca1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "47a99671fd634e1799addd33bfaca5ab", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "98482279444c4db9bc48fbfe02dfb7dc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a56dbc5229434698a43139dc4ff3a460", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b52732b1d1e94f46a1cd037b29d27ce0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4f1264a1828b4d55b74f0dccd97919c5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "59bf88e571724091ab98f7258dbe4780", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "632942952df344ee98d2423705e060c5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "152694e1fe214fe899cbeba080d5fec7", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "92e87ecd035e4a98af8940873c217a08", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5cfb6d3324224105bb51a11ee3610e99", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4b11d5fcedba4da68bec988d9c1af1a8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "39bf95953cd84ff1b5206301be0caba9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4507f5f3b42c4f79815e72a55cd57101", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c47d400fe5ac44098a50f94c59223d71", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8b580013d7f0447a96878fa0982eda94", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "49e3e8b33931437bb03110aacac4c11d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "82e34b2ab25a4d52bd58dd791fab350b", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0233c4562c014826845209456bb8d5f4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Testing: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " Test metric DataLoader 0\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " test_loss 0.6207807064056396\n", - " test_r2 0.41084879636764526\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" - ] - }, - { - "data": { - "text/plain": [ - "[{'test_loss': 0.6207807064056396, 'test_r2': 0.41084879636764526}]" - ] - }, - "execution_count": 108, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "nyse_trainer = Trainer(deterministic=True,\n", - " max_epochs=200,\n", - " callbacks=[ErrorTracker()])\n", - "nyse_trainer.fit(nyse_module,\n", - " datamodule=nyse_dm)\n", - "nyse_trainer.test(nyse_module,\n", - " datamodule=nyse_dm)" - ] - }, - { - "cell_type": "markdown", - "id": "dbd13ee3", - "metadata": {}, - "source": [ - "We could also fit a model without the `nn.RNN()` layer by just\n", - "using a `nn.Flatten()` layer instead. This would be a nonlinear AR model. If in addition we excluded the \n", - "hidden layer, this would be equivalent to our earlier linear AR model. \n", - "\n", - "Instead we will fit a nonlinear AR model using the feature set `X_day` that includes the `day_of_week` indicators.\n", - "To do so, we\n", - "must first create our test and training datasets and a corresponding\n", - "data module. This may seem a little burdensome, but is part of the\n", - "general pipeline for `torch`." - ] - }, - { - "cell_type": "code", - "execution_count": 109, - "id": "91d6633a", - "metadata": {}, - "outputs": [], - "source": [ - "datasets = []\n", - "for mask in [train, ~train]:\n", - " X_day_t = torch.tensor(\n", - " np.asarray(X_day[mask]).astype(np.float32))\n", - " Y_t = torch.tensor(np.asarray(Y[mask]).astype(np.float32))\n", - " datasets.append(TensorDataset(X_day_t, Y_t))\n", - "day_train, day_test = datasets" - ] - }, - { - "cell_type": "markdown", - "id": "b5cf941c", - "metadata": {}, - "source": [ - "Creating a data module follows a familiar pattern." - ] - }, - { - "cell_type": "code", - "execution_count": 110, - "id": "87137503", - "metadata": {}, - "outputs": [], - "source": [ - "day_dm = SimpleDataModule(day_train,\n", - " day_test,\n", - " num_workers=min(4, max_num_workers),\n", - " validation=day_test,\n", - " batch_size=64)" - ] - }, - { - "cell_type": "markdown", - "id": "2575f374", - "metadata": {}, - "source": [ - "We build a `NonLinearARModel()` that takes as input the 20 features and a hidden layer with 32 units. The remaining steps are familiar." - ] - }, - { - "cell_type": "code", - "execution_count": 111, - "id": "3cf09a55", - "metadata": {}, - "outputs": [], - "source": [ - "class NonLinearARModel(nn.Module):\n", - " def __init__(self):\n", - " super(NonLinearARModel, self).__init__()\n", - " self._forward = nn.Sequential(nn.Flatten(),\n", - " nn.Linear(20, 32),\n", - " nn.ReLU(),\n", - " nn.Dropout(0.5),\n", - " nn.Linear(32, 1))\n", - " def forward(self, x):\n", - " return torch.flatten(self._forward(x))" - ] - }, - { - "cell_type": "code", - "execution_count": 112, - "id": "930576f3", - "metadata": {}, - "outputs": [], - "source": [ - "nl_model = NonLinearARModel()\n", - "nl_optimizer = RMSprop(nl_model.parameters(),\n", - " lr=0.001)\n", - "nl_module = SimpleModule.regression(nl_model,\n", - " optimizer=nl_optimizer,\n", - " metrics={'r2':R2Score()})" - ] - }, - { - "cell_type": "markdown", - "id": "a0e3043c", - "metadata": {}, - "source": [ - "We continue with the usual training steps, fit the model,\n", - "and evaluate the test error. We see the test $R^2$ is a slight improvement over the linear AR model that also includes `day_of_week`." - ] - }, - { - "cell_type": "code", - "execution_count": 113, - "id": "b9ae8d0e", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (mps), used: False\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "\n", - " | Name | Type | Params\n", - "-------------------------------------------\n", - "0 | model | NonLinearARModel | 705 \n", - "1 | loss | MSELoss | 0 \n", - "-------------------------------------------\n", - "705 Trainable params\n", - "0 Non-trainable params\n", - "705 Total params\n", - "0.003 Total estimated model params size (MB)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1e278bfc60e6404f98175752ac8f6482", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IOPub message rate exceeded.\n", - "The Jupyter server will temporarily stop sending output\n", - "to the client in order to avoid crashing it.\n", - "To change this limit, set the config variable\n", - "`--ServerApp.iopub_msg_rate_limit`.\n", - "\n", - "Current values:\n", - "ServerApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n", - "ServerApp.rate_limit_window=3.0 (secs)\n", - "\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " Test metric DataLoader 0\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " test_loss 0.5648325681686401\n", - " test_r2 0.4639463424682617\n", - "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n" - ] - }, - { - "data": { - "text/plain": [ - "[{'test_loss': 0.5648325681686401, 'test_r2': 0.4639463424682617}]" - ] - }, - "execution_count": 113, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "nl_trainer = Trainer(deterministic=True,\n", - " max_epochs=20,\n", - " callbacks=[ErrorTracker()])\n", - "nl_trainer.fit(nl_module, datamodule=day_dm)\n", - "nl_trainer.test(nl_module, datamodule=day_dm) " - ] - } - ], - "metadata": { - "jupytext": { - "cell_metadata_filter": "-all", - "formats": "ipynb,md:myst", - "main_language": "python" - }, - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/source/labs/Ch11-surv-lab.ipynb b/docs/source/labs/Ch11-surv-lab.ipynb deleted file mode 100644 index 07c4a5d..0000000 --- a/docs/source/labs/Ch11-surv-lab.ipynb +++ /dev/null @@ -1,1185 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "c7f4eb5a", - "metadata": {}, - "source": [ - "# Survival Analysis\n", - "\n", - "\n", - " \"Open\n", - "\n", - "\n", - "\n", - " In this lab, we perform survival analyses on three separate data\n", - "sets. In Section 11.8.1 we analyze the `BrainCancer` \n", - "data that was first described in Section 11.3. In Section 11.8.2, we examine the `Publication` \n", - "data from Section 11.5.4. Finally, Section 11.8.3 explores\n", - "a simulated call-center data set.\n", - "\n", - "We begin by importing some of our libraries at this top\n", - "level. This makes the code more readable, as scanning the first few\n", - "lines of the notebook tell us what libraries are used in this\n", - "notebook." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "91ac40fd", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:03.064349Z", - "iopub.status.busy": "2023-07-26T05:18:03.064029Z", - "iopub.status.idle": "2023-07-26T05:18:04.312445Z", - "shell.execute_reply": "2023-07-26T05:18:04.312016Z" - } - }, - "outputs": [], - "source": [ - "from matplotlib.pyplot import subplots\n", - "import numpy as np\n", - "import pandas as pd\n", - "from ISLP.models import ModelSpec as MS\n", - "from ISLP import load_data" - ] - }, - { - "cell_type": "markdown", - "id": "a3dbcbbf", - "metadata": {}, - "source": [ - "We also collect the new imports\n", - "needed for this lab." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "99782418", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:04.315115Z", - "iopub.status.busy": "2023-07-26T05:18:04.314859Z", - "iopub.status.idle": "2023-07-26T05:18:04.379768Z", - "shell.execute_reply": "2023-07-26T05:18:04.379303Z" - } - }, - "outputs": [], - "source": [ - "from lifelines import \\\n", - " (KaplanMeierFitter,\n", - " CoxPHFitter)\n", - "from lifelines.statistics import \\\n", - " (logrank_test,\n", - " multivariate_logrank_test)\n", - "from ISLP.survival import sim_time" - ] - }, - { - "cell_type": "markdown", - "id": "2c538d28", - "metadata": {}, - "source": [ - "## Brain Cancer Data\n", - "\n", - "We begin with the `BrainCancer` data set, contained in the `ISLP` package." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3137149a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:04.382594Z", - "iopub.status.busy": "2023-07-26T05:18:04.382386Z", - "iopub.status.idle": "2023-07-26T05:18:04.389761Z", - "shell.execute_reply": "2023-07-26T05:18:04.389375Z" - } - }, - "outputs": [], - "source": [ - "BrainCancer = load_data('BrainCancer')\n", - "BrainCancer.columns" - ] - }, - { - "cell_type": "markdown", - "id": "e798f172", - "metadata": {}, - "source": [ - "The rows index the 88 patients, while the 8 columns contain the predictors and outcome variables.\n", - "We first briefly examine the data." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "45963c92", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:04.392289Z", - "iopub.status.busy": "2023-07-26T05:18:04.392117Z", - "iopub.status.idle": "2023-07-26T05:18:04.396285Z", - "shell.execute_reply": "2023-07-26T05:18:04.395840Z" - } - }, - "outputs": [], - "source": [ - "BrainCancer['sex'].value_counts()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "73be61f6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:04.400201Z", - "iopub.status.busy": "2023-07-26T05:18:04.399975Z", - "iopub.status.idle": "2023-07-26T05:18:04.403967Z", - "shell.execute_reply": "2023-07-26T05:18:04.403581Z" - } - }, - "outputs": [], - "source": [ - "BrainCancer['diagnosis'].value_counts()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "572f0b9e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:04.406232Z", - "iopub.status.busy": "2023-07-26T05:18:04.406110Z", - "iopub.status.idle": "2023-07-26T05:18:04.409773Z", - "shell.execute_reply": "2023-07-26T05:18:04.409374Z" - } - }, - "outputs": [], - "source": [ - "BrainCancer['status'].value_counts()" - ] - }, - { - "cell_type": "markdown", - "id": "fbd132de", - "metadata": {}, - "source": [ - "Before beginning an analysis, it is important to know how the\n", - "`status` variable has been coded. Most software\n", - "uses the convention that a `status` of 1 indicates an\n", - "uncensored observation (often death), and a `status` of 0 indicates a censored\n", - "observation. But some scientists might use the opposite coding. For\n", - "the `BrainCancer` data set 35 patients died before the end of\n", - "the study, so we are using the conventional coding.\n", - "\n", - "To begin the analysis, we re-create the Kaplan-Meier survival curve shown in Figure 11.2. The main\n", - "package we will use for survival analysis\n", - "is `lifelines`.\n", - "The variable `time` corresponds to $y_i$, the time to the $i$th event (either censoring or\n", - "death). The first argument to `km.fit` is the event time, and the\n", - "second argument is the censoring variable, with a 1 indicating an observed\n", - "failure time. The `plot()` method produces a survival curve with pointwise confidence\n", - "intervals. By default, these are 90% confidence intervals, but this can be changed\n", - "by setting the `alpha` argument to one minus the desired\n", - "confidence level." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "92c39707", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:04.411840Z", - "iopub.status.busy": "2023-07-26T05:18:04.411663Z", - "iopub.status.idle": "2023-07-26T05:18:04.539774Z", - "shell.execute_reply": "2023-07-26T05:18:04.539439Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8,8))\n", - "km = KaplanMeierFitter()\n", - "km_brain = km.fit(BrainCancer['time'], BrainCancer['status'])\n", - "km_brain.plot(label='Kaplan Meier estimate', ax=ax)" - ] - }, - { - "cell_type": "markdown", - "id": "f037665b", - "metadata": {}, - "source": [ - "Next we create Kaplan-Meier survival curves that are stratified by\n", - "`sex`, in order to reproduce Figure 11.3.\n", - "We do this using the `groupby()` method of a dataframe.\n", - "This method returns a generator that can\n", - "be iterated over in the `for` loop. In this case,\n", - "the items in the `for` loop are 2-tuples representing\n", - "the groups: the first entry is the value\n", - "of the grouping column `sex` while the second value\n", - "is the dataframe consisting of all rows in the\n", - "dataframe matching that value of `sex`.\n", - "We will want to use this data below\n", - "in the log-rank test, hence we store this\n", - "information in the dictionary `by_sex`. Finally,\n", - "we have also used the notion of\n", - " *string interpolation* to automatically\n", - "label the different lines in the plot. String\n", - "interpolation is a powerful technique to format strings ---\n", - "`Python` has many ways to facilitate such operations." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3fc7848c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:04.542265Z", - "iopub.status.busy": "2023-07-26T05:18:04.542002Z", - "iopub.status.idle": "2023-07-26T05:18:04.674613Z", - "shell.execute_reply": "2023-07-26T05:18:04.674126Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8,8))\n", - "by_sex = {}\n", - "for sex, df in BrainCancer.groupby('sex'):\n", - " by_sex[sex] = df\n", - " km_sex = km.fit(df['time'], df['status'])\n", - " km_sex.plot(label='Sex=%s' % sex, ax=ax)" - ] - }, - { - "cell_type": "markdown", - "id": "c0c1a16a", - "metadata": {}, - "source": [ - "As discussed in Section 11.4, we can perform a\n", - "log-rank test to compare the survival of males to females. We use\n", - "the `logrank_test()` function from the `lifelines.statistics` module.\n", - "The first two arguments are the event times, with the second\n", - "denoting the corresponding (optional) censoring indicators." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bf30d26f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:04.679625Z", - "iopub.status.busy": "2023-07-26T05:18:04.679410Z", - "iopub.status.idle": "2023-07-26T05:18:04.743501Z", - "shell.execute_reply": "2023-07-26T05:18:04.743166Z" - } - }, - "outputs": [], - "source": [ - "logrank_test(by_sex['Male']['time'],\n", - " by_sex['Female']['time'],\n", - " by_sex['Male']['status'],\n", - " by_sex['Female']['status'])" - ] - }, - { - "cell_type": "markdown", - "id": "e270649c", - "metadata": {}, - "source": [ - "The resulting $p$-value is $0.23$, indicating no evidence of a\n", - "difference in survival between the two sexes.\n", - "\n", - "Next, we use the `CoxPHFitter()` estimator\n", - "from `lifelines` to fit Cox proportional hazards models.\n", - "To begin, we consider a model that uses `sex` as the only predictor." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2ab78e07", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:04.746088Z", - "iopub.status.busy": "2023-07-26T05:18:04.745814Z", - "iopub.status.idle": "2023-07-26T05:18:04.773972Z", - "shell.execute_reply": "2023-07-26T05:18:04.773498Z" - } - }, - "outputs": [], - "source": [ - "coxph = CoxPHFitter # shorthand\n", - "sex_df = BrainCancer[['time', 'status', 'sex']]\n", - "model_df = MS(['time', 'status', 'sex'],\n", - " intercept=False).fit_transform(sex_df)\n", - "cox_fit = coxph().fit(model_df,\n", - " 'time',\n", - " 'status')\n", - "cox_fit.summary[['coef', 'se(coef)', 'p']]" - ] - }, - { - "cell_type": "markdown", - "id": "b58b93ae", - "metadata": {}, - "source": [ - "The first argument to `fit` should be a data frame containing\n", - "at least the event time (the second argument `time` in this case),\n", - "as well as an optional censoring variable (the argument `status` in this case).\n", - "Note also that the Cox model does not include an intercept, which is why\n", - "we used the `intercept=False` argument to `ModelSpec` above.\n", - "The `summary()` method delivers many columns; we chose to abbreviate its output here.\n", - "It is possible to obtain the likelihood ratio test comparing this model to the one\n", - "with no features as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4716b7b0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:04.776775Z", - "iopub.status.busy": "2023-07-26T05:18:04.776463Z", - "iopub.status.idle": "2023-07-26T05:18:04.783362Z", - "shell.execute_reply": "2023-07-26T05:18:04.782865Z" - } - }, - "outputs": [], - "source": [ - "cox_fit.log_likelihood_ratio_test()" - ] - }, - { - "cell_type": "markdown", - "id": "2820f486", - "metadata": {}, - "source": [ - "Regardless of which test we use, we see that there is no clear\n", - "evidence for a difference in survival between males and females. As\n", - "we learned in this chapter, the score test from the Cox model is\n", - "exactly equal to the log rank test statistic!\n", - "\n", - "Now we fit a model that makes use of additional predictors. We first note\n", - "that one of our `diagnosis` values is missing, hence\n", - "we drop that observation before continuing." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c2767d88", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:04.785790Z", - "iopub.status.busy": "2023-07-26T05:18:04.785586Z", - "iopub.status.idle": "2023-07-26T05:18:04.824235Z", - "shell.execute_reply": "2023-07-26T05:18:04.823739Z" - } - }, - "outputs": [], - "source": [ - "cleaned = BrainCancer.dropna()\n", - "all_MS = MS(cleaned.columns, intercept=False)\n", - "all_df = all_MS.fit_transform(cleaned)\n", - "fit_all = coxph().fit(all_df,\n", - " 'time',\n", - " 'status')\n", - "fit_all.summary[['coef', 'se(coef)', 'p']]" - ] - }, - { - "cell_type": "markdown", - "id": "eee4ab1f", - "metadata": {}, - "source": [ - " The `diagnosis` variable has been coded so that the baseline\n", - "corresponds to HG glioma. The results indicate that the risk associated with HG glioma\n", - "is more than eight times (i.e. $e^{2.15}=8.62$) the risk associated\n", - "with meningioma. In other words, after adjusting for the other\n", - "predictors, patients with HG glioma have much worse survival compared\n", - "to those with meningioma. In addition, larger values of the Karnofsky\n", - "index, `ki`, are associated with lower risk, i.e. longer survival.\n", - "\n", - "Finally, we plot estimated survival curves for each diagnosis category,\n", - "adjusting for the other predictors. To make these plots, we set the\n", - "values of the other predictors equal to the mean for quantitative variables\n", - "and equal to the mode for categorical. To do this, we use the\n", - "`apply()` method across rows (i.e. `axis=0`) with a function\n", - "`representative` that checks if a column is categorical\n", - "or not." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ede1d219", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:04.826852Z", - "iopub.status.busy": "2023-07-26T05:18:04.826662Z", - "iopub.status.idle": "2023-07-26T05:18:04.831013Z", - "shell.execute_reply": "2023-07-26T05:18:04.830464Z" - } - }, - "outputs": [], - "source": [ - "levels = cleaned['diagnosis'].unique()\n", - "def representative(series):\n", - " if hasattr(series.dtype, 'categories'):\n", - " return pd.Series.mode(series)\n", - " else:\n", - " return series.mean()\n", - "modal_data = cleaned.apply(representative, axis=0)" - ] - }, - { - "cell_type": "markdown", - "id": "e1c307ae", - "metadata": {}, - "source": [ - "We make four\n", - "copies of the column means and assign the `diagnosis` column to be the four different\n", - "diagnoses." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "dc032a71", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:04.833522Z", - "iopub.status.busy": "2023-07-26T05:18:04.833389Z", - "iopub.status.idle": "2023-07-26T05:18:04.840549Z", - "shell.execute_reply": "2023-07-26T05:18:04.840260Z" - } - }, - "outputs": [], - "source": [ - "modal_df = pd.DataFrame(\n", - " [modal_data.iloc[0] for _ in range(len(levels))])\n", - "modal_df['diagnosis'] = levels\n", - "modal_df" - ] - }, - { - "cell_type": "markdown", - "id": "84da2586", - "metadata": {}, - "source": [ - "We then construct the model matrix based on the model specification `all_MS` used to fit\n", - "the model, and name the rows according to the levels of `diagnosis`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e7c1fe43", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:04.843157Z", - "iopub.status.busy": "2023-07-26T05:18:04.843004Z", - "iopub.status.idle": "2023-07-26T05:18:04.852876Z", - "shell.execute_reply": "2023-07-26T05:18:04.852545Z" - } - }, - "outputs": [], - "source": [ - "modal_X = all_MS.transform(modal_df)\n", - "modal_X.index = levels\n", - "modal_X" - ] - }, - { - "cell_type": "markdown", - "id": "3cfe1ec4", - "metadata": {}, - "source": [ - "We can use the `predict_survival_function()` method to obtain the estimated survival function." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f89fbed7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:04.855400Z", - "iopub.status.busy": "2023-07-26T05:18:04.855197Z", - "iopub.status.idle": "2023-07-26T05:18:04.864584Z", - "shell.execute_reply": "2023-07-26T05:18:04.864194Z" - } - }, - "outputs": [], - "source": [ - "predicted_survival = fit_all.predict_survival_function(modal_X)\n", - "predicted_survival" - ] - }, - { - "cell_type": "markdown", - "id": "29afd641", - "metadata": {}, - "source": [ - "This returns a data frame,\n", - "whose plot methods yields the different survival curves. To avoid clutter in\n", - "the plots, we do not display confidence intervals." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8f0329b4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:04.867553Z", - "iopub.status.busy": "2023-07-26T05:18:04.867105Z", - "iopub.status.idle": "2023-07-26T05:18:04.987503Z", - "shell.execute_reply": "2023-07-26T05:18:04.986681Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8, 8))\n", - "predicted_survival.plot(ax=ax);" - ] - }, - { - "cell_type": "markdown", - "id": "12723ce5", - "metadata": {}, - "source": [ - "## Publication Data\n", - "The `Publication` data presented in Section 11.5.4 can be\n", - "found in the `ISLP` package.\n", - "We first reproduce Figure 11.5 by plotting the Kaplan-Meier curves\n", - "stratified on the `posres` variable, which records whether the\n", - "study had a positive or negative result." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3045bfc0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:04.990450Z", - "iopub.status.busy": "2023-07-26T05:18:04.990225Z", - "iopub.status.idle": "2023-07-26T05:18:05.181343Z", - "shell.execute_reply": "2023-07-26T05:18:05.178676Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8,8))\n", - "Publication = load_data('Publication')\n", - "by_result = {}\n", - "for result, df in Publication.groupby('posres'):\n", - " by_result[result] = df\n", - " km_result = km.fit(df['time'], df['status'])\n", - " km_result.plot(label='Result=%d' % result, ax=ax)" - ] - }, - { - "cell_type": "markdown", - "id": "6fcb22f7", - "metadata": {}, - "source": [ - "As discussed previously, the $p$-values from fitting Cox’s\n", - "proportional hazards model to the `posres` variable are quite\n", - "large, providing no evidence of a difference in time-to-publication\n", - "between studies with positive versus negative results." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d070f716", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:05.184743Z", - "iopub.status.busy": "2023-07-26T05:18:05.184569Z", - "iopub.status.idle": "2023-07-26T05:18:05.222538Z", - "shell.execute_reply": "2023-07-26T05:18:05.221996Z" - } - }, - "outputs": [], - "source": [ - "posres_df = MS(['posres',\n", - " 'time',\n", - " 'status'],\n", - " intercept=False).fit_transform(Publication)\n", - "posres_fit = coxph().fit(posres_df,\n", - " 'time',\n", - " 'status')\n", - "posres_fit.summary[['coef', 'se(coef)', 'p']]" - ] - }, - { - "cell_type": "markdown", - "id": "513a55b1", - "metadata": {}, - "source": [ - "However, the results change dramatically when we include other\n", - "predictors in the model. Here we exclude the funding mechanism\n", - "variable." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2bbcdd0c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:05.225196Z", - "iopub.status.busy": "2023-07-26T05:18:05.224969Z", - "iopub.status.idle": "2023-07-26T05:18:05.270258Z", - "shell.execute_reply": "2023-07-26T05:18:05.269721Z" - } - }, - "outputs": [], - "source": [ - "model = MS(Publication.columns.drop('mech'),\n", - " intercept=False)\n", - "coxph().fit(model.fit_transform(Publication),\n", - " 'time',\n", - " 'status').summary[['coef', 'se(coef)', 'p']]" - ] - }, - { - "cell_type": "markdown", - "id": "75bb8aa6", - "metadata": {}, - "source": [ - "We see that there are a number of statistically significant variables,\n", - "including whether the trial focused on a clinical endpoint, the impact\n", - "of the study, and whether the study had positive or negative results." - ] - }, - { - "cell_type": "markdown", - "id": "bfe236e5", - "metadata": {}, - "source": [ - "## Call Center Data\n", - "\n", - "In this section, we will simulate survival data using the relationship\n", - "between cumulative hazard and\n", - "the survival function explored in Exercise 8.\n", - "Our simulated data will represent the observed\n", - "wait times (in seconds) for 2,000 customers who have phoned a call\n", - "center. In this context, censoring occurs if a customer hangs up\n", - "before his or her call is answered.\n", - "\n", - "There are three covariates: `Operators` (the number of call\n", - "center operators available at the time of the call, which can range\n", - "from $5$ to $15$), `Center` (either A, B, or C), and\n", - "`Time` of day (Morning, Afternoon, or Evening). We generate data\n", - "for these covariates so that all possibilities are equally likely: for\n", - "instance, morning, afternoon and evening calls are equally likely, and\n", - "any number of operators from $5$ to $15$ is equally likely." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b8ece43a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:05.272852Z", - "iopub.status.busy": "2023-07-26T05:18:05.272613Z", - "iopub.status.idle": "2023-07-26T05:18:05.277670Z", - "shell.execute_reply": "2023-07-26T05:18:05.277169Z" - } - }, - "outputs": [], - "source": [ - "rng = np.random.default_rng(10)\n", - "N = 2000\n", - "Operators = rng.choice(np.arange(5, 16),\n", - " N,\n", - " replace=True)\n", - "Center = rng.choice(['A', 'B', 'C'],\n", - " N,\n", - " replace=True)\n", - "Time = rng.choice(['Morn.', 'After.', 'Even.'],\n", - " N,\n", - " replace=True)\n", - "D = pd.DataFrame({'Operators': Operators,\n", - " 'Center': pd.Categorical(Center),\n", - " 'Time': pd.Categorical(Time)})" - ] - }, - { - "cell_type": "markdown", - "id": "c93e44f3", - "metadata": {}, - "source": [ - "We then build a model matrix (omitting the intercept)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3e4f766f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:05.279951Z", - "iopub.status.busy": "2023-07-26T05:18:05.279774Z", - "iopub.status.idle": "2023-07-26T05:18:05.289519Z", - "shell.execute_reply": "2023-07-26T05:18:05.288948Z" - } - }, - "outputs": [], - "source": [ - "model = MS(['Operators',\n", - " 'Center',\n", - " 'Time'],\n", - " intercept=False)\n", - "X = model.fit_transform(D)" - ] - }, - { - "cell_type": "markdown", - "id": "cad1ed19", - "metadata": {}, - "source": [ - "It is worthwhile to take a peek at the model matrix `X`, so\n", - "that we can be sure that we understand how the variables have been coded. By default,\n", - "the levels of categorical variables are sorted and, as usual, the first column of the one-hot encoding\n", - "of the variable is dropped." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "72f42d14", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:05.292713Z", - "iopub.status.busy": "2023-07-26T05:18:05.292424Z", - "iopub.status.idle": "2023-07-26T05:18:05.299084Z", - "shell.execute_reply": "2023-07-26T05:18:05.298414Z" - } - }, - "outputs": [], - "source": [ - "X[:5]" - ] - }, - { - "cell_type": "markdown", - "id": "38c40ae1", - "metadata": {}, - "source": [ - "Next, we specify the coefficients and the hazard function." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8b921536", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:05.301800Z", - "iopub.status.busy": "2023-07-26T05:18:05.301580Z", - "iopub.status.idle": "2023-07-26T05:18:05.340807Z", - "shell.execute_reply": "2023-07-26T05:18:05.311843Z" - } - }, - "outputs": [], - "source": [ - "true_beta = np.array([0.04, -0.3, 0, 0.2, -0.2])\n", - "true_linpred = X.dot(true_beta)\n", - "hazard = lambda t: 1e-5 * t" - ] - }, - { - "cell_type": "markdown", - "id": "a0698ffd", - "metadata": {}, - "source": [ - "Here, we have set the coefficient associated with `Operators` to\n", - "equal $0.04$; in other words, each additional operator leads to a\n", - "$e^{0.04}=1.041$-fold increase in the “risk” that the call will be\n", - "answered, given the `Center` and `Time` covariates. This\n", - "makes sense: the greater the number of operators at hand, the shorter\n", - "the wait time! The coefficient associated with `Center == B` is\n", - "$-0.3$, and `Center == A` is treated as the baseline. This means\n", - "that the risk of a call being answered at Center B is 0.74 times the\n", - "risk that it will be answered at Center A; in other words, the wait\n", - "times are a bit longer at Center B.\n", - "\n", - "Recall from Section 2.3.7 the use of `lambda`\n", - "for creating short functions on the fly.\n", - "We use the function\n", - "`sim_time()` from the `ISLP.survival` package. This function\n", - "uses the relationship between the survival function\n", - "and cumulative hazard $S(t) = \\exp(-H(t))$ and the specific\n", - "form of the cumulative hazard function in the Cox model\n", - "to simulate data based on values of the linear predictor\n", - "`true_linpred` and the cumulative hazard. \n", - " We need to provide the cumulative hazard function, which we do here." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "96ce0f99", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:05.399214Z", - "iopub.status.busy": "2023-07-26T05:18:05.386941Z", - "iopub.status.idle": "2023-07-26T05:18:05.423513Z", - "shell.execute_reply": "2023-07-26T05:18:05.417411Z" - } - }, - "outputs": [], - "source": [ - "cum_hazard = lambda t: 1e-5 * t**2 / 2" - ] - }, - { - "cell_type": "markdown", - "id": "1956e4c2", - "metadata": {}, - "source": [ - "We are now ready to generate data under the Cox proportional hazards\n", - "model. We truncate the maximum time to 1000 seconds to keep\n", - "simulated wait times reasonable. The function\n", - "`sim_time()` takes a linear predictor,\n", - "a cumulative hazard function and a\n", - "random number generator." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "63d78ff9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:05.450050Z", - "iopub.status.busy": "2023-07-26T05:18:05.449814Z", - "iopub.status.idle": "2023-07-26T05:18:05.587170Z", - "shell.execute_reply": "2023-07-26T05:18:05.586673Z" - } - }, - "outputs": [], - "source": [ - "W = np.array([sim_time(l, cum_hazard, rng)\n", - " for l in true_linpred])\n", - "D['Wait time'] = np.clip(W, 0, 1000)" - ] - }, - { - "cell_type": "markdown", - "id": "035e4ecf", - "metadata": {}, - "source": [ - "We now simulate our censoring variable, for which we assume\n", - "90% of calls were answered (`Failed==1`) before the\n", - "customer hung up (`Failed==0`)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fe008dbf", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:05.590252Z", - "iopub.status.busy": "2023-07-26T05:18:05.589902Z", - "iopub.status.idle": "2023-07-26T05:18:05.596018Z", - "shell.execute_reply": "2023-07-26T05:18:05.595604Z" - } - }, - "outputs": [], - "source": [ - "D['Failed'] = rng.choice([1, 0],\n", - " N,\n", - " p=[0.9, 0.1])\n", - "D[:5]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c3a2bec7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:05.598122Z", - "iopub.status.busy": "2023-07-26T05:18:05.597969Z", - "iopub.status.idle": "2023-07-26T05:18:05.601009Z", - "shell.execute_reply": "2023-07-26T05:18:05.600579Z" - } - }, - "outputs": [], - "source": [ - "D['Failed'].mean()" - ] - }, - { - "cell_type": "markdown", - "id": "207937e5", - "metadata": {}, - "source": [ - "We now plot Kaplan-Meier survival curves. First, we stratify by `Center`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2b27af56", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:05.603318Z", - "iopub.status.busy": "2023-07-26T05:18:05.603142Z", - "iopub.status.idle": "2023-07-26T05:18:05.827076Z", - "shell.execute_reply": "2023-07-26T05:18:05.826151Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8,8))\n", - "by_center = {}\n", - "for center, df in D.groupby('Center'):\n", - " by_center[center] = df\n", - " km_center = km.fit(df['Wait time'], df['Failed'])\n", - " km_center.plot(label='Center=%s' % center, ax=ax)\n", - "ax.set_title(\"Probability of Still Being on Hold\")" - ] - }, - { - "cell_type": "markdown", - "id": "be6d37f7", - "metadata": {}, - "source": [ - "Next, we stratify by `Time`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9625598d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:05.830554Z", - "iopub.status.busy": "2023-07-26T05:18:05.830059Z", - "iopub.status.idle": "2023-07-26T05:18:06.008529Z", - "shell.execute_reply": "2023-07-26T05:18:06.008079Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8,8))\n", - "by_time = {}\n", - "for time, df in D.groupby('Time'):\n", - " by_time[time] = df\n", - " km_time = km.fit(df['Wait time'], df['Failed'])\n", - " km_time.plot(label='Time=%s' % time, ax=ax)\n", - "ax.set_title(\"Probability of Still Being on Hold\")" - ] - }, - { - "cell_type": "markdown", - "id": "1408ebc0", - "metadata": {}, - "source": [ - "It seems that calls at Call Center B take longer to be answered than\n", - "calls at Centers A and C. Similarly, it appears that wait times are\n", - "longest in the morning and shortest in the evening hours. We can use a\n", - "log-rank test to determine whether these differences are statistically\n", - "significant using the function `multivariate_logrank_test()`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "75a744ef", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:06.012649Z", - "iopub.status.busy": "2023-07-26T05:18:06.012037Z", - "iopub.status.idle": "2023-07-26T05:18:06.033832Z", - "shell.execute_reply": "2023-07-26T05:18:06.033320Z" - } - }, - "outputs": [], - "source": [ - "multivariate_logrank_test(D['Wait time'],\n", - " D['Center'],\n", - " D['Failed'])" - ] - }, - { - "cell_type": "markdown", - "id": "be5055e4", - "metadata": {}, - "source": [ - "Next, we consider the effect of `Time`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9badb3e3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:06.036375Z", - "iopub.status.busy": "2023-07-26T05:18:06.036170Z", - "iopub.status.idle": "2023-07-26T05:18:06.055850Z", - "shell.execute_reply": "2023-07-26T05:18:06.055183Z" - } - }, - "outputs": [], - "source": [ - "multivariate_logrank_test(D['Wait time'],\n", - " D['Time'],\n", - " D['Failed'])" - ] - }, - { - "cell_type": "markdown", - "id": "64b2bc33", - "metadata": {}, - "source": [ - "As in the case of a categorical variable with 2 levels, these\n", - "results are similar to the likelihood ratio test\n", - "from the Cox proportional hazards model. First, we\n", - "look at the results for `Center`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "026e9ff8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:06.058057Z", - "iopub.status.busy": "2023-07-26T05:18:06.057906Z", - "iopub.status.idle": "2023-07-26T05:18:06.184883Z", - "shell.execute_reply": "2023-07-26T05:18:06.184356Z" - } - }, - "outputs": [], - "source": [ - "X = MS(['Wait time',\n", - " 'Failed',\n", - " 'Center'],\n", - " intercept=False).fit_transform(D)\n", - "F = coxph().fit(X, 'Wait time', 'Failed')\n", - "F.log_likelihood_ratio_test()" - ] - }, - { - "cell_type": "markdown", - "id": "4ed54fe0", - "metadata": {}, - "source": [ - "Next, we look at the results for `Time`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7cab3789", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:06.187428Z", - "iopub.status.busy": "2023-07-26T05:18:06.187255Z", - "iopub.status.idle": "2023-07-26T05:18:06.315832Z", - "shell.execute_reply": "2023-07-26T05:18:06.314374Z" - } - }, - "outputs": [], - "source": [ - "X = MS(['Wait time',\n", - " 'Failed',\n", - " 'Time'],\n", - " intercept=False).fit_transform(D)\n", - "F = coxph().fit(X, 'Wait time', 'Failed')\n", - "F.log_likelihood_ratio_test()" - ] - }, - { - "cell_type": "markdown", - "id": "2d250dc9", - "metadata": {}, - "source": [ - "We find that differences between centers are highly significant, as\n", - "are differences between times of day.\n", - "\n", - "Finally, we fit Cox's proportional hazards model to the data." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5cc4b898", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:06.320288Z", - "iopub.status.busy": "2023-07-26T05:18:06.319261Z", - "iopub.status.idle": "2023-07-26T05:18:06.585074Z", - "shell.execute_reply": "2023-07-26T05:18:06.577564Z" - } - }, - "outputs": [], - "source": [ - "X = MS(D.columns,\n", - " intercept=False).fit_transform(D)\n", - "fit_queuing = coxph().fit(\n", - " X,\n", - " 'Wait time',\n", - " 'Failed')\n", - "fit_queuing.summary[['coef', 'se(coef)', 'p']]" - ] - }, - { - "cell_type": "markdown", - "id": "bec9d61d", - "metadata": {}, - "source": [ - "The $p$-values for Center B and evening time\n", - "are very small. It is also clear that the\n", - "hazard --- that is, the instantaneous risk that a call will be\n", - "answered --- increases with the number of operators. Since we\n", - "generated the data ourselves, we know that the true coefficients for\n", - " `Operators`, `Center = B`, `Center = C`, \n", - "`Time = Even.` and `Time = Morn.` are $0.04$, $-0.3$,\n", - "$0$, $0.2$, and $-0.2$, respectively. The coefficient estimates\n", - "from the fitted Cox model are fairly accurate." - ] - } - ], - "metadata": { - "jupytext": { - "cell_metadata_filter": "-all", - "formats": "ipynb,md:myst", - "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/source/labs/Ch12-unsup-lab.ipynb b/docs/source/labs/Ch12-unsup-lab.ipynb deleted file mode 100644 index 6b956a8..0000000 --- a/docs/source/labs/Ch12-unsup-lab.ipynb +++ /dev/null @@ -1,1989 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "80f16ff6", - "metadata": {}, - "source": [ - " # Unsupervised Learning\n", - "\n", - "\n", - " \"Open\n", - "\n", - "\n", - "\n", - "In this lab we demonstrate PCA and clustering on several datasets.\n", - "As in other labs, we import some of our libraries at this top\n", - "level. This makes the code more readable, as scanning the first few\n", - "lines of the notebook tell us what libraries are used in this\n", - "notebook." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "24559be0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:08.163850Z", - "iopub.status.busy": "2023-07-26T05:18:08.163726Z", - "iopub.status.idle": "2023-07-26T05:18:09.209261Z", - "shell.execute_reply": "2023-07-26T05:18:09.208715Z" - } - }, - "outputs": [], - "source": [ - "import numpy as np\n", - "import pandas as pd\n", - "import matplotlib.pyplot as plt\n", - "from statsmodels.datasets import get_rdataset\n", - "from sklearn.decomposition import PCA\n", - "from sklearn.preprocessing import StandardScaler\n", - "from ISLP import load_data" - ] - }, - { - "cell_type": "markdown", - "id": "59b24a4b", - "metadata": {}, - "source": [ - "We also collect the new imports\n", - "needed for this lab." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "06fff57d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:09.212356Z", - "iopub.status.busy": "2023-07-26T05:18:09.212070Z", - "iopub.status.idle": "2023-07-26T05:18:09.327611Z", - "shell.execute_reply": "2023-07-26T05:18:09.327246Z" - } - }, - "outputs": [], - "source": [ - "from sklearn.cluster import \\\n", - " (KMeans,\n", - " AgglomerativeClustering)\n", - "from scipy.cluster.hierarchy import \\\n", - " (dendrogram,\n", - " cut_tree)\n", - "from ISLP.cluster import compute_linkage" - ] - }, - { - "cell_type": "markdown", - "id": "f091de06", - "metadata": {}, - "source": [ - "## Principal Components Analysis\n", - "In this lab, we perform PCA on `USArrests`, a data set in the\n", - "`R` computing environment.\n", - "We retrieve the data using `get_rdataset()`, which can fetch data from\n", - "many standard `R` packages.\n", - "\n", - "The rows of the data set contain the 50 states, in alphabetical order." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f425e07e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:09.329909Z", - "iopub.status.busy": "2023-07-26T05:18:09.329763Z", - "iopub.status.idle": "2023-07-26T05:18:10.559326Z", - "shell.execute_reply": "2023-07-26T05:18:10.558692Z" - } - }, - "outputs": [], - "source": [ - "USArrests = get_rdataset('USArrests').data\n", - "USArrests" - ] - }, - { - "cell_type": "markdown", - "id": "e2942890", - "metadata": {}, - "source": [ - "The columns of the data set contain the four variables." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b127d014", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:10.561457Z", - "iopub.status.busy": "2023-07-26T05:18:10.561326Z", - "iopub.status.idle": "2023-07-26T05:18:10.564289Z", - "shell.execute_reply": "2023-07-26T05:18:10.563966Z" - } - }, - "outputs": [], - "source": [ - "USArrests.columns" - ] - }, - { - "cell_type": "markdown", - "id": "68718331", - "metadata": {}, - "source": [ - "We first briefly examine the data. We notice that the variables have vastly different means." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c7343f72", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:10.566649Z", - "iopub.status.busy": "2023-07-26T05:18:10.566503Z", - "iopub.status.idle": "2023-07-26T05:18:10.570319Z", - "shell.execute_reply": "2023-07-26T05:18:10.569890Z" - } - }, - "outputs": [], - "source": [ - "USArrests.mean()" - ] - }, - { - "cell_type": "markdown", - "id": "171a1ee0", - "metadata": {}, - "source": [ - "Dataframes have several useful methods for computing\n", - "column-wise summaries. We can also examine the\n", - "variance of the four variables using the `var()` method." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "34501140", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:10.572610Z", - "iopub.status.busy": "2023-07-26T05:18:10.572485Z", - "iopub.status.idle": "2023-07-26T05:18:10.575894Z", - "shell.execute_reply": "2023-07-26T05:18:10.575543Z" - } - }, - "outputs": [], - "source": [ - "USArrests.var()" - ] - }, - { - "cell_type": "markdown", - "id": "5634db88", - "metadata": {}, - "source": [ - "Not surprisingly, the variables also have vastly different variances.\n", - "The `UrbanPop` variable measures the percentage of the population\n", - "in each state living in an urban area, which is not a comparable\n", - "number to the number of rapes in each state per 100,000 individuals.\n", - "PCA looks for derived variables that account for most of the variance in the data set.\n", - "If we do not scale the variables before performing PCA, then the principal components\n", - "would mostly be driven by the\n", - "`Assault` variable, since it has by far the largest\n", - "variance. So if the variables are measured in different units or vary widely in scale, it is recommended to standardize the variables to have standard deviation one before performing PCA.\n", - "Typically we set the means to zero as well.\n", - "\n", - "This scaling can be done via the `StandardScaler()` transform imported above. We first `fit` the\n", - "scaler, which computes the necessary means and standard\n", - "deviations and then apply it to our data using the\n", - "`transform` method. As before, we combine these steps using the `fit_transform()` method." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "daf119e8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:10.578199Z", - "iopub.status.busy": "2023-07-26T05:18:10.578025Z", - "iopub.status.idle": "2023-07-26T05:18:10.581928Z", - "shell.execute_reply": "2023-07-26T05:18:10.581446Z" - } - }, - "outputs": [], - "source": [ - "scaler = StandardScaler(with_std=True,\n", - " with_mean=True)\n", - "USArrests_scaled = scaler.fit_transform(USArrests)" - ] - }, - { - "cell_type": "markdown", - "id": "dd6e5f5b", - "metadata": {}, - "source": [ - "Having scaled the data, we can then\n", - "perform principal components analysis using the `PCA()` transform\n", - "from the `sklearn.decomposition` package." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a0eda7c9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:10.584181Z", - "iopub.status.busy": "2023-07-26T05:18:10.584070Z", - "iopub.status.idle": "2023-07-26T05:18:10.586440Z", - "shell.execute_reply": "2023-07-26T05:18:10.586052Z" - } - }, - "outputs": [], - "source": [ - "pcaUS = PCA()" - ] - }, - { - "cell_type": "markdown", - "id": "e5758ee5", - "metadata": {}, - "source": [ - "(By default, the `PCA()` transform centers the variables to have\n", - "mean zero though it does not scale them.) The transform `pcaUS`\n", - "can be used to find the PCA\n", - "`scores` returned by `fit()`. Once the `fit` method has been called, the `pcaUS` object also contains a number of useful quantities." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1430fb3c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:10.588957Z", - "iopub.status.busy": "2023-07-26T05:18:10.588809Z", - "iopub.status.idle": "2023-07-26T05:18:10.593315Z", - "shell.execute_reply": "2023-07-26T05:18:10.592971Z" - } - }, - "outputs": [], - "source": [ - "pcaUS.fit(USArrests_scaled)" - ] - }, - { - "cell_type": "markdown", - "id": "56890b11", - "metadata": {}, - "source": [ - "After fitting, the `mean_` attribute corresponds to the means\n", - "of the variables. In this case, since we centered and scaled the data with\n", - "`scaler()` the means will all be 0." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6131d8d1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:10.595542Z", - "iopub.status.busy": "2023-07-26T05:18:10.595388Z", - "iopub.status.idle": "2023-07-26T05:18:10.598527Z", - "shell.execute_reply": "2023-07-26T05:18:10.598057Z" - } - }, - "outputs": [], - "source": [ - "pcaUS.mean_" - ] - }, - { - "cell_type": "markdown", - "id": "3c1c34e7", - "metadata": {}, - "source": [ - "The scores can be computed using the `transform()` method\n", - "of `pcaUS` after it has been fit." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "08246aad", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:10.600656Z", - "iopub.status.busy": "2023-07-26T05:18:10.600536Z", - "iopub.status.idle": "2023-07-26T05:18:10.603024Z", - "shell.execute_reply": "2023-07-26T05:18:10.602498Z" - } - }, - "outputs": [], - "source": [ - "scores = pcaUS.transform(USArrests_scaled)" - ] - }, - { - "cell_type": "markdown", - "id": "574ed47f", - "metadata": {}, - "source": [ - "We will plot these scores a bit further down.\n", - "The `components_` attribute provides the principal component loadings:\n", - "each row of `pcaUS.components_` contains the corresponding\n", - "principal component loading vector." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b682b632", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:10.605166Z", - "iopub.status.busy": "2023-07-26T05:18:10.605000Z", - "iopub.status.idle": "2023-07-26T05:18:10.607923Z", - "shell.execute_reply": "2023-07-26T05:18:10.607498Z" - } - }, - "outputs": [], - "source": [ - "pcaUS.components_ " - ] - }, - { - "cell_type": "markdown", - "id": "fc8bfc99", - "metadata": {}, - "source": [ - "The `biplot` is a common visualization method used with\n", - "PCA. It is not built in as a standard\n", - "part of `sklearn`, though there are python\n", - "packages that do produce such plots. Here we\n", - "make a simple biplot manually." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c165e990", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:10.610624Z", - "iopub.status.busy": "2023-07-26T05:18:10.610442Z", - "iopub.status.idle": "2023-07-26T05:18:10.736284Z", - "shell.execute_reply": "2023-07-26T05:18:10.735735Z" - } - }, - "outputs": [], - "source": [ - "i, j = 0, 1 # which components\n", - "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", - "ax.scatter(scores[:,0], scores[:,1])\n", - "ax.set_xlabel('PC%d' % (i+1))\n", - "ax.set_ylabel('PC%d' % (j+1))\n", - "for k in range(pcaUS.components_.shape[1]):\n", - " ax.arrow(0, 0, pcaUS.components_[i,k], pcaUS.components_[j,k])\n", - " ax.text(pcaUS.components_[i,k],\n", - " pcaUS.components_[j,k],\n", - " USArrests.columns[k])" - ] - }, - { - "cell_type": "markdown", - "id": "eaef3e98", - "metadata": {}, - "source": [ - "Notice that this figure is a reflection of Figure 12.1 through the $y$-axis. Recall that the\n", - "principal components are only unique up to a sign change, so we can\n", - "reproduce that figure by flipping the\n", - "signs of the second set of scores and loadings.\n", - "We also increase the length of the arrows to emphasize the loadings." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "848c9f35", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:10.738926Z", - "iopub.status.busy": "2023-07-26T05:18:10.738771Z", - "iopub.status.idle": "2023-07-26T05:18:10.848441Z", - "shell.execute_reply": "2023-07-26T05:18:10.847972Z" - } - }, - "outputs": [], - "source": [ - "scale_arrow = s_ = 2\n", - "scores[:,1] *= -1\n", - "pcaUS.components_[1] *= -1 # flip the y-axis\n", - "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", - "ax.scatter(scores[:,0], scores[:,1])\n", - "ax.set_xlabel('PC%d' % (i+1))\n", - "ax.set_ylabel('PC%d' % (j+1))\n", - "for k in range(pcaUS.components_.shape[1]):\n", - " ax.arrow(0, 0, s_*pcaUS.components_[i,k], s_*pcaUS.components_[j,k])\n", - " ax.text(s_*pcaUS.components_[i,k],\n", - " s_*pcaUS.components_[j,k],\n", - " USArrests.columns[k])" - ] - }, - { - "cell_type": "markdown", - "id": "e380e98d", - "metadata": {}, - "source": [ - "The standard deviations of the principal component scores are as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "34fdfe21", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:10.852220Z", - "iopub.status.busy": "2023-07-26T05:18:10.851752Z", - "iopub.status.idle": "2023-07-26T05:18:10.859190Z", - "shell.execute_reply": "2023-07-26T05:18:10.857389Z" - } - }, - "outputs": [], - "source": [ - "scores.std(0, ddof=1)" - ] - }, - { - "cell_type": "markdown", - "id": "c24b8ca2", - "metadata": {}, - "source": [ - "The variance of each score can be extracted directly from the `pcaUS` object via\n", - "the `explained_variance_` attribute." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "31b43c57", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:10.861366Z", - "iopub.status.busy": "2023-07-26T05:18:10.861239Z", - "iopub.status.idle": "2023-07-26T05:18:10.864540Z", - "shell.execute_reply": "2023-07-26T05:18:10.863998Z" - } - }, - "outputs": [], - "source": [ - "pcaUS.explained_variance_" - ] - }, - { - "cell_type": "markdown", - "id": "d2dcf543", - "metadata": {}, - "source": [ - "The proportion of variance explained by each principal \n", - "component (PVE) is stored as `explained_variance_ratio_`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "68e47d3a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:10.867030Z", - "iopub.status.busy": "2023-07-26T05:18:10.866863Z", - "iopub.status.idle": "2023-07-26T05:18:10.869949Z", - "shell.execute_reply": "2023-07-26T05:18:10.869455Z" - } - }, - "outputs": [], - "source": [ - "pcaUS.explained_variance_ratio_" - ] - }, - { - "cell_type": "markdown", - "id": "831b19b7", - "metadata": {}, - "source": [ - "We see that the first principal component explains 62.0% of the\n", - "variance in the data, the next principal component explains 24.7%\n", - "of the variance, and so forth.\n", - "We can plot the PVE explained by each component, as well as the cumulative PVE. We first\n", - "plot the proportion of variance explained." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e87fe198", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:10.872333Z", - "iopub.status.busy": "2023-07-26T05:18:10.872213Z", - "iopub.status.idle": "2023-07-26T05:18:11.030288Z", - "shell.execute_reply": "2023-07-26T05:18:11.029440Z" - } - }, - "outputs": [], - "source": [ - "%%capture\n", - "fig, axes = plt.subplots(1, 2, figsize=(15, 6))\n", - "ticks = np.arange(pcaUS.n_components_)+1\n", - "ax = axes[0]\n", - "ax.plot(ticks,\n", - " pcaUS.explained_variance_ratio_,\n", - " marker='o')\n", - "ax.set_xlabel('Principal Component');\n", - "ax.set_ylabel('Proportion of Variance Explained')\n", - "ax.set_ylim([0,1])\n", - "ax.set_xticks(ticks)" - ] - }, - { - "cell_type": "markdown", - "id": "2ed96395", - "metadata": {}, - "source": [ - "Notice the use of `%%capture`, which suppresses the displaying of the partially completed figure." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "409fb0c6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.033250Z", - "iopub.status.busy": "2023-07-26T05:18:11.033097Z", - "iopub.status.idle": "2023-07-26T05:18:11.153804Z", - "shell.execute_reply": "2023-07-26T05:18:11.153245Z" - } - }, - "outputs": [], - "source": [ - "ax = axes[1]\n", - "ax.plot(ticks,\n", - " pcaUS.explained_variance_ratio_.cumsum(),\n", - " marker='o')\n", - "ax.set_xlabel('Principal Component')\n", - "ax.set_ylabel('Cumulative Proportion of Variance Explained')\n", - "ax.set_ylim([0, 1])\n", - "ax.set_xticks(ticks)\n", - "fig" - ] - }, - { - "cell_type": "markdown", - "id": "496fb6be", - "metadata": {}, - "source": [ - "The result is similar to that shown in Figure 12.3. Note\n", - "that the method `cumsum()` computes the cumulative sum of\n", - "the elements of a numeric vector. For instance:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e563e41b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.157597Z", - "iopub.status.busy": "2023-07-26T05:18:11.157216Z", - "iopub.status.idle": "2023-07-26T05:18:11.162432Z", - "shell.execute_reply": "2023-07-26T05:18:11.162026Z" - } - }, - "outputs": [], - "source": [ - "a = np.array([1,2,8,-3])\n", - "np.cumsum(a)" - ] - }, - { - "cell_type": "markdown", - "id": "6794b1a3", - "metadata": {}, - "source": [ - "## Matrix Completion\n", - "\n", - "We now re-create the analysis carried out on the `USArrests` data in\n", - "Section 12.3.\n", - "\n", - "We saw in Section 12.2.2 that solving the optimization\n", - "problem (12.6) on a centered data matrix $\\bf X$ is\n", - "equivalent to computing the first $M$ principal\n", - "components of the data. We use our scaled\n", - "and centered `USArrests` data as $\\bf X$ below. The *singular value decomposition* \n", - "(SVD) is a general algorithm for solving\n", - "(12.6)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f83ad0bc", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.164364Z", - "iopub.status.busy": "2023-07-26T05:18:11.164225Z", - "iopub.status.idle": "2023-07-26T05:18:11.167031Z", - "shell.execute_reply": "2023-07-26T05:18:11.166724Z" - } - }, - "outputs": [], - "source": [ - "X = USArrests_scaled\n", - "U, D, V = np.linalg.svd(X, full_matrices=False)\n", - "U.shape, D.shape, V.shape" - ] - }, - { - "cell_type": "markdown", - "id": "f9c71e57", - "metadata": {}, - "source": [ - "The `np.linalg.svd()` function returns three components, `U`, `D` and `V`. The matrix `V` is equivalent to the\n", - "loading matrix from principal components (up to an unimportant sign flip). Using the `full_matrices=False` option ensures that\n", - "for a tall matrix the shape of `U` is the same as the shape of `X`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cb9bdc46", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.169269Z", - "iopub.status.busy": "2023-07-26T05:18:11.169096Z", - "iopub.status.idle": "2023-07-26T05:18:11.172167Z", - "shell.execute_reply": "2023-07-26T05:18:11.171624Z" - } - }, - "outputs": [], - "source": [ - "V" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f23c101e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.174404Z", - "iopub.status.busy": "2023-07-26T05:18:11.174265Z", - "iopub.status.idle": "2023-07-26T05:18:11.177096Z", - "shell.execute_reply": "2023-07-26T05:18:11.176712Z" - } - }, - "outputs": [], - "source": [ - "pcaUS.components_" - ] - }, - { - "cell_type": "markdown", - "id": "a5d9e0ae", - "metadata": {}, - "source": [ - "The matrix `U` corresponds to a *standardized* version of the PCA score matrix (each column standardized to have sum-of-squares one). If we multiply each column of `U` by the corresponding element of `D`, we recover the PCA scores exactly (up to a meaningless sign flip)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4cc49622", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.179219Z", - "iopub.status.busy": "2023-07-26T05:18:11.179054Z", - "iopub.status.idle": "2023-07-26T05:18:11.182070Z", - "shell.execute_reply": "2023-07-26T05:18:11.181699Z" - } - }, - "outputs": [], - "source": [ - "(U * D[None,:])[:3]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c96c9fe1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.184051Z", - "iopub.status.busy": "2023-07-26T05:18:11.183934Z", - "iopub.status.idle": "2023-07-26T05:18:11.186945Z", - "shell.execute_reply": "2023-07-26T05:18:11.186473Z" - } - }, - "outputs": [], - "source": [ - "scores[:3]" - ] - }, - { - "cell_type": "markdown", - "id": "6b7002cb", - "metadata": {}, - "source": [ - "While it would be possible to carry out this lab using the `PCA()` estimator,\n", - "here we use the `np.linalg.svd()` function in order to illustrate its use.\n", - "\n", - "We now omit 20 entries in the $50\\times 4$ data matrix at random. We do so\n", - "by first selecting 20 rows (states) at random, and then selecting one\n", - "of the four entries in each row at random. This ensures that every row has\n", - "at least three observed values." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "574409d6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.189376Z", - "iopub.status.busy": "2023-07-26T05:18:11.189199Z", - "iopub.status.idle": "2023-07-26T05:18:11.192254Z", - "shell.execute_reply": "2023-07-26T05:18:11.191873Z" - } - }, - "outputs": [], - "source": [ - "n_omit = 20\n", - "np.random.seed(15)\n", - "r_idx = np.random.choice(np.arange(X.shape[0]),\n", - " n_omit,\n", - " replace=False)\n", - "c_idx = np.random.choice(np.arange(X.shape[1]),\n", - " n_omit,\n", - " replace=True)\n", - "Xna = X.copy()\n", - "Xna[r_idx, c_idx] = np.nan" - ] - }, - { - "cell_type": "markdown", - "id": "fd4a5fdf", - "metadata": {}, - "source": [ - "Here the array `r_idx`\n", - "contains 20 integers from 0 to 49; this represents the states (rows of `X`) that are selected to contain missing values. And `c_idx` contains\n", - "20 integers from 0 to 3, representing the features (columns in `X`) that contain the missing values for each of the selected states.\n", - "\n", - "We now write some code to implement Algorithm 12.1. \n", - "We first write a function that takes in a matrix, and returns an approximation to the matrix using the `svd()` function.\n", - "This will be needed in Step 2 of Algorithm 12.1." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "89f190ae", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.194569Z", - "iopub.status.busy": "2023-07-26T05:18:11.194458Z", - "iopub.status.idle": "2023-07-26T05:18:11.197204Z", - "shell.execute_reply": "2023-07-26T05:18:11.196762Z" - } - }, - "outputs": [], - "source": [ - "def low_rank(X, M=1):\n", - " U, D, V = np.linalg.svd(X)\n", - " L = U[:,:M] * D[None,:M]\n", - " return L.dot(V[:M])" - ] - }, - { - "cell_type": "markdown", - "id": "a04129d0", - "metadata": {}, - "source": [ - "To conduct Step 1 of the algorithm, we initialize `Xhat` --- this is $\\tilde{\\bf X}$ in Algorithm 12.1 --- by replacing\n", - "the missing values with the column means of the non-missing entries. These are stored in\n", - "`Xbar` below after running `np.nanmean()` over the row axis.\n", - "We make a copy so that when we assign values to `Xhat` below we do not also overwrite the\n", - "values in `Xna`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "322f339c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.199355Z", - "iopub.status.busy": "2023-07-26T05:18:11.199208Z", - "iopub.status.idle": "2023-07-26T05:18:11.201784Z", - "shell.execute_reply": "2023-07-26T05:18:11.201348Z" - } - }, - "outputs": [], - "source": [ - "Xhat = Xna.copy()\n", - "Xbar = np.nanmean(Xhat, axis=0)\n", - "Xhat[r_idx, c_idx] = Xbar[c_idx]" - ] - }, - { - "cell_type": "markdown", - "id": "357041e8", - "metadata": {}, - "source": [ - "Before we begin Step 2, we set ourselves up to measure the progress of our\n", - "iterations:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7e106d1a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.204020Z", - "iopub.status.busy": "2023-07-26T05:18:11.203890Z", - "iopub.status.idle": "2023-07-26T05:18:11.206286Z", - "shell.execute_reply": "2023-07-26T05:18:11.205915Z" - } - }, - "outputs": [], - "source": [ - "thresh = 1e-7\n", - "rel_err = 1\n", - "count = 0\n", - "ismiss = np.isnan(Xna)\n", - "mssold = np.mean(Xhat[~ismiss]**2)\n", - "mss0 = np.mean(Xna[~ismiss]**2)" - ] - }, - { - "cell_type": "markdown", - "id": "105ac73f", - "metadata": {}, - "source": [ - "Here `ismiss` is a logical matrix with the same dimensions as `Xna`;\n", - "a given element is `True` if the corresponding matrix element is missing. The notation `~ismiss` negates this boolean vector. This is useful\n", - "because it allows us to access both the missing and non-missing entries. We store the mean of the squared non-missing elements in `mss0`.\n", - "We store the mean squared error of the non-missing elements of the old version of `Xhat` in `mssold` (which currently\n", - "agrees with `mss0`). We plan to store the mean squared error of the non-missing elements of the current version of `Xhat` in `mss`, and will then\n", - "iterate Step 2 of Algorithm 12.1 until the *relative error*, defined as\n", - "`(mssold - mss) / mss0`, falls below `thresh = 1e-7`.\n", - " {Algorithm 12.1 tells us to iterate Step 2 until (12.14) is no longer decreasing. Determining whether (12.14) is decreasing requires us only to keep track of `mssold - mss`. However, in practice, we keep track of `(mssold - mss) / mss0` instead: this makes it so that the number of iterations required for Algorithm 12.1 to converge does not depend on whether we multiplied the raw data $\\bf X$ by a constant factor.}\n", - "\n", - "In Step 2(a) of Algorithm 12.1, we approximate `Xhat` using `low_rank()`; we call this `Xapp`. In Step 2(b), we use `Xapp` to update the estimates for elements in `Xhat` that are missing in `Xna`. Finally, in Step 2(c), we compute the relative error. These three steps are contained in the following `while` loop:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7cb05ce4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.208518Z", - "iopub.status.busy": "2023-07-26T05:18:11.208345Z", - "iopub.status.idle": "2023-07-26T05:18:11.212476Z", - "shell.execute_reply": "2023-07-26T05:18:11.211847Z" - } - }, - "outputs": [], - "source": [ - "while rel_err > thresh:\n", - " count += 1\n", - " # Step 2(a)\n", - " Xapp = low_rank(Xhat, M=1)\n", - " # Step 2(b)\n", - " Xhat[ismiss] = Xapp[ismiss]\n", - " # Step 2(c)\n", - " mss = np.mean(((Xna - Xapp)[~ismiss])**2)\n", - " rel_err = (mssold - mss) / mss0\n", - " mssold = mss\n", - " print(\"Iteration: {0}, MSS:{1:.3f}, Rel.Err {2:.2e}\"\n", - " .format(count, mss, rel_err))" - ] - }, - { - "cell_type": "markdown", - "id": "5cd8edf2", - "metadata": {}, - "source": [ - "We see that after eight iterations, the relative error has fallen below `thresh = 1e-7`, and so the algorithm terminates. When this happens, the mean squared error of the non-missing elements equals 0.381.\n", - "\n", - "Finally, we compute the correlation between the 20 imputed values\n", - "and the actual values:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6f245188", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.214882Z", - "iopub.status.busy": "2023-07-26T05:18:11.214746Z", - "iopub.status.idle": "2023-07-26T05:18:11.217935Z", - "shell.execute_reply": "2023-07-26T05:18:11.217596Z" - } - }, - "outputs": [], - "source": [ - "np.corrcoef(Xapp[ismiss], X[ismiss])[0,1]" - ] - }, - { - "cell_type": "markdown", - "id": "f22444ff", - "metadata": {}, - "source": [ - "In this lab, we implemented Algorithm 12.1 ourselves for didactic purposes. However, a reader who wishes to apply matrix completion to their data might look to more specialized `Python` implementations." - ] - }, - { - "cell_type": "markdown", - "id": "7da441a1", - "metadata": {}, - "source": [ - "## Clustering" - ] - }, - { - "cell_type": "markdown", - "id": "ef4903d6", - "metadata": {}, - "source": [ - "### $K$-Means Clustering\n", - "\n", - "The estimator `sklearn.cluster.KMeans()` performs $K$-means clustering in\n", - "`Python`. We begin with a simple simulated example in which there\n", - "truly are two clusters in the data: the first 25 observations have a\n", - "mean shift relative to the next 25 observations." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "345fb41e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.220117Z", - "iopub.status.busy": "2023-07-26T05:18:11.219983Z", - "iopub.status.idle": "2023-07-26T05:18:11.222355Z", - "shell.execute_reply": "2023-07-26T05:18:11.221948Z" - } - }, - "outputs": [], - "source": [ - "np.random.seed(0);\n", - "X = np.random.standard_normal((50,2));\n", - "X[:25,0] += 3;\n", - "X[:25,1] -= 4;" - ] - }, - { - "cell_type": "markdown", - "id": "6ed3587f", - "metadata": {}, - "source": [ - "We now perform $K$-means clustering with $K=2$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3a8c21a2", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.224388Z", - "iopub.status.busy": "2023-07-26T05:18:11.224258Z", - "iopub.status.idle": "2023-07-26T05:18:11.262343Z", - "shell.execute_reply": "2023-07-26T05:18:11.261799Z" - } - }, - "outputs": [], - "source": [ - "kmeans = KMeans(n_clusters=2,\n", - " random_state=2,\n", - " n_init=20).fit(X)" - ] - }, - { - "cell_type": "markdown", - "id": "df4fb0eb", - "metadata": {}, - "source": [ - "We specify `random_state` to make the results reproducible. The cluster assignments of the 50 observations are contained in `kmeans.labels_`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e3e35b5d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.265599Z", - "iopub.status.busy": "2023-07-26T05:18:11.265438Z", - "iopub.status.idle": "2023-07-26T05:18:11.268983Z", - "shell.execute_reply": "2023-07-26T05:18:11.268283Z" - } - }, - "outputs": [], - "source": [ - "kmeans.labels_" - ] - }, - { - "cell_type": "markdown", - "id": "6632fa4c", - "metadata": {}, - "source": [ - "The $K$-means clustering perfectly separated the observations into two\n", - "clusters even though we did not supply any group information to\n", - "`KMeans()`. We can plot the data, with each observation\n", - "colored according to its cluster assignment." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d928650a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.271491Z", - "iopub.status.busy": "2023-07-26T05:18:11.271353Z", - "iopub.status.idle": "2023-07-26T05:18:11.409914Z", - "shell.execute_reply": "2023-07-26T05:18:11.409365Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = plt.subplots(1, 1, figsize=(8,8))\n", - "ax.scatter(X[:,0], X[:,1], c=kmeans.labels_)\n", - "ax.set_title(\"K-Means Clustering Results with K=2\");" - ] - }, - { - "cell_type": "markdown", - "id": "1f6a6d01", - "metadata": {}, - "source": [ - "Here the observations can be easily plotted because they are\n", - "two-dimensional. If there were more than two variables then we could\n", - "instead perform PCA and plot the first two principal component score\n", - "vectors to represent the clusters.\n", - "\n", - "In this example, we knew that there really\n", - "were two clusters because we generated the data. However, for real\n", - "data, we do not know the true number of clusters, nor whether they exist in any precise way. We could\n", - "instead have performed $K$-means clustering on this example with\n", - "$K=3$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "92e5175c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.412487Z", - "iopub.status.busy": "2023-07-26T05:18:11.412250Z", - "iopub.status.idle": "2023-07-26T05:18:11.548124Z", - "shell.execute_reply": "2023-07-26T05:18:11.547642Z" - } - }, - "outputs": [], - "source": [ - "kmeans = KMeans(n_clusters=3,\n", - " random_state=3,\n", - " n_init=20).fit(X)\n", - "fig, ax = plt.subplots(figsize=(8,8))\n", - "ax.scatter(X[:,0], X[:,1], c=kmeans.labels_)\n", - "ax.set_title(\"K-Means Clustering Results with K=3\");" - ] - }, - { - "cell_type": "markdown", - "id": "82317a30", - "metadata": {}, - "source": [ - "When $K=3$, $K$-means clustering splits up the two clusters.\n", - "We have used the `n_init` argument to run the $K$-means with 20 \n", - "initial cluster assignments (the default is 10). If a\n", - "value of `n_init` greater than one is used, then $K$-means\n", - "clustering will be performed using multiple random assignments in\n", - "Step 1 of Algorithm 12.2, and the `KMeans()` \n", - "function will report only the best results. Here we compare using\n", - "`n_init=1` to `n_init=20`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4911ecc7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.551298Z", - "iopub.status.busy": "2023-07-26T05:18:11.551122Z", - "iopub.status.idle": "2023-07-26T05:18:11.570392Z", - "shell.execute_reply": "2023-07-26T05:18:11.569843Z" - } - }, - "outputs": [], - "source": [ - "kmeans1 = KMeans(n_clusters=3,\n", - " random_state=3,\n", - " n_init=1).fit(X)\n", - "kmeans20 = KMeans(n_clusters=3,\n", - " random_state=3,\n", - " n_init=20).fit(X);\n", - "kmeans1.inertia_, kmeans20.inertia_" - ] - }, - { - "cell_type": "markdown", - "id": "96e6df1f", - "metadata": {}, - "source": [ - "Note that `kmeans.inertia_` is the total within-cluster sum\n", - "of squares, which we seek to minimize by performing $K$-means\n", - "clustering (12.17). \n", - "\n", - "We *strongly* recommend always running $K$-means clustering with\n", - "a large value of `n_init`, such as 20 or 50, since otherwise an\n", - "undesirable local optimum may be obtained.\n", - "\n", - "When performing $K$-means clustering, in addition to using multiple\n", - "initial cluster assignments, it is also important to set a random seed\n", - "using the `random_state` argument to `KMeans()`. This way, the initial\n", - "cluster assignments in Step 1 can be replicated, and the $K$-means\n", - "output will be fully reproducible." - ] - }, - { - "cell_type": "markdown", - "id": "904ea858", - "metadata": {}, - "source": [ - "### Hierarchical Clustering\n", - "\n", - "The `AgglomerativeClustering()` class from\n", - "the `sklearn.clustering` package implements hierarchical clustering.\n", - "As its\n", - "name is long, we use the short hand `HClust` for *hierarchical clustering*. Note that this will not change the return type\n", - "when using this method, so instances will still be of class `AgglomerativeClustering`.\n", - "In the following example we use the data from the previous lab to plot the hierarchical clustering\n", - "dendrogram using complete, single, and average linkage clustering\n", - "with Euclidean distance as the dissimilarity measure. We begin by\n", - "clustering observations using complete linkage." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1b42a700", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.573065Z", - "iopub.status.busy": "2023-07-26T05:18:11.572885Z", - "iopub.status.idle": "2023-07-26T05:18:11.577747Z", - "shell.execute_reply": "2023-07-26T05:18:11.577317Z" - } - }, - "outputs": [], - "source": [ - "HClust = AgglomerativeClustering\n", - "hc_comp = HClust(distance_threshold=0,\n", - " n_clusters=None,\n", - " linkage='complete')\n", - "hc_comp.fit(X)" - ] - }, - { - "cell_type": "markdown", - "id": "22199f4d", - "metadata": {}, - "source": [ - "This computes the entire dendrogram.\n", - "We could just as easily perform hierarchical clustering with average or single linkage instead:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "50ef7eea", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.580226Z", - "iopub.status.busy": "2023-07-26T05:18:11.580003Z", - "iopub.status.idle": "2023-07-26T05:18:11.583835Z", - "shell.execute_reply": "2023-07-26T05:18:11.583381Z" - } - }, - "outputs": [], - "source": [ - "hc_avg = HClust(distance_threshold=0,\n", - " n_clusters=None,\n", - " linkage='average');\n", - "hc_avg.fit(X)\n", - "hc_sing = HClust(distance_threshold=0,\n", - " n_clusters=None,\n", - " linkage='single');\n", - "hc_sing.fit(X);" - ] - }, - { - "cell_type": "markdown", - "id": "7e8db256", - "metadata": {}, - "source": [ - "To use a precomputed distance matrix, we provide an additional\n", - "argument `metric=\"precomputed\"`. In the code below, the first four lines computes the $50\\times 50$ pairwise-distance matrix." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bf7a2408", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.586413Z", - "iopub.status.busy": "2023-07-26T05:18:11.586258Z", - "iopub.status.idle": "2023-07-26T05:18:11.591990Z", - "shell.execute_reply": "2023-07-26T05:18:11.591553Z" - } - }, - "outputs": [], - "source": [ - "D = np.zeros((X.shape[0], X.shape[0]));\n", - "for i in range(X.shape[0]):\n", - " x_ = np.multiply.outer(np.ones(X.shape[0]), X[i])\n", - " D[i] = np.sqrt(np.sum((X - x_)**2, 1));\n", - "hc_sing_pre = HClust(distance_threshold=0,\n", - " n_clusters=None,\n", - " metric='precomputed',\n", - " linkage='single')\n", - "hc_sing_pre.fit(D)" - ] - }, - { - "cell_type": "markdown", - "id": "8cd7fb7c", - "metadata": {}, - "source": [ - "We use\n", - "`dendrogram()` from `scipy.cluster.hierarchy` to plot the dendrogram. However,\n", - "`dendrogram()` expects a so-called *linkage-matrix representation*\n", - "of the clustering, which is not provided by `AgglomerativeClustering()`,\n", - "but can be computed. The function `compute_linkage()` in the\n", - "`ISLP.cluster` package is provided for this purpose.\n", - "\n", - "We can now plot the dendrograms. The numbers at the bottom of the plot\n", - "identify each observation. The `dendrogram()` function has a default method to\n", - "color different branches of the tree that suggests a pre-defined cut of the tree at a particular depth.\n", - "We prefer to overwrite this default by setting this threshold to be infinite. Since we want this behavior for many dendrograms, we store these values in a dictionary `cargs` and pass this as keyword arguments using the notation `**cargs`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a118c0ab", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.595666Z", - "iopub.status.busy": "2023-07-26T05:18:11.595400Z", - "iopub.status.idle": "2023-07-26T05:18:11.876074Z", - "shell.execute_reply": "2023-07-26T05:18:11.875555Z" - } - }, - "outputs": [], - "source": [ - "cargs = {'color_threshold':-np.inf,\n", - " 'above_threshold_color':'black'}\n", - "linkage_comp = compute_linkage(hc_comp)\n", - "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", - "dendrogram(linkage_comp,\n", - " ax=ax,\n", - " **cargs);" - ] - }, - { - "cell_type": "markdown", - "id": "a325a001", - "metadata": {}, - "source": [ - "We may want to color branches of the tree above\n", - "and below a cut-threshold differently. This can be achieved\n", - "by changing the `color_threshold`. Let’s cut the tree at a height of 4,\n", - "coloring links that merge above 4 in black." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b1ff41c0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:11.878711Z", - "iopub.status.busy": "2023-07-26T05:18:11.878497Z", - "iopub.status.idle": "2023-07-26T05:18:12.156685Z", - "shell.execute_reply": "2023-07-26T05:18:12.156217Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", - "dendrogram(linkage_comp,\n", - " ax=ax,\n", - " color_threshold=4,\n", - " above_threshold_color='black');" - ] - }, - { - "cell_type": "markdown", - "id": "e774708c", - "metadata": {}, - "source": [ - "To determine the cluster labels for each observation associated with a\n", - "given cut of the dendrogram, we can use the `cut_tree()` \n", - "function from `scipy.cluster.hierarchy`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c2752a96", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:12.159239Z", - "iopub.status.busy": "2023-07-26T05:18:12.159059Z", - "iopub.status.idle": "2023-07-26T05:18:12.163542Z", - "shell.execute_reply": "2023-07-26T05:18:12.163127Z" - } - }, - "outputs": [], - "source": [ - "cut_tree(linkage_comp, n_clusters=4).T" - ] - }, - { - "cell_type": "markdown", - "id": "d501d220", - "metadata": {}, - "source": [ - "This can also be achieved by providing an argument `n_clusters`\n", - "to `HClust()`; however each cut would require recomputing\n", - "the clustering. Similarly, trees may be cut by distance threshold\n", - "with an argument of `distance_threshold` to `HClust()`\n", - "or `height` to `cut_tree()`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1407f7a4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:12.165971Z", - "iopub.status.busy": "2023-07-26T05:18:12.165813Z", - "iopub.status.idle": "2023-07-26T05:18:12.170809Z", - "shell.execute_reply": "2023-07-26T05:18:12.170332Z" - } - }, - "outputs": [], - "source": [ - "cut_tree(linkage_comp, height=5)" - ] - }, - { - "cell_type": "markdown", - "id": "469bbad6", - "metadata": {}, - "source": [ - "To scale the variables before performing hierarchical clustering of\n", - "the observations, we use `StandardScaler()` as in our PCA example:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2d74f224", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:12.173359Z", - "iopub.status.busy": "2023-07-26T05:18:12.173198Z", - "iopub.status.idle": "2023-07-26T05:18:12.457460Z", - "shell.execute_reply": "2023-07-26T05:18:12.457026Z" - } - }, - "outputs": [], - "source": [ - "scaler = StandardScaler()\n", - "X_scale = scaler.fit_transform(X)\n", - "hc_comp_scale = HClust(distance_threshold=0,\n", - " n_clusters=None,\n", - " linkage='complete').fit(X_scale)\n", - "linkage_comp_scale = compute_linkage(hc_comp_scale)\n", - "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", - "dendrogram(linkage_comp_scale, ax=ax, **cargs)\n", - "ax.set_title(\"Hierarchical Clustering with Scaled Features\");" - ] - }, - { - "cell_type": "markdown", - "id": "3caaa1a5", - "metadata": {}, - "source": [ - "Correlation-based distances between observations can be used for\n", - "clustering. The correlation between two observations measures the\n", - "similarity of their feature values. {Suppose each observation has\n", - " $p$ features, each a single numerical value. We measure the\n", - " similarity of two such observations by computing the\n", - " correlation of these $p$ pairs of numbers.}\n", - "With $n$ observations, the $n\\times n$ correlation matrix can then be used as a similarity (or affinity) matrix, i.e. so that one minus the correlation matrix is the dissimilarity matrix used for clustering.\n", - "\n", - "Note that using correlation only makes sense for\n", - "data with at least three features since the absolute correlation\n", - "between any two observations with measurements on two features is\n", - "always one. Hence, we will cluster a three-dimensional data set." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b7f7da12", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:12.461207Z", - "iopub.status.busy": "2023-07-26T05:18:12.460949Z", - "iopub.status.idle": "2023-07-26T05:18:12.680696Z", - "shell.execute_reply": "2023-07-26T05:18:12.680192Z" - } - }, - "outputs": [], - "source": [ - "X = np.random.standard_normal((30, 3))\n", - "corD = 1 - np.corrcoef(X)\n", - "hc_cor = HClust(linkage='complete',\n", - " distance_threshold=0,\n", - " n_clusters=None,\n", - " metric='precomputed')\n", - "hc_cor.fit(corD)\n", - "linkage_cor = compute_linkage(hc_cor)\n", - "fig, ax = plt.subplots(1, 1, figsize=(8, 8))\n", - "dendrogram(linkage_cor, ax=ax, **cargs)\n", - "ax.set_title(\"Complete Linkage with Correlation-Based Dissimilarity\");" - ] - }, - { - "cell_type": "markdown", - "id": "5b00804e", - "metadata": {}, - "source": [ - "## NCI60 Data Example\n", - "Unsupervised techniques are often used in the analysis of genomic\n", - "data. In particular, PCA and hierarchical clustering are popular\n", - "tools. We illustrate these techniques on the `NCI60` cancer cell line\n", - "microarray data, which consists of 6830 gene expression\n", - "measurements on 64 cancer cell lines." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b94424fc", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:12.683099Z", - "iopub.status.busy": "2023-07-26T05:18:12.682918Z", - "iopub.status.idle": "2023-07-26T05:18:12.688821Z", - "shell.execute_reply": "2023-07-26T05:18:12.688474Z" - } - }, - "outputs": [], - "source": [ - "NCI60 = load_data('NCI60')\n", - "nci_labs = NCI60['labels']\n", - "nci_data = NCI60['data']" - ] - }, - { - "cell_type": "markdown", - "id": "7313fea6", - "metadata": {}, - "source": [ - "Each cell line is labeled with a cancer type. We do not make use of\n", - "the cancer types in performing PCA and clustering, as these are\n", - "unsupervised techniques. But after performing PCA and clustering, we\n", - "will check to see the extent to which these cancer types agree with\n", - "the results of these unsupervised techniques.\n", - "\n", - "The data has 64 rows and 6830 columns." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cea54566", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:12.691075Z", - "iopub.status.busy": "2023-07-26T05:18:12.690934Z", - "iopub.status.idle": "2023-07-26T05:18:12.693705Z", - "shell.execute_reply": "2023-07-26T05:18:12.693319Z" - } - }, - "outputs": [], - "source": [ - "nci_data.shape" - ] - }, - { - "cell_type": "markdown", - "id": "6ebf27f1", - "metadata": {}, - "source": [ - "We begin by examining the cancer types for the cell lines." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4dac41bb", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:12.695954Z", - "iopub.status.busy": "2023-07-26T05:18:12.695815Z", - "iopub.status.idle": "2023-07-26T05:18:12.700521Z", - "shell.execute_reply": "2023-07-26T05:18:12.700074Z" - } - }, - "outputs": [], - "source": [ - "nci_labs.value_counts()" - ] - }, - { - "cell_type": "markdown", - "id": "8f16f96a", - "metadata": {}, - "source": [ - "### PCA on the NCI60 Data\n", - "\n", - "We first perform PCA on the data after scaling the variables (genes)\n", - "to have standard deviation one, although here one could reasonably argue\n", - "that it is better not to scale the genes as they are measured in the same units." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d8ebadd6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:12.702785Z", - "iopub.status.busy": "2023-07-26T05:18:12.702646Z", - "iopub.status.idle": "2023-07-26T05:18:12.866311Z", - "shell.execute_reply": "2023-07-26T05:18:12.856469Z" - } - }, - "outputs": [], - "source": [ - "scaler = StandardScaler()\n", - "nci_scaled = scaler.fit_transform(nci_data)\n", - "nci_pca = PCA()\n", - "nci_scores = nci_pca.fit_transform(nci_scaled)" - ] - }, - { - "cell_type": "markdown", - "id": "8a8c9932", - "metadata": {}, - "source": [ - "We now plot the first few principal component score vectors, in order\n", - "to visualize the data. The observations (cell lines) corresponding to\n", - "a given cancer type will be plotted in the same color, so that we can\n", - "see to what extent the observations within a cancer type are similar\n", - "to each other." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "63b5efe3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:12.882679Z", - "iopub.status.busy": "2023-07-26T05:18:12.878318Z", - "iopub.status.idle": "2023-07-26T05:18:13.099177Z", - "shell.execute_reply": "2023-07-26T05:18:13.098712Z" - } - }, - "outputs": [], - "source": [ - "cancer_types = list(np.unique(nci_labs))\n", - "nci_groups = np.array([cancer_types.index(lab)\n", - " for lab in nci_labs.values])\n", - "fig, axes = plt.subplots(1, 2, figsize=(15,6))\n", - "ax = axes[0]\n", - "ax.scatter(nci_scores[:,0],\n", - " nci_scores[:,1],\n", - " c=nci_groups,\n", - " marker='o',\n", - " s=50)\n", - "ax.set_xlabel('PC1'); ax.set_ylabel('PC2')\n", - "ax = axes[1]\n", - "ax.scatter(nci_scores[:,0],\n", - " nci_scores[:,2],\n", - " c=nci_groups,\n", - " marker='o',\n", - " s=50)\n", - "ax.set_xlabel('PC1'); ax.set_ylabel('PC3');" - ] - }, - { - "cell_type": "markdown", - "id": "87b33a9c", - "metadata": {}, - "source": [ - "On the whole, cell lines corresponding to a single cancer type do tend to\n", - "have similar values on the first few principal component score\n", - "vectors. This indicates that cell lines from the same cancer type tend\n", - "to have pretty similar gene expression levels." - ] - }, - { - "cell_type": "markdown", - "id": "890fdb54", - "metadata": {}, - "source": [ - "We can also plot the percent variance\n", - "explained by the principal components as well as the cumulative percent variance explained.\n", - "This is similar to the plots we made earlier for the `USArrests` data." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e20c3cc1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:13.101683Z", - "iopub.status.busy": "2023-07-26T05:18:13.101534Z", - "iopub.status.idle": "2023-07-26T05:18:13.327522Z", - "shell.execute_reply": "2023-07-26T05:18:13.327041Z" - } - }, - "outputs": [], - "source": [ - "fig, axes = plt.subplots(1, 2, figsize=(15,6))\n", - "ax = axes[0]\n", - "ticks = np.arange(nci_pca.n_components_)+1\n", - "ax.plot(ticks,\n", - " nci_pca.explained_variance_ratio_,\n", - " marker='o')\n", - "ax.set_xlabel('Principal Component');\n", - "ax.set_ylabel('PVE')\n", - "ax = axes[1]\n", - "ax.plot(ticks,\n", - " nci_pca.explained_variance_ratio_.cumsum(),\n", - " marker='o');\n", - "ax.set_xlabel('Principal Component')\n", - "ax.set_ylabel('Cumulative PVE');" - ] - }, - { - "cell_type": "markdown", - "id": "cb6eb4f8", - "metadata": {}, - "source": [ - "We see that together, the first seven principal components explain\n", - "around 40% of the variance in the data. This is not a huge amount\n", - "of the variance. However, looking at the scree plot, we see that while\n", - "each of the first seven principal components explain a substantial\n", - "amount of variance, there is a marked decrease in the variance\n", - "explained by further principal components. That is, there is an\n", - "*elbow* in the plot after approximately the seventh\n", - "principal component. This suggests that there may be little benefit\n", - "to examining more than seven or so principal components (though even\n", - "examining seven principal components may be difficult)." - ] - }, - { - "cell_type": "markdown", - "id": "8962791f", - "metadata": {}, - "source": [ - "### Clustering the Observations of the NCI60 Data\n", - "\n", - "We now perform hierarchical clustering of the cell lines in the `NCI60` data using\n", - "complete, single, and average linkage. Once again, the goal is to find out whether or not the observations cluster into distinct types of cancer. Euclidean\n", - "distance is used as the dissimilarity measure. We first write a short\n", - "function to produce\n", - "the three dendrograms." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "622de805", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:13.330190Z", - "iopub.status.busy": "2023-07-26T05:18:13.330013Z", - "iopub.status.idle": "2023-07-26T05:18:13.332964Z", - "shell.execute_reply": "2023-07-26T05:18:13.332533Z" - } - }, - "outputs": [], - "source": [ - "def plot_nci(linkage, ax, cut=-np.inf):\n", - " cargs = {'above_threshold_color':'black',\n", - " 'color_threshold':cut}\n", - " hc = HClust(n_clusters=None,\n", - " distance_threshold=0,\n", - " linkage=linkage.lower()).fit(nci_scaled)\n", - " linkage_ = compute_linkage(hc)\n", - " dendrogram(linkage_,\n", - " ax=ax,\n", - " labels=np.asarray(nci_labs),\n", - " leaf_font_size=10,\n", - " **cargs)\n", - " ax.set_title('%s Linkage' % linkage)\n", - " return hc" - ] - }, - { - "cell_type": "markdown", - "id": "9cf5f836", - "metadata": {}, - "source": [ - "Let’s plot our results." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "54d40449", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:13.336193Z", - "iopub.status.busy": "2023-07-26T05:18:13.335972Z", - "iopub.status.idle": "2023-07-26T05:18:14.886877Z", - "shell.execute_reply": "2023-07-26T05:18:14.886190Z" - } - }, - "outputs": [], - "source": [ - "fig, axes = plt.subplots(3, 1, figsize=(15,30)) \n", - "ax = axes[0]; hc_comp = plot_nci('Complete', ax)\n", - "ax = axes[1]; hc_avg = plot_nci('Average', ax)\n", - "ax = axes[2]; hc_sing = plot_nci('Single', ax)" - ] - }, - { - "cell_type": "markdown", - "id": "1703afbb", - "metadata": {}, - "source": [ - "We see that the\n", - "choice of linkage certainly does affect the results\n", - "obtained. Typically, single linkage will tend to yield *trailing*\n", - "clusters: very large clusters onto which individual observations\n", - "attach one-by-one. On the other hand, complete and average linkage\n", - "tend to yield more balanced, attractive clusters. For this reason,\n", - "complete and average linkage are generally preferred to single\n", - "linkage. Clearly cell lines within a single cancer type do tend to\n", - "cluster together, although the clustering is not perfect. We will use\n", - "complete linkage hierarchical clustering for the analysis that\n", - "follows.\n", - "\n", - "We can cut the dendrogram at the height that will yield a particular\n", - "number of clusters, say four:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "dc80afc8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:14.891531Z", - "iopub.status.busy": "2023-07-26T05:18:14.890910Z", - "iopub.status.idle": "2023-07-26T05:18:14.903469Z", - "shell.execute_reply": "2023-07-26T05:18:14.903077Z" - } - }, - "outputs": [], - "source": [ - "linkage_comp = compute_linkage(hc_comp)\n", - "comp_cut = cut_tree(linkage_comp, n_clusters=4).reshape(-1)\n", - "pd.crosstab(nci_labs['label'],\n", - " pd.Series(comp_cut.reshape(-1), name='Complete'))" - ] - }, - { - "cell_type": "markdown", - "id": "d8ecae69", - "metadata": {}, - "source": [ - "There are some clear patterns. All the leukemia cell lines fall in\n", - "one cluster, while the breast cancer cell lines are spread out over\n", - "three different clusters.\n", - "\n", - "We can plot a cut on the dendrogram that produces these four clusters:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "40ff59f9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:14.905992Z", - "iopub.status.busy": "2023-07-26T05:18:14.905760Z", - "iopub.status.idle": "2023-07-26T05:18:15.399751Z", - "shell.execute_reply": "2023-07-26T05:18:15.399237Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = plt.subplots(figsize=(10,10))\n", - "plot_nci('Complete', ax, cut=140)\n", - "ax.axhline(140, c='r', linewidth=4);" - ] - }, - { - "cell_type": "markdown", - "id": "1c03368c", - "metadata": {}, - "source": [ - "The `axhline()` function draws a horizontal line line on top of any\n", - "existing set of axes. The argument `140` plots a horizontal\n", - "line at height 140 on the dendrogram; this is a height that\n", - "results in four distinct clusters. It is easy to verify that the\n", - "resulting clusters are the same as the ones we obtained in\n", - "`comp_cut`.\n", - "\n", - "We claimed earlier in Section 12.4.2 that\n", - "$K$-means clustering and hierarchical clustering with the dendrogram\n", - "cut to obtain the same number of clusters can yield very different\n", - "results. How do these `NCI60` hierarchical clustering results compare\n", - "to what we get if we perform $K$-means clustering with $K=4$?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1587e83b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:15.401922Z", - "iopub.status.busy": "2023-07-26T05:18:15.401768Z", - "iopub.status.idle": "2023-07-26T05:18:17.931480Z", - "shell.execute_reply": "2023-07-26T05:18:17.924183Z" - } - }, - "outputs": [], - "source": [ - "nci_kmeans = KMeans(n_clusters=4, \n", - " random_state=0,\n", - " n_init=20).fit(nci_scaled)\n", - "pd.crosstab(pd.Series(comp_cut, name='HClust'),\n", - " pd.Series(nci_kmeans.labels_, name='K-means'))" - ] - }, - { - "cell_type": "markdown", - "id": "b49c4a73", - "metadata": {}, - "source": [ - "We see that the four clusters obtained using hierarchical clustering\n", - "and $K$-means clustering are somewhat different. First we note\n", - "that the labels in the two clusterings are arbitrary. That is, swapping\n", - "the identifier of the cluster does not\n", - "change the clustering. We see here Cluster 3 in\n", - "$K$-means clustering is identical to cluster 2 in hierarchical\n", - "clustering. However, the other clusters differ: for instance,\n", - "cluster 0 in $K$-means clustering contains a portion of the\n", - "observations assigned to cluster 0 by hierarchical clustering, as well\n", - "as all of the observations assigned to cluster 1 by hierarchical\n", - "clustering.\n", - "\n", - "Rather than performing hierarchical clustering on the entire data\n", - "matrix, we can also perform hierarchical clustering on the first few\n", - "principal component score vectors, regarding these first few components\n", - "as a less noisy version of the data." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b09ceeab", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:17.955945Z", - "iopub.status.busy": "2023-07-26T05:18:17.954718Z", - "iopub.status.idle": "2023-07-26T05:18:18.488264Z", - "shell.execute_reply": "2023-07-26T05:18:18.487809Z" - } - }, - "outputs": [], - "source": [ - "hc_pca = HClust(n_clusters=None,\n", - " distance_threshold=0,\n", - " linkage='complete'\n", - " ).fit(nci_scores[:,:5])\n", - "linkage_pca = compute_linkage(hc_pca)\n", - "fig, ax = plt.subplots(figsize=(8,8))\n", - "dendrogram(linkage_pca,\n", - " labels=np.asarray(nci_labs),\n", - " leaf_font_size=10,\n", - " ax=ax,\n", - " **cargs)\n", - "ax.set_title(\"Hier. Clust. on First Five Score Vectors\")\n", - "pca_labels = pd.Series(cut_tree(linkage_pca,\n", - " n_clusters=4).reshape(-1),\n", - " name='Complete-PCA')\n", - "pd.crosstab(nci_labs['label'], pca_labels)" - ] - } - ], - "metadata": { - "jupytext": { - "cell_metadata_filter": "-all", - "formats": "ipynb,md:myst", - "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/source/labs/Ch13-multiple-lab.ipynb b/docs/source/labs/Ch13-multiple-lab.ipynb deleted file mode 100644 index f86882c..0000000 --- a/docs/source/labs/Ch13-multiple-lab.ipynb +++ /dev/null @@ -1,1150 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "75b2d75c", - "metadata": {}, - "source": [ - "# Multiple Testing\n", - "\n", - "\n", - " \"Open\n", - "\n", - "" - ] - }, - { - "cell_type": "markdown", - "id": "34e410a6", - "metadata": {}, - "source": [ - "We include our usual imports seen in earlier labs." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1f928b2d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:21.791802Z", - "iopub.status.busy": "2023-07-26T10:52:21.791660Z", - "iopub.status.idle": "2023-07-26T10:52:23.360588Z", - "shell.execute_reply": "2023-07-26T10:52:23.359991Z" - } - }, - "outputs": [], - "source": [ - "import numpy as np\n", - "import pandas as pd\n", - "import matplotlib.pyplot as plt\n", - "import statsmodels.api as sm\n", - "from ISLP import load_data" - ] - }, - { - "cell_type": "markdown", - "id": "12319e0a", - "metadata": {}, - "source": [ - "We also collect the new imports\n", - "needed for this lab." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "eb4b32aa", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:23.363356Z", - "iopub.status.busy": "2023-07-26T10:52:23.362843Z", - "iopub.status.idle": "2023-07-26T10:52:23.365980Z", - "shell.execute_reply": "2023-07-26T10:52:23.365438Z" - } - }, - "outputs": [], - "source": [ - "from scipy.stats import \\\n", - " (ttest_1samp,\n", - " ttest_rel,\n", - " ttest_ind,\n", - " t as t_dbn)\n", - "from statsmodels.stats.multicomp import \\\n", - " pairwise_tukeyhsd\n", - "from statsmodels.stats.multitest import \\\n", - " multipletests as mult_test" - ] - }, - { - "cell_type": "markdown", - "id": "a2747e58", - "metadata": {}, - "source": [ - "## Review of Hypothesis Tests\n", - "We begin by performing some one-sample $t$-tests.\n", - "\n", - "First we create 100 variables, each consisting of 10 observations. The\n", - "first 50 variables have mean $0.5$ and variance $1$, while the others\n", - "have mean $0$ and variance $1$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e12ac0cd", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:23.368340Z", - "iopub.status.busy": "2023-07-26T10:52:23.368164Z", - "iopub.status.idle": "2023-07-26T10:52:23.371202Z", - "shell.execute_reply": "2023-07-26T10:52:23.370779Z" - } - }, - "outputs": [], - "source": [ - "rng = np.random.default_rng(12)\n", - "X = rng.standard_normal((10, 100))\n", - "true_mean = np.array([0.5]*50 + [0]*50)\n", - "X += true_mean[None,:]" - ] - }, - { - "cell_type": "markdown", - "id": "70d37233", - "metadata": {}, - "source": [ - "To begin, we use `ttest_1samp()` from the\n", - "`scipy.stats` module to test $H_{0}: \\mu_1=0$, the null\n", - "hypothesis that the first variable has mean zero." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "04d0f49e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:23.373512Z", - "iopub.status.busy": "2023-07-26T10:52:23.373319Z", - "iopub.status.idle": "2023-07-26T10:52:23.378383Z", - "shell.execute_reply": "2023-07-26T10:52:23.377960Z" - } - }, - "outputs": [], - "source": [ - "result = ttest_1samp(X[:,0], 0)\n", - "result.pvalue" - ] - }, - { - "cell_type": "markdown", - "id": "cf83426f", - "metadata": {}, - "source": [ - "The $p$-value comes out to 0.931, which is not low enough to\n", - "reject the null hypothesis at level $\\alpha=0.05$. In this case,\n", - "$\\mu_1=0.5$, so the null hypothesis is false. Therefore, we have made\n", - "a Type II error by failing to reject the null hypothesis when the null\n", - "hypothesis is false. \n", - "\n", - "We now test $H_{0,j}: \\mu_j=0$ for $j=1,\\ldots,100$. We compute the\n", - "100 $p$-values, and then construct a vector recording whether the\n", - "$j$th $p$-value is less than or equal to 0.05, in which case we reject\n", - "$H_{0j}$, or greater than 0.05, in which case we do not reject\n", - "$H_{0j}$, for $j=1,\\ldots,100$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d1f0c695", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:23.380819Z", - "iopub.status.busy": "2023-07-26T10:52:23.380641Z", - "iopub.status.idle": "2023-07-26T10:52:23.408797Z", - "shell.execute_reply": "2023-07-26T10:52:23.408278Z" - } - }, - "outputs": [], - "source": [ - "p_values = np.empty(100)\n", - "for i in range(100):\n", - " p_values[i] = ttest_1samp(X[:,i], 0).pvalue\n", - "decision = pd.cut(p_values,\n", - " [0, 0.05, 1],\n", - " labels=['Reject H0',\n", - " 'Do not reject H0'])\n", - "truth = pd.Categorical(true_mean == 0,\n", - " categories=[True, False],\n", - " ordered=True)" - ] - }, - { - "cell_type": "markdown", - "id": "3d8e0d96", - "metadata": {}, - "source": [ - "Since this is a simulated data set, we can create a $2 \\times 2$ table\n", - "similar to Table 13.2." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7a9594a0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:23.411256Z", - "iopub.status.busy": "2023-07-26T10:52:23.411053Z", - "iopub.status.idle": "2023-07-26T10:52:23.422652Z", - "shell.execute_reply": "2023-07-26T10:52:23.422286Z" - } - }, - "outputs": [], - "source": [ - "pd.crosstab(decision,\n", - " truth,\n", - " rownames=['Decision'],\n", - " colnames=['H0'])" - ] - }, - { - "cell_type": "markdown", - "id": "9610c817", - "metadata": {}, - "source": [ - "Therefore, at level $\\alpha=0.05$, we reject 15 of the 50 false\n", - "null hypotheses, and we incorrectly reject 5 of the true null\n", - "hypotheses. Using the notation from Section 13.3, we have\n", - "$V=5$, $S=15$, $U=45$ and $W=35$.\n", - "We have set $\\alpha=0.05$, which means that we expect to reject around\n", - "5% of the true null hypotheses. This is in line with the $2 \\times 2$\n", - "table above, which indicates that we rejected $V=5$ of the $50$ true\n", - "null hypotheses.\n", - "\n", - "In the simulation above, for the false null hypotheses, the ratio of\n", - "the mean to the standard deviation was only $0.5/1 = 0.5$. This\n", - "amounts to quite a weak signal, and it resulted in a high number of\n", - "Type II errors. Let’s instead simulate data with a stronger signal,\n", - "so that the ratio of the mean to the standard deviation for the false\n", - "null hypotheses equals $1$. We make only 10 Type II errors." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "25f7fc5d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:23.425157Z", - "iopub.status.busy": "2023-07-26T10:52:23.424798Z", - "iopub.status.idle": "2023-07-26T10:52:23.455752Z", - "shell.execute_reply": "2023-07-26T10:52:23.455052Z" - } - }, - "outputs": [], - "source": [ - "true_mean = np.array([1]*50 + [0]*50)\n", - "X = rng.standard_normal((10, 100))\n", - "X += true_mean[None,:]\n", - "for i in range(100):\n", - " p_values[i] = ttest_1samp(X[:,i], 0).pvalue\n", - "decision = pd.cut(p_values,\n", - " [0, 0.05, 1],\n", - " labels=['Reject H0',\n", - " 'Do not reject H0'])\n", - "truth = pd.Categorical(true_mean == 0,\n", - " categories=[True, False],\n", - " ordered=True)\n", - "pd.crosstab(decision,\n", - " truth,\n", - " rownames=['Decision'],\n", - " colnames=['H0'])" - ] - }, - { - "cell_type": "markdown", - "id": "f6953d33", - "metadata": {}, - "source": [ - "## Family-Wise Error Rate\n", - "Recall from (13.5) that if the null hypothesis is true\n", - "for each of $m$ independent hypothesis tests, then the FWER is equal\n", - "to $1-(1-\\alpha)^m$. We can use this expression to compute the FWER\n", - "for $m=1,\\ldots, 500$ and $\\alpha=0.05$, $0.01$, and $0.001$.\n", - "We plot the FWER for these values of $\\alpha$ in order to\n", - "reproduce Figure 13.2." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "369b5bd3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:23.458631Z", - "iopub.status.busy": "2023-07-26T10:52:23.458434Z", - "iopub.status.idle": "2023-07-26T10:52:23.710141Z", - "shell.execute_reply": "2023-07-26T10:52:23.709635Z" - } - }, - "outputs": [], - "source": [ - "m = np.linspace(1, 501)\n", - "fig, ax = plt.subplots()\n", - "[ax.plot(m,\n", - " 1 - (1 - alpha)**m,\n", - " label=r'$\\alpha=%s$' % str(alpha))\n", - " for alpha in [0.05, 0.01, 0.001]]\n", - "ax.set_xscale('log')\n", - "ax.set_xlabel('Number of Hypotheses')\n", - "ax.set_ylabel('Family-Wise Error Rate')\n", - "ax.legend()\n", - "ax.axhline(0.05, c='k', ls='--');" - ] - }, - { - "cell_type": "markdown", - "id": "3a81479e", - "metadata": {}, - "source": [ - "As discussed previously, even for moderate values of $m$ such as $50$,\n", - "the FWER exceeds $0.05$ unless $\\alpha$ is set to a very low value,\n", - "such as $0.001$. Of course, the problem with setting $\\alpha$ to such\n", - "a low value is that we are likely to make a number of Type II errors:\n", - "in other words, our power is very low.\n", - "\n", - "We now conduct a one-sample $t$-test for each of the first five\n", - "managers in the \n", - "`Fund` dataset, in order to test the null\n", - "hypothesis that the $j$th fund manager’s mean return equals zero,\n", - "$H_{0,j}: \\mu_j=0$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9ce7a19f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:23.713438Z", - "iopub.status.busy": "2023-07-26T10:52:23.713214Z", - "iopub.status.idle": "2023-07-26T10:52:23.754484Z", - "shell.execute_reply": "2023-07-26T10:52:23.754038Z" - } - }, - "outputs": [], - "source": [ - "Fund = load_data('Fund')\n", - "fund_mini = Fund.iloc[:,:5]\n", - "fund_mini_pvals = np.empty(5)\n", - "for i in range(5):\n", - " fund_mini_pvals[i] = ttest_1samp(fund_mini.iloc[:,i], 0).pvalue\n", - "fund_mini_pvals" - ] - }, - { - "cell_type": "markdown", - "id": "7561e3a3", - "metadata": {}, - "source": [ - "The $p$-values are low for Managers One and Three, and high for the\n", - "other three managers. However, we cannot simply reject $H_{0,1}$ and\n", - "$H_{0,3}$, since this would fail to account for the multiple testing\n", - "that we have performed. Instead, we will conduct Bonferroni’s method\n", - "and Holm’s method to control the FWER.\n", - "\n", - "To do this, we use the `multipletests()` function from the\n", - "`statsmodels` module (abbreviated to `mult_test()`). Given the $p$-values,\n", - "for methods like Holm and Bonferroni the function outputs\n", - "adjusted $p$-values, which\n", - "can be thought of as a new set of $p$-values that have been corrected\n", - "for multiple testing. If the adjusted $p$-value for a given hypothesis\n", - "is less than or equal to $\\alpha$, then that hypothesis can be\n", - "rejected while maintaining a FWER of no more than $\\alpha$. In other\n", - "words, for such methods, the adjusted $p$-values resulting from the `multipletests()`\n", - "function can simply be compared to the desired FWER in order to\n", - "determine whether or not to reject each hypothesis. We will later\n", - "see that we can use the same function to control FDR as well." - ] - }, - { - "cell_type": "markdown", - "id": "5b608e46", - "metadata": {}, - "source": [ - "The `mult_test()` function takes $p$-values and a `method` argument, as well as an optional\n", - "`alpha` argument. It returns the decisions (`reject` below)\n", - "as well as the adjusted $p$-values (`bonf`)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "de6cffed", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:23.756665Z", - "iopub.status.busy": "2023-07-26T10:52:23.756493Z", - "iopub.status.idle": "2023-07-26T10:52:23.759438Z", - "shell.execute_reply": "2023-07-26T10:52:23.759028Z" - } - }, - "outputs": [], - "source": [ - "reject, bonf = mult_test(fund_mini_pvals, method = \"bonferroni\")[:2]\n", - "reject" - ] - }, - { - "cell_type": "markdown", - "id": "5135c6b9", - "metadata": {}, - "source": [ - "The $p$-values `bonf` are simply the `fund_mini_pvalues` multiplied by 5 and truncated to be less than\n", - "or equal to 1." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0de71500", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:23.761459Z", - "iopub.status.busy": "2023-07-26T10:52:23.761287Z", - "iopub.status.idle": "2023-07-26T10:52:23.764317Z", - "shell.execute_reply": "2023-07-26T10:52:23.763952Z" - } - }, - "outputs": [], - "source": [ - "bonf, np.minimum(fund_mini_pvals * 5, 1)" - ] - }, - { - "cell_type": "markdown", - "id": "1f0bc112", - "metadata": {}, - "source": [ - "Therefore, using Bonferroni’s method, we are able to reject the null hypothesis only for Manager\n", - "One while controlling FWER at $0.05$.\n", - "\n", - "By contrast, using Holm’s method, the adjusted $p$-values indicate\n", - "that we can reject the null\n", - "hypotheses for Managers One and Three at a FWER of $0.05$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f7e87bdb", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:23.766793Z", - "iopub.status.busy": "2023-07-26T10:52:23.766606Z", - "iopub.status.idle": "2023-07-26T10:52:23.810152Z", - "shell.execute_reply": "2023-07-26T10:52:23.809736Z" - } - }, - "outputs": [], - "source": [ - "mult_test(fund_mini_pvals, method = \"holm\", alpha=0.05)[:2]" - ] - }, - { - "cell_type": "markdown", - "id": "f762fecd", - "metadata": {}, - "source": [ - "As discussed previously, Manager One seems to perform particularly\n", - "well, whereas Manager Two has poor performance." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e88be376", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:23.812384Z", - "iopub.status.busy": "2023-07-26T10:52:23.812232Z", - "iopub.status.idle": "2023-07-26T10:52:23.815971Z", - "shell.execute_reply": "2023-07-26T10:52:23.815576Z" - } - }, - "outputs": [], - "source": [ - "fund_mini.mean()" - ] - }, - { - "cell_type": "markdown", - "id": "88dbf0a6", - "metadata": {}, - "source": [ - "Is there evidence of a meaningful difference in performance between\n", - "these two managers? We can check this by performing a paired $t$-test using the `ttest_rel()` function\n", - "from `scipy.stats`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "41149af6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:23.817997Z", - "iopub.status.busy": "2023-07-26T10:52:23.817852Z", - "iopub.status.idle": "2023-07-26T10:52:23.821301Z", - "shell.execute_reply": "2023-07-26T10:52:23.820976Z" - } - }, - "outputs": [], - "source": [ - "ttest_rel(fund_mini['Manager1'],\n", - " fund_mini['Manager2']).pvalue" - ] - }, - { - "cell_type": "markdown", - "id": "1aca6122", - "metadata": {}, - "source": [ - "The test results in a $p$-value of 0.038,\n", - "suggesting a statistically significant difference.\n", - "\n", - "However, we decided to perform this test only after examining the data\n", - "and noting that Managers One and Two had the highest and lowest mean\n", - "performances. In a sense, this means that we have implicitly\n", - "performed ${5 \\choose 2} = 5(5-1)/2=10$ hypothesis tests, rather than\n", - "just one, as discussed in Section 13.3.2. Hence, we use the\n", - "`pairwise_tukeyhsd()` function from\n", - "`statsmodels.stats.multicomp` to apply Tukey’s method\n", - " in order to adjust for multiple testing. This function takes\n", - "as input a fitted *ANOVA* regression model, which is\n", - "essentially just a linear regression in which all of the predictors\n", - "are qualitative. In this case, the response consists of the monthly\n", - "excess returns achieved by each manager, and the predictor indicates\n", - "the manager to which each return corresponds." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "61aabda7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:23.823367Z", - "iopub.status.busy": "2023-07-26T10:52:23.823190Z", - "iopub.status.idle": "2023-07-26T10:52:24.308715Z", - "shell.execute_reply": "2023-07-26T10:52:24.308222Z" - } - }, - "outputs": [], - "source": [ - "returns = np.hstack([fund_mini.iloc[:,i] for i in range(5)])\n", - "managers = np.hstack([[i+1]*50 for i in range(5)])\n", - "tukey = pairwise_tukeyhsd(returns, managers)\n", - "print(tukey.summary())" - ] - }, - { - "cell_type": "markdown", - "id": "e0084fc5", - "metadata": {}, - "source": [ - "The `pairwise_tukeyhsd()` function provides confidence intervals\n", - "for the difference between each pair of managers (`lower` and\n", - "`upper`), as well as a $p$-value. All of these quantities have\n", - "been adjusted for multiple testing. Notice that the $p$-value for the\n", - "difference between Managers One and Two has increased from $0.038$ to\n", - "$0.186$, so there is no longer clear evidence of a difference between\n", - "the managers’ performances. We can plot the confidence intervals for\n", - "the pairwise comparisons using the `plot_simultaneous()` method\n", - "of `tukey`. Any pair of intervals that don’t overlap indicates a significant difference at the nominal level of 0.05. In this case,\n", - "no differences are considered significant as reported in the table above." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cbcad4de", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:24.311170Z", - "iopub.status.busy": "2023-07-26T10:52:24.310960Z", - "iopub.status.idle": "2023-07-26T10:52:24.410742Z", - "shell.execute_reply": "2023-07-26T10:52:24.410212Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = plt.subplots(figsize=(8,8))\n", - "tukey.plot_simultaneous(ax=ax);" - ] - }, - { - "cell_type": "markdown", - "id": "6278d13c", - "metadata": {}, - "source": [ - "## False Discovery Rate\n", - "Now we perform hypothesis tests for all 2,000 fund managers in the\n", - "`Fund` dataset. We perform a one-sample $t$-test\n", - "of $H_{0,j}: \\mu_j=0$, which states that the\n", - "$j$th fund manager’s mean return is zero." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b5842190", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:24.413638Z", - "iopub.status.busy": "2023-07-26T10:52:24.413455Z", - "iopub.status.idle": "2023-07-26T10:52:24.827343Z", - "shell.execute_reply": "2023-07-26T10:52:24.826609Z" - } - }, - "outputs": [], - "source": [ - "fund_pvalues = np.empty(2000)\n", - "for i, manager in enumerate(Fund.columns):\n", - " fund_pvalues[i] = ttest_1samp(Fund[manager], 0).pvalue" - ] - }, - { - "cell_type": "markdown", - "id": "80fc2fcc", - "metadata": {}, - "source": [ - "There are far too many managers to consider trying to control the FWER.\n", - "Instead, we focus on controlling the FDR: that is, the expected fraction of rejected null hypotheses that are actually false positives.\n", - "The `multipletests()` function (abbreviated `mult_test()`) can be used to carry out the Benjamini--Hochberg procedure." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7c9d8bed", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:24.830214Z", - "iopub.status.busy": "2023-07-26T10:52:24.830015Z", - "iopub.status.idle": "2023-07-26T10:52:24.834953Z", - "shell.execute_reply": "2023-07-26T10:52:24.834464Z" - } - }, - "outputs": [], - "source": [ - "fund_qvalues = mult_test(fund_pvalues, method = \"fdr_bh\")[1]\n", - "fund_qvalues[:10]" - ] - }, - { - "cell_type": "markdown", - "id": "4f73096d", - "metadata": {}, - "source": [ - "The *q-values* output by the\n", - "Benjamini--Hochberg procedure can be interpreted as the smallest FDR\n", - "threshold at which we would reject a particular null hypothesis. For\n", - "instance, a $q$-value of $0.1$ indicates that we can reject the\n", - "corresponding null hypothesis at an FDR of 10% or greater, but that\n", - "we cannot reject the null hypothesis at an FDR below 10%.\n", - "\n", - "If we control the FDR at 10%, then for how many of the fund managers can we reject $H_{0,j}: \\mu_j=0$?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bfa39f7c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:24.837627Z", - "iopub.status.busy": "2023-07-26T10:52:24.837419Z", - "iopub.status.idle": "2023-07-26T10:52:24.840834Z", - "shell.execute_reply": "2023-07-26T10:52:24.840316Z" - } - }, - "outputs": [], - "source": [ - "(fund_qvalues <= 0.1).sum()" - ] - }, - { - "cell_type": "markdown", - "id": "ccb44c8d", - "metadata": {}, - "source": [ - "We find that 146 of the 2,000 fund managers have a $q$-value below\n", - "0.1; therefore, we are able to conclude that 146 of the fund managers\n", - "beat the market at an FDR of 10%. Only about 15 (10% of 146) of\n", - "these fund managers are likely to be false discoveries.\n", - "\n", - "By contrast, if we had instead used Bonferroni’s method to control the\n", - "FWER at level $\\alpha=0.1$, then we would have failed to reject any\n", - "null hypotheses!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "70b69b47", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:24.843470Z", - "iopub.status.busy": "2023-07-26T10:52:24.843237Z", - "iopub.status.idle": "2023-07-26T10:52:24.846889Z", - "shell.execute_reply": "2023-07-26T10:52:24.846276Z" - } - }, - "outputs": [], - "source": [ - "(fund_pvalues <= 0.1 / 2000).sum()" - ] - }, - { - "cell_type": "markdown", - "id": "c8a969f4", - "metadata": {}, - "source": [ - "Figure 13.6 displays the ordered\n", - "$p$-values, $p_{(1)} \\leq p_{(2)} \\leq \\cdots \\leq p_{(2000)}$, for\n", - "the `Fund` dataset, as well as the threshold for rejection by the\n", - "Benjamini--Hochberg procedure. Recall that the Benjamini--Hochberg\n", - "procedure identifies the largest $p$-value such that $p_{(j)} 0:\n", - " selected_ = fund_pvalues < sorted_[sorted_set_].max()\n", - " sorted_set_ = np.arange(sorted_set_.max())\n", - "else:\n", - " selected_ = []\n", - " sorted_set_ = []" - ] - }, - { - "cell_type": "markdown", - "id": "ddeb3900", - "metadata": {}, - "source": [ - "We now reproduce the middle panel of Figure 13.6." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0314eac9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:24.855721Z", - "iopub.status.busy": "2023-07-26T10:52:24.855334Z", - "iopub.status.idle": "2023-07-26T10:52:25.156072Z", - "shell.execute_reply": "2023-07-26T10:52:25.155438Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = plt.subplots()\n", - "ax.scatter(np.arange(0, sorted_.shape[0]) + 1,\n", - " sorted_, s=10)\n", - "ax.set_yscale('log')\n", - "ax.set_xscale('log')\n", - "ax.set_ylabel('P-Value')\n", - "ax.set_xlabel('Index')\n", - "ax.scatter(sorted_set_+1, sorted_[sorted_set_], c='r', s=20)\n", - "ax.axline((0, 0), (1,q/m), c='k', ls='--', linewidth=3);" - ] - }, - { - "cell_type": "markdown", - "id": "83416f4a", - "metadata": {}, - "source": [ - "## A Re-Sampling Approach\n", - "Here, we implement the re-sampling approach to hypothesis testing\n", - "using the `Khan` dataset, which we investigated in\n", - "Section 13.5. First, we merge the training and\n", - "testing data, which results in observations on 83 patients for\n", - "2,308 genes." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b59b8137", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:25.158998Z", - "iopub.status.busy": "2023-07-26T10:52:25.158769Z", - "iopub.status.idle": "2023-07-26T10:52:25.243020Z", - "shell.execute_reply": "2023-07-26T10:52:25.242512Z" - } - }, - "outputs": [], - "source": [ - "Khan = load_data('Khan') \n", - "D = pd.concat([Khan['xtrain'], Khan['xtest']])\n", - "D['Y'] = pd.concat([Khan['ytrain'], Khan['ytest']])\n", - "D['Y'].value_counts()" - ] - }, - { - "cell_type": "markdown", - "id": "5534c8d4", - "metadata": {}, - "source": [ - "There are four classes of cancer. For each gene, we compare the mean\n", - "expression in the second class (rhabdomyosarcoma) to the mean\n", - "expression in the fourth class (Burkitt’s lymphoma). Performing a\n", - "standard two-sample $t$-test \n", - "using `ttest_ind()` from `scipy.stats` on the $11$th\n", - "gene produces a test-statistic of -2.09 and an associated $p$-value\n", - "of 0.0412, suggesting modest evidence of a difference in mean\n", - "expression levels between the two cancer types." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "96fb2f61", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:25.245359Z", - "iopub.status.busy": "2023-07-26T10:52:25.245172Z", - "iopub.status.idle": "2023-07-26T10:52:25.250139Z", - "shell.execute_reply": "2023-07-26T10:52:25.249644Z" - } - }, - "outputs": [], - "source": [ - "D2 = D[lambda df:df['Y'] == 2]\n", - "D4 = D[lambda df:df['Y'] == 4]\n", - "gene_11 = 'G0011'\n", - "observedT, pvalue = ttest_ind(D2[gene_11],\n", - " D4[gene_11],\n", - " equal_var=True)\n", - "observedT, pvalue" - ] - }, - { - "cell_type": "markdown", - "id": "3131124e", - "metadata": {}, - "source": [ - "However, this $p$-value relies on the assumption that under the null\n", - "hypothesis of no difference between the two groups, the test statistic\n", - "follows a $t$-distribution with $29+25-2=52$ degrees of freedom.\n", - "Instead of using this theoretical null distribution, we can randomly\n", - "split the 54 patients into two groups of 29 and 25, and compute a new\n", - "test statistic. Under the null hypothesis of no difference between\n", - "the groups, this new test statistic should have the same distribution\n", - "as our original one. Repeating this process 10,000 times allows us to\n", - "approximate the null distribution of the test statistic. We compute\n", - "the fraction of the time that our observed test statistic exceeds the\n", - "test statistics obtained via re-sampling." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fdc229fa", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:25.252510Z", - "iopub.status.busy": "2023-07-26T10:52:25.252319Z", - "iopub.status.idle": "2023-07-26T10:52:26.208474Z", - "shell.execute_reply": "2023-07-26T10:52:26.207894Z" - } - }, - "outputs": [], - "source": [ - "B = 10000\n", - "Tnull = np.empty(B)\n", - "D_ = np.hstack([D2[gene_11], D4[gene_11]])\n", - "n_ = D2[gene_11].shape[0]\n", - "D_null = D_.copy()\n", - "for b in range(B):\n", - " rng.shuffle(D_null)\n", - " ttest_ = ttest_ind(D_null[:n_],\n", - " D_null[n_:],\n", - " equal_var=True)\n", - " Tnull[b] = ttest_.statistic\n", - "(np.abs(Tnull) > np.abs(observedT)).mean()" - ] - }, - { - "cell_type": "markdown", - "id": "c7fc4557", - "metadata": {}, - "source": [ - "This fraction, 0.0398,\n", - "is our re-sampling-based $p$-value.\n", - "It is almost identical to the $p$-value of 0.0412 obtained using the theoretical null distribution.\n", - "We can plot a histogram of the re-sampling-based test statistics in order to reproduce Figure 13.7." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e3894695", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:26.210995Z", - "iopub.status.busy": "2023-07-26T10:52:26.210826Z", - "iopub.status.idle": "2023-07-26T10:52:26.458716Z", - "shell.execute_reply": "2023-07-26T10:52:26.458144Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = plt.subplots(figsize=(8,8))\n", - "ax.hist(Tnull,\n", - " bins=100,\n", - " density=True,\n", - " facecolor='y',\n", - " label='Null')\n", - "xval = np.linspace(-4.2, 4.2, 1001)\n", - "ax.plot(xval,\n", - " t_dbn.pdf(xval, D_.shape[0]-2),\n", - " c='r')\n", - "ax.axvline(observedT,\n", - " c='b',\n", - " label='Observed')\n", - "ax.legend()\n", - "ax.set_xlabel(\"Null Distribution of Test Statistic\");" - ] - }, - { - "cell_type": "markdown", - "id": "3bd21158", - "metadata": {}, - "source": [ - "The re-sampling-based null distribution is almost identical to the theoretical null distribution, which is displayed in red.\n", - "\n", - "Finally, we implement the plug-in re-sampling FDR approach outlined in\n", - "Algorithm 13.4. Depending on the speed of your\n", - "computer, calculating the FDR for all 2,308 genes in the `Khan`\n", - "dataset may take a while. Hence, we will illustrate the approach on a\n", - "random subset of 100 genes. For each gene, we first compute the\n", - "observed test statistic, and then produce 10,000 re-sampled test\n", - "statistics. This may take a few minutes to run. If you are in a rush,\n", - "then you could set `B` equal to a smaller value (e.g. `B=500`)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3b7392cb", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T10:52:26.461754Z", - "iopub.status.busy": "2023-07-26T10:52:26.461349Z", - "iopub.status.idle": "2023-07-26T12:21:43.650925Z", - "shell.execute_reply": "2023-07-26T12:21:43.650584Z" - } - }, - "outputs": [], - "source": [ - "m, B = 100, 10000\n", - "idx = rng.choice(Khan['xtest'].columns, m, replace=False)\n", - "T_vals = np.empty(m)\n", - "Tnull_vals = np.empty((m, B))\n", - "\n", - "for j in range(m):\n", - " col = idx[j]\n", - " T_vals[j] = ttest_ind(D2[col],\n", - " D4[col],\n", - " equal_var=True).statistic\n", - " D_ = np.hstack([D2[col], D4[col]])\n", - " D_null = D_.copy()\n", - " for b in range(B):\n", - " rng.shuffle(D_null)\n", - " ttest_ = ttest_ind(D_null[:n_],\n", - " D_null[n_:],\n", - " equal_var=True)\n", - " Tnull_vals[j,b] = ttest_.statistic" - ] - }, - { - "cell_type": "markdown", - "id": "1b92df1b", - "metadata": {}, - "source": [ - "Next, we compute the number of rejected null hypotheses $R$, the\n", - "estimated number of false positives $\\widehat{V}$, and the estimated\n", - "FDR, for a range of threshold values $c$ in\n", - "Algorithm 13.4. The threshold values are chosen\n", - "using the absolute values of the test statistics from the 100 genes." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cac15616", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T12:21:43.653105Z", - "iopub.status.busy": "2023-07-26T12:21:43.652856Z", - "iopub.status.idle": "2023-07-26T12:21:43.895651Z", - "shell.execute_reply": "2023-07-26T12:21:43.895292Z" - } - }, - "outputs": [], - "source": [ - "cutoffs = np.sort(np.abs(T_vals))\n", - "FDRs, Rs, Vs = np.empty((3, m))\n", - "for j in range(m):\n", - " R = np.sum(np.abs(T_vals) >= cutoffs[j])\n", - " V = np.sum(np.abs(Tnull_vals) >= cutoffs[j]) / B\n", - " Rs[j] = R\n", - " Vs[j] = V\n", - " FDRs[j] = V / R" - ] - }, - { - "cell_type": "markdown", - "id": "f6779ea0", - "metadata": {}, - "source": [ - "Now, for any given FDR, we can find the genes that will be\n", - "rejected. For example, with FDR controlled at 0.1, we reject 15 of the\n", - "100 null hypotheses. On average, we would expect about one or two of\n", - "these genes (i.e. 10% of 15) to be false discoveries. At an FDR of\n", - "0.2, we can reject the null hypothesis for 28 genes, of which we\n", - "expect around six to be false discoveries.\n", - "\n", - "The variable `idx` stores which\n", - "genes were included in our 100 randomly-selected genes. Let’s look at\n", - "the genes whose estimated FDR is less than 0.1." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9661eb10", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T12:21:43.897943Z", - "iopub.status.busy": "2023-07-26T12:21:43.897797Z", - "iopub.status.idle": "2023-07-26T12:21:43.901002Z", - "shell.execute_reply": "2023-07-26T12:21:43.900637Z" - } - }, - "outputs": [], - "source": [ - "sorted(idx[np.abs(T_vals) >= cutoffs[FDRs < 0.1].min()])" - ] - }, - { - "cell_type": "markdown", - "id": "001e3fc1", - "metadata": {}, - "source": [ - "At an FDR threshold of 0.2, more genes are selected, at the cost of having a higher expected\n", - "proportion of false discoveries." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "18ad4900", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T12:21:43.902778Z", - "iopub.status.busy": "2023-07-26T12:21:43.902684Z", - "iopub.status.idle": "2023-07-26T12:21:43.905535Z", - "shell.execute_reply": "2023-07-26T12:21:43.905228Z" - } - }, - "outputs": [], - "source": [ - "sorted(idx[np.abs(T_vals) >= cutoffs[FDRs < 0.2].min()])" - ] - }, - { - "cell_type": "markdown", - "id": "8767f70c", - "metadata": {}, - "source": [ - "The next line generates Figure 13.11, which is similar\n", - "to Figure 13.9,\n", - "except that it is based on only a subset of the genes." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "28c276b6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T12:21:43.907278Z", - "iopub.status.busy": "2023-07-26T12:21:43.907150Z", - "iopub.status.idle": "2023-07-26T12:21:43.988689Z", - "shell.execute_reply": "2023-07-26T12:21:43.988352Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = plt.subplots()\n", - "ax.plot(Rs, FDRs, 'b', linewidth=3)\n", - "ax.set_xlabel(\"Number of Rejections\")\n", - "ax.set_ylabel(\"False Discovery Rate\");" - ] - } - ], - "metadata": { - "jupytext": { - "cell_metadata_filter": "-all", - "formats": "ipynb,md:myst", - "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/source/labs/Ch14-surv-lab.ipynb b/docs/source/labs/Ch14-surv-lab.ipynb deleted file mode 100644 index 031562d..0000000 --- a/docs/source/labs/Ch14-surv-lab.ipynb +++ /dev/null @@ -1,995 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "c1af8696", - "metadata": {}, - "source": [ - "# Dummy\n", - "\n", - "## Survival Analysis\n", - "\n", - "\n", - " \"Open\n", - "\n", - "\n", - "\n", - "\n", - "### Some preliminary details\n", - "\n", - "We will want to be able to see plots in the notebook. We\n", - "will therefore include the following as introduced in\n", - "Chapter 2:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0bce7ad7", - "metadata": {}, - "outputs": [], - "source": [ - "%matplotlib inline" - ] - }, - { - "cell_type": "markdown", - "id": "98e95e67", - "metadata": {}, - "source": [ - "#### New imports\n", - "\n", - "We again collect the new imports\n", - "needed for this lab." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3741ca31", - "metadata": { - "lines_to_next_cell": 2 - }, - "outputs": [], - "source": [ - "from lifelines import \\\n", - " (KaplanMeierFitter,\n", - " CoxPHFitter)\n", - "from lifelines.statistics import \\\n", - " (logrank_test,\n", - " multivariate_logrank_test)\n", - "from ISLP.survival import sim_time" - ] - }, - { - "cell_type": "markdown", - "id": "c1dff6d8", - "metadata": {}, - "source": [ - "In this lab, we perform survival analyses on three separate data\n", - "sets. In the first section we analyze the `BrainCancer`\n", - "data .
\n", - "Next, we examine the `Publication`\n", - "data . Finally, we explore explores\n", - "a simulated call center data set.\n", - "\n", - "We begin by importing some of our libraries at this top\n", - "level. This makes the code more readable, as scanning the first few\n", - "lines of the notebook tell us what libraries are used in this\n", - "notebook." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6402fd76", - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "import numpy as np\n", - "import pandas as pd\n", - "from ISLP.models import ModelSpec as MS\n", - "from ISLP import load_data" - ] - }, - { - "cell_type": "markdown", - "id": "90eb295f", - "metadata": {}, - "source": [ - "### Brain Cancer Data" - ] - }, - { - "cell_type": "markdown", - "id": "26338f8e", - "metadata": {}, - "source": [ - "We begin with the `BrainCancer` data set, contained in the `ISLP` package." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b43f8c6f", - "metadata": {}, - "outputs": [], - "source": [ - "BrainCancer = load_data('BrainCancer')\n", - "BrainCancer.columns" - ] - }, - { - "cell_type": "markdown", - "id": "61eed2f0", - "metadata": {}, - "source": [ - "The rows index the 88 patients, while the columns contain the 8 predictors.\n", - "We first briefly examine the data." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4307ef61", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], - "source": [ - "BrainCancer['sex'].value_counts()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "19c25475", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], - "source": [ - "BrainCancer['diagnosis'].value_counts()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d9fa6491", - "metadata": {}, - "outputs": [], - "source": [ - "BrainCancer['status'].value_counts()" - ] - }, - { - "cell_type": "markdown", - "id": "bd1e89cb", - "metadata": {}, - "source": [ - "Before beginning an analysis, it is important to know how the\n", - "`status` variable has been coded. Most software\n", - "uses the convention that a `status` of 1 indicates an\n", - "uncensored observation, and a `status` of 0 indicates a censored\n", - "observation. But some scientists might use the opposite coding. For\n", - "the `BrainCancer` data set 35 patients died before the end of\n", - "the study.\n", - "\n", - "To begin the analysis, we re-create a Kaplan-Meier survival curve shown in the book. The main\n", - "package we will use for survival analysis\n", - "is `lifelines`.\n", - "The variable `time` corresponds to $y_i$, the time to the $i$th event (either censoring or\n", - "death). The first argument to `km.fit` are the event times with the\n", - "second argument being the censoring variable with a 1 indicating an observed\n", - "failure time. The `plot` method plots a curve with pointwise confidence\n", - "intervals. By default, they produce 90% confidence intervals. This can be changed\n", - "by setting the `alpha` argument to 1 minus the desired\n", - "confidence level." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "16b708ff", - "metadata": {}, - "outputs": [], - "source": [ - "km = KaplanMeierFitter()\n", - "km_brain = km.fit(BrainCancer['time'],\n", - " BrainCancer['status'])\n", - "km_brain.plot(label='Kaplan Meier estimate')" - ] - }, - { - "cell_type": "markdown", - "id": "71d6ef47", - "metadata": {}, - "source": [ - "Next we create Kaplan-Meier survival curves that are stratified by\n", - "`sex`, in order to reproduce a second figure from the book.\n", - "We do this by using the `groupby` method of a DataFrame.\n", - "This method returns a generator that can\n", - "be iterated over in the `for` loop. In this case,\n", - "the items in the `for` loop are 2-tuples representing\n", - "the groups: the first entry is the value\n", - "of the grouping column `sex` while the 2nd value\n", - "is the DataFrame consisting of all rows in the\n", - "DataFrame matching that value of `sex`.\n", - "We will want to use this data below\n", - "in the log-rank test, hence we store this\n", - "information in the dictionary `by_sex`. Finally,\n", - "we have also used the notion of\n", - " to automatically\n", - "label the different lines in the plot. String\n", - "interpolation is a powerful technique to format strings –\n", - "`python` has many ways to facilitate such operations." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cd07dfd6", - "metadata": {}, - "outputs": [], - "source": [ - "by_sex = {}\n", - "for sex, df in BrainCancer.groupby('sex'):\n", - " by_sex[sex] = df\n", - " km_sex = km.fit(df['time'],\n", - " df['status'])\n", - " km_sex.plot(label='Sex=%s' % sex)" - ] - }, - { - "cell_type": "markdown", - "id": "8d40bd2f", - "metadata": {}, - "source": [ - "As discussed in the book, we can perform a\n", - "log-rank test to compare the survival of males to females. We use\n", - "the `logrank_test` function from the `lifelines.statistics` module.\n", - "The first two arguments are the event times, with the second\n", - "denoting the corresponding (optional) censoring indicators." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f4e80bc9", - "metadata": {}, - "outputs": [], - "source": [ - "logrank_test(by_sex['Male']['time'],\n", - " by_sex['Female']['time'],\n", - " by_sex['Male']['status'],\n", - " by_sex['Female']['status'])" - ] - }, - { - "cell_type": "markdown", - "id": "3e025210", - "metadata": {}, - "source": [ - "The resulting $p$-value is $0.23$, indicating no evidence of a\n", - "difference in survival between the two sexes.\n", - "\n", - "Next, we fit Cox proportional hazards models using the `CoxPHFitter` estimator\n", - "from `lifelines`.\n", - "To begin, we consider a model that uses `sex` as the only predictor." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b57ac5fa", - "metadata": {}, - "outputs": [], - "source": [ - "coxph = CoxPHFitter # shorthand\n", - "sex_df = BrainCancer[['time', 'status', 'sex']]\n", - "model_df = MS(['time', 'status', 'sex'],\n", - " intercept=False).fit_transform(sex_df)\n", - "cox_fit = coxph().fit(model_df,\n", - " 'time',\n", - " 'status')\n", - "cox_fit.summary[['coef', 'se(coef)', 'p']]" - ] - }, - { - "cell_type": "markdown", - "id": "da8b9eff", - "metadata": {}, - "source": [ - "The first argument to `fit` should be a data frame containing\n", - "at least the event time (the second argument `time` in this case)\n", - "as well as an optional censoring variable (the argument `status` in this case).\n", - "Note also that the Cox model does not include an intercept, which is why\n", - "we used the `intercept=False` argument to `ModelSpec` above.\n", - "It is possible to obtain the likelihood ratio test comparing this model to the one\n", - "with no features as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9991b523", - "metadata": {}, - "outputs": [], - "source": [ - "cox_fit.log_likelihood_ratio_test()" - ] - }, - { - "cell_type": "markdown", - "id": "fc76fd07", - "metadata": {}, - "source": [ - "Regardless of which test we use, we see that there is no clear\n", - "evidence for a difference in survival between males and females. As\n", - "we learned in this chapter, the score test from the Cox model is\n", - "exactly equal to the log rank test statistic!\n", - "\n", - "Now we fit a model that makes use of additional predictors. We first note\n", - "that one of our `diagnosis` values is missing, hence\n", - "we drop that observation before continuing." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "391157a9", - "metadata": {}, - "outputs": [], - "source": [ - "cleaned = BrainCancer.dropna()\n", - "all_MS = MS(cleaned.columns,\n", - " intercept=False)\n", - "all_df = all_MS.fit_transform(cleaned)\n", - "fit_all = coxph().fit(all_df, \n", - " 'time', \n", - " 'status')\n", - "fit_all.summary[['coef', 'se(coef)', 'p']]" - ] - }, - { - "cell_type": "markdown", - "id": "18659bcd", - "metadata": {}, - "source": [ - "The `diagnosis` variable has been coded so that the baseline\n", - "corresponds to HG glioma. The results indicate that the risk associated with HG glioma\n", - "is more than eight times (i.e. $e^{2.15}=8.62$) the risk associated\n", - "with meningioma. In other words, after adjusting for the other\n", - "predictors, patients with HG glioma have much worse survival compared\n", - "to those with meningioma. In addition, larger values of the Karnofsky\n", - "index, `ki`, are associated with lower risk, i.e. longer survival.\n", - "\n", - "Finally, we plot estimated survival curves for each diagnosis category,\n", - "adjusting for the other predictors. To make these plots, we set the\n", - "values of the other predictors equal to the mean for quantitative variables\n", - "and equal to the mode for categorical. To do this, we use the\n", - "`apply()` method across rows (i.e. `axis=0`) with a function\n", - "`representative` that checks if a column is categorical\n", - "or not." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c2c32bdf", - "metadata": {}, - "outputs": [], - "source": [ - "levels = cleaned['diagnosis'].unique()\n", - "def representative(series):\n", - " if hasattr(series.dtype, 'categories'):\n", - " return pd.Series.mode(series)\n", - " else:\n", - " return series.mean()\n", - "modal_data = cleaned.apply(representative, \n", - " axis=0)" - ] - }, - { - "cell_type": "markdown", - "id": "2f5e9767", - "metadata": {}, - "source": [ - "We make four\n", - "copies of the column means and assign the `diagnosis` column to be the four different\n", - "diagnoses." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7a6fc4b9", - "metadata": {}, - "outputs": [], - "source": [ - "modal_df = pd.DataFrame([modal_data.iloc[0] for _ in range(len(levels))])\n", - "modal_df['diagnosis'] = levels\n", - "modal_df" - ] - }, - { - "cell_type": "markdown", - "id": "dd013465", - "metadata": {}, - "source": [ - "We then construct the design matrix based on the model specification `all_MS` used to fit\n", - "the model, dropping the `time` and `status` variables as these are not\n", - "used to predict the survival functioin." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f1e6cb80", - "metadata": {}, - "outputs": [], - "source": [ - "modal_X = all_MS.transform(modal_df)#.drop(columns=['time', 'status'])\n", - "modal_X.index = levels\n", - "modal_X" - ] - }, - { - "cell_type": "markdown", - "id": "d98548ee", - "metadata": {}, - "source": [ - "The estimated survival\n", - "function can be found using the `predict_survival_function()` method." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8753eaa2", - "metadata": {}, - "outputs": [], - "source": [ - "predicted_survival = fit_all.predict_survival_function(modal_X)\n", - "predicted_survival" - ] - }, - { - "cell_type": "markdown", - "id": "a814ddee", - "metadata": {}, - "source": [ - "This returns a data frame,\n", - "whose plot methods yields the different survival curves. To avoid clutter in\n", - "the plots, we do not display confidence intervals." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ddccc3ac", - "metadata": {}, - "outputs": [], - "source": [ - "fig, ax = plt.subplots(1, 1, figsize=(10, 10))\n", - "predicted_survival.plot(ax=ax);" - ] - }, - { - "cell_type": "markdown", - "id": "53997de5", - "metadata": {}, - "source": [ - "### Publication Data" - ] - }, - { - "cell_type": "markdown", - "id": "47103217", - "metadata": {}, - "source": [ - "The `Publication` data can be\n", - "found in the `ISLP` package.\n", - "We begin by plotting the Kaplan-Meier curves\n", - "stratified on the `posres` variable, which records whether the\n", - "study had a positive or negative result." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "01217472", - "metadata": {}, - "outputs": [], - "source": [ - "Publication = load_data('Publication')\n", - "by_result = {}\n", - "for result, df in Publication.groupby('posres'):\n", - " by_result[result] = df\n", - " km_result = km.fit(df['time'], df['status'])\n", - " km_result.plot(label='Result=%d' % result)" - ] - }, - { - "cell_type": "markdown", - "id": "7929b6e9", - "metadata": {}, - "source": [ - "As discussed previously, the $p$-values from fitting Cox’s\n", - "proportional hazards model to the `posres` variable are quite\n", - "large, providing no evidence of a difference in time-to-publication\n", - "between studies with positive versus negative results." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2e966bd6", - "metadata": {}, - "outputs": [], - "source": [ - "posres_df = MS(['posres',\n", - " 'time',\n", - " 'status'], intercept=False).fit_transform(Publication)\n", - "posres_fit = coxph().fit(posres_df,\n", - " 'time',\n", - " 'status')\n", - "posres_fit.summary[['coef', 'se(coef)', 'p']]" - ] - }, - { - "cell_type": "markdown", - "id": "1020fe19", - "metadata": {}, - "source": [ - "As expected, the log-rank test provides an identical conclusion." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "42572496", - "metadata": {}, - "outputs": [], - "source": [ - "logrank_test(by_result[0]['time'],\n", - " by_result[1]['time'],\n", - " by_result[0]['status'],\n", - " by_result[1]['status'])" - ] - }, - { - "cell_type": "markdown", - "id": "c06a3106", - "metadata": {}, - "source": [ - "However, the results change dramatically when we include other\n", - "predictors in the model. Here we have excluded the funding mechanism\n", - "variable." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7c22a546", - "metadata": {}, - "outputs": [], - "source": [ - "model = MS(Publication.columns.drop('mech'),\n", - " intercept=False)\n", - "coxph().fit(model.fit_transform(Publication),\n", - " 'time',\n", - " 'status').summary[['coef', 'se(coef)', 'p']]" - ] - }, - { - "cell_type": "markdown", - "id": "2efd14bf", - "metadata": {}, - "source": [ - "We see that there are a number of statistically significant variables,\n", - "including whether the trial focused on a clinical endpoint, the impact\n", - "of the study, and whether the study had positive or negative results.\n", - "\n", - "### Call Center Data" - ] - }, - { - "cell_type": "markdown", - "id": "9dbf298f", - "metadata": {}, - "source": [ - "In this section, we will simulate survival data using the relationship\n", - "between cumulative hazard and\n", - "the survival function explored in an exercise.\n", - "Our simulated data will represent the observed\n", - "wait times (in seconds) for 2,000 customers who have phoned a call\n", - "center. In this context, censoring occurs if a customer hangs up\n", - "before his or her call is answered.\n", - "\n", - "There are three covariates: `Operators` (the number of call\n", - "center operators available at the time of the call, which can range\n", - "from $5$ to $15$), `Center` (either A, B, or C), and\n", - "`Time` of day (Morning, Afternoon, or Evening). We generate data\n", - "for these covariates so that all possibilities are equally likely: for\n", - "instance, morning, afternoon and evening calls are equally likely, and\n", - "any number of operators from $5$ to $15$ is equally likely. We use the\n", - "`ModelSpec` function from the `ISLP.models` package introduced\n", - "in Chapter 3." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "72e4c0c1", - "metadata": {}, - "outputs": [], - "source": [ - "np.random.seed(10)\n", - "N = 2000\n", - "Operators = np.random.choice(np.arange(5, 16),\n", - " N,\n", - " replace=True)\n", - "Center = np.random.choice(['A', 'B', 'C'], \n", - " N,\n", - " replace=True)\n", - "Time = np.random.choice(['Morn.', 'After.', 'Even.'], \n", - " N,\n", - " replace=True)\n", - "D = pd.DataFrame({'Operators': Operators,\n", - " 'Center': pd.Categorical(Center),\n", - " 'Time': pd.Categorical(Time)}) \n", - "model = MS(['Operators',\n", - " 'Center',\n", - " 'Time'],\n", - " intercept=False)\n", - "X = model.fit_transform(D)" - ] - }, - { - "cell_type": "markdown", - "id": "a3f7c728", - "metadata": {}, - "source": [ - "It is worthwhile to take a peek at the design matrix `X`, so\n", - "that we can be sure that we understand how the variables have been coded. By default,\n", - "the levels of categorical variables are sorted and the first column of the usual one-hot encoding\n", - "of the variable is dropped." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4b8f4b9f", - "metadata": {}, - "outputs": [], - "source": [ - "X[:5]" - ] - }, - { - "cell_type": "markdown", - "id": "06cd05ca", - "metadata": {}, - "source": [ - "Next, we specify the coefficients and the hazard function." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "982ae944", - "metadata": {}, - "outputs": [], - "source": [ - "true_beta = np.array([0.04, -0.3, 0, 0.2, -0.2])\n", - "true_linpred = X.dot(true_beta)\n", - "hazard = lambda t: 1e-5 * t" - ] - }, - { - "cell_type": "markdown", - "id": "5054aa25", - "metadata": {}, - "source": [ - "We use the function\n", - "`sim_time` from the `ISLP.survival` package. This function\n", - "uses the relationship between the survival function\n", - "and cumulative hazard $S(t) = \\exp(-H(t))$ and the specific\n", - "form of the cumulative hazard function in the Cox model\n", - "to simulate data based on values of the linear predictor\n", - "`true_linpred` and the cumulative hazard. We can generate\n", - "if we know the inverse of the cumulative hazard function." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e8939727", - "metadata": {}, - "outputs": [], - "source": [ - "cum_hazard = lambda t: 1e-5 * t**2 / 2" - ] - }, - { - "cell_type": "markdown", - "id": "c0ed581d", - "metadata": {}, - "source": [ - "Here, we have set the coefficient associated with `Operators` to\n", - "equal $0.04$; in other words, each additional operator leads to a\n", - "$e^{0.04}=1.041$-fold increase in the “risk” that the call will be\n", - "answered, given the `Center` and `Time` covariates. This\n", - "makes sense: the greater the number of operators at hand, the shorter\n", - "the wait time! The coefficient associated with `Center == B` is\n", - "$-0.3$, and `Center == A` is treated as the baseline. This means\n", - "that the risk of a call being answered at Center B is 0.74 times the\n", - "risk that it will be answered at Center A; in other words, the wait\n", - "times are a bit longer at Center B.\n", - "\n", - "We are now ready to generate data under the Cox proportional hazards\n", - "model. We’ll truncate the maximum time to 1000 seconds to keep\n", - "simulated wait times reasonable." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a850809e", - "metadata": {}, - "outputs": [], - "source": [ - "W = np.array([sim_time(l, cum_hazard)\n", - " for l in true_linpred])\n", - "D['Wait time'] = np.clip(W, 0, 1000)" - ] - }, - { - "cell_type": "markdown", - "id": "3f481113", - "metadata": {}, - "source": [ - "We now simulate our censoring variable, for which we assume\n", - "90% of calls were answered (`Failed==1`) before the\n", - "customer hungup (`Failed==0`)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c93cd8c3", - "metadata": { - "lines_to_next_cell": 0 - }, - "outputs": [], - "source": [ - "D['Failed'] = np.random.choice([1, 0],\n", - " N,\n", - " p=[0.9, 0.1])\n", - "D[:5]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bac8ff69", - "metadata": {}, - "outputs": [], - "source": [ - "D['Failed'].mean()" - ] - }, - { - "cell_type": "markdown", - "id": "75699d8c", - "metadata": {}, - "source": [ - "We now plot Kaplan-Meier survival curves. First, we stratify by `Center`" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cafb21e9", - "metadata": {}, - "outputs": [], - "source": [ - "by_center = {}\n", - "for center, df in D.groupby('Center'):\n", - " by_center[center] = df\n", - " km_center = km.fit(df['Wait time'], df['Failed'])\n", - " km_center.plot(label='Center=%s' % center)\n", - "ax = plt.gca()\n", - "ax.set_title(\"Probability of Still Being on Hold\")" - ] - }, - { - "cell_type": "markdown", - "id": "6c477316", - "metadata": {}, - "source": [ - "Next, we stratify by `Time`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d404c129", - "metadata": {}, - "outputs": [], - "source": [ - "by_time = {}\n", - "for time, df in D.groupby('Time'):\n", - " by_time[time] = df\n", - " km_time = km.fit(df['Wait time'], df['Failed'])\n", - " km_time.plot(label='Time=%s' % time)\n", - "ax = plt.gca()\n", - "ax.set_title(\"Probability of Still Being on Hold\")" - ] - }, - { - "cell_type": "markdown", - "id": "dcca1dbd", - "metadata": {}, - "source": [ - "It seems that calls at Call Center B take longer to be answered than\n", - "calls at Centers A and C. Similarly, it appears that wait times are\n", - "longest in the morning and shortest in the evening hours. We can use a\n", - "log-rank test to determine whether these differences are statistically\n", - "significant using `multivariate_logrank_test`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b928758d", - "metadata": {}, - "outputs": [], - "source": [ - "multivariate_logrank_test(D['Wait time'],\n", - " D['Center'],\n", - " D['Failed'])" - ] - }, - { - "cell_type": "markdown", - "id": "285f5644", - "metadata": {}, - "source": [ - "Next, we consider the effect of `Time`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "976558e5", - "metadata": {}, - "outputs": [], - "source": [ - "multivariate_logrank_test(D['Wait time'],\n", - " D['Time'],\n", - " D['Failed'])" - ] - }, - { - "cell_type": "markdown", - "id": "e56b7df7", - "metadata": {}, - "source": [ - "As in the case of a categorical variable with 2 outcomes, these\n", - "results are similar to the likelihood ratio test\n", - "from the Cox proportional hazards model. First, let’s\n", - "look at the results for `Center`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "36f7fa13", - "metadata": {}, - "outputs": [], - "source": [ - "X = MS(['Wait time',\n", - " 'Failed',\n", - " 'Center'],\n", - " intercept=False).fit_transform(D)\n", - "F = coxph().fit(X, 'Wait time', 'Failed')\n", - "F.log_likelihood_ratio_test()" - ] - }, - { - "cell_type": "markdown", - "id": "68ab32c8", - "metadata": {}, - "source": [ - "Next, the results for `Time`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e03b31e6", - "metadata": {}, - "outputs": [], - "source": [ - "X = MS(['Wait time',\n", - " 'Failed',\n", - " 'Time'],\n", - " intercept=False).fit_transform(D)\n", - "F = coxph().fit(X, 'Wait time', 'Failed')\n", - "F.log_likelihood_ratio_test()" - ] - }, - { - "cell_type": "markdown", - "id": "fda76031", - "metadata": {}, - "source": [ - "We find that differences between centers are highly significant, as\n", - "are differences between times of day.\n", - "\n", - "Finally, we fit a complete Cox’s proportional hazards model to the data." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e5022c12", - "metadata": {}, - "outputs": [], - "source": [ - "X = MS(D.columns,\n", - " intercept=False).fit_transform(D)\n", - "fit_queuing = coxph().fit(\n", - " X,\n", - " 'Wait time',\n", - " 'Failed')\n", - "fit_queuing.summary[['coef', 'se(coef)', 'p']]" - ] - }, - { - "cell_type": "markdown", - "id": "847ebaa7", - "metadata": {}, - "source": [ - "The $p$-values for Center B and evening time\n", - "are very small. It is also clear that the\n", - "hazard — that is, the instantaneous risk that a call will be\n", - "answered — increases with the number of operators. Since we\n", - "generated the data ourselves, we know that the true coefficients for\n", - "Center B, Center C, Operators\n", - "evening time, and morning time are $-0.3$,\n", - "$0$, $0.04$, and $0.2$, $-0.2$, respectively. The coefficient estimates\n", - "resulting from the Cox model are fairly accurate." - ] - } - ], - "metadata": { - "jupytext": { - "cell_metadata_filter": "all", - "formats": "ipynb,md:myst", - "notebook_metadata_filter": "all" - }, - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/source/labs/Ch2-statlearn-lab.ipynb b/docs/source/labs/Ch2-statlearn-lab.ipynb deleted file mode 100644 index 1247790..0000000 --- a/docs/source/labs/Ch2-statlearn-lab.ipynb +++ /dev/null @@ -1,3586 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "46456e09", - "metadata": {}, - "source": [ - "# Introduction to Python\n", - "\n", - "\n", - " \"Open\n", - "\n", - "" - ] - }, - { - "cell_type": "markdown", - "id": "e9222139", - "metadata": {}, - "source": [ - "## Getting Started" - ] - }, - { - "cell_type": "markdown", - "id": "a84726ab", - "metadata": {}, - "source": [ - "To run the labs in this book, you will need two things:\n", - "\n", - "* An installation of `Python3`, which is the specific version of `Python` used in the labs. \n", - "* Access to `Jupyter`, a very popular `Python` interface that runs code through a file called a *notebook*." - ] - }, - { - "cell_type": "markdown", - "id": "f922cc9e", - "metadata": {}, - "source": [ - "You can download and install `Python3` by following the instructions available at [anaconda.com](http://anaconda.com)." - ] - }, - { - "cell_type": "markdown", - "id": "baaeada6", - "metadata": {}, - "source": [ - " There are a number of ways to get access to `Jupyter`. Here are just a few:\n", - " \n", - " * Using Google's `Colaboratory` service: [colab.research.google.com/](https://colab.research.google.com/). \n", - " * Using `JupyterHub`, available at [jupyter.org/hub](https://jupyter.org/hub). \n", - " * Using your own `jupyter` installation. Installation instructions are available at [jupyter.org/install](https://jupyter.org/install). \n", - " \n", - "Please see the `Python` resources page on the book website [statlearning.com](https://www.statlearning.com) for up-to-date information about getting `Python` and `Jupyter` working on your computer. \n", - "\n", - "You will need to install the `ISLP` package, which provides access to the datasets and custom-built functions that we provide.\n", - "Inside a macOS or Linux terminal type `pip install ISLP`; this also installs most other packages needed in the labs. The `Python` resources page has a link to the `ISLP` documentation website.\n", - "\n", - "To run this lab, download the file `Ch2-statlearn-lab.ipynb` from the `Python` resources page. \n", - "Now run the following code at the command line: `jupyter lab Ch2-statlearn-lab.ipynb`.\n", - "\n", - "If you're using Windows, you can use the `start menu` to access `anaconda`, and follow the links. For example, to install `ISLP` and run this lab, you can run the same code above in an `anaconda` shell." - ] - }, - { - "cell_type": "markdown", - "id": "7a44fbd9", - "metadata": {}, - "source": [ - "## Basic Commands" - ] - }, - { - "cell_type": "markdown", - "id": "3831ff0d", - "metadata": {}, - "source": [ - "In this lab, we will introduce some simple `Python` commands. \n", - " For more resources about `Python` in general, readers may want to consult the tutorial at [docs.python.org/3/tutorial/](https://docs.python.org/3/tutorial/)." - ] - }, - { - "cell_type": "markdown", - "id": "b5460488", - "metadata": {}, - "source": [ - "Like most programming languages, `Python` uses *functions*\n", - "to perform operations. To run a\n", - "function called `fun`, we type\n", - "`fun(input1,input2)`, where the inputs (or *arguments*)\n", - "`input1` and `input2` tell\n", - "`Python` how to run the function. A function can have any number of\n", - "inputs. For example, the\n", - "`print()` function outputs a text representation of all of its arguments to the console." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "88d0bfff", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:13.653253Z", - "iopub.status.busy": "2023-07-26T05:29:13.653107Z", - "iopub.status.idle": "2023-07-26T05:29:13.659825Z", - "shell.execute_reply": "2023-07-26T05:29:13.659469Z" - } - }, - "outputs": [], - "source": [ - "print('fit a model with', 11, 'variables')" - ] - }, - { - "cell_type": "markdown", - "id": "9c07629a", - "metadata": {}, - "source": [ - " The following command will provide information about the `print()` function." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ebe7aca8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:13.662377Z", - "iopub.status.busy": "2023-07-26T05:29:13.662207Z", - "iopub.status.idle": "2023-07-26T05:29:13.664797Z", - "shell.execute_reply": "2023-07-26T05:29:13.664422Z" - } - }, - "outputs": [], - "source": [ - "print?" - ] - }, - { - "cell_type": "markdown", - "id": "b0c41d18", - "metadata": {}, - "source": [ - "Adding two integers in `Python` is pretty intuitive." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "df2f8168", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:13.666990Z", - "iopub.status.busy": "2023-07-26T05:29:13.666828Z", - "iopub.status.idle": "2023-07-26T05:29:13.670697Z", - "shell.execute_reply": "2023-07-26T05:29:13.670233Z" - } - }, - "outputs": [], - "source": [ - "3 + 5" - ] - }, - { - "cell_type": "markdown", - "id": "7e7b4195", - "metadata": {}, - "source": [ - "In `Python`, textual data is handled using\n", - "*strings*. For instance, `\"hello\"` and\n", - "`'hello'`\n", - "are strings. \n", - "We can concatenate them using the addition `+` symbol." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4cc5c2c1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:13.673136Z", - "iopub.status.busy": "2023-07-26T05:29:13.672979Z", - "iopub.status.idle": "2023-07-26T05:29:13.675685Z", - "shell.execute_reply": "2023-07-26T05:29:13.675286Z" - } - }, - "outputs": [], - "source": [ - "\"hello\" + \" \" + \"world\"" - ] - }, - { - "cell_type": "markdown", - "id": "cfda314a", - "metadata": {}, - "source": [ - " A string is actually a type of *sequence*: this is a generic term for an ordered list. \n", - " The three most important types of sequences are lists, tuples, and strings. \n", - "We introduce lists now." - ] - }, - { - "cell_type": "markdown", - "id": "764ca7ea", - "metadata": {}, - "source": [ - "The following command instructs `Python` to join together\n", - "the numbers 3, 4, and 5, and to save them as a\n", - "*list* named `x`. When we\n", - "type `x`, it gives us back the list." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e5d81180", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:13.677943Z", - "iopub.status.busy": "2023-07-26T05:29:13.677800Z", - "iopub.status.idle": "2023-07-26T05:29:13.680585Z", - "shell.execute_reply": "2023-07-26T05:29:13.680100Z" - } - }, - "outputs": [], - "source": [ - "x = [3, 4, 5]\n", - "x" - ] - }, - { - "cell_type": "markdown", - "id": "a2e75dce", - "metadata": {}, - "source": [ - "Note that we used the brackets\n", - "`[]` to construct this list. \n", - "\n", - "We will often want to add two sets of numbers together. It is reasonable to try the following code,\n", - "though it will not produce the desired results." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "425a714c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:13.682740Z", - "iopub.status.busy": "2023-07-26T05:29:13.682602Z", - "iopub.status.idle": "2023-07-26T05:29:13.685374Z", - "shell.execute_reply": "2023-07-26T05:29:13.684966Z" - } - }, - "outputs": [], - "source": [ - "y = [4, 9, 7]\n", - "x + y" - ] - }, - { - "cell_type": "markdown", - "id": "245f069e", - "metadata": {}, - "source": [ - "The result may appear slightly counterintuitive: why did `Python` not add the entries of the lists\n", - "element-by-element? \n", - " In `Python`, lists hold *arbitrary* objects, and are added using *concatenation*. \n", - " In fact, concatenation is the behavior that we saw earlier when we entered `\"hello\" + \" \" + \"world\"`." - ] - }, - { - "cell_type": "markdown", - "id": "071caddd", - "metadata": {}, - "source": [ - "This example reflects the fact that \n", - " `Python` is a general-purpose programming language. Much of `Python`'s data-specific\n", - "functionality comes from other packages, notably `numpy`\n", - "and `pandas`. \n", - "In the next section, we will introduce the `numpy` package. More information about `numpy` can be found at \n", - "[docs.scipy.org/doc/numpy/user/quickstart.html](https://docs.scipy.org/doc/numpy/user/quickstart.html)." - ] - }, - { - "cell_type": "markdown", - "id": "25581a8e", - "metadata": {}, - "source": [ - "## Introduction to Numerical Python\n", - "\n", - "As mentioned earlier, this book makes use of functionality that is contained in the `numpy` \n", - " *library*, or *package*. A package is a collection of modules that are not necessarily included in \n", - " the base `Python` distribution. The name `numpy` is an abbreviation for *numerical Python*." - ] - }, - { - "cell_type": "markdown", - "id": "851a40d6", - "metadata": {}, - "source": [ - " To access `numpy`, we must first `import` it." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2f88669a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:13.688017Z", - "iopub.status.busy": "2023-07-26T05:29:13.687702Z", - "iopub.status.idle": "2023-07-26T05:29:13.902613Z", - "shell.execute_reply": "2023-07-26T05:29:13.901721Z" - } - }, - "outputs": [], - "source": [ - "import numpy as np " - ] - }, - { - "cell_type": "markdown", - "id": "5bdc55d1", - "metadata": {}, - "source": [ - "In the previous line, we named the `numpy` *module* `np`; an abbreviation for easier referencing." - ] - }, - { - "cell_type": "markdown", - "id": "7b2cbe8b", - "metadata": {}, - "source": [ - "In `numpy`, an *array* is a generic term for a multidimensional\n", - "set of numbers.\n", - "We use the `np.array()` function to define `x` and `y`, which are one-dimensional arrays, i.e. vectors." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e8ec382a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:13.908393Z", - "iopub.status.busy": "2023-07-26T05:29:13.907922Z", - "iopub.status.idle": "2023-07-26T05:29:13.914563Z", - "shell.execute_reply": "2023-07-26T05:29:13.912356Z" - } - }, - "outputs": [], - "source": [ - "x = np.array([3, 4, 5])\n", - "y = np.array([4, 9, 7])" - ] - }, - { - "cell_type": "markdown", - "id": "3a5ce193", - "metadata": {}, - "source": [ - "Note that if you forgot to run the `import numpy as np` command earlier, then\n", - "you will encounter an error in calling the `np.array()` function in the previous line. \n", - " The syntax `np.array()` indicates that the function being called\n", - "is part of the `numpy` package, which we have abbreviated as `np`." - ] - }, - { - "cell_type": "markdown", - "id": "b21e6ebd", - "metadata": {}, - "source": [ - "Since `x` and `y` have been defined using `np.array()`, we get a sensible result when we add them together. Compare this to our results in the previous section,\n", - " when we tried to add two lists without using `numpy`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "04de39ad", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:13.919758Z", - "iopub.status.busy": "2023-07-26T05:29:13.919275Z", - "iopub.status.idle": "2023-07-26T05:29:13.929618Z", - "shell.execute_reply": "2023-07-26T05:29:13.928417Z" - } - }, - "outputs": [], - "source": [ - "x + y" - ] - }, - { - "cell_type": "markdown", - "id": "33df3775", - "metadata": {}, - "source": [ - "In `numpy`, matrices are typically represented as two-dimensional arrays, and vectors as one-dimensional arrays. {While it is also possible to create matrices using `np.matrix()`, we will use `np.array()` throughout the labs in this book.}\n", - "We can create a two-dimensional array as follows." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fee5d798", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:13.934509Z", - "iopub.status.busy": "2023-07-26T05:29:13.934172Z", - "iopub.status.idle": "2023-07-26T05:29:13.941331Z", - "shell.execute_reply": "2023-07-26T05:29:13.939888Z" - } - }, - "outputs": [], - "source": [ - "x = np.array([[1, 2], [3, 4]])\n", - "x" - ] - }, - { - "cell_type": "markdown", - "id": "86de84a5", - "metadata": {}, - "source": [ - "The object `x` has several \n", - "*attributes*, or associated objects. To access an attribute of `x`, we type `x.attribute`, where we replace `attribute`\n", - "with the name of the attribute. \n", - "For instance, we can access the `ndim` attribute of `x` as follows." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5871ca00", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:13.946610Z", - "iopub.status.busy": "2023-07-26T05:29:13.945948Z", - "iopub.status.idle": "2023-07-26T05:29:13.952982Z", - "shell.execute_reply": "2023-07-26T05:29:13.951422Z" - } - }, - "outputs": [], - "source": [ - "x.ndim" - ] - }, - { - "cell_type": "markdown", - "id": "71a44f8e", - "metadata": {}, - "source": [ - "The output indicates that `x` is a two-dimensional array. \n", - "Similarly, `x.dtype` is the *data type* attribute of the object `x`. This indicates that `x` is \n", - "comprised of 64-bit integers:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5a32759c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:13.958221Z", - "iopub.status.busy": "2023-07-26T05:29:13.957674Z", - "iopub.status.idle": "2023-07-26T05:29:13.965373Z", - "shell.execute_reply": "2023-07-26T05:29:13.964551Z" - } - }, - "outputs": [], - "source": [ - "x.dtype" - ] - }, - { - "cell_type": "markdown", - "id": "e770da51", - "metadata": {}, - "source": [ - "Why is `x` comprised of integers? This is because we created `x` by passing in exclusively integers to the `np.array()` function.\n", - " If\n", - "we had passed in any decimals, then we would have obtained an array of\n", - "*floating point numbers* (i.e. real-valued numbers)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "55f01b16", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:13.970795Z", - "iopub.status.busy": "2023-07-26T05:29:13.970020Z", - "iopub.status.idle": "2023-07-26T05:29:13.977698Z", - "shell.execute_reply": "2023-07-26T05:29:13.976971Z" - } - }, - "outputs": [], - "source": [ - "np.array([[1, 2], [3.0, 4]]).dtype" - ] - }, - { - "cell_type": "markdown", - "id": "4595300f", - "metadata": {}, - "source": [ - "Typing `fun?` will cause `Python` to display \n", - "documentation associated with the function `fun`, if it exists.\n", - "We can try this for `np.array()`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2a9de618", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:13.983003Z", - "iopub.status.busy": "2023-07-26T05:29:13.982433Z", - "iopub.status.idle": "2023-07-26T05:29:13.987748Z", - "shell.execute_reply": "2023-07-26T05:29:13.986808Z" - } - }, - "outputs": [], - "source": [ - "np.array?" - ] - }, - { - "cell_type": "markdown", - "id": "9640f3fe", - "metadata": {}, - "source": [ - "This documentation indicates that we could create a floating point array by passing a `dtype` argument into `np.array()`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "33e3e6ea", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:13.997637Z", - "iopub.status.busy": "2023-07-26T05:29:13.996561Z", - "iopub.status.idle": "2023-07-26T05:29:14.002488Z", - "shell.execute_reply": "2023-07-26T05:29:14.001948Z" - } - }, - "outputs": [], - "source": [ - "np.array([[1, 2], [3, 4]], float).dtype" - ] - }, - { - "cell_type": "markdown", - "id": "fbf59c0e", - "metadata": {}, - "source": [ - "The array `x` is two-dimensional. We can find out the number of rows and columns by looking\n", - "at its `shape` attribute." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "623f8434", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.004972Z", - "iopub.status.busy": "2023-07-26T05:29:14.004832Z", - "iopub.status.idle": "2023-07-26T05:29:14.007701Z", - "shell.execute_reply": "2023-07-26T05:29:14.007253Z" - } - }, - "outputs": [], - "source": [ - "x.shape" - ] - }, - { - "cell_type": "markdown", - "id": "81f0bbae", - "metadata": {}, - "source": [ - "A *method* is a function that is associated with an\n", - "object. \n", - "For instance, given an array `x`, the expression\n", - "`x.sum()` sums all of its elements, using the `sum()`\n", - "method for arrays. \n", - "The call `x.sum()` automatically provides `x` as the\n", - "first argument to its `sum()` method." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "235738a7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.010160Z", - "iopub.status.busy": "2023-07-26T05:29:14.009950Z", - "iopub.status.idle": "2023-07-26T05:29:14.013139Z", - "shell.execute_reply": "2023-07-26T05:29:14.012702Z" - } - }, - "outputs": [], - "source": [ - "x = np.array([1, 2, 3, 4])\n", - "x.sum()" - ] - }, - { - "cell_type": "markdown", - "id": "72373ccf", - "metadata": {}, - "source": [ - "We could also sum the elements of `x` by passing in `x` as an argument to the `np.sum()` function." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7f3494e1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.015464Z", - "iopub.status.busy": "2023-07-26T05:29:14.015347Z", - "iopub.status.idle": "2023-07-26T05:29:14.018540Z", - "shell.execute_reply": "2023-07-26T05:29:14.017992Z" - } - }, - "outputs": [], - "source": [ - "x = np.array([1, 2, 3, 4])\n", - "np.sum(x)" - ] - }, - { - "cell_type": "markdown", - "id": "69967e23", - "metadata": {}, - "source": [ - " As another example, the\n", - "`reshape()` method returns a new array with the same elements as\n", - "`x`, but a different shape.\n", - " We do this by passing in a `tuple` in our call to\n", - " `reshape()`, in this case `(2, 3)`. This tuple specifies that we would like to create a two-dimensional array with \n", - "$2$ rows and $3$ columns. {Like lists, tuples represent a sequence of objects. Why do we need more than one way to create a sequence? There are a few differences between tuples and lists, but perhaps the most important is that elements of a tuple cannot be modified, whereas elements of a list can be.}\n", - " \n", - "In what follows, the\n", - "`\\n` character creates a *new line*." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0ca8f936", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.020924Z", - "iopub.status.busy": "2023-07-26T05:29:14.020756Z", - "iopub.status.idle": "2023-07-26T05:29:14.023635Z", - "shell.execute_reply": "2023-07-26T05:29:14.023118Z" - } - }, - "outputs": [], - "source": [ - "x = np.array([1, 2, 3, 4, 5, 6])\n", - "print('beginning x:\\n', x)\n", - "x_reshape = x.reshape((2, 3))\n", - "print('reshaped x:\\n', x_reshape)" - ] - }, - { - "cell_type": "markdown", - "id": "0c1e36ab", - "metadata": {}, - "source": [ - "The previous output reveals that `numpy` arrays are specified as a sequence\n", - "of *rows*. This is called *row-major ordering*, as opposed to *column-major ordering*." - ] - }, - { - "cell_type": "markdown", - "id": "45263db2", - "metadata": {}, - "source": [ - "`Python` (and hence `numpy`) uses 0-based\n", - "indexing. This means that to access the top left element of `x_reshape`, \n", - "we type in `x_reshape[0,0]`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "23fba624", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.026491Z", - "iopub.status.busy": "2023-07-26T05:29:14.026156Z", - "iopub.status.idle": "2023-07-26T05:29:14.029404Z", - "shell.execute_reply": "2023-07-26T05:29:14.028872Z" - } - }, - "outputs": [], - "source": [ - "x_reshape[0, 0] " - ] - }, - { - "cell_type": "markdown", - "id": "26f1717c", - "metadata": {}, - "source": [ - "Similarly, `x_reshape[1,2]` yields the element in the second row and the third column \n", - "of `x_reshape`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1a1df926", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.031676Z", - "iopub.status.busy": "2023-07-26T05:29:14.031560Z", - "iopub.status.idle": "2023-07-26T05:29:14.034395Z", - "shell.execute_reply": "2023-07-26T05:29:14.033993Z" - } - }, - "outputs": [], - "source": [ - "x_reshape[1, 2] " - ] - }, - { - "cell_type": "markdown", - "id": "c6d6d359", - "metadata": {}, - "source": [ - "Similarly, `x[2]` yields the\n", - "third entry of `x`. \n", - "\n", - "Now, let's modify the top left element of `x_reshape`. To our surprise, we discover that the first element of `x` has been modified as well!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4bfcc1e1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.036755Z", - "iopub.status.busy": "2023-07-26T05:29:14.036603Z", - "iopub.status.idle": "2023-07-26T05:29:14.039645Z", - "shell.execute_reply": "2023-07-26T05:29:14.039150Z" - } - }, - "outputs": [], - "source": [ - "print('x before we modify x_reshape:\\n', x)\n", - "print('x_reshape before we modify x_reshape:\\n', x_reshape)\n", - "x_reshape[0, 0] = 5\n", - "print('x_reshape after we modify its top left element:\\n', x_reshape)\n", - "print('x after we modify top left element of x_reshape:\\n', x)" - ] - }, - { - "cell_type": "markdown", - "id": "10ff8c21", - "metadata": {}, - "source": [ - "Modifying `x_reshape` also modified `x` because the two objects occupy the same space in memory." - ] - }, - { - "cell_type": "markdown", - "id": "ff267ecb", - "metadata": {}, - "source": [ - "We just saw that we can modify an element of an array. Can we also modify a tuple? It turns out that we cannot --- and trying to do so introduces\n", - "an *exception*, or error." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "973c562a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.042240Z", - "iopub.status.busy": "2023-07-26T05:29:14.042111Z", - "iopub.status.idle": "2023-07-26T05:29:14.226949Z", - "shell.execute_reply": "2023-07-26T05:29:14.226329Z" - } - }, - "outputs": [], - "source": [ - "my_tuple = (3, 4, 5)\n", - "my_tuple[0] = 2" - ] - }, - { - "cell_type": "markdown", - "id": "56393fe3", - "metadata": {}, - "source": [ - "We now briefly mention some attributes of arrays that will come in handy. An array's `shape` attribute contains its dimension; this is always a tuple.\n", - "The `ndim` attribute yields the number of dimensions, and `T` provides its transpose." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "56b5c382", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.229928Z", - "iopub.status.busy": "2023-07-26T05:29:14.229597Z", - "iopub.status.idle": "2023-07-26T05:29:14.233213Z", - "shell.execute_reply": "2023-07-26T05:29:14.232504Z" - } - }, - "outputs": [], - "source": [ - "x_reshape.shape, x_reshape.ndim, x_reshape.T" - ] - }, - { - "cell_type": "markdown", - "id": "22408350", - "metadata": {}, - "source": [ - "Notice that the three individual outputs `(2,3)`, `2`, and `array([[5, 4],[2, 5], [3,6]])` are themselves output as a tuple. \n", - " \n", - "We will often want to apply functions to arrays. \n", - "For instance, we can compute the\n", - "square root of the entries using the `np.sqrt()` function:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2e624622", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.235702Z", - "iopub.status.busy": "2023-07-26T05:29:14.235564Z", - "iopub.status.idle": "2023-07-26T05:29:14.238916Z", - "shell.execute_reply": "2023-07-26T05:29:14.238262Z" - } - }, - "outputs": [], - "source": [ - "np.sqrt(x)" - ] - }, - { - "cell_type": "markdown", - "id": "6c3e074d", - "metadata": {}, - "source": [ - "We can also square the elements:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6f45bd25", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.241171Z", - "iopub.status.busy": "2023-07-26T05:29:14.241044Z", - "iopub.status.idle": "2023-07-26T05:29:14.244021Z", - "shell.execute_reply": "2023-07-26T05:29:14.243599Z" - } - }, - "outputs": [], - "source": [ - "x**2" - ] - }, - { - "cell_type": "markdown", - "id": "481ca03c", - "metadata": {}, - "source": [ - "We can compute the square roots using the same notation, raising to the power of $1/2$ instead of 2." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6980f628", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.246394Z", - "iopub.status.busy": "2023-07-26T05:29:14.246080Z", - "iopub.status.idle": "2023-07-26T05:29:14.249174Z", - "shell.execute_reply": "2023-07-26T05:29:14.248827Z" - } - }, - "outputs": [], - "source": [ - "x**0.5" - ] - }, - { - "cell_type": "markdown", - "id": "bc357745", - "metadata": {}, - "source": [ - "Throughout this book, we will often want to generate random data. \n", - "The `np.random.normal()` function generates a vector of random\n", - "normal variables. We can learn more about this function by looking at the help page, via a call to `np.random.normal?`.\n", - "The first line of the help page reads `normal(loc=0.0, scale=1.0, size=None)`. \n", - " This *signature* line tells us that the function's arguments are `loc`, `scale`, and `size`. These are *keyword* arguments, which means that when they are passed into\n", - " the function, they can be referred to by name (in any order). {`Python` also uses *positional* arguments. Positional arguments do not need to use a keyword. To see an example, type in `np.sum?`. We see that `a` is a positional argument, i.e. this function assumes that the first unnamed argument that it receives is the array to be summed. By contrast, `axis` and `dtype` are keyword arguments: the position in which these arguments are entered into `np.sum()` does not matter.}\n", - " By default, this function will generate random normal variable(s) with mean (`loc`) $0$ and standard deviation (`scale`) $1$; furthermore, \n", - " a single random variable will be generated unless the argument to `size` is changed. \n", - "\n", - "We now generate 50 independent random variables from a $N(0,1)$ distribution." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "89e32100", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.251585Z", - "iopub.status.busy": "2023-07-26T05:29:14.251451Z", - "iopub.status.idle": "2023-07-26T05:29:14.254814Z", - "shell.execute_reply": "2023-07-26T05:29:14.254443Z" - } - }, - "outputs": [], - "source": [ - "x = np.random.normal(size=50)\n", - "x" - ] - }, - { - "cell_type": "markdown", - "id": "80939b41", - "metadata": {}, - "source": [ - "We create an array `y` by adding an independent $N(50,1)$ random variable to each element of `x`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e3428155", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.257670Z", - "iopub.status.busy": "2023-07-26T05:29:14.257502Z", - "iopub.status.idle": "2023-07-26T05:29:14.259844Z", - "shell.execute_reply": "2023-07-26T05:29:14.259473Z" - } - }, - "outputs": [], - "source": [ - "y = x + np.random.normal(loc=50, scale=1, size=50)" - ] - }, - { - "cell_type": "markdown", - "id": "17f93000", - "metadata": {}, - "source": [ - "The `np.corrcoef()` function computes the correlation matrix between `x` and `y`. The off-diagonal elements give the \n", - "correlation between `x` and `y`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "df70172e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.262323Z", - "iopub.status.busy": "2023-07-26T05:29:14.262139Z", - "iopub.status.idle": "2023-07-26T05:29:14.266530Z", - "shell.execute_reply": "2023-07-26T05:29:14.266141Z" - } - }, - "outputs": [], - "source": [ - "np.corrcoef(x, y)" - ] - }, - { - "cell_type": "markdown", - "id": "8fb44ec4", - "metadata": {}, - "source": [ - "If you're following along in your own `Jupyter` notebook, then you probably noticed that you got a different set of results when you ran the past few \n", - "commands. In particular, \n", - " each\n", - "time we call `np.random.normal()`, we will get a different answer, as shown in the following example." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1d996956", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.269539Z", - "iopub.status.busy": "2023-07-26T05:29:14.269386Z", - "iopub.status.idle": "2023-07-26T05:29:14.272569Z", - "shell.execute_reply": "2023-07-26T05:29:14.271780Z" - } - }, - "outputs": [], - "source": [ - "print(np.random.normal(scale=5, size=2))\n", - "print(np.random.normal(scale=5, size=2)) " - ] - }, - { - "cell_type": "markdown", - "id": "988ca34a", - "metadata": {}, - "source": [ - "In order to ensure that our code provides exactly the same results\n", - "each time it is run, we can set a *random seed* \n", - "using the \n", - "`np.random.default_rng()` function.\n", - "This function takes an arbitrary, user-specified integer argument. If we set a random seed before \n", - "generating random data, then re-running our code will yield the same results. The\n", - "object `rng` has essentially all the random number generating methods found in `np.random`. Hence, to\n", - "generate normal data we use `rng.normal()`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "37b3a30b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.275409Z", - "iopub.status.busy": "2023-07-26T05:29:14.275284Z", - "iopub.status.idle": "2023-07-26T05:29:14.279259Z", - "shell.execute_reply": "2023-07-26T05:29:14.278925Z" - } - }, - "outputs": [], - "source": [ - "rng = np.random.default_rng(1303)\n", - "print(rng.normal(scale=5, size=2))\n", - "rng2 = np.random.default_rng(1303)\n", - "print(rng2.normal(scale=5, size=2)) " - ] - }, - { - "cell_type": "markdown", - "id": "039e7f65", - "metadata": {}, - "source": [ - "Throughout the labs in this book, we use `np.random.default_rng()` whenever we\n", - "perform calculations involving random quantities within `numpy`. In principle, this\n", - "should enable the reader to exactly reproduce the stated results. However, as new versions of `numpy` become available, it is possible\n", - "that some small discrepancies may occur between the output\n", - "in the labs and the output\n", - "from `numpy`.\n", - "\n", - "The `np.mean()`, `np.var()`, and `np.std()` functions can be used\n", - "to compute the mean, variance, and standard deviation of arrays. These functions are also\n", - "available as methods on the arrays." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b4f99e0e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.282826Z", - "iopub.status.busy": "2023-07-26T05:29:14.282508Z", - "iopub.status.idle": "2023-07-26T05:29:14.285616Z", - "shell.execute_reply": "2023-07-26T05:29:14.285268Z" - } - }, - "outputs": [], - "source": [ - "rng = np.random.default_rng(3)\n", - "y = rng.standard_normal(10)\n", - "np.mean(y), y.mean()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "dbd70319", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.287760Z", - "iopub.status.busy": "2023-07-26T05:29:14.287646Z", - "iopub.status.idle": "2023-07-26T05:29:14.290801Z", - "shell.execute_reply": "2023-07-26T05:29:14.290395Z" - } - }, - "outputs": [], - "source": [ - "np.var(y), y.var(), np.mean((y - y.mean())**2)" - ] - }, - { - "cell_type": "markdown", - "id": "ba51f245", - "metadata": {}, - "source": [ - "Notice that by default `np.var()` divides by the sample size $n$ rather\n", - "than $n-1$; see the `ddof` argument in `np.var?`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bf281844", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.292985Z", - "iopub.status.busy": "2023-07-26T05:29:14.292843Z", - "iopub.status.idle": "2023-07-26T05:29:14.295775Z", - "shell.execute_reply": "2023-07-26T05:29:14.295412Z" - } - }, - "outputs": [], - "source": [ - "np.sqrt(np.var(y)), np.std(y)" - ] - }, - { - "cell_type": "markdown", - "id": "877ca8e0", - "metadata": {}, - "source": [ - "The `np.mean()`, `np.var()`, and `np.std()` functions can also be applied to the rows and columns of a matrix. \n", - "To see this, we construct a $10 \\times 3$ matrix of $N(0,1)$ random variables, and consider computing its row sums." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f751b1dd", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.297946Z", - "iopub.status.busy": "2023-07-26T05:29:14.297809Z", - "iopub.status.idle": "2023-07-26T05:29:14.300890Z", - "shell.execute_reply": "2023-07-26T05:29:14.300481Z" - } - }, - "outputs": [], - "source": [ - "X = rng.standard_normal((10, 3))\n", - "X" - ] - }, - { - "cell_type": "markdown", - "id": "f9028e1a", - "metadata": {}, - "source": [ - "Since arrays are row-major ordered, the first axis, i.e. `axis=0`, refers to its rows. We pass this argument into the `mean()` method for the object `X`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cbf92de5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.303121Z", - "iopub.status.busy": "2023-07-26T05:29:14.303004Z", - "iopub.status.idle": "2023-07-26T05:29:14.306153Z", - "shell.execute_reply": "2023-07-26T05:29:14.305697Z" - } - }, - "outputs": [], - "source": [ - "X.mean(axis=0)" - ] - }, - { - "cell_type": "markdown", - "id": "009195d4", - "metadata": {}, - "source": [ - "The following yields the same result." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "efacc213", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.308317Z", - "iopub.status.busy": "2023-07-26T05:29:14.308171Z", - "iopub.status.idle": "2023-07-26T05:29:14.311023Z", - "shell.execute_reply": "2023-07-26T05:29:14.310704Z" - } - }, - "outputs": [], - "source": [ - "X.mean(0)" - ] - }, - { - "cell_type": "markdown", - "id": "e33fa3fc", - "metadata": {}, - "source": [ - "## Graphics\n", - "In `Python`, common practice is to use the library\n", - "`matplotlib` for graphics.\n", - "However, since `Python` was not written with data analysis in mind,\n", - " the notion of plotting is not intrinsic to the language. \n", - "We will use the `subplots()` function\n", - "from `matplotlib.pyplot` to create a figure and the\n", - "axes onto which we plot our data.\n", - "For many more examples of how to make plots in `Python`,\n", - "readers are encouraged to visit [matplotlib.org/stable/gallery/](https://matplotlib.org/stable/gallery/index.html).\n", - "\n", - "In `matplotlib`, a plot consists of a *figure* and one or more *axes*. You can think of the figure as the blank canvas upon which \n", - "one or more plots will be displayed: it is the entire plotting window. \n", - "The *axes* contain important information about each plot, such as its $x$- and $y$-axis labels,\n", - "title, and more. (Note that in `matplotlib`, the word *axes* is not the plural of *axis*: a plot's *axes* contains much more information \n", - "than just the $x$-axis and the $y$-axis.)\n", - "\n", - "We begin by importing the `subplots()` function\n", - "from `matplotlib`. We use this function\n", - "throughout when creating figures.\n", - "The function returns a tuple of length two: a figure\n", - "object as well as the relevant axes object. We will typically\n", - "pass `figsize` as a keyword argument.\n", - "Having created our axes, we attempt our first plot using its `plot()` method.\n", - "To learn more about it, \n", - "type `ax.plot?`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "637fb67d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.313130Z", - "iopub.status.busy": "2023-07-26T05:29:14.312981Z", - "iopub.status.idle": "2023-07-26T05:29:14.818758Z", - "shell.execute_reply": "2023-07-26T05:29:14.818230Z" - } - }, - "outputs": [], - "source": [ - "from matplotlib.pyplot import subplots\n", - "fig, ax = subplots(figsize=(8, 8))\n", - "x = rng.standard_normal(100)\n", - "y = rng.standard_normal(100)\n", - "ax.plot(x, y);" - ] - }, - { - "cell_type": "markdown", - "id": "ca04f15f", - "metadata": {}, - "source": [ - "We pause here to note that we have *unpacked* the tuple of length two returned by `subplots()` into the two distinct\n", - "variables `fig` and `ax`. Unpacking\n", - "is typically preferred to the following equivalent but slightly more verbose code:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "109d681d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.821437Z", - "iopub.status.busy": "2023-07-26T05:29:14.821210Z", - "iopub.status.idle": "2023-07-26T05:29:14.906268Z", - "shell.execute_reply": "2023-07-26T05:29:14.905878Z" - } - }, - "outputs": [], - "source": [ - "output = subplots(figsize=(8, 8))\n", - "fig = output[0]\n", - "ax = output[1]" - ] - }, - { - "cell_type": "markdown", - "id": "5509508c", - "metadata": {}, - "source": [ - "We see that our earlier cell produced a line plot, which is the default. To create a scatterplot, we provide an additional argument to `ax.plot()`, indicating that circles should be displayed." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e905982c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.908936Z", - "iopub.status.busy": "2023-07-26T05:29:14.908699Z", - "iopub.status.idle": "2023-07-26T05:29:14.995469Z", - "shell.execute_reply": "2023-07-26T05:29:14.994686Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8, 8))\n", - "ax.plot(x, y, 'o');" - ] - }, - { - "cell_type": "markdown", - "id": "42166016", - "metadata": {}, - "source": [ - "Different values\n", - "of this additional argument can be used to produce different colored lines\n", - "as well as different linestyles." - ] - }, - { - "cell_type": "markdown", - "id": "a99dac78", - "metadata": {}, - "source": [ - "As an alternative, we could use the `ax.scatter()` function to create a scatterplot." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "27133a4e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:14.997995Z", - "iopub.status.busy": "2023-07-26T05:29:14.997801Z", - "iopub.status.idle": "2023-07-26T05:29:15.089963Z", - "shell.execute_reply": "2023-07-26T05:29:15.089604Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8, 8))\n", - "ax.scatter(x, y, marker='o');" - ] - }, - { - "cell_type": "markdown", - "id": "000c125e", - "metadata": {}, - "source": [ - "Notice that in the code blocks above, we have ended\n", - "the last line with a semicolon. This prevents `ax.plot(x, y)` from printing\n", - "text to the notebook. However, it does not prevent a plot from being produced. \n", - " If we omit the trailing semi-colon, then we obtain the following output:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ef41f90d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:15.092622Z", - "iopub.status.busy": "2023-07-26T05:29:15.092487Z", - "iopub.status.idle": "2023-07-26T05:29:15.212584Z", - "shell.execute_reply": "2023-07-26T05:29:15.211918Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8, 8))\n", - "ax.scatter(x, y, marker='o')" - ] - }, - { - "cell_type": "markdown", - "id": "014f66e5", - "metadata": {}, - "source": [ - "In what follows, we will use\n", - " trailing semicolons whenever the text that would be output is not\n", - "germane to the discussion at hand." - ] - }, - { - "cell_type": "markdown", - "id": "98a1db4a", - "metadata": {}, - "source": [ - "To label our plot, we make use of the `set_xlabel()`, `set_ylabel()`, and `set_title()` methods\n", - "of `ax`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "16a9cb99", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:15.215419Z", - "iopub.status.busy": "2023-07-26T05:29:15.215027Z", - "iopub.status.idle": "2023-07-26T05:29:15.330192Z", - "shell.execute_reply": "2023-07-26T05:29:15.328644Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8, 8))\n", - "ax.scatter(x, y, marker='o')\n", - "ax.set_xlabel(\"this is the x-axis\")\n", - "ax.set_ylabel(\"this is the y-axis\")\n", - "ax.set_title(\"Plot of X vs Y\");" - ] - }, - { - "cell_type": "markdown", - "id": "7f0af2d9", - "metadata": {}, - "source": [ - " Having access to the figure object `fig` itself means that we can go in and change some aspects and then redisplay it. Here, we change\n", - " the size from `(8, 8)` to `(12, 3)`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6707420e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:15.334119Z", - "iopub.status.busy": "2023-07-26T05:29:15.333963Z", - "iopub.status.idle": "2023-07-26T05:29:15.405814Z", - "shell.execute_reply": "2023-07-26T05:29:15.405400Z" - } - }, - "outputs": [], - "source": [ - "fig.set_size_inches(12,3)\n", - "fig" - ] - }, - { - "cell_type": "markdown", - "id": "3cf4ed3f", - "metadata": {}, - "source": [ - "Occasionally we will want to create several plots within a figure. This can be\n", - "achieved by passing additional arguments to `subplots()`. \n", - "Below, we create a $2 \\times 3$ grid of plots\n", - "in a figure of size determined by the `figsize` argument. In such\n", - "situations, there is often a relationship between the axes in the plots. For example,\n", - "all plots may have a common $x$-axis. The `subplots()` function can automatically handle\n", - "this situation when passed the keyword argument `sharex=True`.\n", - "The `axes` object below is an array pointing to different plots in the figure." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6c78ef8b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:15.408333Z", - "iopub.status.busy": "2023-07-26T05:29:15.408192Z", - "iopub.status.idle": "2023-07-26T05:29:15.732292Z", - "shell.execute_reply": "2023-07-26T05:29:15.731605Z" - } - }, - "outputs": [], - "source": [ - "fig, axes = subplots(nrows=2,\n", - " ncols=3,\n", - " figsize=(15, 5))" - ] - }, - { - "cell_type": "markdown", - "id": "40d89b7c", - "metadata": {}, - "source": [ - "We now produce a scatter plot with `'o'` in the second column of the first row and\n", - "a scatter plot with `'+'` in the third column of the second row." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a18402fb", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:15.734889Z", - "iopub.status.busy": "2023-07-26T05:29:15.734697Z", - "iopub.status.idle": "2023-07-26T05:29:15.959530Z", - "shell.execute_reply": "2023-07-26T05:29:15.959066Z" - } - }, - "outputs": [], - "source": [ - "axes[0,1].plot(x, y, 'o')\n", - "axes[1,2].scatter(x, y, marker='+')\n", - "fig" - ] - }, - { - "cell_type": "markdown", - "id": "d29648ec", - "metadata": {}, - "source": [ - "Type `subplots?` to learn more about \n", - "`subplots()`." - ] - }, - { - "cell_type": "markdown", - "id": "2a6a0c9e", - "metadata": {}, - "source": [ - "To save the output of `fig`, we call its `savefig()`\n", - "method. The argument `dpi` is the dots per inch, used\n", - "to determine how large the figure will be in pixels." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "80e18950", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:15.962416Z", - "iopub.status.busy": "2023-07-26T05:29:15.962231Z", - "iopub.status.idle": "2023-07-26T05:29:17.048215Z", - "shell.execute_reply": "2023-07-26T05:29:17.047676Z" - } - }, - "outputs": [], - "source": [ - "fig.savefig(\"Figure.png\", dpi=400)\n", - "fig.savefig(\"Figure.pdf\", dpi=200);" - ] - }, - { - "cell_type": "markdown", - "id": "b8e17a71", - "metadata": {}, - "source": [ - "We can continue to modify `fig` using step-by-step updates; for example, we can modify the range of the $x$-axis, re-save the figure, and even re-display it." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fe8c404d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.051216Z", - "iopub.status.busy": "2023-07-26T05:29:17.051042Z", - "iopub.status.idle": "2023-07-26T05:29:17.330983Z", - "shell.execute_reply": "2023-07-26T05:29:17.330378Z" - } - }, - "outputs": [], - "source": [ - "axes[0,1].set_xlim([-1,1])\n", - "fig.savefig(\"Figure_updated.jpg\")\n", - "fig" - ] - }, - { - "cell_type": "markdown", - "id": "55bff84e", - "metadata": {}, - "source": [ - "We now create some more sophisticated plots. The \n", - "`ax.contour()` method produces a *contour plot* \n", - "in order to represent three-dimensional data, similar to a\n", - "topographical map. It takes three arguments:\n", - "\n", - "* A vector of `x` values (the first dimension),\n", - "* A vector of `y` values (the second dimension), and\n", - "* A matrix whose elements correspond to the `z` value (the third\n", - "dimension) for each pair of `(x,y)` coordinates.\n", - "\n", - "To create `x` and `y`, we’ll use the function `np.linspace()`. The command `np.linspace(a, b, n)` \n", - "returns a vector of `n` numbers starting at `a` and ending at `b`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a99034cb", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.333539Z", - "iopub.status.busy": "2023-07-26T05:29:17.333339Z", - "iopub.status.idle": "2023-07-26T05:29:17.452013Z", - "shell.execute_reply": "2023-07-26T05:29:17.451505Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8, 8))\n", - "x = np.linspace(-np.pi, np.pi, 50)\n", - "y = x\n", - "f = np.multiply.outer(np.cos(y), 1 / (1 + x**2))\n", - "ax.contour(x, y, f);" - ] - }, - { - "cell_type": "markdown", - "id": "fd6d00e6", - "metadata": {}, - "source": [ - "We can increase the resolution by adding more levels to the image." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c613a5df", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.454682Z", - "iopub.status.busy": "2023-07-26T05:29:17.454485Z", - "iopub.status.idle": "2023-07-26T05:29:17.604571Z", - "shell.execute_reply": "2023-07-26T05:29:17.604143Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8, 8))\n", - "ax.contour(x, y, f, levels=45);" - ] - }, - { - "cell_type": "markdown", - "id": "c1f2c4bd", - "metadata": {}, - "source": [ - "To fine-tune the output of the\n", - "`ax.contour()` function, take a\n", - "look at the help file by typing `?plt.contour`.\n", - " \n", - "The `ax.imshow()` method is similar to \n", - "`ax.contour()`, except that it produces a color-coded plot\n", - "whose colors depend on the `z` value. This is known as a\n", - "*heatmap*, and is sometimes used to plot temperature in\n", - "weather forecasts." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bef21527", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.607805Z", - "iopub.status.busy": "2023-07-26T05:29:17.607474Z", - "iopub.status.idle": "2023-07-26T05:29:17.731227Z", - "shell.execute_reply": "2023-07-26T05:29:17.730768Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8, 8))\n", - "ax.imshow(f);" - ] - }, - { - "cell_type": "markdown", - "id": "35ed7b29", - "metadata": {}, - "source": [ - "## Sequences and Slice Notation" - ] - }, - { - "cell_type": "markdown", - "id": "bb0cee76", - "metadata": {}, - "source": [ - "As seen above, the\n", - "function `np.linspace()` can be used to create a sequence\n", - "of numbers." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4435ed50", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.733591Z", - "iopub.status.busy": "2023-07-26T05:29:17.733437Z", - "iopub.status.idle": "2023-07-26T05:29:17.736896Z", - "shell.execute_reply": "2023-07-26T05:29:17.736428Z" - } - }, - "outputs": [], - "source": [ - "seq1 = np.linspace(0, 10, 11)\n", - "seq1" - ] - }, - { - "cell_type": "markdown", - "id": "f1495e1b", - "metadata": {}, - "source": [ - "The function `np.arange()`\n", - " returns a sequence of numbers spaced out by `step`. If `step` is not specified, then a default value of $1$ is used. Let's create a sequence\n", - " that starts at $0$ and ends at $10$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7a2c664a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.739070Z", - "iopub.status.busy": "2023-07-26T05:29:17.738902Z", - "iopub.status.idle": "2023-07-26T05:29:17.742002Z", - "shell.execute_reply": "2023-07-26T05:29:17.741608Z" - } - }, - "outputs": [], - "source": [ - "seq2 = np.arange(0, 10)\n", - "seq2" - ] - }, - { - "cell_type": "markdown", - "id": "7b0e1b2f", - "metadata": {}, - "source": [ - "Why isn't $10$ output above? This has to do with *slice* notation in `Python`. \n", - "Slice notation \n", - "is used to index sequences such as lists, tuples and arrays.\n", - "Suppose we want to retrieve the fourth through sixth (inclusive) entries\n", - "of a string. We obtain a slice of the string using the indexing notation `[3:6]`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "810eafdf", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.744281Z", - "iopub.status.busy": "2023-07-26T05:29:17.744099Z", - "iopub.status.idle": "2023-07-26T05:29:17.747188Z", - "shell.execute_reply": "2023-07-26T05:29:17.746807Z" - } - }, - "outputs": [], - "source": [ - "\"hello world\"[3:6]" - ] - }, - { - "cell_type": "markdown", - "id": "d73d0b54", - "metadata": {}, - "source": [ - "In the code block above, the notation `3:6` is shorthand for `slice(3,6)` when used inside\n", - "`[]`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f7a9f652", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.749618Z", - "iopub.status.busy": "2023-07-26T05:29:17.749428Z", - "iopub.status.idle": "2023-07-26T05:29:17.752320Z", - "shell.execute_reply": "2023-07-26T05:29:17.751846Z" - } - }, - "outputs": [], - "source": [ - "\"hello world\"[slice(3,6)]" - ] - }, - { - "cell_type": "markdown", - "id": "be578cf4", - "metadata": {}, - "source": [ - "You might have expected `slice(3,6)` to output the fourth through seventh characters in the text string (recalling that `Python` begins its indexing at zero), but instead it output the fourth through sixth. \n", - " This also explains why the earlier `np.arange(0, 10)` command output only the integers from $0$ to $9$. \n", - "See the documentation `slice?` for useful options in creating slices." - ] - }, - { - "cell_type": "markdown", - "id": "7a9c183a", - "metadata": {}, - "source": [ - "## Indexing Data\n", - "To begin, we create a two-dimensional `numpy` array." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "24427538", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.754673Z", - "iopub.status.busy": "2023-07-26T05:29:17.754528Z", - "iopub.status.idle": "2023-07-26T05:29:17.758000Z", - "shell.execute_reply": "2023-07-26T05:29:17.757315Z" - } - }, - "outputs": [], - "source": [ - "A = np.array(np.arange(16)).reshape((4, 4))\n", - "A" - ] - }, - { - "cell_type": "markdown", - "id": "d2c583a0", - "metadata": {}, - "source": [ - "Typing `A[1,2]` retrieves the element corresponding to the second row and third\n", - "column. (As usual, `Python` indexes from $0.$)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "18684ed5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.760251Z", - "iopub.status.busy": "2023-07-26T05:29:17.760111Z", - "iopub.status.idle": "2023-07-26T05:29:17.763156Z", - "shell.execute_reply": "2023-07-26T05:29:17.762782Z" - } - }, - "outputs": [], - "source": [ - "A[1,2]" - ] - }, - { - "cell_type": "markdown", - "id": "b25734ec", - "metadata": {}, - "source": [ - "The first number after the open-bracket symbol `[`\n", - " refers to the row, and the second number refers to the column. \n", - "\n", - "### Indexing Rows, Columns, and Submatrices\n", - " To select multiple rows at a time, we can pass in a list\n", - " specifying our selection. For instance, `[1,3]` will retrieve the second and fourth rows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "34d27b73", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.765326Z", - "iopub.status.busy": "2023-07-26T05:29:17.765144Z", - "iopub.status.idle": "2023-07-26T05:29:17.768118Z", - "shell.execute_reply": "2023-07-26T05:29:17.767768Z" - } - }, - "outputs": [], - "source": [ - "A[[1,3]]" - ] - }, - { - "cell_type": "markdown", - "id": "97149703", - "metadata": {}, - "source": [ - "To select the first and third columns, we pass in `[0,2]` as the second argument in the square brackets.\n", - "In this case we need to supply the first argument `:` \n", - "which selects all rows." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1bb799c5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.770122Z", - "iopub.status.busy": "2023-07-26T05:29:17.769970Z", - "iopub.status.idle": "2023-07-26T05:29:17.773095Z", - "shell.execute_reply": "2023-07-26T05:29:17.772652Z" - } - }, - "outputs": [], - "source": [ - "A[:,[0,2]]" - ] - }, - { - "cell_type": "markdown", - "id": "2b9ce4a3", - "metadata": {}, - "source": [ - "Now, suppose that we want to select the submatrix made up of the second and fourth \n", - "rows as well as the first and third columns. This is where\n", - "indexing gets slightly tricky. It is natural to try to use lists to retrieve the rows and columns:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "de853e7c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.775350Z", - "iopub.status.busy": "2023-07-26T05:29:17.775182Z", - "iopub.status.idle": "2023-07-26T05:29:17.778160Z", - "shell.execute_reply": "2023-07-26T05:29:17.777807Z" - } - }, - "outputs": [], - "source": [ - "A[[1,3],[0,2]]" - ] - }, - { - "cell_type": "markdown", - "id": "dd57a0bf", - "metadata": {}, - "source": [ - " Oops --- what happened? We got a one-dimensional array of length 2 identical to" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e71bf672", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.780228Z", - "iopub.status.busy": "2023-07-26T05:29:17.780099Z", - "iopub.status.idle": "2023-07-26T05:29:17.783205Z", - "shell.execute_reply": "2023-07-26T05:29:17.782588Z" - } - }, - "outputs": [], - "source": [ - "np.array([A[1,0],A[3,2]])" - ] - }, - { - "cell_type": "markdown", - "id": "9cd50d44", - "metadata": {}, - "source": [ - " Similarly, the following code fails to extract the submatrix comprised of the second and fourth rows and the first, third, and fourth columns:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "458fe5c9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.785646Z", - "iopub.status.busy": "2023-07-26T05:29:17.785525Z", - "iopub.status.idle": "2023-07-26T05:29:17.812781Z", - "shell.execute_reply": "2023-07-26T05:29:17.812287Z" - } - }, - "outputs": [], - "source": [ - "A[[1,3],[0,2,3]]" - ] - }, - { - "cell_type": "markdown", - "id": "67657309", - "metadata": {}, - "source": [ - "We can see what has gone wrong here. When supplied with two indexing lists, the `numpy` interpretation is that these provide pairs of $i,j$ indices for a series of entries. That is why the pair of lists must have the same length. However, that was not our intent, since we are looking for a submatrix.\n", - "\n", - "One easy way to do this is as follows. We first create a submatrix by subsetting the rows of `A`, and then on the fly we make a further submatrix by subsetting its columns." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "703832ac", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.815878Z", - "iopub.status.busy": "2023-07-26T05:29:17.815556Z", - "iopub.status.idle": "2023-07-26T05:29:17.819079Z", - "shell.execute_reply": "2023-07-26T05:29:17.818526Z" - } - }, - "outputs": [], - "source": [ - "A[[1,3]][:,[0,2]]" - ] - }, - { - "cell_type": "markdown", - "id": "25c3a988", - "metadata": {}, - "source": [ - "There are more efficient ways of achieving the same result.\n", - "\n", - "The *convenience function* `np.ix_()` allows us to extract a submatrix\n", - "using lists, by creating an intermediate *mesh* object." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "dbf328b7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.821663Z", - "iopub.status.busy": "2023-07-26T05:29:17.821485Z", - "iopub.status.idle": "2023-07-26T05:29:17.825110Z", - "shell.execute_reply": "2023-07-26T05:29:17.824596Z" - } - }, - "outputs": [], - "source": [ - "idx = np.ix_([1,3],[0,2,3])\n", - "A[idx]" - ] - }, - { - "cell_type": "markdown", - "id": "13f73d32", - "metadata": {}, - "source": [ - "Alternatively, we can subset matrices efficiently using slices.\n", - " \n", - "The slice\n", - "`1:4:2` captures the second and fourth items of a sequence, while the slice `0:3:2` captures\n", - "the first and third items (the third element in a slice sequence is the step size)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "65784eb0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.827692Z", - "iopub.status.busy": "2023-07-26T05:29:17.827506Z", - "iopub.status.idle": "2023-07-26T05:29:17.830968Z", - "shell.execute_reply": "2023-07-26T05:29:17.830460Z" - } - }, - "outputs": [], - "source": [ - "A[1:4:2,0:3:2]" - ] - }, - { - "cell_type": "markdown", - "id": "481bc57a", - "metadata": {}, - "source": [ - "Why are we able to retrieve a submatrix directly using slices but not using lists?\n", - "Its because they are different `Python` types, and\n", - "are treated differently by `numpy`.\n", - "Slices can be used to extract objects from arbitrary sequences, such as strings, lists, and tuples, while the use of lists for indexing is more limited." - ] - }, - { - "cell_type": "markdown", - "id": "f1c55b8a", - "metadata": {}, - "source": [ - "### Boolean Indexing\n", - "In `numpy`, a *Boolean* is a type that equals either `True` or `False` (also represented as $1$ and $0$, respectively).\n", - "The next line creates a vector of $0$'s, represented as Booleans, of length equal to the first dimension of `A`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3ddb0d83", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.833837Z", - "iopub.status.busy": "2023-07-26T05:29:17.833652Z", - "iopub.status.idle": "2023-07-26T05:29:17.836642Z", - "shell.execute_reply": "2023-07-26T05:29:17.836240Z" - } - }, - "outputs": [], - "source": [ - "keep_rows = np.zeros(A.shape[0], bool)\n", - "keep_rows" - ] - }, - { - "cell_type": "markdown", - "id": "f3007c8d", - "metadata": {}, - "source": [ - "We now set two of the elements to `True`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "90e72009", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.839230Z", - "iopub.status.busy": "2023-07-26T05:29:17.839048Z", - "iopub.status.idle": "2023-07-26T05:29:17.844524Z", - "shell.execute_reply": "2023-07-26T05:29:17.841903Z" - } - }, - "outputs": [], - "source": [ - "keep_rows[[1,3]] = True\n", - "keep_rows" - ] - }, - { - "cell_type": "markdown", - "id": "932dac22", - "metadata": {}, - "source": [ - "Note that the elements of `keep_rows`, when viewed as integers, are the same as the\n", - "values of `np.array([0,1,0,1])`. Below, we use `==` to verify their equality. When\n", - "applied to two arrays, the `==` operation is applied elementwise." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fb3b6534", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.847591Z", - "iopub.status.busy": "2023-07-26T05:29:17.847413Z", - "iopub.status.idle": "2023-07-26T05:29:17.851043Z", - "shell.execute_reply": "2023-07-26T05:29:17.850650Z" - } - }, - "outputs": [], - "source": [ - "np.all(keep_rows == np.array([0,1,0,1]))" - ] - }, - { - "cell_type": "markdown", - "id": "a8cb48c0", - "metadata": {}, - "source": [ - "(Here, the function `np.all()` has checked whether\n", - "all entries of an array are `True`. A similar function, `np.any()`, can be used to check whether any entries of an array are `True`.)" - ] - }, - { - "cell_type": "markdown", - "id": "ac824821", - "metadata": {}, - "source": [ - " However, even though `np.array([0,1,0,1])` and `keep_rows` are equal according to `==`, they index different sets of rows!\n", - "The former retrieves the first, second, first, and second rows of `A`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b146db22", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.854162Z", - "iopub.status.busy": "2023-07-26T05:29:17.853950Z", - "iopub.status.idle": "2023-07-26T05:29:17.860504Z", - "shell.execute_reply": "2023-07-26T05:29:17.860073Z" - } - }, - "outputs": [], - "source": [ - "A[np.array([0,1,0,1])]" - ] - }, - { - "cell_type": "markdown", - "id": "c0b18644", - "metadata": {}, - "source": [ - " By contrast, `keep_rows` retrieves only the second and fourth rows of `A` --- i.e. the rows for which the Boolean equals `TRUE`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6bf7b4a3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.864709Z", - "iopub.status.busy": "2023-07-26T05:29:17.864481Z", - "iopub.status.idle": "2023-07-26T05:29:17.869279Z", - "shell.execute_reply": "2023-07-26T05:29:17.868135Z" - } - }, - "outputs": [], - "source": [ - "A[keep_rows]" - ] - }, - { - "cell_type": "markdown", - "id": "80686b74", - "metadata": {}, - "source": [ - "This example shows that Booleans and integers are treated differently by `numpy`." - ] - }, - { - "cell_type": "markdown", - "id": "d7905166", - "metadata": {}, - "source": [ - "We again make use of the `np.ix_()` function\n", - " to create a mesh containing the second and fourth rows, and the first, third, and fourth columns. This time, we apply the function to Booleans,\n", - " rather than lists." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "288011d9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.875531Z", - "iopub.status.busy": "2023-07-26T05:29:17.874719Z", - "iopub.status.idle": "2023-07-26T05:29:17.880224Z", - "shell.execute_reply": "2023-07-26T05:29:17.879831Z" - } - }, - "outputs": [], - "source": [ - "keep_cols = np.zeros(A.shape[1], bool)\n", - "keep_cols[[0, 2, 3]] = True\n", - "idx_bool = np.ix_(keep_rows, keep_cols)\n", - "A[idx_bool]" - ] - }, - { - "cell_type": "markdown", - "id": "37900313", - "metadata": {}, - "source": [ - "We can also mix a list with an array of Booleans in the arguments to `np.ix_()`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3e3b1954", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.885549Z", - "iopub.status.busy": "2023-07-26T05:29:17.885336Z", - "iopub.status.idle": "2023-07-26T05:29:17.890989Z", - "shell.execute_reply": "2023-07-26T05:29:17.890528Z" - } - }, - "outputs": [], - "source": [ - "idx_mixed = np.ix_([1,3], keep_cols)\n", - "A[idx_mixed]" - ] - }, - { - "cell_type": "markdown", - "id": "2f4d70f3", - "metadata": {}, - "source": [ - "For more details on indexing in `numpy`, readers are referred\n", - "to the `numpy` tutorial mentioned earlier." - ] - }, - { - "cell_type": "markdown", - "id": "3c59c8fb", - "metadata": {}, - "source": [ - "## Loading Data\n", - "\n", - "Data sets often contain different types of data, and may have names associated with the rows or columns. \n", - "For these reasons, they typically are best accommodated using a\n", - " *data frame*. \n", - " We can think of a data frame as a sequence\n", - "of arrays of identical length; these are the columns. Entries in the\n", - "different arrays can be combined to form a row.\n", - " The `pandas`\n", - "library can be used to create and work with data frame objects." - ] - }, - { - "cell_type": "markdown", - "id": "95297c29", - "metadata": {}, - "source": [ - "### Reading in a Data Set\n", - "\n", - "The first step of most analyses involves importing a data set into\n", - "`Python`. \n", - " Before attempting to load\n", - "a data set, we must make sure that `Python` knows where to find the file containing it. \n", - "If the\n", - "file is in the same location\n", - "as this notebook file, then we are all set. \n", - "Otherwise, \n", - "the command\n", - "`os.chdir()` can be used to *change directory*. (You will need to call `import os` before calling `os.chdir()`.)" - ] - }, - { - "cell_type": "markdown", - "id": "42760180", - "metadata": {}, - "source": [ - "We will begin by reading in `Auto.csv`, available on the book website. This is a comma-separated file, and can be read in using `pd.read_csv()`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d02bfb28", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:17.893962Z", - "iopub.status.busy": "2023-07-26T05:29:17.893772Z", - "iopub.status.idle": "2023-07-26T05:29:18.126793Z", - "shell.execute_reply": "2023-07-26T05:29:18.126353Z" - } - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "Auto = pd.read_csv('Auto.csv')\n", - "Auto" - ] - }, - { - "cell_type": "markdown", - "id": "5acc3596", - "metadata": {}, - "source": [ - "The book website also has a whitespace-delimited version of this data, called `Auto.data`. This can be read in as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ca6090af", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.129214Z", - "iopub.status.busy": "2023-07-26T05:29:18.129036Z", - "iopub.status.idle": "2023-07-26T05:29:18.133861Z", - "shell.execute_reply": "2023-07-26T05:29:18.133327Z" - } - }, - "outputs": [], - "source": [ - "Auto = pd.read_csv('Auto.data', delim_whitespace=True)" - ] - }, - { - "cell_type": "markdown", - "id": "350f1f42", - "metadata": {}, - "source": [ - " Both `Auto.csv` and `Auto.data` are simply text\n", - "files. Before loading data into `Python`, it is a good idea to view it using\n", - "a text editor or other software, such as Microsoft Excel." - ] - }, - { - "cell_type": "markdown", - "id": "1cae3ad2", - "metadata": {}, - "source": [ - "We now take a look at the column of `Auto` corresponding to the variable `horsepower`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7220aa87", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.136921Z", - "iopub.status.busy": "2023-07-26T05:29:18.136464Z", - "iopub.status.idle": "2023-07-26T05:29:18.140452Z", - "shell.execute_reply": "2023-07-26T05:29:18.139936Z" - } - }, - "outputs": [], - "source": [ - "Auto['horsepower']" - ] - }, - { - "cell_type": "markdown", - "id": "c0adabf1", - "metadata": {}, - "source": [ - "We see that the `dtype` of this column is `object`. \n", - "It turns out that all values of the `horsepower` column were interpreted as strings when reading\n", - "in the data. \n", - "We can find out why by looking at the unique values." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ca1939f0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.142925Z", - "iopub.status.busy": "2023-07-26T05:29:18.142803Z", - "iopub.status.idle": "2023-07-26T05:29:18.146461Z", - "shell.execute_reply": "2023-07-26T05:29:18.145934Z" - } - }, - "outputs": [], - "source": [ - "np.unique(Auto['horsepower'])" - ] - }, - { - "cell_type": "markdown", - "id": "c35e48dc", - "metadata": {}, - "source": [ - "We see the culprit is the value `?`, which is being used to encode missing values." - ] - }, - { - "cell_type": "markdown", - "id": "ccf8e5de", - "metadata": {}, - "source": [ - "To fix the problem, we must provide `pd.read_csv()` with an argument called `na_values`.\n", - "Now, each instance of `?` in the file is replaced with the\n", - "value `np.nan`, which means *not a number*:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cfb084e7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.149045Z", - "iopub.status.busy": "2023-07-26T05:29:18.148875Z", - "iopub.status.idle": "2023-07-26T05:29:18.153953Z", - "shell.execute_reply": "2023-07-26T05:29:18.153625Z" - } - }, - "outputs": [], - "source": [ - "Auto = pd.read_csv('Auto.data',\n", - " na_values=['?'],\n", - " delim_whitespace=True)\n", - "Auto['horsepower'].sum()" - ] - }, - { - "cell_type": "markdown", - "id": "2e8e504f", - "metadata": {}, - "source": [ - "The `Auto.shape` attribute tells us that the data has 397\n", - "observations, or rows, and nine variables, or columns." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2e02b6a5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.156574Z", - "iopub.status.busy": "2023-07-26T05:29:18.155920Z", - "iopub.status.idle": "2023-07-26T05:29:18.159130Z", - "shell.execute_reply": "2023-07-26T05:29:18.158724Z" - } - }, - "outputs": [], - "source": [ - "Auto.shape" - ] - }, - { - "cell_type": "markdown", - "id": "df109192", - "metadata": {}, - "source": [ - "There are\n", - "various ways to deal with missing data. \n", - "In this case, since only five of the rows contain missing\n", - "observations, we choose to use the `Auto.dropna()` method to simply remove these rows." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d391f8d0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.161446Z", - "iopub.status.busy": "2023-07-26T05:29:18.161286Z", - "iopub.status.idle": "2023-07-26T05:29:18.165230Z", - "shell.execute_reply": "2023-07-26T05:29:18.164876Z" - } - }, - "outputs": [], - "source": [ - "Auto_new = Auto.dropna()\n", - "Auto_new.shape" - ] - }, - { - "cell_type": "markdown", - "id": "e1ddfb53", - "metadata": {}, - "source": [ - "### Basics of Selecting Rows and Columns\n", - " \n", - "We can use `Auto.columns` to check the variable names." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a222ca60", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.167288Z", - "iopub.status.busy": "2023-07-26T05:29:18.167156Z", - "iopub.status.idle": "2023-07-26T05:29:18.171499Z", - "shell.execute_reply": "2023-07-26T05:29:18.171112Z" - } - }, - "outputs": [], - "source": [ - "Auto = Auto_new # overwrite the previous value\n", - "Auto.columns" - ] - }, - { - "cell_type": "markdown", - "id": "be6f2daf", - "metadata": {}, - "source": [ - "Accessing the rows and columns of a data frame is similar, but not identical, to accessing the rows and columns of an array. \n", - "Recall that the first argument to the `[]` method\n", - "is always applied to the rows of the array. \n", - "Similarly, \n", - "passing in a slice to the `[]` method creates a data frame whose *rows* are determined by the slice:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a75921ac", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.173985Z", - "iopub.status.busy": "2023-07-26T05:29:18.173779Z", - "iopub.status.idle": "2023-07-26T05:29:18.180116Z", - "shell.execute_reply": "2023-07-26T05:29:18.179681Z" - } - }, - "outputs": [], - "source": [ - "Auto[:3]" - ] - }, - { - "cell_type": "markdown", - "id": "17c02ad7", - "metadata": {}, - "source": [ - "Similarly, an array of Booleans can be used to subset the rows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7469ff2b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.183321Z", - "iopub.status.busy": "2023-07-26T05:29:18.183157Z", - "iopub.status.idle": "2023-07-26T05:29:18.201363Z", - "shell.execute_reply": "2023-07-26T05:29:18.200939Z" - } - }, - "outputs": [], - "source": [ - "idx_80 = Auto['year'] > 80\n", - "Auto[idx_80]" - ] - }, - { - "cell_type": "markdown", - "id": "27eb1780", - "metadata": {}, - "source": [ - "However, if we pass in a list of strings to the `[]` method, then we obtain a data frame containing the corresponding set of *columns*." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ac455404", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.203476Z", - "iopub.status.busy": "2023-07-26T05:29:18.203352Z", - "iopub.status.idle": "2023-07-26T05:29:18.209504Z", - "shell.execute_reply": "2023-07-26T05:29:18.209134Z" - } - }, - "outputs": [], - "source": [ - "Auto[['mpg', 'horsepower']]" - ] - }, - { - "cell_type": "markdown", - "id": "1629d302", - "metadata": {}, - "source": [ - "Since we did not specify an *index* column when we loaded our data frame, the rows are labeled using integers\n", - "0 to 396." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f41235d4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.211995Z", - "iopub.status.busy": "2023-07-26T05:29:18.211814Z", - "iopub.status.idle": "2023-07-26T05:29:18.215209Z", - "shell.execute_reply": "2023-07-26T05:29:18.214581Z" - } - }, - "outputs": [], - "source": [ - "Auto.index" - ] - }, - { - "cell_type": "markdown", - "id": "79d3cebb", - "metadata": {}, - "source": [ - "We can use the\n", - "`set_index()` method to re-name the rows using the contents of `Auto['name']`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "31caba24", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.217421Z", - "iopub.status.busy": "2023-07-26T05:29:18.217292Z", - "iopub.status.idle": "2023-07-26T05:29:18.225169Z", - "shell.execute_reply": "2023-07-26T05:29:18.224781Z" - } - }, - "outputs": [], - "source": [ - "Auto_re = Auto.set_index('name')\n", - "Auto_re" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "594bedfa", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.227488Z", - "iopub.status.busy": "2023-07-26T05:29:18.227297Z", - "iopub.status.idle": "2023-07-26T05:29:18.230280Z", - "shell.execute_reply": "2023-07-26T05:29:18.229861Z" - } - }, - "outputs": [], - "source": [ - "Auto_re.columns" - ] - }, - { - "cell_type": "markdown", - "id": "184977f2", - "metadata": {}, - "source": [ - "We see that the column `'name'` is no longer there.\n", - " \n", - "Now that the index has been set to `name`, we can access rows of the data \n", - "frame by `name` using the `{loc[]`} method of\n", - "`Auto`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9a59b083", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.232510Z", - "iopub.status.busy": "2023-07-26T05:29:18.232342Z", - "iopub.status.idle": "2023-07-26T05:29:18.238242Z", - "shell.execute_reply": "2023-07-26T05:29:18.237748Z" - } - }, - "outputs": [], - "source": [ - "rows = ['amc rebel sst', 'ford torino']\n", - "Auto_re.loc[rows]" - ] - }, - { - "cell_type": "markdown", - "id": "066af73b", - "metadata": {}, - "source": [ - "As an alternative to using the index name, we could retrieve the 4th and 5th rows of `Auto` using the `{iloc[]`} method:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "54457a11", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.240468Z", - "iopub.status.busy": "2023-07-26T05:29:18.240293Z", - "iopub.status.idle": "2023-07-26T05:29:18.245745Z", - "shell.execute_reply": "2023-07-26T05:29:18.245311Z" - } - }, - "outputs": [], - "source": [ - "Auto_re.iloc[[3,4]]" - ] - }, - { - "cell_type": "markdown", - "id": "069ca71e", - "metadata": {}, - "source": [ - "We can also use it to retrieve the 1st, 3rd and and 4th columns of `Auto_re`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8a4f3faf", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.247984Z", - "iopub.status.busy": "2023-07-26T05:29:18.247834Z", - "iopub.status.idle": "2023-07-26T05:29:18.254533Z", - "shell.execute_reply": "2023-07-26T05:29:18.254012Z" - } - }, - "outputs": [], - "source": [ - "Auto_re.iloc[:,[0,2,3]]" - ] - }, - { - "cell_type": "markdown", - "id": "c6f4f9a2", - "metadata": {}, - "source": [ - "We can extract the 4th and 5th rows, as well as the 1st, 3rd and 4th columns, using\n", - "a single call to `iloc[]`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8f1e6e56", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.256972Z", - "iopub.status.busy": "2023-07-26T05:29:18.256754Z", - "iopub.status.idle": "2023-07-26T05:29:18.261662Z", - "shell.execute_reply": "2023-07-26T05:29:18.261232Z" - } - }, - "outputs": [], - "source": [ - "Auto_re.iloc[[3,4],[0,2,3]]" - ] - }, - { - "cell_type": "markdown", - "id": "6e4b778c", - "metadata": {}, - "source": [ - "Index entries need not be unique: there are several cars in the data frame named `ford galaxie 500`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f1d0e795", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.263825Z", - "iopub.status.busy": "2023-07-26T05:29:18.263676Z", - "iopub.status.idle": "2023-07-26T05:29:18.268126Z", - "shell.execute_reply": "2023-07-26T05:29:18.267724Z" - } - }, - "outputs": [], - "source": [ - "Auto_re.loc['ford galaxie 500', ['mpg', 'origin']]" - ] - }, - { - "cell_type": "markdown", - "id": "b10eabb7", - "metadata": {}, - "source": [ - "### More on Selecting Rows and Columns\n", - "Suppose now that we want to create a data frame consisting of the `weight` and `origin` of the subset of cars with \n", - "`year` greater than 80 --- i.e. those built after 1980.\n", - "To do this, we first create a Boolean array that indexes the rows.\n", - "The `loc[]` method allows for Boolean entries as well as strings:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "392f10a1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.270321Z", - "iopub.status.busy": "2023-07-26T05:29:18.270149Z", - "iopub.status.idle": "2023-07-26T05:29:18.277370Z", - "shell.execute_reply": "2023-07-26T05:29:18.276917Z" - } - }, - "outputs": [], - "source": [ - "idx_80 = Auto_re['year'] > 80\n", - "Auto_re.loc[idx_80, ['weight', 'origin']]" - ] - }, - { - "cell_type": "markdown", - "id": "d3f85975", - "metadata": {}, - "source": [ - "To do this more concisely, we can use an anonymous function called a `lambda`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5f5b7906", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.279435Z", - "iopub.status.busy": "2023-07-26T05:29:18.279296Z", - "iopub.status.idle": "2023-07-26T05:29:18.287423Z", - "shell.execute_reply": "2023-07-26T05:29:18.286943Z" - } - }, - "outputs": [], - "source": [ - "Auto_re.loc[lambda df: df['year'] > 80, ['weight', 'origin']]" - ] - }, - { - "cell_type": "markdown", - "id": "cc67849e", - "metadata": {}, - "source": [ - "The `lambda` call creates a function that takes a single\n", - "argument, here `df`, and returns `df['year']>80`.\n", - "Since it is created inside the `loc[]` method for the\n", - "dataframe `Auto_re`, that dataframe will be the argument supplied.\n", - "As another example of using a `lambda`, suppose that\n", - "we want all cars built after 1980 that achieve greater than 30 miles per gallon:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b13c5728", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.289828Z", - "iopub.status.busy": "2023-07-26T05:29:18.289661Z", - "iopub.status.idle": "2023-07-26T05:29:18.296360Z", - "shell.execute_reply": "2023-07-26T05:29:18.295846Z" - } - }, - "outputs": [], - "source": [ - "Auto_re.loc[lambda df: (df['year'] > 80) & (df['mpg'] > 30),\n", - " ['weight', 'origin']\n", - " ]" - ] - }, - { - "cell_type": "markdown", - "id": "7885bba9", - "metadata": {}, - "source": [ - "The symbol `&` computes an element-wise *and* operation.\n", - "As another example, suppose that we want to retrieve all `Ford` and `Datsun`\n", - "cars with `displacement` less than 300. We check whether each `name` entry contains either the string `ford` or `datsun` using the `str.contains()` method of the `index` attribute of \n", - "of the dataframe:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d5a2c3be", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.298956Z", - "iopub.status.busy": "2023-07-26T05:29:18.298779Z", - "iopub.status.idle": "2023-07-26T05:29:18.306530Z", - "shell.execute_reply": "2023-07-26T05:29:18.305978Z" - } - }, - "outputs": [], - "source": [ - "Auto_re.loc[lambda df: (df['displacement'] < 300)\n", - " & (df.index.str.contains('ford')\n", - " | df.index.str.contains('datsun')),\n", - " ['weight', 'origin']\n", - " ]" - ] - }, - { - "cell_type": "markdown", - "id": "8a7a6c62", - "metadata": {}, - "source": [ - "Here, the symbol `|` computes an element-wise *or* operation.\n", - " \n", - "In summary, a powerful set of operations is available to index the rows and columns of data frames. For integer based queries, use the `iloc[]` method. For string and Boolean\n", - "selections, use the `loc[]` method. For functional queries that filter rows, use the `loc[]` method\n", - "with a function (typically a `lambda`) in the rows argument.\n", - "\n", - "## For Loops\n", - "A `for` loop is a standard tool in many languages that\n", - "repeatedly evaluates some chunk of code while\n", - "varying different values inside the code.\n", - "For example, suppose we loop over elements of a list and compute their sum." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a6278441", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.308697Z", - "iopub.status.busy": "2023-07-26T05:29:18.308549Z", - "iopub.status.idle": "2023-07-26T05:29:18.311058Z", - "shell.execute_reply": "2023-07-26T05:29:18.310729Z" - } - }, - "outputs": [], - "source": [ - "total = 0\n", - "for value in [3,2,19]:\n", - " total += value\n", - "print('Total is: {0}'.format(total))" - ] - }, - { - "cell_type": "markdown", - "id": "92948288", - "metadata": {}, - "source": [ - "The indented code beneath the line with the `for` statement is run\n", - "for each value in the sequence\n", - "specified in the `for` statement. The loop ends either\n", - "when the cell ends or when code is indented at the same level\n", - "as the original `for` statement.\n", - "We see that the final line above which prints the total is executed\n", - "only once after the for loop has terminated. Loops\n", - "can be nested by additional indentation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2aa065a8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.313814Z", - "iopub.status.busy": "2023-07-26T05:29:18.313627Z", - "iopub.status.idle": "2023-07-26T05:29:18.316245Z", - "shell.execute_reply": "2023-07-26T05:29:18.315821Z" - } - }, - "outputs": [], - "source": [ - "total = 0\n", - "for value in [2,3,19]:\n", - " for weight in [3, 2, 1]:\n", - " total += value * weight\n", - "print('Total is: {0}'.format(total))" - ] - }, - { - "cell_type": "markdown", - "id": "aaeb60c5", - "metadata": {}, - "source": [ - "Above, we summed over each combination of `value` and `weight`.\n", - "We also took advantage of the *increment* notation\n", - "in `Python`: the expression `a += b` is equivalent\n", - "to `a = a + b`. Besides\n", - "being a convenient notation, this can save time in computationally\n", - "heavy tasks in which the intermediate value of `a+b` need not\n", - "be explicitly created.\n", - "\n", - "Perhaps a more\n", - "common task would be to sum over `(value, weight)` pairs. For instance,\n", - "to compute the average value of a random variable that takes on\n", - "possible values 2, 3 or 19 with probability 0.2, 0.3, 0.5 respectively\n", - "we would compute the weighted sum. Tasks such as this\n", - "can often be accomplished using the `zip()` function that\n", - "loops over a sequence of tuples." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "832c1b7d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.318251Z", - "iopub.status.busy": "2023-07-26T05:29:18.318060Z", - "iopub.status.idle": "2023-07-26T05:29:18.321951Z", - "shell.execute_reply": "2023-07-26T05:29:18.321594Z" - } - }, - "outputs": [], - "source": [ - "total = 0\n", - "for value, weight in zip([2,3,19],\n", - " [0.2,0.3,0.5]):\n", - " total += weight * value\n", - "print('Weighted average is: {0}'.format(total))" - ] - }, - { - "cell_type": "markdown", - "id": "ac163d59", - "metadata": {}, - "source": [ - "### String Formatting\n", - "In the code chunk above we also printed a string\n", - "displaying the total. However, the object `total`\n", - "is an integer and not a string.\n", - "Inserting the value of something into\n", - "a string is a common task, made\n", - "simple using\n", - "some of the powerful string formatting\n", - "tools in `Python`.\n", - "Many data cleaning tasks involve\n", - "manipulating and programmatically\n", - "producing strings.\n", - "\n", - "For example we may want to loop over the columns of a data frame and\n", - "print the percent missing in each column.\n", - "Let’s create a data frame `D` with columns in which 20% of the entries are missing i.e. set\n", - "to `np.nan`. We’ll create the\n", - "values in `D` from a normal distribution with mean 0 and variance 1 using `rng.standard_normal()`\n", - "and then overwrite some random entries using `rng.choice()`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2ca2e7cd", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.324105Z", - "iopub.status.busy": "2023-07-26T05:29:18.323988Z", - "iopub.status.idle": "2023-07-26T05:29:18.330121Z", - "shell.execute_reply": "2023-07-26T05:29:18.329787Z" - } - }, - "outputs": [], - "source": [ - "rng = np.random.default_rng(1)\n", - "A = rng.standard_normal((127, 5))\n", - "M = rng.choice([0, np.nan], p=[0.8,0.2], size=A.shape)\n", - "A += M\n", - "D = pd.DataFrame(A, columns=['food',\n", - " 'bar',\n", - " 'pickle',\n", - " 'snack',\n", - " 'popcorn'])\n", - "D[:3]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d8ae1dcc", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.332238Z", - "iopub.status.busy": "2023-07-26T05:29:18.331972Z", - "iopub.status.idle": "2023-07-26T05:29:18.335469Z", - "shell.execute_reply": "2023-07-26T05:29:18.335131Z" - } - }, - "outputs": [], - "source": [ - "for col in D.columns:\n", - " template = 'Column \"{0}\" has {1:.2%} missing values'\n", - " print(template.format(col,\n", - " np.isnan(D[col]).mean()))" - ] - }, - { - "cell_type": "markdown", - "id": "e4687a4a", - "metadata": {}, - "source": [ - "We see that the `template.format()` method expects two arguments `{0}`\n", - "and `{1:.2%}`, and the latter includes some formatting\n", - "information. In particular, it specifies that the second argument should be expressed as a percent with two decimal digits.\n", - "\n", - "The reference\n", - "[docs.python.org/3/library/string.html](https://docs.python.org/3/library/string.html)\n", - "includes many helpful and more complex examples." - ] - }, - { - "cell_type": "markdown", - "id": "22226024", - "metadata": {}, - "source": [ - "## Additional Graphical and Numerical Summaries\n", - "We can use the `ax.plot()` or `ax.scatter()` functions to display the quantitative variables. However, simply typing the variable names will produce an error message,\n", - "because `Python` does not know to look in the `Auto` data set for those variables." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "30a8a663", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.338919Z", - "iopub.status.busy": "2023-07-26T05:29:18.338751Z", - "iopub.status.idle": "2023-07-26T05:29:18.449864Z", - "shell.execute_reply": "2023-07-26T05:29:18.449132Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8, 8))\n", - "ax.plot(horsepower, mpg, 'o');" - ] - }, - { - "cell_type": "markdown", - "id": "f09f4e10", - "metadata": {}, - "source": [ - "We can address this by accessing the columns directly:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "81fdedb1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.452711Z", - "iopub.status.busy": "2023-07-26T05:29:18.452267Z", - "iopub.status.idle": "2023-07-26T05:29:18.556826Z", - "shell.execute_reply": "2023-07-26T05:29:18.556309Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8, 8))\n", - "ax.plot(Auto['horsepower'], Auto['mpg'], 'o');" - ] - }, - { - "cell_type": "markdown", - "id": "a64455fa", - "metadata": {}, - "source": [ - "Alternatively, we can use the `plot()` method with the call `Auto.plot()`.\n", - "Using this method,\n", - "the variables can be accessed by name.\n", - "The plot methods of a data frame return a familiar object:\n", - "an axes. We can use it to update the plot as we did previously:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "61850515", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.559255Z", - "iopub.status.busy": "2023-07-26T05:29:18.559034Z", - "iopub.status.idle": "2023-07-26T05:29:18.680294Z", - "shell.execute_reply": "2023-07-26T05:29:18.679833Z" - } - }, - "outputs": [], - "source": [ - "ax = Auto.plot.scatter('horsepower', 'mpg');\n", - "ax.set_title('Horsepower vs. MPG')" - ] - }, - { - "cell_type": "markdown", - "id": "7c73790f", - "metadata": {}, - "source": [ - "If we want to save\n", - "the figure that contains a given axes, we can find the relevant figure\n", - "by accessing the `figure` attribute:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f2e0c165", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.682678Z", - "iopub.status.busy": "2023-07-26T05:29:18.682519Z", - "iopub.status.idle": "2023-07-26T05:29:18.726894Z", - "shell.execute_reply": "2023-07-26T05:29:18.726384Z" - } - }, - "outputs": [], - "source": [ - "fig = ax.figure\n", - "fig.savefig('horsepower_mpg.png');" - ] - }, - { - "cell_type": "markdown", - "id": "2378a5bb", - "metadata": {}, - "source": [ - "We can further instruct the data frame to plot to a particular axes object. In this\n", - "case the corresponding `plot()` method will return the\n", - "modified axes we passed in as an argument. Note that\n", - "when we request a one-dimensional grid of plots, the object `axes` is similarly\n", - "one-dimensional. We place our scatter plot in the middle plot of a row of three plots\n", - "within a figure." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "35c72e77", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.729555Z", - "iopub.status.busy": "2023-07-26T05:29:18.729403Z", - "iopub.status.idle": "2023-07-26T05:29:18.935439Z", - "shell.execute_reply": "2023-07-26T05:29:18.934984Z" - } - }, - "outputs": [], - "source": [ - "fig, axes = subplots(ncols=3, figsize=(15, 5))\n", - "Auto.plot.scatter('horsepower', 'mpg', ax=axes[1]);" - ] - }, - { - "cell_type": "markdown", - "id": "95b0f3de", - "metadata": {}, - "source": [ - "Note also that the columns of a data frame can be accessed as attributes: try typing in `Auto.horsepower`." - ] - }, - { - "cell_type": "markdown", - "id": "5c6c4fa2", - "metadata": {}, - "source": [ - "We now consider the `cylinders` variable. Typing in `Auto.cylinders.dtype` reveals that it is being treated as a quantitative variable. \n", - "However, since there is only a small number of possible values for this variable, we may wish to treat it as \n", - " qualitative. Below, we replace\n", - "the `cylinders` column with a categorical version of `Auto.cylinders`. The function `pd.Series()` owes its name to the fact that `pandas` is often used in time series applications." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2b6fb1ad", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.937842Z", - "iopub.status.busy": "2023-07-26T05:29:18.937680Z", - "iopub.status.idle": "2023-07-26T05:29:18.941712Z", - "shell.execute_reply": "2023-07-26T05:29:18.941344Z" - } - }, - "outputs": [], - "source": [ - "Auto.cylinders = pd.Series(Auto.cylinders, dtype='category')\n", - "Auto.cylinders.dtype" - ] - }, - { - "cell_type": "markdown", - "id": "2038c16d", - "metadata": {}, - "source": [ - " Now that `cylinders` is qualitative, we can display it using\n", - " the `boxplot()` method." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1f19f48c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:18.944261Z", - "iopub.status.busy": "2023-07-26T05:29:18.944131Z", - "iopub.status.idle": "2023-07-26T05:29:19.068255Z", - "shell.execute_reply": "2023-07-26T05:29:19.067715Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8, 8))\n", - "Auto.boxplot('mpg', by='cylinders', ax=ax);" - ] - }, - { - "cell_type": "markdown", - "id": "4ae72e1b", - "metadata": {}, - "source": [ - "The `hist()` method can be used to plot a *histogram*." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "929b6901", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:19.071259Z", - "iopub.status.busy": "2023-07-26T05:29:19.071061Z", - "iopub.status.idle": "2023-07-26T05:29:19.195022Z", - "shell.execute_reply": "2023-07-26T05:29:19.194542Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8, 8))\n", - "Auto.hist('mpg', ax=ax);" - ] - }, - { - "cell_type": "markdown", - "id": "db7f6e7c", - "metadata": {}, - "source": [ - "The color of the bars and the number of bins can be changed:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8d48f1e9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:19.197491Z", - "iopub.status.busy": "2023-07-26T05:29:19.197276Z", - "iopub.status.idle": "2023-07-26T05:29:19.318988Z", - "shell.execute_reply": "2023-07-26T05:29:19.318622Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8, 8))\n", - "Auto.hist('mpg', color='red', bins=12, ax=ax);" - ] - }, - { - "cell_type": "markdown", - "id": "0e53b8b6", - "metadata": {}, - "source": [ - " See `Auto.hist?` for more plotting\n", - "options.\n", - " \n", - "We can use the `pd.plotting.scatter_matrix()` function to create a *scatterplot matrix* to visualize all of the pairwise relationships between the columns in\n", - "a data frame." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "400690e6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:19.321439Z", - "iopub.status.busy": "2023-07-26T05:29:19.321240Z", - "iopub.status.idle": "2023-07-26T05:29:20.519159Z", - "shell.execute_reply": "2023-07-26T05:29:20.518700Z" - } - }, - "outputs": [], - "source": [ - "pd.plotting.scatter_matrix(Auto);" - ] - }, - { - "cell_type": "markdown", - "id": "48a9a4f5", - "metadata": {}, - "source": [ - " We can also produce scatterplots\n", - "for a subset of the variables." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6bbeca8b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:20.521548Z", - "iopub.status.busy": "2023-07-26T05:29:20.521429Z", - "iopub.status.idle": "2023-07-26T05:29:20.804202Z", - "shell.execute_reply": "2023-07-26T05:29:20.803825Z" - } - }, - "outputs": [], - "source": [ - "pd.plotting.scatter_matrix(Auto[['mpg',\n", - " 'displacement',\n", - " 'weight']]);" - ] - }, - { - "cell_type": "markdown", - "id": "d3bb4736", - "metadata": {}, - "source": [ - "The `describe()` method produces a numerical summary of each column in a data frame." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1727f604", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:20.809656Z", - "iopub.status.busy": "2023-07-26T05:29:20.809455Z", - "iopub.status.idle": "2023-07-26T05:29:20.816572Z", - "shell.execute_reply": "2023-07-26T05:29:20.816157Z" - } - }, - "outputs": [], - "source": [ - "Auto[['mpg', 'weight']].describe()" - ] - }, - { - "cell_type": "markdown", - "id": "1b508635", - "metadata": {}, - "source": [ - "We can also produce a summary of just a single column." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "39bf4091", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:29:20.819204Z", - "iopub.status.busy": "2023-07-26T05:29:20.818991Z", - "iopub.status.idle": "2023-07-26T05:29:20.824216Z", - "shell.execute_reply": "2023-07-26T05:29:20.823857Z" - } - }, - "outputs": [], - "source": [ - "Auto['cylinders'].describe()\n", - "Auto['mpg'].describe()" - ] - }, - { - "cell_type": "markdown", - "id": "22ecf5c3", - "metadata": {}, - "source": [ - "To exit `Jupyter`, select `File / Close and Halt`." - ] - } - ], - "metadata": { - "execution": { - "allow_errors": true - }, - "jupytext": { - "cell_metadata_filter": "-all", - "formats": "ipynb,md:myst", - "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/source/labs/Ch3-linreg-lab.ipynb b/docs/source/labs/Ch3-linreg-lab.ipynb deleted file mode 100644 index faefdc7..0000000 --- a/docs/source/labs/Ch3-linreg-lab.ipynb +++ /dev/null @@ -1,1321 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "82bce88a", - "metadata": {}, - "source": [ - "# Linear Regression\n", - "\n", - "\n", - " \"Open\n", - "\n", - "\n", - "\n", - "\n", - "## Importing packages\n", - "We import our standard libraries at this top\n", - "level." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ca5277a6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:48.562599Z", - "iopub.status.busy": "2023-07-26T05:16:48.562472Z", - "iopub.status.idle": "2023-07-26T05:16:49.062186Z", - "shell.execute_reply": "2023-07-26T05:16:49.061609Z" - } - }, - "outputs": [], - "source": [ - "import numpy as np\n", - "import pandas as pd\n", - "from matplotlib.pyplot import subplots" - ] - }, - { - "cell_type": "markdown", - "id": "95b0ae8c", - "metadata": {}, - "source": [ - "### New imports\n", - "Throughout this lab we will introduce new functions and libraries. However,\n", - "we will import them here to emphasize these are the new\n", - "code objects in this lab. Keeping imports near the top\n", - "of a notebook makes the code more readable, since scanning the first few\n", - "lines tells us what libraries are used." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "675f24e6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:49.064676Z", - "iopub.status.busy": "2023-07-26T05:16:49.064483Z", - "iopub.status.idle": "2023-07-26T05:16:49.739307Z", - "shell.execute_reply": "2023-07-26T05:16:49.738853Z" - } - }, - "outputs": [], - "source": [ - "import statsmodels.api as sm" - ] - }, - { - "cell_type": "markdown", - "id": "1fb0799f", - "metadata": {}, - "source": [ - " We will provide relevant details about the\n", - "functions below as they are needed.\n", - "\n", - "Besides importing whole modules, it is also possible\n", - "to import only a few items from a given module. This\n", - "will help keep the *namespace* clean.\n", - "We will use a few specific objects from the `statsmodels` package\n", - "which we import here." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a0ee23c2", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:49.741758Z", - "iopub.status.busy": "2023-07-26T05:16:49.741609Z", - "iopub.status.idle": "2023-07-26T05:16:49.744969Z", - "shell.execute_reply": "2023-07-26T05:16:49.744551Z" - } - }, - "outputs": [], - "source": [ - "from statsmodels.stats.outliers_influence \\\n", - " import variance_inflation_factor as VIF\n", - "from statsmodels.stats.anova import anova_lm" - ] - }, - { - "cell_type": "markdown", - "id": "dbfd346e", - "metadata": {}, - "source": [ - "As one of the import statements above is quite a long line, we inserted a line break `\\` to\n", - "ease readability.\n", - "\n", - "We will also use some functions written for the labs in this book in the `ISLP`\n", - "package." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b35eb887", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:49.747166Z", - "iopub.status.busy": "2023-07-26T05:16:49.746991Z", - "iopub.status.idle": "2023-07-26T05:16:49.867818Z", - "shell.execute_reply": "2023-07-26T05:16:49.867356Z" - } - }, - "outputs": [], - "source": [ - "from ISLP import load_data\n", - "from ISLP.models import (ModelSpec as MS,\n", - " summarize,\n", - " poly)" - ] - }, - { - "cell_type": "markdown", - "id": "84a8177e", - "metadata": {}, - "source": [ - "### Inspecting Objects and Namespaces\n", - "The\n", - "function `dir()`\n", - "provides a list of\n", - "objects in a namespace." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "961908f7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:49.870378Z", - "iopub.status.busy": "2023-07-26T05:16:49.870231Z", - "iopub.status.idle": "2023-07-26T05:16:49.874355Z", - "shell.execute_reply": "2023-07-26T05:16:49.873851Z" - } - }, - "outputs": [], - "source": [ - "dir()" - ] - }, - { - "cell_type": "markdown", - "id": "3efc6d99", - "metadata": {}, - "source": [ - " This shows you everything that `Python` can find at the top level.\n", - "There are certain objects like `__builtins__` that contain references to built-in\n", - "functions like `print()`.\n", - "\n", - "Every python object has its own notion of\n", - "namespace, also accessible with `dir()`. This will include\n", - "both the attributes of the object\n", - "as well as any methods associated with it. For instance, we see `'sum'` in the listing for an\n", - "array." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "662caa15", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:49.876620Z", - "iopub.status.busy": "2023-07-26T05:16:49.876476Z", - "iopub.status.idle": "2023-07-26T05:16:49.880485Z", - "shell.execute_reply": "2023-07-26T05:16:49.880074Z" - } - }, - "outputs": [], - "source": [ - "A = np.array([3,5,11])\n", - "dir(A)" - ] - }, - { - "cell_type": "markdown", - "id": "49bdd416", - "metadata": {}, - "source": [ - " This indicates that the object `A.sum` exists. In this case it is a method\n", - "that can be used to compute the sum of the array `A` as can be seen by typing `A.sum?`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ebb7d126", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:49.882618Z", - "iopub.status.busy": "2023-07-26T05:16:49.882477Z", - "iopub.status.idle": "2023-07-26T05:16:49.885324Z", - "shell.execute_reply": "2023-07-26T05:16:49.884886Z" - } - }, - "outputs": [], - "source": [ - "A.sum()" - ] - }, - { - "cell_type": "markdown", - "id": "9fbed3f3", - "metadata": {}, - "source": [ - "## Simple Linear Regression\n", - "In this section we will construct model \n", - "matrices (also called design matrices) using the `ModelSpec()` transform from `ISLP.models`.\n", - "\n", - "We will use the `Boston` housing data set, which is contained in the `ISLP` package. The `Boston` dataset records `medv` (median house value) for $506$ neighborhoods\n", - "around Boston. We will build a regression model to predict `medv` using $13$\n", - "predictors such as `rmvar` (average number of rooms per house),\n", - " `age` (proportion of owner-occupied units built prior to 1940), and `lstat` (percent of\n", - "households with low socioeconomic status). We will use `statsmodels` for this\n", - "task, a `Python` package that implements several commonly used\n", - "regression methods.\n", - "\n", - "We have included a simple loading function `load_data()` in the\n", - "`ISLP` package:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1ea46cee", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:49.887855Z", - "iopub.status.busy": "2023-07-26T05:16:49.887580Z", - "iopub.status.idle": "2023-07-26T05:16:49.892800Z", - "shell.execute_reply": "2023-07-26T05:16:49.892442Z" - } - }, - "outputs": [], - "source": [ - "Boston = load_data(\"Boston\")\n", - "Boston.columns" - ] - }, - { - "cell_type": "markdown", - "id": "a8cceee6", - "metadata": {}, - "source": [ - "Type `Boston?` to find out more about these data.\n", - "\n", - "We start by using the `sm.OLS()` function to fit a\n", - "simple linear regression model. Our response will be\n", - " `medv` and `lstat` will be the single predictor.\n", - "For this model, we can create the model matrix by hand." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "26c0ba88", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:49.895108Z", - "iopub.status.busy": "2023-07-26T05:16:49.894938Z", - "iopub.status.idle": "2023-07-26T05:16:49.901385Z", - "shell.execute_reply": "2023-07-26T05:16:49.900996Z" - } - }, - "outputs": [], - "source": [ - "X = pd.DataFrame({'intercept': np.ones(Boston.shape[0]),\n", - " 'lstat': Boston['lstat']})\n", - "X[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "5ac7f183", - "metadata": {}, - "source": [ - "We extract the response, and fit the model." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d4dd511b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:49.903600Z", - "iopub.status.busy": "2023-07-26T05:16:49.903426Z", - "iopub.status.idle": "2023-07-26T05:16:49.906235Z", - "shell.execute_reply": "2023-07-26T05:16:49.905900Z" - } - }, - "outputs": [], - "source": [ - "y = Boston['medv']\n", - "model = sm.OLS(y, X)\n", - "results = model.fit()" - ] - }, - { - "cell_type": "markdown", - "id": "ddf44723", - "metadata": {}, - "source": [ - "Note that `sm.OLS()` does\n", - "not fit the model; it specifies the model, and then `model.fit()` does the actual fitting. \n", - "\n", - "Our `ISLP` function `summarize()` produces a simple table of the parameter estimates,\n", - "their standard errors, t-statistics and p-values.\n", - "The function takes a single argument, such as the object `results` \n", - "returned here by the `fit`\n", - "method, and returns such a summary." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "eef9f8e3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:49.908149Z", - "iopub.status.busy": "2023-07-26T05:16:49.908028Z", - "iopub.status.idle": "2023-07-26T05:16:49.973872Z", - "shell.execute_reply": "2023-07-26T05:16:49.973443Z" - } - }, - "outputs": [], - "source": [ - "summarize(results)" - ] - }, - { - "cell_type": "markdown", - "id": "db916e19", - "metadata": {}, - "source": [ - "Before we describe other methods for working with fitted models, we outline a more useful and general framework for constructing a model matrix~`X`.\n", - "### Using Transformations: Fit and Transform\n", - "Our model above has a single predictor, and constructing `X` was straightforward. \n", - "In practice we often fit models with more than one predictor, typically selected from an array or data frame.\n", - "We may wish to introduce transformations to the variables before fitting the model, specify interactions between variables, and expand some particular variables into sets of variables (e.g. polynomials).\n", - "The `sklearn` package has a particular notion\n", - "for this type of task: a *transform*. A transform is an object\n", - "that is created with some parameters as arguments. The\n", - "object has two main methods: `fit()` and `transform()`.\n", - "\n", - "We provide a general approach for specifying models and constructing\n", - "the model matrix through the transform `ModelSpec()` in the `ISLP` library.\n", - "`ModelSpec()`\n", - "(renamed `MS()` in the preamble) creates a\n", - "transform object, and then a pair of methods\n", - "`transform()` and `fit()` are used to construct a\n", - "corresponding model matrix.\n", - "\n", - "We first describe this process for our simple regression model using a single predictor `lstat` in\n", - "the `Boston` data frame, but will use it repeatedly in more\n", - "complex tasks in this and other labs in this book.\n", - "In our case the transform is created by the expression\n", - "`design = MS(['lstat'])`.\n", - "\n", - "The `fit()` method takes the original array and may do some\n", - "initial computations on it, as specified in the transform object.\n", - "For example, it may compute means and standard deviations for centering and scaling.\n", - "The `transform()` \n", - "method applies the fitted transformation to the array of data, and produces the model matrix." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "557170d4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:49.976562Z", - "iopub.status.busy": "2023-07-26T05:16:49.976352Z", - "iopub.status.idle": "2023-07-26T05:16:49.982733Z", - "shell.execute_reply": "2023-07-26T05:16:49.982315Z" - } - }, - "outputs": [], - "source": [ - "design = MS(['lstat'])\n", - "design = design.fit(Boston)\n", - "X = design.transform(Boston)\n", - "X[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "86615813", - "metadata": {}, - "source": [ - "In this simple case, the `fit()` method does very little; it simply checks that the variable `'lstat'` specified in `design` exists in `Boston`. Then `transform()` constructs the model matrix with two columns: an `intercept` and the variable `lstat`.\n", - "\n", - "These two operations can be combined with the\n", - "`fit_transform()` method." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b83ec097", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:49.985396Z", - "iopub.status.busy": "2023-07-26T05:16:49.985228Z", - "iopub.status.idle": "2023-07-26T05:16:49.992390Z", - "shell.execute_reply": "2023-07-26T05:16:49.991020Z" - } - }, - "outputs": [], - "source": [ - "design = MS(['lstat'])\n", - "X = design.fit_transform(Boston)\n", - "X[:4]" - ] - }, - { - "cell_type": "markdown", - "id": "c6becbcb", - "metadata": {}, - "source": [ - "Note that, as in the previous code chunk when the two steps were done separately, the `design` object is changed as a result of the `fit()` operation. The power of this pipeline will become clearer when we fit more complex models that involve interactions and transformations." - ] - }, - { - "cell_type": "markdown", - "id": "e097120f", - "metadata": {}, - "source": [ - "Let's return to our fitted regression model.\n", - "The object\n", - "`results` has several methods that can be used for inference.\n", - "We already presented a function `summarize()` for showing the essentials of the fit.\n", - "For a full and somewhat exhaustive summary of the fit, we can use the `summary()` \n", - "method." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d4dce5f6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:49.995458Z", - "iopub.status.busy": "2023-07-26T05:16:49.995307Z", - "iopub.status.idle": "2023-07-26T05:16:50.003927Z", - "shell.execute_reply": "2023-07-26T05:16:50.003569Z" - } - }, - "outputs": [], - "source": [ - "results.summary()" - ] - }, - { - "cell_type": "markdown", - "id": "9a367738", - "metadata": {}, - "source": [ - "The fitted coefficients can also be retrieved as the\n", - "`params` attribute of `results`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a0edf555", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.006397Z", - "iopub.status.busy": "2023-07-26T05:16:50.006253Z", - "iopub.status.idle": "2023-07-26T05:16:50.009669Z", - "shell.execute_reply": "2023-07-26T05:16:50.009037Z" - } - }, - "outputs": [], - "source": [ - "results.params" - ] - }, - { - "cell_type": "markdown", - "id": "4472913f", - "metadata": {}, - "source": [ - "The `get_prediction()` method can be used to obtain predictions, and produce confidence intervals and\n", - "prediction intervals for the prediction of `medv` for given values of `lstat`.\n", - "\n", - "We first create a new data frame, in this case containing only the variable `lstat`, with the values for this variable at which we wish to make predictions.\n", - "We then use the `transform()` method of `design` to create the corresponding model matrix." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fdc5a3f3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.012044Z", - "iopub.status.busy": "2023-07-26T05:16:50.011931Z", - "iopub.status.idle": "2023-07-26T05:16:50.016842Z", - "shell.execute_reply": "2023-07-26T05:16:50.016427Z" - } - }, - "outputs": [], - "source": [ - "new_df = pd.DataFrame({'lstat':[5, 10, 15]})\n", - "newX = design.transform(new_df)\n", - "newX" - ] - }, - { - "cell_type": "markdown", - "id": "590d6b7d", - "metadata": {}, - "source": [ - "Next we compute the predictions at `newX`, and view them by extracting the `predicted_mean` attribute." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2c6acbf0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.019127Z", - "iopub.status.busy": "2023-07-26T05:16:50.018964Z", - "iopub.status.idle": "2023-07-26T05:16:50.022350Z", - "shell.execute_reply": "2023-07-26T05:16:50.021918Z" - } - }, - "outputs": [], - "source": [ - "new_predictions = results.get_prediction(newX);\n", - "new_predictions.predicted_mean" - ] - }, - { - "cell_type": "markdown", - "id": "f2d7e037", - "metadata": {}, - "source": [ - "We can produce confidence intervals for the predicted values." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c472ef33", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.024574Z", - "iopub.status.busy": "2023-07-26T05:16:50.024433Z", - "iopub.status.idle": "2023-07-26T05:16:50.027837Z", - "shell.execute_reply": "2023-07-26T05:16:50.027439Z" - } - }, - "outputs": [], - "source": [ - "new_predictions.conf_int(alpha=0.05)" - ] - }, - { - "cell_type": "markdown", - "id": "dfabf8a7", - "metadata": {}, - "source": [ - "Prediction intervals are computing by setting `obs=True`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3e2ffc7a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.029978Z", - "iopub.status.busy": "2023-07-26T05:16:50.029838Z", - "iopub.status.idle": "2023-07-26T05:16:50.032847Z", - "shell.execute_reply": "2023-07-26T05:16:50.032491Z" - } - }, - "outputs": [], - "source": [ - "new_predictions.conf_int(obs=True, alpha=0.05)" - ] - }, - { - "cell_type": "markdown", - "id": "65463c75", - "metadata": {}, - "source": [ - " For instance, the 95% confidence interval associated with an\n", - " `lstat` value of 10 is (24.47, 25.63), and the 95% prediction\n", - "interval is (12.82, 37.28). As expected, the confidence and\n", - "prediction intervals are centered around the same point (a predicted\n", - "value of 25.05 for `medv` when `lstat` equals\n", - "10), but the latter are substantially wider.\n", - "\n", - "Next we will plot `medv` and `lstat` \n", - "using `DataFrame.plot.scatter()`, \n", - "and wish to\n", - "add the regression line to the resulting plot." - ] - }, - { - "cell_type": "markdown", - "id": "f699e856", - "metadata": {}, - "source": [ - "### Defining Functions\n", - "While there is a function\n", - "within the `ISLP` package that adds a line to an existing plot, we take this opportunity\n", - "to define our first function to do so." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4e56a1d3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.035185Z", - "iopub.status.busy": "2023-07-26T05:16:50.035076Z", - "iopub.status.idle": "2023-07-26T05:16:50.037782Z", - "shell.execute_reply": "2023-07-26T05:16:50.037389Z" - } - }, - "outputs": [], - "source": [ - "def abline(ax, b, m):\n", - " \"Add a line with slope m and intercept b to ax\"\n", - " xlim = ax.get_xlim()\n", - " ylim = [m * xlim[0] + b, m * xlim[1] + b]\n", - " ax.plot(xlim, ylim)" - ] - }, - { - "cell_type": "markdown", - "id": "e0a0dce5", - "metadata": {}, - "source": [ - " A few things are illustrated above. First we see the syntax for defining a function:\n", - "`def funcname(...)`. The function has arguments `ax, b, m`\n", - "where `ax` is an axis object for an exisiting plot, `b` is the intercept and\n", - "`m` is the slope of the desired line. Other plotting options can be passed on to\n", - "`ax.plot` by including additional optional arguments as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7f43ffe7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.040033Z", - "iopub.status.busy": "2023-07-26T05:16:50.039836Z", - "iopub.status.idle": "2023-07-26T05:16:50.042447Z", - "shell.execute_reply": "2023-07-26T05:16:50.042026Z" - } - }, - "outputs": [], - "source": [ - "def abline(ax, b, m, *args, **kwargs):\n", - " \"Add a line with slope m and intercept b to ax\"\n", - " xlim = ax.get_xlim()\n", - " ylim = [m * xlim[0] + b, m * xlim[1] + b]\n", - " ax.plot(xlim, ylim, *args, **kwargs)" - ] - }, - { - "cell_type": "markdown", - "id": "4f4981fa", - "metadata": {}, - "source": [ - "The addition of `*args` allows any number of\n", - "non-named arguments to `abline`, while `*kwargs` allows any\n", - "number of named arguments (such as `linewidth=3`) to `abline`.\n", - "In our function, we pass\n", - "these arguments verbatim to `ax.plot` above. Readers\n", - "interested in learning more about\n", - "functions are referred to the section on\n", - "defining functions in [docs.python.org/tutorial](https://docs.python.org/3/tutorial/controlflow.html#defining-functions).\n", - "\n", - "Let’s use our new function to add this regression line to a plot of\n", - "`medv` vs. `lstat`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3f7b67c9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.044790Z", - "iopub.status.busy": "2023-07-26T05:16:50.044610Z", - "iopub.status.idle": "2023-07-26T05:16:50.159032Z", - "shell.execute_reply": "2023-07-26T05:16:50.158476Z" - } - }, - "outputs": [], - "source": [ - "ax = Boston.plot.scatter('lstat', 'medv')\n", - "abline(ax,\n", - " results.params[0],\n", - " results.params[1],\n", - " 'r--',\n", - " linewidth=3)" - ] - }, - { - "cell_type": "markdown", - "id": "50d7066f", - "metadata": {}, - "source": [ - "Thus, the final call to `ax.plot()` is `ax.plot(xlim, ylim, 'r--', linewidth=3)`.\n", - "We have used the argument `'r--'` to produce a red dashed line, and added\n", - "an argument to make it of width 3.\n", - "There is some evidence for non-linearity in the relationship between `lstat` and `medv`. We will explore this issue later in this lab.\n", - "\n", - "As mentioned above, there is an existing function to add a line to a plot --- `ax.axline()` --- but knowing how to write such functions empowers us to create more expressive displays." - ] - }, - { - "cell_type": "markdown", - "id": "82ab1913", - "metadata": {}, - "source": [ - "Next we examine some diagnostic plots, several of which were discussed\n", - "in Section 3.3.3.\n", - "We can find the fitted values and residuals\n", - "of the fit as attributes of the `results` object.\n", - "Various influence measures describing the regression model\n", - "are computed with the `get_influence()` method.\n", - "As we will not use the `fig` component returned\n", - "as the first value from `subplots()`, we simply\n", - "capture the second returned value in `ax` below." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b35a2fd3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.161898Z", - "iopub.status.busy": "2023-07-26T05:16:50.161592Z", - "iopub.status.idle": "2023-07-26T05:16:50.274404Z", - "shell.execute_reply": "2023-07-26T05:16:50.273842Z" - } - }, - "outputs": [], - "source": [ - "ax = subplots(figsize=(8,8))[1]\n", - "ax.scatter(results.fittedvalues, results.resid)\n", - "ax.set_xlabel('Fitted value')\n", - "ax.set_ylabel('Residual')\n", - "ax.axhline(0, c='k', ls='--');" - ] - }, - { - "cell_type": "markdown", - "id": "4deb547b", - "metadata": {}, - "source": [ - " We add a horizontal line at 0 for reference using the\n", - " `ax.axhline()` method, indicating\n", - "it should be black (`c='k'`) and have a dashed linestyle (`ls='--'`).\n", - "\n", - "On the basis of the residual plot, there is some evidence of non-linearity.\n", - "Leverage statistics can be computed for any number of predictors using the\n", - "`hat_matrix_diag` attribute of the value returned by the\n", - "`get_influence()` method." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "82673b80", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.276799Z", - "iopub.status.busy": "2023-07-26T05:16:50.276637Z", - "iopub.status.idle": "2023-07-26T05:16:50.384102Z", - "shell.execute_reply": "2023-07-26T05:16:50.383325Z" - } - }, - "outputs": [], - "source": [ - "infl = results.get_influence()\n", - "ax = subplots(figsize=(8,8))[1]\n", - "ax.scatter(np.arange(X.shape[0]), infl.hat_matrix_diag)\n", - "ax.set_xlabel('Index')\n", - "ax.set_ylabel('Leverage')\n", - "np.argmax(infl.hat_matrix_diag)" - ] - }, - { - "cell_type": "markdown", - "id": "7eb69d75", - "metadata": {}, - "source": [ - " The `np.argmax()` function identifies the index of the largest element of an array, optionally computed over an axis of the array.\n", - "In this case, we maximized over the entire array\n", - "to determine which observation has the largest leverage statistic." - ] - }, - { - "cell_type": "markdown", - "id": "94c0a8c1", - "metadata": {}, - "source": [ - "## Multiple Linear Regression\n", - "In order to fit a multiple linear regression model using least squares, we again use\n", - "the `ModelSpec()` transform to construct the required\n", - "model matrix and response. The arguments\n", - "to `ModelSpec()` can be quite general, but in this case\n", - "a list of column names suffice. We consider a fit here with\n", - "the two variables `lstat` and `age`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "54596dc4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.387053Z", - "iopub.status.busy": "2023-07-26T05:16:50.386874Z", - "iopub.status.idle": "2023-07-26T05:16:50.400398Z", - "shell.execute_reply": "2023-07-26T05:16:50.399938Z" - } - }, - "outputs": [], - "source": [ - "X = MS(['lstat', 'age']).fit_transform(Boston)\n", - "model1 = sm.OLS(y, X)\n", - "results1 = model1.fit()\n", - "summarize(results1)" - ] - }, - { - "cell_type": "markdown", - "id": "88450596", - "metadata": {}, - "source": [ - "Notice how we have compacted the first line into a succinct expression describing the construction of `X`.\n", - "\n", - "The `Boston` data set contains 12 variables, and so it would be cumbersome\n", - "to have to type all of these in order to perform a regression using all of the predictors.\n", - "Instead, we can use the following short-hand:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "75c78238", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.402974Z", - "iopub.status.busy": "2023-07-26T05:16:50.402819Z", - "iopub.status.idle": "2023-07-26T05:16:50.406561Z", - "shell.execute_reply": "2023-07-26T05:16:50.406042Z" - } - }, - "outputs": [], - "source": [ - "terms = Boston.columns.drop('medv')\n", - "terms" - ] - }, - { - "cell_type": "markdown", - "id": "653715b5", - "metadata": {}, - "source": [ - "We can now fit the model with all the variables in `terms` using\n", - "the same model matrix builder." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f14b9e1a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.409092Z", - "iopub.status.busy": "2023-07-26T05:16:50.408922Z", - "iopub.status.idle": "2023-07-26T05:16:50.427019Z", - "shell.execute_reply": "2023-07-26T05:16:50.426146Z" - } - }, - "outputs": [], - "source": [ - "X = MS(terms).fit_transform(Boston)\n", - "model = sm.OLS(y, X)\n", - "results = model.fit()\n", - "summarize(results)" - ] - }, - { - "cell_type": "markdown", - "id": "26acd5ab", - "metadata": {}, - "source": [ - "What if we would like to perform a regression using all of the variables but one? For\n", - "example, in the above regression output, `age` has a high $p$-value.\n", - "So we may wish to run a regression excluding this predictor.\n", - "The following syntax results in a regression using all predictors except `age`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0a2714b1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.430858Z", - "iopub.status.busy": "2023-07-26T05:16:50.430692Z", - "iopub.status.idle": "2023-07-26T05:16:50.449487Z", - "shell.execute_reply": "2023-07-26T05:16:50.448800Z" - } - }, - "outputs": [], - "source": [ - "minus_age = Boston.columns.drop(['medv', 'age']) \n", - "Xma = MS(minus_age).fit_transform(Boston)\n", - "model1 = sm.OLS(y, Xma)\n", - "summarize(model1.fit())" - ] - }, - { - "cell_type": "markdown", - "id": "28538920", - "metadata": {}, - "source": [ - "## Multivariate Goodness of Fit\n", - "We can access the individual components of `results` by name\n", - "(`dir(results)` shows us what is available). Hence\n", - "`results.rsquared` gives us the $R^2$,\n", - "and\n", - "`np.sqrt(results.scale)` gives us the RSE.\n", - "\n", - "Variance inflation factors (section 3.3.3) are sometimes useful\n", - "to assess the effect of collinearity in the model matrix of a regression model.\n", - "We will compute the VIFs in our multiple regression fit, and use the opportunity to introduce the idea of *list comprehension*.\n", - "\n", - "### List Comprehension\n", - "Often we encounter a sequence of objects which we would like to transform\n", - "for some other task. Below, we compute the VIF for each\n", - "feature in our `X` matrix and produce a data frame\n", - "whose index agrees with the columns of `X`.\n", - "The notion of list comprehension can often make such\n", - "a task easier.\n", - "\n", - "List comprehensions are simple and powerful ways to form\n", - "lists of `Python` objects. The language also supports\n", - "dictionary and *generator* comprehension, though these are\n", - "beyond our scope here. Let's look at an example. We compute the VIF for each of the variables\n", - "in the model matrix `X`, using the function `variance_inflation_factor()`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "961c9128", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.454906Z", - "iopub.status.busy": "2023-07-26T05:16:50.454582Z", - "iopub.status.idle": "2023-07-26T05:16:50.464023Z", - "shell.execute_reply": "2023-07-26T05:16:50.463522Z" - } - }, - "outputs": [], - "source": [ - "vals = [VIF(X, i)\n", - " for i in range(1, X.shape[1])]\n", - "vif = pd.DataFrame({'vif':vals},\n", - " index=X.columns[1:])\n", - "vif" - ] - }, - { - "cell_type": "markdown", - "id": "d052f0ab", - "metadata": {}, - "source": [ - "The function `VIF()` takes two arguments: a dataframe or array,\n", - "and a variable column index. In the code above we call `VIF()` on the fly for all columns in `X`. \n", - "We have excluded column 0 above (the intercept), which is not of interest. In this case the VIFs are not that exciting.\n", - "\n", - "The object `vals` above could have been constructed with the following for loop:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4886f9e9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.466225Z", - "iopub.status.busy": "2023-07-26T05:16:50.466081Z", - "iopub.status.idle": "2023-07-26T05:16:50.472696Z", - "shell.execute_reply": "2023-07-26T05:16:50.472188Z" - } - }, - "outputs": [], - "source": [ - "vals = []\n", - "for i in range(1, X.values.shape[1]):\n", - " vals.append(VIF(X.values, i))" - ] - }, - { - "cell_type": "markdown", - "id": "fd3732d5", - "metadata": {}, - "source": [ - "List comprehension allows us to perform such repetitive operations in a more straightforward way.\n", - "## Interaction Terms\n", - "It is easy to include interaction terms in a linear model using `ModelSpec()`.\n", - "Including a tuple `(\"lstat\",\"age\")` tells the model\n", - "matrix builder to include an interaction term between\n", - " `lstat` and `age`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b54d2da1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.475003Z", - "iopub.status.busy": "2023-07-26T05:16:50.474857Z", - "iopub.status.idle": "2023-07-26T05:16:50.488206Z", - "shell.execute_reply": "2023-07-26T05:16:50.487746Z" - } - }, - "outputs": [], - "source": [ - "X = MS(['lstat',\n", - " 'age',\n", - " ('lstat', 'age')]).fit_transform(Boston)\n", - "model2 = sm.OLS(y, X)\n", - "summarize(model2.fit())" - ] - }, - { - "cell_type": "markdown", - "id": "c72c4846", - "metadata": {}, - "source": [ - "## Non-linear Transformations of the Predictors\n", - "The model matrix builder can include terms beyond\n", - "just column names and interactions. For instance,\n", - "the `poly()` function supplied in `ISLP` specifies that\n", - "columns representing polynomial functions\n", - "of its first argument are added to the model matrix." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1b71633a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.490521Z", - "iopub.status.busy": "2023-07-26T05:16:50.490379Z", - "iopub.status.idle": "2023-07-26T05:16:50.504489Z", - "shell.execute_reply": "2023-07-26T05:16:50.504059Z" - } - }, - "outputs": [], - "source": [ - "X = MS([poly('lstat', degree=2), 'age']).fit_transform(Boston)\n", - "model3 = sm.OLS(y, X)\n", - "results3 = model3.fit()\n", - "summarize(results3)" - ] - }, - { - "cell_type": "markdown", - "id": "9f32c813", - "metadata": {}, - "source": [ - "The effectively zero *p*-value associated with the quadratic term\n", - "(i.e. the third row above) suggests that it leads to an improved model.\n", - "\n", - "By default, `poly()` creates a basis matrix for inclusion in the\n", - "model matrix whose\n", - "columns are *orthogonal polynomials*, which are designed for stable\n", - "least squares computations. {Actually, `poly()` is a wrapper for the workhorse and standalone function `Poly()` that does the work in building the model matrix.}\n", - "Alternatively, had we included an argument\n", - "`raw=True` in the above call to `poly()`, the basis matrix would consist simply of\n", - "`lstat` and `lstat**2`. Since either of these bases\n", - "represent quadratic polynomials, the fitted values would not\n", - "change in this case, just the polynomial coefficients. Also by default, the columns\n", - "created by `poly()` do not include an intercept column as\n", - "that is automatically added by `MS()`.\n", - "\n", - "We use the `anova_lm()` function to further quantify the extent to which the quadratic fit is\n", - "superior to the linear fit." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6d30a306", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.506891Z", - "iopub.status.busy": "2023-07-26T05:16:50.506725Z", - "iopub.status.idle": "2023-07-26T05:16:50.513731Z", - "shell.execute_reply": "2023-07-26T05:16:50.513303Z" - } - }, - "outputs": [], - "source": [ - "anova_lm(results1, results3)" - ] - }, - { - "cell_type": "markdown", - "id": "bd0155d4", - "metadata": {}, - "source": [ - "Here `results1` represents the linear submodel containing\n", - "predictors `lstat` and `age`,\n", - "while `results3` corresponds to the larger model above with a quadratic\n", - "term in `lstat`.\n", - "The `anova_lm()` function performs a hypothesis test\n", - "comparing the two models. The null hypothesis is that the quadratic\n", - "term in the bigger model is not needed, and the alternative hypothesis is that the\n", - "bigger model is superior. Here the *F*-statistic is 177.28 and\n", - "the associated *p*-value is zero.\n", - "In this case the *F*-statistic is the square of the\n", - "*t*-statistic for the quadratic term in the linear model summary\n", - "for `results3` --- a consequence of the fact that these nested\n", - "models differ by one degree of freedom.\n", - "This provides very clear evidence that the quadratic polynomial in\n", - "`lstat` improves the linear model.\n", - "This is not surprising, since earlier we saw evidence for non-linearity in the relationship between `medv`\n", - "and `lstat`.\n", - "\n", - "The function `anova_lm()` can take more than two nested models\n", - "as input, in which case it compares every successive pair of models.\n", - "That also explains why their are `NaN`s in the first row above, since\n", - "there is no previous model with which to compare the first." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9a5ec13f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.516035Z", - "iopub.status.busy": "2023-07-26T05:16:50.515894Z", - "iopub.status.idle": "2023-07-26T05:16:50.640835Z", - "shell.execute_reply": "2023-07-26T05:16:50.640080Z" - } - }, - "outputs": [], - "source": [ - "ax = subplots(figsize=(8,8))[1]\n", - "ax.scatter(results3.fittedvalues, results3.resid)\n", - "ax.set_xlabel('Fitted value')\n", - "ax.set_ylabel('Residual')\n", - "ax.axhline(0, c='k', ls='--')" - ] - }, - { - "cell_type": "markdown", - "id": "88272f6f", - "metadata": {}, - "source": [ - "We see that when the quadratic term is included in the model,\n", - "there is little discernible pattern in the residuals.\n", - "In order to create a cubic or higher-degree polynomial fit, we can simply change the degree argument\n", - "to `poly()`." - ] - }, - { - "cell_type": "markdown", - "id": "e1a34084", - "metadata": {}, - "source": [ - "## Qualitative Predictors\n", - "Here we use the `Carseats` data, which is included in the\n", - "`ISLP` package. We will attempt to predict `Sales`\n", - "(child car seat sales) in 400 locations based on a number of\n", - "predictors." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "09bbc0c6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.643135Z", - "iopub.status.busy": "2023-07-26T05:16:50.643008Z", - "iopub.status.idle": "2023-07-26T05:16:50.649451Z", - "shell.execute_reply": "2023-07-26T05:16:50.649047Z" - } - }, - "outputs": [], - "source": [ - "Carseats = load_data('Carseats')\n", - "Carseats.columns" - ] - }, - { - "cell_type": "markdown", - "id": "1a882e65", - "metadata": {}, - "source": [ - "The `Carseats` \n", - " data includes qualitative predictors such as\n", - " `ShelveLoc`, an indicator of the quality of the shelving\n", - " location --- that is,\n", - "the space within a store in which the car seat is displayed. The predictor\n", - " `ShelveLoc` takes on three possible values, `Bad`, `Medium`, and `Good`.\n", - "Given a qualitative variable such as `ShelveLoc`, `ModelSpec()` generates dummy\n", - "variables automatically.\n", - "These variables are often referred to as a *one-hot encoding* of the categorical\n", - "feature. Their columns sum to one, so to avoid collinearity with an intercept, the first column is dropped. Below we see\n", - "the column `ShelveLoc[Bad]` has been dropped, since `Bad` is the first level of `ShelveLoc`.\n", - "Below we fit a multiple regression model that includes some interaction terms." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2e1da1fa", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:50.651966Z", - "iopub.status.busy": "2023-07-26T05:16:50.651596Z", - "iopub.status.idle": "2023-07-26T05:16:50.678716Z", - "shell.execute_reply": "2023-07-26T05:16:50.678209Z" - } - }, - "outputs": [], - "source": [ - "allvars = list(Carseats.columns.drop('Sales'))\n", - "y = Carseats['Sales']\n", - "final = allvars + [('Income', 'Advertising'),\n", - " ('Price', 'Age')]\n", - "X = MS(final).fit_transform(Carseats)\n", - "model = sm.OLS(y, X)\n", - "summarize(model.fit())" - ] - }, - { - "cell_type": "markdown", - "id": "79d9127c", - "metadata": {}, - "source": [ - "In the first line above, we made `allvars` a list, so that we\n", - "could add the interaction terms two lines down. \n", - "Our model-matrix builder has created a `ShelveLoc[Good]`\n", - "dummy variable that takes on a value of 1 if the\n", - "shelving location is good, and 0 otherwise. It has also created a `ShelveLoc[Medium]`\n", - "dummy variable that equals 1 if the shelving location is medium, and 0 otherwise.\n", - "A bad shelving location corresponds to a zero for each of the two dummy variables.\n", - "The fact that the coefficient for `ShelveLoc[Good]` in the regression output is\n", - "positive indicates that a good shelving location is associated with high sales (relative to a bad location).\n", - "And `ShelveLoc[Medium]` has a smaller positive coefficient,\n", - "indicating that a medium shelving location leads to higher sales than a bad\n", - "shelving location, but lower sales than a good shelving location." - ] - } - ], - "metadata": { - "jupytext": { - "cell_metadata_filter": "-all", - "formats": "ipynb,md:myst", - "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/source/labs/Ch4-classification-lab.ipynb b/docs/source/labs/Ch4-classification-lab.ipynb deleted file mode 100644 index c5f4d47..0000000 --- a/docs/source/labs/Ch4-classification-lab.ipynb +++ /dev/null @@ -1,2633 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "e6cc127e", - "metadata": {}, - "source": [ - "# Logistic Regression, LDA, QDA, and KNN\n", - "\n", - "\n", - " \"Open\n", - "\n", - "" - ] - }, - { - "cell_type": "markdown", - "id": "a4e58fe1", - "metadata": {}, - "source": [ - "## The Stock Market Data\n", - "\n", - "In this lab we will examine the `Smarket` \n", - "data, which is part of the `ISLP`\n", - "library. This data set consists of percentage returns for the S&P 500\n", - "stock index over 1,250 days, from the beginning of 2001 until the end\n", - "of 2005. For each date, we have recorded the percentage returns for\n", - "each of the five previous trading days, `Lag1` through\n", - " `Lag5`. We have also recorded `Volume` (the number of\n", - "shares traded on the previous day, in billions), `Today` (the\n", - "percentage return on the date in question) and `Direction`\n", - "(whether the market was `Up` or `Down` on this date).\n", - "\n", - "We start by importing our libraries at this top level; these are all imports we have seen in previous labs." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "71523a7f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:52.147230Z", - "iopub.status.busy": "2023-07-26T05:16:52.147074Z", - "iopub.status.idle": "2023-07-26T05:16:53.319384Z", - "shell.execute_reply": "2023-07-26T05:16:53.318779Z" - } - }, - "outputs": [], - "source": [ - "import numpy as np\n", - "import pandas as pd\n", - "from matplotlib.pyplot import subplots\n", - "import statsmodels.api as sm\n", - "from ISLP import load_data\n", - "from ISLP.models import (ModelSpec as MS,\n", - " summarize)" - ] - }, - { - "cell_type": "markdown", - "id": "4759a767", - "metadata": {}, - "source": [ - "We also collect together the new imports needed for this lab." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "901ed7c5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.322482Z", - "iopub.status.busy": "2023-07-26T05:16:53.322239Z", - "iopub.status.idle": "2023-07-26T05:16:53.343077Z", - "shell.execute_reply": "2023-07-26T05:16:53.342596Z" - } - }, - "outputs": [], - "source": [ - "from ISLP import confusion_table\n", - "from ISLP.models import contrast\n", - "from sklearn.discriminant_analysis import \\\n", - " (LinearDiscriminantAnalysis as LDA,\n", - " QuadraticDiscriminantAnalysis as QDA)\n", - "from sklearn.naive_bayes import GaussianNB\n", - "from sklearn.neighbors import KNeighborsClassifier\n", - "from sklearn.preprocessing import StandardScaler\n", - "from sklearn.model_selection import train_test_split\n", - "from sklearn.linear_model import LogisticRegression" - ] - }, - { - "cell_type": "markdown", - "id": "dd5a4d61", - "metadata": {}, - "source": [ - "Now we are ready to load the `Smarket` data." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8b56ee0f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.345526Z", - "iopub.status.busy": "2023-07-26T05:16:53.345383Z", - "iopub.status.idle": "2023-07-26T05:16:53.358625Z", - "shell.execute_reply": "2023-07-26T05:16:53.357838Z" - } - }, - "outputs": [], - "source": [ - "Smarket = load_data('Smarket')\n", - "Smarket" - ] - }, - { - "cell_type": "markdown", - "id": "400eb0f9", - "metadata": {}, - "source": [ - "This gives a truncated listing of the data.\n", - "We can see what the variable names are." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "62d49b47", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.361002Z", - "iopub.status.busy": "2023-07-26T05:16:53.360735Z", - "iopub.status.idle": "2023-07-26T05:16:53.364261Z", - "shell.execute_reply": "2023-07-26T05:16:53.363501Z" - } - }, - "outputs": [], - "source": [ - "Smarket.columns" - ] - }, - { - "cell_type": "markdown", - "id": "82e38285", - "metadata": {}, - "source": [ - "We compute the correlation matrix using the `corr()` method\n", - "for data frames, which produces a matrix that contains all of\n", - "the pairwise correlations among the variables.\n", - " \n", - "The `pandas` library does not report a correlation for the `Direction` variable because it is\n", - "qualitative." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bc34e7b7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.366253Z", - "iopub.status.busy": "2023-07-26T05:16:53.366125Z", - "iopub.status.idle": "2023-07-26T05:16:53.372926Z", - "shell.execute_reply": "2023-07-26T05:16:53.372328Z" - } - }, - "outputs": [], - "source": [ - "Smarket.corr()" - ] - }, - { - "cell_type": "markdown", - "id": "53a52be5", - "metadata": {}, - "source": [ - "As one would expect, the correlations between the lagged return variables and\n", - "today’s return are close to zero. The only substantial correlation is between `Year` and\n", - " `Volume`. By plotting the data we see that `Volume`\n", - "is increasing over time. In other words, the average number of shares traded\n", - "daily increased from 2001 to 2005." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9f075144", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.376785Z", - "iopub.status.busy": "2023-07-26T05:16:53.376551Z", - "iopub.status.idle": "2023-07-26T05:16:53.491023Z", - "shell.execute_reply": "2023-07-26T05:16:53.490615Z" - } - }, - "outputs": [], - "source": [ - "Smarket.plot(y='Volume');" - ] - }, - { - "cell_type": "markdown", - "id": "b8428c9e", - "metadata": {}, - "source": [ - "## Logistic Regression\n", - "Next, we will fit a logistic regression model in order to predict\n", - " `Direction` using `Lag1` through `Lag5` and\n", - " `Volume`. The `sm.GLM()` function fits *generalized linear models*, a class of\n", - "models that includes logistic regression. Alternatively,\n", - "the function `sm.Logit()` fits a logistic regression\n", - "model directly. The syntax of\n", - "`sm.GLM()` is similar to that of `sm.OLS()`, except\n", - "that we must pass in the argument `family=sm.families.Binomial()`\n", - "in order to tell `statsmodels` to run a logistic regression rather than some other\n", - "type of generalized linear model." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2ab15aa3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.493500Z", - "iopub.status.busy": "2023-07-26T05:16:53.493302Z", - "iopub.status.idle": "2023-07-26T05:16:53.566736Z", - "shell.execute_reply": "2023-07-26T05:16:53.566181Z" - } - }, - "outputs": [], - "source": [ - "allvars = Smarket.columns.drop(['Today', 'Direction', 'Year'])\n", - "design = MS(allvars)\n", - "X = design.fit_transform(Smarket)\n", - "y = Smarket.Direction == 'Up'\n", - "glm = sm.GLM(y,\n", - " X,\n", - " family=sm.families.Binomial())\n", - "results = glm.fit()\n", - "summarize(results)" - ] - }, - { - "cell_type": "markdown", - "id": "ce1f682c", - "metadata": {}, - "source": [ - "The smallest *p*-value here is associated with `Lag1`. The\n", - "negative coefficient for this predictor suggests that if the market\n", - "had a positive return yesterday, then it is less likely to go up\n", - "today. However, at a value of 0.15, the *p*-value is still\n", - "relatively large, and so there is no clear evidence of a real\n", - "association between `Lag1` and `Direction`.\n", - "\n", - "We use the `params` attribute of `results`\n", - "in order to access just the\n", - "coefficients for this fitted model." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0faa6a6c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.569154Z", - "iopub.status.busy": "2023-07-26T05:16:53.568975Z", - "iopub.status.idle": "2023-07-26T05:16:53.572426Z", - "shell.execute_reply": "2023-07-26T05:16:53.572078Z" - } - }, - "outputs": [], - "source": [ - "results.params" - ] - }, - { - "cell_type": "markdown", - "id": "b989df1d", - "metadata": {}, - "source": [ - "Likewise we can use the\n", - "`pvalues` attribute to access the *p*-values for the coefficients." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "108aff98", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.574612Z", - "iopub.status.busy": "2023-07-26T05:16:53.574492Z", - "iopub.status.idle": "2023-07-26T05:16:53.578308Z", - "shell.execute_reply": "2023-07-26T05:16:53.577846Z" - } - }, - "outputs": [], - "source": [ - "results.pvalues" - ] - }, - { - "cell_type": "markdown", - "id": "5c5c1f8e", - "metadata": {}, - "source": [ - "The `predict()` method of `results` can be used to predict the\n", - "probability that the market will go up, given values of the\n", - "predictors. This method returns predictions\n", - "on the probability scale. If no data set is supplied to the `predict()`\n", - "function, then the probabilities are computed for the training data\n", - "that was used to fit the logistic regression model.\n", - "As with linear regression, one can pass an optional `exog` argument consistent\n", - "with a design matrix if desired. Here we have\n", - "printed only the first ten probabilities." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "54b4b96c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.580578Z", - "iopub.status.busy": "2023-07-26T05:16:53.580429Z", - "iopub.status.idle": "2023-07-26T05:16:53.583750Z", - "shell.execute_reply": "2023-07-26T05:16:53.583333Z" - } - }, - "outputs": [], - "source": [ - "probs = results.predict()\n", - "probs[:10]" - ] - }, - { - "cell_type": "markdown", - "id": "3b8f3c42", - "metadata": {}, - "source": [ - "In order to make a prediction as to whether the market will go up or\n", - "down on a particular day, we must convert these predicted\n", - "probabilities into class labels, `Up` or `Down`. The\n", - "following two commands create a vector of class predictions based on\n", - "whether the predicted probability of a market increase is greater than\n", - "or less than 0.5." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "46c2887c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.586085Z", - "iopub.status.busy": "2023-07-26T05:16:53.585953Z", - "iopub.status.idle": "2023-07-26T05:16:53.588706Z", - "shell.execute_reply": "2023-07-26T05:16:53.588288Z" - } - }, - "outputs": [], - "source": [ - "labels = np.array(['Down']*1250)\n", - "labels[probs>0.5] = \"Up\"" - ] - }, - { - "cell_type": "markdown", - "id": "47ac8c81", - "metadata": {}, - "source": [ - "The `confusion_table()`\n", - "function from the `ISLP` package summarizes these predictions, showing how\n", - "many observations were correctly or incorrectly classified. Our function, which is adapted from a similar function\n", - "in the module `sklearn.metrics`, transposes the resulting\n", - "matrix and includes row and column labels.\n", - "The `confusion_table()` function takes as first argument the\n", - "predicted labels, and second argument the true labels." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0f816c4d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.590957Z", - "iopub.status.busy": "2023-07-26T05:16:53.590766Z", - "iopub.status.idle": "2023-07-26T05:16:53.598268Z", - "shell.execute_reply": "2023-07-26T05:16:53.597798Z" - } - }, - "outputs": [], - "source": [ - "confusion_table(labels, Smarket.Direction)" - ] - }, - { - "cell_type": "markdown", - "id": "327a9525", - "metadata": {}, - "source": [ - "The diagonal elements of the confusion matrix indicate correct\n", - "predictions, while the off-diagonals represent incorrect\n", - "predictions. Hence our model correctly predicted that the market would\n", - "go up on 507 days and that it would go down on 145 days, for a\n", - "total of 507 + 145 = 652 correct predictions. The `np.mean()`\n", - "function can be used to compute the fraction of days for which the\n", - "prediction was correct. In this case, logistic regression correctly\n", - "predicted the movement of the market 52.2% of the time." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "23668517", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.600706Z", - "iopub.status.busy": "2023-07-26T05:16:53.600511Z", - "iopub.status.idle": "2023-07-26T05:16:53.603872Z", - "shell.execute_reply": "2023-07-26T05:16:53.603421Z" - } - }, - "outputs": [], - "source": [ - "(507+145)/1250, np.mean(labels == Smarket.Direction)" - ] - }, - { - "cell_type": "markdown", - "id": "1143b9c3", - "metadata": {}, - "source": [ - "At first glance, it appears that the logistic regression model is\n", - "working a little better than random guessing. However, this result is\n", - "misleading because we trained and tested the model on the same set of\n", - "1,250 observations. In other words, $100-52.2=47.8%$ is the\n", - "*training* error rate. As we have seen\n", - "previously, the training error rate is often overly optimistic --- it\n", - "tends to underestimate the test error rate. In\n", - "order to better assess the accuracy of the logistic regression model\n", - "in this setting, we can fit the model using part of the data, and\n", - "then examine how well it predicts the *held out* data. This\n", - "will yield a more realistic error rate, in the sense that in practice\n", - "we will be interested in our model’s performance not on the data that\n", - "we used to fit the model, but rather on days in the future for which\n", - "the market’s movements are unknown.\n", - "\n", - "To implement this strategy, we first create a Boolean vector\n", - "corresponding to the observations from 2001 through 2004. We then\n", - "use this vector to create a held out data set of observations from\n", - "2005." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "86a02d7c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.606055Z", - "iopub.status.busy": "2023-07-26T05:16:53.605931Z", - "iopub.status.idle": "2023-07-26T05:16:53.609917Z", - "shell.execute_reply": "2023-07-26T05:16:53.609576Z" - } - }, - "outputs": [], - "source": [ - "train = (Smarket.Year < 2005)\n", - "Smarket_train = Smarket.loc[train]\n", - "Smarket_test = Smarket.loc[~train]\n", - "Smarket_test.shape" - ] - }, - { - "cell_type": "markdown", - "id": "26b3a6d2", - "metadata": {}, - "source": [ - "The object `train` is a vector of 1,250 elements, corresponding\n", - "to the observations in our data set. The elements of the vector that\n", - "correspond to observations that occurred before 2005 are set to\n", - "`True`, whereas those that correspond to observations in 2005 are\n", - "set to `False`. Hence `train` is a\n", - "*boolean* array, since its\n", - "elements are `True` and `False`. Boolean arrays can be used\n", - "to obtain a subset of the rows or columns of a data frame\n", - "using the `loc` method. For instance,\n", - "the command `Smarket.loc[train]` would pick out a submatrix of the\n", - "stock market data set, corresponding only to the dates before 2005,\n", - "since those are the ones for which the elements of `train` are\n", - "`True`. The `~` symbol can be used to negate all of the\n", - "elements of a Boolean vector. That is, `~train` is a vector\n", - "similar to `train`, except that the elements that are `True`\n", - "in `train` get swapped to `False` in `~train`, and vice versa.\n", - "Therefore, `Smarket.loc[~train]` yields a\n", - "subset of the rows of the data frame\n", - "of the stock market data containing only the observations for which\n", - "`train` is `False`.\n", - "The output above indicates that there are 252 such\n", - "observations.\n", - "\n", - "We now fit a logistic regression model using only the subset of the\n", - "observations that correspond to dates before 2005. We then obtain predicted probabilities of the\n", - "stock market going up for each of the days in our test set --- that is,\n", - "for the days in 2005." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f23b1c7b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.612185Z", - "iopub.status.busy": "2023-07-26T05:16:53.612009Z", - "iopub.status.idle": "2023-07-26T05:16:53.618057Z", - "shell.execute_reply": "2023-07-26T05:16:53.617645Z" - } - }, - "outputs": [], - "source": [ - "X_train, X_test = X.loc[train], X.loc[~train]\n", - "y_train, y_test = y.loc[train], y.loc[~train]\n", - "glm_train = sm.GLM(y_train,\n", - " X_train,\n", - " family=sm.families.Binomial())\n", - "results = glm_train.fit()\n", - "probs = results.predict(exog=X_test)" - ] - }, - { - "cell_type": "markdown", - "id": "6ebe1900", - "metadata": {}, - "source": [ - "Notice that we have trained and tested our model on two completely\n", - "separate data sets: training was performed using only the dates before\n", - "2005, and testing was performed using only the dates in 2005.\n", - "\n", - "Finally, we compare the predictions for 2005 to the\n", - "actual movements of the market over that time period.\n", - "We will first store the test and training labels (recall `y_test` is binary)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "82f849b9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.620635Z", - "iopub.status.busy": "2023-07-26T05:16:53.620266Z", - "iopub.status.idle": "2023-07-26T05:16:53.623107Z", - "shell.execute_reply": "2023-07-26T05:16:53.622634Z" - } - }, - "outputs": [], - "source": [ - "D = Smarket.Direction\n", - "L_train, L_test = D.loc[train], D.loc[~train]" - ] - }, - { - "cell_type": "markdown", - "id": "ac89c253", - "metadata": {}, - "source": [ - "Now we threshold the\n", - "fitted probability at 50% to form\n", - "our predicted labels." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e216583a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.625601Z", - "iopub.status.busy": "2023-07-26T05:16:53.625081Z", - "iopub.status.idle": "2023-07-26T05:16:53.631930Z", - "shell.execute_reply": "2023-07-26T05:16:53.631398Z" - } - }, - "outputs": [], - "source": [ - "labels = np.array(['Down']*252)\n", - "labels[probs>0.5] = 'Up'\n", - "confusion_table(labels, L_test)" - ] - }, - { - "cell_type": "markdown", - "id": "f43e1451", - "metadata": {}, - "source": [ - "The test accuracy is about 48% while the error rate is about 52%" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5538dc17", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.634500Z", - "iopub.status.busy": "2023-07-26T05:16:53.634318Z", - "iopub.status.idle": "2023-07-26T05:16:53.638177Z", - "shell.execute_reply": "2023-07-26T05:16:53.637615Z" - } - }, - "outputs": [], - "source": [ - "np.mean(labels == L_test), np.mean(labels != L_test)" - ] - }, - { - "cell_type": "markdown", - "id": "3ddf7670", - "metadata": {}, - "source": [ - "The `!=` notation means *not equal to*, and so the last command\n", - "computes the test set error rate. The results are rather\n", - "disappointing: the test error rate is 52%, which is worse than\n", - "random guessing! Of course this result is not all that surprising,\n", - "given that one would not generally expect to be able to use previous\n", - "days’ returns to predict future market performance. (After all, if it\n", - "were possible to do so, then the authors of this book would be out\n", - "striking it rich rather than writing a statistics textbook.)\n", - "\n", - "We recall that the logistic regression model had very underwhelming\n", - "*p*-values associated with all of the predictors, and that the\n", - "smallest *p*-value, though not very small, corresponded to\n", - " `Lag1`. Perhaps by removing the variables that appear not to be\n", - "helpful in predicting `Direction`, we can obtain a more\n", - "effective model. After all, using predictors that have no relationship\n", - "with the response tends to cause a deterioration in the test error\n", - "rate (since such predictors cause an increase in variance without a\n", - "corresponding decrease in bias), and so removing such predictors may\n", - "in turn yield an improvement. Below we refit the logistic\n", - "regression using just `Lag1` and `Lag2`, which seemed to\n", - "have the highest predictive power in the original logistic regression\n", - "model." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "016110f9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.640626Z", - "iopub.status.busy": "2023-07-26T05:16:53.640465Z", - "iopub.status.idle": "2023-07-26T05:16:53.650498Z", - "shell.execute_reply": "2023-07-26T05:16:53.649952Z" - } - }, - "outputs": [], - "source": [ - "model = MS(['Lag1', 'Lag2']).fit(Smarket)\n", - "X = model.transform(Smarket)\n", - "X_train, X_test = X.loc[train], X.loc[~train]\n", - "glm_train = sm.GLM(y_train,\n", - " X_train,\n", - " family=sm.families.Binomial())\n", - "results = glm_train.fit()\n", - "probs = results.predict(exog=X_test)\n", - "labels = np.array(['Down']*252)\n", - "labels[probs>0.5] = 'Up'\n", - "confusion_table(labels, L_test)" - ] - }, - { - "cell_type": "markdown", - "id": "a7468a74", - "metadata": {}, - "source": [ - "Let’s evaluate the overall accuracy as well as the accuracy within the days when\n", - "logistic regression predicts an increase." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "70984cd6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.653494Z", - "iopub.status.busy": "2023-07-26T05:16:53.652768Z", - "iopub.status.idle": "2023-07-26T05:16:53.656801Z", - "shell.execute_reply": "2023-07-26T05:16:53.656039Z" - } - }, - "outputs": [], - "source": [ - "(35+106)/252,106/(106+76)" - ] - }, - { - "cell_type": "markdown", - "id": "393c0a26", - "metadata": {}, - "source": [ - "Now the results appear to be a little better: 56% of the daily\n", - "movements have been correctly predicted. It is worth noting that in\n", - "this case, a much simpler strategy of predicting that the market will\n", - "increase every day will also be correct 56% of the time! Hence, in\n", - "terms of overall error rate, the logistic regression method is no\n", - "better than the naive approach. However, the confusion matrix\n", - "shows that on days when logistic regression predicts an increase in\n", - "the market, it has a 58% accuracy rate. This suggests a possible\n", - "trading strategy of buying on days when the model predicts an\n", - "increasing market, and avoiding trades on days when a decrease is\n", - "predicted. Of course one would need to investigate more carefully\n", - "whether this small improvement was real or just due to random chance.\n", - "\n", - "Suppose that we want to predict the returns associated with particular\n", - "values of `Lag1` and `Lag2`. In particular, we want to\n", - "predict `Direction` on a day when `Lag1` and\n", - " `Lag2` equal $1.2$ and $1.1$, respectively, and on a day when they\n", - "equal $1.5$ and $-0.8$. We do this using the `predict()`\n", - "function." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4b745fd8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.659702Z", - "iopub.status.busy": "2023-07-26T05:16:53.659530Z", - "iopub.status.idle": "2023-07-26T05:16:53.664523Z", - "shell.execute_reply": "2023-07-26T05:16:53.664140Z" - } - }, - "outputs": [], - "source": [ - "newdata = pd.DataFrame({'Lag1':[1.2, 1.5],\n", - " 'Lag2':[1.1, -0.8]});\n", - "newX = model.transform(newdata)\n", - "results.predict(newX)" - ] - }, - { - "cell_type": "markdown", - "id": "ae928a3e", - "metadata": {}, - "source": [ - "## Linear Discriminant Analysis" - ] - }, - { - "cell_type": "markdown", - "id": "aab265c4", - "metadata": {}, - "source": [ - "We begin by performing LDA on the `Smarket` data, using the function\n", - "`LinearDiscriminantAnalysis()`, which we have abbreviated `LDA()`. We \n", - "fit the model using only the observations before 2005." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cd533313", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.668435Z", - "iopub.status.busy": "2023-07-26T05:16:53.668202Z", - "iopub.status.idle": "2023-07-26T05:16:53.670675Z", - "shell.execute_reply": "2023-07-26T05:16:53.670317Z" - } - }, - "outputs": [], - "source": [ - "lda = LDA(store_covariance=True)" - ] - }, - { - "cell_type": "markdown", - "id": "c84aa056", - "metadata": {}, - "source": [ - "Since the `LDA` estimator automatically \n", - "adds an intercept, we should remove the column corresponding to the\n", - "intercept in both `X_train` and `X_test`. We can also directly\n", - "use the labels rather than the Boolean vectors `y_train`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "953dc6ac", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.673288Z", - "iopub.status.busy": "2023-07-26T05:16:53.673119Z", - "iopub.status.idle": "2023-07-26T05:16:53.681150Z", - "shell.execute_reply": "2023-07-26T05:16:53.680147Z" - } - }, - "outputs": [], - "source": [ - "X_train, X_test = [M.drop(columns=['intercept'])\n", - " for M in [X_train, X_test]]\n", - "lda.fit(X_train, L_train)" - ] - }, - { - "cell_type": "markdown", - "id": "0a51b5cd", - "metadata": {}, - "source": [ - "Here we have used the list comprehensions introduced\n", - "in Section 3.6.4. Looking at our first line above, we see that the right-hand side is a list\n", - "of length two. This is because the code `for M in [X_train, X_test]` iterates over a list\n", - "of length two. While here we loop over a list,\n", - "the list comprehension method works when looping over any iterable object.\n", - "We then apply the `drop()` method to each element in the iteration, collecting\n", - "the result in a list. The left-hand side tells `Python` to unpack this list\n", - "of length two, assigning its elements to the variables `X_train` and `X_test`. Of course,\n", - "this overwrites the previous values of `X_train` and `X_test`.\n", - "\n", - "Having fit the model, we can extract the means in the two classes with the `means_` attribute. These are the average of each predictor within each class, and\n", - "are used by LDA as estimates of $\\mu_k$. These suggest that there is\n", - "a tendency for the previous 2 days’ returns to be negative on days\n", - "when the market increases, and a tendency for the previous days’\n", - "returns to be positive on days when the market declines." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8917085e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.683917Z", - "iopub.status.busy": "2023-07-26T05:16:53.683495Z", - "iopub.status.idle": "2023-07-26T05:16:53.686711Z", - "shell.execute_reply": "2023-07-26T05:16:53.686302Z" - } - }, - "outputs": [], - "source": [ - "lda.means_" - ] - }, - { - "cell_type": "markdown", - "id": "14bc4692", - "metadata": {}, - "source": [ - "The estimated prior probabilities are stored in the `priors_` attribute.\n", - "The package `sklearn` typically uses this trailing `_` to denote\n", - "a quantity estimated when using the `fit()` method. We can be sure of which\n", - "entry corresponds to which label by looking at the `classes_` attribute." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "efb3e9bd", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.689572Z", - "iopub.status.busy": "2023-07-26T05:16:53.689426Z", - "iopub.status.idle": "2023-07-26T05:16:53.693007Z", - "shell.execute_reply": "2023-07-26T05:16:53.692236Z" - } - }, - "outputs": [], - "source": [ - "lda.classes_" - ] - }, - { - "cell_type": "markdown", - "id": "50697f11", - "metadata": {}, - "source": [ - "The LDA output indicates that $\\hat\\pi_{Down}=0.492$ and\n", - "$\\hat\\pi_{Up}=0.508$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "efce91fb", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.698435Z", - "iopub.status.busy": "2023-07-26T05:16:53.698251Z", - "iopub.status.idle": "2023-07-26T05:16:53.701054Z", - "shell.execute_reply": "2023-07-26T05:16:53.700738Z" - } - }, - "outputs": [], - "source": [ - "lda.priors_" - ] - }, - { - "cell_type": "markdown", - "id": "a27bc841", - "metadata": {}, - "source": [ - "The linear discriminant vectors can be found in the `scalings_` attribute:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e33cd6c5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.703175Z", - "iopub.status.busy": "2023-07-26T05:16:53.702968Z", - "iopub.status.idle": "2023-07-26T05:16:53.706047Z", - "shell.execute_reply": "2023-07-26T05:16:53.705603Z" - } - }, - "outputs": [], - "source": [ - "lda.scalings_" - ] - }, - { - "cell_type": "markdown", - "id": "b011d741", - "metadata": {}, - "source": [ - "These values provide the linear combination of `Lag1` and `Lag2` that are used to form the LDA decision rule. In other words, these are the multipliers of the elements of $X=x$ in (4.24).\n", - " If $-0.64\\times `Lag1` - 0.51 \\times `Lag2` $ is large, then the LDA classifier will predict a market increase, and if it is small, then the LDA classifier will predict a market decline." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "dc8a5178", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.708404Z", - "iopub.status.busy": "2023-07-26T05:16:53.708240Z", - "iopub.status.idle": "2023-07-26T05:16:53.711274Z", - "shell.execute_reply": "2023-07-26T05:16:53.710854Z" - } - }, - "outputs": [], - "source": [ - "lda_pred = lda.predict(X_test)" - ] - }, - { - "cell_type": "markdown", - "id": "3c8a8a75", - "metadata": {}, - "source": [ - "As we observed in our comparison of classification methods\n", - " (Section 4.5), the LDA and logistic\n", - "regression predictions are almost identical." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "31a6782b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.713574Z", - "iopub.status.busy": "2023-07-26T05:16:53.713379Z", - "iopub.status.idle": "2023-07-26T05:16:53.718661Z", - "shell.execute_reply": "2023-07-26T05:16:53.718207Z" - } - }, - "outputs": [], - "source": [ - "confusion_table(lda_pred, L_test)" - ] - }, - { - "cell_type": "markdown", - "id": "c3534a8f", - "metadata": {}, - "source": [ - "We can also estimate the\n", - "probability of each class for\n", - "each point in a training set. Applying a 50% threshold to the posterior probabilities of\n", - "being in class 1 allows us to\n", - "recreate the predictions contained in `lda_pred`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "da1bffa3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.720875Z", - "iopub.status.busy": "2023-07-26T05:16:53.720726Z", - "iopub.status.idle": "2023-07-26T05:16:53.724610Z", - "shell.execute_reply": "2023-07-26T05:16:53.724076Z" - } - }, - "outputs": [], - "source": [ - "lda_prob = lda.predict_proba(X_test)\n", - "np.all(\n", - " np.where(lda_prob[:,1] >= 0.5, 'Up','Down') == lda_pred\n", - " )" - ] - }, - { - "cell_type": "markdown", - "id": "6ab71d7c", - "metadata": {}, - "source": [ - "Above, we used the `np.where()` function that\n", - "creates an array with value `'Up'` for indices where\n", - "the second column of `lda_prob` (the estimated\n", - "posterior probability of `'Up'`) is greater than 0.5.\n", - "For problems with more than two classes the labels are chosen as the class whose posterior probability is highest:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3d7eae3c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.726893Z", - "iopub.status.busy": "2023-07-26T05:16:53.726728Z", - "iopub.status.idle": "2023-07-26T05:16:53.730223Z", - "shell.execute_reply": "2023-07-26T05:16:53.729787Z" - } - }, - "outputs": [], - "source": [ - "np.all(\n", - " [lda.classes_[i] for i in np.argmax(lda_prob, 1)] == lda_pred\n", - " )" - ] - }, - { - "cell_type": "markdown", - "id": "6a67baf1", - "metadata": {}, - "source": [ - "If we wanted to use a posterior probability threshold other than\n", - "50% in order to make predictions, then we could easily do so. For\n", - "instance, suppose that we wish to predict a market decrease only if we\n", - "are very certain that the market will indeed decrease on that\n", - "day --- say, if the posterior probability is at least 90%.\n", - "We know that the first column of `lda_prob` corresponds to the\n", - "label `Down` after having checked the `classes_` attribute, hence we use\n", - "the column index 0 rather than 1 as we did above." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "18fa175c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.732568Z", - "iopub.status.busy": "2023-07-26T05:16:53.732400Z", - "iopub.status.idle": "2023-07-26T05:16:53.735369Z", - "shell.execute_reply": "2023-07-26T05:16:53.734923Z" - } - }, - "outputs": [], - "source": [ - "np.sum(lda_prob[:,0] > 0.9)" - ] - }, - { - "cell_type": "markdown", - "id": "527be6fe", - "metadata": {}, - "source": [ - "No days in 2005 meet that threshold! In fact, the greatest posterior\n", - "probability of decrease in all of 2005 was 52.02%.\n", - "\n", - "The LDA classifier above is the first classifier from the\n", - "`sklearn` library. We will use several other objects\n", - "from this library. The objects\n", - "follow a common structure that simplifies tasks such as cross-validation,\n", - "which we will see in Chapter 5. Specifically,\n", - "the methods first create a generic classifier without\n", - "referring to any data. This classifier is then fit\n", - "to data with the `fit()` method and predictions are\n", - "always produced with the `predict()` method. This pattern\n", - "of first instantiating the classifier, followed by fitting it, and\n", - "then producing predictions is an explicit design choice of `sklearn`. This uniformity\n", - "makes it possible to cleanly copy the classifier so that it can be fit\n", - "on different data; e.g. different training sets arising in cross-validation.\n", - "This standard pattern also allows for a predictable formation of workflows." - ] - }, - { - "cell_type": "markdown", - "id": "66ecd10f", - "metadata": {}, - "source": [ - "## Quadratic Discriminant Analysis\n", - "We will now fit a QDA model to the `Smarket` data. QDA is\n", - "implemented via\n", - "`QuadraticDiscriminantAnalysis()`\n", - "in the `sklearn` package, which we abbreviate to `QDA()`.\n", - "The syntax is very similar to `LDA()`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "62499aad", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.737641Z", - "iopub.status.busy": "2023-07-26T05:16:53.737376Z", - "iopub.status.idle": "2023-07-26T05:16:53.742371Z", - "shell.execute_reply": "2023-07-26T05:16:53.741972Z" - } - }, - "outputs": [], - "source": [ - "qda = QDA(store_covariance=True)\n", - "qda.fit(X_train, L_train)" - ] - }, - { - "cell_type": "markdown", - "id": "17b38989", - "metadata": {}, - "source": [ - "The `QDA()` function will again compute `means_` and `priors_`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "296fdd89", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.744511Z", - "iopub.status.busy": "2023-07-26T05:16:53.744359Z", - "iopub.status.idle": "2023-07-26T05:16:53.747331Z", - "shell.execute_reply": "2023-07-26T05:16:53.746954Z" - } - }, - "outputs": [], - "source": [ - "qda.means_, qda.priors_" - ] - }, - { - "cell_type": "markdown", - "id": "f439efa9", - "metadata": {}, - "source": [ - "The `QDA()` classifier will estimate one covariance per class. Here is the\n", - "estimated covariance in the first class:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7fbbefb0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.749983Z", - "iopub.status.busy": "2023-07-26T05:16:53.749838Z", - "iopub.status.idle": "2023-07-26T05:16:53.753016Z", - "shell.execute_reply": "2023-07-26T05:16:53.752436Z" - } - }, - "outputs": [], - "source": [ - "qda.covariance_[0]" - ] - }, - { - "cell_type": "markdown", - "id": "4b33a370", - "metadata": {}, - "source": [ - "The output contains the group means. But it does not contain the\n", - "coefficients of the linear discriminants, because the QDA classifier\n", - "involves a quadratic, rather than a linear, function of the\n", - "predictors. The `predict()` function works in exactly the\n", - "same fashion as for LDA." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "03094dcd", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.754995Z", - "iopub.status.busy": "2023-07-26T05:16:53.754855Z", - "iopub.status.idle": "2023-07-26T05:16:53.760423Z", - "shell.execute_reply": "2023-07-26T05:16:53.760086Z" - } - }, - "outputs": [], - "source": [ - "qda_pred = qda.predict(X_test)\n", - "confusion_table(qda_pred, L_test)" - ] - }, - { - "cell_type": "markdown", - "id": "2037df4b", - "metadata": {}, - "source": [ - "Interestingly, the QDA predictions are accurate almost 60% of the\n", - "time, even though the 2005 data was not used to fit the model." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "25022d1a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.762503Z", - "iopub.status.busy": "2023-07-26T05:16:53.762361Z", - "iopub.status.idle": "2023-07-26T05:16:53.765264Z", - "shell.execute_reply": "2023-07-26T05:16:53.764918Z" - } - }, - "outputs": [], - "source": [ - "np.mean(qda_pred == L_test)" - ] - }, - { - "cell_type": "markdown", - "id": "cf85b45e", - "metadata": {}, - "source": [ - "This level of accuracy is quite impressive for stock market data, which is\n", - "known to be quite hard to model accurately. This suggests that the\n", - "quadratic form assumed by QDA may capture the true relationship more\n", - "accurately than the linear forms assumed by LDA and logistic\n", - "regression. However, we recommend evaluating this method’s\n", - "performance on a larger test set before betting that this approach\n", - "will consistently beat the market!" - ] - }, - { - "cell_type": "markdown", - "id": "258f98b8", - "metadata": {}, - "source": [ - "## Naive Bayes\n", - "Next, we fit a naive Bayes model to the `Smarket` data. The syntax is\n", - "similar to that of `LDA()` and `QDA()`. By\n", - "default, this implementation `GaussianNB()` of the naive Bayes classifier models each\n", - "quantitative feature using a Gaussian distribution. However, a kernel\n", - "density method can also be used to estimate the distributions." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f73eb202", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.767345Z", - "iopub.status.busy": "2023-07-26T05:16:53.767204Z", - "iopub.status.idle": "2023-07-26T05:16:53.771774Z", - "shell.execute_reply": "2023-07-26T05:16:53.771427Z" - } - }, - "outputs": [], - "source": [ - "NB = GaussianNB()\n", - "NB.fit(X_train, L_train)" - ] - }, - { - "cell_type": "markdown", - "id": "9911dcdc", - "metadata": {}, - "source": [ - "The classes are stored as `classes_`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8e860cc3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.773771Z", - "iopub.status.busy": "2023-07-26T05:16:53.773609Z", - "iopub.status.idle": "2023-07-26T05:16:53.776397Z", - "shell.execute_reply": "2023-07-26T05:16:53.776019Z" - } - }, - "outputs": [], - "source": [ - "NB.classes_" - ] - }, - { - "cell_type": "markdown", - "id": "8d6b9b33", - "metadata": {}, - "source": [ - "The class prior probabilities are stored in the `class_prior_` attribute." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c28bf3b5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.778509Z", - "iopub.status.busy": "2023-07-26T05:16:53.778344Z", - "iopub.status.idle": "2023-07-26T05:16:53.781156Z", - "shell.execute_reply": "2023-07-26T05:16:53.780778Z" - } - }, - "outputs": [], - "source": [ - "NB.class_prior_" - ] - }, - { - "cell_type": "markdown", - "id": "fed2c4b4", - "metadata": {}, - "source": [ - "The parameters of the features can be found in the `theta_` and `var_` attributes. The number of rows\n", - "is equal to the number of classes, while the number of columns is equal to the number of features.\n", - "We see below that the mean for feature `Lag1` in the `Down` class is 0.043." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "84a9f086", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.783409Z", - "iopub.status.busy": "2023-07-26T05:16:53.783220Z", - "iopub.status.idle": "2023-07-26T05:16:53.786972Z", - "shell.execute_reply": "2023-07-26T05:16:53.786412Z" - } - }, - "outputs": [], - "source": [ - "NB.theta_" - ] - }, - { - "cell_type": "markdown", - "id": "66f0a08d", - "metadata": {}, - "source": [ - "Its variance is 1.503." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "885f5165", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.789289Z", - "iopub.status.busy": "2023-07-26T05:16:53.789145Z", - "iopub.status.idle": "2023-07-26T05:16:53.792294Z", - "shell.execute_reply": "2023-07-26T05:16:53.791863Z" - } - }, - "outputs": [], - "source": [ - "NB.var_" - ] - }, - { - "cell_type": "markdown", - "id": "db0a1ce6", - "metadata": {}, - "source": [ - "How do we know the names of these attributes? We use `NB?` (or \\textR?NB}).\n", - "\n", - "We can easily verify the mean computation:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "61473094", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.794766Z", - "iopub.status.busy": "2023-07-26T05:16:53.794585Z", - "iopub.status.idle": "2023-07-26T05:16:53.798951Z", - "shell.execute_reply": "2023-07-26T05:16:53.798539Z" - } - }, - "outputs": [], - "source": [ - "X_train[L_train == 'Down'].mean()" - ] - }, - { - "cell_type": "markdown", - "id": "d4ffc86b", - "metadata": {}, - "source": [ - "Similarly for the variance:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "db203a23", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.801373Z", - "iopub.status.busy": "2023-07-26T05:16:53.801183Z", - "iopub.status.idle": "2023-07-26T05:16:53.805590Z", - "shell.execute_reply": "2023-07-26T05:16:53.805195Z" - } - }, - "outputs": [], - "source": [ - "X_train[L_train == 'Down'].var(ddof=0)" - ] - }, - { - "cell_type": "markdown", - "id": "7c9078c1", - "metadata": {}, - "source": [ - "Since `NB()` is a classifier in the `sklearn` library, making predictions\n", - "uses the same syntax as for `LDA()` and `QDA()` above." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b387227e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.808068Z", - "iopub.status.busy": "2023-07-26T05:16:53.807902Z", - "iopub.status.idle": "2023-07-26T05:16:53.813920Z", - "shell.execute_reply": "2023-07-26T05:16:53.813575Z" - } - }, - "outputs": [], - "source": [ - "nb_labels = NB.predict(X_test)\n", - "confusion_table(nb_labels, L_test)" - ] - }, - { - "cell_type": "markdown", - "id": "ab979471", - "metadata": {}, - "source": [ - "Naive Bayes performs well on these data, with accurate predictions over 59% of the time. This is slightly worse than QDA, but much better than LDA.\n", - "\n", - "As for `LDA`, the `predict_proba()` method estimates the probability that each observation belongs to a particular class." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f14ebe61", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.816106Z", - "iopub.status.busy": "2023-07-26T05:16:53.815946Z", - "iopub.status.idle": "2023-07-26T05:16:53.819614Z", - "shell.execute_reply": "2023-07-26T05:16:53.819281Z" - } - }, - "outputs": [], - "source": [ - "NB.predict_proba(X_test)[:5]" - ] - }, - { - "cell_type": "markdown", - "id": "f14c520d", - "metadata": {}, - "source": [ - "## K-Nearest Neighbors\n", - "We will now perform KNN using the `KNeighborsClassifier()` function. This function works similarly\n", - "to the other model-fitting functions that we have\n", - "encountered thus far.\n", - "\n", - "As is the\n", - "case for LDA and QDA, we fit the classifier\n", - "using the `fit` method. New\n", - "predictions are formed using the `predict` method\n", - "of the object returned by `fit()`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "41a12f4a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.821819Z", - "iopub.status.busy": "2023-07-26T05:16:53.821654Z", - "iopub.status.idle": "2023-07-26T05:16:53.835418Z", - "shell.execute_reply": "2023-07-26T05:16:53.834963Z" - } - }, - "outputs": [], - "source": [ - "knn1 = KNeighborsClassifier(n_neighbors=1)\n", - "knn1.fit(X_train, L_train)\n", - "knn1_pred = knn1.predict(X_test)\n", - "confusion_table(knn1_pred, L_test)" - ] - }, - { - "cell_type": "markdown", - "id": "22ee6dff", - "metadata": {}, - "source": [ - "The results using $K=1$ are not very good, since only $50%$ of the\n", - "observations are correctly predicted. Of course, it may be that $K=1$\n", - "results in an overly-flexible fit to the data." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1dd2f3e4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.840858Z", - "iopub.status.busy": "2023-07-26T05:16:53.840380Z", - "iopub.status.idle": "2023-07-26T05:16:53.844994Z", - "shell.execute_reply": "2023-07-26T05:16:53.844563Z" - } - }, - "outputs": [], - "source": [ - "(83+43)/252, np.mean(knn1_pred == L_test)" - ] - }, - { - "cell_type": "markdown", - "id": "cda2465d", - "metadata": {}, - "source": [ - "Below, we repeat the\n", - "analysis using $K=3$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8ec72efc", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.848486Z", - "iopub.status.busy": "2023-07-26T05:16:53.848323Z", - "iopub.status.idle": "2023-07-26T05:16:53.859379Z", - "shell.execute_reply": "2023-07-26T05:16:53.859009Z" - } - }, - "outputs": [], - "source": [ - "knn3 = KNeighborsClassifier(n_neighbors=3)\n", - "knn3_pred = knn3.fit(X_train, L_train).predict(X_test)\n", - "np.mean(knn3_pred == L_test)" - ] - }, - { - "cell_type": "markdown", - "id": "ff4533bd", - "metadata": {}, - "source": [ - "The results have improved slightly. But increasing *K* further\n", - "provides no further improvements. It appears that for these data, and this train/test split,\n", - "QDA gives the best results of the methods that we have examined so\n", - "far." - ] - }, - { - "cell_type": "markdown", - "id": "5810022d", - "metadata": {}, - "source": [ - "KNN does not perform well on the `Smarket` data, but it often does provide impressive results. As an example we will apply the KNN approach to the `Caravan` data set, which is part of the `ISLP` library. This data set includes 85\n", - "predictors that measure demographic characteristics for 5,822\n", - "individuals. The response variable is `Purchase`, which\n", - "indicates whether or not a given individual purchases a caravan\n", - "insurance policy. In this data set, only 6% of people purchased\n", - "caravan insurance." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "98fef4ed", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.862002Z", - "iopub.status.busy": "2023-07-26T05:16:53.861826Z", - "iopub.status.idle": "2023-07-26T05:16:53.880744Z", - "shell.execute_reply": "2023-07-26T05:16:53.880217Z" - } - }, - "outputs": [], - "source": [ - "Caravan = load_data('Caravan')\n", - "Purchase = Caravan.Purchase\n", - "Purchase.value_counts()" - ] - }, - { - "cell_type": "markdown", - "id": "4fc1a1df", - "metadata": {}, - "source": [ - "The method `value_counts()` takes a `pd.Series` or `pd.DataFrame` and returns\n", - "a `pd.Series` with the corresponding counts\n", - "for each unique element. In this case `Purchase` has only `Yes` and `No` values\n", - "and returns how many values of each there are." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1af72c0b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.883491Z", - "iopub.status.busy": "2023-07-26T05:16:53.883258Z", - "iopub.status.idle": "2023-07-26T05:16:53.886241Z", - "shell.execute_reply": "2023-07-26T05:16:53.885825Z" - } - }, - "outputs": [], - "source": [ - "348 / 5822" - ] - }, - { - "cell_type": "markdown", - "id": "78c25fda", - "metadata": {}, - "source": [ - "Our features will include all columns except `Purchase`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9ea841e4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.888642Z", - "iopub.status.busy": "2023-07-26T05:16:53.888457Z", - "iopub.status.idle": "2023-07-26T05:16:53.891757Z", - "shell.execute_reply": "2023-07-26T05:16:53.891278Z" - } - }, - "outputs": [], - "source": [ - "feature_df = Caravan.drop(columns=['Purchase'])" - ] - }, - { - "cell_type": "markdown", - "id": "55efb306", - "metadata": {}, - "source": [ - "Because the KNN classifier predicts the class of a given test\n", - "observation by identifying the observations that are nearest to it,\n", - "the scale of the variables matters. Any variables that are on a large\n", - "scale will have a much larger effect on the *distance* between\n", - "the observations, and hence on the KNN classifier, than variables that\n", - "are on a small scale. For instance, imagine a data set that contains\n", - "two variables, `salary` and `age` (measured in dollars\n", - "and years, respectively). As far as KNN is concerned, a difference of\n", - "1,000 USD in salary is enormous compared to a difference of 50 years in\n", - "age. Consequently, `salary` will drive the KNN classification\n", - "results, and `age` will have almost no effect. This is contrary\n", - "to our intuition that a salary difference of 1,000 USD is quite small\n", - "compared to an age difference of 50 years. Furthermore, the\n", - "importance of scale to the KNN classifier leads to another issue: if\n", - "we measured `salary` in Japanese yen, or if we measured\n", - " `age` in minutes, then we’d get quite different classification\n", - "results from what we get if these two variables are measured in\n", - "dollars and years.\n", - "\n", - "A good way to handle this problem is to *standardize* the data so that all variables are\n", - "given a mean of zero and a standard deviation of one. Then all\n", - "variables will be on a comparable scale. This is accomplished\n", - "using\n", - "the `StandardScaler()`\n", - "transformation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6e26b14f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.893952Z", - "iopub.status.busy": "2023-07-26T05:16:53.893809Z", - "iopub.status.idle": "2023-07-26T05:16:53.896350Z", - "shell.execute_reply": "2023-07-26T05:16:53.895913Z" - } - }, - "outputs": [], - "source": [ - "scaler = StandardScaler(with_mean=True,\n", - " with_std=True,\n", - " copy=True)" - ] - }, - { - "cell_type": "markdown", - "id": "0c0d1faf", - "metadata": {}, - "source": [ - "The argument `with_mean` indicates whether or not\n", - "we should subtract the mean, while `with_std` indicates\n", - "whether or not we should scale the columns to have standard\n", - "deviation of 1 or not. Finally, the argument `copy=True`\n", - "indicates that we will always copy data, rather than\n", - "trying to do calculations in place where possible.\n", - "\n", - "This transformation can be fit\n", - "and then applied to arbitrary data. In the first line\n", - "below, the parameters for the scaling are computed and\n", - "stored in `scaler`, while the second line actually\n", - "constructs the standardized set of features." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bd178f38", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.898581Z", - "iopub.status.busy": "2023-07-26T05:16:53.898422Z", - "iopub.status.idle": "2023-07-26T05:16:53.907100Z", - "shell.execute_reply": "2023-07-26T05:16:53.906252Z" - } - }, - "outputs": [], - "source": [ - "scaler.fit(feature_df)\n", - "X_std = scaler.transform(feature_df)" - ] - }, - { - "cell_type": "markdown", - "id": "30bfaa05", - "metadata": {}, - "source": [ - "Now every column of `feature_std` below has a standard deviation of\n", - "one and a mean of zero." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "18929b37", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.909697Z", - "iopub.status.busy": "2023-07-26T05:16:53.909376Z", - "iopub.status.idle": "2023-07-26T05:16:53.917328Z", - "shell.execute_reply": "2023-07-26T05:16:53.916861Z" - } - }, - "outputs": [], - "source": [ - "feature_std = pd.DataFrame(\n", - " X_std,\n", - " columns=feature_df.columns);\n", - "feature_std.std()" - ] - }, - { - "cell_type": "markdown", - "id": "4f536808", - "metadata": {}, - "source": [ - "Notice that the standard deviations are not quite $1$ here; this is again due to some procedures using the $1/n$ convention for variances (in this case `scaler()`), while others use $1/(n-1)$ (the `std()` method). See the footnote on page 198.\n", - "In this case it does not matter, as long as the variables are all on the same scale.\n", - "\n", - "Using the function `train_test_split()` we now split the observations into a test set,\n", - "containing 1000 observations, and a training set containing the remaining\n", - "observations. The argument `random_state=0` ensures that we get\n", - "the same split each time we rerun the code." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9d439d0b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.919758Z", - "iopub.status.busy": "2023-07-26T05:16:53.919493Z", - "iopub.status.idle": "2023-07-26T05:16:53.924297Z", - "shell.execute_reply": "2023-07-26T05:16:53.923909Z" - } - }, - "outputs": [], - "source": [ - "(X_train,\n", - " X_test,\n", - " y_train,\n", - " y_test) = train_test_split(feature_std,\n", - " Purchase,\n", - " test_size=1000,\n", - " random_state=0)" - ] - }, - { - "cell_type": "markdown", - "id": "87fcf773", - "metadata": {}, - "source": [ - "`?train_test_split` reveals that the non-keyword arguments can be `lists`, `arrays`, `pandas dataframes` etc that all have the same length (`shape[0]`) and hence are *indexable*. In this case they are the dataframe `feature_std` and the response variable `Purchase`. \n", - "We fit a KNN model on the training data using $K=1$,\n", - "and evaluate its performance on the test data." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9b8c0171", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.926683Z", - "iopub.status.busy": "2023-07-26T05:16:53.926533Z", - "iopub.status.idle": "2023-07-26T05:16:53.979689Z", - "shell.execute_reply": "2023-07-26T05:16:53.979266Z" - } - }, - "outputs": [], - "source": [ - "knn1 = KNeighborsClassifier(n_neighbors=1)\n", - "knn1_pred = knn1.fit(X_train, y_train).predict(X_test)\n", - "np.mean(y_test != knn1_pred), np.mean(y_test != \"No\")" - ] - }, - { - "cell_type": "markdown", - "id": "3aa030b6", - "metadata": {}, - "source": [ - "The KNN error rate on the 1,000 test observations is about $11%$.\n", - "At first glance, this may appear to be fairly good. However, since\n", - "just over 6% of customers purchased insurance, we could get the error\n", - "rate down to almost 6% by always predicting `No` regardless of the\n", - "values of the predictors! This is known as the *null rate*.}\n", - "\n", - "Suppose that there is some non-trivial cost to trying to sell\n", - "insurance to a given individual. For instance, perhaps a salesperson\n", - "must visit each potential customer. If the company tries to sell\n", - "insurance to a random selection of customers, then the success rate\n", - "will be only 6%, which may be far too low given the costs\n", - "involved. Instead, the company would like to try to sell insurance\n", - "only to customers who are likely to buy it. So the overall error rate\n", - "is not of interest. Instead, the fraction of individuals that are\n", - "correctly predicted to buy insurance is of interest." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f31b6e26", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.982811Z", - "iopub.status.busy": "2023-07-26T05:16:53.982601Z", - "iopub.status.idle": "2023-07-26T05:16:53.989512Z", - "shell.execute_reply": "2023-07-26T05:16:53.989071Z" - } - }, - "outputs": [], - "source": [ - "confusion_table(knn1_pred, y_test)" - ] - }, - { - "cell_type": "markdown", - "id": "de5fb529", - "metadata": {}, - "source": [ - "It turns out that KNN with $K=1$ does far better than random guessing\n", - "among the customers that are predicted to buy insurance. Among 62\n", - "such customers, 9, or 14.5%, actually do purchase insurance.\n", - "This is double the rate that one would obtain from random guessing." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4a8c37aa", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.992418Z", - "iopub.status.busy": "2023-07-26T05:16:53.992103Z", - "iopub.status.idle": "2023-07-26T05:16:53.995535Z", - "shell.execute_reply": "2023-07-26T05:16:53.995078Z" - } - }, - "outputs": [], - "source": [ - "9/(53+9)" - ] - }, - { - "cell_type": "markdown", - "id": "a898b7d0", - "metadata": {}, - "source": [ - "### Tuning Parameters\n", - "\n", - "The number of neighbors in KNN is referred to as a *tuning parameter*, also referred to as a *hyperparameter*.\n", - "We do not know *a priori* what value to use. It is therefore of interest\n", - "to see how the classifier performs on test data as we vary these\n", - "parameters. This can be achieved with a `for` loop, described in Section 2.3.8.\n", - "Here we use a for loop to look at the accuracy of our classifier in the group predicted to purchase\n", - "insurance as we vary the number of neighbors from 1 to 5:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "153662f8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:53.999510Z", - "iopub.status.busy": "2023-07-26T05:16:53.999082Z", - "iopub.status.idle": "2023-07-26T05:16:54.130823Z", - "shell.execute_reply": "2023-07-26T05:16:54.130318Z" - } - }, - "outputs": [], - "source": [ - "for K in range(1,6):\n", - " knn = KNeighborsClassifier(n_neighbors=K)\n", - " knn_pred = knn.fit(X_train, y_train).predict(X_test)\n", - " C = confusion_table(knn_pred, y_test)\n", - " templ = ('K={0:d}: # predicted to rent: {1:>2},' +\n", - " ' # who did rent {2:d}, accuracy {3:.1%}')\n", - " pred = C.loc['Yes'].sum()\n", - " did_rent = C.loc['Yes','Yes']\n", - " print(templ.format(\n", - " K,\n", - " pred,\n", - " did_rent,\n", - " did_rent / pred))" - ] - }, - { - "cell_type": "markdown", - "id": "39ba18b3", - "metadata": {}, - "source": [ - "We see some variability --- the numbers for `K=4` are very different from the rest.\n", - "\n", - "### Comparison to Logistic Regression\n", - "As a comparison, we can also fit a logistic regression model to the\n", - "data. This can also be done\n", - "with `sklearn`, though by default it fits\n", - "something like the *ridge regression* version\n", - "of logistic regression, which we introduce in Chapter 6. This can\n", - "be modified by appropriately setting the argument `C` below. Its default\n", - "value is 1 but by setting it to a very large number, the algorithm converges to the same solution as the usual (unregularized)\n", - "logistic regression estimator discussed above.\n", - "\n", - "Unlike the\n", - "`statsmodels` package, `sklearn` focuses less on\n", - "inference and more on classification. Hence,\n", - "the `summary` methods seen in `statsmodels`\n", - "and our simplified version seen with `summarize` are not\n", - "generally available for the classifiers in `sklearn`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "55b99a3f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:54.134280Z", - "iopub.status.busy": "2023-07-26T05:16:54.133924Z", - "iopub.status.idle": "2023-07-26T05:16:54.790553Z", - "shell.execute_reply": "2023-07-26T05:16:54.788632Z" - } - }, - "outputs": [], - "source": [ - "logit = LogisticRegression(C=1e10, solver='liblinear')\n", - "logit.fit(X_train, y_train)\n", - "logit_pred = logit.predict_proba(X_test)\n", - "logit_labels = np.where(logit_pred[:,1] > 5, 'Yes', 'No')\n", - "confusion_table(logit_labels, y_test)" - ] - }, - { - "cell_type": "markdown", - "id": "4e0ebc83", - "metadata": {}, - "source": [ - "We used the argument `solver='liblinear'` above to\n", - "avoid a warning with the default solver which would indicate that\n", - "the algorithm does not converge.\n", - "\n", - "If we use $0.5$ as the predicted probability cut-off for the\n", - "classifier, then we have a problem: none of the test\n", - "observations are predicted to purchase insurance. However, we are not required to use a\n", - "cut-off of $0.5$. If we instead predict a purchase any time the\n", - "predicted probability of purchase exceeds $0.25$, we get much better\n", - "results: we predict that 29 people will purchase insurance, and we are\n", - "correct for about 31% of these people. This is almost five times\n", - "better than random guessing!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0c2ea9f5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:54.800869Z", - "iopub.status.busy": "2023-07-26T05:16:54.800067Z", - "iopub.status.idle": "2023-07-26T05:16:54.901396Z", - "shell.execute_reply": "2023-07-26T05:16:54.824967Z" - } - }, - "outputs": [], - "source": [ - "logit_labels = np.where(logit_pred[:,1]>0.25, 'Yes', 'No')\n", - "confusion_table(logit_labels, y_test)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3a6bf0a4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:55.014712Z", - "iopub.status.busy": "2023-07-26T05:16:55.014300Z", - "iopub.status.idle": "2023-07-26T05:16:55.022432Z", - "shell.execute_reply": "2023-07-26T05:16:55.021283Z" - } - }, - "outputs": [], - "source": [ - "9/(20+9)" - ] - }, - { - "cell_type": "markdown", - "id": "4d04bbc7", - "metadata": {}, - "source": [ - "## Linear and Poisson Regression on the Bikeshare Data\n", - "Here we fit linear and Poisson regression models to the `Bikeshare` data, as described in Section 4.6.\n", - "The response `bikers` measures the number of bike rentals per hour\n", - "in Washington, DC in the period 2010--2012." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "769300df", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:55.026479Z", - "iopub.status.busy": "2023-07-26T05:16:55.026122Z", - "iopub.status.idle": "2023-07-26T05:16:55.040298Z", - "shell.execute_reply": "2023-07-26T05:16:55.039107Z" - } - }, - "outputs": [], - "source": [ - "Bike = load_data('Bikeshare')" - ] - }, - { - "cell_type": "markdown", - "id": "8cc82fa9", - "metadata": {}, - "source": [ - "Let's have a peek at the dimensions and names of the variables in this dataframe." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "02b351f5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:55.043729Z", - "iopub.status.busy": "2023-07-26T05:16:55.043547Z", - "iopub.status.idle": "2023-07-26T05:16:55.047018Z", - "shell.execute_reply": "2023-07-26T05:16:55.046428Z" - } - }, - "outputs": [], - "source": [ - "Bike.shape, Bike.columns" - ] - }, - { - "cell_type": "markdown", - "id": "7784e3a1", - "metadata": {}, - "source": [ - "### Linear Regression\n", - "\n", - "We begin by fitting a linear regression model to the data." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "926c908d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:55.049121Z", - "iopub.status.busy": "2023-07-26T05:16:55.049011Z", - "iopub.status.idle": "2023-07-26T05:16:55.569728Z", - "shell.execute_reply": "2023-07-26T05:16:55.567494Z" - } - }, - "outputs": [], - "source": [ - "X = MS(['mnth',\n", - " 'hr',\n", - " 'workingday',\n", - " 'temp',\n", - " 'weathersit']).fit_transform(Bike)\n", - "Y = Bike['bikers']\n", - "M_lm = sm.OLS(Y, X).fit()\n", - "summarize(M_lm)" - ] - }, - { - "cell_type": "markdown", - "id": "b29a0708", - "metadata": {}, - "source": [ - "There are 24 levels in `hr` and 40 rows in all.\n", - "In `M_lm`, the first levels `hr[0]` and `mnth[Jan]` are treated\n", - "as the baseline values, and so no coefficient estimates are provided\n", - "for them: implicitly, their coefficient estimates are zero, and all\n", - "other levels are measured relative to these baselines. For example,\n", - "the Feb coefficient of $6.845$ signifies that, holding all other\n", - "variables constant, there are on average about 7 more riders in\n", - "February than in January. Similarly there are about 16.5 more riders\n", - "in March than in January.\n", - "\n", - "The results seen in Section 4.6.1\n", - "used a slightly different coding of the variables `hr` and `mnth`, as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "064b24d1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:55.575305Z", - "iopub.status.busy": "2023-07-26T05:16:55.575124Z", - "iopub.status.idle": "2023-07-26T05:16:55.582612Z", - "shell.execute_reply": "2023-07-26T05:16:55.580612Z" - } - }, - "outputs": [], - "source": [ - "hr_encode = contrast('hr', 'sum')\n", - "mnth_encode = contrast('mnth', 'sum')" - ] - }, - { - "cell_type": "markdown", - "id": "fba11e8e", - "metadata": {}, - "source": [ - "Refitting again:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "27c1aa54", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:55.591223Z", - "iopub.status.busy": "2023-07-26T05:16:55.589141Z", - "iopub.status.idle": "2023-07-26T05:16:56.075120Z", - "shell.execute_reply": "2023-07-26T05:16:56.073529Z" - } - }, - "outputs": [], - "source": [ - "X2 = MS([mnth_encode,\n", - " hr_encode,\n", - " 'workingday',\n", - " 'temp',\n", - " 'weathersit']).fit_transform(Bike)\n", - "M2_lm = sm.OLS(Y, X2).fit()\n", - "S2 = summarize(M2_lm)\n", - "S2" - ] - }, - { - "cell_type": "markdown", - "id": "d057b162", - "metadata": {}, - "source": [ - "What is the difference between the two codings? In `M2_lm`, a\n", - "coefficient estimate is reported for all but level `23` of `hr`\n", - "and level `Dec` of `mnth`. Importantly, in `M2_lm`, the (unreported) coefficient estimate\n", - "for the last level of `mnth` is not zero: instead, it equals the\n", - "negative of the sum of the coefficient estimates for all of the\n", - "other levels. Similarly, in `M2_lm`, the coefficient estimate\n", - "for the last level of `hr` is the negative of the sum of the\n", - "coefficient estimates for all of the other levels. This means that the\n", - "coefficients of `hr` and `mnth` in `M2_lm` will always sum\n", - "to zero, and can be interpreted as the difference from the mean\n", - "level. For example, the coefficient for January of $-46.087$ indicates\n", - "that, holding all other variables constant, there are typically 46\n", - "fewer riders in January relative to the yearly average.\n", - "\n", - "It is important to realize that the choice of coding really does not\n", - "matter, provided that we interpret the model output correctly in light\n", - "of the coding used. For example, we see that the predictions from the\n", - "linear model are the same regardless of coding:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "dd0114c8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:56.092324Z", - "iopub.status.busy": "2023-07-26T05:16:56.087118Z", - "iopub.status.idle": "2023-07-26T05:16:56.137844Z", - "shell.execute_reply": "2023-07-26T05:16:56.135218Z" - } - }, - "outputs": [], - "source": [ - "np.sum((M_lm.fittedvalues - M2_lm.fittedvalues)**2)" - ] - }, - { - "cell_type": "markdown", - "id": "bcb6ae87", - "metadata": {}, - "source": [ - "The sum of squared differences is zero. We can also see this using the\n", - "`np.allclose()` function:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "292585a1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:56.147457Z", - "iopub.status.busy": "2023-07-26T05:16:56.146798Z", - "iopub.status.idle": "2023-07-26T05:16:56.159395Z", - "shell.execute_reply": "2023-07-26T05:16:56.157990Z" - } - }, - "outputs": [], - "source": [ - "np.allclose(M_lm.fittedvalues, M2_lm.fittedvalues)" - ] - }, - { - "cell_type": "markdown", - "id": "5bffbdd1", - "metadata": {}, - "source": [ - "To reproduce the left-hand side of Figure 4.13\n", - "we must first obtain the coefficient estimates associated with\n", - "`mnth`. The coefficients for January through November can be obtained\n", - "directly from the `M2_lm` object. The coefficient for December\n", - "must be explicitly computed as the negative sum of all the other\n", - "months. We first extract all the coefficients for month from\n", - "the coefficients of `M2_lm`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e05e0575", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:56.169355Z", - "iopub.status.busy": "2023-07-26T05:16:56.168352Z", - "iopub.status.idle": "2023-07-26T05:16:56.190269Z", - "shell.execute_reply": "2023-07-26T05:16:56.186463Z" - } - }, - "outputs": [], - "source": [ - "coef_month = S2[S2.index.str.contains('mnth')]['coef']\n", - "coef_month" - ] - }, - { - "cell_type": "markdown", - "id": "d542caac", - "metadata": {}, - "source": [ - "Next, we append `Dec` as the negative of the sum of all other months." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9f04a25e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:56.213429Z", - "iopub.status.busy": "2023-07-26T05:16:56.210143Z", - "iopub.status.idle": "2023-07-26T05:16:56.249114Z", - "shell.execute_reply": "2023-07-26T05:16:56.246382Z" - } - }, - "outputs": [], - "source": [ - "months = Bike['mnth'].dtype.categories\n", - "coef_month = pd.concat([\n", - " coef_month,\n", - " pd.Series([-coef_month.sum()],\n", - " index=['mnth[Dec]'\n", - " ])\n", - " ])\n", - "coef_month" - ] - }, - { - "cell_type": "markdown", - "id": "6e3ef375", - "metadata": {}, - "source": [ - "Finally, to make the plot neater, we’ll just use the first letter of each month, which is the $6$th entry of each of\n", - "the labels in the index." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "20c7c054", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:56.310254Z", - "iopub.status.busy": "2023-07-26T05:16:56.306244Z", - "iopub.status.idle": "2023-07-26T05:16:56.486315Z", - "shell.execute_reply": "2023-07-26T05:16:56.485755Z" - } - }, - "outputs": [], - "source": [ - "fig_month, ax_month = subplots(figsize=(8,8))\n", - "x_month = np.arange(coef_month.shape[0])\n", - "ax_month.plot(x_month, coef_month, marker='o', ms=10)\n", - "ax_month.set_xticks(x_month)\n", - "ax_month.set_xticklabels([l[5] for l in coef_month.index], fontsize=20)\n", - "ax_month.set_xlabel('Month', fontsize=20)\n", - "ax_month.set_ylabel('Coefficient', fontsize=20);" - ] - }, - { - "cell_type": "markdown", - "id": "6032f6a9", - "metadata": {}, - "source": [ - "Reproducing the right-hand plot in Figure 4.13 follows a similar process." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3f83f4bf", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:56.489411Z", - "iopub.status.busy": "2023-07-26T05:16:56.489143Z", - "iopub.status.idle": "2023-07-26T05:16:56.493292Z", - "shell.execute_reply": "2023-07-26T05:16:56.492665Z" - } - }, - "outputs": [], - "source": [ - "coef_hr = S2[S2.index.str.contains('hr')]['coef']\n", - "coef_hr = coef_hr.reindex(['hr[{0}]'.format(h) for h in range(23)])\n", - "coef_hr = pd.concat([coef_hr,\n", - " pd.Series([-coef_hr.sum()], index=['hr[23]'])\n", - " ])" - ] - }, - { - "cell_type": "markdown", - "id": "58200be9", - "metadata": {}, - "source": [ - "We now make the hour plot." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "86e9a741", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:56.496145Z", - "iopub.status.busy": "2023-07-26T05:16:56.495966Z", - "iopub.status.idle": "2023-07-26T05:16:56.609790Z", - "shell.execute_reply": "2023-07-26T05:16:56.609280Z" - } - }, - "outputs": [], - "source": [ - "fig_hr, ax_hr = subplots(figsize=(8,8))\n", - "x_hr = np.arange(coef_hr.shape[0])\n", - "ax_hr.plot(x_hr, coef_hr, marker='o', ms=10)\n", - "ax_hr.set_xticks(x_hr[::2])\n", - "ax_hr.set_xticklabels(range(24)[::2], fontsize=20)\n", - "ax_hr.set_xlabel('Hour', fontsize=20)\n", - "ax_hr.set_ylabel('Coefficient', fontsize=20);" - ] - }, - { - "cell_type": "markdown", - "id": "5db06a3e", - "metadata": {}, - "source": [ - "### Poisson Regression\n", - "\n", - "Now we fit instead a Poisson regression model to the\n", - "`Bikeshare` data. Very little changes, except that we now use the\n", - "function `sm.GLM()` with the Poisson family specified:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a9448278", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:56.612317Z", - "iopub.status.busy": "2023-07-26T05:16:56.612179Z", - "iopub.status.idle": "2023-07-26T05:16:57.099663Z", - "shell.execute_reply": "2023-07-26T05:16:57.097888Z" - } - }, - "outputs": [], - "source": [ - "M_pois = sm.GLM(Y, X2, family=sm.families.Poisson()).fit()" - ] - }, - { - "cell_type": "markdown", - "id": "e7b3bc38", - "metadata": {}, - "source": [ - "We can plot the coefficients associated with `mnth` and `hr`, in order to reproduce Figure 4.15. We first complete these coefficients as before." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ec8505be", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:57.113476Z", - "iopub.status.busy": "2023-07-26T05:16:57.110476Z", - "iopub.status.idle": "2023-07-26T05:16:57.156419Z", - "shell.execute_reply": "2023-07-26T05:16:57.148075Z" - } - }, - "outputs": [], - "source": [ - "S_pois = summarize(M_pois)\n", - "coef_month = S_pois[S_pois.index.str.contains('mnth')]['coef']\n", - "coef_month = pd.concat([coef_month,\n", - " pd.Series([-coef_month.sum()],\n", - " index=['mnth[Dec]'])])\n", - "coef_hr = S_pois[S_pois.index.str.contains('hr')]['coef']\n", - "coef_hr = pd.concat([coef_hr,\n", - " pd.Series([-coef_hr.sum()],\n", - " index=['hr[23]'])])" - ] - }, - { - "cell_type": "markdown", - "id": "f6fb37ef", - "metadata": {}, - "source": [ - "The plotting is as before." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0b8a5edf", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:57.169051Z", - "iopub.status.busy": "2023-07-26T05:16:57.167599Z", - "iopub.status.idle": "2023-07-26T05:16:57.482769Z", - "shell.execute_reply": "2023-07-26T05:16:57.482137Z" - } - }, - "outputs": [], - "source": [ - "fig_pois, (ax_month, ax_hr) = subplots(1, 2, figsize=(16,8))\n", - "ax_month.plot(x_month, coef_month, marker='o', ms=10)\n", - "ax_month.set_xticks(x_month)\n", - "ax_month.set_xticklabels([l[5] for l in coef_month.index], fontsize=20)\n", - "ax_month.set_xlabel('Month', fontsize=20)\n", - "ax_month.set_ylabel('Coefficient', fontsize=20)\n", - "ax_hr.plot(x_hr, coef_hr, marker='o', ms=10)\n", - "ax_hr.set_xticklabels(range(24)[::2], fontsize=20)\n", - "ax_hr.set_xlabel('Hour', fontsize=20)\n", - "ax_hr.set_ylabel('Coefficient', fontsize=20);" - ] - }, - { - "cell_type": "markdown", - "id": "3c256bf2", - "metadata": {}, - "source": [ - "We compare the fitted values of the two models.\n", - "The fitted values are stored in the `fittedvalues` attribute\n", - "returned by the `fit()` method for both the linear regression and the Poisson\n", - "fits. The linear predictors are stored as the attribute `lin_pred`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d487c7ed", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:57.485339Z", - "iopub.status.busy": "2023-07-26T05:16:57.484975Z", - "iopub.status.idle": "2023-07-26T05:16:57.605612Z", - "shell.execute_reply": "2023-07-26T05:16:57.605058Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8, 8))\n", - "ax.scatter(M2_lm.fittedvalues,\n", - " M_pois.fittedvalues,\n", - " s=20)\n", - "ax.set_xlabel('Linear Regression Fit', fontsize=20)\n", - "ax.set_ylabel('Poisson Regression Fit', fontsize=20)\n", - "ax.axline([0,0], c='black', linewidth=3,\n", - " linestyle='--', slope=1);" - ] - }, - { - "cell_type": "markdown", - "id": "17ccc1bf", - "metadata": {}, - "source": [ - "The predictions from the Poisson regression model are correlated with\n", - "those from the linear model; however, the former are non-negative. As\n", - "a result the Poisson regression predictions tend to be larger than\n", - "those from the linear model for either very low or very high levels of\n", - "ridership.\n", - "\n", - "In this section, we fit Poisson regression models using the `sm.GLM()` function with the argument\n", - "`family=sm.families.Poisson()`. Earlier in this lab we used the `sm.GLM()` function\n", - "with `family=sm.families.Binomial()` to perform logistic regression. Other\n", - "choices for the `family` argument can be used to fit other types\n", - "of GLMs. For instance, `family=sm.families.Gamma()` fits a Gamma regression\n", - "model." - ] - } - ], - "metadata": { - "jupytext": { - "cell_metadata_filter": "-all", - "formats": "ipynb,md:myst", - "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/source/labs/Ch5-resample-lab.ipynb b/docs/source/labs/Ch5-resample-lab.ipynb deleted file mode 100644 index df0614f..0000000 --- a/docs/source/labs/Ch5-resample-lab.ipynb +++ /dev/null @@ -1,1064 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "3a3f2f85", - "metadata": {}, - "source": [ - "# Cross-Validation and the Bootstrap\n", - "\n", - "\n", - " \"Open\n", - "\n", - "\n", - "\n", - "In this lab, we explore the resampling techniques covered in this\n", - "chapter. Some of the commands in this lab may take a while to run on\n", - "your computer.\n", - "\n", - "We again begin by placing most of our imports at this top level." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "60fad148", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:58.904948Z", - "iopub.status.busy": "2023-07-26T05:16:58.904833Z", - "iopub.status.idle": "2023-07-26T05:16:59.817459Z", - "shell.execute_reply": "2023-07-26T05:16:59.816977Z" - } - }, - "outputs": [], - "source": [ - "import numpy as np\n", - "import statsmodels.api as sm\n", - "from ISLP import load_data\n", - "from ISLP.models import (ModelSpec as MS,\n", - " summarize,\n", - " poly)\n", - "from sklearn.model_selection import train_test_split" - ] - }, - { - "cell_type": "markdown", - "id": "78fcfe7a", - "metadata": {}, - "source": [ - "There are several new imports needed for this lab." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2478aeb4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:59.820190Z", - "iopub.status.busy": "2023-07-26T05:16:59.819944Z", - "iopub.status.idle": "2023-07-26T05:16:59.822616Z", - "shell.execute_reply": "2023-07-26T05:16:59.822236Z" - } - }, - "outputs": [], - "source": [ - "from functools import partial\n", - "from sklearn.model_selection import \\\n", - " (cross_validate,\n", - " KFold,\n", - " ShuffleSplit)\n", - "from sklearn.base import clone\n", - "from ISLP.models import sklearn_sm" - ] - }, - { - "cell_type": "markdown", - "id": "713d30db", - "metadata": {}, - "source": [ - "## The Validation Set Approach\n", - "We explore the use of the validation set approach in order to estimate\n", - "the test error rates that result from fitting various linear models on\n", - "the `Auto` data set.\n", - "\n", - "We use the function `train_test_split()` to split\n", - "the data into training and validation sets. As there are 392 observations,\n", - "we split into two equal sets of size 196 using the\n", - "argument `test_size=196`. It is generally a good idea to set a random seed\n", - "when performing operations like this that contain an\n", - "element of randomness, so that the results obtained can be reproduced\n", - "precisely at a later time. We set the random seed of the splitter\n", - "with the argument `random_state=0`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "99c95faf", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:59.824651Z", - "iopub.status.busy": "2023-07-26T05:16:59.824498Z", - "iopub.status.idle": "2023-07-26T05:16:59.830661Z", - "shell.execute_reply": "2023-07-26T05:16:59.830199Z" - } - }, - "outputs": [], - "source": [ - "Auto = load_data('Auto')\n", - "Auto_train, Auto_valid = train_test_split(Auto,\n", - " test_size=196,\n", - " random_state=0)" - ] - }, - { - "cell_type": "markdown", - "id": "57be35df", - "metadata": {}, - "source": [ - "Now we can fit a linear regression using only the observations corresponding to the training set `Auto_train`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "41b0717d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:59.832904Z", - "iopub.status.busy": "2023-07-26T05:16:59.832740Z", - "iopub.status.idle": "2023-07-26T05:16:59.837926Z", - "shell.execute_reply": "2023-07-26T05:16:59.837164Z" - } - }, - "outputs": [], - "source": [ - "hp_mm = MS(['horsepower'])\n", - "X_train = hp_mm.fit_transform(Auto_train)\n", - "y_train = Auto_train['mpg']\n", - "model = sm.OLS(y_train, X_train)\n", - "results = model.fit()" - ] - }, - { - "cell_type": "markdown", - "id": "7f1bef95", - "metadata": {}, - "source": [ - "We now use the `predict()` method of `results` evaluated on the model matrix for this model\n", - "created using the validation data set. We also calculate the validation MSE of our model." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d7ea3c0d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:59.840693Z", - "iopub.status.busy": "2023-07-26T05:16:59.840426Z", - "iopub.status.idle": "2023-07-26T05:16:59.847201Z", - "shell.execute_reply": "2023-07-26T05:16:59.846618Z" - } - }, - "outputs": [], - "source": [ - "X_valid = hp_mm.transform(Auto_valid)\n", - "y_valid = Auto_valid['mpg']\n", - "valid_pred = results.predict(X_valid)\n", - "np.mean((y_valid - valid_pred)**2)" - ] - }, - { - "cell_type": "markdown", - "id": "6dba5d55", - "metadata": {}, - "source": [ - "Hence our estimate for the validation MSE of the linear regression\n", - "fit is $23.62$.\n", - "\n", - "We can also estimate the validation error for\n", - "higher-degree polynomial regressions. We first provide a function `evalMSE()` that takes a model string as well\n", - "as a training and test set and returns the MSE on the test set." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a02a2d05", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:59.849828Z", - "iopub.status.busy": "2023-07-26T05:16:59.849638Z", - "iopub.status.idle": "2023-07-26T05:16:59.852938Z", - "shell.execute_reply": "2023-07-26T05:16:59.852364Z" - } - }, - "outputs": [], - "source": [ - "def evalMSE(terms,\n", - " response,\n", - " train,\n", - " test):\n", - "\n", - " mm = MS(terms)\n", - " X_train = mm.fit_transform(train)\n", - " y_train = train[response]\n", - "\n", - " X_test = mm.transform(test)\n", - " y_test = test[response]\n", - "\n", - " results = sm.OLS(y_train, X_train).fit()\n", - " test_pred = results.predict(X_test)\n", - "\n", - " return np.mean((y_test - test_pred)**2)" - ] - }, - { - "cell_type": "markdown", - "id": "39ab59b1", - "metadata": {}, - "source": [ - "Let’s use this function to estimate the validation MSE\n", - "using linear, quadratic and cubic fits. We use the `enumerate()` function\n", - "here, which gives both the values and indices of objects as one iterates\n", - "over a for loop." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "51d93dea", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:59.855432Z", - "iopub.status.busy": "2023-07-26T05:16:59.855267Z", - "iopub.status.idle": "2023-07-26T05:16:59.867911Z", - "shell.execute_reply": "2023-07-26T05:16:59.867517Z" - } - }, - "outputs": [], - "source": [ - "MSE = np.zeros(3)\n", - "for idx, degree in enumerate(range(1, 4)):\n", - " MSE[idx] = evalMSE([poly('horsepower', degree)],\n", - " 'mpg',\n", - " Auto_train,\n", - " Auto_valid)\n", - "MSE" - ] - }, - { - "cell_type": "markdown", - "id": "936e168a", - "metadata": {}, - "source": [ - "These error rates are $23.62, 18.76$, and $18.80$, respectively. If we\n", - "choose a different training/validation split instead, then we\n", - "can expect somewhat different errors on the validation set." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "83432f06", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:59.870663Z", - "iopub.status.busy": "2023-07-26T05:16:59.870321Z", - "iopub.status.idle": "2023-07-26T05:16:59.884091Z", - "shell.execute_reply": "2023-07-26T05:16:59.883749Z" - } - }, - "outputs": [], - "source": [ - "Auto_train, Auto_valid = train_test_split(Auto,\n", - " test_size=196,\n", - " random_state=3)\n", - "MSE = np.zeros(3)\n", - "for idx, degree in enumerate(range(1, 4)):\n", - " MSE[idx] = evalMSE([poly('horsepower', degree)],\n", - " 'mpg',\n", - " Auto_train,\n", - " Auto_valid)\n", - "MSE" - ] - }, - { - "cell_type": "markdown", - "id": "f5ceb357", - "metadata": {}, - "source": [ - "Using this split of the observations into a training set and a validation set,\n", - "we find that the validation set error rates for the models with linear, quadratic, and cubic terms are $20.76$, $16.95$, and $16.97$, respectively.\n", - "\n", - "These results are consistent with our previous findings: a model that\n", - "predicts `mpg` using a quadratic function of `horsepower`\n", - "performs better than a model that involves only a linear function of\n", - "`horsepower`, and there is no evidence of an improvement in using a cubic function of `horsepower`." - ] - }, - { - "cell_type": "markdown", - "id": "6d624a5c", - "metadata": {}, - "source": [ - "## Cross-Validation\n", - "In theory, the cross-validation estimate can be computed for any generalized\n", - "linear model. {}\n", - "In practice, however, the simplest way to cross-validate in\n", - "Python is to use `sklearn`, which has a different interface or API\n", - "than `statsmodels`, the code we have been using to fit GLMs.\n", - "\n", - "This is a problem which often confronts data scientists: \"I have a function to do task $A$, and need to feed it into something that performs task $B$, so that I can compute $B(A(D))$, where $D$ is my data.\" When $A$ and $B$ don’t naturally speak to each other, this\n", - "requires the use of a *wrapper*.\n", - "In the `ISLP` package,\n", - "we provide \n", - "a wrapper, `sklearn_sm()`, that enables us to easily use the cross-validation tools of `sklearn` with\n", - "models fit by `statsmodels`.\n", - "\n", - "The class `sklearn_sm()` \n", - "has as its first argument\n", - "a model from `statsmodels`. It can take two additional\n", - "optional arguments: `model_str` which can be\n", - "used to specify a formula, and `model_args` which should\n", - "be a dictionary of additional arguments used when fitting\n", - "the model. For example, to fit a logistic regression model\n", - "we have to specify a `family` argument. This\n", - "is passed as `model_args={'family':sm.families.Binomial()}`.\n", - "\n", - "Here is our wrapper in action:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bcfc433f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:16:59.886618Z", - "iopub.status.busy": "2023-07-26T05:16:59.886459Z", - "iopub.status.idle": "2023-07-26T05:17:00.662796Z", - "shell.execute_reply": "2023-07-26T05:17:00.662228Z" - } - }, - "outputs": [], - "source": [ - "hp_model = sklearn_sm(sm.OLS,\n", - " MS(['horsepower']))\n", - "X, Y = Auto.drop(columns=['mpg']), Auto['mpg']\n", - "cv_results = cross_validate(hp_model,\n", - " X,\n", - " Y,\n", - " cv=Auto.shape[0])\n", - "cv_err = np.mean(cv_results['test_score'])\n", - "cv_err" - ] - }, - { - "cell_type": "markdown", - "id": "5b0f6f30", - "metadata": {}, - "source": [ - "The arguments to `cross_validate()` are as follows: an\n", - "object with the appropriate `fit()`, `predict()`,\n", - "and `score()` methods, an\n", - "array of features `X` and a response `Y`. \n", - "We also included an additional argument `cv` to `cross_validate()`; specifying an integer\n", - "$K$ results in $K$-fold cross-validation. We have provided a value \n", - "corresponding to the total number of observations, which results in\n", - "leave-one-out cross-validation (LOOCV). The `cross_validate()` function produces a dictionary with several components;\n", - "we simply want the cross-validated test score here (MSE), which is estimated to be 24.23." - ] - }, - { - "cell_type": "markdown", - "id": "b527f67f", - "metadata": {}, - "source": [ - "We can repeat this procedure for increasingly complex polynomial fits.\n", - "To automate the process, we again\n", - "use a for loop which iteratively fits polynomial\n", - "regressions of degree 1 to 5, computes the\n", - "associated cross-validation error, and stores it in the $i$th element\n", - "of the vector `cv_error`. The variable `d` in the for loop\n", - "corresponds to the degree of the polynomial. We begin by initializing the\n", - "vector. This command may take a couple of seconds to run." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f951ffc8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:00.665287Z", - "iopub.status.busy": "2023-07-26T05:17:00.665106Z", - "iopub.status.idle": "2023-07-26T05:17:01.422477Z", - "shell.execute_reply": "2023-07-26T05:17:01.422022Z" - } - }, - "outputs": [], - "source": [ - "cv_error = np.zeros(5)\n", - "H = np.array(Auto['horsepower'])\n", - "M = sklearn_sm(sm.OLS)\n", - "for i, d in enumerate(range(1,6)):\n", - " X = np.power.outer(H, np.arange(d+1))\n", - " M_CV = cross_validate(M,\n", - " X,\n", - " Y,\n", - " cv=Auto.shape[0])\n", - " cv_error[i] = np.mean(M_CV['test_score'])\n", - "cv_error" - ] - }, - { - "cell_type": "markdown", - "id": "792f1304", - "metadata": {}, - "source": [ - "As in Figure 5.4, we see a sharp drop in the estimated test MSE between the linear and\n", - "quadratic fits, but then no clear improvement from using higher-degree polynomials.\n", - "\n", - "Above we introduced the `outer()` method of the `np.power()`\n", - "function. The `outer()` method is applied to an operation\n", - "that has two arguments, such as `add()`, `min()`, or\n", - "`power()`.\n", - "It has two arrays as\n", - "arguments, and then forms a larger\n", - "array where the operation is applied to each pair of elements of the\n", - "two arrays." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e3610b5a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:01.424821Z", - "iopub.status.busy": "2023-07-26T05:17:01.424682Z", - "iopub.status.idle": "2023-07-26T05:17:01.427733Z", - "shell.execute_reply": "2023-07-26T05:17:01.427314Z" - } - }, - "outputs": [], - "source": [ - "A = np.array([3, 5, 9])\n", - "B = np.array([2, 4])\n", - "np.add.outer(A, B)" - ] - }, - { - "cell_type": "markdown", - "id": "983625b2", - "metadata": {}, - "source": [ - "In the CV example above, we used $K=n$, but of course we can also use $K\n", - " \"Open\n", - "\n", - "\n", - "\n", - "In this lab we implement many of the techniques discussed in this chapter.\n", - "We import some of our libraries at this top\n", - "level." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "564883b2", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:07.048830Z", - "iopub.status.busy": "2023-07-26T05:17:07.048718Z", - "iopub.status.idle": "2023-07-26T05:17:08.239907Z", - "shell.execute_reply": "2023-07-26T05:17:08.239413Z" - } - }, - "outputs": [], - "source": [ - "import numpy as np\n", - "import pandas as pd\n", - "from matplotlib.pyplot import subplots\n", - "from statsmodels.api import OLS\n", - "import sklearn.model_selection as skm\n", - "import sklearn.linear_model as skl\n", - "from sklearn.preprocessing import StandardScaler\n", - "from ISLP import load_data\n", - "from ISLP.models import ModelSpec as MS\n", - "from functools import partial" - ] - }, - { - "cell_type": "markdown", - "id": "0594e13e", - "metadata": {}, - "source": [ - "We again collect the new imports\n", - "needed for this lab." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9aa8d3ee", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:08.242431Z", - "iopub.status.busy": "2023-07-26T05:17:08.242231Z", - "iopub.status.idle": "2023-07-26T05:17:09.939443Z", - "shell.execute_reply": "2023-07-26T05:17:09.938977Z" - } - }, - "outputs": [], - "source": [ - "from sklearn.pipeline import Pipeline\n", - "from sklearn.decomposition import PCA\n", - "from sklearn.cross_decomposition import PLSRegression\n", - "from ISLP.models import \\\n", - " (Stepwise,\n", - " sklearn_selected,\n", - " sklearn_selection_path)\n", - "!pip install l0bnb\n", - "from l0bnb import fit_path" - ] - }, - { - "cell_type": "markdown", - "id": "06a58c0b", - "metadata": {}, - "source": [ - "We have installed the package `l0bnb` on the fly. Note the escaped `!pip install` --- this is run as a separate system command. \n", - "## Subset Selection Methods\n", - "Here we implement methods that reduce the number of parameters in a\n", - "model by restricting the model to a subset of the input variables.\n", - "\n", - "### Forward Selection\n", - " \n", - "We will apply the forward-selection approach to the `Hitters` \n", - "data. We wish to predict a baseball player’s `Salary` on the\n", - "basis of various statistics associated with performance in the\n", - "previous year.\n", - "\n", - "First of all, we note that the `Salary` variable is missing for\n", - "some of the players. The `np.isnan()` function can be used to\n", - "identify the missing observations. It returns an array\n", - "of the same shape as the input vector, with a `True` for any elements that\n", - "are missing, and a `False` for non-missing elements. The\n", - "`sum()` method can then be used to count all of the\n", - "missing elements." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "05371e33", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:09.942405Z", - "iopub.status.busy": "2023-07-26T05:17:09.942257Z", - "iopub.status.idle": "2023-07-26T05:17:09.952925Z", - "shell.execute_reply": "2023-07-26T05:17:09.952485Z" - } - }, - "outputs": [], - "source": [ - "Hitters = load_data('Hitters')\n", - "np.isnan(Hitters['Salary']).sum()" - ] - }, - { - "cell_type": "markdown", - "id": "8071b084", - "metadata": {}, - "source": [ - " We see that `Salary` is missing for 59 players. The\n", - "`dropna()` method of data frames removes all of the rows that have missing\n", - "values in any variable (by default --- see `Hitters.dropna?`)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "aa5bc5b8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:09.955373Z", - "iopub.status.busy": "2023-07-26T05:17:09.955215Z", - "iopub.status.idle": "2023-07-26T05:17:09.959055Z", - "shell.execute_reply": "2023-07-26T05:17:09.958533Z" - } - }, - "outputs": [], - "source": [ - "Hitters = Hitters.dropna();\n", - "Hitters.shape" - ] - }, - { - "cell_type": "markdown", - "id": "d5017407", - "metadata": {}, - "source": [ - "We first choose the best model using forward selection based on $C_p$ (6.2). This score\n", - "is not built in as a metric to `sklearn`. We therefore define a function to compute it ourselves, and use\n", - "it as a scorer. By default, `sklearn` tries to maximize a score, hence\n", - " our scoring function computes the negative $C_p$ statistic." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "10494837", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:09.961940Z", - "iopub.status.busy": "2023-07-26T05:17:09.961736Z", - "iopub.status.idle": "2023-07-26T05:17:09.964700Z", - "shell.execute_reply": "2023-07-26T05:17:09.964271Z" - } - }, - "outputs": [], - "source": [ - "def nCp(sigma2, estimator, X, Y):\n", - " \"Negative Cp statistic\"\n", - " n, p = X.shape\n", - " Yhat = estimator.predict(X)\n", - " RSS = np.sum((Y - Yhat)**2)\n", - " return -(RSS + 2 * p * sigma2) / n " - ] - }, - { - "cell_type": "markdown", - "id": "126e9322", - "metadata": {}, - "source": [ - "We need to estimate the residual variance $\\sigma^2$, which is the first argument in our scoring function above.\n", - "We will fit the biggest model, using all the variables, and estimate $\\sigma^2$ based on its MSE." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b8173cef", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:09.967518Z", - "iopub.status.busy": "2023-07-26T05:17:09.967341Z", - "iopub.status.idle": "2023-07-26T05:17:09.983184Z", - "shell.execute_reply": "2023-07-26T05:17:09.982693Z" - } - }, - "outputs": [], - "source": [ - "design = MS(Hitters.columns.drop('Salary')).fit(Hitters)\n", - "Y = np.array(Hitters['Salary'])\n", - "X = design.transform(Hitters)\n", - "sigma2 = OLS(Y,X).fit().scale" - ] - }, - { - "cell_type": "markdown", - "id": "f873c04f", - "metadata": {}, - "source": [ - "The function `sklearn_selected()` expects a scorer with just three arguments --- the last three in the definition of `nCp()` above. We use the function `partial()` first seen in Section 5.3.3 to freeze the first argument with our estimate of $\\sigma^2$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0cc8d7bd", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:09.985554Z", - "iopub.status.busy": "2023-07-26T05:17:09.985389Z", - "iopub.status.idle": "2023-07-26T05:17:09.987653Z", - "shell.execute_reply": "2023-07-26T05:17:09.987280Z" - } - }, - "outputs": [], - "source": [ - "neg_Cp = partial(nCp, sigma2)" - ] - }, - { - "cell_type": "markdown", - "id": "3ff5a859", - "metadata": {}, - "source": [ - "We can now use `neg_Cp()` as a scorer for model selection." - ] - }, - { - "cell_type": "markdown", - "id": "2b30b7bd", - "metadata": {}, - "source": [ - "Along with a score we need to specify the search strategy. This is done through the object\n", - "`Stepwise()` in the `ISLP.models` package. The method `Stepwise.first_peak()`\n", - "runs forward stepwise until any further additions to the model do not result\n", - "in an improvement in the evaluation score. Similarly, the method `Stepwise.fixed_steps()`\n", - "runs a fixed number of steps of stepwise search." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "440b4c50", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:09.989896Z", - "iopub.status.busy": "2023-07-26T05:17:09.989765Z", - "iopub.status.idle": "2023-07-26T05:17:09.992061Z", - "shell.execute_reply": "2023-07-26T05:17:09.991502Z" - } - }, - "outputs": [], - "source": [ - "strategy = Stepwise.first_peak(design,\n", - " direction='forward',\n", - " max_terms=len(design.terms))" - ] - }, - { - "cell_type": "markdown", - "id": "77079484", - "metadata": {}, - "source": [ - "We now fit a linear regression model with `Salary` as outcome using forward\n", - "selection. To do so, we use the function `sklearn_selected()` from the `ISLP.models` package. This takes\n", - "a model from `statsmodels` along with a search strategy and selects a model with its\n", - "`fit` method. Without specifying a `scoring` argument, the score defaults to MSE, and so all 19 variables will be\n", - "selected." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b33a8617", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:09.994597Z", - "iopub.status.busy": "2023-07-26T05:17:09.994397Z", - "iopub.status.idle": "2023-07-26T05:17:10.882860Z", - "shell.execute_reply": "2023-07-26T05:17:10.882342Z" - } - }, - "outputs": [], - "source": [ - "hitters_MSE = sklearn_selected(OLS,\n", - " strategy)\n", - "hitters_MSE.fit(Hitters, Y)\n", - "hitters_MSE.selected_state_" - ] - }, - { - "cell_type": "markdown", - "id": "233e45a1", - "metadata": {}, - "source": [ - "Using `neg_Cp` results in a smaller model, as expected, with just 10 variables selected." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e7f554cf", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:10.885149Z", - "iopub.status.busy": "2023-07-26T05:17:10.884996Z", - "iopub.status.idle": "2023-07-26T05:17:11.423862Z", - "shell.execute_reply": "2023-07-26T05:17:11.423408Z" - } - }, - "outputs": [], - "source": [ - "hitters_Cp = sklearn_selected(OLS,\n", - " strategy,\n", - " scoring=neg_Cp)\n", - "hitters_Cp.fit(Hitters, Y)\n", - "hitters_Cp.selected_state_" - ] - }, - { - "cell_type": "markdown", - "id": "75e8008b", - "metadata": {}, - "source": [ - "### Choosing Among Models Using the Validation Set Approach and Cross-Validation\n", - " \n", - "As an alternative to using $C_p$, we might try cross-validation to select a model in forward selection. For this, we need a\n", - "method that stores the full path of models found in forward selection, and allows predictions for each of these. This can be done with the `sklearn_selection_path()` \n", - "estimator from `ISLP.models`. The function `cross_val_predict()` from `ISLP.models`\n", - "computes the cross-validated predictions for each of the models\n", - "along the path, which we can use to evaluate the cross-validated MSE\n", - "along the path." - ] - }, - { - "cell_type": "markdown", - "id": "fc753395", - "metadata": {}, - "source": [ - "Here we define a strategy that fits the full forward selection path.\n", - "While there are various parameter choices for `sklearn_selection_path()`,\n", - "we use the defaults here, which selects the model at each step based on the biggest reduction in RSS." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fb7091b8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:11.426460Z", - "iopub.status.busy": "2023-07-26T05:17:11.426313Z", - "iopub.status.idle": "2023-07-26T05:17:11.428837Z", - "shell.execute_reply": "2023-07-26T05:17:11.428385Z" - } - }, - "outputs": [], - "source": [ - "strategy = Stepwise.fixed_steps(design,\n", - " len(design.terms),\n", - " direction='forward')\n", - "full_path = sklearn_selection_path(OLS, strategy)" - ] - }, - { - "cell_type": "markdown", - "id": "7f5f599f", - "metadata": {}, - "source": [ - "We now fit the full forward-selection path on the `Hitters` data and compute the fitted values." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "56adc728", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:11.431149Z", - "iopub.status.busy": "2023-07-26T05:17:11.431007Z", - "iopub.status.idle": "2023-07-26T05:17:11.925588Z", - "shell.execute_reply": "2023-07-26T05:17:11.925166Z" - } - }, - "outputs": [], - "source": [ - "full_path.fit(Hitters, Y)\n", - "Yhat_in = full_path.predict(Hitters)\n", - "Yhat_in.shape" - ] - }, - { - "cell_type": "markdown", - "id": "0b771d23", - "metadata": {}, - "source": [ - "This gives us an array of fitted values --- 20 steps in all, including the fitted mean for the null model --- which we can use to evaluate\n", - "in-sample MSE. As expected, the in-sample MSE improves each step we take,\n", - "indicating we must use either the validation or cross-validation\n", - "approach to select the number of steps. We fix the y-axis to range from\n", - "50,000 to 250,000 to compare to the cross-validation and validation\n", - "set MSE below, as well as other methods such as ridge regression, lasso and\n", - "principal components regression." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "387267d9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:11.928605Z", - "iopub.status.busy": "2023-07-26T05:17:11.928329Z", - "iopub.status.idle": "2023-07-26T05:17:12.168674Z", - "shell.execute_reply": "2023-07-26T05:17:12.165742Z" - } - }, - "outputs": [], - "source": [ - "mse_fig, ax = subplots(figsize=(8,8))\n", - "insample_mse = ((Yhat_in - Y[:,None])**2).mean(0)\n", - "n_steps = insample_mse.shape[0]\n", - "ax.plot(np.arange(n_steps),\n", - " insample_mse,\n", - " 'k', # color black\n", - " label='In-sample')\n", - "ax.set_ylabel('MSE',\n", - " fontsize=20)\n", - "ax.set_xlabel('# steps of forward stepwise',\n", - " fontsize=20)\n", - "ax.set_xticks(np.arange(n_steps)[::2])\n", - "ax.legend()\n", - "ax.set_ylim([50000,250000]);" - ] - }, - { - "cell_type": "markdown", - "id": "fc09acdc", - "metadata": {}, - "source": [ - "Notice the expression `None` in `Y[:,None]` above.\n", - "This adds an axis (dimension) to the one-dimensional array `Y`,\n", - "which allows it to be recycled when subtracted from the two-dimensional `Yhat_in`." - ] - }, - { - "cell_type": "markdown", - "id": "2a1511cd", - "metadata": {}, - "source": [ - "We are now ready to use cross-validation to estimate test error along\n", - "the model path. We must use *only the training observations* to perform all aspects of model-fitting --- including\n", - "variable selection. Therefore, the determination of which model of a\n", - "given size is best must be made using \\emph{only the training\n", - " observations} in each training fold. This point is subtle but important. If the full data\n", - "set is used to select the best subset at each step, then the validation\n", - "set errors and cross-validation errors that we obtain will not be\n", - "accurate estimates of the test error.\n", - "\n", - "We now compute the cross-validated predicted values using 5-fold cross-validation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0047ba88", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:12.180601Z", - "iopub.status.busy": "2023-07-26T05:17:12.179903Z", - "iopub.status.idle": "2023-07-26T05:17:14.657028Z", - "shell.execute_reply": "2023-07-26T05:17:14.656647Z" - } - }, - "outputs": [], - "source": [ - "K = 5\n", - "kfold = skm.KFold(K,\n", - " random_state=0,\n", - " shuffle=True)\n", - "Yhat_cv = skm.cross_val_predict(full_path,\n", - " Hitters,\n", - " Y,\n", - " cv=kfold)\n", - "Yhat_cv.shape" - ] - }, - { - "cell_type": "markdown", - "id": "c6df5d31", - "metadata": {}, - "source": [ - "The prediction matrix `Yhat_cv` is the same shape as `Yhat_in`; the difference is that the predictions in each row, corresponding to a particular sample index, were made from models fit on a training fold that did not include that row.\n", - "\n", - "At each model along the path, we compute the MSE in each of the cross-validation folds.\n", - "These we will average to get the mean MSE, and can also use the individual values to compute a crude estimate of the standard error of the mean. {The estimate is crude because the five error estimates are based on overlapping training sets, and hence are not independent.}\n", - "Hence we must know the test indices for each cross-validation\n", - "split. This can be found by using the `split()` method of `kfold`. Because\n", - "we fixed the random state above, whenever we split any array with the same\n", - "number of rows as $Y$ we recover the same training and test indices, though we simply\n", - "ignore the training indices below." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "27b0eb63", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:14.659368Z", - "iopub.status.busy": "2023-07-26T05:17:14.659240Z", - "iopub.status.idle": "2023-07-26T05:17:14.663478Z", - "shell.execute_reply": "2023-07-26T05:17:14.663025Z" - } - }, - "outputs": [], - "source": [ - "cv_mse = []\n", - "for train_idx, test_idx in kfold.split(Y):\n", - " errors = (Yhat_cv[test_idx] - Y[test_idx,None])**2\n", - " cv_mse.append(errors.mean(0)) # column means\n", - "cv_mse = np.array(cv_mse).T\n", - "cv_mse.shape" - ] - }, - { - "cell_type": "markdown", - "id": "223556f8", - "metadata": {}, - "source": [ - "We now add the cross-validation error estimates to our MSE plot.\n", - "We include the mean error across the five folds, and the estimate of the standard error of the mean." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a45fe587", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:14.665854Z", - "iopub.status.busy": "2023-07-26T05:17:14.665694Z", - "iopub.status.idle": "2023-07-26T05:17:14.764103Z", - "shell.execute_reply": "2023-07-26T05:17:14.763688Z" - } - }, - "outputs": [], - "source": [ - "ax.errorbar(np.arange(n_steps), \n", - " cv_mse.mean(1),\n", - " cv_mse.std(1) / np.sqrt(K),\n", - " label='Cross-validated',\n", - " c='r') # color red\n", - "ax.set_ylim([50000,250000])\n", - "ax.legend()\n", - "mse_fig" - ] - }, - { - "cell_type": "markdown", - "id": "fb4fa850", - "metadata": {}, - "source": [ - "To repeat the above using the validation set approach, we simply change our\n", - "`cv` argument to a validation set: one random split of the data into a test and training. We choose a test size\n", - "of 20%, similar to the size of each test set in 5-fold cross-validation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c71c2079", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:14.766668Z", - "iopub.status.busy": "2023-07-26T05:17:14.766176Z", - "iopub.status.idle": "2023-07-26T05:17:15.254311Z", - "shell.execute_reply": "2023-07-26T05:17:15.253748Z" - } - }, - "outputs": [], - "source": [ - "validation = skm.ShuffleSplit(n_splits=1, \n", - " test_size=0.2,\n", - " random_state=0)\n", - "for train_idx, test_idx in validation.split(Y):\n", - " full_path.fit(Hitters.iloc[train_idx],\n", - " Y[train_idx])\n", - " Yhat_val = full_path.predict(Hitters.iloc[test_idx])\n", - " errors = (Yhat_val - Y[test_idx,None])**2\n", - " validation_mse = errors.mean(0)" - ] - }, - { - "cell_type": "markdown", - "id": "d34bb7ab", - "metadata": {}, - "source": [ - " As for the in-sample MSE case, the validation set approach does not provide standard errors." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2ff34edf", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:15.257176Z", - "iopub.status.busy": "2023-07-26T05:17:15.256855Z", - "iopub.status.idle": "2023-07-26T05:17:15.361521Z", - "shell.execute_reply": "2023-07-26T05:17:15.360872Z" - } - }, - "outputs": [], - "source": [ - "ax.plot(np.arange(n_steps), \n", - " validation_mse,\n", - " 'b--', # color blue, broken line\n", - " label='Validation')\n", - "ax.set_xticks(np.arange(n_steps)[::2])\n", - "ax.set_ylim([50000,250000])\n", - "ax.legend()\n", - "mse_fig" - ] - }, - { - "cell_type": "markdown", - "id": "e5517334", - "metadata": {}, - "source": [ - "### Best Subset Selection\n", - "Forward stepwise is a *greedy* selection procedure; at each step it augments the current set by including one additional variable. We now apply best subset selection to the `Hitters` \n", - "data, which for every subset size, searches for the best set of predictors. \n", - "\n", - "We will use a package called `l0bnb` to perform\n", - "best subset selection.\n", - "Instead of constraining the subset to be a given size,\n", - "this package produces a path of solutions using the subset size as a\n", - "penalty rather than a constraint. Although the distinction is subtle, the difference comes when we cross-validate." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "845f3fa0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:15.364952Z", - "iopub.status.busy": "2023-07-26T05:17:15.364689Z", - "iopub.status.idle": "2023-07-26T05:17:15.379444Z", - "shell.execute_reply": "2023-07-26T05:17:15.379028Z" - } - }, - "outputs": [], - "source": [ - "D = design.fit_transform(Hitters)\n", - "D = D.drop('intercept', axis=1)\n", - "X = np.asarray(D)" - ] - }, - { - "cell_type": "markdown", - "id": "4c0d0e19", - "metadata": {}, - "source": [ - "Here we excluded the first column corresponding to the intercept, as\n", - "`l0bnb` will fit the intercept separately. We can find a path using the `fit_path()` function." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e9f943e7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:15.381427Z", - "iopub.status.busy": "2023-07-26T05:17:15.381284Z", - "iopub.status.idle": "2023-07-26T05:17:18.000267Z", - "shell.execute_reply": "2023-07-26T05:17:17.999357Z" - } - }, - "outputs": [], - "source": [ - "path = fit_path(X, \n", - " Y,\n", - " max_nonzeros=X.shape[1])" - ] - }, - { - "cell_type": "markdown", - "id": "67ef90b5", - "metadata": {}, - "source": [ - "The function `fit_path()` returns a list whose values include the fitted coefficients as `B`, an intercept as `B0`, as well as a few other attributes related to the particular path algorithm used. Such details are beyond the scope of this book." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "657ac171", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:18.003862Z", - "iopub.status.busy": "2023-07-26T05:17:18.003705Z", - "iopub.status.idle": "2023-07-26T05:17:18.006563Z", - "shell.execute_reply": "2023-07-26T05:17:18.006222Z" - } - }, - "outputs": [], - "source": [ - "path[3]" - ] - }, - { - "cell_type": "markdown", - "id": "2c9e040a", - "metadata": {}, - "source": [ - "In the example above, we see that at the fourth step in the path, we have two nonzero coefficients in `'B'`, corresponding to the value $0.114$ for the penalty parameter `lambda_0`.\n", - "We could make predictions using this sequence of fits on a validation set as a function of `lambda_0`, or with more work using cross-validation.\n", - "\n", - "## Ridge Regression and the Lasso\n", - "We will use the `sklearn.linear_model` package (for which\n", - "we use `skl` as shorthand below)\n", - "to fit ridge and lasso regularized linear models on the `Hitters` data.\n", - "We start with the model matrix `X` (without an intercept) that we computed in the previous section on best subset regression.\n", - "\n", - "### Ridge Regression\n", - "We will use the function `skl.ElasticNet()` to fit both ridge and the lasso.\n", - "To fit a *path* of ridge regressions models, we use\n", - "`skl.ElasticNet.path()`, which can fit both ridge and lasso, as well as a hybrid mixture; ridge regression\n", - "corresponds to `l1_ratio=0`.\n", - "It is good practice to standardize the columns of `X` in these applications, if the variables are measured in different units. Since `skl.ElasticNet()` does no normalization, we have to take care of that ourselves.\n", - "Since we\n", - "standardize first, in order to find coefficient\n", - "estimates on the original scale, we must *unstandardize*\n", - "the coefficient estimates. The parameter\n", - "$\\lambda$ in (6.5) and (6.7) is called `alphas` in `sklearn`. In order to\n", - "be consistent with the rest of this chapter, we use `lambdas`\n", - "rather than `alphas` in what follows. {At the time of publication, ridge fits like the one in code chunk [22] issue unwarranted convergence warning messages; we expect these to disappear as this package matures.}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e576ad54", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:18.008980Z", - "iopub.status.busy": "2023-07-26T05:17:18.008783Z", - "iopub.status.idle": "2023-07-26T05:17:18.078116Z", - "shell.execute_reply": "2023-07-26T05:17:18.077656Z" - } - }, - "outputs": [], - "source": [ - "Xs = X - X.mean(0)[None,:]\n", - "X_scale = X.std(0)\n", - "Xs = Xs / X_scale[None,:]\n", - "lambdas = 10**np.linspace(8, -2, 100) / Y.std()\n", - "soln_array = skl.ElasticNet.path(Xs,\n", - " Y,\n", - " l1_ratio=0.,\n", - " alphas=lambdas)[1]\n", - "soln_array.shape" - ] - }, - { - "cell_type": "markdown", - "id": "5ba706cd", - "metadata": {}, - "source": [ - "Here we extract the array of coefficients corresponding to the solutions along the regularization path.\n", - "By default the `skl.ElasticNet.path` method fits a path along\n", - "an automatically selected range of $\\lambda$ values, except for the case when\n", - "`l1_ratio=0`, which results in ridge regression (as is the case here). {The reason is rather technical; for all models except ridge, we can find the smallest value of $\\lambda$ for which all coefficients are zero. For ridge this value is $\\infty$.} So here\n", - "we have chosen to implement the function over a grid of values ranging\n", - "from $\\lambda=10^{8}$ to $\\lambda=10^{-2}$ scaled by the standard\n", - "deviation of $y$, essentially covering the full range of scenarios\n", - "from the null model containing only the intercept, to the least\n", - "squares fit.\n", - "\n", - "Associated with each value of $\\lambda$ is a vector of ridge\n", - "regression coefficients, that can be accessed by\n", - "a column of `soln_array`. In this case, `soln_array` is a $19 \\times 100$ matrix, with\n", - "19 rows (one for each predictor) and 100\n", - "columns (one for each value of $\\lambda$).\n", - "\n", - "We transpose this matrix and turn it into a data frame to facilitate viewing and plotting." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3ef15192", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:18.080752Z", - "iopub.status.busy": "2023-07-26T05:17:18.080552Z", - "iopub.status.idle": "2023-07-26T05:17:18.094265Z", - "shell.execute_reply": "2023-07-26T05:17:18.093783Z" - } - }, - "outputs": [], - "source": [ - "soln_path = pd.DataFrame(soln_array.T,\n", - " columns=D.columns,\n", - " index=-np.log(lambdas))\n", - "soln_path.index.name = 'negative log(lambda)'\n", - "soln_path" - ] - }, - { - "cell_type": "markdown", - "id": "f73f5191", - "metadata": {}, - "source": [ - "We plot the paths to get a sense of how the coefficients vary with $\\lambda$.\n", - "To control the location of the legend we first set `legend` to `False` in the\n", - "plot method, adding it afterward with the `legend()` method of `ax`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "40b67c85", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:18.097009Z", - "iopub.status.busy": "2023-07-26T05:17:18.096807Z", - "iopub.status.idle": "2023-07-26T05:17:18.336481Z", - "shell.execute_reply": "2023-07-26T05:17:18.335993Z" - } - }, - "outputs": [], - "source": [ - "path_fig, ax = subplots(figsize=(8,8))\n", - "soln_path.plot(ax=ax, legend=False)\n", - "ax.set_xlabel('$-\\log(\\lambda)$', fontsize=20)\n", - "ax.set_ylabel('Standardized coefficients', fontsize=20)\n", - "ax.legend(loc='upper left');" - ] - }, - { - "cell_type": "markdown", - "id": "84e52006", - "metadata": {}, - "source": [ - "(We have used `latex` formatting in the horizontal label, in order to format the Greek $\\lambda$ appropriately.) \n", - "We expect the coefficient estimates to be much smaller, in terms of\n", - "$\\ell_2$ norm, when a large value of $\\lambda$ is used, as compared to\n", - "when a small value of $\\lambda$ is used. (Recall that the $\\ell_2$ norm is the square root of the sum of squared coefficient values.) We display the coefficients at the $40$th step,\n", - "where $\\lambda$ is 25.535." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d14bd86c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:18.338709Z", - "iopub.status.busy": "2023-07-26T05:17:18.338591Z", - "iopub.status.idle": "2023-07-26T05:17:18.342588Z", - "shell.execute_reply": "2023-07-26T05:17:18.342104Z" - } - }, - "outputs": [], - "source": [ - "beta_hat = soln_path.loc[soln_path.index[39]]\n", - "lambdas[39], beta_hat" - ] - }, - { - "cell_type": "markdown", - "id": "98ba8e99", - "metadata": {}, - "source": [ - "Let’s compute the $\\ell_2$ norm of the standardized coefficients." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "759e215a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:18.344904Z", - "iopub.status.busy": "2023-07-26T05:17:18.344761Z", - "iopub.status.idle": "2023-07-26T05:17:18.347862Z", - "shell.execute_reply": "2023-07-26T05:17:18.347417Z" - } - }, - "outputs": [], - "source": [ - "np.linalg.norm(beta_hat)" - ] - }, - { - "cell_type": "markdown", - "id": "ce79e7cb", - "metadata": {}, - "source": [ - "In contrast, here is the $\\ell_2$ norm when $\\lambda$ is 2.44e-01.\n", - "Note the much larger $\\ell_2$ norm of the\n", - "coefficients associated with this smaller value of $\\lambda$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b58d5ccb", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:18.350171Z", - "iopub.status.busy": "2023-07-26T05:17:18.350022Z", - "iopub.status.idle": "2023-07-26T05:17:18.353142Z", - "shell.execute_reply": "2023-07-26T05:17:18.352734Z" - } - }, - "outputs": [], - "source": [ - "beta_hat = soln_path.loc[soln_path.index[59]]\n", - "lambdas[59], np.linalg.norm(beta_hat)" - ] - }, - { - "cell_type": "markdown", - "id": "cc9a1f70", - "metadata": {}, - "source": [ - "Above we normalized `X` upfront, and fit the ridge model using `Xs`.\n", - "The `Pipeline()` object\n", - "in `sklearn` provides a clear way to separate feature\n", - "normalization from the fitting of the ridge model itself." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "74b5cae2", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:18.355548Z", - "iopub.status.busy": "2023-07-26T05:17:18.355367Z", - "iopub.status.idle": "2023-07-26T05:17:18.370341Z", - "shell.execute_reply": "2023-07-26T05:17:18.369949Z" - } - }, - "outputs": [], - "source": [ - "ridge = skl.ElasticNet(alpha=lambdas[59], l1_ratio=0)\n", - "scaler = StandardScaler(with_mean=True, with_std=True)\n", - "pipe = Pipeline(steps=[('scaler', scaler), ('ridge', ridge)])\n", - "pipe.fit(X, Y)" - ] - }, - { - "cell_type": "markdown", - "id": "7a69991b", - "metadata": {}, - "source": [ - "We show that it gives the same $\\ell_2$ norm as in our previous fit on the standardized data." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a89989c3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:18.372736Z", - "iopub.status.busy": "2023-07-26T05:17:18.372583Z", - "iopub.status.idle": "2023-07-26T05:17:18.375751Z", - "shell.execute_reply": "2023-07-26T05:17:18.375223Z" - } - }, - "outputs": [], - "source": [ - "np.linalg.norm(ridge.coef_)" - ] - }, - { - "cell_type": "markdown", - "id": "c86254e4", - "metadata": {}, - "source": [ - " Notice that the operation `pipe.fit(X, Y)` above has changed the `ridge` object, and in particular has added attributes such as `coef_` that were not there before. \n", - "### Estimating Test Error of Ridge Regression\n", - "Choosing an *a priori* value of $\\lambda$ for ridge regression is\n", - "difficult if not impossible. We will want to use the validation method\n", - "or cross-validation to select the tuning parameter. The reader may not\n", - "be surprised that the `Pipeline()` approach can be used in\n", - "`skm.cross_validate()` with either a validation method\n", - "(i.e. `validation`) or $k$-fold cross-validation.\n", - "\n", - "We fix the random state of the splitter\n", - "so that the results obtained will be reproducible." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3eb41945", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:18.377750Z", - "iopub.status.busy": "2023-07-26T05:17:18.377627Z", - "iopub.status.idle": "2023-07-26T05:17:18.385518Z", - "shell.execute_reply": "2023-07-26T05:17:18.385025Z" - } - }, - "outputs": [], - "source": [ - "validation = skm.ShuffleSplit(n_splits=1,\n", - " test_size=0.5,\n", - " random_state=0)\n", - "ridge.alpha = 0.01\n", - "results = skm.cross_validate(ridge,\n", - " X,\n", - " Y,\n", - " scoring='neg_mean_squared_error',\n", - " cv=validation)\n", - "-results['test_score']" - ] - }, - { - "cell_type": "markdown", - "id": "660f7c63", - "metadata": {}, - "source": [ - "The test MSE is 1.342e+05. Note\n", - "that if we had instead simply fit a model with just an intercept, we\n", - "would have predicted each test observation using the mean of the\n", - "training observations. We can get the same result by fitting a ridge regression model\n", - "with a *very* large value of $\\lambda$. Note that `1e10`\n", - "means $10^{10}$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "635bc363", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:18.387843Z", - "iopub.status.busy": "2023-07-26T05:17:18.387682Z", - "iopub.status.idle": "2023-07-26T05:17:18.396692Z", - "shell.execute_reply": "2023-07-26T05:17:18.396288Z" - } - }, - "outputs": [], - "source": [ - "ridge.alpha = 1e10\n", - "results = skm.cross_validate(ridge,\n", - " X,\n", - " Y,\n", - " scoring='neg_mean_squared_error',\n", - " cv=validation)\n", - "-results['test_score']" - ] - }, - { - "cell_type": "markdown", - "id": "c14ad9a1", - "metadata": {}, - "source": [ - "Obviously choosing $\\lambda=0.01$ is arbitrary, so we will use cross-validation or the validation-set\n", - "approach to choose the tuning parameter $\\lambda$.\n", - "The object `GridSearchCV()` allows exhaustive\n", - "grid search to choose such a parameter.\n", - "\n", - "We first use the validation set method\n", - "to choose $\\lambda$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e117267f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:18.399267Z", - "iopub.status.busy": "2023-07-26T05:17:18.399145Z", - "iopub.status.idle": "2023-07-26T05:17:18.894315Z", - "shell.execute_reply": "2023-07-26T05:17:18.893964Z" - } - }, - "outputs": [], - "source": [ - "param_grid = {'ridge__alpha': lambdas}\n", - "grid = skm.GridSearchCV(pipe,\n", - " param_grid,\n", - " cv=validation,\n", - " scoring='neg_mean_squared_error')\n", - "grid.fit(X, Y)\n", - "grid.best_params_['ridge__alpha']\n", - "grid.best_estimator_" - ] - }, - { - "cell_type": "markdown", - "id": "bc09d074", - "metadata": {}, - "source": [ - "Alternatively, we can use 5-fold cross-validation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0037e9e4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:18.896714Z", - "iopub.status.busy": "2023-07-26T05:17:18.896538Z", - "iopub.status.idle": "2023-07-26T05:17:22.201859Z", - "shell.execute_reply": "2023-07-26T05:17:22.201489Z" - } - }, - "outputs": [], - "source": [ - "grid = skm.GridSearchCV(pipe, \n", - " param_grid,\n", - " cv=kfold,\n", - " scoring='neg_mean_squared_error')\n", - "grid.fit(X, Y)\n", - "grid.best_params_['ridge__alpha']\n", - "grid.best_estimator_" - ] - }, - { - "cell_type": "markdown", - "id": "9690407d", - "metadata": {}, - "source": [ - "Recall we set up the `kfold` object for 5-fold cross-validation on page 296. We now plot the cross-validated MSE as a function of $-\\log(\\lambda)$, which has shrinkage decreasing from left\n", - "to right." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "71f0f5c5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:22.203851Z", - "iopub.status.busy": "2023-07-26T05:17:22.203701Z", - "iopub.status.idle": "2023-07-26T05:17:22.319890Z", - "shell.execute_reply": "2023-07-26T05:17:22.318803Z" - } - }, - "outputs": [], - "source": [ - "ridge_fig, ax = subplots(figsize=(8,8))\n", - "ax.errorbar(-np.log(lambdas),\n", - " -grid.cv_results_['mean_test_score'],\n", - " yerr=grid.cv_results_['std_test_score'] / np.sqrt(K))\n", - "ax.set_ylim([50000,250000])\n", - "ax.set_xlabel('$-\\log(\\lambda)$', fontsize=20)\n", - "ax.set_ylabel('Cross-validated MSE', fontsize=20);" - ] - }, - { - "cell_type": "markdown", - "id": "11087e26", - "metadata": {}, - "source": [ - "One can cross-validate different metrics to choose a parameter. The default\n", - "metric for `skl.ElasticNet()` is test $R^2$.\n", - "Let’s compare $R^2$ to MSE for cross-validation here." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fb265379", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:22.322704Z", - "iopub.status.busy": "2023-07-26T05:17:22.322434Z", - "iopub.status.idle": "2023-07-26T05:17:25.602424Z", - "shell.execute_reply": "2023-07-26T05:17:25.601831Z" - } - }, - "outputs": [], - "source": [ - "grid_r2 = skm.GridSearchCV(pipe, \n", - " param_grid,\n", - " cv=kfold)\n", - "grid_r2.fit(X, Y)" - ] - }, - { - "cell_type": "markdown", - "id": "9881fe49", - "metadata": {}, - "source": [ - "Finally, let’s plot the results for cross-validated $R^2$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "79616f48", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:25.604857Z", - "iopub.status.busy": "2023-07-26T05:17:25.604672Z", - "iopub.status.idle": "2023-07-26T05:17:25.718682Z", - "shell.execute_reply": "2023-07-26T05:17:25.718164Z" - } - }, - "outputs": [], - "source": [ - "r2_fig, ax = subplots(figsize=(8,8))\n", - "ax.errorbar(-np.log(lambdas),\n", - " grid_r2.cv_results_['mean_test_score'],\n", - " yerr=grid_r2.cv_results_['std_test_score'] / np.sqrt(K))\n", - "ax.set_xlabel('$-\\log(\\lambda)$', fontsize=20)\n", - "ax.set_ylabel('Cross-validated $R^2$', fontsize=20);" - ] - }, - { - "cell_type": "markdown", - "id": "5e700bf5", - "metadata": {}, - "source": [ - "### Fast Cross-Validation for Solution Paths\n", - "The ridge, lasso, and elastic net can be efficiently fit along a sequence of $\\lambda$ values, creating what is known as a *solution path* or *regularization path*. Hence there is specialized code to fit\n", - "such paths, and to choose a suitable value of $\\lambda$ using cross-validation. Even with\n", - "identical splits the results will not agree *exactly* with our `grid`\n", - "above because the standardization of each feature in `grid` is carried out on each fold,\n", - "while in `pipeCV` below it is carried out only once.\n", - "Nevertheless, the results are similar as the normalization\n", - "is relatively stable across folds." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "11e55883", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:25.721504Z", - "iopub.status.busy": "2023-07-26T05:17:25.721335Z", - "iopub.status.idle": "2023-07-26T05:17:26.086495Z", - "shell.execute_reply": "2023-07-26T05:17:26.085843Z" - } - }, - "outputs": [], - "source": [ - "ridgeCV = skl.ElasticNetCV(alphas=lambdas, \n", - " l1_ratio=0,\n", - " cv=kfold)\n", - "pipeCV = Pipeline(steps=[('scaler', scaler),\n", - " ('ridge', ridgeCV)])\n", - "pipeCV.fit(X, Y)" - ] - }, - { - "cell_type": "markdown", - "id": "75eb9d33", - "metadata": {}, - "source": [ - "Let’s produce a plot again of the cross-validation error to see that\n", - "it is similar to using `skm.GridSearchCV`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d107f961", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:26.090198Z", - "iopub.status.busy": "2023-07-26T05:17:26.090011Z", - "iopub.status.idle": "2023-07-26T05:17:26.211437Z", - "shell.execute_reply": "2023-07-26T05:17:26.210939Z" - } - }, - "outputs": [], - "source": [ - "tuned_ridge = pipeCV.named_steps['ridge']\n", - "ridgeCV_fig, ax = subplots(figsize=(8,8))\n", - "ax.errorbar(-np.log(lambdas),\n", - " tuned_ridge.mse_path_.mean(1),\n", - " yerr=tuned_ridge.mse_path_.std(1) / np.sqrt(K))\n", - "ax.axvline(-np.log(tuned_ridge.alpha_), c='k', ls='--')\n", - "ax.set_ylim([50000,250000])\n", - "ax.set_xlabel('$-\\log(\\lambda)$', fontsize=20)\n", - "ax.set_ylabel('Cross-validated MSE', fontsize=20);" - ] - }, - { - "cell_type": "markdown", - "id": "23a89187", - "metadata": {}, - "source": [ - "We see that the value of $\\lambda$ that results in the\n", - "smallest cross-validation error is 1.19e-02, available\n", - "as the value `tuned_ridge.alpha_`. What is the test MSE\n", - "associated with this value of $\\lambda$?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "21d65d1f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:26.214203Z", - "iopub.status.busy": "2023-07-26T05:17:26.213975Z", - "iopub.status.idle": "2023-07-26T05:17:26.217529Z", - "shell.execute_reply": "2023-07-26T05:17:26.216950Z" - } - }, - "outputs": [], - "source": [ - "np.min(tuned_ridge.mse_path_.mean(1))" - ] - }, - { - "cell_type": "markdown", - "id": "e8bb2108", - "metadata": {}, - "source": [ - "This represents a further improvement over the test MSE that we got\n", - "using $\\lambda=4$. Finally, `tuned_ridge.coef_`\n", - "has the coefficients fit on the entire data set\n", - "at this value of $\\lambda$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "11373de9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:26.219927Z", - "iopub.status.busy": "2023-07-26T05:17:26.219801Z", - "iopub.status.idle": "2023-07-26T05:17:26.222854Z", - "shell.execute_reply": "2023-07-26T05:17:26.222347Z" - } - }, - "outputs": [], - "source": [ - "tuned_ridge.coef_" - ] - }, - { - "cell_type": "markdown", - "id": "8e7ab31e", - "metadata": {}, - "source": [ - "As expected, none of the coefficients are zero—ridge regression does\n", - "not perform variable selection!" - ] - }, - { - "cell_type": "markdown", - "id": "6e2cb7c4", - "metadata": {}, - "source": [ - "### Evaluating Test Error of Cross-Validated Ridge\n", - "Choosing $\\lambda$ using cross-validation provides a single regression\n", - "estimator, similar to fitting a linear regression model as we saw in\n", - "Chapter 3. It is therefore reasonable to estimate what its test error\n", - "is. We run into a problem here in that cross-validation will have\n", - "*touched* all of its data in choosing $\\lambda$, hence we have no\n", - "further data to estimate test error. A compromise is to do an initial\n", - "split of the data into two disjoint sets: a training set and a test set.\n", - "We then fit a cross-validation\n", - "tuned ridge regression on the training set, and evaluate its performance on the test set.\n", - "We might call this cross-validation nested\n", - "within the validation set approach. A priori there is no reason to use\n", - "half of the data for each of the two sets in validation. Below, we use\n", - "75% for training and 25% for test, with the estimator being ridge\n", - "regression tuned using 5-fold cross-validation. This can be achieved\n", - "in code as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "72181964", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:26.225411Z", - "iopub.status.busy": "2023-07-26T05:17:26.225192Z", - "iopub.status.idle": "2023-07-26T05:17:26.228812Z", - "shell.execute_reply": "2023-07-26T05:17:26.228380Z" - } - }, - "outputs": [], - "source": [ - "outer_valid = skm.ShuffleSplit(n_splits=1, \n", - " test_size=0.25,\n", - " random_state=1)\n", - "inner_cv = skm.KFold(n_splits=5,\n", - " shuffle=True,\n", - " random_state=2)\n", - "ridgeCV = skl.ElasticNetCV(alphas=lambdas,\n", - " l1_ratio=0,\n", - " cv=inner_cv)\n", - "pipeCV = Pipeline(steps=[('scaler', scaler),\n", - " ('ridge', ridgeCV)]);" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4c3054b5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:26.231904Z", - "iopub.status.busy": "2023-07-26T05:17:26.231669Z", - "iopub.status.idle": "2023-07-26T05:17:26.556426Z", - "shell.execute_reply": "2023-07-26T05:17:26.556096Z" - } - }, - "outputs": [], - "source": [ - "results = skm.cross_validate(pipeCV, \n", - " X,\n", - " Y,\n", - " cv=outer_valid,\n", - " scoring='neg_mean_squared_error')\n", - "-results['test_score']" - ] - }, - { - "cell_type": "markdown", - "id": "f2f899f2", - "metadata": {}, - "source": [ - "### The Lasso\n", - "We saw that ridge regression with a wise choice of $\\lambda$ can\n", - "outperform least squares as well as the null model on the\n", - " `Hitters` data set. We now ask whether the lasso can yield\n", - "either a more accurate or a more interpretable model than ridge\n", - "regression. In order to fit a lasso model, we once again use the\n", - "`ElasticNetCV()` function; however, this time we use the argument\n", - "`l1_ratio=1`. Other than that change, we proceed just as we did in\n", - "fitting a ridge model." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "72bb0c1d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:26.560895Z", - "iopub.status.busy": "2023-07-26T05:17:26.560717Z", - "iopub.status.idle": "2023-07-26T05:17:26.616139Z", - "shell.execute_reply": "2023-07-26T05:17:26.615605Z" - } - }, - "outputs": [], - "source": [ - "lassoCV = skl.ElasticNetCV(n_alphas=100, \n", - " l1_ratio=1,\n", - " cv=kfold)\n", - "pipeCV = Pipeline(steps=[('scaler', scaler),\n", - " ('lasso', lassoCV)])\n", - "pipeCV.fit(X, Y)\n", - "tuned_lasso = pipeCV.named_steps['lasso']\n", - "tuned_lasso.alpha_" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "69adc7ac", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:26.618605Z", - "iopub.status.busy": "2023-07-26T05:17:26.618409Z", - "iopub.status.idle": "2023-07-26T05:17:26.629654Z", - "shell.execute_reply": "2023-07-26T05:17:26.629177Z" - } - }, - "outputs": [], - "source": [ - "lambdas, soln_array = skl.Lasso.path(Xs, \n", - " Y,\n", - " l1_ratio=1,\n", - " n_alphas=100)[:2]\n", - "soln_path = pd.DataFrame(soln_array.T,\n", - " columns=D.columns,\n", - " index=-np.log(lambdas))" - ] - }, - { - "cell_type": "markdown", - "id": "cc6d84d3", - "metadata": {}, - "source": [ - "We can see from the coefficient plot of the standardized coefficients that depending on the choice of\n", - "tuning parameter, some of the coefficients will be exactly equal to\n", - "zero." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2aa75789", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:26.632157Z", - "iopub.status.busy": "2023-07-26T05:17:26.631965Z", - "iopub.status.idle": "2023-07-26T05:17:26.833444Z", - "shell.execute_reply": "2023-07-26T05:17:26.832719Z" - } - }, - "outputs": [], - "source": [ - "path_fig, ax = subplots(figsize=(8,8))\n", - "soln_path.plot(ax=ax, legend=False)\n", - "ax.legend(loc='upper left')\n", - "ax.set_xlabel('$-\\log(\\lambda)$', fontsize=20)\n", - "ax.set_ylabel('Standardized coefficiients', fontsize=20);" - ] - }, - { - "cell_type": "markdown", - "id": "87d43d52", - "metadata": {}, - "source": [ - "The smallest cross-validated error is lower than the test set MSE of the null model\n", - "and of least squares, and very similar to the test MSE of 115526.71 of ridge\n", - "regression (page 303) with $\\lambda$ chosen by cross-validation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e38c9bed", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:26.836589Z", - "iopub.status.busy": "2023-07-26T05:17:26.836233Z", - "iopub.status.idle": "2023-07-26T05:17:26.841023Z", - "shell.execute_reply": "2023-07-26T05:17:26.840686Z" - } - }, - "outputs": [], - "source": [ - "np.min(tuned_lasso.mse_path_.mean(1))" - ] - }, - { - "cell_type": "markdown", - "id": "d091d74c", - "metadata": {}, - "source": [ - "Let’s again produce a plot of the cross-validation error." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "53c42724", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:26.843812Z", - "iopub.status.busy": "2023-07-26T05:17:26.843647Z", - "iopub.status.idle": "2023-07-26T05:17:26.968792Z", - "shell.execute_reply": "2023-07-26T05:17:26.968349Z" - } - }, - "outputs": [], - "source": [ - "lassoCV_fig, ax = subplots(figsize=(8,8))\n", - "ax.errorbar(-np.log(tuned_lasso.alphas_),\n", - " tuned_lasso.mse_path_.mean(1),\n", - " yerr=tuned_lasso.mse_path_.std(1) / np.sqrt(K))\n", - "ax.axvline(-np.log(tuned_lasso.alpha_), c='k', ls='--')\n", - "ax.set_ylim([50000,250000])\n", - "ax.set_xlabel('$-\\log(\\lambda)$', fontsize=20)\n", - "ax.set_ylabel('Cross-validated MSE', fontsize=20);" - ] - }, - { - "cell_type": "markdown", - "id": "fad5c750", - "metadata": {}, - "source": [ - "However, the lasso has a substantial advantage over ridge regression\n", - "in that the resulting coefficient estimates are sparse. Here we see\n", - "that 6 of the 19 coefficient estimates are exactly zero. So the lasso\n", - "model with $\\lambda$ chosen by cross-validation contains only 13\n", - "variables." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5f4942ba", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:26.971271Z", - "iopub.status.busy": "2023-07-26T05:17:26.971065Z", - "iopub.status.idle": "2023-07-26T05:17:26.974897Z", - "shell.execute_reply": "2023-07-26T05:17:26.973908Z" - } - }, - "outputs": [], - "source": [ - "tuned_lasso.coef_" - ] - }, - { - "cell_type": "markdown", - "id": "af600bbc", - "metadata": {}, - "source": [ - "As in ridge regression, we could evaluate the test error\n", - "of cross-validated lasso by first splitting into\n", - "test and training sets and internally running\n", - "cross-validation on the training set. We leave\n", - "this as an exercise." - ] - }, - { - "cell_type": "markdown", - "id": "8d9aeb7b", - "metadata": {}, - "source": [ - "## PCR and PLS Regression\n", - "\n", - "### Principal Components Regression" - ] - }, - { - "cell_type": "markdown", - "id": "1ef4790c", - "metadata": {}, - "source": [ - "Principal components regression (PCR) can be performed using\n", - "`PCA()` from the `sklearn.decomposition`\n", - "module. We now apply PCR to the `Hitters` data, in order to\n", - "predict `Salary`. Again, ensure that the missing values have\n", - "been removed from the data, as described in Section 6.5.1.\n", - "\n", - "We use `LinearRegression()` to fit the regression model\n", - "here. Note that it fits an intercept by default, unlike\n", - "the `OLS()` function seen earlier in Section 6.5.1." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "72a876bb", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:26.977635Z", - "iopub.status.busy": "2023-07-26T05:17:26.977456Z", - "iopub.status.idle": "2023-07-26T05:17:26.983252Z", - "shell.execute_reply": "2023-07-26T05:17:26.982747Z" - } - }, - "outputs": [], - "source": [ - "pca = PCA(n_components=2)\n", - "linreg = skl.LinearRegression()\n", - "pipe = Pipeline([('pca', pca),\n", - " ('linreg', linreg)])\n", - "pipe.fit(X, Y)\n", - "pipe.named_steps['linreg'].coef_" - ] - }, - { - "cell_type": "markdown", - "id": "77d5a225", - "metadata": {}, - "source": [ - "When performing PCA, the results vary depending\n", - "on whether the data has been *standardized* or not.\n", - "As in the earlier examples, this can be accomplished\n", - "by including an additional step in the pipeline." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e0e821c6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:26.985960Z", - "iopub.status.busy": "2023-07-26T05:17:26.985773Z", - "iopub.status.idle": "2023-07-26T05:17:26.991831Z", - "shell.execute_reply": "2023-07-26T05:17:26.991247Z" - } - }, - "outputs": [], - "source": [ - "pipe = Pipeline([('scaler', scaler), \n", - " ('pca', pca),\n", - " ('linreg', linreg)])\n", - "pipe.fit(X, Y)\n", - "pipe.named_steps['linreg'].coef_" - ] - }, - { - "cell_type": "markdown", - "id": "0c5ebec9", - "metadata": {}, - "source": [ - "We can of course use CV to choose the number of components, by\n", - "using `skm.GridSearchCV`, in this\n", - "case fixing the parameters to vary the\n", - "`n_components`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1ac6886c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:26.994661Z", - "iopub.status.busy": "2023-07-26T05:17:26.994482Z", - "iopub.status.idle": "2023-07-26T05:17:27.138949Z", - "shell.execute_reply": "2023-07-26T05:17:27.138448Z" - } - }, - "outputs": [], - "source": [ - "param_grid = {'pca__n_components': range(1, 20)}\n", - "grid = skm.GridSearchCV(pipe,\n", - " param_grid,\n", - " cv=kfold,\n", - " scoring='neg_mean_squared_error')\n", - "grid.fit(X, Y)" - ] - }, - { - "cell_type": "markdown", - "id": "dc21d28d", - "metadata": {}, - "source": [ - "Let’s plot the results as we have for other methods." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5e0c5a96", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:27.141752Z", - "iopub.status.busy": "2023-07-26T05:17:27.141555Z", - "iopub.status.idle": "2023-07-26T05:17:27.257460Z", - "shell.execute_reply": "2023-07-26T05:17:27.256920Z" - } - }, - "outputs": [], - "source": [ - "pcr_fig, ax = subplots(figsize=(8,8))\n", - "n_comp = param_grid['pca__n_components']\n", - "ax.errorbar(n_comp,\n", - " -grid.cv_results_['mean_test_score'],\n", - " grid.cv_results_['std_test_score'] / np.sqrt(K))\n", - "ax.set_ylabel('Cross-validated MSE', fontsize=20)\n", - "ax.set_xlabel('# principal components', fontsize=20)\n", - "ax.set_xticks(n_comp[::2])\n", - "ax.set_ylim([50000,250000]);" - ] - }, - { - "cell_type": "markdown", - "id": "0c0aadc3", - "metadata": {}, - "source": [ - "We see that the smallest cross-validation error occurs when\n", - "17\n", - "components are used. However, from the plot we also see that the\n", - "cross-validation error is roughly the same when only one component is\n", - "included in the model. This suggests that a model that uses just a\n", - "small number of components might suffice.\n", - "\n", - "The CV score is provided for each possible number of components from\n", - "1 to 19 inclusive. The `PCA()` method complains\n", - "if we try to fit an intercept only with `n_components=0`\n", - "so we also compute the MSE for just the null model with\n", - "these splits." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9df0fb7f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:27.260143Z", - "iopub.status.busy": "2023-07-26T05:17:27.259963Z", - "iopub.status.idle": "2023-07-26T05:17:27.267101Z", - "shell.execute_reply": "2023-07-26T05:17:27.266627Z" - } - }, - "outputs": [], - "source": [ - "Xn = np.zeros((X.shape[0], 1))\n", - "cv_null = skm.cross_validate(linreg,\n", - " Xn,\n", - " Y,\n", - " cv=kfold,\n", - " scoring='neg_mean_squared_error')\n", - "-cv_null['test_score'].mean()" - ] - }, - { - "cell_type": "markdown", - "id": "89f0e0bb", - "metadata": {}, - "source": [ - "The `explained_variance_ratio_`\n", - "attribute of our `PCA` object provides the *percentage of variance explained* in the predictors and in the response using\n", - "different numbers of components. This concept is discussed in greater\n", - "detail in Section 12.2." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "458c21a4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:27.269230Z", - "iopub.status.busy": "2023-07-26T05:17:27.269087Z", - "iopub.status.idle": "2023-07-26T05:17:27.272035Z", - "shell.execute_reply": "2023-07-26T05:17:27.271586Z" - } - }, - "outputs": [], - "source": [ - "pipe.named_steps['pca'].explained_variance_ratio_" - ] - }, - { - "cell_type": "markdown", - "id": "bdd994d2", - "metadata": {}, - "source": [ - "Briefly, we can think of\n", - "this as the amount of information about the predictors\n", - "that is captured using $M$ principal components. For example, setting\n", - "$M=1$ only captures 38.31% of the variance, while $M=2$ captures an additional 21.84%, for a total of 60.15% of the variance.\n", - "By $M=6$ it increases to\n", - "88.63%. Beyond this the increments continue to diminish, until we use all $M=p=19$ components, which captures all 100% of the variance." - ] - }, - { - "cell_type": "markdown", - "id": "af5147dc", - "metadata": {}, - "source": [ - "### Partial Least Squares\n", - "Partial least squares (PLS) is implemented in the\n", - "`PLSRegression()` function." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f49d464e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:27.274642Z", - "iopub.status.busy": "2023-07-26T05:17:27.274472Z", - "iopub.status.idle": "2023-07-26T05:17:27.279195Z", - "shell.execute_reply": "2023-07-26T05:17:27.278730Z" - } - }, - "outputs": [], - "source": [ - "pls = PLSRegression(n_components=2, \n", - " scale=True)\n", - "pls.fit(X, Y)" - ] - }, - { - "cell_type": "markdown", - "id": "7a07b988", - "metadata": {}, - "source": [ - "As was the case in PCR, we will want to\n", - "use CV to choose the number of components." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8e118b5b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:27.281479Z", - "iopub.status.busy": "2023-07-26T05:17:27.281289Z", - "iopub.status.idle": "2023-07-26T05:17:27.395617Z", - "shell.execute_reply": "2023-07-26T05:17:27.395127Z" - } - }, - "outputs": [], - "source": [ - "param_grid = {'n_components':range(1, 20)}\n", - "grid = skm.GridSearchCV(pls,\n", - " param_grid,\n", - " cv=kfold,\n", - " scoring='neg_mean_squared_error')\n", - "grid.fit(X, Y)" - ] - }, - { - "cell_type": "markdown", - "id": "99dec910", - "metadata": {}, - "source": [ - "As for our other methods, we plot the MSE." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0f98407c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:27.398116Z", - "iopub.status.busy": "2023-07-26T05:17:27.397950Z", - "iopub.status.idle": "2023-07-26T05:17:27.513229Z", - "shell.execute_reply": "2023-07-26T05:17:27.512778Z" - } - }, - "outputs": [], - "source": [ - "pls_fig, ax = subplots(figsize=(8,8))\n", - "n_comp = param_grid['n_components']\n", - "ax.errorbar(n_comp,\n", - " -grid.cv_results_['mean_test_score'],\n", - " grid.cv_results_['std_test_score'] / np.sqrt(K))\n", - "ax.set_ylabel('Cross-validated MSE', fontsize=20)\n", - "ax.set_xlabel('# principal components', fontsize=20)\n", - "ax.set_xticks(n_comp[::2])\n", - "ax.set_ylim([50000,250000]);" - ] - }, - { - "cell_type": "markdown", - "id": "59ef9b7f", - "metadata": {}, - "source": [ - "CV error is minimized at 12,\n", - "though there is little noticable difference between this point and a much lower number like 2 or 3 components." - ] - } - ], - "metadata": { - "jupytext": { - "cell_metadata_filter": "-all", - "formats": "ipynb,md:myst", - "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/source/labs/Ch7-nonlin-lab.ipynb b/docs/source/labs/Ch7-nonlin-lab.ipynb deleted file mode 100644 index de4c75b..0000000 --- a/docs/source/labs/Ch7-nonlin-lab.ipynb +++ /dev/null @@ -1,1789 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "8d006b12", - "metadata": {}, - "source": [ - "# Non-Linear Modeling\n", - "\n", - "\n", - " \"Open\n", - "\n", - "\n", - "\n", - "In this lab, we demonstrate some of the nonlinear models discussed in\n", - "this chapter. We use the `Wage` data as a running example, and show that many of the complex non-linear fitting procedures discussed can easily be implemented in \\Python.\n", - "\n", - "As usual, we start with some of our standard imports." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "77af2dc4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:29.006535Z", - "iopub.status.busy": "2023-07-26T05:17:29.006365Z", - "iopub.status.idle": "2023-07-26T05:17:30.236882Z", - "shell.execute_reply": "2023-07-26T05:17:30.236365Z" - } - }, - "outputs": [], - "source": [ - "import numpy as np, pandas as pd\n", - "from matplotlib.pyplot import subplots\n", - "import statsmodels.api as sm\n", - "from ISLP import load_data\n", - "from ISLP.models import (summarize,\n", - " poly,\n", - " ModelSpec as MS)\n", - "from statsmodels.stats.anova import anova_lm" - ] - }, - { - "cell_type": "markdown", - "id": "39ee2f1e", - "metadata": {}, - "source": [ - "We again collect the new imports\n", - "needed for this lab. Many of these are developed specifically for the\n", - "`ISLP` package." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b57d1d51", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:30.240347Z", - "iopub.status.busy": "2023-07-26T05:17:30.240127Z", - "iopub.status.idle": "2023-07-26T05:17:30.254879Z", - "shell.execute_reply": "2023-07-26T05:17:30.254420Z" - } - }, - "outputs": [], - "source": [ - "from pygam import (s as s_gam,\n", - " l as l_gam,\n", - " f as f_gam,\n", - " LinearGAM,\n", - " LogisticGAM)\n", - "\n", - "from ISLP.transforms import (BSpline,\n", - " NaturalSpline)\n", - "from ISLP.models import bs, ns\n", - "from ISLP.pygam import (approx_lam,\n", - " degrees_of_freedom,\n", - " plot as plot_gam,\n", - " anova as anova_gam)" - ] - }, - { - "cell_type": "markdown", - "id": "6fe472df", - "metadata": {}, - "source": [ - "## Polynomial Regression and Step Functions\n", - "We start by demonstrating how Figure 7.1 can be reproduced.\n", - "Let's begin by loading the data." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "65f0e562", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:30.257519Z", - "iopub.status.busy": "2023-07-26T05:17:30.257098Z", - "iopub.status.idle": "2023-07-26T05:17:30.265239Z", - "shell.execute_reply": "2023-07-26T05:17:30.264877Z" - } - }, - "outputs": [], - "source": [ - "Wage = load_data('Wage')\n", - "y = Wage['wage']\n", - "age = Wage['age']" - ] - }, - { - "cell_type": "markdown", - "id": "36e5e181", - "metadata": {}, - "source": [ - "Throughout most of this lab, our response is `Wage['wage']`, which\n", - "we have stored as `y` above. \n", - "As in Section 3.6.6, we will use the `poly()` function to create a model matrix\n", - "that will fit a $4$th degree polynomial in `age`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a391fae6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:30.267640Z", - "iopub.status.busy": "2023-07-26T05:17:30.267444Z", - "iopub.status.idle": "2023-07-26T05:17:30.380537Z", - "shell.execute_reply": "2023-07-26T05:17:30.378736Z" - } - }, - "outputs": [], - "source": [ - "poly_age = MS([poly('age', degree=4)]).fit(Wage)\n", - "M = sm.OLS(y, poly_age.transform(Wage)).fit()\n", - "summarize(M)" - ] - }, - { - "cell_type": "markdown", - "id": "5ffdb585", - "metadata": {}, - "source": [ - "This polynomial is constructed using the function `poly()`,\n", - "which creates\n", - "a special *transformer* `Poly()` (using `sklearn` terminology\n", - "for feature transformations such as `PCA()` seen in Section 6.5.3) which\n", - "allows for easy evaluation of the polynomial at new data points. Here `poly()` is referred to as a *helper* function, and sets up the transformation; `Poly()` is the actual workhorse that computes the transformation. See also \n", - "the \n", - "discussion of transformations on\n", - "page 127. \n", - "\n", - "In the code above, the first line executes the `fit()` method\n", - "using the dataframe\n", - "`Wage`. This recomputes and stores as attributes any parameters needed by `Poly()`\n", - "on the training data, and these will be used on all subsequent\n", - "evaluations of the `transform()` method. For example, it is used\n", - "on the second line, as well as in the plotting function developed below." - ] - }, - { - "cell_type": "markdown", - "id": "45d9130a", - "metadata": {}, - "source": [ - "We now create a grid of values for `age` at which we want\n", - "predictions." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d672f40e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:30.388859Z", - "iopub.status.busy": "2023-07-26T05:17:30.387288Z", - "iopub.status.idle": "2023-07-26T05:17:30.401783Z", - "shell.execute_reply": "2023-07-26T05:17:30.398614Z" - } - }, - "outputs": [], - "source": [ - "age_grid = np.linspace(age.min(),\n", - " age.max(),\n", - " 100)\n", - "age_df = pd.DataFrame({'age': age_grid})" - ] - }, - { - "cell_type": "markdown", - "id": "b6e9a066", - "metadata": {}, - "source": [ - "Finally, we wish to plot the data and add the fit from the fourth-degree polynomial. As we will make\n", - "several similar plots below, we first write a function\n", - "to create all the ingredients and produce the plot. Our function\n", - "takes in a model specification (here a basis specified by a\n", - "transform), as well as a grid of `age` values. The function\n", - "produces a fitted curve as well as 95% confidence bands. By using\n", - "an argument for `basis` we can produce and plot the results with several different\n", - "transforms, such as the splines we will see shortly." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "56174265", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:30.414085Z", - "iopub.status.busy": "2023-07-26T05:17:30.411883Z", - "iopub.status.idle": "2023-07-26T05:17:30.434639Z", - "shell.execute_reply": "2023-07-26T05:17:30.432466Z" - } - }, - "outputs": [], - "source": [ - "def plot_wage_fit(age_df, \n", - " basis,\n", - " title):\n", - "\n", - " X = basis.transform(Wage)\n", - " Xnew = basis.transform(age_df)\n", - " M = sm.OLS(y, X).fit()\n", - " preds = M.get_prediction(Xnew)\n", - " bands = preds.conf_int(alpha=0.05)\n", - " fig, ax = subplots(figsize=(8,8))\n", - " ax.scatter(age,\n", - " y,\n", - " facecolor='gray',\n", - " alpha=0.5)\n", - " for val, ls in zip([preds.predicted_mean,\n", - " bands[:,0],\n", - " bands[:,1]],\n", - " ['b','r--','r--']):\n", - " ax.plot(age_df.values, val, ls, linewidth=3)\n", - " ax.set_title(title, fontsize=20)\n", - " ax.set_xlabel('Age', fontsize=20)\n", - " ax.set_ylabel('Wage', fontsize=20);\n", - " return ax" - ] - }, - { - "cell_type": "markdown", - "id": "cf21e69b", - "metadata": {}, - "source": [ - "We include an argument `alpha` to `ax.scatter()`\n", - "to add some transparency to the points. This provides a visual indication\n", - "of density. Notice the use of the `zip()` function in the\n", - "`for` loop above (see Section 2.3.8).\n", - "We have three lines to plot, each with different colors and line\n", - "types. Here `zip()` conveniently bundles these together as\n", - "iterators in the loop. {In `Python` speak, an \"iterator\" is an object with a finite number of values, that can be iterated on, as in a loop.}\n", - "\n", - "We now plot the fit of the fourth-degree polynomial using this\n", - "function." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1a10422f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:30.447621Z", - "iopub.status.busy": "2023-07-26T05:17:30.446550Z", - "iopub.status.idle": "2023-07-26T05:17:30.730675Z", - "shell.execute_reply": "2023-07-26T05:17:30.730133Z" - } - }, - "outputs": [], - "source": [ - "plot_wage_fit(age_df, \n", - " poly_age,\n", - " 'Degree-4 Polynomial');" - ] - }, - { - "cell_type": "markdown", - "id": "8b5c9ab5", - "metadata": {}, - "source": [ - "With polynomial regression we must decide on the degree of\n", - "the polynomial to use. Sometimes we just wing it, and decide to use\n", - "second or third degree polynomials, simply to obtain a nonlinear fit. But we can\n", - "make such a decision in a more systematic way. One way to do this is through hypothesis\n", - "tests, which we demonstrate here. We now fit a series of models ranging from\n", - "linear (degree-one) to degree-five polynomials,\n", - "and look to determine the simplest model that is sufficient to\n", - "explain the relationship between `wage` and `age`. We use the\n", - "`anova_lm()` function, which performs a series of ANOVA\n", - "tests.\n", - "An \\emph{analysis of\n", - " variance} or ANOVA tests the null\n", - "hypothesis that a model $\\mathcal{M}_1$ is sufficient to explain the\n", - "data against the alternative hypothesis that a more complex model\n", - "$\\mathcal{M}_2$ is required. The determination is based on an F-test.\n", - "To perform the test, the models $\\mathcal{M}_1$ and $\\mathcal{M}_2$ must be *nested*:\n", - "the space spanned by the predictors in $\\mathcal{M}_1$ must be a subspace of the\n", - "space spanned by the predictors in $\\mathcal{M}_2$. In this case, we\n", - "fit five different polynomial\n", - "models and sequentially compare the simpler model to the more complex\n", - "model." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8105e672", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:30.732769Z", - "iopub.status.busy": "2023-07-26T05:17:30.732623Z", - "iopub.status.idle": "2023-07-26T05:17:30.781558Z", - "shell.execute_reply": "2023-07-26T05:17:30.779955Z" - } - }, - "outputs": [], - "source": [ - "models = [MS([poly('age', degree=d)]) \n", - " for d in range(1, 6)]\n", - "Xs = [model.fit_transform(Wage) for model in models]\n", - "anova_lm(*[sm.OLS(y, X_).fit()\n", - " for X_ in Xs])" - ] - }, - { - "cell_type": "markdown", - "id": "7bfb9873", - "metadata": {}, - "source": [ - "Notice the `*` in the `anova_lm()` line above. This\n", - "function takes a variable number of non-keyword arguments, in this case fitted models.\n", - "When these models are provided as a list (as is done here), it must be \n", - "prefixed by `*`.\n", - "\n", - "The p-value comparing the linear `models[0]` to the quadratic\n", - "`models[1]` is essentially zero, indicating that a linear\n", - "fit is not sufficient. {Indexing starting at zero is confusing for the polynomial degree example, since `models[1]` is quadratic rather than linear!} Similarly the p-value comparing the quadratic\n", - "`models[1]` to the cubic `models[2]` is very low (0.0017), so the\n", - "quadratic fit is also insufficient. The p-value comparing the cubic\n", - "and degree-four polynomials, `models[2]` and `models[3]`, is\n", - "approximately 5%, while the degree-five polynomial `models[4]` seems\n", - "unnecessary because its p-value is 0.37. Hence, either a cubic or a\n", - "quartic polynomial appear to provide a reasonable fit to the data, but\n", - "lower- or higher-order models are not justified.\n", - "\n", - "In this case, instead of using the `anova()` function, we could\n", - "have obtained these p-values more succinctly by exploiting the fact\n", - "that `poly()` creates orthogonal polynomials." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "095fca7f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:30.790773Z", - "iopub.status.busy": "2023-07-26T05:17:30.789916Z", - "iopub.status.idle": "2023-07-26T05:17:30.829956Z", - "shell.execute_reply": "2023-07-26T05:17:30.827755Z" - } - }, - "outputs": [], - "source": [ - "summarize(M)" - ] - }, - { - "cell_type": "markdown", - "id": "65394c3e", - "metadata": {}, - "source": [ - "Notice that the p-values are the same, and in fact the square of\n", - "the t-statistics are equal to the F-statistics from the\n", - "`anova_lm()` function; for example:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0b576607", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:30.839811Z", - "iopub.status.busy": "2023-07-26T05:17:30.837704Z", - "iopub.status.idle": "2023-07-26T05:17:30.856244Z", - "shell.execute_reply": "2023-07-26T05:17:30.854399Z" - } - }, - "outputs": [], - "source": [ - "(-11.983)**2" - ] - }, - { - "cell_type": "markdown", - "id": "44af9855", - "metadata": {}, - "source": [ - "However, the ANOVA method works whether or not we used orthogonal\n", - "polynomials, provided the models are nested. For example, we can use\n", - "`anova_lm()` to compare the following three\n", - "models, which all have a linear term in `education` and a\n", - "polynomial in `age` of different degrees:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7242df77", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:30.866948Z", - "iopub.status.busy": "2023-07-26T05:17:30.865892Z", - "iopub.status.idle": "2023-07-26T05:17:30.922189Z", - "shell.execute_reply": "2023-07-26T05:17:30.920195Z" - } - }, - "outputs": [], - "source": [ - "models = [MS(['education', poly('age', degree=d)])\n", - " for d in range(1, 4)]\n", - "XEs = [model.fit_transform(Wage)\n", - " for model in models]\n", - "anova_lm(*[sm.OLS(y, X_).fit() for X_ in XEs])" - ] - }, - { - "cell_type": "markdown", - "id": "4887dbee", - "metadata": {}, - "source": [ - "As an alternative to using hypothesis tests and ANOVA, we could choose\n", - "the polynomial degree using cross-validation, as discussed in Chapter 5.\n", - "\n", - "Next we consider the task of predicting whether an individual earns\n", - "more than $250,000 per year. We proceed much as before, except\n", - "that first we create the appropriate response vector, and then apply\n", - "the `glm()` function using the binomial family in order\n", - "to fit a polynomial logistic regression model." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c7972aea", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:30.932685Z", - "iopub.status.busy": "2023-07-26T05:17:30.932050Z", - "iopub.status.idle": "2023-07-26T05:17:31.040926Z", - "shell.execute_reply": "2023-07-26T05:17:31.003239Z" - } - }, - "outputs": [], - "source": [ - "X = poly_age.transform(Wage)\n", - "high_earn = Wage['high_earn'] = y > 250 # shorthand\n", - "glm = sm.GLM(y > 250,\n", - " X,\n", - " family=sm.families.Binomial())\n", - "B = glm.fit()\n", - "summarize(B)" - ] - }, - { - "cell_type": "markdown", - "id": "cd7f2a1d", - "metadata": {}, - "source": [ - "Once again, we make predictions using the `get_prediction()` method." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "84f172f2", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:31.067292Z", - "iopub.status.busy": "2023-07-26T05:17:31.066686Z", - "iopub.status.idle": "2023-07-26T05:17:31.149946Z", - "shell.execute_reply": "2023-07-26T05:17:31.109686Z" - } - }, - "outputs": [], - "source": [ - "newX = poly_age.transform(age_df)\n", - "preds = B.get_prediction(newX)\n", - "bands = preds.conf_int(alpha=0.05)" - ] - }, - { - "cell_type": "markdown", - "id": "96a82fa2", - "metadata": {}, - "source": [ - "We now plot the estimated relationship." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fcf376bd", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:31.174590Z", - "iopub.status.busy": "2023-07-26T05:17:31.158361Z", - "iopub.status.idle": "2023-07-26T05:17:31.302984Z", - "shell.execute_reply": "2023-07-26T05:17:31.302329Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8,8))\n", - "rng = np.random.default_rng(0)\n", - "ax.scatter(age +\n", - " 0.2 * rng.uniform(size=y.shape[0]),\n", - " np.where(high_earn, 0.198, 0.002),\n", - " fc='gray',\n", - " marker='|')\n", - "for val, ls in zip([preds.predicted_mean,\n", - " bands[:,0],\n", - " bands[:,1]],\n", - " ['b','r--','r--']):\n", - " ax.plot(age_df.values, val, ls, linewidth=3)\n", - "ax.set_title('Degree-4 Polynomial', fontsize=20)\n", - "ax.set_xlabel('Age', fontsize=20)\n", - "ax.set_ylim([0,0.2])\n", - "ax.set_ylabel('P(Wage > 250)', fontsize=20);" - ] - }, - { - "cell_type": "markdown", - "id": "ece6ba93", - "metadata": {}, - "source": [ - "We have drawn the `age` values corresponding to the observations with\n", - "`wage` values above 250 as gray marks on the top of the plot, and\n", - "those with `wage` values below 250 are shown as gray marks on the\n", - "bottom of the plot. We added a small amount of noise to jitter\n", - "the `age` values a bit so that observations with the same `age`\n", - "value do not cover each other up. This type of plot is often called a\n", - "*rug plot*.\n", - "\n", - "In order to fit a step function, as discussed in\n", - "Section 7.2, we first use the `pd.qcut()`\n", - "function to discretize `age` based on quantiles. Then we use `pd.get_dummies()` to create the\n", - "columns of the model matrix for this categorical variable. Note that this function will\n", - "include *all* columns for a given categorical, rather than the usual approach which drops one\n", - "of the levels." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c4d00900", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:31.305474Z", - "iopub.status.busy": "2023-07-26T05:17:31.305329Z", - "iopub.status.idle": "2023-07-26T05:17:31.336068Z", - "shell.execute_reply": "2023-07-26T05:17:31.334266Z" - } - }, - "outputs": [], - "source": [ - "cut_age = pd.qcut(age, 4)\n", - "summarize(sm.OLS(y, pd.get_dummies(cut_age)).fit())" - ] - }, - { - "cell_type": "markdown", - "id": "68f44046", - "metadata": {}, - "source": [ - "Here `pd.qcut()` automatically picked the cutpoints based on the quantiles 25%, 50% and 75%, which results in four regions. We could also have specified our own\n", - "quantiles directly instead of the argument `4`. For cuts not based\n", - "on quantiles we would use the `pd.cut()` function.\n", - "The function `pd.qcut()` (and `pd.cut()`) returns an ordered categorical variable.\n", - " The regression model then creates a set of\n", - "dummy variables for use in the regression. Since `age` is the only variable in the model, the value $94,158.40 is the average salary for those under 33.75 years of\n", - "age, and the other coefficients are the average\n", - "salary for those in the other age groups. We can produce\n", - "predictions and plots just as we did in the case of the polynomial\n", - "fit." - ] - }, - { - "cell_type": "markdown", - "id": "4e157a87", - "metadata": {}, - "source": [ - "## Splines\n", - "In order to fit regression splines, we use transforms\n", - "from the `ISLP` package. The actual spline\n", - "evaluation functions are in the `scipy.interpolate` package;\n", - "we have simply wrapped them as transforms\n", - "similar to `Poly()` and `PCA()`.\n", - "\n", - "In Section 7.4, we saw\n", - "that regression splines can be fit by constructing an appropriate\n", - "matrix of basis functions. The `BSpline()` function generates the\n", - "entire matrix of basis functions for splines with the specified set of\n", - "knots. By default, the B-splines produced are cubic. To change the degree, use\n", - "the argument `degree`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d3817102", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:31.345711Z", - "iopub.status.busy": "2023-07-26T05:17:31.343152Z", - "iopub.status.idle": "2023-07-26T05:17:31.444719Z", - "shell.execute_reply": "2023-07-26T05:17:31.422743Z" - } - }, - "outputs": [], - "source": [ - "bs_ = BSpline(internal_knots=[25,40,60], intercept=True).fit(age)\n", - "bs_age = bs_.transform(age)\n", - "bs_age.shape" - ] - }, - { - "cell_type": "markdown", - "id": "711c9413", - "metadata": {}, - "source": [ - "This results in a seven-column matrix, which is what is expected for a cubic-spline basis with 3 interior knots. \n", - "We can form this same matrix using the `bs()` object,\n", - "which facilitates adding this to a model-matrix builder (as in `poly()` versus its workhorse `Poly()`) described in Section 7.8.1.\n", - "\n", - "We now fit a cubic spline model to the `Wage` data." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c06c0f27", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:31.504387Z", - "iopub.status.busy": "2023-07-26T05:17:31.502827Z", - "iopub.status.idle": "2023-07-26T05:17:31.545517Z", - "shell.execute_reply": "2023-07-26T05:17:31.543597Z" - } - }, - "outputs": [], - "source": [ - "bs_age = MS([bs('age', internal_knots=[25,40,60])])\n", - "Xbs = bs_age.fit_transform(Wage)\n", - "M = sm.OLS(y, Xbs).fit()\n", - "summarize(M)" - ] - }, - { - "cell_type": "markdown", - "id": "a5698ae9", - "metadata": {}, - "source": [ - "The column names are a little cumbersome, and have caused us to truncate the printed summary. They can be set on construction using the `name` argument as follows." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8cb32db0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:31.554111Z", - "iopub.status.busy": "2023-07-26T05:17:31.553059Z", - "iopub.status.idle": "2023-07-26T05:17:31.605969Z", - "shell.execute_reply": "2023-07-26T05:17:31.601942Z" - } - }, - "outputs": [], - "source": [ - "bs_age = MS([bs('age',\n", - " internal_knots=[25,40,60],\n", - " name='bs(age)')])\n", - "Xbs = bs_age.fit_transform(Wage)\n", - "M = sm.OLS(y, Xbs).fit()\n", - "summarize(M)" - ] - }, - { - "cell_type": "markdown", - "id": "4d709fec", - "metadata": {}, - "source": [ - "Notice that there are 6 spline coefficients rather than 7. This is because, by default,\n", - "`bs()` assumes `intercept=False`, since we typically have an overall intercept in the model.\n", - "So it generates the spline basis with the given knots, and then discards one of the basis functions to account for the intercept. \n", - "\n", - "We could also use the `df` (degrees of freedom) option to\n", - "specify the complexity of the spline. We see above that with 3 knots,\n", - "the spline basis has 6 columns or degrees of freedom. When we specify\n", - "`df=6` rather than the actual knots, `bs()` will produce a\n", - "spline with 3 knots chosen at uniform quantiles of the training data.\n", - "We can see these chosen knots most easily using `Bspline()` directly:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f26b715f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:31.613882Z", - "iopub.status.busy": "2023-07-26T05:17:31.613189Z", - "iopub.status.idle": "2023-07-26T05:17:31.632577Z", - "shell.execute_reply": "2023-07-26T05:17:31.631063Z" - } - }, - "outputs": [], - "source": [ - "BSpline(df=6).fit(age).internal_knots_" - ] - }, - { - "cell_type": "markdown", - "id": "e606523e", - "metadata": {}, - "source": [ - " When asking for six degrees of freedom,\n", - "the transform chooses knots at ages 33.75, 42.0, and 51.0,\n", - "which correspond to the 25th, 50th, and 75th percentiles of\n", - "`age`.\n", - "\n", - "When using B-splines we need not limit ourselves to cubic polynomials\n", - "(i.e. `degree=3`). For instance, using `degree=0` results\n", - "in piecewise constant functions, as in our example with\n", - "`pd.qcut()` above." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d6109816", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:31.640827Z", - "iopub.status.busy": "2023-07-26T05:17:31.640229Z", - "iopub.status.idle": "2023-07-26T05:17:31.697215Z", - "shell.execute_reply": "2023-07-26T05:17:31.695639Z" - } - }, - "outputs": [], - "source": [ - "bs_age0 = MS([bs('age',\n", - " df=3, \n", - " degree=0)]).fit(Wage)\n", - "Xbs0 = bs_age0.transform(Wage)\n", - "summarize(sm.OLS(y, Xbs0).fit())" - ] - }, - { - "cell_type": "markdown", - "id": "53ce3ef2", - "metadata": {}, - "source": [ - "This fit should be compared with cell [15] where we use `qcut()`\n", - "to create four bins by cutting at the 25%, 50% and 75% quantiles of\n", - "`age`. Since we specified `df=3` for degree-zero splines here, there will also be\n", - "knots at the same three quantiles. Although the coefficients appear different, we\n", - "see that this is a result of the different coding. For example, the\n", - "first coefficient is identical in both cases, and is the mean response\n", - "in the first bin. For the second coefficient, we have\n", - "$94.158 + 22.349 = 116.507 \\approx 116.611$, the latter being the mean\n", - "in the second bin in cell [15]. Here the intercept is coded by a column\n", - "of ones, so the second, third and fourth coefficients are increments\n", - "for those bins. Why is the sum not exactly the same? It turns out that\n", - "the `qcut()` uses $\\leq$, while `bs()` uses $<$ when\n", - "deciding bin membership." - ] - }, - { - "cell_type": "markdown", - "id": "59807efd", - "metadata": {}, - "source": [ - "In order to fit a natural spline, we use the `NaturalSpline()` \n", - "transform with the corresponding helper `ns()`. Here we fit a natural spline with five\n", - "degrees of freedom (excluding the intercept) and plot the results." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7c73a3da", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:31.706944Z", - "iopub.status.busy": "2023-07-26T05:17:31.705664Z", - "iopub.status.idle": "2023-07-26T05:17:31.757111Z", - "shell.execute_reply": "2023-07-26T05:17:31.754514Z" - } - }, - "outputs": [], - "source": [ - "ns_age = MS([ns('age', df=5)]).fit(Wage)\n", - "M_ns = sm.OLS(y, ns_age.transform(Wage)).fit()\n", - "summarize(M_ns)" - ] - }, - { - "cell_type": "markdown", - "id": "d819f968", - "metadata": {}, - "source": [ - "We now plot the natural spline using our plotting function." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d73789b4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:31.766336Z", - "iopub.status.busy": "2023-07-26T05:17:31.764642Z", - "iopub.status.idle": "2023-07-26T05:17:31.949222Z", - "shell.execute_reply": "2023-07-26T05:17:31.947680Z" - } - }, - "outputs": [], - "source": [ - "plot_wage_fit(age_df,\n", - " ns_age,\n", - " 'Natural spline, df=5');" - ] - }, - { - "cell_type": "markdown", - "id": "09616af2", - "metadata": {}, - "source": [ - "## Smoothing Splines and GAMs\n", - "A smoothing spline is a special case of a GAM with squared-error loss\n", - "and a single feature. To fit GAMs in `Python` we will use the\n", - "`pygam` package which can be installed via `pip install pygam`. The\n", - "estimator `LinearGAM()` uses squared-error loss.\n", - "The GAM is specified by associating each column\n", - "of a model matrix with a particular smoothing operation:\n", - "`s` for smoothing spline; `l` for linear, and `f` for factor or categorical variables.\n", - "The argument `0` passed to `s` below indicates that this smoother will\n", - "apply to the first column of a feature matrix. Below, we pass it a\n", - "matrix with a single column: `X_age`. The argument `lam` is the penalty parameter $\\lambda$ as discussed in Section 7.5.2." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3e70b87d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:31.962335Z", - "iopub.status.busy": "2023-07-26T05:17:31.958770Z", - "iopub.status.idle": "2023-07-26T05:17:32.190885Z", - "shell.execute_reply": "2023-07-26T05:17:32.188959Z" - } - }, - "outputs": [], - "source": [ - "X_age = np.asarray(age).reshape((-1,1))\n", - "gam = LinearGAM(s_gam(0, lam=0.6))\n", - "gam.fit(X_age, y)" - ] - }, - { - "cell_type": "markdown", - "id": "f95cf22c", - "metadata": {}, - "source": [ - "The `pygam` library generally expects a matrix of features so we reshape `age` to be a matrix (a two-dimensional array) instead\n", - "of a vector (i.e. a one-dimensional array). The `-1` in the call to the `reshape()` method tells `numpy` to impute the\n", - "size of that dimension based on the remaining entries of the shape tuple.\n", - " \n", - "Let’s investigate how the fit changes with the smoothing parameter `lam`.\n", - "The function `np.logspace()` is similar to `np.linspace()` but spaces points\n", - "evenly on the log-scale. Below we vary `lam` from $10^{-2}$ to $10^6$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "efe03b12", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:32.212724Z", - "iopub.status.busy": "2023-07-26T05:17:32.212362Z", - "iopub.status.idle": "2023-07-26T05:17:33.141120Z", - "shell.execute_reply": "2023-07-26T05:17:33.140497Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8,8))\n", - "ax.scatter(age, y, facecolor='gray', alpha=0.5)\n", - "for lam in np.logspace(-2, 6, 5):\n", - " gam = LinearGAM(s_gam(0, lam=lam)).fit(X_age, y)\n", - " ax.plot(age_grid,\n", - " gam.predict(age_grid),\n", - " label='{:.1e}'.format(lam),\n", - " linewidth=3)\n", - "ax.set_xlabel('Age', fontsize=20)\n", - "ax.set_ylabel('Wage', fontsize=20);\n", - "ax.legend(title='$\\lambda$');" - ] - }, - { - "cell_type": "markdown", - "id": "6590a835", - "metadata": {}, - "source": [ - "The `pygam` package can perform a search for an optimal smoothing parameter." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "acff2af2", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:33.143621Z", - "iopub.status.busy": "2023-07-26T05:17:33.143494Z", - "iopub.status.idle": "2023-07-26T05:17:34.781067Z", - "shell.execute_reply": "2023-07-26T05:17:34.758430Z" - } - }, - "outputs": [], - "source": [ - "gam_opt = gam.gridsearch(X_age, y)\n", - "ax.plot(age_grid,\n", - " gam_opt.predict(age_grid),\n", - " label='Grid search',\n", - " linewidth=4)\n", - "ax.legend()\n", - "fig" - ] - }, - { - "cell_type": "markdown", - "id": "c979dbf1", - "metadata": {}, - "source": [ - "Alternatively, we can fix the degrees of freedom of the smoothing\n", - "spline using a function included in the `ISLP.pygam` package. Below we\n", - "find a value of $\\lambda$ that gives us roughly four degrees of\n", - "freedom. We note here that these degrees of freedom include the\n", - "unpenalized intercept and linear term of the smoothing spline, hence there are at least two\n", - "degrees of freedom." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a2d25550", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:34.825629Z", - "iopub.status.busy": "2023-07-26T05:17:34.825425Z", - "iopub.status.idle": "2023-07-26T05:17:35.011756Z", - "shell.execute_reply": "2023-07-26T05:17:35.006694Z" - } - }, - "outputs": [], - "source": [ - "age_term = gam.terms[0]\n", - "lam_4 = approx_lam(X_age, age_term, 4)\n", - "age_term.lam = lam_4\n", - "degrees_of_freedom(X_age, age_term)" - ] - }, - { - "cell_type": "markdown", - "id": "ce629653", - "metadata": {}, - "source": [ - "Let’s vary the degrees of freedom in a similar plot to above. We choose the degrees of freedom\n", - "as the desired degrees of freedom plus one to account for the fact that these smoothing\n", - "splines always have an intercept term. Hence, a value of one for `df` is just a linear fit." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bc6322de", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:35.024537Z", - "iopub.status.busy": "2023-07-26T05:17:35.022461Z", - "iopub.status.idle": "2023-07-26T05:17:35.863008Z", - "shell.execute_reply": "2023-07-26T05:17:35.862422Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8,8))\n", - "ax.scatter(X_age,\n", - " y,\n", - " facecolor='gray',\n", - " alpha=0.3)\n", - "for df in [1,3,4,8,15]:\n", - " lam = approx_lam(X_age, age_term, df+1)\n", - " age_term.lam = lam\n", - " gam.fit(X_age, y)\n", - " ax.plot(age_grid,\n", - " gam.predict(age_grid),\n", - " label='{:d}'.format(df),\n", - " linewidth=4)\n", - "ax.set_xlabel('Age', fontsize=20)\n", - "ax.set_ylabel('Wage', fontsize=20);\n", - "ax.legend(title='Degrees of freedom');" - ] - }, - { - "cell_type": "markdown", - "id": "2cb73ff7", - "metadata": {}, - "source": [ - "### Additive Models with Several Terms\n", - "The strength of generalized additive models lies in their ability to fit multivariate regression models with more flexibility than linear models. We demonstrate two approaches: the first in a more manual fashion using natural splines and piecewise constant functions, and the second using the `pygam` package and smoothing splines.\n", - "\n", - "We now fit a GAM by hand to predict\n", - "`wage` using natural spline functions of `year` and `age`,\n", - "treating `education` as a qualitative predictor, as in (7.16).\n", - "Since this is just a big linear regression model\n", - "using an appropriate choice of basis functions, we can simply do this\n", - "using the `sm.OLS()` function.\n", - "\n", - "We will build the model matrix in a more manual fashion here, since we wish\n", - "to access the pieces separately when constructing partial dependence plots." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "703d2570", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:35.865454Z", - "iopub.status.busy": "2023-07-26T05:17:35.865140Z", - "iopub.status.idle": "2023-07-26T05:17:35.892627Z", - "shell.execute_reply": "2023-07-26T05:17:35.889738Z" - } - }, - "outputs": [], - "source": [ - "ns_age = NaturalSpline(df=4).fit(age)\n", - "ns_year = NaturalSpline(df=5).fit(Wage['year'])\n", - "Xs = [ns_age.transform(age),\n", - " ns_year.transform(Wage['year']),\n", - " pd.get_dummies(Wage['education']).values]\n", - "X_bh = np.hstack(Xs)\n", - "gam_bh = sm.OLS(y, X_bh).fit()" - ] - }, - { - "cell_type": "markdown", - "id": "34cae11a", - "metadata": {}, - "source": [ - "Here the function `NaturalSpline()` is the workhorse supporting\n", - "the `ns()` helper function. We chose to use all columns of the\n", - "indicator matrix for the categorical variable `education`, making an intercept redundant.\n", - "Finally, we stacked the three component matrices horizontally to form the model matrix `X_bh`. \n", - "\n", - "We now show how to construct partial dependence plots for each of the terms in our rudimentary GAM. We can do this by hand,\n", - "given grids for `age` and `year`.\n", - " We simply predict with new $X$ matrices, fixing all but one of the features at a time." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "766a7b1f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:35.908556Z", - "iopub.status.busy": "2023-07-26T05:17:35.902581Z", - "iopub.status.idle": "2023-07-26T05:17:36.057026Z", - "shell.execute_reply": "2023-07-26T05:17:36.055296Z" - } - }, - "outputs": [], - "source": [ - "age_grid = np.linspace(age.min(),\n", - " age.max(),\n", - " 100)\n", - "X_age_bh = X_bh.copy()[:100]\n", - "X_age_bh[:] = X_bh[:].mean(0)[None,:]\n", - "X_age_bh[:,:4] = ns_age.transform(age_grid)\n", - "preds = gam_bh.get_prediction(X_age_bh)\n", - "bounds_age = preds.conf_int(alpha=0.05)\n", - "partial_age = preds.predicted_mean\n", - "center = partial_age.mean()\n", - "partial_age -= center\n", - "bounds_age -= center\n", - "fig, ax = subplots(figsize=(8,8))\n", - "ax.plot(age_grid, partial_age, 'b', linewidth=3)\n", - "ax.plot(age_grid, bounds_age[:,0], 'r--', linewidth=3)\n", - "ax.plot(age_grid, bounds_age[:,1], 'r--', linewidth=3)\n", - "ax.set_xlabel('Age')\n", - "ax.set_ylabel('Effect on wage')\n", - "ax.set_title('Partial dependence of age on wage', fontsize=20);" - ] - }, - { - "cell_type": "markdown", - "id": "83e636f3", - "metadata": {}, - "source": [ - "Let's explain in some detail what we did above. The idea is to create a new prediction matrix, where all but the columns belonging to `age` are constant (and set to their training-data means). The four columns for `age` are filled in with the natural spline basis evaluated at the 100 values in `age_grid`.\n", - "\n", - "* We made a grid of length 100 in `age`, and created a matrix `X_age_bh` with 100 rows and the same number of columns as `X_bh`.\n", - "* We replaced every row of this matrix with the column means of the original.\n", - "* We then replace just the first four columns representing `age` with the natural spline basis computed at the values in `age_grid`. \n", - "\n", - "The remaining steps should by now be familiar.\n", - "\n", - "We also look at the effect of `year` on `wage`; the process is the same." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2a9ed841", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:36.068318Z", - "iopub.status.busy": "2023-07-26T05:17:36.067032Z", - "iopub.status.idle": "2023-07-26T05:17:36.214624Z", - "shell.execute_reply": "2023-07-26T05:17:36.214052Z" - } - }, - "outputs": [], - "source": [ - "year_grid = np.linspace(2003, 2009, 100)\n", - "year_grid = np.linspace(Wage['year'].min(),\n", - " Wage['year'].max(),\n", - " 100)\n", - "X_year_bh = X_bh.copy()[:100]\n", - "X_year_bh[:] = X_bh[:].mean(0)[None,:]\n", - "X_year_bh[:,4:9] = ns_year.transform(year_grid)\n", - "preds = gam_bh.get_prediction(X_year_bh)\n", - "bounds_year = preds.conf_int(alpha=0.05)\n", - "partial_year = preds.predicted_mean\n", - "center = partial_year.mean()\n", - "partial_year -= center\n", - "bounds_year -= center\n", - "fig, ax = subplots(figsize=(8,8))\n", - "ax.plot(year_grid, partial_year, 'b', linewidth=3)\n", - "ax.plot(year_grid, bounds_year[:,0], 'r--', linewidth=3)\n", - "ax.plot(year_grid, bounds_year[:,1], 'r--', linewidth=3)\n", - "ax.set_xlabel('Year')\n", - "ax.set_ylabel('Effect on wage')\n", - "ax.set_title('Partial dependence of year on wage', fontsize=20);" - ] - }, - { - "cell_type": "markdown", - "id": "4aca2254", - "metadata": {}, - "source": [ - "We now fit the model (7.16) using smoothing splines rather\n", - "than natural splines. All of the\n", - "terms in (7.16) are fit simultaneously, taking each other\n", - "into account to explain the response. The `pygam` package only works with matrices, so we must convert\n", - "the categorical series `education` to its array representation, which can be found\n", - "with the `cat.codes` attribute of `education`. As `year` only has 7 unique values, we\n", - "use only seven basis functions for it." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ccf068b1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:36.216725Z", - "iopub.status.busy": "2023-07-26T05:17:36.216587Z", - "iopub.status.idle": "2023-07-26T05:17:36.383722Z", - "shell.execute_reply": "2023-07-26T05:17:36.379206Z" - } - }, - "outputs": [], - "source": [ - "gam_full = LinearGAM(s_gam(0) +\n", - " s_gam(1, n_splines=7) +\n", - " f_gam(2, lam=0))\n", - "Xgam = np.column_stack([age,\n", - " Wage['year'],\n", - " Wage['education'].cat.codes])\n", - "gam_full = gam_full.fit(Xgam, y)" - ] - }, - { - "cell_type": "markdown", - "id": "a7e035d3", - "metadata": {}, - "source": [ - "The two `s_gam()` terms result in smoothing spline fits, and use a default value for $\\lambda$ (`lam=0.6`), which is somewhat arbitrary. For the categorical term `education`, specified using a `f_gam()` term, we specify `lam=0` to avoid any shrinkage.\n", - "We produce the partial dependence plot in `age` to see the effect of these choices.\n", - "\n", - "The values for the plot\n", - "are generated by the `pygam` package. We provide a `plot_gam()`\n", - "function for partial-dependence plots in `ISLP.pygam`, which makes this job easier than in our last example with natural splines." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "38b719f1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:36.404487Z", - "iopub.status.busy": "2023-07-26T05:17:36.401365Z", - "iopub.status.idle": "2023-07-26T05:17:36.620141Z", - "shell.execute_reply": "2023-07-26T05:17:36.619756Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8,8))\n", - "plot_gam(gam_full, 0, ax=ax)\n", - "ax.set_xlabel('Age')\n", - "ax.set_ylabel('Effect on wage')\n", - "ax.set_title('Partial dependence of age on wage - default lam=0.6', fontsize=20);" - ] - }, - { - "cell_type": "markdown", - "id": "c7be9454", - "metadata": {}, - "source": [ - "We see that the function is somewhat wiggly. It is more natural to specify the `df` than a value for `lam`. \n", - "We refit a GAM using four degrees of freedom each for\n", - "`age` and `year`. Recall that the addition of one below takes into account the intercept\n", - "of the smoothing spline." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "02142f6e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:36.622262Z", - "iopub.status.busy": "2023-07-26T05:17:36.622071Z", - "iopub.status.idle": "2023-07-26T05:17:36.728386Z", - "shell.execute_reply": "2023-07-26T05:17:36.725088Z" - } - }, - "outputs": [], - "source": [ - "age_term = gam_full.terms[0]\n", - "age_term.lam = approx_lam(Xgam, age_term, df=4+1)\n", - "year_term = gam_full.terms[1]\n", - "year_term.lam = approx_lam(Xgam, year_term, df=4+1)\n", - "gam_full = gam_full.fit(Xgam, y)" - ] - }, - { - "cell_type": "markdown", - "id": "08085085", - "metadata": {}, - "source": [ - "Note that updating `age_term.lam` above updates it in `gam_full.terms[0]` as well! Likewise for `year_term.lam`.\n", - "\n", - "Repeating the plot for `age`, we see that it is much smoother.\n", - "We also produce the plot for `year`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "94587b05", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:36.738456Z", - "iopub.status.busy": "2023-07-26T05:17:36.737408Z", - "iopub.status.idle": "2023-07-26T05:17:36.927722Z", - "shell.execute_reply": "2023-07-26T05:17:36.917522Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8,8))\n", - "plot_gam(gam_full,\n", - " 1,\n", - " ax=ax)\n", - "ax.set_xlabel('Year')\n", - "ax.set_ylabel('Effect on wage')\n", - "ax.set_title('Partial dependence of year on wage', fontsize=20)" - ] - }, - { - "cell_type": "markdown", - "id": "5b373d5c", - "metadata": {}, - "source": [ - "Finally we plot `education`, which is categorical. The partial dependence plot is different, and more suitable for the set of fitted constants for each level of this variable." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bba4c757", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:36.975410Z", - "iopub.status.busy": "2023-07-26T05:17:36.975007Z", - "iopub.status.idle": "2023-07-26T05:17:37.089224Z", - "shell.execute_reply": "2023-07-26T05:17:37.088696Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8, 8))\n", - "ax = plot_gam(gam_full, 2)\n", - "ax.set_xlabel('Education')\n", - "ax.set_ylabel('Effect on wage')\n", - "ax.set_title('Partial dependence of wage on education',\n", - " fontsize=20);\n", - "ax.set_xticklabels(Wage['education'].cat.categories, fontsize=8);" - ] - }, - { - "cell_type": "markdown", - "id": "38ff8ddb", - "metadata": {}, - "source": [ - "### ANOVA Tests for Additive Models\n", - "In all of our models, the function of `year` looks rather linear. We can\n", - "perform a series of ANOVA tests in order to determine which of these\n", - "three models is best: a GAM that excludes `year` ($\\mathcal{M}_1$),\n", - "a GAM that uses a linear function of `year` ($\\mathcal{M}_2$), or a\n", - "GAM that uses a spline function of `year` ($\\mathcal{M}_3$)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "32368085", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:37.091963Z", - "iopub.status.busy": "2023-07-26T05:17:37.091763Z", - "iopub.status.idle": "2023-07-26T05:17:37.181347Z", - "shell.execute_reply": "2023-07-26T05:17:37.177854Z" - } - }, - "outputs": [], - "source": [ - "gam_0 = LinearGAM(age_term + f_gam(2, lam=0))\n", - "gam_0.fit(Xgam, y)\n", - "gam_linear = LinearGAM(age_term +\n", - " l_gam(1, lam=0) +\n", - " f_gam(2, lam=0))\n", - "gam_linear.fit(Xgam, y)" - ] - }, - { - "cell_type": "markdown", - "id": "c95b177b", - "metadata": {}, - "source": [ - "Notice our use of `age_term` in the expressions above. We do this because\n", - "earlier we set the value for `lam` in this term to achieve four degrees of freedom.\n", - "\n", - "To directly assess the effect of `year` we run an ANOVA on the\n", - "three models fit above." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e7ba9957", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:37.190026Z", - "iopub.status.busy": "2023-07-26T05:17:37.188398Z", - "iopub.status.idle": "2023-07-26T05:17:37.218825Z", - "shell.execute_reply": "2023-07-26T05:17:37.206670Z" - } - }, - "outputs": [], - "source": [ - "anova_gam(gam_0, gam_linear, gam_full)" - ] - }, - { - "cell_type": "markdown", - "id": "825ea833", - "metadata": {}, - "source": [ - " We find that there is compelling evidence that a GAM with a linear\n", - "function in `year` is better than a GAM that does not include\n", - "`year` at all ($p$-value= 0.002). However, there is no\n", - "evidence that a non-linear function of `year` is needed\n", - "($p$-value=0.435). In other words, based on the results of this\n", - "ANOVA, $\\mathcal{M}_2$ is preferred.\n", - "\n", - "We can repeat the same process for `age` as well. We see there is very clear evidence that\n", - "a non-linear term is required for `age`.\n", - "\\newpage" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ffc0099a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:37.237108Z", - "iopub.status.busy": "2023-07-26T05:17:37.233509Z", - "iopub.status.idle": "2023-07-26T05:17:37.451340Z", - "shell.execute_reply": "2023-07-26T05:17:37.449175Z" - } - }, - "outputs": [], - "source": [ - "gam_0 = LinearGAM(year_term +\n", - " f_gam(2, lam=0))\n", - "gam_linear = LinearGAM(l_gam(0, lam=0) +\n", - " year_term +\n", - " f_gam(2, lam=0))\n", - "gam_0.fit(Xgam, y)\n", - "gam_linear.fit(Xgam, y)\n", - "anova_gam(gam_0, gam_linear, gam_full)" - ] - }, - { - "cell_type": "markdown", - "id": "3a243d63", - "metadata": {}, - "source": [ - "There is a (verbose) `summary()` method for the GAM fit." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "08026a6b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:37.465361Z", - "iopub.status.busy": "2023-07-26T05:17:37.464408Z", - "iopub.status.idle": "2023-07-26T05:17:37.476379Z", - "shell.execute_reply": "2023-07-26T05:17:37.473563Z" - } - }, - "outputs": [], - "source": [ - "gam_full.summary()" - ] - }, - { - "cell_type": "markdown", - "id": "839acb14", - "metadata": {}, - "source": [ - "We can make predictions from `gam` objects, just like from\n", - "`lm` objects, using the `predict()` method for the class\n", - "`gam`. Here we make predictions on the training set." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9191d615", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:37.488339Z", - "iopub.status.busy": "2023-07-26T05:17:37.487573Z", - "iopub.status.idle": "2023-07-26T05:17:37.520050Z", - "shell.execute_reply": "2023-07-26T05:17:37.516172Z" - } - }, - "outputs": [], - "source": [ - "Yhat = gam_full.predict(Xgam)" - ] - }, - { - "cell_type": "markdown", - "id": "a98a10a7", - "metadata": {}, - "source": [ - "In order to fit a logistic regression GAM, we use `LogisticGAM()` \n", - "from `pygam`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "92007a5f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:37.533259Z", - "iopub.status.busy": "2023-07-26T05:17:37.531878Z", - "iopub.status.idle": "2023-07-26T05:17:38.910096Z", - "shell.execute_reply": "2023-07-26T05:17:38.906703Z" - } - }, - "outputs": [], - "source": [ - "gam_logit = LogisticGAM(age_term + \n", - " l_gam(1, lam=0) +\n", - " f_gam(2, lam=0))\n", - "gam_logit.fit(Xgam, high_earn)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4dd6aa2f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:38.924790Z", - "iopub.status.busy": "2023-07-26T05:17:38.922174Z", - "iopub.status.idle": "2023-07-26T05:17:39.053438Z", - "shell.execute_reply": "2023-07-26T05:17:39.047514Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8, 8))\n", - "ax = plot_gam(gam_logit, 2)\n", - "ax.set_xlabel('Education')\n", - "ax.set_ylabel('Effect on wage')\n", - "ax.set_title('Partial dependence of wage on education',\n", - " fontsize=20);\n", - "ax.set_xticklabels(Wage['education'].cat.categories, fontsize=8);" - ] - }, - { - "cell_type": "markdown", - "id": "e4e9e093", - "metadata": {}, - "source": [ - "The model seems to be very flat, with especially high error bars for the first category.\n", - "Let's look at the data a bit more closely." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5a6e8754", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:39.066631Z", - "iopub.status.busy": "2023-07-26T05:17:39.064606Z", - "iopub.status.idle": "2023-07-26T05:17:39.115103Z", - "shell.execute_reply": "2023-07-26T05:17:39.111772Z" - } - }, - "outputs": [], - "source": [ - "pd.crosstab(Wage['high_earn'], Wage['education'])" - ] - }, - { - "cell_type": "markdown", - "id": "06d2d2fd", - "metadata": {}, - "source": [ - "We see that there are no high earners in the first category of\n", - "education, meaning that the model will have a hard time fitting. We\n", - "will fit a logistic regression GAM excluding all observations falling into this\n", - "category. This provides more sensible results.\n", - "\n", - "To do so,\n", - "we could subset the model matrix, though this will not remove the\n", - "column from `Xgam`. While we can deduce which column corresponds\n", - "to this feature, for reproducibility’s sake we reform the model matrix\n", - "on this smaller subset." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c92b60be", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:39.164808Z", - "iopub.status.busy": "2023-07-26T05:17:39.164544Z", - "iopub.status.idle": "2023-07-26T05:17:39.168909Z", - "shell.execute_reply": "2023-07-26T05:17:39.168184Z" - } - }, - "outputs": [], - "source": [ - "only_hs = Wage['education'] == '1. < HS Grad'\n", - "Wage_ = Wage.loc[~only_hs]\n", - "Xgam_ = np.column_stack([Wage_['age'],\n", - " Wage_['year'],\n", - " Wage_['education'].cat.codes-1])\n", - "high_earn_ = Wage_['high_earn']" - ] - }, - { - "cell_type": "markdown", - "id": "02dc4908", - "metadata": {}, - "source": [ - "In the second-to-last line above, we subtract one from the codes of the category, due to a bug in `pygam`. It just relabels\n", - "the education values and hence has no effect on the fit.\n", - " \n", - "We now fit the model." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e525e8d0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:39.173520Z", - "iopub.status.busy": "2023-07-26T05:17:39.173179Z", - "iopub.status.idle": "2023-07-26T05:17:39.334235Z", - "shell.execute_reply": "2023-07-26T05:17:39.329778Z" - } - }, - "outputs": [], - "source": [ - "gam_logit_ = LogisticGAM(age_term +\n", - " year_term +\n", - " f_gam(2, lam=0))\n", - "gam_logit_.fit(Xgam_, high_earn_)" - ] - }, - { - "cell_type": "markdown", - "id": "9601ab00", - "metadata": {}, - "source": [ - "Let’s look at the effect of `education`, `year` and `age` on high earner status now that we’ve\n", - "removed those observations." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c3e66cf9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:39.345416Z", - "iopub.status.busy": "2023-07-26T05:17:39.344660Z", - "iopub.status.idle": "2023-07-26T05:17:39.468357Z", - "shell.execute_reply": "2023-07-26T05:17:39.465567Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8, 8))\n", - "ax = plot_gam(gam_logit_, 2)\n", - "ax.set_xlabel('Education')\n", - "ax.set_ylabel('Effect on wage')\n", - "ax.set_title('Partial dependence of high earner status on education', fontsize=20);\n", - "ax.set_xticklabels(Wage['education'].cat.categories[1:],\n", - " fontsize=8);" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fd924348", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:39.479166Z", - "iopub.status.busy": "2023-07-26T05:17:39.477744Z", - "iopub.status.idle": "2023-07-26T05:17:39.605116Z", - "shell.execute_reply": "2023-07-26T05:17:39.604574Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8, 8))\n", - "ax = plot_gam(gam_logit_, 1)\n", - "ax.set_xlabel('Year')\n", - "ax.set_ylabel('Effect on wage')\n", - "ax.set_title('Partial dependence of high earner status on year',\n", - " fontsize=20);" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2d3ec90a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:39.607454Z", - "iopub.status.busy": "2023-07-26T05:17:39.607274Z", - "iopub.status.idle": "2023-07-26T05:17:39.737422Z", - "shell.execute_reply": "2023-07-26T05:17:39.736830Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8, 8))\n", - "ax = plot_gam(gam_logit_, 0)\n", - "ax.set_xlabel('Age')\n", - "ax.set_ylabel('Effect on wage')\n", - "ax.set_title('Partial dependence of high earner status on age', fontsize=20);" - ] - }, - { - "cell_type": "markdown", - "id": "ea4a7d79", - "metadata": {}, - "source": [ - "## Local Regression\n", - "We illustrate the use of local regression using the `lowess()` \n", - "function from `sm.nonparametric`. Some implementations of\n", - "GAMs allow terms to be local regression operators; this is not the case in `pygam`.\n", - "\n", - "Here we fit local linear regression models using spans of 0.2\n", - "and 0.5; that is, each neighborhood consists of 20% or 50% of\n", - "the observations. As expected, using a span of 0.5 is smoother than 0.2." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4f2bc0eb", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:39.740507Z", - "iopub.status.busy": "2023-07-26T05:17:39.740171Z", - "iopub.status.idle": "2023-07-26T05:17:39.902495Z", - "shell.execute_reply": "2023-07-26T05:17:39.902127Z" - } - }, - "outputs": [], - "source": [ - "lowess = sm.nonparametric.lowess\n", - "fig, ax = subplots(figsize=(8,8))\n", - "ax.scatter(age, y, facecolor='gray', alpha=0.5)\n", - "for span in [0.2, 0.5]:\n", - " fitted = lowess(y,\n", - " age,\n", - " frac=span,\n", - " xvals=age_grid)\n", - " ax.plot(age_grid,\n", - " fitted,\n", - " label='{:.1f}'.format(span),\n", - " linewidth=4)\n", - "ax.set_xlabel('Age', fontsize=20)\n", - "ax.set_ylabel('Wage', fontsize=20);\n", - "ax.legend(title='span', fontsize=15);" - ] - } - ], - "metadata": { - "jupytext": { - "cell_metadata_filter": "-all", - "formats": "ipynb,md:myst", - "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/source/labs/Ch8-baggboost-lab.ipynb b/docs/source/labs/Ch8-baggboost-lab.ipynb deleted file mode 100644 index 43349ee..0000000 --- a/docs/source/labs/Ch8-baggboost-lab.ipynb +++ /dev/null @@ -1,1237 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "7b0242c6", - "metadata": {}, - "source": [ - "# Tree-Based Methods\n", - "\n", - "\n", - " \"Open\n", - "\n", - "\n", - "\n", - "We import some of our usual libraries at this top\n", - "level." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4cc7120f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:41.271445Z", - "iopub.status.busy": "2023-07-26T05:17:41.271226Z", - "iopub.status.idle": "2023-07-26T05:17:42.756473Z", - "shell.execute_reply": "2023-07-26T05:17:42.756027Z" - } - }, - "outputs": [], - "source": [ - "import numpy as np\n", - "import pandas as pd\n", - "from matplotlib.pyplot import subplots\n", - "from statsmodels.datasets import get_rdataset\n", - "import sklearn.model_selection as skm\n", - "from ISLP import load_data, confusion_table\n", - "from ISLP.models import ModelSpec as MS" - ] - }, - { - "cell_type": "markdown", - "id": "75645461", - "metadata": {}, - "source": [ - "We also collect the new imports\n", - "needed for this lab." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "864fa15e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:42.759051Z", - "iopub.status.busy": "2023-07-26T05:17:42.758860Z", - "iopub.status.idle": "2023-07-26T05:17:42.832228Z", - "shell.execute_reply": "2023-07-26T05:17:42.831597Z" - } - }, - "outputs": [], - "source": [ - "from sklearn.tree import (DecisionTreeClassifier as DTC,\n", - " DecisionTreeRegressor as DTR,\n", - " plot_tree,\n", - " export_text)\n", - "from sklearn.metrics import (accuracy_score,\n", - " log_loss)\n", - "from sklearn.ensemble import \\\n", - " (RandomForestRegressor as RF,\n", - " GradientBoostingRegressor as GBR)\n", - "from ISLP.bart import BART" - ] - }, - { - "cell_type": "markdown", - "id": "7b68e1e9", - "metadata": {}, - "source": [ - "## Fitting Classification Trees" - ] - }, - { - "cell_type": "markdown", - "id": "85b1d9af", - "metadata": {}, - "source": [ - "We first use classification trees to analyze the `Carseats` data set.\n", - "In these data, `Sales` is a continuous variable, and so we begin\n", - "by recoding it as a binary variable. We use the `where()` \n", - "function to create a variable, called `High`, which takes on a\n", - "value of `Yes` if the `Sales` variable exceeds 8, and takes\n", - "on a value of `No` otherwise." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bfb4c83b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:42.836883Z", - "iopub.status.busy": "2023-07-26T05:17:42.836681Z", - "iopub.status.idle": "2023-07-26T05:17:42.843170Z", - "shell.execute_reply": "2023-07-26T05:17:42.842647Z" - } - }, - "outputs": [], - "source": [ - "Carseats = load_data('Carseats')\n", - "High = np.where(Carseats.Sales > 8,\n", - " \"Yes\",\n", - " \"No\")" - ] - }, - { - "cell_type": "markdown", - "id": "8e50828c", - "metadata": {}, - "source": [ - "We now use `DecisionTreeClassifier()` to fit a classification tree in\n", - "order to predict `High` using all variables but `Sales`.\n", - "To do so, we must form a model matrix as we did when fitting regression\n", - "models." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5d9e7a14", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:42.845711Z", - "iopub.status.busy": "2023-07-26T05:17:42.845521Z", - "iopub.status.idle": "2023-07-26T05:17:42.856897Z", - "shell.execute_reply": "2023-07-26T05:17:42.856518Z" - } - }, - "outputs": [], - "source": [ - "model = MS(Carseats.columns.drop('Sales'), intercept=False)\n", - "D = model.fit_transform(Carseats)\n", - "feature_names = list(D.columns)\n", - "X = np.asarray(D)" - ] - }, - { - "cell_type": "markdown", - "id": "b42d6270", - "metadata": {}, - "source": [ - "We have converted `D` from a data frame to an array `X`, which is needed in some of the analysis below. We also need the `feature_names` for annotating our plots later.\n", - "\n", - "There are several options needed to specify the classifier,\n", - "such as `max_depth` (how deep to grow the tree), `min_samples_split`\n", - "(minimum number of observations in a node to be eligible for splitting)\n", - "and `criterion` (whether to use Gini or cross-entropy as the split criterion).\n", - "We also set `random_state` for reproducibility; ties in the split criterion are broken at random." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "970c4515", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:42.859418Z", - "iopub.status.busy": "2023-07-26T05:17:42.859055Z", - "iopub.status.idle": "2023-07-26T05:17:42.866816Z", - "shell.execute_reply": "2023-07-26T05:17:42.866395Z" - } - }, - "outputs": [], - "source": [ - "clf = DTC(criterion='entropy',\n", - " max_depth=3,\n", - " random_state=0) \n", - "clf.fit(X, High)" - ] - }, - { - "cell_type": "markdown", - "id": "5ccdc9e7", - "metadata": {}, - "source": [ - "In our discussion of qualitative features in Section 3.3,\n", - "we noted that for a linear regression model such a feature could be\n", - "represented by including a matrix of dummy variables (one-hot-encoding) in the model\n", - "matrix, using the formula notation of `statsmodels`.\n", - "As mentioned in Section 8.1, there is a more\n", - "natural way to handle qualitative features when building a decision\n", - "tree, that does not require such dummy variables; each split amounts to partitioning the levels into two groups.\n", - "However, \n", - "the `sklearn` implementation of decision trees does not take\n", - "advantage of this approach; instead it simply treats the one-hot-encoded levels as separate variables." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2d9a51dc", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:42.868805Z", - "iopub.status.busy": "2023-07-26T05:17:42.868636Z", - "iopub.status.idle": "2023-07-26T05:17:42.872257Z", - "shell.execute_reply": "2023-07-26T05:17:42.871848Z" - } - }, - "outputs": [], - "source": [ - "accuracy_score(High, clf.predict(X))" - ] - }, - { - "cell_type": "markdown", - "id": "7fd4219f", - "metadata": {}, - "source": [ - "With only the default arguments, the training error rate is\n", - "21%.\n", - "For classification trees, we can\n", - "access the value of the deviance using `log_loss()`,\n", - "\\begin{equation*}\n", - "\\begin{split}\n", - "-2 \\sum_m \\sum_k n_{mk} \\log \\hat{p}_{mk},\n", - "\\end{split}\n", - "\\end{equation*}\n", - "where $n_{mk}$ is the number of observations in the $m$th terminal\n", - "node that belong to the $k$th class." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cbc04b67", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:42.874181Z", - "iopub.status.busy": "2023-07-26T05:17:42.874073Z", - "iopub.status.idle": "2023-07-26T05:17:42.878254Z", - "shell.execute_reply": "2023-07-26T05:17:42.877678Z" - } - }, - "outputs": [], - "source": [ - "resid_dev = np.sum(log_loss(High, clf.predict_proba(X)))\n", - "resid_dev" - ] - }, - { - "cell_type": "markdown", - "id": "bca81c07", - "metadata": {}, - "source": [ - "This is closely related to the *entropy*, defined in (8.7).\n", - "A small deviance indicates a\n", - "tree that provides a good fit to the (training) data.\n", - " \n", - "One of the most attractive properties of trees is that they can\n", - "be graphically displayed. Here we use the `plot()` function\n", - "to display the tree structure." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "809830c7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:42.880423Z", - "iopub.status.busy": "2023-07-26T05:17:42.880256Z", - "iopub.status.idle": "2023-07-26T05:17:43.233297Z", - "shell.execute_reply": "2023-07-26T05:17:43.232754Z" - } - }, - "outputs": [], - "source": [ - "ax = subplots(figsize=(12,12))[1]\n", - "plot_tree(clf,\n", - " feature_names=feature_names,\n", - " ax=ax);" - ] - }, - { - "cell_type": "markdown", - "id": "c7cf2e12", - "metadata": {}, - "source": [ - "The most important indicator of `Sales` appears to be `ShelveLoc`.\n", - "\n", - "We can see a text representation of the tree using\n", - "`export_text()`, which displays the split\n", - "criterion (e.g. `Price <= 92.5`) for each branch.\n", - "For leaf nodes it shows the overall prediction \n", - "(`Yes` or `No`). \n", - " We can also see the number of observations in that\n", - "leaf that take on values of `Yes` and `No` by specifying `show_weights=True`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "abe8c7fc", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:43.235787Z", - "iopub.status.busy": "2023-07-26T05:17:43.235629Z", - "iopub.status.idle": "2023-07-26T05:17:43.238645Z", - "shell.execute_reply": "2023-07-26T05:17:43.238197Z" - } - }, - "outputs": [], - "source": [ - "print(export_text(clf,\n", - " feature_names=feature_names,\n", - " show_weights=True))" - ] - }, - { - "cell_type": "markdown", - "id": "f06c2f4c", - "metadata": {}, - "source": [ - "In order to properly evaluate the performance of a classification tree\n", - "on these data, we must estimate the test error rather than simply\n", - "computing the training error. We split the observations into a\n", - "training set and a test set, build the tree using the training set,\n", - "and evaluate its performance on the test data. This pattern is\n", - "similar to that in Chapter 6, with the linear models\n", - "replaced here by decision trees --- the code for validation\n", - "is almost identical. This approach leads to correct predictions\n", - "for 68.5% of the locations in the test data set." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f7a1f736", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:43.241246Z", - "iopub.status.busy": "2023-07-26T05:17:43.241128Z", - "iopub.status.idle": "2023-07-26T05:17:43.248339Z", - "shell.execute_reply": "2023-07-26T05:17:43.247882Z" - } - }, - "outputs": [], - "source": [ - "validation = skm.ShuffleSplit(n_splits=1,\n", - " test_size=200,\n", - " random_state=0)\n", - "results = skm.cross_validate(clf,\n", - " D,\n", - " High,\n", - " cv=validation)\n", - "results['test_score']" - ] - }, - { - "cell_type": "markdown", - "id": "533af069", - "metadata": {}, - "source": [ - "Next, we consider whether pruning the tree might lead to improved\n", - "classification performance. We first split the data into a training and\n", - "test set. We will use cross-validation to prune the tree on the training\n", - "set, and then evaluate the performance of the pruned tree on the test\n", - "set." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c663a623", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:43.250854Z", - "iopub.status.busy": "2023-07-26T05:17:43.250675Z", - "iopub.status.idle": "2023-07-26T05:17:43.253625Z", - "shell.execute_reply": "2023-07-26T05:17:43.253117Z" - } - }, - "outputs": [], - "source": [ - "(X_train,\n", - " X_test,\n", - " High_train,\n", - " High_test) = skm.train_test_split(X,\n", - " High,\n", - " test_size=0.5,\n", - " random_state=0)\n", - " " - ] - }, - { - "cell_type": "markdown", - "id": "9e618049", - "metadata": {}, - "source": [ - "We first refit the full tree on the training set; here we do not set a `max_depth` parameter, since we will learn that through cross-validation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c2f2a403", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:43.256072Z", - "iopub.status.busy": "2023-07-26T05:17:43.255891Z", - "iopub.status.idle": "2023-07-26T05:17:43.261392Z", - "shell.execute_reply": "2023-07-26T05:17:43.260822Z" - } - }, - "outputs": [], - "source": [ - "clf = DTC(criterion='entropy', random_state=0)\n", - "clf.fit(X_train, High_train)\n", - "accuracy_score(High_test, clf.predict(X_test))" - ] - }, - { - "cell_type": "markdown", - "id": "bb59eecd", - "metadata": {}, - "source": [ - "Next we use the `cost_complexity_pruning_path()` method of\n", - "`clf` to extract cost-complexity values." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b2505658", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:43.264289Z", - "iopub.status.busy": "2023-07-26T05:17:43.264075Z", - "iopub.status.idle": "2023-07-26T05:17:43.268404Z", - "shell.execute_reply": "2023-07-26T05:17:43.267912Z" - } - }, - "outputs": [], - "source": [ - "ccp_path = clf.cost_complexity_pruning_path(X_train, High_train)\n", - "kfold = skm.KFold(10,\n", - " random_state=1,\n", - " shuffle=True)" - ] - }, - { - "cell_type": "markdown", - "id": "0fdf1106", - "metadata": {}, - "source": [ - "This yields a set of impurities and $\\alpha$ values\n", - "from which we can extract an optimal one by cross-validation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "09a7bd33", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:43.270876Z", - "iopub.status.busy": "2023-07-26T05:17:43.270706Z", - "iopub.status.idle": "2023-07-26T05:17:43.553527Z", - "shell.execute_reply": "2023-07-26T05:17:43.553080Z" - } - }, - "outputs": [], - "source": [ - "grid = skm.GridSearchCV(clf,\n", - " {'ccp_alpha': ccp_path.ccp_alphas},\n", - " refit=True,\n", - " cv=kfold,\n", - " scoring='accuracy')\n", - "grid.fit(X_train, High_train)\n", - "grid.best_score_" - ] - }, - { - "cell_type": "markdown", - "id": "ff585d2c", - "metadata": {}, - "source": [ - "Let’s take a look at the pruned true." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a75dea32", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:43.556004Z", - "iopub.status.busy": "2023-07-26T05:17:43.555851Z", - "iopub.status.idle": "2023-07-26T05:17:44.479893Z", - "shell.execute_reply": "2023-07-26T05:17:44.479062Z" - } - }, - "outputs": [], - "source": [ - "ax = subplots(figsize=(12, 12))[1]\n", - "best_ = grid.best_estimator_\n", - "plot_tree(best_,\n", - " feature_names=feature_names,\n", - " ax=ax);" - ] - }, - { - "cell_type": "markdown", - "id": "c81a06b3", - "metadata": {}, - "source": [ - "This is quite a bushy tree. We could count the leaves, or query\n", - "`best_` instead." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3f1e3d19", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:44.483391Z", - "iopub.status.busy": "2023-07-26T05:17:44.483211Z", - "iopub.status.idle": "2023-07-26T05:17:44.486537Z", - "shell.execute_reply": "2023-07-26T05:17:44.486111Z" - } - }, - "outputs": [], - "source": [ - "best_.tree_.n_leaves" - ] - }, - { - "cell_type": "markdown", - "id": "7a32f63a", - "metadata": {}, - "source": [ - "The tree with 30 terminal\n", - "nodes results in the lowest cross-validation error rate, with an accuracy of\n", - "68.5%. How well does this pruned tree perform on the test data set? Once\n", - "again, we apply the `predict()` function." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "30f5c2f9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:44.489160Z", - "iopub.status.busy": "2023-07-26T05:17:44.489048Z", - "iopub.status.idle": "2023-07-26T05:17:44.498333Z", - "shell.execute_reply": "2023-07-26T05:17:44.497705Z" - } - }, - "outputs": [], - "source": [ - "print(accuracy_score(High_test,\n", - " best_.predict(X_test)))\n", - "confusion = confusion_table(best_.predict(X_test),\n", - " High_test)\n", - "confusion" - ] - }, - { - "cell_type": "markdown", - "id": "adbe5709", - "metadata": {}, - "source": [ - "Now 72.0% of the test observations are correctly classified, which is slightly worse than the error for the full tree (with 35 leaves). So cross-validation has not helped us much here; it only pruned off 5 leaves, at a cost of a slightly worse error. These results would change if we were to change the random number seeds above; even though cross-validation gives an unbiased approach to model selection, it does have variance." - ] - }, - { - "cell_type": "markdown", - "id": "ad50114a", - "metadata": {}, - "source": [ - "## Fitting Regression Trees\n", - "Here we fit a regression tree to the `Boston` data set. The\n", - "steps are similar to those for classification trees." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1ca6bc7a", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:44.500404Z", - "iopub.status.busy": "2023-07-26T05:17:44.500198Z", - "iopub.status.idle": "2023-07-26T05:17:44.510037Z", - "shell.execute_reply": "2023-07-26T05:17:44.509664Z" - } - }, - "outputs": [], - "source": [ - "Boston = load_data(\"Boston\")\n", - "model = MS(Boston.columns.drop('medv'), intercept=False)\n", - "D = model.fit_transform(Boston)\n", - "feature_names = list(D.columns)\n", - "X = np.asarray(D)" - ] - }, - { - "cell_type": "markdown", - "id": "ebebb4a7", - "metadata": {}, - "source": [ - "First, we split the data into training and test sets, and fit the tree\n", - "to the training data. Here we use 30% of the data for the test set." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "15cfb553", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:44.512140Z", - "iopub.status.busy": "2023-07-26T05:17:44.511989Z", - "iopub.status.idle": "2023-07-26T05:17:44.515238Z", - "shell.execute_reply": "2023-07-26T05:17:44.514701Z" - } - }, - "outputs": [], - "source": [ - "(X_train,\n", - " X_test,\n", - " y_train,\n", - " y_test) = skm.train_test_split(X,\n", - " Boston['medv'],\n", - " test_size=0.3,\n", - " random_state=0)" - ] - }, - { - "cell_type": "markdown", - "id": "ae21c490", - "metadata": {}, - "source": [ - "Having formed our training and test data sets, we fit the regression tree." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d18820a3", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:44.517521Z", - "iopub.status.busy": "2023-07-26T05:17:44.517330Z", - "iopub.status.idle": "2023-07-26T05:17:44.858666Z", - "shell.execute_reply": "2023-07-26T05:17:44.858062Z" - } - }, - "outputs": [], - "source": [ - "reg = DTR(max_depth=3)\n", - "reg.fit(X_train, y_train)\n", - "ax = subplots(figsize=(12,12))[1]\n", - "plot_tree(reg,\n", - " feature_names=feature_names,\n", - " ax=ax);" - ] - }, - { - "cell_type": "markdown", - "id": "5a4deec7", - "metadata": {}, - "source": [ - "The variable `lstat` measures the percentage of individuals with\n", - "lower socioeconomic status. The tree indicates that lower\n", - "values of `lstat` correspond to more expensive houses.\n", - "The tree predicts a median house price of $12,042 for small-sized homes (`rm < 6.8`), in\n", - "suburbs in which residents have low socioeconomic status (`lstat > 14.4`) and the crime-rate is moderate (`crim > 5.8`)." - ] - }, - { - "cell_type": "markdown", - "id": "f5cad860", - "metadata": {}, - "source": [ - "Now we use the cross-validation function to see whether pruning\n", - "the tree will improve performance." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "619f8d94", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:44.861023Z", - "iopub.status.busy": "2023-07-26T05:17:44.860905Z", - "iopub.status.idle": "2023-07-26T05:17:44.914455Z", - "shell.execute_reply": "2023-07-26T05:17:44.913988Z" - } - }, - "outputs": [], - "source": [ - "ccp_path = reg.cost_complexity_pruning_path(X_train, y_train)\n", - "kfold = skm.KFold(5,\n", - " shuffle=True,\n", - " random_state=10)\n", - "grid = skm.GridSearchCV(reg,\n", - " {'ccp_alpha': ccp_path.ccp_alphas},\n", - " refit=True,\n", - " cv=kfold,\n", - " scoring='neg_mean_squared_error')\n", - "G = grid.fit(X_train, y_train)" - ] - }, - { - "cell_type": "markdown", - "id": "b971e775", - "metadata": {}, - "source": [ - "In keeping with the cross-validation results, we use the pruned tree\n", - "to make predictions on the test set." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "779a14b6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:44.917435Z", - "iopub.status.busy": "2023-07-26T05:17:44.917262Z", - "iopub.status.idle": "2023-07-26T05:17:44.920852Z", - "shell.execute_reply": "2023-07-26T05:17:44.920436Z" - } - }, - "outputs": [], - "source": [ - "best_ = grid.best_estimator_\n", - "np.mean((y_test - best_.predict(X_test))**2)" - ] - }, - { - "cell_type": "markdown", - "id": "507d174f", - "metadata": {}, - "source": [ - "In other words, the test set MSE associated with the regression tree\n", - "is 28.07. The square root of\n", - "the MSE is therefore around\n", - "5.30,\n", - "indicating that this model leads to test predictions that are within around\n", - "$5300\n", - "of the true median home value for the suburb.\n", - "\n", - "Let’s plot the best tree to see how interpretable it is." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2b04030b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:44.923340Z", - "iopub.status.busy": "2023-07-26T05:17:44.923189Z", - "iopub.status.idle": "2023-07-26T05:17:45.244796Z", - "shell.execute_reply": "2023-07-26T05:17:45.244381Z" - } - }, - "outputs": [], - "source": [ - "ax = subplots(figsize=(12,12))[1]\n", - "plot_tree(G.best_estimator_,\n", - " feature_names=feature_names,\n", - " ax=ax);" - ] - }, - { - "cell_type": "markdown", - "id": "8e9aba94", - "metadata": {}, - "source": [ - "## Bagging and Random Forests" - ] - }, - { - "cell_type": "markdown", - "id": "81afb557", - "metadata": {}, - "source": [ - "Here we apply bagging and random forests to the `Boston` data, using\n", - "the `RandomForestRegressor()` from the `sklearn.ensemble` package. Recall\n", - "that bagging is simply a special case of a random forest with\n", - "$m=p$. Therefore, the `RandomForestRegressor()` function can be used to\n", - "perform both bagging and random forests. We start with bagging." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7dedce31", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:45.248119Z", - "iopub.status.busy": "2023-07-26T05:17:45.247930Z", - "iopub.status.idle": "2023-07-26T05:17:45.416858Z", - "shell.execute_reply": "2023-07-26T05:17:45.416407Z" - } - }, - "outputs": [], - "source": [ - "bag_boston = RF(max_features=X_train.shape[1], random_state=0)\n", - "bag_boston.fit(X_train, y_train)" - ] - }, - { - "cell_type": "markdown", - "id": "b020aef3", - "metadata": {}, - "source": [ - "The argument `max_features` indicates that all 12 predictors should\n", - "be considered for each split of the tree --- in other words, that\n", - "bagging should be done. How well does this bagged model perform on\n", - "the test set?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1f2c7336", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:45.418831Z", - "iopub.status.busy": "2023-07-26T05:17:45.418689Z", - "iopub.status.idle": "2023-07-26T05:17:45.525786Z", - "shell.execute_reply": "2023-07-26T05:17:45.525224Z" - } - }, - "outputs": [], - "source": [ - "ax = subplots(figsize=(8,8))[1]\n", - "y_hat_bag = bag_boston.predict(X_test)\n", - "ax.scatter(y_hat_bag, y_test)\n", - "np.mean((y_test - y_hat_bag)**2)" - ] - }, - { - "cell_type": "markdown", - "id": "6e6db784", - "metadata": {}, - "source": [ - "The test set MSE associated with the bagged regression tree is\n", - "14.63, about half that obtained using an optimally-pruned single\n", - "tree. We could change the number of trees grown from the default of\n", - "100 by\n", - "using the `n_estimators` argument:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0bba2439", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:45.528244Z", - "iopub.status.busy": "2023-07-26T05:17:45.528120Z", - "iopub.status.idle": "2023-07-26T05:17:46.372586Z", - "shell.execute_reply": "2023-07-26T05:17:46.372196Z" - } - }, - "outputs": [], - "source": [ - "bag_boston = RF(max_features=X_train.shape[1],\n", - " n_estimators=500,\n", - " random_state=0).fit(X_train, y_train)\n", - "y_hat_bag = bag_boston.predict(X_test)\n", - "np.mean((y_test - y_hat_bag)**2)" - ] - }, - { - "cell_type": "markdown", - "id": "7fa447de", - "metadata": {}, - "source": [ - "There is not much change. Bagging and random forests cannot overfit by\n", - "increasing the number of trees, but can underfit if the number is too small.\n", - "\n", - "Growing a random forest proceeds in exactly the same way, except that\n", - "we use a smaller value of the `max_features` argument. By default,\n", - "`RandomForestRegressor()` uses $p$ variables when building a random\n", - "forest of regression trees (i.e. it defaults to bagging), and `RandomForestClassifier()` uses\n", - "$\\sqrt{p}$ variables when building a\n", - "random forest of classification trees. Here we use `max_features=6`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "90457fbe", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:46.375077Z", - "iopub.status.busy": "2023-07-26T05:17:46.374893Z", - "iopub.status.idle": "2023-07-26T05:17:46.498984Z", - "shell.execute_reply": "2023-07-26T05:17:46.498519Z" - } - }, - "outputs": [], - "source": [ - "RF_boston = RF(max_features=6,\n", - " random_state=0).fit(X_train, y_train)\n", - "y_hat_RF = RF_boston.predict(X_test)\n", - "np.mean((y_test - y_hat_RF)**2)" - ] - }, - { - "cell_type": "markdown", - "id": "f9ddb8fa", - "metadata": {}, - "source": [ - "The test set MSE is 20.04;\n", - "this indicates that random forests did somewhat worse than bagging\n", - "in this case. Extracting the `feature_importances_` values from the fitted model, we can view the\n", - "importance of each variable." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8aae1857", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:46.501498Z", - "iopub.status.busy": "2023-07-26T05:17:46.501332Z", - "iopub.status.idle": "2023-07-26T05:17:46.511203Z", - "shell.execute_reply": "2023-07-26T05:17:46.510809Z" - } - }, - "outputs": [], - "source": [ - "feature_imp = pd.DataFrame(\n", - " {'importance':RF_boston.feature_importances_},\n", - " index=feature_names)\n", - "feature_imp.sort_values(by='importance', ascending=False)" - ] - }, - { - "cell_type": "markdown", - "id": "74b9ffb6", - "metadata": {}, - "source": [ - " This\n", - "is a relative measure of the total decrease in node impurity that results from\n", - "splits over that variable, averaged over all trees (this was plotted in Figure 8.9 for a model fit to the `Heart` data). \n", - "\n", - "The results indicate that across all of the trees considered in the\n", - "random forest, the wealth level of the community (`lstat`) and the\n", - "house size (`rm`) are by far the two most important variables." - ] - }, - { - "cell_type": "markdown", - "id": "82ed6937", - "metadata": {}, - "source": [ - "## Boosting" - ] - }, - { - "cell_type": "markdown", - "id": "d420075c", - "metadata": {}, - "source": [ - "Here we use `GradientBoostingRegressor()` from `sklearn.ensemble`\n", - "to fit boosted regression trees to the `Boston` data\n", - "set. For classification we would use `GradientBoostingClassifier()`.\n", - "The argument `n_estimators=5000`\n", - "indicates that we want 5000 trees, and the option\n", - "`max_depth=3` limits the depth of each tree. The\n", - "argument `learning_rate` is the $\\lambda$\n", - "mentioned earlier in the description of boosting." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "887b4fa9", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:46.513662Z", - "iopub.status.busy": "2023-07-26T05:17:46.513485Z", - "iopub.status.idle": "2023-07-26T05:17:50.160797Z", - "shell.execute_reply": "2023-07-26T05:17:50.160288Z" - } - }, - "outputs": [], - "source": [ - "boost_boston = GBR(n_estimators=5000,\n", - " learning_rate=0.001,\n", - " max_depth=3,\n", - " random_state=0)\n", - "boost_boston.fit(X_train, y_train)" - ] - }, - { - "cell_type": "markdown", - "id": "97019e71", - "metadata": {}, - "source": [ - "We can see how the training error decreases with the `train_score_` attribute.\n", - "To get an idea of how the test error decreases we can use the\n", - "`staged_predict()` method to get the predicted values along the path." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6c56696c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:50.163556Z", - "iopub.status.busy": "2023-07-26T05:17:50.163389Z", - "iopub.status.idle": "2023-07-26T05:17:50.751622Z", - "shell.execute_reply": "2023-07-26T05:17:50.751113Z" - } - }, - "outputs": [], - "source": [ - "test_error = np.zeros_like(boost_boston.train_score_)\n", - "for idx, y_ in enumerate(boost_boston.staged_predict(X_test)):\n", - " test_error[idx] = np.mean((y_test - y_)**2)\n", - "\n", - "plot_idx = np.arange(boost_boston.train_score_.shape[0])\n", - "ax = subplots(figsize=(8,8))[1]\n", - "ax.plot(plot_idx,\n", - " boost_boston.train_score_,\n", - " 'b',\n", - " label='Training')\n", - "ax.plot(plot_idx,\n", - " test_error,\n", - " 'r',\n", - " label='Test')\n", - "ax.legend();" - ] - }, - { - "cell_type": "markdown", - "id": "f1a851f2", - "metadata": {}, - "source": [ - "We now use the boosted model to predict `medv` on the test set:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8a636f63", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:50.753880Z", - "iopub.status.busy": "2023-07-26T05:17:50.753719Z", - "iopub.status.idle": "2023-07-26T05:17:50.765303Z", - "shell.execute_reply": "2023-07-26T05:17:50.764814Z" - } - }, - "outputs": [], - "source": [ - "y_hat_boost = boost_boston.predict(X_test);\n", - "np.mean((y_test - y_hat_boost)**2)" - ] - }, - { - "cell_type": "markdown", - "id": "fb7f53af", - "metadata": {}, - "source": [ - " The test MSE obtained is 14.48,\n", - "similar to the test MSE for bagging. If we want to, we can\n", - "perform boosting with a different value of the shrinkage parameter\n", - "$\\lambda$ in (8.10). The default value is 0.001, but\n", - "this is easily modified. Here we take $\\lambda=0.2$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4e2ab3c7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:50.767698Z", - "iopub.status.busy": "2023-07-26T05:17:50.767534Z", - "iopub.status.idle": "2023-07-26T05:17:53.090781Z", - "shell.execute_reply": "2023-07-26T05:17:53.090355Z" - } - }, - "outputs": [], - "source": [ - "boost_boston = GBR(n_estimators=5000,\n", - " learning_rate=0.2,\n", - " max_depth=3,\n", - " random_state=0)\n", - "boost_boston.fit(X_train,\n", - " y_train)\n", - "y_hat_boost = boost_boston.predict(X_test);\n", - "np.mean((y_test - y_hat_boost)**2)" - ] - }, - { - "cell_type": "markdown", - "id": "9360b5b0", - "metadata": {}, - "source": [ - "In this case, using $\\lambda=0.2$ leads to a almost the same test MSE\n", - "as $\\lambda=0.001$." - ] - }, - { - "cell_type": "markdown", - "id": "1693f5da", - "metadata": {}, - "source": [ - "## Bayesian Additive Regression Trees" - ] - }, - { - "cell_type": "markdown", - "id": "47c83ab9", - "metadata": {}, - "source": [ - "In this section we demonstrate a `Python` implementation of BART found in the\n", - "`ISLP.bart` package. We fit a model\n", - "to the `Boston` housing data set. This `BART()` estimator is\n", - "designed for quantitative outcome variables, though other implementations are available for\n", - "fitting logistic and probit models to categorical outcomes." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b0b41c04", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:53.093602Z", - "iopub.status.busy": "2023-07-26T05:17:53.093377Z", - "iopub.status.idle": "2023-07-26T05:17:54.986360Z", - "shell.execute_reply": "2023-07-26T05:17:54.985944Z" - } - }, - "outputs": [], - "source": [ - "bart_boston = BART(random_state=0, burnin=5, ndraw=15)\n", - "bart_boston.fit(X_train, y_train)" - ] - }, - { - "cell_type": "markdown", - "id": "af48867c", - "metadata": {}, - "source": [ - "On this data set, with this split into test and training, we see that the test error of BART is similar to that of random forest." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fda8fffc", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:54.988616Z", - "iopub.status.busy": "2023-07-26T05:17:54.988463Z", - "iopub.status.idle": "2023-07-26T05:17:55.919353Z", - "shell.execute_reply": "2023-07-26T05:17:55.918371Z" - } - }, - "outputs": [], - "source": [ - "yhat_test = bart_boston.predict(X_test.astype(np.float32))\n", - "np.mean((y_test - yhat_test)**2)" - ] - }, - { - "cell_type": "markdown", - "id": "bad852b7", - "metadata": {}, - "source": [ - "We can check how many times each variable appeared in the collection of trees.\n", - "This gives a summary similar to the variable importance plot for boosting and random forests." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "be77f0e4", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:55.922114Z", - "iopub.status.busy": "2023-07-26T05:17:55.921834Z", - "iopub.status.idle": "2023-07-26T05:17:55.926261Z", - "shell.execute_reply": "2023-07-26T05:17:55.925458Z" - } - }, - "outputs": [], - "source": [ - "var_inclusion = pd.Series(bart_boston.variable_inclusion_.mean(0),\n", - " index=D.columns)\n", - "var_inclusion" - ] - } - ], - "metadata": { - "jupytext": { - "cell_metadata_filter": "-all", - "formats": "ipynb,md:myst", - "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/source/labs/Ch9-svm-lab.ipynb b/docs/source/labs/Ch9-svm-lab.ipynb deleted file mode 100644 index 7d8ebe5..0000000 --- a/docs/source/labs/Ch9-svm-lab.ipynb +++ /dev/null @@ -1,1200 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "d45c6d2b", - "metadata": {}, - "source": [ - "# Support Vector Machines\n", - "\n", - "\n", - " \"Open\n", - "\n", - "\n", - "\n", - "In this lab, we use the `sklearn.svm` library to demonstrate the support\n", - "vector classifier and the support vector machine.\n", - "\n", - "We import some of our usual libraries." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "eeaa5be0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:57.286672Z", - "iopub.status.busy": "2023-07-26T05:17:57.286340Z", - "iopub.status.idle": "2023-07-26T05:17:58.454461Z", - "shell.execute_reply": "2023-07-26T05:17:58.453915Z" - } - }, - "outputs": [], - "source": [ - "import numpy as np\n", - "from matplotlib.pyplot import subplots, cm\n", - "import sklearn.model_selection as skm\n", - "from ISLP import load_data, confusion_table" - ] - }, - { - "cell_type": "markdown", - "id": "26ebd377", - "metadata": {}, - "source": [ - "We also collect the new imports\n", - "needed for this lab." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "41a59634", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:58.457424Z", - "iopub.status.busy": "2023-07-26T05:17:58.457095Z", - "iopub.status.idle": "2023-07-26T05:17:58.490405Z", - "shell.execute_reply": "2023-07-26T05:17:58.490061Z" - } - }, - "outputs": [], - "source": [ - "from sklearn.svm import SVC\n", - "from ISLP.svm import plot as plot_svm\n", - "from sklearn.metrics import RocCurveDisplay" - ] - }, - { - "cell_type": "markdown", - "id": "f197b846", - "metadata": {}, - "source": [ - "We will use the function `RocCurveDisplay.from_estimator()` to\n", - "produce several ROC plots, using a shorthand `roc_curve`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c9a175d7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:58.493151Z", - "iopub.status.busy": "2023-07-26T05:17:58.492879Z", - "iopub.status.idle": "2023-07-26T05:17:58.496409Z", - "shell.execute_reply": "2023-07-26T05:17:58.495164Z" - } - }, - "outputs": [], - "source": [ - "roc_curve = RocCurveDisplay.from_estimator # shorthand" - ] - }, - { - "cell_type": "markdown", - "id": "f666c212", - "metadata": {}, - "source": [ - "## Support Vector Classifier\n", - "\n", - "We now use the `SupportVectorClassifier()` function (abbreviated `SVC()`) from `sklearn` to fit the support vector\n", - "classifier for a given value of the parameter `C`. The\n", - "`C` argument allows us to specify the cost of a violation to\n", - "the margin. When the `cost` argument is small, then the margins\n", - "will be wide and many support vectors will be on the margin or will\n", - "violate the margin. When the `C` argument is large, then the\n", - "margins will be narrow and there will be few support vectors on the\n", - "margin or violating the margin.\n", - "\n", - "Here we demonstrate\n", - "the use of `SVC()` on a two-dimensional example, so that we can\n", - "plot the resulting decision boundary. We begin by generating the\n", - "observations, which belong to two classes, and checking whether the\n", - "classes are linearly separable." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a7216b47", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:58.499025Z", - "iopub.status.busy": "2023-07-26T05:17:58.498850Z", - "iopub.status.idle": "2023-07-26T05:17:58.613732Z", - "shell.execute_reply": "2023-07-26T05:17:58.613136Z" - } - }, - "outputs": [], - "source": [ - "rng = np.random.default_rng(1)\n", - "X = rng.standard_normal((50, 2))\n", - "y = np.array([-1]*25+[1]*25)\n", - "X[y==1] += 1\n", - "fig, ax = subplots(figsize=(8,8))\n", - "ax.scatter(X[:,0],\n", - " X[:,1],\n", - " c=y,\n", - " cmap=cm.coolwarm);" - ] - }, - { - "cell_type": "markdown", - "id": "7b4aff06", - "metadata": {}, - "source": [ - "They are not. We now fit the classifier." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ed329198", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:58.616777Z", - "iopub.status.busy": "2023-07-26T05:17:58.616601Z", - "iopub.status.idle": "2023-07-26T05:17:58.621468Z", - "shell.execute_reply": "2023-07-26T05:17:58.621124Z" - } - }, - "outputs": [], - "source": [ - "svm_linear = SVC(C=10, kernel='linear')\n", - "svm_linear.fit(X, y)" - ] - }, - { - "cell_type": "markdown", - "id": "5e6b4c79", - "metadata": {}, - "source": [ - "The support vector classifier with two features can\n", - "be visualized by plotting values of its *decision function*.\n", - "We have included a function for this in the `ISLP` package (inspired by a similar\n", - "example in the `sklearn` docs)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "95494b8b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:58.623538Z", - "iopub.status.busy": "2023-07-26T05:17:58.623369Z", - "iopub.status.idle": "2023-07-26T05:17:58.810058Z", - "shell.execute_reply": "2023-07-26T05:17:58.809447Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8,8))\n", - "plot_svm(X,\n", - " y,\n", - " svm_linear,\n", - " ax=ax)" - ] - }, - { - "cell_type": "markdown", - "id": "f6ce1246", - "metadata": {}, - "source": [ - "The decision\n", - "boundary between the two classes is linear (because we used the\n", - "argument `kernel='linear'`). The support vectors are marked with `+`\n", - "and the remaining observations are plotted as circles.\n", - "\n", - "What if we instead used a smaller value of the cost parameter?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "98c2236f", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:58.812870Z", - "iopub.status.busy": "2023-07-26T05:17:58.812658Z", - "iopub.status.idle": "2023-07-26T05:17:58.967044Z", - "shell.execute_reply": "2023-07-26T05:17:58.966462Z" - } - }, - "outputs": [], - "source": [ - "svm_linear_small = SVC(C=0.1, kernel='linear')\n", - "svm_linear_small.fit(X, y)\n", - "fig, ax = subplots(figsize=(8,8))\n", - "plot_svm(X,\n", - " y,\n", - " svm_linear_small,\n", - " ax=ax)" - ] - }, - { - "cell_type": "markdown", - "id": "906f4bb8", - "metadata": {}, - "source": [ - "With a smaller value of the cost parameter, we\n", - "obtain a larger number of support vectors, because the margin is now\n", - "wider. For linear kernels, we can extract the\n", - "coefficients of the linear decision boundary as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b498f594", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:58.969920Z", - "iopub.status.busy": "2023-07-26T05:17:58.969735Z", - "iopub.status.idle": "2023-07-26T05:17:58.973409Z", - "shell.execute_reply": "2023-07-26T05:17:58.972682Z" - } - }, - "outputs": [], - "source": [ - "svm_linear.coef_" - ] - }, - { - "cell_type": "markdown", - "id": "90a0ee53", - "metadata": {}, - "source": [ - "Since the support vector machine is an estimator in `sklearn`, we\n", - "can use the usual machinery to tune it." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b65e80d6", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:58.975865Z", - "iopub.status.busy": "2023-07-26T05:17:58.975747Z", - "iopub.status.idle": "2023-07-26T05:17:59.006899Z", - "shell.execute_reply": "2023-07-26T05:17:59.006545Z" - } - }, - "outputs": [], - "source": [ - "kfold = skm.KFold(5, \n", - " random_state=0,\n", - " shuffle=True)\n", - "grid = skm.GridSearchCV(svm_linear,\n", - " {'C':[0.001,0.01,0.1,1,5,10,100]},\n", - " refit=True,\n", - " cv=kfold,\n", - " scoring='accuracy')\n", - "grid.fit(X, y)\n", - "grid.best_params_" - ] - }, - { - "cell_type": "markdown", - "id": "d390528c", - "metadata": {}, - "source": [ - "We can easily access the cross-validation errors for each of these models\n", - "in `grid.cv_results_`. This prints out a lot of detail, so we\n", - "extract the accuracy results only." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bba8fad7", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:59.010681Z", - "iopub.status.busy": "2023-07-26T05:17:59.010231Z", - "iopub.status.idle": "2023-07-26T05:17:59.014165Z", - "shell.execute_reply": "2023-07-26T05:17:59.013759Z" - } - }, - "outputs": [], - "source": [ - "grid.cv_results_[('mean_test_score')]" - ] - }, - { - "cell_type": "markdown", - "id": "703e2d43", - "metadata": {}, - "source": [ - "We see that `C=1` results in the highest cross-validation\n", - "accuracy of 0.74, though\n", - "the accuracy is the same for several values of `C`.\n", - "The classifier `grid.best_estimator_` can be used to predict the class\n", - "label on a set of test observations. Let’s generate a test data set." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ad64269d", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:59.017638Z", - "iopub.status.busy": "2023-07-26T05:17:59.017453Z", - "iopub.status.idle": "2023-07-26T05:17:59.020397Z", - "shell.execute_reply": "2023-07-26T05:17:59.019642Z" - } - }, - "outputs": [], - "source": [ - "X_test = rng.standard_normal((20, 2))\n", - "y_test = np.array([-1]*10+[1]*10)\n", - "X_test[y_test==1] += 1" - ] - }, - { - "cell_type": "markdown", - "id": "db41f5e2", - "metadata": {}, - "source": [ - "Now we predict the class labels of these test observations. Here we\n", - "use the best model selected by cross-validation in order to make the\n", - "predictions." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5107fca1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:59.026576Z", - "iopub.status.busy": "2023-07-26T05:17:59.026365Z", - "iopub.status.idle": "2023-07-26T05:17:59.033664Z", - "shell.execute_reply": "2023-07-26T05:17:59.033173Z" - } - }, - "outputs": [], - "source": [ - "best_ = grid.best_estimator_\n", - "y_test_hat = best_.predict(X_test)\n", - "confusion_table(y_test_hat, y_test)" - ] - }, - { - "cell_type": "markdown", - "id": "bbfc8005", - "metadata": {}, - "source": [ - "Thus, with this value of `C`,\n", - "70% of the test\n", - "observations are correctly classified. What if we had instead used\n", - "`C=0.001`?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0320d9e0", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:59.035936Z", - "iopub.status.busy": "2023-07-26T05:17:59.035645Z", - "iopub.status.idle": "2023-07-26T05:17:59.041475Z", - "shell.execute_reply": "2023-07-26T05:17:59.041054Z" - } - }, - "outputs": [], - "source": [ - "svm_ = SVC(C=0.001,\n", - " kernel='linear').fit(X, y)\n", - "y_test_hat = svm_.predict(X_test)\n", - "confusion_table(y_test_hat, y_test)" - ] - }, - { - "cell_type": "markdown", - "id": "427d775f", - "metadata": {}, - "source": [ - "In this case 60% of test observations are correctly classified.\n", - "\n", - "We now consider a situation in which the two classes are linearly\n", - "separable. Then we can find an optimal separating hyperplane using the\n", - "`SVC()` estimator. We first\n", - "further separate the two classes in our simulated data so that they\n", - "are linearly separable:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "84d7e778", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:59.043762Z", - "iopub.status.busy": "2023-07-26T05:17:59.043557Z", - "iopub.status.idle": "2023-07-26T05:17:59.144334Z", - "shell.execute_reply": "2023-07-26T05:17:59.143881Z" - } - }, - "outputs": [], - "source": [ - "X[y==1] += 1.9;\n", - "fig, ax = subplots(figsize=(8,8))\n", - "ax.scatter(X[:,0], X[:,1], c=y, cmap=cm.coolwarm);" - ] - }, - { - "cell_type": "markdown", - "id": "ff7bdad1", - "metadata": {}, - "source": [ - "Now the observations are just barely linearly separable." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "abb1f8be", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:59.147029Z", - "iopub.status.busy": "2023-07-26T05:17:59.146868Z", - "iopub.status.idle": "2023-07-26T05:17:59.154787Z", - "shell.execute_reply": "2023-07-26T05:17:59.153508Z" - } - }, - "outputs": [], - "source": [ - "svm_ = SVC(C=1e5, kernel='linear').fit(X, y)\n", - "y_hat = svm_.predict(X)\n", - "confusion_table(y_hat, y)" - ] - }, - { - "cell_type": "markdown", - "id": "c44297cc", - "metadata": {}, - "source": [ - "We fit the\n", - "support vector classifier and plot the resulting hyperplane, using a\n", - "very large value of `C` so that no observations are\n", - "misclassified." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2e4ed2f5", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:59.157293Z", - "iopub.status.busy": "2023-07-26T05:17:59.157100Z", - "iopub.status.idle": "2023-07-26T05:17:59.287805Z", - "shell.execute_reply": "2023-07-26T05:17:59.287264Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8,8))\n", - "plot_svm(X,\n", - " y,\n", - " svm_,\n", - " ax=ax)" - ] - }, - { - "cell_type": "markdown", - "id": "2836d70d", - "metadata": {}, - "source": [ - "Indeed no training errors were made and only three support vectors were used.\n", - "In fact, the large value of `C` also means that these three support points are *on the margin*, and define it.\n", - "One may wonder how good the classifier could be on test data that depends on only three data points!\n", - " We now try a smaller\n", - "value of `C`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "164a611c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:59.291112Z", - "iopub.status.busy": "2023-07-26T05:17:59.290933Z", - "iopub.status.idle": "2023-07-26T05:17:59.296989Z", - "shell.execute_reply": "2023-07-26T05:17:59.296618Z" - } - }, - "outputs": [], - "source": [ - "svm_ = SVC(C=0.1, kernel='linear').fit(X, y)\n", - "y_hat = svm_.predict(X)\n", - "confusion_table(y_hat, y)" - ] - }, - { - "cell_type": "markdown", - "id": "39a432d1", - "metadata": {}, - "source": [ - "Using `C=0.1`, we again do not misclassify any training observations, but we\n", - "also obtain a much wider margin and make use of twelve support\n", - "vectors. These jointly define the orientation of the decision boundary, and since there are more of them, it is more stable. It seems possible that this model will perform better on test\n", - "data than the model with `C=1e5` (and indeed, a simple experiment with a large test set would bear this out)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c67591a1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:59.299723Z", - "iopub.status.busy": "2023-07-26T05:17:59.299515Z", - "iopub.status.idle": "2023-07-26T05:17:59.442236Z", - "shell.execute_reply": "2023-07-26T05:17:59.441618Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8,8))\n", - "plot_svm(X,\n", - " y,\n", - " svm_,\n", - " ax=ax)" - ] - }, - { - "cell_type": "markdown", - "id": "25e61f65", - "metadata": {}, - "source": [ - "## Support Vector Machine\n", - "In order to fit an SVM using a non-linear kernel, we once again use\n", - "the `SVC()` estimator. However, now we use a different value\n", - "of the parameter `kernel`. To fit an SVM with a polynomial\n", - "kernel we use `kernel=\"poly\"`, and to fit an SVM with a\n", - "radial kernel we use\n", - "`kernel=\"rbf\"`. In the former case we also use the\n", - "`degree` argument to specify a degree for the polynomial kernel\n", - "(this is $d$ in (9.22)), and in the latter case we use\n", - "`gamma` to specify a value of $\\gamma$ for the radial basis\n", - "kernel (9.24).\n", - "\n", - "We first generate some data with a non-linear class boundary, as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "322be574", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:59.445260Z", - "iopub.status.busy": "2023-07-26T05:17:59.445043Z", - "iopub.status.idle": "2023-07-26T05:17:59.448424Z", - "shell.execute_reply": "2023-07-26T05:17:59.447969Z" - } - }, - "outputs": [], - "source": [ - "X = rng.standard_normal((200, 2))\n", - "X[:100] += 2\n", - "X[100:150] -= 2\n", - "y = np.array([1]*150+[2]*50)" - ] - }, - { - "cell_type": "markdown", - "id": "22fe2182", - "metadata": {}, - "source": [ - "Plotting the data makes it clear that the class boundary is indeed non-linear." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "04fda182", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:59.451843Z", - "iopub.status.busy": "2023-07-26T05:17:59.451105Z", - "iopub.status.idle": "2023-07-26T05:17:59.552259Z", - "shell.execute_reply": "2023-07-26T05:17:59.551787Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8,8))\n", - "ax.scatter(X[:,0],\n", - " X[:,1],\n", - " c=y,\n", - " cmap=cm.coolwarm)" - ] - }, - { - "cell_type": "markdown", - "id": "64913fe3", - "metadata": {}, - "source": [ - "The data is randomly split into training and testing groups. We then\n", - "fit the training data using the `SVC()` estimator with a\n", - "radial kernel and $\\gamma=1$:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0c2690d1", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:59.554419Z", - "iopub.status.busy": "2023-07-26T05:17:59.554263Z", - "iopub.status.idle": "2023-07-26T05:17:59.559300Z", - "shell.execute_reply": "2023-07-26T05:17:59.558839Z" - } - }, - "outputs": [], - "source": [ - "(X_train, \n", - " X_test,\n", - " y_train,\n", - " y_test) = skm.train_test_split(X,\n", - " y,\n", - " test_size=0.5,\n", - " random_state=0)\n", - "svm_rbf = SVC(kernel=\"rbf\", gamma=1, C=1)\n", - "svm_rbf.fit(X_train, y_train)" - ] - }, - { - "cell_type": "markdown", - "id": "5da9efdb", - "metadata": {}, - "source": [ - "The plot shows that the resulting SVM has a decidedly non-linear\n", - "boundary." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3eb171e8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:59.561548Z", - "iopub.status.busy": "2023-07-26T05:17:59.561354Z", - "iopub.status.idle": "2023-07-26T05:17:59.836831Z", - "shell.execute_reply": "2023-07-26T05:17:59.836408Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8,8))\n", - "plot_svm(X_train,\n", - " y_train,\n", - " svm_rbf,\n", - " ax=ax)" - ] - }, - { - "cell_type": "markdown", - "id": "ab5b1446", - "metadata": {}, - "source": [ - "We can see from the figure that there are a fair number of training\n", - "errors in this SVM fit. If we increase the value of `C`, we\n", - "can reduce the number of training errors. However, this comes at the\n", - "price of a more irregular decision boundary that seems to be at risk\n", - "of overfitting the data." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9a6b905b", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:17:59.839191Z", - "iopub.status.busy": "2023-07-26T05:17:59.838970Z", - "iopub.status.idle": "2023-07-26T05:18:00.004302Z", - "shell.execute_reply": "2023-07-26T05:18:00.003731Z" - } - }, - "outputs": [], - "source": [ - "svm_rbf = SVC(kernel=\"rbf\", gamma=1, C=1e5)\n", - "svm_rbf.fit(X_train, y_train)\n", - "fig, ax = subplots(figsize=(8,8))\n", - "plot_svm(X_train,\n", - " y_train,\n", - " svm_rbf,\n", - " ax=ax)" - ] - }, - { - "cell_type": "markdown", - "id": "300c1b8b", - "metadata": {}, - "source": [ - "We can perform cross-validation using `skm.GridSearchCV()` to select the\n", - "best choice of $\\gamma$ and `C` for an SVM with a radial\n", - "kernel:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5ab01d6c", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:00.007020Z", - "iopub.status.busy": "2023-07-26T05:18:00.006845Z", - "iopub.status.idle": "2023-07-26T05:18:00.113455Z", - "shell.execute_reply": "2023-07-26T05:18:00.112946Z" - } - }, - "outputs": [], - "source": [ - "kfold = skm.KFold(5, \n", - " random_state=0,\n", - " shuffle=True)\n", - "grid = skm.GridSearchCV(svm_rbf,\n", - " {'C':[0.1,1,10,100,1000],\n", - " 'gamma':[0.5,1,2,3,4]},\n", - " refit=True,\n", - " cv=kfold,\n", - " scoring='accuracy');\n", - "grid.fit(X_train, y_train)\n", - "grid.best_params_" - ] - }, - { - "cell_type": "markdown", - "id": "1bb987ae", - "metadata": {}, - "source": [ - "The best choice of parameters under five-fold CV is achieved at `C=1`\n", - "and `gamma=0.5`, though several other values also achieve the same\n", - "value." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "166a6acb", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:00.116122Z", - "iopub.status.busy": "2023-07-26T05:18:00.115942Z", - "iopub.status.idle": "2023-07-26T05:18:00.360989Z", - "shell.execute_reply": "2023-07-26T05:18:00.360361Z" - } - }, - "outputs": [], - "source": [ - "best_svm = grid.best_estimator_\n", - "fig, ax = subplots(figsize=(8,8))\n", - "plot_svm(X_train,\n", - " y_train,\n", - " best_svm,\n", - " ax=ax)\n", - "\n", - "y_hat_test = best_svm.predict(X_test)\n", - "confusion_table(y_hat_test, y_test)" - ] - }, - { - "cell_type": "markdown", - "id": "39ee6f32", - "metadata": {}, - "source": [ - "With these parameters, 12% of test\n", - "observations are misclassified by this SVM." - ] - }, - { - "cell_type": "markdown", - "id": "f0ea699d", - "metadata": {}, - "source": [ - "## ROC Curves\n", - "\n", - "SVMs and support vector classifiers output class labels for each\n", - "observation. However, it is also possible to obtain *fitted values*\n", - "for each observation, which are the numerical scores used to\n", - "obtain the class labels. For instance, in the case of a support vector\n", - "classifier, the fitted value for an observation $X= (X_1, X_2, \\ldots,\n", - "X_p)^T$ takes the form $\\hat{\\beta}_0 + \\hat{\\beta}_1 X_1 +\n", - "\\hat{\\beta}_2 X_2 + \\ldots + \\hat{\\beta}_p X_p$. For an SVM with a\n", - "non-linear kernel, the equation that yields the fitted value is given\n", - "in (9.23). The sign of the fitted value\n", - "determines on which side of the decision boundary the observation\n", - "lies. Therefore, the relationship between the fitted value and the\n", - "class prediction for a given observation is simple: if the fitted\n", - "value exceeds zero then the observation is assigned to one class, and\n", - "if it is less than zero then it is assigned to the other.\n", - "By changing this threshold from zero to some positive value,\n", - "we skew the classifications in favor of one class versus the other.\n", - "By considering a range of these thresholds, positive and negative, we produce the ingredients for a ROC plot.\n", - "We can access these values by calling the `decision_function()`\n", - "method of a fitted SVM estimator.\n", - "\n", - "The function `ROCCurveDisplay.from_estimator()` (which we have abbreviated to `roc_curve()`) will produce a plot of a ROC curve. It takes a fitted estimator as its first argument, followed\n", - "by a model matrix $X$ and labels $y$. The argument `name` is used in the legend,\n", - "while `color` is used for the color of the line. Results are plotted\n", - "on our axis object `ax`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0607fc41", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:00.363471Z", - "iopub.status.busy": "2023-07-26T05:18:00.363318Z", - "iopub.status.idle": "2023-07-26T05:18:00.469265Z", - "shell.execute_reply": "2023-07-26T05:18:00.468690Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8,8))\n", - "roc_curve(best_svm,\n", - " X_train,\n", - " y_train,\n", - " name='Training',\n", - " color='r',\n", - " ax=ax);" - ] - }, - { - "cell_type": "markdown", - "id": "54446e71", - "metadata": {}, - "source": [ - " In this example, the SVM appears to provide accurate predictions. By increasing\n", - "$\\gamma$ we can produce a more flexible fit and generate further\n", - "improvements in accuracy." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5211a882", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:00.471742Z", - "iopub.status.busy": "2023-07-26T05:18:00.471575Z", - "iopub.status.idle": "2023-07-26T05:18:00.629647Z", - "shell.execute_reply": "2023-07-26T05:18:00.629119Z" - } - }, - "outputs": [], - "source": [ - "svm_flex = SVC(kernel=\"rbf\", \n", - " gamma=50,\n", - " C=1)\n", - "svm_flex.fit(X_train, y_train)\n", - "fig, ax = subplots(figsize=(8,8))\n", - "roc_curve(svm_flex,\n", - " X_train,\n", - " y_train,\n", - " name='Training $\\gamma=50$',\n", - " color='r',\n", - " ax=ax);" - ] - }, - { - "cell_type": "markdown", - "id": "de7e4be8", - "metadata": {}, - "source": [ - "However, these ROC curves are all on the training data. We are really\n", - "more interested in the level of prediction accuracy on the test\n", - "data. When we compute the ROC curves on the test data, the model with\n", - "$\\gamma=0.5$ appears to provide the most accurate results." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "12acc4ff", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:00.632175Z", - "iopub.status.busy": "2023-07-26T05:18:00.631994Z", - "iopub.status.idle": "2023-07-26T05:18:00.636710Z", - "shell.execute_reply": "2023-07-26T05:18:00.636238Z" - } - }, - "outputs": [], - "source": [ - "roc_curve(svm_flex,\n", - " X_test,\n", - " y_test,\n", - " name='Test $\\gamma=50$',\n", - " color='b',\n", - " ax=ax)\n", - "fig;" - ] - }, - { - "cell_type": "markdown", - "id": "eb5c8aeb", - "metadata": {}, - "source": [ - "Let’s look at our tuned SVM." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "21c81913", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:00.639004Z", - "iopub.status.busy": "2023-07-26T05:18:00.638813Z", - "iopub.status.idle": "2023-07-26T05:18:00.753454Z", - "shell.execute_reply": "2023-07-26T05:18:00.752986Z" - } - }, - "outputs": [], - "source": [ - "fig, ax = subplots(figsize=(8,8))\n", - "for (X_, y_, c, name) in zip(\n", - " (X_train, X_test),\n", - " (y_train, y_test),\n", - " ('r', 'b'),\n", - " ('CV tuned on training',\n", - " 'CV tuned on test')):\n", - " roc_curve(best_svm,\n", - " X_,\n", - " y_,\n", - " name=name,\n", - " ax=ax,\n", - " color=c)" - ] - }, - { - "cell_type": "markdown", - "id": "b9fefe9f", - "metadata": {}, - "source": [ - "## SVM with Multiple Classes\n", - "\n", - "If the response is a factor containing more than two levels, then the\n", - "`SVC()` function will perform multi-class classification using\n", - "either the one-versus-one approach (when `decision_function_shape=='ovo'`)\n", - "or one-versus-rest {One-versus-rest is also known as one-versus-all.} (when `decision_function_shape=='ovr'`).\n", - "We explore that setting briefly here by\n", - "generating a third class of observations." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2fff4fa8", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:00.756116Z", - "iopub.status.busy": "2023-07-26T05:18:00.755939Z", - "iopub.status.idle": "2023-07-26T05:18:00.855998Z", - "shell.execute_reply": "2023-07-26T05:18:00.855206Z" - } - }, - "outputs": [], - "source": [ - "rng = np.random.default_rng(123)\n", - "X = np.vstack([X, rng.standard_normal((50, 2))])\n", - "y = np.hstack([y, [0]*50])\n", - "X[y==0,1] += 2\n", - "fig, ax = subplots(figsize=(8,8))\n", - "ax.scatter(X[:,0], X[:,1], c=y, cmap=cm.coolwarm);" - ] - }, - { - "cell_type": "markdown", - "id": "b7adc87d", - "metadata": {}, - "source": [ - "We now fit an SVM to the data:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5396f2df", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:00.861579Z", - "iopub.status.busy": "2023-07-26T05:18:00.861401Z", - "iopub.status.idle": "2023-07-26T05:18:01.455936Z", - "shell.execute_reply": "2023-07-26T05:18:01.455227Z" - } - }, - "outputs": [], - "source": [ - "svm_rbf_3 = SVC(kernel=\"rbf\",\n", - " C=10,\n", - " gamma=1,\n", - " decision_function_shape='ovo');\n", - "svm_rbf_3.fit(X, y)\n", - "fig, ax = subplots(figsize=(8,8))\n", - "plot_svm(X,\n", - " y,\n", - " svm_rbf_3,\n", - " scatter_cmap=cm.tab10,\n", - " ax=ax)" - ] - }, - { - "cell_type": "markdown", - "id": "837644f5", - "metadata": {}, - "source": [ - "The `sklearn.svm` library can also be used to perform support vector\n", - "regression with a numerical response using the estimator `SupportVectorRegression()`." - ] - }, - { - "cell_type": "markdown", - "id": "a6bc0cbc", - "metadata": {}, - "source": [ - "## Application to Gene Expression Data\n", - "\n", - "We now examine the `Khan` data set, which consists of a number of\n", - "tissue samples corresponding to four distinct types of small round\n", - "blue cell tumors. For each tissue sample, gene expression measurements\n", - "are available. The data set consists of training data, `xtrain`\n", - "and `ytrain`, and testing data, `xtest` and `ytest`.\n", - "\n", - "We examine the dimension of the data:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f63c575e", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:01.458214Z", - "iopub.status.busy": "2023-07-26T05:18:01.458015Z", - "iopub.status.idle": "2023-07-26T05:18:01.539063Z", - "shell.execute_reply": "2023-07-26T05:18:01.538275Z" - } - }, - "outputs": [], - "source": [ - "Khan = load_data('Khan')\n", - "Khan['xtrain'].shape, Khan['xtest'].shape" - ] - }, - { - "cell_type": "markdown", - "id": "bfd6492c", - "metadata": {}, - "source": [ - "This data set consists of expression measurements for 2,308\n", - "genes. The training and test sets consist of 63 and 20\n", - "observations, respectively.\n", - "\n", - "We will use a support vector approach to predict cancer subtype using\n", - "gene expression measurements. In this data set, there is a very\n", - "large number of features relative to the number of observations. This\n", - "suggests that we should use a linear kernel, because the additional\n", - "flexibility that will result from using a polynomial or radial kernel \n", - "is unnecessary." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "32091338", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:01.541953Z", - "iopub.status.busy": "2023-07-26T05:18:01.541758Z", - "iopub.status.idle": "2023-07-26T05:18:01.578259Z", - "shell.execute_reply": "2023-07-26T05:18:01.577863Z" - } - }, - "outputs": [], - "source": [ - "khan_linear = SVC(kernel='linear', C=10)\n", - "khan_linear.fit(Khan['xtrain'], Khan['ytrain'])\n", - "confusion_table(khan_linear.predict(Khan['xtrain']),\n", - " Khan['ytrain'])" - ] - }, - { - "cell_type": "markdown", - "id": "23043ab0", - "metadata": {}, - "source": [ - "We see that there are *no* training\n", - "errors. In fact, this is not surprising, because the large number of\n", - "variables relative to the number of observations implies that it is\n", - "easy to find hyperplanes that fully separate the classes. We are more\n", - "interested in the support vector classifier’s performance on the\n", - "test observations." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d9058023", - "metadata": { - "execution": { - "iopub.execute_input": "2023-07-26T05:18:01.582842Z", - "iopub.status.busy": "2023-07-26T05:18:01.582631Z", - "iopub.status.idle": "2023-07-26T05:18:01.598298Z", - "shell.execute_reply": "2023-07-26T05:18:01.597510Z" - } - }, - "outputs": [], - "source": [ - "confusion_table(khan_linear.predict(Khan['xtest']),\n", - " Khan['ytest'])" - ] - }, - { - "cell_type": "markdown", - "id": "d0d5aba4", - "metadata": {}, - "source": [ - "We see that using `C=10` yields two test set errors on these data." - ] - } - ], - "metadata": { - "jupytext": { - "cell_metadata_filter": "-all", - "formats": "ipynb,md:myst", - "main_language": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.17" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From c978d67c101866759599fa560a48c5fa39fe383e Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Wed, 26 Jul 2023 10:41:40 -0400 Subject: [PATCH 054/195] updating ISLP_labs; removing notebooks dir --- docs/ISLP_labs | 2 +- docs/notebooks/requirements.txt | 160 -------------------------------- 2 files changed, 1 insertion(+), 161 deletions(-) delete mode 100644 docs/notebooks/requirements.txt diff --git a/docs/ISLP_labs b/docs/ISLP_labs index 322b7ec..58b8849 160000 --- a/docs/ISLP_labs +++ b/docs/ISLP_labs @@ -1 +1 @@ -Subproject commit 322b7ec7ac3906157f808da84c23b9388996f23c +Subproject commit 58b88498ea92347721099e8c7b0c8248829b5ac7 diff --git a/docs/notebooks/requirements.txt b/docs/notebooks/requirements.txt deleted file mode 100644 index 8da6115..0000000 --- a/docs/notebooks/requirements.txt +++ /dev/null @@ -1,160 +0,0 @@ -anyio==3.6.2 -appnope==0.1.3 -argon2-cffi==21.3.0 -argon2-cffi-bindings==21.2.0 -arrow==1.2.3 -astor==0.8.1 -asttokens==2.2.1 -attrs==22.2.0 -autograd==1.5 -autograd-gamma==0.5.0 -backcall==0.2.0 -beautifulsoup4==4.12.1 -bleach==6.0.0 -build==0.10.0 -CacheControl==0.12.11 -certifi==2023.5.7 -cffi==1.15.1 -charset-normalizer==3.1.0 -cleo==2.0.1 -comm==0.1.3 -contourpy==1.0.7 -crashtest==0.4.1 -cycler==0.11.0 -debugpy==1.6.7 -decorator==5.1.1 -defusedxml==0.7.1 -distlib==0.3.6 -dulwich==0.21.5 -executing==1.2.0 -fastjsonschema==2.16.3 -filelock==3.11.0 -fonttools==4.39.4 -formulaic==0.6.1 -fqdn==1.5.1 -future==0.18.3 -html5lib==1.1 -idna==3.4 -importlib-metadata==6.1.0 -importlib-resources==5.12.0 -installer==0.7.0 -interface-meta==1.3.0 -ipykernel==6.22.0 -ipython==8.12.0 -ipython-genutils==0.2.0 -ipywidgets==8.0.6 -ISLP==0.3.16 -isoduration==20.11.0 -jaraco.classes==3.2.3 -jedi==0.18.2 -Jinja2==3.1.2 -joblib==1.2.0 -jsonpointer==2.3 -jsonschema==4.17.3 -jupyter==1.0.0 -jupyter-console==6.6.3 -jupyter-events==0.6.3 -jupyter_client==8.1.0 -jupyter_core==5.3.0 -jupyter_server==2.5.0 -jupyter_server_terminals==0.4.4 -jupyterlab-pygments==0.2.2 -jupyterlab-widgets==3.0.7 -keyring==23.13.1 -kiwisolver==1.4.4 -lab==7.3 -lifelines==0.27.7 -lockfile==0.12.2 -lxml==4.9.2 -markdown-it-py==2.2.0 -MarkupSafe==2.1.2 -matplotlib==3.7.1 -matplotlib-inline==0.1.6 -mdurl==0.1.2 -mistune==2.0.5 -more-itertools==9.1.0 -msgpack==1.0.5 -nbclassic==0.5.5 -nbclient==0.7.3 -nbconvert==7.3.0 -nbformat==5.8.0 -nest-asyncio==1.5.6 -notebook==6.5.4 -notebook_shim==0.2.2 -numpy==1.24.2 -packaging==23.0 -pandas==2.0.1 -pandocfilters==1.5.0 -parso==0.8.3 -patsy==0.5.3 -pexpect==4.8.0 -pickleshare==0.7.5 -Pillow==9.5.0 -pkginfo==1.9.6 -platformdirs==3.2.0 -poetry==1.5.0 -poetry-core==1.6.0 -poetry-plugin-export==1.3.1 -progressbar2==4.2.0 -prometheus-client==0.16.0 -prompt-toolkit==3.0.38 -psutil==5.9.4 -ptyprocess==0.7.0 -pure-eval==0.2.2 -pycparser==2.21 -pygam==0.9.0 -Pygments==2.14.0 -pyparsing==3.0.9 -pyproject_hooks==1.0.0 -pyrsistent==0.19.3 -python-dateutil==2.8.2 -python-json-logger==2.0.7 -python-utils==3.5.2 -pytz==2023.3 -pytz-deprecation-shim==0.1.0.post0 -PyYAML==6.0 -pyzmq==25.0.2 -qtconsole==5.4.3 -QtPy==2.3.1 -rapidfuzz==2.15.1 -requests==2.30.0 -requests-toolbelt==1.0.0 -rfc3339-validator==0.1.4 -rfc3986-validator==0.1.1 -scikit-learn==1.2.2 -scipy==1.10.1 -Send2Trash==1.8.0 -shellingham==1.5.0.post1 -simplejson==3.19.1 -six==1.16.0 -sniffio==1.3.0 -soupsieve==2.4 -stack-data==0.6.2 -statsmodels==0.14.0 -terminado==0.17.1 -threadpoolctl==3.1.0 -tinycss2==1.2.1 -tomli==2.0.1 -tomlkit==0.11.8 -tornado==6.2 -traitlets==5.9.0 -trove-classifiers==2023.5.2 -txt2tags==3.8 -typing_extensions==4.5.0 -tzdata==2023.3 -uri-template==1.2.0 -urllib3==1.26.15 -virtualenv==20.23.0 -wcwidth==0.2.6 -webcolors==1.13 -webencodings==0.5.1 -websocket-client==1.5.1 -widgetsnbextension==4.0.7 -wrapt==1.15.0 -xattr==0.10.1 -zipp==3.15.0 -torch==2.0.0 -torchvision==0.15.1 -pytorch_lightning==2.0.2 -torchinfo==1.7.2 -torchmetrics==0.11.4 From 1657d3ecc2bfa965c843effe7cda7a9b5931f95e Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 30 Jul 2023 11:57:45 -0400 Subject: [PATCH 055/195] BF: fix errors in calls to pytorch_lightning methods since PDF --- ISLP/torch/lightning.py | 67 +++++++++++++++++++++++++++++------------ 1 file changed, 47 insertions(+), 20 deletions(-) diff --git a/ISLP/torch/lightning.py b/ISLP/torch/lightning.py index 82c45db..b7a338b 100644 --- a/ISLP/torch/lightning.py +++ b/ISLP/torch/lightning.py @@ -14,7 +14,7 @@ from pytorch_lightning import (LightningModule, LightningDataModule) -from pytorch_lightning.utilities.distributed import rank_zero_only +from pytorch_lightning.utilities import rank_zero_only from pytorch_lightning.callbacks import Callback class SimpleDataModule(LightningDataModule): @@ -132,14 +132,15 @@ def __init__(self, model, loss, optimizer=None, - metrics={}, + metrics=None, on_epoch=True, pre_process_y_for_metrics=lambda y: y): super(SimpleModule, self).__init__() self.model = model - self.loss = loss or nn.MSELoss() + self.loss = loss + optimizer = optimizer or RMSprop(model.parameters()) self._optimizer = optimizer self.metrics = metrics @@ -160,8 +161,10 @@ def training_step(self, batch, batch_idx): y_ = self.pre_process_y_for_metrics(y) for _metric in self.metrics.keys(): + pl_metric = self.metrics[_metric] self.log(f"train_{_metric}", - self.metrics[_metric](preds, y_), + pl_metric(preds.to(pl_metric.device), + y_.to(pl_metric.device)), on_epoch=self.on_epoch) return loss @@ -181,22 +184,36 @@ def configure_optimizers(self): @staticmethod def regression(model, + metrics=None, + device='cpu', **kwargs): - loss = nn.MSELoss() + + if metrics is None: + metrics = {} + + loss = nn.MSELoss().to(device) + if device is not None: + for key, metric in metrics.items(): + metrics[key] = metric.to(device) return SimpleModule(model, loss, + metrics=metrics, **kwargs) @staticmethod def binary_classification(model, - metrics={}, - device=None, + metrics=None, + device='cpu', **kwargs): + + if metrics is None: + metrics = {} + loss = nn.BCEWithLogitsLoss() if 'accuracy' not in metrics: - metrics['accuracy'] = Accuracy() + metrics['accuracy'] = Accuracy('binary') if device is not None: - for key, metric in metrics: + for key, metric in metrics.items(): metrics[key] = metric.to(device) return SimpleModule(model, loss, @@ -205,15 +222,21 @@ def binary_classification(model, **kwargs) @staticmethod - def classification(model, - metrics={}, - device=None, - **kwargs): - loss = nn.CrossEntropyLoss() + def multiclass(model, + num_classes, + metrics=None, + device='cpu', + **kwargs): + + if metrics is None: + metrics = {} + + loss = nn.CrossEntropyLoss().to(device) if 'accuracy' not in metrics: - metrics['accuracy'] = Accuracy() + metrics['accuracy'] = Accuracy('multiclass', + num_classes=num_classes) if device is not None: - for key, metric in metrics: + for key, metric in metrics.items(): metrics[key] = metric.to(device) return SimpleModule(model, loss, @@ -233,7 +256,7 @@ def on_validation_batch_start(self, pl_module, batch, batch_idx, - dataloader_idx): + dataloader_idx=0): x, y = batch self.val_preds.append(pl_module.forward(x)) self.val_targets.append(y) @@ -252,8 +275,10 @@ def on_validation_epoch_end(self, on_epoch=pl_module.on_epoch) for _metric in pl_module.metrics.keys(): + pl_metric = pl_module.metrics[_metric] pl_module.log(f"valid_{_metric}", - pl_module.metrics[_metric](preds, targets_), + pl_metric(preds.to(pl_metric.device), + targets_.to(pl_metric.device)), on_epoch=pl_module.on_epoch) def on_test_epoch_start(self, @@ -267,7 +292,7 @@ def on_test_batch_start(self, pl_module, batch, batch_idx, - dataloader_idx): + dataloader_idx=0): x, y = batch self.test_preds.append(pl_module.forward(x)) self.test_targets.append(y) @@ -286,7 +311,9 @@ def on_test_epoch_end(self, on_epoch=pl_module.on_epoch) for _metric in pl_module.metrics.keys(): + pl_metric = pl_module.metrics[_metric] pl_module.log(f"test_{_metric}", - pl_module.metrics[_metric](preds, targets_), + pl_metric(preds.to(pl_metric.device), + targets_.to(pl_metric.device)), on_epoch=pl_module.on_epoch) From a2867fa77f6e31f0237fbd1576fb5321c05371d8 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 30 Jul 2023 12:01:43 -0400 Subject: [PATCH 056/195] adding jupytext for readthedocs build --- docs/requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/requirements.txt b/docs/requirements.txt index 1e093a5..10bce0e 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -4,3 +4,4 @@ myst_nb sphinx-book-theme rpy2 sphinx_rtd_theme +jupytext From 66650ffcf693e4f7ad81e186936a3399f9dc1122 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 30 Jul 2023 12:14:34 -0400 Subject: [PATCH 057/195] revert to the original name --- ISLP/torch/lightning.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ISLP/torch/lightning.py b/ISLP/torch/lightning.py index b7a338b..e3b4088 100644 --- a/ISLP/torch/lightning.py +++ b/ISLP/torch/lightning.py @@ -222,11 +222,11 @@ def binary_classification(model, **kwargs) @staticmethod - def multiclass(model, - num_classes, - metrics=None, - device='cpu', - **kwargs): + def classification(model, + num_classes, + metrics=None, + device='cpu', + **kwargs): if metrics is None: metrics = {} From 81cfa6dec3cb10c1d07cac4855ada92104aa645b Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 30 Jul 2023 13:33:07 -0400 Subject: [PATCH 058/195] update submodule, v2 in install instructions --- docs/ISLP_labs | 2 +- docs/source/installation.myst | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/ISLP_labs b/docs/ISLP_labs index 58b8849..46f3711 160000 --- a/docs/ISLP_labs +++ b/docs/ISLP_labs @@ -1 +1 @@ -Subproject commit 58b88498ea92347721099e8c7b0c8248829b5ac7 +Subproject commit 46f3711a7ee6883d66ba4fc61c6700a2da02b4e7 diff --git a/docs/source/installation.myst b/docs/source/installation.myst index 054cee6..ce360f7 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -61,9 +61,11 @@ To ensure you have the same package versions as those built here, run: --- tags: [skip-execution] --- -pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v1/frozen_requirements.txt +pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v2_devel/frozen_requirements.txt ``` +For more specific install instructions go to [ISLP_labs](https://github.com/intro-stat-learning/ISLP_labs/tree/v2_devel). + ## Torch requirements The `ISLP` labs use `torch` and various related packages for the lab From e5b66c876dad471a9c562cd47b87b6251d6391f0 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 30 Jul 2023 13:44:59 -0400 Subject: [PATCH 059/195] requirements in library are not frozen --- frozen_requirements.txt | 10 ---------- torch_requirements.txt | 10 +++++----- 2 files changed, 5 insertions(+), 15 deletions(-) delete mode 100644 frozen_requirements.txt diff --git a/frozen_requirements.txt b/frozen_requirements.txt deleted file mode 100644 index 73b5e2e..0000000 --- a/frozen_requirements.txt +++ /dev/null @@ -1,10 +0,0 @@ -numpy==1.21.6 -scipy==1.10.1 -pandas==1.4.1 -lxml==4.8.0 -scikit-learn==1.2.2 -joblib==1.2.0 -statsmodels==0.13.2 -lifelines==0.27.6 -pygam==0.8.0 -l0bnb==1.0.0 diff --git a/torch_requirements.txt b/torch_requirements.txt index 374ee22..d7656a8 100644 --- a/torch_requirements.txt +++ b/torch_requirements.txt @@ -1,5 +1,5 @@ -torch==2.0.0 -torchvision==0.15.1 -pytorch_lightning==1.7.7 -torchinfo==1.7.2 -torchmetrics==0.9.3 +torch +torchvision +pytorch_lightning +torchinfo +torchmetrics From 99700bc1d409bd172f0667502c9df3050f2b6be8 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 30 Jul 2023 11:00:25 -0700 Subject: [PATCH 060/195] Create pylint.yml --- .github/workflows/pylint.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/pylint.yml diff --git a/.github/workflows/pylint.yml b/.github/workflows/pylint.yml new file mode 100644 index 0000000..383e65c --- /dev/null +++ b/.github/workflows/pylint.yml @@ -0,0 +1,23 @@ +name: Pylint + +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.8", "3.9", "3.10"] + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v3 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install pylint + - name: Analysing the code with pylint + run: | + pylint $(git ls-files '*.py') From ea1965c98e5c63324a47d2024bcf4f55b798df07 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 30 Jul 2023 11:03:27 -0700 Subject: [PATCH 061/195] Create python-package-conda.yml --- .github/workflows/python-package-conda.yml | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/workflows/python-package-conda.yml diff --git a/.github/workflows/python-package-conda.yml b/.github/workflows/python-package-conda.yml new file mode 100644 index 0000000..384f9b7 --- /dev/null +++ b/.github/workflows/python-package-conda.yml @@ -0,0 +1,34 @@ +name: Python Package using Conda + +on: [push] + +jobs: + build-linux: + runs-on: ubuntu-latest + strategy: + max-parallel: 5 + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: '3.10' + - name: Add conda to system path + run: | + # $CONDA is an environment variable pointing to the root of the miniconda directory + echo $CONDA/bin >> $GITHUB_PATH + - name: Install dependencies + run: | + conda env update --file environment.yml --name base + - name: Lint with flake8 + run: | + conda install flake8 + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + run: | + conda install pytest + pytest From a5fed84d1dcc19b3a6d569207b22ab007915d03d Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 30 Jul 2023 14:27:02 -0400 Subject: [PATCH 062/195] back to v1 for docs/ISLP_labs so that readthedocs shows v1 labs --- docs/ISLP_labs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ISLP_labs b/docs/ISLP_labs index 46f3711..ca12db6 160000 --- a/docs/ISLP_labs +++ b/docs/ISLP_labs @@ -1 +1 @@ -Subproject commit 46f3711a7ee6883d66ba4fc61c6700a2da02b4e7 +Subproject commit ca12db6546e69d0a3c6785fa34fc77ebbf4fdbd1 From 399cde6d2114fb1066d788d9dfc97cdecd23bade Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 30 Jul 2023 14:31:10 -0400 Subject: [PATCH 063/195] fix links to frozen environments --- .readthedocs.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index bf4c424..121d88a 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -31,9 +31,9 @@ sphinx: # Optionally declare the Python requirements required to build your docs python: install: - - requirements: frozen_requirements.txt + - requirements: https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v2_devel/frozen_requirements.txt; - requirements: docs/requirements.txt - - requirements: torch_requirements.txt + - requirements: https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v2_devel/torch_requirements.txt; - requirements: keras_requirements.txt - method: pip path: . From d088c9ad18994f3d28a5a9503c3abb2da832eef1 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 30 Jul 2023 14:35:30 -0400 Subject: [PATCH 064/195] get frozen reqs from docs/ISLP_labs --- .readthedocs.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 121d88a..f0c90dd 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -31,9 +31,9 @@ sphinx: # Optionally declare the Python requirements required to build your docs python: install: - - requirements: https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v2_devel/frozen_requirements.txt; + - requirements: docs/ISLP_labs/frozen_requirements.txt - requirements: docs/requirements.txt - - requirements: https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v2_devel/torch_requirements.txt; + - requirements: docs/ISLP_labs/torch_requirements.txt - requirements: keras_requirements.txt - method: pip path: . From 972281001ca50533c9bcdf94d1f99b5194639aef Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 30 Jul 2023 14:45:50 -0400 Subject: [PATCH 065/195] executed version of IMDB --- docs/source/imdb.ipynb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/source/imdb.ipynb b/docs/source/imdb.ipynb index ae0d7dd..d9ba5cb 100644 --- a/docs/source/imdb.ipynb +++ b/docs/source/imdb.ipynb @@ -345,11 +345,10 @@ "metadata": { "jupytext": { "cell_metadata_filter": "-all", - "formats": "source///ipynb,jupyterbook///md:myst,jupyterbook///ipynb", - "main_language": "python" + "formats": "md,ipynb" }, "kernelspec": { - "display_name": "python3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -363,7 +362,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.13" + "version": "3.9.17" } }, "nbformat": 4, From 8328bb0fa059480df91b899673a010605bb2b96d Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 30 Jul 2023 15:07:14 -0400 Subject: [PATCH 066/195] remove keras requirement --- .readthedocs.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index f0c90dd..368691f 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -34,6 +34,5 @@ python: - requirements: docs/ISLP_labs/frozen_requirements.txt - requirements: docs/requirements.txt - requirements: docs/ISLP_labs/torch_requirements.txt - - requirements: keras_requirements.txt - method: pip path: . From c38ce521b27866e7e2fe0d8293ea7269c88d66fb Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 30 Jul 2023 12:22:58 -0700 Subject: [PATCH 067/195] Update python-package-conda.yml --- .github/workflows/python-package-conda.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python-package-conda.yml b/.github/workflows/python-package-conda.yml index 384f9b7..4a1c295 100644 --- a/.github/workflows/python-package-conda.yml +++ b/.github/workflows/python-package-conda.yml @@ -20,7 +20,9 @@ jobs: echo $CONDA/bin >> $GITHUB_PATH - name: Install dependencies run: | - conda env update --file environment.yml --name base + pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt + pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/torch_requirements.txt + - name: Lint with flake8 run: | conda install flake8 From 3015be944aa3274e980d7450d3cfa95fca7e723b Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 30 Jul 2023 18:15:58 -0400 Subject: [PATCH 068/195] updating docs --- docs/README.rst | 5 +++++ docs/source/conf.py | 2 +- docs/source/labs.rst | 3 ++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/README.rst b/docs/README.rst index cee991e..709ce7d 100644 --- a/docs/README.rst +++ b/docs/README.rst @@ -7,3 +7,8 @@ Ridge regression ================ There is a snippet that should be inserted to remove the many warnings raised. + +Frozen reqs +=========== + +The versions of the labs are referred to in `source/installation.myst`, `source/labs.rst` diff --git a/docs/source/conf.py b/docs/source/conf.py index f4521cd..6007ef5 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -29,7 +29,7 @@ numpydoc_class_members_toctree = False nb_execution_mode = "auto" nb_execution_timeout = 60*20 #*100 -nb_execution_excludepatterns = ['Ch10*'] +nb_execution_excludepatterns = ['Ch10*', 'imdb.ipynb'] nb_execution_allow_errors = True #nb_kernel_rgx_aliases = {'python3': "islp_test"} diff --git a/docs/source/labs.rst b/docs/source/labs.rst index a70370e..b562cb9 100644 --- a/docs/source/labs.rst +++ b/docs/source/labs.rst @@ -15,7 +15,8 @@ Package versions To ensure you have the same package versions as those built here, run: - pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/frozen_requirements.txt + pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v1/frozen_requirements.txt; + pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v1/torch_requirements.txt .. toctree:: :maxdepth: 1 From 0c5dc9e642e8ad5400fa7fe82ca1f5ad1c0c6cdc Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 31 Jul 2023 00:05:54 -0400 Subject: [PATCH 069/195] fixing flake errors --- ISLP/bart/likelihood.py | 2 +- ISLP/models/model_spec.py | 2 +- docs/fix_and_run_notebooks.py | 1 - setup.py | 5 +---- 4 files changed, 3 insertions(+), 7 deletions(-) diff --git a/ISLP/bart/likelihood.py b/ISLP/bart/likelihood.py index 28f341d..cfa3ce6 100644 --- a/ISLP/bart/likelihood.py +++ b/ISLP/bart/likelihood.py @@ -82,7 +82,7 @@ def marginal_loglikelihood(response, if not incremental: if responsesq_sum is None: responsesq_sum = (response**2).sum() - response_moments = (n, response_sum, responseseq_sum) + response_moments = (n, response_sum, responsesq_sum) logL -= n * 0.5 * np.log(sigmasq) logL -= 0.5 * responsesq_sum / sigmasq diff --git a/ISLP/models/model_spec.py b/ISLP/models/model_spec.py index dda82b2..07a8b88 100644 --- a/ISLP/models/model_spec.py +++ b/ISLP/models/model_spec.py @@ -715,7 +715,7 @@ def contrast(col, is_categorical=True, encoder=encoder) -def ordinal(col, *args, **kwargs): +def ordinal(col, name=None, *args, **kwargs): """ Create ordinal encoding of categorical feature. diff --git a/docs/fix_and_run_notebooks.py b/docs/fix_and_run_notebooks.py index de76437..1545aec 100644 --- a/docs/fix_and_run_notebooks.py +++ b/docs/fix_and_run_notebooks.py @@ -8,7 +8,6 @@ for f in glob(os.path.join(dirname, 'source', 'labs', 'Ch14*')): os.remove(f) print(f) - stop version = 'v1' main = 'main' diff --git a/setup.py b/setup.py index 568200d..ff4a13b 100755 --- a/setup.py +++ b/setup.py @@ -213,10 +213,7 @@ def version_error_msg(pkg_name, found_ver, min_ver): # get long_description -if sys.version_info[0] > 2: - long_description = open('README.md', 'rt', encoding='utf-8').read() -else: - long_description = unicode(file('README.md').read(), 'utf-8') +long_description = open('README.md', 'rt', encoding='utf-8').read() def main(**extra_args): setup(name=info.NAME, From 81b934624fdd866cb912c145dafe4d997ad907c0 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 30 Jul 2023 21:11:01 -0700 Subject: [PATCH 070/195] Update python-package-conda.yml --- .github/workflows/python-package-conda.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/python-package-conda.yml b/.github/workflows/python-package-conda.yml index 4a1c295..27b6ba3 100644 --- a/.github/workflows/python-package-conda.yml +++ b/.github/workflows/python-package-conda.yml @@ -22,6 +22,7 @@ jobs: run: | pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/torch_requirements.txt + pip install git+https://github.com/intro-stat-learning/ISLP.git - name: Lint with flake8 run: | From fab27dd2fbce7d547520cf4893730c0787c607de Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 31 Jul 2023 00:33:50 -0400 Subject: [PATCH 071/195] test the hitters part of deep learning lab --- tests/deeplearning/test_hitters.py | 481 +++++++++++++++++++++++++++++ 1 file changed, 481 insertions(+) create mode 100644 tests/deeplearning/test_hitters.py diff --git a/tests/deeplearning/test_hitters.py b/tests/deeplearning/test_hitters.py new file mode 100644 index 0000000..bf609b9 --- /dev/null +++ b/tests/deeplearning/test_hitters.py @@ -0,0 +1,481 @@ +import numpy as np +import pandas as pd +from matplotlib.pyplot import subplots +from sklearn.linear_model import \ + (LinearRegression, + Lasso) +from sklearn.preprocessing import StandardScaler +from sklearn.model_selection import KFold +from sklearn.pipeline import Pipeline +from ISLP import load_data +from ISLP.models import ModelSpec as MS +from sklearn.model_selection import \ + (train_test_split, + GridSearchCV) + +# torch + +import torch +from torch import nn +from torch.utils.data import TensorDataset + +# torch helpers + +from torchmetrics import MeanAbsoluteError +from torchinfo import summary + +# pytorch lightning + +from pytorch_lightning import Trainer +from pytorch_lightning.loggers import CSVLogger + +# setting seed + +from pytorch_lightning import seed_everything +seed_everything(0, workers=True) +torch.use_deterministic_algorithms(True, warn_only=True) + +# ISLP.torch + +from ISLP.torch import (SimpleDataModule, + SimpleModule, + ErrorTracker, + rec_num_workers) + + +def test_hitters(max_epochs=2, + num_lam=5): + + Hitters = load_data('Hitters').dropna() + n = Hitters.shape[0] + + # We will fit two linear models (least squares and lasso) and compare their performance + # to that of a neural network. For this comparison we will use mean absolute error on a validation dataset. + # \begin{equation*} + # \begin{split} + # \mbox{MAE}(y,\hat{y}) = \frac{1}{n} \sum_{i=1}^n |y_i-\hat{y}_i|. + # \end{split} + # \end{equation*} + # We set up the model matrix and the response. + + # In[11]: + + + model = MS(Hitters.columns.drop('Salary'), intercept=False) + X = model.fit_transform(Hitters).to_numpy() + Y = Hitters['Salary'].to_numpy() + + + # The `to_numpy()` method above converts `pandas` + # data frames or series to `numpy` arrays. + # We do this because we will need to use `sklearn` to fit the lasso model, + # and it requires this conversion. + # We also use a linear regression method from `sklearn`, rather than the method + # in Chapter~3 from `statsmodels`, to facilitate the comparisons. + + # We now split the data into test and training, fixing the random + # state used by `sklearn` to do the split. + + # In[12]: + + + (X_train, + X_test, + Y_train, + Y_test) = train_test_split(X, + Y, + test_size=1/3, + random_state=1) + + + # ### Linear Models + # We fit the linear model and evaluate the test error directly. + + # In[13]: + + + hit_lm = LinearRegression().fit(X_train, Y_train) + Yhat_test = hit_lm.predict(X_test) + np.abs(Yhat_test - Y_test).mean() + + + # Next we fit the lasso using `sklearn`. We are using + # mean absolute error to select and evaluate a model, rather than mean squared error. + # The specialized solver we used in Section 6.5.2 uses only mean squared error. So here, with a bit more work, we create a cross-validation grid and perform the cross-validation directly. + # + # We encode a pipeline with two steps: we first normalize the features using a `StandardScaler()` transform, + # and then fit the lasso without further normalization. + + # In[14]: + + + scaler = StandardScaler(with_mean=True, with_std=True) + lasso = Lasso(warm_start=True, max_iter=30000) + standard_lasso = Pipeline(steps=[('scaler', scaler), + ('lasso', lasso)]) + + + # We need to create a grid of values for $\lambda$. As is common practice, + # we choose a grid of 100 values of $\lambda$, uniform on the log scale from `lam_max` down to `0.01*lam_max`. Here `lam_max` is the smallest value of + # $\lambda$ with an all-zero solution. This value equals the largest absolute inner-product between any predictor and the (centered) response. {The derivation of this result is beyond the scope of this book.} + + # In[15]: + + + X_s = scaler.fit_transform(X_train) + n = X_s.shape[0] + lam_max = np.fabs(X_s.T.dot(Y_train - Y_train.mean())).max() / n + param_grid = {'alpha': np.exp(np.linspace(0, np.log(0.01), num_lam)) + * lam_max} + + + # Note that we had to transform the data first, since the scale of the variables impacts the choice of $\lambda$. + # We now perform cross-validation using this sequence of $\lambda$ values. + + # In[16]: + + + cv = KFold(10, + shuffle=True, + random_state=1) + grid = GridSearchCV(lasso, + param_grid, + cv=cv, + scoring='neg_mean_absolute_error') + grid.fit(X_train, Y_train); + + + # We extract the lasso model with best cross-validated mean absolute error, and evaluate its + # performance on `X_test` and `Y_test`, which were not used in + # cross-validation. + + # In[17]: + + + trained_lasso = grid.best_estimator_ + Yhat_test = trained_lasso.predict(X_test) + np.fabs(Yhat_test - Y_test).mean() + + + # This is similar to the results we got for the linear model fit by least squares. However, these results can vary a lot for different train/test splits; we encourage the reader to try a different seed in code block 12 and rerun the subsequent code up to this point. + # + # ### Specifying a Network: Classes and Inheritance + # To fit the neural network, we first set up a model structure + # that describes the network. + # Doing so requires us to define new classes specific to the model we wish to fit. + # Typically this is done in `pytorch` by sub-classing a generic + # representation of a network, which is the approach we take here. + # Although this example is simple, we will go through the steps in some detail, since it will serve us well + # for the more complex examples to follow. + + # In[18]: + + + class HittersModel(nn.Module): + + def __init__(self, input_size): + super(HittersModel, self).__init__() + self.flatten = nn.Flatten() + self.sequential = nn.Sequential( + nn.Linear(input_size, 50), + nn.ReLU(), + nn.Dropout(0.4), + nn.Linear(50, 1)) + + def forward(self, x): + x = self.flatten(x) + return torch.flatten(self.sequential(x)) + + + # The `class` statement identifies the code chunk as a + # declaration for a class `HittersModel` + # that inherits from the base class `nn.Module`. This base + # class is ubiquitous in `torch` and represents the + # mappings in the neural networks. + # + # Indented beneath the `class` statement are the methods of this class: + # in this case `__init__` and `forward`. The `__init__` method is + # called when an instance of the class is created as in the cell + # below. In the methods, `self` always refers to an instance of the + # class. In the `__init__` method, we have attached two objects to + # `self` as attributes: `flatten` and `sequential`. These are used in + # the `forward` method to describe the map that this module implements. + # + # There is one additional line in the `__init__` method, which + # is a call to + # `super()`. This function allows subclasses (i.e. `HittersModel`) + # to access methods of the class they inherit from. For example, + # the class `nn.Module` has its own `__init__` method, which is different from + # the `HittersModel.__init__()` method we’ve written above. + # Using `super()` allows us to call the method of the base class. For + # `torch` models, we will always be making this `super()` call as it is necessary + # for the model to be properly interpreted by `torch`. + # + # The object `nn.Module` has more methods than simply `__init__` and `forward`. These + # methods are directly accessible to `HittersModel` instances because of this inheritance. + # One such method we will see shortly is the `eval()` method, used + # to disable dropout for when we want to evaluate the model on test data. + + # In[19]: + + + hit_model = HittersModel(X.shape[1]) + + + # The object `self.sequential` is a composition of four maps. The + # first maps the 19 features of `Hitters` to 50 dimensions, introducing $50\times 19+50$ parameters + # for the weights and *intercept* of the map (often called the *bias*). This layer + # is then mapped to a ReLU layer followed by a 40% dropout layer, and finally a + # linear map down to 1 dimension, again with a bias. The total number of + # trainable parameters is therefore $50\times 19+50+50+1=1051$. + + # The package `torchinfo` provides a `summary()` function that neatly summarizes + # this information. We specify the size of the input and see the size + # of each tensor as it passes through layers of the network. + + # In[20]: + + + summary(hit_model, + input_size=X_train.shape, + col_names=['input_size', + 'output_size', + 'num_params']) + + + # We have truncated the end of the output slightly, here and in subsequent uses. + # + # We now need to transform our training data into a form accessible to `torch`. + # The basic + # datatype in `torch` is a `tensor`, which is very similar + # to an `ndarray` from early chapters. + # We also note here that `torch` typically + # works with 32-bit (*single precision*) + # rather than 64-bit (*double precision*) floating point numbers. + # We therefore convert our data to `np.float32` before + # forming the tensor. + # The $X$ and $Y$ tensors are then arranged into a `Dataset` + # recognized by `torch` + # using `TensorDataset()`. + + # In[21]: + + + X_train_t = torch.tensor(X_train.astype(np.float32)) + Y_train_t = torch.tensor(Y_train.astype(np.float32)) + hit_train = TensorDataset(X_train_t, Y_train_t) + + + # We do the same for the test data. + + # In[22]: + + + X_test_t = torch.tensor(X_test.astype(np.float32)) + Y_test_t = torch.tensor(Y_test.astype(np.float32)) + hit_test = TensorDataset(X_test_t, Y_test_t) + + + # Finally, this dataset is passed to a `DataLoader()` which ultimately + # passes data into our network. While this may seem + # like a lot of overhead, this structure is helpful for more + # complex tasks where data may live on different machines, + # or where data must be passed to a GPU. + # We provide a helper function `SimpleDataModule()` in `ISLP` to make this task easier for + # standard usage. + # One of its arguments is `num_workers`, which indicates + # how many processes we will use + # for loading the data. For small + # data like `Hitters` this will have little effect, but + # it does provide an advantage for the `MNIST` and `CIFAR100` examples below. + # The `torch` package will inspect the process running and determine a + # maximum number of workers. {This depends on the computing hardware and the number of cores available.} We’ve included a function + # `rec_num_workers()` to compute this so we know how many + # workers might be reasonable (here the max was 16). + + # In[23]: + + + max_num_workers = rec_num_workers() + + + # The general training setup in `pytorch_lightning` involves + # training, validation and test data. These are each + # represented by different data loaders. During each epoch, + # we run a training step to learn the model and a validation + # step to track the error. The test data is typically + # used at the end of training to evaluate the model. + # + # In this case, as we had split only into test and training, + # we’ll use the test data as validation data with the + # argument `validation=hit_test`. The + # `validation` argument can be a float between 0 and 1, an + # integer, or a + # `Dataset`. If a float (respectively, integer), it is interpreted + # as a percentage (respectively number) of the *training* observations to be used for validation. + # If it is a `Dataset`, it is passed directly to a data loader. + + # In[24]: + + + hit_dm = SimpleDataModule(hit_train, + hit_test, + batch_size=32, + num_workers=min(4, max_num_workers), + validation=hit_test) + + + # Next we must provide a `pytorch_lightning` module that controls + # the steps performed during the training process. We provide methods for our + # `SimpleModule()` that simply record the value + # of the loss function and any additional + # metrics at the end of each epoch. These operations + # are controlled by the methods `SimpleModule.[training/test/validation]_step()`, though + # we will not be modifying these in our examples. + + # In[25]: + + + hit_module = SimpleModule.regression(hit_model, + metrics={'mae':MeanAbsoluteError()}) + + + # By using the `SimpleModule.regression()` method, we indicate that we will use squared-error loss as in + # (10.23). + # We have also asked for mean absolute error to be tracked as well + # in the metrics that are logged. + # + # We log our results via `CSVLogger()`, which in this case stores the results in a CSV file within a directory `logs/hitters`. After the fitting is complete, this allows us to load the + # results as a `pd.DataFrame()` and visualize them below. There are + # several ways to log the results within `pytorch_lightning`, though + # we will not cover those here in detail. + + # In[26]: + + + hit_logger = CSVLogger('logs', name='hitters') + + + # Finally we are ready to train our model and log the results. We + # use the `Trainer()` object from `pytorch_lightning` + # to do this work. The argument `datamodule=hit_dm` tells the trainer + # how training/validation/test logs are produced, + # while the first argument `hit_module` + # specifies the network architecture + # as well as the training/validation/test steps. + # The `callbacks` argument allows for + # several tasks to be carried out at various + # points while training a model. Here + # our `ErrorTracker()` callback will enable + # us to compute validation error while training + # and, finally, the test error. + # We now fit the model for 50 epochs. + + # In[27]: + + + hit_trainer = Trainer(deterministic=True, + max_epochs=max_epochs, + log_every_n_steps=5, + logger=hit_logger, + callbacks=[ErrorTracker()]) + hit_trainer.fit(hit_module, datamodule=hit_dm) + + + # At each step of SGD, the algorithm randomly selects 32 training observations for + # the computation of the gradient. Recall from Section 10.7 + # that an epoch amounts to the number of SGD steps required to process $n$ + # observations. Since the training set has + # $n=175$, and we specified a `batch_size` of 32 in the construction of `hit_dm`, an epoch is $175/32=5.5$ SGD steps. + # + # After having fit the model, we can evaluate performance on our test + # data using the `test()` method of our trainer. + + # In[28]: + + + hit_trainer.test(hit_module, datamodule=hit_dm) + + + # The results of the fit have been logged into a CSV file. We can find the + # results specific to this run in the `experiment.metrics_file_path` + # attribute of our logger. Note that each time the model is fit, the logger will output + # results into a new subdirectory of our directory `logs/hitters`. + # + # We now create a plot of the MAE (mean absolute error) as a function of + # the number of epochs. + # First we retrieve the logged summaries. + + # In[29]: + + + hit_results = pd.read_csv(hit_logger.experiment.metrics_file_path) + + + # Since we will produce similar plots in later examples, we write a + # simple generic function to produce this plot. + + # In[30]: + + + def summary_plot(results, + ax, + col='loss', + valid_legend='Validation', + training_legend='Training', + ylabel='Loss', + fontsize=20): + for (column, + color, + label) in zip([f'train_{col}_epoch', + f'valid_{col}'], + ['black', + 'red'], + [training_legend, + valid_legend]): + results.plot(x='epoch', + y=column, + label=label, + marker='o', + color=color, + ax=ax) + ax.set_xlabel('Epoch') + ax.set_ylabel(ylabel) + return ax + + + # We now set up our axes, and use our function to produce the MAE plot. + + # In[31]: + + + fig, ax = subplots(1, 1, figsize=(6, 6)) + ax = summary_plot(hit_results, + ax, + col='mae', + ylabel='MAE', + valid_legend='Validation (=Test)') + ax.set_ylim([0, 400]) + ax.set_xticks(np.linspace(0, 50, 11).astype(int)); + + + # We can predict directly from the final model, and + # evaluate its performance on the test data. + # Before fitting, we call the `eval()` method + # of `hit_model`. + # This tells + # `torch` to effectively consider this model to be fitted, so that + # we can use it to predict on new data. For our model here, + # the biggest change is that the dropout layers will + # be turned off, i.e. no weights will be randomly + # dropped in predicting on new data. + + # In[32]: + + + hit_model.eval() + preds = hit_module(X_test_t) + torch.abs(Y_test_t - preds).mean() + + + From 226e40f727d114798eb1767195869ad08ce4274d Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 31 Jul 2023 00:47:15 -0400 Subject: [PATCH 072/195] deep learning test --- tests/deeplearning/__init__.py | 0 tests/deeplearning/test_mnist.py | 258 +++++++++++++++++++++++++++++++ 2 files changed, 258 insertions(+) create mode 100644 tests/deeplearning/__init__.py create mode 100644 tests/deeplearning/test_mnist.py diff --git a/tests/deeplearning/__init__.py b/tests/deeplearning/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/deeplearning/test_mnist.py b/tests/deeplearning/test_mnist.py new file mode 100644 index 0000000..c6d39d9 --- /dev/null +++ b/tests/deeplearning/test_mnist.py @@ -0,0 +1,258 @@ + +# torch + +import torch +from torch import nn + +# torch helpers + +from torchinfo import summary + +# pytorch lightning + +from pytorch_lightning import Trainer +from pytorch_lightning.loggers import CSVLogger + +# setting seed + +from pytorch_lightning import seed_everything +seed_everything(0, workers=True) +torch.use_deterministic_algorithms(True, warn_only=True) + +# ISLP.torch + +from ISLP.torch import (SimpleDataModule, + SimpleModule, + ErrorTracker) + +from torchvision.datasets import MNIST +from torchvision.transforms import ToTensor + +def test_mnist(max_epochs=2): + + + # ## Multilayer Network on the MNIST Digit Data + # The `torchvision` package comes with a number of example datasets, + # including the `MNIST` digit data. Our first step is to retrieve + # the training and test data sets; the `MNIST()` function within + # `torchvision.datasets` is provided for this purpose. The + # data will be downloaded the first time this function is executed, and stored in the directory `data/MNIST`. + + # In[34]: + + + (mnist_train, + mnist_test) = [MNIST(root='data', + train=train, + download=True, + transform=ToTensor()) + for train in [True, False]] + mnist_train + + + # There are 60,000 images in the training data and 10,000 in the test + # data. The images are $28\times 28$, and stored as a matrix of pixels. We + # need to transform each one into a vector. + # + # Neural networks are somewhat sensitive to the scale of the inputs, much as ridge and + # lasso regularization are affected by scaling. Here the inputs are eight-bit + # grayscale values between 0 and 255, so we rescale to the unit + # interval. {Note: eight bits means $2^8$, which equals 256. Since the convention + # is to start at $0$, the possible values range from $0$ to $255$.} + # This transformation, along with some reordering + # of the axes, is performed by the `ToTensor()` transform + # from the `torchvision.transforms` package. + # + # As in our `Hitters` example, we form a data module + # from the training and test datasets, setting aside 20% + # of the training images for validation. + + # In[35]: + + + mnist_dm = SimpleDataModule(mnist_train, + mnist_test, + validation=0.2, + num_workers=2, + batch_size=256) + + + # Let’s take a look at the data that will get fed into our network. We loop through the first few + # chunks of the test dataset, breaking after 2 batches: + + # In[36]: + + + for idx, (X_ ,Y_) in enumerate(mnist_dm.train_dataloader()): + print('X: ', X_.shape) + print('Y: ', Y_.shape) + if idx >= 1: + break + + + # We see that the $X$ for each batch consists of 256 images of size `1x28x28`. + # Here the `1` indicates a single channel (greyscale). For RGB images such as `CIFAR100` below, + # we will see that the `1` in the size will be replaced by `3` for the three RGB channels. + # + # Now we are ready to specify our neural network. + + # In[37]: + + + class MNISTModel(nn.Module): + def __init__(self): + super(MNISTModel, self).__init__() + self.layer1 = nn.Sequential( + nn.Flatten(), + nn.Linear(28*28, 256), + nn.ReLU(), + nn.Dropout(0.4)) + self.layer2 = nn.Sequential( + nn.Linear(256, 128), + nn.ReLU(), + nn.Dropout(0.3)) + self._forward = nn.Sequential( + self.layer1, + self.layer2, + nn.Linear(128, 10)) + def forward(self, x): + return self._forward(x) + + + # We see that in the first layer, each `1x28x28` image is flattened, then mapped to + # 256 dimensions where we apply a ReLU activation with 40% dropout. + # A second layer maps the first layer’s output down to + # 128 dimensions, applying a ReLU activation with 30% dropout. Finally, + # the 128 dimensions are mapped down to 10, the number of classes in the + # `MNIST` data. + + # In[38]: + + + mnist_model = MNISTModel() + + + # We can check that the model produces output of expected size based + # on our existing batch `X_` above. + + # In[39]: + + + mnist_model(X_).size() + + + # Let’s take a look at the summary of the model. Instead of an `input_size` we can pass + # a tensor of correct shape. In this case, we pass through the final + # batched `X_` from above. + + # In[40]: + + + summary(mnist_model, + input_data=X_, + col_names=['input_size', + 'output_size', + 'num_params']) + + + # Having set up both the model and the data module, fitting this model is + # now almost identical to the `Hitters` example. In contrast to our regression model, here we will use the + # `SimpleModule.classification()` method which + # uses the cross-entropy loss function instead of mean squared error. It must be supplied with the number of classes in the problem. + + # In[41]: + + + mnist_module = SimpleModule.classification(mnist_model, + num_classes=10) + mnist_logger = CSVLogger('logs', name='MNIST') + + + # Now we are ready to go. The final step is to supply training data, and fit the model. + + # In[42]: + + + mnist_trainer = Trainer(deterministic=True, + max_epochs=max_epochs, + logger=mnist_logger, + callbacks=[ErrorTracker()]) + mnist_trainer.fit(mnist_module, + datamodule=mnist_dm) + + + # We have suppressed the output here, which is a progress report on the + # fitting of the model, grouped by epoch. This is very useful, since on + # large datasets fitting can take time. Fitting this model took 245 + # seconds on a MacBook Pro with an Apple M1 Pro chip with 10 cores and 16 GB of RAM. + # Here we specified a + # validation split of 20%, so training is actually performed on + # 80% of the 60,000 observations in the training set. This is an + # alternative to actually supplying validation data, like we did for the `Hitters` data. + # SGD uses batches + # of 256 observations in computing the gradient, and doing the + # arithmetic, we see that an epoch corresponds to 188 gradient steps. + + # `SimpleModule.classification()` includes + # an accuracy metric by default. Other + # classification metrics can be added from `torchmetrics`. + # We will use our `summary_plot()` function to display + # accuracy across epochs. + + + mnist_trainer.test(mnist_module, + datamodule=mnist_dm) + + + # Table 10.1 also reports the error rates resulting from LDA (Chapter 4) and multiclass logistic + # regression. For LDA we refer the reader to Section 4.7.3. + # Although we could use the `sklearn` function `LogisticRegression()` to fit + # multiclass logistic regression, we are set up here to fit such a model + # with `torch`. + # We just have an input layer and an output layer, and omit the hidden layers! + + # In[45]: + + + class MNIST_MLR(nn.Module): + def __init__(self): + super(MNIST_MLR, self).__init__() + self.linear = nn.Sequential(nn.Flatten(), + nn.Linear(784, 10)) + def forward(self, x): + return self.linear(x) + + mlr_model = MNIST_MLR() + mlr_module = SimpleModule.classification(mlr_model, + num_classes=10) + mlr_logger = CSVLogger('logs', name='MNIST_MLR') + + + # In[46]: + + + mlr_trainer = Trainer(deterministic=True, + max_epochs=30, + callbacks=[ErrorTracker()]) + mlr_trainer.fit(mlr_module, datamodule=mnist_dm) + + + # We fit the model just as before and compute the test results. + + # In[47]: + + + mlr_trainer.test(mlr_module, + datamodule=mnist_dm) + + + # The accuracy is above 90% even for this pretty simple model. + # + # As in the `Hitters` example, we delete some of + # the objects we created above. + + # In[48]: + + + + From cce66604d4b46d66fc6e83bbc021d13af3512f14 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 31 Jul 2023 00:59:41 -0400 Subject: [PATCH 073/195] use importlib.resources instead of pkg_resources --- ISLP/__init__.py | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/ISLP/__init__.py b/ISLP/__init__.py index ae230d3..01b189e 100644 --- a/ISLP/__init__.py +++ b/ISLP/__init__.py @@ -7,27 +7,28 @@ from os.path import join as pjoin import pandas as pd, numpy as np -from pkg_resources import resource_filename +from importlib.resources import (as_file, + files) # data originally saved via: [sm.datasets.get_rdataset(n, 'ISLR').data.to_csv('../ISLP/data/%s.csv' % n, index=False) for n in ['Carseats', 'College', 'Credit', 'Default', 'Hitters', 'Auto', 'OJ', 'Portfolio', 'Smarket', 'Wage', 'Weekly', 'Caravan']] def load_data(dataset): if dataset == 'NCI60': - features = resource_filename('ISLP', pjoin('data', 'NCI60data.npy')) + features = as_file(files('ISLP').joinpath('data', 'NCI60data.npy')) X = np.load(features) - labels = resource_filename('ISLP', pjoin('data', 'NCI60labs.csv')) + labels = as_file(files('ISLP').joinpath('data', 'NCI60labs.csv')) Y = pd.read_csv(labels) return {'data':X, 'labels':Y} elif dataset == 'Khan': - xtest = pd.read_csv(resource_filename('ISLP', pjoin('data', 'Khan_xtest.csv'))) + xtest = pd.read_csv(as_file(files('ISLP').joinpath('data', 'Khan_xtest.csv'))) xtest = xtest.rename(columns=dict([('V%d' % d, 'G%04d' % d) for d in range(1, len(xtest.columns)+0)])) - ytest = pd.read_csv(resource_filename('ISLP', pjoin('data', 'Khan_ytest.csv'))) + ytest = pd.read_csv(as_file(files('ISLP').joinpath('data', 'Khan_ytest.csv'))) ytest = ytest.rename(columns={'x':'Y'}) ytest = ytest['Y'] - xtrain = pd.read_csv(resource_filename('ISLP', pjoin('data', 'Khan_xtrain.csv'))) + xtrain = pd.read_csv(as_file(files('ISLP').joinpath('data', 'Khan_xtrain.csv'))) xtrain = xtrain.rename(columns=dict([('V%d' % d, 'G%04d' % d) for d in range(1, len(xtest.columns)+0)])) - ytrain = pd.read_csv(resource_filename('ISLP', pjoin('data', 'Khan_ytrain.csv'))) + ytrain = pd.read_csv(as_file(files('ISLP').joinpath('data', 'Khan_ytrain.csv'))) ytrain = ytrain.rename(columns={'x':'Y'}) ytrain = ytrain['Y'] @@ -36,33 +37,33 @@ def load_data(dataset): 'ytest':ytest, 'ytrain':ytrain} elif dataset == 'Hitters': - filename = resource_filename('ISLP', pjoin('data', '%s.csv' % dataset)) + filename = as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) df = pd.read_csv(filename) for col in ['League', 'Division', 'NewLeague']: df[col] = pd.Categorical(df[col]) return df elif dataset == 'Carseats': - filename = resource_filename('ISLP', pjoin('data', '%s.csv' % dataset)) + filename = as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) df = pd.read_csv(filename) for col in ['ShelveLoc', 'Urban', 'US']: df[col] = pd.Categorical(df[col]) return df elif dataset == 'NYSE': - filename = resource_filename('ISLP', pjoin('data', '%s.csv' % dataset)) + filename = as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) df = pd.read_csv(filename).set_index('date') return df elif dataset == 'Publication': - df = pd.read_csv(resource_filename('ISLP', pjoin('data', 'Publication.csv'))) + df = pd.read_csv(as_file(files('ISLP').joinpath('data', 'Publication.csv'))) for col in ['mech']: df[col] = pd.Categorical(df[col]) return df elif dataset == 'BrainCancer': - df = pd.read_csv(resource_filename('ISLP', pjoin('data', 'BrainCancer.csv'))) + df = pd.read_csv(as_file(files('ISLP').joinpath('data', 'BrainCancer.csv'))) for col in ['sex', 'diagnosis', 'loc', 'stereo']: df[col] = pd.Categorical(df[col]) return df elif dataset == 'Bikeshare': - filename = resource_filename('ISLP', pjoin('data', '%s.csv' % dataset)) + filename = as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) df = pd.read_csv(filename) df['weathersit'] = pd.Categorical(df['weathersit'], ordered=False) # setting order to avoid alphabetical @@ -79,11 +80,11 @@ def load_data(dataset): categories=range(24)) return df elif dataset == 'Wage': - df = pd.read_csv(resource_filename('ISLP', pjoin('data', 'Wage.csv'))) + df = pd.read_csv(as_file(files('ISLP').joinpath('data', 'Wage.csv'))) df['education'] = pd.Categorical(df['education'], ordered=True) return df else: - filename = resource_filename('ISLP', pjoin('data', '%s.csv' % dataset)) + filename = as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) return pd.read_csv(filename) from sklearn.metrics import confusion_matrix as _confusion_matrix From 5d085d301c7e58ecc78dd42dc878b773f9bc5b73 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 31 Jul 2023 01:21:32 -0400 Subject: [PATCH 074/195] using context manager --- ISLP/__init__.py | 55 ++++++++++++++++++++++++++++-------------------- 1 file changed, 32 insertions(+), 23 deletions(-) diff --git a/ISLP/__init__.py b/ISLP/__init__.py index 01b189e..aba332b 100644 --- a/ISLP/__init__.py +++ b/ISLP/__init__.py @@ -14,21 +14,26 @@ def load_data(dataset): if dataset == 'NCI60': - features = as_file(files('ISLP').joinpath('data', 'NCI60data.npy')) - X = np.load(features) - labels = as_file(files('ISLP').joinpath('data', 'NCI60labs.csv')) - Y = pd.read_csv(labels) + with as_file(files('ISLP').joinpath('data', 'NCI60data.npy')) as features: + X = np.load(features) + labels = as_file(files('ISLP').joinpath('data', 'NCI60labs.csv')) + Y = pd.read_csv(labels) return {'data':X, 'labels':Y} elif dataset == 'Khan': - xtest = pd.read_csv(as_file(files('ISLP').joinpath('data', 'Khan_xtest.csv'))) + with as_file(files('ISLP').joinpath('data', 'Khan_xtest.csv')) as xtest: + xtest = pd.read_csv(xtest) xtest = xtest.rename(columns=dict([('V%d' % d, 'G%04d' % d) for d in range(1, len(xtest.columns)+0)])) - ytest = pd.read_csv(as_file(files('ISLP').joinpath('data', 'Khan_ytest.csv'))) + with as_file(files('ISLP').joinpath('data', 'Khan_ytest.csv')) as ytest: + ytest = pd.read_csv(ytest) ytest = ytest.rename(columns={'x':'Y'}) ytest = ytest['Y'] - xtrain = pd.read_csv(as_file(files('ISLP').joinpath('data', 'Khan_xtrain.csv'))) - xtrain = xtrain.rename(columns=dict([('V%d' % d, 'G%04d' % d) for d in range(1, len(xtest.columns)+0)])) - ytrain = pd.read_csv(as_file(files('ISLP').joinpath('data', 'Khan_ytrain.csv'))) + with as_file(files('ISLP').joinpath('data', 'Khan_xtrain.csv')) as xtrain: + xtrain = pd.read_csv(xtrain) + xtrain = xtrain.rename(columns=dict([('V%d' % d, 'G%04d' % d) for d in range(1, len(xtest.columns)+0)])) + + with as_file(files('ISLP').joinpath('data', 'Khan_ytrain.csv')) as ytrain: + ytrain = pd.read_csv(ytrain) ytrain = ytrain.rename(columns={'x':'Y'}) ytrain = ytrain['Y'] @@ -36,35 +41,38 @@ def load_data(dataset): 'xtrain':xtrain, 'ytest':ytest, 'ytrain':ytrain} + elif dataset == 'Hitters': - filename = as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) - df = pd.read_csv(filename) + with as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) as filename: + df = pd.read_csv(filename) for col in ['League', 'Division', 'NewLeague']: df[col] = pd.Categorical(df[col]) return df elif dataset == 'Carseats': - filename = as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) - df = pd.read_csv(filename) + with as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) as filename: + df = pd.read_csv(filename) for col in ['ShelveLoc', 'Urban', 'US']: df[col] = pd.Categorical(df[col]) return df elif dataset == 'NYSE': - filename = as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) - df = pd.read_csv(filename).set_index('date') + with as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) as filename: + df = pd.read_csv(filename).set_index('date') return df elif dataset == 'Publication': - df = pd.read_csv(as_file(files('ISLP').joinpath('data', 'Publication.csv'))) + with as_file(files('ISLP').joinpath('data', 'Publication.csv')) as f: + df = pd.read_csv(f) for col in ['mech']: df[col] = pd.Categorical(df[col]) return df elif dataset == 'BrainCancer': - df = pd.read_csv(as_file(files('ISLP').joinpath('data', 'BrainCancer.csv'))) + with as_file(files('ISLP').joinpath('data', 'BrainCancer.csv')) as f: + df = pd.read_csv(f) for col in ['sex', 'diagnosis', 'loc', 'stereo']: df[col] = pd.Categorical(df[col]) return df elif dataset == 'Bikeshare': - filename = as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) - df = pd.read_csv(filename) + with as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) as filename: + df = pd.read_csv(filename) df['weathersit'] = pd.Categorical(df['weathersit'], ordered=False) # setting order to avoid alphabetical df['mnth'] = pd.Categorical(df['mnth'], @@ -80,12 +88,13 @@ def load_data(dataset): categories=range(24)) return df elif dataset == 'Wage': - df = pd.read_csv(as_file(files('ISLP').joinpath('data', 'Wage.csv'))) - df['education'] = pd.Categorical(df['education'], ordered=True) + with as_file(files('ISLP').joinpath('data', 'Wage.csv')) as f: + df = pd.read_csv(f) + df['education'] = pd.Categorical(df['education'], ordered=True) return df else: - filename = as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) - return pd.read_csv(filename) + with as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) as filename: + return pd.read_csv(filename) from sklearn.metrics import confusion_matrix as _confusion_matrix From 305e0f290d15aee0f88622eaf4e6fb9664809438 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 31 Jul 2023 01:31:20 -0400 Subject: [PATCH 075/195] BF: a few indents, missed context manager --- ISLP/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ISLP/__init__.py b/ISLP/__init__.py index aba332b..0cd8d3e 100644 --- a/ISLP/__init__.py +++ b/ISLP/__init__.py @@ -16,7 +16,7 @@ def load_data(dataset): if dataset == 'NCI60': with as_file(files('ISLP').joinpath('data', 'NCI60data.npy')) as features: X = np.load(features) - labels = as_file(files('ISLP').joinpath('data', 'NCI60labs.csv')) + with as_file(files('ISLP').joinpath('data', 'NCI60labs.csv')) as labels: Y = pd.read_csv(labels) return {'data':X, 'labels':Y} elif dataset == 'Khan': @@ -33,7 +33,7 @@ def load_data(dataset): xtrain = xtrain.rename(columns=dict([('V%d' % d, 'G%04d' % d) for d in range(1, len(xtest.columns)+0)])) with as_file(files('ISLP').joinpath('data', 'Khan_ytrain.csv')) as ytrain: - ytrain = pd.read_csv(ytrain) + ytrain = pd.read_csv(ytrain) ytrain = ytrain.rename(columns={'x':'Y'}) ytrain = ytrain['Y'] From 30956063a63fa2a941950d2e961e95650d2587d1 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 31 Jul 2023 01:46:11 -0400 Subject: [PATCH 076/195] added labs bit to workflow --- .github/workflows/python-package-conda.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python-package-conda.yml b/.github/workflows/python-package-conda.yml index 27b6ba3..a54705f 100644 --- a/.github/workflows/python-package-conda.yml +++ b/.github/workflows/python-package-conda.yml @@ -23,7 +23,6 @@ jobs: pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/torch_requirements.txt pip install git+https://github.com/intro-stat-learning/ISLP.git - - name: Lint with flake8 run: | conda install flake8 @@ -35,3 +34,9 @@ jobs: run: | conda install pytest pytest + - name: Test labs (except Ch2, Ch10) + run: | + git clone https://github.com/intro-stat-learning/ISLP_labs.git + cd ISLP_labs + jupyter nbconvert --execute --inplace Ch{3,4,5,6,7,8,9,11,12,13}*nb + From 6ff4a02be8f76a8db9f37a4536d87184d31be816 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 31 Jul 2023 01:47:14 -0400 Subject: [PATCH 077/195] update workflows --- .github/workflows/build-labs.yml | 38 ++++++++++++++++++++++ .github/workflows/python-package-conda.yml | 5 --- 2 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/build-labs.yml diff --git a/.github/workflows/build-labs.yml b/.github/workflows/build-labs.yml new file mode 100644 index 0000000..29097bc --- /dev/null +++ b/.github/workflows/build-labs.yml @@ -0,0 +1,38 @@ +name: Build labs + +on: [push] + +jobs: + build-linux: + runs-on: ubuntu-latest + strategy: + max-parallel: 5 + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: '3.10' + - name: Add conda to system path + run: | + # $CONDA is an environment variable pointing to the root of the miniconda directory + echo $CONDA/bin >> $GITHUB_PATH + - name: Install dependencies + run: | + pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt + pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/torch_requirements.txt + pip install git+https://github.com/intro-stat-learning/ISLP.git + - name: Lint with flake8 + run: | + conda install flake8 + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test labs (except Ch2, Ch10) + run: | + git clone https://github.com/intro-stat-learning/ISLP_labs.git + cd ISLP_labs + jupyter nbconvert --execute --inplace Ch{3,4,5,6,7,8,9,11,12,13}*nb + diff --git a/.github/workflows/python-package-conda.yml b/.github/workflows/python-package-conda.yml index a54705f..3024b7f 100644 --- a/.github/workflows/python-package-conda.yml +++ b/.github/workflows/python-package-conda.yml @@ -34,9 +34,4 @@ jobs: run: | conda install pytest pytest - - name: Test labs (except Ch2, Ch10) - run: | - git clone https://github.com/intro-stat-learning/ISLP_labs.git - cd ISLP_labs - jupyter nbconvert --execute --inplace Ch{3,4,5,6,7,8,9,11,12,13}*nb From 46e219522aaf8445fe569a35514b39666902875c Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 30 Jul 2023 22:49:54 -0700 Subject: [PATCH 078/195] Create test-labs.yml --- .github/workflows/test-labs.yml | 38 +++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/test-labs.yml diff --git a/.github/workflows/test-labs.yml b/.github/workflows/test-labs.yml new file mode 100644 index 0000000..29097bc --- /dev/null +++ b/.github/workflows/test-labs.yml @@ -0,0 +1,38 @@ +name: Build labs + +on: [push] + +jobs: + build-linux: + runs-on: ubuntu-latest + strategy: + max-parallel: 5 + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: '3.10' + - name: Add conda to system path + run: | + # $CONDA is an environment variable pointing to the root of the miniconda directory + echo $CONDA/bin >> $GITHUB_PATH + - name: Install dependencies + run: | + pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt + pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/torch_requirements.txt + pip install git+https://github.com/intro-stat-learning/ISLP.git + - name: Lint with flake8 + run: | + conda install flake8 + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test labs (except Ch2, Ch10) + run: | + git clone https://github.com/intro-stat-learning/ISLP_labs.git + cd ISLP_labs + jupyter nbconvert --execute --inplace Ch{3,4,5,6,7,8,9,11,12,13}*nb + From 5f16131bfa2eaadd57daa829e5dfda719d849622 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 31 Jul 2023 01:52:16 -0400 Subject: [PATCH 079/195] test labs workflow --- .github/workflows/build-labs.yml | 38 -------------------------------- .github/workflows/test-labs.yml | 2 +- 2 files changed, 1 insertion(+), 39 deletions(-) delete mode 100644 .github/workflows/build-labs.yml diff --git a/.github/workflows/build-labs.yml b/.github/workflows/build-labs.yml deleted file mode 100644 index 29097bc..0000000 --- a/.github/workflows/build-labs.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Build labs - -on: [push] - -jobs: - build-linux: - runs-on: ubuntu-latest - strategy: - max-parallel: 5 - - steps: - - uses: actions/checkout@v3 - - name: Set up Python 3.10 - uses: actions/setup-python@v3 - with: - python-version: '3.10' - - name: Add conda to system path - run: | - # $CONDA is an environment variable pointing to the root of the miniconda directory - echo $CONDA/bin >> $GITHUB_PATH - - name: Install dependencies - run: | - pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt - pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/torch_requirements.txt - pip install git+https://github.com/intro-stat-learning/ISLP.git - - name: Lint with flake8 - run: | - conda install flake8 - # stop the build if there are Python syntax errors or undefined names - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - - name: Test labs (except Ch2, Ch10) - run: | - git clone https://github.com/intro-stat-learning/ISLP_labs.git - cd ISLP_labs - jupyter nbconvert --execute --inplace Ch{3,4,5,6,7,8,9,11,12,13}*nb - diff --git a/.github/workflows/test-labs.yml b/.github/workflows/test-labs.yml index 29097bc..d4b0e17 100644 --- a/.github/workflows/test-labs.yml +++ b/.github/workflows/test-labs.yml @@ -30,7 +30,7 @@ jobs: flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - - name: Test labs (except Ch2, Ch10) + - name: Test labs run: | git clone https://github.com/intro-stat-learning/ISLP_labs.git cd ISLP_labs From d6d08ace0a30bff74fb40210ed85f75de4e924ad Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 31 Jul 2023 01:55:12 -0400 Subject: [PATCH 080/195] removing workflow --- .github/workflows/test-labs.yml | 38 --------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 .github/workflows/test-labs.yml diff --git a/.github/workflows/test-labs.yml b/.github/workflows/test-labs.yml deleted file mode 100644 index d4b0e17..0000000 --- a/.github/workflows/test-labs.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Build labs - -on: [push] - -jobs: - build-linux: - runs-on: ubuntu-latest - strategy: - max-parallel: 5 - - steps: - - uses: actions/checkout@v3 - - name: Set up Python 3.10 - uses: actions/setup-python@v3 - with: - python-version: '3.10' - - name: Add conda to system path - run: | - # $CONDA is an environment variable pointing to the root of the miniconda directory - echo $CONDA/bin >> $GITHUB_PATH - - name: Install dependencies - run: | - pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt - pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/torch_requirements.txt - pip install git+https://github.com/intro-stat-learning/ISLP.git - - name: Lint with flake8 - run: | - conda install flake8 - # stop the build if there are Python syntax errors or undefined names - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - - name: Test labs - run: | - git clone https://github.com/intro-stat-learning/ISLP_labs.git - cd ISLP_labs - jupyter nbconvert --execute --inplace Ch{3,4,5,6,7,8,9,11,12,13}*nb - From 97dfb56cb977d2257c8e610419dd89757dfc2cd5 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 31 Jul 2023 01:55:42 -0400 Subject: [PATCH 081/195] removing pylint workflow --- .github/workflows/pylint.yml | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100644 .github/workflows/pylint.yml diff --git a/.github/workflows/pylint.yml b/.github/workflows/pylint.yml deleted file mode 100644 index 383e65c..0000000 --- a/.github/workflows/pylint.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Pylint - -on: [push] - -jobs: - build: - runs-on: ubuntu-latest - strategy: - matrix: - python-version: ["3.8", "3.9", "3.10"] - steps: - - uses: actions/checkout@v3 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v3 - with: - python-version: ${{ matrix.python-version }} - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install pylint - - name: Analysing the code with pylint - run: | - pylint $(git ls-files '*.py') From bd0af3474fb4b6306c749a194b350199cd332a49 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Fri, 4 Aug 2023 10:08:24 -0700 Subject: [PATCH 082/195] update to info.py, fixing github link and short description --- ISLP/info.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ISLP/info.py b/ISLP/info.py index 9dba591..2d41024 100644 --- a/ISLP/info.py +++ b/ISLP/info.py @@ -25,7 +25,7 @@ "Programming Language :: Python", "Topic :: Scientific/Engineering"] -description = 'Testing a fixed value of lambda' +description = 'Library for ISLP labs' # Note: this long_description is actually a copy/paste from the top-level # README.txt, so that it shows up nicely on PyPI. So please remember to edit @@ -54,7 +54,7 @@ MAINTAINER_EMAIL = "" DESCRIPTION = description LONG_DESCRIPTION = long_description -URL = "http://github.org/jonathan.taylor/ISLP" +URL = "http://github.org/intro-stat-learning/ISLP" DOWNLOAD_URL = "" LICENSE = "BSD license" CLASSIFIERS = CLASSIFIERS From 55ee527e87a99238a52680470212abf309e45b77 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 6 Aug 2023 11:34:38 -0700 Subject: [PATCH 083/195] updating info.py with torch requirements; updating requirements.txt, install instructions --- ISLP/info.py | 5 ++++- docs/source/installation.myst | 16 +++------------- requirements.txt | 6 +++++- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/ISLP/info.py b/ISLP/info.py index 2d41024..870c1e9 100644 --- a/ISLP/info.py +++ b/ISLP/info.py @@ -76,5 +76,8 @@ "sklearn (>=%s)" % SKLEARN_MIN_VERSION, "lifelines", "joblib", - "pygam" + "pygam", + "torch", + "torchmetrics", + "pytorch_lightning" ] diff --git a/docs/source/installation.myst b/docs/source/installation.myst index ce360f7..48d2365 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -61,7 +61,7 @@ To ensure you have the same package versions as those built here, run: --- tags: [skip-execution] --- -pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v2_devel/frozen_requirements.txt +pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v2_devel/requirements.txt ``` For more specific install instructions go to [ISLP_labs](https://github.com/intro-stat-learning/ISLP_labs/tree/v2_devel). @@ -69,11 +69,8 @@ For more specific install instructions go to [ISLP_labs](https://github.com/intr ## Torch requirements The `ISLP` labs use `torch` and various related packages for the lab -on deep learning. The requirements can be found -[here](https://github.com/intro-stat-learning/ISLP/blob/main/torch_requirements.txt). Alternatively, you can install them -directly using `pip` within a terminal. As above, ensure that you have -activated that conda environment (Mac OS or Linux) or started a -terminal within that environment from the Anaconda app (Windows). +on deep learning. Most of the requirements are included in the requirements for `ISLP` though the labs +also use `torchinfo` and `torchvision`. These will be installed by the `requirements.txt` above. ```{attention} Because @@ -82,13 +79,6 @@ have pinned the versions at specific versions that were used to make current verisons of the labs. ``` -```{code-cell} ipython3 ---- -tags: [skip-execution] ---- -pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v1/torch_requirements.txt -``` - ## Jupyter ### Mac OS X diff --git a/requirements.txt b/requirements.txt index 1503cf7..134b920 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,5 +7,9 @@ scikit-learn>=1.2 joblib statsmodels>=0.13 lifelines +pygam # for GAM in Ch7 +torch +pytorch_lightning +torchmetrics #l0bnb # for bestsubsets -#pygam # for GAM in Ch7 + From d2efc5adf5e5f83ba86f918cb38eca6b584f12e9 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 6 Aug 2023 11:46:16 -0700 Subject: [PATCH 084/195] updating ISLP_labs --- docs/ISLP_labs | 2 +- docs/source/installation.myst | 4 ++-- docs/source/labs.rst | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/ISLP_labs b/docs/ISLP_labs index ca12db6..dc35f72 160000 --- a/docs/ISLP_labs +++ b/docs/ISLP_labs @@ -1 +1 @@ -Subproject commit ca12db6546e69d0a3c6785fa34fc77ebbf4fdbd1 +Subproject commit dc35f729e16344bc2105f2a3532bd84baa1162f4 diff --git a/docs/source/installation.myst b/docs/source/installation.myst index 48d2365..542644e 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -61,10 +61,10 @@ To ensure you have the same package versions as those built here, run: --- tags: [skip-execution] --- -pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v2_devel/requirements.txt +pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v2/requirements.txt ``` -For more specific install instructions go to [ISLP_labs](https://github.com/intro-stat-learning/ISLP_labs/tree/v2_devel). +For more specific install instructions go to [ISLP_labs](https://github.com/intro-stat-learning/ISLP_labs/tree/v2). ## Torch requirements diff --git a/docs/source/labs.rst b/docs/source/labs.rst index b562cb9..5828324 100644 --- a/docs/source/labs.rst +++ b/docs/source/labs.rst @@ -15,8 +15,7 @@ Package versions To ensure you have the same package versions as those built here, run: - pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v1/frozen_requirements.txt; - pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v1/torch_requirements.txt + pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v2/requirements.txt; .. toctree:: :maxdepth: 1 From 7d2a6b104d45c990838d3fc05cfb3d1578b371ee Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 6 Aug 2023 11:51:34 -0700 Subject: [PATCH 085/195] moved requirements --- .readthedocs.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 368691f..7da8629 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -31,8 +31,7 @@ sphinx: # Optionally declare the Python requirements required to build your docs python: install: - - requirements: docs/ISLP_labs/frozen_requirements.txt + - requirements: docs/ISLP_labs/requirements.txt - requirements: docs/requirements.txt - - requirements: docs/ISLP_labs/torch_requirements.txt - method: pip path: . From 4b563046485ec37a7974aa48829335923d5f6f8b Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 6 Aug 2023 11:56:34 -0700 Subject: [PATCH 086/195] updated python version for rtd --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 7da8629..46a954e 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -9,7 +9,7 @@ version: 2 build: os: ubuntu-22.04 tools: - python: "3.9" + python: "3.11" apt_packages: - r-base jobs: From 9c52700aeae3fe2737466a28d46a66c40339c426 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 6 Aug 2023 11:57:09 -0700 Subject: [PATCH 087/195] jupytext already in docs requirements --- .readthedocs.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 46a954e..a8f6297 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -14,7 +14,6 @@ build: - r-base jobs: pre_build: - - pip install nbformat jupytext - python docs/fix_and_run_notebooks.py submodules: From 5fcfaad2ea7d449a06ede6f096c96cab9e8272e9 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 6 Aug 2023 11:59:39 -0700 Subject: [PATCH 088/195] added execute to nbconvert --- docs/fix_and_run_notebooks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/fix_and_run_notebooks.py b/docs/fix_and_run_notebooks.py index 1545aec..0dbc12f 100644 --- a/docs/fix_and_run_notebooks.py +++ b/docs/fix_and_run_notebooks.py @@ -55,7 +55,7 @@ if labname[:4] != 'Ch10': # clear outputs for all but Ch10 - os.system(f'jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace {nbfile}') + os.system(f'jupyter nbconvert --execute --ClearOutputPreprocessor.enabled=True --inplace {nbfile}') os.system(f'jupytext --set-formats ipynb,md:myst {nbfile}; jupytext --sync {nbfile}') From 5726b67156aa839fc14ed91f9e4fde316d4ae1de Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 6 Aug 2023 12:18:16 -0700 Subject: [PATCH 089/195] update to version v2 for docs --- docs/fix_and_run_notebooks.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/fix_and_run_notebooks.py b/docs/fix_and_run_notebooks.py index 0dbc12f..aa1642a 100644 --- a/docs/fix_and_run_notebooks.py +++ b/docs/fix_and_run_notebooks.py @@ -9,7 +9,7 @@ os.remove(f) print(f) -version = 'v1' +version = 'v2' main = 'main' os.system(f''' cd {dirname}/ISLP_labs; @@ -17,7 +17,6 @@ mkdir -p {dirname}/source/labs; cp -r * {dirname}/source/labs; git checkout {main}; -pip install -r {dirname}/source/labs/frozen_requirements.txt; ''') for nbfile in glob(os.path.join(dirname, 'source', 'labs', '*nb')): From 11355e2f398de592537de224495fa3cb15726734 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 6 Aug 2023 12:25:17 -0700 Subject: [PATCH 090/195] unused commit; update to rtd --- ISLP/torch/lightning.py | 2 +- docs/README.rst | 3 ++- docs/fix_and_run_notebooks.py | 7 +++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ISLP/torch/lightning.py b/ISLP/torch/lightning.py index e3b4088..d7056ec 100644 --- a/ISLP/torch/lightning.py +++ b/ISLP/torch/lightning.py @@ -7,7 +7,7 @@ DataLoader, Dataset) from torch import tensor, Generator, concat -from torchvision import transforms + from torch.utils.data import TensorDataset from torchmetrics import Accuracy diff --git a/docs/README.rst b/docs/README.rst index 709ce7d..41df584 100644 --- a/docs/README.rst +++ b/docs/README.rst @@ -11,4 +11,5 @@ There is a snippet that should be inserted to remove the many warnings raised. Frozen reqs =========== -The versions of the labs are referred to in `source/installation.myst`, `source/labs.rst` +The versions of the labs are referred to in `source/installation.myst`, `source/labs.rst`. Version built +on `readthedocs` is references in `fix_and_run_notebooks.py` diff --git a/docs/fix_and_run_notebooks.py b/docs/fix_and_run_notebooks.py index aa1642a..0df8f01 100644 --- a/docs/fix_and_run_notebooks.py +++ b/docs/fix_and_run_notebooks.py @@ -11,6 +11,10 @@ version = 'v2' main = 'main' + +print(f'checking out version {version} of the labs') +print(f'checking out version {main} of ISLP') + os.system(f''' cd {dirname}/ISLP_labs; git checkout {version}; @@ -28,6 +32,9 @@ Open In Colab + +[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/intro-stat-learning/ISLP_labs/{version}?labpath={labname}.ipynb) + ''' # allow errors for lab2 From 75c343f56ed91934fd483dfa08d03a1819294cf0 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 6 Aug 2023 13:21:53 -0700 Subject: [PATCH 091/195] remove execute, let sphinx do it --- docs/fix_and_run_notebooks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/fix_and_run_notebooks.py b/docs/fix_and_run_notebooks.py index 0df8f01..65e1227 100644 --- a/docs/fix_and_run_notebooks.py +++ b/docs/fix_and_run_notebooks.py @@ -61,7 +61,7 @@ if labname[:4] != 'Ch10': # clear outputs for all but Ch10 - os.system(f'jupyter nbconvert --execute --ClearOutputPreprocessor.enabled=True --inplace {nbfile}') + os.system(f'jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace {nbfile}') os.system(f'jupytext --set-formats ipynb,md:myst {nbfile}; jupytext --sync {nbfile}') From df4347abf446b42224bcfe9fa25565988f58dadd Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 6 Aug 2023 14:06:39 -0700 Subject: [PATCH 092/195] Update README.md --- README.md | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index a5aac69..9970d13 100644 --- a/README.md +++ b/README.md @@ -37,13 +37,8 @@ pip install ISLP ### Torch requirements The `ISLP` labs use `torch` and various related packages for the lab on deep learning. The requirements -can be found [here](torch_requirements.txt). Alternatively, you can install them directly using `pip` within a terminal. As above, ensure -that you have activated that conda environment (Mac OS or Linux) or -started a terminal within that environment from the Anaconda app (Windows). - -```{python} -pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/torch_requirements.txt -``` +are included in the requirements for `ISLP` with the exception of those needed +for the labs which are included in the [requirements for the labs](https://github.com/intro-stat-learning/ISLP_labs/blob/main/requirements.txt). ## Jupyter From 8ff350c569857a19ca7e99564fba72f107ae21ef Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 6 Aug 2023 14:04:22 -0700 Subject: [PATCH 093/195] unused torch requirements; they are in main requirements except those needed for lab --- torch_requirements.txt | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 torch_requirements.txt diff --git a/torch_requirements.txt b/torch_requirements.txt deleted file mode 100644 index d7656a8..0000000 --- a/torch_requirements.txt +++ /dev/null @@ -1,5 +0,0 @@ -torch -torchvision -pytorch_lightning -torchinfo -torchmetrics From 0a0c7f29ab6be0795c9211b183543da4f2f55fa0 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 6 Aug 2023 15:15:14 -0700 Subject: [PATCH 094/195] removing unused pip requirements --- .github/workflows/python-package-conda.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/python-package-conda.yml b/.github/workflows/python-package-conda.yml index 3024b7f..109d1d7 100644 --- a/.github/workflows/python-package-conda.yml +++ b/.github/workflows/python-package-conda.yml @@ -21,7 +21,6 @@ jobs: - name: Install dependencies run: | pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt - pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/torch_requirements.txt pip install git+https://github.com/intro-stat-learning/ISLP.git - name: Lint with flake8 run: | From b62d819d8775b270784ae22b4742fc6a39b56188 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 6 Aug 2023 15:25:21 -0700 Subject: [PATCH 095/195] two missing torch dependencies --- .github/workflows/python-package-conda.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/python-package-conda.yml b/.github/workflows/python-package-conda.yml index 109d1d7..d33ac80 100644 --- a/.github/workflows/python-package-conda.yml +++ b/.github/workflows/python-package-conda.yml @@ -22,6 +22,7 @@ jobs: run: | pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt pip install git+https://github.com/intro-stat-learning/ISLP.git + pip install torchvision torchinfo - name: Lint with flake8 run: | conda install flake8 From 10a9b299101cdf55a209a2189df04ca7ebe528a2 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 6 Aug 2023 15:26:37 -0700 Subject: [PATCH 096/195] tab / whitespace --- .github/workflows/python-package-conda.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-package-conda.yml b/.github/workflows/python-package-conda.yml index d33ac80..3ce43cc 100644 --- a/.github/workflows/python-package-conda.yml +++ b/.github/workflows/python-package-conda.yml @@ -22,7 +22,7 @@ jobs: run: | pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt pip install git+https://github.com/intro-stat-learning/ISLP.git - pip install torchvision torchinfo + pip install torchvision torchinfo - name: Lint with flake8 run: | conda install flake8 From e7e57cb3b96775f36ee283314220bbd2c8a7b4e3 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 8 Aug 2023 14:49:38 -0700 Subject: [PATCH 097/195] testing v2_devel with renamed notebooks --- docs/fix_and_run_notebooks.py | 11 ++++------- docs/source/installation.myst | 4 ++-- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/docs/fix_and_run_notebooks.py b/docs/fix_and_run_notebooks.py index 65e1227..af57293 100644 --- a/docs/fix_and_run_notebooks.py +++ b/docs/fix_and_run_notebooks.py @@ -9,18 +9,15 @@ os.remove(f) print(f) -version = 'v2' -main = 'main' +version = 'v2_devel' print(f'checking out version {version} of the labs') -print(f'checking out version {main} of ISLP') os.system(f''' cd {dirname}/ISLP_labs; git checkout {version}; mkdir -p {dirname}/source/labs; cp -r * {dirname}/source/labs; -git checkout {main}; ''') for nbfile in glob(os.path.join(dirname, 'source', 'labs', '*nb')): @@ -37,8 +34,8 @@ ''' - # allow errors for lab2 - if labname[:3] == 'Ch6': + # allow errors for Ch02, suppress warnings for Ch06 + if labname[:3] == 'Ch06': colab_code = (''' ```{code-cell} :tags: [hide-cell] @@ -53,7 +50,7 @@ ``` ''' + colab_code) - if labname[:3] == 'Ch2': + if labname[:3] == 'Ch02': nb = nbformat.read(open(nbfile), 4) nb.metadata.setdefault('execution', {})['allow_errors'] = True nbformat.write(nb, open(nbfile, 'w')) diff --git a/docs/source/installation.myst b/docs/source/installation.myst index 542644e..48d2365 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -61,10 +61,10 @@ To ensure you have the same package versions as those built here, run: --- tags: [skip-execution] --- -pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v2/requirements.txt +pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v2_devel/requirements.txt ``` -For more specific install instructions go to [ISLP_labs](https://github.com/intro-stat-learning/ISLP_labs/tree/v2). +For more specific install instructions go to [ISLP_labs](https://github.com/intro-stat-learning/ISLP_labs/tree/v2_devel). ## Torch requirements From 2be34bd491341ca28573cd450c5462620e521e43 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 8 Aug 2023 15:16:42 -0700 Subject: [PATCH 098/195] back to v2 --- docs/fix_and_run_notebooks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/fix_and_run_notebooks.py b/docs/fix_and_run_notebooks.py index af57293..a6aefe8 100644 --- a/docs/fix_and_run_notebooks.py +++ b/docs/fix_and_run_notebooks.py @@ -9,7 +9,7 @@ os.remove(f) print(f) -version = 'v2_devel' +version = 'v2' print(f'checking out version {version} of the labs') From 732e04d5a1ed89b863827c61642b3323853490f4 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 8 Aug 2023 15:18:19 -0700 Subject: [PATCH 099/195] BF labs.rst --- docs/source/labs.rst | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/source/labs.rst b/docs/source/labs.rst index 5828324..653020d 100644 --- a/docs/source/labs.rst +++ b/docs/source/labs.rst @@ -20,14 +20,14 @@ To ensure you have the same package versions as those built here, run: .. toctree:: :maxdepth: 1 - labs/Ch2-statlearn-lab - labs/Ch3-linreg-lab - labs/Ch4-classification-lab - labs/Ch5-resample-lab - labs/Ch6-varselect-lab - labs/Ch7-nonlin-lab - labs/Ch8-baggboost-lab - labs/Ch9-svm-lab + labs/Ch02-statlearn-lab + labs/Ch03-linreg-lab + labs/Ch04-classification-lab + labs/Ch05-resample-lab + labs/Ch06-varselect-lab + labs/Ch07-nonlin-lab + labs/Ch08-baggboost-lab + labs/Ch09-svm-lab labs/Ch10-deeplearning-lab labs/Ch11-surv-lab labs/Ch12-unsup-lab From ed8ab7e9d870f57fa57df8c2082b958e5b3fa2d1 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 8 Aug 2023 16:13:19 -0700 Subject: [PATCH 100/195] v2_devel->v2 in install doc --- docs/source/installation.myst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/installation.myst b/docs/source/installation.myst index 48d2365..542644e 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -61,10 +61,10 @@ To ensure you have the same package versions as those built here, run: --- tags: [skip-execution] --- -pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v2_devel/requirements.txt +pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v2/requirements.txt ``` -For more specific install instructions go to [ISLP_labs](https://github.com/intro-stat-learning/ISLP_labs/tree/v2_devel). +For more specific install instructions go to [ISLP_labs](https://github.com/intro-stat-learning/ISLP_labs/tree/v2). ## Torch requirements From 2425f9bf29b424b4e72304208948ccb3d7d38ce2 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 8 Aug 2023 23:18:36 -0700 Subject: [PATCH 101/195] Developing actions (#3) * test building Ch02 lab * removing one input * put env first? * trying to store lab artifact * whitespace * fix whitespace * trying to find path of built lab * whitespace * action for Ch03 * rename * BF: name of lab * adding input for which lab to build * rename, allowing errors * fix name on github * action to build all labs * name of task in action * add all labs except deeplearning in action * omitting Ch13 from build * doc building action * whitespace * put labs into where sphinx expects * make missing lab directory * make sure to install r-base before building rpy2 * retain the docs * trying a mac test build * adding windows, using pip for pytest, flake8 * rename script, running script in github action * don't strip Ch13 * BF: sequence of when notebooks are fixed * trying deploy docs * move up one directory * BF: directory level * adding --version to clear script * write permission * BF: arg string * adding pages: write * save notebooks to inspect * trying to debug clearing notebooks * the cp was overwriting cleared notebooks * don't store markdown * BF: wrong dir * increasing timeout for pytest' * remove windows for now --- .github/workflows/build_docs.yml | 86 +++++++++++++++ .github/workflows/build_notebook.yml | 61 ++++++++++ .github/workflows/build_notebook_errors.yml | 61 ++++++++++ .github/workflows/build_save_labs.yml | 104 ++++++++++++++++++ .github/workflows/build_test.yml | 72 ++++++++++++ .github/workflows/python-package-conda.yml | 37 ------- .readthedocs.yaml | 2 +- ...otebooks.py => fix_and_clear_notebooks.py} | 28 +++-- docs/source/conf.py | 2 +- 9 files changed, 406 insertions(+), 47 deletions(-) create mode 100644 .github/workflows/build_docs.yml create mode 100644 .github/workflows/build_notebook.yml create mode 100644 .github/workflows/build_notebook_errors.yml create mode 100644 .github/workflows/build_save_labs.yml create mode 100644 .github/workflows/build_test.yml delete mode 100644 .github/workflows/python-package-conda.yml rename docs/{fix_and_run_notebooks.py => fix_and_clear_notebooks.py} (72%) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml new file mode 100644 index 0000000..7328c69 --- /dev/null +++ b/.github/workflows/build_docs.yml @@ -0,0 +1,86 @@ +# This builds and deploys ISLP docs + +name: Build docs + +# Controls when the workflow will run +on: + workflow_dispatch: + inputs: + LABS: + description: 'Labs version' + required: true + default: 'v2' + type: string + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v3 + - uses: actions/setup-python@v2 + with: + python-version: '3.10' + cache: 'pip' + + # Install + - name: Install dependencies + run: | + sudo apt-get install r-base + pip install -r requirements.txt + pip install -r docs/requirements.txt + pip install . + + # Checkout labs + - name: Checkout version of labs + env: + LABS: ${{ inputs.LABS }} + run: | + git submodule update --init --force docs/ISLP_labs + cd docs + python fix_and_clear_notebooks.py --version $LABS + rm source/labs/Ch*md + + - name: Make docs + run: | + cd docs + make html + + # Store the output + - name: Upload docs + uses: actions/upload-artifact@v3 + with: + name: ISLP_docs + path: docs/build/html + retention-days: 5 + + deploy: + runs-on: ubuntu-latest + needs: build + + # Grant GITHUB_TOKEN the permissions required to make a Pages deployment + permissions: + pages: write # to deploy to Pages + id-token: write # to verify the deployment originates from an appropriate source + + environment: + name: github-pages + url: ${{steps.deployment.outputs.page_url}} + + steps: + - uses: actions/download-artifact@master + with: + name: ISLP_docs + path: . + - uses: actions/configure-pages@v1 + - uses: actions/upload-pages-artifact@v1 + with: + path: . + - id: deployment + uses: actions/deploy-pages@main \ No newline at end of file diff --git a/.github/workflows/build_notebook.yml b/.github/workflows/build_notebook.yml new file mode 100644 index 0000000..4a6c9f4 --- /dev/null +++ b/.github/workflows/build_notebook.yml @@ -0,0 +1,61 @@ +# This is a basic workflow to help you get started with Actions + +name: Build a notebook + +# Controls when the workflow will run +on: + workflow_dispatch: + inputs: + LABS: + description: 'Labs version' + required: true + default: 'v2' + type: string + ID: + description: 'Which lab to build' + required: true + default: '02' + type: string + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v3 + - uses: actions/setup-python@v2 + with: + python-version: '3.10' + cache: 'pip' + + # Install + - name: Install dependencies + run: | + pip install . + + # Runs a set of commands using the runners shell + - name: Build notebook + env: + LABS: ${{ inputs.LABS }} + ID: ${{ inputs.ID }} + run: | + git clone https://github.com/intro-stat-learning/ISLP_labs.git + cd ISLP_labs + git checkout $LABS + jupyter nbconvert --execute --inplace Ch*$ID*lab.ipynb + jupyter nbconvert --to html Ch*$ID*lab.ipynb + + # Store the output + - name: Upload labs + env: + ID: ${{ inputs.ID }} + uses: actions/upload-artifact@v3 + with: + name: ISLP_labs + path: ISLP_labs/Ch*$ID* + retention-days: 1 \ No newline at end of file diff --git a/.github/workflows/build_notebook_errors.yml b/.github/workflows/build_notebook_errors.yml new file mode 100644 index 0000000..4419557 --- /dev/null +++ b/.github/workflows/build_notebook_errors.yml @@ -0,0 +1,61 @@ +# This is a basic workflow to help you get started with Actions + +name: Build a notebook (allow errors, capture result) + +# Controls when the workflow will run +on: + workflow_dispatch: + inputs: + LABS: + description: 'Labs version' + required: true + default: 'v2' + type: string + ID: + description: 'Which lab to build' + required: true + default: '02' + type: string + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v3 + - uses: actions/setup-python@v2 + with: + python-version: '3.10' + cache: 'pip' + + # Install + - name: Install dependencies + run: | + pip install . + + # Runs a set of commands using the runners shell + - name: Build notebook, allowing errors + env: + LABS: ${{ inputs.LABS }} + ID: ${{ inputs.ID }} + run: | + git clone https://github.com/intro-stat-learning/ISLP_labs.git + cd ISLP_labs + git checkout $LABS + jupyter nbconvert --execute --inplace Ch*$ID*lab.ipynb --allow-errors + + # Store the output + - name: Upload labs + env: + ID: ${{ inputs.ID }} + uses: actions/upload-artifact@v3 + with: + name: ISLP_labs + path: ISLP_labs/Ch*$ID*nb + retention-days: 1 + diff --git a/.github/workflows/build_save_labs.yml b/.github/workflows/build_save_labs.yml new file mode 100644 index 0000000..abdf3d5 --- /dev/null +++ b/.github/workflows/build_save_labs.yml @@ -0,0 +1,104 @@ +# This is a basic workflow to help you get started with Actions + +name: Build + save notebooks (not 10,13) + +# Controls when the workflow will run +on: + workflow_dispatch: + inputs: + LABS: + description: 'Labs version' + required: true + default: 'v2' + type: string + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v3 + - uses: actions/setup-python@v2 + with: + python-version: '3.10' + cache: 'pip' + + # Install + - name: Install dependencies + run: | + pip install . + + # Runs a set of commands using the runners shell + - name: Build Ch02 notebook (allow errors) + env: + LABS: ${{ inputs.LABS }} + run: | + git clone https://github.com/intro-stat-learning/ISLP_labs.git + cd ISLP_labs + git checkout $LABS + rm Ch10* + rm Ch13* + jupyter nbconvert --execute --inplace --allow-errors Ch02*lab.ipynb + + - name: Build Ch03 notebook + run: | + cd ISLP_labs + jupyter nbconvert --execute --inplace Ch03*lab.ipynb + + - name: Build Ch04 notebook + run: | + cd ISLP_labs + jupyter nbconvert --execute --inplace Ch04*lab.ipynb + + - name: Build Ch05 notebook + run: | + cd ISLP_labs + jupyter nbconvert --execute --inplace Ch05*lab.ipynb + + - name: Build Ch06 notebook + run: | + cd ISLP_labs + jupyter nbconvert --execute --inplace Ch06*lab.ipynb + + - name: Build Ch07 notebook + run: | + cd ISLP_labs + jupyter nbconvert --execute --inplace Ch07*lab.ipynb + + - name: Build Ch08 notebook + run: | + cd ISLP_labs + jupyter nbconvert --execute --inplace Ch08*lab.ipynb + + - name: Build Ch09 notebook + run: | + cd ISLP_labs + jupyter nbconvert --execute --inplace Ch09*lab.ipynb + + - name: Build Ch11 notebook + run: | + cd ISLP_labs + jupyter nbconvert --execute --inplace Ch11*lab.ipynb + + - name: Build Ch12 notebook + run: | + cd ISLP_labs + jupyter nbconvert --execute --inplace Ch12*lab.ipynb + + - name: Build HTML + run: | + cd ISLP_labs + jupyter nbconvert --to html Ch*ipynb + + # Store the output + - name: Upload labs + uses: actions/upload-artifact@v3 + with: + name: ISLP_labs + path: ISLP_labs/Ch* + retention-days: 1 \ No newline at end of file diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml new file mode 100644 index 0000000..bca136a --- /dev/null +++ b/.github/workflows/build_test.yml @@ -0,0 +1,72 @@ +name: Build and test + +on: [push] + +jobs: + build-linux: + runs-on: ubuntu-latest + strategy: + max-parallel: 5 + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: '3.10' + - name: Add conda to system path + run: | + # $CONDA is an environment variable pointing to the root of the miniconda directory + echo $CONDA/bin >> $GITHUB_PATH + - name: Install dependencies + run: | + pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt + pip install git+https://github.com/intro-stat-learning/ISLP.git + pip install torchvision torchinfo + - name: Lint with flake8 + run: | + pip install flake8 + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + timeout-minutes: 12 + run: | + pip install pytest + pytest + + build-mac: + runs-on: macos-latest + strategy: + max-parallel: 5 + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: '3.10' + - name: Add conda to system path + run: | + # $CONDA is an environment variable pointing to the root of the miniconda directory + echo $CONDA/bin >> $GITHUB_PATH + - name: Install dependencies + run: | + pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt + pip install git+https://github.com/intro-stat-learning/ISLP.git + pip install torchvision torchinfo + - name: Lint with flake8 + run: | + pip install flake8 + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + timeout-minutes: 12 + run: | + pip install pytest + pytest + + diff --git a/.github/workflows/python-package-conda.yml b/.github/workflows/python-package-conda.yml deleted file mode 100644 index 3ce43cc..0000000 --- a/.github/workflows/python-package-conda.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Python Package using Conda - -on: [push] - -jobs: - build-linux: - runs-on: ubuntu-latest - strategy: - max-parallel: 5 - - steps: - - uses: actions/checkout@v3 - - name: Set up Python 3.10 - uses: actions/setup-python@v3 - with: - python-version: '3.10' - - name: Add conda to system path - run: | - # $CONDA is an environment variable pointing to the root of the miniconda directory - echo $CONDA/bin >> $GITHUB_PATH - - name: Install dependencies - run: | - pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt - pip install git+https://github.com/intro-stat-learning/ISLP.git - pip install torchvision torchinfo - - name: Lint with flake8 - run: | - conda install flake8 - # stop the build if there are Python syntax errors or undefined names - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - - name: Test with pytest - run: | - conda install pytest - pytest - diff --git a/.readthedocs.yaml b/.readthedocs.yaml index a8f6297..44bfa25 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -14,7 +14,7 @@ build: - r-base jobs: pre_build: - - python docs/fix_and_run_notebooks.py + - python docs/fix_and_clear_notebooks.py submodules: include: all diff --git a/docs/fix_and_run_notebooks.py b/docs/fix_and_clear_notebooks.py similarity index 72% rename from docs/fix_and_run_notebooks.py rename to docs/fix_and_clear_notebooks.py index a6aefe8..aac28ee 100644 --- a/docs/fix_and_run_notebooks.py +++ b/docs/fix_and_clear_notebooks.py @@ -1,6 +1,13 @@ -import os, nbformat +import os +import nbformat +from argparse import ArgumentParser from glob import glob +parser = ArgumentParser() +parser.add_argument('--version', default='v2') +args = parser.parse_args() +version = args.version + import __main__ dirname = os.path.split(__main__.__file__)[0] print(dirname) @@ -9,8 +16,6 @@ os.remove(f) print(f) -version = 'v2' - print(f'checking out version {version} of the labs') os.system(f''' @@ -55,12 +60,16 @@ nb.metadata.setdefault('execution', {})['allow_errors'] = True nbformat.write(nb, open(nbfile, 'w')) - if labname[:4] != 'Ch10': + if labname[:4] not in ['Ch10', 'Ch13']: - # clear outputs for all but Ch10 - os.system(f'jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace {nbfile}') + # clear outputs for all but Ch10,Ch13 + cmd = f'jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace {nbfile}' + print(f'Running: {cmd}') + os.system(cmd) - os.system(f'jupytext --set-formats ipynb,md:myst {nbfile}; jupytext --sync {nbfile}') + cmd = f'jupytext --set-formats ipynb,md:myst {nbfile}; jupytext --sync {nbfile}' + print(f'Running: {cmd}') + os.system(cmd) myst = open(f'{base}.md').read().strip() @@ -75,5 +84,8 @@ open(f'{base}.md', 'w').write(myst) - os.system(f'jupytext --sync {base}.ipynb; rm {base}.md') +# cmd = f'jupytext --sync {base}.ipynb; rm {base}.md' + cmd = f'jupytext --sync {base}.ipynb; ' + print(f'Running: {cmd}') + os.system(cmd) diff --git a/docs/source/conf.py b/docs/source/conf.py index 6007ef5..dac1a2d 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -29,7 +29,7 @@ numpydoc_class_members_toctree = False nb_execution_mode = "auto" nb_execution_timeout = 60*20 #*100 -nb_execution_excludepatterns = ['Ch10*', 'imdb.ipynb'] +nb_execution_excludepatterns = ['Ch10*', 'Ch13*', 'imdb.ipynb'] nb_execution_allow_errors = True #nb_kernel_rgx_aliases = {'python3': "islp_test"} From bdbec379c859c9b5bbb2cb482ec1411b1b74858f Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 15 Aug 2023 21:34:05 -0700 Subject: [PATCH 102/195] always return a two-dimensional column with _get_clumn (#4) --- ISLP/models/columns.py | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/ISLP/models/columns.py b/ISLP/models/columns.py index c15ace2..e3c2106 100644 --- a/ISLP/models/columns.py +++ b/ISLP/models/columns.py @@ -52,7 +52,7 @@ def get_columns(self, X, fit=False): Column names """ - cols = _get_column(self.idx, X, ndarray=False) + cols = _get_column(self.idx, X) if fit: self.fit_encoder(X) @@ -88,7 +88,7 @@ def fit_encoder(self, X): ------- None """ - cols = _get_column(self.idx, X, ndarray=False) + cols = _get_column(self.idx, X) if self.encoder is not None: try: check_is_fitted(self.encoder) @@ -102,31 +102,23 @@ def fit_encoder(self, X): def _get_column(idx, X, - twodim=False, - loc=True, - ndarray=True): + loc=True): """ - Extract column `idx` from `X`, - optionally making it two-dimensional - as many sklearn encoders assume - two-dimensional input + Extract column `idx` from `X` + as a two-dimensional ndarray or a pd.DataFrame """ if isinstance(X, np.ndarray): - col = X[:, idx] + col = X[:, [idx]] elif hasattr(X, 'loc'): if loc: - col = X.loc[:, idx] + col = X.loc[:, [idx]] else: # use iloc instead - col = X.iloc[:, idx] + col = X.iloc[:, [idx]] else: raise ValueError('expecting an ndarray or a ' + '"loc/iloc" methods, got %s' % str(X)) - if ndarray: - if twodim and np.asarray(col).ndim == 1: - return np.asarray(col).reshape((-1, 1)) - return np.asarray(col) - else: - return col + + return col def _get_column_info(X, @@ -158,12 +150,12 @@ def _get_column_info(X, name = str(col) if is_categorical[i]: if is_ordinal[i]: - Xcol = _get_column(col, X, twodim=True) + Xcol = _get_column(col, X) encoder = clone(default_encoders['ordinal']) encoder.fit(Xcol) columns = ['{0}'.format(col)] else: - Xcol = _get_column(col, X, twodim=True, ndarray=True) + Xcol = _get_column(col, X) encoder = clone(default_encoders['categorical']) cols = encoder.fit_transform(Xcol) if hasattr(encoder, 'columns_'): @@ -179,7 +171,7 @@ def _get_column_info(X, tuple(columns), encoder) else: - Xcol = _get_column(col, X, twodim=True) + Xcol = _get_column(col, X) column_info[col] = Column(col, name, columns=(name,)) From 7780420195fe9a145d605c8f5378d684b6d0050a Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 11:37:58 -0700 Subject: [PATCH 103/195] building notebooks on linux and macos --- .github/workflows/build_notebook.yml | 44 ++++++++++++++++++++- .github/workflows/build_notebook_errors.yml | 43 +++++++++++++++++++- 2 files changed, 83 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_notebook.yml b/.github/workflows/build_notebook.yml index 4a6c9f4..8d50f07 100644 --- a/.github/workflows/build_notebook.yml +++ b/.github/workflows/build_notebook.yml @@ -14,16 +14,56 @@ on: ID: description: 'Which lab to build' required: true - default: '02' + default: '03' type: string # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: # This workflow contains a single job called "build" - build: + build-linux: # The type of runner that the job will run on runs-on: ubuntu-latest + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v3 + - uses: actions/setup-python@v2 + with: + python-version: '3.10' + cache: 'pip' + + # Install + - name: Install dependencies + run: | + pip install . + + # Runs a set of commands using the runners shell + - name: Build notebook + env: + LABS: ${{ inputs.LABS }} + ID: ${{ inputs.ID }} + run: | + git clone https://github.com/intro-stat-learning/ISLP_labs.git + cd ISLP_labs + git checkout $LABS + jupyter nbconvert --execute --inplace Ch*$ID*lab.ipynb + jupyter nbconvert --to html Ch*$ID*lab.ipynb + + # Store the output + - name: Upload labs + env: + ID: ${{ inputs.ID }} + uses: actions/upload-artifact@v3 + with: + name: ISLP_labs + path: ISLP_labs/Ch*$ID* + retention-days: 1 + + build-mac: + # The type of runner that the job will run on + runs-on: macos-latest + # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it diff --git a/.github/workflows/build_notebook_errors.yml b/.github/workflows/build_notebook_errors.yml index 4419557..28b4b5e 100644 --- a/.github/workflows/build_notebook_errors.yml +++ b/.github/workflows/build_notebook_errors.yml @@ -19,8 +19,8 @@ on: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: - # This workflow contains a single job called "build" - build: + + build-linux: # The type of runner that the job will run on runs-on: ubuntu-latest @@ -59,3 +59,42 @@ jobs: path: ISLP_labs/Ch*$ID*nb retention-days: 1 + build-mac: + # The type of runner that the job will run on + runs-on: macos-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v3 + - uses: actions/setup-python@v2 + with: + python-version: '3.10' + cache: 'pip' + + # Install + - name: Install dependencies + run: | + pip install . + + # Runs a set of commands using the runners shell + - name: Build notebook, allowing errors + env: + LABS: ${{ inputs.LABS }} + ID: ${{ inputs.ID }} + run: | + git clone https://github.com/intro-stat-learning/ISLP_labs.git + cd ISLP_labs + git checkout $LABS + jupyter nbconvert --execute --inplace Ch*$ID*lab.ipynb --allow-errors + + # Store the output + - name: Upload labs + env: + ID: ${{ inputs.ID }} + uses: actions/upload-artifact@v3 + with: + name: ISLP_labs + path: ISLP_labs/Ch*$ID*nb + retention-days: 1 + From 8b16f04df6b817c42d63aa2284b28eef46627dfa Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 12:04:22 -0700 Subject: [PATCH 104/195] max numpy requirement for numba --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 134b920..4fe0974 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -numpy>=1.7.1 +numpy>=1.7.1,<1.25 # max version for numba scipy>=0.9 pandas>=0.20 pandas<=1.9 From 4298d880d56ce03a0b20b2f6dfc7bcc90e4c7046 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 12:06:47 -0700 Subject: [PATCH 105/195] use requirements.txt --- setup.py | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/setup.py b/setup.py index ff4a13b..9ad4db8 100755 --- a/setup.py +++ b/setup.py @@ -187,18 +187,20 @@ def version_error_msg(pkg_name, found_ver, min_ver): req_type='install_requires', heavy=True).check_fill(extra_setuptools_args) -#requirements = open('requirements.txt').read().strip().split('\n') - -requirements = '''numpy -scipy -jupyter -pandas -lxml # pandas needs this for html -scikit-learn -joblib -pygam # for GAM in Ch7 -lifelines'''.split('\n') -#l0bnb # for bestsubsets +dirname = os.path.dirname(__file__) +requirements = open(os.path.join(dirname, + 'requirements.txt')).read().strip().split('\n') + +# requirements = '''numpy +# scipy +# jupyter +# pandas +# lxml # pandas needs this for html +# scikit-learn +# joblib +# pygam # for GAM in Ch7 +# lifelines'''.split('\n') +# #l0bnb # for bestsubsets From a06fc825c0eac37ca6d39be7c06a1f41927f769f Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 12:08:53 -0700 Subject: [PATCH 106/195] remove whitespace --- requirements.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 4fe0974..4c1827e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,5 +11,3 @@ pygam # for GAM in Ch7 torch pytorch_lightning torchmetrics -#l0bnb # for bestsubsets - From d65db3a437eff4581361e2f34967a8901d18be21 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 12:27:08 -0700 Subject: [PATCH 107/195] switching to pyproject.toml --- pyproject.toml | 17 +++++++++++++++ setup.py | 56 +++++++++++++++++++++++++------------------------- 2 files changed, 45 insertions(+), 28 deletions(-) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..df053e4 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,17 @@ +[build-system] +requires = ["setuptools>=42", + "wheel", + "numpy>=1.7.1,<1.25", # max version for numba + "scipy>=0.9", + "pandas>=0.20,<=1.9", + "lxml", # pandas needs this for html + "scikit-learn>=1.2", + "joblib", + "statsmodels>=0.13", + "lifelines", + "pygam", # for GAM in Ch7 + "torch", + "pytorch_lightning", + "torchmetrics" + ] +build-backend = "setuptools.build_meta" diff --git a/setup.py b/setup.py index 9ad4db8..4a0d908 100755 --- a/setup.py +++ b/setup.py @@ -168,28 +168,28 @@ def version_error_msg(pkg_name, found_ver, min_ver): # Define extensions EXTS = [] -SetupDependency('numpy', info.NUMPY_MIN_VERSION, - req_type='install_requires', - heavy=True).check_fill(extra_setuptools_args) -SetupDependency('scipy', info.SCIPY_MIN_VERSION, - req_type='install_requires', - heavy=True).check_fill(extra_setuptools_args) -SetupDependency('matplotlib', info.MATPLOTLIB_MIN_VERSION, - req_type='install_requires', - heavy=True).check_fill(extra_setuptools_args) -SetupDependency('pandas', info.PANDAS_MIN_VERSION, - req_type='install_requires', - heavy=True).check_fill(extra_setuptools_args) -SetupDependency('statsmodels', info.STATSMODELS_MIN_VERSION, - req_type='install_requires', - heavy=True).check_fill(extra_setuptools_args) -SetupDependency('scikit-learn', info.SKLEARN_MIN_VERSION, - req_type='install_requires', - heavy=True).check_fill(extra_setuptools_args) - -dirname = os.path.dirname(__file__) -requirements = open(os.path.join(dirname, - 'requirements.txt')).read().strip().split('\n') +# SetupDependency('numpy', info.NUMPY_MIN_VERSION, +# req_type='install_requires', +# heavy=True).check_fill(extra_setuptools_args) +# SetupDependency('scipy', info.SCIPY_MIN_VERSION, +# req_type='install_requires', +# heavy=True).check_fill(extra_setuptools_args) +# SetupDependency('matplotlib', info.MATPLOTLIB_MIN_VERSION, +# req_type='install_requires', +# heavy=True).check_fill(extra_setuptools_args) +# SetupDependency('pandas', info.PANDAS_MIN_VERSION, +# req_type='install_requires', +# heavy=True).check_fill(extra_setuptools_args) +# SetupDependency('statsmodels', info.STATSMODELS_MIN_VERSION, +# req_type='install_requires', +# heavy=True).check_fill(extra_setuptools_args) +# SetupDependency('scikit-learn', info.SKLEARN_MIN_VERSION, +# req_type='install_requires', +# heavy=True).check_fill(extra_setuptools_args) + +# dirname = os.path.dirname(__file__) +# requirements = open(os.path.join(dirname, +# 'requirements.txt')).read().strip().split('\n') # requirements = '''numpy # scipy @@ -204,12 +204,12 @@ def version_error_msg(pkg_name, found_ver, min_ver): -for req in requirements: - req = req.split('#')[0] - import sys; sys.stderr.write(req+'\n') - SetupDependency(req, "0.0", - req_type='install_requires', - heavy=True).check_fill(extra_setuptools_args) +# for req in requirements: +# req = req.split('#')[0] +# import sys; sys.stderr.write(req+'\n') +# SetupDependency(req, "0.0", +# req_type='install_requires', +# heavy=True).check_fill(extra_setuptools_args) cmdclass=versioneer.get_cmdclass() From c75e501dd6bd0faf8196de6f27cbe5cecba97873 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 12:30:54 -0700 Subject: [PATCH 108/195] install torch deps only at test step --- .github/workflows/build_test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index bca136a..f316693 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -22,7 +22,6 @@ jobs: run: | pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt pip install git+https://github.com/intro-stat-learning/ISLP.git - pip install torchvision torchinfo - name: Lint with flake8 run: | pip install flake8 @@ -33,6 +32,7 @@ jobs: - name: Test with pytest timeout-minutes: 12 run: | + pip install torchvision torchinfo pip install pytest pytest @@ -55,7 +55,6 @@ jobs: run: | pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt pip install git+https://github.com/intro-stat-learning/ISLP.git - pip install torchvision torchinfo - name: Lint with flake8 run: | pip install flake8 @@ -66,6 +65,7 @@ jobs: - name: Test with pytest timeout-minutes: 12 run: | + pip install torchvision torchinfo pip install pytest pytest From c3d9d7394b96716e770d7a1291c95b88e756e049 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 12:39:26 -0700 Subject: [PATCH 109/195] versioneer package --- pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index df053e4..faed5d2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,6 +12,7 @@ requires = ["setuptools>=42", "pygam", # for GAM in Ch7 "torch", "pytorch_lightning", - "torchmetrics" + "torchmetrics", + "versioneer" ] build-backend = "setuptools.build_meta" From 2e15e4a889d145d8a0c210a6b8e1281ec8fa6af8 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 12:48:56 -0700 Subject: [PATCH 110/195] removed redundant requirements.txt --- .github/workflows/build_test.yml | 4 +- setup.py | 144 ------------------------------- 2 files changed, 2 insertions(+), 146 deletions(-) diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index f316693..feebbd6 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -20,7 +20,7 @@ jobs: echo $CONDA/bin >> $GITHUB_PATH - name: Install dependencies run: | - pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt + # pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt pip install git+https://github.com/intro-stat-learning/ISLP.git - name: Lint with flake8 run: | @@ -53,7 +53,7 @@ jobs: echo $CONDA/bin >> $GITHUB_PATH - name: Install dependencies run: | - pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt + # pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt pip install git+https://github.com/intro-stat-learning/ISLP.git - name: Lint with flake8 run: | diff --git a/setup.py b/setup.py index 4a0d908..c30a6d7 100755 --- a/setup.py +++ b/setup.py @@ -51,107 +51,6 @@ def read_vars_from(ver_file): info = read_vars_from(pjoin('ISLP', 'info.py')) -class SetupDependency(object): - """ SetupDependency class - - Parameters - ---------- - import_name : str - Name with which required package should be ``import``ed. - min_ver : str - Distutils version string giving minimum version for package. - req_type : {'install_requires', 'setup_requires'}, optional - Setuptools dependency type. - heavy : {False, True}, optional - If True, and package is already installed (importable), then do not add - to the setuptools dependency lists. This prevents setuptools - reinstalling big packages when the package was installed without using - setuptools, or this is an upgrade, and we want to avoid the pip default - behavior of upgrading all dependencies. - install_name : str, optional - Name identifying package to install from pypi etc, if different from - `import_name`. - """ - - def __init__(self, import_name, - min_ver, - req_type='install_requires', - heavy=False, - install_name=None): - self.import_name = import_name - self.min_ver = min_ver - self.req_type = req_type - self.heavy = heavy - self.install_name = (import_name if install_name is None - else install_name) - - def check_fill(self, setuptools_kwargs): - """ Process this dependency, maybe filling `setuptools_kwargs` - - Run checks on this dependency. If not using setuptools, then raise - error for unmet dependencies. If using setuptools, add missing or - not-heavy dependencies to `setuptools_kwargs`. - - A heavy dependency is one that is inconvenient to install - automatically, such as numpy or (particularly) scipy, matplotlib. - - Parameters - ---------- - setuptools_kwargs : dict - Dictionary of setuptools keyword arguments that may be modified - in-place while checking dependencies. - """ - found_ver = get_pkg_version(self.import_name) - ver_err_msg = version_error_msg(self.import_name, - found_ver, - self.min_ver) - if not 'setuptools' in sys.modules: - # Not using setuptools; raise error for any unmet dependencies - if ver_err_msg is not None: - raise RuntimeError(ver_err_msg) - return - # Using setuptools; add packages to given section of - # setup/install_requires, unless it's a heavy dependency for which we - # already have an acceptable importable version. - if self.heavy and ver_err_msg is None: - return - new_req = '{0}>={1}'.format(self.import_name, self.min_ver) - old_reqs = setuptools_kwargs.get(self.req_type, []) - setuptools_kwargs[self.req_type] = old_reqs + [new_req] - -def get_pkg_version(pkg_name): - """ Return package version for `pkg_name` if installed - - Returns - ------- - pkg_version : str or None - Return None if package not importable. Return 'unknown' if standard - ``__version__`` string not present. Otherwise return version string. - """ - try: - pkg = __import__(pkg_name) - except ImportError: - return None - try: - return pkg.__version__ - except AttributeError: - return 'unknown' - -def version_error_msg(pkg_name, found_ver, min_ver): - """ Return informative error message for version or None - """ - if found_ver is None: - return 'We need package {0}, but not importable'.format(pkg_name) - if found_ver == 'unknown': - return 'We need {0} version {1}, but cannot get version'.format( - pkg_name, min_ver) - if LooseVersion(found_ver) >= LooseVersion(min_ver): - return None - return 'We need {0} version {1}, but found version {2}'.format( - pkg_name, found_ver, min_ver) - - - # Try to preempt setuptools monkeypatching of Extension handling when Pyrex # is missing. Otherwise the monkeypatched Extension will change .pyx # filenames to .c filenames, and we probably don't have the .c files. @@ -168,49 +67,6 @@ def version_error_msg(pkg_name, found_ver, min_ver): # Define extensions EXTS = [] -# SetupDependency('numpy', info.NUMPY_MIN_VERSION, -# req_type='install_requires', -# heavy=True).check_fill(extra_setuptools_args) -# SetupDependency('scipy', info.SCIPY_MIN_VERSION, -# req_type='install_requires', -# heavy=True).check_fill(extra_setuptools_args) -# SetupDependency('matplotlib', info.MATPLOTLIB_MIN_VERSION, -# req_type='install_requires', -# heavy=True).check_fill(extra_setuptools_args) -# SetupDependency('pandas', info.PANDAS_MIN_VERSION, -# req_type='install_requires', -# heavy=True).check_fill(extra_setuptools_args) -# SetupDependency('statsmodels', info.STATSMODELS_MIN_VERSION, -# req_type='install_requires', -# heavy=True).check_fill(extra_setuptools_args) -# SetupDependency('scikit-learn', info.SKLEARN_MIN_VERSION, -# req_type='install_requires', -# heavy=True).check_fill(extra_setuptools_args) - -# dirname = os.path.dirname(__file__) -# requirements = open(os.path.join(dirname, -# 'requirements.txt')).read().strip().split('\n') - -# requirements = '''numpy -# scipy -# jupyter -# pandas -# lxml # pandas needs this for html -# scikit-learn -# joblib -# pygam # for GAM in Ch7 -# lifelines'''.split('\n') -# #l0bnb # for bestsubsets - - - -# for req in requirements: -# req = req.split('#')[0] -# import sys; sys.stderr.write(req+'\n') -# SetupDependency(req, "0.0", -# req_type='install_requires', -# heavy=True).check_fill(extra_setuptools_args) - cmdclass=versioneer.get_cmdclass() # get long_description From 8e4aecf3b90f5f87c15064f5f47b3bd8dfab2102 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 12:50:57 -0700 Subject: [PATCH 111/195] installing from checked out git repo --- .github/workflows/build_test.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index feebbd6..c2d228b 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -20,8 +20,7 @@ jobs: echo $CONDA/bin >> $GITHUB_PATH - name: Install dependencies run: | - # pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt - pip install git+https://github.com/intro-stat-learning/ISLP.git + pip install . # git+https://github.com/intro-stat-learning/ISLP.git - name: Lint with flake8 run: | pip install flake8 @@ -53,8 +52,7 @@ jobs: echo $CONDA/bin >> $GITHUB_PATH - name: Install dependencies run: | - # pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP/main/requirements.txt - pip install git+https://github.com/intro-stat-learning/ISLP.git + pip install . # git+https://github.com/intro-stat-learning/ISLP.git - name: Lint with flake8 run: | pip install flake8 From 08c279ebb8c459eb66099c1ac6f841e3fe6c3c2f Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 12:59:47 -0700 Subject: [PATCH 112/195] moving requirements --- pyproject.toml | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index faed5d2..5fc53d9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,18 +1,23 @@ +[project] +name = "ISLP" +version = "0.3.19" +dependencies = ["numpy>=1.7.1,<1.25", # max version for numba + "scipy>=0.9", + "pandas>=0.20,<=1.9", + "lxml", # pandas needs this for html + "scikit-learn>=1.2", + "joblib", + "statsmodels>=0.13", + "lifelines", + "pygam", # for GAM in Ch7 + "torch", + "pytorch_lightning", + "torchmetrics", + ] + [build-system] requires = ["setuptools>=42", "wheel", - "numpy>=1.7.1,<1.25", # max version for numba - "scipy>=0.9", - "pandas>=0.20,<=1.9", - "lxml", # pandas needs this for html - "scikit-learn>=1.2", - "joblib", - "statsmodels>=0.13", - "lifelines", - "pygam", # for GAM in Ch7 - "torch", - "pytorch_lightning", - "torchmetrics", "versioneer" ] build-backend = "setuptools.build_meta" From 8fae3b6603cb3d8ca511bcbfe2454d438b25d846 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 13:24:12 -0700 Subject: [PATCH 113/195] install jupyter for lab --- .github/workflows/build_notebook.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build_notebook.yml b/.github/workflows/build_notebook.yml index 8d50f07..358f568 100644 --- a/.github/workflows/build_notebook.yml +++ b/.github/workflows/build_notebook.yml @@ -37,6 +37,7 @@ jobs: - name: Install dependencies run: | pip install . + pip install jupyterlab # Runs a set of commands using the runners shell - name: Build notebook @@ -77,6 +78,7 @@ jobs: - name: Install dependencies run: | pip install . + pip install jupyterlab # Runs a set of commands using the runners shell - name: Build notebook From 5852a8f8d39d23158c43017a95b9416067866637 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 13:25:15 -0700 Subject: [PATCH 114/195] syntax error --- .github/workflows/build_notebook.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_notebook.yml b/.github/workflows/build_notebook.yml index 358f568..ca1b38d 100644 --- a/.github/workflows/build_notebook.yml +++ b/.github/workflows/build_notebook.yml @@ -37,7 +37,7 @@ jobs: - name: Install dependencies run: | pip install . - pip install jupyterlab + pip install jupyterlab # Runs a set of commands using the runners shell - name: Build notebook From 36dbddb5b45cbefdefddae0c1a00b56b364d5124 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 14:53:37 -0700 Subject: [PATCH 115/195] updating to setup-python action --- .github/workflows/build_docs.yml | 2 +- .github/workflows/build_notebook.yml | 4 ++-- .github/workflows/build_notebook_errors.yml | 4 ++-- .github/workflows/build_save_labs.yml | 2 +- .github/workflows/build_test.yml | 8 ++++---- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 7328c69..ee88d2c 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -24,7 +24,7 @@ jobs: steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3 - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v4 with: python-version: '3.10' cache: 'pip' diff --git a/.github/workflows/build_notebook.yml b/.github/workflows/build_notebook.yml index ca1b38d..3fcb6f1 100644 --- a/.github/workflows/build_notebook.yml +++ b/.github/workflows/build_notebook.yml @@ -28,7 +28,7 @@ jobs: steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3 - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v4 with: python-version: '3.10' cache: 'pip' @@ -69,7 +69,7 @@ jobs: steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3 - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v4 with: python-version: '3.10' cache: 'pip' diff --git a/.github/workflows/build_notebook_errors.yml b/.github/workflows/build_notebook_errors.yml index 28b4b5e..d6c0f21 100644 --- a/.github/workflows/build_notebook_errors.yml +++ b/.github/workflows/build_notebook_errors.yml @@ -28,7 +28,7 @@ jobs: steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3 - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v4 with: python-version: '3.10' cache: 'pip' @@ -67,7 +67,7 @@ jobs: steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3 - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v4 with: python-version: '3.10' cache: 'pip' diff --git a/.github/workflows/build_save_labs.yml b/.github/workflows/build_save_labs.yml index abdf3d5..7d2f694 100644 --- a/.github/workflows/build_save_labs.yml +++ b/.github/workflows/build_save_labs.yml @@ -23,7 +23,7 @@ jobs: steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3 - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v4 with: python-version: '3.10' cache: 'pip' diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index c2d228b..495663c 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -11,7 +11,7 @@ jobs: steps: - uses: actions/checkout@v3 - name: Set up Python 3.10 - uses: actions/setup-python@v3 + uses: actions/setup-python@v4 with: python-version: '3.10' - name: Add conda to system path @@ -20,7 +20,7 @@ jobs: echo $CONDA/bin >> $GITHUB_PATH - name: Install dependencies run: | - pip install . # git+https://github.com/intro-stat-learning/ISLP.git + pip install . - name: Lint with flake8 run: | pip install flake8 @@ -43,7 +43,7 @@ jobs: steps: - uses: actions/checkout@v3 - name: Set up Python 3.10 - uses: actions/setup-python@v3 + uses: actions/setup-python@v4 with: python-version: '3.10' - name: Add conda to system path @@ -52,7 +52,7 @@ jobs: echo $CONDA/bin >> $GITHUB_PATH - name: Install dependencies run: | - pip install . # git+https://github.com/intro-stat-learning/ISLP.git + pip install . - name: Lint with flake8 run: | pip install flake8 From 08a0823aa22c0c6b4a893a7d155c8f6e8afe1dff Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 15:01:18 -0700 Subject: [PATCH 116/195] changing path of artifact --- .github/workflows/build_notebook.yml | 6 +++--- .github/workflows/build_notebook_errors.yml | 4 ++-- .github/workflows/build_save_labs.yml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_notebook.yml b/.github/workflows/build_notebook.yml index 3fcb6f1..d8a5664 100644 --- a/.github/workflows/build_notebook.yml +++ b/.github/workflows/build_notebook.yml @@ -50,7 +50,7 @@ jobs: git checkout $LABS jupyter nbconvert --execute --inplace Ch*$ID*lab.ipynb jupyter nbconvert --to html Ch*$ID*lab.ipynb - + # Store the output - name: Upload labs env: @@ -58,7 +58,7 @@ jobs: uses: actions/upload-artifact@v3 with: name: ISLP_labs - path: ISLP_labs/Ch*$ID* + path: Ch*$ID* retention-days: 1 build-mac: @@ -99,5 +99,5 @@ jobs: uses: actions/upload-artifact@v3 with: name: ISLP_labs - path: ISLP_labs/Ch*$ID* + path: Ch*$ID* retention-days: 1 \ No newline at end of file diff --git a/.github/workflows/build_notebook_errors.yml b/.github/workflows/build_notebook_errors.yml index d6c0f21..747d930 100644 --- a/.github/workflows/build_notebook_errors.yml +++ b/.github/workflows/build_notebook_errors.yml @@ -56,7 +56,7 @@ jobs: uses: actions/upload-artifact@v3 with: name: ISLP_labs - path: ISLP_labs/Ch*$ID*nb + path: Ch*$ID*nb retention-days: 1 build-mac: @@ -95,6 +95,6 @@ jobs: uses: actions/upload-artifact@v3 with: name: ISLP_labs - path: ISLP_labs/Ch*$ID*nb + path: Ch*$ID*nb retention-days: 1 diff --git a/.github/workflows/build_save_labs.yml b/.github/workflows/build_save_labs.yml index 7d2f694..57ebf78 100644 --- a/.github/workflows/build_save_labs.yml +++ b/.github/workflows/build_save_labs.yml @@ -100,5 +100,5 @@ jobs: uses: actions/upload-artifact@v3 with: name: ISLP_labs - path: ISLP_labs/Ch* + path: Ch* retention-days: 1 \ No newline at end of file From bcc9ef18a2e1fae7b808a18793e664cce48c1d71 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 15:01:59 -0700 Subject: [PATCH 117/195] whitespace --- .github/workflows/build_notebook.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_notebook.yml b/.github/workflows/build_notebook.yml index d8a5664..9258034 100644 --- a/.github/workflows/build_notebook.yml +++ b/.github/workflows/build_notebook.yml @@ -50,7 +50,7 @@ jobs: git checkout $LABS jupyter nbconvert --execute --inplace Ch*$ID*lab.ipynb jupyter nbconvert --to html Ch*$ID*lab.ipynb - + # Store the output - name: Upload labs env: From 0868b12962e1f55da5258b4b498d3c8f5bc5b161 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 15:07:34 -0700 Subject: [PATCH 118/195] trying to fix path of lab --- .github/workflows/build_notebook.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_notebook.yml b/.github/workflows/build_notebook.yml index 9258034..f72b6ee 100644 --- a/.github/workflows/build_notebook.yml +++ b/.github/workflows/build_notebook.yml @@ -58,7 +58,7 @@ jobs: uses: actions/upload-artifact@v3 with: name: ISLP_labs - path: Ch*$ID* + path: ISLP_labs/Ch*nb retention-days: 1 build-mac: From 8447c029828be6447d4a0aaf1608209b19b13eba Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 15:13:04 -0700 Subject: [PATCH 119/195] only want build lab --- .github/workflows/build_notebook.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_notebook.yml b/.github/workflows/build_notebook.yml index f72b6ee..8e97a82 100644 --- a/.github/workflows/build_notebook.yml +++ b/.github/workflows/build_notebook.yml @@ -48,8 +48,9 @@ jobs: git clone https://github.com/intro-stat-learning/ISLP_labs.git cd ISLP_labs git checkout $LABS - jupyter nbconvert --execute --inplace Ch*$ID*lab.ipynb - jupyter nbconvert --to html Ch*$ID*lab.ipynb + cp Ch*$ID*lab.ipynb .. + jupyter nbconvert --execute --inplace ../Ch*$ID*lab.ipynb + jupyter nbconvert --to html ../Ch*$ID*lab.ipynb # Store the output - name: Upload labs @@ -58,7 +59,7 @@ jobs: uses: actions/upload-artifact@v3 with: name: ISLP_labs - path: ISLP_labs/Ch*nb + path: Ch* retention-days: 1 build-mac: From 630174eacead99e3f53bc930639acd121204ad45 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 15:19:17 -0700 Subject: [PATCH 120/195] path updates to workflows --- .github/workflows/build_notebook.yml | 7 ++++--- .github/workflows/build_notebook_errors.yml | 12 ++++++++---- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build_notebook.yml b/.github/workflows/build_notebook.yml index 8e97a82..dbf97e8 100644 --- a/.github/workflows/build_notebook.yml +++ b/.github/workflows/build_notebook.yml @@ -90,8 +90,9 @@ jobs: git clone https://github.com/intro-stat-learning/ISLP_labs.git cd ISLP_labs git checkout $LABS - jupyter nbconvert --execute --inplace Ch*$ID*lab.ipynb - jupyter nbconvert --to html Ch*$ID*lab.ipynb + cp Ch*$ID*lab.ipynb .. + jupyter nbconvert --execute --inplace ../Ch*$ID*lab.ipynb + jupyter nbconvert --to html ../Ch*$ID*lab.ipynb # Store the output - name: Upload labs @@ -100,5 +101,5 @@ jobs: uses: actions/upload-artifact@v3 with: name: ISLP_labs - path: Ch*$ID* + path: Ch* retention-days: 1 \ No newline at end of file diff --git a/.github/workflows/build_notebook_errors.yml b/.github/workflows/build_notebook_errors.yml index 747d930..d5fabee 100644 --- a/.github/workflows/build_notebook_errors.yml +++ b/.github/workflows/build_notebook_errors.yml @@ -47,7 +47,9 @@ jobs: git clone https://github.com/intro-stat-learning/ISLP_labs.git cd ISLP_labs git checkout $LABS - jupyter nbconvert --execute --inplace Ch*$ID*lab.ipynb --allow-errors + cp Ch*$ID*lab.ipynb .. + jupyter nbconvert --execute --inplace ../Ch*$ID*lab.ipynb --allow-errors + jupyter nbconvert --to html ../Ch*$ID*lab.ipynb # Store the output - name: Upload labs @@ -56,7 +58,7 @@ jobs: uses: actions/upload-artifact@v3 with: name: ISLP_labs - path: Ch*$ID*nb + path: Ch* retention-days: 1 build-mac: @@ -86,7 +88,9 @@ jobs: git clone https://github.com/intro-stat-learning/ISLP_labs.git cd ISLP_labs git checkout $LABS - jupyter nbconvert --execute --inplace Ch*$ID*lab.ipynb --allow-errors + cp Ch*$ID*lab.ipynb .. + jupyter nbconvert --execute --inplace ../Ch*$ID*lab.ipynb --allow-errors + jupyter nbconvert --to html ../Ch*$ID*lab.ipynb # Store the output - name: Upload labs @@ -95,6 +99,6 @@ jobs: uses: actions/upload-artifact@v3 with: name: ISLP_labs - path: Ch*$ID*nb + path: Ch* retention-days: 1 From 5f5b0d3160fe5055a8c61fa890115d34147c1248 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 16:05:22 -0700 Subject: [PATCH 121/195] Devel docs (#5) * LAB_version * setting a __lab_version__ for building docs * not clearing lab outputs * including built version of labs * BF: changed name of docs version * BF: punctuation fix * BF: syntax errors * docs version JSON * link for library version * BF: wrong repo * update message about binder --- .github/workflows/build_docs.yml | 10 +----- ISLP/__init__.py | 1 + docs/fix_and_clear_notebooks.py | 25 +++++++++------ docs/source/conf.py | 25 ++++++++++++++- docs/source/docs_version.json | 4 +++ docs/source/installation.myst | 14 ++------- docs/source/labs.myst | 54 ++++++++++++++++++++++++++++++++ docs/source/labs.rst | 36 --------------------- 8 files changed, 102 insertions(+), 67 deletions(-) create mode 100644 docs/source/docs_version.json create mode 100644 docs/source/labs.myst delete mode 100644 docs/source/labs.rst diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index ee88d2c..507063d 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -5,12 +5,6 @@ name: Build docs # Controls when the workflow will run on: workflow_dispatch: - inputs: - LABS: - description: 'Labs version' - required: true - default: 'v2' - type: string # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: @@ -39,12 +33,10 @@ jobs: # Checkout labs - name: Checkout version of labs - env: - LABS: ${{ inputs.LABS }} run: | git submodule update --init --force docs/ISLP_labs cd docs - python fix_and_clear_notebooks.py --version $LABS + python fix_and_clear_notebooks.py --noclear rm source/labs/Ch*md - name: Make docs diff --git a/ISLP/__init__.py b/ISLP/__init__.py index 0cd8d3e..4e7e3f4 100644 --- a/ISLP/__init__.py +++ b/ISLP/__init__.py @@ -119,3 +119,4 @@ def confusion_table(predicted_labels, from . import _version __version__ = _version.get_versions()['version'] + diff --git a/docs/fix_and_clear_notebooks.py b/docs/fix_and_clear_notebooks.py index aac28ee..2e42f03 100644 --- a/docs/fix_and_clear_notebooks.py +++ b/docs/fix_and_clear_notebooks.py @@ -1,16 +1,23 @@ import os +import sys +import json import nbformat from argparse import ArgumentParser from glob import glob -parser = ArgumentParser() -parser.add_argument('--version', default='v2') -args = parser.parse_args() -version = args.version - import __main__ dirname = os.path.split(__main__.__file__)[0] print(dirname) +sys.path.append(os.path.join(dirname, 'source')) +from conf import docs_version +#docs_version = json.loads(open(os.path.join(dirname, 'source', 'docs_version.json')).read()) + +parser = ArgumentParser() +parser.add_argument('--version', default=docs_version['labs']) +parser.add_argument('--clear', dest='clear', action='store_true', default=False) +parser.add_argument('--noclear', dest='clear', action='store_false') +args = parser.parse_args() +version = args.version for f in glob(os.path.join(dirname, 'source', 'labs', 'Ch14*')): os.remove(f) @@ -63,9 +70,10 @@ if labname[:4] not in ['Ch10', 'Ch13']: # clear outputs for all but Ch10,Ch13 - cmd = f'jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace {nbfile}' - print(f'Running: {cmd}') - os.system(cmd) + if args.clear: + cmd = f'jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace {nbfile}' + print(f'Running the clearing command: {cmd}') + os.system(cmd) cmd = f'jupytext --set-formats ipynb,md:myst {nbfile}; jupytext --sync {nbfile}' print(f'Running: {cmd}') @@ -84,7 +92,6 @@ open(f'{base}.md', 'w').write(myst) -# cmd = f'jupytext --sync {base}.ipynb; rm {base}.md' cmd = f'jupytext --sync {base}.ipynb; ' print(f'Running: {cmd}') os.system(cmd) diff --git a/docs/source/conf.py b/docs/source/conf.py index dac1a2d..b81dcbf 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -2,12 +2,35 @@ # -- Project information +import json +import os + project = 'ISLP' copyright = '2023, ISLP authors' author = 'Jonathan Taylor' release = '0.1' -version = '0.1.0' +import ISLP +version = ISLP.__version__ + +import __main__ +dirname = os.path.split(__main__.__file__)[0] +print(dirname) + +docs_version = {"labs": "v2", + "library": "v0.3.18"} + +#docs_version = json.loads(open(os.path.join(dirname, 'docs_version.json')).read()) +lab_version = docs_version['labs'] + +myst_enable_extensions = ['substitution'] + +myst_substitutions = { + "ISLP_lab_link": f"[ISLP_labs/{lab_version}](https://github.com/intro-stat-learning/ISLP_labs/tree/{lab_version})", + "ISLP_binder_code": f"[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/intro-stat-learning/ISLP_labs/{lab_version})", + "ISLP_lab_version": "[ISLP/{0}](https://github.com/intro-stat-learning/ISLP/tree/{0})".format(docs_version['library']) + } +myst_number_code_blocks = ['python', 'ipython3'] # -- General configuration diff --git a/docs/source/docs_version.json b/docs/source/docs_version.json new file mode 100644 index 0000000..1a334d8 --- /dev/null +++ b/docs/source/docs_version.json @@ -0,0 +1,4 @@ +{"labs": "v2", + "library": "v0.3.18", + "comment":"library should be version of ISLP pointed to in ISLP/labs" +} diff --git a/docs/source/installation.myst b/docs/source/installation.myst index 542644e..cb42d7f 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -52,20 +52,10 @@ pip install ISLP ```{attention} Python packages change frequently. The labs here are built -with specific versions of the various packages. +with {{ ISLP_lab_link }}. Visit the lab git repo for specific instructions +to install the frozen environment. ``` -To ensure you have the same package versions as those built here, run: - -```{code-cell} ipython3 ---- -tags: [skip-execution] ---- -pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v2/requirements.txt -``` - -For more specific install instructions go to [ISLP_labs](https://github.com/intro-stat-learning/ISLP_labs/tree/v2). - ## Torch requirements The `ISLP` labs use `torch` and various related packages for the lab diff --git a/docs/source/labs.myst b/docs/source/labs.myst new file mode 100644 index 0000000..373c500 --- /dev/null +++ b/docs/source/labs.myst @@ -0,0 +1,54 @@ +--- +file_format: mystnb +kernelspec: + name: python3 + display_name: python3 +myst_number_code_blocks: python +--- + +# Labs + +{{ ISLP_binder_code }} + +The current version of the labs for `ISLP` are included here. + +## Package versions + + +```{attention} + +Python packages change frequently. The labs here are built +with {{ ISLP_lab_link }}. Visit the lab git repo for specific instructions +to install the frozen environment. + + +``` + +```{warning} +The version of the `ISLP` library used to build these labs +may differ slightly from the one documented here. +The labs are built with {{ ISLP_lab_version }}. + +The [Binder](http://mybinder.org) link above will run {{ ISLP_lab_link }} with +library version {{ ISLP_lab_version }}. + +``` + + +```{toctree} +maxdepth: 1 + +labs/Ch02-statlearn-lab +labs/Ch03-linreg-lab +labs/Ch04-classification-lab +labs/Ch05-resample-lab +labs/Ch06-varselect-lab +labs/Ch07-nonlin-lab +labs/Ch08-baggboost-lab +labs/Ch09-svm-lab +labs/Ch10-deeplearning-lab +labs/Ch11-surv-lab +labs/Ch12-unsup-lab +labs/Ch13-multiple-lab +``` + diff --git a/docs/source/labs.rst b/docs/source/labs.rst deleted file mode 100644 index 653020d..0000000 --- a/docs/source/labs.rst +++ /dev/null @@ -1,36 +0,0 @@ -Labs -==== - -The current version of the labs for `ISLP` are included here. - - -Package versions ----------------- - -.. attention:: - - Python packages change frequently. The labs here are built - with specific versions of the various packages. - - -To ensure you have the same package versions as those built here, run: - - pip install -r https://raw.githubusercontent.com/intro-stat-learning/ISLP_labs/v2/requirements.txt; - -.. toctree:: - :maxdepth: 1 - - labs/Ch02-statlearn-lab - labs/Ch03-linreg-lab - labs/Ch04-classification-lab - labs/Ch05-resample-lab - labs/Ch06-varselect-lab - labs/Ch07-nonlin-lab - labs/Ch08-baggboost-lab - labs/Ch09-svm-lab - labs/Ch10-deeplearning-lab - labs/Ch11-surv-lab - labs/Ch12-unsup-lab - labs/Ch13-multiple-lab - - From 01e63d7d93d4ebf53ebc4fc52dda3b4c2dd506ee Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 18:02:31 -0700 Subject: [PATCH 122/195] V0.3.19rc (#6) * adding more description to pyproject.toml * bumping docs and labs to v0.3.19rc/v2.1rc * fixing doc link in README * moved labs to v22.1rc * fixing build_docs.yml --- .github/workflows/build_docs.yml | 1 - README.md | 2 +- docs/ISLP_labs | 2 +- docs/source/docs_version.json | 4 ++-- pyproject.toml | 28 +++++++++++++++++++++++++++- 5 files changed, 31 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 507063d..351712e 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -27,7 +27,6 @@ jobs: - name: Install dependencies run: | sudo apt-get install r-base - pip install -r requirements.txt pip install -r docs/requirements.txt pip install . diff --git a/README.md b/README.md index 9970d13..6cd576f 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ is your `islp` environment. This information appears near the top left in the An ## Documentation -See the [read the docs page](https://islp.readthedocs.io/en/latest) for the latest documentation. +See the [docs](https://intro-stat-learning.github.io/ISLP/labs.html) for the latest documentation. diff --git a/docs/ISLP_labs b/docs/ISLP_labs index dc35f72..5c29f1c 160000 --- a/docs/ISLP_labs +++ b/docs/ISLP_labs @@ -1 +1 @@ -Subproject commit dc35f729e16344bc2105f2a3532bd84baa1162f4 +Subproject commit 5c29f1c9e4fa723f09c7c779a3edc7753bb808b1 diff --git a/docs/source/docs_version.json b/docs/source/docs_version.json index 1a334d8..46447a1 100644 --- a/docs/source/docs_version.json +++ b/docs/source/docs_version.json @@ -1,4 +1,4 @@ -{"labs": "v2", - "library": "v0.3.18", +{"labs": "v2.1rc", + "library": "v0.3.19rc", "comment":"library should be version of ISLP pointed to in ISLP/labs" } diff --git a/pyproject.toml b/pyproject.toml index 5fc53d9..ea0c3f8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,7 +14,33 @@ dependencies = ["numpy>=1.7.1,<1.25", # max version for numba "pytorch_lightning", "torchmetrics", ] - +description = "Library for ISLP labs" +readme = "README.md" +requires-python = ">=3.9" +license = {file = "LICENSE.txt"} +keywords = [] +authors = [ + {name = "Jonathan Taylor", email="jonathan.taylor@stanford.edu" }, + {name = "Trevor Hastie", email="hastie@stanford.edu" } + ] +maintainers = [ + {name = "Jonathan Taylor", email="jonathan.taylor@stanford.edu" }, + ] +classifiers = ["Development Status :: 3 - Alpha", + "Environment :: Console", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Topic :: Scientific/Engineering" + ] +[project.urls] # Optional +"Homepage" = "https://github.com/intro-stat-learning/ISLP" +"Bug Reports" = "https://github.com/intro-stat-learning/ISLP/issues" +"Funding" = "https://donate.pypi.org" +"Say Thanks!" = "http://saythanks.io/to/example" +"Source" = "https://github.com/pypa/sampleproject/" + [build-system] requires = ["setuptools>=42", "wheel", From 431ea2d0281da03fb8f97541998d8c5f96e0a7cb Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 18:03:51 -0700 Subject: [PATCH 123/195] v0.3.19 for docs --- docs/source/docs_version.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/docs_version.json b/docs/source/docs_version.json index 46447a1..b8193c7 100644 --- a/docs/source/docs_version.json +++ b/docs/source/docs_version.json @@ -1,4 +1,4 @@ {"labs": "v2.1rc", - "library": "v0.3.19rc", + "library": "v0.3.19", "comment":"library should be version of ISLP pointed to in ISLP/labs" } From 60084b78f5a66e4c9b0f6363760cfabf2d1e9511 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 18:51:13 -0700 Subject: [PATCH 124/195] use json for version --- docs/fix_and_clear_notebooks.py | 4 ++-- docs/source/conf.py | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/fix_and_clear_notebooks.py b/docs/fix_and_clear_notebooks.py index 2e42f03..c712df5 100644 --- a/docs/fix_and_clear_notebooks.py +++ b/docs/fix_and_clear_notebooks.py @@ -7,10 +7,10 @@ import __main__ dirname = os.path.split(__main__.__file__)[0] -print(dirname) sys.path.append(os.path.join(dirname, 'source')) from conf import docs_version -#docs_version = json.loads(open(os.path.join(dirname, 'source', 'docs_version.json')).read()) + +print('building docs:', docs_version) parser = ArgumentParser() parser.add_argument('--version', default=docs_version['labs']) diff --git a/docs/source/conf.py b/docs/source/conf.py index b81dcbf..5c08bd8 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -9,18 +9,17 @@ copyright = '2023, ISLP authors' author = 'Jonathan Taylor' -release = '0.1' import ISLP version = ISLP.__version__ import __main__ -dirname = os.path.split(__main__.__file__)[0] -print(dirname) +dirname = os.path.split(__file__)[0] +print(dirname, 'dirname') docs_version = {"labs": "v2", "library": "v0.3.18"} -#docs_version = json.loads(open(os.path.join(dirname, 'docs_version.json')).read()) +docs_version = json.loads(open(os.path.join(dirname, 'docs_version.json')).read()) lab_version = docs_version['labs'] myst_enable_extensions = ['substitution'] From 0206c2c1e2e6d180eb0d89c0603fd2f53298038a Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 19:10:12 -0700 Subject: [PATCH 125/195] whitespace in toc --- docs/source/labs.myst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/labs.myst b/docs/source/labs.myst index 373c500..57499aa 100644 --- a/docs/source/labs.myst +++ b/docs/source/labs.myst @@ -41,7 +41,7 @@ maxdepth: 1 labs/Ch02-statlearn-lab labs/Ch03-linreg-lab labs/Ch04-classification-lab -labs/Ch05-resample-lab +labs/Ch05-resample-lab labs/Ch06-varselect-lab labs/Ch07-nonlin-lab labs/Ch08-baggboost-lab @@ -49,6 +49,6 @@ labs/Ch09-svm-lab labs/Ch10-deeplearning-lab labs/Ch11-surv-lab labs/Ch12-unsup-lab -labs/Ch13-multiple-lab +labs/Ch13-multiple-lab ``` From 8a3f16d52813c103c50f1d477bf364a6218e1c67 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 19:21:34 -0700 Subject: [PATCH 126/195] dont build labs on doc build --- docs/source/conf.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 5c08bd8..41ec91b 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -51,7 +51,8 @@ numpydoc_class_members_toctree = False nb_execution_mode = "auto" nb_execution_timeout = 60*20 #*100 -nb_execution_excludepatterns = ['Ch10*', 'Ch13*', 'imdb.ipynb'] +# labs will be built with specific commits of ISLP/ISLP_labs +nb_execution_excludepatterns = ['Ch*', 'imdb.ipynb'] nb_execution_allow_errors = True #nb_kernel_rgx_aliases = {'python3': "islp_test"} From ffbc0979eafc75da136159b1fdd85e4622ab1fd6 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 20:04:34 -0700 Subject: [PATCH 127/195] trying to upload actions due to deprecation warning --- .github/workflows/build_docs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 351712e..df604f3 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -69,8 +69,8 @@ jobs: with: name: ISLP_docs path: . - - uses: actions/configure-pages@v1 - - uses: actions/upload-pages-artifact@v1 + - uses: actions/configure-pages@v3 + - uses: actions/upload-pages-artifact@v2 with: path: . - id: deployment From 3b140844055fd3bac1e9a54ba0a67069e7fa3428 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 20:12:43 -0700 Subject: [PATCH 128/195] run Ch06 --- docs/source/conf.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 41ec91b..df2738b 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -52,7 +52,9 @@ nb_execution_mode = "auto" nb_execution_timeout = 60*20 #*100 # labs will be built with specific commits of ISLP/ISLP_labs -nb_execution_excludepatterns = ['Ch*', 'imdb.ipynb'] +# we want Ch06 run to exlucde the warnings +nb_execution_excludepatterns = (['imdb.ipynb'] + + ['Ch{i:02d}*' for i in range(2, 14) if i != 6]) nb_execution_allow_errors = True #nb_kernel_rgx_aliases = {'python3': "islp_test"} From 0251c658686da0bb4e5a8ce0e9b69167d7c601cc Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 20:22:21 -0700 Subject: [PATCH 129/195] updating ISLP_labs --- docs/ISLP_labs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ISLP_labs b/docs/ISLP_labs index 5c29f1c..ddec59a 160000 --- a/docs/ISLP_labs +++ b/docs/ISLP_labs @@ -1 +1 @@ -Subproject commit 5c29f1c9e4fa723f09c7c779a3edc7753bb808b1 +Subproject commit ddec59a839e6d47232aea0a3cb226658dec7ac83 From bfe4f2baec510c7b7ca9a2cc3841d975ba7a951d Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 20:23:21 -0700 Subject: [PATCH 130/195] need to use f-strings --- docs/source/conf.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index df2738b..49f3e34 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -54,7 +54,8 @@ # labs will be built with specific commits of ISLP/ISLP_labs # we want Ch06 run to exlucde the warnings nb_execution_excludepatterns = (['imdb.ipynb'] + - ['Ch{i:02d}*' for i in range(2, 14) if i != 6]) + [f'Ch{i:02d}*' for i in range(2, 14) if i != 6]) +print('exclude patterns', nb_execution_excludepatterns) nb_execution_allow_errors = True #nb_kernel_rgx_aliases = {'python3': "islp_test"} From 070e688296959ceef807c5f841fa4282e3799f8e Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 20:26:24 -0700 Subject: [PATCH 131/195] BF: wasn't catching Ch06 correctly --- docs/fix_and_clear_notebooks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/fix_and_clear_notebooks.py b/docs/fix_and_clear_notebooks.py index c712df5..5a908f3 100644 --- a/docs/fix_and_clear_notebooks.py +++ b/docs/fix_and_clear_notebooks.py @@ -47,7 +47,7 @@ ''' # allow errors for Ch02, suppress warnings for Ch06 - if labname[:3] == 'Ch06': + if labname[:4] == 'Ch06': colab_code = (''' ```{code-cell} :tags: [hide-cell] From 8a0a69b5c16ec786a07574bad686a8d7b08f9f04 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 20 Aug 2023 20:42:28 -0700 Subject: [PATCH 132/195] moving docs to v2.1 from v2.1rc --- docs/source/docs_version.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/docs_version.json b/docs/source/docs_version.json index b8193c7..1f8632a 100644 --- a/docs/source/docs_version.json +++ b/docs/source/docs_version.json @@ -1,4 +1,4 @@ -{"labs": "v2.1rc", +{"labs": "v2.1", "library": "v0.3.19", "comment":"library should be version of ISLP pointed to in ISLP/labs" } From 01a4d54221bd06e22907e2e391dd52daf56232fb Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 21 Aug 2023 00:24:11 -0700 Subject: [PATCH 133/195] small edit to workflow --- .github/workflows/build_docs.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index df604f3..7af9e99 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -6,9 +6,11 @@ name: Build docs on: workflow_dispatch: -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" +# A workflow run is made up of one or more jobs that can run +# sequentially or in parallel + +jobs: # This workflow contains a single + # job called "build" build: # The type of runner that the job will run on From 98d98ff2b50afe89c644442cf63f11f5685b9fa0 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 21 Aug 2023 22:14:28 -0700 Subject: [PATCH 134/195] script to make a sequence of notebooks with a given set of requirements, optionally inplace --- docs/make_notebooks.py | 102 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 docs/make_notebooks.py diff --git a/docs/make_notebooks.py b/docs/make_notebooks.py new file mode 100644 index 0000000..956762c --- /dev/null +++ b/docs/make_notebooks.py @@ -0,0 +1,102 @@ +''' +Run notebooks in an isolated environment specified by a requirements.txt file +''' + +from hashlib import md5 +import tempfile +import os +from argparse import ArgumentParser + + +parser = ArgumentParser() +parser.add_argument('--requirements', + default='requirements.txt') +parser.add_argument('labs', + metavar='N', + type=str, + nargs='+') +parser.add_argument('--python', + default='3.10') +parser.add_argument('--tarball', + default=None, + dest='tarball') +parser.add_argument('--inplace', + default=False, + action='store_true', + help='run notebooks in place?') +parser.add_argument('--timeout', + default=5000, + help='preprocessor timeout') + +def make_notebooks(requirements='requirements.txt', + srcs=[], + dests=[], + tarball='', + inplace=False, + tmpdir='', + python='3.10', + timeout=5000 # should be enough for Ch10 + ): + + if tarball and inplace: + raise ValueError('tarball option expects notebooks in a tmpdir, while inplace does not copy to a tmpdir') + + md5_ = md5() + md5_.update(open(requirements, 'rb').read()); + hash_ = md5_.hexdigest()[:8] + + env_name = f'isolated_env_{hash_}' + + setup_cmd = f''' + conda create -n {env_name} python={python} -y; + conda run -n {env_name} pip install -r {requirements} jupyter jupytext; + ''' + + print(setup_cmd) + os.system(setup_cmd) + + archive_files = [] + for src_, dest_ in zip(srcs, dests): + if src_ != dest_: + os.system(f'cp {src_} {dest_}') + name = os.path.split(dest_)[1] + build_cmd = f'''conda run -n {env_name} jupyter nbconvert --inplace --execute --ExecutePreprocessor.timeout={timeout} {dest_} ''' + if '02' in name: + build_cmd += ' --allow-errors ' + + print(build_cmd) + os.system(build_cmd) + archive_files.append(name) + + archive_files = ' '.join(archive_files) + + if tarball: + tarball = os.path.abspath(tarball) + tarball_cmd = f''' + cd {tmpdir}; tar -cvzf {tarball} {archive_files} + ''' + print(tarball_cmd) + os.system(tarball_cmd) + + os.system(f'conda env remove -n {env_name}') + +if __name__ == '__main__': + + args = parser.parse_args() + srcs = [os.path.abspath(l) for l in args.labs] + + tmpdir = tempfile.mkdtemp() + + if args.inplace: + dests = srcs + else: + dests = [os.path.join(tmpdir, os.path.split(l)[1]) for l in args.labs] + + make_notebooks(requirements=os.path.abspath(args.requirements), + srcs=srcs, + dests=dests, + inplace=args.inplace, + tmpdir=tmpdir, + python=args.python, + tarball=args.tarball, + timeout=args.timeout) From 60bdbd93b72a04ecbc46dfd78ef638ad47dc5b8a Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 22 Aug 2023 00:35:00 -0700 Subject: [PATCH 135/195] updating lab version --- docs/source/docs_version.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/docs_version.json b/docs/source/docs_version.json index 1f8632a..fd97959 100644 --- a/docs/source/docs_version.json +++ b/docs/source/docs_version.json @@ -1,4 +1,4 @@ -{"labs": "v2.1", +{"labs": "v2.1.2", "library": "v0.3.19", "comment":"library should be version of ISLP pointed to in ISLP/labs" } From 416e03c276b5a0b40fe34520d4f543a51825b0b5 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 22 Aug 2023 00:43:32 -0700 Subject: [PATCH 136/195] updating ISLP_labs --- docs/ISLP_labs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ISLP_labs b/docs/ISLP_labs index ddec59a..f4ecee2 160000 --- a/docs/ISLP_labs +++ b/docs/ISLP_labs @@ -1 +1 @@ -Subproject commit ddec59a839e6d47232aea0a3cb226658dec7ac83 +Subproject commit f4ecee2e614dcd34c13e573568b02dcfc5da99b4 From dfc0148ad2929914941a114de6f9b08d7864e53b Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 22 Aug 2023 00:50:04 -0700 Subject: [PATCH 137/195] making sure Ch06 runs in proper requirements --- .github/workflows/build_docs.yml | 4 +++- docs/fix_and_clear_notebooks.py | 2 +- docs/make_notebooks.py | 11 ++++++++--- docs/source/conf.py | 2 +- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 7af9e99..c5fc0e5 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -5,7 +5,8 @@ name: Build docs # Controls when the workflow will run on: workflow_dispatch: - + inputs: null + # A workflow run is made up of one or more jobs that can run # sequentially or in parallel @@ -38,6 +39,7 @@ jobs: # This workflow contains a single git submodule update --init --force docs/ISLP_labs cd docs python fix_and_clear_notebooks.py --noclear + python make_notebooks.py --inplace --requirements=ISLP_labs/requirements.txt source/labs/Ch06-varselect-lab.ipynb rm source/labs/Ch*md - name: Make docs diff --git a/docs/fix_and_clear_notebooks.py b/docs/fix_and_clear_notebooks.py index 5a908f3..b63540d 100644 --- a/docs/fix_and_clear_notebooks.py +++ b/docs/fix_and_clear_notebooks.py @@ -62,7 +62,7 @@ ``` ''' + colab_code) - if labname[:3] == 'Ch02': + if labname[:4] == 'Ch02': nb = nbformat.read(open(nbfile), 4) nb.metadata.setdefault('execution', {})['allow_errors'] = True nbformat.write(nb, open(nbfile, 'w')) diff --git a/docs/make_notebooks.py b/docs/make_notebooks.py index 956762c..cfea244 100644 --- a/docs/make_notebooks.py +++ b/docs/make_notebooks.py @@ -27,6 +27,8 @@ parser.add_argument('--timeout', default=5000, help='preprocessor timeout') +parser.add_argument('--env_tag', + default='') def make_notebooks(requirements='requirements.txt', srcs=[], @@ -35,7 +37,8 @@ def make_notebooks(requirements='requirements.txt', inplace=False, tmpdir='', python='3.10', - timeout=5000 # should be enough for Ch10 + timeout=5000, # should be enough for Ch10 + env_tag='', ): if tarball and inplace: @@ -45,7 +48,7 @@ def make_notebooks(requirements='requirements.txt', md5_.update(open(requirements, 'rb').read()); hash_ = md5_.hexdigest()[:8] - env_name = f'isolated_env_{hash_}' + env_name = f'isolated_env_{hash_}' + env_tag setup_cmd = f''' conda create -n {env_name} python={python} -y; @@ -55,6 +58,7 @@ def make_notebooks(requirements='requirements.txt', print(setup_cmd) os.system(setup_cmd) + # may need to up "ulimit -n 4096" archive_files = [] for src_, dest_ in zip(srcs, dests): if src_ != dest_: @@ -99,4 +103,5 @@ def make_notebooks(requirements='requirements.txt', tmpdir=tmpdir, python=args.python, tarball=args.tarball, - timeout=args.timeout) + timeout=args.timeout, + env_tag=args.env_tag) diff --git a/docs/source/conf.py b/docs/source/conf.py index 49f3e34..aa6e9b4 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -54,7 +54,7 @@ # labs will be built with specific commits of ISLP/ISLP_labs # we want Ch06 run to exlucde the warnings nb_execution_excludepatterns = (['imdb.ipynb'] + - [f'Ch{i:02d}*' for i in range(2, 14) if i != 6]) + [f'Ch{i:02d}*' for i in range(2, 14)]) print('exclude patterns', nb_execution_excludepatterns) nb_execution_allow_errors = True From 7462cb1322ab297e4add9891b3c465b692a4d7cd Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 22 Aug 2023 01:14:38 -0700 Subject: [PATCH 138/195] cleanup the fix script --- .github/workflows/build_docs.yml | 3 +- docs/fix_and_clear_notebooks.py | 152 +++++++++++++++++-------------- 2 files changed, 88 insertions(+), 67 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index c5fc0e5..a10bc0e 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -38,7 +38,8 @@ jobs: # This workflow contains a single run: | git submodule update --init --force docs/ISLP_labs cd docs - python fix_and_clear_notebooks.py --noclear + cp ISLP_labs/Ch*nb source/labs + python fix_and_clear_notebooks.py source/labs/Ch*nb python make_notebooks.py --inplace --requirements=ISLP_labs/requirements.txt source/labs/Ch06-varselect-lab.ipynb rm source/labs/Ch*md diff --git a/docs/fix_and_clear_notebooks.py b/docs/fix_and_clear_notebooks.py index b63540d..7a59894 100644 --- a/docs/fix_and_clear_notebooks.py +++ b/docs/fix_and_clear_notebooks.py @@ -1,98 +1,118 @@ + +from dataclasses import dataclass +from copy import copy + +import shlex +import subprocess import os import sys import json import nbformat from argparse import ArgumentParser -from glob import glob -import __main__ -dirname = os.path.split(__main__.__file__)[0] -sys.path.append(os.path.join(dirname, 'source')) -from conf import docs_version +def get_version(): + import __main__ + dirname = os.path.split(__main__.__file__)[0] + sys.path.append(os.path.join(dirname, 'source')) + from conf import docs_version + sys.path = sys.path[:-1] + return docs_version -print('building docs:', docs_version) -parser = ArgumentParser() -parser.add_argument('--version', default=docs_version['labs']) -parser.add_argument('--clear', dest='clear', action='store_true', default=False) -parser.add_argument('--noclear', dest='clear', action='store_false') -args = parser.parse_args() -version = args.version +@dataclass +class Lab(object): -for f in glob(os.path.join(dirname, 'source', 'labs', 'Ch14*')): - os.remove(f) - print(f) - -print(f'checking out version {version} of the labs') + labfile: str + version: str = 'v2' -os.system(f''' -cd {dirname}/ISLP_labs; -git checkout {version}; -mkdir -p {dirname}/source/labs; -cp -r * {dirname}/source/labs; -''') + def __post_init__(self): + self.labfile = os.path.abspath(self.labfile) -for nbfile in glob(os.path.join(dirname, 'source', 'labs', '*nb')): - base = os.path.splitext(nbfile)[0] - labname = os.path.split(base)[1] + def fix_header(self): + labname = os.path.split(self.labfile)[1] + base = os.path.splitext(self.labfile)[0] + args = shlex.split(f'jupytext --set-formats ipynb,md:myst {self.labfile}') + subprocess.run(args) - colab_code = f''' - - Open In Colab + # successful run of jupytext + myst = open(f'{base}.md').read().strip() + split_myst = myst.split('\n') + new_myst = [] + colab_code = f''' + +Open In Colab -[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/intro-stat-learning/ISLP_labs/{version}?labpath={labname}.ipynb) +[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/intro-stat-learning/ISLP_labs/{self.version}?labpath={labname}.ipynb) ''' - # allow errors for Ch02, suppress warnings for Ch06 - if labname[:4] == 'Ch06': - colab_code = (''' -```{code-cell} -:tags: [hide-cell] - -import warnings -warnings.simplefilter('ignore') -``` + chapter_buffer = 200 # should use a regex... + for l in split_myst[:chapter_buffer]: # assumes Chapter appears in first 200 linesmyst.split('\n') + if l.strip()[:9] != '# Chapter': # exclude the line with "# Chapter" + if 'Lab:' in l: + l = l.replace('Lab:', '') + '\n' + colab_code + new_myst.append(l) + + myst = '\n'.join(new_myst + split_myst[chapter_buffer:]) + open(f'{base}.md', 'w').write(myst) + + args = shlex.split(f'jupytext --set-formats Rmd,ipynb {base}.ipynb') + subprocess.run(args) + + args = shlex.split(f'jupytext --sync {base}.ipynb') + subprocess.run(args) + + + subprocess.run(['rm', f'{base}.md']) + +def fix_Ch06(Ch06_nbfile): + + nb = nbformat.read(open(Ch06_nbfile), 4) + + md_cell = copy(nb.cells[0]) + md_cell['id'] = md_cell['id'] + '_duplicate' + + src = ''' ```{attention} Using `skl.ElasticNet` to fit ridge regression -throws up many warnings. We have suppressed them below. +throws up many warnings. We have suppressed them below by a call to `warnings.simplefilter()`. ``` -''' + colab_code) - if labname[:4] == 'Ch02': - nb = nbformat.read(open(nbfile), 4) - nb.metadata.setdefault('execution', {})['allow_errors'] = True - nbformat.write(nb, open(nbfile, 'w')) +''' + + md_cell['source'] = [l +'\n' for l in src.split('\n')] - if labname[:4] not in ['Ch10', 'Ch13']: + for i, cell in enumerate(nb.cells): + if cell['cell_type'] == 'code': + code_cell = copy(cell) + code_cell['id'] = code_cell['id'] + '_duplicate' + code_cell['source'] = ['import warnings\n', 'warnings.simplefilter("ignore")\n'] + break - # clear outputs for all but Ch10,Ch13 - if args.clear: - cmd = f'jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace {nbfile}' - print(f'Running the clearing command: {cmd}') - os.system(cmd) + nb.cells.insert(i, md_cell) + nb.cells.insert(i+1, code_cell) - cmd = f'jupytext --set-formats ipynb,md:myst {nbfile}; jupytext --sync {nbfile}' - print(f'Running: {cmd}') - os.system(cmd) + nbformat.write(nb, open(Ch06_nbfile, 'w')) + subprocess.run(shlex.split(f'jupytext --sync {Ch06_nbfile}')) - myst = open(f'{base}.md').read().strip() +if __name__ == "__main__": - new_myst = [] - for l in myst.split('\n'): - if l.strip()[:9] != '# Chapter': - if 'Lab:' in l: - l = l.replace('Lab:', '') + '\n' + colab_code - new_myst.append(l) + docs_version = get_version() - myst = '\n'.join(new_myst) # remove the "Chapter %d + parser = ArgumentParser() + parser.add_argument('labs', + metavar='N', + type=str, + nargs='+') - open(f'{base}.md', 'w').write(myst) + args = parser.parse_args() - cmd = f'jupytext --sync {base}.ipynb; ' - print(f'Running: {cmd}') - os.system(cmd) + for labfile in args.labs: + l = Lab(labfile=labfile, version=docs_version['labs']) + l.fix_header() + if '06' in labfile: + fix_Ch06(labfile) From 3ee60347b04c13aac4a990eee9cccbe1a5c90c94 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 22 Aug 2023 01:19:54 -0700 Subject: [PATCH 139/195] missing dir --- .github/workflows/build_docs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index a10bc0e..bed6b03 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -38,6 +38,7 @@ jobs: # This workflow contains a single run: | git submodule update --init --force docs/ISLP_labs cd docs + mkdir -p source/labs cp ISLP_labs/Ch*nb source/labs python fix_and_clear_notebooks.py source/labs/Ch*nb python make_notebooks.py --inplace --requirements=ISLP_labs/requirements.txt source/labs/Ch06-varselect-lab.ipynb From 18efaa39abefc0ae79a581d9ed58da82415467c4 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 22 Aug 2023 11:58:00 -0700 Subject: [PATCH 140/195] comment on labs/library version --- docs/source/docs_version.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/docs_version.json b/docs/source/docs_version.json index fd97959..2a2e035 100644 --- a/docs/source/docs_version.json +++ b/docs/source/docs_version.json @@ -1,4 +1,4 @@ {"labs": "v2.1.2", "library": "v0.3.19", - "comment":"library should be version of ISLP pointed to in ISLP/labs" + "comment":"labs should be version of ISLP pointed to in ISLP_labs/README.md, library version should be explicitly marked in ISLP_labs/requirements.txt" } From f2f6cbae8cafba8e0cb92d1befb8cad2002c59f8 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 22 Aug 2023 14:46:19 -0700 Subject: [PATCH 141/195] BF: fix of notebooks seems to have not synced --- .github/workflows/build_docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index bed6b03..ab7cca5 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -40,7 +40,7 @@ jobs: # This workflow contains a single cd docs mkdir -p source/labs cp ISLP_labs/Ch*nb source/labs - python fix_and_clear_notebooks.py source/labs/Ch*nb + python fix_and_clear_notebooks.py source/labs/Ch*nb --rm_md python make_notebooks.py --inplace --requirements=ISLP_labs/requirements.txt source/labs/Ch06-varselect-lab.ipynb rm source/labs/Ch*md From a2b1cbb26bf48f062346972da2f861afeb05a068 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 22 Aug 2023 15:33:24 -0700 Subject: [PATCH 142/195] rm_md flag --- docs/fix_and_clear_notebooks.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/docs/fix_and_clear_notebooks.py b/docs/fix_and_clear_notebooks.py index 7a59894..2543c5a 100644 --- a/docs/fix_and_clear_notebooks.py +++ b/docs/fix_and_clear_notebooks.py @@ -24,7 +24,8 @@ class Lab(object): labfile: str version: str = 'v2' - + rm_md: bool = True + def __post_init__(self): self.labfile = os.path.abspath(self.labfile) @@ -56,16 +57,20 @@ def fix_header(self): new_myst.append(l) myst = '\n'.join(new_myst + split_myst[chapter_buffer:]) + open(f'{base}.md', 'w').write(myst) + args = shlex.split(f'jupytext --sync {base}.ipynb') + subprocess.run(args) + args = shlex.split(f'jupytext --set-formats Rmd,ipynb {base}.ipynb') subprocess.run(args) args = shlex.split(f'jupytext --sync {base}.ipynb') subprocess.run(args) - - subprocess.run(['rm', f'{base}.md']) + if self.rm_md: + subprocess.run(['rm', f'{base}.md']) def fix_Ch06(Ch06_nbfile): @@ -107,6 +112,10 @@ def fix_Ch06(Ch06_nbfile): metavar='N', type=str, nargs='+') + parser.add_argument('--rm_md', + dest='rm_md', + action='store_true', + default=False) args = parser.parse_args() From e5928fda25913d7d928c256f7573e72d80c7d416 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 22 Aug 2023 16:51:41 -0700 Subject: [PATCH 143/195] BF: redundant extension --- docs/fix_and_clear_notebooks.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/fix_and_clear_notebooks.py b/docs/fix_and_clear_notebooks.py index 2543c5a..50eebe2 100644 --- a/docs/fix_and_clear_notebooks.py +++ b/docs/fix_and_clear_notebooks.py @@ -41,11 +41,11 @@ def fix_header(self): new_myst = [] colab_code = f''' - + Open In Colab -[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/intro-stat-learning/ISLP_labs/{self.version}?labpath={labname}.ipynb) +[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/intro-stat-learning/ISLP_labs/{self.version}?labpath={labname}) ''' From a7a1d727163d039311ee66c67b4cd25a56b04759 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Wed, 30 Aug 2023 12:05:43 -0700 Subject: [PATCH 144/195] smaller int to fit under int32 --- ISLP/bart/bart.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ISLP/bart/bart.py b/ISLP/bart/bart.py index 27a7f01..099c52e 100644 --- a/ISLP/bart/bart.py +++ b/ISLP/bart/bart.py @@ -141,7 +141,7 @@ def fit(self, if self.n_jobs <= 0: n_jobs = 1 - random_idx = random_state.randint(0,2**32-1,size=(n_jobs,)) + random_idx = random_state.randint(0,2**30-1,size=(n_jobs,)) # 2**31-1 should be OK for int32 parallel = Parallel(n_jobs=len(random_idx)) From 96b8cc99469581988a7cc0ef8650a6690b9d9415 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Wed, 30 Aug 2023 12:07:21 -0700 Subject: [PATCH 145/195] windows test --- .github/workflows/build_test_windows.yml | 40 ++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .github/workflows/build_test_windows.yml diff --git a/.github/workflows/build_test_windows.yml b/.github/workflows/build_test_windows.yml new file mode 100644 index 0000000..8496ac4 --- /dev/null +++ b/.github/workflows/build_test_windows.yml @@ -0,0 +1,40 @@ +name: Build and test + +on: [push] + +jobs: + + build-windows: + runs-on: windows-latest + strategy: + max-parallel: 5 + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v4 + with: + python-version: '3.10' + - name: Add conda to system path + run: | + # $CONDA is an environment variable pointing to the root of the miniconda directory + echo $CONDA/bin >> $GITHUB_PATH + - name: Install dependencies + run: | + pip install . + - name: Lint with flake8 + run: | + pip install flake8 + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + timeout-minutes: 12 + run: | + pip install torchvision torchinfo + pip install pytest + pytest + + + From 78b81f9c5d72729596d50e7db10dd4487114316d Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Wed, 30 Aug 2023 13:15:45 -0700 Subject: [PATCH 146/195] instructions fix; added windows test --- .github/workflows/build_test.yml | 32 +++++++++++++++++++ .github/workflows/build_test_windows.yml | 40 ------------------------ docs/source/installation.myst | 7 +++++ 3 files changed, 39 insertions(+), 40 deletions(-) delete mode 100644 .github/workflows/build_test_windows.yml diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index 495663c..a4bd1aa 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -35,6 +35,38 @@ jobs: pip install pytest pytest + build-windows: + runs-on: windows-latest + strategy: + max-parallel: 5 + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v4 + with: + python-version: '3.10' + - name: Add conda to system path + run: | + # $CONDA is an environment variable pointing to the root of the miniconda directory + echo $CONDA/bin >> $GITHUB_PATH + - name: Install dependencies + run: | + pip install . + - name: Lint with flake8 + run: | + pip install flake8 + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + timeout-minutes: 12 + run: | + pip install torchvision torchinfo + pip install pytest + pytest + build-mac: runs-on: macos-latest strategy: diff --git a/.github/workflows/build_test_windows.yml b/.github/workflows/build_test_windows.yml deleted file mode 100644 index 8496ac4..0000000 --- a/.github/workflows/build_test_windows.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Build and test - -on: [push] - -jobs: - - build-windows: - runs-on: windows-latest - strategy: - max-parallel: 5 - - steps: - - uses: actions/checkout@v3 - - name: Set up Python 3.10 - uses: actions/setup-python@v4 - with: - python-version: '3.10' - - name: Add conda to system path - run: | - # $CONDA is an environment variable pointing to the root of the miniconda directory - echo $CONDA/bin >> $GITHUB_PATH - - name: Install dependencies - run: | - pip install . - - name: Lint with flake8 - run: | - pip install flake8 - # stop the build if there are Python syntax errors or undefined names - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - - name: Test with pytest - timeout-minutes: 12 - run: | - pip install torchvision torchinfo - pip install pytest - pytest - - - diff --git a/docs/source/installation.myst b/docs/source/installation.myst index cb42d7f..7f6aa7f 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -73,6 +73,13 @@ current verisons of the labs. ### Mac OS X +```{attention} + +If you are using the Anaconda GUI, it is recommended that you install JupyterLab through the GUI +and skip the step below. Installing both through the GUI and `pip` may result in conflicts and +a broken JupyterLab. +``` + If JupyterLab is not already installed, run the following after having activated your `islp` environment: ```{code-cell} ipython3 From 95db9ef72931c8adccac6f6cd816c65fe6eb98f3 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Wed, 30 Aug 2023 14:06:27 -0700 Subject: [PATCH 147/195] clarify install --- docs/source/installation.myst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/source/installation.myst b/docs/source/installation.myst index 7f6aa7f..97589bd 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -78,6 +78,9 @@ current verisons of the labs. If you are using the Anaconda GUI, it is recommended that you install JupyterLab through the GUI and skip the step below. Installing both through the GUI and `pip` may result in conflicts and a broken JupyterLab. + +If you have installed JupyterLab in your environment via the GUI, the above call `pip install ISLP` may be made within +any running notebook within that environment. ``` If JupyterLab is not already installed, run the following after having activated your `islp` environment: From f523248b79a356166df11eab0bc900d812f24bb9 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sat, 7 Oct 2023 07:53:40 -0700 Subject: [PATCH 148/195] clarifying python version --- docs/source/installation.myst | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/source/installation.myst b/docs/source/installation.myst index 97589bd..ec06b03 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -14,16 +14,18 @@ good practice. ## Mac OS X / Linux -To create a conda environment in a Mac OS X or Linux environment run: +To create a Python conda environment in a Mac OS X or Linux environment run: ```{code-cell} ipython3 --- tags: [skip-execution] --- -conda create --name islp +conda create --name islp python ``` -To run python code in this environment, you must activate it: +Current conda should have this at least 3.9. If not, replace `python` +with `python=3.10` or some other more recent version. To run python +code in this environment, you must activate it: ```{code-cell} ipython3 --- From 78b66041d4ecbb0f61bb4c781ee3d355809d0b8f Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sat, 7 Oct 2023 08:09:30 -0700 Subject: [PATCH 149/195] adding link to zip archive, update version --- docs/source/conf.py | 4 +--- docs/source/docs_version.json | 2 +- docs/source/labs.myst | 4 ++++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index aa6e9b4..546d74f 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -16,9 +16,6 @@ dirname = os.path.split(__file__)[0] print(dirname, 'dirname') -docs_version = {"labs": "v2", - "library": "v0.3.18"} - docs_version = json.loads(open(os.path.join(dirname, 'docs_version.json')).read()) lab_version = docs_version['labs'] @@ -26,6 +23,7 @@ myst_substitutions = { "ISLP_lab_link": f"[ISLP_labs/{lab_version}](https://github.com/intro-stat-learning/ISLP_labs/tree/{lab_version})", + "ISLP_zip_link": f"[ISLP_labs/{lab_version}.zip](https://github.com/intro-stat-learning/ISLP_labs/archive/refs/tags/{lab_version}.zip)", "ISLP_binder_code": f"[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/intro-stat-learning/ISLP_labs/{lab_version})", "ISLP_lab_version": "[ISLP/{0}](https://github.com/intro-stat-learning/ISLP/tree/{0})".format(docs_version['library']) } diff --git a/docs/source/docs_version.json b/docs/source/docs_version.json index 2a2e035..34e55c7 100644 --- a/docs/source/docs_version.json +++ b/docs/source/docs_version.json @@ -1,4 +1,4 @@ {"labs": "v2.1.2", - "library": "v0.3.19", + "library": "v0.3.20", "comment":"labs should be version of ISLP pointed to in ISLP_labs/README.md, library version should be explicitly marked in ISLP_labs/requirements.txt" } diff --git a/docs/source/labs.myst b/docs/source/labs.myst index 57499aa..b33bd3d 100644 --- a/docs/source/labs.myst +++ b/docs/source/labs.myst @@ -12,6 +12,7 @@ myst_number_code_blocks: python The current version of the labs for `ISLP` are included here. + ## Package versions @@ -22,6 +23,9 @@ with {{ ISLP_lab_link }}. Visit the lab git repo for specific instructions to install the frozen environment. +A zip file containig all the labs and data files can be downloaded +here {{ ISLP_zip_link }}. + ``` ```{warning} From 2c45489869c69a8aa76304c9e2e189b5a96986dc Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sat, 7 Oct 2023 08:27:19 -0700 Subject: [PATCH 150/195] V0.3.20rc (#8) * clarifying python version * adding link to zip archive, update version * updating labs version --- docs/source/conf.py | 4 +--- docs/source/docs_version.json | 4 ++-- docs/source/installation.myst | 8 +++++--- docs/source/labs.myst | 4 ++++ 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index aa6e9b4..546d74f 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -16,9 +16,6 @@ dirname = os.path.split(__file__)[0] print(dirname, 'dirname') -docs_version = {"labs": "v2", - "library": "v0.3.18"} - docs_version = json.loads(open(os.path.join(dirname, 'docs_version.json')).read()) lab_version = docs_version['labs'] @@ -26,6 +23,7 @@ myst_substitutions = { "ISLP_lab_link": f"[ISLP_labs/{lab_version}](https://github.com/intro-stat-learning/ISLP_labs/tree/{lab_version})", + "ISLP_zip_link": f"[ISLP_labs/{lab_version}.zip](https://github.com/intro-stat-learning/ISLP_labs/archive/refs/tags/{lab_version}.zip)", "ISLP_binder_code": f"[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/intro-stat-learning/ISLP_labs/{lab_version})", "ISLP_lab_version": "[ISLP/{0}](https://github.com/intro-stat-learning/ISLP/tree/{0})".format(docs_version['library']) } diff --git a/docs/source/docs_version.json b/docs/source/docs_version.json index 2a2e035..d58fc64 100644 --- a/docs/source/docs_version.json +++ b/docs/source/docs_version.json @@ -1,4 +1,4 @@ -{"labs": "v2.1.2", - "library": "v0.3.19", +{"labs": "v2.1.3", + "library": "v0.3.20", "comment":"labs should be version of ISLP pointed to in ISLP_labs/README.md, library version should be explicitly marked in ISLP_labs/requirements.txt" } diff --git a/docs/source/installation.myst b/docs/source/installation.myst index 97589bd..ec06b03 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -14,16 +14,18 @@ good practice. ## Mac OS X / Linux -To create a conda environment in a Mac OS X or Linux environment run: +To create a Python conda environment in a Mac OS X or Linux environment run: ```{code-cell} ipython3 --- tags: [skip-execution] --- -conda create --name islp +conda create --name islp python ``` -To run python code in this environment, you must activate it: +Current conda should have this at least 3.9. If not, replace `python` +with `python=3.10` or some other more recent version. To run python +code in this environment, you must activate it: ```{code-cell} ipython3 --- diff --git a/docs/source/labs.myst b/docs/source/labs.myst index 57499aa..b33bd3d 100644 --- a/docs/source/labs.myst +++ b/docs/source/labs.myst @@ -12,6 +12,7 @@ myst_number_code_blocks: python The current version of the labs for `ISLP` are included here. + ## Package versions @@ -22,6 +23,9 @@ with {{ ISLP_lab_link }}. Visit the lab git repo for specific instructions to install the frozen environment. +A zip file containig all the labs and data files can be downloaded +here {{ ISLP_zip_link }}. + ``` ```{warning} From ed7c99f96bd1cadee547f6792707a8cdd59aa061 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sat, 7 Oct 2023 08:34:50 -0700 Subject: [PATCH 151/195] incrementing version in pyproject.toml --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index ea0c3f8..3f998a7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "ISLP" -version = "0.3.19" +version = "0.3.20" dependencies = ["numpy>=1.7.1,<1.25", # max version for numba "scipy>=0.9", "pandas>=0.20,<=1.9", From 5897f5de6015d58d406e3828c9e631843825e579 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sat, 7 Oct 2023 08:56:35 -0700 Subject: [PATCH 152/195] minor doc tweak --- docs/source/installation.myst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/installation.myst b/docs/source/installation.myst index ec06b03..2373910 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -107,7 +107,7 @@ The notebooks for the labs can be run in [Google Colab](https://colab.research.google.com) with a few caveats: - Labs that use files in the filesystem will require one to mount your - Google Drive. See [help](https://colab.research.google.com/notebooks/io.ipynb) + Google Drive. See Google's [help](https://colab.research.google.com/notebooks/io.ipynb). - The packages will have to be reinstalled each time a new runtime is started. For most labs, inserting `pip install ISLP` at the top of the notebook will suffice, though Colab will ask you to restart after installation. From 8f66bf346cebecef2d88a83f0dec5199c185184b Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 10 Oct 2023 19:55:42 -0700 Subject: [PATCH 153/195] adding license --- LICENSE | 27 +++++++++++++++++++++++++++ pyproject.toml | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..dd8ced0 --- /dev/null +++ b/LICENSE @@ -0,0 +1,27 @@ +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + (1) Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + (2) Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + (3)The name of the author may not be used to + endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 3f998a7..5ea100d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,7 +17,7 @@ dependencies = ["numpy>=1.7.1,<1.25", # max version for numba description = "Library for ISLP labs" readme = "README.md" requires-python = ">=3.9" -license = {file = "LICENSE.txt"} +license = {file = "LICENSE"} keywords = [] authors = [ {name = "Jonathan Taylor", email="jonathan.taylor@stanford.edu" }, From 579166baae49f80bb751915b329783111cf9edaf Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 10 Oct 2023 19:56:47 -0700 Subject: [PATCH 154/195] update pyproject --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 5ea100d..ab3acfa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "ISLP" -version = "0.3.20" +version = "0.3.21" dependencies = ["numpy>=1.7.1,<1.25", # max version for numba "scipy>=0.9", "pandas>=0.20,<=1.9", From c7f3ed921ed53879b6ff8609ce275682a6b16c12 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 17 Oct 2023 11:45:01 -0700 Subject: [PATCH 155/195] adding authors --- pyproject.toml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index ab3acfa..b94fdf7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,8 +20,11 @@ requires-python = ">=3.9" license = {file = "LICENSE"} keywords = [] authors = [ + {name = "Trevor Hastie", email="hastie@stanford.edu" }, + {name = "Gareth James", email="gareth@emory.edu"}, {name = "Jonathan Taylor", email="jonathan.taylor@stanford.edu" }, - {name = "Trevor Hastie", email="hastie@stanford.edu" } + {name = "Rob Tibshirani", email="tibs@stanford.edu" }, + {name = "Daniela Witten", email="dwitten@uw.edu" }, ] maintainers = [ {name = "Jonathan Taylor", email="jonathan.taylor@stanford.edu" }, From 02bbd0f10fb21b2d21be5060994705ca58d52c0b Mon Sep 17 00:00:00 2001 From: danielawitten Date: Mon, 6 Nov 2023 09:46:50 -0800 Subject: [PATCH 156/195] Update README.md added authors --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 6cd576f..ec76826 100644 --- a/README.md +++ b/README.md @@ -60,5 +60,13 @@ is your `islp` environment. This information appears near the top left in the An See the [docs](https://intro-stat-learning.github.io/ISLP/labs.html) for the latest documentation. +## Authors + +- Jonathan Taylor +- Trevor Hastie +- Gareth James +- Robert Tibshirani +- Daniela Witten + From 19e7fb2c73e0a4b8839b77188dd546765c9012b5 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 8 Nov 2023 16:53:31 -0800 Subject: [PATCH 157/195] docs: add danielawitten as a contributor for code, and content (#11) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 27 +++++++++++++++++++++++++++ README.md | 25 +++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 .all-contributorsrc diff --git a/.all-contributorsrc b/.all-contributorsrc new file mode 100644 index 0000000..60f314c --- /dev/null +++ b/.all-contributorsrc @@ -0,0 +1,27 @@ +{ + "files": [ + "README.md" + ], + "imageSize": 100, + "commit": false, + "commitType": "docs", + "commitConvention": "angular", + "contributors": [ + { + "login": "danielawitten", + "name": "danielawitten", + "avatar_url": "https://avatars.githubusercontent.com/u/12654191?v=4", + "profile": "https://github.com/danielawitten", + "contributions": [ + "code", + "content" + ] + } + ], + "contributorsPerLine": 7, + "skipCi": true, + "repoType": "github", + "repoHost": "https://github.com", + "projectName": "ISLP", + "projectOwner": "intro-stat-learning" +} diff --git a/README.md b/README.md index ec76826..379ca73 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,7 @@ # ISLP + +[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors-) + This package collects data sets and various helper functions for ISLP. @@ -70,3 +73,25 @@ See the [docs](https://intro-stat-learning.github.io/ISLP/labs.html) for the lat + +## Contributors ✨ + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + +
danielawitten
danielawitten

💻 🖋
+ + + + + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! \ No newline at end of file From eb177251ef21a706c5de4f3b8cb417580e00e027 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 8 Nov 2023 16:55:06 -0800 Subject: [PATCH 158/195] docs: add trevorhastie as a contributor for code, and content (#12) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 10 ++++++++++ README.md | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 60f314c..4f2cb92 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -16,6 +16,16 @@ "code", "content" ] + }, + { + "login": "trevorhastie", + "name": "trevorhastie", + "avatar_url": "https://avatars.githubusercontent.com/u/13293253?v=4", + "profile": "https://web.stanford.edu/~hastie/", + "contributions": [ + "code", + "content" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index 379ca73..98b7089 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ISLP -[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors-) +[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors-) This package collects data sets and various helper functions @@ -85,6 +85,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d danielawitten
danielawitten

💻 🖋 + trevorhastie
trevorhastie

💻 🖋 From f6b64e253504ea38e215f15c09175055f4200706 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 8 Nov 2023 16:56:54 -0800 Subject: [PATCH 159/195] docs: add tibshirani as a contributor for code, and content (#14) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 10 ++++++++++ README.md | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 4f2cb92..585a78c 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -26,6 +26,16 @@ "code", "content" ] + }, + { + "login": "tibshirani", + "name": "tibshirani", + "avatar_url": "https://avatars.githubusercontent.com/u/2848609?v=4", + "profile": "https://github.com/tibshirani", + "contributions": [ + "code", + "content" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index 98b7089..546ddba 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ISLP -[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors-) +[![All Contributors](https://img.shields.io/badge/all_contributors-3-orange.svg?style=flat-square)](#contributors-) This package collects data sets and various helper functions @@ -86,6 +86,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d danielawitten
danielawitten

💻 🖋 trevorhastie
trevorhastie

💻 🖋 + tibshirani
tibshirani

💻 🖋 From c4c3e3dd089757388021de1aba09edb1912d04e2 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 14 Nov 2023 11:43:20 -0800 Subject: [PATCH 160/195] gui install note --- docs/source/installation.myst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/source/installation.myst b/docs/source/installation.myst index 2373910..cd3ea7c 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -73,6 +73,11 @@ current verisons of the labs. ## Jupyter +```{attention} +If using the Anaconda App, `jupyter` can be installed with a GUI. Use +the GUI install instead of the `pip` install below. +``` + ### Mac OS X ```{attention} From fc829b8bc1a5d15af53d396c0b98b9a151ea5a6f Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 14 Nov 2023 11:59:38 -0800 Subject: [PATCH 161/195] updating setup.py for distutils deprecation --- setup.py | 6 +- versioneer.py | 2109 ------------------------------------------------- 2 files changed, 1 insertion(+), 2114 deletions(-) delete mode 100644 versioneer.py diff --git a/setup.py b/setup.py index c30a6d7..688c9c0 100755 --- a/setup.py +++ b/setup.py @@ -4,7 +4,6 @@ import os import sys from os.path import join as pjoin, dirname, exists -from distutils.version import LooseVersion # BEFORE importing distutils, remove MANIFEST. distutils doesn't properly # update it when the contents of directories change. if exists('MANIFEST'): os.remove('MANIFEST') @@ -15,10 +14,7 @@ # Package for getting versions from git tags import versioneer -# Import distutils _after_ setuptools import, and after removing -# MANIFEST -from distutils.core import setup -from distutils.extension import Extension +from setuptools import setup # Get various parameters for this version, stored in ISLP/info.py diff --git a/versioneer.py b/versioneer.py deleted file mode 100644 index b4cd1d6..0000000 --- a/versioneer.py +++ /dev/null @@ -1,2109 +0,0 @@ - -# Version: 0.21 - -"""The Versioneer - like a rocketeer, but for versions. - -The Versioneer -============== - -* like a rocketeer, but for versions! -* https://github.com/python-versioneer/python-versioneer -* Brian Warner -* License: Public Domain -* Compatible with: Python 3.6, 3.7, 3.8, 3.9 and pypy3 -* [![Latest Version][pypi-image]][pypi-url] -* [![Build Status][travis-image]][travis-url] - -This is a tool for managing a recorded version number in distutils-based -python projects. The goal is to remove the tedious and error-prone "update -the embedded version string" step from your release process. Making a new -release should be as easy as recording a new tag in your version-control -system, and maybe making new tarballs. - - -## Quick Install - -* `pip install versioneer` to somewhere in your $PATH -* add a `[versioneer]` section to your setup.cfg (see [Install](INSTALL.md)) -* run `versioneer install` in your source tree, commit the results -* Verify version information with `python setup.py version` - -## Version Identifiers - -Source trees come from a variety of places: - -* a version-control system checkout (mostly used by developers) -* a nightly tarball, produced by build automation -* a snapshot tarball, produced by a web-based VCS browser, like github's - "tarball from tag" feature -* a release tarball, produced by "setup.py sdist", distributed through PyPI - -Within each source tree, the version identifier (either a string or a number, -this tool is format-agnostic) can come from a variety of places: - -* ask the VCS tool itself, e.g. "git describe" (for checkouts), which knows - about recent "tags" and an absolute revision-id -* the name of the directory into which the tarball was unpacked -* an expanded VCS keyword ($Id$, etc) -* a `_version.py` created by some earlier build step - -For released software, the version identifier is closely related to a VCS -tag. Some projects use tag names that include more than just the version -string (e.g. "myproject-1.2" instead of just "1.2"), in which case the tool -needs to strip the tag prefix to extract the version identifier. For -unreleased software (between tags), the version identifier should provide -enough information to help developers recreate the same tree, while also -giving them an idea of roughly how old the tree is (after version 1.2, before -version 1.3). Many VCS systems can report a description that captures this, -for example `git describe --tags --dirty --always` reports things like -"0.7-1-g574ab98-dirty" to indicate that the checkout is one revision past the -0.7 tag, has a unique revision id of "574ab98", and is "dirty" (it has -uncommitted changes). - -The version identifier is used for multiple purposes: - -* to allow the module to self-identify its version: `myproject.__version__` -* to choose a name and prefix for a 'setup.py sdist' tarball - -## Theory of Operation - -Versioneer works by adding a special `_version.py` file into your source -tree, where your `__init__.py` can import it. This `_version.py` knows how to -dynamically ask the VCS tool for version information at import time. - -`_version.py` also contains `$Revision$` markers, and the installation -process marks `_version.py` to have this marker rewritten with a tag name -during the `git archive` command. As a result, generated tarballs will -contain enough information to get the proper version. - -To allow `setup.py` to compute a version too, a `versioneer.py` is added to -the top level of your source tree, next to `setup.py` and the `setup.cfg` -that configures it. This overrides several distutils/setuptools commands to -compute the version when invoked, and changes `setup.py build` and `setup.py -sdist` to replace `_version.py` with a small static file that contains just -the generated version data. - -## Installation - -See [INSTALL.md](./INSTALL.md) for detailed installation instructions. - -## Version-String Flavors - -Code which uses Versioneer can learn about its version string at runtime by -importing `_version` from your main `__init__.py` file and running the -`get_versions()` function. From the "outside" (e.g. in `setup.py`), you can -import the top-level `versioneer.py` and run `get_versions()`. - -Both functions return a dictionary with different flavors of version -information: - -* `['version']`: A condensed version string, rendered using the selected - style. This is the most commonly used value for the project's version - string. The default "pep440" style yields strings like `0.11`, - `0.11+2.g1076c97`, or `0.11+2.g1076c97.dirty`. See the "Styles" section - below for alternative styles. - -* `['full-revisionid']`: detailed revision identifier. For Git, this is the - full SHA1 commit id, e.g. "1076c978a8d3cfc70f408fe5974aa6c092c949ac". - -* `['date']`: Date and time of the latest `HEAD` commit. For Git, it is the - commit date in ISO 8601 format. This will be None if the date is not - available. - -* `['dirty']`: a boolean, True if the tree has uncommitted changes. Note that - this is only accurate if run in a VCS checkout, otherwise it is likely to - be False or None - -* `['error']`: if the version string could not be computed, this will be set - to a string describing the problem, otherwise it will be None. It may be - useful to throw an exception in setup.py if this is set, to avoid e.g. - creating tarballs with a version string of "unknown". - -Some variants are more useful than others. Including `full-revisionid` in a -bug report should allow developers to reconstruct the exact code being tested -(or indicate the presence of local changes that should be shared with the -developers). `version` is suitable for display in an "about" box or a CLI -`--version` output: it can be easily compared against release notes and lists -of bugs fixed in various releases. - -The installer adds the following text to your `__init__.py` to place a basic -version in `YOURPROJECT.__version__`: - - from ._version import get_versions - __version__ = get_versions()['version'] - del get_versions - -## Styles - -The setup.cfg `style=` configuration controls how the VCS information is -rendered into a version string. - -The default style, "pep440", produces a PEP440-compliant string, equal to the -un-prefixed tag name for actual releases, and containing an additional "local -version" section with more detail for in-between builds. For Git, this is -TAG[+DISTANCE.gHEX[.dirty]] , using information from `git describe --tags ---dirty --always`. For example "0.11+2.g1076c97.dirty" indicates that the -tree is like the "1076c97" commit but has uncommitted changes (".dirty"), and -that this commit is two revisions ("+2") beyond the "0.11" tag. For released -software (exactly equal to a known tag), the identifier will only contain the -stripped tag, e.g. "0.11". - -Other styles are available. See [details.md](details.md) in the Versioneer -source tree for descriptions. - -## Debugging - -Versioneer tries to avoid fatal errors: if something goes wrong, it will tend -to return a version of "0+unknown". To investigate the problem, run `setup.py -version`, which will run the version-lookup code in a verbose mode, and will -display the full contents of `get_versions()` (including the `error` string, -which may help identify what went wrong). - -## Known Limitations - -Some situations are known to cause problems for Versioneer. This details the -most significant ones. More can be found on Github -[issues page](https://github.com/python-versioneer/python-versioneer/issues). - -### Subprojects - -Versioneer has limited support for source trees in which `setup.py` is not in -the root directory (e.g. `setup.py` and `.git/` are *not* siblings). The are -two common reasons why `setup.py` might not be in the root: - -* Source trees which contain multiple subprojects, such as - [Buildbot](https://github.com/buildbot/buildbot), which contains both - "master" and "slave" subprojects, each with their own `setup.py`, - `setup.cfg`, and `tox.ini`. Projects like these produce multiple PyPI - distributions (and upload multiple independently-installable tarballs). -* Source trees whose main purpose is to contain a C library, but which also - provide bindings to Python (and perhaps other languages) in subdirectories. - -Versioneer will look for `.git` in parent directories, and most operations -should get the right version string. However `pip` and `setuptools` have bugs -and implementation details which frequently cause `pip install .` from a -subproject directory to fail to find a correct version string (so it usually -defaults to `0+unknown`). - -`pip install --editable .` should work correctly. `setup.py install` might -work too. - -Pip-8.1.1 is known to have this problem, but hopefully it will get fixed in -some later version. - -[Bug #38](https://github.com/python-versioneer/python-versioneer/issues/38) is tracking -this issue. The discussion in -[PR #61](https://github.com/python-versioneer/python-versioneer/pull/61) describes the -issue from the Versioneer side in more detail. -[pip PR#3176](https://github.com/pypa/pip/pull/3176) and -[pip PR#3615](https://github.com/pypa/pip/pull/3615) contain work to improve -pip to let Versioneer work correctly. - -Versioneer-0.16 and earlier only looked for a `.git` directory next to the -`setup.cfg`, so subprojects were completely unsupported with those releases. - -### Editable installs with setuptools <= 18.5 - -`setup.py develop` and `pip install --editable .` allow you to install a -project into a virtualenv once, then continue editing the source code (and -test) without re-installing after every change. - -"Entry-point scripts" (`setup(entry_points={"console_scripts": ..})`) are a -convenient way to specify executable scripts that should be installed along -with the python package. - -These both work as expected when using modern setuptools. When using -setuptools-18.5 or earlier, however, certain operations will cause -`pkg_resources.DistributionNotFound` errors when running the entrypoint -script, which must be resolved by re-installing the package. This happens -when the install happens with one version, then the egg_info data is -regenerated while a different version is checked out. Many setup.py commands -cause egg_info to be rebuilt (including `sdist`, `wheel`, and installing into -a different virtualenv), so this can be surprising. - -[Bug #83](https://github.com/python-versioneer/python-versioneer/issues/83) describes -this one, but upgrading to a newer version of setuptools should probably -resolve it. - - -## Updating Versioneer - -To upgrade your project to a new release of Versioneer, do the following: - -* install the new Versioneer (`pip install -U versioneer` or equivalent) -* edit `setup.cfg`, if necessary, to include any new configuration settings - indicated by the release notes. See [UPGRADING](./UPGRADING.md) for details. -* re-run `versioneer install` in your source tree, to replace - `SRC/_version.py` -* commit any changed files - -## Future Directions - -This tool is designed to make it easily extended to other version-control -systems: all VCS-specific components are in separate directories like -src/git/ . The top-level `versioneer.py` script is assembled from these -components by running make-versioneer.py . In the future, make-versioneer.py -will take a VCS name as an argument, and will construct a version of -`versioneer.py` that is specific to the given VCS. It might also take the -configuration arguments that are currently provided manually during -installation by editing setup.py . Alternatively, it might go the other -direction and include code from all supported VCS systems, reducing the -number of intermediate scripts. - -## Similar projects - -* [setuptools_scm](https://github.com/pypa/setuptools_scm/) - a non-vendored build-time - dependency -* [minver](https://github.com/jbweston/miniver) - a lightweight reimplementation of - versioneer -* [versioningit](https://github.com/jwodder/versioningit) - a PEP 518-based setuptools - plugin - -## License - -To make Versioneer easier to embed, all its code is dedicated to the public -domain. The `_version.py` that it creates is also in the public domain. -Specifically, both are released under the Creative Commons "Public Domain -Dedication" license (CC0-1.0), as described in -https://creativecommons.org/publicdomain/zero/1.0/ . - -[pypi-image]: https://img.shields.io/pypi/v/versioneer.svg -[pypi-url]: https://pypi.python.org/pypi/versioneer/ -[travis-image]: -https://img.shields.io/travis/com/python-versioneer/python-versioneer.svg -[travis-url]: https://travis-ci.com/github/python-versioneer/python-versioneer - -""" -# pylint:disable=invalid-name,import-outside-toplevel,missing-function-docstring -# pylint:disable=missing-class-docstring,too-many-branches,too-many-statements -# pylint:disable=raise-missing-from,too-many-lines,too-many-locals,import-error -# pylint:disable=too-few-public-methods,redefined-outer-name,consider-using-with -# pylint:disable=attribute-defined-outside-init,too-many-arguments - -import configparser -import errno -import json -import os -import re -import subprocess -import sys -from typing import Callable, Dict - - -class VersioneerConfig: - """Container for Versioneer configuration parameters.""" - - -def get_root(): - """Get the project root directory. - - We require that all commands are run from the project root, i.e. the - directory that contains setup.py, setup.cfg, and versioneer.py . - """ - root = os.path.realpath(os.path.abspath(os.getcwd())) - setup_py = os.path.join(root, "setup.py") - versioneer_py = os.path.join(root, "versioneer.py") - if not (os.path.exists(setup_py) or os.path.exists(versioneer_py)): - # allow 'python path/to/setup.py COMMAND' - root = os.path.dirname(os.path.realpath(os.path.abspath(sys.argv[0]))) - setup_py = os.path.join(root, "setup.py") - versioneer_py = os.path.join(root, "versioneer.py") - if not (os.path.exists(setup_py) or os.path.exists(versioneer_py)): - err = ("Versioneer was unable to run the project root directory. " - "Versioneer requires setup.py to be executed from " - "its immediate directory (like 'python setup.py COMMAND'), " - "or in a way that lets it use sys.argv[0] to find the root " - "(like 'python path/to/setup.py COMMAND').") - raise VersioneerBadRootError(err) - try: - # Certain runtime workflows (setup.py install/develop in a setuptools - # tree) execute all dependencies in a single python process, so - # "versioneer" may be imported multiple times, and python's shared - # module-import table will cache the first one. So we can't use - # os.path.dirname(__file__), as that will find whichever - # versioneer.py was first imported, even in later projects. - my_path = os.path.realpath(os.path.abspath(__file__)) - me_dir = os.path.normcase(os.path.splitext(my_path)[0]) - vsr_dir = os.path.normcase(os.path.splitext(versioneer_py)[0]) - if me_dir != vsr_dir: - print("Warning: build in %s is using versioneer.py from %s" - % (os.path.dirname(my_path), versioneer_py)) - except NameError: - pass - return root - - -def get_config_from_root(root): - """Read the project setup.cfg file to determine Versioneer config.""" - # This might raise OSError (if setup.cfg is missing), or - # configparser.NoSectionError (if it lacks a [versioneer] section), or - # configparser.NoOptionError (if it lacks "VCS="). See the docstring at - # the top of versioneer.py for instructions on writing your setup.cfg . - setup_cfg = os.path.join(root, "setup.cfg") - parser = configparser.ConfigParser() - with open(setup_cfg, "r") as cfg_file: - parser.read_file(cfg_file) - VCS = parser.get("versioneer", "VCS") # mandatory - - # Dict-like interface for non-mandatory entries - section = parser["versioneer"] - - cfg = VersioneerConfig() - cfg.VCS = VCS - cfg.style = section.get("style", "") - cfg.versionfile_source = section.get("versionfile_source") - cfg.versionfile_build = section.get("versionfile_build") - cfg.tag_prefix = section.get("tag_prefix") - if cfg.tag_prefix in ("''", '""'): - cfg.tag_prefix = "" - cfg.parentdir_prefix = section.get("parentdir_prefix") - cfg.verbose = section.get("verbose") - return cfg - - -class NotThisMethod(Exception): - """Exception raised if a method is not valid for the current scenario.""" - - -# these dictionaries contain VCS-specific tools -LONG_VERSION_PY: Dict[str, str] = {} -HANDLERS: Dict[str, Dict[str, Callable]] = {} - - -def register_vcs_handler(vcs, method): # decorator - """Create decorator to mark a method as the handler of a VCS.""" - def decorate(f): - """Store f in HANDLERS[vcs][method].""" - HANDLERS.setdefault(vcs, {})[method] = f - return f - return decorate - - -def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, - env=None): - """Call the given command(s).""" - assert isinstance(commands, list) - process = None - for command in commands: - try: - dispcmd = str([command] + args) - # remember shell=False, so use git.cmd on windows, not just git - process = subprocess.Popen([command] + args, cwd=cwd, env=env, - stdout=subprocess.PIPE, - stderr=(subprocess.PIPE if hide_stderr - else None)) - break - except OSError: - e = sys.exc_info()[1] - if e.errno == errno.ENOENT: - continue - if verbose: - print("unable to run %s" % dispcmd) - print(e) - return None, None - else: - if verbose: - print("unable to find command, tried %s" % (commands,)) - return None, None - stdout = process.communicate()[0].strip().decode() - if process.returncode != 0: - if verbose: - print("unable to run %s (error)" % dispcmd) - print("stdout was %s" % stdout) - return None, process.returncode - return stdout, process.returncode - - -LONG_VERSION_PY['git'] = r''' -# This file helps to compute a version number in source trees obtained from -# git-archive tarball (such as those provided by githubs download-from-tag -# feature). Distribution tarballs (built by setup.py sdist) and build -# directories (produced by setup.py build) will contain a much shorter file -# that just contains the computed version number. - -# This file is released into the public domain. Generated by -# versioneer-0.21 (https://github.com/python-versioneer/python-versioneer) - -"""Git implementation of _version.py.""" - -import errno -import os -import re -import subprocess -import sys -from typing import Callable, Dict - - -def get_keywords(): - """Get the keywords needed to look up the version information.""" - # these strings will be replaced by git during git-archive. - # setup.py/versioneer.py will grep for the variable names, so they must - # each be defined on a line of their own. _version.py will just call - # get_keywords(). - git_refnames = "%(DOLLAR)sFormat:%%d%(DOLLAR)s" - git_full = "%(DOLLAR)sFormat:%%H%(DOLLAR)s" - git_date = "%(DOLLAR)sFormat:%%ci%(DOLLAR)s" - keywords = {"refnames": git_refnames, "full": git_full, "date": git_date} - return keywords - - -class VersioneerConfig: - """Container for Versioneer configuration parameters.""" - - -def get_config(): - """Create, populate and return the VersioneerConfig() object.""" - # these strings are filled in when 'setup.py versioneer' creates - # _version.py - cfg = VersioneerConfig() - cfg.VCS = "git" - cfg.style = "%(STYLE)s" - cfg.tag_prefix = "%(TAG_PREFIX)s" - cfg.parentdir_prefix = "%(PARENTDIR_PREFIX)s" - cfg.versionfile_source = "%(VERSIONFILE_SOURCE)s" - cfg.verbose = False - return cfg - - -class NotThisMethod(Exception): - """Exception raised if a method is not valid for the current scenario.""" - - -LONG_VERSION_PY: Dict[str, str] = {} -HANDLERS: Dict[str, Dict[str, Callable]] = {} - - -def register_vcs_handler(vcs, method): # decorator - """Create decorator to mark a method as the handler of a VCS.""" - def decorate(f): - """Store f in HANDLERS[vcs][method].""" - if vcs not in HANDLERS: - HANDLERS[vcs] = {} - HANDLERS[vcs][method] = f - return f - return decorate - - -def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, - env=None): - """Call the given command(s).""" - assert isinstance(commands, list) - process = None - for command in commands: - try: - dispcmd = str([command] + args) - # remember shell=False, so use git.cmd on windows, not just git - process = subprocess.Popen([command] + args, cwd=cwd, env=env, - stdout=subprocess.PIPE, - stderr=(subprocess.PIPE if hide_stderr - else None)) - break - except OSError: - e = sys.exc_info()[1] - if e.errno == errno.ENOENT: - continue - if verbose: - print("unable to run %%s" %% dispcmd) - print(e) - return None, None - else: - if verbose: - print("unable to find command, tried %%s" %% (commands,)) - return None, None - stdout = process.communicate()[0].strip().decode() - if process.returncode != 0: - if verbose: - print("unable to run %%s (error)" %% dispcmd) - print("stdout was %%s" %% stdout) - return None, process.returncode - return stdout, process.returncode - - -def versions_from_parentdir(parentdir_prefix, root, verbose): - """Try to determine the version from the parent directory name. - - Source tarballs conventionally unpack into a directory that includes both - the project name and a version string. We will also support searching up - two directory levels for an appropriately named parent directory - """ - rootdirs = [] - - for _ in range(3): - dirname = os.path.basename(root) - if dirname.startswith(parentdir_prefix): - return {"version": dirname[len(parentdir_prefix):], - "full-revisionid": None, - "dirty": False, "error": None, "date": None} - rootdirs.append(root) - root = os.path.dirname(root) # up a level - - if verbose: - print("Tried directories %%s but none started with prefix %%s" %% - (str(rootdirs), parentdir_prefix)) - raise NotThisMethod("rootdir doesn't start with parentdir_prefix") - - -@register_vcs_handler("git", "get_keywords") -def git_get_keywords(versionfile_abs): - """Extract version information from the given file.""" - # the code embedded in _version.py can just fetch the value of these - # keywords. When used from setup.py, we don't want to import _version.py, - # so we do it with a regexp instead. This function is not used from - # _version.py. - keywords = {} - try: - with open(versionfile_abs, "r") as fobj: - for line in fobj: - if line.strip().startswith("git_refnames ="): - mo = re.search(r'=\s*"(.*)"', line) - if mo: - keywords["refnames"] = mo.group(1) - if line.strip().startswith("git_full ="): - mo = re.search(r'=\s*"(.*)"', line) - if mo: - keywords["full"] = mo.group(1) - if line.strip().startswith("git_date ="): - mo = re.search(r'=\s*"(.*)"', line) - if mo: - keywords["date"] = mo.group(1) - except OSError: - pass - return keywords - - -@register_vcs_handler("git", "keywords") -def git_versions_from_keywords(keywords, tag_prefix, verbose): - """Get version information from git keywords.""" - if "refnames" not in keywords: - raise NotThisMethod("Short version file found") - date = keywords.get("date") - if date is not None: - # Use only the last line. Previous lines may contain GPG signature - # information. - date = date.splitlines()[-1] - - # git-2.2.0 added "%%cI", which expands to an ISO-8601 -compliant - # datestamp. However we prefer "%%ci" (which expands to an "ISO-8601 - # -like" string, which we must then edit to make compliant), because - # it's been around since git-1.5.3, and it's too difficult to - # discover which version we're using, or to work around using an - # older one. - date = date.strip().replace(" ", "T", 1).replace(" ", "", 1) - refnames = keywords["refnames"].strip() - if refnames.startswith("$Format"): - if verbose: - print("keywords are unexpanded, not using") - raise NotThisMethod("unexpanded keywords, not a git-archive tarball") - refs = {r.strip() for r in refnames.strip("()").split(",")} - # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of - # just "foo-1.0". If we see a "tag: " prefix, prefer those. - TAG = "tag: " - tags = {r[len(TAG):] for r in refs if r.startswith(TAG)} - if not tags: - # Either we're using git < 1.8.3, or there really are no tags. We use - # a heuristic: assume all version tags have a digit. The old git %%d - # expansion behaves like git log --decorate=short and strips out the - # refs/heads/ and refs/tags/ prefixes that would let us distinguish - # between branches and tags. By ignoring refnames without digits, we - # filter out many common branch names like "release" and - # "stabilization", as well as "HEAD" and "master". - tags = {r for r in refs if re.search(r'\d', r)} - if verbose: - print("discarding '%%s', no digits" %% ",".join(refs - tags)) - if verbose: - print("likely tags: %%s" %% ",".join(sorted(tags))) - for ref in sorted(tags): - # sorting will prefer e.g. "2.0" over "2.0rc1" - if ref.startswith(tag_prefix): - r = ref[len(tag_prefix):] - # Filter out refs that exactly match prefix or that don't start - # with a number once the prefix is stripped (mostly a concern - # when prefix is '') - if not re.match(r'\d', r): - continue - if verbose: - print("picking %%s" %% r) - return {"version": r, - "full-revisionid": keywords["full"].strip(), - "dirty": False, "error": None, - "date": date} - # no suitable tags, so version is "0+unknown", but full hex is still there - if verbose: - print("no suitable tags, using unknown + full revision id") - return {"version": "0+unknown", - "full-revisionid": keywords["full"].strip(), - "dirty": False, "error": "no suitable tags", "date": None} - - -@register_vcs_handler("git", "pieces_from_vcs") -def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): - """Get version from 'git describe' in the root of the source tree. - - This only gets called if the git-archive 'subst' keywords were *not* - expanded, and _version.py hasn't already been rewritten with a short - version string, meaning we're inside a checked out source tree. - """ - GITS = ["git"] - TAG_PREFIX_REGEX = "*" - if sys.platform == "win32": - GITS = ["git.cmd", "git.exe"] - TAG_PREFIX_REGEX = r"\*" - - _, rc = runner(GITS, ["rev-parse", "--git-dir"], cwd=root, - hide_stderr=True) - if rc != 0: - if verbose: - print("Directory %%s not under git control" %% root) - raise NotThisMethod("'git rev-parse --git-dir' returned error") - - # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] - # if there isn't one, this yields HEX[-dirty] (no NUM) - describe_out, rc = runner(GITS, ["describe", "--tags", "--dirty", - "--always", "--long", - "--match", - "%%s%%s" %% (tag_prefix, TAG_PREFIX_REGEX)], - cwd=root) - # --long was added in git-1.5.5 - if describe_out is None: - raise NotThisMethod("'git describe' failed") - describe_out = describe_out.strip() - full_out, rc = runner(GITS, ["rev-parse", "HEAD"], cwd=root) - if full_out is None: - raise NotThisMethod("'git rev-parse' failed") - full_out = full_out.strip() - - pieces = {} - pieces["long"] = full_out - pieces["short"] = full_out[:7] # maybe improved later - pieces["error"] = None - - branch_name, rc = runner(GITS, ["rev-parse", "--abbrev-ref", "HEAD"], - cwd=root) - # --abbrev-ref was added in git-1.6.3 - if rc != 0 or branch_name is None: - raise NotThisMethod("'git rev-parse --abbrev-ref' returned error") - branch_name = branch_name.strip() - - if branch_name == "HEAD": - # If we aren't exactly on a branch, pick a branch which represents - # the current commit. If all else fails, we are on a branchless - # commit. - branches, rc = runner(GITS, ["branch", "--contains"], cwd=root) - # --contains was added in git-1.5.4 - if rc != 0 or branches is None: - raise NotThisMethod("'git branch --contains' returned error") - branches = branches.split("\n") - - # Remove the first line if we're running detached - if "(" in branches[0]: - branches.pop(0) - - # Strip off the leading "* " from the list of branches. - branches = [branch[2:] for branch in branches] - if "master" in branches: - branch_name = "master" - elif not branches: - branch_name = None - else: - # Pick the first branch that is returned. Good or bad. - branch_name = branches[0] - - pieces["branch"] = branch_name - - # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty] - # TAG might have hyphens. - git_describe = describe_out - - # look for -dirty suffix - dirty = git_describe.endswith("-dirty") - pieces["dirty"] = dirty - if dirty: - git_describe = git_describe[:git_describe.rindex("-dirty")] - - # now we have TAG-NUM-gHEX or HEX - - if "-" in git_describe: - # TAG-NUM-gHEX - mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) - if not mo: - # unparsable. Maybe git-describe is misbehaving? - pieces["error"] = ("unable to parse git-describe output: '%%s'" - %% describe_out) - return pieces - - # tag - full_tag = mo.group(1) - if not full_tag.startswith(tag_prefix): - if verbose: - fmt = "tag '%%s' doesn't start with prefix '%%s'" - print(fmt %% (full_tag, tag_prefix)) - pieces["error"] = ("tag '%%s' doesn't start with prefix '%%s'" - %% (full_tag, tag_prefix)) - return pieces - pieces["closest-tag"] = full_tag[len(tag_prefix):] - - # distance: number of commits since tag - pieces["distance"] = int(mo.group(2)) - - # commit: short hex revision ID - pieces["short"] = mo.group(3) - - else: - # HEX: no tags - pieces["closest-tag"] = None - count_out, rc = runner(GITS, ["rev-list", "HEAD", "--count"], cwd=root) - pieces["distance"] = int(count_out) # total number of commits - - # commit date: see ISO-8601 comment in git_versions_from_keywords() - date = runner(GITS, ["show", "-s", "--format=%%ci", "HEAD"], cwd=root)[0].strip() - # Use only the last line. Previous lines may contain GPG signature - # information. - date = date.splitlines()[-1] - pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1) - - return pieces - - -def plus_or_dot(pieces): - """Return a + if we don't already have one, else return a .""" - if "+" in pieces.get("closest-tag", ""): - return "." - return "+" - - -def render_pep440(pieces): - """Build up version string, with post-release "local version identifier". - - Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you - get a tagged build and then dirty it, you'll get TAG+0.gHEX.dirty - - Exceptions: - 1: no tags. git_describe was just HEX. 0+untagged.DISTANCE.gHEX[.dirty] - """ - if pieces["closest-tag"]: - rendered = pieces["closest-tag"] - if pieces["distance"] or pieces["dirty"]: - rendered += plus_or_dot(pieces) - rendered += "%%d.g%%s" %% (pieces["distance"], pieces["short"]) - if pieces["dirty"]: - rendered += ".dirty" - else: - # exception #1 - rendered = "0+untagged.%%d.g%%s" %% (pieces["distance"], - pieces["short"]) - if pieces["dirty"]: - rendered += ".dirty" - return rendered - - -def render_pep440_branch(pieces): - """TAG[[.dev0]+DISTANCE.gHEX[.dirty]] . - - The ".dev0" means not master branch. Note that .dev0 sorts backwards - (a feature branch will appear "older" than the master branch). - - Exceptions: - 1: no tags. 0[.dev0]+untagged.DISTANCE.gHEX[.dirty] - """ - if pieces["closest-tag"]: - rendered = pieces["closest-tag"] - if pieces["distance"] or pieces["dirty"]: - if pieces["branch"] != "master": - rendered += ".dev0" - rendered += plus_or_dot(pieces) - rendered += "%%d.g%%s" %% (pieces["distance"], pieces["short"]) - if pieces["dirty"]: - rendered += ".dirty" - else: - # exception #1 - rendered = "0" - if pieces["branch"] != "master": - rendered += ".dev0" - rendered += "+untagged.%%d.g%%s" %% (pieces["distance"], - pieces["short"]) - if pieces["dirty"]: - rendered += ".dirty" - return rendered - - -def pep440_split_post(ver): - """Split pep440 version string at the post-release segment. - - Returns the release segments before the post-release and the - post-release version number (or -1 if no post-release segment is present). - """ - vc = str.split(ver, ".post") - return vc[0], int(vc[1] or 0) if len(vc) == 2 else None - - -def render_pep440_pre(pieces): - """TAG[.postN.devDISTANCE] -- No -dirty. - - Exceptions: - 1: no tags. 0.post0.devDISTANCE - """ - if pieces["closest-tag"]: - if pieces["distance"]: - # update the post release segment - tag_version, post_version = pep440_split_post(pieces["closest-tag"]) - rendered = tag_version - if post_version is not None: - rendered += ".post%%d.dev%%d" %% (post_version+1, pieces["distance"]) - else: - rendered += ".post0.dev%%d" %% (pieces["distance"]) - else: - # no commits, use the tag as the version - rendered = pieces["closest-tag"] - else: - # exception #1 - rendered = "0.post0.dev%%d" %% pieces["distance"] - return rendered - - -def render_pep440_post(pieces): - """TAG[.postDISTANCE[.dev0]+gHEX] . - - The ".dev0" means dirty. Note that .dev0 sorts backwards - (a dirty tree will appear "older" than the corresponding clean one), - but you shouldn't be releasing software with -dirty anyways. - - Exceptions: - 1: no tags. 0.postDISTANCE[.dev0] - """ - if pieces["closest-tag"]: - rendered = pieces["closest-tag"] - if pieces["distance"] or pieces["dirty"]: - rendered += ".post%%d" %% pieces["distance"] - if pieces["dirty"]: - rendered += ".dev0" - rendered += plus_or_dot(pieces) - rendered += "g%%s" %% pieces["short"] - else: - # exception #1 - rendered = "0.post%%d" %% pieces["distance"] - if pieces["dirty"]: - rendered += ".dev0" - rendered += "+g%%s" %% pieces["short"] - return rendered - - -def render_pep440_post_branch(pieces): - """TAG[.postDISTANCE[.dev0]+gHEX[.dirty]] . - - The ".dev0" means not master branch. - - Exceptions: - 1: no tags. 0.postDISTANCE[.dev0]+gHEX[.dirty] - """ - if pieces["closest-tag"]: - rendered = pieces["closest-tag"] - if pieces["distance"] or pieces["dirty"]: - rendered += ".post%%d" %% pieces["distance"] - if pieces["branch"] != "master": - rendered += ".dev0" - rendered += plus_or_dot(pieces) - rendered += "g%%s" %% pieces["short"] - if pieces["dirty"]: - rendered += ".dirty" - else: - # exception #1 - rendered = "0.post%%d" %% pieces["distance"] - if pieces["branch"] != "master": - rendered += ".dev0" - rendered += "+g%%s" %% pieces["short"] - if pieces["dirty"]: - rendered += ".dirty" - return rendered - - -def render_pep440_old(pieces): - """TAG[.postDISTANCE[.dev0]] . - - The ".dev0" means dirty. - - Exceptions: - 1: no tags. 0.postDISTANCE[.dev0] - """ - if pieces["closest-tag"]: - rendered = pieces["closest-tag"] - if pieces["distance"] or pieces["dirty"]: - rendered += ".post%%d" %% pieces["distance"] - if pieces["dirty"]: - rendered += ".dev0" - else: - # exception #1 - rendered = "0.post%%d" %% pieces["distance"] - if pieces["dirty"]: - rendered += ".dev0" - return rendered - - -def render_git_describe(pieces): - """TAG[-DISTANCE-gHEX][-dirty]. - - Like 'git describe --tags --dirty --always'. - - Exceptions: - 1: no tags. HEX[-dirty] (note: no 'g' prefix) - """ - if pieces["closest-tag"]: - rendered = pieces["closest-tag"] - if pieces["distance"]: - rendered += "-%%d-g%%s" %% (pieces["distance"], pieces["short"]) - else: - # exception #1 - rendered = pieces["short"] - if pieces["dirty"]: - rendered += "-dirty" - return rendered - - -def render_git_describe_long(pieces): - """TAG-DISTANCE-gHEX[-dirty]. - - Like 'git describe --tags --dirty --always -long'. - The distance/hash is unconditional. - - Exceptions: - 1: no tags. HEX[-dirty] (note: no 'g' prefix) - """ - if pieces["closest-tag"]: - rendered = pieces["closest-tag"] - rendered += "-%%d-g%%s" %% (pieces["distance"], pieces["short"]) - else: - # exception #1 - rendered = pieces["short"] - if pieces["dirty"]: - rendered += "-dirty" - return rendered - - -def render(pieces, style): - """Render the given version pieces into the requested style.""" - if pieces["error"]: - return {"version": "unknown", - "full-revisionid": pieces.get("long"), - "dirty": None, - "error": pieces["error"], - "date": None} - - if not style or style == "default": - style = "pep440" # the default - - if style == "pep440": - rendered = render_pep440(pieces) - elif style == "pep440-branch": - rendered = render_pep440_branch(pieces) - elif style == "pep440-pre": - rendered = render_pep440_pre(pieces) - elif style == "pep440-post": - rendered = render_pep440_post(pieces) - elif style == "pep440-post-branch": - rendered = render_pep440_post_branch(pieces) - elif style == "pep440-old": - rendered = render_pep440_old(pieces) - elif style == "git-describe": - rendered = render_git_describe(pieces) - elif style == "git-describe-long": - rendered = render_git_describe_long(pieces) - else: - raise ValueError("unknown style '%%s'" %% style) - - return {"version": rendered, "full-revisionid": pieces["long"], - "dirty": pieces["dirty"], "error": None, - "date": pieces.get("date")} - - -def get_versions(): - """Get version information or return default if unable to do so.""" - # I am in _version.py, which lives at ROOT/VERSIONFILE_SOURCE. If we have - # __file__, we can work backwards from there to the root. Some - # py2exe/bbfreeze/non-CPython implementations don't do __file__, in which - # case we can only use expanded keywords. - - cfg = get_config() - verbose = cfg.verbose - - try: - return git_versions_from_keywords(get_keywords(), cfg.tag_prefix, - verbose) - except NotThisMethod: - pass - - try: - root = os.path.realpath(__file__) - # versionfile_source is the relative path from the top of the source - # tree (where the .git directory might live) to this file. Invert - # this to find the root from __file__. - for _ in cfg.versionfile_source.split('/'): - root = os.path.dirname(root) - except NameError: - return {"version": "0+unknown", "full-revisionid": None, - "dirty": None, - "error": "unable to find root of source tree", - "date": None} - - try: - pieces = git_pieces_from_vcs(cfg.tag_prefix, root, verbose) - return render(pieces, cfg.style) - except NotThisMethod: - pass - - try: - if cfg.parentdir_prefix: - return versions_from_parentdir(cfg.parentdir_prefix, root, verbose) - except NotThisMethod: - pass - - return {"version": "0+unknown", "full-revisionid": None, - "dirty": None, - "error": "unable to compute version", "date": None} -''' - - -@register_vcs_handler("git", "get_keywords") -def git_get_keywords(versionfile_abs): - """Extract version information from the given file.""" - # the code embedded in _version.py can just fetch the value of these - # keywords. When used from setup.py, we don't want to import _version.py, - # so we do it with a regexp instead. This function is not used from - # _version.py. - keywords = {} - try: - with open(versionfile_abs, "r") as fobj: - for line in fobj: - if line.strip().startswith("git_refnames ="): - mo = re.search(r'=\s*"(.*)"', line) - if mo: - keywords["refnames"] = mo.group(1) - if line.strip().startswith("git_full ="): - mo = re.search(r'=\s*"(.*)"', line) - if mo: - keywords["full"] = mo.group(1) - if line.strip().startswith("git_date ="): - mo = re.search(r'=\s*"(.*)"', line) - if mo: - keywords["date"] = mo.group(1) - except OSError: - pass - return keywords - - -@register_vcs_handler("git", "keywords") -def git_versions_from_keywords(keywords, tag_prefix, verbose): - """Get version information from git keywords.""" - if "refnames" not in keywords: - raise NotThisMethod("Short version file found") - date = keywords.get("date") - if date is not None: - # Use only the last line. Previous lines may contain GPG signature - # information. - date = date.splitlines()[-1] - - # git-2.2.0 added "%cI", which expands to an ISO-8601 -compliant - # datestamp. However we prefer "%ci" (which expands to an "ISO-8601 - # -like" string, which we must then edit to make compliant), because - # it's been around since git-1.5.3, and it's too difficult to - # discover which version we're using, or to work around using an - # older one. - date = date.strip().replace(" ", "T", 1).replace(" ", "", 1) - refnames = keywords["refnames"].strip() - if refnames.startswith("$Format"): - if verbose: - print("keywords are unexpanded, not using") - raise NotThisMethod("unexpanded keywords, not a git-archive tarball") - refs = {r.strip() for r in refnames.strip("()").split(",")} - # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of - # just "foo-1.0". If we see a "tag: " prefix, prefer those. - TAG = "tag: " - tags = {r[len(TAG):] for r in refs if r.startswith(TAG)} - if not tags: - # Either we're using git < 1.8.3, or there really are no tags. We use - # a heuristic: assume all version tags have a digit. The old git %d - # expansion behaves like git log --decorate=short and strips out the - # refs/heads/ and refs/tags/ prefixes that would let us distinguish - # between branches and tags. By ignoring refnames without digits, we - # filter out many common branch names like "release" and - # "stabilization", as well as "HEAD" and "master". - tags = {r for r in refs if re.search(r'\d', r)} - if verbose: - print("discarding '%s', no digits" % ",".join(refs - tags)) - if verbose: - print("likely tags: %s" % ",".join(sorted(tags))) - for ref in sorted(tags): - # sorting will prefer e.g. "2.0" over "2.0rc1" - if ref.startswith(tag_prefix): - r = ref[len(tag_prefix):] - # Filter out refs that exactly match prefix or that don't start - # with a number once the prefix is stripped (mostly a concern - # when prefix is '') - if not re.match(r'\d', r): - continue - if verbose: - print("picking %s" % r) - return {"version": r, - "full-revisionid": keywords["full"].strip(), - "dirty": False, "error": None, - "date": date} - # no suitable tags, so version is "0+unknown", but full hex is still there - if verbose: - print("no suitable tags, using unknown + full revision id") - return {"version": "0+unknown", - "full-revisionid": keywords["full"].strip(), - "dirty": False, "error": "no suitable tags", "date": None} - - -@register_vcs_handler("git", "pieces_from_vcs") -def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): - """Get version from 'git describe' in the root of the source tree. - - This only gets called if the git-archive 'subst' keywords were *not* - expanded, and _version.py hasn't already been rewritten with a short - version string, meaning we're inside a checked out source tree. - """ - GITS = ["git"] - TAG_PREFIX_REGEX = "*" - if sys.platform == "win32": - GITS = ["git.cmd", "git.exe"] - TAG_PREFIX_REGEX = r"\*" - - _, rc = runner(GITS, ["rev-parse", "--git-dir"], cwd=root, - hide_stderr=True) - if rc != 0: - if verbose: - print("Directory %s not under git control" % root) - raise NotThisMethod("'git rev-parse --git-dir' returned error") - - # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] - # if there isn't one, this yields HEX[-dirty] (no NUM) - describe_out, rc = runner(GITS, ["describe", "--tags", "--dirty", - "--always", "--long", - "--match", - "%s%s" % (tag_prefix, TAG_PREFIX_REGEX)], - cwd=root) - # --long was added in git-1.5.5 - if describe_out is None: - raise NotThisMethod("'git describe' failed") - describe_out = describe_out.strip() - full_out, rc = runner(GITS, ["rev-parse", "HEAD"], cwd=root) - if full_out is None: - raise NotThisMethod("'git rev-parse' failed") - full_out = full_out.strip() - - pieces = {} - pieces["long"] = full_out - pieces["short"] = full_out[:7] # maybe improved later - pieces["error"] = None - - branch_name, rc = runner(GITS, ["rev-parse", "--abbrev-ref", "HEAD"], - cwd=root) - # --abbrev-ref was added in git-1.6.3 - if rc != 0 or branch_name is None: - raise NotThisMethod("'git rev-parse --abbrev-ref' returned error") - branch_name = branch_name.strip() - - if branch_name == "HEAD": - # If we aren't exactly on a branch, pick a branch which represents - # the current commit. If all else fails, we are on a branchless - # commit. - branches, rc = runner(GITS, ["branch", "--contains"], cwd=root) - # --contains was added in git-1.5.4 - if rc != 0 or branches is None: - raise NotThisMethod("'git branch --contains' returned error") - branches = branches.split("\n") - - # Remove the first line if we're running detached - if "(" in branches[0]: - branches.pop(0) - - # Strip off the leading "* " from the list of branches. - branches = [branch[2:] for branch in branches] - if "master" in branches: - branch_name = "master" - elif not branches: - branch_name = None - else: - # Pick the first branch that is returned. Good or bad. - branch_name = branches[0] - - pieces["branch"] = branch_name - - # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty] - # TAG might have hyphens. - git_describe = describe_out - - # look for -dirty suffix - dirty = git_describe.endswith("-dirty") - pieces["dirty"] = dirty - if dirty: - git_describe = git_describe[:git_describe.rindex("-dirty")] - - # now we have TAG-NUM-gHEX or HEX - - if "-" in git_describe: - # TAG-NUM-gHEX - mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) - if not mo: - # unparsable. Maybe git-describe is misbehaving? - pieces["error"] = ("unable to parse git-describe output: '%s'" - % describe_out) - return pieces - - # tag - full_tag = mo.group(1) - if not full_tag.startswith(tag_prefix): - if verbose: - fmt = "tag '%s' doesn't start with prefix '%s'" - print(fmt % (full_tag, tag_prefix)) - pieces["error"] = ("tag '%s' doesn't start with prefix '%s'" - % (full_tag, tag_prefix)) - return pieces - pieces["closest-tag"] = full_tag[len(tag_prefix):] - - # distance: number of commits since tag - pieces["distance"] = int(mo.group(2)) - - # commit: short hex revision ID - pieces["short"] = mo.group(3) - - else: - # HEX: no tags - pieces["closest-tag"] = None - count_out, rc = runner(GITS, ["rev-list", "HEAD", "--count"], cwd=root) - pieces["distance"] = int(count_out) # total number of commits - - # commit date: see ISO-8601 comment in git_versions_from_keywords() - date = runner(GITS, ["show", "-s", "--format=%ci", "HEAD"], cwd=root)[0].strip() - # Use only the last line. Previous lines may contain GPG signature - # information. - date = date.splitlines()[-1] - pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1) - - return pieces - - -def do_vcs_install(manifest_in, versionfile_source, ipy): - """Git-specific installation logic for Versioneer. - - For Git, this means creating/changing .gitattributes to mark _version.py - for export-subst keyword substitution. - """ - GITS = ["git"] - if sys.platform == "win32": - GITS = ["git.cmd", "git.exe"] - files = [manifest_in, versionfile_source] - if ipy: - files.append(ipy) - try: - my_path = __file__ - if my_path.endswith(".pyc") or my_path.endswith(".pyo"): - my_path = os.path.splitext(my_path)[0] + ".py" - versioneer_file = os.path.relpath(my_path) - except NameError: - versioneer_file = "versioneer.py" - files.append(versioneer_file) - present = False - try: - with open(".gitattributes", "r") as fobj: - for line in fobj: - if line.strip().startswith(versionfile_source): - if "export-subst" in line.strip().split()[1:]: - present = True - break - except OSError: - pass - if not present: - with open(".gitattributes", "a+") as fobj: - fobj.write(f"{versionfile_source} export-subst\n") - files.append(".gitattributes") - run_command(GITS, ["add", "--"] + files) - - -def versions_from_parentdir(parentdir_prefix, root, verbose): - """Try to determine the version from the parent directory name. - - Source tarballs conventionally unpack into a directory that includes both - the project name and a version string. We will also support searching up - two directory levels for an appropriately named parent directory - """ - rootdirs = [] - - for _ in range(3): - dirname = os.path.basename(root) - if dirname.startswith(parentdir_prefix): - return {"version": dirname[len(parentdir_prefix):], - "full-revisionid": None, - "dirty": False, "error": None, "date": None} - rootdirs.append(root) - root = os.path.dirname(root) # up a level - - if verbose: - print("Tried directories %s but none started with prefix %s" % - (str(rootdirs), parentdir_prefix)) - raise NotThisMethod("rootdir doesn't start with parentdir_prefix") - - -SHORT_VERSION_PY = """ -# This file was generated by 'versioneer.py' (0.21) from -# revision-control system data, or from the parent directory name of an -# unpacked source archive. Distribution tarballs contain a pre-generated copy -# of this file. - -import json - -version_json = ''' -%s -''' # END VERSION_JSON - - -def get_versions(): - return json.loads(version_json) -""" - - -def versions_from_file(filename): - """Try to determine the version from _version.py if present.""" - try: - with open(filename) as f: - contents = f.read() - except OSError: - raise NotThisMethod("unable to read _version.py") - mo = re.search(r"version_json = '''\n(.*)''' # END VERSION_JSON", - contents, re.M | re.S) - if not mo: - mo = re.search(r"version_json = '''\r\n(.*)''' # END VERSION_JSON", - contents, re.M | re.S) - if not mo: - raise NotThisMethod("no version_json in _version.py") - return json.loads(mo.group(1)) - - -def write_to_version_file(filename, versions): - """Write the given version number to the given _version.py file.""" - os.unlink(filename) - contents = json.dumps(versions, sort_keys=True, - indent=1, separators=(",", ": ")) - with open(filename, "w") as f: - f.write(SHORT_VERSION_PY % contents) - - print("set %s to '%s'" % (filename, versions["version"])) - - -def plus_or_dot(pieces): - """Return a + if we don't already have one, else return a .""" - if "+" in pieces.get("closest-tag", ""): - return "." - return "+" - - -def render_pep440(pieces): - """Build up version string, with post-release "local version identifier". - - Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you - get a tagged build and then dirty it, you'll get TAG+0.gHEX.dirty - - Exceptions: - 1: no tags. git_describe was just HEX. 0+untagged.DISTANCE.gHEX[.dirty] - """ - if pieces["closest-tag"]: - rendered = pieces["closest-tag"] - if pieces["distance"] or pieces["dirty"]: - rendered += plus_or_dot(pieces) - rendered += "%d.g%s" % (pieces["distance"], pieces["short"]) - if pieces["dirty"]: - rendered += ".dirty" - else: - # exception #1 - rendered = "0+untagged.%d.g%s" % (pieces["distance"], - pieces["short"]) - if pieces["dirty"]: - rendered += ".dirty" - return rendered - - -def render_pep440_branch(pieces): - """TAG[[.dev0]+DISTANCE.gHEX[.dirty]] . - - The ".dev0" means not master branch. Note that .dev0 sorts backwards - (a feature branch will appear "older" than the master branch). - - Exceptions: - 1: no tags. 0[.dev0]+untagged.DISTANCE.gHEX[.dirty] - """ - if pieces["closest-tag"]: - rendered = pieces["closest-tag"] - if pieces["distance"] or pieces["dirty"]: - if pieces["branch"] != "master": - rendered += ".dev0" - rendered += plus_or_dot(pieces) - rendered += "%d.g%s" % (pieces["distance"], pieces["short"]) - if pieces["dirty"]: - rendered += ".dirty" - else: - # exception #1 - rendered = "0" - if pieces["branch"] != "master": - rendered += ".dev0" - rendered += "+untagged.%d.g%s" % (pieces["distance"], - pieces["short"]) - if pieces["dirty"]: - rendered += ".dirty" - return rendered - - -def pep440_split_post(ver): - """Split pep440 version string at the post-release segment. - - Returns the release segments before the post-release and the - post-release version number (or -1 if no post-release segment is present). - """ - vc = str.split(ver, ".post") - return vc[0], int(vc[1] or 0) if len(vc) == 2 else None - - -def render_pep440_pre(pieces): - """TAG[.postN.devDISTANCE] -- No -dirty. - - Exceptions: - 1: no tags. 0.post0.devDISTANCE - """ - if pieces["closest-tag"]: - if pieces["distance"]: - # update the post release segment - tag_version, post_version = pep440_split_post(pieces["closest-tag"]) - rendered = tag_version - if post_version is not None: - rendered += ".post%d.dev%d" % (post_version+1, pieces["distance"]) - else: - rendered += ".post0.dev%d" % (pieces["distance"]) - else: - # no commits, use the tag as the version - rendered = pieces["closest-tag"] - else: - # exception #1 - rendered = "0.post0.dev%d" % pieces["distance"] - return rendered - - -def render_pep440_post(pieces): - """TAG[.postDISTANCE[.dev0]+gHEX] . - - The ".dev0" means dirty. Note that .dev0 sorts backwards - (a dirty tree will appear "older" than the corresponding clean one), - but you shouldn't be releasing software with -dirty anyways. - - Exceptions: - 1: no tags. 0.postDISTANCE[.dev0] - """ - if pieces["closest-tag"]: - rendered = pieces["closest-tag"] - if pieces["distance"] or pieces["dirty"]: - rendered += ".post%d" % pieces["distance"] - if pieces["dirty"]: - rendered += ".dev0" - rendered += plus_or_dot(pieces) - rendered += "g%s" % pieces["short"] - else: - # exception #1 - rendered = "0.post%d" % pieces["distance"] - if pieces["dirty"]: - rendered += ".dev0" - rendered += "+g%s" % pieces["short"] - return rendered - - -def render_pep440_post_branch(pieces): - """TAG[.postDISTANCE[.dev0]+gHEX[.dirty]] . - - The ".dev0" means not master branch. - - Exceptions: - 1: no tags. 0.postDISTANCE[.dev0]+gHEX[.dirty] - """ - if pieces["closest-tag"]: - rendered = pieces["closest-tag"] - if pieces["distance"] or pieces["dirty"]: - rendered += ".post%d" % pieces["distance"] - if pieces["branch"] != "master": - rendered += ".dev0" - rendered += plus_or_dot(pieces) - rendered += "g%s" % pieces["short"] - if pieces["dirty"]: - rendered += ".dirty" - else: - # exception #1 - rendered = "0.post%d" % pieces["distance"] - if pieces["branch"] != "master": - rendered += ".dev0" - rendered += "+g%s" % pieces["short"] - if pieces["dirty"]: - rendered += ".dirty" - return rendered - - -def render_pep440_old(pieces): - """TAG[.postDISTANCE[.dev0]] . - - The ".dev0" means dirty. - - Exceptions: - 1: no tags. 0.postDISTANCE[.dev0] - """ - if pieces["closest-tag"]: - rendered = pieces["closest-tag"] - if pieces["distance"] or pieces["dirty"]: - rendered += ".post%d" % pieces["distance"] - if pieces["dirty"]: - rendered += ".dev0" - else: - # exception #1 - rendered = "0.post%d" % pieces["distance"] - if pieces["dirty"]: - rendered += ".dev0" - return rendered - - -def render_git_describe(pieces): - """TAG[-DISTANCE-gHEX][-dirty]. - - Like 'git describe --tags --dirty --always'. - - Exceptions: - 1: no tags. HEX[-dirty] (note: no 'g' prefix) - """ - if pieces["closest-tag"]: - rendered = pieces["closest-tag"] - if pieces["distance"]: - rendered += "-%d-g%s" % (pieces["distance"], pieces["short"]) - else: - # exception #1 - rendered = pieces["short"] - if pieces["dirty"]: - rendered += "-dirty" - return rendered - - -def render_git_describe_long(pieces): - """TAG-DISTANCE-gHEX[-dirty]. - - Like 'git describe --tags --dirty --always -long'. - The distance/hash is unconditional. - - Exceptions: - 1: no tags. HEX[-dirty] (note: no 'g' prefix) - """ - if pieces["closest-tag"]: - rendered = pieces["closest-tag"] - rendered += "-%d-g%s" % (pieces["distance"], pieces["short"]) - else: - # exception #1 - rendered = pieces["short"] - if pieces["dirty"]: - rendered += "-dirty" - return rendered - - -def render(pieces, style): - """Render the given version pieces into the requested style.""" - if pieces["error"]: - return {"version": "unknown", - "full-revisionid": pieces.get("long"), - "dirty": None, - "error": pieces["error"], - "date": None} - - if not style or style == "default": - style = "pep440" # the default - - if style == "pep440": - rendered = render_pep440(pieces) - elif style == "pep440-branch": - rendered = render_pep440_branch(pieces) - elif style == "pep440-pre": - rendered = render_pep440_pre(pieces) - elif style == "pep440-post": - rendered = render_pep440_post(pieces) - elif style == "pep440-post-branch": - rendered = render_pep440_post_branch(pieces) - elif style == "pep440-old": - rendered = render_pep440_old(pieces) - elif style == "git-describe": - rendered = render_git_describe(pieces) - elif style == "git-describe-long": - rendered = render_git_describe_long(pieces) - else: - raise ValueError("unknown style '%s'" % style) - - return {"version": rendered, "full-revisionid": pieces["long"], - "dirty": pieces["dirty"], "error": None, - "date": pieces.get("date")} - - -class VersioneerBadRootError(Exception): - """The project root directory is unknown or missing key files.""" - - -def get_versions(verbose=False): - """Get the project version from whatever source is available. - - Returns dict with two keys: 'version' and 'full'. - """ - if "versioneer" in sys.modules: - # see the discussion in cmdclass.py:get_cmdclass() - del sys.modules["versioneer"] - - root = get_root() - cfg = get_config_from_root(root) - - assert cfg.VCS is not None, "please set [versioneer]VCS= in setup.cfg" - handlers = HANDLERS.get(cfg.VCS) - assert handlers, "unrecognized VCS '%s'" % cfg.VCS - verbose = verbose or cfg.verbose - assert cfg.versionfile_source is not None, \ - "please set versioneer.versionfile_source" - assert cfg.tag_prefix is not None, "please set versioneer.tag_prefix" - - versionfile_abs = os.path.join(root, cfg.versionfile_source) - - # extract version from first of: _version.py, VCS command (e.g. 'git - # describe'), parentdir. This is meant to work for developers using a - # source checkout, for users of a tarball created by 'setup.py sdist', - # and for users of a tarball/zipball created by 'git archive' or github's - # download-from-tag feature or the equivalent in other VCSes. - - get_keywords_f = handlers.get("get_keywords") - from_keywords_f = handlers.get("keywords") - if get_keywords_f and from_keywords_f: - try: - keywords = get_keywords_f(versionfile_abs) - ver = from_keywords_f(keywords, cfg.tag_prefix, verbose) - if verbose: - print("got version from expanded keyword %s" % ver) - return ver - except NotThisMethod: - pass - - try: - ver = versions_from_file(versionfile_abs) - if verbose: - print("got version from file %s %s" % (versionfile_abs, ver)) - return ver - except NotThisMethod: - pass - - from_vcs_f = handlers.get("pieces_from_vcs") - if from_vcs_f: - try: - pieces = from_vcs_f(cfg.tag_prefix, root, verbose) - ver = render(pieces, cfg.style) - if verbose: - print("got version from VCS %s" % ver) - return ver - except NotThisMethod: - pass - - try: - if cfg.parentdir_prefix: - ver = versions_from_parentdir(cfg.parentdir_prefix, root, verbose) - if verbose: - print("got version from parentdir %s" % ver) - return ver - except NotThisMethod: - pass - - if verbose: - print("unable to compute version") - - return {"version": "0+unknown", "full-revisionid": None, - "dirty": None, "error": "unable to compute version", - "date": None} - - -def get_version(): - """Get the short version string for this project.""" - return get_versions()["version"] - - -def get_cmdclass(cmdclass=None): - """Get the custom setuptools/distutils subclasses used by Versioneer. - - If the package uses a different cmdclass (e.g. one from numpy), it - should be provide as an argument. - """ - if "versioneer" in sys.modules: - del sys.modules["versioneer"] - # this fixes the "python setup.py develop" case (also 'install' and - # 'easy_install .'), in which subdependencies of the main project are - # built (using setup.py bdist_egg) in the same python process. Assume - # a main project A and a dependency B, which use different versions - # of Versioneer. A's setup.py imports A's Versioneer, leaving it in - # sys.modules by the time B's setup.py is executed, causing B to run - # with the wrong versioneer. Setuptools wraps the sub-dep builds in a - # sandbox that restores sys.modules to it's pre-build state, so the - # parent is protected against the child's "import versioneer". By - # removing ourselves from sys.modules here, before the child build - # happens, we protect the child from the parent's versioneer too. - # Also see https://github.com/python-versioneer/python-versioneer/issues/52 - - cmds = {} if cmdclass is None else cmdclass.copy() - - # we add "version" to both distutils and setuptools - from distutils.core import Command - - class cmd_version(Command): - description = "report generated version string" - user_options = [] - boolean_options = [] - - def initialize_options(self): - pass - - def finalize_options(self): - pass - - def run(self): - vers = get_versions(verbose=True) - print("Version: %s" % vers["version"]) - print(" full-revisionid: %s" % vers.get("full-revisionid")) - print(" dirty: %s" % vers.get("dirty")) - print(" date: %s" % vers.get("date")) - if vers["error"]: - print(" error: %s" % vers["error"]) - cmds["version"] = cmd_version - - # we override "build_py" in both distutils and setuptools - # - # most invocation pathways end up running build_py: - # distutils/build -> build_py - # distutils/install -> distutils/build ->.. - # setuptools/bdist_wheel -> distutils/install ->.. - # setuptools/bdist_egg -> distutils/install_lib -> build_py - # setuptools/install -> bdist_egg ->.. - # setuptools/develop -> ? - # pip install: - # copies source tree to a tempdir before running egg_info/etc - # if .git isn't copied too, 'git describe' will fail - # then does setup.py bdist_wheel, or sometimes setup.py install - # setup.py egg_info -> ? - - # we override different "build_py" commands for both environments - if 'build_py' in cmds: - _build_py = cmds['build_py'] - elif "setuptools" in sys.modules: - from setuptools.command.build_py import build_py as _build_py - else: - from distutils.command.build_py import build_py as _build_py - - class cmd_build_py(_build_py): - def run(self): - root = get_root() - cfg = get_config_from_root(root) - versions = get_versions() - _build_py.run(self) - # now locate _version.py in the new build/ directory and replace - # it with an updated value - if cfg.versionfile_build: - target_versionfile = os.path.join(self.build_lib, - cfg.versionfile_build) - print("UPDATING %s" % target_versionfile) - write_to_version_file(target_versionfile, versions) - cmds["build_py"] = cmd_build_py - - if 'build_ext' in cmds: - _build_ext = cmds['build_ext'] - elif "setuptools" in sys.modules: - from setuptools.command.build_ext import build_ext as _build_ext - else: - from distutils.command.build_ext import build_ext as _build_ext - - class cmd_build_ext(_build_ext): - def run(self): - root = get_root() - cfg = get_config_from_root(root) - versions = get_versions() - _build_ext.run(self) - if self.inplace: - # build_ext --inplace will only build extensions in - # build/lib<..> dir with no _version.py to write to. - # As in place builds will already have a _version.py - # in the module dir, we do not need to write one. - return - # now locate _version.py in the new build/ directory and replace - # it with an updated value - target_versionfile = os.path.join(self.build_lib, - cfg.versionfile_build) - print("UPDATING %s" % target_versionfile) - write_to_version_file(target_versionfile, versions) - cmds["build_ext"] = cmd_build_ext - - if "cx_Freeze" in sys.modules: # cx_freeze enabled? - from cx_Freeze.dist import build_exe as _build_exe - # nczeczulin reports that py2exe won't like the pep440-style string - # as FILEVERSION, but it can be used for PRODUCTVERSION, e.g. - # setup(console=[{ - # "version": versioneer.get_version().split("+", 1)[0], # FILEVERSION - # "product_version": versioneer.get_version(), - # ... - - class cmd_build_exe(_build_exe): - def run(self): - root = get_root() - cfg = get_config_from_root(root) - versions = get_versions() - target_versionfile = cfg.versionfile_source - print("UPDATING %s" % target_versionfile) - write_to_version_file(target_versionfile, versions) - - _build_exe.run(self) - os.unlink(target_versionfile) - with open(cfg.versionfile_source, "w") as f: - LONG = LONG_VERSION_PY[cfg.VCS] - f.write(LONG % - {"DOLLAR": "$", - "STYLE": cfg.style, - "TAG_PREFIX": cfg.tag_prefix, - "PARENTDIR_PREFIX": cfg.parentdir_prefix, - "VERSIONFILE_SOURCE": cfg.versionfile_source, - }) - cmds["build_exe"] = cmd_build_exe - del cmds["build_py"] - - if 'py2exe' in sys.modules: # py2exe enabled? - from py2exe.distutils_buildexe import py2exe as _py2exe - - class cmd_py2exe(_py2exe): - def run(self): - root = get_root() - cfg = get_config_from_root(root) - versions = get_versions() - target_versionfile = cfg.versionfile_source - print("UPDATING %s" % target_versionfile) - write_to_version_file(target_versionfile, versions) - - _py2exe.run(self) - os.unlink(target_versionfile) - with open(cfg.versionfile_source, "w") as f: - LONG = LONG_VERSION_PY[cfg.VCS] - f.write(LONG % - {"DOLLAR": "$", - "STYLE": cfg.style, - "TAG_PREFIX": cfg.tag_prefix, - "PARENTDIR_PREFIX": cfg.parentdir_prefix, - "VERSIONFILE_SOURCE": cfg.versionfile_source, - }) - cmds["py2exe"] = cmd_py2exe - - # we override different "sdist" commands for both environments - if 'sdist' in cmds: - _sdist = cmds['sdist'] - elif "setuptools" in sys.modules: - from setuptools.command.sdist import sdist as _sdist - else: - from distutils.command.sdist import sdist as _sdist - - class cmd_sdist(_sdist): - def run(self): - versions = get_versions() - self._versioneer_generated_versions = versions - # unless we update this, the command will keep using the old - # version - self.distribution.metadata.version = versions["version"] - return _sdist.run(self) - - def make_release_tree(self, base_dir, files): - root = get_root() - cfg = get_config_from_root(root) - _sdist.make_release_tree(self, base_dir, files) - # now locate _version.py in the new base_dir directory - # (remembering that it may be a hardlink) and replace it with an - # updated value - target_versionfile = os.path.join(base_dir, cfg.versionfile_source) - print("UPDATING %s" % target_versionfile) - write_to_version_file(target_versionfile, - self._versioneer_generated_versions) - cmds["sdist"] = cmd_sdist - - return cmds - - -CONFIG_ERROR = """ -setup.cfg is missing the necessary Versioneer configuration. You need -a section like: - - [versioneer] - VCS = git - style = pep440 - versionfile_source = src/myproject/_version.py - versionfile_build = myproject/_version.py - tag_prefix = - parentdir_prefix = myproject- - -You will also need to edit your setup.py to use the results: - - import versioneer - setup(version=versioneer.get_version(), - cmdclass=versioneer.get_cmdclass(), ...) - -Please read the docstring in ./versioneer.py for configuration instructions, -edit setup.cfg, and re-run the installer or 'python versioneer.py setup'. -""" - -SAMPLE_CONFIG = """ -# See the docstring in versioneer.py for instructions. Note that you must -# re-run 'versioneer.py setup' after changing this section, and commit the -# resulting files. - -[versioneer] -#VCS = git -#style = pep440 -#versionfile_source = -#versionfile_build = -#tag_prefix = -#parentdir_prefix = - -""" - -OLD_SNIPPET = """ -from ._version import get_versions -__version__ = get_versions()['version'] -del get_versions -""" - -INIT_PY_SNIPPET = """ -from . import {0} -__version__ = {0}.get_versions()['version'] -""" - - -def do_setup(): - """Do main VCS-independent setup function for installing Versioneer.""" - root = get_root() - try: - cfg = get_config_from_root(root) - except (OSError, configparser.NoSectionError, - configparser.NoOptionError) as e: - if isinstance(e, (OSError, configparser.NoSectionError)): - print("Adding sample versioneer config to setup.cfg", - file=sys.stderr) - with open(os.path.join(root, "setup.cfg"), "a") as f: - f.write(SAMPLE_CONFIG) - print(CONFIG_ERROR, file=sys.stderr) - return 1 - - print(" creating %s" % cfg.versionfile_source) - with open(cfg.versionfile_source, "w") as f: - LONG = LONG_VERSION_PY[cfg.VCS] - f.write(LONG % {"DOLLAR": "$", - "STYLE": cfg.style, - "TAG_PREFIX": cfg.tag_prefix, - "PARENTDIR_PREFIX": cfg.parentdir_prefix, - "VERSIONFILE_SOURCE": cfg.versionfile_source, - }) - - ipy = os.path.join(os.path.dirname(cfg.versionfile_source), - "__init__.py") - if os.path.exists(ipy): - try: - with open(ipy, "r") as f: - old = f.read() - except OSError: - old = "" - module = os.path.splitext(os.path.basename(cfg.versionfile_source))[0] - snippet = INIT_PY_SNIPPET.format(module) - if OLD_SNIPPET in old: - print(" replacing boilerplate in %s" % ipy) - with open(ipy, "w") as f: - f.write(old.replace(OLD_SNIPPET, snippet)) - elif snippet not in old: - print(" appending to %s" % ipy) - with open(ipy, "a") as f: - f.write(snippet) - else: - print(" %s unmodified" % ipy) - else: - print(" %s doesn't exist, ok" % ipy) - ipy = None - - # Make sure both the top-level "versioneer.py" and versionfile_source - # (PKG/_version.py, used by runtime code) are in MANIFEST.in, so - # they'll be copied into source distributions. Pip won't be able to - # install the package without this. - manifest_in = os.path.join(root, "MANIFEST.in") - simple_includes = set() - try: - with open(manifest_in, "r") as f: - for line in f: - if line.startswith("include "): - for include in line.split()[1:]: - simple_includes.add(include) - except OSError: - pass - # That doesn't cover everything MANIFEST.in can do - # (http://docs.python.org/2/distutils/sourcedist.html#commands), so - # it might give some false negatives. Appending redundant 'include' - # lines is safe, though. - if "versioneer.py" not in simple_includes: - print(" appending 'versioneer.py' to MANIFEST.in") - with open(manifest_in, "a") as f: - f.write("include versioneer.py\n") - else: - print(" 'versioneer.py' already in MANIFEST.in") - if cfg.versionfile_source not in simple_includes: - print(" appending versionfile_source ('%s') to MANIFEST.in" % - cfg.versionfile_source) - with open(manifest_in, "a") as f: - f.write("include %s\n" % cfg.versionfile_source) - else: - print(" versionfile_source already in MANIFEST.in") - - # Make VCS-specific changes. For git, this means creating/changing - # .gitattributes to mark _version.py for export-subst keyword - # substitution. - do_vcs_install(manifest_in, cfg.versionfile_source, ipy) - return 0 - - -def scan_setup_py(): - """Validate the contents of setup.py against Versioneer's expectations.""" - found = set() - setters = False - errors = 0 - with open("setup.py", "r") as f: - for line in f.readlines(): - if "import versioneer" in line: - found.add("import") - if "versioneer.get_cmdclass()" in line: - found.add("cmdclass") - if "versioneer.get_version()" in line: - found.add("get_version") - if "versioneer.VCS" in line: - setters = True - if "versioneer.versionfile_source" in line: - setters = True - if len(found) != 3: - print("") - print("Your setup.py appears to be missing some important items") - print("(but I might be wrong). Please make sure it has something") - print("roughly like the following:") - print("") - print(" import versioneer") - print(" setup( version=versioneer.get_version(),") - print(" cmdclass=versioneer.get_cmdclass(), ...)") - print("") - errors += 1 - if setters: - print("You should remove lines like 'versioneer.VCS = ' and") - print("'versioneer.versionfile_source = ' . This configuration") - print("now lives in setup.cfg, and should be removed from setup.py") - print("") - errors += 1 - return errors - - -if __name__ == "__main__": - cmd = sys.argv[1] - if cmd == "setup": - errors = do_setup() - errors += scan_setup_py() - if errors: - sys.exit(1) From 18e95bc47ad1f0fe7c55034db84a71698a0ef37a Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 14 Nov 2023 12:01:16 -0800 Subject: [PATCH 162/195] update install instructions --- docs/source/installation.myst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/source/installation.myst b/docs/source/installation.myst index cd3ea7c..b82bebf 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -24,7 +24,9 @@ conda create --name islp python ``` Current conda should have this at least 3.9. If not, replace `python` -with `python=3.10` or some other more recent version. To run python +with `python=3.10` or `python=3.11`. The newest version `python=3.12` is not +currently supported as some packages, such as `torch` are not installable. +To run python code in this environment, you must activate it: ```{code-cell} ipython3 From 3ebd2394d1352e6eae4ec8dd42be7979ee6354c7 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Thu, 18 Jan 2024 10:44:46 -0800 Subject: [PATCH 163/195] ensuring boolean columns get cast to float for statsmodels --- ISLP/models/model_spec.py | 12 ++++++++---- tests/models/test_boolean_columns.py | 23 +++++++++++++++++++++++ 2 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 tests/models/test_boolean_columns.py diff --git a/ISLP/models/model_spec.py b/ISLP/models/model_spec.py index 07a8b88..983a85d 100644 --- a/ISLP/models/model_spec.py +++ b/ISLP/models/model_spec.py @@ -107,7 +107,6 @@ def fit(self, X, y=None): cats = self.encoder_.categories_[0] column_names = [str(n) for n in cats] - if isinstance(X, pd.DataFrame): # expecting a column, we take .iloc[:,0] X = X.iloc[:,0] @@ -635,18 +634,23 @@ def build_model(column_info, if isinstance(X, (pd.Series, pd.DataFrame)): df = pd.concat(dfs, axis=1) df.index = X.index - return df else: - return np.column_stack(dfs) + return np.column_stack(dfs).astype(float) else: # return a 0 design zero = np.zeros(X.shape[0]) if isinstance(X, (pd.Series, pd.DataFrame)): df = pd.DataFrame({'zero': zero}) df.index = X.index - return df else: return zero + # if we reach here, we will be returning a DataFrame + + for col in df.columns: + if df[col].dtype == bool: + df[col] = df[col].astype(float) + return df + def derived_feature(variables, encoder=None, name=None, use_transform=True): """ Create a Feature, optionally diff --git a/tests/models/test_boolean_columns.py b/tests/models/test_boolean_columns.py new file mode 100644 index 0000000..7b5a429 --- /dev/null +++ b/tests/models/test_boolean_columns.py @@ -0,0 +1,23 @@ +import pandas as pd +import statsmodels.api as sm +import numpy as np +from itertools import combinations + +from ISLP.models import ModelSpec as MS + +rng = np.random.default_rng(0) + +df = pd.DataFrame({'A':rng.standard_normal(10), + 'B':np.array([1,2,3,2,1,1,1,3,2,1], int), + 'C':np.array([True,False,False,True,True]*2, bool), + 'D':rng.standard_normal(10)}) +Y = rng.standard_normal(10) + +def test_all(): + + for i in range(1, 5): + for comb in combinations(['A','B','C','D'], i): + + X = MS(comb).fit_transform(df) + sm.OLS(Y, X).fit() + From f265fc758ecefdcb42a9413ad124372a1613a8fd Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Thu, 18 Jan 2024 10:48:07 -0800 Subject: [PATCH 164/195] updating version --- docs/source/docs_version.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/docs_version.json b/docs/source/docs_version.json index d58fc64..e4d5788 100644 --- a/docs/source/docs_version.json +++ b/docs/source/docs_version.json @@ -1,4 +1,4 @@ {"labs": "v2.1.3", - "library": "v0.3.20", - "comment":"labs should be version of ISLP pointed to in ISLP_labs/README.md, library version should be explicitly marked in ISLP_labs/requirements.txt" + "library": "v0.3.22", + "comment":"labs should be version of ISLP pointed to in ISLP_labs/README.md, library version should be explicitly marked in ISLP_labs/requirements.txt; don't forget to strip warnings!!!!!!!!" } From 97fb1fe91d46fe57294b7f0fc1bf7eb817a96446 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Thu, 18 Jan 2024 11:49:35 -0800 Subject: [PATCH 165/195] Setup work (#18) * ensuring boolean columns get cast to float for statsmodels * editing setup files, cleanup * commenting out info * cleanup of setup.py * use iloc for float conversion in case there are duplicate columnes --- ISLP/info.py | 83 --------------------------------------- ISLP/models/model_spec.py | 11 +++--- pyproject.toml | 6 ++- setup.cfg | 3 ++ setup.py | 62 ++--------------------------- 5 files changed, 17 insertions(+), 148 deletions(-) delete mode 100644 ISLP/info.py diff --git a/ISLP/info.py b/ISLP/info.py deleted file mode 100644 index 870c1e9..0000000 --- a/ISLP/info.py +++ /dev/null @@ -1,83 +0,0 @@ -""" This file contains defines parameters for regreg that we use to fill -settings in setup.py, the regreg top-level docstring, and for building the docs. -In setup.py in particular, we exec this file, so it cannot import regreg -""" - -# regreg version information. An empty _version_extra corresponds to a -# full release. '.dev' as a _version_extra string means this is a development -# version -_version_major = 0 -_version_minor = 2 -_version_micro = 0 -_version_extra = '' - -# Format expected by setup.py and doc/source/conf.py: string of form "X.Y.Z" -__version__ = "%s.%s.%s%s" % (_version_major, - _version_minor, - _version_micro, - _version_extra) - -CLASSIFIERS = ["Development Status :: 3 - Alpha", - "Environment :: Console", - "Intended Audience :: Science/Research", - "License :: OSI Approved :: BSD License", - "Operating System :: OS Independent", - "Programming Language :: Python", - "Topic :: Scientific/Engineering"] - -description = 'Library for ISLP labs' - -# Note: this long_description is actually a copy/paste from the top-level -# README.txt, so that it shows up nicely on PyPI. So please remember to edit -# it only in one place and sync it correctly. -long_description = \ -""" -============ -Fixed lambda -============ - -This mini-package contains a module to perform -a fixed lambda test for the LASSO. -""" - -# versions -NUMPY_MIN_VERSION='1.7.1' -SCIPY_MIN_VERSION = '0.9' -PANDAS_MIN_VERSION = "0.20" -PANDAS_MAX_VERSION = "1.9" -SKLEARN_MIN_VERSION = '1.2' -STATSMODELS_MIN_VERSION = '0.13' -MATPLOTLIB_MIN_VERSION = '3.3.3' - -NAME = 'ISLP' -MAINTAINER = "Jonathan Taylor" -MAINTAINER_EMAIL = "" -DESCRIPTION = description -LONG_DESCRIPTION = long_description -URL = "http://github.org/intro-stat-learning/ISLP" -DOWNLOAD_URL = "" -LICENSE = "BSD license" -CLASSIFIERS = CLASSIFIERS -AUTHOR = "ISLP authors" -AUTHOR_EMAIL = "" -PLATFORMS = "OS Independent" -MAJOR = _version_major -MINOR = _version_minor -MICRO = _version_micro -ISRELEASE = _version_extra == '' -VERSION = __version__ -STATUS = 'alpha' -PROVIDES = [] -REQUIRES = ["numpy (>=%s)" % NUMPY_MIN_VERSION, - "scipy (>=%s)" % SCIPY_MIN_VERSION, - "statsmodels (>=%s)" % STATSMODELS_MIN_VERSION, - "pandas (>=%s)" % PANDAS_MIN_VERSION, - "pandas (<=%s)" % PANDAS_MAX_VERSION, - "sklearn (>=%s)" % SKLEARN_MIN_VERSION, - "lifelines", - "joblib", - "pygam", - "torch", - "torchmetrics", - "pytorch_lightning" - ] diff --git a/ISLP/models/model_spec.py b/ISLP/models/model_spec.py index 983a85d..ce09e01 100644 --- a/ISLP/models/model_spec.py +++ b/ISLP/models/model_spec.py @@ -632,7 +632,7 @@ def build_model(column_info, if len(dfs): if isinstance(X, (pd.Series, pd.DataFrame)): - df = pd.concat(dfs, axis=1) + df = pd.concat(dfs, axis='columns') df.index = X.index else: return np.column_stack(dfs).astype(float) @@ -645,10 +645,11 @@ def build_model(column_info, return zero # if we reach here, we will be returning a DataFrame - - for col in df.columns: - if df[col].dtype == bool: - df[col] = df[col].astype(float) + # make sure all columns are floats + + for i, _ in enumerate(df.columns): + if df.iloc[:,i].dtype == bool: + df.iloc[:,i] = df.iloc[:,i].astype(float) return df def derived_feature(variables, encoder=None, name=None, use_transform=True): diff --git a/pyproject.toml b/pyproject.toml index b94fdf7..e0359ad 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "ISLP" -version = "0.3.21" +version = "0.3.22" dependencies = ["numpy>=1.7.1,<1.25", # max version for numba "scipy>=0.9", "pandas>=0.20,<=1.9", @@ -37,6 +37,7 @@ classifiers = ["Development Status :: 3 - Alpha", "Programming Language :: Python", "Topic :: Scientific/Engineering" ] + [project.urls] # Optional "Homepage" = "https://github.com/intro-stat-learning/ISLP" "Bug Reports" = "https://github.com/intro-stat-learning/ISLP/issues" @@ -44,6 +45,9 @@ classifiers = ["Development Status :: 3 - Alpha", "Say Thanks!" = "http://saythanks.io/to/example" "Source" = "https://github.com/pypa/sampleproject/" +[project.optional-dependencies] +doc = ['Sphinx>=3.0'] + [build-system] requires = ["setuptools>=42", "wheel", diff --git a/setup.cfg b/setup.cfg index 14d7ccd..4a6f58e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -4,3 +4,6 @@ style = pep440 versionfile_source = ISLP/_version.py tag_prefix = parentdir_prefix = ISLP- + +[metadata] +license_files = LICENSE.txt \ No newline at end of file diff --git a/setup.py b/setup.py index 688c9c0..bf51c2e 100755 --- a/setup.py +++ b/setup.py @@ -16,74 +16,18 @@ from setuptools import setup -# Get various parameters for this version, stored in ISLP/info.py - -class Bunch(object): - def __init__(self, vars): - for key, name in vars.items(): - if key.startswith('__'): - continue - self.__dict__[key] = name - -def read_vars_from(ver_file): - """ Read variables from Python text file - - Parameters - ---------- - ver_file : str - Filename of file to read - - Returns - ------- - info_vars : Bunch instance - Bunch object where variables read from `ver_file` appear as - attributes - """ - # Use exec for compabibility with Python 3 - ns = {} - with open(ver_file, 'rt') as fobj: - exec(fobj.read(), ns) - return Bunch(ns) - -info = read_vars_from(pjoin('ISLP', 'info.py')) - -# Try to preempt setuptools monkeypatching of Extension handling when Pyrex -# is missing. Otherwise the monkeypatched Extension will change .pyx -# filenames to .c filenames, and we probably don't have the .c files. -sys.path.insert(0, pjoin(dirname(__file__), 'fake_pyrex')) -# Set setuptools extra arguments -extra_setuptools_args = dict( - tests_require=['nose'], - test_suite='nose.collector', - zip_safe=False, - extras_require = dict( - doc=['Sphinx>=1.0'], - test=['nose>=0.10.1'])) # Define extensions EXTS = [] -cmdclass=versioneer.get_cmdclass() +cmdclass = versioneer.get_cmdclass() # get long_description long_description = open('README.md', 'rt', encoding='utf-8').read() def main(**extra_args): - setup(name=info.NAME, - maintainer=info.MAINTAINER, - maintainer_email=info.MAINTAINER_EMAIL, - description=info.DESCRIPTION, - url=info.URL, - download_url=info.DOWNLOAD_URL, - license=info.LICENSE, - classifiers=info.CLASSIFIERS, - author=info.AUTHOR, - author_email=info.AUTHOR_EMAIL, - platforms=info.PLATFORMS, - version=versioneer.get_version(), - requires=info.REQUIRES, - provides=info.PROVIDES, + setup(version=versioneer.get_version(), packages = ['ISLP', 'ISLP.models', 'ISLP.models', @@ -104,4 +48,4 @@ def main(**extra_args): #simple way to test what setup will do #python setup.py install --prefix=/tmp if __name__ == "__main__": - main(**extra_setuptools_args) + main() From ee2298651576de0b97e15f5d4c446580d426fd58 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Thu, 18 Jan 2024 11:53:11 -0800 Subject: [PATCH 166/195] incrementing lab version --- docs/source/docs_version.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/docs_version.json b/docs/source/docs_version.json index e4d5788..f91228e 100644 --- a/docs/source/docs_version.json +++ b/docs/source/docs_version.json @@ -1,4 +1,4 @@ -{"labs": "v2.1.3", +{"labs": "v2.1.4", "library": "v0.3.22", "comment":"labs should be version of ISLP pointed to in ISLP_labs/README.md, library version should be explicitly marked in ISLP_labs/requirements.txt; don't forget to strip warnings!!!!!!!!" } From 8fbadc70eeada7d3aa43183a029558bc7bdaed6a Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Thu, 18 Jan 2024 12:13:19 -0800 Subject: [PATCH 167/195] fix versioneer --- ISLP/_version.py | 121 +++++++++++++++++++++++++++++++---------------- pyproject.toml | 10 +++- setup.cfg | 6 --- 3 files changed, 89 insertions(+), 48 deletions(-) diff --git a/ISLP/_version.py b/ISLP/_version.py index 9b01ea2..c2d7406 100644 --- a/ISLP/_version.py +++ b/ISLP/_version.py @@ -5,8 +5,9 @@ # directories (produced by setup.py build) will contain a much shorter file # that just contains the computed version number. -# This file is released into the public domain. Generated by -# versioneer-0.21 (https://github.com/python-versioneer/python-versioneer) +# This file is released into the public domain. +# Generated by versioneer-0.29 +# https://github.com/python-versioneer/python-versioneer """Git implementation of _version.py.""" @@ -15,10 +16,11 @@ import re import subprocess import sys -from typing import Callable, Dict +from typing import Any, Callable, Dict, List, Optional, Tuple +import functools -def get_keywords(): +def get_keywords() -> Dict[str, str]: """Get the keywords needed to look up the version information.""" # these strings will be replaced by git during git-archive. # setup.py/versioneer.py will grep for the variable names, so they must @@ -34,8 +36,15 @@ def get_keywords(): class VersioneerConfig: """Container for Versioneer configuration parameters.""" + VCS: str + style: str + tag_prefix: str + parentdir_prefix: str + versionfile_source: str + verbose: bool -def get_config(): + +def get_config() -> VersioneerConfig: """Create, populate and return the VersioneerConfig() object.""" # these strings are filled in when 'setup.py versioneer' creates # _version.py @@ -57,9 +66,9 @@ class NotThisMethod(Exception): HANDLERS: Dict[str, Dict[str, Callable]] = {} -def register_vcs_handler(vcs, method): # decorator +def register_vcs_handler(vcs: str, method: str) -> Callable: # decorator """Create decorator to mark a method as the handler of a VCS.""" - def decorate(f): + def decorate(f: Callable) -> Callable: """Store f in HANDLERS[vcs][method].""" if vcs not in HANDLERS: HANDLERS[vcs] = {} @@ -68,11 +77,25 @@ def decorate(f): return decorate -def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, - env=None): +def run_command( + commands: List[str], + args: List[str], + cwd: Optional[str] = None, + verbose: bool = False, + hide_stderr: bool = False, + env: Optional[Dict[str, str]] = None, +) -> Tuple[Optional[str], Optional[int]]: """Call the given command(s).""" assert isinstance(commands, list) process = None + + popen_kwargs: Dict[str, Any] = {} + if sys.platform == "win32": + # This hides the console window if pythonw.exe is used + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + popen_kwargs["startupinfo"] = startupinfo + for command in commands: try: dispcmd = str([command] + args) @@ -80,10 +103,9 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, process = subprocess.Popen([command] + args, cwd=cwd, env=env, stdout=subprocess.PIPE, stderr=(subprocess.PIPE if hide_stderr - else None)) + else None), **popen_kwargs) break - except OSError: - e = sys.exc_info()[1] + except OSError as e: if e.errno == errno.ENOENT: continue if verbose: @@ -103,7 +125,11 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, return stdout, process.returncode -def versions_from_parentdir(parentdir_prefix, root, verbose): +def versions_from_parentdir( + parentdir_prefix: str, + root: str, + verbose: bool, +) -> Dict[str, Any]: """Try to determine the version from the parent directory name. Source tarballs conventionally unpack into a directory that includes both @@ -128,13 +154,13 @@ def versions_from_parentdir(parentdir_prefix, root, verbose): @register_vcs_handler("git", "get_keywords") -def git_get_keywords(versionfile_abs): +def git_get_keywords(versionfile_abs: str) -> Dict[str, str]: """Extract version information from the given file.""" # the code embedded in _version.py can just fetch the value of these # keywords. When used from setup.py, we don't want to import _version.py, # so we do it with a regexp instead. This function is not used from # _version.py. - keywords = {} + keywords: Dict[str, str] = {} try: with open(versionfile_abs, "r") as fobj: for line in fobj: @@ -156,7 +182,11 @@ def git_get_keywords(versionfile_abs): @register_vcs_handler("git", "keywords") -def git_versions_from_keywords(keywords, tag_prefix, verbose): +def git_versions_from_keywords( + keywords: Dict[str, str], + tag_prefix: str, + verbose: bool, +) -> Dict[str, Any]: """Get version information from git keywords.""" if "refnames" not in keywords: raise NotThisMethod("Short version file found") @@ -220,7 +250,12 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): @register_vcs_handler("git", "pieces_from_vcs") -def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): +def git_pieces_from_vcs( + tag_prefix: str, + root: str, + verbose: bool, + runner: Callable = run_command +) -> Dict[str, Any]: """Get version from 'git describe' in the root of the source tree. This only gets called if the git-archive 'subst' keywords were *not* @@ -228,13 +263,18 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): version string, meaning we're inside a checked out source tree. """ GITS = ["git"] - TAG_PREFIX_REGEX = "*" if sys.platform == "win32": GITS = ["git.cmd", "git.exe"] - TAG_PREFIX_REGEX = r"\*" + + # GIT_DIR can interfere with correct operation of Versioneer. + # It may be intended to be passed to the Versioneer-versioned project, + # but that should not change where we get our version from. + env = os.environ.copy() + env.pop("GIT_DIR", None) + runner = functools.partial(runner, env=env) _, rc = runner(GITS, ["rev-parse", "--git-dir"], cwd=root, - hide_stderr=True) + hide_stderr=not verbose) if rc != 0: if verbose: print("Directory %s not under git control" % root) @@ -242,11 +282,10 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] # if there isn't one, this yields HEX[-dirty] (no NUM) - describe_out, rc = runner(GITS, ["describe", "--tags", "--dirty", - "--always", "--long", - "--match", - "%s%s" % (tag_prefix, TAG_PREFIX_REGEX)], - cwd=root) + describe_out, rc = runner(GITS, [ + "describe", "--tags", "--dirty", "--always", "--long", + "--match", f"{tag_prefix}[[:digit:]]*" + ], cwd=root) # --long was added in git-1.5.5 if describe_out is None: raise NotThisMethod("'git describe' failed") @@ -256,7 +295,7 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): raise NotThisMethod("'git rev-parse' failed") full_out = full_out.strip() - pieces = {} + pieces: Dict[str, Any] = {} pieces["long"] = full_out pieces["short"] = full_out[:7] # maybe improved later pieces["error"] = None @@ -335,8 +374,8 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): else: # HEX: no tags pieces["closest-tag"] = None - count_out, rc = runner(GITS, ["rev-list", "HEAD", "--count"], cwd=root) - pieces["distance"] = int(count_out) # total number of commits + out, rc = runner(GITS, ["rev-list", "HEAD", "--left-right"], cwd=root) + pieces["distance"] = len(out.split()) # total number of commits # commit date: see ISO-8601 comment in git_versions_from_keywords() date = runner(GITS, ["show", "-s", "--format=%ci", "HEAD"], cwd=root)[0].strip() @@ -348,14 +387,14 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): return pieces -def plus_or_dot(pieces): +def plus_or_dot(pieces: Dict[str, Any]) -> str: """Return a + if we don't already have one, else return a .""" if "+" in pieces.get("closest-tag", ""): return "." return "+" -def render_pep440(pieces): +def render_pep440(pieces: Dict[str, Any]) -> str: """Build up version string, with post-release "local version identifier". Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you @@ -380,7 +419,7 @@ def render_pep440(pieces): return rendered -def render_pep440_branch(pieces): +def render_pep440_branch(pieces: Dict[str, Any]) -> str: """TAG[[.dev0]+DISTANCE.gHEX[.dirty]] . The ".dev0" means not master branch. Note that .dev0 sorts backwards @@ -410,7 +449,7 @@ def render_pep440_branch(pieces): return rendered -def pep440_split_post(ver): +def pep440_split_post(ver: str) -> Tuple[str, Optional[int]]: """Split pep440 version string at the post-release segment. Returns the release segments before the post-release and the @@ -420,7 +459,7 @@ def pep440_split_post(ver): return vc[0], int(vc[1] or 0) if len(vc) == 2 else None -def render_pep440_pre(pieces): +def render_pep440_pre(pieces: Dict[str, Any]) -> str: """TAG[.postN.devDISTANCE] -- No -dirty. Exceptions: @@ -432,7 +471,7 @@ def render_pep440_pre(pieces): tag_version, post_version = pep440_split_post(pieces["closest-tag"]) rendered = tag_version if post_version is not None: - rendered += ".post%d.dev%d" % (post_version+1, pieces["distance"]) + rendered += ".post%d.dev%d" % (post_version + 1, pieces["distance"]) else: rendered += ".post0.dev%d" % (pieces["distance"]) else: @@ -444,7 +483,7 @@ def render_pep440_pre(pieces): return rendered -def render_pep440_post(pieces): +def render_pep440_post(pieces: Dict[str, Any]) -> str: """TAG[.postDISTANCE[.dev0]+gHEX] . The ".dev0" means dirty. Note that .dev0 sorts backwards @@ -471,7 +510,7 @@ def render_pep440_post(pieces): return rendered -def render_pep440_post_branch(pieces): +def render_pep440_post_branch(pieces: Dict[str, Any]) -> str: """TAG[.postDISTANCE[.dev0]+gHEX[.dirty]] . The ".dev0" means not master branch. @@ -500,7 +539,7 @@ def render_pep440_post_branch(pieces): return rendered -def render_pep440_old(pieces): +def render_pep440_old(pieces: Dict[str, Any]) -> str: """TAG[.postDISTANCE[.dev0]] . The ".dev0" means dirty. @@ -522,7 +561,7 @@ def render_pep440_old(pieces): return rendered -def render_git_describe(pieces): +def render_git_describe(pieces: Dict[str, Any]) -> str: """TAG[-DISTANCE-gHEX][-dirty]. Like 'git describe --tags --dirty --always'. @@ -542,7 +581,7 @@ def render_git_describe(pieces): return rendered -def render_git_describe_long(pieces): +def render_git_describe_long(pieces: Dict[str, Any]) -> str: """TAG-DISTANCE-gHEX[-dirty]. Like 'git describe --tags --dirty --always -long'. @@ -562,7 +601,7 @@ def render_git_describe_long(pieces): return rendered -def render(pieces, style): +def render(pieces: Dict[str, Any], style: str) -> Dict[str, Any]: """Render the given version pieces into the requested style.""" if pieces["error"]: return {"version": "unknown", @@ -598,7 +637,7 @@ def render(pieces, style): "date": pieces.get("date")} -def get_versions(): +def get_versions() -> Dict[str, Any]: """Get version information or return default if unable to do so.""" # I am in _version.py, which lives at ROOT/VERSIONFILE_SOURCE. If we have # __file__, we can work backwards from there to the root. Some diff --git a/pyproject.toml b/pyproject.toml index e0359ad..94a197f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -51,6 +51,14 @@ doc = ['Sphinx>=3.0'] [build-system] requires = ["setuptools>=42", "wheel", - "versioneer" + "versioneer[toml]" ] build-backend = "setuptools.build_meta" + +[tool.versioneer] +VCS = "git" +style = "pep440" +versionfile_source = "ISLP/_version.py" +versionfile_build = "ISLP/_version.py" +tag_prefix = "v" +parentdir_prefix = "ISLP-" diff --git a/setup.cfg b/setup.cfg index 4a6f58e..c59c035 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,9 +1,3 @@ -[versioneer] -VCS = git -style = pep440 -versionfile_source = ISLP/_version.py -tag_prefix = -parentdir_prefix = ISLP- [metadata] license_files = LICENSE.txt \ No newline at end of file From 630680531b1e20a5ccaf7ddc71fc9557e4a419d4 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Thu, 18 Jan 2024 12:17:21 -0800 Subject: [PATCH 168/195] dynamic version --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 94a197f..f4211b4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,5 @@ [project] name = "ISLP" -version = "0.3.22" dependencies = ["numpy>=1.7.1,<1.25", # max version for numba "scipy>=0.9", "pandas>=0.20,<=1.9", @@ -37,6 +36,7 @@ classifiers = ["Development Status :: 3 - Alpha", "Programming Language :: Python", "Topic :: Scientific/Engineering" ] +dynamic = ["version"] [project.urls] # Optional "Homepage" = "https://github.com/intro-stat-learning/ISLP" From 6beb4191e8df701dc8e11e57629eff6c6015ff26 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 19 Mar 2024 09:08:35 -0700 Subject: [PATCH 169/195] casting categorical to array --- ISLP/models/model_spec.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ISLP/models/model_spec.py b/ISLP/models/model_spec.py index ce09e01..624999e 100644 --- a/ISLP/models/model_spec.py +++ b/ISLP/models/model_spec.py @@ -259,8 +259,8 @@ def fit(self, X, y=None): self.column_info_ = _get_column_info(X, self.columns_, - self.is_categorical_, - self.is_ordinal_, + np.asarray(self.is_categorical_), + np.asarray(self.is_ordinal_), default_encoders=self.default_encoders) # include each column as a Feature # so that their columns are built if needed From c50b45b5cbaed6f5bc001ebc7cb5733eb303fb22 Mon Sep 17 00:00:00 2001 From: architkulkarni Date: Tue, 4 Jun 2024 12:18:31 -0700 Subject: [PATCH 170/195] Remove upper bound version constraint on `numpy` dependency (#27) Co-authored-by: Jonathan Taylor --- pyproject.toml | 3 ++- requirements.txt | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index f4211b4..03b3b45 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,7 @@ [project] name = "ISLP" -dependencies = ["numpy>=1.7.1,<1.25", # max version for numba +version = "0.3.22" +dependencies = ["numpy>=1.7.1", "scipy>=0.9", "pandas>=0.20,<=1.9", "lxml", # pandas needs this for html diff --git a/requirements.txt b/requirements.txt index 4c1827e..10bff6a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -numpy>=1.7.1,<1.25 # max version for numba +numpy>=1.7.1 scipy>=0.9 pandas>=0.20 pandas<=1.9 From 7bb8fa463f53e2f909844ab16f7d725b6832fd93 Mon Sep 17 00:00:00 2001 From: "D. Debnath" Date: Wed, 5 Jun 2024 00:49:21 +0530 Subject: [PATCH 171/195] Fix warning: Passing html literal strings is deprecated. (#24) See: https://github.com/pandas-dev/pandas/pull/53805 Passing html literal strings is deprecated. Wrap literal string/bytes input in ``io.StringIO``/``io.BytesIO`` instead. --- ISLP/models/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ISLP/models/__init__.py b/ISLP/models/__init__.py index ee124d3..df06e70 100644 --- a/ISLP/models/__init__.py +++ b/ISLP/models/__init__.py @@ -4,6 +4,7 @@ """ import numpy as np, pandas as pd +from io import StringIO from .model_spec import (ModelSpec, Column, @@ -46,7 +47,7 @@ def summarize(results, """ tab = results.summary().tables[1] - results_table = pd.read_html(tab.as_html(), + results_table = pd.read_html(StringIO(tab.as_html()), index_col=0, header=0)[0] if not conf_int: From a956573e9e8604e97863ef355b47201210704c2d Mon Sep 17 00:00:00 2001 From: allispaul <69171104+allispaul@users.noreply.github.com> Date: Tue, 4 Jun 2024 14:27:08 -0500 Subject: [PATCH 172/195] cast to np.array before prediction (#20) --- ISLP/bart/bart.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ISLP/bart/bart.py b/ISLP/bart/bart.py index 099c52e..3c933ca 100644 --- a/ISLP/bart/bart.py +++ b/ISLP/bart/bart.py @@ -105,7 +105,7 @@ def predict(self, for trees in self.trees_sample_: for tree in trees: - tree_fit = np.array([tree.predict_out_of_sample(x) for x in X]) + tree_fit = np.array([tree.predict_out_of_sample(x) for x in np.asarray(X)]) output += tree_fit output = output / nsample return self._inverse(output) @@ -122,7 +122,7 @@ def staged_predict(self, for nstep, trees in enumerate(trees_sample_): for tree in trees: - tree_fit = np.array([tree.predict_out_of_sample(x) for x in X]) + tree_fit = np.array([tree.predict_out_of_sample(x) for x in np.asarray(X)]) output[nstep] += tree_fit output = np.cumsum(output, 0) / (np.arange(nsample) + 1)[:,None] From 81013626b17d37cd8556bec4c4fa773c43c66870 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 4 Jun 2024 12:33:59 -0700 Subject: [PATCH 173/195] removing fixed version in pyproject.toml --- pyproject.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 03b3b45..4362f93 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,5 @@ [project] name = "ISLP" -version = "0.3.22" dependencies = ["numpy>=1.7.1", "scipy>=0.9", "pandas>=0.20,<=1.9", From a63f9b5f1a9dce328ccd417141ac7cdf083cbf09 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 4 Jun 2024 12:35:02 -0700 Subject: [PATCH 174/195] uncapping pandas version --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 4362f93..b887aaa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ name = "ISLP" dependencies = ["numpy>=1.7.1", "scipy>=0.9", - "pandas>=0.20,<=1.9", + "pandas>=0.20", "lxml", # pandas needs this for html "scikit-learn>=1.2", "joblib", From 21d1724116c39d58f19181bf283aa99b87bd98dc Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 4 Jun 2024 12:38:37 -0700 Subject: [PATCH 175/195] switch to 3.12 for tests --- .github/workflows/build_test.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index a4bd1aa..23de8b3 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -10,10 +10,10 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up Python 3.10 + - name: Set up Python 3.12 uses: actions/setup-python@v4 with: - python-version: '3.10' + python-version: '3.12' - name: Add conda to system path run: | # $CONDA is an environment variable pointing to the root of the miniconda directory @@ -42,10 +42,10 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up Python 3.10 + - name: Set up Python 3.12 uses: actions/setup-python@v4 with: - python-version: '3.10' + python-version: '3.12' - name: Add conda to system path run: | # $CONDA is an environment variable pointing to the root of the miniconda directory @@ -74,10 +74,10 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up Python 3.10 + - name: Set up Python 3.12 uses: actions/setup-python@v4 with: - python-version: '3.10' + python-version: '3.12' - name: Add conda to system path run: | # $CONDA is an environment variable pointing to the root of the miniconda directory From 9ee31b7e9b17387086cad31b7572b704a8b66ae3 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 4 Jun 2024 12:47:17 -0700 Subject: [PATCH 176/195] ignoring torch tests for mac --- .github/workflows/build_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index 23de8b3..767a62e 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -97,6 +97,6 @@ jobs: run: | pip install torchvision torchinfo pip install pytest - pytest + pytest --ignore tests/deeplearning/test_hitters.py --ignore tests/deeplearning/test_mnist.py From c2e55b212defb05b8d8179cca75bcb78545acead Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 4 Jun 2024 12:56:16 -0700 Subject: [PATCH 177/195] addressing a typecast warning from pandas --- ISLP/models/model_spec.py | 4 ++-- tests/bart/test_bart.py | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/ISLP/models/model_spec.py b/ISLP/models/model_spec.py index 624999e..0ee92d5 100644 --- a/ISLP/models/model_spec.py +++ b/ISLP/models/model_spec.py @@ -647,9 +647,9 @@ def build_model(column_info, # if we reach here, we will be returning a DataFrame # make sure all columns are floats - for i, _ in enumerate(df.columns): + for i, col in enumerate(df.columns): if df.iloc[:,i].dtype == bool: - df.iloc[:,i] = df.iloc[:,i].astype(float) + df[col] = df.iloc[:,i].astype(float) return df def derived_feature(variables, encoder=None, name=None, use_transform=True): diff --git a/tests/bart/test_bart.py b/tests/bart/test_bart.py index d12a0a2..903bb83 100644 --- a/tests/bart/test_bart.py +++ b/tests/bart/test_bart.py @@ -19,8 +19,6 @@ def test_bart(): clone(B) - return B - if __name__ == "__main__": test_bart() From 8f730ac44f3041f88d7f5616020ba73af65535c3 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 4 Jun 2024 12:59:05 -0700 Subject: [PATCH 178/195] address sklearn fit_params warning --- ISLP/models/generic_selector.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/ISLP/models/generic_selector.py b/ISLP/models/generic_selector.py index b0261e9..37b1f93 100644 --- a/ISLP/models/generic_selector.py +++ b/ISLP/models/generic_selector.py @@ -166,7 +166,7 @@ def __init__(self, # don't mess with this unless testing self._TESTING_INTERRUPT_MODE = False - def fit(self, X, y, groups=None, **fit_params): + def fit(self, X, y, groups=None, **params): """Perform feature selection and learn model from training data. Parameters @@ -183,7 +183,7 @@ def fit(self, X, y, groups=None, **fit_params): groups: array-like, with shape (n_samples,), optional Group labels for the samples used while splitting the dataset into train/test set. Passed to the fit method of the cross-validator. - fit_params: various, optional + params: various, optional Additional parameters that are being passed to the estimator. For example, `sample_weights=weights`. @@ -218,7 +218,7 @@ def fit(self, X, y, groups=None, **fit_params): groups=groups, cv=self.cv, pre_dispatch=self.pre_dispatch, - **fit_params) + **params) # keep a running track of the best state @@ -242,7 +242,7 @@ def fit(self, X, y, groups=None, **fit_params): X, y, groups=groups, - **fit_params) + **params) iteration += 1 cur, best_, self.finished_ = self.update_results_check(results_, self.path_, @@ -287,7 +287,7 @@ def fit_transform(self, X, y, groups=None, - **fit_params): + **params): """Fit to training data then reduce X to its most important features. Parameters @@ -304,7 +304,7 @@ def fit_transform(self, groups: array-like, with shape (n_samples,), optional Group labels for the samples used while splitting the dataset into train/test set. Passed to the fit method of the cross-validator. - fit_params: various, optional + params: various, optional Additional parameters that are being passed to the estimator. For example, `sample_weights=weights`. @@ -313,7 +313,7 @@ def fit_transform(self, Reduced feature subset of X, shape={n_samples, k_features} """ - self.fit(X, y, groups=groups, **fit_params) + self.fit(X, y, groups=groups, **params) return self.transform(X) def get_metric_dict(self, confidence_interval=0.95): @@ -368,7 +368,7 @@ def _batch(self, X, y, groups=None, - **fit_params): + **params): results = [] @@ -388,7 +388,7 @@ def _batch(self, groups=groups, cv=self.cv, pre_dispatch=self.pre_dispatch, - **fit_params) + **params) for state in candidates) for state, scores in work: @@ -484,7 +484,7 @@ def _calc_score(estimator, groups=None, cv=None, pre_dispatch='2*n_jobs', - **fit_params): + **params): X_state = build_submodel(X, state) @@ -497,11 +497,11 @@ def _calc_score(estimator, scoring=scorer, n_jobs=1, pre_dispatch=pre_dispatch, - fit_params=fit_params) + params=params) else: estimator.fit(X_state, y, - **fit_params) + **params) scores = np.array([scorer(estimator, X_state, y)]) From a96b93e8ca0304cfcc1b2abce44b639ea4cd1165 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 4 Jun 2024 13:18:30 -0700 Subject: [PATCH 179/195] Cleanup data files (#29) * test of datasets * docstring fix, fix labels of confusion matrix * flexible level for CIs in summarize --- ISLP/__init__.py | 125 +++++++++++++++++++++++++++------------- ISLP/models/__init__.py | 19 +++--- tests/test_datasets.py | 30 ++++++++++ 3 files changed, 123 insertions(+), 51 deletions(-) create mode 100644 tests/test_datasets.py diff --git a/ISLP/__init__.py b/ISLP/__init__.py index 4e7e3f4..6cd1ee1 100644 --- a/ISLP/__init__.py +++ b/ISLP/__init__.py @@ -6,13 +6,53 @@ """ from os.path import join as pjoin -import pandas as pd, numpy as np from importlib.resources import (as_file, files) +import pandas as pd, numpy as np +from sklearn.metrics import confusion_matrix as _confusion_matrix +from sklearn.metrics._classification import unique_labels # data originally saved via: [sm.datasets.get_rdataset(n, 'ISLR').data.to_csv('../ISLP/data/%s.csv' % n, index=False) for n in ['Carseats', 'College', 'Credit', 'Default', 'Hitters', 'Auto', 'OJ', 'Portfolio', 'Smarket', 'Wage', 'Weekly', 'Caravan']] +def _make_categorical(dataset): + unordered = _unordered.setdefault(dataset, []) + ordered = _ordered.setdefault(dataset, []) + with as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) as filename: + df = pd.read_csv(filename) + for col in unordered: + df[col] = pd.Categorical(df[col]) + for col in ordered: + df[col] = pd.Categorical(df[col], ordered=True) + if dataset in _index: + df = df.set_index(_index[dataset]) + return df + +_unordered = {'Hitters':['League', 'Division', 'NewLeague'], + 'Caravan':['Purchase'], + 'Carseats':['ShelveLoc', 'Urban', 'US'], + 'College':['Private'], + 'Publication':['mech'], + 'BrainCancer':['sex', 'diagnosis', 'loc', 'stereo'], + 'Wage':['maritl', 'race', 'region', 'jobclass', 'health', 'health_ins'], + 'Default':['default', 'student'], + 'Credit':['Gender', 'Student', 'Married', 'Ethnicity'], + 'OJ':['Purchase', 'Store7'], + 'Smarket':['Direction'], + 'Weekly':['Direction'] + } +_ordered = {'Wage':['education'], + } +_index = {'Auto':'name'} + +_datasets = sorted(list(_unordered.keys()) + + list(_ordered.keys()) + + ['NCI60', + 'Khan', + 'Bikeshare', + 'NYSE']) + def load_data(dataset): + if dataset == 'NCI60': with as_file(files('ISLP').joinpath('data', 'NCI60data.npy')) as features: X = np.load(features) @@ -42,34 +82,6 @@ def load_data(dataset): 'ytest':ytest, 'ytrain':ytrain} - elif dataset == 'Hitters': - with as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) as filename: - df = pd.read_csv(filename) - for col in ['League', 'Division', 'NewLeague']: - df[col] = pd.Categorical(df[col]) - return df - elif dataset == 'Carseats': - with as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) as filename: - df = pd.read_csv(filename) - for col in ['ShelveLoc', 'Urban', 'US']: - df[col] = pd.Categorical(df[col]) - return df - elif dataset == 'NYSE': - with as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) as filename: - df = pd.read_csv(filename).set_index('date') - return df - elif dataset == 'Publication': - with as_file(files('ISLP').joinpath('data', 'Publication.csv')) as f: - df = pd.read_csv(f) - for col in ['mech']: - df[col] = pd.Categorical(df[col]) - return df - elif dataset == 'BrainCancer': - with as_file(files('ISLP').joinpath('data', 'BrainCancer.csv')) as f: - df = pd.read_csv(f) - for col in ['sex', 'diagnosis', 'loc', 'stereo']: - df[col] = pd.Categorical(df[col]) - return df elif dataset == 'Bikeshare': with as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) as filename: df = pd.read_csv(filename) @@ -87,27 +99,60 @@ def load_data(dataset): ordered=False, categories=range(24)) return df - elif dataset == 'Wage': - with as_file(files('ISLP').joinpath('data', 'Wage.csv')) as f: - df = pd.read_csv(f) - df['education'] = pd.Categorical(df['education'], ordered=True) - return df - else: + elif dataset == 'NYSE': with as_file(files('ISLP').joinpath('data', '%s.csv' % dataset)) as filename: - return pd.read_csv(filename) + df = pd.read_csv(filename) + # setting order to avoid alphabetical + df['day_of_week'] = pd.Categorical(df['day_of_week'], + ordered=False, + categories=['mon', + 'tues', + 'wed', + 'thur', + 'fri']) + return df.set_index('date') + else: + return _make_categorical(dataset) +load_data.__doc__ = f""" +Load dataset from ISLP package. -from sklearn.metrics import confusion_matrix as _confusion_matrix +Choices are: {_datasets} + +Parameters +---------- + +dataset: str + +Returns +------- + +data: array-like or dict + Either a `pd.DataFrame` representing the dataset or a dictionary + containing different parts of the dataset. + +""" def confusion_table(predicted_labels, - true_labels): + true_labels, + labels=None): """ Return a data frame version of confusion matrix with rows given by predicted label and columns the truth. + + Parameters + ---------- + + predicted_labels: array-like + These will form rows of confusion matrix. + + true_labels: array-like + These will form columns of confusion matrix. """ - labels = sorted(np.unique(list(true_labels) + - list(predicted_labels))) + if labels is None: + labels = unique_labels(true_labels, + predicted_labels) C = _confusion_matrix(true_labels, predicted_labels, labels=labels) diff --git a/ISLP/models/__init__.py b/ISLP/models/__init__.py index df06e70..cff02f8 100644 --- a/ISLP/models/__init__.py +++ b/ISLP/models/__init__.py @@ -25,13 +25,14 @@ sklearn_selection_path) def summarize(results, - conf_int=False): + conf_int=False, + level=None): """ Take a fit statsmodels and summarize it by returning the usual coefficient estimates, their standard errors, the usual test statistics and P-values as well as - (optionally) 95% confidence intervals. + (optionally) confidence intervals. Based on: @@ -46,7 +47,11 @@ def summarize(results, Include 95% confidence intervals? """ - tab = results.summary().tables[1] + if level is not None: + conf_int = True + if level is None: + level = 0.95 + tab = results.summary(alpha=1-level).tables[1] results_table = pd.read_html(StringIO(tab.as_html()), index_col=0, header=0)[0] @@ -58,12 +63,4 @@ def summarize(results, return results_table[results_table.columns[:-2]] return results_table -# def poly(X, degree): -# """ -# Create columns of design matrix -# for orthogonal polynomial for a given series X -# """ - -# result = Poly(degree=degree).fit_transform(X) - diff --git a/tests/test_datasets.py b/tests/test_datasets.py new file mode 100644 index 0000000..39f1447 --- /dev/null +++ b/tests/test_datasets.py @@ -0,0 +1,30 @@ +# test that all datasets import + +from ISLP import load_data +import numpy as np +import pytest + +datasets = ['Auto', + 'Bikeshare', + 'Boston', + 'BrainCancer', + 'Caravan', + 'Carseats', + 'College', + 'Credit', + 'Default', + 'Fund', + 'Hitters', + 'NYSE', + 'OJ', + 'Portfolio', + 'Publication', + 'Smarket', + 'Wage', + 'Weekly'] + +@pytest.mark.parametrize('dataset', datasets) +def test_load(dataset): + df = load_data(dataset) + for col in df.columns: + assert df[col].dtype != np.dtype(object) From e4464791965976633558a5db8a3711c51d7dadf0 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 4 Jun 2024 13:25:07 -0700 Subject: [PATCH 180/195] changed default_encoders to categorical_encoders (#30) --- ISLP/models/columns.py | 17 ++++++++-------- ISLP/models/model_spec.py | 33 ++++++++++++++++++++----------- pyproject.toml | 3 ++- setup.py | 1 - tests/models/test_columns.py | 5 ++++- tests/models/test_model_matrix.py | 22 ++++++++++----------- 6 files changed, 47 insertions(+), 34 deletions(-) diff --git a/ISLP/models/columns.py b/ISLP/models/columns.py index e3c2106..7ea6adb 100644 --- a/ISLP/models/columns.py +++ b/ISLP/models/columns.py @@ -9,7 +9,6 @@ from sklearn.utils.validation import check_is_fitted from sklearn.exceptions import NotFittedError - class Column(NamedTuple): """ @@ -125,10 +124,7 @@ def _get_column_info(X, columns, is_categorical, is_ordinal, - default_encoders={ - 'ordinal': OrdinalEncoder(), - 'categorical': OneHotEncoder() - } + categorical_encoders={} ): @@ -151,12 +147,18 @@ def _get_column_info(X, if is_categorical[i]: if is_ordinal[i]: Xcol = _get_column(col, X) - encoder = clone(default_encoders['ordinal']) + if col not in categorical_encoders: + encoder = clone(categorical_encoders['ordinal']) + else: + encoder = categorical_encoders[col] encoder.fit(Xcol) columns = ['{0}'.format(col)] else: Xcol = _get_column(col, X) - encoder = clone(default_encoders['categorical']) + if col not in categorical_encoders: + encoder = clone(categorical_encoders['categorical']) + else: + encoder = categorical_encoders[col] cols = encoder.fit_transform(Xcol) if hasattr(encoder, 'columns_'): columns_ = encoder.columns_ @@ -181,7 +183,6 @@ def _get_column_info(X, # https://github.com/scikit-learn/scikit-learn/blob/2beed55847ee70d363bdbfe14ee4401438fba057/sklearn/ensemble/_hist_gradient_boosting/gradient_boosting.py # max_bins is ignored - def _check_categories(categorical_features, X): """Check and validate categorical features in X diff --git a/ISLP/models/model_spec.py b/ISLP/models/model_spec.py index 0ee92d5..d970bb7 100644 --- a/ISLP/models/model_spec.py +++ b/ISLP/models/model_spec.py @@ -154,6 +154,7 @@ def fit(self, X, y=None): raise ValueError('method must be one of ["drop", "sum", None] or a callable' + 'that returns a contrast matrix and column names given the number' + ' of levels') + return self def transform(self, X): @@ -171,22 +172,23 @@ def transform(self, X): class ModelSpec(TransformerMixin, BaseEstimator): - ''' - - Parameters + '''Parameters ---------- terms : sequence (optional) + Sequence of sets whose elements are columns of *X* when fit. For :py:class:`pd.DataFrame` these can be column names. intercept : bool (optional) + Include a column for intercept? categorical_features : array-like of {bool, int} of shape (n_features) or shape (n_categorical_features,), default=None. + Indicates the categorical features. Will be ignored if *X* is a :py:class:`pd.DataFrame` or :py:class:`pd.Series`. @@ -195,25 +197,31 @@ class ModelSpec(TransformerMixin, BaseEstimator): - integer array-like : integer indices indicating categorical features. - default_encoders : dict - Dictionary whose keys are elements of *terms* and values - are transforms to be applied to the associate columns in the model matrix - by running the *fit_transform* method when *fit* is called and overwriting - these values in the dictionary. + categorical_encoders : dict + + Dictionary whose keys are elements of *terms* that represent + **categorical variables**. Its values are transforms to be + applied to the associate columns in the model matrix by + running the *fit_transform* method when *fit* is called and + overwriting these values in the dictionary. + ''' def __init__(self, terms=[], intercept=True, categorical_features=None, - default_encoders={'categorical': Contrast(method='drop'), - 'ordinal': OrdinalEncoder()} + categorical_encoders={} ): self.intercept = intercept self.terms = terms self.categorical_features = categorical_features - self.default_encoders = default_encoders + + self.categorical_encoders = categorical_encoders + self.categorical_encoders_ = {'ordinal': OrdinalEncoder(), + 'categorical': Contrast(method='drop')} + self.categorical_encoders_.update(**categorical_encoders) def fit(self, X, y=None): @@ -261,7 +269,8 @@ def fit(self, X, y=None): self.columns_, np.asarray(self.is_categorical_), np.asarray(self.is_ordinal_), - default_encoders=self.default_encoders) + categorical_encoders=self.categorical_encoders_) + # include each column as a Feature # so that their columns are built if needed diff --git a/pyproject.toml b/pyproject.toml index b887aaa..de708f8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -51,7 +51,8 @@ doc = ['Sphinx>=3.0'] [build-system] requires = ["setuptools>=42", "wheel", - "versioneer[toml]" + "versioneer[toml]", + "Sphinx>=1.0" ] build-backend = "setuptools.build_meta" diff --git a/setup.py b/setup.py index bf51c2e..e068529 100755 --- a/setup.py +++ b/setup.py @@ -16,7 +16,6 @@ from setuptools import setup - # Define extensions EXTS = [] diff --git a/tests/models/test_columns.py b/tests/models/test_columns.py index a86941b..77ba784 100644 --- a/tests/models/test_columns.py +++ b/tests/models/test_columns.py @@ -3,6 +3,7 @@ from pandas.api.types import CategoricalDtype from ISLP.models.columns import _get_column_info +from ISLP.models.model_spec import Contrast def test_column_info(): @@ -15,5 +16,7 @@ def test_column_info(): print(_get_column_info(df, df.columns, [False]*4+[True], - [False]*5)) + [False]*5, + categorical_encoders={'categorical':Contrast(method='drop')})) + diff --git a/tests/models/test_model_matrix.py b/tests/models/test_model_matrix.py index a2759f4..70b9cab 100644 --- a/tests/models/test_model_matrix.py +++ b/tests/models/test_model_matrix.py @@ -37,7 +37,7 @@ def test_ndarray(): X = rng.standard_normal((50,5)) M = ModelSpec(terms=[1, (3,2)], - default_encoders=default_encoders) + categorical_encoders=default_encoders) M.fit(X) MX = M.transform(X) @@ -51,7 +51,7 @@ def test_dataframe1(): D = pd.DataFrame(X, columns=['A','B','C','D','E']) M = ModelSpec(terms=['A','D',('D','E')], - default_encoders=default_encoders) + categorical_encoders=default_encoders) clone(M) MX = np.asarray(M.fit_transform(D)) @@ -66,7 +66,7 @@ def test_dataframe2(): D = pd.DataFrame(X, columns=['V','B','A','D','E']) M = ModelSpec(terms=['A', 'D', 'B', ('D','E'), 'V'], - default_encoders=default_encoders) + categorical_encoders=default_encoders) clone(M) MX = M.fit_transform(D) @@ -83,7 +83,7 @@ def test_dataframe3(): D['E'] = pd.Categorical(rng.choice(range(4,8), 50, replace=True)) M = ModelSpec(terms=['A', 'E', ('D','E')], - default_encoders=default_encoders) + categorical_encoders=default_encoders) MX = np.asarray(M.fit_transform(D)) M2 = clone(M) @@ -105,7 +105,7 @@ def test_dataframe4(): D['E'] = pd.Categorical(rng.choice(range(4,8), 50, replace=True)) M = ModelSpec(terms=['A', 'E', ('D','E'), 'D'], - default_encoders=default_encoders) + categorical_encoders=default_encoders) MX = np.asarray(M.fit_transform(D)) DE = pd.get_dummies(D['E']) @@ -129,7 +129,7 @@ def test_dataframe5(): D['E'] = pd.Categorical(rng.choice(range(4,8), 50, replace=True)) M = ModelSpec(terms=['A', 'E', ('D','E')], - default_encoders=default_encoders) + categorical_encoders=default_encoders) MX = np.asarray(M.fit_transform(D)) # check they agree on copy of dataframe @@ -148,7 +148,7 @@ def test_dataframe6(): D['E'] = pd.Categorical(rng.choice(range(4,8), 50, replace=True)) M = ModelSpec(terms=['A',W,(W,'D',)], - default_encoders=default_encoders) + categorical_encoders=default_encoders) MX = M.fit_transform(D) MX = np.asarray(MX) @@ -162,7 +162,7 @@ def test_dataframe7(): D['Eee'] = pd.Categorical(rng.choice(range(4,8), 50, replace=True)) M = ModelSpec(terms=D.columns.drop(['Y','C']), - default_encoders=default_encoders) + categorical_encoders=default_encoders) MX = M.fit_transform(D) print(MX.columns) MX = np.asarray(MX) @@ -179,7 +179,7 @@ def test_dataframe8(): # raises a ValueError because poly will have been already fit -- need new instance of Poly W = Feature(('A',), 'poly(A)', poly) M = ModelSpec(terms=list(D.columns.drop(['Y','C'])) + [(W,'E')], - default_encoders=default_encoders) + categorical_encoders=default_encoders) MX = M.fit_transform(D) print(MX.columns) @@ -198,7 +198,7 @@ def test_dataframe9(): W = Feature(('A',), 'poly(A)', poly) U = Feature(('B',), 'poly(B)', clone(poly)) M = ModelSpec(terms=list(D.columns.drop(['Y','C'])) + [W,U], - default_encoders=default_encoders) + categorical_encoders=default_encoders) MX = M.fit_transform(D) print(MX.columns) @@ -215,7 +215,7 @@ def test_dataframe10(): D['E'] = pd.Categorical(rng.choice(range(4,8), 50, replace=True)) M = ModelSpec(terms=['A', 'E', 'C', W, (W, 'D',), U], - default_encoders=default_encoders) + categorical_encoders=default_encoders) MX = M.fit_transform(D) print(MX.columns) MX = np.asarray(MX) From 38dbd0842fbec87f9a7c946d84b726a6f10f04a1 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 4 Jun 2024 13:27:44 -0700 Subject: [PATCH 181/195] Svm plot (#28) * improved plot for 2-class SVM * added margin as well --- ISLP/svm.py | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/ISLP/svm.py b/ISLP/svm.py index bedf288..8afcd5a 100644 --- a/ISLP/svm.py +++ b/ISLP/svm.py @@ -28,6 +28,12 @@ def plot(X, ''' Graphical representation of fitted support vector classifier. + There are two types of support vectors: + + - Points violating the margin but correctly classified. These are marked with a black '+'. + + - Misclassified points. These are marked with a red 'x'. + Parameters ---------- @@ -89,7 +95,7 @@ def plot(X, # draw the points - ax.scatter(X0, X1, c=Y, cmap=scatter_cmap) + ax.scatter(X0, X1, c=Y, cmap=scatter_cmap, s=200) # add the contour @@ -113,8 +119,27 @@ def plot(X, cmap=decision_cmap, alpha=alpha) - # add the support vectors + decision_val = svm.decision_function(X_pred) - ax.scatter(X[svm.support_,features[0]], - X[svm.support_,features[1]], marker='+', c='k', s=200) + # add the support vectors + if svm.classes_.shape[0] == 2: # 2-class problem + + ax.contourf(xval, + yval, + decision_val.reshape(yval.shape), + levels=[-1,1], + cmap=decision_cmap, + alpha=alpha) + + D = svm.decision_function(X[svm.support_]) + Y_ = (2 * (Y[svm.support_] == svm.classes_[1]) - 1) + violate_margin = (Y_ * D) > 0 + ax.scatter(X[svm.support_,features[0]][violate_margin], + X[svm.support_,features[1]][violate_margin], marker='+', c='k', s=50) + misclassified = ~violate_margin + ax.scatter(X[svm.support_,features[0]][misclassified], + X[svm.support_,features[1]][misclassified], marker='x', c='r', s=50) + else: + ax.scatter(X[svm.support_,features[0]], + X[svm.support_,features[1]], marker='+', c='k', s=50) From 0a967238ca14cdae03cc14e675d19567d86b9bca Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 4 Jun 2024 20:10:56 -0700 Subject: [PATCH 182/195] update to v4 artifacts --- .github/workflows/build_docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index ab7cca5..7a21062 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -51,7 +51,7 @@ jobs: # This workflow contains a single # Store the output - name: Upload docs - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ISLP_docs path: docs/build/html From de02742e513adae3919f35e3e1bc5b9a6cbf4930 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 4 Jun 2024 20:54:50 -0700 Subject: [PATCH 183/195] trying to use Nose 20.x --- .github/workflows/build_docs.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 7a21062..2c9e453 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -21,11 +21,13 @@ jobs: # This workflow contains a single steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3 + with: + node-version: 20.x - uses: actions/setup-python@v4 with: - python-version: '3.10' + python-version: '3.12' cache: 'pip' - + node-version: 20.x # Install - name: Install dependencies run: | @@ -75,9 +77,12 @@ jobs: # This workflow contains a single with: name: ISLP_docs path: . - - uses: actions/configure-pages@v3 - - uses: actions/upload-pages-artifact@v2 + - uses: actions/configure-pages@v4 + with: + node-version: 20.x + - uses: actions/upload-pages-artifact@v3 with: + node-version: 20.x path: . - id: deployment uses: actions/deploy-pages@main \ No newline at end of file From c4284491677b582a3472be8334d9178fe0b4d5f9 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 4 Jun 2024 21:03:45 -0700 Subject: [PATCH 184/195] don't need node for setup-python --- .github/workflows/build_docs.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 2c9e453..9afeacc 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -27,7 +27,6 @@ jobs: # This workflow contains a single with: python-version: '3.12' cache: 'pip' - node-version: 20.x # Install - name: Install dependencies run: | From dba19c10659138de5146f3ec5d6f92b2a227aa2c Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 4 Jun 2024 21:08:36 -0700 Subject: [PATCH 185/195] update labs to v2.2 --- docs/ISLP_labs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ISLP_labs b/docs/ISLP_labs index f4ecee2..5d793a3 160000 --- a/docs/ISLP_labs +++ b/docs/ISLP_labs @@ -1 +1 @@ -Subproject commit f4ecee2e614dcd34c13e573568b02dcfc5da99b4 +Subproject commit 5d793a33a8d5025181439b8d0f193c37c69ee20a From 04e21d87ee71a7d795f73bc7020eb16b8f637f07 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Tue, 4 Jun 2024 21:25:21 -0700 Subject: [PATCH 186/195] updating docs json file --- docs/source/docs_version.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/docs_version.json b/docs/source/docs_version.json index f91228e..d6217ce 100644 --- a/docs/source/docs_version.json +++ b/docs/source/docs_version.json @@ -1,4 +1,4 @@ -{"labs": "v2.1.4", - "library": "v0.3.22", +{"labs": "v2.2", + "library": "v0.4.0", "comment":"labs should be version of ISLP pointed to in ISLP_labs/README.md, library version should be explicitly marked in ISLP_labs/requirements.txt; don't forget to strip warnings!!!!!!!!" } From 1587e591bf555592b4a444aa553288dc67b90a46 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Thu, 19 Dec 2024 13:07:45 -0800 Subject: [PATCH 187/195] commiting python3.12 change --- docs/source/installation.myst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/source/installation.myst b/docs/source/installation.myst index b82bebf..5fba989 100644 --- a/docs/source/installation.myst +++ b/docs/source/installation.myst @@ -24,8 +24,7 @@ conda create --name islp python ``` Current conda should have this at least 3.9. If not, replace `python` -with `python=3.10` or `python=3.11`. The newest version `python=3.12` is not -currently supported as some packages, such as `torch` are not installable. +with `python=3.10`, `python=3.11` or `python=3.12`. To run python code in this environment, you must activate it: From 707a2fe7db42c9f599bd0af8212d505bec3817f6 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Thu, 19 Dec 2024 13:08:23 -0800 Subject: [PATCH 188/195] removing node for checkout --- .github/workflows/build_docs.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 9afeacc..9260015 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -20,9 +20,7 @@ jobs: # This workflow contains a single # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v3 - with: - node-version: 20.x + - uses: actions/checkout@v4 - uses: actions/setup-python@v4 with: python-version: '3.12' From e4657bfcf9227d7ccbb8794ef8c98ad885175810 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Wed, 29 May 2024 21:57:34 -0700 Subject: [PATCH 189/195] loosening numpy and pandas versions --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index de708f8..a898c17 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ name = "ISLP" dependencies = ["numpy>=1.7.1", "scipy>=0.9", - "pandas>=0.20", + "pandas>=1.5", "lxml", # pandas needs this for html "scikit-learn>=1.2", "joblib", @@ -15,7 +15,7 @@ dependencies = ["numpy>=1.7.1", ] description = "Library for ISLP labs" readme = "README.md" -requires-python = ">=3.9" +requires-python = ">=3.10" license = {file = "LICENSE"} keywords = [] authors = [ From a5d54b3c9816b0194bbee119b79bff70ca0b56e7 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sat, 31 Jan 2026 16:27:28 -0800 Subject: [PATCH 190/195] fixes to build requirements --- pyproject.toml | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index a898c17..aa30d72 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,6 +38,23 @@ classifiers = ["Development Status :: 3 - Alpha", ] dynamic = ["version"] +[tool.setuptools] +packages = [ + "ISLP", + "ISLP.models", + "ISLP.bart", + "ISLP.torch", + "ISLP.data" +] +include-package-data = true + +[tool.setuptools.package-data] +ISLP = ["data/*.csv", "data/*.npy", "data/*.data"] + +[tool.setuptools.dynamic] +version = {attr = "ISLP.__version__"} # Assuming ISLP.__version__ holds your version + + [project.urls] # Optional "Homepage" = "https://github.com/intro-stat-learning/ISLP" "Bug Reports" = "https://github.com/intro-stat-learning/ISLP/issues" @@ -51,8 +68,14 @@ doc = ['Sphinx>=3.0'] [build-system] requires = ["setuptools>=42", "wheel", - "versioneer[toml]", "Sphinx>=1.0" + "numpy", + "pandas", + "scipy", + "scikit-learn", + "joblib", + "statsmodels", + "versioneer[toml]" ] build-backend = "setuptools.build_meta" From 273a72765e9f875753b4de1b8fb318bd9cc6eb24 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sat, 31 Jan 2026 16:28:31 -0800 Subject: [PATCH 191/195] simplifying setup.py, logic in pyproject.toml --- setup.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/setup.py b/setup.py index e068529..e0710d3 100755 --- a/setup.py +++ b/setup.py @@ -27,21 +27,21 @@ def main(**extra_args): setup(version=versioneer.get_version(), - packages = ['ISLP', - 'ISLP.models', - 'ISLP.models', - 'ISLP.bart', - 'ISLP.torch', - 'ISLP.data' - ], - ext_modules = EXTS, - package_data = {"ISLP":["data/*csv", "data/*npy", "data/*data"]}, - include_package_data=True, - data_files=[], - scripts=[], - long_description=long_description, - cmdclass = cmdclass, - **extra_args + # packages = ['ISLP', + # 'ISLP.models', + # 'ISLP.models', + # 'ISLP.bart', + # 'ISLP.torch', + # 'ISLP.data' + # ], + # ext_modules = EXTS, + # package_data = {"ISLP":["data/*csv", "data/*npy", "data/*data"]}, + # include_package_data=True, + # data_files=[], + # scripts=[], + # long_description=long_description, + # cmdclass = cmdclass, + # **extra_args ) #simple way to test what setup will do From 4281ada66688c196aed6a5fcb998585e13fa0688 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sat, 31 Jan 2026 16:37:11 -0800 Subject: [PATCH 192/195] fixing _estimator_type flags --- ISLP/models/generic_selector.py | 40 +++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/ISLP/models/generic_selector.py b/ISLP/models/generic_selector.py index 37b1f93..7c9329e 100644 --- a/ISLP/models/generic_selector.py +++ b/ISLP/models/generic_selector.py @@ -28,7 +28,10 @@ import scipy as sp from sklearn.metrics import get_scorer -from sklearn.base import (clone, MetaEstimatorMixin) +from sklearn.base import (clone, + MetaEstimatorMixin, + is_classifier, + is_regressor) from sklearn.model_selection import cross_val_score from joblib import Parallel, delayed @@ -149,13 +152,13 @@ def __init__(self, self.scoring = scoring if scoring is None: - if self.est_._estimator_type == 'classifier': + if is_classifier(self.est_): scoring = 'accuracy' - elif self.est_._estimator_type == 'regressor': + elif is_regressor(self.est_): scoring = 'r2' else: - raise AttributeError('Estimator must ' - 'be a Classifier or Regressor.') + scoring = None + if isinstance(scoring, str): self.scorer = get_scorer(scoring) else: @@ -166,7 +169,7 @@ def __init__(self, # don't mess with this unless testing self._TESTING_INTERRUPT_MODE = False - def fit(self, X, y, groups=None, **params): + def fit(self, X, y, groups=None, **fit_params): """Perform feature selection and learn model from training data. Parameters @@ -183,7 +186,7 @@ def fit(self, X, y, groups=None, **params): groups: array-like, with shape (n_samples,), optional Group labels for the samples used while splitting the dataset into train/test set. Passed to the fit method of the cross-validator. - params: various, optional + fit_params: various, optional Additional parameters that are being passed to the estimator. For example, `sample_weights=weights`. @@ -218,7 +221,7 @@ def fit(self, X, y, groups=None, **params): groups=groups, cv=self.cv, pre_dispatch=self.pre_dispatch, - **params) + **fit_params) # keep a running track of the best state @@ -242,7 +245,7 @@ def fit(self, X, y, groups=None, **params): X, y, groups=groups, - **params) + **fit_params) iteration += 1 cur, best_, self.finished_ = self.update_results_check(results_, self.path_, @@ -287,7 +290,7 @@ def fit_transform(self, X, y, groups=None, - **params): + **fit_params): """Fit to training data then reduce X to its most important features. Parameters @@ -304,7 +307,7 @@ def fit_transform(self, groups: array-like, with shape (n_samples,), optional Group labels for the samples used while splitting the dataset into train/test set. Passed to the fit method of the cross-validator. - params: various, optional + fit_params: various, optional Additional parameters that are being passed to the estimator. For example, `sample_weights=weights`. @@ -313,7 +316,7 @@ def fit_transform(self, Reduced feature subset of X, shape={n_samples, k_features} """ - self.fit(X, y, groups=groups, **params) + self.fit(X, y, groups=groups, **fit_params) return self.transform(X) def get_metric_dict(self, confidence_interval=0.95): @@ -368,7 +371,7 @@ def _batch(self, X, y, groups=None, - **params): + **fit_params): results = [] @@ -388,7 +391,7 @@ def _batch(self, groups=groups, cv=self.cv, pre_dispatch=self.pre_dispatch, - **params) + **fit_params) for state in candidates) for state, scores in work: @@ -484,8 +487,11 @@ def _calc_score(estimator, groups=None, cv=None, pre_dispatch='2*n_jobs', - **params): + **fit_params): + if scorer is None: + scorer = lambda estimator, X, y: estimator.score(X, y) + X_state = build_submodel(X, state) if cv: @@ -497,11 +503,11 @@ def _calc_score(estimator, scoring=scorer, n_jobs=1, pre_dispatch=pre_dispatch, - params=params) + fit_params=fit_params) else: estimator.fit(X_state, y, - **params) + **fit_params) scores = np.array([scorer(estimator, X_state, y)]) From 4d9f0286be6c94834c9a0657a0aa7c42daf0093f Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 2 Feb 2026 12:34:49 -0800 Subject: [PATCH 193/195] feat: Add scikit-learn estimator type tags Adds the `__sklearn_tags__` method to the `sklearn_sm` and `sklearn_selected` wrappers. This allows scikit-learn to correctly identify the estimator type (regressor or classifier) based on the statsmodels model. This change enables the use of scikit-learn's cross-validation and model selection tools with these wrappers. Tests have been added to verify that OLS and GLM Binomial models are correctly identified. --- ISLP/models/sklearn_wrap.py | 15 +++++++++- pyproject.toml | 2 +- tests/models/test_sklearn_wrap.py | 46 +++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 tests/models/test_sklearn_wrap.py diff --git a/ISLP/models/sklearn_wrap.py b/ISLP/models/sklearn_wrap.py index 123130b..121da75 100644 --- a/ISLP/models/sklearn_wrap.py +++ b/ISLP/models/sklearn_wrap.py @@ -49,7 +49,17 @@ def __init__(self, self.model_type = model_type self.model_spec = model_spec self.model_args = model_args - + + def __sklearn_tags__(self): + tags = super().__sklearn_tags__() + if self.model_type == sm.OLS: + tags.estimator_type = 'regressor' + elif (issubclass(self.model_type, sm.GLM) and + 'family' in self.model_args and + isinstance(self.model_args.get('family', None), sm.families.Binomial)): + tags.estimator_type = 'classifier' + return tags + def fit(self, X, y): """ Fit a statsmodel model @@ -171,6 +181,9 @@ def __init__(self, self.cv = cv self.scoring = scoring + def __sklearn_tags__(self): + tags = super().__sklearn_tags__() + return tags def fit(self, X, y): """ diff --git a/pyproject.toml b/pyproject.toml index aa30d72..5fe63fd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -68,7 +68,7 @@ doc = ['Sphinx>=3.0'] [build-system] requires = ["setuptools>=42", "wheel", - "Sphinx>=1.0" + "Sphinx>=1.0", "numpy", "pandas", "scipy", diff --git a/tests/models/test_sklearn_wrap.py b/tests/models/test_sklearn_wrap.py new file mode 100644 index 0000000..c3616bd --- /dev/null +++ b/tests/models/test_sklearn_wrap.py @@ -0,0 +1,46 @@ + +import numpy as np +import pandas as pd +import statsmodels.api as sm +from sklearn.base import is_classifier, is_regressor +import pytest + +from ISLP.models.sklearn_wrap import sklearn_sm, sklearn_selected +from ISLP.models.model_spec import ModelSpec +from ISLP.models.strategy import min_max + +@pytest.fixture +def model_setup(): + X = pd.DataFrame({'X1': np.random.rand(10), 'X2': np.random.rand(10), 'X3': np.random.rand(10)}) + y = pd.Series(np.random.randint(0, 2, 10)) # For classifier + model_spec_dummy = ModelSpec(['X1', 'X2', 'X3']).fit(X) + min_max_strategy_dummy = min_max(model_spec_dummy, min_terms=1, max_terms=2) + return X, y, model_spec_dummy, min_max_strategy_dummy + +def test_OLS_is_regressor(): + model = sklearn_sm(sm.OLS) + assert model.__sklearn_tags__().estimator_type == 'regressor' + assert is_regressor(model) + +def test_GLM_binomial_is_classifier(): + model = sklearn_sm(sm.GLM, model_args={'family': sm.families.Binomial()}) + assert model.__sklearn_tags__().estimator_type == 'classifier' + assert is_classifier(model) + +def test_GLM_binomial_probit_is_classifier(): + model = sklearn_sm(sm.GLM, model_args={'family': sm.families.Binomial(link=sm.families.links.Probit())}) + assert model.__sklearn_tags__().estimator_type == 'classifier' + assert is_classifier(model) + + +def test_selected_OLS_is_regressor(model_setup): + X, y, model_spec_dummy, min_max_strategy_dummy = model_setup + model = sklearn_selected(sm.OLS, strategy=min_max_strategy_dummy) + assert model.__sklearn_tags__().estimator_type == 'regressor' + assert is_regressor(model) + +def test_selected_GLM_binomial_is_classifier(model_setup): + X, y, model_spec_dummy, min_max_strategy_dummy = model_setup + model = sklearn_selected(sm.GLM, strategy=min_max_strategy_dummy, model_args={'family': sm.families.Binomial()}) + assert model.__sklearn_tags__().estimator_type == 'classifier' + assert is_classifier(model) From 2beabce8cc2f027cd3f44eb158f47f1b4a40a9c3 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 2 Feb 2026 12:44:26 -0800 Subject: [PATCH 194/195] removing redundant setup.py --- setup.py | 50 -------------------------------------------------- 1 file changed, 50 deletions(-) delete mode 100755 setup.py diff --git a/setup.py b/setup.py deleted file mode 100755 index e0710d3..0000000 --- a/setup.py +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env python -''' Installation script for ISLP package ''' - -import os -import sys -from os.path import join as pjoin, dirname, exists -# BEFORE importing distutils, remove MANIFEST. distutils doesn't properly -# update it when the contents of directories change. -if exists('MANIFEST'): os.remove('MANIFEST') - -# Unconditionally require setuptools -import setuptools - -# Package for getting versions from git tags -import versioneer - -from setuptools import setup - -# Define extensions -EXTS = [] - -cmdclass = versioneer.get_cmdclass() - -# get long_description - -long_description = open('README.md', 'rt', encoding='utf-8').read() - -def main(**extra_args): - setup(version=versioneer.get_version(), - # packages = ['ISLP', - # 'ISLP.models', - # 'ISLP.models', - # 'ISLP.bart', - # 'ISLP.torch', - # 'ISLP.data' - # ], - # ext_modules = EXTS, - # package_data = {"ISLP":["data/*csv", "data/*npy", "data/*data"]}, - # include_package_data=True, - # data_files=[], - # scripts=[], - # long_description=long_description, - # cmdclass = cmdclass, - # **extra_args - ) - -#simple way to test what setup will do -#python setup.py install --prefix=/tmp -if __name__ == "__main__": - main() From bcd85989111f50bca3667cc123708b571614cfc6 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 2 Feb 2026 12:49:40 -0800 Subject: [PATCH 195/195] unused pkg_resources import --- ISLP/torch/imdb.py | 1 - 1 file changed, 1 deletion(-) diff --git a/ISLP/torch/imdb.py b/ISLP/torch/imdb.py index 617489d..3dfacfe 100644 --- a/ISLP/torch/imdb.py +++ b/ISLP/torch/imdb.py @@ -12,7 +12,6 @@ import torch from torch.utils.data import TensorDataset from scipy.sparse import load_npz -from pkg_resources import resource_filename from pickle import load as load_pickle import urllib